(Smart Group) is being constantly added while editing the smart group title from...
authorMonish Deb <monish.deb@jmaconsulting.biz>
Mon, 19 Jul 2021 11:56:10 +0000 (17:26 +0530)
committerMonish Deb <monish.deb@jmaconsulting.biz>
Mon, 23 Aug 2021 17:20:13 +0000 (22:50 +0530)
CRM/Contact/BAO/Group.php
templates/CRM/Group/Form/Search.tpl

index b9c6be59ea09fb6ba48548d0076885d6c4a786d0..3079dda7c9f0d478b345b90ac09d800190d26962 100644 (file)
@@ -905,7 +905,7 @@ class CRM_Contact_BAO_Group extends CRM_Contact_DAO_Group {
       CRM_Core_DAO::storeValues($object, $values[$object->id]);
 
       if ($object->saved_search_id) {
-        $values[$object->id]['title'] .= ' (' . ts('Smart Group') . ')';
+        $values[$object->id]['class'][] = "crm-smart-group";
         // check if custom search, if so fix view link
         $customSearchID = CRM_Core_DAO::getFieldValue(
           'CRM_Contact_DAO_SavedSearch',
index 6363fba591a09cd270f12925f50fd78d93402733..6f24d0f67ae3cd537d0ac05083dfaccb3a575000 100644 (file)
     // also to handle search filtering for initial load of same page.
     var parentsOnly = 1
     var ZeroRecordText = {/literal}'{ts escape="js"}<div class="status messages">None found.{/ts}</div>'{literal};
+    var smartGroupText = {/literal}'<span>({ts escape="js"}Smart Group{/ts})</span>'{literal};
     $('table.crm-group-selector').data({
       "ajax": {
         "url": {/literal}'{crmURL p="civicrm/ajax/grouplist" h=0 q="snippet=4"}'{literal},
         });
         //Reload table after draw
         $(settings.nTable).trigger('crmLoad');
-        if (parentsOnly) {
-          CRM.loadScript(CRM.config.resourceBase + 'js/jquery/jquery.crmEditable.js').done(function () {
+        CRM.loadScript(CRM.config.resourceBase + 'js/jquery/jquery.crmEditable.js').done(function () {
+          if (parentsOnly) {
             $('tbody tr.crm-group-parent', settings.nTable).each(function () {
               $(this).find('td:first')
                 .prepend('{/literal}<span class="collapsed show-children" title="{ts}show child groups{/ts}"/></span>{literal}')
                 .find('div').css({'display': 'inline'});
             });
-          });
-        }
+          }
+          $('tbody tr.crm-smart-group > td.crm-group-name', settings.nTable).append(smartGroupText);
+        });
       }
     });
     $(function($) {
                 ];
                 if ('DT_RowClass' in val) {
                   val.row_classes = val.row_classes.concat(val.DT_RowClass.split(' ').filter((item) => val.row_classes.indexOf(item) < 0));
+                  if (val.DT_RowClass.indexOf('crm-smart-group') == -1) {
+                    smartGroupText = '';
+                  }
                 }
                 appendHTML += '<tr id="row_'+val.group_id+'_'+parent_id+'" data-entity="group" data-id="'+val.group_id+'" class="' + val.row_classes.join(' ') + '">';
                 if ( val.is_parent ) {
-                  appendHTML += '<td class="crm-group-name crmf-title ' + levelClass + '">' + '{/literal}<span class="collapsed show-children" title="{ts}show child groups{/ts}"/></span><div class="crmf-title {$editableClass}" style="display:inline">{literal}' + val.title + '</div></td>';
+                  appendHTML += '<td class="crm-group-name crmf-title ' + levelClass + '">' + '{/literal}<span class="collapsed show-children" title="{ts}show child groups{/ts}"/></span><div class="crmf-title {$editableClass}" style="display:inline">{literal}' + val.title + '</div>' + smartGroupText + '</td>';
                 }
                 else {
-                  appendHTML += '<td class="crm-group-name  crmf-title {/literal}{$editableClass}{literal} ' + levelClass + '"><span class="crm-no-children"></span>' + val.title + '</td>';
+                  appendHTML += '<td class="crm-group-name' + levelClass + '"><div class="crmf-title {/literal}{$editableClass}{literal}"><span class="crm-no-children"></span>' + val.title + '</div>' + smartGroupText + '</td>';
                 }
                 appendHTML += '<td class="right">' + val.count + "</td>";
                 appendHTML += "<td>" + val.created_by + "</td>";