diff --git a/TrivialFormulator.py b/TrivialFormulator.py index 5fd84c52..54f2249b 100644 --- a/TrivialFormulator.py +++ b/TrivialFormulator.py @@ -760,6 +760,6 @@ def tf_error_message(msg): if type(msg) == StringType: msg = [msg] return ( - '' + '' % '
  • '.join(msg) ) diff --git a/VERSION.py b/VERSION.py index 8ad330ea..90a125dc 100644 --- a/VERSION.py +++ b/VERSION.py @@ -1,7 +1,7 @@ # -*- mode: python -*- # -*- coding: utf-8 -*- -SCOVERSION = "7.25m" +SCOVERSION = "7.26m" SCONAME = "ScoDoc" diff --git a/ZNotes.py b/ZNotes.py index f454d2e0..59106cbf 100644 --- a/ZNotes.py +++ b/ZNotes.py @@ -376,7 +376,7 @@ class ZNotes(ObjectManager, PropertyManager, RoleManager, Item, Persistent, Impl if editable: H.append( - """

    Créer une formation

    + """

    Créer une formation

    Importer une formation (xml)

    Une "formation" est un programme pédagogique structuré en UE, matières et modules. Chaque semestre se réfère à une formation. La modification d'une formation affecte tous les semestres qui s'y réfèrent.

    """ diff --git a/ZScoDoc.py b/ZScoDoc.py index 3812a004..eb099f82 100644 --- a/ZScoDoc.py +++ b/ZScoDoc.py @@ -898,7 +898,9 @@ subversion: %(svn_version)s # aucun departement defini: aide utilisateur H.append("

    Aucun département à ajouter !

    ") else: - H.append("""
    """ + ) for deptId in addableDepts: H.append("""""" % (deptId, deptId)) H.append( @@ -915,7 +917,7 @@ subversion: %(svn_version)s (le site peut donc être recréé sans perte de données).

    - """ ) for deptFolder in self._list_depts(): diff --git a/ZScoUsers.py b/ZScoUsers.py index 43ed8162..121c6420 100644 --- a/ZScoUsers.py +++ b/ZScoUsers.py @@ -143,7 +143,7 @@ class ZScoUsers( if authuser.has_permission(ScoUsersAdmin, self): H.append( - '

    Ajouter un utilisateur' + '

    Ajouter un utilisateur' ) H.append( '   Importer des utilisateurs

    ' diff --git a/html_sidebar.py b/html_sidebar.py index fa874c28..10ff644f 100644 --- a/html_sidebar.py +++ b/html_sidebar.py @@ -55,9 +55,9 @@ def sidebar_common(context, REQUEST=None): % params, context.sidebar_dept(REQUEST), """

    Scolarité

    - Semestres
    - Programmes
    - Absences
    + Semestres
    + Programmes
    + Absences
    """ % params, ] @@ -66,12 +66,13 @@ def sidebar_common(context, REQUEST=None): ScoUsersView, context ): H.append( - """Utilisateurs
    """ % params + """Utilisateurs
    """ + % params ) if authuser.has_permission(ScoChangePreferences, context): H.append( - """Paramétrage
    """ + """Paramétrage
    """ % params ) @@ -104,7 +105,7 @@ def sidebar(context, REQUEST=None): """

    %(civilite_str)s %(nom_disp)s

    -

    %(etudid)s

    +

    %(etudid)s

    Absences""" % params ) @@ -124,21 +125,21 @@ def sidebar(context, REQUEST=None): if REQUEST.AUTHENTICATED_USER.has_permission(ScoAbsChange, context): H.append( """ -
  • Ajouter
  • -
  • Justifier
  • -
  • Supprimer
  • +
  • Ajouter
  • +
  • Justifier
  • +
  • Supprimer
  • """ % params ) if context.get_preference("handle_billets_abs"): H.append( - """
  • Billets
  • """ + """
  • Billets
  • """ % params ) H.append( """ -
  • Calendrier
  • -
  • Liste
  • +
  • Calendrier
  • +
  • Liste
  • """ % params diff --git a/sco_apogee_csv.py b/sco_apogee_csv.py index 55ccc145..59382af5 100644 --- a/sco_apogee_csv.py +++ b/sco_apogee_csv.py @@ -422,7 +422,7 @@ class ApoEtud(dict): # Elements UE decisions_ue = nt.get_etud_decision_ues(etudid) for ue in nt.get_ues(): - if ue["code_apogee"] == code: + if code in ue["code_apogee"].split(","): if self.export_res_ues: if decisions_ue and ue["ue_id"] in decisions_ue: ue_status = nt.get_etud_ue_status(etudid, ue["ue_id"]) @@ -443,7 +443,7 @@ class ApoEtud(dict): modimpls = nt.get_modimpls() module_code_found = False for modimpl in modimpls: - if modimpl["module"]["code_apogee"] == code: + if code in modimpl["module"]["code_apogee"].split(","): n = nt.get_etud_mod_moy(modimpl["moduleimpl_id"], etudid) if n != "NI" and self.export_res_modules: return dict(N=_apo_fmt_note(n), B=20, J="", R="") @@ -972,13 +972,13 @@ class ApoData: self.context, sem["formsemestre_id"] ) for ue in nt.get_ues(): - if ue["code_apogee"] == code: + if code in ue["code_apogee"].split(","): s.add(code) continue # associé à un module: modimpls = nt.get_modimpls() for modimpl in modimpls: - if modimpl["module"]["code_apogee"] == code: + if code in modimpl["module"]["code_apogee"].split(","): s.add(code) continue # log('codes_by_sem=%s' % pprint.pformat(codes_by_sem)) diff --git a/sco_dept.py b/sco_dept.py index e90539c8..e9f435da 100644 --- a/sco_dept.py +++ b/sco_dept.py @@ -143,7 +143,7 @@ Chercher étape courante:

    Gestion des étudiants

    ") else: diff --git a/sco_formsemestre_validation.py b/sco_formsemestre_validation.py index cc9065ec..2656f0a5 100644 --- a/sco_formsemestre_validation.py +++ b/sco_formsemestre_validation.py @@ -401,9 +401,9 @@ def formsemestre_validation_etud_manu( def _redirect_valid_choice( formsemestre_id, etudid, Se, choice, desturl, sortcol, REQUEST ): - adr = ( - "formsemestre_validation_etud_form?formsemestre_id=%s&etudid=%s&check=1" - % (formsemestre_id, etudid) + adr = "formsemestre_validation_etud_form?formsemestre_id=%s&etudid=%s&check=1" % ( + formsemestre_id, + etudid, ) if sortcol: adr += "&sortcol=" + sortcol @@ -454,8 +454,8 @@ def decisions_possible_rows(Se, assiduite, subtitle="", trclass=""): H.append("Code %sDevenir" % TitleCur) for ch in choices: H.append( - """""" - % (trclass, ch.rule_id, ch.codechoice,ch.rule_id) + """""" + % (trclass, ch.rule_id, ch.codechoice, ch.rule_id) ) H.append("%s " % ch.explication) if Se.prev: @@ -640,8 +640,13 @@ def formsemestre_recap_parcours_table( # log('') H.append( - '%s' - % (class_ue,ue["acronyme"], " ".join(explanation_ue), scu.fmt_note(moy_ue)) + '%s' + % ( + class_ue, + ue["acronyme"], + " ".join(explanation_ue), + scu.fmt_note(moy_ue), + ) ) if len(ues) < Se.nb_max_ue: H.append('' % (Se.nb_max_ue - len(ues))) diff --git a/sco_moduleimpl_status.py b/sco_moduleimpl_status.py index 1050cd22..d99ffeb9 100644 --- a/sco_moduleimpl_status.py +++ b/sco_moduleimpl_status.py @@ -321,7 +321,7 @@ def moduleimpl_status(context, moduleimpl_id=None, partition_id=None, REQUEST=No top_table_links = "" if sem["etat"] == "1": # non verrouillé top_table_links = ( - """Créer nouvelle évaluation + """Créer nouvelle évaluation Trier par date """ % M @@ -360,12 +360,18 @@ def moduleimpl_status(context, moduleimpl_id=None, partition_id=None, REQUEST=No """Evaluation sans date""" % eval ) - H.append("    %(description)s" % eval) + H.append( + "    %(description)s" % eval + ) if eval["evaluation_type"] == EVALUATION_RATTRAPAGE: H.append( """rattrapage""" ) - H.append("") + H.append( + "" + ) elif eval["evaluation_type"] == EVALUATION_SESSION2: H.append( """session 2""" @@ -454,7 +460,14 @@ def moduleimpl_status(context, moduleimpl_id=None, partition_id=None, REQUEST=No """""" % eval ) - H.append(scu.icontag("delete_img", alt="supprimer", title="Supprimer", id="delete_buttion_%s" %eval["evaluation_id"])) + H.append( + scu.icontag( + "delete_img", + alt="supprimer", + title="Supprimer", + id="button-delete-%s" % eval["evaluation_id"], + ) + ) if caneditevals: H.append("""""") elif etat["evalcomplete"]: diff --git a/sco_page_etud.py b/sco_page_etud.py index dd589b5f..fda4521d 100644 --- a/sco_page_etud.py +++ b/sco_page_etud.py @@ -74,27 +74,21 @@ def _menuScolarite(context, authuser, sem, etudid): if ins["etat"] != "D": dem_title = "Démission" - dem_url = ( - "formDem?etudid=%(etudid)s&formsemestre_id=%(formsemestre_id)s" % args - ) + dem_url = "formDem?etudid=%(etudid)s&formsemestre_id=%(formsemestre_id)s" % args else: dem_title = "Annuler la démission" dem_url = ( - "doCancelDem?etudid=%(etudid)s&formsemestre_id=%(formsemestre_id)s" - % args + "doCancelDem?etudid=%(etudid)s&formsemestre_id=%(formsemestre_id)s" % args ) # Note: seul un etudiant inscrit (I) peut devenir défaillant. if ins["etat"] != sco_codes_parcours.DEF: def_title = "Déclarer défaillance" - def_url = ( - "formDef?etudid=%(etudid)s&formsemestre_id=%(formsemestre_id)s" % args - ) + def_url = "formDef?etudid=%(etudid)s&formsemestre_id=%(formsemestre_id)s" % args elif ins["etat"] == sco_codes_parcours.DEF: def_title = "Annuler la défaillance" def_url = ( - "doCancelDef?etudid=%(etudid)s&formsemestre_id=%(formsemestre_id)s" - % args + "doCancelDef?etudid=%(etudid)s&formsemestre_id=%(formsemestre_id)s" % args ) def_enabled = ( (ins["etat"] != "D") @@ -430,16 +424,16 @@ def ficheEtud(context, etudid=None, REQUEST=None):
    - + %(groupes_row)s - +
    Situation :%(situation)s
    Situation :%(situation)s
    Né%(ne)s le :%(info_naissance)s
    Né%(ne)s le :%(info_naissance)s
    -
    Adresse :Adresse : %(domicile)s %(codepostaldomicile)s %(villedomicile)s %(paysdomicile)s %(modifadresse)s %(telephones)s
    diff --git a/scolars.py b/scolars.py index 8095e8b5..119204da 100644 --- a/scolars.py +++ b/scolars.py @@ -361,7 +361,8 @@ def _check_duplicate_code(cnx, args, code_name, context, edit=True, REQUEST=None parameters = {} if context: err_page = context.confirmDialog( - message="""

    Code étudiant (%s) dupliqué !

    """ % code_name, + message="""

    Code étudiant (%s) dupliqué !

    """ + % code_name, helpmsg="""Le %s %s est déjà utilisé: un seul étudiant peut avoir ce code. Vérifier votre valeur ou supprimer l'autre étudiant avec cette valeur.

    • """ % (code_name, args[code_name]) + "
    • ".join(listh) @@ -372,7 +373,10 @@ def _check_duplicate_code(cnx, args, code_name, context, edit=True, REQUEST=None REQUEST=REQUEST, ) else: - err_page = """

      Code étudiant (%s) dupliqué !

      """ % code_name + err_page = ( + """

      Code étudiant (%s) dupliqué !

      """ + % code_name + ) log("*** error: code %s duplique: %s" % (code_name, args[code_name])) raise ScoGenError(err_page)