Add UI support for Product.last_sold and current_price_ends pseudo-field.

This commit is contained in:
Lance Edgar 2015-03-10 17:51:12 -05:00
parent 42da24a047
commit 3fed317805
2 changed files with 22 additions and 2 deletions

View file

@ -32,8 +32,8 @@ import re
from sqlalchemy import and_
from sqlalchemy.orm import joinedload, aliased
import formalchemy
from webhelpers.html.tags import link_to
from pyramid.httpexceptions import HTTPFound
from pyramid.renderers import render_to_response
@ -54,7 +54,7 @@ from rattail.pod import get_image_url, get_image_path
from tailbone.views import SearchableAlchemyGridView, CrudView
from tailbone.views.continuum import VersionView, version_defaults
from tailbone.forms import EnumFieldRenderer
from tailbone.forms import EnumFieldRenderer, DateTimeFieldRenderer
from tailbone.db import Session
from tailbone.forms import GPCFieldRenderer, BrandFieldRenderer, PriceFieldRenderer
from tailbone.progress import SessionProgress
@ -249,6 +249,12 @@ class ProductCrud(CrudView):
fs.unit_of_measure.set(renderer=EnumFieldRenderer(enum.UNIT_OF_MEASURE))
fs.regular_price.set(renderer=PriceFieldRenderer)
fs.current_price.set(renderer=PriceFieldRenderer)
fs.append(formalchemy.Field('current_price_ends'))
fs.current_price_ends.set(value=lambda p: p.current_price.ends if p.current_price else None)
fs.current_price_ends.set(renderer=DateTimeFieldRenderer(self.request.rattail_config))
fs.last_sold.set(renderer=DateTimeFieldRenderer(self.request.rattail_config))
fs.configure(
include=[
fs.upc.label("UPC"),
@ -266,6 +272,7 @@ class ProductCrud(CrudView):
fs.report_code,
fs.regular_price,
fs.current_price,
fs.current_price_ends,
fs.deposit_link,
fs.tax,
fs.organic,
@ -273,6 +280,7 @@ class ProductCrud(CrudView):
fs.special_order,
fs.not_for_sale,
fs.deleted,
fs.last_sold,
])
if not self.readonly:
del fs.regular_price