Bugzilla – Attachment 98119 Details for
Bug 23590
Add the ability to change the manager of a suggestion and notify the new manager
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 23590: Add ability to edit the manager of a suggestion
Bug-23590-Add-ability-to-edit-the-manager-of-a-sug.patch (text/plain), 9.46 KB, created by
Jonathan Druart
on 2020-01-30 09:31:37 UTC
(
hide
)
Description:
Bug 23590: Add ability to edit the manager of a suggestion
Filename:
MIME Type:
Creator:
Jonathan Druart
Created:
2020-01-30 09:31:37 UTC
Size:
9.46 KB
patch
obsolete
>From 1a19ce4588bf35792f0cacd8f361be47cf7ee9d9 Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@bugs.koha-community.org> >Date: Wed, 6 Nov 2019 19:05:05 +0100 >Subject: [PATCH] Bug 23590: Add ability to edit the manager of a suggestion >MIME-Version: 1.0 >Content-Type: text/plain; charset=UTF-8 >Content-Transfer-Encoding: 8bit > >Prior to this patch there was an hidden behavior that set the manager to >the logged in user when a suggestion was edited. This patch proposes to >let the librarian pick another manager. >Other small adjustements will be added to polish this new behavior: > * Create 2 new DB columns: suggestions.lastmodificationby and > suggestion.lastmodificationdate > * Choose a manager when editing a suggestion > * Batch modify suggestions and set a manager for them > * Let notify the new manager using the TO_PROCESS letter > * Display the manageddate, lastmodificationby and lastmodificationdate > info where appropriate > >This first patch adds a new "Select manager" link when editing a >suggestion. > >Test plan for the whole patchset: >0/ > a. Execute the update DB entry, generate the new DBIC file and restart all > b. Create at least 2 patrons with the suggestions_manage permission >1/ Submit a new suggestion (OPAC or staff, not important) >2/ Accept it >3/ Edit it >=> "Last modification by" is empty >=> You see that you are the manager of this suggestion >4/ Click "Select manager" and search for a new manager >=> The patron search will only display patrons with the >suggestions_manage permission >5/ Save >6/ Edit again >=> The manager is set to you, but there is a note saying that previously >it was the patron you picked >=> The "Last modification by" is set to you >7/ Click "Keep existing manager" >=> The manager is now set to the previous manager >8/ Select another manager (which has a valid email address defined) >9/ Click the "notify" checkbox >10/ Save >11/ Confirm that a TO_PROCESS notice has been generated into the >message_queue table >12/ Create at least one other suggestion >13/ List the suggestions >=> There is a 4th action column to assign a manager to several >suggestions in one go. >14/ Use this new button and confirm that it works as expected >15/ Go to your purchase suggestion list (OPAC and staff) >=> You see the "managed date" displayed in a new column > >Sponsored-by: BULAC - http://www.bulac.fr/ > >Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr> >--- > .../prog/en/modules/suggestion/suggestion.tt | 68 ++++++++++++++++++++-- > suggestion/suggestion.pl | 3 +- > 2 files changed, 64 insertions(+), 7 deletions(-) > >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt >index 0d7d23a84a..98653b9ccf 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt >@@ -367,17 +367,35 @@ > </td> > </tr> > <tr> >- <th><label for="managedon">Managed by:</label> </th> >- <td><input type="text" id="managedon" name="manageddate" class="datepicker" size="10" maxlength="10" value="[% manageddate | $KohaDates %]" />[% INCLUDE 'date-format.inc' %]</td> >- <td><input type="hidden" id="managedby" name="managedby" value="[% managedby | html %]"/>[% IF ( managedby_borrowernumber ) %]<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% managedby_borrowernumber | uri %]">[% managedby_surname | html %], [% managedby_firstname | html %] ([% suggestedby_cardnumber | html %])</a> [% Branches.GetName( managedby_branchcode ) | html %] ([% managedby_description | html %])[% END %]</td> >- </tr> >- <tr> > <th><label for="accepteddate">Accepted on:</label> </th> > <td><input type="text" id="accepteddate" name="accepteddate" class="datepicker" size="10" maxlength="10" value="[% accepteddate | $KohaDates %]" />[% INCLUDE 'date-format.inc' %]</td> > <td><input type="hidden" id="acceptedby" name="acceptedby" value="[% acceptedby | html %]"/>[% IF ( acceptedby_borrowernumber ) %]<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% acceptedby_borrowernumber | uri %]">[% acceptedby_surname | html %], [% acceptedby_firstname | html %] ([% suggestedby_cardnumber | html %])</a> [% Branches.GetName( acceptedby_branchcode ) | html %] ([% acceptedby_description | html %])[% END %]</td> > </tr> > </tbody> >- </table></li></ol> >+ </table></li> >+ >+ <li> >+ <label for="managedon">Managed on:</label> >+ <input type="text" id="managedon" name="manageddate" class="datepicker" size="10" maxlength="10" value="[% manageddate | $KohaDates %]" />[% INCLUDE 'date-format.inc' %] >+ </li> >+ <li> >+ <label for="managedby_name">by:</label> >+ <div> >+ <span id="managedby_name"> >+ <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% logged_in_user.borrowernumber | uri %]">You</a> >+ </span> >+ [% IF managedby_borrowernumber && logged_in_user.borrowernumber != managedby_borrowernumber %] >+ | Previously was [% INCLUDE 'patron-title.inc' patron=managedby_patron hide_patron_infos_if_needed=1 %] [% Branches.GetName( managedby_branchcode ) | html %] ([% managedby_description | html %]) >+ [% END %] >+ <br /> >+ <a id="edit_manager" class="new_window" href="#"><i class="fa fa-search"></i> Select manager</a> >+ [% IF managedby_borrowernumber && logged_in_user.borrowernumber != managedby_borrowernumber %] >+ <a id="restore_previous_manager" href="#"><i class="fa fa-trash"></i> Keep existing manager</a> >+ [% END %] >+ <input type="hidden" name="managedby" id="managedby" value="[% logged_in_user.borrowernumber | html %]" /> >+ </div> >+ </li> >+ </ol> > </fieldset> > <fieldset class="rows"> <legend>Acquisition information</legend><ol> > <li><label for="branchcode">Library:</label> >@@ -957,6 +975,27 @@ > [% END %] > [% IF ( op_save ) %] > <script> >+ >+ function editManagerPopup() { >+ window.open("/cgi-bin/koha/admin/add_user_search.pl?selection_type=select", >+ 'PatronPopup', >+ 'width=740,height=450,location=yes,toolbar=no,' >+ + 'scrollbars=yes,resize=yes' >+ ); >+ } >+ function select_user(borrowernumber, borrower) { >+ $("#managedby_name").empty(); >+ $("#managedby").val(''); >+ var borrowername = borrower.firstname + ' ' + borrower.surname; >+ if (borrowernumber) { >+ var managerlink = '<a href="/cgi-bin/koha/members/moremember.pl' >+ + '?borrowernumber=' + borrowernumber + '">' >+ + borrowername + '</a>'; >+ $('#managedby_name').html(managerlink); >+ $('#managedby').val(borrowernumber); >+ } >+ } >+ > $(document).ready(function(){ > calcNewsuggTotal(); > $("#quantity,#price,#currency").on("change",function(){ >@@ -980,6 +1019,23 @@ > $(".select-reason").show().find("option[value='']").attr("selected","selected"); > $("#other_reason").hide(); > }); >+ >+ $("#edit_manager").on("click",function(e){ >+ e.preventDefault(); >+ editManagerPopup(); >+ }); >+ $("#restore_previous_manager").on("click",function(e){ >+ e.preventDefault(); >+ >+ $("#managedby_name").empty(); >+ $("#managedby").val(''); >+ var borrowername = "[% managedby_firstname | html %] [% managedby_surname | html %]"; >+ var managerlink = '<a href="/cgi-bin/koha/members/moremember.pl' >+ + '?borrowernumber=[% managedby_borrowernumber | html %]">' >+ + borrowername + '</a>'; >+ $('#managedby_name').html(managerlink); >+ $('#managedby').val([% managedby_borrowernumber | html %]); >+ }); > }); > </script> > [% END %] >diff --git a/suggestion/suggestion.pl b/suggestion/suggestion.pl >index 29932e1d93..c7ffcd6d37 100755 >--- a/suggestion/suggestion.pl >+++ b/suggestion/suggestion.pl >@@ -154,7 +154,7 @@ if ( $op =~ /save/i ) { > $suggestion_only->{ lc( $suggestion_only->{"STATUS"}) . "by" } = C4::Context->userenv->{number}; > } > $suggestion_only->{manageddate} = dt_from_string; >- $suggestion_only->{"managedby"} = C4::Context->userenv->{number}; >+ $suggestion_only->{"managedby"} ||= C4::Context->userenv->{number}; > } > > my $otherreason = $input->param('other_reason'); >@@ -334,6 +334,7 @@ foreach my $element ( qw(managedby suggestedby acceptedby) ) { > my $patron = Koha::Patrons->find( $$suggestion_ref{$element} ); > my $category = $patron->category; > $template->param( >+ $element."_patron"=> $patron, > $element."_borrowernumber"=>$patron->borrowernumber, > $element."_firstname"=>$patron->firstname, > $element."_surname"=>$patron->surname, >-- >2.11.0
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 23590
:
95162
|
95163
|
95164
|
95165
|
95166
|
95167
|
95168
|
95169
|
95317
|
95318
|
95319
|
95320
|
95321
|
95322
|
95323
|
95324
|
95398
|
95399
|
95407
|
95408
|
95420
|
95421
|
95422
|
95423
|
95424
|
95425
|
95426
|
95427
|
95428
|
95429
|
95430
|
95431
|
95487
|
95488
|
95489
|
95490
|
95491
|
95492
|
95493
|
95494
|
95495
|
95496
|
95497
|
95498
|
98119
|
98120
|
98121
|
98122
|
98123
|
98124
|
98126
|
98127
|
98128
|
98129
|
98130
|
98131
|
98240
|
98267
|
98268
|
98279
|
100788
|
100789
|
100790
|
100791
|
100792
|
100793
|
100794
|
100795
|
100796
|
100797
|
100798
|
100799
|
100800
|
100801
|
100802
|
100803
|
100804
|
100846
|
100847
|
100848
|
100849
|
100850
|
100851
|
100852
|
100853
|
101539
|
101548
|
101588
|
101589
|
101590
|
101591
|
101592
|
101593
|
101594
|
101595
|
101596
|
101597
|
101598
|
101599
|
101600
|
101601
|
101602
|
101603
|
101604
|
101605
|
101606
|
101695