Example #1
0
 def get_user_info(self, user):
     member = api.user.get(username=user)
     fullname = member.getProperty('fullname')
     if fullname:
         return fullname
     else:
         return _(u"Administrator")
Example #2
0
 def handleCancel(self, action):
     context = aq_inner(self.context)
     parent = aq_parent(context)
     IStatusMessage(self.request).addStatusMessage(
         _(u"Updating image attachment has been cancelled."),
         type='info')
     return self.request.response.redirect(parent.absolute_url())
Example #3
0
 def handleCancel(self, action):
     context = aq_inner(self.context)
     IStatusMessage(self.request).addStatusMessage(
         _(u"Update of CSS has been cancelled"),
         type='info')
     return self.request.response.redirect(
             context.absolute_url() + '/@@global-settings')
Example #4
0
 def resolvePressItem(self, uid=None):
     # uid = self.request.get('uid', '')
     if uid:
         obj = uuidToObject(uid)
         if not obj:
             IStatusMessage(self.request).addStatusMessage(_(u"The requested item was not found"), type="error")
         else:
             return obj
Example #5
0
 def user_details(self):
     context = aq_inner(self.context)
     creator = context.Creator()
     user = api.user.get(username=creator)
     fullname = user.getProperty('fullname')
     if fullname:
         return fullname
     else:
         return _(u"Administrator")
Example #6
0
 def resolveItemByID(self):
     uid = self.request.get('uid', '')
     if uid:
         obj = uuidToObject(uid)
         if not obj:
             IStatusMessage(self.request).addStatusMessage(
                 _(u"The requested item was not found"), type='error')
         else:
             return obj
Example #7
0
 def applyChanges(self, data):
     context = aq_inner(self.context)
     new_css = data['stylesheet']
     if new_css:
         setattr(context, 'stylesheet', new_css)
     modified(context)
     context.reindexObject(idxs='modified')
     IStatusMessage(self.request).addStatusMessage(
         _(u"Global CSS settings successfully updated"),
         type='info')
     return self.request.response.redirect(
                 context.absolute_url() + '/@@global-settings')
Example #8
0
 def applyChanges(self, data):
     context = aq_inner(self.context)
     assert IPressRelease.providedBy(context)
     item = createContentInContainer(context,
         'pressapp.presscontent.fileattachment',
         checkConstraints=True, **data)
     modified(item)
     item.reindexObject(idxs='modified')
     IStatusMessage(self.request).addStatusMessage(
         _(u"A new attachment was successfully added"),
         type='info')
     return self.request.response.redirect(context.absolute_url() + '/view')
Example #9
0
 def update(self):
     self.presscenter = self.presscenter_obj()
     self.errors = {}
     if 'form.button.Subscribe' in self.request:
         context = aq_inner(self.context)
         authenticator = getMultiAdapter(
             (context, self.request), name=u"authenticator")
         if not authenticator.verify():
             raise Unauthorized
         context_url = context.absolute_url()
         pcenter = self.presscenter
         email = self.request.get('email', None)
         feedback = (
             '/@@press-subscription-success?type=subscribe&email=%s'
             % email)
         if email is None or email is '':
             self.errors['email'] = _(u"Email address is required")
         else:
             addresses = pcenter.subscribers
             if email in addresses:
                 self.errors['email'] = _(u"The entered email address is "
                                          u"already subscribed")
             else:
                 addresses.append(email)
                 setattr(pcenter, 'subscribers', addresses)
                 pcenter.reindexObject(idxs='modified')
                 IStatusMessage(self.request).addStatusMessage(
                     _(u"Your subscription settings have been updated"),
                     type='info')
                 return self.request.response.redirect(
                     context_url + feedback)
     if 'form.button.Unsubscribe' in self.request:
         context = aq_inner(self.context)
         context_url = context.absolute_url()
         pcenter = self.presscenter
         email = self.request.get('email', None)
         feedback = (
             '/@@press-subscription-success?type=unsubscribe&email=%s'
             % email)
         if email is None or email is '':
             self.errors['email'] = _(u"Email address is required")
         else:
             addresses = pcenter.subscribers
             if email not in addresses:
                 self.errors['email'] = _(u"The entered email address is "
                                          u"not subscribed")
             else:
                 addresses.remove(email)
                 setattr(pcenter, 'subscribers', addresses)
                 pcenter.reindexObject(idxs='modified')
                 IStatusMessage(self.request).addStatusMessage(
                     _(u"Your subscription settings have been updated"),
                     type='info')
                 return self.request.response.redirect(
                     context_url + feedback)
Example #10
0
 def additional_data(self):
     context = aq_inner(self.context)
     mtool = getToolByName(context, 'portal_membership')
     member = mtool.getMemberById(context.Creator())
     data = {}
     data['location'] = context.location
     data['date'] = context.Date()
     data['org'] = member.getProperty('organization', '')
     data['link'] = member.getProperty('home_page', '')
     data['start'] = context.start
     data['end'] = context.end
     if context.closed is True:
         data['closed'] = _(u"Admittance for invited guests only")
     else:
         data['closed'] = ''
     return data
Example #11
0
 def __call__(self, context):
     DISTRIBUTORS = {
         _(u"kjf-augsburg.de"):
             '5445caf06d034e95f474924fac5ec7607dd9dc82',
         _(u"josefinum.de"):
             '1982c4b16d9f292750c3d7924c296a918413f39a',
         _(u"kinderzentrum-augsburg.de"):
             'c643191e6ab591b3a896e35954cae269a1f3baeb',
         _(u"sanktelisabeth.de"):
             '5d01382073f2461fb31f1321821da02b54591546',
         _(u"sankt-georg-kempten.de"):
             'e1ee49115859acafec2ba2e28f9a2c7b9b093561',
         _(u"ejv-aichach-friedberg.de"):
             '60d99866dd53c6fb1754fb723619812a0f0ab2d0',
         _(u"ejv-augsburg.de"):
             '87b0342f80abe497f72943676b0fa4e2319f01b9',
         _(u"ejv-memmingen-unterallgaeu.de"):
             '5975ca7ee68ea80307c71fd05cb892c57691a120',
         _(u"ejv-ostallgaeu.de"):
             '421e5c8dbc1611a321c1757da6bcca3dd5d1bb20'}
     return SimpleVocabulary([SimpleTerm(value, title=title)
         for title, value in sorted(DISTRIBUTORS.iteritems())])
Example #12
0
 def applyChanges(self, data):
     context = aq_inner(self.context)
     assert IPressRelease.providedBy(context)
     base_string = u'assets-'
     random_key = self.generate_random_key()
     new_title = base_string + random_key
     data['title'] = new_title
     item = createContentInContainer(context,
         'pressapp.presscontent.imageattachment',
         checkConstraints=True, **data)
     item.setDescription(data['description'])
     modified(item)
     item.reindexObject(idxs='modified')
     IStatusMessage(self.request).addStatusMessage(
         _(u"A new image attachment was successfully been added"),
         type='info')
     return self.request.response.redirect(context.absolute_url() + '/view')
Example #13
0
 def update(self):
     self.has_subscribers = len(self.subscriber_listing()) > 0
     form = self.request.form
     self.errors = {}
     if 'form.button.Submit' in self.request:
         context = aq_inner(self.context)
         filter_values = ('recipient-table_length', 'form.button.Submit')
         data = []
         for value in form:
             if value not in filter_values:
                 data.append(form[value])
         setattr(context, 'recipients', data)
         context.reindexObject(idxs='modified')
         context_url = context.absolute_url()
         next_url = context_url + '/@@prepare-release'
         IStatusMessage(self.request).addStatusMessage(
             _(u"Recipient list updated"), type='info')
         return self.request.response.redirect(next_url)
Example #14
0
 def applyChanges(self, data):
     context = aq_inner(self.context)
     assert IPressRelease.providedBy(context)
     fti = getUtility(IDexterityFTI,
                      name='pressapp.presscontent.pressrelease')
     schema = fti.lookupSchema()
     fields = getFieldsInOrder(schema)
     for key, value in fields:
         try:
             new_value = data[key]
             setattr(context, key, new_value)
         except KeyError:
             continue
     modified(context)
     context.reindexObject(idxs='modified')
     IStatusMessage(self.request).addStatusMessage(
         _(u"Archive settings successfully updated"),
         type='info')
     return self.request.response.redirect(context.absolute_url() + '/view')
Example #15
0
 def applyChanges(self, data):
     context = aq_inner(self.context)
     parent = aq_parent(context)
     assert IImageAttachment.providedBy(context)
     fti = getUtility(IDexterityFTI,
                      name='pressapp.presscontent.imageattachment')
     schema = fti.lookupSchema()
     fields = getFieldsInOrder(schema)
     for key, value in fields:
         try:
             new_value = data[key]
             setattr(context, key, new_value)
         except KeyError:
             continue
     context.setDescription(data['description'])
     modified(context)
     context.reindexObject(idxs='modified')
     IStatusMessage(self.request).addStatusMessage(
         _(u"Image attachment has successfully been updated"),
         type='info')
     return self.request.response.redirect(parent.absolute_url() + '/view')
Example #16
0
 def applyChanges(self, data):
     context = aq_inner(self.context)
     if IPressRelease.providedBy(context):
         fti_name = "pressapp.presscontent.pressrelease"
     if IPressInvitation.providedBy(context):
         fti_name = "pressapp.presscontent.pressinvitation"
     fti = getUtility(IDexterityFTI, name=fti_name)
     schema = fti.lookupSchema()
     fields = getFieldsInOrder(schema)
     for key, value in fields:
         try:
             new_value = data[key]
             setattr(context, key, new_value)
         except KeyError:
             continue
     setattr(context, "channel", list(data["channel"]))
     if self.has_recipients_info():
         setattr(context, "recipients", list())
     modified(context)
     context.reindexObject(idxs="modified")
     IStatusMessage(self.request).addStatusMessage(_(u"A channel was successfully selected"), type="info")
     next_url = context.absolute_url() + "/@@recipient-list"
     return self.request.response.redirect(next_url)
Example #17
0
 def _dynamic_content(self, target_obj):
     context = target_obj
     memberinfo = self.memberdata()
     data = {}
     data["title"] = context.Title()
     data["summary"] = context.Description()
     data["location"] = context.location
     data["text"] = context.text.output
     data["url"] = self._construct_webview_link(context)
     data["pdf"] = self.pdf_download_link(context)
     data["date"] = self.format_time(context.Date())
     if IPressRelease.providedBy(context):
         if context.kicker:
             data["kicker"] = getattr(context, "kicker", "")
         else:
             data["kicker"] = ""
         if context.subtitle:
             data["subtitle"] = context.subtitle
         else:
             data["subtitle"] = ""
         if context.image:
             url = context.absolute_url()
             filename = context.image.filename
             data["file_url"] = url + "/@@download/attachment/" + filename
             data["file_name"] = filename
             data["image_tag"] = self.getImageTag(context)
             data["file_caption"] = context.imagename
         data["attachments"] = self.getAttachments()
     if IPressInvitation.providedBy(context):
         if context.schedule:
             data["schedule"] = context.schedule.output
         else:
             data["schedule"] = ""
         if context.travel:
             data["travel"] = context.travel
         else:
             data["travel"] = ""
         if context.directions:
             data["directions"] = context.directions
         else:
             data["directions"] = ""
         data["start"] = context.start.strftime("%d.%m.%Y %H:%M")
         data["end"] = context.end.strftime("%d.%m.%Y %H:%M")
         closed = context.closed
         if closed is True:
             closed_msg = translate(
                 _(
                     u"Diese Veranstaltung kann nur auf Einladung besucht "
                     u"werden. Von einer Publikation bitten wir daher "
                     u"abzusehen."
                 ),
                 domain="pressapp.presscontent",
                 target_language="de",
             )
             data["closed"] = closed_msg
         else:
             data["closed"] = ""
     if memberinfo:
         data["org"] = memberinfo["org"]
         data["link"] = memberinfo["link"]
     return data
Example #18
0
 def handleCancel(self, action):
     context = aq_inner(self.context)
     IStatusMessage(self.request).addStatusMessage(
         _(u"Editing has been cancelled."),
         type='info')
     return self.request.response.redirect(context.absolute_url())
Example #19
0
 def handleCancel(self, action):
     context = aq_inner(self.context)
     IStatusMessage(self.request).addStatusMessage(
         _(u"Selection of dispatch channel has been cancelled."), type="info"
     )
     return self.request.response.redirect(context.absolute_url())
Example #20
0
 def get_type_info(self, itemtype):
     info = _(u"Pressrelease")
     if itemtype == 'pressapp.presscontent.pressinvitation':
         info = _(u"Pressinvitation")
     return info
Example #21
0
 def get_state_info(self, state):
     info = _(u"draft")
     if state == 'published':
         info = _(u"sent")
     return info