From: erickson Date: Fri, 21 Dec 2007 16:34:06 +0000 (+0000) Subject: added rudimentary picklist interface. just prints what is going in for now.. X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=e21d91661286140e9bc430d4d0487a14a5ac360b;p=Evergreen.git added rudimentary picklist interface. just prints what is going in for now.. git-svn-id: svn://svn.open-ils.org/ILS/branches/acq-experiment@8269 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/web/oilsweb/oilsweb/controllers/acq.py b/Open-ILS/web/oilsweb/oilsweb/controllers/acq.py index 8b6b684ae6..6df8567296 100644 --- a/Open-ILS/web/oilsweb/oilsweb/controllers/acq.py +++ b/Open-ILS/web/oilsweb/oilsweb/controllers/acq.py @@ -21,6 +21,7 @@ class AcqContext(SubContext): self.search_cache_key = ContextItem(cgi_name='acq.sk') self.record_id = ContextItem(cgi_name='acq.r') self.record = ContextItem(cgi_name='acq.r') + self.picklist_item = ContextItem(cgi_name='acq.pi', multi=True) Context.applySubContext('acq', AcqContext) @@ -84,14 +85,38 @@ class AcqController(BaseController): cache_key = c.oils.acq.search_cache_key results = osrf.cache.CacheClient().get(cache_key) - for res in results: - for rec in res['records']: - if str(rec['cache_id']) == str(rec_id): - c.oils.acq.record = rec - #c.oils.acq.record_html = oilsweb.lib.bib.marc_to_html(rec['marcxml']) - return render('oils/%s/acq/rdetails.html' % c.oils.core.skin) + rec = self._find_cached_record(results, rec_id) + if rec: + c.oils.acq.record = rec + #c.oils.acq.record_html = oilsweb.lib.bib.marc_to_html(rec['marcxml']) + return render('oils/%s/acq/rdetails.html' % c.oils.core.skin) return 'exception -> no record' + def create_picklist(self): + ctx = oilsweb.lib.context.Context.init(request) + if not isinstance(ctx.acq.picklist_item, list): + ctx.acq.picklist_item = [ctx.acq.picklist_item] + + results = osrf.cache.CacheClient().get(ctx.acq.search_cache_key) + + records = [] + for cache_id in ctx.acq.picklist_item: + rec = self._find_cached_record(results, cache_id) + records.append(rec) + log.debug('pi = ' + unicode(cache_id)) + + c.oils_acq_records = records + ctx.scrub_isbn = oilsweb.lib.bib.scrub_isbn # XXX add more generically to the context object + ctx.acq.extract_bib_field = oilsweb.lib.acq.search.extract_bib_field + c.oils = ctx + return render('oils/%s/acq/picklist.html' % c.oils.core.skin) + return "PL" + + def _find_cached_record(self, results, cache_id): + for res in results: + for rec in res['records']: + if str(rec['cache_id']) == str(cache_id): + return rec diff --git a/Open-ILS/web/oilsweb/oilsweb/public/oils/media/css/skin/acq_default.css b/Open-ILS/web/oilsweb/oilsweb/public/oils/media/css/skin/acq_default.css index 15ef414f0e..10d76ae648 100644 --- a/Open-ILS/web/oilsweb/oilsweb/public/oils/media/css/skin/acq_default.css +++ b/Open-ILS/web/oilsweb/oilsweb/public/oils/media/css/skin/acq_default.css @@ -10,9 +10,9 @@ .oils-acq-search-form-input {} #oils-acq-pl_builder-table td {} -.oils-acq-pl_builder-records-jacket { width: 42px; height: 54px; padding-left: 10px; } -.oils-acq-pl_builder-records-title-row {} -.oils-acq-pl_builder-records-author-row td { padding-left: 30px; } -.oils-acq-pl_builder-records-phys_desc-row td { padding-left: 30px; } -.oils-acq-pl_builder-records-phys_desc-row {} +.oils-acq-record_list-records-jacket { width: 42px; height: 54px; padding-left: 10px; } +.oils-acq-record_list-records-title-row {} +.oils-acq-record_list-records-author-row td { padding-left: 30px; } +.oils-acq-record_list-records-phys_desc-row td { padding-left: 30px; } +.oils-acq-record_list-records-phys_desc-row {} #oils-acq-rdetail-marc-block { margin-top: 10px; padding: 10px; } diff --git a/Open-ILS/web/oilsweb/oilsweb/public/oils/media/css/theme/acq_default.css b/Open-ILS/web/oilsweb/oilsweb/public/oils/media/css/theme/acq_default.css index c9acd4ae92..b1b943afa0 100644 --- a/Open-ILS/web/oilsweb/oilsweb/public/oils/media/css/theme/acq_default.css +++ b/Open-ILS/web/oilsweb/oilsweb/public/oils/media/css/theme/acq_default.css @@ -9,3 +9,6 @@ #oils-acq-pl_builder-table thead td { font-weight: bold; } #oils-acq-pl_builder-table td { border-bottom: 1px solid #808080;} #oils-acq-rdetail-marc-block { border-top: 1px solid #808080; } +.oils-acq-record_list-picklist-td { background: #D0D0D0; } +.oils-acq-record_list-records-service-td { font-size: 85%; } +#oils-acq-pl_builder-picklist-submit { text-align: right; } diff --git a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/picklist.html b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/picklist.html new file mode 100644 index 0000000000..76607bbce1 --- /dev/null +++ b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/picklist.html @@ -0,0 +1,31 @@ +<%inherit file='../base.html'/> +<%def name="block_title()">${_('Evergreen ACQ Picklist')} +<%def name="block_content()"> +
Building picklist with...
+ + % for rec in c.oils_acq_records: + + + + + + + + + + + + + + % endfor +
+ + + ${c.oils.acq.extract_bib_field(rec, 'title')} + --source info--
${c.oils.acq.extract_bib_field(rec, 'author')}
+ ${c.oils.scrub_isbn(c.oils.acq.extract_bib_field(rec, 'isbns.isbn'))} | + ${c.oils.acq.extract_bib_field(rec, 'pubdate')} | + ${c.oils.acq.extract_bib_field(rec, 'physicalSize')} +
+ diff --git a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/pl_builder.html b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/pl_builder.html index b978e536c8..f56021c19f 100644 --- a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/pl_builder.html +++ b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/pl_builder.html @@ -1,6 +1,8 @@ <%inherit file='../base.html'/> <%def name="block_title()">${_('Evergreen Acquisitions Results')} <%def name="block_content()"> +
+ + <%include file="record_list.html"/> + + + +
+ +
+
diff --git a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/record_list.html b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/record_list.html new file mode 100644 index 0000000000..334b700dd3 --- /dev/null +++ b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/record_list.html @@ -0,0 +1,31 @@ +% for res in c.oils_acq_records: + % for rec in res['records']: + + + + + + ${c.oils.acq.extract_bib_field(rec, 'title')} + + ${res['service']} + + + + + + + ${c.oils.acq.extract_bib_field(rec, 'author')} + + + + ${c.oils.scrub_isbn(c.oils.acq.extract_bib_field(rec, 'isbns.isbn'))} | + ${c.oils.acq.extract_bib_field(rec, 'pubdate')} | + ${c.oils.acq.extract_bib_field(rec, 'physicalSize')} + + + % endfor +% endfor +