[scodoc-devel] [SVN] Scolar : [1757] [PE] possibilite upload templates au moment de la generation

eviennet at lipn.univ-paris13.fr eviennet at lipn.univ-paris13.fr
Dim 28 Jan 14:45:28 CET 2018


Une pièce jointe HTML a été nettoyée...
URL: https://listes.univ-paris13.fr/pipermail/scodoc-devel/attachments/20180128/efa8e151/attachment.htm 
-------------- section suivante --------------
Modified: branches/ScoDoc7/pe_view.py
===================================================================
--- branches/ScoDoc7/pe_view.py	2018-01-22 20:18:13 UTC (rev 1756)
+++ branches/ScoDoc7/pe_view.py	2018-01-28 13:45:28 UTC (rev 1757)
@@ -52,13 +52,44 @@
 import pe_avislatex
 
 
+def _pe_view_sem_recap_form(context, formsemestre_id, REQUEST=None):
+    H = [
+        context.sco_header(REQUEST, page_title="Avis de poursuite d'études"),
+        """<h2 class="formsemestre">Génération des avis de poursuites d'études</h2>
+        <p class="help">
+        Cette fonction génère un ensemble de fichiers permettant d'éditer des avis de poursuites d'études.
+        <br/>
+        De nombreux aspects sont paramétrables: 
+        <a href="https://trac.lipn.univ-paris13.fr/projects/scodoc/wiki/AvisPoursuiteEtudes">
+        voir la documentation
+        </a>.
+        </p>
+        <form method="post" action="pe_view_sem_recap" id="pe_view_sem_recap_form" enctype="multipart/form-data">
+        <div class="pe_template_up">
+        Les templates sont généralement installés sur le serveur ou dans le paramétrage de ScoDoc.<br/> 
+        Au besoin, vous pouvez spécifier ici votre propre fichier de template (<tt>un_avis.tex</tt>):
+        <div class="pe_template_upb">Template: <input type="file" size="30" name="avis_tmpl_file"/></div>
+        <div class="pe_template_upb">Pied de page: <input type="file" size="30" name="footer_tmpl_file"/></div>
+        </div>
+        <input type="submit" value="Générer les documents"/>
+        <input type="hidden" name="formsemestre_id" value="{formsemestre_id}">
+        </form>
+        """.format(formsemestre_id=formsemestre_id)
+        ]
+    return '\n'.join(H) + context.sco_footer(REQUEST)
 
-def pe_view_sem_recap(context, formsemestre_id, mode_debug=False, REQUEST=None):
-    """XXX experimental
-
+def pe_view_sem_recap(
+        context, formsemestre_id,
+        avis_tmpl_file=None, footer_tmpl_file=None,
+        mode_debug=False, REQUEST=None
+        ):
+    """Génération des avis de poursuite d'étude
+    
     mode_debug = Pour "squeezer" le calcul du jury pe (long)
     et debugger uniquement la partie avis latex
     """
+    if REQUEST and REQUEST.method == 'GET':
+        return _pe_view_sem_recap_form(context, formsemestre_id, REQUEST=REQUEST)
     prefs = context.get_preferences(formsemestre_id=formsemestre_id)
     
     semBase = sco_formsemestre.get_formsemestre(context, formsemestre_id)
@@ -70,18 +101,32 @@
 
     # Récupération du template latex, du footer latex et du tag identifiant les annotations relatives aux PE
     # (chaines unicodes, html non quoté)
-    template_latex = pe_avislatex.get_code_latex_from_scodoc_preference(
-        context, formsemestre_id,
-        champ='pe_avis_latex_tmpl')
-
+    template_latex = ''
+    # template fourni via le formulaire Web
+    if avis_tmpl_file:
+        template_latex = avis_tmpl_file.read()
+        template_latex = template_latex.decode(SCO_ENCODING)
+    else:
+        # template indiqué dans préférences ScoDoc ?
+        template_latex = pe_avislatex.get_code_latex_from_scodoc_preference(
+            context, formsemestre_id,
+            champ='pe_avis_latex_tmpl')
+    
     template_latex = template_latex.strip()
     if not template_latex:
         # pas de preference pour le template: utilise fichier du serveur
         template_latex = pe_avislatex.get_templates_from_distrib('avis')
 
-    footer_latex = pe_avislatex.get_code_latex_from_scodoc_preference(
-        context, formsemestre_id,
-        champ='pe_avis_latex_footer')
+    # Footer:
+    footer_latex = ''
+    # template fourni via le formulaire Web
+    if footer_tmpl_file:
+        footer_latex = footer_tmpl_file.read()
+        footer_latex = footer_latex.decode(SCO_ENCODING)
+    else:
+        footer_latex = pe_avislatex.get_code_latex_from_scodoc_preference(
+            context, formsemestre_id,
+            champ='pe_avis_latex_footer')
     footer_latex = footer_latex.strip()
     if not footer_latex:
         # pas de preference pour le footer: utilise fichier du serveur

Modified: branches/ScoDoc7/static/css/scodoc.css
===================================================================
--- branches/ScoDoc7/static/css/scodoc.css	2018-01-22 20:18:13 UTC (rev 1756)
+++ branches/ScoDoc7/static/css/scodoc.css	2018-01-28 13:45:28 UTC (rev 1757)
@@ -2715,6 +2715,12 @@
   padding-left: 2em;
 }
 
+/* Poursuites edtude PE */
+form#pe_view_sem_recap_form div.pe_template_up {
+    margin-top: 20px;
+    margin-bottom: 30px;
+}
+
 /* Editable */
 span.span_apo_edit {
     border-bottom: 1px dashed #84ae84;


Plus d'informations sur la liste de diffusion scodoc-devel