From 65becc11870d7080a9d19c66aa560f58be1bd3ac Mon Sep 17 00:00:00 2001
From: Patrick Jentsch <p.jentsch@uni-bielefeld.de>
Date: Tue, 6 Aug 2019 15:39:09 +0200
Subject: [PATCH] Add creation_data to corpus.

---
 app/main/views.py                             | 14 ++++------
 app/models.py                                 |  3 +-
 ...425353fb4dc_add_creation_data_to_corpus.py | 28 +++++++++++++++++++
 3 files changed, 35 insertions(+), 10 deletions(-)
 create mode 100644 migrations/versions/c425353fb4dc_add_creation_data_to_corpus.py

diff --git a/app/main/views.py b/app/main/views.py
index 4e2d07c9..990f60d5 100644
--- a/app/main/views.py
+++ b/app/main/views.py
@@ -7,7 +7,6 @@ from . import main
 from .forms import CreateCorpusForm
 from ..decorators import admin_required
 from .. import db
-import hashlib
 import os
 
 
@@ -28,14 +27,11 @@ def dashboard():
 
     if create_corpus_form.validate_on_submit():
         app = current_app._get_current_object()
-        corpus = {'description': create_corpus_form.description.data,
-                  'id': id,
-                  'creator': current_user.id,
-                  'title': create_corpus_form.title.data
-                  }
-        corpus = Corpus(description=create_corpus_form.description.data,
-                        title=create_corpus_form.title.data,
-                        user_id=current_user.id)
+        corpus = Corpus()
+        corpus.creation_date = datetime.utcnow()
+        corpus.description = create_corpus_form.description.data,
+        corpus.title = create_corpus_form.title.data,
+        corpus.user_id = current_user.id
         db.session.add(corpus)
         db.session.commit()
         dir = os.path.join(app.config['OPAQUE_STORAGE'],
diff --git a/app/models.py b/app/models.py
index 4a6c423a..d17eb0fd 100644
--- a/app/models.py
+++ b/app/models.py
@@ -107,9 +107,9 @@ class User(UserMixin, db.Model):
     # Primary key
     id = db.Column(db.Integer, primary_key=True)
     confirmed = db.Column(db.Boolean, default=False)
-    registration_date = db.Column(db.DateTime(), default=datetime.utcnow)
     email = db.Column(db.String(64), unique=True, index=True)
     password_hash = db.Column(db.String(128))
+    registration_date = db.Column(db.DateTime(), default=datetime.utcnow)
     role_id = db.Column(db.Integer, db.ForeignKey('roles.id'))
     username = db.Column(db.String(64), unique=True, index=True)
     # Relationships
@@ -259,6 +259,7 @@ class Corpus(db.Model):
     __tablename__ = 'corpora'
     # Primary key
     id = db.Column(db.Integer, primary_key=True)
+    creation_data = db.Column(db.DateTime(), default=datetime.utcnow)
     description = db.Column(db.String(64))
     title = db.Column(db.String(32))
     user_id = db.Column(db.Integer, db.ForeignKey('users.id'))
diff --git a/migrations/versions/c425353fb4dc_add_creation_data_to_corpus.py b/migrations/versions/c425353fb4dc_add_creation_data_to_corpus.py
new file mode 100644
index 00000000..d580a9ba
--- /dev/null
+++ b/migrations/versions/c425353fb4dc_add_creation_data_to_corpus.py
@@ -0,0 +1,28 @@
+"""Add creation_data to corpus
+
+Revision ID: c425353fb4dc
+Revises: 3f2aee5e6a45
+Create Date: 2019-08-06 15:38:33.930052
+
+"""
+from alembic import op
+import sqlalchemy as sa
+
+
+# revision identifiers, used by Alembic.
+revision = 'c425353fb4dc'
+down_revision = '3f2aee5e6a45'
+branch_labels = None
+depends_on = None
+
+
+def upgrade():
+    # ### commands auto generated by Alembic - please adjust! ###
+    op.add_column('corpora', sa.Column('creation_data', sa.DateTime(), nullable=True))
+    # ### end Alembic commands ###
+
+
+def downgrade():
+    # ### commands auto generated by Alembic - please adjust! ###
+    op.drop_column('corpora', 'creation_data')
+    # ### end Alembic commands ###
-- 
GitLab