Exemple #1
0
    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)
Exemple #2
0
    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)
Exemple #3
0
    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()
Exemple #6
0
 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']
Exemple #8
0
    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):
        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)
Exemple #10
0
 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)
Exemple #12
0
    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()
Exemple #14
0
 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)
Exemple #16
0
 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)
Exemple #17
0
    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']
Exemple #18
0
    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()
Exemple #19
0
 def test_extract_form_data(self):
     register_gsm()
     request = TestRequest()
     form = SampleForm(self.context, request)
     form.update()
     form.extractData()
Exemple #20
0
 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()
Exemple #23
0
 def test_update_form(self):
     register_gsm()
     request = TestRequest()
     form = SampleForm(self.context, request)
     form.update()
Exemple #24
0
 def test_extract_form_data(self):
     register_gsm()
     request = TestRequest()
     form = SampleForm(self.context, request)
     form.update()
     form.extractData()
 def renderForm(self):
     form = DmsThesaurusForm(self.context, self.request)
     form.update()
     return form.render()