Add more basic config views, obviating some App Settings
This commit is contained in:
parent
16bc3076ad
commit
1244659064
|
@ -24,6 +24,7 @@
|
||||||
<ul class="block">
|
<ul class="block">
|
||||||
<li class="is-family-monospace">/datasync/configure.mako</li>
|
<li class="is-family-monospace">/datasync/configure.mako</li>
|
||||||
<li class="is-family-monospace">/importing/configure.mako</li>
|
<li class="is-family-monospace">/importing/configure.mako</li>
|
||||||
|
<li class="is-family-monospace">/products/configure.mako</li>
|
||||||
<li class="is-family-monospace">/receiving/configure.mako</li>
|
<li class="is-family-monospace">/receiving/configure.mako</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
21
tailbone/templates/reports/generated/configure.mako
Normal file
21
tailbone/templates/reports/generated/configure.mako
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
## -*- coding: utf-8; -*-
|
||||||
|
<%inherit file="/configure.mako" />
|
||||||
|
|
||||||
|
<%def name="page_content()">
|
||||||
|
${parent.page_content()}
|
||||||
|
|
||||||
|
<h3 class="block is-size-3">Generating</h3>
|
||||||
|
<div class="block" style="padding-left: 2rem;">
|
||||||
|
|
||||||
|
<b-field message="If not set, reports are shown as simple list of hyperlinks.">
|
||||||
|
<b-checkbox v-model="simpleSettings['tailbone.reporting.choosing_uses_form']"
|
||||||
|
@input="settingsNeedSaved = true">
|
||||||
|
Show report chooser as form, with dropdown
|
||||||
|
</b-checkbox>
|
||||||
|
</b-field>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</%def>
|
||||||
|
|
||||||
|
|
||||||
|
${parent.body()}
|
21
tailbone/templates/settings/email/configure.mako
Normal file
21
tailbone/templates/settings/email/configure.mako
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
## -*- coding: utf-8; -*-
|
||||||
|
<%inherit file="/configure.mako" />
|
||||||
|
|
||||||
|
<%def name="page_content()">
|
||||||
|
${parent.page_content()}
|
||||||
|
|
||||||
|
<h3 class="block is-size-3">Sending</h3>
|
||||||
|
<div class="block" style="padding-left: 2rem;">
|
||||||
|
|
||||||
|
<b-field>
|
||||||
|
<b-checkbox v-model="simpleSettings['rattail.mail.record_attempts']"
|
||||||
|
@input="settingsNeedSaved = true">
|
||||||
|
Make record of all attempts to send email
|
||||||
|
</b-checkbox>
|
||||||
|
</b-field>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</%def>
|
||||||
|
|
||||||
|
|
||||||
|
${parent.body()}
|
21
tailbone/templates/vendors/configure.mako
vendored
Normal file
21
tailbone/templates/vendors/configure.mako
vendored
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
## -*- coding: utf-8; -*-
|
||||||
|
<%inherit file="/configure.mako" />
|
||||||
|
|
||||||
|
<%def name="page_content()">
|
||||||
|
${parent.page_content()}
|
||||||
|
|
||||||
|
<h3 class="block is-size-3">Display</h3>
|
||||||
|
<div class="block" style="padding-left: 2rem;">
|
||||||
|
|
||||||
|
<b-field message="If not set, vendor chooser is a dropdown field.">
|
||||||
|
<b-checkbox v-model="simpleSettings['rattail.vendor.use_autocomplete']"
|
||||||
|
@input="settingsNeedSaved = true">
|
||||||
|
Show vendor chooser as autocomplete field
|
||||||
|
</b-checkbox>
|
||||||
|
</b-field>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</%def>
|
||||||
|
|
||||||
|
|
||||||
|
${parent.body()}
|
|
@ -54,6 +54,8 @@ class EmailSettingView(MasterView):
|
||||||
pageable = False
|
pageable = False
|
||||||
creatable = False
|
creatable = False
|
||||||
deletable = False
|
deletable = False
|
||||||
|
configurable = True
|
||||||
|
config_title = "Email"
|
||||||
|
|
||||||
grid_columns = [
|
grid_columns = [
|
||||||
'key',
|
'key',
|
||||||
|
@ -224,6 +226,16 @@ class EmailSettingView(MasterView):
|
||||||
kwargs['email'] = self.handler.get_email(key)
|
kwargs['email'] = self.handler.get_email(key)
|
||||||
return kwargs
|
return kwargs
|
||||||
|
|
||||||
|
def configure_get_simple_settings(self):
|
||||||
|
config = self.rattail_config
|
||||||
|
return [
|
||||||
|
|
||||||
|
# sending
|
||||||
|
{'section': 'rattail.mail',
|
||||||
|
'option': 'record_attempts',
|
||||||
|
'type': bool},
|
||||||
|
]
|
||||||
|
|
||||||
# TODO: deprecate / remove this
|
# TODO: deprecate / remove this
|
||||||
ProfilesView = EmailSettingView
|
ProfilesView = EmailSettingView
|
||||||
|
|
||||||
|
|
|
@ -287,6 +287,12 @@ class MasterView(View):
|
||||||
return self.request.has_perm('{}.{}'.format(
|
return self.request.has_perm('{}.{}'.format(
|
||||||
self.get_permission_prefix(), name))
|
self.get_permission_prefix(), name))
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def get_config_url(cls):
|
||||||
|
if hasattr(cls, 'config_url'):
|
||||||
|
return cls.config_url
|
||||||
|
return '{}/configure'.format(cls.get_url_prefix())
|
||||||
|
|
||||||
##############################
|
##############################
|
||||||
# Available Views
|
# Available Views
|
||||||
##############################
|
##############################
|
||||||
|
@ -4265,7 +4271,7 @@ class MasterView(View):
|
||||||
'{}.configure'.format(permission_prefix),
|
'{}.configure'.format(permission_prefix),
|
||||||
label="Configure {}".format(config_title))
|
label="Configure {}".format(config_title))
|
||||||
config.add_route('{}.configure'.format(route_prefix),
|
config.add_route('{}.configure'.format(route_prefix),
|
||||||
'{}/configure'.format(url_prefix))
|
cls.get_config_url())
|
||||||
config.add_view(cls, attr='configure',
|
config.add_view(cls, attr='configure',
|
||||||
route_name='{}.configure'.format(route_prefix),
|
route_name='{}.configure'.format(route_prefix),
|
||||||
permission='{}.configure'.format(permission_prefix))
|
permission='{}.configure'.format(permission_prefix))
|
||||||
|
|
|
@ -213,6 +213,9 @@ class ReportOutputView(ExportMasterView):
|
||||||
route_prefix = 'report_output'
|
route_prefix = 'report_output'
|
||||||
url_prefix = '/reports/generated'
|
url_prefix = '/reports/generated'
|
||||||
downloadable = True
|
downloadable = True
|
||||||
|
configurable = True
|
||||||
|
config_title = "Reporting"
|
||||||
|
config_url = '/reports/configure'
|
||||||
|
|
||||||
grid_columns = [
|
grid_columns = [
|
||||||
'id',
|
'id',
|
||||||
|
@ -295,6 +298,16 @@ class ReportOutputView(ExportMasterView):
|
||||||
path = report.filepath(self.rattail_config)
|
path = report.filepath(self.rattail_config)
|
||||||
return self.file_response(path)
|
return self.file_response(path)
|
||||||
|
|
||||||
|
def configure_get_simple_settings(self):
|
||||||
|
config = self.rattail_config
|
||||||
|
return [
|
||||||
|
|
||||||
|
# generating
|
||||||
|
{'section': 'tailbone',
|
||||||
|
'option': 'reporting.choosing_uses_form',
|
||||||
|
'type': bool},
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
class GenerateReport(View):
|
class GenerateReport(View):
|
||||||
"""
|
"""
|
||||||
|
|
11
tailbone/views/vendors/core.py
vendored
11
tailbone/views/vendors/core.py
vendored
|
@ -43,6 +43,7 @@ class VendorView(MasterView):
|
||||||
has_versions = True
|
has_versions = True
|
||||||
touchable = True
|
touchable = True
|
||||||
supports_autocomplete = True
|
supports_autocomplete = True
|
||||||
|
configurable = True
|
||||||
|
|
||||||
labels = {
|
labels = {
|
||||||
'id': "ID",
|
'id': "ID",
|
||||||
|
@ -168,6 +169,16 @@ class VendorView(MasterView):
|
||||||
(model.VendorContact, 'vendor_uuid'),
|
(model.VendorContact, 'vendor_uuid'),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
def configure_get_simple_settings(self):
|
||||||
|
config = self.rattail_config
|
||||||
|
return [
|
||||||
|
|
||||||
|
# display
|
||||||
|
{'section': 'rattail',
|
||||||
|
'option': 'vendor.use_autocomplete',
|
||||||
|
'type': bool},
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
def includeme(config):
|
def includeme(config):
|
||||||
VendorView.defaults(config)
|
VendorView.defaults(config)
|
||||||
|
|
Loading…
Reference in a new issue