Remove legacy fieldset configuration logic

This commit is contained in:
Lance Edgar 2018-02-11 16:15:48 -06:00
parent 1c27efc8f1
commit 2cbacd6187
2 changed files with 0 additions and 194 deletions

View file

@ -39,7 +39,6 @@ from rattail.db import model, Session as RattailSession
from rattail.threads import Thread
from rattail.util import load_object, prettify
import formalchemy as fa
from pyramid import httpexceptions
from pyramid.renderers import render_to_response
from pyramid.response import FileResponse
@ -49,7 +48,6 @@ from webhelpers2.html import HTML, tags
from tailbone import forms, grids
from tailbone.db import Session
from tailbone.views import MasterView
from tailbone.forms.renderers.batch import FileFieldRenderer
from tailbone.progress import SessionProgress
@ -293,95 +291,6 @@ class BatchMasterView(MasterView):
url = self.request.route_url('users.view', uuid=user.uuid)
return tags.link_to(title, url)
def _preconfigure_fieldset(self, fs):
"""
Apply some commonly-useful pre-configuration to the main batch
fieldset.
"""
fs.id.set(label="Batch ID", readonly=True, renderer=forms.renderers.BatchIDFieldRenderer)
fs.created.set(readonly=True)
fs.created_by.set(label="Created by", renderer=forms.renderers.UserFieldRenderer,
readonly=True)
fs.cognized_by.set(label="Cognized by", renderer=forms.renderers.UserFieldRenderer)
fs.rowcount.set(label="Row Count", readonly=True)
fs.status_code.set(label="Status", renderer=StatusRenderer(self.model_class.STATUS))
fs.executed.set(readonly=True)
fs.executed_by.set(label="Executed by", renderer=forms.renderers.UserFieldRenderer, readonly=True)
fs.notes.set(renderer=fa.TextAreaFieldRenderer, size=(80, 10))
if self.creating and self.request.user:
batch = fs.model
batch.created_by_uuid = self.request.user.uuid
def configure_fieldset(self, fs):
"""
Apply final configuration to the main batch fieldset. Custom batch
views are encouraged to override this method.
"""
if self.creating:
fs.configure()
else:
batch = fs.model
if batch.executed:
fs.configure(
include=[
fs.id,
fs.created,
fs.created_by,
fs.rowcount,
fs.executed,
fs.executed_by,
])
else:
fs.configure(
include=[
fs.id,
fs.created,
fs.created_by,
fs.rowcount,
])
def _postconfigure_fieldset(self, fs):
if self.creating:
unwanted = [
'id',
'rowcount',
'created',
'created_by',
'cognized',
'cognized_by',
'executed',
'executed_by',
'purge',
'data_rows',
]
for field in unwanted:
if field in fs.render_fields:
delattr(fs, field)
else:
batch = fs.model
if not batch.executed:
unwanted = [
'executed',
'executed_by',
]
for field in unwanted:
if field in fs.render_fields:
delattr(fs, field)
def add_file_field(self, fs, name, **kwargs):
kwargs.setdefault('value', lambda b: getattr(b, 'filename_{}'.format(name)))
if 'renderer' not in kwargs:
batch = fs.model
storage_path = self.rattail_config.batch_filedir(self.handler.batch_key)
download_url = self.get_action_url('download', batch, _query={'file': name})
kwargs['renderer'] = FileFieldRenderer.new(self,
storage_path=storage_path,
download_url=download_url)
fs.append(fa.Field(name, **kwargs))
def configure_mobile_form(self, f):
super(BatchMasterView, self).configure_mobile_form(f)
batch = f.model_instance
@ -917,21 +826,6 @@ class BatchMasterView(MasterView):
return True
return False
def _preconfigure_row_fieldset(self, fs):
fs.sequence.set(readonly=True)
fs.status_code.set(renderer=StatusRenderer(self.model_row_class.STATUS),
label="Status", readonly=True)
fs.status_text.set(readonly=True)
fs.removed.set(readonly=True)
try:
fs.product.set(readonly=True, renderer=forms.renderers.ProductFieldRenderer)
except AttributeError:
pass
def configure_row_fieldset(self, fs):
fs.configure()
del fs.batch
def template_kwargs_view_row(self, **kwargs):
kwargs['batch_model_title'] = kwargs['parent_model_title']
return kwargs
@ -1252,44 +1146,6 @@ class FileBatchMasterView(BatchMasterView):
url = self.get_action_url('download', batch)
return self.render_file_field(path, url)
def _preconfigure_fieldset(self, fs):
super(FileBatchMasterView, self)._preconfigure_fieldset(fs)
fs.filename.set(label="Data File", renderer=FileFieldRenderer.new(self))
if self.editing:
fs.filename.set(readonly=True)
def configure_fieldset(self, fs):
"""
Apply final configuration to the main batch fieldset. Custom batch
views are encouraged to override this method.
"""
if self.creating:
fs.configure(
include=[
fs.filename,
])
else:
batch = fs.model
if batch.executed:
fs.configure(
include=[
fs.id,
fs.created,
fs.created_by,
fs.filename,
fs.executed,
fs.executed_by,
])
else:
fs.configure(
include=[
fs.id,
fs.created,
fs.created_by,
fs.filename,
])
def download(self):
"""
View for downloading the data file associated with a batch.
@ -1329,23 +1185,6 @@ class FileBatchMasterView(BatchMasterView):
"Download existing {} data file".format(model_title))
class StatusRenderer(forms.renderers.EnumFieldRenderer):
"""
Custom renderer for ``status_code`` fields. Adds ``status_text`` value as
title attribute if it exists.
"""
def render_readonly(self, **kwargs):
value = self.raw_value
if value is None:
return ''
status_code_text = self.enumeration.get(value, unicode(value))
row = self.field.parent.model
if row.status_text:
return HTML.tag('span', title=row.status_text, c=status_code_text)
return status_code_text
class MobileBatchStatusFilter(grids.filters.MobileFilter):
value_choices = ['pending', 'complete', 'executed', 'all']

View file

@ -993,12 +993,6 @@ class MasterView(View):
self.set_labels(form)
def preconfigure_mobile_row_fieldset(self, fieldset):
self._preconfigure_row_fieldset(fieldset)
def configure_mobile_row_fieldset(self, fieldset):
self.configure_row_fieldset(fieldset)
def validate_mobile_form(self, form):
controls = self.request.POST.items()
try:
@ -1081,15 +1075,6 @@ class MasterView(View):
return False
return True
def preconfigure_mobile_fieldset(self, fieldset):
self._preconfigure_fieldset(fieldset)
def configure_mobile_fieldset(self, fieldset):
"""
Configure the given mobile fieldset.
"""
self.configure_fieldset(fieldset)
def get_mobile_row_data(self, parent):
return self.get_row_data(parent)
@ -2226,18 +2211,6 @@ class MasterView(View):
def save_form(self, form):
form.save()
def _preconfigure_fieldset(self, fieldset):
pass
def configure_fieldset(self, fieldset):
"""
Configure the given fieldset.
"""
fieldset.configure()
def _postconfigure_fieldset(self, fieldset):
pass
def before_create(self, form):
"""
Event hook, called just after the form to create a new instance has
@ -2570,12 +2543,6 @@ class MasterView(View):
self.set_row_labels(form)
def _preconfigure_row_fieldset(self, fs):
pass
def configure_row_fieldset(self, fs):
fs.configure()
def validate_row_form(self, form):
controls = self.request.POST.items()
try: