From: erickson Date: Wed, 9 Jul 2008 21:01:02 +0000 (+0000) Subject: deleted a pile of old test python code. X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=98986244482b6fc36bdb8f520c725b385892dbad;p=Evergreen.git deleted a pile of old test python code. git-svn-id: svn://svn.open-ils.org/ILS/branches/acq-experiment@10006 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 83639e3135..3f629bed41 100644 --- a/Open-ILS/web/oilsweb/oilsweb/controllers/acq/__init__.py +++ b/Open-ILS/web/oilsweb/oilsweb/controllers/acq/__init__.py @@ -1,5 +1,4 @@ from oilsweb.lib.context import Context, SubContext, ContextItem -import oilsweb.lib.acq.picklist # ---------------------------------------------------------------- # Define the CGI params for this application diff --git a/Open-ILS/web/oilsweb/oilsweb/controllers/acq/fund.py b/Open-ILS/web/oilsweb/oilsweb/controllers/acq/fund.py index c3b5c7a8f8..c88ecbada6 100644 --- a/Open-ILS/web/oilsweb/oilsweb/controllers/acq/fund.py +++ b/Open-ILS/web/oilsweb/oilsweb/controllers/acq/fund.py @@ -1,7 +1,7 @@ from oilsweb.lib.base import * import pylons from oilsweb.lib.request import RequestMgr -import oilsweb.lib.acq.fund, oilsweb.lib.user +import oilsweb.lib.user import osrf.net_obj import oils.const from osrf.ses import ClientSession @@ -11,15 +11,6 @@ from oils.org import OrgUtil class FundController(BaseController): - def _retrieve_fund(self, r, ses, fund_id): - ''' Retrieves a fund object with summary and fleshse the org field ''' - fund = ses.request('open-ils.acq.fund.retrieve', - r.ctx.core.authtoken.value, fund_id, {"flesh_summary":1}).recv().content() - Event.parse_and_raise(fund) - fund.org(OrgUtil.get_org_unit(fund.org())) # flesh the org - return fund - - def view(self, **kwargs): r = RequestMgr() r.ctx.acq.fund_id = kwargs['id'] @@ -28,74 +19,4 @@ class FundController(BaseController): def list(self): return RequestMgr().render('acq/financial/list_funds.html') - def create(self): - r = RequestMgr() - ses = ClientSession(oils.const.OILS_APP_ACQ) - - if r.ctx.acq.fund_name.value: # create then display the fund - - fund = osrf.net_obj.NetworkObject.acqf() - fund.name(r.ctx.acq.fund_name.value) - fund.org(r.ctx.acq.fund_org.value) - fund.year(r.ctx.acq.fund_year.value) - fund.currency_type(r.ctx.acq.fund_currency_type.value) - - fund_id = ses.request('open-ils.acq.fund.create', - r.ctx.core.authtoken.value, fund).recv().content() - Event.parse_and_raise(fund_id) - - return redirect_to(controller='acq/fund', action='view', id=fund_id) - - usermgr = oilsweb.lib.user.User(r.ctx.core) - tree = usermgr.highest_work_perm_tree('ADMIN_FUND') - - types = ses.request( - 'open-ils.acq.currency_type.all.retrieve', - r.ctx.core.authtoken.value).recv().content() - r.ctx.acq.currency_types.value = Event.parse_and_raise(types) - - - if tree is None: - return _("Insufficient Permissions") # XXX Return a perm failure template - - return r.render('acq/financial/create_fund.html') - - def allocate(self): - r = RequestMgr() - ses = ClientSession(oils.const.OILS_APP_ACQ) - - if r.ctx.acq.fund_allocation_source.value: - return self._allocate(r, ses) - - fund = self._retrieve_fund(r, ses, r.ctx.acq.fund_id.value) - - source_list = ses.request( - 'open-ils.acq.funding_source.org.retrieve.atomic', - r.ctx.core.authtoken.value, None, {'limit_perm':'MANAGE_FUNDING_SOURCE', 'flesh_summary':1}).recv().content() - Event.parse_and_raise(source_list) - - r.ctx.acq.fund.value = fund - r.ctx.acq.funding_source_list.value = source_list - return r.render('acq/financial/create_fund_allocation.html') - - def _allocate(self, r, ses): - ''' Create a new fund_allocation ''' - - alloc = osrf.net_obj.NetworkObject.acqfa() - alloc.funding_source(r.ctx.acq.fund_allocation_source.value) - alloc.fund(r.ctx.acq.fund_allocation_fund.value) - - if r.ctx.acq.fund_allocation_amount.value: - alloc.amount(r.ctx.acq.fund_allocation_amount.value) - else: - alloc.percent(r.ctx.acq.fund_allocation_percent.value) - alloc.note(r.ctx.acq.fund_allocation_note.value) - - alloc_id = ses.request( - 'open-ils.acq.fund_allocation.create', r.ctx.core.authtoken.value, alloc).recv().content() - Event.parse_and_raise(alloc_id) - - return redirect_to(controller='acq/fund', action='view', id=r.ctx.acq.fund_allocation_fund.value) - - diff --git a/Open-ILS/web/oilsweb/oilsweb/controllers/acq/funding_source.py b/Open-ILS/web/oilsweb/oilsweb/controllers/acq/funding_source.py index e19799c67d..38342a3778 100644 --- a/Open-ILS/web/oilsweb/oilsweb/controllers/acq/funding_source.py +++ b/Open-ILS/web/oilsweb/oilsweb/controllers/acq/funding_source.py @@ -1,14 +1,12 @@ from oilsweb.lib.base import * import pylons from oilsweb.lib.request import RequestMgr -import oilsweb.lib.acq.fund import osrf.net_obj import oils.const from osrf.ses import ClientSession from oils.event import Event from oils.org import OrgUtil - class FundingSourceController(BaseController): def view(self, **kwargs): @@ -19,53 +17,4 @@ class FundingSourceController(BaseController): def list(self): return RequestMgr().render('acq/financial/list_funding_sources.html') - def create(self): - r = RequestMgr() - fund_mgr = oilsweb.lib.acq.fund.FundMgr(r) - - if r.ctx.acq.funding_source_name.value: - source = osrf.net_obj.NetworkObject.acqfs() - source.name(r.ctx.acq.funding_source_name.value) - source.owner(r.ctx.acq.funding_source_owner.value) - source.currency_type(r.ctx.acq.funding_source_currency_type.value) - source_id = fund_mgr.create_funding_source(source) - return redirect_to(controller='acq/funding_source', action='view', id=source_id) - - perm_orgs = ClientSession.atomic_request( - 'open-ils.actor', - 'open-ils.actor.user.work_perm.highest_org_set', - r.ctx.core.authtoken.value, 'CREATE_FUNDING_SOURCE'); - - if len(perm_orgs) == 0: - return _("Insufficient Permissions") # XXX Return a perm failure template - - r.ctx.core.perm_tree.value['CREATE_FUNDING_SOURCE'] = OrgUtil.get_union_tree(perm_orgs) - r.ctx.core.high_perm_orgs.value['CREATE_FUNDING_SOURCE'] = perm_orgs - r.ctx.acq.currency_types.value = fund_mgr.fetch_currency_types() - return r.render('acq/financial/create_funding_source.html') - - - def create_credit(self): - r = RequestMgr() - ses = ClientSession(oils.const.OILS_APP_ACQ) - - if r.ctx.acq.funding_source_credit_amount.value: - - credit = osrf.net_obj.NetworkObject.acqfscred() - credit.funding_source(r.ctx.acq.funding_source_id.value) - credit.amount(r.ctx.acq.funding_source_credit_amount.value) - credit.note(r.ctx.acq.funding_source_credit_note.value) - - status = ses.request( - 'open-ils.acq.funding_source_credit.create', - r.ctx.core.authtoken.value, credit).recv().content() - status = Event.parse_and_raise(status) - return redirect_to(controller='acq/funding_source', action='view', id=r.ctx.acq.funding_source_id.value) - - source = ses.request('open-ils.acq.funding_source.retrieve', - r.ctx.core.authtoken.value, r.ctx.acq.funding_source_id.value, {"flesh_summary":1}).recv().content() - r.ctx.acq.funding_source.value = Event.parse_and_raise(source) - source.owner(OrgUtil.get_org_unit(source.owner())) - return r.render('acq/financial/create_funding_source_credit.html') - - + diff --git a/Open-ILS/web/oilsweb/oilsweb/controllers/acq/picklist.py b/Open-ILS/web/oilsweb/oilsweb/controllers/acq/picklist.py index bd5bb5f302..5133e59423 100644 --- a/Open-ILS/web/oilsweb/oilsweb/controllers/acq/picklist.py +++ b/Open-ILS/web/oilsweb/oilsweb/controllers/acq/picklist.py @@ -10,11 +10,7 @@ import simplejson from osrf.ses import ClientSession from oils.event import Event from oils.org import OrgUtil - from oilsweb.lib.request import RequestMgr -from oilsweb.lib.acq.fund import FundMgr -from oilsweb.lib.acq.picklist import PicklistMgr -from oilsweb.lib.acq import provider_mgr class PicklistController(BaseController): @@ -23,67 +19,6 @@ class PicklistController(BaseController): r.ctx.acq.picklist.value = kwargs['id'] return r.render('acq/picklist/view.html') - def create(self, **kwargs): - r = RequestMgr() - if r.ctx.acq.picklist_name.value: - picklist = osrf.net_obj.NetworkObject.acqpl() - picklist.name(r.ctx.acq.picklist_name.value) - picklist.owner(r.ctx.core.user.value.id()) - picklist_id = ClientSession.atomic_request( - oils.const.OILS_APP_ACQ, - 'open-ils.acq.picklist.create', r.ctx.core.authtoken.value, picklist) - Event.parse_and_raise(picklist_id) - return redirect_to(controller='acq/picklist', action='view', id=picklist_id) - return r.render('acq/picklist/create.html') - - def view_lineitem(self, **kwargs): - r = RequestMgr() - pl_manager = oilsweb.lib.acq.picklist.PicklistMgr(r) - fmgr = FundMgr(r) - lineitem = pl_manager.retrieve_lineitem(kwargs.get('id'), - flesh_attrs=1, - flesh_provider=1, - flesh_li_details=1) - pl_manager.id = lineitem.picklist() - picklist = pl_manager.retrieve() - r.ctx.acq.picklist.value = pl_manager.picklist - r.ctx.acq.lineitem.value = lineitem - r.ctx.acq.lineitem_marc_html.value = oilsweb.lib.bib.marc_to_html(lineitem.marc()) - - r.ctx.acq.provider_list.value = provider_mgr.list(r) - r.ctx.acq.fund_list.value = fmgr.retrieve_org_funds() - - return r.render('acq/picklist/view_lineitem.html') - - - def json(self, **kwargs): - r = RequestMgr() - pl_manager = oilsweb.lib.acq.picklist.PicklistMgr(r, picklist_id=kwargs['id']) - pl_manager.retrieve() - pl_manager.retrieve_lineitems(flesh_provider=True, - sort_attr="author", - sort_dir="asc") - - items = [] - for title in pl_manager.picklist.entries(): - label = ''.join(PicklistMgr.find_lineitem_attr(title, x) for x in ("title", "publisher", "pubdate", "pagination", "isbn", "price")) - item = { - 'id': title.id(), - 'copies': title.item_count(), - 'title': PicklistMgr.find_lineitem_attr(title, "title"), - 'isbn': PicklistMgr.find_lineitem_attr(title, "isbn"), - 'price': PicklistMgr.find_lineitem_attr(title, "price"), - 'provider': PicklistMgr.find_lineitem_attr(title, "provider"), - 'label': label - } - items.append(item) - - pylons.response.headers["Content-type"] = "text/x-json" - return simplejson.dumps({'identifier': 'id', - 'label': 'label', - 'items': items - }) - def list(self): r = RequestMgr() return r.render('acq/picklist/view_list.html') @@ -96,147 +31,4 @@ class PicklistController(BaseController): r = RequestMgr() return r.render('acq/picklist/bib_search.html') - def delete(self, **kwargs): - r = RequestMgr() - pl_manager = oilsweb.lib.acq.picklist.PicklistMgr(r, picklist_id=kwargs['id']) - pl_manager.delete() - return redirect_to(controller='acq/picklist', action='list') - - - def delete_lineitem(self, **kwargs): - r = RequestMgr() - pl_manager = oilsweb.lib.acq.picklist.PicklistMgr(r) - lineitem_id = kwargs['id'] - lineitem = pl_manager.retrieve_lineitem(lineitem_id) - pl_manager.delete_lineitem(lineitem_id) - return redirect_to(controller='acq/picklist', action='view', id=lineitem.picklist()) - - def update(self): - r = RequestMgr() - ses = ClientSession(oils.const.OILS_APP_ACQ) - ses.connect() - page = None - - if r.ctx.acq.lineitem_id: - page = self._update_lineitem_count(r, ses) - elif r.ctx.acq.picklist_action.value == 'move_selected': - page = self._move_selected(r, ses) - - if not page: - page = redirect_to(controller='acq/picklist', action='list') - - ses.disconnect() - return page - - def update_lineitem(self): - r = RequestMgr() - ses = ClientSession(oils.const.OILS_APP_ACQ) - ses.connect() - - if r.ctx.acq.lineitem_detail_id.value: - # update fund assignment, etc - detail = ses.request('open-ils.acq.lineitem_detail.retrieve', - r.ctx.core.authtoken.value, - r.ctx.acq.lineitem_detail_id.value).recv().content() - detail = Event.parse_and_raise(detail) - - # Update all the fields that are editable via the form - detail.fund(r.ctx.acq.fund_id.value) - - detail = ses.request('open-ils.acq.lineitem_detail.update', - r.ctx.core.authtoken.value, - detail).recv().content() - Event.parse_and_raise(detail) - elif r.ctx.acq.provider_id.value: - lineitem = ses.request('open-ils.acq.lineitem.retrieve', - r.ctx.core.authtoken.value, - r.ctx.acq.lineitem_id.value).recv().content() - lineitem = Event.parse_and_raise(lineitem) - - lineitem.provider(r.ctx.acq.provider_id.value) - lineitem = ses.request('open-ils.acq.lineitem.update', - r.ctx.core.authtoken.value, - lineitem).recv().content() - Event.parse_and_raise(lineitem) - - return redirect_to(controller='acq/picklist', action='view_lineitem', - id=r.ctx.acq.lineitem_id.value) - - def approve_lineitem(self): - r = RequestMgr() - ses = ClientSession(oils.const.OILS_APP_ACQ) - ses.connect - - li = ses.request('open-ils.acq.lineitem.retrieve', - r.ctx.core.authtoken.value, - r.ctx.acq.lineitem_id.value).Recv().content() - li = Event.parse_and_raise(li) - - li.state("approved") - - li = ses.request('open-ils.acq.lineitem.update', - r.ctx.core.authtoken.value, - li).recv().content() - li = Event.parse_and_raise(li) - - return redirect_to(controller='acq/picklist', action='view', - id=r.ctx.acq.picklist_id.value) - - def _update_lineitem_count(self, r, ses): - ''' Updates # of copies to order for single lineitem ''' - - picklist_id = r.ctx.acq.picklist_source_id.value - lineitem_id = r.ctx.acq.lineitem_id.value - new_count = int(r.ctx.acq.lineitem_item_count.value) - - lineitem = ses.request('open-ils.acq.lineitem.retrieve', - r.ctx.core.authtoken.value, - lineitem_id, {'flesh_li_details':1}).recv().content() - lineitem = Event.parse_and_raise(lineitem) - - # Make sure the lineitem count is correct. - lineitem.item_count(len(lineitem.lineitem_details())) - - # Can't remove detail records yet - assert (lineitem.item_count() <= new_count), "Can't delete detail records" - - for i in range(new_count - lineitem.item_count()): - detail = osrf.net_obj.NetworkObject.acqlid() - detail.lineitem(lineitem.id()) - detail = ses.request('open-ils.acq.lineitem_detail.create', - r.ctx.core.authtoken.value, - detail, dict()) - Event.parse_and_raise(detail) - - if (lineitem.item_count() != new_count): - # Update the number of detail records - lineitem.item_count(new_count) - - lineitem = ses.request('open-ils.acq.lineitem.update', - r.ctx.core.authtoken.value, lineitem) - Event.parse_and_raise(lineitem) - - # fail() - return redirect_to(controller='acq/picklist', action='view', - id=picklist_id) - - def _move_selected(self, r, ses): - ''' Moves the selected picklist lineitem's to the destination picklist ''' - for lineitem_id in r.ctx.acq.lineitem_id_list.value: - - lineitem = ses.request( - 'open-ils.acq.lineitem.retrieve', - r.ctx.core.authtoken.value, lineitem_id).recv().content() - lineitem = Event.parse_and_raise(lineitem) - - lineitem.picklist(r.ctx.acq.picklist_dest_id.value) - - status = ses.request( - 'open-ils.acq.lineitem.update', - r.ctx.core.authtoken.value, lineitem).recv().content() - Event.parse_and_raise(status) - - return redirect_to(controller='acq/picklist', action='view', - id=r.ctx.acq.picklist_dest_id.value) - diff --git a/Open-ILS/web/oilsweb/oilsweb/controllers/acq/po.py b/Open-ILS/web/oilsweb/oilsweb/controllers/acq/po.py index 99251f0719..0ab41a60e6 100644 --- a/Open-ILS/web/oilsweb/oilsweb/controllers/acq/po.py +++ b/Open-ILS/web/oilsweb/oilsweb/controllers/acq/po.py @@ -1,6 +1,5 @@ from oilsweb.lib.base import * from oilsweb.lib.request import RequestMgr -from oilsweb.lib.acq import provider_mgr import oilsweb.lib.user import osrf.net_obj import oils.const @@ -8,25 +7,9 @@ from osrf.ses import ClientSession from oils.event import Event from oils.org import OrgUtil import mx.DateTime.ISO -import oilsweb.lib.acq.po_manager -from oilsweb.lib.acq.picklist import PicklistMgr -from oilsweb.lib.acq.fund import FundMgr class PoController(BaseController): - # Render list of Purchase Orders - def list(self, **kwargs): - r = RequestMgr() - po_mgr = oilsweb.lib.acq.po_manager.PO_Manager(r) - po_list = po_mgr.retrieve_po_list() - provider_map = dict() - for po in po_list: - if not (po.provider() in provider_map): - provider_map[po.provider()] = provider_mgr.retrieve(r, po.provider()).name() - po.provider(provider_map[po.provider()]) - r.ctx.acq.po_list.value = po_list - return r.render('acq/po/view_po_list.html') - # Render display of individual PO: list of line items def view(self, **kwargs): r = RequestMgr() @@ -37,77 +20,6 @@ class PoController(BaseController): r = RequestMgr() return r.render('acq/po/li_search.html') - # Create PO from contents of picklist - def create(self, **kwargs): - r = RequestMgr() - if not r.ctx.acq.picklist_source_id.value: - plmgr = PicklistMgr(r, - picklist_id=r.ctx.acq.picklist_source_id.value) - r.ctx.acq.picklist_list.value = plmgr.retrieve_list(r) - - r.ctx.acq.fund_list.value = FundMgr(r).retrieve_org_funds() - provider_list = provider_mgr.list(r) - for p in provider_list: - p.owner(OrgUtil.get_org_unit(p.owner())) - r.ctx.acq.provider_list.value = provider_list - return r.render('acq/po/create.html') - - po = osrf.net_obj.NetworkObject.acqpo() - po.owner(r.ctx.core.user.value.id()) - po.provider(r.ctx.acq.provider_id.value) - po.default_fund(r.ctx.acq.fund_id.value) - - po_id = ClientSession.atomic_request(oils.const.OILS_APP_ACQ, - 'open-ils.acq.purchase_order.create', - r.ctx.core.authtoken.value, po) - Event.parse_and_raise(po_id) - - plmgr = oilsweb.lib.acq.picklist.PicklistMgr(r, picklist_id=r.ctx.acq.picklist_source_id.value) - - plmgr.retrieve() - plmgr.retrieve_lineitems(idlist=1) - - for pl_item in plmgr.picklist.entries(): - po_lineitem = osrf.net_obj.NetworkObject.acqpoli() - po_lineitem.purchase_order(po_id) - po_lineitem_id = ClientSession.atomic_request(oils.const.OILS_APP_ACQ, - 'open-ils.acq.po_lineitem.create', - r.ctx.core.authtoken.value, - po_lineitem, - { 'picklist_entry': pl_item}) - Event.parse_and_raise(po_lineitem_id) - - return redirect_to(controller='acq/po', action='view', id=po_id) - - # Render individual line item: list of detail info - def view_lineitem(self, **kwargs): - r = RequestMgr() - po_mgr = oilsweb.lib.acq.po_manager.PO_Manager(r, liid=kwargs['id']) - po_mgr.retrieve_lineitem() - r.ctx.acq.po_li.value = po_mgr.li - - summary = dict() - for det in po_mgr.li.lineitem_details(): - fund = det.fund().name() - try: - summary[fund] += 1 - except LookupError: - summary[fund] = 1 - r.ctx.acq.po_li_sum.value = summary - - po_mgr.id = po_mgr.li.purchase_order() - po_mgr.retrieve(flesh_lineitems=0) - r.ctx.acq.po.value = po_mgr.po - - return r.render('acq/po/view_lineitem.html') - - def delete(self, **kwargs): - r = RequestMgr() - ClientSession.atomic_request(oils.const.OILS_APP_ACQ, - 'open-ils.acq.purchase_order.delete', - r.ctx.core.authtoken.value, kwargs['id']) - return r.render('acq/po/list') - def search(self): r = RequestMgr() return r.render('acq/po/search.html') @@ -171,5 +83,3 @@ class PoController(BaseController): return redirect_to(controller='acq/po', action='view', id=po_id) return r.render('acq/po/marc_upload.html') - - diff --git a/Open-ILS/web/oilsweb/oilsweb/controllers/acq/provider.py b/Open-ILS/web/oilsweb/oilsweb/controllers/acq/provider.py index fb043ab984..8e8cf4b44e 100644 --- a/Open-ILS/web/oilsweb/oilsweb/controllers/acq/provider.py +++ b/Open-ILS/web/oilsweb/oilsweb/controllers/acq/provider.py @@ -1,6 +1,5 @@ from oilsweb.lib.base import * from oilsweb.lib.request import RequestMgr -from oilsweb.lib.acq import provider_mgr from osrf.ses import ClientSession from osrf.net_obj import NetworkObject from oils.event import Event @@ -8,7 +7,6 @@ from oils.org import OrgUtil from oilsweb.lib.user import User import oils.const - class ProviderController(BaseController): def view(self, **kwargs): @@ -16,48 +14,6 @@ class ProviderController(BaseController): r.ctx.acq.provider_id = kwargs['id'] return r.render('acq/financial/view_provider.html') - def create(self): - r = RequestMgr() - ses = ClientSession(oils.const.OILS_APP_ACQ) - - if r.ctx.acq.provider_name.value: # create then display the provider - - provider = NetworkObject.acqpro() - provider.name(r.ctx.acq.provider_name.value) - provider.owner(r.ctx.acq.provider_owner.value) - provider.currency_type(r.ctx.acq.provider_currency_type.value) - - provider_id = ses.request('open-ils.acq.provider.create', - r.ctx.core.authtoken.value, provider).recv().content() - Event.parse_and_raise(provider_id) - - return redirect_to(controller='acq/provider', action='view', id=provider_id) - - usermgr = User(r.ctx.core) - tree = usermgr.highest_work_perm_tree('ADMIN_PROVIDER') - - types = ses.request( - 'open-ils.acq.currency_type.all.retrieve', - r.ctx.core.authtoken.value).recv().content() - r.ctx.acq.currency_types.value = Event.parse_and_raise(types) - - - if tree is None: - return _("Insufficient Permissions") # XXX Return a perm failure template - - return r.render('acq/financial/create_provider.html') - - ''' Pure Python version - def list(self): - r = RequestMgr() - providers = provider_mgr.list(r) - for f in providers: - f.owner(OrgUtil.get_org_unit(f.owner())) - r.ctx.acq.provider_list.value = providers - return r.render('acq/financial/list_providers.html') - ''' - - def list(self): return RequestMgr().render('acq/financial/list_providers.html') diff --git a/Open-ILS/web/oilsweb/oilsweb/controllers/acq_admin.py b/Open-ILS/web/oilsweb/oilsweb/controllers/acq_admin.py deleted file mode 100644 index 4fa7030777..0000000000 --- a/Open-ILS/web/oilsweb/oilsweb/controllers/acq_admin.py +++ /dev/null @@ -1,41 +0,0 @@ -import logging - -from oilsweb.lib.base import * -import pylons, os -import oilsweb.lib.context -import oilsweb.lib.util -import oilsweb.lib.acq.search -from oilsweb.lib.context import Context, SubContext, ContextItem - -import oils.utils.csedit -import osrf.log -import osrf.system -from oils.utils.idl import IDLParser -from oils.utils.csedit import oilsLoadCSEditor - -def oilsConnect(config, configContext): - """Connects to the opensrf network, parses the IDL file, and loads the CSEditor""" - osrf.system.connect(config, configContext) - IDLParser.parse() - oilsLoadCSEditor() - -log = logging.getLogger(__name__) - -class AcqAdminController(BaseController): - - def index(self): - """ - List the acquisition objects that we're allowed to administer - """ - - import pprint - - # Parse IDL and render as links for viewing the objects, perhaps? - c.oils = oilsweb.lib.context.Context.init(request, response) - c.request = request - oilsConnect('/openils/conf/opensrf_core.xml', 'config.opensrf') - c.idl = oils.utils.idl.IDLParser.get_parser() - c.csedit = oils.utils.csedit.CSEditor() - c.registry = osrf.net_obj.OBJECT_REGISTRY - return render('oils/%s/acq/admin.html' % c.oils.core.skin) - diff --git a/Open-ILS/web/oilsweb/oilsweb/controllers/admin.py b/Open-ILS/web/oilsweb/oilsweb/controllers/admin.py deleted file mode 100644 index 66a03f208b..0000000000 --- a/Open-ILS/web/oilsweb/oilsweb/controllers/admin.py +++ /dev/null @@ -1,60 +0,0 @@ -from oilsweb.lib.request import RequestMgr -from oilsweb.lib.base import * -import oilsweb.lib.util -from oilsweb.lib.context import Context, SubContext, ContextItem -import oils.utils.idl -import oils.utils.csedit -import osrf.ses - -class AdminContext(SubContext): - ''' Define the CGI/Context params for this application ''' - def __init__(self): - self.object = ContextItem() - self.object_class = ContextItem() - self.object_meta = ContextItem() - self.mode = ContextItem(default_value='view') - self.prefix = ContextItem() - def postinit(self): - self.prefix.value = "%s/admin" % Context.get_context().core.prefix.value - -Context.apply_sub_context('adm', AdminContext) - -class AdminController(BaseController): - - def init(self, obj_type, obj_id=None): - r = RequestMgr() - r.ctx.adm.object_class.value = obj_type - meta = r.ctx.adm.object_meta.value = oils.utils.idl.IDLParser.get_class(obj_type) - - if obj_id is not None: - r.ctx.adm.object.value = osrf.ses.ClientSession.atomic_request( - 'open-ils.cstore', - 'open-ils.cstore.direct.%s.retrieve' % - meta.fieldmapper.replace('::', '.'), obj_id) - return r - - def index(self): - r = RequestMgr() - return r.render('admin/index.html') - - def view(self, **kwargs): - r = self.init(kwargs['type'], kwargs['id']) - r.ctx.adm.mode.value = 'view' - return r.render('admin/object.html') - - def update(self, **kwargs): - r = self.init(kwargs['type'], kwargs['id']) - r.ctx.adm.mode.value = 'update' - return r.render('admin/object.html') - - def create(self, **kwargs): - r = self.init(kwargs['type']) - r.ctx.adm.mode.value = 'create' - return r.render('admin/object.html') - - def delete(self, **kwargs): - r = self.init(kwargs['type'], kwargs['id']) - r.ctx.adm.mode.value = 'delete' - return r.render('admin/object.html') - - diff --git a/Open-ILS/web/oilsweb/oilsweb/lib/acq/__init__.py b/Open-ILS/web/oilsweb/oilsweb/lib/acq/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/Open-ILS/web/oilsweb/oilsweb/lib/acq/fund.py b/Open-ILS/web/oilsweb/oilsweb/lib/acq/fund.py deleted file mode 100644 index 818a1af616..0000000000 --- a/Open-ILS/web/oilsweb/oilsweb/lib/acq/fund.py +++ /dev/null @@ -1,67 +0,0 @@ -import osrf.ses, osrf.net_obj -import oils.const, oils.utils.utils, oils.event, oils.org - -class FundMgr(object): - ''' Fund utility class ''' - def __init__(self, request_mgr, **kwargs): - self.request_mgr = request_mgr - self.ses = osrf.ses.ClientSession(oils.const.OILS_APP_ACQ) - - def fetch_currency_types(self): - types = self.ses.request( - 'open-ils.acq.currency_type.all.retrieve', - self.request_mgr.ctx.core.authtoken.value).recv().content() - oils.event.Event.parse_and_raise(types) - return types - - def retrieve(self, fund_id): - fund = self.ses.request( - 'open-ils.acq.fund.retrieve', - self.request_mgr.ctx.core.authtoken.value, fund_id).recv().content() - oils.event.Event.parse_and_raise(fund) - return fund - - def retrieve_org_funds(self, limit_perm=None): - funds = self.ses.request( - 'open-ils.acq.fund.org.retrieve.atomic', - self.request_mgr.ctx.core.authtoken.value, None, limit_perm).recv().content() - oils.event.Event.parse_and_raise(funds) - return funds - - def create_fund(self, fund): - fund_id = self.ses.request( - 'open-ils.acq.fund.create', - self.request_mgr.ctx.core.authtoken.value, fund).recv().content() - oils.event.Event.parse_and_raise(fund_id) - return fund_id - - - def retrieve_funding_source(self, source_id): - source = self.ses.request( - 'open-ils.acq.funding_source.retrieve', - self.request_mgr.ctx.core.authtoken.value, source_id).recv().content() - oils.event.Event.parse_and_raise(source) - return source - - def retrieve_org_funding_sources(self, options=None): - sources = self.ses.request( - 'open-ils.acq.funding_source.org.retrieve.atomic', - self.request_mgr.ctx.core.authtoken.value, None, options).recv().content() - oils.event.Event.parse_and_raise(sources) - return sources - - - def create_funding_source(self, source): - source_id = self.ses.request( - 'open-ils.acq.funding_source.create', - self.request_mgr.ctx.core.authtoken.value, source).recv().content() - oils.event.Event.parse_and_raise(source_id) - return source_id - - def create_allocation(self, alloc): - alloc_id = self.ses.request( - 'open-ils.acq.fund_allocation.create', - self.request_mgr.ctx.core.authtoken.value, alloc).recv().content() - oils.event.Event.parse_and_raise(alloc_id) - return alloc_id - diff --git a/Open-ILS/web/oilsweb/oilsweb/lib/acq/picklist.py b/Open-ILS/web/oilsweb/oilsweb/lib/acq/picklist.py deleted file mode 100644 index 36547b5d4d..0000000000 --- a/Open-ILS/web/oilsweb/oilsweb/lib/acq/picklist.py +++ /dev/null @@ -1,154 +0,0 @@ -import osrf.cache, osrf.json, osrf.ses, osrf.net_obj -import oils.const, oils.utils.utils, oils.event -import oilsweb.lib.user -import mx.DateTime.ISO - -class PicklistMgr(object): - def __init__(self, request_mgr, **kwargs): - self.request_mgr = request_mgr - self.id = kwargs.get('picklist_id') - self.picklist = kwargs.get('picklist') - 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.value, self.id, {'flesh_lineitem_count':1, 'flesh_username':1}).recv().content() - - oils.event.Event.parse_and_raise(picklist) - self.picklist = picklist - - usermgr = oilsweb.lib.user.User(self.request_mgr.ctx.core) - - picklist.create_time( - mx.DateTime.ISO.ParseAny( - picklist.create_time()).strftime(usermgr.get_date_format())) - - picklist.edit_time( - mx.DateTime.ISO.ParseAny( - picklist.edit_time()).strftime(usermgr.get_date_format())) - - - 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.value, picklist_id).recv().content() - oils.event.Event.parse_and_raise(status) - return status - - def delete_lineitem(self, lineitem_id): - status = self.ses.request( - 'open-ils.acq.lineitem.delete', - self.request_mgr.ctx.core.authtoken.value, lineitem_id).recv().content() - oils.event.Event.parse_and_raise(status) - return status - - - def retrieve_lineitems(self, **kwargs): - # grab the lineitems - lineitems = self.ses.request( - 'open-ils.acq.lineitem.picklist.retrieve.atomic', - self.request_mgr.ctx.core.authtoken.value, - self.picklist.id(), - { - "offset" : kwargs.get('offset'), - "limit" : kwargs.get('limit'), - "idlist" : kwargs.get('idlist'), - "flesh_attrs" : 1, - "clear_marc" : 1, - "sort_attr" : kwargs.get('sort_attr'), - "sort_dir": kwargs.get('sort_dir') - } - ).recv().content() - - if kwargs.get('flesh_provider'): - for lineitem in lineitems: - if lineitem.provider(): - provider = self.ses.request( - 'open-ils.acq.provider.retrieve', - self.request_mgr.ctx.core.authtoken.value, - lineitem.provider()).recv().content() - lineitem.provider(provider) - - self.picklist.entries(lineitems) - - def retrieve_list(self, all=False): - ''' Returns my list of picklist objects ''' - if (all): - request = 'open-ils.acq.picklist.user.all.retrieve.atomic' - else: - request = 'open-ils.acq.picklist.user.retrieve' - - list = self.ses.request(request, - self.request_mgr.ctx.core.authtoken.value, - {'flesh_lineitem_count':1, 'flesh_username':1}).recv().content() - oils.event.Event.parse_and_raise(list) - - usermgr = oilsweb.lib.user.User(self.request_mgr.ctx.core) - - for picklist in list: - picklist.create_time( - mx.DateTime.ISO.ParseAny( - picklist.create_time()).strftime(usermgr.get_date_format())) - - picklist.edit_time( - mx.DateTime.ISO.ParseAny( - picklist.edit_time()).strftime(usermgr.get_date_format())) - - return list - - - def retrieve_lineitem(self, lineitem_id, **kwargs): - args = {'flesh_attrs' : kwargs.get('flesh_attrs'), - 'flesh_li_details' : kwargs.get('flesh_li_details')} - lineitem = self.ses.request( - 'open-ils.acq.lineitem.retrieve', - self.request_mgr.ctx.core.authtoken.value, lineitem_id, args).recv().content() - oils.event.Event.parse_and_raise(lineitem) - if kwargs.get('flesh_provider'): - if lineitem.provider(): - provider = self.ses.request( - 'open-ils.acq.provider.retrieve', - self.request_mgr.ctx.core.authtoken.value, - lineitem.provider()).recv().content() - lineitem.provider(provider) - - return lineitem - - def create_or_replace(self, pl_name): - - # find and delete any existing picklist with the requested name - data = self.ses.request( - 'open-ils.acq.picklist.name.retrieve', - self.request_mgr.ctx.core.authtoken.value, pl_name).recv() - if data: - 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.value.id()) - - picklist = self.ses.request( - 'open-ils.acq.picklist.create', - self.request_mgr.ctx.core.authtoken.value, picklist).recv().content() - oils.event.Event.parse_and_raise(picklist) - - return picklist - - def create_lineitem(self, lineitem): - status = self.ses.request( - 'open-ils.acq.lineitem.create', - self.request_mgr.ctx.core.authtoken.value, lineitem).recv().content() - oils.event.Event.parse_and_raise(status) - return status - - @staticmethod - def find_lineitem_attr(lineitem, attr_name, attr_type='lineitem_marc_attr_definition'): - for lineitem_attr in lineitem.attributes(): - if lineitem_attr.attr_type() == attr_type and lineitem_attr.attr_name() == attr_name: - return lineitem_attr.attr_value() - return '' - - diff --git a/Open-ILS/web/oilsweb/oilsweb/lib/acq/po_manager.py b/Open-ILS/web/oilsweb/oilsweb/lib/acq/po_manager.py deleted file mode 100644 index f08178c7cc..0000000000 --- a/Open-ILS/web/oilsweb/oilsweb/lib/acq/po_manager.py +++ /dev/null @@ -1,71 +0,0 @@ -import osrf.cache, osrf.json, osrf.ses, osrf.net_obj -import oils.const, oils.utils.utils, oils.event -import oilsweb.lib.user -import mx.DateTime.ISO - -class PO_Manager(object): - def __init__(self, request_mgr, **kwargs): - self.request_mgr = request_mgr - self.id = kwargs.get('poid') - self.liid = kwargs.get('liid') - self.ses = osrf.ses.ClientSession(oils.const.OILS_APP_ACQ) - - def retrieve_po_list(self): - ''' Returns list of POs ''' - - request = 'open-ils.acq.purchase_order.user.all.retrieve.atomic' - - list = self.ses.request(request, - self.request_mgr.ctx.core.authtoken.value, - {'flesh_lineitem_count':1, - 'clear_marc':1, - 'order_by':'id'}).recv().content() - oils.event.Event.parse_and_raise(list) - - usermgr = oilsweb.lib.user.User(self.request_mgr.ctx.core) - datefmt = usermgr.get_date_format() - - for po in list: - ctime = mx.DateTime.ISO.ParseAny(po.create_time()) - po.create_time(ctime.strftime(datefmt)) - - etime = mx.DateTime.ISO.ParseAny(po.edit_time()) - po.edit_time(etime.strftime(datefmt)) - - return list - - def retrieve(self, **kwargs): - if 'flesh_lineitems' in kwargs: - flesh = kwargs['flesh_lineitems'] - else: - flesh = 1 - - po = self.ses.request('open-ils.acq.purchase_order.retrieve', - self.request_mgr.ctx.core.authtoken.value, - self.id, - {'flesh_lineitems':flesh}).recv().content() - oils.event.Event.parse_and_raise(po) - - datefmt = oilsweb.lib.user.User(self.request_mgr.ctx.core).get_date_format() - - po.create_time(mx.DateTime.ISO.ParseAny(po.create_time()).strftime(datefmt)) - po.edit_time(mx.DateTime.ISO.ParseAny(po.edit_time()).strftime(datefmt)) - self.po = po - - def retrieve_lineitem(self, **kwargs): - li = self.ses.request('open-ils.acq.po_lineitem.retrieve', - self.request_mgr.ctx.core.authtoken.value, - self.liid, {'flesh_li_details':1}).recv().content() - datefmt = oilsweb.lib.user.User(self.request_mgr.ctx.core).get_date_format() - li.create_time(mx.DateTime.ISO.ParseAny(li.create_time()).strftime(datefmt)) - li.edit_time(mx.DateTime.ISO.ParseAny(li.edit_time()).strftime(datefmt)) - self.li = li - - @staticmethod - def find_li_attr(li, attr_name, attr_type='picklist_marc_attr_definition'): - if not li.attributes(): - return '' - for li_attr in li.attributes(): - if li_attr.attr_type() == attr_type and li_attr.attr_name() == attr_name: - return li_attr.attr_value() - return '' diff --git a/Open-ILS/web/oilsweb/oilsweb/lib/acq/provider_mgr.py b/Open-ILS/web/oilsweb/oilsweb/lib/acq/provider_mgr.py deleted file mode 100644 index 2223bfd637..0000000000 --- a/Open-ILS/web/oilsweb/oilsweb/lib/acq/provider_mgr.py +++ /dev/null @@ -1,18 +0,0 @@ -import oils.const -from oils.event import Event -from osrf.ses import ClientSession - -def retrieve(r, id): - ses = ClientSession(oils.const.OILS_APP_ACQ) - provider = ses.request('open-ils.acq.provider.retrieve', - r.ctx.core.authtoken.value, id).recv().content() - Event.parse_and_raise(provider) - return provider - -def list(r): - ses = ClientSession(oils.const.OILS_APP_ACQ) - providers = ses.request('open-ils.acq.provider.org.retrieve.atomic', - r.ctx.core.authtoken.value, None, - {"flesh_summary":1}).recv().content() - Event.parse_and_raise(providers) - return providers diff --git a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/admin.html b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/admin.html deleted file mode 100644 index 98c415b223..0000000000 --- a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/admin.html +++ /dev/null @@ -1,58 +0,0 @@ -# -*- coding: utf-8 -*- -<%inherit file='../base.html'/> -<%def name="page_title()">${_('Evergreen Acquisitions Administration ')} -<%def name="block_content()"> -

${_('Evergreen Acquisitions Administration ')}

-
-
-    Check for a session key in GET dictionary object:
-    % if c.request.GET.has_key('ses'):
-        SESSION = ${c.request.GET['ses']}
-    % else:
-        NO SESSION
-    % endif
-
-    Try some sample method calls - no session appears to be required,
-    possibly because I'm performing the connect in acq_admin.py
-    <%
-    csd = c.csedit.retrieve_acq_exchange_rate(1)
-    eur = c.csedit.retrieve_acq_exchange_rate(2)
-    %>
-    csd = c.csedit.retrieve_acq_exchange_rate(1)
-    csd.to_currency()
-    Result = ${csd.to_currency()}
-
-    eur = c.csedit.retrieve_acq_exchange_rate(2)
-    eur.to_currency()
-    Result = ${eur.to_currency()}
-
-    Iterate through the acq schema registry objects, dumping interesting info
-    that we should be able to wrap into a series of links and forms for
-    administrative purposes.
-
-    Registry:
-    % for key in sorted(c.registry):
-       % if c.idl.IDLObject.has_key(key) and str(c.idl.IDLObject[key]['tablename'])[0:4] == 'acq.':
-            registry hint: ${key}
-            tablename    : ${c.idl.IDLObject[key]['tablename']}
-            controller   : ${c.idl.IDLObject[key]['controller']}
-            virtual      : ${c.idl.IDLObject[key]['virtual']}
-            fieldmapper  : ${c.idl.IDLObject[key]['fieldmapper']}
-            KEYS
-            %for regkey in c.registry[key].keys:
-                ${regkey}
-            % endfor
-
-        % endif
-    % endfor 
-
-    List the callable methods in the CSEditor object, more for interest than anything else:
-
-    CSEditor object:
-    % for att in [att for att in dir(c.csedit) if callable(getattr(c.csedit, att)) and att[0:2] != '__']:
-        ${att}
-    % endfor
-
-
-
- diff --git a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/admin/base.html b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/admin/base.html deleted file mode 100644 index 502f92128b..0000000000 --- a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/admin/base.html +++ /dev/null @@ -1,5 +0,0 @@ -<%inherit file='../base.html'/> -<%def name="block_sub_navigate()"> - <%include file='navigate.html'/> - - diff --git a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/admin/index.html b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/admin/index.html deleted file mode 100644 index 1dfb33cf47..0000000000 --- a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/admin/index.html +++ /dev/null @@ -1,7 +0,0 @@ -<%inherit file='base.html'/> - -<%def name="page_title()">${_('Evergreen Admin')} -<%def name="block_content()"> - INDEX - - diff --git a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/admin/object.html b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/admin/object.html deleted file mode 100644 index 1d07182157..0000000000 --- a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/admin/object.html +++ /dev/null @@ -1,42 +0,0 @@ - -<%inherit file='base.html'/> -<%namespace name='widget' file='widgets.html'/> - -<%def name="page_title()">${_('Evergreen Admin')} -<%def name="block_content()"> -
${c.oils.adm.object_meta.value.label}
- % if c.oils.adm.mode.value == 'delete': -
- <% - ## Why does doing this inline (inside ${...}) give me a syntax error???? - string = _("Are you sure you want to delete %(cls)s with id %(id)d?") % {"cls":c.oils.adm.object_class.value, "id":c.oils.adm.object.value.id()} - %> - ${string} -
- % else: -
- - % for fieldmeta in [ f for f in c.oils.adm.object_meta.value.fields if not f.virtual]: - - - - - % endfor -
${fieldmeta.label} - % if c.oils.adm.mode.value == 'update': - (${fieldmeta.rpt_datatype}) - ${widget.load(fieldmeta.rpt_datatype,fieldmeta.name, getattr(c.oils.adm.object.value, fieldmeta.name)())} - % else: - % if c.oils.adm.mode.value == 'create': - - % else: - % if c.oils.adm.mode.value == 'view': - ${unicode(getattr(c.oils.adm.object.value, fieldmeta.name)())} - % endif - % endif - % endif -
-
- % endif - - diff --git a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/admin/widgets.html b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/admin/widgets.html deleted file mode 100644 index 5f5b259f31..0000000000 --- a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/admin/widgets.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - -<%def name='load(type, field, value=None)'> - % if type == 'text' or type is None: - <%call expr='widget_text(field, value)'/> - % endif - % if type == 'bool': - <%call expr='widget_bool(field, value)'/> - % endif - % if type == 'float': - <%call expr='widget_float(field, value)'/> - % endif - % if type == 'id': - <%call expr='widget_id(field, value)'/> - % endif - % if type == 'int': - <%call expr='widget_int(field, value)'/> - % endif - % if type == 'interval': - <%call expr='widget_intterval(field, value)'/> - % endif - % if type == 'link': - <%call expr='widget_link(field, value)'/> - % endif - % if type == 'money': - <%call expr='widget_money(field, value)'/> - % endif - % if type == 'org_unit': - <%call expr='widget_org_unit(field, value)'/> - % endif - % if type == 'timestamp': - <%call expr='widget_timestamp(field, value)'/> - % endif - - - -<%def name='widget_bool(field, value=None)'> - - - - -<%def name='widget_text(field, value=None)'> - - %else: - value='${unicode(value)}'/> - %endif - - - -<%def name='widget_float(field, value=None)'> - - %else: - value='${unicode(value)}'/> - %endif - - - -<%def name='widget_id(field, value=None)'> - - %else: - value='${unicode(value)}'/> - %endif - - - -<%def name='widget_int(field, value=None)'> - - %else: - value='${unicode(value)}'/> - %endif - - - -<%def name='widget_interval(field, value=None)'> - <%call expr='widget_text(field, value)'/> - - - -<%def name='widget_link(field, value=None)'> - - - -<%def name='widget_money(field, value=None)'> - - - -<%def name='widget_org_unit(field, value=None)'> - - - -<%def name='widget_timestamp(field, value=None)'> - - - diff --git a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/menu.html b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/menu.html index 96399cd50f..06a085e1e8 100644 --- a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/menu.html +++ b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/menu.html @@ -16,12 +16,14 @@ +