Remove several references to "buefy" name
class methods, template filenames, etc. also made various edits per newer conventions
This commit is contained in:
parent
96ba039299
commit
c036932ce4
50 changed files with 373 additions and 361 deletions
|
@ -2,7 +2,7 @@
|
|||
################################################################################
|
||||
#
|
||||
# Rattail -- Retail Software Framework
|
||||
# Copyright © 2010-2023 Lance Edgar
|
||||
# Copyright © 2010-2024 Lance Edgar
|
||||
#
|
||||
# This file is part of Rattail.
|
||||
#
|
||||
|
@ -32,23 +32,18 @@ import logging
|
|||
import socket
|
||||
import subprocess
|
||||
import tempfile
|
||||
import warnings
|
||||
|
||||
import json
|
||||
import markdown
|
||||
import sqlalchemy as sa
|
||||
from sqlalchemy import orm
|
||||
|
||||
from rattail.db import model, Session as RattailSession
|
||||
from rattail.db.util import short_session
|
||||
from rattail.threads import Thread
|
||||
from rattail.util import prettify, simple_error
|
||||
from rattail.progress import SocketProgress
|
||||
from rattail.util import simple_error
|
||||
|
||||
import colander
|
||||
import deform
|
||||
from deform import widget as dfwidget
|
||||
from pyramid.renderers import render_to_response
|
||||
from pyramid.response import FileResponse
|
||||
from webhelpers2.html import HTML, tags
|
||||
|
||||
from tailbone import forms, grids
|
||||
|
@ -115,7 +110,7 @@ class BatchMasterView(MasterView):
|
|||
}
|
||||
|
||||
def __init__(self, request):
|
||||
super(BatchMasterView, self).__init__(request)
|
||||
super().__init__(request)
|
||||
self.batch_handler = self.get_handler()
|
||||
# TODO: deprecate / remove this (?)
|
||||
self.handler = self.batch_handler
|
||||
|
@ -167,7 +162,7 @@ class BatchMasterView(MasterView):
|
|||
return self.rattail_config.batch_filepath(batch.batch_key, batch.uuid, filename)
|
||||
|
||||
def template_kwargs_view(self, **kwargs):
|
||||
kwargs = super(BatchMasterView, self).template_kwargs_view(**kwargs)
|
||||
kwargs = super().template_kwargs_view(**kwargs)
|
||||
batch = kwargs['instance']
|
||||
kwargs['batch'] = batch
|
||||
kwargs['handler'] = self.handler
|
||||
|
@ -195,8 +190,8 @@ class BatchMasterView(MasterView):
|
|||
g.set_click_handler('title', "autoFilterStatus(props.row)")
|
||||
kwargs['status_breakdown_data'] = breakdown
|
||||
kwargs['status_breakdown_grid'] = HTML.literal(
|
||||
g.render_buefy_table_element(data_prop='statusBreakdownData',
|
||||
empty_labels=True))
|
||||
g.render_table_element(data_prop='statusBreakdownData',
|
||||
empty_labels=True))
|
||||
|
||||
return kwargs
|
||||
|
||||
|
@ -288,7 +283,8 @@ class BatchMasterView(MasterView):
|
|||
return not batch.executed and not batch.complete
|
||||
|
||||
def configure_grid(self, g):
|
||||
super(BatchMasterView, self).configure_grid(g)
|
||||
super().configure_grid(g)
|
||||
model = self.model
|
||||
|
||||
# created_by
|
||||
CreatedBy = orm.aliased(model.User)
|
||||
|
@ -337,7 +333,7 @@ class BatchMasterView(MasterView):
|
|||
return batch.id_str
|
||||
|
||||
def configure_form(self, f):
|
||||
super(BatchMasterView, self).configure_form(f)
|
||||
super().configure_form(f)
|
||||
|
||||
# id
|
||||
f.set_readonly('id')
|
||||
|
@ -436,9 +432,9 @@ class BatchMasterView(MasterView):
|
|||
|
||||
label = HTML.literal(
|
||||
'{{{{ togglingBatchComplete ? "Working, please wait..." : "{}" }}}}'.format(label))
|
||||
submit = self.make_buefy_button(label, is_primary=True,
|
||||
native_type='submit',
|
||||
**{':disabled': 'togglingBatchComplete'})
|
||||
submit = self.make_button(label, is_primary=True,
|
||||
native_type='submit',
|
||||
**{':disabled': 'togglingBatchComplete'})
|
||||
|
||||
form = [
|
||||
begin_form,
|
||||
|
@ -603,7 +599,7 @@ class BatchMasterView(MasterView):
|
|||
return True
|
||||
|
||||
def configure_row_grid(self, g):
|
||||
super(BatchMasterView, self).configure_row_grid(g)
|
||||
super().configure_row_grid(g)
|
||||
|
||||
g.set_sort_defaults('sequence')
|
||||
g.set_link('sequence')
|
||||
|
@ -644,7 +640,7 @@ class BatchMasterView(MasterView):
|
|||
if batch.executed:
|
||||
self.request.session.flash("You cannot add new rows to a batch which has been executed")
|
||||
return self.redirect(self.get_action_url('view', batch))
|
||||
return super(BatchMasterView, self).create_row()
|
||||
return super().create_row()
|
||||
|
||||
def save_create_row_form(self, form):
|
||||
batch = self.get_instance()
|
||||
|
@ -657,7 +653,7 @@ class BatchMasterView(MasterView):
|
|||
self.handler.refresh_row(row)
|
||||
|
||||
def configure_row_form(self, f):
|
||||
super(BatchMasterView, self).configure_row_form(f)
|
||||
super().configure_row_form(f)
|
||||
|
||||
# sequence
|
||||
f.set_readonly('sequence')
|
||||
|
@ -681,9 +677,9 @@ class BatchMasterView(MasterView):
|
|||
permission_prefix = self.get_permission_prefix()
|
||||
if self.request.has_perm('{}.create_row'.format(permission_prefix)):
|
||||
url = self.get_action_url('create_row', batch)
|
||||
return self.make_buefy_button("New Row", url=url,
|
||||
is_primary=True,
|
||||
icon_left='plus')
|
||||
return self.make_button("New Row", url=url,
|
||||
is_primary=True,
|
||||
icon_left='plus')
|
||||
|
||||
def make_batch_row_grid_tools(self, batch):
|
||||
pass
|
||||
|
@ -719,7 +715,7 @@ class BatchMasterView(MasterView):
|
|||
|
||||
kwargs['main_actions'] = actions
|
||||
|
||||
return super(BatchMasterView, self).make_row_grid_kwargs(**kwargs)
|
||||
return super().make_row_grid_kwargs(**kwargs)
|
||||
|
||||
def make_row_grid_tools(self, batch):
|
||||
return (self.make_default_row_grid_tools(batch) or '') + (self.make_batch_row_grid_tools(batch) or '')
|
||||
|
@ -852,8 +848,11 @@ class BatchMasterView(MasterView):
|
|||
labels = kwargs.setdefault('labels', {})
|
||||
labels[field.name] = field.title
|
||||
|
||||
# auto-convert select widgets for buefy theme
|
||||
# auto-convert select widgets for theme
|
||||
if isinstance(field.widget, forms.widgets.PlainSelectWidget):
|
||||
warnings.warn("PlainSelectWidget is deprecated; "
|
||||
"please use deform.widget.SelectWidget instead",
|
||||
DeprecationWarning)
|
||||
field.widget = dfwidget.SelectWidget(values=field.widget.values)
|
||||
|
||||
if not schema:
|
||||
|
@ -1022,7 +1021,8 @@ class BatchMasterView(MasterView):
|
|||
cxn.close()
|
||||
|
||||
def catchup_versions(self, port, batch_uuid, username, *models):
|
||||
with short_session() as s:
|
||||
app = self.get_rattail_app()
|
||||
with app.short_session() as s:
|
||||
batch = s.get(self.model_class, batch_uuid)
|
||||
batch_id = batch.id_str
|
||||
description = str(batch)
|
||||
|
@ -1048,8 +1048,10 @@ class BatchMasterView(MasterView):
|
|||
"""
|
||||
Thread target for populating batch data with progress indicator.
|
||||
"""
|
||||
app = self.get_rattail_app()
|
||||
model = self.model
|
||||
# mustn't use tailbone web session here
|
||||
session = RattailSession()
|
||||
session = app.make_session()
|
||||
batch = session.get(self.model_class, batch_uuid)
|
||||
user = session.get(model.User, user_uuid)
|
||||
try:
|
||||
|
@ -1107,7 +1109,9 @@ class BatchMasterView(MasterView):
|
|||
# Refresh data for the batch, with progress. Note that we must use the
|
||||
# rattail session here; can't use tailbone because it has web request
|
||||
# transaction binding etc.
|
||||
session = RattailSession()
|
||||
app = self.get_rattail_app()
|
||||
model = self.model
|
||||
session = app.make_session()
|
||||
batch = session.get(self.model_class, batch_uuid)
|
||||
cognizer = session.get(model.User, user_uuid) if user_uuid else None
|
||||
try:
|
||||
|
@ -1160,7 +1164,9 @@ class BatchMasterView(MasterView):
|
|||
"""
|
||||
Thread target for refreshing multiple batches with progress indicator.
|
||||
"""
|
||||
session = RattailSession()
|
||||
app = self.get_rattail_app()
|
||||
model = self.model
|
||||
session = app.make_session()
|
||||
batches = batches.with_session(session).all()
|
||||
user = session.get(model.User, user_uuid)
|
||||
try:
|
||||
|
@ -1257,7 +1263,7 @@ class BatchMasterView(MasterView):
|
|||
self.handler.do_remove_row(row)
|
||||
|
||||
def delete_row_objects(self, rows):
|
||||
deleted = super(BatchMasterView, self).delete_row_objects(rows)
|
||||
deleted = super().delete_row_objects(rows)
|
||||
batch = self.get_instance()
|
||||
|
||||
# decrement rowcount for batch
|
||||
|
@ -1300,7 +1306,9 @@ class BatchMasterView(MasterView):
|
|||
# Execute the batch, with progress. Note that we must use the rattail
|
||||
# session here; can't use tailbone because it has web request
|
||||
# transaction binding etc.
|
||||
session = RattailSession()
|
||||
app = self.get_rattail_app()
|
||||
model = self.model
|
||||
session = app.make_session()
|
||||
batch = self.get_instance_for_key(key, session)
|
||||
user = session.get(model.User, user_uuid)
|
||||
try:
|
||||
|
@ -1375,7 +1383,9 @@ class BatchMasterView(MasterView):
|
|||
"""
|
||||
Thread target for executing multiple batches with progress indicator.
|
||||
"""
|
||||
session = RattailSession()
|
||||
app = self.get_rattail_app()
|
||||
model = self.model
|
||||
session = app.make_session()
|
||||
batches = batches.with_session(session).all()
|
||||
user = session.get(model.User, user_uuid)
|
||||
try:
|
||||
|
@ -1415,7 +1425,7 @@ class BatchMasterView(MasterView):
|
|||
return self.get_index_url()
|
||||
|
||||
def get_row_csv_fields(self):
|
||||
fields = super(BatchMasterView, self).get_row_csv_fields()
|
||||
fields = super().get_row_csv_fields()
|
||||
fields = [field for field in fields
|
||||
if field not in ('uuid', 'batch_uuid', 'removed')]
|
||||
return fields
|
||||
|
@ -1538,7 +1548,7 @@ class FileBatchMasterView(BatchMasterView):
|
|||
return uploads
|
||||
|
||||
def configure_form(self, f):
|
||||
super(FileBatchMasterView, self).configure_form(f)
|
||||
super().configure_form(f)
|
||||
batch = f.model_instance
|
||||
|
||||
# filename
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
################################################################################
|
||||
#
|
||||
# Rattail -- Retail Software Framework
|
||||
# Copyright © 2010-2023 Lance Edgar
|
||||
# Copyright © 2010-2024 Lance Edgar
|
||||
#
|
||||
# This file is part of Rattail.
|
||||
#
|
||||
|
@ -26,12 +26,12 @@ Views for handheld batches
|
|||
|
||||
from collections import OrderedDict
|
||||
|
||||
from rattail.db import model
|
||||
from rattail.db.model import HandheldBatch, HandheldBatchRow
|
||||
|
||||
import colander
|
||||
from deform import widget as dfwidget
|
||||
from webhelpers2.html import tags
|
||||
|
||||
from tailbone import forms
|
||||
from tailbone.views.batch import FileBatchMasterView
|
||||
|
||||
|
||||
|
@ -46,14 +46,14 @@ class ExecutionOptions(colander.Schema):
|
|||
action = colander.SchemaNode(
|
||||
colander.String(),
|
||||
validator=colander.OneOf(ACTION_OPTIONS),
|
||||
widget=forms.widgets.PlainSelectWidget(values=ACTION_OPTIONS.items()))
|
||||
widget=dfwidget.SelectWidget(values=ACTION_OPTIONS.items()))
|
||||
|
||||
|
||||
class HandheldBatchView(FileBatchMasterView):
|
||||
"""
|
||||
Master view for handheld batches.
|
||||
"""
|
||||
model_class = model.HandheldBatch
|
||||
model_class = HandheldBatch
|
||||
default_handler_spec = 'rattail.batch.handheld:HandheldBatchHandler'
|
||||
model_title_plural = "Handheld Batches"
|
||||
route_prefix = 'batch.handheld'
|
||||
|
@ -61,7 +61,7 @@ class HandheldBatchView(FileBatchMasterView):
|
|||
execution_options_schema = ExecutionOptions
|
||||
editable = False
|
||||
|
||||
model_row_class = model.HandheldBatchRow
|
||||
model_row_class = HandheldBatchRow
|
||||
rows_creatable = False
|
||||
rows_editable = True
|
||||
|
||||
|
@ -116,7 +116,7 @@ class HandheldBatchView(FileBatchMasterView):
|
|||
]
|
||||
|
||||
def configure_grid(self, g):
|
||||
super(HandheldBatchView, self).configure_grid(g)
|
||||
super().configure_grid(g)
|
||||
device_types = OrderedDict(sorted(self.enum.HANDHELD_DEVICE_TYPE.items(),
|
||||
key=lambda item: item[1]))
|
||||
g.set_enum('device_type', device_types)
|
||||
|
@ -126,7 +126,7 @@ class HandheldBatchView(FileBatchMasterView):
|
|||
return 'notice'
|
||||
|
||||
def configure_form(self, f):
|
||||
super(HandheldBatchView, self).configure_form(f)
|
||||
super().configure_form(f)
|
||||
batch = f.model_instance
|
||||
|
||||
# device_type
|
||||
|
@ -156,13 +156,13 @@ class HandheldBatchView(FileBatchMasterView):
|
|||
return tags.link_to(text, url)
|
||||
|
||||
def get_batch_kwargs(self, batch):
|
||||
kwargs = super(HandheldBatchView, self).get_batch_kwargs(batch)
|
||||
kwargs = super().get_batch_kwargs(batch)
|
||||
kwargs['device_type'] = batch.device_type
|
||||
kwargs['device_name'] = batch.device_name
|
||||
return kwargs
|
||||
|
||||
def configure_row_grid(self, g):
|
||||
super(HandheldBatchView, self).configure_row_grid(g)
|
||||
super().configure_row_grid(g)
|
||||
g.set_type('cases', 'quantity')
|
||||
g.set_type('units', 'quantity')
|
||||
g.set_label('brand_name', "Brand")
|
||||
|
@ -172,7 +172,7 @@ class HandheldBatchView(FileBatchMasterView):
|
|||
return 'warning'
|
||||
|
||||
def configure_row_form(self, f):
|
||||
super(HandheldBatchView, self).configure_row_form(f)
|
||||
super().configure_row_form(f)
|
||||
|
||||
# readonly fields
|
||||
f.set_readonly('upc')
|
||||
|
@ -188,7 +188,7 @@ class HandheldBatchView(FileBatchMasterView):
|
|||
return self.request.route_url('batch.inventory.view', uuid=result.uuid)
|
||||
elif kwargs['action'] == 'make_label_batch':
|
||||
return self.request.route_url('labels.batch.view', uuid=result.uuid)
|
||||
return super(HandheldBatchView, self).get_execute_success_url(batch)
|
||||
return super().get_execute_success_url(batch)
|
||||
|
||||
def get_execute_results_success_url(self, result, **kwargs):
|
||||
if result is True:
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
################################################################################
|
||||
#
|
||||
# Rattail -- Retail Software Framework
|
||||
# Copyright © 2010-2023 Lance Edgar
|
||||
# Copyright © 2010-2024 Lance Edgar
|
||||
#
|
||||
# This file is part of Rattail.
|
||||
#
|
||||
|
@ -206,7 +206,7 @@ class POSBatchView(BatchMasterView):
|
|||
)
|
||||
|
||||
return HTML.literal(
|
||||
g.render_buefy_table_element(data_prop='taxesData'))
|
||||
g.render_table_element(data_prop='taxesData'))
|
||||
|
||||
def template_kwargs_view(self, **kwargs):
|
||||
kwargs = super().template_kwargs_view(**kwargs)
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
################################################################################
|
||||
#
|
||||
# Rattail -- Retail Software Framework
|
||||
# Copyright © 2010-2023 Lance Edgar
|
||||
# Copyright © 2010-2024 Lance Edgar
|
||||
#
|
||||
# This file is part of Rattail.
|
||||
#
|
||||
|
@ -26,12 +26,12 @@ Views for generic product batches
|
|||
|
||||
from collections import OrderedDict
|
||||
|
||||
from rattail.db import model
|
||||
from rattail.db.model import ProductBatch, ProductBatchRow
|
||||
|
||||
import colander
|
||||
from deform import widget as dfwidget
|
||||
from webhelpers2.html import HTML
|
||||
|
||||
from tailbone import forms
|
||||
from tailbone.views.batch import BatchMasterView
|
||||
|
||||
|
||||
|
@ -46,15 +46,15 @@ class ExecutionOptions(colander.Schema):
|
|||
action = colander.SchemaNode(
|
||||
colander.String(),
|
||||
validator=colander.OneOf(ACTION_OPTIONS),
|
||||
widget=forms.widgets.PlainSelectWidget(values=ACTION_OPTIONS.items()))
|
||||
widget=dfwidget.SelectWidget(values=ACTION_OPTIONS.items()))
|
||||
|
||||
|
||||
class ProductBatchView(BatchMasterView):
|
||||
"""
|
||||
Master view for product batches.
|
||||
"""
|
||||
model_class = model.ProductBatch
|
||||
model_row_class = model.ProductBatchRow
|
||||
model_class = ProductBatch
|
||||
model_row_class = ProductBatchRow
|
||||
default_handler_spec = 'rattail.batch.product:ProductBatchHandler'
|
||||
route_prefix = 'batch.product'
|
||||
url_prefix = '/batches/product'
|
||||
|
@ -129,7 +129,7 @@ class ProductBatchView(BatchMasterView):
|
|||
]
|
||||
|
||||
def configure_form(self, f):
|
||||
super(ProductBatchView, self).configure_form(f)
|
||||
super().configure_form(f)
|
||||
|
||||
# input_filename
|
||||
if self.creating:
|
||||
|
@ -139,7 +139,8 @@ class ProductBatchView(BatchMasterView):
|
|||
f.set_renderer('input_filename', self.render_downloadable_file)
|
||||
|
||||
def configure_row_grid(self, g):
|
||||
super(ProductBatchView, self).configure_row_grid(g)
|
||||
super().configure_row_grid(g)
|
||||
model = self.model
|
||||
|
||||
g.set_joiner('vendor', lambda q: q.outerjoin(model.Vendor))
|
||||
g.set_sorter('vendor', model.Vendor.name)
|
||||
|
@ -165,7 +166,7 @@ class ProductBatchView(BatchMasterView):
|
|||
return 'warning'
|
||||
|
||||
def configure_row_form(self, f):
|
||||
super(ProductBatchView, self).configure_row_form(f)
|
||||
super().configure_row_form(f)
|
||||
|
||||
f.set_type('upc', 'gpc')
|
||||
|
||||
|
@ -204,10 +205,10 @@ class ProductBatchView(BatchMasterView):
|
|||
return self.request.route_url('labels.batch.view', uuid=result.uuid)
|
||||
elif kwargs['action'] == 'make_pricing_batch':
|
||||
return self.request.route_url('batch.pricing.view', uuid=result.uuid)
|
||||
return super(ProductBatchView, self).get_execute_success_url(batch)
|
||||
return super().get_execute_success_url(batch)
|
||||
|
||||
def get_row_csv_fields(self):
|
||||
fields = super(ProductBatchView, self).get_row_csv_fields()
|
||||
fields = super().get_row_csv_fields()
|
||||
|
||||
if 'vendor_uuid' in fields:
|
||||
i = fields.index('vendor_uuid')
|
||||
|
@ -273,12 +274,12 @@ class ProductBatchView(BatchMasterView):
|
|||
data['report_name'] = (report.name or '') if report else ''
|
||||
|
||||
def get_row_csv_row(self, row, fields):
|
||||
csvrow = super(ProductBatchView, self).get_row_csv_row(row, fields)
|
||||
csvrow = super().get_row_csv_row(row, fields)
|
||||
self.supplement_row_data(row, fields, csvrow)
|
||||
return csvrow
|
||||
|
||||
def get_row_xlsx_row(self, row, fields):
|
||||
xlrow = super(ProductBatchView, self).get_row_xlsx_row(row, fields)
|
||||
xlrow = super().get_row_xlsx_row(row, fields)
|
||||
self.supplement_row_data(row, fields, xlrow)
|
||||
return xlrow
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue