X-Git-Url: https://git.mdrn.pl/edumed.git/blobdiff_plain/6c9978c5bf8b1ef20871557c22b8b02df647d700..6ad215c7fe18f795e9f5e1670e17a61b7ebf78ca:/contact/models.py diff --git a/contact/models.py b/contact/models.py index 1c92610..dbc48b9 100644 --- a/contact/models.py +++ b/contact/models.py @@ -1,7 +1,8 @@ # -*- coding: utf-8 -*- import yaml +from hashlib import sha1 from django.db import models -from django.utils.encoding import smart_unicode +from django.utils.encoding import smart_unicode, force_str from django.utils.translation import ugettext_lazy as _ from jsonfield import JSONField from . import app_settings @@ -30,6 +31,12 @@ class Contact(models.Model): def __unicode__(self): return unicode(self.created_at) + def digest(self): + serialized_body = ';'.join(sorted('%s:%s' % item for item in self.body.iteritems())) + data = '%s%s%s%s%s' % (self.id, self.contact, serialized_body, self.ip, self.form_tag) + data = force_str(data) + return sha1(data).hexdigest() + class Attachment(models.Model): contact = models.ForeignKey(Contact)