forked from ScoDoc/ScoDoc
sco_debouche APi views return empty OK responses / removed useless REQUEST
This commit is contained in:
parent
f18a9c7559
commit
5dfc64a62d
@ -47,10 +47,10 @@ from app.scodoc import sco_etud
|
|||||||
import sco_version
|
import sco_version
|
||||||
|
|
||||||
|
|
||||||
def report_debouche_date(start_year=None, format="html", REQUEST=None):
|
def report_debouche_date(start_year=None, format="html"):
|
||||||
"""Rapport (table) pour les débouchés des étudiants sortis à partir de l'année indiquée."""
|
"""Rapport (table) pour les débouchés des étudiants sortis à partir de l'année indiquée."""
|
||||||
if not start_year:
|
if not start_year:
|
||||||
return report_debouche_ask_date(REQUEST=REQUEST)
|
return report_debouche_ask_date()
|
||||||
if format == "xls":
|
if format == "xls":
|
||||||
keep_numeric = True # pas de conversion des notes en strings
|
keep_numeric = True # pas de conversion des notes en strings
|
||||||
else:
|
else:
|
||||||
@ -193,7 +193,7 @@ def table_debouche_etudids(etudids, keep_numeric=True):
|
|||||||
return tab
|
return tab
|
||||||
|
|
||||||
|
|
||||||
def report_debouche_ask_date(REQUEST=None):
|
def report_debouche_ask_date():
|
||||||
"""Formulaire demande date départ"""
|
"""Formulaire demande date départ"""
|
||||||
return (
|
return (
|
||||||
html_sco_header.sco_header()
|
html_sco_header.sco_header()
|
||||||
@ -248,7 +248,7 @@ def itemsuivi_get(cnx, itemsuivi_id, ignore_errors=False):
|
|||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
def itemsuivi_suppress(itemsuivi_id, REQUEST=None):
|
def itemsuivi_suppress(itemsuivi_id):
|
||||||
"""Suppression d'un item"""
|
"""Suppression d'un item"""
|
||||||
if not sco_permissions_check.can_edit_suivi():
|
if not sco_permissions_check.can_edit_suivi():
|
||||||
raise AccessDenied("Vous n'avez pas le droit d'effectuer cette opération !")
|
raise AccessDenied("Vous n'avez pas le droit d'effectuer cette opération !")
|
||||||
@ -258,9 +258,10 @@ def itemsuivi_suppress(itemsuivi_id, REQUEST=None):
|
|||||||
_itemsuivi_delete(cnx, itemsuivi_id)
|
_itemsuivi_delete(cnx, itemsuivi_id)
|
||||||
logdb(cnx, method="itemsuivi_suppress", etudid=item["etudid"])
|
logdb(cnx, method="itemsuivi_suppress", etudid=item["etudid"])
|
||||||
log("suppressed itemsuivi %s" % (itemsuivi_id,))
|
log("suppressed itemsuivi %s" % (itemsuivi_id,))
|
||||||
|
return ("", 204)
|
||||||
|
|
||||||
|
|
||||||
def itemsuivi_create(etudid, item_date=None, situation="", REQUEST=None, format=None):
|
def itemsuivi_create(etudid, item_date=None, situation="", format=None):
|
||||||
"""Creation d'un item"""
|
"""Creation d'un item"""
|
||||||
if not sco_permissions_check.can_edit_suivi():
|
if not sco_permissions_check.can_edit_suivi():
|
||||||
raise AccessDenied("Vous n'avez pas le droit d'effectuer cette opération !")
|
raise AccessDenied("Vous n'avez pas le droit d'effectuer cette opération !")
|
||||||
@ -272,11 +273,11 @@ def itemsuivi_create(etudid, item_date=None, situation="", REQUEST=None, format=
|
|||||||
log("created itemsuivi %s for %s" % (itemsuivi_id, etudid))
|
log("created itemsuivi %s for %s" % (itemsuivi_id, etudid))
|
||||||
item = itemsuivi_get(cnx, itemsuivi_id)
|
item = itemsuivi_get(cnx, itemsuivi_id)
|
||||||
if format == "json":
|
if format == "json":
|
||||||
return scu.sendJSON(REQUEST, item)
|
return scu.sendJSON(item)
|
||||||
return item
|
return item
|
||||||
|
|
||||||
|
|
||||||
def itemsuivi_set_date(itemsuivi_id, item_date, REQUEST=None):
|
def itemsuivi_set_date(itemsuivi_id, item_date):
|
||||||
"""set item date
|
"""set item date
|
||||||
item_date is a string dd/mm/yyyy
|
item_date is a string dd/mm/yyyy
|
||||||
"""
|
"""
|
||||||
@ -287,9 +288,10 @@ def itemsuivi_set_date(itemsuivi_id, item_date, REQUEST=None):
|
|||||||
item = itemsuivi_get(cnx, itemsuivi_id)
|
item = itemsuivi_get(cnx, itemsuivi_id)
|
||||||
item["item_date"] = item_date
|
item["item_date"] = item_date
|
||||||
_itemsuivi_edit(cnx, item)
|
_itemsuivi_edit(cnx, item)
|
||||||
|
return ("", 204)
|
||||||
|
|
||||||
|
|
||||||
def itemsuivi_set_situation(object, value, REQUEST=None):
|
def itemsuivi_set_situation(object, value):
|
||||||
"""set situation"""
|
"""set situation"""
|
||||||
if not sco_permissions_check.can_edit_suivi():
|
if not sco_permissions_check.can_edit_suivi():
|
||||||
raise AccessDenied("Vous n'avez pas le droit d'effectuer cette opération !")
|
raise AccessDenied("Vous n'avez pas le droit d'effectuer cette opération !")
|
||||||
@ -303,14 +305,14 @@ def itemsuivi_set_situation(object, value, REQUEST=None):
|
|||||||
return situation or scu.IT_SITUATION_MISSING_STR
|
return situation or scu.IT_SITUATION_MISSING_STR
|
||||||
|
|
||||||
|
|
||||||
def itemsuivi_list_etud(etudid, format=None, REQUEST=None):
|
def itemsuivi_list_etud(etudid, format=None):
|
||||||
"""Liste des items pour cet étudiant, avec tags"""
|
"""Liste des items pour cet étudiant, avec tags"""
|
||||||
cnx = ndb.GetDBConnexion()
|
cnx = ndb.GetDBConnexion()
|
||||||
items = _itemsuivi_list(cnx, {"etudid": etudid})
|
items = _itemsuivi_list(cnx, {"etudid": etudid})
|
||||||
for it in items:
|
for it in items:
|
||||||
it["tags"] = ", ".join(itemsuivi_tag_list(it["itemsuivi_id"]))
|
it["tags"] = ", ".join(itemsuivi_tag_list(it["itemsuivi_id"]))
|
||||||
if format == "json":
|
if format == "json":
|
||||||
return scu.sendJSON(REQUEST, items)
|
return scu.sendJSON(items)
|
||||||
return items
|
return items
|
||||||
|
|
||||||
|
|
||||||
@ -327,7 +329,7 @@ def itemsuivi_tag_list(itemsuivi_id):
|
|||||||
return [x["title"] for x in r]
|
return [x["title"] for x in r]
|
||||||
|
|
||||||
|
|
||||||
def itemsuivi_tag_search(term, REQUEST=None):
|
def itemsuivi_tag_search(term):
|
||||||
"""List all used tag names (for auto-completion)"""
|
"""List all used tag names (for auto-completion)"""
|
||||||
# restrict charset to avoid injections
|
# restrict charset to avoid injections
|
||||||
if not scu.ALPHANUM_EXP.match(term):
|
if not scu.ALPHANUM_EXP.match(term):
|
||||||
@ -342,10 +344,10 @@ def itemsuivi_tag_search(term, REQUEST=None):
|
|||||||
)
|
)
|
||||||
data = [x["title"] for x in r]
|
data = [x["title"] for x in r]
|
||||||
|
|
||||||
return scu.sendJSON(REQUEST, data)
|
return scu.sendJSON(data)
|
||||||
|
|
||||||
|
|
||||||
def itemsuivi_tag_set(itemsuivi_id="", taglist=[], REQUEST=None):
|
def itemsuivi_tag_set(itemsuivi_id="", taglist=None):
|
||||||
"""taglist may either be:
|
"""taglist may either be:
|
||||||
a string with tag names separated by commas ("un;deux")
|
a string with tag names separated by commas ("un;deux")
|
||||||
or a list of strings (["un", "deux"])
|
or a list of strings (["un", "deux"])
|
||||||
|
@ -149,7 +149,7 @@ def group_edt_json(group_id, start="", end="", REQUEST=None): # actuellement in
|
|||||||
}
|
}
|
||||||
J.append(d)
|
J.append(d)
|
||||||
|
|
||||||
return scu.sendJSON(REQUEST, J)
|
return scu.sendJSON(J)
|
||||||
|
|
||||||
|
|
||||||
"""XXX
|
"""XXX
|
||||||
|
@ -55,11 +55,9 @@ class InvalidNoteValue(ScoException):
|
|||||||
|
|
||||||
# Exception qui stoque dest_url, utilisee dans Zope standard_error_message
|
# Exception qui stoque dest_url, utilisee dans Zope standard_error_message
|
||||||
class ScoValueError(ScoException):
|
class ScoValueError(ScoException):
|
||||||
def __init__(self, msg, dest_url=None, REQUEST=None):
|
def __init__(self, msg, dest_url=None):
|
||||||
ScoException.__init__(self, msg)
|
ScoException.__init__(self, msg)
|
||||||
self.dest_url = dest_url
|
self.dest_url = dest_url
|
||||||
if REQUEST and dest_url:
|
|
||||||
REQUEST.set("dest_url", dest_url)
|
|
||||||
|
|
||||||
|
|
||||||
class FormatError(ScoValueError):
|
class FormatError(ScoValueError):
|
||||||
@ -79,7 +77,7 @@ class ScoConfigurationError(ScoValueError):
|
|||||||
|
|
||||||
|
|
||||||
class ScoLockedFormError(ScoException):
|
class ScoLockedFormError(ScoException):
|
||||||
def __init__(self, msg="", REQUEST=None):
|
def __init__(self, msg=""):
|
||||||
msg = (
|
msg = (
|
||||||
"Cette formation est verrouillée (car il y a un semestre verrouillé qui s'y réfère). "
|
"Cette formation est verrouillée (car il y a un semestre verrouillé qui s'y réfère). "
|
||||||
+ str(msg)
|
+ str(msg)
|
||||||
@ -90,7 +88,7 @@ class ScoLockedFormError(ScoException):
|
|||||||
class ScoGenError(ScoException):
|
class ScoGenError(ScoException):
|
||||||
"exception avec affichage d'une page explicative ad-hoc"
|
"exception avec affichage d'une page explicative ad-hoc"
|
||||||
|
|
||||||
def __init__(self, msg="", REQUEST=None):
|
def __init__(self, msg=""):
|
||||||
ScoException.__init__(self, msg)
|
ScoException.__init__(self, msg)
|
||||||
|
|
||||||
|
|
||||||
|
@ -973,4 +973,4 @@ def formsemestres_bulletins(annee_scolaire, REQUEST=None):
|
|||||||
)
|
)
|
||||||
jslist.append(J)
|
jslist.append(J)
|
||||||
|
|
||||||
return scu.sendJSON(REQUEST, jslist)
|
return scu.sendJSON(jslist)
|
||||||
|
@ -1261,7 +1261,7 @@ def save_note(etudid=None, evaluation_id=None, value=None, comment="", REQUEST=N
|
|||||||
else:
|
else:
|
||||||
result["history_menu"] = "" # no update needed
|
result["history_menu"] = "" # no update needed
|
||||||
result["status"] = "ok"
|
result["status"] = "ok"
|
||||||
return scu.sendJSON(REQUEST, result)
|
return scu.sendJSON(result)
|
||||||
|
|
||||||
|
|
||||||
def get_note_history_menu(evaluation_id, etudid):
|
def get_note_history_menu(evaluation_id, etudid):
|
||||||
|
@ -214,7 +214,7 @@ def module_tag_search(term, REQUEST=None):
|
|||||||
)
|
)
|
||||||
data = [x["title"] for x in r]
|
data = [x["title"] for x in r]
|
||||||
|
|
||||||
return scu.sendJSON(REQUEST, data)
|
return scu.sendJSON(data)
|
||||||
|
|
||||||
|
|
||||||
def module_tag_list(module_id=""):
|
def module_tag_list(module_id=""):
|
||||||
|
@ -263,7 +263,7 @@ def get_note_history(evaluation_id, etudid, REQUEST=None, fmt=""):
|
|||||||
x["user_name"] = sco_users.user_info(x["uid"])["nomcomplet"]
|
x["user_name"] = sco_users.user_info(x["uid"])["nomcomplet"]
|
||||||
|
|
||||||
if fmt == "json":
|
if fmt == "json":
|
||||||
return scu.sendJSON(REQUEST, history)
|
return scu.sendJSON(history)
|
||||||
else:
|
else:
|
||||||
return history
|
return history
|
||||||
|
|
||||||
|
@ -560,7 +560,7 @@ class ScoDocJSONEncoder(json.JSONEncoder):
|
|||||||
return json.JSONEncoder.default(self, o)
|
return json.JSONEncoder.default(self, o)
|
||||||
|
|
||||||
|
|
||||||
def sendJSON(REQUEST, data):
|
def sendJSON(data):
|
||||||
js = json.dumps(data, indent=1, cls=ScoDocJSONEncoder)
|
js = json.dumps(data, indent=1, cls=ScoDocJSONEncoder)
|
||||||
return send_file(js, filename="sco_data.json", mime=JSON_MIMETYPE, attached=False)
|
return send_file(js, filename="sco_data.json", mime=JSON_MIMETYPE, attached=False)
|
||||||
|
|
||||||
@ -585,7 +585,7 @@ def sendResult(REQUEST, data, name=None, format=None, force_outer_xml_tag=True):
|
|||||||
REQUEST, data, tagname=name, force_outer_xml_tag=force_outer_xml_tag
|
REQUEST, data, tagname=name, force_outer_xml_tag=force_outer_xml_tag
|
||||||
)
|
)
|
||||||
elif format == "json":
|
elif format == "json":
|
||||||
return sendJSON(REQUEST, data)
|
return sendJSON(data)
|
||||||
else:
|
else:
|
||||||
raise ValueError("invalid format: %s" % format)
|
raise ValueError("invalid format: %s" % format)
|
||||||
|
|
||||||
@ -809,7 +809,7 @@ def return_text_if_published(val, REQUEST):
|
|||||||
La présence de l'argument REQUEST indique la publication.
|
La présence de l'argument REQUEST indique la publication.
|
||||||
"""
|
"""
|
||||||
if REQUEST and not isinstance(val, str):
|
if REQUEST and not isinstance(val, str):
|
||||||
return sendJSON(REQUEST, val)
|
return sendJSON(val)
|
||||||
return val
|
return val
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# -*- mode: python -*-
|
# -*- mode: python -*-
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
SCOVERSION = "9.0.33"
|
SCOVERSION = "9.0.34"
|
||||||
|
|
||||||
SCONAME = "ScoDoc"
|
SCONAME = "ScoDoc"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user