Add URLs to all modified fields in the notification message.
authorMagnus Hagander <magnus@hagander.net>
Fri, 18 Sep 2009 14:32:15 +0000 (16:32 +0200)
committerMagnus Hagander <magnus@hagander.net>
Fri, 18 Sep 2009 14:32:15 +0000 (16:32 +0200)
pgweb/util/bases.py

index 018a3e4ae4b6544d1b3d8fb6e93f4b54df53579e..cc1ca199c3d1def6edc5ddc931d3aed32f911694 100644 (file)
@@ -12,7 +12,6 @@ class PgModel(object):
        def PreSaveHandler(self):
                """If send_notification is set to True, send a default formatted notification mail"""
                
-               print "Handler called!"
                if not self.send_notification:
                        return
 
@@ -23,6 +22,8 @@ class PgModel(object):
                        # or that we don't care to send out notifications about it.
                        return
 
+               cont = self._build_url() + "\n\n" + cont
+
                print "Sending notification to %s" % settings.NOTIFICATION_EMAIL
                print "Generate subject: %s by %s\nGenerate contents: %s\n------------------------------" % (subj, get_current_user(), cont)
 
@@ -71,6 +72,21 @@ class PgModel(object):
 
                return "\n".join(['%s: %s' % (n, getattr(self, n)) for n in fieldlist])
 
+       def _build_url(self):
+               if self.id:
+                       return "%s/admin/%s/%s/%s/" % (
+                               settings.SITE_ROOT,
+                               self._meta.app_label,
+                               self._meta.module_name,
+                               self.id,
+                       )
+               else:
+                       return "%s/admin/%s/%s/" % (
+                               settings.SITE_ROOT,
+                               self._meta.app_label,
+                               self._meta.module_name,
+                       )
+
        def full_text_diff(self, oldobj):
                fieldlist = self._get_all_notification_fields()
                if not fieldlist: