Remove all deprecated use_buefy
logic
also remove some static files no longer used, etc.
This commit is contained in:
parent
01e5eee981
commit
9faaea881d
112 changed files with 2079 additions and 7039 deletions
|
@ -24,8 +24,6 @@
|
|||
Base views for maintaining "new-style" batches.
|
||||
"""
|
||||
|
||||
from __future__ import unicode_literals, absolute_import
|
||||
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
|
@ -37,7 +35,6 @@ import tempfile
|
|||
from six import StringIO
|
||||
|
||||
import json
|
||||
import six
|
||||
import markdown
|
||||
import sqlalchemy as sa
|
||||
from sqlalchemy import orm
|
||||
|
@ -172,7 +169,6 @@ class BatchMasterView(MasterView):
|
|||
|
||||
def template_kwargs_view(self, **kwargs):
|
||||
kwargs = super(BatchMasterView, self).template_kwargs_view(**kwargs)
|
||||
use_buefy = self.get_use_buefy()
|
||||
batch = kwargs['instance']
|
||||
kwargs['batch'] = batch
|
||||
kwargs['handler'] = self.handler
|
||||
|
@ -194,30 +190,22 @@ class BatchMasterView(MasterView):
|
|||
|
||||
breakdown = self.make_status_breakdown(batch)
|
||||
|
||||
if use_buefy:
|
||||
factory = self.get_grid_factory()
|
||||
g = factory('batch_row_status_breakdown', [],
|
||||
columns=['title', 'count'])
|
||||
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))
|
||||
|
||||
else:
|
||||
kwargs['status_breakdown'] = [
|
||||
(status['title'], status['count'])
|
||||
for status in breakdown]
|
||||
factory = self.get_grid_factory()
|
||||
g = factory('batch_row_status_breakdown', [],
|
||||
columns=['title', 'count'])
|
||||
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))
|
||||
|
||||
return kwargs
|
||||
|
||||
def make_upload_worksheet_form(self, batch):
|
||||
action_url = self.get_action_url('upload_worksheet', batch)
|
||||
use_buefy = self.get_use_buefy()
|
||||
form = forms.Form(schema=UploadWorksheet(),
|
||||
request=self.request,
|
||||
action_url=action_url,
|
||||
use_buefy=use_buefy,
|
||||
component='upload-worksheet-form')
|
||||
form.set_type('worksheet_file', 'file')
|
||||
# TODO: must set these to avoid some default Buefy code
|
||||
|
@ -431,7 +419,6 @@ class BatchMasterView(MasterView):
|
|||
return dict(batch.params or {})
|
||||
|
||||
def render_complete(self, batch, field):
|
||||
use_buefy = self.get_use_buefy()
|
||||
text = "Yes" if batch.complete else "No"
|
||||
|
||||
if batch.executed or not self.has_perm('edit'):
|
||||
|
@ -446,18 +433,13 @@ class BatchMasterView(MasterView):
|
|||
|
||||
url = self.get_action_url('toggle_complete', batch)
|
||||
kwargs = {'@submit': 'togglingBatchComplete = true'}
|
||||
if not use_buefy:
|
||||
kwargs['class_'] = 'autodisable'
|
||||
begin_form = tags.form(url, **kwargs)
|
||||
|
||||
if use_buefy:
|
||||
label = HTML.literal(
|
||||
'{{{{ togglingBatchComplete ? "Working, please wait..." : "{}" }}}}'.format(label))
|
||||
submit = self.make_buefy_button(label, is_primary=True,
|
||||
native_type='submit',
|
||||
**{':disabled': 'togglingBatchComplete'})
|
||||
else:
|
||||
submit = tags.submit('submit', label)
|
||||
label = HTML.literal(
|
||||
'{{{{ togglingBatchComplete ? "Working, please wait..." : "{}" }}}}'.format(label))
|
||||
submit = self.make_buefy_button(label, is_primary=True,
|
||||
native_type='submit',
|
||||
**{':disabled': 'togglingBatchComplete'})
|
||||
|
||||
form = [
|
||||
begin_form,
|
||||
|
@ -467,23 +449,16 @@ class BatchMasterView(MasterView):
|
|||
tags.end_form(),
|
||||
]
|
||||
|
||||
if use_buefy:
|
||||
text = HTML.tag('div', class_='control', c=text)
|
||||
form = HTML.tag('div', class_='control', c=form)
|
||||
content = [
|
||||
HTML.tag('nav', class_='level',
|
||||
c=[HTML.tag('div', class_='level-left', c=[
|
||||
text,
|
||||
HTML.literal(' '),
|
||||
form,
|
||||
])]),
|
||||
]
|
||||
|
||||
else:
|
||||
content = [
|
||||
text,
|
||||
HTML.literal(' '),
|
||||
] + form
|
||||
text = HTML.tag('div', class_='control', c=text)
|
||||
form = HTML.tag('div', class_='control', c=form)
|
||||
content = [
|
||||
HTML.tag('nav', class_='level',
|
||||
c=[HTML.tag('div', class_='level-left', c=[
|
||||
text,
|
||||
HTML.literal(' '),
|
||||
form,
|
||||
])]),
|
||||
]
|
||||
|
||||
return HTML.tag('div', c=content)
|
||||
|
||||
|
@ -491,7 +466,7 @@ class BatchMasterView(MasterView):
|
|||
user = getattr(batch, field)
|
||||
if not user:
|
||||
return ""
|
||||
title = six.text_type(user)
|
||||
title = str(user)
|
||||
url = self.request.route_url('users.view', uuid=user.uuid)
|
||||
return tags.link_to(title, url)
|
||||
|
||||
|
@ -513,7 +488,7 @@ class BatchMasterView(MasterView):
|
|||
|
||||
# TODO: this needs work yet surely...why is this an issue?
|
||||
# treat 'filename' field specially, for some reason it can be a filedict?
|
||||
if 'filename' in kwargs and not isinstance(kwargs['filename'], six.string_types):
|
||||
if 'filename' in kwargs and not isinstance(kwargs['filename'], str):
|
||||
kwargs['filename'] = '' # null not allowed
|
||||
|
||||
# TODO: is this still necessary with colander?
|
||||
|
@ -533,7 +508,7 @@ class BatchMasterView(MasterView):
|
|||
os.remove(upload['temp_path'])
|
||||
os.rmdir(upload['tempdir'])
|
||||
|
||||
for key, upload in six.iteritems(uploads):
|
||||
for key, upload in uploads.items():
|
||||
if isinstance(upload, dict):
|
||||
process(upload, key)
|
||||
else:
|
||||
|
@ -657,7 +632,7 @@ class BatchMasterView(MasterView):
|
|||
code = row.status_code
|
||||
if code is None:
|
||||
return ""
|
||||
text = self.get_row_status_enum().get(code, six.text_type(code))
|
||||
text = self.get_row_status_enum().get(code, str(code))
|
||||
if row.status_text:
|
||||
return HTML.tag('span', title=row.status_text, c=text)
|
||||
return text
|
||||
|
@ -707,21 +682,12 @@ 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)
|
||||
if self.get_use_buefy():
|
||||
return self.make_buefy_button("New Row", url=url,
|
||||
is_primary=True,
|
||||
icon_left='plus')
|
||||
else:
|
||||
text = "Create a new {}".format(self.get_row_model_title())
|
||||
link = tags.link_to(text, url)
|
||||
return HTML.tag('p', c=[link])
|
||||
return self.make_buefy_button("New Row", url=url,
|
||||
is_primary=True,
|
||||
icon_left='plus')
|
||||
|
||||
def make_batch_row_grid_tools(self, batch):
|
||||
if self.get_use_buefy():
|
||||
return
|
||||
if self.rows_bulk_deletable and not batch.executed and self.request.has_perm('{}.delete_rows'.format(self.get_permission_prefix())):
|
||||
url = self.request.route_url('{}.delete_rows'.format(self.get_route_prefix()), uuid=batch.uuid)
|
||||
return HTML.tag('p', c=[tags.link_to("Delete all rows matching current search", url)])
|
||||
pass
|
||||
|
||||
def make_row_grid_kwargs(self, **kwargs):
|
||||
"""
|
||||
|
@ -733,21 +699,19 @@ class BatchMasterView(MasterView):
|
|||
# TODO: most of this logic is copied from MasterView, should refactor/merge somehow...
|
||||
if 'main_actions' not in kwargs:
|
||||
actions = []
|
||||
use_buefy = self.get_use_buefy()
|
||||
|
||||
# view action
|
||||
if self.rows_viewable:
|
||||
view = lambda r, i: self.get_row_action_url('view', r)
|
||||
icon = 'eye' if use_buefy else 'zoomin'
|
||||
actions.append(self.make_action('view', icon=icon, url=view))
|
||||
actions.append(self.make_action('view', icon='eye', url=view))
|
||||
|
||||
# edit and delete are NOT allowed after execution, or if batch is "complete"
|
||||
if not batch.executed and not batch.complete:
|
||||
|
||||
# edit action
|
||||
if self.rows_editable and self.has_perm('edit_row'):
|
||||
icon = 'edit' if use_buefy else 'pencil'
|
||||
actions.append(self.make_action('edit', icon=icon, url=self.row_edit_action_url))
|
||||
actions.append(self.make_action('edit', icon='edit',
|
||||
url=self.row_edit_action_url))
|
||||
|
||||
# delete action
|
||||
if self.rows_deletable and self.has_perm('delete_row'):
|
||||
|
@ -793,7 +757,7 @@ class BatchMasterView(MasterView):
|
|||
# nb. must make new session, separate from main thread
|
||||
session = app.make_session()
|
||||
batch = self.get_instance_for_key(key, session)
|
||||
batch_str = six.text_type(batch)
|
||||
batch_str = str(batch)
|
||||
|
||||
try:
|
||||
# try to delete batch
|
||||
|
@ -869,7 +833,6 @@ class BatchMasterView(MasterView):
|
|||
"""
|
||||
defaults = {}
|
||||
route_prefix = self.get_route_prefix()
|
||||
use_buefy = self.get_use_buefy()
|
||||
|
||||
schema = None
|
||||
if self.has_execution_options(batch):
|
||||
|
@ -891,13 +854,12 @@ class BatchMasterView(MasterView):
|
|||
labels[field.name] = field.title
|
||||
|
||||
# auto-convert select widgets for buefy theme
|
||||
if use_buefy and isinstance(field.widget, forms.widgets.PlainSelectWidget):
|
||||
if isinstance(field.widget, forms.widgets.PlainSelectWidget):
|
||||
field.widget = dfwidget.SelectWidget(values=field.widget.values)
|
||||
|
||||
if not schema:
|
||||
schema = colander.Schema()
|
||||
|
||||
kwargs['use_buefy'] = use_buefy
|
||||
kwargs['component'] = 'execute-form'
|
||||
form = forms.Form(schema=schema, request=self.request, defaults=defaults, **kwargs)
|
||||
self.configure_execute_form(form)
|
||||
|
@ -1051,8 +1013,7 @@ class BatchMasterView(MasterView):
|
|||
data = json.dumps({
|
||||
'everything_complete': True,
|
||||
})
|
||||
if six.PY3:
|
||||
data = data.encode('utf_8')
|
||||
data = data.encode('utf_8')
|
||||
cxn.send(data)
|
||||
cxn.send(suffix)
|
||||
cxn.close()
|
||||
|
@ -1061,7 +1022,7 @@ class BatchMasterView(MasterView):
|
|||
with short_session() as s:
|
||||
batch = s.query(self.model_class).get(batch_uuid)
|
||||
batch_id = batch.id_str
|
||||
description = six.text_type(batch)
|
||||
description = str(batch)
|
||||
|
||||
self.launch_subprocess(
|
||||
port=port, username=username,
|
||||
|
|
|
@ -24,8 +24,6 @@
|
|||
Views for importer batches
|
||||
"""
|
||||
|
||||
from __future__ import unicode_literals, absolute_import
|
||||
|
||||
import sqlalchemy as sa
|
||||
|
||||
from rattail.db import model
|
||||
|
@ -139,7 +137,6 @@ class ImporterBatchView(BatchMasterView):
|
|||
|
||||
def configure_row_grid(self, g):
|
||||
super(ImporterBatchView, self).configure_row_grid(g)
|
||||
use_buefy = self.get_use_buefy()
|
||||
|
||||
def make_filter(field, **kwargs):
|
||||
column = getattr(self.current_row_table.c, field)
|
||||
|
@ -150,11 +147,8 @@ class ImporterBatchView(BatchMasterView):
|
|||
|
||||
# for some reason we have to do this differently for Buefy?
|
||||
kwargs = {}
|
||||
if not use_buefy:
|
||||
kwargs['value_enum'] = self.enum.IMPORTER_BATCH_ROW_STATUS
|
||||
make_filter('status_code', label="Status", **kwargs)
|
||||
if use_buefy:
|
||||
g.filters['status_code'].set_choices(self.enum.IMPORTER_BATCH_ROW_STATUS)
|
||||
g.filters['status_code'].set_choices(self.enum.IMPORTER_BATCH_ROW_STATUS)
|
||||
|
||||
def make_sorter(field):
|
||||
column = getattr(self.current_row_table.c, field)
|
||||
|
|
|
@ -24,14 +24,10 @@
|
|||
Views for inventory batches
|
||||
"""
|
||||
|
||||
from __future__ import unicode_literals, absolute_import
|
||||
|
||||
import re
|
||||
import decimal
|
||||
import logging
|
||||
|
||||
import six
|
||||
|
||||
from rattail import pod
|
||||
from rattail.db import model
|
||||
from rattail.db.util import make_full_description
|
||||
|
@ -234,9 +230,8 @@ class InventoryBatchView(BatchMasterView):
|
|||
if batch.executed:
|
||||
return self.redirect(self.get_action_url('view', batch))
|
||||
|
||||
use_buefy = self.get_use_buefy()
|
||||
schema = DesktopForm().bind(session=self.Session())
|
||||
form = forms.Form(schema=schema, request=self.request, use_buefy=use_buefy)
|
||||
form = forms.Form(schema=schema, request=self.request)
|
||||
if self.request.method == 'POST':
|
||||
if form.validate(newstyle=True):
|
||||
|
||||
|
@ -273,7 +268,7 @@ class InventoryBatchView(BatchMasterView):
|
|||
|
||||
else:
|
||||
dform = form.make_deform_form()
|
||||
msg = "Form did not validate: {}".format(six.text_type(dform.error))
|
||||
msg = "Form did not validate: {}".format(str(dform.error))
|
||||
self.request.session.flash(msg, 'error')
|
||||
|
||||
title = self.get_instance_title(batch)
|
||||
|
@ -345,7 +340,7 @@ class InventoryBatchView(BatchMasterView):
|
|||
upc = re.sub(r'\D', '', entry.strip())
|
||||
if upc:
|
||||
upc = GPC(upc)
|
||||
result['upc'] = six.text_type(upc)
|
||||
result['upc'] = str(upc)
|
||||
result['upc_pretty'] = upc.pretty()
|
||||
result['image_url'] = pod.get_image_url(self.rattail_config, upc)
|
||||
|
||||
|
@ -374,10 +369,10 @@ class InventoryBatchView(BatchMasterView):
|
|||
data = {}
|
||||
if product and (not product.deleted or self.request.has_perm('products.view_deleted')):
|
||||
data['uuid'] = product.uuid
|
||||
data['upc'] = six.text_type(product.upc)
|
||||
data['upc'] = str(product.upc)
|
||||
data['upc_pretty'] = product.upc.pretty()
|
||||
data['full_description'] = product.full_description
|
||||
data['brand_name'] = six.text_type(product.brand or '')
|
||||
data['brand_name'] = str(product.brand or '')
|
||||
data['description'] = product.description
|
||||
data['size'] = product.size
|
||||
data['case_quantity'] = 1 # default
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
################################################################################
|
||||
#
|
||||
# Rattail -- Retail Software Framework
|
||||
# Copyright © 2010-2022 Lance Edgar
|
||||
# Copyright © 2010-2023 Lance Edgar
|
||||
#
|
||||
# This file is part of Rattail.
|
||||
#
|
||||
|
@ -24,12 +24,8 @@
|
|||
Views for maintaining vendor catalogs
|
||||
"""
|
||||
|
||||
from __future__ import unicode_literals, absolute_import
|
||||
|
||||
import logging
|
||||
|
||||
import six
|
||||
|
||||
from rattail.db import model
|
||||
|
||||
import colander
|
||||
|
@ -196,9 +192,6 @@ class VendorCatalogView(FileBatchMasterView):
|
|||
values = [(p.key, p.display) for p in parsers]
|
||||
if len(values) == 1:
|
||||
f.set_default('parser_key', parsers[0].key)
|
||||
use_buefy = self.get_use_buefy()
|
||||
if not use_buefy:
|
||||
values.insert(0, ('', "(please choose)"))
|
||||
f.set_widget('parser_key', dfwidget.SelectWidget(values=values))
|
||||
else:
|
||||
f.set_readonly('parser_key')
|
||||
|
@ -235,7 +228,7 @@ class VendorCatalogView(FileBatchMasterView):
|
|||
vendor = self.Session.query(model.Vendor).get(
|
||||
self.request.POST['vendor_uuid'])
|
||||
if vendor:
|
||||
vendor_display = six.text_type(vendor)
|
||||
vendor_display = str(vendor)
|
||||
f.set_widget('vendor_uuid',
|
||||
forms.widgets.JQueryAutocompleteWidget(
|
||||
field_display=vendor_display,
|
||||
|
@ -275,35 +268,20 @@ class VendorCatalogView(FileBatchMasterView):
|
|||
return parser.display
|
||||
|
||||
def template_kwargs_create(self, **kwargs):
|
||||
use_buefy = self.get_use_buefy()
|
||||
app = self.get_rattail_app()
|
||||
vendor_handler = app.get_vendor_handler()
|
||||
parsers = self.get_parsers()
|
||||
parsers_data = {}
|
||||
for parser in parsers:
|
||||
if use_buefy:
|
||||
pdata = {'key': parser.key,
|
||||
'vendor_key': parser.vendor_key}
|
||||
if parser.vendor_key:
|
||||
vendor = vendor_handler.get_vendor(self.Session(),
|
||||
parser.vendor_key)
|
||||
if vendor:
|
||||
pdata['vendor_uuid'] = vendor.uuid
|
||||
pdata['vendor_name'] = vendor.name
|
||||
parsers_data[parser.key] = pdata
|
||||
else:
|
||||
if parser.vendor_key:
|
||||
vendor = vendor_handler.get_vendor(self.Session(),
|
||||
parser.vendor_key)
|
||||
if vendor:
|
||||
parser.vendormap_value = "{{uuid: '{}', name: '{}'}}".format(
|
||||
vendor.uuid, vendor.name.replace("'", "\\'"))
|
||||
else:
|
||||
log.warning("vendor '{}' not found for parser: {}".format(
|
||||
parser.vendor_key, parser.key))
|
||||
parser.vendormap_value = 'null'
|
||||
else:
|
||||
parser.vendormap_value = 'null'
|
||||
pdata = {'key': parser.key,
|
||||
'vendor_key': parser.vendor_key}
|
||||
if parser.vendor_key:
|
||||
vendor = vendor_handler.get_vendor(self.Session(),
|
||||
parser.vendor_key)
|
||||
if vendor:
|
||||
pdata['vendor_uuid'] = vendor.uuid
|
||||
pdata['vendor_name'] = vendor.name
|
||||
parsers_data[parser.key] = pdata
|
||||
kwargs['parsers'] = parsers
|
||||
kwargs['parsers_data'] = parsers_data
|
||||
return kwargs
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue