From: erickson Date: Mon, 14 Jul 2008 14:08:07 +0000 (+0000) Subject: Merged revisions 10008-10010,10013,10021,10024 via svnmerge from X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=f6766cf375d5b6a3c657eedaaa38c5b91a126cf2;p=Evergreen.git Merged revisions 10008-10010,10013,10021,10024 via svnmerge from svn://svn.open-ils.org/ILS/trunk ........ r10008 | dbs | 2008-07-10 00:04:44 -0400 (Thu, 10 Jul 2008) | 1 line So long, marcdumper; you served us well, but you have outlived your usefulness. ........ r10009 | dbs | 2008-07-10 00:12:02 -0400 (Thu, 10 Jul 2008) | 2 lines Purge references to marcdumper, now that it's gone ........ r10010 | dbs | 2008-07-10 00:35:46 -0400 (Thu, 10 Jul 2008) | 2 lines Convert these GIF images into real JPEGs ........ r10013 | miker | 2008-07-10 09:03:03 -0400 (Thu, 10 Jul 2008) | 1 line adding DELETE_RECORD to the default permission set ........ r10021 | phasefx | 2008-07-12 22:09:13 -0400 (Sat, 12 Jul 2008) | 1 line Mitigates the script/CPU warning with very large offline patron lists. Still need to make things async and/or broken up to give the UI thread some CPU time in offline.js. ........ r10024 | phasefx | 2008-07-13 20:35:15 -0400 (Sun, 13 Jul 2008) | 1 line Reset the MARC View, Holdings Maintenance, and View Holds interfaces on save in the MARC Editor. We can't reset the OPAC View in the same way without messing up navigation through OPAC events, so need to give that some thought. ........ git-svn-id: svn://svn.open-ils.org/ILS/branches/acq-experiment@10025 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/src/Makefile b/Open-ILS/src/Makefile index 150e6c55f1..98bbe970f5 100644 --- a/Open-ILS/src/Makefile +++ b/Open-ILS/src/Makefile @@ -105,16 +105,6 @@ autojs-install: cp support-scripts/offline-blocked-list.pl $(BINDIR) # this should probably be somewhere else # ----------------------------------------------------------------------------------- -marcdumper: - @echo $@ - make -C extras/marcdumper - -marcdumper-install: - @echo $@ - make -C extras/marcdumper install - -# ----------------------------------------------------------------------------------- - perl-install: @echo $@ @echo "Installing Perl modules to $(PERLDIR)" diff --git a/Open-ILS/src/extras/import/cleanse-usmarc.sh b/Open-ILS/src/extras/import/cleanse-usmarc.sh deleted file mode 100755 index 89f650cc05..0000000000 --- a/Open-ILS/src/extras/import/cleanse-usmarc.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -DUMPER=/home/miker/cvs/ILS/Open-ILS/src/extras/import/../marcdumper/marcdumper - - -$DUMPER -X -f MARC8 -t UTF8 -r '//*[@tag="999"]' $* diff --git a/Open-ILS/src/extras/import/extract-holdings.sh b/Open-ILS/src/extras/import/extract-holdings.sh deleted file mode 100755 index 570d1b1bd7..0000000000 --- a/Open-ILS/src/extras/import/extract-holdings.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -DUMPER=/home/miker/cvs/ILS/Open-ILS/src/extras/import/../marcdumper/marcdumper - - -$DUMPER -X -f MARC8 -t UTF8 -r '/*/*/*[(local-name()="datafield" and (@tag!="035" and @tag!="999")) or local-name()!="datafield"]' $* diff --git a/Open-ILS/src/extras/marcdumper/Makefile b/Open-ILS/src/extras/marcdumper/Makefile deleted file mode 100644 index 9bf2426064..0000000000 --- a/Open-ILS/src/extras/marcdumper/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# -# This utility code requires libxml2 and yaz version 2.0.34 or greater. -# - -CC = gcc -LD = -lxml2 -lyaz -COMP = -O2 -I /usr/include/libxml2/ -I /usr/include/yaz - -all: marcdumper - -marcdumper: marcdumper.c - $(CC) marcdumper.c $(COMP) $(LD) -o $@ - -install: - mkdir -p $(BINDIR) - cp marcdumper $(BINDIR) - -clean: - /bin/rm -f *.o marcdumper - - diff --git a/Open-ILS/src/extras/marcdumper/marcdumper.c b/Open-ILS/src/extras/marcdumper/marcdumper.c deleted file mode 100644 index beb5ed8a24..0000000000 --- a/Open-ILS/src/extras/marcdumper/marcdumper.c +++ /dev/null @@ -1,345 +0,0 @@ -/* -* Copyright (C) 1995-2005, Index Data ApS -* See the file LICENSE for details. -* -* $Id$ -*/ - -#if HAVE_CONFIG_H -#include -#endif - -#include -#include - -#include -#include - -#include -#include -#include -#include -#include - -#if HAVE_LOCALE_H -#include -#endif -#if HAVE_LANGINFO_H -#include -#endif - -#include -#include -#include -#include - -#ifndef SEEK_SET -#define SEEK_SET 0 -#endif -#ifndef SEEK_END -#define SEEK_END 2 -#endif - -#include - -char* clean_marc_xpath = "//*[@tag=\"999\"]"; -char* holdings_xpath = "/*/*[(local-name()='datafield' and " - "(@tag!='035' and @tag!='999')) or local-name()!='datafield']"; - -void prune_doc( xmlDocPtr doc, char* xpath ); -char* _xml_to_string( xmlDocPtr doc ); - -static void usage(const char *prog) { - fprintf (stderr, "Usage: %s -r [xpath] -c [cfile] [-f from] [-t to] [-x] [-O] [-X] [-I] [-v] file...\n", prog); -} - -int main (int argc, char **argv) { - int counter = 0; - - int r; - int libxml_dom_test = 0; - int print_offset = 0; - char *arg; - int verbose = 0; - FILE *inf; - char buf[100001]; - char *prog = *argv; - int no = 0; - int xml = 0; - FILE *cfile = 0; - char *from = 0, *to = 0; - int num = 1; - - #if HAVE_LOCALE_H - setlocale(LC_CTYPE, ""); - #endif - #if HAVE_LANGINFO_H - #ifdef CODESET - to = nl_langinfo(CODESET); - #endif - #endif - - char* prune = NULL; - while ((r = options("pvcr:xOeXIf:t:2", argv, argc, &arg)) != -2) { - - int count; - no++; - - switch (r) { - case 'r': - prune = arg; - xmlKeepBlanksDefault(0); - break; - case 'f': - from = arg; - break; - case 't': - to = arg; - break; - case 'c': - if (cfile) - fclose (cfile); - cfile = fopen (arg, "w"); - break; - case 'x': - xml = YAZ_MARC_SIMPLEXML; - break; - case 'O': - xml = YAZ_MARC_OAIMARC; - break; - //case 'e': /* not supported on older versions of yaz */ - // xml = YAZ_MARC_XCHANGE; - // break; - case 'X': - xml = YAZ_MARC_MARCXML; - break; - case 'I': - xml = YAZ_MARC_ISO2709; - break; - case 'p': - print_offset = 1; - break; - case '2': - libxml_dom_test = 1; - break; - case 0: - - inf = fopen (arg, "rb"); - count = 0; - if (!inf) { - fprintf (stderr, "%s: cannot open %s:%s\n", - prog, arg, strerror (errno)); - exit(1); - } - if (cfile) - fprintf (cfile, "char *marc_records[] = {\n"); - - if (1) { - yaz_marc_t mt = yaz_marc_create(); - yaz_iconv_t cd = 0; - - if (from && to) { - cd = yaz_iconv_open(to, from); - if (!cd) { - fprintf(stderr, "conversion from %s to %s " "unsupported\n", from, to); - exit(2); - } - yaz_marc_iconv(mt, cd); - } - yaz_marc_xml(mt, xml); - yaz_marc_debug(mt, verbose); - - while (1) { - int len; - char *result; - int rlen; - - r = fread (buf, 1, 5, inf); - - if (r < 5) { - if (r && print_offset) - printf ("Extra %d bytes", r); - break; - } - - if (print_offset) { - long off = ftell(inf); - printf ("Record %d offset %ld\n", num, (long) off); - } - - len = atoi_n(buf, 5); - - if (len < 25 || len > 100000) break; - - len = len - 5; - r = fread (buf + 5, 1, len, inf); - - if (r < len) break; - - r = yaz_marc_decode_buf (mt, buf, -1, &result, &rlen); - - if (r <= 0) break; - - - - counter++; - if(!prune) { - - fwrite (result, rlen, 1, stdout); - - } else { - - - xmlDocPtr doc = xmlParseMemory(result, rlen); - - if (doc) { - prune_doc( doc, prune ); - char* marc = _xml_to_string(doc); - fprintf(stdout, "%s", marc); - - free(marc); - xmlFreeDoc(doc); - - } else { - - fprintf(stderr, "xmLParseMemory failed for record %d\n", counter); - } - - } - - - if (cfile) { - - char *p = buf; - int i; - if (count) - fprintf (cfile, ","); - fprintf (cfile, "\n"); - for (i = 0; i < r; i++) { - if ((i & 15) == 0) - fprintf (cfile, " \""); - fprintf (cfile, "\\x%02X", p[i] & 255); - - if (i < r - 1 && (i & 15) == 15) - fprintf (cfile, "\"\n"); - - } - fprintf (cfile, "\"\n"); - } - num++; - } - - count++; - - if (cd) - yaz_iconv_close(cd); - yaz_marc_destroy(mt); - } - - - if (cfile) - fprintf (cfile, "};\n"); - fclose(inf); - break; - case 'v': - verbose++; - break; - default: - usage(prog); - exit (1); - } - } - - if (cfile) - fclose (cfile); - if (!no) { - usage(prog); - exit (1); - } - - fprintf(stderr, "\nProcessed %d Records\n", counter ); - exit (0); -} - - -void prune_doc( xmlDocPtr doc, char* xpath ) { - - xmlXPathContextPtr xpathctx; - xmlXPathObjectPtr object; - - xpathctx = xmlXPathNewContext(doc); - if(xpathctx == NULL) { - fprintf(stderr, "XPATH FAILED"); - return; - } - - object = xmlXPathEvalExpression( BAD_CAST xpath, xpathctx); - if(object == NULL) return; - - int i; - int size = object->nodesetval->nodeNr; - for(i=0; i!= size; i++ ) { - xmlNodePtr cur_node = (xmlNodePtr) object->nodesetval->nodeTab[i]; - xmlUnlinkNode( cur_node ); - xmlFreeNode( cur_node ); - object->nodesetval->nodeTab[i] = NULL; - } - - xmlXPathFreeObject(object); - xmlXPathFreeContext(xpathctx); - - /* remove all comments and PI nodes */ - xmlNodePtr cur = doc->children; - while(cur) { - if( cur->type == XML_COMMENT_NODE || cur->type == XML_PI_NODE ) { - xmlUnlinkNode( cur ); - xmlFreeNode( cur ); - } - cur = cur->next; - } - - -} - -char* _xml_to_string( xmlDocPtr doc ) { - - int bufsize; - xmlChar* xmlbuf; - xmlDocDumpFormatMemory( doc, &xmlbuf, &bufsize, 0 ); - - char* xml = strdup(xmlbuf); - xmlFree(xmlbuf); - - /*** remove the XML declaration */ - int len = strlen(xml); - char tmp[len]; - memset( tmp, 0, len ); - int i; - int found_at = 0; - - /* when we reach the first >, take everything after it */ - for( i = 0; i!= len; i++ ) { - if( xml[i] == 62) { /* ascii > */ - - /* found_at holds the starting index of the rest of the doc*/ - found_at = i + 1; - break; - } - } - - if( found_at ) { - - /* move the shortened doc into the tmp buffer */ - strncpy( tmp, xml + found_at, len - found_at ); - /* move the tmp buffer back into the allocated space */ - memset( xml, 0, len ); - strcpy( xml, tmp ); - } - - int l = strlen(xml)-1; - if( xml[l] == 10 || xml[l] == 13 ) - xml[l] = '\0'; - - return xml; - -} diff --git a/Open-ILS/src/sql/Pg/950.data.seed-values.sql b/Open-ILS/src/sql/Pg/950.data.seed-values.sql index 64ecf63a0a..e1aa61f0ea 100644 --- a/Open-ILS/src/sql/Pg/950.data.seed-values.sql +++ b/Open-ILS/src/sql/Pg/950.data.seed-values.sql @@ -1048,6 +1048,8 @@ INSERT INTO permission.perm_list VALUES (175, 'ADMIN_PROVIDER', oils_i18n_gettext('Allow a user to create/view/update/delete a provider')), (176, 'MANAGE_PROVIDER', oils_i18n_gettext('Allow a user to view and purchase from a provider')), (177, 'VIEW_PICKLIST', oils_i18n_gettext('Allow a user to view another users picklist')); +INSERT INTO permission.perm_list VALUES + (153, 'DELETE_RECORD', oils_i18n_gettext('Allow a staff member to directly remove a bibliographic record')); SELECT SETVAL('permission.perm_list_id_seq'::TEXT, (SELECT MAX(id) FROM permission.perm_list)); diff --git a/Open-ILS/web/opac/images/tor/sound recording-musical.jpg b/Open-ILS/web/opac/images/tor/sound recording-musical.jpg index fd2232c876..6c648d3738 100644 Binary files a/Open-ILS/web/opac/images/tor/sound recording-musical.jpg and b/Open-ILS/web/opac/images/tor/sound recording-musical.jpg differ diff --git a/Open-ILS/web/opac/images/tor/sound recording-nonmusical.jpg b/Open-ILS/web/opac/images/tor/sound recording-nonmusical.jpg index fd2232c876..6c648d3738 100644 Binary files a/Open-ILS/web/opac/images/tor/sound recording-nonmusical.jpg and b/Open-ILS/web/opac/images/tor/sound recording-nonmusical.jpg differ diff --git a/Open-ILS/web/opac/images/tor/sound recording.jpg b/Open-ILS/web/opac/images/tor/sound recording.jpg index fd2232c876..6c648d3738 100644 Binary files a/Open-ILS/web/opac/images/tor/sound recording.jpg and b/Open-ILS/web/opac/images/tor/sound recording.jpg differ diff --git a/Open-ILS/web/opac/images/tor/still images.jpg b/Open-ILS/web/opac/images/tor/still images.jpg index 77f617168e..8e0c725b15 100644 Binary files a/Open-ILS/web/opac/images/tor/still images.jpg and b/Open-ILS/web/opac/images/tor/still images.jpg differ diff --git a/Open-ILS/xul/staff_client/chrome/content/OpenILS/data.js b/Open-ILS/xul/staff_client/chrome/content/OpenILS/data.js index 055d1e085d..4cb9345a55 100644 --- a/Open-ILS/xul/staff_client/chrome/content/OpenILS/data.js +++ b/Open-ILS/xul/staff_client/chrome/content/OpenILS/data.js @@ -157,7 +157,7 @@ OpenILS.data.prototype = { var data_cache=new OpenILS( ); for (var i = 0; i < arguments.length; i++) { try { - if (arguments[i] != 'hash' && arguments[i] != 'list') this.error.sdump('D_DATA_STASH','stashing ' + arguments[i] + ' : ' + this[arguments[i]] + (typeof this[arguments[i]] == 'object' ? ' = ' + js2JSON(this[arguments[i]]) : '') + '\n'); + if (arguments[i] != 'hash' && arguments[i] != 'list') this.error.sdump('D_DATA_STASH','stashing ' + arguments[i] + ' : ' + this[arguments[i]] + (typeof this[arguments[i]] == 'object' ? ' = ' + (this[arguments[i]]) : '') + '\n'); } catch(F) { alert(F); } data_cache.wrappedJSObject.OpenILS.prototype.data[arguments[i]] = this[arguments[i]]; } diff --git a/Open-ILS/xul/staff_client/chrome/content/cat/opac.js b/Open-ILS/xul/staff_client/chrome/content/cat/opac.js index caf3c80f24..be0b4284bf 100644 --- a/Open-ILS/xul/staff_client/chrome/content/cat/opac.js +++ b/Open-ILS/xul/staff_client/chrome/content/cat/opac.js @@ -78,6 +78,9 @@ function set_marc_edit() { 'func' : function (new_marcxml) { try { var r = g.network.simple_request('MARC_XML_RECORD_UPDATE', [ ses(), docid, new_marcxml ]); + marc_view_reset = true; + copy_browser_reset = true; + hold_browser_reset = true; if (typeof r.ilsevent != 'undefined') { throw(r); } else { diff --git a/install.conf.default b/install.conf.default index ccaa4ef932..4f4975490b 100644 --- a/install.conf.default +++ b/install.conf.default @@ -21,14 +21,12 @@ # openils_all - builds all OpenILS compenents # openils_core - install the Open-ILS perl modules, and core files for running and openils server # openils_web - copies over the javascript and html templates to the web root directory for running the OPAC -# openils_marcdumper - utility code for converting MARC to MARCXML # openils_db - installs the database schemas # openils_reporter - installs the base of OpenILS Reporter # # evergreen_core - builds core Evergreen components (does not build evergreen_xul_client!) # evergreen_xul_client - client XUL application # -# Build marcdumper only if you need to convert MARC binary files to MARCXML. # If you only want to build the client app, then just build evergreen_xul_client. # -------------------------------------------------------------------- diff --git a/install.sh b/install.sh index 32839e0b06..c2dde7fbbd 100755 --- a/install.sh +++ b/install.sh @@ -164,11 +164,6 @@ function runInstall { fi; ;; - "openils_marcdumper" ) - if building; then $MAKE -C "$OPENILSDIR" "marcdumper"; fi; - if installing; then $MAKE -C "$OPENILSDIR" "marcdumper-install"; fi; - ;; - "openils_db" ) if installing; then $MAKE -C "$OPENILSDIR" "storage-bootstrap";