Edit upload items in administration menu.

This commit is contained in:
msinkec
2021-09-28 12:49:15 +02:00
parent 965ddee7a7
commit 7d9d2b175c
3 changed files with 194 additions and 2 deletions

View File

@@ -6,7 +6,7 @@ from sqlalchemy import desc
from collections import Counter
from portal.base import UploadHandler, get_user_institution, has_user_corpus_access
from portal.model import UploadSolar, ContractsSolar, RegisteredUser, Institution, InstitutionContract, UserInstitutionMapping, CorpusAccess
from . model import *
VALID_PROGRAMS = {'OS', 'SSG', 'MGP', 'ZG', 'NPI', 'SPI', 'SSI', 'PTI'}
@@ -161,12 +161,19 @@ class UploadHandlerSolar(UploadHandler):
def get_upload_history(user_id, n=20):
if n == -1:
return UploadSolar.query.filter_by(upload_user=user_id).order_by(desc(UploadSolar.timestamp)).all()
return UploadSolar.query.filter_by(upload_user=user_id).order_by(desc(UploadSolar.timestamp)).limit(n).all()
def get_institution_upload_history(institution_id, n=20):
return UploadSolar.query.filter_by(institution=institution_id).order_by(desc(UploadSolar.timestamp)).limit(n).all()
def get_all_upload_history(n=20):
if n == -1:
return UploadSolar.query.order_by(desc(UploadSolar.timestamp)).all()
return UploadSolar.query.order_by(desc(UploadSolar.timestamp)).limit(n).all()
def get_all_institutions():
# TODO: do filtering purely within an SQL query
@@ -211,3 +218,16 @@ def get_all_active_users():
res.append(user)
return res
def update_upload_item(item_id, program, subject, subject_custom, grade, text_type, text_type_custom, school_year, grammar_corrections):
rowcount = db.session.query(UploadSolar).filter_by(id=item_id).update({
'program': program,
'subject': subject,
'subject_custom': subject_custom,
'grade': grade,
'text_type': text_type,
'text_type_custom': text_type_custom,
'school_year': school_year,
'grammar_corrections': grammar_corrections
})
db.session.commit()
return rowcount