Esempio n. 1
0
    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()
Esempio n. 2
0
 def setup_form(self):
     switch_on(self)
     if self.channel is not None:
         if self.data.subscribe_directly:
             self.form = PortletSubscriptionAddForm(self.channel, self.request)
             self.form.assignment = self.data
         else:
             self.form = PortletSubscribeLinkForm(self.channel, self.request)
         self.form.format = 'html'
         self.form.update()
Esempio n. 3
0
    def contents(self):
        switch_on(self, request_layer=collective.singing.interfaces.IFormLayer)

        fieldsets = []

        # Add the subscriptions tab:
        forms = []
        for format, composer in self.context.composers.items():
            form = ManageSubscriptionsForm(self.context, self.request)
            form.format = format
            form.composer = composer
            forms.append(form)

            form = ManageUploadForm(self.context, self.request)
            form.format = format
            form.composer = composer
            forms.append(form)
        fieldsets.append(
            (_(u"Subscriptions"), '\n'.join([form() for form in forms])))

        # Add edit, composers and preview tabs:
        fieldsets.append((_(u"Edit"), self.edit_form(self.context,
                                                     self.request)()))
        fieldsets.append(
            (_(u"Composers"), self.composers_form(self.context,
                                                  self.request)()))
        fieldsets.append(
            (_(u"Preview"), self.preview_form(self.context, self.request)()))

        wrapper = """<dl class="enableFormTabbing">%s</dl>"""
        template = """
        <dt id="fieldsetlegend-%d">%s</dt>
        <dd id="fieldset-%d">
          %s
        </dd>
        """

        return wrapper % \
               ("\n".join((template % (id(msg), zope.i18n.translate(msg, context=self.request), id(msg), html)
                           for (msg, html) in fieldsets)))
Esempio n. 4
0
    def contents(self):
        switch_on(self, request_layer=collective.singing.interfaces.IFormLayer)

        fieldsets = []

        # Add the subscriptions tab:
        forms = []
        for format, composer in self.context.composers.items():
            form = ManageSubscriptionsForm(self.context, self.request)
            form.format = format
            form.composer = composer
            forms.append(form)

            form = ManageUploadForm(self.context, self.request)
            form.format = format
            form.composer = composer
            forms.append(form)
        fieldsets.append((_(u"Subscriptions"), "\n".join([form() for form in forms])))

        # Add edit, composers and preview tabs:
        fieldsets.append((_(u"Edit"), self.edit_form(self.context, self.request)()))
        fieldsets.append((_(u"Composers"), self.composers_form(self.context, self.request)()))
        fieldsets.append((_(u"Preview"), self.preview_form(self.context, self.request)()))

        wrapper = """<dl class="enableFormTabbing">%s</dl>"""
        template = """
        <dt id="fieldsetlegend-%d">%s</dt>
        <dd id="fieldset-%d">
          %s
        </dd>
        """

        return wrapper % (
            "\n".join(
                (
                    template % (id(msg), zope.i18n.translate(msg, context=self.request), id(msg), html)
                    for (msg, html) in fieldsets
                )
            )
        )
Esempio n. 5
0
 def __call__(self):
     switch_on(self)
     return self.template()
Esempio n. 6
0
 def __call__(self):
     switch_on(self,
               request_layer=collective.singing.interfaces.IFormLayer)
     return self.template()
Esempio n. 7
0
 def contents(self):
     switch_on(self)
     return ManageChannelsForm(self.context.channels, self.request)()
Esempio n. 8
0
 def contents(self):
     switch_on(self)
     form = self.form(self.context, self.request)
     return '<div class="collector-form">' + form() + '</div>'
Esempio n. 9
0
 def __call__(self):
     switch_on(self)
     return self.template()
Esempio n. 10
0
 def contents(self):
     switch_on(self)
     return ManageCollectorsForm(self.context, self.request)()
Esempio n. 11
0
 def contents(self):
     switch_on(self)
     form = self.form(self.context, self.request)
     return '<div class="collector-form">' + form() + "</div>"
Esempio n. 12
0
 def contents(self):
     switch_on(self)
     return NewslettersSettingsForm(self.context, self.request)()
Esempio n. 13
0
 def contents(self):
     switch_on(self)
     return self.form(self.context.aq_inner, self.request)
Esempio n. 14
0
 def contents(self):
     switch_on(self)
     return self.form(self.context.aq_inner, self.request)
Esempio n. 15
0
 def contents(self):
     switch_on(self)
     return ManageCollectorsForm(self.context, self.request)()
Esempio n. 16
0
 def contents(self):
     switch_on(self)
     return ChannelSubscribePortletAddForm(self.context, self.request)()
Esempio n. 17
0
 def __call__(self):
     switch_on(self, request_layer=collective.singing.interfaces.IFormLayer)
     return self.template()
Esempio n. 18
0
 def contents(self):
     switch_on(self)
     return ManageChannelsForm(self.context.channels, self.request)()
Esempio n. 19
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()
Esempio n. 20
0
 def contents(self):
     switch_on(self)
     return AnalyticsForm(self.context, self.request)()