Contact forms.
[edumed.git] / contact / models.py
diff --git a/contact/models.py b/contact/models.py
new file mode 100644 (file)
index 0000000..21d8405
--- /dev/null
@@ -0,0 +1,35 @@
+# -*- coding: utf-8 -*-
+from django.core.files.storage import FileSystemStorage
+from django.db import models
+from django.utils.translation import ugettext_lazy as _
+from jsonfield import JSONField
+from . import app_settings
+
+
+class Contact(models.Model):
+    created_at = models.DateTimeField(_('submission date'), auto_now_add=True)
+    ip = models.IPAddressField(_('IP address'))
+    contact = models.CharField(_('contact'), max_length=128)
+    form_tag = models.CharField(_('form'), max_length=32, db_index=True)
+    body = JSONField(_('body'))
+
+    class Meta:
+        ordering = ('-created_at',)
+        verbose_name = _('submitted form')
+        verbose_name_plural = _('submitted forms')
+
+    def __unicode__(self):
+        return unicode(self.created_at)
+
+
+class Attachment(models.Model):
+    contact = models.ForeignKey(Contact)
+    tag = models.CharField(max_length=64)
+    file = models.FileField(upload_to='contact/attachment')
+
+    @models.permalink
+    def get_absolute_url(self):
+        return ('contact_attachment', [self.contact_id, self.tag])
+
+
+__import__(app_settings.FORMS_MODULE)