fix field order in mail managers
authorJan Szejko <janek37@gmail.com>
Tue, 20 Nov 2018 14:39:37 +0000 (15:39 +0100)
committerJan Szejko <janek37@gmail.com>
Tue, 20 Nov 2018 15:16:27 +0000 (16:16 +0100)
src/contact/models.py
src/contact/templates/contact/mail_managers_body.txt

index adffafa..0ab8201 100644 (file)
@@ -36,6 +36,17 @@ class Contact(models.Model):
         data = '%s%s%s%s%s' % (self.id, self.contact, serialized_body, self.ip, self.form_tag)
         return sha1(data).hexdigest()
 
+    def keys(self):
+        try:
+            from .views import contact_forms
+            orig_fields = contact_forms[self.form_tag]().fields
+        except KeyError:
+            orig_fields = {}
+        return list(orig_fields.keys())
+
+    def items(self):
+        return [(key, self.body[key]) for key in self.keys() if key in self.body]
+
 
 class Attachment(models.Model):
     contact = models.ForeignKey(Contact)
index b65ebd8..3a4297c 100644 (file)
@@ -2,7 +2,7 @@
 
 https://{{site_domain}}{% url 'admin:contact_contact_change' contact.pk %}
 
-{% for k, v in contact.body.items %}
+{% for k, v in contact.items %}
 {{ k }}:
 {{ v|pretty_print }}
 {% endfor %}