From 3b2805627883092f41cac2d41e910f1c50ab06a7 Mon Sep 17 00:00:00 2001 From: Arthur ZHU Date: Fri, 24 Dec 2021 10:43:12 +0100 Subject: [PATCH] ajout table entreprise_envoi_offre --- app/entreprises/models.py | 12 ++- app/entreprises/routes.py | 8 +- ..._creation_tables_relations_entreprises.py} | 75 ++++++++++++------- 3 files changed, 60 insertions(+), 35 deletions(-) rename migrations/versions/{f62d3a0bde1a_creation_tables_relations_entreprises.py => f3b62d64efa3_creation_tables_relations_entreprises.py} (88%) diff --git a/app/entreprises/models.py b/app/entreprises/models.py index a04d115b..b4ac1a4b 100644 --- a/app/entreprises/models.py +++ b/app/entreprises/models.py @@ -20,6 +20,8 @@ class EntrepriseContact(db.Model): prenom = db.Column(db.Text) telephone = db.Column(db.Text) mail = db.Column(db.Text) + poste = db.Column(db.Text) + service = db.Column(db.Text) class EntrepriseOffre(db.Model): __tablename__ = "entreprise_offre" @@ -40,8 +42,8 @@ class EntrepriseLog(db.Model): object = db.Column(db.Integer) text = db.Column(db.Text) -class EntrepriseHistory(db.Model): - __tablename__ = "entreprise_history" +class EntrepriseEtudiant(db.Model): + __tablename__ = "entreprise_etudiant" id = db.Column(db.Integer, primary_key=True) entreprise_id = db.Column(db.Integer, db.ForeignKey("entreprises.id")) etudid = db.Column(db.Integer) @@ -50,3 +52,9 @@ class EntrepriseHistory(db.Model): date_fin = db.Column(db.Date) formation_text = db.Column(db.Text) formation_scodoc = db.Column(db.Integer) + +class EntrepriseEnvoiOffre(db.Model): + __tablename__ = "entreprise_envoi_offre" + id = db.Column(db.Integer, primary_key=True) + user_id = db.Column(db.Integer, db.ForeignKey("user.id")) + offre_id = db.Column(db.Integer, db.ForeignKey("entreprise_offre.id")) \ No newline at end of file diff --git a/app/entreprises/routes.py b/app/entreprises/routes.py index 628a5233..681f1242 100644 --- a/app/entreprises/routes.py +++ b/app/entreprises/routes.py @@ -21,7 +21,7 @@ from app.entreprises.models import ( EntrepriseOffre, EntrepriseContact, EntrepriseLog, - EntrepriseHistory + EntrepriseEtudiant ) from app.models import ( Identite @@ -51,9 +51,9 @@ def fiche_entreprise(id): offres = entreprise.offres contacts = entreprise.contacts logs = EntrepriseLog.query.order_by(EntrepriseLog.date.desc()).filter_by(object=id).limit(LOGS_LEN).all() - historique = db.session.query(EntrepriseHistory, Identite).order_by(EntrepriseHistory.date_debut.desc()).\ + historique = db.session.query(EntrepriseEtudiant, Identite).order_by(EntrepriseEtudiant.date_debut.desc()).\ filter_by(entreprise_id=id).\ - join(Identite, Identite.id == EntrepriseHistory.etudid).all() + join(Identite, Identite.id == EntrepriseEtudiant.etudid).all() return render_template("entreprises/fiche_entreprise.html", title=("Fiche entreprise"), entreprise=entreprise, contacts=contacts, offres=offres, logs=logs, historique=historique) @bp.route("/add_entreprise", methods=["GET", "POST"]) @@ -316,7 +316,7 @@ def add_historique(id): stm = text("SELECT id, CONCAT(nom, ' ', prenom) as nom_prenom FROM Identite WHERE CONCAT(nom, ' ', prenom)=:nom_prenom") etudiant = Identite.query.from_statement(stm).params(nom_prenom=etudiant_nomcomplet).first() formation = etudiant.inscription_courante_date(form.date_debut.data, form.date_fin.data) - historique = EntrepriseHistory( + historique = EntrepriseEtudiant( entreprise_id = entreprise.id, etudid = etudiant.id, type_offre = form.type_offre.data.strip(), diff --git a/migrations/versions/f62d3a0bde1a_creation_tables_relations_entreprises.py b/migrations/versions/f3b62d64efa3_creation_tables_relations_entreprises.py similarity index 88% rename from migrations/versions/f62d3a0bde1a_creation_tables_relations_entreprises.py rename to migrations/versions/f3b62d64efa3_creation_tables_relations_entreprises.py index ae414038..cc524777 100644 --- a/migrations/versions/f62d3a0bde1a_creation_tables_relations_entreprises.py +++ b/migrations/versions/f3b62d64efa3_creation_tables_relations_entreprises.py @@ -1,8 +1,8 @@ """creation tables relations entreprises -Revision ID: f62d3a0bde1a -Revises: 39818df276aa -Create Date: 2021-12-10 11:25:04.135491 +Revision ID: f3b62d64efa3 +Revises: 91be8a06d423 +Create Date: 2021-12-24 10:36:27.150085 """ from alembic import op @@ -10,7 +10,7 @@ import sqlalchemy as sa from sqlalchemy.dialects import postgresql # revision identifiers, used by Alembic. -revision = 'f62d3a0bde1a' +revision = 'f3b62d64efa3' down_revision = '91be8a06d423' branch_labels = None depends_on = None @@ -26,7 +26,8 @@ def upgrade(): sa.Column('text', sa.Text(), nullable=True), sa.PrimaryKeyConstraint('id') ) - op.create_table('entreprise_history', + + op.create_table('entreprise_etudiant', sa.Column('id', sa.Integer(), nullable=False), sa.Column('entreprise_id', sa.Integer(), nullable=True), sa.Column('etudid', sa.Integer(), nullable=True), @@ -38,6 +39,7 @@ def upgrade(): sa.ForeignKeyConstraint(['entreprise_id'], ['entreprises.id'], ), sa.PrimaryKeyConstraint('id') ) + op.create_table('entreprise_offre', sa.Column('id', sa.Integer(), nullable=False), sa.Column('entreprise_id', sa.Integer(), nullable=True), @@ -51,53 +53,65 @@ def upgrade(): sa.PrimaryKeyConstraint('id') ) + op.create_table('entreprise_envoi_offre', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('user_id', sa.Integer(), nullable=True), + sa.Column('offre_id', sa.Integer(), nullable=True), + sa.ForeignKeyConstraint(['offre_id'], ['entreprise_offre.id'], ), + sa.ForeignKeyConstraint(['user_id'], ['user.id'], ), + sa.PrimaryKeyConstraint('id') + ) + op.drop_constraint('entreprise_contact_entreprise_corresp_id_fkey', 'entreprise_contact', type_='foreignkey') op.drop_table('entreprise_correspondant') op.add_column('entreprise_contact', sa.Column('nom', sa.Text(), nullable=True)) op.add_column('entreprise_contact', sa.Column('prenom', sa.Text(), nullable=True)) op.add_column('entreprise_contact', sa.Column('telephone', sa.Text(), nullable=True)) op.add_column('entreprise_contact', sa.Column('mail', sa.Text(), nullable=True)) - op.drop_column('entreprise_contact', 'date') + op.add_column('entreprise_contact', sa.Column('poste', sa.Text(), nullable=True)) + op.add_column('entreprise_contact', sa.Column('service', sa.Text(), nullable=True)) op.drop_column('entreprise_contact', 'description') - op.drop_column('entreprise_contact', 'type_contact') op.drop_column('entreprise_contact', 'enseignant') - op.drop_column('entreprise_contact', 'entreprise_corresp_id') + op.drop_column('entreprise_contact', 'date') + op.drop_column('entreprise_contact', 'type_contact') op.drop_column('entreprise_contact', 'etudid') + op.drop_column('entreprise_contact', 'entreprise_corresp_id') op.add_column('entreprises', sa.Column('siret', sa.Text(), nullable=True)) op.drop_index('ix_entreprises_dept_id', table_name='entreprises') op.drop_constraint('entreprises_dept_id_fkey', 'entreprises', type_='foreignkey') - op.drop_column('entreprises', 'localisation') - op.drop_column('entreprises', 'contact_origine') op.drop_column('entreprises', 'qualite_relation') - op.drop_column('entreprises', 'secteur') - op.drop_column('entreprises', 'plus10salaries') - op.drop_column('entreprises', 'dept_id') - op.drop_column('entreprises', 'privee') - op.drop_column('entreprises', 'date_creation') op.drop_column('entreprises', 'note') + op.drop_column('entreprises', 'contact_origine') + op.drop_column('entreprises', 'plus10salaries') + op.drop_column('entreprises', 'privee') + op.drop_column('entreprises', 'secteur') + op.drop_column('entreprises', 'date_creation') + op.drop_column('entreprises', 'dept_id') + op.drop_column('entreprises', 'localisation') # ### end Alembic commands ### + def downgrade(): # ### commands auto generated by Alembic - please adjust! ### - op.add_column('entreprises', sa.Column('note', sa.TEXT(), autoincrement=False, nullable=True)) - op.add_column('entreprises', sa.Column('date_creation', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('now()'), autoincrement=False, nullable=True)) - op.add_column('entreprises', sa.Column('privee', sa.TEXT(), autoincrement=False, nullable=True)) - op.add_column('entreprises', sa.Column('dept_id', sa.INTEGER(), autoincrement=False, nullable=True)) - op.add_column('entreprises', sa.Column('plus10salaries', sa.BOOLEAN(), autoincrement=False, nullable=True)) - op.add_column('entreprises', sa.Column('secteur', sa.TEXT(), autoincrement=False, nullable=True)) - op.add_column('entreprises', sa.Column('qualite_relation', sa.INTEGER(), autoincrement=False, nullable=True)) - op.add_column('entreprises', sa.Column('contact_origine', sa.TEXT(), autoincrement=False, nullable=True)) op.add_column('entreprises', sa.Column('localisation', sa.TEXT(), autoincrement=False, nullable=True)) + op.add_column('entreprises', sa.Column('dept_id', sa.INTEGER(), autoincrement=False, nullable=True)) + op.add_column('entreprises', sa.Column('date_creation', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('now()'), autoincrement=False, nullable=True)) + op.add_column('entreprises', sa.Column('secteur', sa.TEXT(), autoincrement=False, nullable=True)) + op.add_column('entreprises', sa.Column('privee', sa.TEXT(), autoincrement=False, nullable=True)) + op.add_column('entreprises', sa.Column('plus10salaries', sa.BOOLEAN(), autoincrement=False, nullable=True)) + op.add_column('entreprises', sa.Column('contact_origine', sa.TEXT(), autoincrement=False, nullable=True)) + op.add_column('entreprises', sa.Column('note', sa.TEXT(), autoincrement=False, nullable=True)) + op.add_column('entreprises', sa.Column('qualite_relation', sa.INTEGER(), autoincrement=False, nullable=True)) op.create_foreign_key('entreprises_dept_id_fkey', 'entreprises', 'departement', ['dept_id'], ['id']) op.create_index('ix_entreprises_dept_id', 'entreprises', ['dept_id'], unique=False) op.drop_column('entreprises', 'siret') - op.add_column('entreprise_contact', sa.Column('etudid', sa.INTEGER(), autoincrement=False, nullable=True)) op.add_column('entreprise_contact', sa.Column('entreprise_corresp_id', sa.INTEGER(), autoincrement=False, nullable=True)) - op.add_column('entreprise_contact', sa.Column('enseignant', sa.TEXT(), autoincrement=False, nullable=True)) + op.add_column('entreprise_contact', sa.Column('etudid', sa.INTEGER(), autoincrement=False, nullable=True)) op.add_column('entreprise_contact', sa.Column('type_contact', sa.TEXT(), autoincrement=False, nullable=True)) - op.add_column('entreprise_contact', sa.Column('description', sa.TEXT(), autoincrement=False, nullable=True)) op.add_column('entreprise_contact', sa.Column('date', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True)) + op.add_column('entreprise_contact', sa.Column('enseignant', sa.TEXT(), autoincrement=False, nullable=True)) + op.add_column('entreprise_contact', sa.Column('description', sa.TEXT(), autoincrement=False, nullable=True)) op.create_table('entreprise_correspondant', sa.Column('id', sa.INTEGER(), autoincrement=True, nullable=False), sa.Column('entreprise_id', sa.INTEGER(), autoincrement=False, nullable=True), @@ -116,12 +130,15 @@ def downgrade(): sa.PrimaryKeyConstraint('id', name='entreprise_correspondant_pkey') ) op.create_foreign_key('entreprise_contact_entreprise_corresp_id_fkey', 'entreprise_contact', 'entreprise_correspondant', ['entreprise_corresp_id'], ['id']) + op.drop_column('entreprise_contact', 'service') + op.drop_column('entreprise_contact', 'poste') op.drop_column('entreprise_contact', 'mail') op.drop_column('entreprise_contact', 'telephone') op.drop_column('entreprise_contact', 'prenom') op.drop_column('entreprise_contact', 'nom') - + + op.drop_table('entreprise_envoi_offre') op.drop_table('entreprise_offre') - op.drop_table('entreprise_history') + op.drop_table('entreprise_etudiant') op.drop_table('entreprise_log') - # ### end Alembic commands ### \ No newline at end of file + # ### end Alembic commands ###