mirror of
https://github.com/optim-enterprises-bv/Mailu.git
synced 2025-10-30 17:47:55 +00:00
Add an end of vacation field, related to #218
This commit is contained in:
@@ -2,7 +2,7 @@ from mailu import app, db, dkim, login_manager
|
|||||||
|
|
||||||
from sqlalchemy.ext import declarative
|
from sqlalchemy.ext import declarative
|
||||||
from passlib import context, hash
|
from passlib import context, hash
|
||||||
from datetime import datetime
|
from datetime import datetime, date
|
||||||
from email.mime import text
|
from email.mime import text
|
||||||
|
|
||||||
|
|
||||||
@@ -194,6 +194,8 @@ class User(Base, Email):
|
|||||||
reply_enabled = db.Column(db.Boolean(), nullable=False, default=False)
|
reply_enabled = db.Column(db.Boolean(), nullable=False, default=False)
|
||||||
reply_subject = db.Column(db.String(255), nullable=True, default=None)
|
reply_subject = db.Column(db.String(255), nullable=True, default=None)
|
||||||
reply_body = db.Column(db.Text(), nullable=True, default=None)
|
reply_body = db.Column(db.Text(), nullable=True, default=None)
|
||||||
|
reply_enddate = db.Column(db.Date, nullable=False,
|
||||||
|
default=date(2999, 12, 31))
|
||||||
|
|
||||||
# Settings
|
# Settings
|
||||||
displayed_name = db.Column(db.String(160), nullable=False, default="")
|
displayed_name = db.Column(db.String(160), nullable=False, default="")
|
||||||
|
|||||||
@@ -101,6 +101,7 @@ class UserReplyForm(flask_wtf.FlaskForm):
|
|||||||
reply_subject = fields.StringField(_('Reply subject'))
|
reply_subject = fields.StringField(_('Reply subject'))
|
||||||
reply_body = fields.StringField(_('Reply body'),
|
reply_body = fields.StringField(_('Reply body'),
|
||||||
widget=widgets.TextArea())
|
widget=widgets.TextArea())
|
||||||
|
reply_enddate = fields.html5.DateField(_('End of vacation'))
|
||||||
submit = fields.SubmitField(_('Update'))
|
submit = fields.SubmitField(_('Update'))
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -13,12 +13,14 @@
|
|||||||
<form class="form" method="post" role="form">
|
<form class="form" method="post" role="form">
|
||||||
{{ form.hidden_tag() }}
|
{{ form.hidden_tag() }}
|
||||||
{{ macros.form_field(form.reply_enabled,
|
{{ macros.form_field(form.reply_enabled,
|
||||||
onchange="if(this.checked){$('#reply_subject,#reply_body').removeAttr('readonly')}
|
onchange="if(this.checked){$('#reply_subject,#reply_body,#reply_enddate').removeAttr('readonly')}
|
||||||
else{$('#reply_subject,#reply_body').attr('readonly', '')}") }}
|
else{$('#reply_subject,#reply_body,#reply_enddate').attr('readonly', '')}") }}
|
||||||
{{ macros.form_field(form.reply_subject,
|
{{ macros.form_field(form.reply_subject,
|
||||||
**{("rw" if user.reply_enabled else "readonly"): ""}) }}
|
**{("rw" if user.reply_enabled else "readonly"): ""}) }}
|
||||||
{{ macros.form_field(form.reply_body, rows=10,
|
{{ macros.form_field(form.reply_body, rows=10,
|
||||||
**{("rw" if user.reply_enabled else "readonly"): ""}) }}
|
**{("rw" if user.reply_enabled else "readonly"): ""}) }}
|
||||||
|
{{ macros.form_field(form.reply_enddate,
|
||||||
|
**{("rw" if user.reply_enabled else "readonly"): ""}) }}
|
||||||
{{ macros.form_field(form.submit) }}
|
{{ macros.form_field(form.submit) }}
|
||||||
</form>
|
</form>
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
|
|||||||
23
core/admin/migrations/versions/77aa22ad72e2_.py
Normal file
23
core/admin/migrations/versions/77aa22ad72e2_.py
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
""" Add an enddate for the vacation mode
|
||||||
|
|
||||||
|
Revision ID: 77aa22ad72e2
|
||||||
|
Revises: 9400a032eb1a
|
||||||
|
Create Date: 2017-11-10 15:10:33.477592
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
# revision identifiers, used by Alembic.
|
||||||
|
revision = '77aa22ad72e2'
|
||||||
|
down_revision = '9400a032eb1a'
|
||||||
|
|
||||||
|
from alembic import op
|
||||||
|
import sqlalchemy as sa
|
||||||
|
|
||||||
|
|
||||||
|
def upgrade():
|
||||||
|
op.add_column('user', sa.Column('reply_enddate', sa.Date(), nullable=False,
|
||||||
|
server_default="2999-12-31"))
|
||||||
|
|
||||||
|
|
||||||
|
def downgrade():
|
||||||
|
op.drop_column('user', 'reply_enddate')
|
||||||
Reference in New Issue
Block a user