class RegistrationForm(forms.FieldsForm): """ Create an anonymous registration form. """ __regid__ = "registration" domid = "registrationForm" title = _("Registration form") form_buttons = [formwidgets.SubmitButton()] @property def action(self): return self._cw.build_url(u"registration_sendmail") # Properly name fields according to validation errors that may be raised by # the register_user service login = formfields.StringField(widget=formwidgets.TextInput(), role="subject", label=_("Login"), help=_("Please enter your CEA login."), required=True) upassword = formfields.StringField(widget=formwidgets.PasswordInput(), role="subject", required=True) captcha = formfields.StringField( widget=captcha.CaptchaWidget(), required=True, label=_("Captcha"), help=_("Please copy the letters from the image"))
def test_uihelper_set_field_kwargs(self): afk_get = uicfg.autoform_field_kwargs.get self.assertEqual(afk_get('CWUser', 'firstname', 'String', 'subject'), {}) wdg = fwdgs.TextInput({'size': 30}) with warnings.catch_warnings(record=True) as w: uihelper.set_field_kwargs('CWUser', 'firstname', widget=wdg) self.assertEqual(len(w), 1) self.assertTrue(issubclass(w[-1].category, DeprecationWarning)) self.assertEqual(afk_get('CWUser', 'firstname', 'String', 'subject'), {'widget': wdg})
class LogForm(BaseLogForm): """Simple login form that send username and password """ __regid__ = 'logform' domid = 'loginForm' needs_css = ('cubicweb.login.css', ) # XXX have to recall fields name since python is mangling __login/__password __login = ff.StringField('__login', widget=fw.TextInput({'class': 'data'})) __password = ff.StringField('__password', label=_('password'), widget=fw.PasswordSingleInput( {'class': 'data'})) onclick_args = ('popupLoginBox', '__login')
def init_widget(self, widget): if widget is None: if self.choices: widget = fw.Select() elif self.max_length and self.max_length < 257: widget = fw.TextInput() super(StringField, self).init_widget(widget) if isinstance(self.widget, fw.TextArea): self.init_text_area(self.widget) elif isinstance(self.widget, fw.TextInput): self.init_text_input(self.widget) if self.placeholder: self.widget.attrs.setdefault('placeholder', self.placeholder)
from cubicweb.web import formwidgets as wdgs from cubicweb.web.views import uicfg # fields required in the schema but automatically set by hooks. Tell about that # to the ui _pvdc = uicfg.autoform_field_kwargs _pvdc.tag_attribute(('File', 'data_name'), { 'required': False, 'widget': wdgs.TextInput({'size': 45})}) _pvdc.tag_attribute(('File', 'data_format'), {'required': False})