(13, 'import_patrons', 'Import patron data'),
(13, 'delete_anonymize_patrons', 'Delete old borrowers and anonymize circulation history (deletes borrower reading history)'),
(13, 'batch_upload_patron_images', 'Upload patron images in batch or one at a time'),
- (13, 'schedule_tasks', 'Schedule tasks to run')
+ (13, 'schedule_tasks', 'Schedule tasks to run'),
+ (15, 'check_expiration', 'Check the expiration of a serial'),
+ (15, 'claim_serials', 'Claim missing serials'),
+ (15, 'create_subscription', 'Create a new subscription'),
+ (15, 'delete_subscription', 'Delete an existing subscription'),
+ (15, 'edit_subscription', 'Edit an existing subscription'),
+ (15, 'receive_serials', 'Serials receiving'),
+ (15, 'renew_subscription', 'Renew a subscription'),
+ (15, 'routing', 'Routing')
;
(13, 'import_patrons', 'Import patron data'),
(13, 'delete_anonymize_patrons', 'Delete old borrowers and anonymize circulation history (deletes borrower reading history)'),
(13, 'batch_upload_patron_images', 'Upload patron images in batch or one at a time'),
- (13, 'schedule_tasks', 'Schedule tasks to run')
+ (13, 'schedule_tasks', 'Schedule tasks to run'),
+ (15, 'check_expiration', 'Check the expiration of a serial'),
+ (15, 'claim_serials', 'Claim missing serials'),
+ (15, 'create_subscription', 'Create a new subscription'),
+ (15, 'delete_subscription', 'Delete an existing subscription'),
+ (15, 'edit_subscription', 'Edit an existing subscription'),
+ (15, 'receive_serials', 'Serials receiving'),
+ (15, 'renew_subscription', 'Renew a subscription'),
+ (15, 'routing', 'Routing')
;
");
SetVersion ($DBversion);
}
+$DBversion = "3.00.04.017";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("
+ INSERT INTO `permissions` (`module_bit`, `code`, `description`) VALUES
+ (15, 'check_expiration', 'Check the expiration of a serial'),
+ (15, 'claim_serials', 'Claim missing serials'),
+ (15, 'create_subscription', 'Create a new subscription'),
+ (15, 'delete_subscription', 'Delete an existing subscription'),
+ (15, 'edit_subscription', 'Edit an existing subscription'),
+ (15, 'receive_serials', 'Serials receiving'),
+ (15, 'renew_subscription', 'Renew a subscription'),
+ (15, 'routing', 'Routing');
+ ");
+ SetVersion ($DBversion);
+}
=item DropAllForeignKeys($table)
<li><a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a></li>
<!-- /TMPL_IF -->
<li><a href="/cgi-bin/koha/authorities/authorities-home.pl">Authorities</a></li>
+ <!-- /TMPL_IF -->
<!-- TMPL_IF NAME="CAN_user_serials" -->
- <li><a href="/cgi-bin/koha/serials/serials-home.pl">Serials</a></li><!-- /TMPL_IF -->
+ <li><a href="/cgi-bin/koha/serials/serials-home.pl">Serials</a></li>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="CAN_user_reports" --><li><a href="/cgi-bin/koha/reports/reports-home.pl">Reports</a></li><!-- /TMPL_IF -->
<!-- TMPL_IF NAME="CAN_user_tools" --><li><a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a></li><!-- /TMPL_IF -->
<li><a href="/cgi-bin/koha/cataloguing/addbooks.pl">Cataloging</a><ul>
<li><a href="/cgi-bin/koha/cataloguing/addbiblio.pl">Add MARC Record</a></li>
<li><a href="/cgi-bin/koha/authorities/authorities-home.pl">Authorities</a></li>
+ <!-- /TMPL_IF -->
+ <!-- TMPL_IF NAME="CAN_user_serials" -->
<li><a href="/cgi-bin/koha/serials/serials-home.pl">Serials</a></li>
+ <!-- /TMPL_IF -->
+ <!-- TMPL_IF NAME="CAN_user_editcatalogue" -->
</ul></li>
<li><a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a></li>
<!-- TMPL_IF NAME="subscriptionid" -->
<ul>
<li><a href="serials-collection.pl?subscriptionid=<!-- TMPL_VAR name="subscriptionid" -->">Serial Collection</a></li>
- <!-- TMPL_IF NAME="routing" --><li><a href="routing.pl?subscriptionid=<!-- TMPL_VAR NAME="subscriptionid" -->">Edit Routing List</a></li><!-- TMPL_ELSE -->
- <li><a href="routing.pl?subscriptionid=<!-- TMPL_VAR NAME="subscriptionid" -->&op=new">Create Routing List</a></li><!-- /TMPL_IF -->
+ <!-- TMPL_IF NAME="CAN_user_serials_routing" -->
+ <!-- TMPL_IF NAME="routing" -->
+ <li><a href="routing.pl?subscriptionid=<!-- TMPL_VAR NAME="subscriptionid" -->">Edit Routing List</a></li>
+ <!-- TMPL_ELSE -->
+ <li><a href="routing.pl?subscriptionid=<!-- TMPL_VAR NAME="subscriptionid" -->&op=new">Create Routing List</a></li>
+ <!-- /TMPL_IF -->
+ <!-- /TMPL_IF -->
</ul>
<!-- /TMPL_IF -->
<ul>
+ <!-- TMPL_IF NAME="CAN_user_serials_claim_serials" -->
<li><a href="/cgi-bin/koha/serials/claims.pl">Claims</a></li>
+ <!-- /TMPL_IF -->
+ <!-- TMPL_IF NAME="CAN_user_serials_check_expiration" -->
<li><a href="/cgi-bin/koha/serials/checkexpiration.pl">Check Expiration</a></li>
-</ul>
\ No newline at end of file
+ <!-- /TMPL_IF -->
+</ul>
<!-- TMPL_IF NAME="subscriptionid" -->
var editmenu = [
- { text: _("Edit Subscription"), <!-- TMPL_IF NAME="cannotedit" -->disabled: true, <!-- /TMPL_IF --> url: "/cgi-bin/koha/serials/subscription-add.pl?op=mod&subscriptionid=<!-- TMPL_VAR name="subscriptionid" -->" },
- { text: _("Edit as New (Duplicate)"), <!-- TMPL_IF NAME="cannotedit" -->disabled: true, <!-- /TMPL_IF --> url: "/cgi-bin/koha/serials/subscription-add.pl?op=dup&subscriptionid=<!-- TMPL_VAR name="subscriptionid" -->" },
+ <!-- TMPL_IF NAME="CAN_user_serials_edit_subscription" -->
+ { text: _("Edit Subscription"), <!-- TMPL_IF NAME="cannotedit" -->disabled: true, <!-- /TMPL_IF --> url: "/cgi-bin/koha/serials/subscription-add.pl?op=mod&subscriptionid=<!-- TMPL_VAR name="subscriptionid" -->" },
+ <!-- /TMPL_IF -->
+ <!-- TMPL_IF NAME="CAN_user_serials_create_subscription" -->
+ { text: _("Edit as New (Duplicate)"), <!-- TMPL_IF NAME="cannotedit" -->disabled: true, <!-- /TMPL_IF --> url: "/cgi-bin/koha/serials/subscription-add.pl?op=dup&subscriptionid=<!-- TMPL_VAR name="subscriptionid" -->" },
+ <!-- /TMPL_IF -->
+ <!-- TMPL_IF NAME="CAN_user_serials_delete_subscription" -->
{ text: _("Delete Subscription"), <!-- TMPL_IF NAME="cannotedit" -->disabled: true, <!-- /TMPL_IF --> onclick: {fn: confirm_deletion }}
+ <!-- /TMPL_IF -->
];
<!-- /TMPL_IF -->
new YAHOO.widget.Button("newsubscription");
//]]>
</script>
<ul class="toolbar">
- <!-- TMPL_IF NAME="biblionumber_for_new_subscription" -->
- <li><a id="newsubscription" href="/cgi-bin/koha/serials/subscription-add.pl?biblionumber_for_new_subscription=<!-- TMPL_VAR NAME="biblionumber_for_new_subscription" -->">New Subscription</a></li>
- <!-- TMPL_ELSE -->
- <li><a id="newsubscription" href="/cgi-bin/koha/serials/subscription-add.pl">New Subscription</a></li>
+ <!-- TMPL_IF NAME="CAN_user_serials_create_subscription" -->
+ <!-- TMPL_IF NAME="biblionumber_for_new_subscription" -->
+ <li><a id="newsubscription" href="/cgi-bin/koha/serials/subscription-add.pl?biblionumber_for_new_subscription=<!-- TMPL_VAR NAME="biblionumber_for_new_subscription" -->">New Subscription</a></li>
+ <!-- TMPL_ELSE -->
+ <li><a id="newsubscription" href="/cgi-bin/koha/serials/subscription-add.pl">New Subscription</a></li>
+ <!-- /TMPL_IF -->
<!-- /TMPL_IF -->
- <!-- TMPL_IF NAME="subscriptionid" -->
- <!-- TMPL_UNLESS name="cannotedit" -->
- <li id="editmenuc"><a id="edit" href="/cgi-bin/koha/serials/subscription-add.pl?op=mod&subscriptionid=<!-- TMPL_VAR name="subscriptionid" -->">Edit</a></li>
- <!-- /TMPL_UNLESS -->
- <li><a id="duplicate" href="/cgi-bin/koha/serials/subscription-add.pl?op=dup&subscriptionid=<!-- TMPL_VAR name="subscriptionid" -->">Duplicate </a></li>
- <!-- TMPL_UNLESS name="cannotedit" -->
- <li id="renewc"><a id="renew" href="#" onclick="popup(<!--TMPL_VAR Name="subscriptionid"-->)">Renew </a></li>
- <li><a id="receive" href="/cgi-bin/koha/serials/serials-edit.pl?subscriptionid=<!-- TMPL_VAR name="subscriptionid" -->&serstatus=1,3">Receive</a></li>
- <li><a id="delete" href="javascript:confirm_deletion()">Delete</a></li>
- <!-- /TMPL_UNLESS -->
+
+ <!-- TMPL_IF EXPR="CAN_user_serials_edit_subscription || CAN_user_serials_create_subscription || CAN_user_serials_delete_subscription" -->
+ <!-- TMPL_IF NAME="subscriptionid" -->
+
+ <!-- TMPL_IF expr="CAN_user_serials_edit_subscription || CAN_user_serials_create_subscription || CAN_user_serials_delete_subscription" -->
+ <!-- TMPL_UNLESS name="cannotedit" -->
+ <li id="editmenuc"><a id="edit" href="/cgi-bin/koha/serials/subscription-add.pl?op=mod&subscriptionid=<!-- TMPL_VAR name="subscriptionid" -->">Edit</a></li>
+ <!-- /TMPL_UNLESS -->
+ <!-- /TMPL_IF -->
+
+ <!-- TMPL_IF name="CAN_user_serials_create_subscription" -->
+ <li><a id="duplicate" href="/cgi-bin/koha/serials/subscription-add.pl?op=dup&subscriptionid=<!-- TMPL_VAR name="subscriptionid" -->">Duplicate </a></li>
+ <!-- /TMPL_IF -->
+
+ <!-- TMPL_UNLESS name="cannotedit" -->
+ <!-- TMPL_IF name="CAN_user_serials_renew_subscription" -->
+ <li id="renewc"><a id="renew" href="#" onclick="popup(<!--TMPL_VAR Name="subscriptionid"-->)">Renew </a></li>
+ <!-- /TMPL_IF -->
+ <!-- TMPL_IF name="CAN_user_serials_receive_serials" -->
+ <li><a id="receive" href="/cgi-bin/koha/serials/serials-edit.pl?subscriptionid=<!-- TMPL_VAR name="subscriptionid" -->&serstatus=1,3">Receive</a></li>
+ <!-- /TMPL_IF -->
+ <!-- TMPL_IF name="CAN_user_serials_delete_subscription" -->
+ <li><a id="delete" href="javascript:confirm_deletion()">Delete</a></li>
+ <!-- /TMPL_IF -->
+ <!-- /TMPL_UNLESS -->
+ <!-- /TMPL_IF -->
<!-- /TMPL_IF -->
</ul>
</div>
<!-- TMPL_IF NAME="cannotedit" -->
<!-- TMPL_ELSE -->
- <a href="/cgi-bin/koha/serials/serials-edit.pl?subscriptionid=<!-- TMPL_VAR name="subscriptionid" -->&serstatus=1,3">Serial receive</a>
+ <!-- TMPL_IF name="CAN_user_serials_receive_serials" --><a href="/cgi-bin/koha/serials/serials-edit.pl?subscriptionid=<!-- TMPL_VAR name="subscriptionid" -->&serstatus=1,3">Serial receive</a><!-- /TMPL_IF -->
<!-- /TMPL_IF -->
</td>
</tr>
<input type="text" name="biblionumber" id="biblionumber" value="<!-- TMPL_VAR name="bibnum" -->" size="8" />
(<input type="text" name="title" value="<!-- TMPL_VAR name="bibliotitle" -->" disabled="disabled" readonly="readonly" />) <span class="required" title="Subscriptions must be associated with a bibliographic record">Required</span>
- <div class="inputnote"> <a href="#" onclick="Plugin(f)">Search for Biblio</a> | <!--TMPL_IF Name="mod"--><a href="#" onclick="addbiblioPopup(<!-- TMPL_VAR NAME="bibnum" -->); return false;">Edit biblio</a><!-- TMPL_ELSE -->
- <a href="#" onclick="addbiblioPopup(); return false;">Create Biblio</a><!--/TMPL_IF--></div>
+ <div class="inputnote"> <a href="#" onclick="Plugin(f)">Search for Biblio</a>
+ <!-- TMPL_IF name="CAN_user_editcatalogue" -->
+ <!--TMPL_IF Name="mod"-->
+ | <a href="#" onclick="addbiblioPopup(<!-- TMPL_VAR NAME="bibnum" -->); return false;">Edit biblio</a>
+ <!-- TMPL_ELSE -->
+ | <a href="#" onclick="addbiblioPopup(); return false;">Create Biblio</a>
+ <!--/TMPL_IF-->
+ <!--/TMPL_IF-->
+ </div>
</li>
<li class="radio">
query => $query,
type => "intranet",
authnotrequired => 0,
- flagsrequired => {serials => 1},
+ flagsrequired => {serials => '*'},
debug => 1,
});
query => $query,
type => "intranet",
authnotrequired => 0,
- flagsrequired => { serials => 1 },
+ flagsrequired => { serials => '*' },
debug => 1,
}
);
query => $query,
type => "intranet",
authnotrequired => 0,
- flagsrequired => { serials => 1 },
+ flagsrequired => { serials => 'check_expiration' },
debug => 1,
}
);
query => $input,
type => "intranet",
authnotrequired => 0,
- flagsrequired => {serials => 1},
+ flagsrequired => {serials => 'claim_serials'},
debug => 1,
});
query => $query,
type => "intranet",
authnotrequired => 0,
- flagsrequired => { serials => 1 },
+ flagsrequired => { serials => 'routing' },
debug => 1,
}
);
query => $query,
type => "intranet",
authnotrequired => 0,
- flagsrequired => {serials => 1},
+ flagsrequired => {serials => 'routing'},
debug => 1,
});
$template->param("libraryname"=>$branchname);
query => $query,
type => "intranet",
authnotrequired => 0,
- flagsrequired => {serials => 1},
+ flagsrequired => {serials => 'routing'},
debug => 1,
});
}
query => $query,
type => "intranet",
authnotrequired => 0,
- flagsrequired => {serials => 1},
+ flagsrequired => {serials => 'routing'},
debug => 1,
});
# my $date;
query => $query,
type => "intranet",
authnotrequired => 0,
- flagsrequired => {serials => 1},
+ flagsrequired => {serials => '*'},
debug => 1,
});
query => $query,
type => "intranet",
authnotrequired => 0,
- flagsrequired => {serials => 1},
+ flagsrequired => {serials => 'receive_serials'},
debug => 1,
});
my $biblionumber = $query->param('biblionumber');
query => $query,
type => "intranet",
authnotrequired => 0,
- flagsrequired => {serials => 1},
+ flagsrequired => {serials => 'receive_serials'},
debug => 1,
});
query => $query,
type => "intranet",
authnotrequired => 0,
- flagsrequired => { serials => 1 },
+ flagsrequired => { serials => '*' },
debug => 1,
}
);
query => $query,
type => "intranet",
authnotrequired => 0,
- flagsrequired => {serials => 1},
+ flagsrequired => {serials => '*'},
debug => 1,
});
$bibliotitle, $callnumber, $notes, $hemisphere, $letter, $manualhistory,$serialsadditems);
my @budgets;
+
+# Permission needed if it is a modification : edit_subscription
+# Permission needed otherwise (nothing or dup) : create_subscription
+my $permission = ($op eq "mod") ? "edit_subscription" : "create_subscription";
+
my ($template, $loggedinuser, $cookie)
= get_template_and_user({template_name => "serials/subscription-add.tmpl",
query => $query,
type => "intranet",
authnotrequired => 0,
- flagsrequired => {serials => 1},
+ flagsrequired => {serials => $permission},
debug => 1,
});
query => $input,
type => "intranet",
authnotrequired => 0,
- flagsrequired => {serials => 1},
- flagsrequired => {catalogue => 1},
+ flagsrequired => {catalogue => 1, serials => '*'},
debug => 1,
});
query => $input,
type => "intranet",
authnotrequired => 0,
- flagsrequired => {catalogue => 1, serials=>1},
+ flagsrequired => {catalogue => 1, serials => '*'},
debug => 1,
});
# load the itemtypes
query => $input,
type => "intranet",
authnotrequired => 0,
- flagsrequired => {catalogue => 1, serials=>1},
+ flagsrequired => {catalogue => 1, serials => '*'},
debug => 1,
});
# load the itemtypes
$totalissues-- if $totalissues; # the -1 is to have 0 if this is a new subscription (only 1 issue)
# the subscription must be deletable if there is NO issues for a reason or another (should not happend, but...)
+# Permission needed if it is a deletion (del) : delete_subscription
+# Permission needed otherwise : *
+my $permission = ($op eq "del") ? "delete_subscription" : "*";
+
($template, $loggedinuser, $cookie)
= get_template_and_user({template_name => "serials/subscription-detail.tmpl",
query => $query,
type => "intranet",
authnotrequired => 0,
- flagsrequired => {serials => 1},
+ flagsrequired => {serials => $permission},
debug => 1,
});
query => $query,
type => "intranet",
authnotrequired => 0,
- flagsrequired => { serials => 1 },
+ flagsrequired => { serials => 'renew_subscription' },
debug => 1,
}
);
query => $input,
type => "intranet",
authnotrequired => 0,
- flagsrequired => {serials => 1},
+ flagsrequired => {serials => '*'},
debug => 1,
});