From 8fb2e58661598b40c61b247b8934e70c8061bcff Mon Sep 17 00:00:00 2001 From: Pierre Jaury Date: Sun, 20 Mar 2016 11:38:37 +0100 Subject: [PATCH] Support adding comments to records --- admin/freeposte/forms.py | 6 ++++++ admin/freeposte/models.py | 1 + admin/freeposte/templates/alias/list.html | 2 ++ admin/freeposte/templates/domain/list.html | 2 ++ admin/freeposte/templates/user/list.html | 2 ++ admin/freeposte/views/aliases.py | 8 ++++---- admin/freeposte/views/domains.py | 2 ++ admin/freeposte/views/users.py | 2 ++ 8 files changed, 21 insertions(+), 4 deletions(-) diff --git a/admin/freeposte/forms.py b/admin/freeposte/forms.py index 5103819d..ce4b34f7 100644 --- a/admin/freeposte/forms.py +++ b/admin/freeposte/forms.py @@ -11,23 +11,27 @@ class LoginForm(Form): class DomainCreateForm(Form): name = fields.StringField('Domain name', [validators.DataRequired()]) + comment = fields.StringField('Comment') submit = fields.SubmitField('Create') class DomainEditForm(Form): max_users = fields.IntegerField('Maximum mailbox count') max_aliases = fields.IntegerField('Maximum aliases count') + comment = fields.StringField('Comment') submit = fields.SubmitField('Save') class UserCreateForm(Form): localpart = fields.StringField('E-mail', [validators.DataRequired()]) pw = fields.PasswordField('Password', [validators.DataRequired()]) + comment = fields.StringField('Comment') submit = fields.SubmitField('Create') class UserEditForm(Form): quota_bytes = fields.IntegerField('Quota') + comment = fields.StringField('Comment') submit = fields.SubmitField('Create') @@ -58,9 +62,11 @@ class UserReplyForm(Form): class AliasCreateForm(Form): localpart = fields.StringField('Alias', [validators.DataRequired()]) destination = fields.StringField('Destination', widget=widgets.TextArea()) + comment = fields.StringField('Comment') submit = fields.SubmitField('Create') class AliasEditForm(Form): destination = fields.StringField('Destination', widget=widgets.TextArea()) + comment = fields.StringField('Comment') submit = fields.SubmitField('Create') diff --git a/admin/freeposte/models.py b/admin/freeposte/models.py index 281005a4..4e92a2ba 100644 --- a/admin/freeposte/models.py +++ b/admin/freeposte/models.py @@ -25,6 +25,7 @@ class Base(db.Model): created_at = db.Column(db.Date, nullable=False, default=datetime.now) updated_at = db.Column(db.Date, nullable=True, onupdate=datetime.now) + comment = db.Column(db.String(255), nullable=True) class Domain(Base): diff --git a/admin/freeposte/templates/alias/list.html b/admin/freeposte/templates/alias/list.html index cd4888d8..8b5aab90 100644 --- a/admin/freeposte/templates/alias/list.html +++ b/admin/freeposte/templates/alias/list.html @@ -19,6 +19,7 @@ Alias list Actions Address Destination + Comment Created Last edit @@ -30,6 +31,7 @@ Alias list {{ alias }} {{ alias.destination or '-' }} + {{ alias.comment or '' }} {{ alias.created_at }} {{ alias.updated_at or '' }} diff --git a/admin/freeposte/templates/domain/list.html b/admin/freeposte/templates/domain/list.html index f0dbe5fc..adc34a27 100644 --- a/admin/freeposte/templates/domain/list.html +++ b/admin/freeposte/templates/domain/list.html @@ -18,6 +18,7 @@ Domain list Domain name Mailbox count Alias count + Comemnt Created Last edit @@ -33,6 +34,7 @@ Domain list {{ domain.name }} {{ domain.users | count }} / {{ domain.max_users or '∞' }} {{ domain.aliases | count }} / {{ domain.max_aliases or '∞' }} + {{ domain.comment or '' }} {{ domain.created_at }} {{ domain.updated_at or '' }} diff --git a/admin/freeposte/templates/user/list.html b/admin/freeposte/templates/user/list.html index a049bccf..a0bd9565 100644 --- a/admin/freeposte/templates/user/list.html +++ b/admin/freeposte/templates/user/list.html @@ -22,6 +22,7 @@ User list Forward Reply Quota + Comment Created Last edit @@ -41,6 +42,7 @@ User list {% if user.forward %}enabled{% endif %} {% if user.reply_subject %}enabled{% endif %} {{ user.quota_bytes | filesizeformat }} + {{ user.comment or '' }} {{ user.created_at }} {{ user.updated_at or '' }} diff --git a/admin/freeposte/views/aliases.py b/admin/freeposte/views/aliases.py index ddd6f635..b4fa1c70 100644 --- a/admin/freeposte/views/aliases.py +++ b/admin/freeposte/views/aliases.py @@ -26,10 +26,9 @@ def alias_create(domain_name): flask.flash('Address %s is already used' % address, 'error') break else: - alias = models.Alias( - localpart=form.localpart.data, domain=domain, - destination=form.destination.data - ) + alias = models.Alias(localpart=form.localpart.data, domain=domain) + alias.destination = form.destination.data + alias.comment = form.comment.data db.session.add(alias) db.session.commit() flask.flash('Alias %s created' % alias) @@ -46,6 +45,7 @@ def alias_edit(alias): form = forms.AliasEditForm() if form.validate_on_submit(): alias.destination = form.destination.data + alias.comment = form.comment.data db.session.add(alias) db.session.commit() flask.flash('Alias %s updated' % alias) diff --git a/admin/freeposte/views/domains.py b/admin/freeposte/views/domains.py index d487907f..e2981400 100644 --- a/admin/freeposte/views/domains.py +++ b/admin/freeposte/views/domains.py @@ -21,6 +21,7 @@ def domain_create(): flask.flash('Domain %s is already used' % form.name.data, 'error') else: domain = models.Domain(name=form.name.data) + domain.comment = form.comment.data db.session.add(domain) db.session.commit() flask.flash('Domain %s created' % domain) @@ -37,6 +38,7 @@ def domain_edit(domain_name): if form.validate_on_submit(): domain.max_users = form.max_users.data domain.max_aliases = form.max_aliases.data + domain.comment = form.comment.data db.session.add(domain) db.session.commit() flask.flash('Domain %s saved' % domain) diff --git a/admin/freeposte/views/users.py b/admin/freeposte/views/users.py index 64e251f0..e54bdb43 100644 --- a/admin/freeposte/views/users.py +++ b/admin/freeposte/views/users.py @@ -27,6 +27,7 @@ def user_create(domain_name): break else: user = models.User(localpart=form.localpart.data, domain=domain) + user.comment = form.comment.data user.set_password(form.pw.data) db.session.add(user) db.session.commit() @@ -44,6 +45,7 @@ def user_edit(user_email): form = forms.UserEditForm(obj=user) if form.validate_on_submit(): user.quota_bytes = form.quota_bytes.data + user.comment = form.comment.data db.session.add(user) db.session.commit() flask.flash('User %s updated' % user)