Bug 22284: Add new checkbox in Library Groups
authorAgustin Moyano <agustinmoyano@theke.io>
Mon, 25 Mar 2019 01:56:06 +0000 (22:56 -0300)
committerMartin Renvoize <martin.renvoize@ptfs-europe.com>
Fri, 3 Jan 2020 12:58:02 +0000 (12:58 +0000)
This patch adds a new checkbox option 'Is local hold group' when you create a new root group.

To test:
1) In intranet go to Library Groups in admin module
2) Add new root group
3) Check that there is no 'Is local hold group' checkbox
4) Apply this patch
5) Add new root group
SUCCESS => a new 'Is local hold group' checkbox appears
6) Select 'Is local hold group' and save
7) Click edit button for root group
SUCCESS => 'Is local hold group' is checked
8) Sign off

Sponsored-by: VOKAL
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

admin/library_groups.pl
koha-tmpl/intranet-tmpl/prog/en/modules/admin/library_groups.tt

index 4c5ce25..f8b2574 100755 (executable)
@@ -50,6 +50,7 @@ if ( $action eq 'add' ) {
     my $ft_hide_patron_info    = $cgi->param('ft_hide_patron_info')    || 0;
     my $ft_search_groups_opac  = $cgi->param('ft_search_groups_opac')  || 0;
     my $ft_search_groups_staff = $cgi->param('ft_search_groups_staff') || 0;
+    my $ft_local_hold_group = $cgi->param('ft_local_hold_group') || 0;
 
     if ( !$branchcode && Koha::Library::Groups->search( { title => $title } )->count() ) {
         $template->param( error_duplicate_title => $title );
@@ -63,6 +64,7 @@ if ( $action eq 'add' ) {
                 ft_hide_patron_info    => $ft_hide_patron_info,
                 ft_search_groups_opac  => $ft_search_groups_opac,
                 ft_search_groups_staff => $ft_search_groups_staff,
+                ft_local_hold_group => $ft_local_hold_group,
                 branchcode  => $branchcode,
             }
         )->store();
@@ -77,6 +79,7 @@ elsif ( $action eq 'edit' ) {
     my $ft_hide_patron_info    = $cgi->param('ft_hide_patron_info')    || 0;
     my $ft_search_groups_opac  = $cgi->param('ft_search_groups_opac')  || 0;
     my $ft_search_groups_staff = $cgi->param('ft_search_groups_staff') || 0;
+    my $ft_local_hold_group = $cgi->param('ft_local_hold_group') || 0;
 
     if ($id) {
         my $group = Koha::Library::Groups->find($id);
@@ -88,6 +91,7 @@ elsif ( $action eq 'edit' ) {
                 ft_hide_patron_info      => $ft_hide_patron_info,
                 ft_search_groups_opac    => $ft_search_groups_opac,
                 ft_search_groups_staff   => $ft_search_groups_staff,
+                ft_local_hold_group   => $ft_local_hold_group,
             }
         )->store();
 
index d8981cf..c4d1a83 100644 (file)
                                         Use for staff search groups
                                     </label>
                                 </p>
+                                <p>
+                                    <label>
+                                        <input type="checkbox" name="ft_local_hold_group" id="add-group-modal-ft_local_hold_group" value="1" />
+                                        Is local hold group
+                                    </label>
+                                </p>
                             </div>
                         </div>
                     </div>
                                         Use for staff search groups
                                     </label>
                                 </p>
+                                <p>
+                                    <label>
+                                        <input type="checkbox" id="edit-group-modal-ft_local_hold_group" name="ft_local_hold_group" value="1" />
+                                        Is local hold group
+                                    </label>
+                                </p>
                             </div>
                         </div>
                     </div>
                 var ft_hide_patron_info = $(this).data('groupFt_hide_patron_info');
                 var ft_search_groups_opac = $(this).data('groupFt_search_groups_opac');
                 var ft_search_groups_staff = $(this).data('groupFt_search_groups_staff');
-                edit_group( id, parent_id, title, description, ft_hide_patron_info, ft_search_groups_opac, ft_search_groups_staff );
+                var ft_local_hold_group = $(this).data('groupFt_local_hold_group');
+                edit_group( id, parent_id, title, description, ft_hide_patron_info, ft_search_groups_opac, ft_search_groups_staff, ft_local_hold_group );
             });
 
             $('.delete-group').on('click', function(e) {
             $('#add-group-modal-ft_hide_patron_info').prop('checked', false);
             $('#add-group-modal-ft_search_groups_opac').prop('checked', false);
             $('#add-group-modal-ft_search_groups_staff').prop('checked', false);
+            $('#add-group-modal-ft_local_hold_group').prop('checked', false);
             if ( parent_id ) {
                 $('#root-group-features-add').hide();
             } else {
 
         }
 
-        function edit_group( id, parent_id, title, description, ft_hide_patron_info, ft_search_groups_opac, ft_search_groups_staff ) {
+        function edit_group( id, parent_id, title, description, ft_hide_patron_info, ft_search_groups_opac, ft_search_groups_staff, ft_local_hold_group ) {
             $('#edit-group-modal-id').val( id );
             $('#edit-group-modal-title').val( title );
             $('#edit-group-modal-description').val( description );
                 $('#edit-group-modal-ft_hide_patron_info').prop('checked', false);
                 $('#edit-group-modal-ft_search_groups_opac').prop('checked', false);
                 $('#edit-group-modal-ft_search_groups_staff').prop('checked', false);
+                $('#edit-group-modal-ft_local_hold_group').prop('checked', false);
                 $('#root-group-features-edit').hide();
             } else {
                 $('#edit-group-modal-ft_hide_patron_info').prop('checked', ft_hide_patron_info ? true : false );
                 $('#edit-group-modal-ft_search_groups_opac').prop('checked', ft_search_groups_opac ? true : false );
                 $('#edit-group-modal-ft_search_groups_staff').prop('checked', ft_search_groups_staff ? true : false );
+                $('#edit-group-modal-ft_local_hold_group').prop('checked', ft_local_hold_group ? true : false );
                 $('#root-group-features-edit').show();
             }
 
                 [% IF group.ft_search_groups_staff %]
                     <li>Use for staff search groups</li>
                 [% END %]
+                [% IF group.ft_local_hold_group %]
+                    <li>Is local hold group</li>
+                [% END %]
               </ul>
             [% END %]
         </td>
                        </li>
 
                         <li>
-                            <a class="edit-group" id="edit-group-[% group.id | html %]" href="#" data-group-id="[% group.id | html %]" data-group-parent-id="[% group.parent_id | html %]" data-group-title="[% group.title | html %]" data-group-description="[% group.description | html %]" data-group-ft_hide_patron_info="[% group.ft_hide_patron_info | html %]" data-group-ft_search_groups_opac="[% group.ft_search_groups_opac | html %]" data-group-ft_search_groups_staff="[% group.ft_search_groups_staff | html %]" >
+                            <a class="edit-group" id="edit-group-[% group.id | html %]" href="#" data-group-id="[% group.id | html %]" data-group-parent-id="[% group.parent_id | html %]" data-group-title="[% group.title | html %]" data-group-description="[% group.description | html %]" data-group-ft_hide_patron_info="[% group.ft_hide_patron_info | html %]" data-group-ft_search_groups_opac="[% group.ft_search_groups_opac | html %]" data-group-ft_search_groups_staff="[% group.ft_search_groups_staff | html %]" data-group-ft_local_hold_group="[% group.ft_local_hold_group | html %]" >
                                 <i class="fa fa-pencil"></i> Edit
                             </a>
                        </li>