Bugzilla – Attachment 16944 Details for
Bug 8435
new permissions on subscriptions "superserials"
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 8435: Followup add unit tests for can_edit_subscription
Bug-8435-Followup-add-unit-tests-for-caneditsubscr.patch (text/plain), 3.71 KB, created by
Jonathan Druart
on 2013-03-27 15:55:15 UTC
(
hide
)
Description:
Bug 8435: Followup add unit tests for can_edit_subscription
Filename:
MIME Type:
Creator:
Jonathan Druart
Created:
2013-03-27 15:55:15 UTC
Size:
3.71 KB
patch
obsolete
>From 9ab969ef6e2d217c4a2fedd88b1ed855a4c62f3d Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@biblibre.com> >Date: Wed, 27 Mar 2013 16:53:56 +0100 >Subject: [PATCH] Bug 8435: Followup add unit tests for can_edit_subscription > >--- > C4/Serials.pm | 11 +++++++- > t/db_dependent/Serials_2.t | 63 +++++++++++++++++++++++++++++++++++++++++--- > 2 files changed, 69 insertions(+), 5 deletions(-) > >diff --git a/C4/Serials.pm b/C4/Serials.pm >index 4649dae..1aa7360 100644 >--- a/C4/Serials.pm >+++ b/C4/Serials.pm >@@ -20,6 +20,7 @@ package C4::Serials; > > use strict; > use warnings; >+use C4::Auth qw(haspermission); > use C4::Context; > use C4::Dates qw(format_date format_date_in_iso); > use Date::Calc qw(:all); >@@ -2521,13 +2522,21 @@ sub subscriptionCurrentlyOnOrder { > return $sth->fetchrow_array; > } > >+=head2 can_edit_subscription >+ >+ $can = can_edit_subscription( $subscriptionid[, $userid] ); >+ >+Return 1 if the subscription is editable by the current logged user (or a given $userid), else 0. >+ >+=cut >+ > sub can_edit_subscription { > my ( $subscription, $userid ) = @_; > my $flags = C4::Context->userenv->{flags}; > $userid ||= C4::Context->userenv->{'id'}; > my $independant_branches = C4::Context->preference('IndependantBranches'); > return 1 unless $independant_branches; >- if( $flags % 2 == 1 >+ if( $flags % 2 == 1 # superlibrarian > or C4::Auth::haspermission( $userid, {serials => 'superserials'}), > or C4::Auth::haspermission( $userid, {serials => 'edit_subscription'}), > or not defined $subscription->{branchcode} >diff --git a/t/db_dependent/Serials_2.t b/t/db_dependent/Serials_2.t >index 01cf853..7c37dee 100644 >--- a/t/db_dependent/Serials_2.t >+++ b/t/db_dependent/Serials_2.t >@@ -1,10 +1,65 @@ > #!/usr/bin/perl >-use strict; >-use warnings; >+use Modern::Perl; > >-use Test::More; >+use Test::More tests => 4; > > use_ok('C4::Serials'); >+use_ok('C4::Budgets'); >+ > my $supplierlist=eval{GetSuppliersWithLateIssues()}; > ok(length($@)==0,"No SQL problem in GetSuppliersWithLateIssues"); >-done_testing(); >+ >+my $biblionumber = 1; >+my $budgetid; >+my $bpid = AddBudgetPeriod({ >+ budget_period_startdate => '01-01-2015', >+ budget_period_enddate => '31-12-2015', >+ budget_description => "budget desc" >+}); >+ >+my $budget_id = AddBudget({ >+ budget_code => "ABCD", >+ budget_amount => "123.132", >+ budget_name => "Périodiques", >+ budget_notes => "This is a note", >+ budget_description => "Serials", >+ budget_active => 1, >+ budget_period_id => $bpid >+}); >+ >+my $subscriptionid = NewSubscription( >+ undef, "", undef, undef, $budget_id, $biblionumber, '01-01-2013',undef, >+ undef, undef, undef, undef, undef, undef, undef, undef, >+ undef, undef, undef, undef, undef, undef, undef, undef, >+ undef, undef, undef, undef, undef, undef, undef, 1, >+ "notes", undef, undef, undef, undef, undef, undef, 0, >+ "intnotes", 0, undef, undef, 0, undef, '31-12-2013', >+); >+die unless $subscriptionid; >+ >+# Can edit a subscription >+my @USERENV = ( >+ 1, >+ 'test', >+ 'MASTERTEST', >+ 'Test', >+ 'Test', >+ 't', >+ 0, >+ 0, >+); >+ >+C4::Context->_new_userenv ('DUMMY_SESSION_ID'); >+C4::Context->set_userenv ( @USERENV ); >+my $userenv = C4::Context->userenv; >+ >+my $subscription = GetSubscription( $subscriptionid ); >+ >+is( C4::Serials::can_edit_subscription($subscription), 1, "User can edit a subscription with an empty branchcode"); >+#TODO add UT when C4::Auth->set_permissions (or setuserflags) will exist. >+ >+ >+# cleaning >+DelSubscription( $subscription->{subscriptionid} ); >+DelBudgetPeriod($bpid); >+DelBudget($budget_id); >-- >1.7.10.4
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 8435
:
10821
|
11377
|
11411
|
11892
|
13396
|
15673
|
16404
|
16462
|
16740
|
16750
|
16751
|
16798
|
16799
|
16801
|
16802
|
16803
|
16943
|
16944
|
19260
|
19261
|
19266
|
19268
|
20536
|
21286
|
21287
|
21288
|
21289
|
22624
|
22625
|
22626
|
22627
|
22628