Bug 9439 - Enforce superlibrarian mutual exclusivity of other permissions
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / members / member-flags.tt
index a3d3478..46ae7df 100644 (file)
@@ -1,5 +1,5 @@
 [% INCLUDE 'doc-head-open.inc' %]
-<title>Koha &rsaquo; Patrons &rsaquo; Set Privileges for [% surname %], [% firstname %]</title>
+<title>Koha &rsaquo; Patrons &rsaquo; Set permissions for [% surname %], [% firstname %]</title>
 [% INCLUDE 'doc-head-close.inc' %]
 <link rel="stylesheet" type="text/css" href="[% themelang %]/css/treeview/jquery.treeview.css"/>
 <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.treeview.pack.js"></script>
@@ -7,6 +7,37 @@
 <script type="text/javascript">
     $(document).ready(function() {
         $("#permissionstree").treeview({animated: "fast", collapsed: true});
+
+        // Enforce Superlibrarian Privilege Mutual Exclusivity
+        if($('input[id="flag-0"]:checked').length){
+            if ($('input[name="flag"]:checked').length > 1){
+                alert('Inconsistency Detected!\n\nThe superlibrarian privilege is mutually exclusive of other privileges, as it includes them all.\n\nThis patron\'s privileges will now be reset to include only superlibrarian.');
+            }
+
+            $('input[name="flag"]').each(function() {
+                if($(this).attr('id') != "flag-0"){
+                    $(this).attr('disabled', 'disabled');
+                    $(this).removeAttr('checked', 'checked');
+                }
+            });
+        }
+
+        $('input#flag-0').click(function() {
+            if($('input[id="flag-0"]:checked').length){
+                $('input[name="flag"]').each(function() {
+                    if($(this).attr('id') != "flag-0"){
+                        $(this).attr('disabled', 'disabled');
+                        $(this).removeAttr('checked', 'checked');
+                    }
+                });
+            }
+            else {
+                $('input[name="flag"]').each(function() {
+                    $(this).removeAttr('disabled', 'disabled');
+                });
+            }
+        });
+
     });
 </script>
 <!-- manage checking/unchecking parent permissions -->
 
 </script>
 </head>
-<body>
+<body id="pat_member-flags" class="pat">
 [% INCLUDE 'header.inc' %]
 [% INCLUDE 'patron-search.inc' %]
 
-<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a>  &rsaquo; Set Privileges for [% surname %], [% firstname %]</div>
+<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a>  &rsaquo; Set permissions for [% surname %], [% firstname %]</div>
 
 <div id="doc3" class="yui-t2">
    
 <form method="post" action="/cgi-bin/koha/members/member-flags.pl">
     <input type="hidden" name="member" id="borrowernumber" value="[% borrowernumber %]" />
     <input type="hidden" name="newflags" value="1" />
-    <h1>Set Privileges for [% surname %], [% firstname %]</h1>
+    <h1>Set permissions for [% surname %], [% firstname %]</h1>
     <!-- <ul id="permissionstree"><li class="root">All privileges<ul> -->
     <ul id="permissionstree" class="treeview-grey">
         <!-- <li class="folder-close">One level down<ul> -->
         <li>
         [% END %]
                        [% IF ( loo.checked ) %]
-                          <input type="checkbox" id="flag-[% loo.bit %]" name="flag" value="[% loo.flag %]" checked="checked" onchange="toggleChildren(this)" />
+                          <input type="checkbox" id="flag-[% loo.bit %]" name="flag" value="[% loo.flag %]" checked="checked" onclick="toggleChildren(this)" />
                        [% ELSE %]
-                               <input type="checkbox" id="flag-[% loo.bit %]" name="flag" value="[% loo.flag %]"  onchange="toggleChildren(this)" />
+                               <input type="checkbox" id="flag-[% loo.bit %]" name="flag" value="[% loo.flag %]"  onclick="toggleChildren(this)" />
                        [% END %]
                 <label class="permissioncode" for="flag-[% loo.bit %]">[% loo.flag %]</label>
                 <span class="permissiondesc">[% loo.flagdesc %]</span>
                     [% FOREACH sub_perm_loo IN loo.sub_perm_loop %]
                         <li>
                                    [% IF ( sub_perm_loo.checked ) %]
-                                       <input type="checkbox" id="[% sub_perm_loo.id %]" 
-                                name="flag" value="[% sub_perm_loo.perm %]" checked="checked" onchange="toggleParent(this)" />
+                                       <input type="checkbox" id="[% sub_perm_loo.id %]" name="flag" value="[% sub_perm_loo.perm %]" checked="checked" onclick="toggleParent(this)" />
                                    [% ELSE %]
-                                       <input type="checkbox" id="[% sub_perm_loo.id %]" 
-                                name="flag" value="[% sub_perm_loo.perm %]" onchange="toggleParent(this)" />
+                                       <input type="checkbox" id="[% sub_perm_loo.id %]" name="flag" value="[% sub_perm_loo.perm %]" onclick="toggleParent(this)" />
                                    [% END %]
                     <label class="permissioncode" for="[% sub_perm_loo.id %]">[% sub_perm_loo.code %]</label>
                              <span class="permissiondesc">[% sub_perm_loo.description %]</span>
     <!-- </ul></li></ul> -->
     </ul>
 
-<fieldset class="action"><input type="submit" value="Set Flags" /> <a class="cancel" href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">Cancel</a></fieldset>
+<fieldset class="action"><input type="submit" value="Save" /> <a class="cancel" href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">Cancel</a></fieldset>
 
 </form>
 </div>