def render(self): if self.local: return self.local # lookup for custom default views view = queryMultiAdapter((self.context, self.request), name=self.default_view_name) if view: return view() return self.index(self)
def render_item(self, item): microdata = self.get_microdata(item) try: view = getMultiAdapter ((self.context, self.request), name='%s %s_item' % (microdata.microdata_vocabulary, self.TEMPLATE_ID)) except ComponentLookupError: view = getMultiAdapter ((self.context, self.request), name='%s_item' % self.TEMPLATE_ID) return view(item, microdata)
def send_email(self): view = self.context.restrictedTraverse('@@idonethis-content') bookings = view.get_bookings() status = 'ok' if not len(bookings) > 0: status = 'nobookings' logger.info('no bookings found...') else: view.show_form = False html = view() mailhost = plone.api.portal.get_tool('MailHost') pprops = plone.api.portal.get_tool('portal_properties') mto = self.request.get('send_to', self.default_send_to) mfrom = 'SM <{}>'.format(pprops.email_from_address) msubject = _(u"Abstract Team Done This") \ + ' ' + self.current_date_display html = mail_utils.prepare_email_content( html, mfrom, mto, msubject) mailhost.send(html, mto, mfrom, msubject) logger.info('mail sent') if self.redirect and self.request.get('status_message'): if status == 'ok': msg = _('Email sent.') else: msg = _('No bookings, no email send.') messages = IStatusMessage(self.request) messages.add(msg, type="info") url = self.context.absolute_url() + '/@@idonethis' if self.request.get('QUERY_STRING'): qstring = self.request['QUERY_STRING'].split('&send_email')[0] url += '?' + qstring self.request.response.redirect(url) return else: return status
def send_email(self): view = self.context.restrictedTraverse('@@idonethis-content') bookings = view.get_bookings() status = 'ok' if not len(bookings) > 0: status = 'nobookings' logger.info('no bookings found...') else: view.show_form = False html = view() mailhost = plone.api.portal.get_tool('MailHost') pprops = plone.api.portal.get_tool('portal_properties') mto = self.request.get('send_to', self.default_send_to) mfrom = 'SM <{}>'.format(pprops.email_from_address) msubject = _(u"Abstract Team Done This") \ + ' ' + self.current_date_display html = mail_utils.prepare_email_content(html, mfrom, mto, msubject) mailhost.send(html, mto, mfrom, msubject) logger.info('mail sent') if self.redirect and self.request.get('status_message'): if status == 'ok': msg = _('Email sent.') else: msg = _('No bookings, no email send.') messages = IStatusMessage(self.request) messages.add(msg, type="info") url = self.context.absolute_url() + '/@@idonethis' if self.request.get('QUERY_STRING'): qstring = self.request['QUERY_STRING'].split('&send_email')[0] url += '?' + qstring self.request.response.redirect(url) return else: return status