forked from ScoDoc/ScoDoc
9.1.20 avec des cerises
This commit is contained in:
parent
fbae5d268f
commit
24bfb8a13d
@ -4,6 +4,7 @@
|
||||
from app import db
|
||||
from app.comp import df_cache
|
||||
from app.models import SHORT_STR_LEN
|
||||
from app.models.modules import Module
|
||||
from app.scodoc import notesdb as ndb
|
||||
from app.scodoc import sco_cache
|
||||
from app.scodoc import sco_codes_parcours
|
||||
@ -114,6 +115,7 @@ class Formation(db.Model):
|
||||
return
|
||||
change = False
|
||||
for mod in self.modules:
|
||||
# --- Indices de semestres:
|
||||
if (
|
||||
mod.ue.semestre_idx is not None
|
||||
and mod.ue.semestre_idx > 0
|
||||
@ -122,10 +124,15 @@ class Formation(db.Model):
|
||||
mod.semestre_id = mod.ue.semestre_idx
|
||||
db.session.add(mod)
|
||||
change = True
|
||||
# --- Types de modules
|
||||
if mod.module_type is None:
|
||||
mod.module_type = scu.ModuleType.STANDARD
|
||||
db.session.add(mod)
|
||||
change = True
|
||||
# --- Numéros de modules
|
||||
if Module.query.filter_by(formation_id=220, numero=None).count() > 0:
|
||||
scu.objects_renumber(db, self.modules.all())
|
||||
|
||||
db.session.commit()
|
||||
if change:
|
||||
self.invalidate_module_coefs()
|
||||
|
@ -306,7 +306,6 @@ def do_formation_edit(args):
|
||||
sco_formations._formationEditor.edit(cnx, args)
|
||||
formation: Formation = Formation.query.get(args["formation_id"])
|
||||
formation.invalidate_cached_sems()
|
||||
formation.sanitize_old_formation()
|
||||
|
||||
|
||||
def module_move(module_id, after=0, redirect=True):
|
||||
|
@ -509,7 +509,6 @@ def ue_table(formation_id=None, semestre_idx=1, msg=""): # was ue_list
|
||||
formation: Formation = Formation.query.get(formation_id)
|
||||
if not formation:
|
||||
raise ScoValueError("invalid formation_id")
|
||||
formation.sanitize_old_formation()
|
||||
parcours = formation.get_parcours()
|
||||
is_apc = parcours.APC_SAE
|
||||
locked = formation.has_locked_sems()
|
||||
@ -1205,7 +1204,6 @@ def do_ue_edit(args, bypass_lock=False, dont_invalidate_cache=False):
|
||||
if not dont_invalidate_cache:
|
||||
# Invalide les semestres utilisant cette formation:
|
||||
formation.invalidate_cached_sems()
|
||||
formation.sanitize_old_formation()
|
||||
|
||||
|
||||
# essai edition en ligne:
|
||||
|
@ -1,7 +1,7 @@
|
||||
# -*- mode: python -*-
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
SCOVERSION = "9.1.19"
|
||||
SCOVERSION = "9.1.20"
|
||||
|
||||
SCONAME = "ScoDoc"
|
||||
|
||||
|
13
scodoc.py
13
scodoc.py
@ -438,14 +438,21 @@ def photos_import_files(formsemestre_id: int, xlsfile: str, zipfile: str):
|
||||
|
||||
|
||||
@app.cli.command()
|
||||
@click.option("--sanitize/--no-sanitize", default=False)
|
||||
@with_appcontext
|
||||
def clear_cache(): # clear-cache
|
||||
def clear_cache(sanitize): # clear-cache
|
||||
"""Clear ScoDoc cache
|
||||
This cache (currently Redis) is persistent between invocation
|
||||
and it may be necessary to clear it during development or tests.
|
||||
and it may be necessary to clear it during upgrades,
|
||||
development or tests.
|
||||
"""
|
||||
click.echo("Flushing Redis cache...")
|
||||
clear_scodoc_cache()
|
||||
click.echo("Redis caches flushed.")
|
||||
if sanitize:
|
||||
# sanitizes all formations:
|
||||
click.echo("Checking formations...")
|
||||
for formation in Formation.query:
|
||||
formation.sanitize_old_formation()
|
||||
|
||||
|
||||
def recursive_help(cmd, parent=None):
|
||||
|
@ -107,7 +107,7 @@ then
|
||||
# utilise les scripts dans migrations/version/
|
||||
# pour mettre à jour notre base (en tant qu'utilisateur scodoc)
|
||||
export FLASK_ENV="production"
|
||||
su -c "(cd $SCODOC_DIR && source venv/bin/activate && flask db upgrade && flask clear-cache)" "$SCODOC_USER"
|
||||
su -c "(cd $SCODOC_DIR && source venv/bin/activate && flask db upgrade && flask clear-cache --sanitize)" "$SCODOC_USER"
|
||||
fi
|
||||
|
||||
# ------------ LOGROTATE
|
||||
|
Loading…
Reference in New Issue
Block a user