From 956ca99d277261c2a528e54a01095d198d80843f Mon Sep 17 00:00:00 2001 From: erickson Date: Thu, 14 Jul 2005 14:09:03 +0000 Subject: [PATCH] our little opac is growing up added more stuff to my opac (holds renewal, cancel holds, holds title links, holds notification changes) git-svn-id: svn://svn.open-ils.org/ILS/trunk@1183 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Evergreen/css/opac/box.css | 9 +- Evergreen/css/opac/my_opac.css | 40 ++++- Evergreen/css/opac/progress_bar.css | 12 +- Evergreen/css/opac/record_detail.css | 12 +- Evergreen/css/opac/record_result.css | 8 +- Open-ILS/src/extras/fieldmapper.pl | 7 +- .../opac/AbstractRecordResultPage.js | 18 +- Open-ILS/src/javascript/opac/HoldsWindow.js | 48 ++++-- Open-ILS/src/javascript/opac/LocationTree.js | 2 +- Open-ILS/src/javascript/opac/MRResultPage.js | 3 + Open-ILS/src/javascript/opac/MyOPACSPage.js | 162 +++++++++++++++++- .../src/javascript/opac/RecordDetailPage.js | 15 +- Open-ILS/src/javascript/util/ils_utils.js | 24 +++ .../opac/pages/chunks/search_bar_form.ttk | 7 + Open-ILS/src/templates/opac/pages/login.ttk | 20 +++ .../templates/opac/pages/my_opac_secure.ttk | 26 +-- .../src/templates/opac/pages/opac_start.ttk | 21 ++- .../templates/opac/pages/record_detail.ttk | 1 + Open-ILS/src/templates/strings/ex.ttk | 3 + 19 files changed, 367 insertions(+), 71 deletions(-) diff --git a/Evergreen/css/opac/box.css b/Evergreen/css/opac/box.css index eaeecf19be..1d05f9fc68 100644 --- a/Evergreen/css/opac/box.css +++ b/Evergreen/css/opac/box.css @@ -7,20 +7,23 @@ .box_title { text-align: center; width: 98%; - background: #C99; + /*background: #C99;*/ + /*background: #445533;*/ + background: #556644; padding: 2px; + color: #EFF; } .box_caption { text-align: center; width: 98%; - background: #99C; + background: #556644; padding: 2px; font-size: 95%; } .box_content { - border: 2px dashed #99C; + border: 2px dashed #556644; width: 98%; background: #FFF; } diff --git a/Evergreen/css/opac/my_opac.css b/Evergreen/css/opac/my_opac.css index 1caeb1a016..1bc4d3efb4 100644 --- a/Evergreen/css/opac/my_opac.css +++ b/Evergreen/css/opac/my_opac.css @@ -21,16 +21,32 @@ #my_opac_nav_bar { width: 100%; text-align: center; + color: #EFF; } #my_opac_nav_table { - background: #CCF; + /*background: #CCF;*/ + background: #556644; + color: #EFF; width: 60%; } .my_opac_link_cell { text-align: center; + color: #FFF; +} + +.my_opac_link_cell a { + color: #EFF; +} + +.my_opac_link_cell a:visited { + color: #EFF; +} + +.my_opac_link_cell a:active { + color: #EFF; } .my_opac_link_cell a:hover { @@ -38,7 +54,11 @@ } .my_opac_link_cell_active { - background: #CFF; + background: #CCCC66; +} + +.my_opac_link_cell_active a { + color: #000; } #my_opac_info_pane { @@ -50,15 +70,21 @@ } .my_opac_info_table_header { + /* background: #CCF; color: green; - border: 1px solid blue; + */ + background: #556644; + color: #EFF; + border: 1px solid #CCCC66; + padding: 3px; } .my_opac_profile_cell { padding: 7px; - border: 1px solid blue; + /*border: 1px solid blue;*/ + border: 1px solid #CCCC66; } .my_opac_update_table { @@ -66,7 +92,7 @@ border-bottom: 1px solid lightgrey; } -.my_opac_update_table td { - padding-left: 12px; -} +.my_opac_update_table td { padding-left: 12px; } + +.my_opac_addr_table { width: 100%; } diff --git a/Evergreen/css/opac/progress_bar.css b/Evergreen/css/opac/progress_bar.css index e1f659ae2d..0314aeffc2 100644 --- a/Evergreen/css/opac/progress_bar.css +++ b/Evergreen/css/opac/progress_bar.css @@ -1,7 +1,9 @@ #progress_bar_location { z-index: -10; position: absolute; - background: #CCF; + /*background: #CCF;*/ + /*background: #CC6;*/ + background: #f0b42e; width: 98%; height: 32px; border-collapse: collapse; @@ -33,7 +35,9 @@ .progress_bar_done { height: 100%; width: 100%; - background: #CCF; + /*background: #CCF;*/ + /*background: #CC6;*/ + background: #ffb42e; border-collapse: collapse; white-space:nowrap; } @@ -47,7 +51,9 @@ .progress_bar_chunk_active { height: 100%; float: left; - background: #CCF; + /*background: #CCF;*/ + /*background: #CCCC66;*/ + background: #ffb42e; border-collapse: collapse; } diff --git a/Evergreen/css/opac/record_detail.css b/Evergreen/css/opac/record_detail.css index 16c76eb8a1..d6a4101705 100644 --- a/Evergreen/css/opac/record_detail.css +++ b/Evergreen/css/opac/record_detail.css @@ -1,13 +1,19 @@ .copy_tree_div { - border-top: 1px solid blue; + /*border-top: 1px solid blue;*/ + /*border: 1px solid #CCCC66;*/ margin-top: 15px; } .detail_header_cell { - background: #CCF; - color: green; + + /*background: #CCF; border: 1px solid blue; + color: green; */ padding: 3px; + + border: 1px solid #CCCC66; + background: #556644; + color: #FFF; } .detail_item_label { diff --git a/Evergreen/css/opac/record_result.css b/Evergreen/css/opac/record_result.css index 89eaba1b6d..0cd256b8bd 100644 --- a/Evergreen/css/opac/record_result.css +++ b/Evergreen/css/opac/record_result.css @@ -135,9 +135,12 @@ .relevance_box { - border: 1px solid lightgreen; + border: 1px solid #556644; float: right; + /* background: lightgreen; + */ + background: #445533; height: 36px; width: 4px; } @@ -145,7 +148,8 @@ .relevance { width: 100%; font-size: .1em; - background: #EFE; + /*background: #EFE;*/ + background: #EFF; } .record_image { diff --git a/Open-ILS/src/extras/fieldmapper.pl b/Open-ILS/src/extras/fieldmapper.pl index 32da38d321..dface9a216 100755 --- a/Open-ILS/src/extras/fieldmapper.pl +++ b/Open-ILS/src/extras/fieldmapper.pl @@ -8,10 +8,9 @@ my $map = $Fieldmapper::fieldmap; # if a true value is provided, we generate the web (light) version of the fieldmapper my $web = $ARGV[0]; # List of classes needed by the opac -my @web_hints = ("ex", "mvr", "au", "aou", - "aout", "asv", "asva", "asvr", "asvq", - "circ", "acp", "acpl", "acn", "ccs", - "perm_ex", "ahn", "ahr", "aua", "ac", "actscecm"); +my @web_hints = qw/ex mvr au aou aout asv asva asvr asvq + circ acp acpl acn ccs perm_ex ahn ahr aua ac + actscecm crcd crmf crrf/; print < -1) { + isbn = isbn.substring(0, idx); + } + + } else isbn = ""; + */ pic_cell.setAttribute("rowspan","3"); pic_cell.rowSpan = 3; @@ -746,7 +755,10 @@ AbstractRecordResultPage.prototype.buildRecordImage = function(pic_cell, record, } /* use amazon for now */ - var img_src = "http://images.amazon.com/images/P/" +isbn + ".01.MZZZZZZZ.jpg"; + //var img_src = "http://images.amazon.com/images/P/" +isbn + ".01.MZZZZZZZ.jpg"; + //var img_src = "http://www.thecontentserver.com/bin/cntsvr.dll?GetImage&SysID=Content&CustID=Cafe&Return=1&Type=S&Key=" + isbn ; + + var img_src = buildISBNSrc(cleanISBN(record.isbn())); var big_div = createAppElement("div"); add_css_class(big_div, "record_image_big hide_me"); diff --git a/Open-ILS/src/javascript/opac/HoldsWindow.js b/Open-ILS/src/javascript/opac/HoldsWindow.js index a7309b62e8..8d55cdaa8f 100644 --- a/Open-ILS/src/javascript/opac/HoldsWindow.js +++ b/Open-ILS/src/javascript/opac/HoldsWindow.js @@ -57,6 +57,17 @@ HoldsWindow.prototype.process = function() { /* formats is a string of format characters, org is the org unit used for delivery */ HoldsWindow.prototype.sendHoldsRequest = function(formats, org, email, phone) { + + if(isXUL()) { /* staff member entered barcode, now fetch the user */ + var recip_barcode = getById("recipient_barcode").value; + if(!recip_barcode || recip_barcode == "") { + alert("Please enter the user's barcode"); + } + try { + this.recipient = grabUserByBarcode(recip_barcode); + } catch(E) { alert(E.err_msg()); } + } + var hold = new ahr(); hold.pickup_lib(org.id()); hold.requestor(this.requestor.id()); @@ -64,6 +75,7 @@ HoldsWindow.prototype.sendHoldsRequest = function(formats, org, email, phone) { hold.hold_type(this.type); hold.email_notify(email); hold.phone_notify(phone); + if(this.type == "M") hold.holdable_formats(formats); hold.target(this.record); @@ -87,24 +99,38 @@ HoldsWindow.prototype.buildWindow = function(node) { var id = this.record; var usr = this.recipient; - if(!usr) { - var obj = this; - var func = function(usr) { - obj.recipient = usr.userObject; - obj.requestor = usr.userObject; - obj.session = usr.session_id; - obj.toggle(); + var barcodebox = null; + + if(isXUL()) { + /* used by xul to enter the recipient barcode */ + barcodebox = elem("input",{type:"text",id:"recipient_barcode"}); + } else { + + if(!usr) { + var obj = this; + var func = function(usr) { + obj.recipient = usr.userObject; + obj.requestor = usr.userObject; + obj.session = usr.session_id; + obj.toggle(); + } + var diag = new LoginDialog(func); + diag.display(node); + return false; } - var diag = new LoginDialog(func); - diag.display(node); - return false; } + + var org = usr.home_ou(); d.appendChild(this.buildPickuplibSelector(org)); if(this.type == "M") d.appendChild(this.buildResourceSelector()); + + if(barcodebox) + d.appendChild(barcodebox); + d.appendChild(this.buildSubmit()); this.div.appendChild(d); @@ -151,6 +177,8 @@ HoldsWindow.prototype.toggle = function(node) { return true; } + + /* HoldsWindow.prototype.buildHoldsWindowCallback = function(type) { diff --git a/Open-ILS/src/javascript/opac/LocationTree.js b/Open-ILS/src/javascript/opac/LocationTree.js index d4487740c0..098e2a3173 100644 --- a/Open-ILS/src/javascript/opac/LocationTree.js +++ b/Open-ILS/src/javascript/opac/LocationTree.js @@ -83,7 +83,7 @@ LocationTree.prototype.toggle = function(button_div, offsetx, offsety, relative) var obj = this; if( (this.treeBox && this.treeBox.firstChild && this.treeBox.firstChild.nodeType == 3) || - (!this.treeBox.firstChild)) { + (this.treeBox && !this.treeBox.firstChild)) { debug("location tree has not been rendered... rendering.."); //setTimeout(function() { renderTree(obj); }, 5 ); diff --git a/Open-ILS/src/javascript/opac/MRResultPage.js b/Open-ILS/src/javascript/opac/MRResultPage.js index 50f9009b33..84d41379e2 100644 --- a/Open-ILS/src/javascript/opac/MRResultPage.js +++ b/Open-ILS/src/javascript/opac/MRResultPage.js @@ -276,6 +276,9 @@ MRResultPage.prototype.doSearch = function() { debug("Method: " + method); + if(isNaN(this.searchDepth)) this.searchDepth = 0; + if(isNaN(this.searchLocation)) this.searchLocation = 1; + var creq = new RemoteRequest( "open-ils.search", method, this.stype, this.string, this.searchLocation, this.searchDepth ); diff --git a/Open-ILS/src/javascript/opac/MyOPACSPage.js b/Open-ILS/src/javascript/opac/MyOPACSPage.js index 342a773655..38b1a4f23c 100644 --- a/Open-ILS/src/javascript/opac/MyOPACSPage.js +++ b/Open-ILS/src/javascript/opac/MyOPACSPage.js @@ -146,19 +146,49 @@ function _drawCheckedOut(obj, data) { circRow = obj.infoTable.insertRow(obj.infoTable.rows.length); - //var due = new Date(parseInt(circ.due_date() + "000")).toLocaleString(); var due = circ.due_date(); - - /* chop the 'time' portion of the date */ + //due = due.substring(0,10) + "T" + due.substring(12,due.length); due = due.replace(/[0-9][0-9]:.*$/,""); + /* + var year = parseInt(due.substring(0,4)) - 1900; + var month = parseInt(due.substring(5,7)) - 1; + var day = parseInt(due.substring(8,10)); + + //alert(parseInt(due.substring(0,4)) + " " + parseInt(due.substring(5,7)) + " " + parseInt(due.substring(8,10))); + + //alert(year + " " + month + " " + day); + + var date = new Date(year, month, day, 0, 0, 0); + due = date.toString(); + //due = due.replace(/[0-9][0-9]:.*$/,""); + */ + + //alert(date); + /* + alert(due); + due = new Date(due); + alert(due); + */ + + /* + alert(circ.due_date()); + alert(new Date(circ.due_date())); + */ + var title_href = createAppElement("a"); title_href.setAttribute("href","?sub_frame=1&target=record_detail&record=" + record.doc_id() ); title_href.setAttribute("target","_top"); /* escape to the outermost frame */ title_href.appendChild(mktext(record.title())); + /* var renewbox = elem("input", {type:"checkbox", id:"renew_checkbox_" + record.doc_id()}); + */ + + var renewboxlink = mktext("N/A"); + if(parseInt(circ.renewal_remaining()) > 0) + renewboxlink = buildRenewBoxLink(circ); /* grab circ lib name */ var org = obj._getOrgUnit(copy.circ_lib()); @@ -187,12 +217,42 @@ function _drawCheckedOut(obj, data) { barcodeCell.appendChild(mktext(copy.barcode())); circLibCell.appendChild(mktext(org)); renewRemainCell.appendChild(mktext(circ.renewal_remaining())); - renewCell.appendChild(renewbox); + renewCell.appendChild(renewboxlink); } } +function buildRenewBoxLink(circ) { + + var a = elem("a", + {href:"javascript:void(0);",style:"text-decoration:underline"}, null, "Renew"); + var but = elem("input",{type:"submit",value:"Renew Circulation"}); + var can = elem("input",{type:"submit",value:"Cancel"}); + + var box = new PopupBox(a); + a.onclick = function(){box.show();} + can.onclick = function(){box.hide();} + but.onclick = function(){renewCheckout(circ);box.hide();}; + box.title("Renew Circulation"); + box.addText("Are you sure you want to renew the circulation?"); + box.makeGroup([but, can]); + return a; +} + +function renewCheckout(circ) { + var req = new RemoteRequest( + "open-ils.circ", "open-ils.circ.renew", + globalmyopac.user.session_id, circ ); + req.send(true); + + try{var ret = req.getResultObject();}catch(E){return;} + + //alert(js2JSON(ret)); + alert("Renewal completed successfully"); + globalmyopac.draw("checked"); +} + MyOPACSPage.prototype.getCheckedOut = function(callback) { @@ -303,16 +363,22 @@ MyOPACSPage.prototype._drawProfile = function() { bcell2.appendChild(bbold); bcell3.appendChild(mktext(" ")); + /* var addrTable = elem("table"); add_css_class(addrTable, "my_opac_addr_table"); + var row = addrTable.insertRow(0); var mailing = row.insertCell(0); var space = row.insertCell(1); var billing = row.insertCell(2); + */ + /* space.setAttribute("style","width: 30px"); space.appendChild(mktext(" ")); + appendChild(this.mkAddrTable(addrTable, this.userObject.addresses()[a])); + var addr = this.user.userObject.mailing_address(); mailing.appendChild(this.mkAddrTable("Mailing Address", addr)); @@ -320,16 +386,94 @@ MyOPACSPage.prototype._drawProfile = function() { billing.appendChild(this.mkAddrTable("Billing Address", addr)); this.infoPane.appendChild(elem("br")); - /* + */ + + this.infoPane.appendChild(elem("hr")); this.infoPane.appendChild(elem("br")); - this.infoPane.appendChild(addrTable); - */ + this.infoPane.appendChild(this.mkAddrTable(this.user.userObject.addresses())); + +} + +MyOPACSPage.prototype.mkAddrTable = function(addresses) { + + var table = elem("table"); + add_css_class(table, "my_opac_addr_table"); + + var row = table.insertRow(table.rows.length); + var cell = row.insertCell(row.cells.length); + add_css_class(cell, "my_opac_info_table_header"); + cell.appendChild(mktext("Address Type")); + + cell = row.insertCell(row.cells.length); + add_css_class(cell, "my_opac_info_table_header"); + cell.appendChild(mktext("Street")); + + cell = row.insertCell(row.cells.length); + add_css_class(cell, "my_opac_info_table_header"); + cell.appendChild(mktext("City")); + + cell = row.insertCell(row.cells.length); + add_css_class(cell, "my_opac_info_table_header"); + cell.appendChild(mktext("County")); + + cell = row.insertCell(row.cells.length); + add_css_class(cell, "my_opac_info_table_header"); + cell.appendChild(mktext("State")); + + cell = row.insertCell(row.cells.length); + add_css_class(cell, "my_opac_info_table_header"); + cell.appendChild(mktext("Zip Code")); + + cell = row.insertCell(row.cells.length); + add_css_class(cell, "my_opac_info_table_header"); + cell.appendChild(mktext("Valid")); + + for( var a in addresses ) { + var addr = addresses[a]; + var row = table.insertRow(table.rows.length); + var cell = row.insertCell(row.cells.length); + add_css_class(cell, "my_opac_profile_cell"); + cell.appendChild(mktext(addr.address_type())); + + cell = row.insertCell(row.cells.length); + add_css_class(cell, "my_opac_profile_cell"); + var st = addr.street1(); + if(addr.street2()) st += ", " + addr.street2(); + cell.appendChild(mktext(st)); + + cell = row.insertCell(row.cells.length); + add_css_class(cell, "my_opac_profile_cell"); + cell.appendChild(mktext(addr.city())); + + cell = row.insertCell(row.cells.length); + add_css_class(cell, "my_opac_profile_cell"); + cell.appendChild(mktext(addr.county())); + + cell = row.insertCell(row.cells.length); + add_css_class(cell, "my_opac_profile_cell"); + cell.appendChild(mktext(addr.state())); + + cell = row.insertCell(row.cells.length); + add_css_class(cell, "my_opac_profile_cell"); + cell.appendChild(mktext(addr.post_code())); + + var v = "Yes"; + if(addr.valid() != "1") v = "No"; + cell = row.insertCell(row.cells.length); + add_css_class(cell, "my_opac_profile_cell"); + cell.appendChild(mktext(v)); + + } + + return table; } -MyOPACSPage.prototype.mkAddrTable = function(type, addr) { + + +MyOPACSPage.prototype.__mkAddrTable = function(type, addr) { var table = elem("table"); var header_row = table.insertRow(table.rows.length); @@ -1137,7 +1281,6 @@ MyOPACSPage.prototype._addCircs = function(data) { var due = new Date(parseInt(circ.due_date() + "000")).toLocaleString(); - /* chop the 'time' portion of the date */ due = due.replace(/[0-9][0-9]:[0-9][0-9]:[0-9][0-9]/,""); var title_href = createAppElement("a"); @@ -1152,6 +1295,7 @@ MyOPACSPage.prototype._addCircs = function(data) { /* for each circulation, build a small table of data */ var table = createAppElement("table"); this._mkCircRow(table, "Title", title_href); + //this._mkCircRow(table, "Due Date", mktext(due)); this._mkCircRow(table, "Due Date", mktext(due)); this._mkCircRow(table, "Duration", mktext(circ.duration())); this._mkCircRow(table, "Barcode", mktext(copy.barcode())); diff --git a/Open-ILS/src/javascript/opac/RecordDetailPage.js b/Open-ILS/src/javascript/opac/RecordDetailPage.js index 11a72f82f7..d8aa4cd9ef 100644 --- a/Open-ILS/src/javascript/opac/RecordDetailPage.js +++ b/Open-ILS/src/javascript/opac/RecordDetailPage.js @@ -245,10 +245,8 @@ function _buildCustomOrgTree(org_node, root) { RecordDetailPage.prototype.setViewMarc = function(record) { var marcb = elem( "a", - { - href:"javascript:void(0)", - style: "text-decoration:underline" - }, + { href:"javascript:void(0)", + style: "text-decoration:underline;color:#EFF;" }, {}, "View MARC" ); debug(".ou_type()Setting up view marc callback with record " + record.doc_id()); @@ -262,7 +260,7 @@ RecordDetailPage.prototype.setPlaceHold = function(record) { var holds = elem( "a", { href:"javascript:void(0)", - style: "text-decoration:underline" + style: "text-decoration:underline;color:#EFF;" }, {}, "Place Hold" ); @@ -411,14 +409,17 @@ RecordDetailPage.prototype.drawRecord = function(record) { RecordDetailPage.prototype.mkImage = function(record) { var isbn = record.isbn(); + /* if(isbn) isbn = isbn.replace(/\s+/,""); else isbn = ""; + */ var big_pic = elem("a", { - href : "http://images.amazon.com/images/P/" +isbn + ".01.LZZZZZZZ.jpg", + href : "http://images.amazon.com/images/P/" + cleanISBN(isbn) + ".01.LZZZZZZZ.jpg", title : "Click for larger image" } ); - var img_src = "http://images.amazon.com/images/P/" +isbn + ".01.MZZZZZZZ.jpg"; + var img_src = buildISBNSrc(cleanISBN(record.isbn())); + //var img_src = "http://images.amazon.com/images/P/" +isbn + ".01.MZZZZZZZ.jpg"; var pic = elem ( "img", { src : img_src }, { border : "0px none" }); big_pic.appendChild(pic); diff --git a/Open-ILS/src/javascript/util/ils_utils.js b/Open-ILS/src/javascript/util/ils_utils.js index e4082d15c0..ac7d045453 100644 --- a/Open-ILS/src/javascript/util/ils_utils.js +++ b/Open-ILS/src/javascript/util/ils_utils.js @@ -317,5 +317,29 @@ function doLogout() { } +function cleanISBN(isbn) { + if(isbn) { + isbn = isbn.replace(/^\s+/,""); + var idx = isbn.indexOf(" "); + if(idx > -1) { + isbn = isbn.substring(0, idx); + } + + } else isbn = ""; + return isbn + +} + + +function grabUserByBarcode(barcode) { + if(!barcode) return null; + var req = new RemoteRequest( + "open-ils.actor", + "open-ils.actor.user.fleshed.retrieve_by_barcode", + barcode ); + + return req.send(true).getResultObject(); +} + diff --git a/Open-ILS/src/templates/opac/pages/chunks/search_bar_form.ttk b/Open-ILS/src/templates/opac/pages/chunks/search_bar_form.ttk index 620df158d4..2ae80ed951 100644 --- a/Open-ILS/src/templates/opac/pages/chunks/search_bar_form.ttk +++ b/Open-ILS/src/templates/opac/pages/chunks/search_bar_form.ttk @@ -20,6 +20,13 @@ option(value='keyword', content=tm.keyword); option(value='series', content="Series"); END; + + WRAPPER html/select name='format' id='mr_search_format'; + option(value='all', selected='selected', content="All Formats"); + option(value='audiobooks', content="Audiobooks"); + option(value='', content="..."); + END; + space(1); diff --git a/Open-ILS/src/templates/opac/pages/login.ttk b/Open-ILS/src/templates/opac/pages/login.ttk index 33ebe7d8b3..d5632f8255 100644 --- a/Open-ILS/src/templates/opac/pages/login.ttk +++ b/Open-ILS/src/templates/opac/pages/login.ttk @@ -58,6 +58,26 @@ END; # - table END; # - center + + %] + + + + + [% + + + END; # - body END; # - html diff --git a/Open-ILS/src/templates/opac/pages/my_opac_secure.ttk b/Open-ILS/src/templates/opac/pages/my_opac_secure.ttk index a531ecc75d..02befd8c8d 100644 --- a/Open-ILS/src/templates/opac/pages/my_opac_secure.ttk +++ b/Open-ILS/src/templates/opac/pages/my_opac_secure.ttk @@ -9,19 +9,19 @@ link(rel="stylesheet", href="/css/box.css" type="text/css"); link(rel="stylesheet", href="/css/opac_main.css" type="text/css"); - js( src='/js/opac/Page.js' ); - js( src='/js/opac/MyOPACSPage.js' ); - js( src='/js/util/RemoteRequest.js' ); - js( src='/js/util/webutils.js' ); - js( src='/js/util/ils_utils.js' ); - js( src='/js/util/UserSession.js' ); - js( src='/js/util/Cookie.js' ); - js( src='/js/util/ex.js' ); - js( src='/js/widgets/Box.js' ); - js( src='/js/util/JSON.js' ); - js( src='/js/util/web_fieldmapper.js' ); - js( src='/js/util/browser.js' ); - js( src='/js/widgets/PopupBox.js' ); + js( src='http://gapines.org/js/util/JSON.js' ); + js( src='http://gapines.org/js/opac/Page.js' ); + js( src='http://gapines.org/js/opac/MyOPACSPage.js' ); + js( src='http://gapines.org/js/util/RemoteRequest.js' ); + js( src='http://gapines.org/js/util/webutils.js' ); + js( src='http://gapines.org/js/util/ils_utils.js' ); + js( src='http://gapines.org/js/util/UserSession.js' ); + js( src='http://gapines.org/js/util/Cookie.js' ); + js( src='http://gapines.org/js/util/ex.js' ); + js( src='http://gapines.org/js/widgets/Box.js' ); + js( src='http://gapines.org/js/util/web_fieldmapper.js' ); + js( src='http://gapines.org/js/util/browser.js' ); + js( src='http://gapines.org/js/widgets/PopupBox.js' ); WRAPPER html/js; ' diff --git a/Open-ILS/src/templates/opac/pages/opac_start.ttk b/Open-ILS/src/templates/opac/pages/opac_start.ttk index a7fcf09553..a9c7d5a482 100644 --- a/Open-ILS/src/templates/opac/pages/opac_start.ttk +++ b/Open-ILS/src/templates/opac/pages/opac_start.ttk @@ -29,8 +29,6 @@ WRAPPER html/div id='front_search_form'; - "Now searching "; - lines(2); span(id='now_searching_cell', class='front_now_searching'); lines(3); @@ -41,9 +39,13 @@ input(id='mr_search_query', name='mr_search_query', type='textarea', size='54'); - space(1); + #space(1); + lines(2); PROCESS stype_selector; - + space(2); + PROCESS location_input; + space(2); + PROCESS search_range; lines(2); input(type='submit', id='mr_search_button', @@ -51,10 +53,8 @@ space(3); - PROCESS location_input; space(3); - PROCESS search_range; lines(3); anchor( id='login_link', href='?target=my_opac', text = "My OPAC" ); @@ -76,9 +76,18 @@ option(value='keyword', content='Keyword'); option(value='series', content='Series'); END; + + space(2); + WRAPPER html/select name='format' id='mr_search_format'; + option(value='all', selected='selected', content="All Formats"); + option(value='audiobooks', content="Audiobooks"); + option(value='', content="..."); + END; + END; + # --------------------------------------------------------------------------- # location button # --------------------------------------------------------------------------- diff --git a/Open-ILS/src/templates/opac/pages/record_detail.ttk b/Open-ILS/src/templates/opac/pages/record_detail.ttk index b01c5423b7..320d58d137 100644 --- a/Open-ILS/src/templates/opac/pages/record_detail.ttk +++ b/Open-ILS/src/templates/opac/pages/record_detail.ttk @@ -107,6 +107,7 @@ box(id='record_detail_copy_info'); + INCLUDE opac/pages/chunks/org_tree.ttk; END; # body END; # html diff --git a/Open-ILS/src/templates/strings/ex.ttk b/Open-ILS/src/templates/strings/ex.ttk index 2f29a68978..1d9459c032 100644 --- a/Open-ILS/src/templates/strings/ex.ttk +++ b/Open-ILS/src/templates/strings/ex.ttk @@ -36,6 +36,9 @@ IF type == ex_types.UNKNOWN_USER; ret("User is not recognized"); END; + IF type == ex_types.MAX_RENEWALS_REACHED; + ret("The maximun number of renewals has been reached"); END; + ret("Unknown exception occured"); -%] -- 2.43.2