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 @@
|
|||
Model Master View
|
||||
"""
|
||||
|
||||
from __future__ import unicode_literals, absolute_import
|
||||
|
||||
import os
|
||||
import csv
|
||||
import datetime
|
||||
|
@ -252,7 +250,7 @@ class MasterView(View):
|
|||
|
||||
def set_labels(self, obj):
|
||||
labels = self.collect_labels()
|
||||
for key, label in six.iteritems(labels):
|
||||
for key, label in labels.items():
|
||||
obj.set_label(key, label)
|
||||
|
||||
def collect_labels(self):
|
||||
|
@ -283,7 +281,7 @@ class MasterView(View):
|
|||
|
||||
def set_row_labels(self, obj):
|
||||
labels = self.collect_row_labels()
|
||||
for key, label in six.iteritems(labels):
|
||||
for key, label in labels.items():
|
||||
obj.set_label(key, label)
|
||||
|
||||
def collect_row_labels(self):
|
||||
|
@ -333,7 +331,6 @@ class MasterView(View):
|
|||
"""
|
||||
self.listing = True
|
||||
grid = self.make_grid()
|
||||
use_buefy = self.get_use_buefy()
|
||||
|
||||
# If user just refreshed the page with a reset instruction, issue a
|
||||
# redirect in order to clear out the query string.
|
||||
|
@ -346,14 +343,9 @@ class MasterView(View):
|
|||
|
||||
# return grid only, if partial page was requested
|
||||
if self.request.params.get('partial'):
|
||||
if use_buefy:
|
||||
# render grid data only, as JSON
|
||||
return render_to_response('json', grid.get_buefy_data(),
|
||||
request=self.request)
|
||||
else: # just do traditional thing, render grid HTML
|
||||
self.request.response.content_type = str('text/html')
|
||||
self.request.response.text = grid.render_grid()
|
||||
return self.request.response
|
||||
# render grid data only, as JSON
|
||||
return render_to_response('json', grid.get_buefy_data(),
|
||||
request=self.request)
|
||||
|
||||
context = {
|
||||
'grid': grid,
|
||||
|
@ -552,17 +544,16 @@ class MasterView(View):
|
|||
|
||||
if self.has_rows and 'main_actions' not in defaults:
|
||||
actions = []
|
||||
use_buefy = self.get_use_buefy()
|
||||
|
||||
# view action
|
||||
if self.rows_viewable:
|
||||
icon = 'eye' if use_buefy else 'zoomin'
|
||||
actions.append(self.make_action('view', icon=icon, url=self.row_view_action_url))
|
||||
actions.append(self.make_action('view', icon='eye',
|
||||
url=self.row_view_action_url))
|
||||
|
||||
# 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'):
|
||||
|
@ -626,7 +617,6 @@ class MasterView(View):
|
|||
Return a dictionary of kwargs to be passed to the factory when
|
||||
constructing a new version grid.
|
||||
"""
|
||||
use_buefy = self.get_use_buefy()
|
||||
instance = kwargs.get('instance') or self.get_instance()
|
||||
route = '{}.version'.format(self.get_route_prefix())
|
||||
defaults = {
|
||||
|
@ -638,7 +628,7 @@ class MasterView(View):
|
|||
if 'main_actions' not in kwargs:
|
||||
url = lambda txn, i: self.request.route_url(route, uuid=instance.uuid, txnid=txn.id)
|
||||
defaults['main_actions'] = [
|
||||
self.make_action('view', icon='eye' if use_buefy else 'zoomin', url=url),
|
||||
self.make_action('view', icon='eye', url=url),
|
||||
]
|
||||
defaults.update(kwargs)
|
||||
return defaults
|
||||
|
@ -735,11 +725,10 @@ class MasterView(View):
|
|||
delete=False, schema=None, importer_host_title=None):
|
||||
|
||||
handler = handler_factory(self.rattail_config)
|
||||
use_buefy = self.get_use_buefy()
|
||||
|
||||
if not schema:
|
||||
schema = forms.SimpleFileImport().bind(request=self.request)
|
||||
form = forms.Form(schema=schema, request=self.request, use_buefy=use_buefy)
|
||||
form = forms.Form(schema=schema, request=self.request)
|
||||
form.save_label = "Upload"
|
||||
form.cancel_url = self.get_index_url()
|
||||
if form.validate(newstyle=True):
|
||||
|
@ -771,7 +760,7 @@ class MasterView(View):
|
|||
value = getattr(obj, field)
|
||||
if value is None:
|
||||
return ""
|
||||
value = six.text_type(value)
|
||||
value = str(value)
|
||||
if len(value) > 100:
|
||||
value = value[:100] + '...'
|
||||
return value
|
||||
|
@ -841,7 +830,7 @@ class MasterView(View):
|
|||
product = getattr(obj, field)
|
||||
if not product:
|
||||
return ""
|
||||
text = six.text_type(product)
|
||||
text = str(product)
|
||||
url = self.request.route_url('products.view', uuid=product.uuid)
|
||||
return tags.link_to(text, url)
|
||||
|
||||
|
@ -849,7 +838,7 @@ class MasterView(View):
|
|||
pending = getattr(obj, field)
|
||||
if not pending:
|
||||
return
|
||||
text = six.text_type(pending)
|
||||
text = str(pending)
|
||||
url = self.request.route_url('pending_products.view', uuid=pending.uuid)
|
||||
return tags.link_to(text, url,
|
||||
class_='has-background-warning')
|
||||
|
@ -862,7 +851,7 @@ class MasterView(View):
|
|||
if short:
|
||||
text = "({}) {}".format(short, vendor.name)
|
||||
else:
|
||||
text = six.text_type(vendor)
|
||||
text = str(vendor)
|
||||
url = self.request.route_url('vendors.view', uuid=vendor.uuid)
|
||||
return tags.link_to(text, url)
|
||||
|
||||
|
@ -918,7 +907,7 @@ class MasterView(View):
|
|||
person = getattr(obj, field)
|
||||
if not person:
|
||||
return ""
|
||||
text = six.text_type(person)
|
||||
text = str(person)
|
||||
url = self.request.route_url('people.view', uuid=person.uuid)
|
||||
return tags.link_to(text, url)
|
||||
|
||||
|
@ -926,7 +915,7 @@ class MasterView(View):
|
|||
person = getattr(obj, field)
|
||||
if not person:
|
||||
return ""
|
||||
text = six.text_type(person)
|
||||
text = str(person)
|
||||
url = self.request.route_url('people.view_profile', uuid=person.uuid)
|
||||
return tags.link_to(text, url)
|
||||
|
||||
|
@ -934,7 +923,7 @@ class MasterView(View):
|
|||
user = getattr(obj, field)
|
||||
if not user:
|
||||
return ""
|
||||
text = six.text_type(user)
|
||||
text = str(user)
|
||||
url = self.request.route_url('users.view', uuid=user.uuid)
|
||||
return tags.link_to(text, url)
|
||||
|
||||
|
@ -954,7 +943,7 @@ class MasterView(View):
|
|||
customer = getattr(obj, field)
|
||||
if not customer:
|
||||
return ""
|
||||
text = six.text_type(customer)
|
||||
text = str(customer)
|
||||
url = self.request.route_url('customers.view', uuid=customer.uuid)
|
||||
return tags.link_to(text, url)
|
||||
|
||||
|
@ -984,7 +973,7 @@ class MasterView(View):
|
|||
value = obj.status_code
|
||||
if value is None:
|
||||
return ""
|
||||
status_code_text = enum.get(value, six.text_type(value))
|
||||
status_code_text = enum.get(value, str(value))
|
||||
if obj.status_text:
|
||||
return HTML.tag('span', title=obj.status_text, c=status_code_text)
|
||||
return status_code_text
|
||||
|
@ -1072,7 +1061,6 @@ class MasterView(View):
|
|||
View for viewing details of an existing model record.
|
||||
"""
|
||||
self.viewing = True
|
||||
use_buefy = self.get_use_buefy()
|
||||
if instance is None:
|
||||
instance = self.get_instance()
|
||||
form = self.make_form(instance)
|
||||
|
@ -1090,14 +1078,9 @@ class MasterView(View):
|
|||
|
||||
# return grid only, if partial page was requested
|
||||
if self.request.params.get('partial'):
|
||||
if use_buefy:
|
||||
# render grid data only, as JSON
|
||||
return render_to_response('json', grid.get_buefy_data(),
|
||||
request=self.request)
|
||||
else: # just do traditional thing, render grid HTML
|
||||
self.request.response.content_type = str('text/html')
|
||||
self.request.response.text = grid.render_grid()
|
||||
return self.request.response
|
||||
# render grid data only, as JSON
|
||||
return render_to_response('json', grid.get_buefy_data(),
|
||||
request=self.request)
|
||||
|
||||
context = {
|
||||
'instance': instance,
|
||||
|
@ -1112,12 +1095,8 @@ class MasterView(View):
|
|||
context['dform'] = form.make_deform_form()
|
||||
|
||||
if self.has_rows:
|
||||
if use_buefy:
|
||||
context['rows_grid'] = grid
|
||||
context['rows_grid_tools'] = HTML(self.make_row_grid_tools(instance) or '').strip()
|
||||
else:
|
||||
context['rows_grid'] = grid.render_complete(allow_save_defaults=False,
|
||||
tools=self.make_row_grid_tools(instance))
|
||||
context['rows_grid'] = grid
|
||||
context['rows_grid_tools'] = HTML(self.make_row_grid_tools(instance) or '').strip()
|
||||
|
||||
return self.render_to_response('view', context)
|
||||
|
||||
|
@ -1224,18 +1203,12 @@ class MasterView(View):
|
|||
instance = self.get_instance()
|
||||
instance_title = self.get_instance_title(instance)
|
||||
grid = self.make_version_grid(instance=instance)
|
||||
use_buefy = self.get_use_buefy()
|
||||
|
||||
# return grid only, if partial page was requested
|
||||
if self.request.params.get('partial'):
|
||||
if use_buefy:
|
||||
# render grid data only, as JSON
|
||||
return render_to_response('json', grid.get_buefy_data(),
|
||||
request=self.request)
|
||||
else: # just do traditional thing, render grid HTML
|
||||
self.request.response.content_type = str('text/html')
|
||||
self.request.response.text = grid.render_grid()
|
||||
return self.request.response
|
||||
# render grid data only, as JSON
|
||||
return render_to_response('json', grid.get_buefy_data(),
|
||||
request=self.request)
|
||||
|
||||
return self.render_to_response('versions', {
|
||||
'instance': instance,
|
||||
|
@ -1567,15 +1540,10 @@ class MasterView(View):
|
|||
response.content_length = os.path.getsize(path)
|
||||
content_type = self.download_content_type(path, filename)
|
||||
if content_type:
|
||||
if six.PY3:
|
||||
response.content_type = content_type
|
||||
else:
|
||||
response.content_type = six.binary_type(content_type)
|
||||
response.content_type = content_type
|
||||
|
||||
# content-disposition
|
||||
filename = os.path.basename(path)
|
||||
if six.PY2:
|
||||
filename = filename.encode('ascii', 'replace')
|
||||
response.content_disposition = str('attachment; filename="{}"'.format(filename))
|
||||
|
||||
return response
|
||||
|
@ -1986,8 +1954,7 @@ class MasterView(View):
|
|||
|
||||
# strip suffix, interpret data as JSON
|
||||
data = data[:-len(suffix)]
|
||||
if six.PY3:
|
||||
data = data.decode('utf_8')
|
||||
data = data.decode('utf_8')
|
||||
data = json.loads(data)
|
||||
|
||||
if data.get('everything_complete'):
|
||||
|
@ -2056,7 +2023,7 @@ class MasterView(View):
|
|||
object_to_keep = self.Session.query(self.get_model_class()).get(uuids[1])
|
||||
|
||||
if object_to_remove and object_to_keep and self.request.POST.get('commit-merge') == 'yes':
|
||||
msg = six.text_type(object_to_remove)
|
||||
msg = str(object_to_remove)
|
||||
try:
|
||||
self.validate_merge(object_to_remove, object_to_keep)
|
||||
except Exception as error:
|
||||
|
@ -2166,7 +2133,7 @@ class MasterView(View):
|
|||
"""
|
||||
if hasattr(cls, 'model_key'):
|
||||
keys = cls.model_key
|
||||
if isinstance(keys, six.string_types):
|
||||
if isinstance(keys, str):
|
||||
keys = [keys]
|
||||
else:
|
||||
keys = get_primary_keys(cls.get_model_class())
|
||||
|
@ -2399,7 +2366,6 @@ class MasterView(View):
|
|||
"""
|
||||
context = {
|
||||
'master': self,
|
||||
'use_buefy': self.get_use_buefy(),
|
||||
'model_title': self.get_model_title(),
|
||||
'model_title_plural': self.get_model_title_plural(),
|
||||
'route_prefix': self.get_route_prefix(),
|
||||
|
@ -2699,7 +2665,7 @@ class MasterView(View):
|
|||
# nb. unfortunately HTML.tag() calls its first arg 'tag' and
|
||||
# so we can't pass a kwarg with that name...so instead we
|
||||
# patch that into place manually
|
||||
button = six.text_type(button)
|
||||
button = str(button)
|
||||
button = button.replace('<b-button ',
|
||||
'<b-button tag="a"')
|
||||
button = HTML.literal(button)
|
||||
|
@ -2733,7 +2699,7 @@ class MasterView(View):
|
|||
btn_kw['icon_left'] = 'external-link-alt'
|
||||
btn_kw['target'] = '_blank'
|
||||
button = HTML.tag('b-button', **btn_kw)
|
||||
button = six.text_type(button)
|
||||
button = str(button)
|
||||
button = button.replace('<b-button ',
|
||||
'<b-button tag="a"')
|
||||
button = HTML.literal(button)
|
||||
|
@ -2840,9 +2806,7 @@ class MasterView(View):
|
|||
return actions
|
||||
|
||||
def make_grid_action_view(self):
|
||||
use_buefy = self.get_use_buefy()
|
||||
icon = 'eye' if use_buefy else 'zoomin'
|
||||
return self.make_action('view', icon=icon, url=self.default_view_url())
|
||||
return self.make_action('view', icon='eye', url=self.default_view_url())
|
||||
|
||||
def default_view_url(self):
|
||||
if self.use_index_links:
|
||||
|
@ -2869,18 +2833,15 @@ class MasterView(View):
|
|||
return actions
|
||||
|
||||
def make_grid_action_edit(self):
|
||||
use_buefy = self.get_use_buefy()
|
||||
icon = 'edit' if use_buefy else 'pencil'
|
||||
return self.make_action('edit', icon=icon, url=self.default_edit_url)
|
||||
return self.make_action('edit', icon='edit', url=self.default_edit_url)
|
||||
|
||||
def make_grid_action_clone(self):
|
||||
return self.make_action('clone', icon='object-ungroup',
|
||||
url=self.default_clone_url)
|
||||
|
||||
def make_grid_action_delete(self):
|
||||
use_buefy = self.get_use_buefy()
|
||||
kwargs = {}
|
||||
if use_buefy and self.delete_confirm == 'simple':
|
||||
if self.delete_confirm == 'simple':
|
||||
kwargs['click_handler'] = 'deleteObject'
|
||||
return self.make_action('delete', icon='trash', url=self.default_delete_url, **kwargs)
|
||||
|
||||
|
@ -2917,7 +2878,7 @@ class MasterView(View):
|
|||
mapper = orm.object_mapper(row)
|
||||
except orm.exc.UnmappedInstanceError:
|
||||
try:
|
||||
if isinstance(self.model_key, six.string_types):
|
||||
if isinstance(self.model_key, str):
|
||||
return {self.model_key: row[self.model_key]}
|
||||
return dict([(key, row[key])
|
||||
for key in self.model_key])
|
||||
|
@ -3134,12 +3095,8 @@ class MasterView(View):
|
|||
"""
|
||||
if fmt == 'csv':
|
||||
|
||||
if six.PY2:
|
||||
csv_file = open(path, 'wb')
|
||||
writer = UnicodeDictWriter(csv_file, fields, encoding='utf_8')
|
||||
else: # PY3
|
||||
csv_file = open(path, 'wt', encoding='utf_8')
|
||||
writer = csv.DictWriter(csv_file, fields)
|
||||
csv_file = open(path, 'wt', encoding='utf_8')
|
||||
writer = csv.DictWriter(csv_file, fields)
|
||||
writer.writeheader()
|
||||
|
||||
def write(obj, i):
|
||||
|
@ -3229,7 +3186,7 @@ class MasterView(View):
|
|||
if value is None:
|
||||
value = ''
|
||||
else:
|
||||
value = six.text_type(value)
|
||||
value = str(value)
|
||||
|
||||
csvrow[field] = value
|
||||
|
||||
|
@ -3297,13 +3254,8 @@ class MasterView(View):
|
|||
results = results.with_session(session).all()
|
||||
fields = self.get_csv_fields()
|
||||
|
||||
if six.PY2:
|
||||
csv_file = open(path, 'wb')
|
||||
writer = UnicodeDictWriter(csv_file, fields, encoding='utf_8')
|
||||
else: # PY3
|
||||
csv_file = open(path, 'wt', encoding='utf_8')
|
||||
writer = csv.DictWriter(csv_file, fields)
|
||||
|
||||
csv_file = open(path, 'wt', encoding='utf_8')
|
||||
writer = csv.DictWriter(csv_file, fields)
|
||||
writer.writeheader()
|
||||
|
||||
def write(obj, i):
|
||||
|
@ -3663,12 +3615,8 @@ class MasterView(View):
|
|||
|
||||
if fmt == 'csv':
|
||||
|
||||
if six.PY2:
|
||||
csv_file = open(path, 'wb')
|
||||
writer = UnicodeDictWriter(csv_file, fields, encoding='utf_8')
|
||||
else: # PY3
|
||||
csv_file = open(path, 'wt', encoding='utf_8')
|
||||
writer = csv.DictWriter(csv_file, fields)
|
||||
csv_file = open(path, 'wt', encoding='utf_8')
|
||||
writer = csv.DictWriter(csv_file, fields)
|
||||
writer.writeheader()
|
||||
|
||||
def write(obj, i):
|
||||
|
@ -3737,7 +3685,7 @@ class MasterView(View):
|
|||
if value is None:
|
||||
value = ''
|
||||
else:
|
||||
value = six.text_type(value)
|
||||
value = str(value)
|
||||
|
||||
csvrow[field] = value
|
||||
|
||||
|
@ -3814,7 +3762,7 @@ class MasterView(View):
|
|||
value = getattr(row, field, None)
|
||||
|
||||
if isinstance(value, GPC):
|
||||
value = six.text_type(value)
|
||||
value = str(value)
|
||||
|
||||
elif isinstance(value, datetime.datetime):
|
||||
# datetime values we provide to Excel must *not* have time zone info,
|
||||
|
@ -3844,14 +3792,9 @@ class MasterView(View):
|
|||
writer.writerow(self.get_row_csv_row(row, fields))
|
||||
response = self.request.response
|
||||
filename = self.get_row_results_csv_filename(obj)
|
||||
if six.PY3:
|
||||
response.text = data.getvalue()
|
||||
response.content_type = 'text/csv'
|
||||
response.content_disposition = 'attachment; filename={}'.format(filename)
|
||||
else:
|
||||
response.body = data.getvalue()
|
||||
response.content_type = b'text/csv'
|
||||
response.content_disposition = b'attachment; filename={}'.format(filename)
|
||||
response.text = data.getvalue()
|
||||
response.content_type = 'text/csv'
|
||||
response.content_disposition = 'attachment; filename={}'.format(filename)
|
||||
data.close()
|
||||
response.content_length = len(response.body)
|
||||
return response
|
||||
|
@ -3898,7 +3841,7 @@ class MasterView(View):
|
|||
if isinstance(value, datetime.datetime):
|
||||
# TODO: this assumes value is *always* naive UTC
|
||||
value = localtime(self.rattail_config, value, from_utc=True)
|
||||
csvrow[field] = '' if value is None else six.text_type(value)
|
||||
csvrow[field] = '' if value is None else str(value)
|
||||
return csvrow
|
||||
|
||||
def get_row_csv_row(self, row, fields):
|
||||
|
@ -3911,7 +3854,7 @@ class MasterView(View):
|
|||
if isinstance(value, datetime.datetime):
|
||||
# TODO: this assumes value is *always* naive UTC
|
||||
value = localtime(self.rattail_config, value, from_utc=True)
|
||||
csvrow[field] = '' if value is None else six.text_type(value)
|
||||
csvrow[field] = '' if value is None else str(value)
|
||||
return csvrow
|
||||
|
||||
##############################
|
||||
|
@ -3966,7 +3909,7 @@ class MasterView(View):
|
|||
"""
|
||||
Return a "pretty" title for the instance, to be used in the page title etc.
|
||||
"""
|
||||
return six.text_type(instance)
|
||||
return str(instance)
|
||||
|
||||
@classmethod
|
||||
def get_form_factory(cls):
|
||||
|
@ -4078,7 +4021,6 @@ class MasterView(View):
|
|||
'readonly': self.viewing,
|
||||
'model_class': getattr(self, 'model_class', None),
|
||||
'action_url': self.request.current_route_url(_query=None),
|
||||
'use_buefy': self.get_use_buefy(),
|
||||
'assume_local_times': self.has_local_times,
|
||||
'route_prefix': route_prefix,
|
||||
'can_edit_help': (self.has_perm('edit_help')
|
||||
|
@ -4547,7 +4489,6 @@ class MasterView(View):
|
|||
'readonly': self.viewing,
|
||||
'model_class': getattr(self, 'model_row_class', None),
|
||||
'action_url': self.request.current_route_url(_query=None),
|
||||
'use_buefy': self.get_use_buefy(),
|
||||
}
|
||||
if self.creating:
|
||||
kwargs.setdefault('cancel_url', self.request.get_referrer())
|
||||
|
@ -4644,7 +4585,7 @@ class MasterView(View):
|
|||
|
||||
# collect any uploaded files
|
||||
uploads = {}
|
||||
for key, value in six.iteritems(data):
|
||||
for key, value in data.items():
|
||||
if isinstance(value, cgi_FieldStorage):
|
||||
tempdir = tempfile.mkdtemp()
|
||||
filename = os.path.basename(value.filename)
|
||||
|
@ -4829,13 +4770,13 @@ class MasterView(View):
|
|||
value = data.get(name)
|
||||
|
||||
if simple.get('type') is bool:
|
||||
value = six.text_type(bool(value)).lower()
|
||||
value = str(bool(value)).lower()
|
||||
elif simple.get('type') is int:
|
||||
value = six.text_type(int(value or '0'))
|
||||
value = str(int(value or '0'))
|
||||
elif value is None:
|
||||
value = ''
|
||||
else:
|
||||
value = six.text_type(value)
|
||||
value = str(value)
|
||||
|
||||
# only want to save this setting if we received a
|
||||
# value, or if empty values are okay to save
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue