Bug 9573: Lost items report - Add a new itemlost_on column
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / admin / library_groups.tt
index 4e25a54..eaa1aba 100644 (file)
@@ -1,17 +1,48 @@
+[% USE KohaSpan %]
 [% INCLUDE 'doc-head-open.inc' %]
 <title>Koha &rsaquo; Administration &rsaquo; Library groups</title>
 [% INCLUDE 'doc-head-close.inc' %]
-<script type="text/javascript" src="[% interface %]/lib/jquery-treegrid/js/jquery.treegrid.min.js"></script>
-<script type="text/javascript" src="[% interface %]/lib/jquery-treegrid/js/jquery.treegrid.bootstrap2.js"></script>
-<link rel="stylesheet" href="[% interface %]/lib/jquery-treegrid/css/jquery.treegrid.css">
+<link href="[% interface %]/lib/jquery/plugins/treetable/stylesheets/jquery.treetable_[% KOHA_VERSION %].css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="[% interface %]/lib/jquery/plugins/treetable/jquery.treetable_[% KOHA_VERSION %].js"></script>
 <script type="text/javascript">
 //<![CDATA[
     $(document).ready(function() {
-        $('#library-groups').treegrid(
+        $('.library-groups').treetable(
             {
-                'saveState': true
+                expandable: true,
+                initialState: 'expanded',
+                clickableNodeNames: true,
             }
         );
+
+        $('.add-group').on('click', function() {
+            var id = $(this).data('groupId');
+            add_group( id );
+        });
+
+        $('.edit-group').on('click', function() {
+            var id = $(this).data('groupId');
+            var parent_id = $(this).data('groupParentId');
+            var title = $(this).data('groupTitle');
+            var description = $(this).data('groupDescription');
+            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 );
+        });
+
+        $('.delete-group').on('click', function() {
+            var id = $(this).data('groupId');
+            var title = $(this).data('groupTitle');
+            delete_group( id, title );
+        });
+
+        $('.remove-library').on('click', function() {
+            var id = $(this).data('groupId');
+            var library = $(this).data('groupLibrary');
+            var parent_title = $(this).data('groupParentTitle');
+            remove_library( id, library, parent_title );
+        });
     });
 
     function add_group( parent_id ) {
             $('#add-group-modal-title').focus();
         });
 
+        $('#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);
+        if ( parent_id ) {
+            $('#root-group-features-add').hide();
+        } else {
+            $('#root-group-features-add').show();
+        }
         $('#add-group-modal').modal('show');
     }
 
-    function edit_group( id, title, description ) {
+    function edit_group( id, parent_id, title, description, ft_hide_patron_info, ft_search_groups_opac, ft_search_groups_staff ) {
         $('#edit-group-modal-id').val( id );
         $('#edit-group-modal-title').val( title );
         $('#edit-group-modal-description').val( description );
 
+        if ( parent_id ) {
+            $('#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);
+            $('#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 );
+            $('#root-group-features-edit').show();
+        }
+
         $('#edit-group-modal').on('shown', function() {
             $('#edit-group-modal-title').focus();
         });
         $('#edit-group-modal').modal('show');
     }
 
-    function remove_library( id ) {
+    function delete_group( id, title ) {
+        $('#delete-group-modal-title').html(title);
+        $('#delete-group-modal-id').val( id );
+        $('#delete-group-modal').modal('show');
+    }
+
+    function remove_library( id, library, parent_title ) {
+        $('#remove-library-modal-library').html( library );
+        $('#remove-library-modal-group').html(parent_title);
         $('#remove-library-modal-id').val( id );
         $('#remove-library-modal').modal('show');
     }
 
-    function delete_group( id ) {
-        $('#delete-group-modal-id').val( id );
-        $('#delete-group-modal').modal('show');
-    }
 //]]>
 </script>
 </head>
 <body id="admin_library_groups" class="admin">
 [% INCLUDE 'header.inc' %]
-[% INCLUDE 'cities-admin-search.inc' %]
+[% INCLUDE 'cat-search.inc' %]
 
 <div id="breadcrumbs">
     <a href="/cgi-bin/koha/mainpage.pl">Home</a>
 </div>
 
 [% IF added %]
-    <div class="dialog alert group-added">
+    <div class="dialog message group-added">
         [% IF added.branchcode %]
-            <i>[% added.library.branchname %]</i> added to group.
+            [% added.library.branchname | $KohaSpan class = 'name' %] added to group.
         [% ELSE %]
-            Group <i>[% added.title %]</i> created.
+            Group [% added.title | $KohaSpan class = 'name' %] created.
         [% END %]
     </div>
 [% ELSIF deleted %]
-    <div class="dialog alert group-deleted">
+    <div class="dialog message group-deleted">
         [% IF deleted.title %]
-            Group <i>[% deleted.title %]</i> has been deleted.
+            Group [% deleted.title | $KohaSpan class = 'name' %] has been deleted.
         [% ELSE %]
-            <i>[% deleted.library %]</i> has been removed from group.
+            [% deleted.library | $KohaSpan class = 'name' %] has been removed from group.
         [% END %]
     </div>
+[% ELSIF error_duplicate_title %]
+    <div class="dialog alert error-duplicate-group-title">
+            A group with the title [% error_duplicate_title | $KohaSpan class = 'name' %] already exists.
+    </div>
 [% END %]
 
 <div id="doc3" class="yui-t2">
                 <div class="yui-g">
                     <div id="toolbar" class="btn-toolbar">
                         <div class="btn-group">
-                            <a id="add-group-[% group.id %]" class="btn btn-small" href="#" onclick="add_group()">
-                                <i class="fa fa-plus-circle"></i> Add group
+                            <a id="add-group-root" class="btn btn-default btn-sm add-group" href="#">
+                                <i class="fa fa-plus"></i> Add group
                             </a>
                         </div>
                     </div>
                 </div>
 
                 [% FOREACH root_group IN root_groups %]
-                    <table id="library-groups" class="tree">
+                    <table class="library-groups">
                         <tr>
                             <th>&nbsp;</th>
                             <th>Description</th>
+                            <th>Features enabled</th>
                             <th>&nbsp;</th>
                         </tr>
                         [% PROCESS tree group=root_group %]
         [% INCLUDE 'admin-menu.inc' %]
     </div>
 
-    <div id="add-group-modal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="add-group-modal-label" aria-hidden="true">
+    <div id="add-group-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="add-group-modal-label" aria-hidden="true">
         <form id="add-group-form" action="/cgi-bin/koha/admin/library_groups.pl" class="form-horizontal">
-            <div class="modal-header">
-                <h3 id="add-group-modal-label">Add group</h3>
-            </div>
-            <div class="modal-body">
-                <input type="hidden" id="add-group-modal-parent-id" name="parent_id" value="" />
-                <input type="hidden" id="add-group-modal-action" name="action" value="add">
-
-                <p>
-                    <label for="title">Title: </label>
-                    <input type="text" name="title" id="add-group-modal-title" required="required" />
-                    <i>required</i>
-                </p>
-
-                <p>
-                    <label for="description">Description: </label>
-                    <input type="text" name="description" id="add-group-modal-description" />
-                </p>
-            </div>
-            <div class="modal-footer">
-                <button type="submit" class="btn btn-primary">Save</button>
-                <button class="btn" data-dismiss="modal" aria-hidden="true">Cancel</button>
+            <div class="modal-dialog">
+                <div class="modal-content">
+                    <div class="modal-header">
+                        <h3 id="add-group-modal-label">Add group</h3>
+                    </div>
+                    <div class="modal-body">
+                        <input type="hidden" id="add-group-modal-parent-id" name="parent_id" value="" />
+                        <input type="hidden" id="add-group-modal-action" name="action" value="add">
+
+                        <p>
+                            <label for="add-group-modal-title">Title: </label>
+                            <input type="text" name="title" id="add-group-modal-title" required="required" />
+                            <i>required</i>
+                        </p>
+
+                        <p>
+                            <label for="add-group-modal-description">Description: </label>
+                            <input type="text" name="description" id="add-group-modal-description" />
+                        </p>
+                        <div id="root-group-features-add">
+                            <h3>Features</h3>
+                            <div class="checkbox">
+                                <label>
+                                    <input type="checkbox" name="ft_hide_patron_info" id="add-group-modal-ft_hide_patron_info" value="1" />
+                                    Limit patron data access by group
+                                </label>
+                                <p>
+                                <label>
+                                    <input type="checkbox" name="ft_search_groups_opac" id="add-group-modal-ft_search_groups_opac" value="1" />
+                                    Use for OPAC search groups
+                                </label>
+                                <p>
+                                <label>
+                                    <input type="checkbox" name="ft_search_groups_staff" id="add-group-modal-ft_search_groups_staff" value="1" />
+                                    Use for staff search groups
+                                </label>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="modal-footer">
+                        <button type="submit" class="btn btn-primary">Save</button>
+                        <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">Cancel</button>
+                    </div>
+                </div>
             </div>
         </form>
     </div>
 
-    <div id="edit-group-modal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="edit-library-modal-label" aria-hidden="true">
+    <div id="edit-group-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="edit-library-modal-label" aria-hidden="true">
         <form id="edit-group-form" action="/cgi-bin/koha/admin/library_groups.pl" class="form-horizontal">
-            <div class="modal-header">
-                <h3 id="edit-group-modal-label">Edit group</h3>
-            </div>
-            <div class="modal-body">
-                <input type="hidden" id="edit-group-modal-id" name="id" value="" />
-                <input type="hidden" id="edit-group-modal-action" name="action" value="edit" />
-
-                <p>
-                    <label for="title">Title: </label>
-                    <input type="text" id="edit-group-modal-title" name="title" value="" required="required" />
-                    <i>required</i>
-                </p>
-
-                <p>
-                    <label for="description">Description: </label>
-                    <input type="text" id="edit-group-modal-description" name="description" value="" />
-                </p>
-            </div>
-            <div class="modal-footer">
-                <button type="submit" class="btn btn-primary">Update</button>
-                <button class="btn" data-dismiss="modal" aria-hidden="true">Cancel</button>
+            <div class="modal-dialog">
+                <div class="modal-content">
+                    <div class="modal-header">
+                        <h3 id="edit-group-modal-label">Edit group</h3>
+                    </div>
+                    <div class="modal-body">
+                        <input type="hidden" id="edit-group-modal-id" name="id" value="" />
+                        <input type="hidden" id="edit-group-modal-action" name="action" value="edit" />
+
+                        <p>
+                            <label for="edit-group-modal-title">Title: </label>
+                            <input type="text" id="edit-group-modal-title" name="title" value="" required="required" />
+                            <i>required</i>
+                        </p>
+
+                        <p>
+                            <label for="edit-group-modal-description">Description: </label>
+                            <input type="text" id="edit-group-modal-description" name="description" value="" />
+                        </p>
+                        <div id="root-group-features-edit">
+                            <h3>Features</h3>
+                            <div class="checkbox">
+                                <label>
+                                    <input type="checkbox" id="edit-group-modal-ft_hide_patron_info" name="ft_hide_patron_info" value="1" />
+                                    Limit patron data access by group
+                                </label>
+                                <p>
+                                <label>
+                                    <input type="checkbox" id="edit-group-modal-ft_search_groups_opac" name="ft_search_groups_opac" value="1" />
+                                    Use for OPAC search groups
+                                </label>
+                                <p>
+                                <label>
+                                    <input type="checkbox" id="edit-group-modal-ft_search_groups_staff" name="ft_search_groups_staff" value="1" />
+                                    Use for staff search groups
+                                </label>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="modal-footer">
+                        <button type="submit" class="btn btn-primary">Update</button>
+                        <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">Cancel</button>
+                    </div>
+                </div>
             </div>
         </form>
     </div>
 
-    <div id="delete-group-modal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="delete-group-modal-label" aria-hidden="true">
+    <div id="delete-group-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="delete-group-modal-label" aria-hidden="true">
         <form action="/cgi-bin/koha/admin/library_groups.pl" />
-            <input id="delete-group-modal-action" type="hidden" name="action" value="delete" />
-            <input id="delete-group-modal-id" type="hidden" name="id" value="" />
-            <div class="modal-header">
-                <h3 id="delete-group-modal-label">Delete group or library</h3>
-            </div>
-            <div class="modal-body">
-                Are you sure you want to delete this?
-            </div>
-            <div class="modal-footer">
-                <button type="submit" class="btn btn-danger"><i class="fa fa-trash"></i> Delete</button>
-                <button class="btn" data-dismiss="modal" aria-hidden="true">Cancel</button>
+            <div class="modal-dialog">
+                <div class="modal-content">
+                    <input id="delete-group-modal-action" type="hidden" name="action" value="delete" />
+                    <input id="delete-group-modal-id" type="hidden" name="id" value="" />
+                    <div class="modal-header">
+                        <h3 id="delete-group-modal-label">Delete group</h3>
+                    </div>
+                    <div class="modal-body">
+                        Are you sure you want to delete <span id="delete-group-modal-title" class="name"></span>?
+                    </div>
+                    <div class="modal-footer">
+                        <button type="submit" class="btn btn-danger"><i class="fa fa-trash"></i> Delete</button>
+                        <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">Cancel</button>
+                    </div>
+                </div>
             </div>
         </form>
     </div>
 
-    <div id="remove-library-modal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="remove-library-modal-label" aria-hidden="true">
+    <div id="remove-library-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="remove-library-modal-label" aria-hidden="true">
         <form action="/cgi-bin/koha/admin/library_groups.pl" />
-            <input id="remove-library-modal-action" type="hidden" name="action" value="delete" />
-            <input id="remove-library-modal-id" type="hidden" name="id" value="" />
-            <div class="modal-header">
-                <h3 id="remove-library-modal-label">Remove library from group</h3>
-            </div>
-            <div class="modal-body">
-                Are you sure you want to remove this library?
-            </div>
-            <div class="modal-footer">
-                <button type="submit" class="btn btn-danger"><i class="fa fa-minus-circle"></i> Remove</button>
-                <button class="btn" data-dismiss="modal" aria-hidden="true">Cancel</button>
+            <div class="modal-dialog">
+                <div class="modal-content">
+                    <input id="remove-library-modal-action" type="hidden" name="action" value="delete" />
+                    <input id="remove-library-modal-id" type="hidden" name="id" value="" />
+                    <div class="modal-header">
+                        <h3 id="remove-library-modal-label">Remove library from group</h3>
+                    </div>
+                    <div class="modal-body">
+                        Are you sure you want to remove <span id="remove-library-modal-library" class="name"></span> from <span id="remove-library-modal-group" class="name"><span>?
+                    </div>
+                    <div class="modal-footer">
+                        <button type="submit" class="btn btn-danger"><i class="fa fa-trash"></i> Remove</button>
+                        <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">Cancel</button>
+                    </div>
+                </div>
             </div>
         </form>
     </div>
 [% INCLUDE 'intranet-bottom.inc' %]
 
 [% BLOCK tree %]
-    <tr class="treegrid-[% group.id %] treegrid-parent-[% group.parent_id %]">
+    <tr data-tt-id="[% group.id %]" data-tt-parent-id="[% group.parent_id %]">
         <td>
             [% IF group.branchcode %]
-                <i class="fa fa-home"></i> [% group.branchcode %]
+                [% group.branchcode %]
             [% ELSE %]
-                <i class="fa fa-object-group"></i> [% group.title %]
+                [% group.title %]
             [% END %]
         </td>
         <td>
                 [% group.description %]
             [% END %]
         </td>
+        <td>
+            [% UNLESS group.branchcode %]
+              <ul>
+                [% IF group.ft_hide_patron_info %]
+                    <li>Hide patron's info for librarians outside of this group.</li>
+                [% END %]
+                [% IF group.ft_search_groups_opac %]
+                    <li>Use for OPAC search groups</li>
+                [% END %]
+                [% IF group.ft_search_groups_staff %]
+                    <li>Use for staff search groups</li>
+                [% END %]
+              </ul>
+            [% END %]
+        </td>
         <td>
             [% IF group.branchcode %]
-                <button class="btn btn-small delete-library" onclick="remove_library([% group.id %])"><i class="fa fa-minus-circle"></i> Remove from group</button>
+                <button class="btn btn-default btn-sm remove-library" data-group-id="[% group.id %]" data-group-library="[% group.library.branchname %]" data-group-parent-title="[% group.parent.title %]" ><i class="fa fa-trash"></i> Remove from group</button>
             [% ELSE %]
                 <div class="btn-group">
-                    <button class="btn btn-small dropdown-toggle" data-toggle="dropdown"><i class="fa fa-wrench"></i> Actions <span class="caret"></span></button>
+                    <button class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown"><i class="fa fa-wrench"></i> Actions <span class="caret"></span></button>
                     <ul class="dropdown-menu">
                         <li>
-                            <a id="add-group-[% group.id %]" href="#" onclick="add_group([% group.id %])">
-                                <i class="fa fa-plus-circle"></i> Add sub-group
+                            <a id="add-group-[% group.id %]" href="#" class="add-group" data-group-id="[% group.id %]">
+                                <i class="fa fa-plus"></i> Add sub-group
                             </a>
                        </li>
 
                         <li>
-                            <a class="delete-group" id="delete-group-[% group.id %]" href="#" onclick="edit_group([% group.id %], '[% group.title | replace('\'', '\\\'') | html %]', '[% group.description | replace('\'', '\\\'') | html %]')">
-                                <i class="fa fa-edit"></i> Edit
+                            <a class="edit-group" id="edit-group-[% group.id %]" href="#" class="edit-group" data-group-id="[% group.id %]" data-group-parent-id="[% group.parent_id %]" 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 %]" >
+                                <i class="fa fa-pencil"></i> Edit
                             </a>
                        </li>
 
                         <li>
-                            <a class="delete-group" id="delete-group-[% group.id %]" href="#" onclick="delete_group([% group.id %])">
+                            <a class="delete-group" id="delete-group-[% group.id %]" href="#" class="delete-group" data-group-id="[% group.id %]" data-group-title="[% group.title | html %]">
                                 <i class="fa fa-trash"></i> Delete
                             </a>
                        </li>
                 </div>
 
                 <div class="btn-group">
-                    <button class="btn btn-small dropdown-toggle" data-toggle="dropdown"><i class="fa fa-home"></i> Add library <span class="caret"></span></button>
+                    <button class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown"><i class="fa fa-plus"></i> Add library <span class="caret"></span></button>
                     <ul class="dropdown-menu">
                         [% FOREACH library IN group.libraries_not_direct_children %]
                             <li>