forked from ScoDoc/ScoDoc
improved our shell: reload context and admin user
This commit is contained in:
parent
37e7667eeb
commit
56f935b2a8
17
scodoc.py
17
scodoc.py
@ -32,6 +32,14 @@ cli.register(app)
|
|||||||
def make_shell_context():
|
def make_shell_context():
|
||||||
from app.scodoc import notesdb as ndb
|
from app.scodoc import notesdb as ndb
|
||||||
from app.scodoc import sco_utils as scu
|
from app.scodoc import sco_utils as scu
|
||||||
|
from flask_login import login_user, logout_user, current_user
|
||||||
|
|
||||||
|
admin_role = Role.query.filter_by(name="SuperAdmin").first()
|
||||||
|
admin = (
|
||||||
|
User.query.join(UserRole)
|
||||||
|
.filter((UserRole.user_id == User.id) & (UserRole.role_id == admin_role.id))
|
||||||
|
.first()
|
||||||
|
)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
"db": db,
|
"db": db,
|
||||||
@ -45,9 +53,18 @@ def make_shell_context():
|
|||||||
"pp": pp,
|
"pp": pp,
|
||||||
"flask": flask,
|
"flask": flask,
|
||||||
"current_app": flask.current_app,
|
"current_app": flask.current_app,
|
||||||
|
"current_user": current_user,
|
||||||
|
"login_user": login_user,
|
||||||
|
"logout_user": logout_user,
|
||||||
|
"admin": admin,
|
||||||
|
"ctx": app.test_request_context(),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# ctx.push()
|
||||||
|
# login_user(admin)
|
||||||
|
|
||||||
|
|
||||||
@app.cli.command()
|
@app.cli.command()
|
||||||
def user_db_init(): # user-db-init
|
def user_db_init(): # user-db-init
|
||||||
"""Initialize the users database."""
|
"""Initialize the users database."""
|
||||||
|
@ -1,66 +0,0 @@
|
|||||||
# -*- mode: python -*-
|
|
||||||
# -*- coding: utf-8 -
|
|
||||||
|
|
||||||
""" Création d'une absence et utilisation de AnnuleAbsenceDatesNoJust """
|
|
||||||
import random
|
|
||||||
|
|
||||||
# La variable context est définie par le script de lancement
|
|
||||||
# l'affecte ainsi pour évietr les warnins pylint:
|
|
||||||
context = context # pylint: disable=undefined-variable
|
|
||||||
REQUEST = REQUEST # pylint: disable=undefined-variable
|
|
||||||
import scotests.sco_fake_gen as sco_fake_gen # pylint: disable=import-error
|
|
||||||
import sco_abs_views
|
|
||||||
|
|
||||||
|
|
||||||
G = sco_fake_gen.ScoFake(context.Notes)
|
|
||||||
G.verbose = False
|
|
||||||
|
|
||||||
# --- Création d'une formation
|
|
||||||
f = G.create_formation(acronyme="")
|
|
||||||
ue = G.create_ue(formation_id=f["formation_id"], acronyme="TST1", titre="ue test")
|
|
||||||
mat = G.create_matiere(ue_id=ue["ue_id"], titre="matière test")
|
|
||||||
mod = G.create_module(
|
|
||||||
matiere_id=mat["matiere_id"],
|
|
||||||
code="TSM1",
|
|
||||||
coefficient=1.0,
|
|
||||||
titre="module test",
|
|
||||||
ue_id=ue["ue_id"], # faiblesse de l'API
|
|
||||||
formation_id=f["formation_id"], # faiblesse de l'API
|
|
||||||
)
|
|
||||||
|
|
||||||
# --- Mise place d'un semestre
|
|
||||||
sem = G.create_formsemestre(
|
|
||||||
formation_id=f["formation_id"],
|
|
||||||
semestre_id=1,
|
|
||||||
date_debut="01/01/2021",
|
|
||||||
date_fin="30/06/2021",
|
|
||||||
)
|
|
||||||
|
|
||||||
mi = G.create_moduleimpl(
|
|
||||||
module_id=mod["module_id"],
|
|
||||||
formsemestre_id=sem["formsemestre_id"],
|
|
||||||
responsable_id="bach",
|
|
||||||
)
|
|
||||||
|
|
||||||
# --- Création d'un étudiant
|
|
||||||
etud = G.create_etud(code_nip=None)
|
|
||||||
G.inscrit_etudiant(sem, etud)
|
|
||||||
etudid = etud["etudid"]
|
|
||||||
|
|
||||||
# --- Création d'une absence
|
|
||||||
sco_abs_views.doSignaleAbsence(
|
|
||||||
context.Absences,
|
|
||||||
datedebut="22/01/2021",
|
|
||||||
datefin="22/01/2021",
|
|
||||||
demijournee=2,
|
|
||||||
etudid=etudid,
|
|
||||||
REQUEST=REQUEST,
|
|
||||||
)
|
|
||||||
|
|
||||||
# --- Annulation d'absence
|
|
||||||
context.Absences.AnnuleAbsencesDatesNoJust(etudid, dates="22/01/2021")
|
|
||||||
|
|
||||||
""" Erreur : File "/opt/scodoc/Products/ScoDoc/ZAbsences.py", line 323, in AnnuleAbsencesDatesNoJust
|
|
||||||
vars(),
|
|
||||||
psycopg2.DataError: invalid input syntax for type date: "2"
|
|
||||||
LINE 1: ...es where etudid='EID1' and (not estjust) and jour='2' and mo... """
|
|
Loading…
Reference in New Issue
Block a user