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>
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({
<!-- 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 -->
}
//]]>
<!-- /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" -->&print=page">Print Page</a></li>
<li><a id="printslip" href="/cgi-bin/koha/members/moremember.pl?borrowernumber=<!-- TMPL_VAR NAME="borrowernumber" -->&print=slip">Print Slip</a></li>
- <li id="moremenuc"><a id="renewpatron" href="/cgi-bin/koha/members/moremember.pl?reregistration=y&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&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>
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({
<!-- 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 -->
}
//]]>
<!-- /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" -->&print=page">Print Page</a></li>
<li><a id="printslip" href="/cgi-bin/koha/members/moremember.pl?borrowernumber=<!-- TMPL_VAR NAME="borrowernumber" -->&print=slip">Print Slip</a></li>
- <li id="moremenuc"><a id="renewpatron" href="/cgi-bin/koha/members/moremember.pl?reregistration=y&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&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>
<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>
<!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->
<title>Koha › Patrons ›
-<!-- 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>
<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>
my $flagsrequired;
$flagsrequired->{borrowers}=1;
+if( $bor->{'category_type'} eq 'S' ) {
+ $flagsrequired->{'staffaccess'} = 1;
+}
my ($loggedinuser, $cookie, $sessionID) = checkauth($input, 0, $flagsrequired);
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)
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'));
$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;
}
}
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'};
}
CGIbranch => $CGIbranch,
memberofinstution => $member_of_institution,
CGIorganisations => $CGIorganisations,
- noUpdateLogin => $noUpdateLogin
+ NoUpdateLogin => $NoUpdateLogin
);
output_html_with_http_headers $input, $cookie, $template->output;