diff --git a/tailbone/app.py b/tailbone/app.py index 28d64f00..7ba66730 100644 --- a/tailbone/app.py +++ b/tailbone/app.py @@ -45,7 +45,7 @@ from pyramid.authentication import SessionAuthenticationPolicy import tailbone.db from tailbone.auth import TailboneAuthorizationPolicy -from tailbone.forms import GPCFieldRenderer +from tailbone.forms import renderers log = logging.getLogger(__name__) @@ -119,7 +119,7 @@ def make_pyramid_config(settings): # Configure FormAlchemy. formalchemy.config.engine = TemplateEngine() - formalchemy.FieldSet.default_renderers[GPCType] = GPCFieldRenderer + formalchemy.FieldSet.default_renderers[GPCType] = renderers.GPCFieldRenderer return config diff --git a/tailbone/forms/__init__.py b/tailbone/forms/__init__.py index cb07088e..4d89dde9 100644 --- a/tailbone/forms/__init__.py +++ b/tailbone/forms/__init__.py @@ -1,9 +1,8 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- +# -*- coding: utf-8 -*- ################################################################################ # # Rattail -- Retail Software Framework -# Copyright © 2010-2012 Lance Edgar +# Copyright © 2010-2015 Lance Edgar # # This file is part of Rattail. # @@ -21,7 +20,6 @@ # along with Rattail. If not, see . # ################################################################################ - """ Forms """ @@ -30,3 +28,5 @@ from .simpleform import * from .alchemy import * from .fields import * from .renderers import * + +from tailbone.forms import renderers diff --git a/tailbone/forms/renderers/__init__.py b/tailbone/forms/renderers/__init__.py index c37b58fd..77645e73 100644 --- a/tailbone/forms/renderers/__init__.py +++ b/tailbone/forms/renderers/__init__.py @@ -33,4 +33,8 @@ from tailbone.forms.renderers.common import ( from .people import * from .employees import EmployeeFieldRenderer -from .products import * + +from tailbone.forms.renderers.products import GPCFieldRenderer +from tailbone.forms.renderers.products import * + +from tailbone.forms.renderers.stores import StoreFieldRenderer diff --git a/tailbone/forms/renderers/stores.py b/tailbone/forms/renderers/stores.py new file mode 100644 index 00000000..bbe1545c --- /dev/null +++ b/tailbone/forms/renderers/stores.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Rattail -- Retail Software Framework +# Copyright © 2010-2015 Lance Edgar +# +# This file is part of Rattail. +# +# Rattail is free software: you can redistribute it and/or modify it under the +# terms of the GNU Affero General Public License as published by the Free +# Software Foundation, either version 3 of the License, or (at your option) +# any later version. +# +# Rattail is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for +# more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with Rattail. If not, see . +# +################################################################################ +""" +Store Field Renderers +""" + +from __future__ import unicode_literals + +from formalchemy.fields import SelectFieldRenderer + + +class StoreFieldRenderer(SelectFieldRenderer): + """ + Renderer for :class:`rattail.db.model.Store` instance fields. + """ + + def render_readonly(self, **kwargs): + store = self.raw_value + if not store: + return '' + return '{0} - {1}'.format(store.id, store.name)