コード例 #1
0
ファイル: dispatcher.py プロジェクト: a25kk/kjf-pmapp
 def _getRecievers(self, type):
     context = aq_inner(self.context)
     portal = getSite()
     presscenter = portal['presscenter']
     if type == 'test':
         recievers = presscenter.testRecipients
     else:
         recievers = getattr(context, 'recipients', '')
     recipients = []
     if IPressRelease.providedBy(context) and type == 'send_now':
         subscribers = getattr(presscenter, 'subscribers', '')
         if subscribers:
             for item in subscribers:
                 recipient = {}
                 recipient['mail'] = item
                 recipient['name'] = item
                 recipients.append(recipient)
     if recievers:
         for address in recievers:
             recipient = {}
             try:
                 recipient_email, recipient_name = address.split(',')
             except:
                 recipient_email = address
                 recipient_name = address
             recipient['mail'] = recipient_email
             recipient['name'] = safe_unicode(recipient_name)
             recipients.append(recipient)
     return recipients
コード例 #2
0
ファイル: dispatcher.py プロジェクト: a25kk/kjf-pmapp
 def _dynamic_content(self):
     context = aq_inner(self.context)
     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()
     data['pdf'] = self.pdf_download_link(context)
     data['date'] = self.localize(datetime.now(), longformat=False)
     if IPressRelease.providedBy(context):
         if context.kicker:
             data['kicker'] = 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
コード例 #3
0
ファイル: download.py プロジェクト: a25kk/kjf-pmapp
 def generate_pdf(self):
     item = self.target_item
     if IPressRelease.providedBy(item):
         attachment = item.unrestrictedTraverse(
             '@@asPlainPDFCustom')(converter='pdf-pisa',
                                   resource='pressapp_resource',
                                   template='pdf_template_standalone')
     if IPressInvitation.providedBy(item):
         attachment = item.unrestrictedTraverse(
             '@@asPlainPDFCustom')(converter='pdf-pisa',
                                   resource='pressapp_resource',
                                   template='pdf_template_standalone_pi')
     return attachment
コード例 #4
0
ファイル: archivesettings.py プロジェクト: a25kk/kjf-pmapp
 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')
コード例 #5
0
ファイル: channelselection.py プロジェクト: a25kk/kjf-pmapp
 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)
コード例 #6
0
ファイル: archive.py プロジェクト: a25kk/kjf-pmapp
 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