forked from ScoDoc/ScoDoc
not found module gestion entreprises
This commit is contained in:
parent
9b21157fb7
commit
663daa564b
@ -190,6 +190,7 @@ def create_app(config_class=DevConfig):
|
||||
|
||||
app.register_error_handler(ScoGenError, handle_sco_value_error)
|
||||
app.register_error_handler(ScoValueError, handle_sco_value_error)
|
||||
app.register_error_handler(404, handle_sco_value_error)
|
||||
|
||||
app.register_error_handler(AccessDenied, handle_access_denied)
|
||||
app.register_error_handler(500, internal_server_error)
|
||||
|
@ -123,7 +123,9 @@ def fiche_entreprise(id):
|
||||
La fiche entreprise comporte les informations de l'entreprise, les contacts de l'entreprise et
|
||||
les offres de l'entreprise.
|
||||
"""
|
||||
entreprise = Entreprise.query.filter_by(id=id, visible=True).first_or_404()
|
||||
entreprise = Entreprise.query.filter_by(id=id, visible=True).first_or_404(
|
||||
description=f"fiche entreprise {id} inconnu"
|
||||
)
|
||||
offres_with_files = []
|
||||
depts = are.get_depts()
|
||||
for offre in entreprise.offres:
|
||||
@ -163,7 +165,9 @@ def logs_entreprise(id):
|
||||
Permet d'afficher les logs (toutes les entreprises)
|
||||
"""
|
||||
page = request.args.get("page", 1, type=int)
|
||||
entreprise = Entreprise.query.filter_by(id=id, visible=True).first_or_404()
|
||||
entreprise = Entreprise.query.filter_by(id=id, visible=True).first_or_404(
|
||||
description=f"logs fiche entreprise {id} inconnu"
|
||||
)
|
||||
logs = (
|
||||
EntrepriseLog.query.order_by(EntrepriseLog.date.desc())
|
||||
.filter_by(object=id)
|
||||
@ -183,7 +187,9 @@ def fiche_entreprise_validation(id):
|
||||
"""
|
||||
Permet d'afficher la fiche entreprise d'une entreprise a valider
|
||||
"""
|
||||
entreprise = Entreprise.query.filter_by(id=id, visible=False).first_or_404()
|
||||
entreprise = Entreprise.query.filter_by(id=id, visible=False).first_or_404(
|
||||
description=f"fiche entreprise (validation) {id} inconnu"
|
||||
)
|
||||
contacts = entreprise.contacts
|
||||
return render_template(
|
||||
"entreprises/fiche_entreprise_validation.html",
|
||||
@ -235,7 +241,9 @@ def offres_expirees(id):
|
||||
"""
|
||||
Permet d'afficher la liste des offres expirés d'une entreprise
|
||||
"""
|
||||
entreprise = Entreprise.query.filter_by(id=id, visible=True).first_or_404()
|
||||
entreprise = Entreprise.query.filter_by(id=id, visible=True).first_or_404(
|
||||
description=f"fiche entreprise {id} inconnu"
|
||||
)
|
||||
offres_expirees_with_files = []
|
||||
depts = are.get_depts()
|
||||
for offre in entreprise.offres:
|
||||
@ -309,7 +317,9 @@ def edit_entreprise(id):
|
||||
"""
|
||||
Permet de modifier une entreprise de la base avec un formulaire
|
||||
"""
|
||||
entreprise = Entreprise.query.filter_by(id=id, visible=True).first_or_404()
|
||||
entreprise = Entreprise.query.filter_by(id=id, visible=True).first_or_404(
|
||||
description=f"entreprise {id} inconnu"
|
||||
)
|
||||
form = EntrepriseModificationForm()
|
||||
if form.validate_on_submit():
|
||||
nom_entreprise = f"<a href=/ScoDoc/entreprises/fiche_entreprise/{entreprise.id}>{form.nom.data.strip()}</a>"
|
||||
@ -376,7 +386,9 @@ def delete_entreprise(id):
|
||||
"""
|
||||
Permet de supprimer une entreprise de la base avec un formulaire de confirmation
|
||||
"""
|
||||
entreprise = Entreprise.query.filter_by(id=id, visible=True).first_or_404()
|
||||
entreprise = Entreprise.query.filter_by(id=id, visible=True).first_or_404(
|
||||
description=f"entreprise {id} inconnu"
|
||||
)
|
||||
form = SuppressionConfirmationForm()
|
||||
if form.validate_on_submit():
|
||||
db.session.delete(entreprise)
|
||||
@ -411,7 +423,9 @@ def validate_entreprise(id):
|
||||
Permet de valider une entreprise
|
||||
"""
|
||||
form = ValidationConfirmationForm()
|
||||
entreprise = Entreprise.query.filter_by(id=id, visible=False).first_or_404()
|
||||
entreprise = Entreprise.query.filter_by(id=id, visible=False).first_or_404(
|
||||
description=f"entreprise (validation) {id} inconnu"
|
||||
)
|
||||
if form.validate_on_submit():
|
||||
entreprise.visible = True
|
||||
nom_entreprise = f"<a href=/ScoDoc/entreprises/fiche_entreprise/{entreprise.id}>{entreprise.nom}</a>"
|
||||
@ -436,7 +450,9 @@ def delete_validation_entreprise(id):
|
||||
"""
|
||||
Permet de supprimer une entreprise en attente de validation avec une formulaire de validation
|
||||
"""
|
||||
entreprise = Entreprise.query.filter_by(id=id, visible=False).first_or_404()
|
||||
entreprise = Entreprise.query.filter_by(id=id, visible=False).first_or_404(
|
||||
description=f"entreprise (validation) {id} inconnu"
|
||||
)
|
||||
form = SuppressionConfirmationForm()
|
||||
if form.validate_on_submit():
|
||||
db.session.delete(entreprise)
|
||||
@ -456,7 +472,9 @@ def add_offre(id):
|
||||
"""
|
||||
Permet d'ajouter une offre a une entreprise
|
||||
"""
|
||||
entreprise = Entreprise.query.filter_by(id=id, visible=True).first_or_404()
|
||||
entreprise = Entreprise.query.filter_by(id=id, visible=True).first_or_404(
|
||||
description=f"entreprise {id} inconnu"
|
||||
)
|
||||
form = OffreCreationForm()
|
||||
if form.validate_on_submit():
|
||||
offre = EntrepriseOffre(
|
||||
@ -499,7 +517,9 @@ def edit_offre(id):
|
||||
"""
|
||||
Permet de modifier une offre
|
||||
"""
|
||||
offre = EntrepriseOffre.query.filter_by(id=id).first_or_404()
|
||||
offre = EntrepriseOffre.query.filter_by(id=id).first_or_404(
|
||||
description=f"offre {id} inconnu"
|
||||
)
|
||||
offre_depts = EntrepriseOffreDepartement.query.filter_by(offre_id=offre.id).all()
|
||||
form = OffreModificationForm()
|
||||
offre_depts_list = [(offre_dept.dept_id) for offre_dept in offre_depts]
|
||||
@ -554,7 +574,9 @@ def delete_offre(id):
|
||||
"""
|
||||
Permet de supprimer une offre
|
||||
"""
|
||||
offre = EntrepriseOffre.query.filter_by(id=id).first_or_404()
|
||||
offre = EntrepriseOffre.query.filter_by(id=id).first_or_404(
|
||||
description=f"offre {id} inconnu"
|
||||
)
|
||||
entreprise_id = offre.entreprise.id
|
||||
form = SuppressionConfirmationForm()
|
||||
if form.validate_on_submit():
|
||||
@ -588,7 +610,7 @@ def delete_offre(id):
|
||||
def delete_offre_recue(id):
|
||||
offre_recue = EntrepriseEnvoiOffre.query.filter_by(
|
||||
id=id, receiver_id=current_user.id
|
||||
).first_or_404()
|
||||
).first_or_404(description=f"offre recu {id} inconnu")
|
||||
db.session.delete(offre_recue)
|
||||
db.session.commit()
|
||||
return redirect(url_for("entreprises.offres_recues"))
|
||||
@ -600,7 +622,9 @@ def add_contact(id):
|
||||
"""
|
||||
Permet d'ajouter un contact a une entreprise
|
||||
"""
|
||||
entreprise = Entreprise.query.filter_by(id=id, visible=True).first_or_404()
|
||||
entreprise = Entreprise.query.filter_by(id=id, visible=True).first_or_404(
|
||||
description=f"entreprise {id} inconnu"
|
||||
)
|
||||
form = ContactCreationForm(hidden_entreprise_id=entreprise.id)
|
||||
if form.validate_on_submit():
|
||||
contact = EntrepriseContact(
|
||||
@ -635,7 +659,9 @@ def edit_contact(id):
|
||||
"""
|
||||
Permet de modifier un contact
|
||||
"""
|
||||
contact = EntrepriseContact.query.filter_by(id=id).first_or_404()
|
||||
contact = EntrepriseContact.query.filter_by(id=id).first_or_404(
|
||||
description=f"contact {id} inconnu"
|
||||
)
|
||||
form = ContactModificationForm(
|
||||
hidden_entreprise_id=contact.entreprise_id,
|
||||
hidden_contact_id=contact.id,
|
||||
@ -678,7 +704,9 @@ def delete_contact(id):
|
||||
"""
|
||||
Permet de supprimer un contact
|
||||
"""
|
||||
contact = EntrepriseContact.query.filter_by(id=id).first_or_404()
|
||||
contact = EntrepriseContact.query.filter_by(id=id).first_or_404(
|
||||
description=f"contact {id} inconnu"
|
||||
)
|
||||
form = SuppressionConfirmationForm()
|
||||
if form.validate_on_submit():
|
||||
contact_count = EntrepriseContact.query.filter_by(
|
||||
@ -717,7 +745,9 @@ def add_historique(id):
|
||||
"""
|
||||
Permet d'ajouter un étudiant ayant réalisé un stage ou une alternance sur la fiche entreprise de l'entreprise
|
||||
"""
|
||||
entreprise = Entreprise.query.filter_by(id=id, visible=True).first_or_404()
|
||||
entreprise = Entreprise.query.filter_by(id=id, visible=True).first_or_404(
|
||||
description=f"entreprise {id} inconnu"
|
||||
)
|
||||
form = HistoriqueCreationForm()
|
||||
if form.validate_on_submit():
|
||||
etudiant_nomcomplet = form.etudiant.data.upper().strip()
|
||||
@ -760,7 +790,9 @@ def envoyer_offre(id):
|
||||
"""
|
||||
Permet d'envoyer une offre à un utilisateur
|
||||
"""
|
||||
offre = EntrepriseOffre.query.filter_by(id=id).first_or_404()
|
||||
offre = EntrepriseOffre.query.filter_by(id=id).first_or_404(
|
||||
description=f"offre {id} inconnu"
|
||||
)
|
||||
form = EnvoiOffreForm()
|
||||
if form.validate_on_submit():
|
||||
responsable_data = form.responsable.data.upper().strip()
|
||||
@ -794,7 +826,7 @@ def json_etudiants():
|
||||
"""
|
||||
Permet de récuperer un JSON avec tous les étudiants
|
||||
"""
|
||||
if request.args.get("term") == None:
|
||||
if request.args.get("term") is None:
|
||||
abort(400)
|
||||
term = request.args.get("term").strip()
|
||||
etudiants = Identite.query.filter(Identite.nom.ilike(f"%{term}%")).all()
|
||||
@ -820,7 +852,7 @@ def json_responsables():
|
||||
"""
|
||||
Permet de récuperer un JSON avec tous les étudiants
|
||||
"""
|
||||
if request.args.get("term") == None:
|
||||
if request.args.get("term") is None:
|
||||
abort(400)
|
||||
term = request.args.get("term").strip()
|
||||
responsables = User.query.filter(
|
||||
@ -873,8 +905,9 @@ def get_import_entreprises_file_sample():
|
||||
"pays",
|
||||
]
|
||||
titles = keys[:]
|
||||
# lines = [["" for x in range(6)] for y in range(100)]
|
||||
title = "ImportEntreprises"
|
||||
xlsx = sco_excel.excel_simple_table(titles=titles, sheet_name="Entreprises")
|
||||
xlsx = sco_excel.excel_simple_table_test(titles=titles, sheet_name="Entreprises")
|
||||
filename = title
|
||||
return scu.send_file(xlsx, filename, scu.XLSX_SUFFIX, scu.XLSX_MIMETYPE)
|
||||
|
||||
@ -1126,7 +1159,7 @@ def get_offre_file(entreprise_id, offre_id, filedir, filename):
|
||||
as_attachment=True,
|
||||
)
|
||||
else:
|
||||
abort(404)
|
||||
abort(404, description=f"fichier {filename} inconnu")
|
||||
|
||||
|
||||
@bp.route("/add_offre_file/<int:offre_id>", methods=["GET", "POST"])
|
||||
@ -1135,7 +1168,9 @@ def add_offre_file(offre_id):
|
||||
"""
|
||||
Permet d'ajouter un fichier à une offre
|
||||
"""
|
||||
offre = EntrepriseOffre.query.filter_by(id=offre_id).first_or_404()
|
||||
offre = EntrepriseOffre.query.filter_by(id=offre_id).first_or_404(
|
||||
description=f"offre {offre_id} inconnu"
|
||||
)
|
||||
form = AjoutFichierForm()
|
||||
if form.validate_on_submit():
|
||||
date = f"{datetime.now().strftime('%Y-%m-%d-%H-%M-%S')}"
|
||||
@ -1165,7 +1200,9 @@ def delete_offre_file(offre_id, filedir):
|
||||
"""
|
||||
Permet de supprimer un fichier d'une offre
|
||||
"""
|
||||
offre = EntrepriseOffre.query.filter_by(id=offre_id).first_or_404()
|
||||
offre = EntrepriseOffre.query.filter_by(id=offre_id).first_or_404(
|
||||
description=f"offre {offre_id} inconnu"
|
||||
)
|
||||
form = SuppressionConfirmationForm()
|
||||
if form.validate_on_submit():
|
||||
path = os.path.join(
|
||||
|
@ -428,6 +428,52 @@ def excel_simple_table(
|
||||
return ws.generate()
|
||||
|
||||
|
||||
def excel_simple_table_test(
|
||||
titles=None, lines=None, sheet_name=b"feuille", titles_styles=None, comments=None
|
||||
):
|
||||
"""Export simple type 'CSV': 1ere ligne en gras, le reste tel quel"""
|
||||
ws = ScoExcelSheet(sheet_name)
|
||||
|
||||
if titles is None:
|
||||
titles = []
|
||||
if lines is None:
|
||||
lines = [[]]
|
||||
if titles_styles is None:
|
||||
style = excel_make_style(bold=True)
|
||||
titles_styles = [style] * len(titles)
|
||||
if comments is None:
|
||||
comments = [None] * len(titles)
|
||||
# ligne de titres
|
||||
ws.append_row(
|
||||
[
|
||||
ws.make_cell(it, style, comment)
|
||||
for (it, style, comment) in zip(titles, titles_styles, comments)
|
||||
]
|
||||
)
|
||||
default_style = excel_make_style()
|
||||
text_style = excel_make_style(number_format=FORMAT_GENERAL)
|
||||
int_style = excel_make_style()
|
||||
float_style = excel_make_style(number_format=FORMAT_NUMBER_00)
|
||||
for line in lines:
|
||||
cells = []
|
||||
for it in line:
|
||||
cell_style = default_style
|
||||
if type(it) == float:
|
||||
cell_style = float_style
|
||||
elif type(it) == int:
|
||||
cell_style = int_style
|
||||
else:
|
||||
cell_style = text_style
|
||||
cells.append(ws.make_cell(it, cell_style))
|
||||
ws.append_row(cells)
|
||||
|
||||
# sheet = ws.wb.active
|
||||
# for cell in sheet["A2":"A100"]:
|
||||
# cell.number_format = FORMAT_GENERAL
|
||||
|
||||
return ws.generate()
|
||||
|
||||
|
||||
def excel_feuille_saisie(e, titreannee, description, lines):
|
||||
"""Genere feuille excel pour saisie des notes.
|
||||
E: evaluation (dict)
|
||||
|
Loading…
Reference in New Issue
Block a user