Only allow group inline edit when appropriate
authorColeman Watts <coleman@civicrm.org>
Mon, 28 Sep 2015 02:38:50 +0000 (22:38 -0400)
committermonishdeb <monish.deb@webaccessglobal.com>
Wed, 30 Sep 2015 12:50:58 +0000 (18:20 +0530)
CRM/Contact/BAO/Group.php
CRM/Group/Form/Search.php
templates/CRM/Group/Form/Search.tpl

index f9b3d84f2b8c4e35314300531e08893375051534..8ee1f1cd69aeedb8fb9d2483c730550b12ecabba 100644 (file)
@@ -870,7 +870,9 @@ class CRM_Contact_BAO_Group extends CRM_Contact_DAO_Group {
         );
         CRM_Core_DAO::storeValues($object, $values[$object->id]);
         // Wrap with crm-editable. Not an ideal solution.
-        $values[$object->id]['title'] = '<span class="crm-editable crmf-title">' . $values[$object->id]['title'] . '</span>';
+        if (in_array(CRM_Core_Permission::EDIT, $groupPermissions)) {
+          $values[$object->id]['title'] = '<span class="crm-editable crmf-title">' . $values[$object->id]['title'] . '</span>';
+        }
 
         if ($object->saved_search_id) {
           $values[$object->id]['title'] .= ' (' . ts('Smart Group') . ')';
index e41f5f29b6c54bfb825db430165bca9cf457512f..ace4b5d081fee17bd671436844f21751208af8b3 100644 (file)
@@ -36,6 +36,8 @@ class CRM_Group_Form_Search extends CRM_Core_Form {
 
   public function preProcess() {
     parent::preProcess();
+
+    CRM_Core_Resources::singleton()->addPermissions('edit groups');
   }
 
   /**
index 3103b9ca5b58584d7e8a044b93e672d64b180c34..1eeaebdd51fe1fb6c5738887445b4856db6f6b5a 100644 (file)
@@ -177,8 +177,10 @@ CRM.$(function($) {
           $(nRow).addClass(cl).attr({id: 'row_' + id, 'data-id': id, 'data-entity': 'group'});
           //$('td:eq(0)', nRow).wrapInner('<span class="crm-editable crmf-title" />');
           $('td:eq(1)', nRow).addClass('right');
-          $('td:eq(3)', nRow).wrapInner('<div class="crm-editable crmf-description" data-type="textarea" />');
-          $('td:eq(5)', nRow).wrapInner('<div class="crm-editable crmf-visibility" data-type="select" />');
+          if (CRM.checkPerm('edit groups')) {
+            $('td:eq(3)', nRow).wrapInner('<div class="crm-editable crmf-description" data-type="textarea" />');
+            $('td:eq(5)', nRow).wrapInner('<div class="crm-editable crmf-visibility" data-type="select" />');
+          }
           if (parentsOnly) {
             if ($(nRow).hasClass('crm-group-parent')) {
               $(nRow).find('td:first').prepend('{/literal}<span class="collapsed show-children" title="{ts}show child groups{/ts}"/></span>{literal}');