misc: pylint fix function-redefined (#52222)
This commit is contained in:
parent
46be3ca3ce
commit
d3f8af1166
|
@ -173,7 +173,7 @@ class FormDefUI:
|
|||
return formdef
|
||||
|
||||
|
||||
class FieldDefPage(FieldDefPage):
|
||||
class AdminFieldDefPage(FieldDefPage):
|
||||
section = 'forms'
|
||||
|
||||
def get_deletion_extra_warning(self):
|
||||
|
@ -182,8 +182,8 @@ class FieldDefPage(FieldDefPage):
|
|||
return _('Warning: this field data will be permanently deleted from existing forms.')
|
||||
|
||||
|
||||
class FieldsDirectory(FieldsDirectory):
|
||||
field_def_page_class = FieldDefPage
|
||||
class AdminFieldsDirectory(FieldsDirectory):
|
||||
field_def_page_class = AdminFieldDefPage
|
||||
field_var_prefix = 'form_var_'
|
||||
readonly_message = N_('This form is readonly.')
|
||||
|
||||
|
@ -604,7 +604,7 @@ class FormDefPage(Directory):
|
|||
raise TraversalError()
|
||||
self.formdefui = self.formdef_ui_class(self.formdef)
|
||||
get_response().breadcrumb.append((component + '/', self.formdef.name))
|
||||
self.fields = FieldsDirectory(self.formdef)
|
||||
self.fields = AdminFieldsDirectory(self.formdef)
|
||||
self.fields.html_top = self.html_top
|
||||
self.role = WorkflowRoleDirectory(self.formdef)
|
||||
self.role.html_top = self.html_top
|
||||
|
|
|
@ -61,15 +61,15 @@ from quixote import get_publisher
|
|||
from quixote import get_request
|
||||
from quixote import get_response
|
||||
from quixote import get_session
|
||||
from quixote.form import CheckboxWidget
|
||||
from quixote.form import CheckboxWidget as QuixoteCheckboxWidget
|
||||
from quixote.form import FileWidget
|
||||
from quixote.form import Form
|
||||
from quixote.form import Form as QuixoteForm
|
||||
from quixote.form import HiddenWidget
|
||||
from quixote.form import IntWidget
|
||||
from quixote.form import PasswordWidget
|
||||
from quixote.form import SelectWidget
|
||||
from quixote.form import StringWidget
|
||||
from quixote.form import TextWidget
|
||||
from quixote.form import StringWidget as QuixoteStringWidget
|
||||
from quixote.form import TextWidget as QuixoteTextWidget
|
||||
from quixote.form import Widget
|
||||
from quixote.html import TemplateIO
|
||||
from quixote.html import htmlescape
|
||||
|
@ -99,8 +99,6 @@ from .template import render as render_template
|
|||
from .template_utils import render_block_to_string
|
||||
from .upload_storage import UploadStorageError
|
||||
|
||||
QuixoteForm = Form
|
||||
|
||||
Widget.REQUIRED_ERROR = N_('required field')
|
||||
get_error_orig = Widget.get_error
|
||||
|
||||
|
@ -210,22 +208,6 @@ Widget.is_prefilled = is_prefilled
|
|||
Widget.render_widget_content = render_widget_content
|
||||
|
||||
|
||||
def string_render_content(self):
|
||||
attrs = {'id': 'form_' + self.name}
|
||||
if self.required:
|
||||
attrs['aria-required'] = 'true'
|
||||
if getattr(self, 'prefill_attributes', None) and 'autocomplete' in self.prefill_attributes:
|
||||
attrs['autocomplete'] = self.prefill_attributes['autocomplete']
|
||||
if self.attrs:
|
||||
attrs.update(self.attrs)
|
||||
if getattr(self, 'inputmode', None):
|
||||
attrs['inputmode'] = self.inputmode
|
||||
return htmltag("input", xml_end=True, type=self.HTML_TYPE, name=self.name, value=self.value, **attrs)
|
||||
|
||||
|
||||
StringWidget.render_content = string_render_content
|
||||
|
||||
|
||||
def file_render_content(self):
|
||||
# remove trailing $file for identifier
|
||||
attrs = {'id': 'form_' + str(self.name).rsplit('$', 1)[0]}
|
||||
|
@ -239,26 +221,6 @@ def file_render_content(self):
|
|||
FileWidget.render_content = file_render_content
|
||||
|
||||
|
||||
def text_render_content(self):
|
||||
attrs = {'id': 'form_' + self.name}
|
||||
if self.required:
|
||||
attrs['aria-required'] = 'true'
|
||||
if self.attrs:
|
||||
attrs.update(self.attrs)
|
||||
if not attrs.get('cols'):
|
||||
attrs['cols'] = 72
|
||||
if not attrs.get('rows'):
|
||||
attrs['rows'] = 5
|
||||
if attrs.get('readonly') and not self.value:
|
||||
attrs['rows'] = 1
|
||||
return (
|
||||
htmltag("textarea", name=self.name, **attrs) + htmlescape(self.value or "") + htmltext("</textarea>")
|
||||
)
|
||||
|
||||
|
||||
TextWidget.render_content = text_render_content
|
||||
|
||||
|
||||
class SubmitWidget(quixote.form.widget.SubmitWidget):
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.extra_css_class = kwargs.pop('extra_css_class', None)
|
||||
|
@ -295,37 +257,6 @@ class RadiobuttonsWidget(quixote.form.RadiobuttonsWidget):
|
|||
}
|
||||
|
||||
|
||||
def checkbox_render_content(self, standalone=True):
|
||||
attrs = {'id': 'form_' + self.name}
|
||||
if self.required:
|
||||
attrs['aria-required'] = 'true'
|
||||
inline_title = self.attrs.pop('inline_title', '')
|
||||
if self.attrs:
|
||||
attrs.update(self.attrs)
|
||||
checkbox = htmltag(
|
||||
"input",
|
||||
xml_end=True,
|
||||
type="checkbox",
|
||||
name=self.name,
|
||||
value="yes",
|
||||
checked=self.value and "checked" or None,
|
||||
**attrs,
|
||||
)
|
||||
if standalone:
|
||||
data_attrs = ' '.join('%s="%s"' % x for x in attrs.items() if x[0].startswith('data-'))
|
||||
# more elaborate markup so standalone checkboxes can be applied a
|
||||
# custom style.
|
||||
return (
|
||||
htmltext('<label %s>%s<span>' % (data_attrs, checkbox))
|
||||
+ inline_title
|
||||
+ htmltext('</span></label>')
|
||||
)
|
||||
return checkbox
|
||||
|
||||
|
||||
CheckboxWidget.render_content = checkbox_render_content
|
||||
|
||||
|
||||
def get_selection_error_text(*args):
|
||||
return _('invalid value selected')
|
||||
|
||||
|
@ -583,7 +514,7 @@ class CompositeWidget(quixote.form.CompositeWidget):
|
|||
return r.getvalue()
|
||||
|
||||
|
||||
class StringWidget(quixote.form.StringWidget):
|
||||
class StringWidget(QuixoteStringWidget):
|
||||
def __init__(self, name, *args, **kwargs):
|
||||
if 'readonly' in kwargs and not kwargs.get('readonly'):
|
||||
del kwargs['readonly']
|
||||
|
@ -593,7 +524,7 @@ class StringWidget(quixote.form.StringWidget):
|
|||
super().__init__(name, *args, **kwargs)
|
||||
|
||||
def _parse(self, request):
|
||||
quixote.form.StringWidget._parse(self, request)
|
||||
QuixoteStringWidget._parse(self, request)
|
||||
if self.value:
|
||||
self.value = self.value.strip()
|
||||
if self.value and self.validation_function:
|
||||
|
@ -602,6 +533,18 @@ class StringWidget(quixote.form.StringWidget):
|
|||
except ValueError as e:
|
||||
self.error = str(e)
|
||||
|
||||
def render_content(self):
|
||||
attrs = {'id': 'form_' + self.name}
|
||||
if self.required:
|
||||
attrs['aria-required'] = 'true'
|
||||
if getattr(self, 'prefill_attributes', None) and 'autocomplete' in self.prefill_attributes:
|
||||
attrs['autocomplete'] = self.prefill_attributes['autocomplete']
|
||||
if self.attrs:
|
||||
attrs.update(self.attrs)
|
||||
if getattr(self, 'inputmode', None):
|
||||
attrs['inputmode'] = self.inputmode
|
||||
return htmltag("input", xml_end=True, type=self.HTML_TYPE, name=self.name, value=self.value, **attrs)
|
||||
|
||||
|
||||
class DurationWidget(StringWidget):
|
||||
def __init__(self, name, value=None, **kwargs):
|
||||
|
@ -619,7 +562,7 @@ class DurationWidget(StringWidget):
|
|||
return str(humanduration2seconds(self.value)) if value else None
|
||||
|
||||
|
||||
class TextWidget(quixote.form.TextWidget):
|
||||
class TextWidget(QuixoteTextWidget):
|
||||
prefill_attributes = None
|
||||
|
||||
def __init__(self, name, *args, **kwargs):
|
||||
|
@ -631,7 +574,7 @@ class TextWidget(quixote.form.TextWidget):
|
|||
get_response().add_javascript(['qommon.geolocation.js'])
|
||||
|
||||
def _parse(self, request, use_validation_function=True):
|
||||
quixote.form.TextWidget._parse(self, request)
|
||||
QuixoteTextWidget._parse(self, request)
|
||||
if self.value is not None:
|
||||
try:
|
||||
maxlength = int(self.attrs.get('maxlength', 0))
|
||||
|
@ -646,8 +589,26 @@ class TextWidget(quixote.form.TextWidget):
|
|||
except ValueError as e:
|
||||
self.error = str(e)
|
||||
|
||||
def render_content(self):
|
||||
attrs = {'id': 'form_' + self.name}
|
||||
if self.required:
|
||||
attrs['aria-required'] = 'true'
|
||||
if self.attrs:
|
||||
attrs.update(self.attrs)
|
||||
if not attrs.get('cols'):
|
||||
attrs['cols'] = 72
|
||||
if not attrs.get('rows'):
|
||||
attrs['rows'] = 5
|
||||
if attrs.get('readonly') and not self.value:
|
||||
attrs['rows'] = 1
|
||||
return (
|
||||
htmltag("textarea", name=self.name, **attrs)
|
||||
+ htmlescape(self.value or "")
|
||||
+ htmltext("</textarea>")
|
||||
)
|
||||
|
||||
class CheckboxWidget(quixote.form.CheckboxWidget):
|
||||
|
||||
class CheckboxWidget(QuixoteCheckboxWidget):
|
||||
"""
|
||||
Widget just like CheckboxWidget but with an effective support for the
|
||||
required attribute, if required the checkbox will have to be checked.
|
||||
|
@ -666,6 +627,33 @@ class CheckboxWidget(quixote.form.CheckboxWidget):
|
|||
else:
|
||||
self.value = True
|
||||
|
||||
def render_content(self, standalone=True):
|
||||
attrs = {'id': 'form_' + self.name}
|
||||
if self.required:
|
||||
attrs['aria-required'] = 'true'
|
||||
inline_title = self.attrs.pop('inline_title', '')
|
||||
if self.attrs:
|
||||
attrs.update(self.attrs)
|
||||
checkbox = htmltag(
|
||||
"input",
|
||||
xml_end=True,
|
||||
type="checkbox",
|
||||
name=self.name,
|
||||
value="yes",
|
||||
checked=self.value and "checked" or None,
|
||||
**attrs,
|
||||
)
|
||||
if standalone:
|
||||
data_attrs = ' '.join('%s="%s"' % x for x in attrs.items() if x[0].startswith('data-'))
|
||||
# more elaborate markup so standalone checkboxes can be applied a
|
||||
# custom style.
|
||||
return (
|
||||
htmltext('<label %s>%s<span>' % (data_attrs, checkbox))
|
||||
+ inline_title
|
||||
+ htmltext('</span></label>')
|
||||
)
|
||||
return checkbox
|
||||
|
||||
|
||||
class UploadedFile:
|
||||
def __init__(self, directory, filename, upload):
|
||||
|
|
Loading…
Reference in New Issue