Ejemplo n.º 1
0
    def __call__(self, object_):

        subject = translate(
            _(u"ftwpoodle_mail_subject",
              default=u"The User ${username} has filled out your poodle",
              mapping={'username':
                           get_full_name(self.context).decode('utf-8')}),
            context=self.request)

        return subject
Ejemplo n.º 2
0
    def _create_journal_entry(self, member):
        """Creates a journal entry - if the journal is available"""
        journal_view = queryMultiAdapter(
            (self.context, self.context.REQUEST), name="journal_action")
        if journal_view:
            comment = _(
                "label_user_has_participated",
                default='The user {fullname} participated in the poll {title}',
                mapping={
                    'fullname': member.getProperty('fullname') or member.id,
                    'title': self.poodle.Title()})

            journal_view.addJournalEntry(self.poodle, comment)
Ejemplo n.º 3
0
    def __call__(self):
        if not self.check_mail_settings():
            msg = """Wrong email-settings, please check control panel.
            At time it's not possible to send email notification about
            attendees, who vote. """
            IStatusMessage(self.request).addStatusMessage(
                msg,
                type='warning')

        if not self.is_active():
            msg = _(u"survey_deactivated", default=u"Survey is deactivated")
            IStatusMessage(self.request).addStatusMessage(
                msg,
                type='info')

        return self.template()
Ejemplo n.º 4
0
    def __call__(self):

        self.poodle = self._get_poodle()

        mtool = getToolByName(self.context, "portal_membership")
        member = mtool.getAuthenticatedMember()

        form = self.context.REQUEST.form

        # no dates available
        if not form.values() or form.values() == ['']:
            return False

        self._save_votes(member.id, form.values())
        self._send_notification()
        self._create_journal_entry(member)
        return _(u"Sie haben an der Umfrage teilgenommen.")
Ejemplo n.º 5
0
from Products.Archetypes import atapi
from Products.DataGridField import DataGridField, DataGridWidget
from Products.DataGridField.Column import Column
from ftw.poodle import poodleMessageFactory as _
from ftw.poodle.config import PROJECTNAME
from ftw.poodle.interfaces import IPoodle, IPoodleVotes
from zope.interface import implements


PoodleSchema = schemata.ATContentTypeSchema.copy() + atapi.Schema(
    (
        atapi.LinesField(
            name="users",
            vocabulary_factory="ftw.poodle.users",
            enforceVocabulary=True,
            widget=atapi.InAndOutWidget(label=_(u"ftwpoodle_label_users", default=u"Users"), actb_expand_onfocus=1),
            required=1,
            multiValued=1,
        ),
        DataGridField(
            name="dates",
            allow_empty_rows=False,
            widget=DataGridWidget(
                columns={
                    "date": Column(
                        _(u"ftwpoodle_desc_date", default="Date"),
                        col_description=_("ftwpoodle_help_date", default="Provide a date in a format like MM-DD-AAAA"),
                        required=True,
                    ),
                    "duration": Column(_(u"ftwpoodle_desc_duration", default="Time / Duration"), required=True),
                },
Ejemplo n.º 6
0
from Products.DataGridField import DataGridField, DataGridWidget
from Products.DataGridField.Column import Column
from ftw.poodle import poodleMessageFactory as _
from ftw.poodle.config import PROJECTNAME
from ftw.poodle.interfaces import IPoodle, IPoodleVotes
from zope.interface import implements


PoodleSchema = schemata.ATContentTypeSchema.copy() + atapi.Schema((

        atapi.LinesField(
            name='users',
            vocabulary_factory="ftw.poodle.users",
            enforceVocabulary=True,
            widget=atapi.InAndOutWidget(
                label=_(u'ftwpoodle_label_users', default=u'Users'),
                actb_expand_onfocus=1),
            required=1,
            multivalued=1),

        DataGridField(
            name='dates',
            allow_empty_rows=False,
            widget=DataGridWidget(
                auto_insert=True,
                columns={
                    "date": Column(_(u"ftwpoodle_desc_date",
                                     default="Date (TT. MM. JJJJ)")),
                    "duration": Column(_(u"ftwpoodle_desc_duration",
                                         default="Time / Duration"))},
                label=_(u'ftwpoodle_label_dates', default=u'Dates')),
Ejemplo n.º 7
0
from Products.DataGridField import DataGridField, DataGridWidget
from Products.DataGridField.Column import Column
from ftw.poodle import poodleMessageFactory as _
from ftw.poodle.config import PROJECTNAME
from ftw.poodle.interfaces import IPoodle, IPoodleVotes
from zope.interface import implements


PoodleSchema = schemata.ATContentTypeSchema.copy() + atapi.Schema((

        atapi.LinesField(
            name='users',
            vocabulary_factory="ftw.poodle.users",
            enforceVocabulary=True,
            widget=atapi.InAndOutWidget(
                label=_(u'ftwpoodle_label_users', default=u'Users'),
                actb_expand_onfocus=1),
            required=1,
            multiValued=1),

        DataGridField(
            name='dates',
            allow_empty_rows=False,
            widget=DataGridWidget(
                columns={
                    "date": Column(_(u"ftwpoodle_desc_date",
                                     default="Date"),
                                   col_description=_("ftwpoodle_help_date",
                                                     default="Provide a date in a format like MM-DD-AAAA"),
                                   required=True),
                    "duration": Column(_(u"ftwpoodle_desc_duration",