added search result to named picklist action
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 23 May 2008 02:18:07 +0000 (02:18 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 23 May 2008 02:18:07 +0000 (02:18 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/branches/acq-experiment@9683 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/web/js/dojo/openils/acq/Picklist.js
Open-ILS/web/oilsweb/oilsweb/public/oils/media/ui_js/oils/default/acq/picklist/bib_search.js
Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/picklist/bib_search.html

index b33fa63..8c4378b 100644 (file)
@@ -114,6 +114,20 @@ openils.acq.Picklist.create = function(fields, oncomplete) {
     );
 }
 
+/** Creates a new picklist. fields.name is required */ 
+openils.acq.Picklist.update = function(picklist, oncomplete) {
+    fieldmapper.standardRequest(
+        ['open-ils.acq', 'open-ils.acq.picklist.update'],
+        {   async: true,
+            params: [openils.User.authtoken, picklist],
+            oncomplete: function(r) { 
+                // XXX event/error handling
+                oncomplete(r.recv().content());
+            }
+        }
+    );
+}
+
 /** Deletes a list of picklists
  * @param list Array of picklist IDs
  */
index 9a065b1..df4f675 100644 (file)
@@ -110,9 +110,17 @@ function viewResults(plId) {
             dojo.style('oils-acq-lineitem-details-grid', 'visibility', 'hidden');
         }
     );
+    resultPicklist = plist._plist;
 }
 
-function saveAllAsPl() {
+function saveResults(values) {
+    if(!values.name) return;
+    resultPicklist.name(values.name); 
+    openils.acq.Picklist.update(resultPicklist,
+        function(stat) {
+            location.href = 'view/' + resultPicklist.id(); 
+        }
+    );
 }
 
 dojo.addOnLoad(drawForm);
index 30d5c44..7dd7150 100644 (file)
     <div id='oils-acq-pl-search-results' style='height:100%'>
         <script>
             dojo.require('dijit.form.FilteringSelect');
+            dojo.require('dijit.Dialog');
         </script>
-        <div dojoType="dijit.Toolbar" class='menuBar'>
-            <div dojoType="dijit.form.DropDownButton">
-                <span>Actions</span>
-                <div dojoType="dijit.Menu">
-                    <div dojoType="dijit.MenuItem" 
-                        iconClass="dijitEditorIcon dijitEditorIconCopy"
-                        onClick='saveAllAsPl();'>Save All as Picklist</div>
-                    <div dojoType="dijit.MenuItem" 
-                        iconClass="dijitEditorIcon dijitEditorIconCopy">Save Selected as Picklist</div>
-                    <div dojoType="dijit.MenuItem" 
-                        iconClass="dijitEditorIcon dijitEditorIconCopy">Add All to Picklist</div>
-                    <div dojoType="dijit.MenuItem" 
-                        iconClass="dijitEditorIcon dijitEditorIconCopy">Add Selected to Picklist</div>
-                </div>
+        <div dojoType="dijit.form.DropDownButton">
+            <span>${('Save Results')}</span>
+            <div dojoType="dijit.TooltipDialog" execute="saveResults(arguments[0]);">
+                <script type='dojo/connect' event='onOpen'>
+                </script>
+                <table class='dijitTooltipTable'>
+                    <tr>
+                        <td><label for="name">${_('Save as picklist:')} </label></td>
+                        <td><input dojoType="dijit.form.TextBox" name="name"></td>
+                    </tr>
+                    <tr>
+                        <td colspan='2' align='center'>
+                            <button dojoType=dijit.form.Button type="submit">${_('Save')}</button>
+                        </td>
+                    </tr>
+                </table>
             </div>
-        </div>
+        </div> 
         ${jubgrid.jubgrid('oils-acq-lineitem', 'plResultGrid')}
     </div>
     <script>dojo.style('oils-acq-pl-search-results', 'visibility', 'hidden');</script>