Broad refactor to improve customization of purchase order form etc.

* add dropdown alternative for autocomplete renderer
* auto-enhance some common dropdowns
* refactor new purchase batch, order form view/templates
This commit is contained in:
Lance Edgar 2017-03-24 17:22:12 -05:00
parent e71204dcec
commit d373eb9ac1
9 changed files with 260 additions and 148 deletions

View file

@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
# -*- coding: utf-8; -*-
################################################################################
#
# Rattail -- Retail Software Framework
# Copyright © 2010-2015 Lance Edgar
# Copyright © 2010-2017 Lance Edgar
#
# This file is part of Rattail.
#
@ -24,9 +24,10 @@
Store Field Renderers
"""
from __future__ import unicode_literals
from __future__ import unicode_literals, absolute_import
from formalchemy.fields import SelectFieldRenderer
from webhelpers.html import tags
class StoreFieldRenderer(SelectFieldRenderer):
@ -34,8 +35,15 @@ class StoreFieldRenderer(SelectFieldRenderer):
Renderer for :class:`rattail.db.model.Store` instance fields.
"""
def render(self, **kwargs):
kwargs.setdefault('auto-enhance', 'true')
return super(StoreFieldRenderer, self).render(**kwargs)
def render_readonly(self, **kwargs):
store = self.raw_value
if not store:
return ''
return '{0} - {1}'.format(store.id, store.name)
return ""
text = "({}) {}".format(store.id, store.name)
if kwargs.get('hyperlink', True):
return tags.link_to(text, self.request.route_url('stores.view', uuid=store.uuid))
return text