def get_user_info(self, user): member = api.user.get(username=user) fullname = member.getProperty('fullname') if fullname: return fullname else: return _(u"Administrator")
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())
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')
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
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")
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
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')
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')
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)
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
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())])
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')
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)
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')
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')
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)
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
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())
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())
def get_type_info(self, itemtype): info = _(u"Pressrelease") if itemtype == 'pressapp.presscontent.pressinvitation': info = _(u"Pressinvitation") return info
def get_state_info(self, state): info = _(u"draft") if state == 'published': info = _(u"sent") return info