Bug 23590: Batch update manager for suggestions

Sponsored-by: BULAC - http://www.bulac.fr/
Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This commit is contained in:
Jonathan Druart 2019-11-06 19:41:36 +01:00 committed by Martin Renvoize
parent 91b9c09bf2
commit d2de3d34de
No known key found for this signature in database
GPG Key ID: 422B469130441A0F
2 changed files with 58 additions and 25 deletions

View File

@ -664,13 +664,25 @@
</fieldset>
</div>
<div class="col-sm-4">
<div class="col-sm-2">
<fieldset>
<label for="set_manager_[% loop.count %]">Update manager</label><br/>
<a id="edit_manager" class="new_window" href="#"><i class="fa fa-search"></i> Select manager</a>
<span id="managedby_name"></span>
<input type="hidden" name="suggestion_managedby" id="managedby" value="[% logged_in_user.borrowernumber | html %]" />
<input type="hidden" name="branchcode" value="[% branchfilter | html %]" />
<fieldset class="action"><button type="submit" class="btn btn-default btn-xs" value="update_manager"/>Submit</button></fieldset>
</fieldset>
</div>
<div class="col-sm-2">
<fieldset>
<label for="delete_[% loop.count | html %]">Delete selected</label>
<input type="hidden" name="branchcode" value="[% branchfilter | html %]" />
<fieldset class="action"><button type="submit" class="btn btn-default btn-xs" value="delete"/>Delete</button></fieldset>
</fieldset>
</div>
</div>
[% ELSE %]
@ -844,6 +856,36 @@
[% MACRO jsinclude BLOCK %]
[% INCLUDE 'calendar.inc' %]
<script type="text/javascript">
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(){
$("#edit_manager").on("click",function(e){
e.preventDefault();
editManagerPopup();
});
});
</script>
[% IF ( op == 'show' || op == 'else' ) %]
<script>
$(document).ready(function(){
@ -965,6 +1007,12 @@
return false;
}
}
} else if ( action == "update_manager" ) {
if ( $("#managedby").val() == "" ) {
alert(_("Please select a manager to assign to the selected suggestions"));
e.preventDefault();
return false;
}
}
$('<input />').attr('type', 'hidden')
@ -979,26 +1027,6 @@
[% 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(){
@ -1023,10 +1051,6 @@
$("#other_reason").hide();
});
$("#edit_manager").on("click",function(e){
e.preventDefault();
editManagerPopup();
});
$("#restore_previous_manager").on("click",function(e){
e.preventDefault();
@ -1039,6 +1063,7 @@
$('#managedby_name').html(managerlink);
$('#managedby').val([% managedby_patron.borrowernumber | html %]);
});
});
</script>
[% END %]

View File

@ -261,6 +261,14 @@ elsif ( $op eq 'update_itemtype' ) {
}
redirect_with_params($input);
}
elsif ( $op eq 'update_manager' ) {
my $managedby = $input->param('suggestion_managedby');
foreach my $suggestionid (@editsuggestions) {
next unless $suggestionid;
&ModSuggestion({ suggestionid => $suggestionid, managedby => $managedby });
}
redirect_with_params($input);
}
elsif ( $op eq 'show' ) {
$suggestion_ref=&GetSuggestion($$suggestion_ref{'suggestionid'});
my $budget = GetBudget $$suggestion_ref{budgetid};