response.formstyle, reponse.label_separator
This commit is contained in:
@@ -1 +1 @@
|
||||
Version 2.10.0-trunk+timestamp.2014.08.14.16.27.22
|
||||
Version 2.10.0-trunk+timestamp.2014.08.14.19.10.27
|
||||
|
||||
@@ -25,6 +25,7 @@ else:
|
||||
## by default give a view/generic.extension to all actions from localhost
|
||||
## none otherwise. a pattern can be 'controller/function.extension'
|
||||
response.generic_patterns = ['*'] if request.is_local else []
|
||||
response.formstyle = 'bootstrap3'
|
||||
## (optional) optimize handling of static files
|
||||
# response.optimize_css = 'concat,minify,inline'
|
||||
# response.optimize_js = 'concat,minify,inline'
|
||||
|
||||
+2
-2
@@ -653,8 +653,8 @@ def run_view_in(environment):
|
||||
folder = request.folder
|
||||
path = pjoin(folder, 'compiled')
|
||||
badv = 'invalid view (%s)' % view
|
||||
if response.generic_patterns:
|
||||
patterns = response.generic_patterns
|
||||
patterns = response.get('generic_patterns')
|
||||
if patterns:
|
||||
regex = re_compile('|'.join(map(fnmatch.translate, patterns)))
|
||||
short_action = '%(controller)s/%(function)s.%(extension)s' % request
|
||||
allow_generic = regex.search(short_action)
|
||||
|
||||
+5
-2
@@ -165,6 +165,7 @@ class Request(Storage):
|
||||
- is_local
|
||||
- is_https
|
||||
- restful()
|
||||
- settings
|
||||
"""
|
||||
|
||||
def __init__(self, env):
|
||||
@@ -383,13 +384,15 @@ class Response(Storage):
|
||||
self.meta = Storage() # used by web2py_ajax.html
|
||||
self.menu = [] # used by the default view layout
|
||||
self.files = [] # used by web2py_ajax.html
|
||||
self.generic_patterns = [] # patterns to allow generic views
|
||||
self.delimiters = ('{{', '}}')
|
||||
self._vars = None
|
||||
self._caller = lambda f: f()
|
||||
self._view_environment = None
|
||||
self._custom_commit = None
|
||||
self._custom_rollback = None
|
||||
self.generic_patterns = ['*']
|
||||
self.delimiters = ('{{','}}')
|
||||
self.formstyle = 'table2cols'
|
||||
self.label_separator = ': '
|
||||
|
||||
def write(self, data, escape=True):
|
||||
if not escape:
|
||||
|
||||
+8
-6
@@ -1013,16 +1013,16 @@ class SQLFORM(FORM):
|
||||
keepopts=[],
|
||||
ignore_rw=False,
|
||||
record_id=None,
|
||||
formstyle='table3cols',
|
||||
formstyle=None,
|
||||
buttons=['submit'],
|
||||
separator=': ',
|
||||
separator=None,
|
||||
extra_fields=None,
|
||||
**attributes
|
||||
):
|
||||
T = current.T
|
||||
|
||||
self.ignore_rw = ignore_rw
|
||||
self.formstyle = formstyle
|
||||
self.formstyle = formstyle or current.response.formstyle
|
||||
self.readonly = readonly
|
||||
# Default dbio setting
|
||||
self.detect_record_change = None
|
||||
@@ -1078,7 +1078,7 @@ class SQLFORM(FORM):
|
||||
else:
|
||||
self.id_field_name = table._primarykey[0] # only works if one key
|
||||
|
||||
sep = separator or ''
|
||||
sep = separator or current.response.label_separator
|
||||
|
||||
extra_fields = extra_fields or []
|
||||
self.extra_fields = {}
|
||||
@@ -1820,7 +1820,7 @@ class SQLFORM(FORM):
|
||||
and_button, or_button, close_button,
|
||||
_id='%s_%s' % (field_id, name),
|
||||
_class='w2p_query_row',
|
||||
_style='display:inline'))
|
||||
_style='display:none'))
|
||||
|
||||
criteria.insert(0, SELECT(
|
||||
_id=fields_id,
|
||||
@@ -1886,7 +1886,7 @@ class SQLFORM(FORM):
|
||||
search_widget='default',
|
||||
advanced_search=True,
|
||||
ignore_rw = False,
|
||||
formstyle = 'table3cols',
|
||||
formstyle = None,
|
||||
exportclasses = None,
|
||||
formargs={},
|
||||
createargs={},
|
||||
@@ -1901,6 +1901,8 @@ class SQLFORM(FORM):
|
||||
ignore_common_filters=None,
|
||||
):
|
||||
|
||||
formstyle = formstyle or current.response.formstyle
|
||||
|
||||
# jQuery UI ThemeRoller classes (empty if ui is disabled)
|
||||
if ui == 'jquery-ui':
|
||||
ui = dict(widget='ui-widget',
|
||||
|
||||
+9
-10
@@ -279,18 +279,16 @@ class TemplateParser(object):
|
||||
self.context = context
|
||||
|
||||
# allow optional alternative delimiters
|
||||
self.delimiters = delimiters
|
||||
if delimiters is None:
|
||||
delimiters = context.get('response', {})\
|
||||
.get('app_settings',{}).get('template_delimiters')
|
||||
if delimiters != self.default_delimiters:
|
||||
escaped_delimiters = (escape(delimiters[0]),
|
||||
escaped_delimiters = (escape(elimiters[0]),
|
||||
escape(delimiters[1]))
|
||||
self.r_tag = compile(r'(%s.*?%s)' % escaped_delimiters, DOTALL)
|
||||
elif hasattr(context.get('response', None), 'delimiters'):
|
||||
if context['response'].delimiters != self.default_delimiters:
|
||||
escaped_delimiters = (
|
||||
escape(context['response'].delimiters[0]),
|
||||
escape(context['response'].delimiters[1]))
|
||||
self.r_tag = compile(r'(%s.*?%s)' % escaped_delimiters,
|
||||
DOTALL)
|
||||
else:
|
||||
delimiters = self.default_delimiters
|
||||
self.delimiters = delimiters
|
||||
|
||||
# Create a root level Content that everything will go into.
|
||||
self.content = Content(name=name)
|
||||
@@ -569,7 +567,8 @@ class TemplateParser(object):
|
||||
line = i
|
||||
|
||||
# Get rid of delimiters
|
||||
line = line[len(self.delimiters[0]):-len(self.delimiters[1])].strip()
|
||||
line = line[len(self.delimiters[0]): \
|
||||
-len(self.delimiters[1])].strip()
|
||||
|
||||
# This is bad juju, but let's do it anyway
|
||||
if not line:
|
||||
|
||||
+2
-1
@@ -1008,7 +1008,7 @@ class Auth(object):
|
||||
allow_basic_login=False,
|
||||
allow_basic_login_only=False,
|
||||
on_failed_authentication=lambda x: redirect(x),
|
||||
formstyle="table3cols",
|
||||
formstyle=None,
|
||||
label_separator=": ",
|
||||
logging_enabled = True,
|
||||
allow_delete_accounts=False,
|
||||
@@ -1343,6 +1343,7 @@ class Auth(object):
|
||||
reset_password_onvalidation = [],
|
||||
reset_password_onaccept = [],
|
||||
hmac_key = hmac_key,
|
||||
formstyle = current.response.formstyle,
|
||||
)
|
||||
settings.lock_keys = True
|
||||
|
||||
|
||||
Reference in New Issue
Block a user