Add a keep option per fetch, fixes #60
This commit is contained in:
@@ -119,6 +119,7 @@ class FetchForm(flask_wtf.FlaskForm):
|
||||
tls = fields.BooleanField(_('Enable TLS'))
|
||||
username = fields.StringField(_('Username'))
|
||||
password = fields.StringField(_('Password'))
|
||||
keep = fields.BooleanField(_('Keep emails on the server'))
|
||||
submit = fields.SubmitField(_('Submit'))
|
||||
|
||||
|
||||
|
||||
@@ -222,5 +222,6 @@ class Fetch(Base):
|
||||
tls = db.Column(db.Boolean(), nullable=False)
|
||||
username = db.Column(db.String(255), nullable=False)
|
||||
password = db.Column(db.String(255), nullable=False)
|
||||
keep = db.Column(db.Boolean(), nullable=False)
|
||||
last_check = db.Column(db.DateTime, nullable=True)
|
||||
error = db.Column(db.String(1023), nullable=True)
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
<th>{% trans %}Actions{% endtrans %}</th>
|
||||
<th>{% trans %}Endpoint{% endtrans %}</th>
|
||||
<th>{% trans %}Username{% endtrans %}</th>
|
||||
<th>{% trans %}Keep emails{% endtrans %}</th>
|
||||
<th>{% trans %}Last check{% endtrans %}</th>
|
||||
<th>{% trans %}Status{% endtrans %}</th>
|
||||
<th>{% trans %}Created{% endtrans %}</th>
|
||||
@@ -32,6 +33,7 @@
|
||||
</td>
|
||||
<td>{{ fetch.protocol }}{{ 's' if fetch.tls else '' }}://{{ fetch.host }}:{{ fetch.port }}</td>
|
||||
<td>{{ fetch.username }}</td>
|
||||
<td>{% if fetch.keep %}{% trans %}yes{% endtrans %}{% else %}{% trans %}no{% endtrans %}{% endif %}</td>
|
||||
<td>{{ fetch.last_check or '-' }}</td>
|
||||
<td>{{ fetch.error or '-' }}</td>
|
||||
<td>{{ fetch.created_at }}</td>
|
||||
|
||||
32
admin/migrations/versions/3f6994568962_.py
Normal file
32
admin/migrations/versions/3f6994568962_.py
Normal file
@@ -0,0 +1,32 @@
|
||||
""" Add keep as an option in fetches
|
||||
|
||||
Revision ID: 3f6994568962
|
||||
Revises: 2335c80a6bc3
|
||||
Create Date: 2017-02-02 22:31:00.719703
|
||||
|
||||
"""
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision = '3f6994568962'
|
||||
down_revision = '2335c80a6bc3'
|
||||
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
|
||||
from mailu import app, db
|
||||
from mailu.admin import models
|
||||
|
||||
|
||||
def upgrade():
|
||||
op.add_column('fetch', sa.Column('keep', sa.Boolean(), nullable=False, server_default=sa.sql.expression.false()))
|
||||
# also apply the current config value if set
|
||||
if app.config.get("FETCHMAIL_KEEP", "False") == "True":
|
||||
for fetch in models.Fetch.query.all():
|
||||
fetch.keep = True
|
||||
db.session.commit()
|
||||
|
||||
|
||||
|
||||
def downgrade():
|
||||
with op.batch_alter_table('fetch') as batch:
|
||||
batch.drop_column('keep')
|
||||
Reference in New Issue
Block a user