From fcfc8b56bb655f318b606fd6e6f0a0f8fb920f4d Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Wed, 17 Apr 2019 14:55:27 -0500 Subject: [PATCH] Add basic Buefy support for App Settings page also various buttons have been tweaked on some other "master view" pages --- tailbone/grids/core.py | 15 ++- tailbone/templates/appsettings.mako | 120 +++++++++++++++++- tailbone/templates/customers/view.mako | 4 +- .../templates/datasync/changes/index.mako | 8 +- tailbone/templates/deform/select.pt | 2 + tailbone/templates/grids/buefy.mako | 10 +- tailbone/templates/master/delete.mako | 2 +- tailbone/templates/master/index.mako | 33 +++-- tailbone/templates/upgrades/view.mako | 6 +- tailbone/views/core.py | 19 +++ tailbone/views/customers.py | 3 +- tailbone/views/master.py | 21 +-- tailbone/views/settings.py | 54 +++++++- 13 files changed, 245 insertions(+), 52 deletions(-) diff --git a/tailbone/grids/core.py b/tailbone/grids/core.py index 54cfee22..ec6e99be 100644 --- a/tailbone/grids/core.py +++ b/tailbone/grids/core.py @@ -67,7 +67,8 @@ class Grid(object): Core grid class. In sore need of documentation. """ - def __init__(self, key, data, columns=None, width='auto', request=None, mobile=False, model_class=None, + def __init__(self, key, data, columns=None, width='auto', request=None, mobile=False, + model_class=None, model_title=None, model_title_plural=None, enums={}, labels={}, renderers={}, extra_row_class=None, linked_columns=[], url='#', joiners={}, filterable=False, filters={}, use_byte_string_filters=False, sortable=False, sorters={}, default_sortkey=None, default_sortdir='asc', @@ -84,6 +85,18 @@ class Grid(object): self.model_class = model_class if self.model_class and self.columns is None: self.columns = self.make_columns() + + self.model_title = model_title + if not self.model_title and self.model_class: + self.model_title = self.model_class.get_model_title() + + self.model_title_plural = model_title_plural + if not self.model_title_plural: + if self.model_class: + self.model_title_plural = self.model_class.get_model_title_plural() + if not self.model_title_plural: + self.model_title_plural = '{}s'.format(self.model_title) + self.enums = enums or {} self.labels = labels or {} diff --git a/tailbone/templates/appsettings.mako b/tailbone/templates/appsettings.mako index 97cc97ae..f99e5882 100644 --- a/tailbone/templates/appsettings.mako +++ b/tailbone/templates/appsettings.mako @@ -7,11 +7,14 @@ <%def name="extra_javascript()"> ${parent.extra_javascript()} + % if not use_buefy: ${h.javascript_link(request.static_url('tailbone:static/js/tailbone.appsettings.js') + '?ver={}'.format(tailbone.__version__))} + % endif <%def name="extra_styles()"> ${parent.extra_styles()} + % if not use_buefy: + % endif
@@ -46,10 +50,17 @@
% endif + % if use_buefy: +
+ +
+ + % else: + ## not buefy
-
+
${h.select('settings-group', current_group, group_options, **{'auto-enhance': 'true'})}
@@ -88,11 +99,116 @@
% endfor + % endif
- ${h.submit('save', getattr(form, 'submit_label', getattr(form, 'save_label', "Submit")))} + ${h.submit('save', getattr(form, 'submit_label', getattr(form, 'save_label', "Submit")), class_='button is-primary')} ${h.link_to("Cancel", form.cancel_url, class_='cancel button{}'.format(' autodisable' if form.auto_disable_cancel else ''))}
${h.end_form()} + +% if use_buefy: + + + +% endif diff --git a/tailbone/templates/customers/view.mako b/tailbone/templates/customers/view.mako index 23e8efde..7ec2662e 100644 --- a/tailbone/templates/customers/view.mako +++ b/tailbone/templates/customers/view.mako @@ -21,7 +21,9 @@ <%def name="object_helpers()"> ${parent.object_helpers()} - ${view_profiles_helper(instance.people)} + % if instance.people: + ${view_profiles_helper(instance.people)} + % endif ${parent.body()} diff --git a/tailbone/templates/datasync/changes/index.mako b/tailbone/templates/datasync/changes/index.mako index 442bef22..766cd3f4 100644 --- a/tailbone/templates/datasync/changes/index.mako +++ b/tailbone/templates/datasync/changes/index.mako @@ -5,16 +5,16 @@ ${parent.grid_tools()} % if request.has_perm('datasync.restart'): - ${h.form(url('datasync.restart'), name='restart-datasync', class_='autodisable')} + ${h.form(url('datasync.restart'), name='restart-datasync', class_='autodisable control')} ${h.csrf_token(request)} - ${h.submit('submit', "Restart DataSync", data_working_label="Restarting DataSync")} + ${h.submit('submit', "Restart DataSync", data_working_label="Restarting DataSync", class_='button')} ${h.end_form()} % endif % if allow_filemon_restart and request.has_perm('filemon.restart'): - ${h.form(url('filemon.restart'), name='restart-filemon', class_='autodisable')} + ${h.form(url('filemon.restart'), name='restart-filemon', class_='autodisable control')} ${h.csrf_token(request)} - ${h.submit('submit', "Restart FileMon", data_working_label="Restarting FileMon")} + ${h.submit('submit', "Restart FileMon", data_working_label="Restarting FileMon", class_='button')} ${h.end_form()} % endif diff --git a/tailbone/templates/deform/select.pt b/tailbone/templates/deform/select.pt index d276b4b7..ce10f743 100644 --- a/tailbone/templates/deform/select.pt +++ b/tailbone/templates/deform/select.pt @@ -11,6 +11,7 @@ +
+