forked from ScoDoc/ScoDoc
120 lines
3.7 KiB
Python
120 lines
3.7 KiB
Python
from app import db
|
|
|
|
|
|
class Entreprise(db.Model):
|
|
__tablename__ = "entreprises"
|
|
id = db.Column(db.Integer, primary_key=True)
|
|
siret = db.Column(db.Text)
|
|
nom = db.Column(db.Text)
|
|
adresse = db.Column(db.Text)
|
|
codepostal = db.Column(db.Text)
|
|
ville = db.Column(db.Text)
|
|
pays = db.Column(db.Text)
|
|
contacts = db.relationship(
|
|
"EntrepriseContact",
|
|
backref="entreprise",
|
|
lazy="dynamic",
|
|
cascade="all, delete-orphan",
|
|
)
|
|
offres = db.relationship(
|
|
"EntrepriseOffre",
|
|
backref="entreprise",
|
|
lazy="dynamic",
|
|
cascade="all, delete-orphan",
|
|
)
|
|
|
|
def to_dict(self):
|
|
return {
|
|
"siret": self.siret,
|
|
"nom": self.nom,
|
|
"adresse": self.adresse,
|
|
"codepostal": self.codepostal,
|
|
"ville": self.ville,
|
|
"pays": self.pays,
|
|
}
|
|
|
|
|
|
class EntrepriseContact(db.Model):
|
|
__tablename__ = "entreprise_contact"
|
|
id = db.Column(db.Integer, primary_key=True)
|
|
entreprise_id = db.Column(
|
|
db.Integer, db.ForeignKey("entreprises.id", ondelete="cascade")
|
|
)
|
|
nom = db.Column(db.Text)
|
|
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)
|
|
|
|
def to_dict(self):
|
|
return {
|
|
"nom": self.nom,
|
|
"prenom": self.prenom,
|
|
"telephone": self.telephone,
|
|
"mail": self.mail,
|
|
"poste": self.poste,
|
|
"service": self.service,
|
|
}
|
|
|
|
def to_dict_export(self):
|
|
entreprise = Entreprise.query.get(self.entreprise_id)
|
|
return {
|
|
"nom": self.nom,
|
|
"prenom": self.prenom,
|
|
"telephone": self.telephone,
|
|
"mail": self.mail,
|
|
"poste": self.poste,
|
|
"service": self.service,
|
|
"siret": entreprise.siret,
|
|
"nom_entreprise": entreprise.nom,
|
|
"adresse_entreprise": entreprise.adresse,
|
|
"codepostal": entreprise.codepostal,
|
|
"ville": entreprise.ville,
|
|
"pays": entreprise.pays,
|
|
}
|
|
|
|
|
|
class EntrepriseOffre(db.Model):
|
|
__tablename__ = "entreprise_offre"
|
|
id = db.Column(db.Integer, primary_key=True)
|
|
entreprise_id = db.Column(
|
|
db.Integer, db.ForeignKey("entreprises.id", ondelete="cascade")
|
|
)
|
|
date_ajout = db.Column(db.DateTime(timezone=True), server_default=db.func.now())
|
|
intitule = db.Column(db.Text)
|
|
description = db.Column(db.Text)
|
|
type_offre = db.Column(db.Text)
|
|
missions = db.Column(db.Text)
|
|
duree = db.Column(db.Text)
|
|
|
|
|
|
class EntrepriseLog(db.Model):
|
|
__tablename__ = "entreprise_log"
|
|
id = db.Column(db.Integer, primary_key=True)
|
|
date = db.Column(db.DateTime(timezone=True), server_default=db.func.now())
|
|
authenticated_user = db.Column(db.Text)
|
|
object = db.Column(db.Integer)
|
|
text = db.Column(db.Text)
|
|
|
|
|
|
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)
|
|
type_offre = db.Column(db.Text)
|
|
date_debut = db.Column(db.Date)
|
|
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)
|
|
sender_id = db.Column(db.Integer, db.ForeignKey("user.id"))
|
|
receiver_id = db.Column(db.Integer, db.ForeignKey("user.id"))
|
|
offre_id = db.Column(db.Integer, db.ForeignKey("entreprise_offre.id"))
|
|
date_envoi = db.Column(db.DateTime(timezone=True), server_default=db.func.now())
|