def form_fields(self): ''' The fields for this form ''' ff = FormFields(IAddForm) ff = ff.omit('captcha') ff['email'].field.required = False ff['mobile'].field.constraint = check_mobile_number return ff
def form_fields(self): form_fields = FormFields(ISearchReplaceForm) container = aq_parent(self.context) if not self.context.isPrincipiaFolderish and not isDefaultPage( container, self.context): form_fields = form_fields.omit("searchSubfolders") form_fields["findWhat"].custom_widget = TwoLineTextAreaWidget form_fields["replaceWith"].custom_widget = TwoLineTextAreaWidget return form_fields
def form_fields(self): ''' The fields for this form ''' ff = FormFields(IVacationBooking) ff['start_date'].field.default = date.today() if not self.context.getGates(): ff = ff.omit('gate') return ff
def form_fields(self): form_fields = FormFields(ISearchReplaceForm) container = aq_parent(self.context) if not self.context.isPrincipiaFolderish and not isDefaultPage( container, self.context): form_fields = form_fields.omit('searchSubfolders') form_fields['findWhat'].custom_widget = TwoLineTextAreaWidget form_fields['replaceWith'].custom_widget = TwoLineTextAreaWidget return form_fields
def form_fields(self): ''' The fields for this form ''' ff = FormFields(IAddForm) if not self.context.restrictedTraverse('plone_portal_state/anonymous')(): ff = ff.omit('captcha') else: ff['captcha'].custom_widget = CaptchaWidget return ff
def form_fields(self): ''' The fields for this form ''' ff = FormFields(IAddForm) if not self.is_anonymous: ff = ff.omit('captcha') else: ff['captcha'].custom_widget = CaptchaWidget ff['tipology'].custom_widget = TipologyWidget return ff
def form_fields(self): ''' The fields for this form ''' ff = FormFields(IAddForm) if not self.context.restrictedTraverse( 'plone_portal_state/anonymous')(): ff = ff.omit('captcha') else: ff['captcha'].custom_widget = CaptchaWidget return ff
class RenameForm(EditForm): label = _p(u'heading_rename_item', default=u'Rename item') description = _p(u'description_rename_item', default=u'Each item has a Short Name and a Title, which you can change ' 'by entering the new details below.') def __init__(self, context, request): super(RenameForm, self).__init__(context, request) for name, value in self.request.form.items(): self.request.form[name] = safe_unicode(value) self.form_fields = FormFields(IRenameForm) self.form_name = '%s (%s)' % (self.context.Title(), self.context.getId()) mtool = getToolByName(self.context, 'portal_membership') title = self.context.Schema()['title'] self.id = self.context.getId() self.languages = {} if (IMultilanguageField.providedBy(title) or not mtool.checkPermission(DeleteObjects, self.context) or not mtool.checkPermission(copy_or_move, self.context)): self.form_fields = self.form_fields.omit('id') if (IMultilanguageField.providedBy(title) or not mtool.checkPermission(ModifyPortalContent, self.context)): self.form_fields = self.form_fields.omit('title') if IMultilanguageField.providedBy(title): self.handler = IMultilanguageURLHandler(aq_parent(aq_inner(self.context)), None) for lang in title.getAvailableLanguages(self.context): self.languages[lang['name']] = lang['title'] self.form_fields = self.form_fields + FormFields( schema.TextLine( __name__=lang['name'], title=lang['title'], default=self.handler.get_translated_id(self.id, lang['name']), required=True ) ) self.form_fields[lang['name']].interface = IRenameForm def validate(self, action, data): errors = super(RenameForm, self).validate(action, data) for field in self.form_fields: name = field.field.getName() if name == 'title': continue value = data.get(name, u'') check_id = getattr(self.context, 'check_id', None) if ((name == 'id' and not value == self.id) or (name in self.languages.keys() and not value == self.handler.get_translated_id(self.id, name) and not value == self.id and not self.id == self.handler.get_actual_id(value)) and check_id is not None): error = check_id(str(value), required=1) if error: widget = self.widgets[name] widget._error = WidgetInputError(widget.name, widget.label, InvalidIDError(error)) errors.append(widget._error) return errors @action(_p(u'label_rename_all', default=u'Rename All'), name=u'rename') def handle_rename_action(self, action, data): context = aq_inner(self.context) oldid = context.getId() oldtranslatedids = self.handler.get_translated_ids(oldid) descriptions = applyData(context, self.form_fields, data, self.adapters) statusmessage = IStatusMessage(self.request) if descriptions: statusmessage.addStatusMessage(_p(u'Changes saved.'), u'success'); else: statusmessage.addStatusMessage(_p(u'No changes made.')); self.request.RESPONSE.redirect(context.absolute_url())