From 936844da6cb710fbf0106535c9b4a67bfeb3b32c Mon Sep 17 00:00:00 2001 From: erickson Date: Fri, 8 Aug 2008 21:22:39 +0000 Subject: [PATCH] initial page for defining marc attrs git-svn-id: svn://svn.open-ils.org/ILS/branches/acq-experiment@10318 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../oilsweb/oilsweb/controllers/acq/settings.py | 12 +++ .../ui_js/oils/default/acq/settings/li_attr.js | 105 +++++++++++++++++++++ .../oils/default/acq/settings/li_attr.html | 77 +++++++++++++++ 3 files changed, 194 insertions(+) create mode 100644 Open-ILS/web/oilsweb/oilsweb/controllers/acq/settings.py create mode 100644 Open-ILS/web/oilsweb/oilsweb/public/oils/media/ui_js/oils/default/acq/settings/li_attr.js create mode 100644 Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/settings/li_attr.html diff --git a/Open-ILS/web/oilsweb/oilsweb/controllers/acq/settings.py b/Open-ILS/web/oilsweb/oilsweb/controllers/acq/settings.py new file mode 100644 index 0000000000..be0d704011 --- /dev/null +++ b/Open-ILS/web/oilsweb/oilsweb/controllers/acq/settings.py @@ -0,0 +1,12 @@ +from oilsweb.lib.base import * +from oilsweb.lib.request import RequestMgr +import oilsweb.lib.user +import osrf.net_obj +import oils.const +from osrf.ses import ClientSession +from oils.event import Event +from oils.org import OrgUtil + +class SettingsController(BaseController): + def li_attr(self, **kwargs): + return RequestMgr().render('acq/settings/li_attr.html') diff --git a/Open-ILS/web/oilsweb/oilsweb/public/oils/media/ui_js/oils/default/acq/settings/li_attr.js b/Open-ILS/web/oilsweb/oilsweb/public/oils/media/ui_js/oils/default/acq/settings/li_attr.js new file mode 100644 index 0000000000..28b8f0bdd1 --- /dev/null +++ b/Open-ILS/web/oilsweb/oilsweb/public/oils/media/ui_js/oils/default/acq/settings/li_attr.js @@ -0,0 +1,105 @@ +dojo.require("dijit.Dialog"); +dojo.require('dijit.layout.TabContainer'); +dojo.require('dijit.layout.ContentPane'); +dojo.require('dijit.form.FilteringSelect'); +dojo.require('dijit.form.TextBox'); +dojo.require('dojox.grid.Grid'); +dojo.require("fieldmapper.OrgUtils"); +dojo.require('openils.Event'); +dojo.require('openils.User'); +dojo.require('openils.acq.LineitemAttr'); + +var provider = null; +var marcRegex = /^\/\/\*\[@tag="(\d+)"]\/\*\[@code="(\w)"]$/; +var attrDefStores; + + +function getOrgInfo(rowIndex) { + data = providerGrid.model.getRow(rowIndex); + if(!data) return; + return fieldmapper.aou.findOrgUnit(data.owner).shortname(); +} + +function getTag(rowIdx) { + data = this.grid.model.getRow(rowIdx); + if(!data) return; + return data.xpath.replace(marcRegex, '$1'); +} + +function getSubfield(rowIdx) { + data = this.grid.model.getRow(rowIdx); + if(!data) return; + return data.xpath.replace(marcRegex, '$2'); +} + + +function loadStores(onload) { + if(attrDefStores) + return onload(); + openils.acq.LineitemAttr.createAttrDefStores( + function(stores) { + attrDefStores = stores; + onload(); + } + ) +} + + +function loadMarcAttrGrid() { + loadStores( + function() { + var store = new dojo.data.ItemFileReadStore({data:attrDefStores.marc}); + var model = new dojox.grid.data.DojoData( + null, store, {rowsPerPage: 20, clientSort: true, query:{id:'*'}}); + liMarcAttrGrid.setModel(model); + liMarcAttrGrid.update(); + } + ); +} + +function loadGeneratedAttrGrid() { + loadStores( + function() { + var store = new dojo.data.ItemFileReadStore({data:attrDefStores.generated}); + var model = new dojox.grid.data.DojoData( + null, store, {rowsPerPage: 20, clientSort: true, query:{id:'*'}}); + liGeneratedAttrGrid.setModel(model); + liGeneratedAttrGrid.update(); + } + ); +} + +/* +function createOrderRecordField(fields) { + fields.provider = providerId; + if(!fields.xpath) + fields.xpath = '//*[@tag="'+fields.tag+'"]/*[@code="'+fields.subfield+'"]'; + delete fields.tag; + delete fields.subfield; + openils.acq.Provider.createLineitemProviderAttrDef(fields, + function(id) { + loadPADGrid(); + } + ); +} + +function setORDesc() { + var code = dijit.byId('oils-acq-provider-or-code'); + var desc = dijit.byId('oils-acq-provider-or-desc'); + desc.setValue(code.getDisplayedValue()); +} + +function deleteORDataFields() { + var list = [] + var selected = padGrid.selection.getSelected(); + for(var idx = 0; idx < selected.length; idx++) + list.push(padGrid.model.getRow(selected[idx]).id); + openils.acq.Provider.lineitemProviderAttrDefDeleteList( + list, function(){loadPADGrid();}); +} +*/ + + +//dojo.addOnLoad(loadLIAttrGrid); + + diff --git a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/settings/li_attr.html b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/settings/li_attr.html new file mode 100644 index 0000000000..59afe8e96e --- /dev/null +++ b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/settings/li_attr.html @@ -0,0 +1,77 @@ +# -*- coding: utf-8 -*- +<%inherit file='../base.html'/> +<%def name="page_title()">${_('Lineitem Attribute Definitions')} +<%def name="block_content()"> + + + +
+
+ ${('Lineitem Attribute Attribute')} +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+
+ +
+
+ +
+
+
+ +
+
+
+
+ -- 2.11.0