From: erickson Date: Mon, 21 Jan 2008 21:11:50 +0000 (+0000) Subject: added basic picklist and entry delete. indicating in header of auto-login is turned on X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=abb188fb241766a4fee908fdafb3057f00066a7a;p=Evergreen.git added basic picklist and entry delete. indicating in header of auto-login is turned on git-svn-id: svn://svn.open-ils.org/ILS/branches/acq-experiment@8451 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/web/oilsweb/oilsweb/controllers/acq/__init__.py b/Open-ILS/web/oilsweb/oilsweb/controllers/acq/__init__.py index dec48a48c7..519c1625b5 100644 --- a/Open-ILS/web/oilsweb/oilsweb/controllers/acq/__init__.py +++ b/Open-ILS/web/oilsweb/oilsweb/controllers/acq/__init__.py @@ -32,6 +32,7 @@ class AcqContext(SubContext): self.picklist = ContextItem() # picklist object self.picklist_list = ContextItem() # list of picklist objects + self.picklist_id_list = ContextItem() # list of picklist objects self.picklist_entry = ContextItem() # picklist_entry object # ------------------------------------------------------------- diff --git a/Open-ILS/web/oilsweb/oilsweb/controllers/acq/picklist.py b/Open-ILS/web/oilsweb/oilsweb/controllers/acq/picklist.py index 3ea4af4399..e5b246945a 100644 --- a/Open-ILS/web/oilsweb/oilsweb/controllers/acq/picklist.py +++ b/Open-ILS/web/oilsweb/oilsweb/controllers/acq/picklist.py @@ -54,35 +54,19 @@ class PicklistController(BaseController): r = RequestMgr() picklist_id = oilsweb.lib.acq.search.multi_search( r, oilsweb.lib.acq.search.compile_multi_search(r)) - return redirect_to('view/%d' % int(picklist_id)) + return redirect_to(controller='acq/picklist', action='view', id=picklist_id) - ''' - def rdetails(self): + def delete(self, **kwargs): r = RequestMgr() - rec_id = r.ctx.acq.record_id - cache_key = r.ctx.acq.search_cache_key - - results = osrf.cache.CacheClient().get(cache_key) - rec = self._find_cached_record(results, rec_id) - if rec: - r.ctx.acq.record = rec - r.ctx.acq.record_html = oilsweb.lib.bib.marc_to_html(rec['marcxml']) - return r.render('acq/picklist/rdetails.html') - return 'exception -> no record' + pl_manager = oilsweb.lib.acq.picklist.PicklistMgr(r, picklist_id=kwargs['id']) + pl_manager.delete() + return redirect_to(controller='acq/picklist', action='list') - def create_picklist(self): + def delete_entry(self, **kwargs): r = RequestMgr() - if not isinstance(r.ctx.acq.picklist_item, list): - r.ctx.acq.picklist_item = [r.ctx.acq.picklist_item] - - results = osrf.cache.CacheClient().get(r.ctx.acq.search_cache_key) - - records = [] - for cache_id in r.ctx.acq.picklist_item: - rec = self._find_cached_record(results, cache_id) - records.append(rec) - - c.oils_acq_records = records # XXX - return r.render('acq/picklist/view.html') -''' + pl_manager = oilsweb.lib.acq.picklist.PicklistMgr(r) + entry_id = kwargs['id'] + entry = pl_manager.retrieve_entry(entry_id) + pl_manager.delete_entry(entry_id) + return redirect_to(controller='acq/picklist', action='view', id=entry.picklist()) diff --git a/Open-ILS/web/oilsweb/oilsweb/lib/acq/picklist.py b/Open-ILS/web/oilsweb/oilsweb/lib/acq/picklist.py index 0c7ee00744..a50b2a7081 100644 --- a/Open-ILS/web/oilsweb/oilsweb/lib/acq/picklist.py +++ b/Open-ILS/web/oilsweb/oilsweb/lib/acq/picklist.py @@ -9,7 +9,6 @@ class PicklistMgr(object): self.ses = osrf.ses.ClientSession(oils.const.OILS_APP_ACQ) def retrieve(self): - picklist = self.ses.request( 'open-ils.acq.picklist.retrieve', self.request_mgr.ctx.core.authtoken, self.id).recv().content() @@ -17,6 +16,22 @@ class PicklistMgr(object): oils.event.Event.parse_and_raise(picklist) self.picklist = picklist + def delete(self, picklist_id=None): + picklist_id = picklist_id or self.id + status = self.ses.request( + 'open-ils.acq.picklist.delete', + self.request_mgr.ctx.core.authtoken, picklist_id).recv().content() + oils.event.Event.parse_and_raise(status) + return status + + def delete_entry(self, entry_id): + status = self.ses.request( + 'open-ils.acq.picklist_entry.delete', + self.request_mgr.ctx.core.authtoken, entry_id).recv().content() + oils.event.Event.parse_and_raise(status) + return status + + def retrieve_entries(self, **kwargs): # grab the picklist entries entries = self.ses.request( @@ -74,20 +89,18 @@ class PicklistMgr(object): 'open-ils.acq.picklist.name.retrieve', self.request_mgr.ctx.core.authtoken, pl_name).recv() if data: - picklist = data.content() - status = self.ses.request( - 'open-ils.acq.picklist.delete', - self.request_mgr.ctx.core.authtoken, picklist.id()).recv().content() - oils.event.Event.parse_and_raise(status) + self.delete(data.content().id()) # create the new one picklist = osrf.net_obj.NetworkObject.acqpl() picklist.name(pl_name) picklist.owner(self.request_mgr.ctx.core.user.id()) + picklist = self.ses.request( 'open-ils.acq.picklist.create', self.request_mgr.ctx.core.authtoken, picklist).recv().content() oils.event.Event.parse_and_raise(picklist) + return picklist def create_entry(self, entry): diff --git a/Open-ILS/web/oilsweb/oilsweb/public/oils/media/css/skin/default.css b/Open-ILS/web/oilsweb/oilsweb/public/oils/media/css/skin/default.css index 1c77de35e5..f90dec2907 100644 --- a/Open-ILS/web/oilsweb/oilsweb/public/oils/media/css/skin/default.css +++ b/Open-ILS/web/oilsweb/oilsweb/public/oils/media/css/skin/default.css @@ -18,6 +18,7 @@ body { margin-top: 0px; padding-top: 0px;} #oils-base-navigate-table td { width: 100%; } #oils-base-sidebar-block { width: 15%; vertical-align: top; float:left;} +#oils-base-header-auto-login { padding-right: 20px; } #oils-base-header-block { width: 100%; text-align: right; margin-top: 0px; padding-bottom: 4px;} #oils-base-footer-block { width: 100%; text-align: center; vertical-align: bottom;} diff --git a/Open-ILS/web/oilsweb/oilsweb/public/oils/media/css/theme/default/acq.css b/Open-ILS/web/oilsweb/oilsweb/public/oils/media/css/theme/default/acq.css index 3e65f9165c..ea931fbb73 100644 --- a/Open-ILS/web/oilsweb/oilsweb/public/oils/media/css/theme/default/acq.css +++ b/Open-ILS/web/oilsweb/oilsweb/public/oils/media/css/theme/default/acq.css @@ -25,6 +25,7 @@ .oils-acq-picklist-records-phys_desc-row { border-bottom: 1px solid #6BA160; } .oils-acq-picklist-picklist-td { border-style: solid; border-color: #A1A1A1; border-width: 0px 1px 0px 1px; } .oils-acq-picklist-records-service-td { font-size: 85%; } +.oils-acq-picklist-entry-delete-link { font-size: 85%; } /* entry display */ #oils-acq-picklist-entry-marc-block { border: 1px solid #6BA160; } diff --git a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/picklist/view.html b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/picklist/view.html index 5d067349ab..2bd51a3719 100644 --- a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/picklist/view.html +++ b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/picklist/view.html @@ -52,6 +52,7 @@ ${c.oils.acq.find_entry_attr(entry, "isbn")} | ${c.oils.acq.find_entry_attr(entry, "pubdate")} | ${c.oils.acq.find_entry_attr(entry, "pagination")} + ${_('Delete')} % endfor diff --git a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/picklist/view_list.html b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/picklist/view_list.html index 30b39963d2..083945030b 100644 --- a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/picklist/view_list.html +++ b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/picklist/view_list.html @@ -11,6 +11,8 @@ ${_('Name')} ${_('Create Time')} ${_('Edit Time')} + + @@ -19,6 +21,7 @@ ${picklist.name()} ${picklist.create_time()} ${picklist.edit_time()} + ${_('Delete')} % endfor diff --git a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/header.html b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/header.html index db5dab8c81..0860439437 100644 --- a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/header.html +++ b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/header.html @@ -1,5 +1,15 @@ # -*- coding: utf-8 -*-
+ <% + import pylons + if 'oils_demo_user' in pylons.config: + auto_login = True + else: + auto_login = False + %> + % if auto_login: + ${_('Auto-login is enabled')}| + % endif ${c.oils.core.user.usrname()} / ${c.oils.core.workstation.name()}