Adding in permission blocks for staff members as per previous commits.
authorRyan Higgins <rch@liblime.com>
Wed, 5 Dec 2007 18:43:46 +0000 (12:43 -0600)
committerJoshua Ferraro <jmf@liblime.com>
Wed, 5 Dec 2007 21:41:04 +0000 (15:41 -0600)
Much of this is repeat of previous commits, and then some to finish off.

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
koha-tmpl/intranet-tmpl/prog/en/includes/circ-toolbar.inc
koha-tmpl/intranet-tmpl/prog/en/includes/members-toolbar.inc
koha-tmpl/intranet-tmpl/prog/en/modules/help/admin/categorie.tmpl
koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tmpl
members/deletemem.pl
members/member-flags.pl
members/memberentry.pl

index a02c3cb..cc10df5 100644 (file)
@@ -41,8 +41,12 @@ function confirm_reregistration() {
        
                var moremenu = [
                        { text: "Renew Patron",  onclick: { fn: confirm_reregistration } },
-                       { text: "Set Permissions", url: "/cgi-bin/koha/members/member-flags.pl?member=<!-- TMPL_VAR NAME="borrowernumber" -->",<!-- TMPL_UNLESS NAME="CAN_user_permission" -->disabled: true, <!-- /TMPL_UNLESS -->},
-                       { text: "Delete", onclick: { fn: confirm_deletion } },
+            { text: "Set Permissions", url: "/cgi-bin/koha/members/member-flags.pl?member=<!-- TMPL_VAR NAME="borrowernumber" -->",
+                <!-- TMPL_IF NAME="CAN_user_permission" --><!-- TMPL_IF NAME="StaffMember" -->
+                    <!-- TMPL_UNLESS NAME="CAN_user_staffaccess" -->disabled: true, <!-- /TMPL_UNLESS-->
+                    <!-- TMPL_ELSE --><!-- /TMPL_IF -->
+                <!-- TMPL_ELSE --> disabled: true, <!-- /TMPL_IF-->},
+            { text: "Delete", <!-- TMPL_IF NAME="StaffMember" --><!-- TMPL_UNLESS NAME="CAN_user_staffaccess" -->disabled: true, <!-- /TMPL_UNLESS --><!-- /TMPL_IF --> onclick: { fn: confirm_deletion } },
                ]
 
            new YAHOO.widget.Button({
@@ -64,12 +68,22 @@ function confirm_reregistration() {
            <!-- TMPL_IF name="adultborrower" -->new YAHOO.widget.Button("addchild");<!-- /TMPL_IF -->
            new YAHOO.widget.Button("editpatron");
            new YAHOO.widget.Button("addnote");
-           new YAHOO.widget.Button("changepassword");
+        <!-- TMPL_IF NAME="StaffMember" --><!-- TMPL_IF NAME="CAN_user_staffaccess" --> new YAHOO.widget.Button("changepassword");  <!-- /TMPL_IF-->
+            <!-- TMPL_ELSE--> new YAHOO.widget.Button("changepassword"); <!-- /TMPL_IF -->
            new YAHOO.widget.Button("printslilp");
                new YAHOO.widget.Button("printpage");
            new YAHOO.widget.Button("renewpatron");              
-               new YAHOO.widget.Button("patronflags");
-               new YAHOO.widget.Button("deletepatron");
+        <!-- TMPL_IF NAME="CAN_user_permission" -->
+          <!-- TMPL_IF NAME="StaffMember" -->
+            <!-- TMPL_IF NAME="CAN_user_staffaccess" -->
+              new YAHOO.widget.Button("patronflags");
+            <!-- /TMPL_IF -->
+          <!-- TMPL_ELSE-->
+          new YAHOO.widget.Button("patronflags");
+          <!-- /TMPL_IF -->
+        <!-- /TMPL_IF -->
+        <!-- TMPL_IF NAME="StaffMember" --><!-- TMPL_UNLESS NAME="CAN_user_staffaccess" -->new YAHOO.widget.Button("deletepatron");<!-- /TMPL_UNLESS -->
+            <!-- TMPL_ELSE -->new YAHOO.widget.Button("deletepatron");<!-- /TMPL_IF -->
        }
 
        //]]>
@@ -90,8 +104,21 @@ function confirm_reregistration() {
             <!-- /TMPL_IF -->
         <!-- /TMPL_IF -->
 <!--   <li><a id="addnote" href="/cgi-bin/koha/members/addnotes.pl?borrowernumber=<!-- TMPL_VAR NAME="borrowernumber" -->">Add Note</a></li> -->
-       <li><a id="changepassword" href="/cgi-bin/koha/members/member-password.pl?member=<!-- TMPL_VAR NAME="borrowernumber" -->&destination=circ">Change Password</a></li>
+<!-- TMPL_IF NAME="StaffMember" --><!-- TMPL_IF NAME="CAN_user_staffaccess" --> <li><a id="changepassword" href="/cgi-bin/koha/members/member-password.pl?member=<!-- TMPL_VAR NAME="borrowernumber" -->">Change Password</a></li><!-- /TMPL_IF-->
+          <!-- TMPL_ELSE--> <li><a id="changepassword" href="/cgi-bin/koha/members/member-password.pl?member=<!-- TMPL_VAR NAME="borrowernumber" -->">Change Password</a></li><!-- /TMPL_IF -->        
        <li id="printmenuc"><a id="printpage" href="/cgi-bin/koha/members/moremember.pl?borrowernumber=<!-- TMPL_VAR NAME="borrowernumber" -->&amp;print=page">Print Page</a></li>
        <li><a id="printslip" href="/cgi-bin/koha/members/moremember.pl?borrowernumber=<!-- TMPL_VAR NAME="borrowernumber" -->&amp;print=slip">Print Slip</a></li>
-       <li id="moremenuc"><a id="renewpatron" href="/cgi-bin/koha/members/moremember.pl?reregistration=y&amp;borrowernumber=<!-- TMPL_VAR NAME="borrowernumber" -->">Renew Account</a></li><!-- TMPL_IF NAME="CAN_user_permission" --><li><a id="patronflags" href="/cgi-bin/koha/members/member-flags.pl?member=<!-- TMPL_VAR NAME="borrowernumber" -->">Set Permissions</a></li><!-- /TMPL_IF --><li><a id="deletepatron" href="/cgi-bin/koha/members/deletemem.pl?member=<!-- TMPL_VAR NAME="borrowernumber" -->">Delete</a></li>
+       <li id="moremenuc"><a id="renewpatron" href="/cgi-bin/koha/members/moremember.pl?reregistration=y&amp;borrowernumber=<!-- TMPL_VAR NAME="borrowernumber" -->">Renew Account</a></li>
+    <!-- TMPL_IF NAME="CAN_user_permission" -->
+        <!-- TMPL_IF NAME="StaffMember" -->
+            <!-- TMPL_IF NAME="CAN_user_staffaccess" -->
+                <li><a id="patronflags" href="/cgi-bin/koha/members/member-flags.pl?member=<!-- TMPL_VAR NAME="borrowernumber" -->">Set Permissions</a></li>
+            <!-- /TMPL_IF -->
+          <!-- TMPL_ELSE-->
+                <li><a id="patronflags" href="/cgi-bin/koha/members/member-flags.pl?member=<!-- TMPL_VAR NAME="borrowernumber" -->">Set Permissions</a></li>
+        <!-- /TMPL_IF -->
+    <!-- /TMPL_IF -->
+    <!-- TMPL_IF NAME="StaffMember" --><!-- TMPL_UNLESS NAME="CAN_user_staffaccess" --><li><a id="deletepatron" href="javascript:confirm_deletion();">Delete</a></li><!-- /TMPL_UNLESS -->
+    <!-- TMPL_ELSE --><li><a id="deletepatron" href="javascript:confirm_deletion();">Delete</a></li><!-- /TMPL_IF -->
+
 </ul></div>
index 4144df6..12f3d5a 100644 (file)
@@ -41,8 +41,12 @@ function confirm_reregistration() {
        
                var moremenu = [
                        { text: "Renew Patron",  onclick: { fn: confirm_reregistration } },
-                       { text: "Set Permissions", url: "/cgi-bin/koha/members/member-flags.pl?member=<!-- TMPL_VAR NAME="borrowernumber" -->",<!-- TMPL_UNLESS NAME="CAN_user_permission" -->disabled: true, <!-- /TMPL_UNLESS -->},
-                       { text: "Delete", onclick: { fn: confirm_deletion } },
+                       { text: "Set Permissions", url: "/cgi-bin/koha/members/member-flags.pl?member=<!-- TMPL_VAR NAME="borrowernumber" -->",
+                               <!-- TMPL_IF NAME="CAN_user_permission" --><!-- TMPL_IF NAME="StaffMember" -->
+                                       <!-- TMPL_UNLESS NAME="CAN_user_staffaccess" -->disabled: true, <!-- /TMPL_UNLESS-->
+                                       <!-- TMPL_ELSE --><!-- /TMPL_IF -->
+                               <!-- TMPL_ELSE --> disabled: true, <!-- /TMPL_IF-->},
+                       { text: "Delete", <!-- TMPL_IF NAME="StaffMember" --><!-- TMPL_UNLESS NAME="CAN_user_staffaccess" -->disabled: true, <!-- /TMPL_UNLESS --><!-- /TMPL_IF --> onclick: { fn: confirm_deletion } },
                ]
 
            new YAHOO.widget.Button({
@@ -64,12 +68,22 @@ function confirm_reregistration() {
            <!-- TMPL_IF name="adultborrower" -->new YAHOO.widget.Button("addchild");<!-- /TMPL_IF -->
            new YAHOO.widget.Button("editpatron");
            new YAHOO.widget.Button("addnote");
-           new YAHOO.widget.Button("changepassword");
+               <!-- TMPL_IF NAME="StaffMember" --><!-- TMPL_IF NAME="CAN_user_staffaccess" --> new YAHOO.widget.Button("changepassword");  <!-- /TMPL_IF-->
+                       <!-- TMPL_ELSE--> new YAHOO.widget.Button("changepassword"); <!-- /TMPL_IF --> 
            new YAHOO.widget.Button("printslilp");
                new YAHOO.widget.Button("printpage");
            new YAHOO.widget.Button("renewpatron");              
-               new YAHOO.widget.Button("patronflags");
-               new YAHOO.widget.Button("deletepatron");
+               <!-- TMPL_IF NAME="CAN_user_permission" -->
+                 <!-- TMPL_IF NAME="StaffMember" -->
+                       <!-- TMPL_IF NAME="CAN_user_staffaccess" -->      
+                         new YAHOO.widget.Button("patronflags");
+                   <!-- /TMPL_IF --> 
+                 <!-- TMPL_ELSE--> 
+                 new YAHOO.widget.Button("patronflags");
+                 <!-- /TMPL_IF --> 
+               <!-- /TMPL_IF -->
+               <!-- TMPL_IF NAME="StaffMember" --><!-- TMPL_UNLESS NAME="CAN_user_staffaccess" -->new YAHOO.widget.Button("deletepatron");<!-- /TMPL_UNLESS -->
+                   <!-- TMPL_ELSE -->new YAHOO.widget.Button("deletepatron");<!-- /TMPL_IF -->
        }
 
        //]]>
@@ -90,8 +104,20 @@ function confirm_reregistration() {
             <!-- /TMPL_IF -->
         <!-- /TMPL_IF -->
 <!--   <li><a id="addnote" href="/cgi-bin/koha/members/addnotes.pl?borrowernumber=<!-- TMPL_VAR NAME="borrowernumber" -->">Add Note</a></li> -->
-       <li><a id="changepassword" href="/cgi-bin/koha/members/member-password.pl?member=<!-- TMPL_VAR NAME="borrowernumber" -->">Change Password</a></li>
+       <!-- TMPL_IF NAME="StaffMember" --><!-- TMPL_IF NAME="CAN_user_staffaccess" --> <li><a id="changepassword" href="/cgi-bin/koha/members/member-password.pl?member=<!-- TMPL_VAR NAME="borrowernumber" -->">Change Password</a></li><!-- /TMPL_IF-->
+             <!-- TMPL_ELSE--> <li><a id="changepassword" href="/cgi-bin/koha/members/member-password.pl?member=<!-- TMPL_VAR NAME="borrowernumber" -->">Change Password</a></li><!-- /TMPL_IF -->
        <li id="printmenuc"><a id="printpage" href="/cgi-bin/koha/members/moremember.pl?borrowernumber=<!-- TMPL_VAR NAME="borrowernumber" -->&amp;print=page">Print Page</a></li>
        <li><a id="printslip" href="/cgi-bin/koha/members/moremember.pl?borrowernumber=<!-- TMPL_VAR NAME="borrowernumber" -->&amp;print=slip">Print Slip</a></li>
-       <li id="moremenuc"><a id="renewpatron" href="/cgi-bin/koha/members/moremember.pl?reregistration=y&amp;borrowernumber=<!-- TMPL_VAR NAME="borrowernumber" -->">Renew Account</a></li><!-- TMPL_IF NAME="CAN_user_permission" --><li><a id="patronflags" href="/cgi-bin/koha/members/member-flags.pl?member=<!-- TMPL_VAR NAME="borrowernumber" -->">Set Permissions</a></li><!-- /TMPL_IF --><li><a id="deletepatron" href="javascript:confirm_deletion();">Delete</a></li>
+       <li id="moremenuc"><a id="renewpatron" href="/cgi-bin/koha/members/moremember.pl?reregistration=y&amp;borrowernumber=<!-- TMPL_VAR NAME="borrowernumber" -->">Renew Account</a></li>
+       <!-- TMPL_IF NAME="CAN_user_permission" -->
+               <!-- TMPL_IF NAME="StaffMember" -->
+            <!-- TMPL_IF NAME="CAN_user_staffaccess" -->
+                               <li><a id="patronflags" href="/cgi-bin/koha/members/member-flags.pl?member=<!-- TMPL_VAR NAME="borrowernumber" -->">Set Permissions</a></li>
+            <!-- /TMPL_IF -->
+          <!-- TMPL_ELSE-->
+                <li><a id="patronflags" href="/cgi-bin/koha/members/member-flags.pl?member=<!-- TMPL_VAR NAME="borrowernumber" -->">Set Permissions</a></li>
+               <!-- /TMPL_IF -->
+       <!-- /TMPL_IF -->
+       <!-- TMPL_IF NAME="StaffMember" --><!-- TMPL_UNLESS NAME="CAN_user_staffaccess" --><li><a id="deletepatron" href="javascript:confirm_deletion();">Delete</a></li><!-- /TMPL_UNLESS -->
+       <!-- TMPL_ELSE --><li><a id="deletepatron" href="javascript:confirm_deletion();">Delete</a></li><!-- /TMPL_IF -->
 </ul></div>
index 4d0a11e..7ff176e 100644 (file)
@@ -8,15 +8,17 @@
 
 <p>This is where you define the types of users of your library and how they will be handled.</p>
 
-<h2>Category, Descriptions and Types</h2>
-<p>Start by assigning a Category Code and a Description to each patron category. Each Category can be one of four types:</p>
+<h2>Categories, Descriptions and Types</h2>
+<p>Start by assigning a Category Code and a Description to each patron category. Each Category can be one of five types:</p>
 <ul>
-       <li>Adult Patrons can be linked as "guarantors" to other patrons who are their dependents.</li>
-       <li>Child Patrons a patron category that has a "guarantor"</li>
-       <li>Organisational Patrons can be used for institutional members, like other libraries that borrow from you, in which case Koha expects slightly different information about the institution;</li>
-       <li>Professional Patrons </li>
+       <li>Adult Patrons: can be linked as "guarantors" to other patrons who are their dependents.</li>
+       <li>Child Patrons: a patron category that has a "guarantor"</li>
+       <li>Organizational Patrons: can be used for institutional members, e.g. other libraries that borrow from you, in which case Koha expects slightly different information about the institution;</li>
+       <li>Professional Patrons  </li>
+       <li>Staff Members: A member of the library staff. </li>
 </ul>
-
+<h3>Note on Permissions</h3>
+<p>Patrons in any category type may be assigned permissions in the staff interface.</p>
 <h2>Enrollment Period</h2>
 <p>Enrollment period is a number indicating how many years a user's enrollment is valid. If you consider enrollments to expire after four years for example (as in a school, perhaps), then set this number to 4. If enrollments never expire, set this to an impossibly high number (99).</p>
 
index e126b83..82e1890 100644 (file)
@@ -1,7 +1,7 @@
 <!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->
 <title>Koha &rsaquo; Patrons &rsaquo; 
-<!-- TMPL_IF NAME="opadd" -->  Add<!--TMPL_IF Name="I"--> Organisation <!--/TMPL_IF --><!--TMPL_IF Name="A"--> Adult <!--/TMPL_IF --><!--TMPL_IF Name="C"--> Child <!--/TMPL_IF --><!--TMPL_IF Name="P"--> Professional <!--/TMPL_IF -->
-patron <!-- TMPL_VAR NAME="surname" -->, <!-- TMPL_VAR name="firstname" --><!-- TMPL_ELSE -->Modify<!--TMPL_IF Name="I"--> Organisation <!--/TMPL_IF --><!--TMPL_IF Name="A"--> Adult <!--/TMPL_IF --><!--TMPL_IF Name="C"--> Child <!--/TMPL_IF --><!--TMPL_IF Name="P"--> Professional <!--/TMPL_IF -->
+<!-- TMPL_IF NAME="opadd" -->  Add<!--TMPL_IF Name="I"--> Organisation <!--/TMPL_IF --><!--TMPL_IF Name="A"--> Adult <!--/TMPL_IF --><!--TMPL_IF Name="C"--> Child <!--/TMPL_IF --><!--TMPL_IF Name="P"--> Professional <!--/TMPL_IF --><!--TMPL_IF Name="S"--> Staff <!--/TMPL_IF -->
+patron <!-- TMPL_VAR NAME="surname" -->, <!-- TMPL_VAR name="firstname" --><!-- TMPL_ELSE -->Modify<!--TMPL_IF Name="I"--> Organisation <!--/TMPL_IF --><!--TMPL_IF Name="A"--> Adult <!--/TMPL_IF --><!--TMPL_IF Name="C"--> Child <!--/TMPL_IF --><!--TMPL_IF Name="P"--> Professional <!--/TMPL_IF --><!--TMPL_IF Name="S"--> Staff<!--/TMPL_IF -->
 patron <!-- TMPL_VAR NAME="surname" -->, <!-- TMPL_VAR name="firstname" --><!-- /TMPL_IF --></title>
 <!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
 <script type="text/javascript" src="<!-- TMPL_VAR NAME='themelang' -->/js/members.js"></script>
@@ -459,7 +459,7 @@ patron <!-- TMPL_VAR name="firstname" --> <!-- TMPL_VAR NAME="surname" -->
           <label for="categorycode">Category: </label>
           <!-- TMPL_VAR NAME="catcodepopup" -->
       <!-- TMPL_ELSE -->
-          <span class="problem">There is no category type to add <!--TMPL_IF Name="A"-->an Adult<!--/TMPL_IF--><!--TMPL_IF Name="C"-->a Child<!--/TMPL_IF--><!--TMPL_IF Name="I"-->an Institution<!--/TMPL_IF--><!--TMPL_IF Name="P"-->a professionnal<!--/TMPL_IF-->.</span>
+          <span class="problem">There is no category type to add <!--TMPL_IF Name="A"-->an Adult<!--/TMPL_IF--><!--TMPL_IF Name="C"-->a Child<!--/TMPL_IF--><!--TMPL_IF Name="I"-->an Institution<!--/TMPL_IF--><!--TMPL_IF Name="P"-->a professionnal<!--/TMPL_IF--><!--TMPL_IF Name="S"-->a Staff Member<!--/TMPL_IF-->.</span>
               <a href="/cgi-bin/koha/admin/categorie.pl">Please create one</a>
       <!-- /TMPL_IF -->
     </li>
index 481355c..0aa7e5c 100755 (executable)
@@ -36,6 +36,9 @@ my $input = new CGI;
 
 my $flagsrequired;
 $flagsrequired->{borrowers}=1;
+if( $bor->{'category_type'} eq 'S' )  {
+    $flagsrequired->{'staffaccess'} = 1;
+}  
 my ($loggedinuser, $cookie, $sessionID) = checkauth($input, 0, $flagsrequired);
 
 
index 1106b2c..e633c4a 100755 (executable)
@@ -20,7 +20,7 @@ my $input = new CGI;
 my $flagsrequired = { permissions => 1 };
 my $member=$input->param('member');
 my $bor = GetMemberDetails( $member,'');
-if(( $bor->{'category_type'} eq 'S' ) || ($bor->{'authflags'}->{'catalogue'} )) {
+if( $bor->{'category_type'} eq 'S' )  {
        $flagsrequired->{'staffaccess'} = 1;
 }
 my ($template, $loggedinuser, $cookie)
index 809ff48..e1ead47 100755 (executable)
@@ -73,7 +73,7 @@ my $default_city;
 my $check_categorytype=$input->param('check_categorytype');
 # NOTE: Alert for ethnicity and ethnotes fields, they are unvalided in all borrowers form
 my $borrower_data;
-my $noUpdateLogin;
+my $NoUpdateLogin;
 my $userenv = C4::Context->userenv;
 
 $template->param("uppercasesurnames" => C4::Context->preference('uppercasesurnames'));
@@ -111,8 +111,8 @@ if ($op eq 'insert' || $op eq 'modify' || $op eq 'save') {
     $newdata{'dateexpiry'}  =format_date_in_iso($newdata{'dateexpiry'}  ) if ($newdata{dateexpiry});  
     $newdata{'dateofbirth'} =format_date_in_iso($newdata{'dateofbirth'} ) if ($newdata{dateofbirth});  
   # check permission to modify login info.
-    if ($borrower_data && ($borrower_data->{'category_type'} eq 'S') && (! C4::Auth::haspermission($dbh,$userenv->{'id'},{'staffaccess'=>1}))) {
-               $noUpdateLogin =1;
+    if (ref($borrower_data) && ($borrower_data->{'category_type'} eq 'S') && ! (C4::Auth::haspermission($dbh,$userenv->{'id'},{'staffaccess'=>1})) )  {
+               $NoUpdateLogin =1;
        }
 }
 
@@ -216,7 +216,7 @@ if ($op eq 'insert'){
 if ($op eq 'save'){
        # test to know if another user have the same password and same login                                
        unless ($nok){
-           if($noUpdateLogin) {
+           if($NoUpdateLogin) {
                        delete $newdata{'password'};
                        delete $newdata{'userid'};
                }
@@ -493,7 +493,7 @@ $template->param(
   CGIbranch => $CGIbranch,
   memberofinstution => $member_of_institution,
   CGIorganisations => $CGIorganisations,
-  noUpdateLogin =>  $noUpdateLogin
+  NoUpdateLogin =>  $NoUpdateLogin
   );
   
 output_html_with_http_headers $input, $cookie, $template->output;