Acq: Fund tag admin UI - this is just the CRUD part, not application to funds
authorsenator <senator@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 25 Mar 2010 18:47:14 +0000 (18:47 +0000)
committersenator <senator@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 25 Mar 2010 18:47:14 +0000 (18:47 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@15981 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/web/css/skin/default/acq.css
Open-ILS/web/js/ui/default/conify/global/acq/fund_tag.js [new file with mode: 0644]
Open-ILS/web/opac/locale/en-US/lang.dtd
Open-ILS/web/templates/default/conify/global/acq/fund_tag.tt2 [new file with mode: 0644]
Open-ILS/xul/staff_client/chrome/content/main/menu.js
Open-ILS/xul/staff_client/chrome/content/main/menu_frame_menus.xul

index f5496c4..87b83a5 100644 (file)
@@ -6,6 +6,7 @@
 .oils-sub-navigate-block span { padding: 3px; }
 */
 
+.oils-acq-basic-roomy { margin: 10px 0; }
 /*.oils-acq-detail-content-pane {height:600px;width:100%}*/
 .oils-acq-basic-form-div {padding:4px; width:95%;}
 
diff --git a/Open-ILS/web/js/ui/default/conify/global/acq/fund_tag.js b/Open-ILS/web/js/ui/default/conify/global/acq/fund_tag.js
new file mode 100644 (file)
index 0000000..fce3d1b
--- /dev/null
@@ -0,0 +1,57 @@
+dojo.require("dojo.data.ItemFileWriteStore");
+dojo.require("dojox.grid.DataGrid");
+dojo.require("dojox.grid.cells.dijit");
+dojo.require("dojox.widget.PlaceholderMenuItem");
+dojo.require("dijit.form.CurrencyTextBox");
+dojo.require("dijit.form.FilteringSelect");
+dojo.require("openils.widget.AutoGrid");
+dojo.require("openils.PermaCrud");
+dojo.require("openils.widget.OrgUnitFilteringSelect");
+
+var pcrud;
+var ftOwner;
+var ftList;
+
+function ftInit() {
+    new openils.User().buildPermOrgSelector(
+        "ADMIN_ACQ_FUND_TAG",
+        ftOwnerSelect,
+        null,
+        function() {
+            dojo.connect(
+                ftOwnerSelect,
+                "onChange",
+                function() {
+                    ftOwner = this.getValue();
+                    ftGrid.resetStore();
+                    buildFtGrid();
+                }
+            );
+        }
+    );
+}
+
+function buildFtGrid() {
+    if (!pcrud) pcrud = new openils.PermaCrud();
+    if (!ftOwner) ftOwner = openils.User.user.ws_ou();
+
+    pcrud.search(
+        "acqft",
+        {"owner": fieldmapper.aou.fullPath(ftOwner, true /* asId */)},
+        {
+            "async": true,
+            "oncomplete": function(r) {
+                if ((ftList = openils.Util.readResponse(r))) {
+                    ftList = openils.Util.objectSort(ftList);
+                    ftList.forEach(
+                        function(o) {
+                            ftGrid.store.newItem(acqft.toStoreItem(o));
+                        }
+                    );
+                }
+            }
+        }
+    );
+}
+
+openils.Util.addOnLoad(ftInit);
index 2ccf8b4..53bbb1d 100644 (file)
 <!ENTITY staff.main.menu.admin.server_admin.acq.accesskey "A">
 <!ENTITY staff.main.menu.admin.server_admin.acq.lineitem_alert.label "Line Item Alerts">
 <!ENTITY staff.main.menu.admin.server_admin.acq.lineitem_alert.accesskey "L">
+<!ENTITY staff.main.menu.admin.server_admin.acq.fund_tag.label "Fund Tags">
+<!ENTITY staff.main.menu.admin.server_admin.acq.fund_tag.accesskey "F">
 <!ENTITY staff.main.menu.admin.server_admin.acq.cancel_reason.label "Cancel Reasons">
 <!ENTITY staff.main.menu.admin.server_admin.acq.cancel_reason.accesskey "C">
 
diff --git a/Open-ILS/web/templates/default/conify/global/acq/fund_tag.tt2 b/Open-ILS/web/templates/default/conify/global/acq/fund_tag.tt2
new file mode 100644 (file)
index 0000000..0e13bc1
--- /dev/null
@@ -0,0 +1,32 @@
+[% WRAPPER default/base.tt2 %]
+<script src="[% ctx.media_prefix %]/js/ui/default/conify/global/acq/fund_tag.js"> </script>
+<div dojoType="dijit.layout.ContentPane" layoutAlign="client">
+    <div dojoType="dijit.layout.ContentPane"
+         layoutAlign="top" class="oils-header-panel">
+        <div>Fund Tags</div>
+        <div>
+            <button dojoType="dijit.form.Button"
+                onClick="ftGrid.showCreateDialog()">New Fund Tag</button>
+            <button dojoType="dijit.form.Button"
+                onClick="ftGrid.deleteSelected()">Delete Selected</button>
+        </div>
+    </div>
+    <div class="oils-acq-basic-roomy">
+        <span>Owned by</span>
+        <select
+            dojoType="openils.widget.OrgUnitFilteringSelect"
+            jsId="ftOwnerSelect"
+            searchAttr="shortname" labelAttr="shortname">
+        </select>
+        <span>or a descendant of the same:</span>
+    </div>
+    <table jsId="ftGrid"
+        dojoType="openils.widget.AutoGrid"
+        fieldOrder="['id', 'owner', 'name']"
+        query="{id: '*'}"
+        defaultCellWidth="20"
+        fmClass="acqft"
+        editOnEnter="true">
+    </table>
+</div>
+[% END %]
index 8a615bb..714244c 100644 (file)
@@ -623,6 +623,10 @@ main.menu.prototype = {
                 ['oncommand'],
                 function() { open_eg_web_page('conify/global/acq/lineitem_alert'); }
             ],
+            'cmd_server_admin_acq_fund_tag' : [
+                ['oncommand'],
+                function() { open_eg_web_page('conify/global/acq/fund_tag'); }
+            ],
             'cmd_server_admin_acq_cancel_reason' : [
                 ['oncommand'],
                 function() { open_eg_web_page('conify/global/acq/cancel_reason'); }
index 263e26d..bfbc461 100644 (file)
     <command id="cmd_server_admin_billing_type"/>
     <command id="cmd_server_admin_acq_cancel_reason"/>
     <command id="cmd_server_admin_acq_lineitem_alert"/>
+    <command id="cmd_server_admin_acq_fund_tag"/>
     <command id="cmd_server_admin_z39_source"/>
     <command id="cmd_server_admin_circ_mod"/>
     <command id="cmd_server_admin_org_unit_setting_type"/>
                 <menu id="main.menu.admin.server.acq" label="&staff.main.menu.admin.server_admin.acq.label;" accesskey="&staff.main.menu.admin.server_admin.acq.accesskey;">
                     <menupopup id="main.menu.admin.server.acq.popup">
                         <menuitem label="&staff.main.menu.admin.server_admin.acq.lineitem_alert.label;" accesskey="&staff.main.menu.admin.server_admin.acq.lineitem_alert.accesskey;" command="cmd_server_admin_acq_lineitem_alert"/>
+                        <menuitem label="&staff.main.menu.admin.server_admin.acq.fund_tag.label;" accesskey="&staff.main.menu.admin.server_admin.acq.fund_tag.accesskey;" command="cmd_server_admin_acq_fund_tag"/>
                         <menuitem label="&staff.main.menu.admin.server_admin.acq.cancel_reason.label;" accesskey="&staff.main.menu.admin.server_admin.acq.cancel_reason.accesskey;" command="cmd_server_admin_acq_cancel_reason"/>
                     </menupopup>
                 </menu>