CRM-15295 - Show 'new item' after creating a container
authorColeman Watts <coleman@civicrm.org>
Tue, 16 Sep 2014 01:30:44 +0000 (21:30 -0400)
committerColeman Watts <coleman@civicrm.org>
Tue, 16 Sep 2014 01:33:44 +0000 (21:33 -0400)
CRM/Custom/Form/Group.php
CRM/Custom/Page/Field.php
CRM/Price/Form/Set.php
CRM/Price/Page/Field.php
CRM/UF/Form/Group.php
CRM/UF/Page/Field.php
js/crm.addNew.js [new file with mode: 0644]
templates/CRM/Custom/Page/Field.tpl
templates/CRM/Price/Page/Field.tpl
templates/CRM/UF/Page/Field.tpl

index 5dba257bf961ea85ed1fcd1fd7e9904fc59559c7..940268bad28526d7c19e075438cd7bd87791af48 100644 (file)
@@ -501,7 +501,7 @@ class CRM_Custom_Form_Group extends CRM_Core_Form {
     else {
       // Jump directly to adding a field if popups are disabled
       $action = CRM_Core_Resources::singleton()->ajaxPopupsEnabled ? '' : '/add';
-      $url = CRM_Utils_System::url("civicrm/admin/custom/group/field$action", 'reset=1&gid=' . $group->id . '&action=' . ($action ? 'add' : 'browse'));
+      $url = CRM_Utils_System::url("civicrm/admin/custom/group/field$action", 'reset=1&new=1&gid=' . $group->id . '&action=' . ($action ? 'add' : 'browse'));
       CRM_Core_Session::setStatus(ts("Your custom field set '%1' has been added. You can add custom fields now.",
           array(1 => $group->title)
         ), ts('Saved'), 'success');
index 84507d68085838228f4008628cb4070091792833..2428bc80fdd0170144cde503ba2d55c5f8bd9f27 100644 (file)
@@ -127,6 +127,11 @@ class CRM_Custom_Page_Field extends CRM_Core_Page {
    * @access public
    */
   function browse() {
+    $resourceManager = CRM_Core_Resources::singleton();
+    if (!empty($_GET['new']) && $resourceManager->ajaxPopupsEnabled) {
+      $resourceManager->addScriptFile('civicrm', 'js/crm.addNew.js', 999);
+    }
+
     $customField = array();
     $customFieldBAO = new CRM_Core_BAO_CustomField();
 
index 7c4fc525420bea6ae5ac8ea03bed77042b6ea53e..e0f8e431b24527a63056e5e855d36bbdbae40982 100644 (file)
@@ -289,7 +289,7 @@ class CRM_Price_Form_Set extends CRM_Core_Form {
     else {
       // Jump directly to adding a field if popups are disabled
       $action = CRM_Core_Resources::singleton()->ajaxPopupsEnabled ? 'browse' : 'add';
-      $url = CRM_Utils_System::url('civicrm/admin/price/field', array('reset' => 1, 'action' => $action, 'sid' => $set->id));
+      $url = CRM_Utils_System::url('civicrm/admin/price/field', array('reset' => 1, 'action' => $action, 'sid' => $set->id, 'new' => 1));
       CRM_Core_Session::setStatus(ts("Your Set '%1' has been added. You can add fields to this set now.",
           array(1 => $set->title)
         ), ts('Saved'), 'success');
index 406927930323f86836dc7d292898113d1df80475..756fdce079690ab2f87685a3a3ea4883f3147288 100644 (file)
@@ -121,6 +121,11 @@ class CRM_Price_Page_Field extends CRM_Core_Page {
    * @access public
    */
   function browse() {
+    $resourceManager = CRM_Core_Resources::singleton();
+    if (!empty($_GET['new']) && $resourceManager->ajaxPopupsEnabled) {
+      $resourceManager->addScriptFile('civicrm', 'js/crm.addNew.js', 999);
+    }
+
     $priceField    = array();
     $priceFieldBAO = new CRM_Price_BAO_PriceField();
 
index d30758b3440aa52b53fac95901d3ab88cd1e4e87..112c1d0a4951b902388d655027b7bacfd6b8b0b2 100644 (file)
@@ -370,7 +370,7 @@ class CRM_UF_Form_Group extends CRM_Core_Form {
       else {
         // Jump directly to adding a field if popups are disabled
         $action = CRM_Core_Resources::singleton()->ajaxPopupsEnabled ? '' : '/add';
-        $url = CRM_Utils_System::url("civicrm/admin/uf/group/field$action", 'reset=1&gid=' . $ufGroup->id . '&action=' . ($action ? 'add' : 'browse'));
+        $url = CRM_Utils_System::url("civicrm/admin/uf/group/field$action", 'reset=1&new=1&gid=' . $ufGroup->id . '&action=' . ($action ? 'add' : 'browse'));
         CRM_Core_Session::setStatus(ts('Your CiviCRM Profile \'%1\' has been added. You can add fields to this profile now.',
             array(1 => $ufGroup->title)
           ), ts('Profile Added'), 'success');
index f1803eebb8494de8a568679f82ab18eb37faf546..ae3bdf8e95c7f9071842eeb69d03b1309aaae760 100644 (file)
@@ -110,6 +110,11 @@ class CRM_UF_Page_Field extends CRM_Core_Page {
    * @static
    */
   function browse() {
+    $resourceManager = CRM_Core_Resources::singleton();
+    if (!empty($_GET['new']) && $resourceManager->ajaxPopupsEnabled) {
+      $resourceManager->addScriptFile('civicrm', 'js/crm.addNew.js', 999);
+    }
+
     $ufField = array();
     $ufFieldBAO = new CRM_Core_BAO_UFField();
 
diff --git a/js/crm.addNew.js b/js/crm.addNew.js
new file mode 100644 (file)
index 0000000..2fe2e02
--- /dev/null
@@ -0,0 +1,8 @@
+// http://civicrm.org/licensing
+// Opens the "new item" dialog after creating a container/set
+CRM.$(function($) {
+  var emptyMsg = $('.crm-empty-table');
+  if (emptyMsg.length) {
+    $('.action-link a.button', '#crm-container').click();
+  }
+});
index ceb0eb39c70bff326d5348529abc1584ca96e381..16fb0e61cefda6a0fa5b6f86b7a31d8bedd34a91 100644 (file)
@@ -70,9 +70,9 @@
 
     {else}
         {if $action eq 16}
-        <div class="messages status no-popup">
+        <div class="messages status no-popup crm-empty-table">
           <img src="{$config->resourceBase}i/Inform.gif" alt="{ts}status{/ts}"/>
-          {ts 1=$groupTitle}There are no fields for custom group '%1'</a>.{/ts}
+          {ts}None found.{/ts}
         </div>
         {/if}
     {/if}
index c8d0262bf0ac3303a2211c25f62b123355691365..9ec0fea8e7f1c8f2d4f3a137238d169c82131e17 100644 (file)
@@ -96,9 +96,9 @@
 
   {else}
         {if $action eq 16}
-        <div class="messages status no-popup">
+        <div class="messages status no-popup crm-empty-table">
             <div class="icon inform-icon"></div>
-            {ts 1=$groupTitle 2=$crmURL}There are no fields for price set '%1'.{/ts}
+            {ts}None found.{/ts}
         </div>
         <div class="action-link">
           <a href="{crmURL q="reset=1&action=add&sid=$sid"}" id="newPriceField" class="button"><span><div class="icon add-icon"></div>{ts}Add Price Field{/ts}</span></a>
index 265e19d812e893887da5776a28303bab384c757b..95515046283bbb90529ea46d72a2b2d7d237cac7 100644 (file)
@@ -89,9 +89,9 @@
     {else}
         {if $action eq 16}
         {capture assign=crmURL}{crmURL p="civicrm/admin/uf/group/field/add" q="reset=1&action=add&gid=$gid"}{/capture}
-        <div class="messages status no-popup">
+        <div class="messages status no-popup crm-empty-table">
           <div class="icon inform-icon"></div>
-          {ts 1=$groupTitle 2=$crmURL}There are no CiviCRM Profile Fields for '%1'</a>.{/ts}
+          {ts}None found.{/ts}
         </div>
         <div class="action-link">
           <a href="{crmURL p="civicrm/admin/uf/group/field/add" q="reset=1&action=add&gid=$gid"}" class="button"><span><div class="icon add-icon"></div>{ts}Add Field{/ts}</span></a>