Merged revisions 10008-10010,10013,10021,10024 via svnmerge from
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Mon, 14 Jul 2008 14:08:07 +0000 (14:08 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Mon, 14 Jul 2008 14:08:07 +0000 (14:08 +0000)
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

14 files changed:
Open-ILS/src/Makefile
Open-ILS/src/extras/import/cleanse-usmarc.sh [deleted file]
Open-ILS/src/extras/import/extract-holdings.sh [deleted file]
Open-ILS/src/extras/marcdumper/Makefile [deleted file]
Open-ILS/src/extras/marcdumper/marcdumper.c [deleted file]
Open-ILS/src/sql/Pg/950.data.seed-values.sql
Open-ILS/web/opac/images/tor/sound recording-musical.jpg
Open-ILS/web/opac/images/tor/sound recording-nonmusical.jpg
Open-ILS/web/opac/images/tor/sound recording.jpg
Open-ILS/web/opac/images/tor/still images.jpg
Open-ILS/xul/staff_client/chrome/content/OpenILS/data.js
Open-ILS/xul/staff_client/chrome/content/cat/opac.js
install.conf.default
install.sh

index 150e6c5..98bbe97 100644 (file)
@@ -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 (executable)
index 89f650c..0000000
+++ /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 (executable)
index 570d1b1..0000000
+++ /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 (file)
index 9bf2426..0000000
+++ /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 (file)
index beb5ed8..0000000
+++ /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 <config.h>
-#endif
-
-#include <libxml/parser.h>
-#include <libxml/tree.h>
-
-#include <libxml/xpath.h>
-#include <libxml/xpathInternals.h>
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-#include <assert.h>
-
-#if HAVE_LOCALE_H
-#include <locale.h>
-#endif
-#if HAVE_LANGINFO_H
-#include <langinfo.h>
-#endif
-
-#include <yaz/marcdisp.h>
-#include <yaz/yaz-util.h>
-#include <yaz/xmalloc.h>
-#include <yaz/options.h>
-
-#ifndef SEEK_SET
-#define SEEK_SET 0
-#endif
-#ifndef SEEK_END
-#define SEEK_END 2
-#endif
-
-#include <fcntl.h>
-
-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;
-
-}
index 64ecf63..e1aa61f 100644 (file)
@@ -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));
 
index fd2232c..6c648d3 100644 (file)
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
index fd2232c..6c648d3 100644 (file)
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
index fd2232c..6c648d3 100644 (file)
Binary files a/Open-ILS/web/opac/images/tor/sound recording.jpg and b/Open-ILS/web/opac/images/tor/sound recording.jpg differ
index 77f6171..8e0c725 100644 (file)
Binary files a/Open-ILS/web/opac/images/tor/still images.jpg and b/Open-ILS/web/opac/images/tor/still images.jpg differ
index 055d1e0..4cb9345 100644 (file)
@@ -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]];
                        }
index caf3c80..be0b428 100644 (file)
@@ -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 {
index ccaa4ef..4f49754 100644 (file)
 # 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.
 # --------------------------------------------------------------------
 
index 32839e0..c2dde7f 100755 (executable)
@@ -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";