merging admin interface from the dojo-admin branch
[Evergreen.git] / Open-ILS / web / conify / global / actor / org_unit_type.js
1 /*
2 # ---------------------------------------------------------------------------
3 # Copyright (C) 2008  Georgia Public Library Service / Equinox Software, Inc
4 # Mike Rylander <miker@esilibrary.com>
5
6 # This program is free software; you can redistribute it and/or
7 # modify it under the terms of the GNU General Public License
8 # as published by the Free Software Foundation; either version 2
9 # of the License, or (at your option) any later version.
10
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 # GNU General Public License for more details.
15 # ---------------------------------------------------------------------------
16 */
17
18 dojo.require('fieldmapper.dojoData');
19 dojo.require('dojo.parser');
20 dojo.require('dojo.data.ItemFileWriteStore');
21 dojo.require('dojo.date.stamp');
22 dojo.require('dijit.form.NumberSpinner');
23 dojo.require('dijit.form.TextBox');
24 dojo.require('dijit.form.TimeTextBox');
25 dojo.require('dijit.form.ValidationTextBox');
26 dojo.require('dijit.form.CheckBox');
27 dojo.require('dijit.form.FilteringSelect');
28 dojo.require('dijit.Tree');
29 dojo.require('dijit.layout.ContentPane');
30 dojo.require('dijit.layout.TabContainer');
31 dojo.require('dijit.layout.LayoutContainer');
32 dojo.require('dijit.layout.SplitContainer');
33 dojo.require('dojox.widget.Toaster');
34 dojo.require('dojox.fx');
35
36 // some handy globals
37 var cgi = new CGI();
38 var cookieManager = new HTTP.Cookies();
39 var ses = cookieManager.read('ses') || cgi.param('ses');
40 var pCRUD = new OpenSRF.ClientSession('open-ils.permacrud');
41
42 var current_type;
43 var virgin_out_id = -1;
44
45 var highlighter = {};
46
47 function status_update (markup) {
48         if (parent !== window && parent.status_update) parent.status_update( markup );
49 }
50
51 function save_type () {
52
53         var modified_aout = new aout().fromStoreItem( current_type );
54         modified_aout.ischanged( 1 );
55
56         new_kid_button.disabled = false;
57         save_out_button.disabled = false;
58         delete_out_button.disabled = false;
59
60         pCRUD.request({
61                 method : 'open-ils.permacrud.update.aout',
62                 timeout : 10,
63                 params : [ ses, modified_aout ],
64                 onerror : function (r) {
65                         highlighter.editor_pane.red.play();
66                         status_update( 'Problem saving data for ' + ou_type_store.getValue( current_type, 'name' ) );
67                 },
68                 oncomplete : function (r) {
69                         var res = r.recv();
70                         if ( res && res.content() ) {
71                                 ou_type_store.setValue( current_type, 'ischanged', 0 );
72                                 highlighter.editor_pane.green.play();
73                                 status_update( 'Saved changes to ' + ou_type_store.getValue( current_type, 'name' ) );
74                         } else {
75                                 highlighter.editor_pane.red.play();
76                                 status_update( 'Problem saving data for ' + ou_type_store.getValue( current_type, 'name' ) );
77                         }
78                 },
79         }).send();
80 }
81