From: erickson Date: Fri, 15 Feb 2008 19:12:28 +0000 (+0000) Subject: adding provider files X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=0f6a29271c460380aa812f773b55ab6c2aca4db9;p=Evergreen.git adding provider files git-svn-id: svn://svn.open-ils.org/ILS/branches/acq-experiment@8758 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/web/oilsweb/oilsweb/controllers/acq/provider.py b/Open-ILS/web/oilsweb/oilsweb/controllers/acq/provider.py new file mode 100644 index 0000000000..7a3a5a7b03 --- /dev/null +++ b/Open-ILS/web/oilsweb/oilsweb/controllers/acq/provider.py @@ -0,0 +1,66 @@ +from oilsweb.lib.base import * +from oilsweb.lib.request import RequestMgr +from osrf.ses import ClientSession +from osrf.net_obj import NetworkObject +from oils.event import Event +from oils.org import OrgUtil +from oilsweb.lib.user import User +import oils.const + + +class ProviderController(BaseController): + + def view(self, **kwargs): + r = RequestMgr() + ses = ClientSession(oils.const.OILS_APP_ACQ) + provider = ses.request('open-ils.acq.provider.retrieve', + r.ctx.core.authtoken, kwargs.get('id')).recv().content() + Event.parse_and_raise(provider) + provider.owner(OrgUtil.get_org_unit(provider.owner())) + r.ctx.acq.provider = provider + 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: # create then display the provider + + provider = NetworkObject.acqpro() + provider.name(r.ctx.acq.provider_name) + provider.owner(r.ctx.acq.provider_owner) + provider.currency_type(r.ctx.acq.provider_currency_type) + + provider_id = ses.request('open-ils.acq.provider.create', + r.ctx.core.authtoken, 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).recv().content() + r.ctx.acq.currency_types = 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') + + def list(self): + r = RequestMgr() + ses = ClientSession(oils.const.OILS_APP_ACQ) + providers = ses.request( + 'open-ils.acq.provider.org.retrieve', + r.ctx.core.authtoken, None, {"flesh_summary":1}).recv().content() + Event.parse_and_raise(providers) + for f in providers: + f.owner(OrgUtil.get_org_unit(f.owner())) + r.ctx.acq.provider_list = providers + return r.render('acq/financial/list_providers.html') + diff --git a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/financial/create_provider.html b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/financial/create_provider.html new file mode 100644 index 0000000000..f891bbc2f7 --- /dev/null +++ b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/financial/create_provider.html @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- + +<%inherit file='../base.html'/> +<%namespace file='../../common/widgets.html' name='widget'/> +<%def name="page_title()">${_('Create Provider')} +<%def name="block_content()"> + +
+ + + + + + + + + + + + + + + + + + +
${_('Provider Name')} + +
${_('Provider Owner')} + ${widget.org_select( + c.oils.acq.provider_owner_.cgi_name, + c.oils.core.perm_tree['ADMIN_PROVIDER'], c.oils.core.workstation.id(), + c.oils.util.get_min_org_depth(c.oils.core.high_perm_orgs['ADMIN_PROVIDER']))} +
${_('Provider Currency Type')} + +
+ +
+
+ diff --git a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/financial/list_providers.html b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/financial/list_providers.html new file mode 100644 index 0000000000..82adb2c542 --- /dev/null +++ b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/financial/list_providers.html @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +<%inherit file='../base.html'/> +<%namespace file='../../common/widgets.html' name='widget'/> +<%def name="page_title()">${_('Providers')} +<%def name="block_content()"> + +
+
${_('Providers')}
+ +
+ + + + + + + + + + + + % for provider in c.oils.acq.provider_list: + + + + + + %endfor + +
${_('Name')}${_('Owner')}${_('Currency Type')}
${provider.name()}${provider.owner().name()}${provider.currency_type()}
+ diff --git a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/financial/view_provider.html b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/financial/view_provider.html new file mode 100644 index 0000000000..1c2ff873a6 --- /dev/null +++ b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/financial/view_provider.html @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +<%inherit file='../base.html'/> +<%namespace file='../../common/widgets.html' name='widget'/> +<%def name="page_title()">${_('View Provider')} +<%def name="block_content()"> + +<% provider = c.oils.acq.provider %> + +
+
${provider.name()}
+
+ + + + + + + + + + + + +
${_('Owner')}${provider.owner().name()}
${_('Currency')}${provider.currency_type()}
+