diff --git a/app/main/views.py b/app/main/views.py index 0dba278cc35437b1f7543f3775a6bbfa41218dc5..99ef8946cb498a06d5cdf5432b397eca3342c922 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 41c8f27165bdf92f8283c9bd8561e031014a236f..320ab54b3238fc3df27303090bfb1eeec791ffde 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): """