added method to get list of record_descriptor object from metarecord
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 14 Jun 2006 21:57:21 +0000 (21:57 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 14 Jun 2006 21:57:21 +0000 (21:57 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@4620 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/Makefile
Open-ILS/src/c-apps/Makefile
Open-ILS/src/perlmods/OpenILS/Application/Search/Biblio.pm

index f62aa61..b50233a 100644 (file)
@@ -71,14 +71,14 @@ server-xul:
 webcore-install:
        @echo $@
        echo "Copying web into $(WEBDIR)"
-       mkdir -p $(WEBDIR)
-       cp -r ../web/* $(WEBDIR)
-       ln -sf $(WEBDIR)/opac/skin/default/xml/index.xml $(WEBDIR)/opac/skin/default/xml/mresult.xml
-       ln -sf $(WEBDIR)/opac/skin/default/xml/index.xml $(WEBDIR)/opac/skin/default/xml/rresult.xml
-       ln -sf $(WEBDIR)/opac/skin/default/xml/index.xml $(WEBDIR)/opac/skin/default/xml/rdetail.xml
-       ln -sf $(WEBDIR)/opac/skin/default/xml/index.xml $(WEBDIR)/opac/skin/default/xml/advanced.xml
-       ln -sf $(WEBDIR)/opac/skin/default/xml/index.xml $(WEBDIR)/opac/skin/default/xml/myopac.xml
-       cp ../xul/staff_client/chrome//content//util/date.js $(WEBDIR)/opac/common/js/
+#      mkdir -p $(WEBDIR)
+#      cp -r ../web/* $(WEBDIR)
+#      ln -sf $(WEBDIR)/opac/skin/default/xml/index.xml $(WEBDIR)/opac/skin/default/xml/mresult.xml
+#      ln -sf $(WEBDIR)/opac/skin/default/xml/index.xml $(WEBDIR)/opac/skin/default/xml/rresult.xml
+#      ln -sf $(WEBDIR)/opac/skin/default/xml/index.xml $(WEBDIR)/opac/skin/default/xml/rdetail.xml
+#      ln -sf $(WEBDIR)/opac/skin/default/xml/index.xml $(WEBDIR)/opac/skin/default/xml/advanced.xml
+#      ln -sf $(WEBDIR)/opac/skin/default/xml/index.xml $(WEBDIR)/opac/skin/default/xml/myopac.xml
+#      cp ../xul/staff_client/chrome//content//util/date.js $(WEBDIR)/opac/common/js/
 
 libfieldmapper:        
        make -C apachemods libfieldmapper.so
@@ -101,6 +101,7 @@ autojs-install:
        cp extras/fieldmapper.pl $(BINDIR)
        cp extras/org_tree_js.pl $(BINDIR)
        cp extras/autogen.sh $(BINDIR)
+       cp support-scripts/offline-blocked-list.pl $(BINDIR) # this should probably be somewhere else
 # -----------------------------------------------------------------------------------
 
 marcdumper:
index 6269c87..1c1fcf0 100644 (file)
@@ -2,8 +2,8 @@ LDLIBS += -lobjson -lopensrf -lfieldmapper
 CFLAGS += -DOSRF_LOG_PARAMS
 
 #all:  oils_auth.so oils_fetch.so oils_cstore.so
-#all:  oils_auth.so oils_cstore.so
-all:   oils_auth.so
+all:   oils_auth.so oils_cstore.so
+#all:  oils_auth.so
 
 oils_event.o:  oils_event.c oils_event.h
 oils_utils.o:  oils_utils.c oils_utils.h
@@ -40,7 +40,7 @@ install:
        @echo $@;
        cp $(TMPDIR)/oils_auth.so $(LIBDIR)/
        #cp $(TMPDIR)/oils_fetch.so $(LIBDIR)/
-       #cp $(TMPDIR)/oils_cstore.so $(LIBDIR)/
+       cp $(TMPDIR)/oils_cstore.so $(LIBDIR)/
        cp $(TMPDIR)/liboils_utils.so $(LIBDIR)/
        mkdir -p $(INCDIR)/
        cp oils_utils.h $(INCDIR)
index a0da157..5c215ae 100644 (file)
@@ -498,6 +498,13 @@ sub _grab_metarecord {
        my $mrid = shift;
        my $e = OpenILS::Utils::Editor->new;
        my $mr = $e->retrieve_metabib_metarecord($mrid) or return ( undef, $e->event );
+
+       # XXX - test
+#      my $mr = $U->simplereq(
+#              'open-ils.cstore', 
+#              'open-ils.cstore.direct.metabib.metarecord.retrieve', 
+#              $mrid);
+
        return ($mr);
 }
 
@@ -1049,6 +1056,50 @@ sub fetch_slim_record {
 
 
 
+__PACKAGE__->register_method(
+       method => 'rec_to_mr_rec_descriptors',
+       api_name        => 'open-ils.search.metabib.record_to_descriptors',
+       signature       => q/
+               specialized method...
+               Given a biblio record id or a metarecord id, 
+               this returns a list of metabib.record_descriptor
+               objects that live within the same metarecord
+               @param args Object of args including:
+       /
+);
+
+sub rec_to_mr_rec_descriptors {
+       my( $self, $conn, $args ) = @_;
+
+       my $rec = $$args{record};
+       my $mrec        = $$args{metarecord};
+       my $item_forms = $$args{item_forms};
+       my $item_types  = $$args{item_types};
+       my $item_lang   = $$args{item_lang};
+
+       my $e = new_editor();
+       my $recs;
+
+       if( $rec ) {
+               my $map = $e->search_metabib_metarecord_source_map({source => $rec});
+               return $e->event unless @$map;
+               $recs = $e->search_metabib_metarecord_source_map({metarecord => $$map[0]->metarecord});
+
+       } else {
+               $recs = $e->search_metabib_metarecord_source_map({metarecord => $mrec});
+       }
+
+       return $e->event unless @$recs;
+
+       my @recs = map { $_->source } @$recs;
+       my $search = { record => \@recs };
+       $search->{item_form} = $item_forms if $item_forms and @$item_forms;
+       $search->{item_type} = $item_types if $item_types and @$item_types;
+       $search->{item_lang} = $item_lang if $item_lang;
+
+       return $e->search_metabib_record_descriptor($search);
+}
+