Add view for InventoryAdjustmentReason model
This commit is contained in:
parent
067cd60e20
commit
dd22c04573
|
@ -2,7 +2,7 @@
|
|||
################################################################################
|
||||
#
|
||||
# Rattail -- Retail Software Framework
|
||||
# Copyright © 2010-2017 Lance Edgar
|
||||
# Copyright © 2010-2018 Lance Edgar
|
||||
#
|
||||
# This file is part of Rattail.
|
||||
#
|
||||
|
@ -36,13 +36,44 @@ from rattail.time import localtime
|
|||
from rattail.gpc import GPC
|
||||
from rattail.util import pretty_quantity
|
||||
|
||||
import colander
|
||||
import formalchemy as fa
|
||||
import formencode as fe
|
||||
|
||||
from tailbone import forms
|
||||
from tailbone.views import MasterView3 as MasterView
|
||||
from tailbone.views.batch import BatchMasterView2 as BatchMasterView
|
||||
|
||||
|
||||
class InventoryAdjustmentReasonsView(MasterView):
|
||||
"""
|
||||
Master view for inventory adjustment reasons.
|
||||
"""
|
||||
model_class = model.InventoryAdjustmentReason
|
||||
route_prefix = 'invadjust_reasons'
|
||||
url_prefix = '/inventory-adjustment-reasons'
|
||||
|
||||
grid_columns = [
|
||||
'code',
|
||||
'description',
|
||||
]
|
||||
|
||||
def configure_form(self, f):
|
||||
super(InventoryAdjustmentReasonsView, self).configure_form(f)
|
||||
|
||||
# code
|
||||
f.set_validator('code', self.unique_code)
|
||||
|
||||
def unique_code(self, node, value):
|
||||
query = self.Session.query(model.InventoryAdjustmentReason)\
|
||||
.filter(model.InventoryAdjustmentReason.code == value)
|
||||
if self.editing:
|
||||
reason = self.get_instance()
|
||||
query = query.filter(model.InventoryAdjustmentReason.uuid != reason.uuid)
|
||||
if query.count():
|
||||
raise colander.Invalid(node, "Code must be unique")
|
||||
|
||||
|
||||
class InventoryBatchView(BatchMasterView):
|
||||
"""
|
||||
Master view for inventory batches.
|
||||
|
@ -391,4 +422,5 @@ class InventoryForm(forms.Schema):
|
|||
|
||||
|
||||
def includeme(config):
|
||||
InventoryAdjustmentReasonsView.defaults(config)
|
||||
InventoryBatchView.defaults(config)
|
||||
|
|
Loading…
Reference in a new issue