|
|
@@ -0,0 +1,113 @@ |
|
|
|
from django.db import models |
|
|
|
from django.utils.translation import gettext_lazy as _ |
|
|
|
from django.template.defaultfilters import date as _date |
|
|
|
from django.urls import reverse |
|
|
|
|
|
|
|
|
|
|
|
class Fournisseur(models.Model): |
|
|
|
|
|
|
|
nom_fournisseur = models.CharField('nom', max_length=50) |
|
|
|
|
|
|
|
class Meta: |
|
|
|
verbose_name = _("fournisseur") |
|
|
|
verbose_name_plural = _("fournisseurs") |
|
|
|
|
|
|
|
def __str__(self): |
|
|
|
return self.nom_fournisseur |
|
|
|
|
|
|
|
def get_absolute_url(self): |
|
|
|
return reverse("fournisseur_detail", kwargs={"pk": self.pk}) |
|
|
|
|
|
|
|
|
|
|
|
class Technicien(models.Model): |
|
|
|
|
|
|
|
nom_technicien = models.CharField('nom', max_length=50) |
|
|
|
ref_fournisseur = models.ForeignKey("maintenance.Fournisseur", |
|
|
|
verbose_name=_("fournisseur"), |
|
|
|
on_delete=models.PROTECT) |
|
|
|
|
|
|
|
class Meta: |
|
|
|
verbose_name = _("technicien") |
|
|
|
verbose_name_plural = _("techniciens") |
|
|
|
|
|
|
|
def __str__(self): |
|
|
|
return self.nom_technicien |
|
|
|
|
|
|
|
def get_absolute_url(self): |
|
|
|
return reverse("technicien_detail", kwargs={"pk": self.pk}) |
|
|
|
|
|
|
|
|
|
|
|
class Machine(models.Model): |
|
|
|
|
|
|
|
numero_serie = models.CharField('numéro de série', max_length=20) |
|
|
|
nom_machine = models.CharField('nom', max_length=50) |
|
|
|
ref_fournisseur = models.ForeignKey("maintenance.Fournisseur", |
|
|
|
verbose_name=_("fournisseur"), |
|
|
|
on_delete=models.PROTECT) |
|
|
|
|
|
|
|
class Meta: |
|
|
|
verbose_name = _("machine") |
|
|
|
verbose_name_plural = _("machines") |
|
|
|
|
|
|
|
def __str__(self): |
|
|
|
return self.nom_machine |
|
|
|
|
|
|
|
def get_absolute_url(self): |
|
|
|
return reverse("machine_detail", kwargs={"pk": self.pk}) |
|
|
|
|
|
|
|
|
|
|
|
class Panne(models.Model): |
|
|
|
|
|
|
|
moment_panne = models.DateTimeField('moment de la panne', |
|
|
|
auto_now_add=True) |
|
|
|
description_panne = models.TextField('description', default='-') |
|
|
|
ref_machine = models.ForeignKey("maintenance.Machine", |
|
|
|
verbose_name=_("machine"), |
|
|
|
on_delete=models.PROTECT) |
|
|
|
|
|
|
|
class Meta: |
|
|
|
verbose_name = _("Panne") |
|
|
|
verbose_name_plural = _("Pannes") |
|
|
|
|
|
|
|
def __str__(self): |
|
|
|
if len(self.description_panne) <= 20: |
|
|
|
short_description = self.description_panne |
|
|
|
else: |
|
|
|
short_description = self.description_panne[:20] |
|
|
|
return _date(self.moment_panne, |
|
|
|
'SHORT_DATETIME_FORMAT') + " | " + short_description |
|
|
|
|
|
|
|
def get_absolute_url(self): |
|
|
|
return reverse("panne_detail", kwargs={"pk": self.pk}) |
|
|
|
|
|
|
|
|
|
|
|
class Intervention(models.Model): |
|
|
|
|
|
|
|
moment_intervention = models.DateTimeField('moment de l\'intervention', |
|
|
|
auto_now_add=True) |
|
|
|
ref_panne = models.ForeignKey("maintenance.Panne", |
|
|
|
verbose_name=_("panne"), |
|
|
|
on_delete=models.PROTECT) |
|
|
|
ref_technicien = models.ForeignKey("maintenance.Technicien", |
|
|
|
verbose_name=_("technicien"), |
|
|
|
on_delete=models.PROTECT, |
|
|
|
null=True, |
|
|
|
blank=True) |
|
|
|
description_intervention = models.TextField('description', |
|
|
|
blank=True, |
|
|
|
null=True) |
|
|
|
|
|
|
|
class Meta: |
|
|
|
verbose_name = _("intervention") |
|
|
|
verbose_name_plural = _("interventions") |
|
|
|
|
|
|
|
def __str__(self): |
|
|
|
if len(self.description_intervention) <= 20: |
|
|
|
short_description = self.description_intervention |
|
|
|
else: |
|
|
|
short_description = self.description_intervention[:20] |
|
|
|
return _date(self.moment_intervention, |
|
|
|
'SHORT_DATETIME_FORMAT') + " | " + short_description |
|
|
|
|
|
|
|
def get_absolute_url(self): |
|
|
|
return reverse("intervention_detail", kwargs={"pk": self.pk}) |