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(ScoGenError, handle_sco_value_error)
|
||||||
app.register_error_handler(ScoValueError, 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(AccessDenied, handle_access_denied)
|
||||||
app.register_error_handler(500, internal_server_error)
|
app.register_error_handler(500, internal_server_error)
|
||||||
@ -201,7 +202,7 @@ def create_app(config_class=DevConfig):
|
|||||||
app.register_blueprint(auth_bp, url_prefix="/auth")
|
app.register_blueprint(auth_bp, url_prefix="/auth")
|
||||||
|
|
||||||
from app.entreprises import bp as entreprises_bp
|
from app.entreprises import bp as entreprises_bp
|
||||||
|
|
||||||
app.register_blueprint(entreprises_bp, url_prefix="/ScoDoc/entreprises")
|
app.register_blueprint(entreprises_bp, url_prefix="/ScoDoc/entreprises")
|
||||||
|
|
||||||
from app.views import scodoc_bp
|
from app.views import scodoc_bp
|
||||||
|
@ -123,7 +123,9 @@ def fiche_entreprise(id):
|
|||||||
La fiche entreprise comporte les informations de l'entreprise, les contacts de l'entreprise et
|
La fiche entreprise comporte les informations de l'entreprise, les contacts de l'entreprise et
|
||||||
les offres de l'entreprise.
|
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 = []
|
offres_with_files = []
|
||||||
depts = are.get_depts()
|
depts = are.get_depts()
|
||||||
for offre in entreprise.offres:
|
for offre in entreprise.offres:
|
||||||
@ -163,7 +165,9 @@ def logs_entreprise(id):
|
|||||||
Permet d'afficher les logs (toutes les entreprises)
|
Permet d'afficher les logs (toutes les entreprises)
|
||||||
"""
|
"""
|
||||||
page = request.args.get("page", 1, type=int)
|
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 = (
|
logs = (
|
||||||
EntrepriseLog.query.order_by(EntrepriseLog.date.desc())
|
EntrepriseLog.query.order_by(EntrepriseLog.date.desc())
|
||||||
.filter_by(object=id)
|
.filter_by(object=id)
|
||||||
@ -183,7 +187,9 @@ def fiche_entreprise_validation(id):
|
|||||||
"""
|
"""
|
||||||
Permet d'afficher la fiche entreprise d'une entreprise a valider
|
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
|
contacts = entreprise.contacts
|
||||||
return render_template(
|
return render_template(
|
||||||
"entreprises/fiche_entreprise_validation.html",
|
"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
|
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 = []
|
offres_expirees_with_files = []
|
||||||
depts = are.get_depts()
|
depts = are.get_depts()
|
||||||
for offre in entreprise.offres:
|
for offre in entreprise.offres:
|
||||||
@ -309,7 +317,9 @@ def edit_entreprise(id):
|
|||||||
"""
|
"""
|
||||||
Permet de modifier une entreprise de la base avec un formulaire
|
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()
|
form = EntrepriseModificationForm()
|
||||||
if form.validate_on_submit():
|
if form.validate_on_submit():
|
||||||
nom_entreprise = f"<a href=/ScoDoc/entreprises/fiche_entreprise/{entreprise.id}>{form.nom.data.strip()}</a>"
|
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
|
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()
|
form = SuppressionConfirmationForm()
|
||||||
if form.validate_on_submit():
|
if form.validate_on_submit():
|
||||||
db.session.delete(entreprise)
|
db.session.delete(entreprise)
|
||||||
@ -411,7 +423,9 @@ def validate_entreprise(id):
|
|||||||
Permet de valider une entreprise
|
Permet de valider une entreprise
|
||||||
"""
|
"""
|
||||||
form = ValidationConfirmationForm()
|
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():
|
if form.validate_on_submit():
|
||||||
entreprise.visible = True
|
entreprise.visible = True
|
||||||
nom_entreprise = f"<a href=/ScoDoc/entreprises/fiche_entreprise/{entreprise.id}>{entreprise.nom}</a>"
|
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
|
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()
|
form = SuppressionConfirmationForm()
|
||||||
if form.validate_on_submit():
|
if form.validate_on_submit():
|
||||||
db.session.delete(entreprise)
|
db.session.delete(entreprise)
|
||||||
@ -456,7 +472,9 @@ def add_offre(id):
|
|||||||
"""
|
"""
|
||||||
Permet d'ajouter une offre a une entreprise
|
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()
|
form = OffreCreationForm()
|
||||||
if form.validate_on_submit():
|
if form.validate_on_submit():
|
||||||
offre = EntrepriseOffre(
|
offre = EntrepriseOffre(
|
||||||
@ -499,7 +517,9 @@ def edit_offre(id):
|
|||||||
"""
|
"""
|
||||||
Permet de modifier une offre
|
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()
|
offre_depts = EntrepriseOffreDepartement.query.filter_by(offre_id=offre.id).all()
|
||||||
form = OffreModificationForm()
|
form = OffreModificationForm()
|
||||||
offre_depts_list = [(offre_dept.dept_id) for offre_dept in offre_depts]
|
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
|
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
|
entreprise_id = offre.entreprise.id
|
||||||
form = SuppressionConfirmationForm()
|
form = SuppressionConfirmationForm()
|
||||||
if form.validate_on_submit():
|
if form.validate_on_submit():
|
||||||
@ -588,7 +610,7 @@ def delete_offre(id):
|
|||||||
def delete_offre_recue(id):
|
def delete_offre_recue(id):
|
||||||
offre_recue = EntrepriseEnvoiOffre.query.filter_by(
|
offre_recue = EntrepriseEnvoiOffre.query.filter_by(
|
||||||
id=id, receiver_id=current_user.id
|
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.delete(offre_recue)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
return redirect(url_for("entreprises.offres_recues"))
|
return redirect(url_for("entreprises.offres_recues"))
|
||||||
@ -600,7 +622,9 @@ def add_contact(id):
|
|||||||
"""
|
"""
|
||||||
Permet d'ajouter un contact a une entreprise
|
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)
|
form = ContactCreationForm(hidden_entreprise_id=entreprise.id)
|
||||||
if form.validate_on_submit():
|
if form.validate_on_submit():
|
||||||
contact = EntrepriseContact(
|
contact = EntrepriseContact(
|
||||||
@ -635,7 +659,9 @@ def edit_contact(id):
|
|||||||
"""
|
"""
|
||||||
Permet de modifier un contact
|
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(
|
form = ContactModificationForm(
|
||||||
hidden_entreprise_id=contact.entreprise_id,
|
hidden_entreprise_id=contact.entreprise_id,
|
||||||
hidden_contact_id=contact.id,
|
hidden_contact_id=contact.id,
|
||||||
@ -678,7 +704,9 @@ def delete_contact(id):
|
|||||||
"""
|
"""
|
||||||
Permet de supprimer un contact
|
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()
|
form = SuppressionConfirmationForm()
|
||||||
if form.validate_on_submit():
|
if form.validate_on_submit():
|
||||||
contact_count = EntrepriseContact.query.filter_by(
|
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
|
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()
|
form = HistoriqueCreationForm()
|
||||||
if form.validate_on_submit():
|
if form.validate_on_submit():
|
||||||
etudiant_nomcomplet = form.etudiant.data.upper().strip()
|
etudiant_nomcomplet = form.etudiant.data.upper().strip()
|
||||||
@ -760,7 +790,9 @@ def envoyer_offre(id):
|
|||||||
"""
|
"""
|
||||||
Permet d'envoyer une offre à un utilisateur
|
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()
|
form = EnvoiOffreForm()
|
||||||
if form.validate_on_submit():
|
if form.validate_on_submit():
|
||||||
responsable_data = form.responsable.data.upper().strip()
|
responsable_data = form.responsable.data.upper().strip()
|
||||||
@ -794,7 +826,7 @@ def json_etudiants():
|
|||||||
"""
|
"""
|
||||||
Permet de récuperer un JSON avec tous les étudiants
|
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)
|
abort(400)
|
||||||
term = request.args.get("term").strip()
|
term = request.args.get("term").strip()
|
||||||
etudiants = Identite.query.filter(Identite.nom.ilike(f"%{term}%")).all()
|
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
|
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)
|
abort(400)
|
||||||
term = request.args.get("term").strip()
|
term = request.args.get("term").strip()
|
||||||
responsables = User.query.filter(
|
responsables = User.query.filter(
|
||||||
@ -873,8 +905,9 @@ def get_import_entreprises_file_sample():
|
|||||||
"pays",
|
"pays",
|
||||||
]
|
]
|
||||||
titles = keys[:]
|
titles = keys[:]
|
||||||
|
# lines = [["" for x in range(6)] for y in range(100)]
|
||||||
title = "ImportEntreprises"
|
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
|
filename = title
|
||||||
return scu.send_file(xlsx, filename, scu.XLSX_SUFFIX, scu.XLSX_MIMETYPE)
|
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,
|
as_attachment=True,
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
abort(404)
|
abort(404, description=f"fichier {filename} inconnu")
|
||||||
|
|
||||||
|
|
||||||
@bp.route("/add_offre_file/<int:offre_id>", methods=["GET", "POST"])
|
@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
|
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()
|
form = AjoutFichierForm()
|
||||||
if form.validate_on_submit():
|
if form.validate_on_submit():
|
||||||
date = f"{datetime.now().strftime('%Y-%m-%d-%H-%M-%S')}"
|
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
|
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()
|
form = SuppressionConfirmationForm()
|
||||||
if form.validate_on_submit():
|
if form.validate_on_submit():
|
||||||
path = os.path.join(
|
path = os.path.join(
|
||||||
|
@ -428,6 +428,52 @@ def excel_simple_table(
|
|||||||
return ws.generate()
|
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):
|
def excel_feuille_saisie(e, titreannee, description, lines):
|
||||||
"""Genere feuille excel pour saisie des notes.
|
"""Genere feuille excel pour saisie des notes.
|
||||||
E: evaluation (dict)
|
E: evaluation (dict)
|
||||||
|
Loading…
Reference in New Issue
Block a user