forked from ScoDoc/ScoDoc
siret unique
This commit is contained in:
parent
9073983162
commit
ea73c050e6
@ -28,6 +28,7 @@ import re
|
|||||||
import requests
|
import requests
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
|
from flask import url_for
|
||||||
from flask_wtf import FlaskForm
|
from flask_wtf import FlaskForm
|
||||||
from flask_wtf.file import FileField, FileAllowed, FileRequired
|
from flask_wtf.file import FileField, FileAllowed, FileRequired
|
||||||
from markupsafe import Markup
|
from markupsafe import Markup
|
||||||
@ -149,7 +150,7 @@ class EntrepriseCreationForm(FlaskForm):
|
|||||||
entreprise = Entreprise.query.filter_by(siret=siret_data).first()
|
entreprise = Entreprise.query.filter_by(siret=siret_data).first()
|
||||||
if entreprise is not None:
|
if entreprise is not None:
|
||||||
if entreprise.visible is True:
|
if entreprise.visible is True:
|
||||||
lien = f'<a href="/ScoDoc/entreprises/fiche_entreprise/{entreprise.id}">ici</a>'
|
lien = f"<a href='{url_for('entreprises.fiche_entreprise', entreprise_id=entreprise.id)}'>ici</a>"
|
||||||
self.siret.errors.append(
|
self.siret.errors.append(
|
||||||
Markup(
|
Markup(
|
||||||
f"Entreprise déjà présent, lien vers la fiche : {lien}"
|
f"Entreprise déjà présent, lien vers la fiche : {lien}"
|
||||||
|
@ -4,7 +4,7 @@ from app import db
|
|||||||
class Entreprise(db.Model):
|
class Entreprise(db.Model):
|
||||||
__tablename__ = "are_entreprises"
|
__tablename__ = "are_entreprises"
|
||||||
id = db.Column(db.Integer, primary_key=True)
|
id = db.Column(db.Integer, primary_key=True)
|
||||||
siret = db.Column(db.Text, index=True)
|
siret = db.Column(db.Text, index=True, unique=True)
|
||||||
siret_provisoire = db.Column(db.Boolean, default=False)
|
siret_provisoire = db.Column(db.Boolean, default=False)
|
||||||
nom = db.Column(db.Text)
|
nom = db.Column(db.Text)
|
||||||
adresse = db.Column(db.Text)
|
adresse = db.Column(db.Text)
|
||||||
|
@ -341,9 +341,18 @@ def add_entreprise():
|
|||||||
ville=form.ville.data.strip(),
|
ville=form.ville.data.strip(),
|
||||||
pays=form.pays.data.strip() if form.pays.data.strip() else "FRANCE",
|
pays=form.pays.data.strip() if form.pays.data.strip() else "FRANCE",
|
||||||
)
|
)
|
||||||
|
try:
|
||||||
db.session.add(entreprise)
|
db.session.add(entreprise)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
db.session.refresh(entreprise)
|
db.session.refresh(entreprise)
|
||||||
|
except:
|
||||||
|
db.session.rollback()
|
||||||
|
flash("Une erreur est survenue veuillez réessayer.")
|
||||||
|
return render_template(
|
||||||
|
"entreprises/form_ajout_entreprise.html",
|
||||||
|
title="Ajout entreprise avec correspondant",
|
||||||
|
form=form,
|
||||||
|
)
|
||||||
site = EntrepriseSite(
|
site = EntrepriseSite(
|
||||||
entreprise_id=entreprise.id,
|
entreprise_id=entreprise.id,
|
||||||
nom=form.nom_entreprise.data.strip(),
|
nom=form.nom_entreprise.data.strip(),
|
||||||
@ -371,7 +380,7 @@ def add_entreprise():
|
|||||||
db.session.add(correspondant)
|
db.session.add(correspondant)
|
||||||
if current_user.has_permission(Permission.RelationsEntreprisesValidate, None):
|
if current_user.has_permission(Permission.RelationsEntreprisesValidate, None):
|
||||||
entreprise.visible = True
|
entreprise.visible = True
|
||||||
lien_entreprise = f"<a href=/ScoDoc/entreprises/fiche_entreprise/{entreprise.id}>{entreprise.nom}</a>"
|
lien_entreprise = f"<a href='{url_for('entreprises.fiche_entreprise', entreprise_id=entreprise.id)}'>{entreprise.nom}</a>"
|
||||||
log = EntrepriseHistorique(
|
log = EntrepriseHistorique(
|
||||||
authenticated_user=current_user.user_name,
|
authenticated_user=current_user.user_name,
|
||||||
text=f"{lien_entreprise} - Création de la fiche entreprise ({entreprise.nom})",
|
text=f"{lien_entreprise} - Création de la fiche entreprise ({entreprise.nom})",
|
||||||
@ -410,7 +419,7 @@ def edit_entreprise(entreprise_id):
|
|||||||
).first_or_404(description=f"entreprise {entreprise_id} inconnue")
|
).first_or_404(description=f"entreprise {entreprise_id} inconnue")
|
||||||
form = EntrepriseModificationForm(siret=entreprise.siret)
|
form = EntrepriseModificationForm(siret=entreprise.siret)
|
||||||
if form.validate_on_submit():
|
if form.validate_on_submit():
|
||||||
lien_entreprise = f"<a href=/ScoDoc/entreprises/fiche_entreprise/{entreprise.id}>{form.nom.data.strip()}</a>"
|
lien_entreprise = f"<a href='{url_for('entreprises.fiche_entreprise', entreprise_id=entreprise.id)}'>{form.nom.data.strip()}</a>"
|
||||||
logs_text = []
|
logs_text = []
|
||||||
if form.new_siret.data:
|
if form.new_siret.data:
|
||||||
logs_text.append(f"{lien_entreprise} - Modification du SIRET")
|
logs_text.append(f"{lien_entreprise} - Modification du SIRET")
|
||||||
@ -1567,9 +1576,18 @@ def import_donnees():
|
|||||||
):
|
):
|
||||||
return redirect(url_for("entreprises.import_donnees"))
|
return redirect(url_for("entreprises.import_donnees"))
|
||||||
for entreprise in entreprises_import:
|
for entreprise in entreprises_import:
|
||||||
|
try:
|
||||||
db.session.add(entreprise)
|
db.session.add(entreprise)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
db.session.refresh(entreprise)
|
db.session.refresh(entreprise)
|
||||||
|
except:
|
||||||
|
db.session.rollback()
|
||||||
|
flash("Une erreur est survenue veuillez réessayer.")
|
||||||
|
return render_template(
|
||||||
|
"entreprises/import_donnees.html",
|
||||||
|
title="Importation données",
|
||||||
|
form=form,
|
||||||
|
)
|
||||||
site = EntrepriseSite(
|
site = EntrepriseSite(
|
||||||
entreprise_id=entreprise.id,
|
entreprise_id=entreprise.id,
|
||||||
nom=entreprise.nom,
|
nom=entreprise.nom,
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
"""suppression colonne are_correspondants, ajout siret provisoire
|
"""suppression colonne are_correspondants, ajout siret provisoire, siret cle unique
|
||||||
|
|
||||||
Revision ID: bd358f412282
|
Revision ID: cb360caa3dac
|
||||||
Revises: 0b337376e9f7
|
Revises: 0b337376e9f7
|
||||||
Create Date: 2022-07-12 09:24:59.328369
|
Create Date: 2022-07-13 15:52:14.113530
|
||||||
|
|
||||||
"""
|
"""
|
||||||
from alembic import op
|
from alembic import op
|
||||||
@ -10,7 +10,7 @@ import sqlalchemy as sa
|
|||||||
|
|
||||||
|
|
||||||
# revision identifiers, used by Alembic.
|
# revision identifiers, used by Alembic.
|
||||||
revision = 'bd358f412282'
|
revision = 'cb360caa3dac'
|
||||||
down_revision = '0b337376e9f7'
|
down_revision = '0b337376e9f7'
|
||||||
branch_labels = None
|
branch_labels = None
|
||||||
depends_on = None
|
depends_on = None
|
||||||
@ -21,7 +21,7 @@ def upgrade():
|
|||||||
op.drop_constraint('are_correspondants_entreprise_id_fkey', 'are_correspondants', type_='foreignkey')
|
op.drop_constraint('are_correspondants_entreprise_id_fkey', 'are_correspondants', type_='foreignkey')
|
||||||
op.drop_column('are_correspondants', 'entreprise_id')
|
op.drop_column('are_correspondants', 'entreprise_id')
|
||||||
op.add_column('are_entreprises', sa.Column('siret_provisoire', sa.Boolean(), nullable=True))
|
op.add_column('are_entreprises', sa.Column('siret_provisoire', sa.Boolean(), nullable=True))
|
||||||
op.create_index(op.f('ix_are_entreprises_siret'), 'are_entreprises', ['siret'], unique=False)
|
op.create_index(op.f('ix_are_entreprises_siret'), 'are_entreprises', ['siret'], unique=True)
|
||||||
# ### end Alembic commands ###
|
# ### end Alembic commands ###
|
||||||
|
|
||||||
|
|
@ -523,7 +523,7 @@ def recursive_help(cmd, parent=None):
|
|||||||
def entreprises_reset_db():
|
def entreprises_reset_db():
|
||||||
"""Remet a zéro les tables du module relations entreprises"""
|
"""Remet a zéro les tables du module relations entreprises"""
|
||||||
click.confirm(
|
click.confirm(
|
||||||
"This will erase all the tables from the blueprint 'entreprises'.\nAre you sure you want to continue?",
|
"This will erase all data from the blueprint 'entreprises'.\nAre you sure you want to continue?",
|
||||||
abort=True,
|
abort=True,
|
||||||
)
|
)
|
||||||
db.reflect()
|
db.reflect()
|
||||||
|
Loading…
Reference in New Issue
Block a user