Bug 13662: Fix the serials.receive_serials permissions
There are some issues with serial permissions. For instance it's not possible to receive serials if the edit_subscription is not set. Also the toolbar is empty. Test plan: 1/ Set the serials => receive_serials permissions to a patron (and only this one for the serials module). 2/ Verify you cannot create a new subscription, you can search subscriptions but cannot edit them. 3/ On the serial result list, receive a serial (action > Serial receive). You can now change the status and receive it. 4/ On the serial collection, you can edit 1+ serials to reveice it. 5/ Set the serials => edit_subscription permission and confirm there is no regression. QA note: I think we should introduce a C4::Serials::can_receive_serials subroutine, to test the IndependentBranches pref, but I don't want to add to much processing to check permissions. Signed-off-by: Paola Rossi <paola.rossi@cineca.it> Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This commit is contained in:
parent
8e9f89e92b
commit
e604097740
|
|
@ -34,58 +34,59 @@
|
|||
});
|
||||
//]]>
|
||||
</script>
|
||||
<div id="toolbar" class="btn-toolbar">
|
||||
|
||||
[% IF ( CAN_user_serials_create_subscription ) %]
|
||||
[% IF subscriptionid and ( CAN_user_serials_edit_subscription || CAN_user_serials_create_subscription || CAN_user_serials_delete_subscription || CAN_user_serials_receive_serials ) %]
|
||||
<div id="toolbar" class="btn-toolbar">
|
||||
[% IF CAN_user_serials_create_subscription %]
|
||||
[% IF biblionumber_for_new_subscription %]
|
||||
<div class="btn-group"><a id="newsubscription" class="btn btn-small" href="/cgi-bin/koha/serials/subscription-add.pl?biblionumber_for_new_subscription=[% biblionumber_for_new_subscription %]"><i class="icon-plus"></i> New subscription</a></div>
|
||||
[% ELSE %]
|
||||
<div class="btn-group"><a id="newsubscription" class="btn btn-small" href="/cgi-bin/koha/serials/subscription-add.pl"><i class="icon-plus"></i> New subscription</a></div>
|
||||
[% END %]
|
||||
[% END %]
|
||||
|
||||
[% IF ( CAN_user_serials_edit_subscription || CAN_user_serials_create_subscription || CAN_user_serials_delete_subscription ) %]
|
||||
[% UNLESS ( cannotedit ) %]
|
||||
<div class="btn-group">
|
||||
<button class="btn btn-small dropdown-toggle" data-toggle="dropdown"><i class="icon-pencil"></i> Edit <span class="caret"></span></button>
|
||||
<ul class="dropdown-menu">
|
||||
[% IF ( cannotedit ) %] <li class="disabled"> [% ELSE %]
|
||||
<li> [% END %]
|
||||
<a href="/cgi-bin/koha/serials/subscription-add.pl?op=modify&subscriptionid=[% subscriptionid %]">Edit subscription</a></li>
|
||||
[% IF ( cannotedit ) %] <li class="disabled"> [% ELSE %]
|
||||
<li> [% END %]
|
||||
<a href="/cgi-bin/koha/serials/subscription-add.pl?op=dup&subscriptionid=[% subscriptionid %]">Edit as new (duplicate)</a></li>
|
||||
[% IF ( CAN_user_serials_delete_subscription ) %]
|
||||
[% IF ( cannotedit ) %] <li class="disabled"> [% ELSE %]
|
||||
<li> [% END %]
|
||||
<a href="#" id="deletesub">Delete subscription</a></li>[% END %]
|
||||
</ul>
|
||||
</div>
|
||||
[% END %]
|
||||
[% END %]
|
||||
|
||||
[% IF not cannotedit or CAN_user_serials_receive_serials %]
|
||||
[% IF CAN_user_serials_renew_subscription and not closed %]
|
||||
<div class="btn-group"><a id="renew" class="btn btn-small" href="#" onclick="popup([% subscriptionid %])"><i class="icon-refresh"></i> Renew</a></div>
|
||||
[% END %]
|
||||
[% IF CAN_user_serials_receive_serials and not closed %]
|
||||
<div class="btn-group"><a id="receive" class="btn btn-small" href="/cgi-bin/koha/serials/serials-edit.pl?subscriptionid=[% subscriptionid %]&serstatus=1,3"><i class="icon-inbox"></i> Receive</a></div>
|
||||
[% END %]
|
||||
[% UNLESS cannotedit %]
|
||||
[% IF closed %]
|
||||
<div class="btn-group"><a id="reopen" class="btn btn-small" href="#"><i class="icon-repeat"></i> Reopen</a></div>
|
||||
[% ELSE %]
|
||||
<div class="btn-group"><a id="close" class="btn btn-small" href="#"><i class="icon-remove-circle"></i> Close</a></div>
|
||||
[% END %]
|
||||
[% END %]
|
||||
[% END %]
|
||||
</div>
|
||||
[% ELSIF CAN_user_serials_create_subscription %]
|
||||
<div id="toolbar" class="btn-toolbar">
|
||||
[% IF ( biblionumber_for_new_subscription ) %]
|
||||
<div class="btn-group"><a id="newsubscription" class="btn btn-small" href="/cgi-bin/koha/serials/subscription-add.pl?biblionumber_for_new_subscription=[% biblionumber_for_new_subscription %]"><i class="icon-plus"></i> New subscription</a></div>
|
||||
[% ELSE %]
|
||||
<div class="btn-group"><a id="newsubscription" class="btn btn-small" href="/cgi-bin/koha/serials/subscription-add.pl"><i class="icon-plus"></i> New subscription</a></div>
|
||||
[% END %]
|
||||
[% END %]
|
||||
|
||||
[% IF ( CAN_user_serials_edit_subscription || CAN_user_serials_create_subscription || CAN_user_serials_delete_subscription ) %]
|
||||
[% IF ( subscriptionid ) %]
|
||||
|
||||
[% IF ( CAN_user_serials_edit_subscription || CAN_user_serials_create_subscription || CAN_user_serials_delete_subscription ) %]
|
||||
[% UNLESS ( cannotedit ) %]
|
||||
<div class="btn-group">
|
||||
<button class="btn btn-small dropdown-toggle" data-toggle="dropdown"><i class="icon-pencil"></i> Edit <span class="caret"></span></button>
|
||||
<ul class="dropdown-menu">
|
||||
[% IF ( cannotedit ) %] <li class="disabled"> [% ELSE %]
|
||||
<li> [% END %]
|
||||
<a href="/cgi-bin/koha/serials/subscription-add.pl?op=modify&subscriptionid=[% subscriptionid %]">Edit subscription</a></li>
|
||||
[% IF ( cannotedit ) %] <li class="disabled"> [% ELSE %]
|
||||
<li> [% END %]
|
||||
<a href="/cgi-bin/koha/serials/subscription-add.pl?op=dup&subscriptionid=[% subscriptionid %]">Edit as new (duplicate)</a></li>
|
||||
[% IF ( CAN_user_serials_delete_subscription ) %]
|
||||
[% IF ( cannotedit ) %] <li class="disabled"> [% ELSE %]
|
||||
<li> [% END %]
|
||||
<a href="#" id="deletesub">Delete subscription</a></li>[% END %]
|
||||
</ul>
|
||||
</div>
|
||||
[% END %]
|
||||
[% END %]
|
||||
|
||||
[% UNLESS ( cannotedit ) %]
|
||||
[% UNLESS closed %]
|
||||
[% IF ( CAN_user_serials_renew_subscription ) %]
|
||||
<div class="btn-group"><a id="renew" class="btn btn-small" href="#" onclick="popup([% subscriptionid %])"><i class="icon-refresh"></i> Renew</a></div>
|
||||
[% END %]
|
||||
[% END %]
|
||||
[% IF ( CAN_user_serials_receive_serials ) %]
|
||||
[% UNLESS closed %]
|
||||
<div class="btn-group"><a id="receive" class="btn btn-small" href="/cgi-bin/koha/serials/serials-edit.pl?subscriptionid=[% subscriptionid %]&serstatus=1,3"><i class="icon-inbox"></i> Receive</a></div>
|
||||
[% END %]
|
||||
[% END %]
|
||||
[% IF CAN_user_serials_edit_subscription %]
|
||||
[% IF closed %]
|
||||
<div class="btn-group"><a id="reopen" class="btn btn-small" href="#"><i class="icon-repeat"></i> Reopen</a></div>
|
||||
[% ELSE %]
|
||||
<div class="btn-group"><a id="close" class="btn btn-small" href="#"><i class="icon-remove-circle"></i> Close</a></div>
|
||||
[% END %]
|
||||
[% END %]
|
||||
[% END %]
|
||||
[% END %]
|
||||
[% END %]
|
||||
</div>
|
||||
</div>
|
||||
[% END %]
|
||||
|
|
|
|||
|
|
@ -223,7 +223,7 @@ $(document).ready(function() {
|
|||
[% UNLESS ( loop.odd ) %]<tr class="highlight">[% ELSE %]<tr>[% END %]
|
||||
[% IF ( CAN_user_serials_receive_serials ) %]
|
||||
<td>
|
||||
[% IF ( serial.cannotedit ) %]
|
||||
[% UNLESS CAN_user_serials_receive_serials %]
|
||||
disabled
|
||||
[% ELSE %]
|
||||
[% IF ( serial.subscriptionexpired ) %]
|
||||
|
|
|
|||
|
|
@ -154,6 +154,7 @@ foreach my $serialid (@serialids) {
|
|||
)
|
||||
|| $serinfo->{'cannotedit'}
|
||||
);
|
||||
$serinfo->{editdisable} = 0 if C4::Auth::haspermission( C4::Context->userenv->{id}, { serials => 'receive_serials' } );
|
||||
$serinfo->{editdisable} ||= ($serinfo->{status8} and $serinfo->{closed});
|
||||
push @serialdatalist, $serinfo;
|
||||
$processedserialid{$serialid} = 1;
|
||||
|
|
|
|||
Loading…
Reference in New Issue