diff options
author | Magnus Hagander | 2012-08-17 19:01:08 +0000 |
---|---|---|
committer | Magnus Hagander | 2012-08-17 19:01:08 +0000 |
commit | 585cbe68f62b64920a9a33fb4abd63d5d90f200c (patch) | |
tree | 27937b64b3b47d8b4370168c7c92f72975a2f8aa | |
parent | 8f078f66c916943f94b508cc313f887ef9afbeeb (diff) |
Add logging
-rw-r--r-- | pgmailmgr/mailmgr/admin.py | 1 | ||||
-rw-r--r-- | pgmailmgr/mailmgr/models.py | 11 | ||||
-rw-r--r-- | pgmailmgr/mailmgr/views.py | 11 |
3 files changed, 23 insertions, 0 deletions
diff --git a/pgmailmgr/mailmgr/admin.py b/pgmailmgr/mailmgr/admin.py index 467f932..30dd056 100644 --- a/pgmailmgr/mailmgr/admin.py +++ b/pgmailmgr/mailmgr/admin.py @@ -6,3 +6,4 @@ admin.site.register(LocalDomain) admin.site.register(Forwarder) admin.site.register(VirtualUser) admin.site.register(UserPermissions) +admin.site.register(Log) diff --git a/pgmailmgr/mailmgr/models.py b/pgmailmgr/mailmgr/models.py index 14257bd..f195487 100644 --- a/pgmailmgr/mailmgr/models.py +++ b/pgmailmgr/mailmgr/models.py @@ -54,3 +54,14 @@ class UserPermissions(models.Model): def __unicode__(self): return "%s -> %s pattern '%s'" % (self.user, self.domain, self.pattern) + +class Log(models.Model): + user = models.ForeignKey(User, null=False) + when = models.DateTimeField(null=False, auto_now=True) + what = models.CharField(max_length=2048, null=False, blank=False) + + def __unicode__(self): + return "%s (%s): %s" % (self.when, self.user, self.what) + + class Meta: + ordering=('-when',) diff --git a/pgmailmgr/mailmgr/views.py b/pgmailmgr/mailmgr/views.py index 468472b..1c98a30 100644 --- a/pgmailmgr/mailmgr/views.py +++ b/pgmailmgr/mailmgr/views.py @@ -8,6 +8,13 @@ from django.contrib import messages from models import * from forms import * +def log(user, what): + l = Log() + l.user = user + l.what = what + print l + l.save() + @login_required def home(request): users = VirtualUser.objects.extra(where=["EXISTS (SELECT 1 FROM mailmgr_userpermissions p WHERE p.user_id=%s AND p.domain_id = local_domain_id AND local_part ~* ('^'||p.pattern||'$'))" % request.user.id]) @@ -39,6 +46,9 @@ def userform(request, userparam): messages.add_message(request, messages.INFO, 'User %s updated' % vu) if password_changed: messages.add_message(request, messages.INFO, 'Password changed for user %s' % vu) + log(request.user, "%s user %s, including changing the password" % (userparam=='add' and 'Added' or 'Updated', vu)) + else: + log(request.user, "%s user %s, without changing the password" % (userparam=='add' and 'Added' or 'Updated', vu)) return HttpResponseRedirect('/') else: # Generate a new form @@ -63,6 +73,7 @@ def forwarderform(request, userparam): form = ForwarderForm(data=request.POST, instance=fwd, user=request.user) if form.is_valid(): form.save() + log(request.user, "%s forwarding %s -> %s" % (userparam=='add' and 'Added' or 'Updated', fwd, fwd.remote_name)) messages.add_message(request, messages.INFO, 'Forwarder %s updated' % fwd) return HttpResponseRedirect('/') else: |