[open-ils-commits] r11734 - in trunk/Open-ILS/xul/staff_client: chrome/content/main server/locale/en-US server/patron

svn at svn.open-ils.org svn at svn.open-ils.org
Fri Jan 2 16:17:13 EST 2009


Author: phasefx
Date: 2009-01-02 16:17:09 -0500 (Fri, 02 Jan 2009)
New Revision: 11734

Modified:
   trunk/Open-ILS/xul/staff_client/chrome/content/main/constants.js
   trunk/Open-ILS/xul/staff_client/server/locale/en-US/patron.properties
   trunk/Open-ILS/xul/staff_client/server/patron/display.js
   trunk/Open-ILS/xul/staff_client/server/patron/standing_penalties.js
   trunk/Open-ILS/xul/staff_client/server/patron/standing_penalties.xul
   trunk/Open-ILS/xul/staff_client/server/patron/util.js
Log:
applying penalties.  Need to rework how those embedded interfaces refresh and share patron data

Modified: trunk/Open-ILS/xul/staff_client/chrome/content/main/constants.js
===================================================================
--- trunk/Open-ILS/xul/staff_client/chrome/content/main/constants.js	2009-01-02 21:15:48 UTC (rev 11733)
+++ trunk/Open-ILS/xul/staff_client/chrome/content/main/constants.js	2009-01-02 21:17:09 UTC (rev 11734)
@@ -132,6 +132,7 @@
 	'FM_AUN_DELETE' : { 'app' : 'open-ils.actor', 'method' : 'open-ils.actor.note.delete' },
 	'FM_AUS_RETRIEVE' : { 'app' : 'open-ils.actor', 'method' : 'open-ils.actor.patron.settings.retrieve' },
 	'FM_AUS_UPDATE' : { 'app' : 'open-ils.actor', 'method' : 'open-ils.actor.patron.settings.update' },
+	'FM_AUSP_APPLY' : { 'app' : 'open-ils.actor', 'method' : 'open-ils.actor.user.penalty.apply' },
 	'FM_BRE_RETRIEVE_VIA_ID' : { 'app' : 'open-ils.cat', 'method' : 'open-ils.cat.biblio.record.metadata.retrieve', 'secure' : false },
 	'FM_BRE_RETRIEVE_VIA_ID.authoritative' : { 'app' : 'open-ils.cat', 'method' : 'open-ils.cat.biblio.record.metadata.retrieve.authoritative', 'secure' : false },
 	'FM_BRE_ID_SEARCH_VIA_BARCODE' : { 'app' : 'open-ils.search', 'method' : 'open-ils.search.biblio.find_by_barcode', 'secure' : false },

Modified: trunk/Open-ILS/xul/staff_client/server/locale/en-US/patron.properties
===================================================================
--- trunk/Open-ILS/xul/staff_client/server/locale/en-US/patron.properties	2009-01-02 21:15:48 UTC (rev 11733)
+++ trunk/Open-ILS/xul/staff_client/server/locale/en-US/patron.properties	2009-01-02 21:17:09 UTC (rev 11734)
@@ -242,6 +242,9 @@
 staff.patron.summary.patron_net_access=Internet
 staff.patron.summary.expires_on=Expires on
 staff.patron.summary.standing_penalty.remove=Remove
+staff.patron.standing_penalty.note_prompt=Enter note to go with penalties:
+staff.patron.standing_penalty.note_title=Apply Penalty
+staff.patron.standing_penalty.apply_error=Error applying %1$s block/standing penalty.
 staff.patron.ue.uEditInit.session_no_defined=User session is not defined
 staff.patron.ue.uEditSaveuser.error_creating_note=Error creating patron guardian or parent note
 staff.patron.ue.uEditShowSearch.search=Search would be:\n%1$s

Modified: trunk/Open-ILS/xul/staff_client/server/patron/display.js
===================================================================
--- trunk/Open-ILS/xul/staff_client/server/patron/display.js	2009-01-02 21:15:48 UTC (rev 11733)
+++ trunk/Open-ILS/xul/staff_client/server/patron/display.js	2009-01-02 21:17:09 UTC (rev 11734)
@@ -54,7 +54,7 @@
 
 						netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
 						obj.summary_window.g.summary.controller.render('patron_checkouts');
-						obj.summary_window.g.summary.controller.render('patron_standing');
+						obj.summary_window.g.summary.controller.render('patron_standing_penalties');
 						if (obj.items_window) {
 							obj.items_window.g.items.list.append(
 								{
@@ -164,7 +164,7 @@
 									'on_list_change' : function(b) {
 										netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
 										obj.summary_window.g.summary.controller.render('patron_checkouts');
-										obj.summary_window.g.summary.controller.render('patron_standing');
+										obj.summary_window.g.summary.controller.render('patron_standing_penalties');
 										obj.summary_window.g.summary.controller.render('patron_bill');
 										obj.bill_window.g.bills.refresh(true);
 									},
@@ -286,7 +286,7 @@
 									'on_list_change' : function(h) {
 										netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
 										//obj.summary_window.g.summary.controller.render('patron_holds');
-										//obj.summary_window.g.summary.controller.render('patron_standing');
+										//obj.summary_window.g.summary.controller.render('patron_standing_penalties');
 										obj.refresh_all();
 									},
 									'url_prefix' : xulG.url_prefix,
@@ -363,13 +363,19 @@
                     'cmd_standing_penalties' : [
                         ['command'],
                         function() {
-                            var vframe = obj.right_deck.reset_iframe(
-                                urls.XUL_STANDING_PENALTIES,
-                                {},
-                                {
-                                    'patron' : obj.patron,
-                                }
-                            );
+                            function penalty_interface() {
+                                return obj.right_deck.reset_iframe(
+                                    urls.XUL_STANDING_PENALTIES,
+                                    {},
+                                    {
+                                        'patron' : obj.patron,
+                                        'refresh' : function() { 
+                                            obj.refresh_all(); 
+                                        }
+                                    }
+                                );
+                            }
+                            penalty_interface();
                         } 
                     ]
 				}

Modified: trunk/Open-ILS/xul/staff_client/server/patron/standing_penalties.js
===================================================================
--- trunk/Open-ILS/xul/staff_client/server/patron/standing_penalties.js	2009-01-02 21:15:48 UTC (rev 11733)
+++ trunk/Open-ILS/xul/staff_client/server/patron/standing_penalties.js	2009-01-02 21:17:09 UTC (rev 11734)
@@ -15,6 +15,7 @@
 		JSAN.use('OpenILS.data'); var data = new OpenILS.data(); data.stash_retrieve();
         XML_HTTP_SERVER = data.server_unadorned;
 
+        JSAN.use('util.error'); var error = new util.error();
         JSAN.use('util.network'); var net = new util.network();
         JSAN.use('patron.util'); JSAN.use('util.list'); JSAN.use('util.functional');
 
@@ -39,13 +40,15 @@
         );
 
         for (var i = 0; i < data.list.csp.length; i++) {
-            if (data.list.csp[i].id() >= 100 ) {
+            if (data.list.csp[i].id() > 100 ) {
+            //if (true) {
                 list.append(
                     {
                         'row' : {
                             'my' : {
                                 'csp' : data.list.csp[i],
-                                'au' : xulG.patron
+                                'au' : xulG.patron,
+                                'ausp' : util.functional.find_list( xulG.patron.standing_penalties(), function(o) { dump(js2JSON(o) + '\n'); return o.standing_penalty().id() == data.list.csp[i].id(); } )
                             }
                         }
                     }
@@ -53,6 +56,50 @@
             }
         };
 
+        document.getElementById('cmd_apply_penalty').addEventListener(
+            'command',
+            function() {
+                var sel = list.retrieve_selection();
+                var ids = util.functional.map_list( sel, function(o) { return JSON2js( o.getAttribute('retrieve_id') ); } );
+                if (ids.length > 0) {
+
+                    var note = window.prompt(patronStrings.getString('staff.patron.standing_penalty.note_prompt'),'',patronStrings.getString('staff.patron.standing_penalty.note_title'));
+
+                    function gen_func(id) {
+                        return function() {
+                            var penalty = new ausp();
+                            penalty.usr( xulG.patron.id() );
+                            penalty.isnew( 1 );
+                            penalty.standing_penalty( id );
+                            penalty.org_unit( ses('ws_ou') );
+                            penalty.note( note );
+                            var req = net.simple_request( 'FM_AUSP_APPLY', [ ses(), penalty ] );
+                            if (typeof req.ilsevent != 'undefined' || String(req) != '1') {
+                                error.standard_unexpected_error_alert(patronStrings.getFormattedString('staff.patron.standing_penalty.apply_error',[data.hash.csp[id].name()]),req);
+                            }
+                        }; 
+                    }
+
+                    var funcs = [];
+                    for (var i = 0; i < ids.length; i++) {
+                        funcs.push( gen_func(ids[i]) );
+                    } 
+                    funcs.push(
+                        function() {
+                            if (xulG && typeof xulG.refresh == 'function') {
+                                xulG.refresh();
+                            }
+                            document.getElementById('progress').hidden = true;
+                        }
+                    );
+                    document.getElementById('progress').hidden = false;
+                    JSAN.use('util.exec'); var exec = new util.exec();
+                    exec.chain(funcs);
+                }
+            },
+            false
+        );
+
     } catch(E) {
         alert(E);
     }

Modified: trunk/Open-ILS/xul/staff_client/server/patron/standing_penalties.xul
===================================================================
--- trunk/Open-ILS/xul/staff_client/server/patron/standing_penalties.xul	2009-01-02 21:15:48 UTC (rev 11733)
+++ trunk/Open-ILS/xul/staff_client/server/patron/standing_penalties.xul	2009-01-02 21:17:09 UTC (rev 11734)
@@ -42,6 +42,7 @@
 		<caption id="penalty_caption" label="&staff.patron_display.penalty.caption;"/>
         <vbox flex="0">
             <hbox flex="1">
+                <progressmeter id="progress" flex="1" hidden="true" mode="undetermined"/>
                 <spacer flex="1"/>
                 <menubar>
                     <menu label="&staff.patron_display.penalty.menu.actions.label;" accesskey="&staff.patron_display.penalty.menu.actions.accesskey;">

Modified: trunk/Open-ILS/xul/staff_client/server/patron/util.js
===================================================================
--- trunk/Open-ILS/xul/staff_client/server/patron/util.js	2009-01-02 21:15:48 UTC (rev 11733)
+++ trunk/Open-ILS/xul/staff_client/server/patron/util.js	2009-01-02 21:17:09 UTC (rev 11734)
@@ -314,19 +314,19 @@
         },
 		{
 			'persist' : 'hidden width ordinal', 'id' : 'ausp_set_date', 'label' : commonStrings.getString('staff.ausp_set_date_label'), 'flex' : 1,
-			'primary' : false, 'hidden' : true, 'render' : function(my) { 
+			'primary' : false, 'hidden' : false, 'render' : function(my) { 
                 return my.ausp ? my.ausp.set_date() : '';
             }
         },
 		{
 			'persist' : 'hidden width ordinal', 'id' : 'ausp_note', 'label' : commonStrings.getString('staff.ausp_note_label'), 'flex' : 1,
-			'primary' : false, 'hidden' : true, 'render' : function(my) { 
+			'primary' : false, 'hidden' : false, 'render' : function(my) { 
                 return my.ausp ? my.ausp.note() : '';
             }
         },
 		{
 			'persist' : 'hidden width ordinal', 'id' : 'ausp_org_unit', 'label' : commonStrings.getString('staff.ausp_org_unit_label'), 'flex' : 1,
-			'primary' : false, 'hidden' : true, 'render' : function(my) { 
+			'primary' : false, 'hidden' : false, 'render' : function(my) { 
                 return my.ausp ? data.hash.aou[ my.ausp.org_unit() ].shortname() : '';
             }
         }



More information about the open-ils-commits mailing list