662bde0151aff452e8dd968b47d166c490f0e84d
[working/Evergreen.git] / Open-ILS / xul / staff_client / server / admin / org_unit_settings.xhtml
1 <?xml version='1.0' encoding="UTF-8"?>
2 <!-- 
3 # Copyright (C) 2008  Georgia Public Library Service
4 # Bill Erickson <erickson@esilibrary.com>
5 # This program is free software; you can redistribute it and/or
6 # modify it under the terms of the GNU General Public License
7 # as published by the Free Software Foundation; either version 2
8 # of the License, or (at your option) any later version.
9
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 # GNU General Public License for more details.
14 -->
15
16 <!DOCTYPE html PUBLIC 
17     "-//W3C//DTD XHTML 1.0 Transitional//EN" 
18     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" [
19     <!--#include virtual="/opac/locale/${locale}/lang.dtd"-->
20 ]>
21
22 <html xmlns='http://www.w3.org/1999/xhtml'>
23     <head>
24         <title>&staff.server.admin.org_unit_settings.title;</title>
25         <link type='text/css' rel='stylesheet' href='admin.css' />
26         <script type="text/javascript" src='/IDL2js?aou,aout,pgt,au,coust,aous,csg,coustl' />
27         <script type="text/javascript" djConfig="parseOnLoad: true,isDebug:false" src="/js/dojo/dojo/dojo.js" />
28         <script type="text/javascript" djConfig="parseOnLoad: true,isDebug:false" src="/js/dojo/dojo/openils_dojo.js" />
29         <script type="text/javascript" src='org_unit_settings.js' />
30         <script type="text/javascript" src="/xul/server/util/clipboard.js" />
31         <style type="text/css">
32             h2 {
33                 display:inline;
34                 padding:5px;
35             } 
36             
37             .form_table textarea {
38                 width:500px;
39                 height:15em;
40             }
41             
42             #searchform {
43                 display:inline;
44             }
45             
46             .message {
47                 float:left;
48                 left:-50%;
49                 text-align:center;
50                 
51                 padding:5px;
52                 
53                 position:relative;
54                 background-color:#D9E8F9;
55                 
56                 /*Standards compliant*/
57                 border-bottom-left-radius:5px;
58                 border-bottom-right-radius:5px;                
59             }
60             
61             .message_container {
62                 float:left;
63                 left:50%;
64                 top:0%;
65                 position: absolute;
66                 opacity:0;
67             }
68             
69         </style>
70     </head>
71
72     <body class='tundra tall'>
73         <div dojoType='dijit.layout.LayoutContainer' orientation='vertical' class='tall'>
74             <div dojoType='dijit.layout.ContentPane' layoutAlign='top'>
75                 <div id="toolbar1" dojoType="dijit.Toolbar">
76                     <h2>&staff.server.admin.org_unit_settings.title;</h2>
77                     
78                     <span dojoType="dijit.ToolbarSeparator" ></span>
79                     
80                     <span>&staff.server.admin.org_unit_settings.context_loc;</span>
81                     <select dojoType='openils.widget.OrgUnitFilteringSelect' jsId='osContextSelector'
82                             searchAttr='shortname' autocomplete='true' labelAttr='shortname' onchange='osChangeContext();' />
83                     
84                     <span dojoType="dijit.ToolbarSeparator" ></span>
85                     
86                     <form id='searchform' onSubmit='return doSearch()'>
87                             <input type='text' dojoType='dijit.form.TextBox' id='searchBox' onkeypress='osSearchChange();' />
88                             <button type='submit' dojoType='dijit.form.Button'>&staff.server.admin.org_unit_settings.filter;</button>
89                             <button dojoType='dijit.form.Button' onClick='clearSearch();'>&staff.server.admin.org_unit_settings.clear_filter;</button>
90                     </form>
91                     
92                     <span dojoType="dijit.ToolbarSeparator" ></span>
93
94                     <button dojoType='dijit.form.Button' onClick='osToJson();'>&staff.server.admin.org_unit_settings.export;</button>
95                     <button dojoType='dijit.form.Button' onClick='osFromJson();'>&staff.server.admin.org_unit_settings.import;</button>
96                 </div>
97                 <span>&staff.server.admin.org_unit_settings.uninherited;</span>
98             </div>
99             <div dojoType="dijit.layout.ContentPane" layoutAlign='client'>
100                 <div class='hide_me' id='no-perms'><b>&staff.server.admin.org_unit_settings.no_perms;</b></div>
101             </div>
102             <div dojoType="dijit.layout.ContentPane" layoutAlign='client' class='tall'>
103                 <script>
104                     var osGridLayout = [{
105                         defaultCell: {styles: 'text-align: center;'},
106                         cells : [[
107                             {   name: '&staff.server.admin.org_unit_settings.edit;', 
108                                 value: '&lt;a href=&quot;javascript:void(0);&quot; onclick=&quot;osLaunchEditor(\'SETTING\');&quot;>&staff.server.admin.org_unit_settings.edit;&lt;/a>',
109                                 get: osGetEditLink, 
110                                 formatter : osFormatEditLink
111                             },
112                             {   name: '&staff.server.admin.org_unit_settings.history;', 
113                                 value: '&lt;a href=&quot;javascript:void(0);&quot; onclick=&quot;osLaunchHistory(\'SETTING\');&quot;>&staff.server.admin.org_unit_settings.history;&lt;/a>',
114                                 get: osGetHistoryLink, 
115                                 formatter : osFormatHistoryLink
116                             },
117                             {name: '&staff.server.admin.org_unit_settings.group;', get: osGetGridData, field:'grp'},
118                             {name: '&staff.server.admin.org_unit_settings.setting;', get: osGetGridData, field:'label', width:'auto', styles:'text-align:left;'},
119                             {name: '&staff.server.admin.org_unit_settings.context;', get: osGetGridData, field:'context'},
120                             {name: '&staff.server.admin.org_unit_settings.value;', get: osGetGridData, field:'value'},
121                         ]]
122                     }];
123                 </script>
124                 <div dojoType='dojox.Grid' jsId='osGrid' ></div>
125             </div>
126         </div>
127
128         <!-- edit dialog -->
129         <div dojoType="dijit.Dialog" jsId='osEditDialog' title="&staff.server.admin.org_unit_settings.edit_setting;">
130             <table class='form_table'>
131                 <thead>
132                     <tr><td colspan='2' align='center'><div id='os-edit-name'></div></td></tr>
133                     <tr><td colspan='2' align='center'><div id='os-edit-desc' style='max-width:600px;'></div></td></tr>
134                 </thead>
135                 <tbody>
136                     <tr>
137                         <td>&staff.server.admin.org_unit_settings.context;</td>
138                         <td> 
139                             <select dojoType="openils.widget.OrgUnitFilteringSelect" jsId='osEditContextSelector'
140                                 searchAttr="shortname" autocomplete="true" labelAttr='shortname' />
141                         </td>
142                     </tr>
143                     <tr>
144                         <td>&staff.server.admin.org_unit_settings.value;</td>
145                         <td>
146                             <input dojoType='dijit.form.TextBox' jsId='osEditTextBox'/>
147                             <input dojoType='dijit.form.CurrencyTextBox' jsId='osEditCurrencyTextBox'/>
148                             <input dojoType='dijit.form.NumberTextBox' jsId='osEditNumberTextBox'/>
149                             <select dojoType='dijit.form.FilteringSelect' jsId='osEditBoolSelect'>
150                                 <option value='true'>&common.true;</option>
151                                 <option value='false'>&common.false;</option>
152                             </select>
153                             <div id='os-edit-auto-widget'></div>
154                         </td>
155                     </tr>
156                     <tr>
157                         <td> 
158                             <button dojoType='dijit.form.Button' onclick='osEditSetting(true);'>&staff.server.admin.org_unit_settings.delete_setting;</button>
159                         </td>
160                         <td> 
161                             <button dojoType='dijit.form.Button' onclick='osEditSetting();'>&staff.server.admin.org_unit_settings.update_setting;</button>
162                         </td>
163                     </tr>
164                 </tbody>
165             </table>
166         </div> <!-- /edit dialog -->
167         
168         <div dojoType="openils.widget.ProgressDialog" jsId="progressDialog" indeterminate="true" ></div>
169         
170         <!--i18n, use the &translation; here, then grab innerHTML in JS later.-->
171         <div id='proci18n' class='hidden'>&staff.server.admin.org_unit_settings.processing;</div>
172         <div id='noresults' class='hidden'>&staff.server.admin.org_unit_settings.no_results;</div>
173         <span id='os-true' class='hidden'>&common.true;</span>
174         <span id='os-false' class='hidden'>&common.false;</span>
175         <span id='os-copy' class='hidden'>&staff.server.admin.org_unit_settings.copy;</span>
176         <span id='os-revert' class='hidden'>&staff.server.admin.org_unit_settings.history_revert;</span>
177         <span id='os-not-chosen' class='hidden'>&staff.server.admin.org_unit_settings.not_chosen;</span>
178         
179         <!--Export Dialog-->
180         <div id='jsonOutputDialog' dojoType='dijit.Dialog' jsId='osJSONOutDialog' title='&staff.server.admin.org_unit_settings.export;'>
181             <table class='form_table'>
182                 <tr><td>&staff.server.admin.org_unit_settings.export_copy_label;</td></tr>
183                 <tr><td><textarea id='jsonOutput' /></td></tr>
184                 <tr><td><button dojoType='dijit.form.Button' onclick='osJsonOutputCopy();'>&staff.server.admin.org_unit_settings.copy;</button></td></tr>
185             </table>
186         </div>
187         
188         <!--Import Dialog-->
189         <div id='jsonInputDialog' dojoType='dijit.Dialog' jsId='osJSONInDialog' title='&staff.server.admin.org_unit_settings.import;'>
190             <table class='form_table'>
191                 <tr><td>&staff.server.admin.org_unit_settings.import_paste_label;</td></tr>
192                 <tr><td><textarea id='jsonInput' /></td></tr>
193                 <tr><td><button dojoType='dijit.form.Button' onclick='osJsonInputPaste();'>&staff.server.admin.org_unit_settings.paste;</button><button type='submit'  dojoType='dijit.form.Button' onclick='osFromJsonSubmit();'>&staff.server.admin.org_unit_settings.submit;</button></td></tr>
194             </table>
195         </div>
196         
197         <!--History Dialog-->
198         <div id="historyDialog" dojoType="dijit.Dialog" jsId="osHistDialog" title="&staff.server.admin.org_unit_settings.history;">
199             <span id='osHistName' ></span>
200             
201             <!--Headers grabbed from this table are put in the next one by the js.-->
202             <table id="histTitle" class="hidden">
203                 <tr>
204                     <td>&staff.server.admin.org_unit_settings.history_date;</td>
205                     <td>&staff.server.admin.org_unit_settings.history_unit;</td>
206                     <td>&staff.server.admin.org_unit_settings.history_orig;</td>
207                     <td>&staff.server.admin.org_unit_settings.history_new;</td>
208                 </tr>
209             </table>
210             
211             <table class="form_table" id="historyData" />
212         </div>
213         
214         <!--Displays alerts at the top of the screen, much nicer than alert() or dojo equiv.-->
215         <div class="message_container" id="msgCont">
216             <div class="message" id='msgInner' ></div>
217         </div>
218     </body>
219 </html>