Esempio n. 1
0
 def add_system_note(self, owner, subject, body, silent):
     """
     System notes are a part of Lino's workflow management system. 
     A system note is a text message attached to a given 
     database object instance and propagated through a series of 
     configurable channels.
     The text part consists basically of a subject 
     and a body, both usually generated by the application and edited 
     by the user in an action's parameters dialog box. 
     Executing the action will then also trigger the sending of the system note.
     
     """
     #~ logger.info("20121016 add_system_note() '%s'",subject)
     notes = resolve_app('notes')
     if notes:
         notes.add_system_note(self, owner, subject, body)
     #~ if silent:
         #~ return
     recipients = []
     for addr in settings.SITE.get_system_note_recipients(self, owner, silent):
         if not '@example.com' in addr:
             recipients.append(addr)
     if not len(recipients):
         return
     sender = self.get_user().email or settings.SERVER_EMAIL
     if not sender or '@example.com' in sender:
         return
     msg = EmailMessage(subject=subject,
                        from_email=sender, body=body, to=recipients)
     msg.send()
     logger.info("System note '%s' from %s has been sent to %s",
                 subject, sender, recipients)
Esempio n. 2
0
    def unused_get_patterns(self):
        """
        This is the method called from :mod:`lino.ui.extjs3.urls` 
        (see there for more explanations).
        """
        # ~ return patterns('',(self.prefix, include(self.get_urls())))
        # ~ urlpatterns = []
        # ~ urlpatterns = patterns('',
        # ~ (r'^favicon\.ico$', 'django.views.generic.simple.redirect_to',
        # ~ {'url': settings.MEDIA_URL + 'lino/favicon.ico'})
        # ~ )
        urlpatterns = self.get_media_urls()

        if settings.SITE.plain_prefix:
            urlpatterns += patterns("", ("^" + settings.SITE.plain_prefix[1:] + "/", include(self.get_plain_urls())))
        if settings.SITE.django_admin_prefix:
            from django.contrib import admin

            admin.autodiscover()
            urlpatterns += patterns("", ("^" + settings.SITE.django_admin_prefix[1:] + "/", include(admin.site.urls)))

        if settings.SITE.admin_prefix:

            urlpatterns += patterns("", ("^" + settings.SITE.admin_prefix[1:] + "/", include(self.get_urls())))

            pages = resolve_app("pages")

            class PagesIndex(View):
                def get(self, request, ref="index"):
                    if not ref:
                        ref = "index"

                    # ~ print 20121220, ref
                    obj = pages.lookup(ref, None)
                    if obj is None:
                        raise http.Http404("Unknown page %r" % ref)
                    html = pages.render_node(request, obj)
                    return http.HttpResponse(html)

            urlpatterns += patterns("", (r"^(?P<ref>\w*)$", PagesIndex.as_view()))
        else:
            urlpatterns += self.get_urls()
        return urlpatterns
Esempio n. 3
0
 def add_system_note(self, owner, subject, body, silent):
     #~ logger.info("20121016 add_system_note() '%s'",subject)
     notes = resolve_app('notes')
     if notes:
         notes.add_system_note(self, owner, subject, body)
     #~ if silent:
         #~ return
     recipients = []
     for addr in settings.SITE.get_system_note_recipients(
             self, owner, silent):
         if not '@example.com' in addr:
             recipients.append(addr)
     if not len(recipients):
         return
     sender = self.get_user().email or settings.SERVER_EMAIL
     if not sender or '@example.com' in sender:
         return
     msg = EmailMessage(subject=subject,
                        from_email=sender, body=body, to=recipients)
     msg.send()
     logger.info("System note '%s' from %s has been sent to %s",
                 subject, sender, recipients)
Esempio n. 4
0
 def attach_to_actor(self, actor, name):
     if not dbutils.resolve_app('system'):
         return False
     # if actor.__name__ == 'ExcerptsByProject':
     #     logger.info("20140401 attach_to_actor() %r", self)
     return super(BasePrintAction, self).attach_to_actor(actor, name)
Esempio n. 5
0
 def attach_to_actor(self, actor, name):
     if not dbutils.resolve_app('system'):
         return False
     # if actor.__name__ == 'ExcerptsByProject':
     #     logger.info("20140401 attach_to_actor() %r", self)
     return super(BasePrintAction, self).attach_to_actor(actor, name)
Esempio n. 6
0
 def attach_to_actor(self, actor, name):
     if not dbutils.resolve_app('system'):
         return False
     return super(BasePrintAction, self).attach_to_actor(actor, name)