2 # ---------------------------------------------------------------------------
3 # Copyright (C) 2008 Georgia Public Library Service / Equinox Software, Inc
4 # Mike Rylander <miker@esilibrary.com>
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.
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 # ---------------------------------------------------------------------------
18 dojo.require('fieldmapper.AutoIDL');
19 dojo.require('fieldmapper.dojoData');
20 dojo.require('openils.widget.TranslatorPopup');
21 dojo.require('dojo.parser');
22 dojo.require('dojo.string');
23 dojo.require('dojo.data.ItemFileWriteStore');
24 dojo.require('dijit.form.TextBox');
25 dojo.require('dijit.form.ValidationTextBox');
26 dojo.require('dijit.form.Textarea');
27 dojo.require('dijit.layout.ContentPane');
28 dojo.require('dijit.layout.LayoutContainer');
29 dojo.require('dijit.layout.BorderContainer');
30 dojo.require('dojox.widget.Toaster');
31 dojo.require('dojox.fx');
32 dojo.require('dojox.grid.Grid');
33 dojo.requireLocalization("openils.conify", "conify");
37 var cookieManager = new HTTP.Cookies();
38 var ses = cookieManager.read('ses') || cgi.param('ses');
39 var pCRUD = new OpenSRF.ClientSession('open-ils.permacrud');
42 var virgin_out_id = -1;
44 var ccs_strings = dojo.i18n.getLocalization('openils.conify', 'conify');
48 function status_update (markup) {
49 if (parent !== window && parent.status_update) parent.status_update( markup );
52 function save_status () {
54 var modified_ccs = new ccs().fromStoreItem( current_status );
55 modified_ccs.ischanged( 1 );
58 method : 'open-ils.permacrud.update.ccs',
60 params : [ ses, modified_ccs ],
61 onerror : function (r) {
62 highlighter.red.play();
63 status_update( dojo.string.substitute(ccs_strings.ERROR_SAVING_STATUS, [status_store.getValue( current_status, 'name' )]) );
65 oncomplete : function (r) {
67 if ( res && res.content() ) {
68 status_store.setValue( current_status, 'ischanged', 0 );
69 highlighter.green.play();
70 status_update( dojo.string.substitute(ccs_strings.SUCCESS_SAVE, [status_store.getValue( current_status, 'name' )]) );
72 highlighter.red.play();
73 status_update( dojo.string.substitute(ccs_strings.ERROR_SAVING_STATUS, [status_store.getValue( current_status, 'name' )]) );
79 function save_them_all (event) {
82 query : { ischanged : 1 },
83 onItem : function (item, req) { try { if (this.isItem( item )) window.dirtyStore.push( item ); } catch (e) { /* meh */ } },
87 var confirmation = true;
90 if (event && dirtyStore.length > 0) {
91 confirmation = confirm(
92 ccs_strings.CONFIRM_EXIT_CCS
97 for (var i in window.dirtyStore) {
98 window.current_status = window.dirtyStore[i];
102 window.dirtyStore = [];
106 dojo.addOnUnload( save_them_all );