forked from ScoDoc/DocScoDoc
xml without jaxml
This commit is contained in:
parent
cdc1969520
commit
ec8bef7984
@ -39,9 +39,10 @@ import re
|
||||
import sets
|
||||
import operator
|
||||
|
||||
# XML generation package (apt-get install jaxml)
|
||||
import jaxml
|
||||
import xml.dom.minidom
|
||||
from xml.etree import ElementTree
|
||||
from xml.etree.ElementTree import Element
|
||||
|
||||
|
||||
import app.scodoc.sco_utils as scu
|
||||
import app.scodoc.notesdb as ndb
|
||||
@ -52,9 +53,11 @@ from app.scodoc import sco_codes_parcours
|
||||
from app.scodoc import sco_core
|
||||
from app.scodoc import sco_etud
|
||||
from app.scodoc import sco_permissions_check
|
||||
from app.scodoc import sco_xml
|
||||
from app.scodoc.sco_exceptions import ScoException, AccessDenied, ScoValueError
|
||||
from app.scodoc.sco_permissions import Permission
|
||||
from app.scodoc.TrivialFormulator import TrivialFormulator
|
||||
|
||||
import six
|
||||
|
||||
|
||||
@ -427,13 +430,16 @@ def formsemestre_partition_list(context, formsemestre_id, format="xml", REQUEST=
|
||||
return scu.sendResult(REQUEST, partitions, name="partition", format=format)
|
||||
|
||||
|
||||
# Encore utilisé par groupmgr.js
|
||||
def XMLgetGroupsInPartition(context, partition_id, REQUEST=None): # was XMLgetGroupesTD
|
||||
"""
|
||||
Deprecated: use group_list
|
||||
Liste des étudiants dans chaque groupe de cette partition.
|
||||
<group partition_id="" partition_name="" group_id="" group_name="">
|
||||
<etud etuid="" sexe="" nom="" prenom="" origin=""/>
|
||||
</groupe>
|
||||
<etud etuid="" sexe="" nom="" prenom="" civilite="" origin=""/>
|
||||
</group>
|
||||
<group ...>
|
||||
...
|
||||
"""
|
||||
from app.scodoc import sco_formsemestre
|
||||
|
||||
@ -448,22 +454,23 @@ def XMLgetGroupsInPartition(context, partition_id, REQUEST=None): # was XMLgetG
|
||||
etuds_set = set(nt.inscrdict)
|
||||
# XML response:
|
||||
REQUEST.RESPONSE.setHeader("content-type", scu.XML_MIMETYPE)
|
||||
doc = jaxml.XML_document(encoding=scu.SCO_ENCODING)
|
||||
doc._text('<ajax-response><response type="object" id="MyUpdater">')
|
||||
doc._push()
|
||||
|
||||
doc = Element("ajax-response")
|
||||
x_response = Element("response", type="object", id="MyUpdater")
|
||||
doc.append(x_response)
|
||||
for group in groups:
|
||||
doc._push()
|
||||
doc.group(
|
||||
x_group = Element(
|
||||
"group",
|
||||
partition_id=partition_id,
|
||||
partition_name=partition["partition_name"],
|
||||
group_id=group["group_id"],
|
||||
group_name=group["group_name"],
|
||||
)
|
||||
x_response.append(x_group)
|
||||
for e in get_group_members(context, group["group_id"]):
|
||||
etud = sco_etud.get_etud_info(etudid=e["etudid"], filled=1)[0]
|
||||
doc._push()
|
||||
doc.etud(
|
||||
x_group.append(
|
||||
Element(
|
||||
"etud",
|
||||
etudid=e["etudid"],
|
||||
civilite=etud["civilite_str"],
|
||||
sexe=etud["civilite_str"], # compat
|
||||
@ -471,37 +478,34 @@ def XMLgetGroupsInPartition(context, partition_id, REQUEST=None): # was XMLgetG
|
||||
prenom=sco_etud.format_prenom(etud["prenom"]),
|
||||
origin=comp_origin(etud, sem),
|
||||
)
|
||||
)
|
||||
if e["etudid"] in etuds_set:
|
||||
etuds_set.remove(e["etudid"]) # etudiant vu dans un groupe
|
||||
doc._pop()
|
||||
doc._pop()
|
||||
|
||||
# Ajoute les etudiants inscrits au semestre mais dans aucun groupe de cette partition:
|
||||
if etuds_set:
|
||||
doc._push()
|
||||
doc.group(
|
||||
x_group = Element(
|
||||
"group",
|
||||
partition_id=partition_id,
|
||||
partition_name=partition["partition_name"],
|
||||
group_id="_none_",
|
||||
group_name="",
|
||||
)
|
||||
doc.append(x_group)
|
||||
for etudid in etuds_set:
|
||||
etud = sco_etud.get_etud_info(etudid=etudid, filled=1)[0]
|
||||
doc._push()
|
||||
doc.etud(
|
||||
x_group.append(
|
||||
Element(
|
||||
"etud",
|
||||
etudid=etud["etudid"],
|
||||
sexe=etud["civilite_str"],
|
||||
nom=sco_etud.format_nom(etud["nom"]),
|
||||
prenom=sco_etud.format_prenom(etud["prenom"]),
|
||||
origin=comp_origin(etud, sem),
|
||||
)
|
||||
doc._pop()
|
||||
doc._pop()
|
||||
doc._pop()
|
||||
|
||||
doc._text("</response></ajax-response>")
|
||||
)
|
||||
log("XMLgetGroupsInPartition: %s seconds" % (time.time() - t0))
|
||||
return repr(doc)
|
||||
return sco_xml.XML_HEADER + ElementTree.tostring(doc)
|
||||
|
||||
|
||||
def comp_origin(etud, cur_sem):
|
||||
|
Loading…
Reference in New Issue
Block a user