CRM-17102 - Better navigation for ACL screens
authorColeman Watts <coleman@civicrm.org>
Fri, 28 Aug 2015 01:50:52 +0000 (21:50 -0400)
committerColeman Watts <coleman@civicrm.org>
Fri, 28 Aug 2015 01:50:52 +0000 (21:50 -0400)
templates/CRM/ACL/Header.tpl [new file with mode: 0644]
templates/CRM/ACL/Page/ACL.tpl
templates/CRM/ACL/Page/ACLBasic.tpl
templates/CRM/ACL/Page/EntityRole.tpl
templates/CRM/Admin/Page/Options.tpl

diff --git a/templates/CRM/ACL/Header.tpl b/templates/CRM/ACL/Header.tpl
new file mode 100644 (file)
index 0000000..bb2448f
--- /dev/null
@@ -0,0 +1,61 @@
+{*
+ +--------------------------------------------------------------------+
+ | CiviCRM version 4.7                                                |
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC (c) 2004-2015                                |
+ +--------------------------------------------------------------------+
+ | This file is a part of CiviCRM.                                    |
+ |                                                                    |
+ | CiviCRM is free software; you can copy, modify, and distribute it  |
+ | under the terms of the GNU Affero General Public License           |
+ | Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
+ |                                                                    |
+ | CiviCRM is distributed in the hope that it will be useful, but     |
+ | WITHOUT ANY WARRANTY; without even the implied warranty of         |
+ | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.               |
+ | See the GNU Affero General Public License for more details.        |
+ |                                                                    |
+ | You should have received a copy of the GNU Affero General Public   |
+ | License and the CiviCRM Licensing Exception along                  |
+ | with this program; if not, contact CiviCRM LLC                     |
+ | at info[AT]civicrm[DOT]org. If you have questions about the        |
+ | GNU Affero General Public License or the licensing of CiviCRM,     |
+ | see the CiviCRM license FAQ at http://civicrm.org/licensing        |
+ +--------------------------------------------------------------------+
+*}
+{capture assign=docLink}{docURL page='user/current/initial-set-up/permissions-and-access-control/' text='Access Control Documentation'}{/capture}
+
+<div class="help">
+  <p>{ts 1=$docLink}ACLs allow you to control access to CiviCRM data. An ACL consists of an <strong>Operation</strong> (e.g. 'View' or 'Edit'), a <strong>set of data</strong> that the operation can be performed on (e.g. a group of contacts), and a <strong>Role</strong> that has permission to do this operation. Refer to the %1 for more info.{/ts}</p>
+</div>
+
+{php}
+  $currentStep = $this->get_template_vars('step');
+  $wizard = array(
+    'style' => array(),
+    'currentStepNumber' => $currentStep,
+    'steps' => array(
+      array(
+        'title' => ts('Manage Roles'),
+        'link' => CRM_Utils_System::url('civicrm/admin/options/acl_role', 'reset=1'),
+      ),
+      array(
+        'title' => ts('Assign Users'),
+        'link' => CRM_Utils_System::url('civicrm/acl/entityrole', 'reset=1'),
+      ),
+      array(
+        'title' => ts('Manage ACLs'),
+        'link' => CRM_Utils_System::url('civicrm/acl', 'reset=1'),
+      ),
+    ),
+  );
+  foreach ($wizard['steps'] as $num => &$step) {
+    $step['step'] = $step['valid'] = $step['stepNumber'] = $num + 1;
+    if ($step['stepNumber'] == $currentStep) {
+      $step['link'] = NULL;
+    }
+  }
+  $this->assign('wizard', $wizard);
+{/php}
+
+{include file="CRM/common/WizardHeader.tpl"}
\ No newline at end of file
index d7c66dd40191dedf49953d882a8375cff3089c2d..9957bd29bbf4ec4135ec0fca4a21556f7ee0688d 100644 (file)
  | see the CiviCRM license FAQ at http://civicrm.org/licensing        |
  +--------------------------------------------------------------------+
 *}
-{capture assign=erURL}{crmURL p='civicrm/acl/entityrole' q='reset=1'}{/capture}
-{capture assign=rolesURL}{crmURL p='civicrm/admin/options/acl_role' q='reset=1'}{/capture}
-{capture assign=docLink}{docURL page='user/current/initial-set-up/permissions-and-access-control/' text='Access Control Documentation'}{/capture}
-
 
 {if $action eq 1 or $action eq 2 or $action eq 8}
   {include file="CRM/ACL/Form/ACL.tpl"}
 
 {else}
   <div class="crm-block crm-content-block">
-    <div id="help">
-      <p>{ts 1=$docLink}ACLs allow you control access to CiviCRM data. An ACL consists of an <strong>Operation</strong> (e.g. 'View' or 'Edit'), a <strong>set of data</strong> that the operation can be performed on (e.g. a group of contacts, a profile or a set of custom fields), and a <strong>Role</strong> that has permission to do this operation. Refer to the %1 for more info.{/ts}</p>
-      <p>{ts 1=$erURL 2=$rolesURL}You can add or modify your ACLs below. You can create additional ACL Roles <a href='%2'>here</a>... and you can assign Roles to CiviCRM contacts who are users of your site <a href='%1'>here</a>.{/ts}</p>
-    </div>
+    {include file="CRM/ACL/Header.tpl" step=3}
 
     {if $rows}
       <div id="ltype">
index 8ccb0e099c7e89a675dc9a1ce65b166eeea0d760..fc0cede753af9d19f5995654ac81ee588303933d 100644 (file)
  | see the CiviCRM license FAQ at http://civicrm.org/licensing        |
  +--------------------------------------------------------------------+
 *}
-{capture assign=erURL}{crmURL p='civicrm/acl/entityrole' q='reset=1'}{/capture}
-{capture assign=rolesURL}{crmURL p='civicrm/admin/options/acl_role' q='reset=1'}{/capture}
-{capture assign=docLink}{docURL page='user/current/initial-set-up/permissions-and-access-control/' text='Access Control Documentation'}{/capture}
-
-<div id="help">
-    <p>{ts 1=$docLink}ACLs allow you control access to CiviCRM data. An ACL consists of an <strong>Operation</strong> (e.g. 'View' or 'Edit'), a <strong>set of data</strong> that the operation can be performed on (e.g. a group of contacts, a profile or a set of custom fields), and a <strong>Role</strong> that has permission to do this operation. Refer to the %1 for more info.{/ts}</p>
-    <p>{ts 1=$erURL 2=$rolesURL}You can add or modify your ACLs below. You can create additional ACL Roles <a href='%2'>here</a>... and you can assign Roles to CiviCRM contacts who are users of your site <a href='%1'>here</a>.{/ts}</p>
-</div>
-
+{include file="CRM/ACL/Header.tpl" step=3}
 
 {if $action eq 1 or $action eq 2 or $action eq 8}
 <div class="crm-block crm-form-block">
index 2d67aa03a752c8d603db31fae3b589efc5d8e159..2d4226fec2f19d8abcc8f2b8ee401ed4bc88a9b8 100644 (file)
  | see the CiviCRM license FAQ at http://civicrm.org/licensing        |
  +--------------------------------------------------------------------+
 *}
-{capture assign=aclURL}{crmURL p='civicrm/acl' q='reset=1'}{/capture}
-{capture assign=rolesURL}{crmURL p='civicrm/admin/options/acl_role' q='reset=1'}{/capture}
-{capture assign=docLink}{docURL page='user/current/initial-set-up/permissions-and-access-control/' text='Access Control Documentation'}{/capture}
-
-<div id="help" class="crm-block">
-    <p>{ts 1=$docLink}ACLs allow you control access to CiviCRM data. An ACL consists of an <strong>Operation</strong> (e.g. 'View' or 'Edit'), a <strong>set of data</strong> that the operation can be performed on (e.g. a group of contacts), and a <strong>Role</strong> that has permission to do this operation. Refer to the %1 for more info.{/ts}</p>
-    <p>{ts 1=$aclURL 2=$rolesURL}An ACL Role represents a collection ACL&rsquo;s (permissions). You can assign roles to groups of CiviCRM contacts who are users of your site below. You can add or modify ACLs <a href='%1'>here</a>. You can create additional ACL Roles <a href='%2'>here</a>.{/ts}</p>
-</div>
+{include file="CRM/ACL/Header.tpl" step=2}
 
 {if $action eq 1 or $action eq 2 or $action eq 8}
    {include file="CRM/ACL/Form/EntityRole.tpl"}
index 163c7c69a168850d1a1326ab2612f5daeb9deaa7..4b0d4db38e873c96ee24a69b74e7cb2af4f162e8 100644 (file)
    {include file="CRM/Admin/Form/Options.tpl"}
 {else}
 
-<div id="help">
+{if $gName eq "acl_role"}
+  {include file="CRM/ACL/Header.tpl" step=1}
+{else}
+<div class="help">
   {if $gName eq "gender"}
     {ts}CiviCRM is pre-configured with standard options for individual gender (Male, Female, Transgender). Modify these options as needed for your installation.{/ts}
   {elseif $gName eq "individual_prefix"}
   {elseif $gName eq "accept_creditcard"}
     {ts}The following credit card options will be offered to contributors using Online Contribution pages. You will need to verify which cards are accepted by your chosen Payment Processor and update these entries accordingly.{/ts}<br /><br />
     {ts}IMPORTANT: This page does NOT control credit card/payment method choices for sites and/or contributors using the PayPal Express service (e.g. where billing information is collected on the Payment Processor's website).{/ts}
-  {elseif $gName eq "acl_role"}
-    {capture assign=docLink}{docURL page="user/current/initial-set-up/permissions-and-access-control/" text="Access Control Documentation"}{/capture}
-    {capture assign=aclURL}{crmURL p='civicrm/acl' q='reset=1'}{/capture}
-    {capture assign=erURL}{crmURL p='civicrm/acl/entityrole' q='reset=1'}{/capture}
-    {ts 1=$docLink}ACLs allow you control access to CiviCRM data. An ACL consists of an <strong>Operation</strong> (e.g. 'View' or 'Edit'), a <strong>set of data</strong> that the operation can be performed on (e.g. a group of contacts), and a <strong>Role</strong> that has permission to do this operation. Refer to the %1 for more info.{/ts}<br /><br />
-    {ts 1=$aclURL 2=$erURL}You can add or modify your ACL Roles below. You can create ACL&rsquo;s and grant permission to roles <a href='%1'>here</a>... and you can assign role(s) to CiviCRM contacts who are users of your site <a href='%2'>here</a>.{/ts}
   {elseif $gName eq 'event_type'}
     {ts}Use Event Types to categorize your events. Event feeds can be filtered by Event Type and participant searches can use Event Type as a criteria.{/ts}
   {elseif $gName eq 'participant_role'}
@@ -69,6 +66,7 @@
     {ts 1=$gLabel}The existing option choices for %1 group are listed below. You can add, edit or delete them from this screen.{/ts}
   {/if}
 </div>
+{/if}
 
 <div class="crm-content-block crm-block">
 {if $rows}