Bug 23590: Batch update manager for suggestions
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Wed, 6 Nov 2019 18:41:36 +0000 (19:41 +0100)
committerMartin Renvoize <martin.renvoize@ptfs-europe.com>
Wed, 25 Mar 2020 09:34:37 +0000 (09:34 +0000)
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>

koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt
suggestion/suggestion.pl

index 468fab5..be50156 100644 (file)
                 </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 %]
 
 [% 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(){
                                 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')
     [% 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(){
                     $("#other_reason").hide();
                 });
 
-                $("#edit_manager").on("click",function(e){
-                    e.preventDefault();
-                    editManagerPopup();
-                });
                 $("#restore_previous_manager").on("click",function(e){
                     e.preventDefault();
 
                     $('#managedby_name').html(managerlink);
                     $('#managedby').val([% managedby_patron.borrowernumber | html %]);
                 });
+
             });
         </script>
     [% END %]
index c93aead..7e8e2b2 100755 (executable)
@@ -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};