From e9b192d314c6051beaf2e1521ad5d44c0ac9582c Mon Sep 17 00:00:00 2001 From: erickson Date: Mon, 27 Apr 2009 21:32:11 +0000 Subject: [PATCH] begining of brief record entry form, based on defined marc attr defs. just need to determine how to go the opposite direction with the xpath for building marc (IOW, which tag/subfield to use when presented with multiple options in the attr def xpath git-svn-id: svn://svn.open-ils.org/ILS/trunk@13003 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../ui/default/acq/picklist/brief_record.js | 51 +++++++++++++++++++ .../default/acq/picklist/brief_record.tt2 | 25 +++++++++ Open-ILS/web/templates/default/menu.tt2 | 4 ++ 3 files changed, 80 insertions(+) create mode 100644 Open-ILS/web/js/ui/default/acq/picklist/brief_record.js create mode 100644 Open-ILS/web/templates/default/acq/picklist/brief_record.tt2 diff --git a/Open-ILS/web/js/ui/default/acq/picklist/brief_record.js b/Open-ILS/web/js/ui/default/acq/picklist/brief_record.js new file mode 100644 index 0000000000..8ccabe2d75 --- /dev/null +++ b/Open-ILS/web/js/ui/default/acq/picklist/brief_record.js @@ -0,0 +1,51 @@ +dojo.require('dojo.data.ItemFileReadStore'); +dojo.require('dijit.form.Form'); +dojo.require('dijit.form.TextBox'); +dojo.require('dijit.form.DateTextBox'); +dojo.require('dijit.form.Button'); +dojo.require('openils.User'); +dojo.require('openils.widget.AutoFieldWidget'); +dojo.require('openils.MarcXPathParser'); + +function drawBriefRecordForm(fields) { + + var tbody = dojo.byId('acq-brief-record-tbody'); + var rowTmpl = dojo.byId('acq-brief-record-row'); + + fieldmapper.standardRequest( + ['open-ils.acq', 'open-ils.acq.lineitem_attr_definition.retrieve.all'], + { async : true, + params : [openils.User.authtoken], + + oncomplete : function(r) { + var attrs = openils.Util.readResponse(r); + if(attrs && attrs.marc) { + + attrs = attrs.marc.sort( + function(a, b) { + if(a.description < b.description) + return 1; + return -1; + } + ); + + dojo.forEach(attrs, + function(def) { + var row = rowTmpl.cloneNode(true); + dojo.query('[name=name]', row)[0].innerHTML = def.description(); + new dijit.form.TextBox({name : def.code()}, dojo.query('[name=widget]', row)[0]); + tbody.appendChild(row); + } + ); + } + } + } + ); +} + +function compileBriefRecord(fields) { + console.log(js2JSON(fields)); + return false; +} + +openils.Util.addOnLoad(drawBriefRecordForm); diff --git a/Open-ILS/web/templates/default/acq/picklist/brief_record.tt2 b/Open-ILS/web/templates/default/acq/picklist/brief_record.tt2 new file mode 100644 index 0000000000..73be27884e --- /dev/null +++ b/Open-ILS/web/templates/default/acq/picklist/brief_record.tt2 @@ -0,0 +1,25 @@ +[% WRAPPER 'default/base.tt2' %] + + +

New Brief Record


+
+ + + + + + + + + + + + + +
+ +
+
+[% END %] diff --git a/Open-ILS/web/templates/default/menu.tt2 b/Open-ILS/web/templates/default/menu.tt2 index 7dd70a81ec..588e152a52 100644 --- a/Open-ILS/web/templates/default/menu.tt2 +++ b/Open-ILS/web/templates/default/menu.tt2 @@ -29,6 +29,10 @@ onClick="location.href = '[% ctx.base_uri %]/acq/picklist/upload';"> Load Records +
+ New Brief Record +
-- 2.43.2