plugged in marc edit functionality for lineitems
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 26 Mar 2009 19:22:00 +0000 (19:22 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 26 Mar 2009 19:22:00 +0000 (19:22 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@12695 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/web/js/ui/default/acq/common/li_table.js
Open-ILS/web/templates/default/acq/common/li_table.tt2

index 1a1db2a..06f059c 100644 (file)
@@ -166,12 +166,16 @@ function AcqLiTable() {
     };
 
     this._drawInfo = function(li) {
+
+        acqLitEditMarc.onClick = function() { self.editMarc(li); }
         this.drawMarcHTML(li);
         this.infoTbody = dojo.byId('acq-lit-info-tbody');
+
         if(!this.infoRow)
             this.infoRow = this.infoTbody.removeChild(dojo.byId('acq-lit-info-row'));
         while(this.infoTbody.childNodes[0])
             this.infoTbody.removeChild(this.infoTbody.childNodes[0]);
+
         for(var i = 0; i < li.attributes().length; i++) {
             var attr = li.attributes()[i];
             var row = this.infoRow.cloneNode(true);
@@ -407,6 +411,37 @@ function AcqLiTable() {
             }
         );
     }
+
+    this.editMarc = function(li) {
+
+        /*  To run in Firefox directly, must set signed.applets.codebase_principal_support
+            to true in about:config */
+
+        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
+        win = window.open('/xul/server/cat/marcedit.xul'); // XXX version?
+
+        var self = this;
+        win.xulG = {
+            record : {marc : li.marc()},
+            save : {
+                label: 'Save Record', // XXX I18N
+                func: function(xmlString) {
+                    li.marc(xmlString);
+                    fieldmapper.standardRequest(
+                        ['open-ils.acq', 'open-ils.acq.lineitem.update'],
+                        {   async: true,
+                            params: [openils.User.authtoken, li],
+                            oncomplete: function(r) {
+                                openils.Util.readResponse(r);
+                                win.close();
+                                self.drawInfo(li.id())
+                            }
+                        }
+                    );
+                },
+            }
+        };
+    }
 }
 
 
index ad526af..f36c9ef 100644 (file)
@@ -78,6 +78,9 @@
         </table>
         <div style='margin-top:40px;'>
             <h3>MARC Record</h3>
+            <div>
+                <div dojoType='dijit.form.Button' jsId='acqLitEditMarc'>Edit MARC Record</div>
+            </div>
             <div id='acq-lit-marc-div' style='margin-top:20px;'> </div>
         </div>
     </div>