コード例 #1
0
 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)
コード例 #2
0
 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)
コード例 #3
0
    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
コード例 #4
0
    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