forked from ScoDoc/ScoDoc
ajout notes stage/apprentissage + suppression
This commit is contained in:
parent
dc0212b725
commit
a3cbea5dcd
@ -327,6 +327,7 @@ class StageApprentissageCreationForm(FlaskForm):
|
|||||||
date_fin = DateField(
|
date_fin = DateField(
|
||||||
"Date fin (*)", validators=[DataRequired(message=CHAMP_REQUIS)]
|
"Date fin (*)", validators=[DataRequired(message=CHAMP_REQUIS)]
|
||||||
)
|
)
|
||||||
|
notes = TextAreaField("Notes")
|
||||||
submit = SubmitField("Envoyer", render_kw=SUBMIT_MARGE)
|
submit = SubmitField("Envoyer", render_kw=SUBMIT_MARGE)
|
||||||
|
|
||||||
def validate(self):
|
def validate(self):
|
||||||
@ -373,6 +374,7 @@ class StageApprentissageModificationForm(FlaskForm):
|
|||||||
date_fin = DateField(
|
date_fin = DateField(
|
||||||
"Date fin (*)", validators=[DataRequired(message=CHAMP_REQUIS)]
|
"Date fin (*)", validators=[DataRequired(message=CHAMP_REQUIS)]
|
||||||
)
|
)
|
||||||
|
notes = TextAreaField("Notes")
|
||||||
submit = SubmitField("Modifier", render_kw=SUBMIT_MARGE)
|
submit = SubmitField("Modifier", render_kw=SUBMIT_MARGE)
|
||||||
|
|
||||||
def validate(self):
|
def validate(self):
|
||||||
|
@ -110,6 +110,7 @@ class EntrepriseStageApprentissage(db.Model):
|
|||||||
date_fin = db.Column(db.Date)
|
date_fin = db.Column(db.Date)
|
||||||
formation_text = db.Column(db.Text)
|
formation_text = db.Column(db.Text)
|
||||||
formation_scodoc = db.Column(db.Integer)
|
formation_scodoc = db.Column(db.Integer)
|
||||||
|
notes = db.Column(db.Text)
|
||||||
|
|
||||||
|
|
||||||
class EntrepriseEnvoiOffre(db.Model):
|
class EntrepriseEnvoiOffre(db.Model):
|
||||||
|
@ -784,9 +784,9 @@ def delete_correspondant(id):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@bp.route("/add_stages_apprentissages/<int:id>", methods=["GET", "POST"])
|
@bp.route("/add_stage_apprentissage/<int:id>", methods=["GET", "POST"])
|
||||||
@permission_required(Permission.RelationsEntreprisesChange)
|
@permission_required(Permission.RelationsEntreprisesChange)
|
||||||
def add_stages_apprentissages(id):
|
def add_stage_apprentissage(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
|
||||||
"""
|
"""
|
||||||
@ -817,6 +817,7 @@ def add_stages_apprentissages(id):
|
|||||||
formation_scodoc=formation.formsemestre.formsemestre_id
|
formation_scodoc=formation.formsemestre.formsemestre_id
|
||||||
if formation
|
if formation
|
||||||
else None,
|
else None,
|
||||||
|
notes=form.notes.data.strip(),
|
||||||
)
|
)
|
||||||
db.session.add(stage_apprentissage)
|
db.session.add(stage_apprentissage)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
@ -829,9 +830,9 @@ def add_stages_apprentissages(id):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@bp.route("/edit_stages_apprentissages/<int:id>", methods=["GET", "POST"])
|
@bp.route("/edit_stage_apprentissage/<int:id>", methods=["GET", "POST"])
|
||||||
@permission_required(Permission.RelationsEntreprisesChange)
|
@permission_required(Permission.RelationsEntreprisesChange)
|
||||||
def edit_stages_apprentissages(id):
|
def edit_stage_apprentissage(id):
|
||||||
stage_apprentissage = EntrepriseStageApprentissage.query.filter_by(
|
stage_apprentissage = EntrepriseStageApprentissage.query.filter_by(
|
||||||
id=id
|
id=id
|
||||||
).first_or_404(description=f"stage_apprentissage {id} inconnue")
|
).first_or_404(description=f"stage_apprentissage {id} inconnue")
|
||||||
@ -854,14 +855,15 @@ def edit_stages_apprentissages(id):
|
|||||||
)
|
)
|
||||||
stage_apprentissage.etudid = etudiant.id
|
stage_apprentissage.etudid = etudiant.id
|
||||||
stage_apprentissage.type_offre = form.type_offre.data.strip()
|
stage_apprentissage.type_offre = form.type_offre.data.strip()
|
||||||
stage_apprentissage.date_debut = (form.date_debut.data,)
|
stage_apprentissage.date_debut = form.date_debut.data
|
||||||
stage_apprentissage.date_fin = (form.date_fin.data,)
|
stage_apprentissage.date_fin = form.date_fin.data
|
||||||
stage_apprentissage.formation_text = (
|
stage_apprentissage.formation_text = (
|
||||||
formation.formsemestre.titre if formation else None,
|
formation.formsemestre.titre if formation else None,
|
||||||
)
|
)
|
||||||
stage_apprentissage.formation_scodoc = (
|
stage_apprentissage.formation_scodoc = (
|
||||||
formation.formsemestre.formsemestre_id if formation else None,
|
formation.formsemestre.formsemestre_id if formation else None,
|
||||||
)
|
)
|
||||||
|
stage_apprentissage.notes = form.notes.data.strip()
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
return redirect(
|
return redirect(
|
||||||
url_for(
|
url_for(
|
||||||
@ -873,6 +875,7 @@ def edit_stages_apprentissages(id):
|
|||||||
form.type_offre.data = stage_apprentissage.type_offre
|
form.type_offre.data = stage_apprentissage.type_offre
|
||||||
form.date_debut.data = stage_apprentissage.date_debut
|
form.date_debut.data = stage_apprentissage.date_debut
|
||||||
form.date_fin.data = stage_apprentissage.date_fin
|
form.date_fin.data = stage_apprentissage.date_fin
|
||||||
|
form.notes.data = stage_apprentissage.notes
|
||||||
return render_template(
|
return render_template(
|
||||||
"entreprises/ajout_stage_apprentissage.html",
|
"entreprises/ajout_stage_apprentissage.html",
|
||||||
title="Modification stage / apprentissage",
|
title="Modification stage / apprentissage",
|
||||||
@ -880,6 +883,27 @@ def edit_stages_apprentissages(id):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@bp.route("/delete_stage_apprentissage/<int:id>", methods=["GET", "POST"])
|
||||||
|
def delete_stage_apprentissage(id):
|
||||||
|
stage_apprentissage = EntrepriseStageApprentissage.query.filter_by(
|
||||||
|
id=id
|
||||||
|
).first_or_404(description=f"stage_apprentissage {id} inconnu")
|
||||||
|
form = SuppressionConfirmationForm()
|
||||||
|
if form.validate_on_submit():
|
||||||
|
db.session.delete(stage_apprentissage)
|
||||||
|
db.session.commit()
|
||||||
|
return redirect(
|
||||||
|
url_for(
|
||||||
|
"entreprises.fiche_entreprise", id=stage_apprentissage.entreprise_id
|
||||||
|
)
|
||||||
|
)
|
||||||
|
return render_template(
|
||||||
|
"entreprises/delete_confirmation.html",
|
||||||
|
title="Supression stage/apprentissage",
|
||||||
|
form=form,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@bp.route("/envoyer_offre/<int:id>", methods=["GET", "POST"])
|
@bp.route("/envoyer_offre/<int:id>", methods=["GET", "POST"])
|
||||||
@permission_required(Permission.RelationsEntreprisesSend)
|
@permission_required(Permission.RelationsEntreprisesSend)
|
||||||
def envoyer_offre(id):
|
def envoyer_offre(id):
|
||||||
|
@ -71,7 +71,7 @@
|
|||||||
|
|
||||||
<div style="margin-bottom: 10px;">
|
<div style="margin-bottom: 10px;">
|
||||||
{% if current_user.has_permission(current_user.Permission.RelationsEntreprisesChange, None) %}
|
{% if current_user.has_permission(current_user.Permission.RelationsEntreprisesChange, None) %}
|
||||||
<a class="btn btn-primary" href="{{ url_for('entreprises.add_stages_apprentissages', id=entreprise.id) }}">Ajouter stages ou apprentissages</a>
|
<a class="btn btn-primary" href="{{ url_for('entreprises.add_stage_apprentissage', id=entreprise.id) }}">Ajouter stage ou apprentissage</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<h3>Liste des stages et apprentissages réalisés au sein de l'entreprise</h3>
|
<h3>Liste des stages et apprentissages réalisés au sein de l'entreprise</h3>
|
||||||
<table id="table-stages-apprentissages">
|
<table id="table-stages-apprentissages">
|
||||||
@ -83,6 +83,7 @@
|
|||||||
<td data-priority="">Type</td>
|
<td data-priority="">Type</td>
|
||||||
<td data-priority="">Étudiant</td>
|
<td data-priority="">Étudiant</td>
|
||||||
<td data-priority="">Formation</td>
|
<td data-priority="">Formation</td>
|
||||||
|
<td data-priority="">Notes</td>
|
||||||
{% if current_user.has_permission(current_user.Permission.RelationsEntreprisesChange, None) %}
|
{% if current_user.has_permission(current_user.Permission.RelationsEntreprisesChange, None) %}
|
||||||
<td data-priority="3">Action</td>
|
<td data-priority="3">Action</td>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@ -97,6 +98,7 @@
|
|||||||
<td>{{ data[0].type_offre }}</td>
|
<td>{{ data[0].type_offre }}</td>
|
||||||
<td>{{ data[1].nom|format_nom }} {{ data[1].prenom|format_prenom }}</td>
|
<td>{{ data[1].nom|format_nom }} {{ data[1].prenom|format_prenom }}</td>
|
||||||
<td>{% if data[0].formation_text %}{{ data[0].formation_text }}{% endif %}</td>
|
<td>{% if data[0].formation_text %}{{ data[0].formation_text }}{% endif %}</td>
|
||||||
|
<td>{{ data[0].notes }}</td>
|
||||||
{% if current_user.has_permission(current_user.Permission.RelationsEntreprisesChange, None) %}
|
{% if current_user.has_permission(current_user.Permission.RelationsEntreprisesChange, None) %}
|
||||||
<td>
|
<td>
|
||||||
<div class="btn-group">
|
<div class="btn-group">
|
||||||
@ -104,8 +106,8 @@
|
|||||||
<span class="caret"></span>
|
<span class="caret"></span>
|
||||||
</a>
|
</a>
|
||||||
<ul class="dropdown-menu pull-left">
|
<ul class="dropdown-menu pull-left">
|
||||||
<li><a href="{{ url_for('entreprises.edit_stages_apprentissages', id=data[0].id) }}">Modifier</a></li>
|
<li><a href="{{ url_for('entreprises.edit_stage_apprentissage', id=data[0].id) }}">Modifier</a></li>
|
||||||
<li><a href="{{ url_for('entreprises.delete_entreprise', id=entreprise.id) }}" style="color:red">Supprimer</a></li>
|
<li><a href="{{ url_for('entreprises.delete_stage_apprentissage', id=data[0].id) }}" style="color:red">Supprimer</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
@ -121,6 +123,7 @@
|
|||||||
<td data-priority="">Type</td>
|
<td data-priority="">Type</td>
|
||||||
<td data-priority="">Étudiant</td>
|
<td data-priority="">Étudiant</td>
|
||||||
<td data-priority="">Formation</td>
|
<td data-priority="">Formation</td>
|
||||||
|
<td data-priority="">Notes</td>
|
||||||
{% if current_user.has_permission(current_user.Permission.RelationsEntreprisesChange, None) %}
|
{% if current_user.has_permission(current_user.Permission.RelationsEntreprisesChange, None) %}
|
||||||
<td>Action</td>
|
<td>Action</td>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
"""tables module gestion relations entreprises
|
"""tables module gestion relations entreprises
|
||||||
|
|
||||||
Revision ID: 72ae180645e5
|
Revision ID: 71e760aa626a
|
||||||
Revises: b9aadc10227f
|
Revises: b9aadc10227f
|
||||||
Create Date: 2022-03-28 21:40:35.426046
|
Create Date: 2022-03-29 18:39:24.772970
|
||||||
|
|
||||||
"""
|
"""
|
||||||
from alembic import op
|
from alembic import op
|
||||||
@ -10,7 +10,7 @@ import sqlalchemy as sa
|
|||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
# revision identifiers, used by Alembic.
|
# revision identifiers, used by Alembic.
|
||||||
revision = "72ae180645e5"
|
revision = "71e760aa626a"
|
||||||
down_revision = "b9aadc10227f"
|
down_revision = "b9aadc10227f"
|
||||||
branch_labels = None
|
branch_labels = None
|
||||||
depends_on = None
|
depends_on = None
|
||||||
@ -76,6 +76,7 @@ def upgrade():
|
|||||||
sa.Column("date_fin", sa.Date(), nullable=True),
|
sa.Column("date_fin", sa.Date(), nullable=True),
|
||||||
sa.Column("formation_text", sa.Text(), nullable=True),
|
sa.Column("formation_text", sa.Text(), nullable=True),
|
||||||
sa.Column("formation_scodoc", sa.Integer(), nullable=True),
|
sa.Column("formation_scodoc", sa.Integer(), nullable=True),
|
||||||
|
sa.Column("notes", sa.Text(), nullable=True),
|
||||||
sa.ForeignKeyConstraint(
|
sa.ForeignKeyConstraint(
|
||||||
["entreprise_id"], ["are_entreprises.id"], ondelete="cascade"
|
["entreprise_id"], ["are_entreprises.id"], ondelete="cascade"
|
||||||
),
|
),
|
||||||
@ -150,9 +151,9 @@ def upgrade():
|
|||||||
sa.ForeignKeyConstraint(["offre_id"], ["are_offres.id"], ondelete="cascade"),
|
sa.ForeignKeyConstraint(["offre_id"], ["are_offres.id"], ondelete="cascade"),
|
||||||
sa.PrimaryKeyConstraint("id"),
|
sa.PrimaryKeyConstraint("id"),
|
||||||
)
|
)
|
||||||
op.drop_index("ix_entreprises_dept_id", table_name="entreprises")
|
|
||||||
op.drop_table("entreprise_contact")
|
op.drop_table("entreprise_contact")
|
||||||
op.drop_table("entreprise_correspondant")
|
op.drop_table("entreprise_correspondant")
|
||||||
|
op.drop_index("ix_entreprises_dept_id", table_name="entreprises")
|
||||||
op.drop_table("entreprises")
|
op.drop_table("entreprises")
|
||||||
# ### end Alembic commands ###
|
# ### end Alembic commands ###
|
||||||
|
|
||||||
@ -195,6 +196,37 @@ def downgrade():
|
|||||||
postgresql_ignore_search_path=False,
|
postgresql_ignore_search_path=False,
|
||||||
)
|
)
|
||||||
op.create_index("ix_entreprises_dept_id", "entreprises", ["dept_id"], unique=False)
|
op.create_index("ix_entreprises_dept_id", "entreprises", ["dept_id"], unique=False)
|
||||||
|
op.create_table(
|
||||||
|
"entreprise_correspondant",
|
||||||
|
sa.Column(
|
||||||
|
"id",
|
||||||
|
sa.INTEGER(),
|
||||||
|
server_default=sa.text(
|
||||||
|
"nextval('entreprise_correspondant_id_seq'::regclass)"
|
||||||
|
),
|
||||||
|
autoincrement=True,
|
||||||
|
nullable=False,
|
||||||
|
),
|
||||||
|
sa.Column("entreprise_id", sa.INTEGER(), autoincrement=False, nullable=True),
|
||||||
|
sa.Column("nom", sa.TEXT(), autoincrement=False, nullable=True),
|
||||||
|
sa.Column("prenom", sa.TEXT(), autoincrement=False, nullable=True),
|
||||||
|
sa.Column("civilite", sa.TEXT(), autoincrement=False, nullable=True),
|
||||||
|
sa.Column("fonction", sa.TEXT(), autoincrement=False, nullable=True),
|
||||||
|
sa.Column("phone1", sa.TEXT(), autoincrement=False, nullable=True),
|
||||||
|
sa.Column("phone2", sa.TEXT(), autoincrement=False, nullable=True),
|
||||||
|
sa.Column("mobile", sa.TEXT(), autoincrement=False, nullable=True),
|
||||||
|
sa.Column("mail1", sa.TEXT(), autoincrement=False, nullable=True),
|
||||||
|
sa.Column("mail2", sa.TEXT(), autoincrement=False, nullable=True),
|
||||||
|
sa.Column("fax", sa.TEXT(), autoincrement=False, nullable=True),
|
||||||
|
sa.Column("note", sa.TEXT(), autoincrement=False, nullable=True),
|
||||||
|
sa.ForeignKeyConstraint(
|
||||||
|
["entreprise_id"],
|
||||||
|
["entreprises.id"],
|
||||||
|
name="entreprise_correspondant_entreprise_id_fkey",
|
||||||
|
),
|
||||||
|
sa.PrimaryKeyConstraint("id", name="entreprise_correspondant_pkey"),
|
||||||
|
postgresql_ignore_search_path=False,
|
||||||
|
)
|
||||||
op.create_table(
|
op.create_table(
|
||||||
"entreprise_contact",
|
"entreprise_contact",
|
||||||
sa.Column("id", sa.INTEGER(), autoincrement=True, nullable=False),
|
sa.Column("id", sa.INTEGER(), autoincrement=True, nullable=False),
|
||||||
@ -224,28 +256,6 @@ def downgrade():
|
|||||||
),
|
),
|
||||||
sa.PrimaryKeyConstraint("id", name="entreprise_contact_pkey"),
|
sa.PrimaryKeyConstraint("id", name="entreprise_contact_pkey"),
|
||||||
)
|
)
|
||||||
op.create_table(
|
|
||||||
"entreprise_correspondant",
|
|
||||||
sa.Column("id", sa.INTEGER(), autoincrement=True, nullable=False),
|
|
||||||
sa.Column("entreprise_id", sa.INTEGER(), autoincrement=False, nullable=True),
|
|
||||||
sa.Column("nom", sa.TEXT(), autoincrement=False, nullable=True),
|
|
||||||
sa.Column("prenom", sa.TEXT(), autoincrement=False, nullable=True),
|
|
||||||
sa.Column("civilite", sa.TEXT(), autoincrement=False, nullable=True),
|
|
||||||
sa.Column("fonction", sa.TEXT(), autoincrement=False, nullable=True),
|
|
||||||
sa.Column("phone1", sa.TEXT(), autoincrement=False, nullable=True),
|
|
||||||
sa.Column("phone2", sa.TEXT(), autoincrement=False, nullable=True),
|
|
||||||
sa.Column("mobile", sa.TEXT(), autoincrement=False, nullable=True),
|
|
||||||
sa.Column("mail1", sa.TEXT(), autoincrement=False, nullable=True),
|
|
||||||
sa.Column("mail2", sa.TEXT(), autoincrement=False, nullable=True),
|
|
||||||
sa.Column("fax", sa.TEXT(), autoincrement=False, nullable=True),
|
|
||||||
sa.Column("note", sa.TEXT(), autoincrement=False, nullable=True),
|
|
||||||
sa.ForeignKeyConstraint(
|
|
||||||
["entreprise_id"],
|
|
||||||
["entreprises.id"],
|
|
||||||
name="entreprise_correspondant_entreprise_id_fkey",
|
|
||||||
),
|
|
||||||
sa.PrimaryKeyConstraint("id", name="entreprise_correspondant_pkey"),
|
|
||||||
)
|
|
||||||
op.drop_table("are_offre_departement")
|
op.drop_table("are_offre_departement")
|
||||||
op.drop_table("are_envoi_offre_etudiant")
|
op.drop_table("are_envoi_offre_etudiant")
|
||||||
op.drop_table("are_envoi_offre")
|
op.drop_table("are_envoi_offre")
|
Loading…
Reference in New Issue
Block a user