From 5a67164dbe0e48b516d4de13d748bf954f9d2343 Mon Sep 17 00:00:00 2001
From: Patrick Jentsch <p.jentsch@uni-bielefeld.de>
Date: Tue, 6 Aug 2019 13:25:27 +0200
Subject: [PATCH] Add corpus to database after creation.

---
 app/main/views.py | 13 ++++++++-----
 app/models.py     |  2 +-
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/app/main/views.py b/app/main/views.py
index 0dba278c..99ef8946 100644
--- a/app/main/views.py
+++ b/app/main/views.py
@@ -1,11 +1,12 @@
 from datetime import datetime
 from flask import current_app, flash, redirect, render_template, url_for
 from flask_login import current_user, login_required
-from ..models import User
+from ..models import User, Corpus
 from ..tables import AdminUserTable, AdminUserItem
 from . import main
 from .forms import CreateCorpusForm
 from ..decorators import admin_required
+from .. import db
 import hashlib
 import os
 
@@ -27,15 +28,17 @@ def dashboard():
 
     if create_corpus_form.validate_on_submit():
         app = current_app._get_current_object()
-        id = hashlib.md5(
-            (current_user.username + '_' + datetime.now().isoformat()).encode()
-        ).hexdigest()
         corpus = {'description': create_corpus_form.description.data,
                   'id': id,
                   'creator': current_user.id,
                   'title': create_corpus_form.title.data
                   }
-        dir = os.path.join(app.config['OPAQUE_FILES'], 'corpora', id)
+        corpus = Corpus(description=create_corpus_form.description.data,
+                        title=create_corpus_form.title.data,
+                        user_id=current_user.id)
+        db.session.add(corpus)
+        db.session.commit()
+        dir = os.path.join(app.config['OPAQUE_STORAGE'], 'corpora', str(corpus.id))
 
         try:
             os.makedirs(dir)
diff --git a/app/models.py b/app/models.py
index 41c8f271..320ab54b 100644
--- a/app/models.py
+++ b/app/models.py
@@ -260,7 +260,7 @@ class Corpus(db.Model):
     user_id = db.Column(db.Integer, db.ForeignKey('users.id'))
 
     def __init__(self, **kwargs):
-        super(Job, self).__init__(**kwargs)
+        super(Corpus, self).__init__(**kwargs)
 
     def __repr__(self):
         """
-- 
GitLab