TG-62 template et API insert

This commit is contained in:
DonRenando 2017-03-31 12:28:00 +02:00
parent aa6a2bc0bb
commit ab33fb2bbe
11 changed files with 132 additions and 46 deletions

View File

@ -1,67 +1,67 @@
Page 1 :
MASTER : {{ nom_master }}
MASTER : {{page1.nom_master }}
{{ nom_complet_master }}
{{ page1.nom_complet_master }}
Année universitaire :
{{ annee_1 }}
{{ page1.annee_1 }}
-
{{ annee_2 }}
{{ page1.annee_2 }}
De : {{ nom_prenom }}
De : {{ page1.nom_prenom }}
mail : {{ email }}
mail : {{ page1.email }}
tel : {{ telephone }}
tel : {{ page1.telephone }}
Alternant à : {{ entreprise }}
Alternant à : {{ page1.entreprise }}
tuteur/tutrice pédagogique : {{ tuteur_pedagogique }}
tuteur/tutrice pédagogique : {{ page1.tuteur_pedagogique }}
Tuteur / Tutrice entreprise : {{ tuteur_entreprise }}
Tuteur / Tutrice entreprise : {{ page1.tuteur_entreprise }}
Page 2 :
Alternant
Type de contrat :
{{ type_contrat_apprentissage | X }}
{{ type_contrat_professionnalisation | X }}
{{ type_contrat_stage | X }}
{{ page2.type_contrat_apprentissage | X }}
{{ page2.type_contrat_professionnalisation | X }}
{{ page2.type_contrat_stage | X }}
Début de contrat : {{ debut_contrat }}
Fin de contrat : {{ fin_contrat }}
tel : {{ telephone }}
mail : {{ email }}
compostant de formation : {{ compostant_formation }}
responsable tuteur_pedagogique de la formation : {{ responsable_pedagogique_formation }}
tel : {{ tel_responsable_pedagogique_formation }}
mail : {{ mail_responsable_pedagogique_formation }}
Début de contrat : {{ page2.debut_contrat }}
Fin de contrat : {{ page2.fin_contrat }}
tel : {{ page2.telephone }}
mail : {{ page2.email }}
compostant de formation : {{ page2.compostant_formation }}
responsable tuteur_pedagogique de la formation : {{ page2.responsable_pedagogique_formation }}
tel : {{ page2.tel_responsable_pedagogique_formation }}
mail : {{ page2.mail_responsable_pedagogique_formation }}
tuteur pédagogique :
{{ tel_tuteur_pedagogique }}
{{ mail_tuteur_pedagogique }}
{{ page2.tel_tuteur_pedagogique }}
{{ page2.mail_tuteur_pedagogique }}
tuteur entreprise :
{{ tuteur_entreprise }}
entreprise : {{ entreprise }}
adresse lieu Alternance : {{ adresse_entreprise }}
tel : {{ tel_tuteur_entreprise }}
mail : {{ mail_tuteur_entreprise }}
{{ page2.tuteur_entreprise }}
entreprise : {{ page2.entreprise }}
adresse lieu Alternance : {{ page2.adresse_entreprise }}
tel : {{ page2.tel_tuteur_entreprise }}
mail : {{ page2.mail_tuteur_entreprise }}
Page 4 :
poste occupé : {{ poste_occupe }}
{{ poste_occupe_2 }}
poste occupé : {{ page4.poste_occupe }}
{{ page4.poste_occupe_2 }}
Pentreprise :
{{ n_periode }}
{{ debut_periode }}
{{ fin_periode }}
{{ travaux_entreprise }}
{{ remarque_tuteur }}
{{ PEntreprise.n_periode }}
{{ PEntreprise.debut_periode }}
{{ PEntreprise.fin_periode }}
{{ PEntreprise.travaux_entreprise }}
{{ PEntreprise.remarque_tuteur }}
bilan_periode :
{{ n_periode }}
{{ bilan_periode }}
{{ PFormation.n_periode }}
{{ PFormation.bilan_periode }}

View File

@ -0,0 +1,82 @@
from flask_restful import Resource
from app.model import *
from app.tools.LibPdf import fusion_fichiers
class ExportPdfAPI(Resource):
def get(self, uid=0, gid=0, name=""):
if uid > 0:
user = getUser(uid=uid)
group = getGroup(gid)
if user is None:
return {"ERROR": "The user with id " + str(gid) + " does not exists !"}, 400
prenom = user["name"].split(" ", 1)
nom = user["name"].split(" ", 2)
group["name"]
annee1 = group["year"]
annee2 = int(group["year"]) + 1
promo = group["class_short"]
group["class_long"]
group["departement"]
group["resp_id"]
group["sec_id"]
group["ressources_dir"]
self.data = {
'page1.nom_master': 'Renan',
'page1.nom_complet_master': 'Husson',
'page1.annee_1': 'Husson',
'page1.annee_2': 'Jean Jaures',
'page1.nom_prenom': 'Panda',
'page1.email': 'Panda',
'page1.telephone': 'Panda',
'page1.entreprise': 'Panda',
'page1.tuteur_pedagogique': 'Panda',
'page1.tuteur_entreprise': 'Panda',
'page2.type_contrat_apprentissage': True,
'page2.type_contrat_professionnalisation': True,
'page2.type_contrat_stage': True,
'page2.debut_contrat': 'Panda',
'page2.fin_contrat': 'Panda',
'page2.telephone': 'Panda',
'page2.email': 'Panda',
'page2.compostant_formation': 'Panda',
'page2.responsable_pedagogique_formation': 'Panda',
'page2.tel_responsable_pedagogique_formation': 'Panda',
'page2.mail_responsable_pedagogique_formation': 'Panda',
'page2.tel_tuteur_pedagogique': 'Panda',
'page2.mail_tuteur_pedagogique': 'Panda',
'page2.tuteur_entreprise': 'Panda',
'page2.entreprise': 'Panda',
'page2.adresse_entreprise': 'Panda',
'page2.tel_tuteur_entreprise': 'Panda',
'page2.mail_tuteur_entreprise': 'Panda',
'page4.poste_occupe': 'Panda',
'page4.poste_occupe_2': 'Panda',
'PEntreprise.n_periode': 'Panda',
'PEntreprise.debut_periode': 'Panda',
'PEntreprise.fin_periode': 'Panda',
'PEntreprise.travaux_entreprise': 'Panda',
'PEntreprise.remarque_tuteur': 'Panda',
'pagePFormation.n_periode': 'Panda',
'pagePFormation.bilan_periode': 'Panda',
}
pdf_fusion = ["/page1.pdf", "/page2.pdf"]
chemin_pdf = "/tmp"
nom_pdf = "Livret_Alternant_BOB_Armandeau.pdf"
fusion_fichiers(chemin_pdf, nom_pdf, pdf_fusion)
# Prenom NOM
# remplir_template()

View File

@ -55,15 +55,14 @@ def allowed_file(filename):
def upload_file(file_to_upload, upload_folder):
"""
rep de l'etu avec id
:param file:
televersement d'un fichier
:param file_to_upload:
:param upload_folder:
:return:
"""
file_to_upload.save(os.path.join(upload_folder, secure_filename(file_to_upload.filename)))
def delete_file(pdf_path):
if os.path.exists(pdf_path):
os.remove(pdf_path)

View File

@ -1,20 +1,25 @@
import filecmp
import os
import unittest
from pathlib import Path
from werkzeug.datastructures import FileStorage
from app.tools.LibPdf import upload_file
from app.tools.LibPdf import upload_file, allowed_file
class TestFusionTestCase(unittest.TestCase):
def setUp(self):
self.datadir = os.path.join(os.path.dirname(__file__))
self.datadir = "upload/page1.pdf"
self.file_name = "page1.pdf"
def test_fusion(self):
with open("page1.pdf", 'rb') as fp:
with open(self.file_name, 'rb') as fp:
file = FileStorage(fp)
upload_file(file, "upload")
# self.assertTrue(Path(self.datadir + "/testFusion.pdf").is_file(), "Pdf fusionne inexistant")
# self.assertTrue(len(get_pdf_from_directory(self.datadir)) > 0, "pdf non trouve")
# os.remove(self.datadir + "/testFusion.pdf")
self.assertTrue(Path(self.datadir).is_file(), "Pdf upload inexistant")
self.assertTrue(filecmp.cmp(self.datadir, self.file_name), "fichiers non identique")
self.assertTrue(allowed_file(self.file_name), "format non conforme")
os.remove(self.datadir)