#!/usr/bin/env python # -*- coding: utf-8 -*- # Copyright (C) 2010 Étienne Loks # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as # published by the Free Software Foundation, either version 3 of the # License, or (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # See the file COPYING for details. """ Models description """ from django.utils.translation import ugettext_lazy as _ from django.contrib.gis.db import models from django.contrib import admin from simple_history.models import HistoricalRecords from ishtar import settings class PersonType(models.Model): label = models.CharField(_(u"Label"), max_length=30) comment = models.TextField(_(u"Comment")) def __unicode__(self): return self.label class Person(models.Model) : TYPE = (('Mr', _(u'Mr')), ('Ms', _(u'Miss')), ('Md', _(u'Mrs')), ('Dr', _(u'Doctor')), ) title = models.CharField(_(u"Title"), max_length=1, choices=TYPE) surname = models.CharField(_(u"Surname"), max_length=20) name = models.CharField(_(u"Name"), max_length=30) address = models.TextField(_(u"Address")) address_complement = models.TextField(_(u"Address complement")) postal_code = models.CharField(_(u"Postal code"), max_length=10) town = models.CharField(_(u"Town"), max_length=30) country = models.CharField(_(u"Country"), max_length=30) phone = models.CharField(_(u"Phone"), max_length=18) mobile_phone = models.CharField(_(u"Mobile phone"), max_length=18) email = models.CharField(_(u"Email"), max_length=40) person_type = models.ForeignKey(PersonType, verbose_name=_(u"Type")) attached_to = models.ForeignKey('Person', verbose_name=_(u"Is attached to")) author = models.BooleanField(_(u"Author")) in_charge_storage = models.BooleanField(_(u"In charge of a storage")) def __unicode__(self): return u"%s %s" % (self.name, self.surname) class FileType(models.Model): label = models.CharField(_(u"Label"), max_length=30) comment = models.TextField(_(u"Comment")) def __unicode__(self): return self.label class File(models.Model) : year = models.IntegerField(_(u"Year")) number = models.IntegerField(_(u"Number")) active = models.BooleanField(_(u"Active")) reception_date = models.DateField(_(u'Reception date')) creation_date = models.DateField(_(u"Creation date")) modification_date = models.DateField(_(u"Modification date")) folder_type = models.ForeignKey(FileType, verbose_name=_(u"File type")) creator = models.ForeignKey(Person, verbose_name=(u"Creator")) general_contractor = models.ForeignKey(Person, verbose_name=(u"General contractor")) if settings.COUNTRY == 'fr': ar_date = models.DateField(u"Date d'envoi du courrier \ avec accusé réception") ar_signed_by = models.ForeignKey(Person, verbose_name=u"Signature de \ l'accusé de réception par") history = HistoricalRecords() def __unicode__(self): return u"%d - %d" % (self.year, self.number) class HistoryFile(models.Model): person = models.ForeignKey('Person', verbose_name=_(u"Person")) modif_date = models.DateField(_(u'Modification date')) folder = models.ForeignKey(File, u"File") def __unicode__(self): return self.person + " - " + self.modif_date class Operation(models.Model): start_date = models.DateField(_(u"Start date")) end_date = models.DateField(_(u"End date")) name = models.CharField(_(u"Name")) in_charge = models.ForeignKey('Person', verbose_name=_(u"In charge")) operation_code = models.CharField(_(u"Operation code"), ) DOSSIER = models.CharField('VIDE'::character varying) TYPE = models.IntegerField('VIDE'::character varying) if settings.COUNTRY == 'fr': code_patriarche = models.IntegerField(u"Code PATRIARCHE") code_pat = models.CharField(u"Code PAT", max_length=10) code_dracar = models.CharField(u"Code DRACAR", max_length=10) def __unicode__(self): return self.name class Parcel(models.Model) : operation = models.ForeignKey(Operation, verbose_name=_(u"Operation")) SECTION = models.CharField() NUM_PARCELLE = models.CharField() def __unicode__(self): return u"" class UA(models.Model): parcel = models.ForeignKey(Parcel, verbose_name=_(u"Parcel")) OPERATION_ID_OPERATION = models.IntegerField() LABEL = models.CharField() DESCRO_UA = models.CharField() LONGUEUR = models.IntegerField() LARGEUR = models.IntegerField() EPAISSEUR = models.IntegerField() PRESENCE_MOB = models.IntegerField() INTERPRETATION = models.CharField() PROFONDEUR = models.IntegerField() REMPLISSAGE = models.CharField() def __unicode__(self): return u"" class DOC_ITEM(models.Model) : SOURCES_ID_SOURCE = models.IntegerField('0'::character(1)) ITEM_ID_ITEM = models.IntegerField('0'::character(1)) def __unicode__(self): return u"" class UA_DATATION(models.Model) : ID_UA_DATATION = models.IntegerField() UA_ID_UA = models.IntegerField() DATATION_ID_DATATION = models.IntegerField() QUALITE = models.CharField() def __unicode__(self): return u"" class ITEM(models.Model) : ID_ITEM = models.IntegerField() UA_ID_UA = models.IntegerField() DESCRO_ITEM = models.CharField() TYPO_MATERIAU_ID_TYPO_MATERIAU = models.IntegerField() DATATION_DEB = models.IntegerField() DATATION_FIN = models.IntegerField() ISOLATION = models.IntegerField() VOLUME_ITEM = models.FloatField() POIDS_ITEM = models.IntegerField() LABEL_ITEM = models.CharField() NB_ITEM = models.IntegerField() def __unicode__(self): return u"" class CHRONO(models.Model) : ID_CHRONO = models.IntegerField() ORDRE = models.IntegerField() LABEL = models.CharField() ANNEE_DEBUT = models.IntegerField() ANNEE_FIN = models.IntegerField() def __unicode__(self): return u"" class USERS(models.Model) : ID_USERS = models.IntegerField() LOGIN = models.CharField() PASS = models.CharField() MULTIPASS = models.IntegerField() PERSONNE_ID_PERSONNE = models.IntegerField() def __unicode__(self): return u"" class PROP_FONC(models.Model) : ID_PROP_FONC = models.IntegerField() PERSONNE_ID_PERSONNE = models.IntegerField() PARCELLE_ID_PARCELLE = models.IntegerField() DATE_DEBUT = models.DateField() DATE_FIN = models.DateField() def __unicode__(self): return u"" class OPE_DEPT(models.Model) : ID_OPE_DEPT = models.IntegerField() OPERATION_ID_OPERATION = models.IntegerField() DEPT_ID_DEPT = models.IntegerField() def __unicode__(self): return u"" class LIEU(models.Model) : ID_LIEU = models.IntegerField() ADRESSE_ID_PERSONNE = models.IntegerField() TYPE_DEPOT_ID_TYPE_DEPOT = models.IntegerField() COMMENTAIRE = models.CharField() RESP_ID_PERSONNE = models.IntegerField() def __unicode__(self): return u"" class TYPE_ACTE(models.Model) : ID_TYPE_ACTE = models.IntegerField() TYPE = models.CharField() def __unicode__(self): return u"" class ACTE_ADMIN(models.Model) : ID_ACTE = models.IntegerField() OPERATION_ID_OPERATION = models.IntegerField() REF_SRA = models.CharField() DATE_SIGNATURE = models.DateField() OBJET = models.CharField() TYPE_ACTE = models.CharField() PERSONNE_ID_PERSONNE = models.IntegerField() def __unicode__(self): return u"" class TYPE_CONT(models.Model) : ID_TYPE_CONT = models.IntegerField() LABEL_CONT = models.CharField() LONG_CONT = models.IntegerField() LARG_CONT = models.IntegerField() HAUTEUR_CONT = models.IntegerField() REF_CONT = models.CharField() VOLUME_CONT = models.IntegerField() def __unicode__(self): return u"" class DEPT(models.Model) : ID_DEPT = models.IntegerField() NOM_DEPT = models.CharField() NUM_DEPT = models.CharField('0'::character(1)) def __unicode__(self): return u"" class TYPE_OPE(models.Model) : ID_TYPE_OPE = models.IntegerField() TYPE = models.CharField() def __unicode__(self): return u"" class COMMUNES(models.Model) : ID_COMMUNES = models.IntegerField() DEPT_ID_DEPT = models.IntegerField() NUM_INSEE = models.CharField() NOM = models.CharField() ARRDT = models.CharField() CANTON = models.CharField() X_CENTR = models.IntegerField() Y_CENTR = models.IntegerField() SUPERFICIE = models.IntegerField() def __unicode__(self): return u"" class SOURCES(models.Model) : ID_SOURCE = models.IntegerField() TITRE = models.CharField() TYPE = models.CharField() def __unicode__(self): return u"" class TYPE_DEPOT(models.Model) : ID_TYPE_DEPOT = models.IntegerField() LABEL_TYPE = models.CharField() def __unicode__(self): return u"" class RESPONSABILITE(models.Model) : TRAITEMENT_ID_TRAITEMENT = models.IntegerField() LIEU_ID_LIEU = models.IntegerField() PERSONNE_ID_PERSONNE = models.IntegerField() DATE_DEBUT = models.DateField() DATE_FIN = models.DateField() def __unicode__(self): return u"" class OPE_COM(models.Model) : ID_OPE_COM = models.IntegerField() OPERATION_ID_OPERATION = models.IntegerField() COMMUNES_ID_COMMUNES = models.IntegerField() def __unicode__(self): return u"" class RE_ENREG(models.Model) : TRAITEMENT_ID_TRAITEMENT = models.IntegerField() ITEM_ID_ITEM = models.IntegerField() def __unicode__(self): return u"" class TRAITEMENT(models.Model) : ID_TRAITEMENT = models.IntegerField() CONT_ID_CONT = models.IntegerField() ITEM_ID_ITEM = models.IntegerField() def __unicode__(self): return u"" class DOSSIER_COM(models.Model) : ID_DOSSIER_COM = models.IntegerField() DOSSIER_ID_DOSSIER = models.IntegerField() COMMUNES_ID_COMMUNES = models.IntegerField() def __unicode__(self): return u"" class AUTEUR(models.Model) : ID_AUTEUR = models.IntegerField() PERSONNE_ID_PERSONNE = models.IntegerField() SOURCES_ID_SOURCE = models.IntegerField() TYPE = models.CharField() def __unicode__(self): return u"" class TYPO_MATERIAU(models.Model) : ID_TYPO_MATERIAU = models.IntegerField() LABEL = models.CharField() RECOMMANDATION = models.CharField() def __unicode__(self): return u"" class PROPRIETE(models.Model) : ITEM_ID_ITEM = models.IntegerField('0'::character varying) ACTE_ADMIN_ID_ACTE = models.IntegerField('0'::character varying) PERSONNE_ID_PERSONNE = models.IntegerField('0'::character varying) DATE_DEBUT = models.DateField('0'::character varying) DATE_FIN = models.DateField('0'::character varying) def __unicode__(self): return u"" class ITEM_DATATION(models.Model) : ID_ITEM_DATATION = models.IntegerField() ITEM_ID_ITEM = models.IntegerField() DATATION_ID_DATATION = models.IntegerField() QUALITE = models.CharField() def __unicode__(self): return u"" class DEPOT_COMMUNES(models.Model) : ID_DEPOT_COMMUNE = models.IntegerField() LIEU_ID_LIEU = models.IntegerField() COMMUNES_ID_COMMUNES = models.IntegerField() def __unicode__(self): return u""