def update(self): super(AbstractEditCollectorForm, self).update() addform = AddToCollectorForm(self.context, self.request) addform.level = self.level addform.update() actions = [] for item in self.context.objectValues(): acts = [] for factory in DeleteFromCollectorForm, MoveBlockForm: form = factory(item, self.request) form.update() form.level = self.level + 1 acts.append(form) actions.append(acts) editforms = [] for item in self.context.objectValues(): subform = component.getMultiAdapter( (item, self.request, self.parent_form), z3c.form.interfaces.ISubForm) subform.update() subform.level = self.level + 1 editforms.append(subform) self.subforms = [] for editform, acts in zip(editforms, actions): self.subforms.append(editform) self.subforms.extend(acts) self.subforms.append(addform)
def do_action(self): form = DeleteConfirmationForm(self.context, self.request) form.update() button = form.buttons['Delete'] # delete by clicking the form button in delete_confirmation form.handlers.getHandler(button)(form, button)
def update(self): super(AbstractEditCollectorForm, self).update() addform = AddToCollectorForm(self.context, self.request) addform.level = self.level addform.update() actions = [] for item in self.context.objectValues(): acts = [] for factory in DeleteFromCollectorForm, MoveBlockForm: form = factory(item, self.request) form.update() form.level = self.level + 1 acts.append(form) actions.append(acts) editforms = [] for item in self.context.objectValues(): subform = component.getMultiAdapter((item, self.request, self.parent_form), z3c.form.interfaces.ISubForm) subform.update() subform.level = self.level + 1 editforms.append(subform) self.subforms = [] for editform, acts in zip(editforms, actions): self.subforms.append(editform) self.subforms.extend(acts) self.subforms.append(addform)
def contents(self): switch_on(self, request_layer=collective.singing.interfaces.IFormLayer) subscriptions, channels = self._subscriptions_and_channels(self.secret) if self.newsletters.use_single_form_subscriptions_page: self.form = PrettySubscriptionsForm(self.context, self.request, subscriptions, channels) self.form.update() if len(self.form.key_fields) == 1: # Revert to old style form if not all # composers have the same ISubscriptionKey. return self.single_form_template() # Let's set convert any 'pending' subscriptions to non-pending: for sub in subscriptions: if sub.metadata.get('pending'): sub.metadata['pending'] = False # Assemble the list of edit forms self.subscription_editforms = [ SubscriptionEditForm(s, self.request) for s in subscriptions] # Assemble the list of add forms self.subscription_addforms = [] for format, channel in channels: addform = SubscriptionAddForm(channel, self.request) addform.format = format self.subscription_addforms.append(addform) # The edit forms might have deleted a subscription. We'll # take care of this while updating them: for form in self.subscription_editforms: form.update() if form.removed: subscription = form.context addform = SubscriptionAddForm( subscription.channel, self.request) addform.format = subscription.metadata['format'] addform.update() self.subscription_addforms.append(addform) addform.status = form.status elif form.status != form.noChangesMessage: self.status = form.status # Let's update the add forms now. One of them may have added # a subscription: for form in self.subscription_addforms: form.update() subscription = form.added if subscription is not None: editform = SubscriptionEditForm( subscription, self.request) editform.update() self.subscription_editforms.append(editform) #_(u"You subscribed successfully.") editform.status = form.status return self.contents_template()
def update(self): self.prefix = self.parentForm.prefix + 'phones.' self.forms = [] for name in ('homePhone', 'workPhone', 'cellPhone'): form = PhoneForm(self.context, self.request, self.parentForm) form.prefix = self.prefix + name + '.' form.attrName = name form.update() self.forms.append(form)
def update(self): super(PrettySubscriptionsForm, self).update() # Let's set convert any 'pending' subscriptions to non-pending: for sub in self.subs: if sub.metadata.get('pending'): sub.metadata['pending'] = False # Assemble the list of edit forms self.subscription_editforms = [ SubscriptionEditSubForm(s, self.request, self) for s in self.subs] # Assemble the list of add forms self.subscription_addforms = [] for format, channel in self.channels: addform = SubscriptionAddSubForm(channel, self.request, self) addform.format = format self.subscription_addforms.append(addform) # The edit forms might have deleted a subscription. We'll # take care of this while updating them: for form in self.subscription_editforms: form.update() if form.removed: subscription = form.context addform = SubscriptionAddSubForm( subscription.channel, self.request, self) addform.format = subscription.metadata['format'] addform.ignoreRequest = True addform.update() self.subscription_addforms.append(addform) addform.status = form.status #elif form.status != form.noChangesMessage: # self.status = form.status # Let's update the add forms now. One of them may have added # a subscription: for form in self.subscription_addforms: form.update() subscription = form.added if subscription is not None: editform = SubscriptionEditSubForm( subscription, self.request, self) editform.update() self.subscription_editforms.append(editform) #_(u"You subscribed successfully.") editform.status = form.status # check if all subscriptions are now cancelled if not sum([len(c.subscriptions.query(secret=self.secret)) \ for c in channel_lookup(only_subscribeable=True)]): self.unsubscribed_all = True self.status_message = _(u"You were unsubscribed completely.") # update after setting unsubscribed_all self.updateWidgets() del self.request.form['secret']
def update(self): super(SendAsNewsletterForm, self).update() self.subforms = [f(self, self.request) for f in self.factories] for form in self.subforms: form.update() # XXX: We should find a more beautiful solution here! if form.status: IStatusMessage(self.request).addStatusMessage(form.status)
def update(self): self.prefix = self.parentForm.prefix + 'emails.' super(EMailsForm, self).update() self.emailForms = [] for index, email in enumerate(self.getContent()): form = EMailForm(email, self.request, self.parentForm) form.index = index form.prefix = self.prefix + str(index) + '.' form.update() if not form.deleted: self.emailForms.append(form)
def test_widget_rendering(self): request = TestRequest() request.LANGUAGE = 'en' form = TestAddForm(self.portal, request) form.update() widget = RecurrenceFieldWidget(form.fields['recurrence'].field, request) widget.form = form widget.start_field = 'day' widget.update() html = widget.render() self.assertIn('recurrence', html)
def update(self): subforms = [] # XXX: Not really sure how to handle the action and enctype vars if self.can_reset_password(): form = RequestResetPassword(None, self.request) form.update() subforms.append(form) if self.can_retrieve_username(): form = RequestUsername(None, self.request) form.update() subforms.append(form) self.subforms = subforms super(LoginHelpForm, self).update()
def update(self): subforms = [] # XXX: Not really sure how to handle the action and enctype vars if self.can_reset_password(): form = RequestResetPassword(None, self.request) form.update() subforms.append(form) if not self.use_email_as_login() and self.can_retrieve_username(): form = RequestUsername(None, self.request) form.update() subforms.append(form) self.subforms = subforms super().update()
def update(self): # Make sure that we have a unique prefix. self.prefix = self.parentForm.prefix + 'addresses.' super(AddressesForm, self).update() # For each address, create an address form. self.addressForms = [] for name, address in self.getContent().items(): form = AddressForm(address, self.request, self.parentForm) form.name = str(name) # The prefix is created at runtime to guarantee uniqueness form.prefix = self.prefix + str(name) + '.' form.update() # Updating the address can also mean its deletion. If deleted, it # is not added to the list. if not form.deleted: self.addressForms.append(form)
def traverse(self, name, ignored): form = self._prepareForm() alsoProvides(self.request, IDeferSecurityCheck) form.update() noLongerProvides(self.request, IDeferSecurityCheck) for subform in form.subforms: if not hasattr(subform, 'subforms'): continue for subsubform in subform.subforms: if not name.startswith(subsubform.prefix): continue for id_ in subsubform.widgets: if subsubform.prefix + subsubform.widgets.prefix + id_ == name: target = self._form_traverse(subsubform, id_) target.__parent__ = aq_inner(self.context) return target return super(SavedDataTraversal, self).traverse(name, ignored)
def update(self): super(PrettySubscriptionsForm, self).update() # Let's set convert any 'pending' subscriptions to non-pending: for sub in self.subs: if sub.metadata.get('pending'): sub.metadata['pending'] = False # Assemble the list of edit forms self.subscription_editforms = [ SubscriptionEditSubForm(s, self.request, self) for s in self.subs ] # Assemble the list of add forms self.subscription_addforms = [] for format, channel in self.channels: addform = SubscriptionAddSubForm(channel, self.request, self) addform.format = format self.subscription_addforms.append(addform) # The edit forms might have deleted a subscription. We'll # take care of this while updating them: for form in self.subscription_editforms: form.update() if form.removed: subscription = form.context addform = SubscriptionAddSubForm(subscription.channel, self.request, self) addform.format = subscription.metadata['format'] addform.ignoreRequest = True addform.update() self.subscription_addforms.append(addform) addform.status = form.status #elif form.status != form.noChangesMessage: # self.status = form.status # The edit forms might have deleted a subscription. We'll # take care of this while updating them: for form in self.subscription_editforms: form.update() if form.removed: subscription = form.context addform = SubscriptionAddSubForm(subscription.channel, self.request, self) addform.format = subscription.metadata['format'] addform.ignoreRequest = True addform.update() self.subscription_addforms.append(addform) addform.status = form.status #elif form.status != form.noChangesMessage: # self.status = form.status # Let's update the add forms now. One of them may have added # a subscription: for form in self.subscription_addforms: form.update() subscription = form.added if subscription is not None: editform = SubscriptionEditSubForm(subscription, self.request, self) editform.update() self.subscription_editforms.append(editform) #_(u"You subscribed successfully.") editform.status = form.status # check if all subscriptions are now cancelled if not sum([len(c.subscriptions.query(secret=self.secret)) \ for c in channel_lookup(only_subscribeable=True)]): self.unsubscribed_all = True self.status_message = _(u"You were unsubscribed completely.") # update after setting unsubscribed_all self.updateWidgets() del self.request.form['secret']
def contents(self): import pdb pdb.set_trace() switch_on(self, request_layer=collective.singing.interfaces.IFormLayer) subscriptions, channels = self._subscriptions_and_channels(self.secret) if self.newsletters.use_single_form_subscriptions_page: self.form = PrettySubscriptionsForm(self.context, self.request, subscriptions, channels) self.form.update() if len(self.form.key_fields) == 1: # Revert to old style form if not all # composers have the same ISubscriptionKey. return self.single_form_template() # Let's set convert any 'pending' subscriptions to non-pending: for sub in subscriptions: if sub.metadata.get('pending'): sub.metadata['pending'] = False # Assemble the list of edit forms self.subscription_editforms = [ SubscriptionEditForm(s, self.request) for s in subscriptions ] # Assemble the list of add forms self.subscription_addforms = [] for format, channel in channels: addform = SubscriptionAddForm(channel, self.request) addform.format = format self.subscription_addforms.append(addform) # The edit forms might have deleted a subscription. We'll # take care of this while updating them: for form in self.subscription_editforms: form.update() if form.removed: subscription = form.context addform = SubscriptionAddForm(subscription.channel, self.request) addform.format = subscription.metadata['format'] addform.update() self.subscription_addforms.append(addform) addform.status = form.status elif form.status != form.noChangesMessage: self.status = form.status # Let's update the add forms now. One of them may have added # a subscription: for form in self.subscription_addforms: form.update() subscription = form.added if subscription is not None: editform = SubscriptionEditForm(subscription, self.request) editform.update() self.subscription_editforms.append(editform) #_(u"You subscribed successfully.") editform.status = form.status return self.contents_template()
def test_extract_form_data(self): register_gsm() request = TestRequest() form = SampleForm(self.context, request) form.update() form.extractData()
def test_update_form(self): register_gsm() request = TestRequest() form = SampleForm(self.context, request) form.update()
def update(self): super(PrettySubscriptionsForm, self).update() # Let's set convert any 'pending' subscriptions to non-pending: for sub in self.subs: if sub.metadata.get('pending'): sub.metadata['pending'] = False # Assemble the list of edit forms self.subscription_editforms = [ SubscriptionEditSubForm(s, self.request, self) for s in self.subs] # Assemble the list of add forms self.subscription_addforms = [] for format, channel in self.channels: addform = SubscriptionAddSubForm(channel, self.request, self) addform.format = format self.subscription_addforms.append(addform) # The edit forms might have deleted a subscription. We'll # take care of this while updating them: list_remove_channel = [] for form in self.subscription_editforms: form.update() if form.removed: try: list_remove_channel.append(form.context.channel.title) except: pass subscription = form.context addform = SubscriptionAddSubForm( subscription.channel, self.request, self) addform.format = subscription.metadata['format'] addform.ignoreRequest = True addform.update() self.subscription_addforms.append(addform) addform.status = form.status #elif form.status != form.noChangesMessage: # self.status = form.status # The edit forms might have deleted a subscription. We'll # take care of this while updating them: for form in self.subscription_editforms: form.update() if form.removed: subscription = form.context addform = SubscriptionAddSubForm( subscription.channel, self.request, self) addform.format = subscription.metadata['format'] addform.ignoreRequest = True addform.update() self.subscription_addforms.append(addform) addform.status = form.status #elif form.status != form.noChangesMessage: # self.status = form.status # Let's update the add forms now. One of them may have added # a subscription: list_add_channel = [] for form in self.subscription_addforms: form.update() subscription = form.added if subscription is not None: try: list_add_channel.append(form.context.title) except: pass editform = SubscriptionEditSubForm( subscription, self.request, self) editform.update() self.subscription_editforms.append(editform) #_(u"You subscribed successfully.") editform.status = form.status if list_remove_channel or list_add_channel or self.unsubscribed_all: mhost = getToolByName(self.context, 'MailHost') email_user = self.request.form.get('form.widgets.email') selected = self.getSelected(self.forms) messageText = 'O usuario ' + email_user + ' alterou as seguintes configuracoes: \n' if list_remove_channel: remove_channel = '' for i in list_remove_channel: remove_channel += i if i != list_remove_channel[-1]: remove_channel += ', ' messageText += 'Removeu os canais: ' + remove_channel + '. \n' if list_add_channel: add_channel = '' for i in list_add_channel: add_channel += i if i != list_add_channel[-1]: add_channel += ', ' messageText += 'Adicionou os canais: ' + add_channel + '. \n' if selected: selected_channel = '' for i in selected: selected_channel += i if i != selected[-1]: selected_channel += ', ' messageText += 'Configuracao atual: ' + selected_channel + '. \n' #variaveis que definem os emails de envio para o admin #Verificar se existe a propriedade em portal_newsletters --> report_to mto = self.context.getProperty('report_to') mfrom = self.context.aq_parent.getProperty('email_from_address') subject = 'Alteração de configuração pessoais no clipping' mhost.send(messageText, mto, mfrom, subject) # check if all subscriptions are now cancelled if not sum([len(c.subscriptions.query(secret=self.secret)) \ for c in channel_lookup(only_subscribeable=True)]): self.unsubscribed_all = True self.status_message = _(u"You were unsubscribed completely.") # update after setting unsubscribed_all self.updateWidgets() try: del self.request.form['secret'] except: pass
def form_contents(self): z2.switch_on(self, request_layer=IFormLayer) form = UploadBookingForm(aq_inner(self.context), self.request) form.update() self.messages = form.messages return form.render()
def renderForm(self): form = DmsThesaurusForm(self.context, self.request) form.update() return form.render()