More template moving from 'web' to 'src'.
authorBill Erickson <berick@esilibrary.com>
Wed, 3 Aug 2011 14:43:20 +0000 (10:43 -0400)
committerBill Erickson <berick@esilibrary.com>
Wed, 3 Aug 2011 14:43:20 +0000 (10:43 -0400)
These are the templates that have been added since the initial Great
Migration from Open-ILS/web/templates to Open-ILS/src/templates.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
30 files changed:
Open-ILS/src/templates/default/conify/global/cat/authority/browse_axis.tt2 [new file with mode: 0644]
Open-ILS/src/templates/default/conify/global/cat/authority/browse_axis_authority_field_map.tt2 [new file with mode: 0644]
Open-ILS/src/templates/default/conify/global/cat/authority/control_set.tt2 [new file with mode: 0644]
Open-ILS/src/templates/default/conify/global/cat/authority/control_set_authority_field.tt2 [new file with mode: 0644]
Open-ILS/src/templates/default/conify/global/cat/authority/control_set_bib_field.tt2 [new file with mode: 0644]
Open-ILS/src/templates/default/conify/global/cat/authority/thesaurus.tt2 [new file with mode: 0644]
Open-ILS/src/templates/default/conify/global/vandelay/match_set.tt2 [new file with mode: 0644]
Open-ILS/src/templates/default/conify/global/vandelay/match_set_tree.tt2 [new file with mode: 0644]
Open-ILS/src/templates/default/opac/cnbrowse.tt2 [new file with mode: 0644]
Open-ILS/src/templates/default/opac/parts/advanced/expert.tt2 [new file with mode: 0644]
Open-ILS/src/templates/default/opac/parts/advanced/numeric.tt2 [new file with mode: 0644]
Open-ILS/src/templates/default/opac/parts/hold_error_messages.tt2 [new file with mode: 0644]
Open-ILS/src/templates/default/opac/parts/record/cnbrowse.tt2 [new file with mode: 0644]
Open-ILS/src/templates/default/opac/parts/record/summaryplus.tt2 [new file with mode: 0644]
Open-ILS/src/templates/default/vandelay/inc/import_errors.tt2 [new file with mode: 0644]
Open-ILS/web/templates/default/conify/global/cat/authority/browse_axis.tt2 [deleted file]
Open-ILS/web/templates/default/conify/global/cat/authority/browse_axis_authority_field_map.tt2 [deleted file]
Open-ILS/web/templates/default/conify/global/cat/authority/control_set.tt2 [deleted file]
Open-ILS/web/templates/default/conify/global/cat/authority/control_set_authority_field.tt2 [deleted file]
Open-ILS/web/templates/default/conify/global/cat/authority/control_set_bib_field.tt2 [deleted file]
Open-ILS/web/templates/default/conify/global/cat/authority/thesaurus.tt2 [deleted file]
Open-ILS/web/templates/default/conify/global/vandelay/match_set.tt2 [deleted file]
Open-ILS/web/templates/default/conify/global/vandelay/match_set_tree.tt2 [deleted file]
Open-ILS/web/templates/default/opac/cnbrowse.tt2 [deleted file]
Open-ILS/web/templates/default/opac/parts/advanced/expert.tt2 [deleted file]
Open-ILS/web/templates/default/opac/parts/advanced/numeric.tt2 [deleted file]
Open-ILS/web/templates/default/opac/parts/hold_error_messages.tt2 [deleted file]
Open-ILS/web/templates/default/opac/parts/record/cnbrowse.tt2 [deleted file]
Open-ILS/web/templates/default/opac/parts/record/summaryplus.tt2 [deleted file]
Open-ILS/web/templates/default/vandelay/inc/import_errors.tt2 [deleted file]

diff --git a/Open-ILS/src/templates/default/conify/global/cat/authority/browse_axis.tt2 b/Open-ILS/src/templates/default/conify/global/cat/authority/browse_axis.tt2
new file mode 100644 (file)
index 0000000..8834b02
--- /dev/null
@@ -0,0 +1,36 @@
+[% WRAPPER default/base.tt2 %]
+[% ctx.page_title = "Configure Authority Browse Axes" %]
+<div dojoType="dijit.layout.ContentPane" layoutAlign="client">
+    <div dojoType="dijit.layout.ContentPane" layoutAlign="top" class="oils-header-panel">
+        <div>Browse Axes</div>
+        <div>
+            <button dojoType="dijit.form.Button" onClick="aba_grid.showCreateDialog()">New Browse Axis</button>
+            <button dojoType="dijit.form.Button" onClick="aba_grid.deleteSelected()">Delete Selected</button>
+        </div>
+    </div>
+    <div>
+        <table  jsId="aba_grid"
+                dojoType="openils.widget.AutoGrid"
+                autoHeight="true"
+                defaultCellWidth="'auto'"
+                fieldOrder="['code','name','description','sorter']"
+                suppressEditFields="['id']"
+                query="{id: '*'}"
+                fmClass="aba"
+                editOnEnter="true">
+        </table>
+    </div>
+</div>
+<script type="text/javascript">
+    dojo.require("openils.widget.AutoGrid");
+
+    function my_init() {
+        aba_grid.overrideWidgetArgs.sorter = {
+            "dijitArgs": {"query": {"sorter": "t"}}
+        };
+        aba_grid.loadAll({"order_by": {"aba": "code"}});
+    }
+
+    openils.Util.addOnLoad(my_init);
+</script>
+[% END %]
diff --git a/Open-ILS/src/templates/default/conify/global/cat/authority/browse_axis_authority_field_map.tt2 b/Open-ILS/src/templates/default/conify/global/cat/authority/browse_axis_authority_field_map.tt2
new file mode 100644 (file)
index 0000000..8bb1af1
--- /dev/null
@@ -0,0 +1,71 @@
+[% WRAPPER default/base.tt2 %]
+[% ctx.page_title = "Configure Browse Axis-Authority Field Maps" %]
+<div dojoType="dijit.layout.ContentPane" layoutAlign="client">
+    <div dojoType="dijit.layout.ContentPane" layoutAlign="top" class="oils-header-panel">
+        <div>Browse Axis-Authority Field Maps</div>
+        <div>
+            <button dojoType="dijit.form.Button" onClick="abaafm_grid.showCreateDialog()">New Browse Axis-Authority Field Map</button>
+            <button dojoType="dijit.form.Button" onClick="abaafm_grid.deleteSelected()">Delete Selected</button>
+        </div>
+    </div>
+    <div id="authority-field-metadata-holder" class="hidden">
+        Showing only browse axis-authority field maps linked to authority field:
+        <a id="authority-field-metadata"></a>
+    </div>
+    <div>
+        <table  jsId="abaafm_grid"
+                dojoType="openils.widget.AutoGrid"
+                autoHeight="true"
+                defaultCellWidth="'auto'"
+                suppressEditFields="['id']"
+                fieldOrder="['axis','field']"
+                query="{id: '*'}"
+                fmClass="abaafm"
+                editOnEnter="true">
+        </table>
+    </div>
+</div>
+<script type="text/javascript"
+    src="[% ctx.media_prefix %]/js/ui/default/conify/global/cat/authority/common.js"></script>
+<script type="text/javascript">
+    dojo.require("openils.widget.AutoGrid");
+    dojo.require("openils.CGI");
+    dojo.require("openils.PermaCrud");
+
+    dojo.requireLocalization("openils.authority", "authority");
+    var localeStrings =
+        dojo.i18n.getLocalization("openils.authority", "authority");
+
+    var cgi, pcrud;
+
+    function my_init() {
+        var authority_field, control_set_id;
+        var where = {"id": {"!=": null}};
+
+        cgi = new openils.CGI();
+        pcrud = new openils.PermaCrud();
+
+        authority_field = cgi.param("acsaf");
+        control_set_id = cgi.param("acs");
+
+        if (authority_field) {
+            /* This block not only limits the scope of our search for abaafm
+               objects, but makes sure that we create/update only abaafm's
+               that link back to the authority field (acsaf) we're interested
+               in.  */
+            authority_field = pcrud.retrieve("acsaf", authority_field);
+            where.field = authority_field.id();
+            render_authority_field_metadata(authority_field, control_set_id);
+
+            abaafm_grid.overrideEditWidgets.field =
+                new dijit.form.TextBox({"disabled": true});
+            abaafm_grid.overrideEditWidgets.field.shove =
+                {"create": authority_field.id()};
+        }
+
+        abaafm_grid.loadAll({"order_by": {"abaafm": "axis"}}, where);
+    }
+
+    openils.Util.addOnLoad(my_init);
+</script>
+[% END %]
diff --git a/Open-ILS/src/templates/default/conify/global/cat/authority/control_set.tt2 b/Open-ILS/src/templates/default/conify/global/cat/authority/control_set.tt2
new file mode 100644 (file)
index 0000000..69ba1d2
--- /dev/null
@@ -0,0 +1,88 @@
+[% WRAPPER default/base.tt2 %]
+[% ctx.page_title = "Configure Authority Control Sets" %]
+<div dojoType="dijit.layout.ContentPane" layoutAlign="client">
+    <div dojoType="dijit.layout.ContentPane" layoutAlign="top" class="oils-header-panel">
+        <div>Control Sets</div>
+        <div>
+            <button dojoType="dijit.form.Button" onClick="acs_grid.showCreateDialog()">New Control Set</button>
+            <button dojoType="dijit.form.Button" onClick="acs_grid.deleteSelected()">Delete Selected</button>
+        </div>
+    </div>
+    <div>
+    <table  jsId="acs_grid"
+            dojoType="openils.widget.AutoGrid"
+            autoHeight="true"
+            defaultCellWidth="'auto'"
+            fieldOrder="['name','description','id']"
+            suppressEditFields="['id']"
+            query="{id: '*'}"
+            fmClass="acs"
+            editOnEnter="true">
+            <thead>
+                <tr>
+                    <th name="Other properties"
+                        field="id" formatter="format_acs_id"></th>
+                </tr>
+            </thead>
+    </table>
+</div>
+
+<script type="text/javascript">
+    dojo.require("openils.widget.AutoGrid");
+    dojo.require("openils.CGI");
+    dojo.requireLocalization("openils.authority", "authority");
+    var localeStrings =
+        dojo.i18n.getLocalization("openils.authority", "authority");
+    var acs_cache = {};
+    var cgi;
+
+    function format_acs_id(id) {
+        if (id) {
+            var tlen = acs_cache[id].thesauri() ?
+                acs_cache[id].thesauri().length : 0;
+            var alen = acs_cache[id].authority_fields() ?
+                acs_cache[id].authority_fields().length : 0;
+
+            return "<a href='" + oilsBasePath +
+                "/conify/global/cat/authority/thesaurus?acs=" + id + "'>" +
+                dojo.string.substitute(localeStrings.THESAURI, [tlen]) +
+                "</a> &nbsp;" + " <a href='" + oilsBasePath +
+                "/conify/global/cat/authority/control_set_authority_field?acs=" +
+                id + "'>" +
+                dojo.string.substitute(localeStrings.AUTHORITY_FIELDS, [alen]) +
+                "</a>";
+        }
+    }
+
+    function acs_grid_loader() {
+        acs_cache = {};
+        acs_grid.resetStore();
+        acs_grid.showLoadProgressIndicator();
+        fieldmapper.standardRequest(
+            ["open-ils.cat", "open-ils.cat.authority.control_set.retrieve"], {
+                "async": true,
+                "params": [acs_grid.displayLimit, acs_grid.displayOffset, cgi.param("focus")],
+                "onresponse": function(r) {
+                    if (r = openils.Util.readResponse(r)) {
+                        acs_cache[r.id()] = r;
+                        acs_grid.store.newItem(r.toStoreItem());
+                    }
+                },
+                "oncomplete": function() {
+                    acs_grid.hideLoadProgressIndicator();
+                }
+            }
+        );
+    }
+
+    openils.Util.addOnLoad(
+        function() {
+            cgi = new openils.CGI();
+
+            acs_grid.onPostCreate = function(obj) {acs_cache[obj.id()] = obj;};
+            acs_grid.dataLoader = acs_grid_loader;
+            acs_grid_loader();
+        }
+    );
+</script>
+[% END %]
diff --git a/Open-ILS/src/templates/default/conify/global/cat/authority/control_set_authority_field.tt2 b/Open-ILS/src/templates/default/conify/global/cat/authority/control_set_authority_field.tt2
new file mode 100644 (file)
index 0000000..ed260df
--- /dev/null
@@ -0,0 +1,132 @@
+[% WRAPPER default/base.tt2 %]
+[% ctx.page_title = "Configure Authority Authority Fields" %]
+<div dojoType="dijit.layout.ContentPane" layoutAlign="client">
+    <div dojoType="dijit.layout.ContentPane" layoutAlign="top" class="oils-header-panel">
+        <div>Authority Fields</div>
+        <div>
+            <button dojoType="dijit.form.Button" onClick="acsaf_grid.showCreateDialog()">New Authority Field</button>
+            <button dojoType="dijit.form.Button" onClick="acsaf_grid.deleteSelected()">Delete Selected</button>
+        </div>
+    </div>
+    <div id="control-set-metadata-holder" class="hidden">
+        Showing only authority fields linked to control set:
+        <a id="control-set-metadata"></a>
+    </div>
+    <div>
+        <table  jsId="acsaf_grid"
+                dojoType="openils.widget.AutoGrid"
+                autoHeight="true"
+                defaultCellWidth="'12%'"
+                fieldOrder="['id','name','description','main_entry','control_set','tag','sf_list','bib_fields','axis_maps']"
+                suppressEditFields="['id']"
+                query="{id: '*'}"
+                fmClass="acsaf"
+                editOnEnter="true">
+            <thead>
+                <tr>
+                    <th field="bib_fields" name="Controlled Bib Fields"
+                        get="get_just_id" formatter="format_bib_fields"></th>
+                    <th field="axis_maps" name="Axes"
+                        get="get_just_id" formatter="format_axis_maps"></th>
+                </tr>
+            </thead>
+        </table>
+    </div>
+</div>
+<script type="text/javascript"
+    src="[% ctx.media_prefix %]/js/ui/default/conify/global/cat/authority/common.js"></script>
+<script type="text/javascript">
+    dojo.require("openils.widget.AutoGrid");
+    dojo.require("openils.CGI");
+    dojo.require("openils.PermaCrud");
+
+    dojo.requireLocalization("openils.authority", "authority");
+    var localeStrings =
+        dojo.i18n.getLocalization("openils.authority", "authority");
+
+    var cgi, pcrud, control_set;
+    var acsaf_cache = {};
+
+    function acsaf_grid_loader() {
+        acsaf_cache = {};
+        acsaf_grid.resetStore();
+        acsaf_grid.showLoadProgressIndicator();
+        fieldmapper.standardRequest(
+            ["open-ils.cat",
+                "open-ils.cat.authority.control_set_authority_field.retrieve"],{
+                "async": true,
+                "params": [
+                    acsaf_grid.displayLimit, acsaf_grid.displayOffset,
+                    control_set.id(), cgi.param("focus")
+                ],
+                "onresponse": function(r) {
+                    if (r = openils.Util.readResponse(r)) {
+                        acsaf_cache[r.id()] = r;
+                        acsaf_grid.store.newItem(r.toStoreItem());
+                    }
+                },
+                "oncomplete": function() {
+                    acsaf_grid.hideLoadProgressIndicator();
+                }
+            }
+        );
+    }
+
+    function get_just_id(row_index, item) {
+        if (item) return this.grid.store.getValue(item, "id");
+    }
+
+    function format_axis_maps(id) {
+        if (id) {
+            var text = acsaf_cache[id].axis_maps().map(
+                function(f) { return f.axis().name(); }
+            ).sort().join(", ") || localeStrings.NONE_LINK;
+            var href = "browse_axis_authority_field_map?";
+            if (control_set)
+                href += "acs=" + control_set.id() + "&amp;";
+            href += "acsaf=" + id;
+            return "<a href='" + href + "'>"  + text + "</a>";
+        }
+    }
+
+    function format_bib_fields(id) {
+        if (id) {
+            var text = acsaf_cache[id].bib_fields().map(
+                function(f) { return f.tag(); }
+            ).sort().join(", ") || localeStrings.NONE_LINK;
+            var href = "control_set_bib_field?";
+            if (control_set)
+                href += "acs=" + control_set.id() + "&amp;";
+            href += "acsaf=" + id;
+            return "<a href='" + href + "'>"  + text + "</a>";
+        }
+    }
+
+    function my_init() {
+        cgi = new openils.CGI();
+        pcrud = new openils.PermaCrud();
+
+        control_set = cgi.param("acs");
+        if (control_set) {
+            control_set = pcrud.retrieve("acs", control_set);
+            render_control_set_metadata(control_set);
+
+            acsaf_grid.overrideEditWidgets.control_set =
+                new dijit.form.TextBox({"disabled": true});
+            acsaf_grid.overrideEditWidgets.control_set.shove =
+                {"create": control_set.id()};
+        }
+
+        acsaf_grid.onPostCreate = function(o) {
+            o.bib_fields([]);
+            o.axis_maps([]);
+            acsaf_cache[o.id()] = o;
+        };
+
+        acsaf_grid.dataLoader = acsaf_grid_loader;
+        acsaf_grid_loader();
+    }
+
+    openils.Util.addOnLoad(my_init);
+</script>
+[% END %]
diff --git a/Open-ILS/src/templates/default/conify/global/cat/authority/control_set_bib_field.tt2 b/Open-ILS/src/templates/default/conify/global/cat/authority/control_set_bib_field.tt2
new file mode 100644 (file)
index 0000000..28b9916
--- /dev/null
@@ -0,0 +1,71 @@
+[% WRAPPER default/base.tt2 %]
+[% ctx.page_title = "Configure Authority Control Set Bib Fields" %]
+<div dojoType="dijit.layout.ContentPane" layoutAlign="client">
+    <div dojoType="dijit.layout.ContentPane" layoutAlign="top" class="oils-header-panel">
+        <div>Control Set Bib Fields</div>
+        <div>
+            <button dojoType="dijit.form.Button" onClick="acsbf_grid.showCreateDialog()">New Control Set Bib Field</button>
+            <button dojoType="dijit.form.Button" onClick="acsbf_grid.deleteSelected()">Delete Selected</button>
+        </div>
+    </div>
+    <div id="authority-field-metadata-holder" class="hidden">
+        Showing only control set bib fields linked to authority field:
+        <a id="authority-field-metadata"></a>
+    </div>
+    <div>
+        <table  jsId="acsbf_grid"
+                dojoType="openils.widget.AutoGrid"
+                autoHeight="true"
+                defaultCellWidth="'auto'"
+                suppressEditFields="['id']"
+                fieldOrder="['tag','authority_field']"
+                query="{id: '*'}"
+                fmClass="acsbf"
+                editOnEnter="true">
+        </table>
+    </div>
+</div>
+<script type="text/javascript"
+    src="[% ctx.media_prefix %]/js/ui/default/conify/global/cat/authority/common.js"></script>
+<script type="text/javascript">
+    dojo.require("openils.widget.AutoGrid");
+    dojo.require("openils.CGI");
+    dojo.require("openils.PermaCrud");
+
+    dojo.requireLocalization("openils.authority", "authority");
+    var localeStrings =
+        dojo.i18n.getLocalization("openils.authority", "authority");
+
+    var cgi, pcrud;
+
+    function my_init() {
+        var authority_field, control_set_id;
+        var where = {"id": {"!=": null}};
+
+        cgi = new openils.CGI();
+        pcrud = new openils.PermaCrud();
+
+        authority_field = cgi.param("acsaf");
+        control_set_id = cgi.param("acs");
+
+        if (authority_field) {
+            /* This block not only limits the scope of our search for acsbf
+               objects, but makes sure that we create/update only acsbf's
+               that link back to the authority field (acsaf) we're interested
+               in.  */
+            authority_field = pcrud.retrieve("acsaf", authority_field);
+            where.authority_field = authority_field.id();
+            render_authority_field_metadata(authority_field, control_set_id);
+
+            acsbf_grid.overrideEditWidgets.authority_field =
+                new dijit.form.TextBox({"disabled": true});
+            acsbf_grid.overrideEditWidgets.authority_field.shove =
+                {"create": authority_field.id()};
+        }
+
+        acsbf_grid.loadAll({"order_by": {"acsbf": "tag"}}, where);
+    }
+
+    openils.Util.addOnLoad(my_init);
+</script>
+[% END %]
diff --git a/Open-ILS/src/templates/default/conify/global/cat/authority/thesaurus.tt2 b/Open-ILS/src/templates/default/conify/global/cat/authority/thesaurus.tt2
new file mode 100644 (file)
index 0000000..883cb28
--- /dev/null
@@ -0,0 +1,100 @@
+[% WRAPPER default/base.tt2 %]
+[% ctx.page_title = "Configure Authority Thesauri" %]
+<div dojoType="dijit.layout.ContentPane" layoutAlign="client">
+    <div dojoType="dijit.layout.ContentPane" layoutAlign="top" class="oils-header-panel">
+        <div>Thesauri</div>
+        <div>
+            <button dojoType="dijit.form.Button" onClick="at_grid.showCreateDialog()">New Thesaurus</button>
+            <button dojoType="dijit.form.Button" onClick="at_grid.deleteSelected()">Delete Selected</button>
+        </div>
+    </div>
+    <div id="control-set-metadata-holder" class="hidden">
+        Showing only thesauri linked to control set:
+        <a id="control-set-metadata"></a>
+    </div>
+    <div>
+        <table  jsId="at_grid"
+                dojoType="openils.widget.AutoGrid"
+                autoHeight="true"
+                defaultCellWidth="'auto'"
+                fieldOrder="['code','control_set','name','description']"
+                suppressEditFields="['id']"
+                query="{id: '*'}"
+                fmClass="at"
+                editOnEnter="true">
+            <thead>
+                <tr>
+                    <th field="control_set" get="get_control_set"
+                        formatter="format_control_set"></th>
+                </tr>
+            </thead>
+        </table>
+    </div>
+</div>
+<script type="text/javascript"
+    src="[% ctx.media_prefix %]/js/ui/default/conify/global/cat/authority/common.js"></script>
+<script type="text/javascript">
+    dojo.require("openils.widget.AutoGrid");
+    dojo.require("openils.CGI");
+    dojo.require("openils.PermaCrud");
+
+    dojo.requireLocalization("openils.authority", "authority");
+    var localeStrings =
+        dojo.i18n.getLocalization("openils.authority", "authority");
+
+    var cgi, pcrud;
+    var control_set;
+
+    function get_control_set(rowidx, item) {
+        if (item) {
+            /* I'm /sure/ there's a better way to do the following */
+            this._tmp = openils.widget.AutoGrid.defaultGetter;
+            var ordinary = this._tmp(rowidx, item); 
+            delete this._tmp;
+
+            if (control_set) {
+                return ordinary;
+            } else {
+                var id = this.grid.store.getValue(item, "control_set");
+                return {
+                    "id": id, "text": ordinary
+                };
+            }
+        }
+    }
+
+    function format_control_set(f) {
+        if (typeof f == "object") {
+            return '<a href="' + oilsBasePath +
+                '/conify/global/cat/authority/control_set?focus=' + f.id +
+                '">' + f.text + "</a>";
+        } else {
+            return f;
+        }
+
+    }
+
+    function my_init() {
+        var where = {"code": {"!=": null}};
+
+        cgi = new openils.CGI();
+        pcrud = new openils.PermaCrud();
+
+        control_set = cgi.param("acs");
+        if (control_set) {
+            control_set = pcrud.retrieve("acs", control_set);
+            where.control_set = control_set.id();
+            render_control_set_metadata(control_set);
+
+            at_grid.overrideEditWidgets.control_set =
+                new dijit.form.TextBox({"disabled": true});
+            at_grid.overrideEditWidgets.control_set.shove =
+                {"create": control_set.id()};
+        }
+
+        at_grid.loadAll({"order_by": {"at": "code"}}, where);
+    }
+
+    openils.Util.addOnLoad(my_init);
+</script>
+[% END %]
diff --git a/Open-ILS/src/templates/default/conify/global/vandelay/match_set.tt2 b/Open-ILS/src/templates/default/conify/global/vandelay/match_set.tt2
new file mode 100644 (file)
index 0000000..fad64db
--- /dev/null
@@ -0,0 +1,94 @@
+[% WRAPPER default/base.tt2 %]
+[% ctx.page_title = 'Vandelay Match Sets' %]
+<div dojoType="dijit.layout.ContentPane" layoutAlign="client">
+    <div dojoType="dijit.layout.ContentPane" layoutAlign="top" class="oils-header-panel">
+        <div>[% ctx.page_title %]</div>
+        <div>
+            <button dojoType="dijit.form.Button"
+                onClick="vms_grid.showCreateDialog()">New Match Set</button>
+            <button dojoType="dijit.form.Button"
+                onClick="vms_grid.deleteSelected()">Delete Selected</button>
+        </div>
+    </div>
+    <div>
+        Show sets owned at or below:
+        <select dojoType="openils.widget.OrgUnitFilteringSelect"
+            jsId="context_org_selector"></select>
+    </div>
+    <table jsId="vms_grid"
+        dojoType="openils.widget.AutoGrid"
+        query="{id: '*'}"
+        defaultCellWidth="'16em'"
+        fmClass="vms"
+        fieldorder="['name', 'owner']"
+        suppressEditFields="['id']"
+        showPaginator="true"
+        editOnEnter="true">
+        <thead>
+            <tr>
+                <th field="name" get="field_plus_id" formatter="tree_editor_link"></th>
+                <th field="owner" get="openils.widget.AutoGrid.orgUnitGetter">
+                </th>
+            </tr>
+        </thead>
+    </table>
+</div>
+<div class="hidden">
+    <select dojoType="dijit.form.FilteringSelect" jsId="mtype_selector">
+        [%# for the origin of these hard coded options, see the definition
+        of vandelay.match_set.mtype in 012.schema.vandelay.sql %]
+        <option value="biblio">biblio</option>
+        <option value="authority">authority</option>
+        <!-- XXX: nah <option value="mfhd">mfhd</option> -->
+    </select>
+</div>
+
+<script type="text/javascript">
+    dojo.require("dijit.form.FilteringSelect");
+    dojo.require("openils.widget.AutoGrid");
+    dojo.require("openils.widget.OrgUnitFilteringSelect");
+
+    var context_org;
+
+    function load_grid(search) {
+        if (!search) search = {"id": {"!=": null}};
+
+        vms_grid.loadAll({"order_by": {"vms": "name"}}, search);
+    }
+
+    function field_plus_id(rowIndex, item) {
+        if (!item) return null;
+        var datum = {};
+        datum[this.field] = this.grid.store.getValue(item, this.field);
+        datum.id = this.grid.store.getValue(item, "id");
+        return datum;
+    }
+
+    function tree_editor_link(datum) {
+        if (!datum) return "";
+        return '<a href="[% ctx.base_path %]/eg/conify/global/vandelay/match_set_tree?match_set=' +
+            datum.id + '">' + datum.name + '</a>';
+    }
+
+    openils.Util.addOnLoad(
+        function() {
+            new openils.User().buildPermOrgSelector(
+                "ADMIN_IMPORT_MATCH_SET", context_org_selector,
+                null, function() {
+                    context_org_selector.onChange = function() {
+                        context_org = this.attr("value");
+                        vms_grid.resetStore();
+                        load_grid({
+                            "owner": aou.descendantNodeList(context_org, true)
+                        });
+                    };
+                }
+            );
+
+            vms_grid.overrideEditWidgets.mtype = mtype_selector;
+            vms_grid.overrideEditWidgets.mtype.shove = {"create": "biblio"};
+            load_grid();
+        }
+    );
+</script>
+[% END %]
diff --git a/Open-ILS/src/templates/default/conify/global/vandelay/match_set_tree.tt2 b/Open-ILS/src/templates/default/conify/global/vandelay/match_set_tree.tt2
new file mode 100644 (file)
index 0000000..cc5c788
--- /dev/null
@@ -0,0 +1,150 @@
+[% WRAPPER 'default/base.tt2' %]
+[% ctx.page_title = 'Vandelay Match Set Editor' %]
+<style type="text/css">
+    h1 { margin: 1ex 0; }
+    .outer { clear: both; margin-bottom: 1ex; }
+    .space-me input { margin: 0 1em; }
+    button { margin: 0 0.5em; }
+    input[type=submit] { padding: 0 0.5em; }
+    #tree-here { margin-bottom: 1.5em; }
+    #vms-table { padding-bottom: 2ex; }
+    #vms-table th { text-align: right; }
+    #vms-table td { padding-left: 1em; }
+    #src-pane { float: left; width: 49%; }
+    #tree-pane { float: right; width: 50%; }
+    #submit-row { clear: both; text-align: center; padding-top: 1.5ex; }
+    #submit-row hr { margin: 1.5ex 0; }
+    #expr-preview-row { margin: 2ex 0; }
+    #expr-preview {
+        font-family: monospace;
+        font-size: 125%;
+        font-weight: bold;
+        background-color: #000066;
+        color: white;
+    }
+    .node-editor { margin-bottom: 1.5ex; }
+    .node-editor td { padding: 0.5ex; }
+    li { background-color: #ddd; }
+    .replace-mode { background-color: #990; color: #fff; }
+</style>
+<h1>[% ctx.page_title %]</h1>
+<table id="vms-table">
+    <tbody>
+        <tr>
+            <th>Match set name:</th>
+            <td><strong id="vms-name"></strong></td>
+        </tr>
+        <tr>
+            <th>Owning Library:</th>
+            <td id="vms-owner"></td>
+        </tr>
+        <tr>
+            <th>Type:</th>
+            <td id="vms-mtype"></td>
+        </tr>
+    </tbody>
+</table>
+<hr />
+<!-- XXX TODO
+    give some indication of which match set we're editing the tree for
+    -->
+<table class="hidden">
+    <tr quality-controls="1">
+        <td>
+            <label for="value-input">Value:</label>
+        </td>
+        <td>
+            <input id="value-input" type="text" fmfield="value" />
+        </td>
+    </tr>
+    <tr consistent-controls="1">
+        <td>
+            <label for="quality-input"
+                title="A relative number representing the impact of this expression on the score of the overall record match"><!-- XXX tooltipize -->
+                Match Score
+            </label>
+        </td>
+        <td>
+            <input id="quality-input" type="text" value="1"
+                size="4" maxlength="3" fmfield="quality" />
+        </td>
+    </tr>
+    <tr point-controls="1">
+        <td>
+            <label for="negate-input">Negate?</label>
+        </td>
+        <td>
+            <input id="negate-input" type="checkbox" fmfield="negate" />
+        </td>
+    </tr>
+</table>
+<div class="outer">
+    <div id="expr-preview-row">
+        <em>Your Expression:</em>
+        <span id="expr-preview"></span>
+    </div>
+    <div id="vmsp-buttons">
+        Add new
+        <button onclick="node_editor.add('svf');">Record Attribute</button>
+        <button onclick="node_editor.add('tag');">MARC Tag and Subfield</button>
+        <button onclick="node_editor.add('bool_op');">Boolean Operator</button>
+    </div>
+</div>
+<div class="outer" style="margin-top: 2ex;">
+    <div id="src-pane">
+        <div><big>Working Match Point</big></div>
+        <div>
+            <form id="node-editor-container" onsubmit="return false;"></form>
+        </div>
+        <ul id="src-here"></ul>
+    </div>
+
+    <div id="tree-pane">
+        <div><big>Your Expression</big></div>
+        <div id="tree-here"></div>
+        <div>
+            <button id="deleter" onclick="delete_selected_in_tree()">
+                Delete Selected Node
+            </button>
+            <button id="replacer" onclick="replace_mode()"></button>
+        </div>
+    </div>
+</div>
+<div id="submit-row">
+    <button onclick="save_tree()">Save Changes To Expression</button>
+</div>
+<hr />
+<div id="quality-editor-wrapper">
+    <div>
+        <div style="float: left; width: 50%;">
+            <big>Quality Metrics for this Match Set</big>
+        </div>
+        <div style="float: right; width: 49%; text-align: right;">
+            <button onclick="qnode_editor.add('svf')">
+                Record Attribute
+            </button>
+            <button onclick="qnode_editor.add('tag')">
+                MARC Tag and Subfield
+            </button>
+            <button onclick="vmsq_grid.deleteSelected()">
+                Delete Selected Metrics
+            </button>
+        </div>
+    </div>
+    <br style="clear: both;" />
+    <table id="qnode-editor-container"></table>
+    <table jsId="vmsq_grid"
+        dojoType="openils.widget.AutoGrid"
+        query="{id: '*'}"
+        defaultCellWidth="'17%'"
+        fmClass="vmsq"
+        fieldOrder="['quality','svf','tag','subfield','value']"
+        suppressFields="['match_set']"
+        showPaginator="true"
+        editOnEnter="false">
+    </table>
+</div>
+<div jsId="progress_dialog" dojoType="openils.widget.ProgressDialog"></div>
+<script type="text/javascript"
+    src="[% ctx.media_prefix %]/js/ui/default/conify/global/vandelay/match_set.js"></script>
+[% END %]
diff --git a/Open-ILS/src/templates/default/opac/cnbrowse.tt2 b/Open-ILS/src/templates/default/opac/cnbrowse.tt2
new file mode 100644 (file)
index 0000000..b9c7453
--- /dev/null
@@ -0,0 +1,21 @@
+[%  # This is the stand-alone call-number browser.  This mainly wraps around
+    # the same guts as the "shelf browser" part of a record results page.
+
+    PROCESS "default/opac/parts/header.tt2";
+    PROCESS "default/opac/parts/misc_util.tt2";
+    WRAPPER "default/opac/parts/base.tt2";
+    INCLUDE "default/opac/parts/topnav.tt2";
+    ctx.page_title = l("Call Number Browse"); %]
+    <div id="search-wrapper">
+        [% INCLUDE "default/opac/parts/printnav.tt2" %]
+        [% INCLUDE "default/opac/parts/searchbar.tt2" %]
+    </div>
+    <div id="content-wrapper">
+        <div id="main-content">
+            <div class="cnbrowse_div">
+                [% INCLUDE "default/opac/parts/record/cnbrowse.tt2" %]
+            </div>
+            <div class="common-full-pad"></div>        
+        </div>
+    </div>
+[% END %]
diff --git a/Open-ILS/src/templates/default/opac/parts/advanced/expert.tt2 b/Open-ILS/src/templates/default/opac/parts/advanced/expert.tt2
new file mode 100644 (file)
index 0000000..935da51
--- /dev/null
@@ -0,0 +1,29 @@
+<form id="adv_search_form" action="[% ctx.opac_root %]/results" method="GET">
+    <div class="header_middle">[% l("Expert Search") %]</div>
+    <input type="hidden" name="_special" value="1" />
+    <table class="expert-search">
+        <tbody id="adv_expert_rows_here">
+            <tr id="adv_expert_row">
+                <th>[% l("Tag:") %]</th>
+                <td><input type="text" name="tag" size="3" /></td>
+                <th>[% l("Subfield:") %]</th>
+                <td><input type="text" name="subfield" size="1" /></td>
+                <th>[% l("Value:") %]</th>
+                <td><input type="text" name="term" size="16" /></td>
+                <td>
+                    <a href="javascript:;" class="row-remover"
+                        title="[% l('Remove row') %]" alt="[% l('Remove row') %]"
+                        onclick='return killRowIfAtLeast(1, this);'><img src="[% ctx.media_prefix %]/images/adv_row_close_btn.png" /></a>
+                </td>
+            </tr>
+        </tbody>
+        <tfoot>
+            <tr>
+                <td colspan="2"><a href="javascript:addExpertRow();">[ [% l("Add row") %] ]</a></td>
+                <td colspan="4">
+                    <input type="image" src="[% ctx.media_prefix %]/images/search_btn.gif" alt="[% l('Search') %]" title="[% l('Search') %]" />
+                </td>
+            </tr>
+        </tfoot>
+    </table>
+</form>
diff --git a/Open-ILS/src/templates/default/opac/parts/advanced/numeric.tt2 b/Open-ILS/src/templates/default/opac/parts/advanced/numeric.tt2
new file mode 100644 (file)
index 0000000..f10d4aa
--- /dev/null
@@ -0,0 +1,28 @@
+<form id="adv_search_form" action="[% ctx.opac_root %]/results" method="GET">
+    <div class="header_middle">[% l("Numeric Search") %]</div>
+    <input type="hidden" name="contains" value="contains" />
+    <input type="hidden" name="_special" value="1" />
+    <table>
+        <tr>
+            <td>
+                <select name="qtype">
+                    <option value="identifier|isbn">[% l('ISBN') %]</option>
+                    <option value="identifier|issn">[% l('ISSN') %]</option>
+                    <option value="identifier|bib_cn">[% l('Bib Call Number') %]</option>
+                    <option value="cnbrowse">[% l('Call Number (Shelf Browse)') %]</option>
+                    <option value="identifier|lccn">[% l('LCCN') %]</option>
+                    <option value="identifier|tcn">[% l('TCN') %]</option>
+                    <option value="item_barcode">[% l('Item Barcode') %]</option>
+                </select>
+            </td>
+            <td>
+                <input type="text" name="query" size="16" />
+            </td>
+        </tr>
+        <tr>
+            <td colspan="2" align="right">
+                <input type="image" alt="[% l('Search') %]"
+                    src="[% ctx.media_prefix %]/images/search_btn.gif" />
+            </td>
+    </table>
+</form>
diff --git a/Open-ILS/src/templates/default/opac/parts/hold_error_messages.tt2 b/Open-ILS/src/templates/default/opac/parts/hold_error_messages.tt2
new file mode 100644 (file)
index 0000000..9ba6f0e
--- /dev/null
@@ -0,0 +1,38 @@
+[%
+    # XXX It might be cleaner to move this into its own file or something.
+    #
+    # The following hash should have fail_parts as keys and user/patron-friendly
+    # strings as values.  If the system returns an event with a fail_part when
+    # you attempt to place a hold and the fail part matches something in this
+    # hash, this is the message that will be displayed to the user. Wait until
+    # these are used to pass them through l() for i18n.
+
+    FAIL_PART_MSG_MAP = {
+        "actor.usr.barred" => "The patron is barred",
+        "asset.copy.circulate" => "The item does not circulate",
+        "asset.copy_location.circulate" => "Items from this shelving location do not circulate",
+        "asset.copy.status" => "The item cannot circulate at this time",
+        "circ.holds.target_skip_me" => "The item's circulation library does not fulfill holds",
+        "config.circ_matrix_circ_mod_test" => "The patron has too many items of this type checked out",
+        "config.circ_matrix_test.available_copy_hold_ratio" => "The available item-to-hold ratio is too low",
+        "config.circ_matrix_test.circulate" => "Circulation rules reject this item as non-circulatable",
+        "config.circ_matrix_test.total_copy_hold_ratio" => "The total item-to-hold ratio is too low",
+        "config.hold_matrix_test.holdable" => "Hold rules reject this item as unholdable",
+        "config.hold_matrix_test.max_holds" => "The patron has reached the maximum number of holds",
+        "config.rule_age_hold_protect.prox" => "The item is too new to transit this far",
+        "no_item" => "The system could not find this item",
+        "no_ultimate_items" => "The system could not find any items to match this hold request",
+        "no_matchpoint" => "System rules do not define how to handle this item",
+        "no_user" => "The system could not find this patron",
+        "transit_range" => "The item cannot transit this far"
+    };
+
+
+    # This works like the above has, but instead of fail_parts for keys, use
+    # the textcode of the event.  This will only be consulted for events
+    # that do not have a fail_part matching something in the above hash.
+    # Wait until these are used to pass them through l() for i18n.
+
+    EVENT_MSG_MAP = {
+    };
+%]
diff --git a/Open-ILS/src/templates/default/opac/parts/record/cnbrowse.tt2 b/Open-ILS/src/templates/default/opac/parts/record/cnbrowse.tt2
new file mode 100644 (file)
index 0000000..d44c38d
--- /dev/null
@@ -0,0 +1,60 @@
+[%- IF ctx.page == "record";
+    prev_next_root = "/record/" _ ctx.bre_id _ extras_propagator;
+ELSE;
+    cn = CGI.param('cn') | uri;
+    prev_next_root = "/cnbrowse?cn=" _ cn;
+END -%]
+<div id='cn_browse' class='cn_browser'>
+    <div id='cn_browse_div'> 
+        <div class='color_4'>
+            <span>[% l("You are now browsing") %]</span>
+            <strong>[% ctx.browsing_ou.name %]</strong>
+        </div>
+        <table class='data_grid bookshelf' width='100%'>
+            <thead>
+                <tr>
+                    <td>
+                        <a id='cn_browse_prev' class='classic_link' href="[% ctx.opac_root _ prev_next_root _ '&amp;cnoffset=' _ ((CGI.param('cnoffset') || 0) - 1) _ '&amp;expand=cnbrowse#cnbrowse' %]"<b>[%
+                            l("&lt;&lt; Previous Page")
+                        %]</b></a>
+                    </td>
+                    <td colspan='1' align='center'>[% l("Shelf Browser") %]</td>
+                    <td>
+                        <a id='cn_browse_next' class='classic_link' href="[% ctx.opac_root _ prev_next_root _ '&amp;cnoffset=' _ ((CGI.param('cnoffset') || 0) + 1) _ '&amp;expand=cnbrowse#cnbrowse' %]"<b>[%
+                            l("Next Page &gt;&gt;")
+                        %]</b></a>
+                    </td>
+                </tr>
+            </thead>
+            <tbody id='cn_tbody'>
+            [% tr_open = 0; FOR cn IN ctx.browsed_call_numbers %]
+                [%- IF loop.index % 3 == 0; tr_open = 1 %]
+                <tr class='cn_browse_row'>
+                [% END -%]
+                    <td class='cn_browse_item' width='25%' valign='top'>
+                        [%  rec_attrs = {marc_xml => cn.record.marc};
+                            PROCESS get_marc_attrs args=rec_attrs;
+                            ident = rec_attrs.isbn_clean || rec_attrs.upc;
+                            IF ident %]
+                        <a href="[% ctx.opac_root %]/record/[% cn.record.id _ extras_propagator %]"><img height='60' width='50' 
+                            class='cn_browse_info' name='cn_browse_pic' border='0'
+                            src="[% ctx.media_prefix %]/opac/extras/ac/jacket/small/[% ident %]" /></a>
+                        [% END %]
+                        <div class='cn_browse_info bold' name='cn_browse_cn'>[% cn.label %]</div>
+                        <div class='cn_browse_info'>
+                            <a name='cn_browse_title' class='classic_link' href="[% ctx.opac_root %]/record/[% cn.record.id _ extras_propagator %]">[% rec_attrs.title %]</a>
+                        </div>
+                        [% IF rec_attrs.author %]<div class='cn_browse_info'>
+                            <a name='cn_browse_author' class='classic_link'
+                                href="[% ctx.opac_root %]/results?qtype=author&amp;query=[%- rec_attrs.author | replace('[,\.:;]', '') | uri %]&amp;loc=[% CGI.param('loc') | uri %]">[% rec_attrs.author %]</a>
+                        </div>[% END %]
+                        <div class='cn_browse_info' name='cn_browse_lib'>[% cn.owning_lib.name %]</div>
+                    </td>
+                [% IF loop.index % 3 == 2; tr_open = 0 %]
+                </tr>
+                [% END %]
+            [% END; IF tr_open %]</tr>[% END %]
+            </tbody>
+        </table>
+    </div>
+</div>
diff --git a/Open-ILS/src/templates/default/opac/parts/record/summaryplus.tt2 b/Open-ILS/src/templates/default/opac/parts/record/summaryplus.tt2
new file mode 100644 (file)
index 0000000..6fb3d53
--- /dev/null
@@ -0,0 +1,15 @@
+<div class='rdetail_extras_div'> 
+    [%  IF attrs.summary %]
+    <div class='rdetail-extras-summary'>
+        <strong>[% l('Summary: ') %]</strong>[% attrs.summary %]
+    </div>
+    [% END %]
+
+    <!-- Embedded content cafe iframe -->
+    [% ident = attrs.isbn_clean || attrs.upc %]
+    <iframe width="100%" height="400" frameborder="0" 
+        src="http[% CGI.https ? 's' : '' %]://contentcafe2.btol.com/ContentCafeClient/ContentCafe.aspx?UserID=[%- 
+            ENV.OILS_CONTENT_CAFE_USER %]&Password=[% ENV.OILS_CONTENT_CAFE_PASS %]&ItemKey=[% ident %]&Options=Y" >
+    </iframe>
+</div>
+
diff --git a/Open-ILS/src/templates/default/vandelay/inc/import_errors.tt2 b/Open-ILS/src/templates/default/vandelay/inc/import_errors.tt2
new file mode 100644 (file)
index 0000000..5554f00
--- /dev/null
@@ -0,0 +1,77 @@
+
+<div dojoType="dijit.layout.ContentPane" layoutAlign='client'>
+    <button dojoType='dijit.form.Button' 
+        onclick="displayGlobalDiv('vl-queue-div');">&#x2196; &vandelay.back.to.import.queue;</button>
+</div>
+
+<div dojoType="dijit.layout.ContentPane" layoutAlign='client'>
+    <div id='vl-import-error-record' class='hidden'>
+        <h1>Import Errors</h1><br/>
+        <table>
+            <tbody>
+                <tr><td>ID</td><td id='vl-error-id'/></tr>
+                <tr><td>Import Error</td><td id='vl-error-import-error'/></tr>
+                <tr><td>Error Detail</td><td id='vl-error-error-detail'/></tr>
+                <tr><td>Title</td><td id='vl-error-title'/></tr>
+                <tr><td>Author</td><td id='vl-error-author'/></tr>
+                <tr><td>ISBN</td><td id='vl-error-isbn'/></tr>
+                <tr><td>ISSN</td><td id='vl-error-issn'/></tr>
+                <tr><td>UPC</td><td id='vl-error-upc'/></tr>
+            </tbody>
+        </table>
+    </div>
+</div>
+
+<div dojoType="dijit.layout.ContentPane" layoutAlign='client'>
+    <div class='hidden' id='vl-import-error-grid-some'>
+        <table  jsId="vlImportErrorGrid"
+                dojoType="openils.widget.AutoGrid"
+                autoHeight='true'
+                fieldOrder="['barcode', 'call_number', 'owning_lib', 'import_error', 'error_detail']"
+                query="{id: '*'}"
+                hidePaginator='true'
+                showColumnPicker='true'
+                columnPickerPrefix='"vandelay.item.import_error"'
+                fmClass='vii'>
+                <thead>
+                    <tr>
+                        <th field='owning_lib' get='vlGetOrg'/>
+                        <th field='circ_lib' get='vlGetOrg'/>
+                    </tr>
+                </thead>
+        </table>
+    </div>
+</div>
+<div dojoType="dijit.layout.ContentPane" layoutAlign='client'>
+    <div class='hidden' id='vl-import-error-grid-all'>
+        <h1>Import Items</h1><br/>
+        <input dojoType='dijit.form.CheckBox' jsId='vlImportItemsShowErrors' onchange='vlLoadErrorUIAll();'/>
+        <span>Limit to Import Failures</span>
+        <table width='100%'><tr><td width='100%' align='right'>
+            <select id='vl-item-export-options' style='margin-right: 10px;'>
+                <!-- TODO I18N -->
+                <option value=''>Export Items As...</option>
+                <option value='print'>Print</option>
+                <option value='csv'>CSV</option>
+                <option value='email'>Email</option>
+            </select>
+        </td></tr></table>
+        <table  jsId="vlAllImportErrorGrid"
+                dojoType="openils.widget.AutoGrid"
+                autoHeight='true'
+                fieldOrder="['barcode', 'call_number', 'owning_lib', 'import_error', 'error_detail']"
+                query="{id: '*'}"
+                showPaginator='true'
+                showColumnPicker='true'
+                columnPickerPrefix='"vandelay.item.import_error"'
+                fmClass='vii'>
+                <thead>
+                    <tr>
+                        <th field='owning_lib' get='vlGetOrg'/>
+                        <th field='circ_lib' get='vlGetOrg'/>
+                    </tr>
+                </thead>
+        </table>
+    </div>
+</div>
+
diff --git a/Open-ILS/web/templates/default/conify/global/cat/authority/browse_axis.tt2 b/Open-ILS/web/templates/default/conify/global/cat/authority/browse_axis.tt2
deleted file mode 100644 (file)
index 8834b02..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-[% WRAPPER default/base.tt2 %]
-[% ctx.page_title = "Configure Authority Browse Axes" %]
-<div dojoType="dijit.layout.ContentPane" layoutAlign="client">
-    <div dojoType="dijit.layout.ContentPane" layoutAlign="top" class="oils-header-panel">
-        <div>Browse Axes</div>
-        <div>
-            <button dojoType="dijit.form.Button" onClick="aba_grid.showCreateDialog()">New Browse Axis</button>
-            <button dojoType="dijit.form.Button" onClick="aba_grid.deleteSelected()">Delete Selected</button>
-        </div>
-    </div>
-    <div>
-        <table  jsId="aba_grid"
-                dojoType="openils.widget.AutoGrid"
-                autoHeight="true"
-                defaultCellWidth="'auto'"
-                fieldOrder="['code','name','description','sorter']"
-                suppressEditFields="['id']"
-                query="{id: '*'}"
-                fmClass="aba"
-                editOnEnter="true">
-        </table>
-    </div>
-</div>
-<script type="text/javascript">
-    dojo.require("openils.widget.AutoGrid");
-
-    function my_init() {
-        aba_grid.overrideWidgetArgs.sorter = {
-            "dijitArgs": {"query": {"sorter": "t"}}
-        };
-        aba_grid.loadAll({"order_by": {"aba": "code"}});
-    }
-
-    openils.Util.addOnLoad(my_init);
-</script>
-[% END %]
diff --git a/Open-ILS/web/templates/default/conify/global/cat/authority/browse_axis_authority_field_map.tt2 b/Open-ILS/web/templates/default/conify/global/cat/authority/browse_axis_authority_field_map.tt2
deleted file mode 100644 (file)
index 8bb1af1..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-[% WRAPPER default/base.tt2 %]
-[% ctx.page_title = "Configure Browse Axis-Authority Field Maps" %]
-<div dojoType="dijit.layout.ContentPane" layoutAlign="client">
-    <div dojoType="dijit.layout.ContentPane" layoutAlign="top" class="oils-header-panel">
-        <div>Browse Axis-Authority Field Maps</div>
-        <div>
-            <button dojoType="dijit.form.Button" onClick="abaafm_grid.showCreateDialog()">New Browse Axis-Authority Field Map</button>
-            <button dojoType="dijit.form.Button" onClick="abaafm_grid.deleteSelected()">Delete Selected</button>
-        </div>
-    </div>
-    <div id="authority-field-metadata-holder" class="hidden">
-        Showing only browse axis-authority field maps linked to authority field:
-        <a id="authority-field-metadata"></a>
-    </div>
-    <div>
-        <table  jsId="abaafm_grid"
-                dojoType="openils.widget.AutoGrid"
-                autoHeight="true"
-                defaultCellWidth="'auto'"
-                suppressEditFields="['id']"
-                fieldOrder="['axis','field']"
-                query="{id: '*'}"
-                fmClass="abaafm"
-                editOnEnter="true">
-        </table>
-    </div>
-</div>
-<script type="text/javascript"
-    src="[% ctx.media_prefix %]/js/ui/default/conify/global/cat/authority/common.js"></script>
-<script type="text/javascript">
-    dojo.require("openils.widget.AutoGrid");
-    dojo.require("openils.CGI");
-    dojo.require("openils.PermaCrud");
-
-    dojo.requireLocalization("openils.authority", "authority");
-    var localeStrings =
-        dojo.i18n.getLocalization("openils.authority", "authority");
-
-    var cgi, pcrud;
-
-    function my_init() {
-        var authority_field, control_set_id;
-        var where = {"id": {"!=": null}};
-
-        cgi = new openils.CGI();
-        pcrud = new openils.PermaCrud();
-
-        authority_field = cgi.param("acsaf");
-        control_set_id = cgi.param("acs");
-
-        if (authority_field) {
-            /* This block not only limits the scope of our search for abaafm
-               objects, but makes sure that we create/update only abaafm's
-               that link back to the authority field (acsaf) we're interested
-               in.  */
-            authority_field = pcrud.retrieve("acsaf", authority_field);
-            where.field = authority_field.id();
-            render_authority_field_metadata(authority_field, control_set_id);
-
-            abaafm_grid.overrideEditWidgets.field =
-                new dijit.form.TextBox({"disabled": true});
-            abaafm_grid.overrideEditWidgets.field.shove =
-                {"create": authority_field.id()};
-        }
-
-        abaafm_grid.loadAll({"order_by": {"abaafm": "axis"}}, where);
-    }
-
-    openils.Util.addOnLoad(my_init);
-</script>
-[% END %]
diff --git a/Open-ILS/web/templates/default/conify/global/cat/authority/control_set.tt2 b/Open-ILS/web/templates/default/conify/global/cat/authority/control_set.tt2
deleted file mode 100644 (file)
index 69ba1d2..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-[% WRAPPER default/base.tt2 %]
-[% ctx.page_title = "Configure Authority Control Sets" %]
-<div dojoType="dijit.layout.ContentPane" layoutAlign="client">
-    <div dojoType="dijit.layout.ContentPane" layoutAlign="top" class="oils-header-panel">
-        <div>Control Sets</div>
-        <div>
-            <button dojoType="dijit.form.Button" onClick="acs_grid.showCreateDialog()">New Control Set</button>
-            <button dojoType="dijit.form.Button" onClick="acs_grid.deleteSelected()">Delete Selected</button>
-        </div>
-    </div>
-    <div>
-    <table  jsId="acs_grid"
-            dojoType="openils.widget.AutoGrid"
-            autoHeight="true"
-            defaultCellWidth="'auto'"
-            fieldOrder="['name','description','id']"
-            suppressEditFields="['id']"
-            query="{id: '*'}"
-            fmClass="acs"
-            editOnEnter="true">
-            <thead>
-                <tr>
-                    <th name="Other properties"
-                        field="id" formatter="format_acs_id"></th>
-                </tr>
-            </thead>
-    </table>
-</div>
-
-<script type="text/javascript">
-    dojo.require("openils.widget.AutoGrid");
-    dojo.require("openils.CGI");
-    dojo.requireLocalization("openils.authority", "authority");
-    var localeStrings =
-        dojo.i18n.getLocalization("openils.authority", "authority");
-    var acs_cache = {};
-    var cgi;
-
-    function format_acs_id(id) {
-        if (id) {
-            var tlen = acs_cache[id].thesauri() ?
-                acs_cache[id].thesauri().length : 0;
-            var alen = acs_cache[id].authority_fields() ?
-                acs_cache[id].authority_fields().length : 0;
-
-            return "<a href='" + oilsBasePath +
-                "/conify/global/cat/authority/thesaurus?acs=" + id + "'>" +
-                dojo.string.substitute(localeStrings.THESAURI, [tlen]) +
-                "</a> &nbsp;" + " <a href='" + oilsBasePath +
-                "/conify/global/cat/authority/control_set_authority_field?acs=" +
-                id + "'>" +
-                dojo.string.substitute(localeStrings.AUTHORITY_FIELDS, [alen]) +
-                "</a>";
-        }
-    }
-
-    function acs_grid_loader() {
-        acs_cache = {};
-        acs_grid.resetStore();
-        acs_grid.showLoadProgressIndicator();
-        fieldmapper.standardRequest(
-            ["open-ils.cat", "open-ils.cat.authority.control_set.retrieve"], {
-                "async": true,
-                "params": [acs_grid.displayLimit, acs_grid.displayOffset, cgi.param("focus")],
-                "onresponse": function(r) {
-                    if (r = openils.Util.readResponse(r)) {
-                        acs_cache[r.id()] = r;
-                        acs_grid.store.newItem(r.toStoreItem());
-                    }
-                },
-                "oncomplete": function() {
-                    acs_grid.hideLoadProgressIndicator();
-                }
-            }
-        );
-    }
-
-    openils.Util.addOnLoad(
-        function() {
-            cgi = new openils.CGI();
-
-            acs_grid.onPostCreate = function(obj) {acs_cache[obj.id()] = obj;};
-            acs_grid.dataLoader = acs_grid_loader;
-            acs_grid_loader();
-        }
-    );
-</script>
-[% END %]
diff --git a/Open-ILS/web/templates/default/conify/global/cat/authority/control_set_authority_field.tt2 b/Open-ILS/web/templates/default/conify/global/cat/authority/control_set_authority_field.tt2
deleted file mode 100644 (file)
index ed260df..0000000
+++ /dev/null
@@ -1,132 +0,0 @@
-[% WRAPPER default/base.tt2 %]
-[% ctx.page_title = "Configure Authority Authority Fields" %]
-<div dojoType="dijit.layout.ContentPane" layoutAlign="client">
-    <div dojoType="dijit.layout.ContentPane" layoutAlign="top" class="oils-header-panel">
-        <div>Authority Fields</div>
-        <div>
-            <button dojoType="dijit.form.Button" onClick="acsaf_grid.showCreateDialog()">New Authority Field</button>
-            <button dojoType="dijit.form.Button" onClick="acsaf_grid.deleteSelected()">Delete Selected</button>
-        </div>
-    </div>
-    <div id="control-set-metadata-holder" class="hidden">
-        Showing only authority fields linked to control set:
-        <a id="control-set-metadata"></a>
-    </div>
-    <div>
-        <table  jsId="acsaf_grid"
-                dojoType="openils.widget.AutoGrid"
-                autoHeight="true"
-                defaultCellWidth="'12%'"
-                fieldOrder="['id','name','description','main_entry','control_set','tag','sf_list','bib_fields','axis_maps']"
-                suppressEditFields="['id']"
-                query="{id: '*'}"
-                fmClass="acsaf"
-                editOnEnter="true">
-            <thead>
-                <tr>
-                    <th field="bib_fields" name="Controlled Bib Fields"
-                        get="get_just_id" formatter="format_bib_fields"></th>
-                    <th field="axis_maps" name="Axes"
-                        get="get_just_id" formatter="format_axis_maps"></th>
-                </tr>
-            </thead>
-        </table>
-    </div>
-</div>
-<script type="text/javascript"
-    src="[% ctx.media_prefix %]/js/ui/default/conify/global/cat/authority/common.js"></script>
-<script type="text/javascript">
-    dojo.require("openils.widget.AutoGrid");
-    dojo.require("openils.CGI");
-    dojo.require("openils.PermaCrud");
-
-    dojo.requireLocalization("openils.authority", "authority");
-    var localeStrings =
-        dojo.i18n.getLocalization("openils.authority", "authority");
-
-    var cgi, pcrud, control_set;
-    var acsaf_cache = {};
-
-    function acsaf_grid_loader() {
-        acsaf_cache = {};
-        acsaf_grid.resetStore();
-        acsaf_grid.showLoadProgressIndicator();
-        fieldmapper.standardRequest(
-            ["open-ils.cat",
-                "open-ils.cat.authority.control_set_authority_field.retrieve"],{
-                "async": true,
-                "params": [
-                    acsaf_grid.displayLimit, acsaf_grid.displayOffset,
-                    control_set.id(), cgi.param("focus")
-                ],
-                "onresponse": function(r) {
-                    if (r = openils.Util.readResponse(r)) {
-                        acsaf_cache[r.id()] = r;
-                        acsaf_grid.store.newItem(r.toStoreItem());
-                    }
-                },
-                "oncomplete": function() {
-                    acsaf_grid.hideLoadProgressIndicator();
-                }
-            }
-        );
-    }
-
-    function get_just_id(row_index, item) {
-        if (item) return this.grid.store.getValue(item, "id");
-    }
-
-    function format_axis_maps(id) {
-        if (id) {
-            var text = acsaf_cache[id].axis_maps().map(
-                function(f) { return f.axis().name(); }
-            ).sort().join(", ") || localeStrings.NONE_LINK;
-            var href = "browse_axis_authority_field_map?";
-            if (control_set)
-                href += "acs=" + control_set.id() + "&amp;";
-            href += "acsaf=" + id;
-            return "<a href='" + href + "'>"  + text + "</a>";
-        }
-    }
-
-    function format_bib_fields(id) {
-        if (id) {
-            var text = acsaf_cache[id].bib_fields().map(
-                function(f) { return f.tag(); }
-            ).sort().join(", ") || localeStrings.NONE_LINK;
-            var href = "control_set_bib_field?";
-            if (control_set)
-                href += "acs=" + control_set.id() + "&amp;";
-            href += "acsaf=" + id;
-            return "<a href='" + href + "'>"  + text + "</a>";
-        }
-    }
-
-    function my_init() {
-        cgi = new openils.CGI();
-        pcrud = new openils.PermaCrud();
-
-        control_set = cgi.param("acs");
-        if (control_set) {
-            control_set = pcrud.retrieve("acs", control_set);
-            render_control_set_metadata(control_set);
-
-            acsaf_grid.overrideEditWidgets.control_set =
-                new dijit.form.TextBox({"disabled": true});
-            acsaf_grid.overrideEditWidgets.control_set.shove =
-                {"create": control_set.id()};
-        }
-
-        acsaf_grid.onPostCreate = function(o) {
-            o.bib_fields([]);
-            o.axis_maps([]);
-            acsaf_cache[o.id()] = o;
-        };
-
-        acsaf_grid.dataLoader = acsaf_grid_loader;
-        acsaf_grid_loader();
-    }
-
-    openils.Util.addOnLoad(my_init);
-</script>
-[% END %]
diff --git a/Open-ILS/web/templates/default/conify/global/cat/authority/control_set_bib_field.tt2 b/Open-ILS/web/templates/default/conify/global/cat/authority/control_set_bib_field.tt2
deleted file mode 100644 (file)
index 28b9916..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-[% WRAPPER default/base.tt2 %]
-[% ctx.page_title = "Configure Authority Control Set Bib Fields" %]
-<div dojoType="dijit.layout.ContentPane" layoutAlign="client">
-    <div dojoType="dijit.layout.ContentPane" layoutAlign="top" class="oils-header-panel">
-        <div>Control Set Bib Fields</div>
-        <div>
-            <button dojoType="dijit.form.Button" onClick="acsbf_grid.showCreateDialog()">New Control Set Bib Field</button>
-            <button dojoType="dijit.form.Button" onClick="acsbf_grid.deleteSelected()">Delete Selected</button>
-        </div>
-    </div>
-    <div id="authority-field-metadata-holder" class="hidden">
-        Showing only control set bib fields linked to authority field:
-        <a id="authority-field-metadata"></a>
-    </div>
-    <div>
-        <table  jsId="acsbf_grid"
-                dojoType="openils.widget.AutoGrid"
-                autoHeight="true"
-                defaultCellWidth="'auto'"
-                suppressEditFields="['id']"
-                fieldOrder="['tag','authority_field']"
-                query="{id: '*'}"
-                fmClass="acsbf"
-                editOnEnter="true">
-        </table>
-    </div>
-</div>
-<script type="text/javascript"
-    src="[% ctx.media_prefix %]/js/ui/default/conify/global/cat/authority/common.js"></script>
-<script type="text/javascript">
-    dojo.require("openils.widget.AutoGrid");
-    dojo.require("openils.CGI");
-    dojo.require("openils.PermaCrud");
-
-    dojo.requireLocalization("openils.authority", "authority");
-    var localeStrings =
-        dojo.i18n.getLocalization("openils.authority", "authority");
-
-    var cgi, pcrud;
-
-    function my_init() {
-        var authority_field, control_set_id;
-        var where = {"id": {"!=": null}};
-
-        cgi = new openils.CGI();
-        pcrud = new openils.PermaCrud();
-
-        authority_field = cgi.param("acsaf");
-        control_set_id = cgi.param("acs");
-
-        if (authority_field) {
-            /* This block not only limits the scope of our search for acsbf
-               objects, but makes sure that we create/update only acsbf's
-               that link back to the authority field (acsaf) we're interested
-               in.  */
-            authority_field = pcrud.retrieve("acsaf", authority_field);
-            where.authority_field = authority_field.id();
-            render_authority_field_metadata(authority_field, control_set_id);
-
-            acsbf_grid.overrideEditWidgets.authority_field =
-                new dijit.form.TextBox({"disabled": true});
-            acsbf_grid.overrideEditWidgets.authority_field.shove =
-                {"create": authority_field.id()};
-        }
-
-        acsbf_grid.loadAll({"order_by": {"acsbf": "tag"}}, where);
-    }
-
-    openils.Util.addOnLoad(my_init);
-</script>
-[% END %]
diff --git a/Open-ILS/web/templates/default/conify/global/cat/authority/thesaurus.tt2 b/Open-ILS/web/templates/default/conify/global/cat/authority/thesaurus.tt2
deleted file mode 100644 (file)
index 883cb28..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-[% WRAPPER default/base.tt2 %]
-[% ctx.page_title = "Configure Authority Thesauri" %]
-<div dojoType="dijit.layout.ContentPane" layoutAlign="client">
-    <div dojoType="dijit.layout.ContentPane" layoutAlign="top" class="oils-header-panel">
-        <div>Thesauri</div>
-        <div>
-            <button dojoType="dijit.form.Button" onClick="at_grid.showCreateDialog()">New Thesaurus</button>
-            <button dojoType="dijit.form.Button" onClick="at_grid.deleteSelected()">Delete Selected</button>
-        </div>
-    </div>
-    <div id="control-set-metadata-holder" class="hidden">
-        Showing only thesauri linked to control set:
-        <a id="control-set-metadata"></a>
-    </div>
-    <div>
-        <table  jsId="at_grid"
-                dojoType="openils.widget.AutoGrid"
-                autoHeight="true"
-                defaultCellWidth="'auto'"
-                fieldOrder="['code','control_set','name','description']"
-                suppressEditFields="['id']"
-                query="{id: '*'}"
-                fmClass="at"
-                editOnEnter="true">
-            <thead>
-                <tr>
-                    <th field="control_set" get="get_control_set"
-                        formatter="format_control_set"></th>
-                </tr>
-            </thead>
-        </table>
-    </div>
-</div>
-<script type="text/javascript"
-    src="[% ctx.media_prefix %]/js/ui/default/conify/global/cat/authority/common.js"></script>
-<script type="text/javascript">
-    dojo.require("openils.widget.AutoGrid");
-    dojo.require("openils.CGI");
-    dojo.require("openils.PermaCrud");
-
-    dojo.requireLocalization("openils.authority", "authority");
-    var localeStrings =
-        dojo.i18n.getLocalization("openils.authority", "authority");
-
-    var cgi, pcrud;
-    var control_set;
-
-    function get_control_set(rowidx, item) {
-        if (item) {
-            /* I'm /sure/ there's a better way to do the following */
-            this._tmp = openils.widget.AutoGrid.defaultGetter;
-            var ordinary = this._tmp(rowidx, item); 
-            delete this._tmp;
-
-            if (control_set) {
-                return ordinary;
-            } else {
-                var id = this.grid.store.getValue(item, "control_set");
-                return {
-                    "id": id, "text": ordinary
-                };
-            }
-        }
-    }
-
-    function format_control_set(f) {
-        if (typeof f == "object") {
-            return '<a href="' + oilsBasePath +
-                '/conify/global/cat/authority/control_set?focus=' + f.id +
-                '">' + f.text + "</a>";
-        } else {
-            return f;
-        }
-
-    }
-
-    function my_init() {
-        var where = {"code": {"!=": null}};
-
-        cgi = new openils.CGI();
-        pcrud = new openils.PermaCrud();
-
-        control_set = cgi.param("acs");
-        if (control_set) {
-            control_set = pcrud.retrieve("acs", control_set);
-            where.control_set = control_set.id();
-            render_control_set_metadata(control_set);
-
-            at_grid.overrideEditWidgets.control_set =
-                new dijit.form.TextBox({"disabled": true});
-            at_grid.overrideEditWidgets.control_set.shove =
-                {"create": control_set.id()};
-        }
-
-        at_grid.loadAll({"order_by": {"at": "code"}}, where);
-    }
-
-    openils.Util.addOnLoad(my_init);
-</script>
-[% END %]
diff --git a/Open-ILS/web/templates/default/conify/global/vandelay/match_set.tt2 b/Open-ILS/web/templates/default/conify/global/vandelay/match_set.tt2
deleted file mode 100644 (file)
index fad64db..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-[% WRAPPER default/base.tt2 %]
-[% ctx.page_title = 'Vandelay Match Sets' %]
-<div dojoType="dijit.layout.ContentPane" layoutAlign="client">
-    <div dojoType="dijit.layout.ContentPane" layoutAlign="top" class="oils-header-panel">
-        <div>[% ctx.page_title %]</div>
-        <div>
-            <button dojoType="dijit.form.Button"
-                onClick="vms_grid.showCreateDialog()">New Match Set</button>
-            <button dojoType="dijit.form.Button"
-                onClick="vms_grid.deleteSelected()">Delete Selected</button>
-        </div>
-    </div>
-    <div>
-        Show sets owned at or below:
-        <select dojoType="openils.widget.OrgUnitFilteringSelect"
-            jsId="context_org_selector"></select>
-    </div>
-    <table jsId="vms_grid"
-        dojoType="openils.widget.AutoGrid"
-        query="{id: '*'}"
-        defaultCellWidth="'16em'"
-        fmClass="vms"
-        fieldorder="['name', 'owner']"
-        suppressEditFields="['id']"
-        showPaginator="true"
-        editOnEnter="true">
-        <thead>
-            <tr>
-                <th field="name" get="field_plus_id" formatter="tree_editor_link"></th>
-                <th field="owner" get="openils.widget.AutoGrid.orgUnitGetter">
-                </th>
-            </tr>
-        </thead>
-    </table>
-</div>
-<div class="hidden">
-    <select dojoType="dijit.form.FilteringSelect" jsId="mtype_selector">
-        [%# for the origin of these hard coded options, see the definition
-        of vandelay.match_set.mtype in 012.schema.vandelay.sql %]
-        <option value="biblio">biblio</option>
-        <option value="authority">authority</option>
-        <!-- XXX: nah <option value="mfhd">mfhd</option> -->
-    </select>
-</div>
-
-<script type="text/javascript">
-    dojo.require("dijit.form.FilteringSelect");
-    dojo.require("openils.widget.AutoGrid");
-    dojo.require("openils.widget.OrgUnitFilteringSelect");
-
-    var context_org;
-
-    function load_grid(search) {
-        if (!search) search = {"id": {"!=": null}};
-
-        vms_grid.loadAll({"order_by": {"vms": "name"}}, search);
-    }
-
-    function field_plus_id(rowIndex, item) {
-        if (!item) return null;
-        var datum = {};
-        datum[this.field] = this.grid.store.getValue(item, this.field);
-        datum.id = this.grid.store.getValue(item, "id");
-        return datum;
-    }
-
-    function tree_editor_link(datum) {
-        if (!datum) return "";
-        return '<a href="[% ctx.base_path %]/eg/conify/global/vandelay/match_set_tree?match_set=' +
-            datum.id + '">' + datum.name + '</a>';
-    }
-
-    openils.Util.addOnLoad(
-        function() {
-            new openils.User().buildPermOrgSelector(
-                "ADMIN_IMPORT_MATCH_SET", context_org_selector,
-                null, function() {
-                    context_org_selector.onChange = function() {
-                        context_org = this.attr("value");
-                        vms_grid.resetStore();
-                        load_grid({
-                            "owner": aou.descendantNodeList(context_org, true)
-                        });
-                    };
-                }
-            );
-
-            vms_grid.overrideEditWidgets.mtype = mtype_selector;
-            vms_grid.overrideEditWidgets.mtype.shove = {"create": "biblio"};
-            load_grid();
-        }
-    );
-</script>
-[% END %]
diff --git a/Open-ILS/web/templates/default/conify/global/vandelay/match_set_tree.tt2 b/Open-ILS/web/templates/default/conify/global/vandelay/match_set_tree.tt2
deleted file mode 100644 (file)
index cc5c788..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-[% WRAPPER 'default/base.tt2' %]
-[% ctx.page_title = 'Vandelay Match Set Editor' %]
-<style type="text/css">
-    h1 { margin: 1ex 0; }
-    .outer { clear: both; margin-bottom: 1ex; }
-    .space-me input { margin: 0 1em; }
-    button { margin: 0 0.5em; }
-    input[type=submit] { padding: 0 0.5em; }
-    #tree-here { margin-bottom: 1.5em; }
-    #vms-table { padding-bottom: 2ex; }
-    #vms-table th { text-align: right; }
-    #vms-table td { padding-left: 1em; }
-    #src-pane { float: left; width: 49%; }
-    #tree-pane { float: right; width: 50%; }
-    #submit-row { clear: both; text-align: center; padding-top: 1.5ex; }
-    #submit-row hr { margin: 1.5ex 0; }
-    #expr-preview-row { margin: 2ex 0; }
-    #expr-preview {
-        font-family: monospace;
-        font-size: 125%;
-        font-weight: bold;
-        background-color: #000066;
-        color: white;
-    }
-    .node-editor { margin-bottom: 1.5ex; }
-    .node-editor td { padding: 0.5ex; }
-    li { background-color: #ddd; }
-    .replace-mode { background-color: #990; color: #fff; }
-</style>
-<h1>[% ctx.page_title %]</h1>
-<table id="vms-table">
-    <tbody>
-        <tr>
-            <th>Match set name:</th>
-            <td><strong id="vms-name"></strong></td>
-        </tr>
-        <tr>
-            <th>Owning Library:</th>
-            <td id="vms-owner"></td>
-        </tr>
-        <tr>
-            <th>Type:</th>
-            <td id="vms-mtype"></td>
-        </tr>
-    </tbody>
-</table>
-<hr />
-<!-- XXX TODO
-    give some indication of which match set we're editing the tree for
-    -->
-<table class="hidden">
-    <tr quality-controls="1">
-        <td>
-            <label for="value-input">Value:</label>
-        </td>
-        <td>
-            <input id="value-input" type="text" fmfield="value" />
-        </td>
-    </tr>
-    <tr consistent-controls="1">
-        <td>
-            <label for="quality-input"
-                title="A relative number representing the impact of this expression on the score of the overall record match"><!-- XXX tooltipize -->
-                Match Score
-            </label>
-        </td>
-        <td>
-            <input id="quality-input" type="text" value="1"
-                size="4" maxlength="3" fmfield="quality" />
-        </td>
-    </tr>
-    <tr point-controls="1">
-        <td>
-            <label for="negate-input">Negate?</label>
-        </td>
-        <td>
-            <input id="negate-input" type="checkbox" fmfield="negate" />
-        </td>
-    </tr>
-</table>
-<div class="outer">
-    <div id="expr-preview-row">
-        <em>Your Expression:</em>
-        <span id="expr-preview"></span>
-    </div>
-    <div id="vmsp-buttons">
-        Add new
-        <button onclick="node_editor.add('svf');">Record Attribute</button>
-        <button onclick="node_editor.add('tag');">MARC Tag and Subfield</button>
-        <button onclick="node_editor.add('bool_op');">Boolean Operator</button>
-    </div>
-</div>
-<div class="outer" style="margin-top: 2ex;">
-    <div id="src-pane">
-        <div><big>Working Match Point</big></div>
-        <div>
-            <form id="node-editor-container" onsubmit="return false;"></form>
-        </div>
-        <ul id="src-here"></ul>
-    </div>
-
-    <div id="tree-pane">
-        <div><big>Your Expression</big></div>
-        <div id="tree-here"></div>
-        <div>
-            <button id="deleter" onclick="delete_selected_in_tree()">
-                Delete Selected Node
-            </button>
-            <button id="replacer" onclick="replace_mode()"></button>
-        </div>
-    </div>
-</div>
-<div id="submit-row">
-    <button onclick="save_tree()">Save Changes To Expression</button>
-</div>
-<hr />
-<div id="quality-editor-wrapper">
-    <div>
-        <div style="float: left; width: 50%;">
-            <big>Quality Metrics for this Match Set</big>
-        </div>
-        <div style="float: right; width: 49%; text-align: right;">
-            <button onclick="qnode_editor.add('svf')">
-                Record Attribute
-            </button>
-            <button onclick="qnode_editor.add('tag')">
-                MARC Tag and Subfield
-            </button>
-            <button onclick="vmsq_grid.deleteSelected()">
-                Delete Selected Metrics
-            </button>
-        </div>
-    </div>
-    <br style="clear: both;" />
-    <table id="qnode-editor-container"></table>
-    <table jsId="vmsq_grid"
-        dojoType="openils.widget.AutoGrid"
-        query="{id: '*'}"
-        defaultCellWidth="'17%'"
-        fmClass="vmsq"
-        fieldOrder="['quality','svf','tag','subfield','value']"
-        suppressFields="['match_set']"
-        showPaginator="true"
-        editOnEnter="false">
-    </table>
-</div>
-<div jsId="progress_dialog" dojoType="openils.widget.ProgressDialog"></div>
-<script type="text/javascript"
-    src="[% ctx.media_prefix %]/js/ui/default/conify/global/vandelay/match_set.js"></script>
-[% END %]
diff --git a/Open-ILS/web/templates/default/opac/cnbrowse.tt2 b/Open-ILS/web/templates/default/opac/cnbrowse.tt2
deleted file mode 100644 (file)
index b9c7453..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-[%  # This is the stand-alone call-number browser.  This mainly wraps around
-    # the same guts as the "shelf browser" part of a record results page.
-
-    PROCESS "default/opac/parts/header.tt2";
-    PROCESS "default/opac/parts/misc_util.tt2";
-    WRAPPER "default/opac/parts/base.tt2";
-    INCLUDE "default/opac/parts/topnav.tt2";
-    ctx.page_title = l("Call Number Browse"); %]
-    <div id="search-wrapper">
-        [% INCLUDE "default/opac/parts/printnav.tt2" %]
-        [% INCLUDE "default/opac/parts/searchbar.tt2" %]
-    </div>
-    <div id="content-wrapper">
-        <div id="main-content">
-            <div class="cnbrowse_div">
-                [% INCLUDE "default/opac/parts/record/cnbrowse.tt2" %]
-            </div>
-            <div class="common-full-pad"></div>        
-        </div>
-    </div>
-[% END %]
diff --git a/Open-ILS/web/templates/default/opac/parts/advanced/expert.tt2 b/Open-ILS/web/templates/default/opac/parts/advanced/expert.tt2
deleted file mode 100644 (file)
index 935da51..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-<form id="adv_search_form" action="[% ctx.opac_root %]/results" method="GET">
-    <div class="header_middle">[% l("Expert Search") %]</div>
-    <input type="hidden" name="_special" value="1" />
-    <table class="expert-search">
-        <tbody id="adv_expert_rows_here">
-            <tr id="adv_expert_row">
-                <th>[% l("Tag:") %]</th>
-                <td><input type="text" name="tag" size="3" /></td>
-                <th>[% l("Subfield:") %]</th>
-                <td><input type="text" name="subfield" size="1" /></td>
-                <th>[% l("Value:") %]</th>
-                <td><input type="text" name="term" size="16" /></td>
-                <td>
-                    <a href="javascript:;" class="row-remover"
-                        title="[% l('Remove row') %]" alt="[% l('Remove row') %]"
-                        onclick='return killRowIfAtLeast(1, this);'><img src="[% ctx.media_prefix %]/images/adv_row_close_btn.png" /></a>
-                </td>
-            </tr>
-        </tbody>
-        <tfoot>
-            <tr>
-                <td colspan="2"><a href="javascript:addExpertRow();">[ [% l("Add row") %] ]</a></td>
-                <td colspan="4">
-                    <input type="image" src="[% ctx.media_prefix %]/images/search_btn.gif" alt="[% l('Search') %]" title="[% l('Search') %]" />
-                </td>
-            </tr>
-        </tfoot>
-    </table>
-</form>
diff --git a/Open-ILS/web/templates/default/opac/parts/advanced/numeric.tt2 b/Open-ILS/web/templates/default/opac/parts/advanced/numeric.tt2
deleted file mode 100644 (file)
index f10d4aa..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-<form id="adv_search_form" action="[% ctx.opac_root %]/results" method="GET">
-    <div class="header_middle">[% l("Numeric Search") %]</div>
-    <input type="hidden" name="contains" value="contains" />
-    <input type="hidden" name="_special" value="1" />
-    <table>
-        <tr>
-            <td>
-                <select name="qtype">
-                    <option value="identifier|isbn">[% l('ISBN') %]</option>
-                    <option value="identifier|issn">[% l('ISSN') %]</option>
-                    <option value="identifier|bib_cn">[% l('Bib Call Number') %]</option>
-                    <option value="cnbrowse">[% l('Call Number (Shelf Browse)') %]</option>
-                    <option value="identifier|lccn">[% l('LCCN') %]</option>
-                    <option value="identifier|tcn">[% l('TCN') %]</option>
-                    <option value="item_barcode">[% l('Item Barcode') %]</option>
-                </select>
-            </td>
-            <td>
-                <input type="text" name="query" size="16" />
-            </td>
-        </tr>
-        <tr>
-            <td colspan="2" align="right">
-                <input type="image" alt="[% l('Search') %]"
-                    src="[% ctx.media_prefix %]/images/search_btn.gif" />
-            </td>
-    </table>
-</form>
diff --git a/Open-ILS/web/templates/default/opac/parts/hold_error_messages.tt2 b/Open-ILS/web/templates/default/opac/parts/hold_error_messages.tt2
deleted file mode 100644 (file)
index 9ba6f0e..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-[%
-    # XXX It might be cleaner to move this into its own file or something.
-    #
-    # The following hash should have fail_parts as keys and user/patron-friendly
-    # strings as values.  If the system returns an event with a fail_part when
-    # you attempt to place a hold and the fail part matches something in this
-    # hash, this is the message that will be displayed to the user. Wait until
-    # these are used to pass them through l() for i18n.
-
-    FAIL_PART_MSG_MAP = {
-        "actor.usr.barred" => "The patron is barred",
-        "asset.copy.circulate" => "The item does not circulate",
-        "asset.copy_location.circulate" => "Items from this shelving location do not circulate",
-        "asset.copy.status" => "The item cannot circulate at this time",
-        "circ.holds.target_skip_me" => "The item's circulation library does not fulfill holds",
-        "config.circ_matrix_circ_mod_test" => "The patron has too many items of this type checked out",
-        "config.circ_matrix_test.available_copy_hold_ratio" => "The available item-to-hold ratio is too low",
-        "config.circ_matrix_test.circulate" => "Circulation rules reject this item as non-circulatable",
-        "config.circ_matrix_test.total_copy_hold_ratio" => "The total item-to-hold ratio is too low",
-        "config.hold_matrix_test.holdable" => "Hold rules reject this item as unholdable",
-        "config.hold_matrix_test.max_holds" => "The patron has reached the maximum number of holds",
-        "config.rule_age_hold_protect.prox" => "The item is too new to transit this far",
-        "no_item" => "The system could not find this item",
-        "no_ultimate_items" => "The system could not find any items to match this hold request",
-        "no_matchpoint" => "System rules do not define how to handle this item",
-        "no_user" => "The system could not find this patron",
-        "transit_range" => "The item cannot transit this far"
-    };
-
-
-    # This works like the above has, but instead of fail_parts for keys, use
-    # the textcode of the event.  This will only be consulted for events
-    # that do not have a fail_part matching something in the above hash.
-    # Wait until these are used to pass them through l() for i18n.
-
-    EVENT_MSG_MAP = {
-    };
-%]
diff --git a/Open-ILS/web/templates/default/opac/parts/record/cnbrowse.tt2 b/Open-ILS/web/templates/default/opac/parts/record/cnbrowse.tt2
deleted file mode 100644 (file)
index d44c38d..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-[%- IF ctx.page == "record";
-    prev_next_root = "/record/" _ ctx.bre_id _ extras_propagator;
-ELSE;
-    cn = CGI.param('cn') | uri;
-    prev_next_root = "/cnbrowse?cn=" _ cn;
-END -%]
-<div id='cn_browse' class='cn_browser'>
-    <div id='cn_browse_div'> 
-        <div class='color_4'>
-            <span>[% l("You are now browsing") %]</span>
-            <strong>[% ctx.browsing_ou.name %]</strong>
-        </div>
-        <table class='data_grid bookshelf' width='100%'>
-            <thead>
-                <tr>
-                    <td>
-                        <a id='cn_browse_prev' class='classic_link' href="[% ctx.opac_root _ prev_next_root _ '&amp;cnoffset=' _ ((CGI.param('cnoffset') || 0) - 1) _ '&amp;expand=cnbrowse#cnbrowse' %]"<b>[%
-                            l("&lt;&lt; Previous Page")
-                        %]</b></a>
-                    </td>
-                    <td colspan='1' align='center'>[% l("Shelf Browser") %]</td>
-                    <td>
-                        <a id='cn_browse_next' class='classic_link' href="[% ctx.opac_root _ prev_next_root _ '&amp;cnoffset=' _ ((CGI.param('cnoffset') || 0) + 1) _ '&amp;expand=cnbrowse#cnbrowse' %]"<b>[%
-                            l("Next Page &gt;&gt;")
-                        %]</b></a>
-                    </td>
-                </tr>
-            </thead>
-            <tbody id='cn_tbody'>
-            [% tr_open = 0; FOR cn IN ctx.browsed_call_numbers %]
-                [%- IF loop.index % 3 == 0; tr_open = 1 %]
-                <tr class='cn_browse_row'>
-                [% END -%]
-                    <td class='cn_browse_item' width='25%' valign='top'>
-                        [%  rec_attrs = {marc_xml => cn.record.marc};
-                            PROCESS get_marc_attrs args=rec_attrs;
-                            ident = rec_attrs.isbn_clean || rec_attrs.upc;
-                            IF ident %]
-                        <a href="[% ctx.opac_root %]/record/[% cn.record.id _ extras_propagator %]"><img height='60' width='50' 
-                            class='cn_browse_info' name='cn_browse_pic' border='0'
-                            src="[% ctx.media_prefix %]/opac/extras/ac/jacket/small/[% ident %]" /></a>
-                        [% END %]
-                        <div class='cn_browse_info bold' name='cn_browse_cn'>[% cn.label %]</div>
-                        <div class='cn_browse_info'>
-                            <a name='cn_browse_title' class='classic_link' href="[% ctx.opac_root %]/record/[% cn.record.id _ extras_propagator %]">[% rec_attrs.title %]</a>
-                        </div>
-                        [% IF rec_attrs.author %]<div class='cn_browse_info'>
-                            <a name='cn_browse_author' class='classic_link'
-                                href="[% ctx.opac_root %]/results?qtype=author&amp;query=[%- rec_attrs.author | replace('[,\.:;]', '') | uri %]&amp;loc=[% CGI.param('loc') | uri %]">[% rec_attrs.author %]</a>
-                        </div>[% END %]
-                        <div class='cn_browse_info' name='cn_browse_lib'>[% cn.owning_lib.name %]</div>
-                    </td>
-                [% IF loop.index % 3 == 2; tr_open = 0 %]
-                </tr>
-                [% END %]
-            [% END; IF tr_open %]</tr>[% END %]
-            </tbody>
-        </table>
-    </div>
-</div>
diff --git a/Open-ILS/web/templates/default/opac/parts/record/summaryplus.tt2 b/Open-ILS/web/templates/default/opac/parts/record/summaryplus.tt2
deleted file mode 100644 (file)
index 6fb3d53..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<div class='rdetail_extras_div'> 
-    [%  IF attrs.summary %]
-    <div class='rdetail-extras-summary'>
-        <strong>[% l('Summary: ') %]</strong>[% attrs.summary %]
-    </div>
-    [% END %]
-
-    <!-- Embedded content cafe iframe -->
-    [% ident = attrs.isbn_clean || attrs.upc %]
-    <iframe width="100%" height="400" frameborder="0" 
-        src="http[% CGI.https ? 's' : '' %]://contentcafe2.btol.com/ContentCafeClient/ContentCafe.aspx?UserID=[%- 
-            ENV.OILS_CONTENT_CAFE_USER %]&Password=[% ENV.OILS_CONTENT_CAFE_PASS %]&ItemKey=[% ident %]&Options=Y" >
-    </iframe>
-</div>
-
diff --git a/Open-ILS/web/templates/default/vandelay/inc/import_errors.tt2 b/Open-ILS/web/templates/default/vandelay/inc/import_errors.tt2
deleted file mode 100644 (file)
index 5554f00..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-
-<div dojoType="dijit.layout.ContentPane" layoutAlign='client'>
-    <button dojoType='dijit.form.Button' 
-        onclick="displayGlobalDiv('vl-queue-div');">&#x2196; &vandelay.back.to.import.queue;</button>
-</div>
-
-<div dojoType="dijit.layout.ContentPane" layoutAlign='client'>
-    <div id='vl-import-error-record' class='hidden'>
-        <h1>Import Errors</h1><br/>
-        <table>
-            <tbody>
-                <tr><td>ID</td><td id='vl-error-id'/></tr>
-                <tr><td>Import Error</td><td id='vl-error-import-error'/></tr>
-                <tr><td>Error Detail</td><td id='vl-error-error-detail'/></tr>
-                <tr><td>Title</td><td id='vl-error-title'/></tr>
-                <tr><td>Author</td><td id='vl-error-author'/></tr>
-                <tr><td>ISBN</td><td id='vl-error-isbn'/></tr>
-                <tr><td>ISSN</td><td id='vl-error-issn'/></tr>
-                <tr><td>UPC</td><td id='vl-error-upc'/></tr>
-            </tbody>
-        </table>
-    </div>
-</div>
-
-<div dojoType="dijit.layout.ContentPane" layoutAlign='client'>
-    <div class='hidden' id='vl-import-error-grid-some'>
-        <table  jsId="vlImportErrorGrid"
-                dojoType="openils.widget.AutoGrid"
-                autoHeight='true'
-                fieldOrder="['barcode', 'call_number', 'owning_lib', 'import_error', 'error_detail']"
-                query="{id: '*'}"
-                hidePaginator='true'
-                showColumnPicker='true'
-                columnPickerPrefix='"vandelay.item.import_error"'
-                fmClass='vii'>
-                <thead>
-                    <tr>
-                        <th field='owning_lib' get='vlGetOrg'/>
-                        <th field='circ_lib' get='vlGetOrg'/>
-                    </tr>
-                </thead>
-        </table>
-    </div>
-</div>
-<div dojoType="dijit.layout.ContentPane" layoutAlign='client'>
-    <div class='hidden' id='vl-import-error-grid-all'>
-        <h1>Import Items</h1><br/>
-        <input dojoType='dijit.form.CheckBox' jsId='vlImportItemsShowErrors' onchange='vlLoadErrorUIAll();'/>
-        <span>Limit to Import Failures</span>
-        <table width='100%'><tr><td width='100%' align='right'>
-            <select id='vl-item-export-options' style='margin-right: 10px;'>
-                <!-- TODO I18N -->
-                <option value=''>Export Items As...</option>
-                <option value='print'>Print</option>
-                <option value='csv'>CSV</option>
-                <option value='email'>Email</option>
-            </select>
-        </td></tr></table>
-        <table  jsId="vlAllImportErrorGrid"
-                dojoType="openils.widget.AutoGrid"
-                autoHeight='true'
-                fieldOrder="['barcode', 'call_number', 'owning_lib', 'import_error', 'error_detail']"
-                query="{id: '*'}"
-                showPaginator='true'
-                showColumnPicker='true'
-                columnPickerPrefix='"vandelay.item.import_error"'
-                fmClass='vii'>
-                <thead>
-                    <tr>
-                        <th field='owning_lib' get='vlGetOrg'/>
-                        <th field='circ_lib' get='vlGetOrg'/>
-                    </tr>
-                </thead>
-        </table>
-    </div>
-</div>
-