This repository has been archived on 2026-03-30. You can view files and clone it, but cannot push or open issues or pull requests.
RepApp/rc_hip/repapp/models.py

95 lines
3.4 KiB
Python
Raw Normal View History

2023-04-16 11:01:31 +00:00
from django.db import models
from django.utils.translation import gettext_lazy as _
2023-04-16 11:01:31 +00:00
2023-04-16 17:55:54 +00:00
class Cafe(models.Model):
location = models.CharField(
max_length=200, verbose_name=_("Ort"))
event_date = models.DateField(verbose_name=_("Datum"))
class Meta:
verbose_name = _('Repair-Café')
verbose_name_plural = _('Repair-Cafés')
2023-04-16 17:55:54 +00:00
def __str__(self):
return f'Repair-Café am {self.event_date} (Ort: {self.location})'
2023-04-16 17:55:54 +00:00
class Reparateur(models.Model):
name = models.CharField(max_length=200, verbose_name=_("Name"))
mail = models.CharField(max_length=200, verbose_name=_("eMail"))
class Meta:
verbose_name = _('Reparateur')
verbose_name_plural = _('Reparateure')
2023-04-16 17:55:54 +00:00
def __str__(self):
return f'Reparatuer {self.name} (eMail: {self.mail})'
2023-04-16 17:55:54 +00:00
class Organisator(models.Model):
name = models.CharField(max_length=200, verbose_name=_("Name"))
mail = models.CharField(max_length=200, verbose_name=_("eMail"))
class Meta:
verbose_name = _('Organisator')
verbose_name_plural = _('Organisatoren')
2023-04-16 17:55:54 +00:00
def __str__(self):
return f'Organisator {self.name} (eMail: {self.mail})'
2023-04-16 17:55:54 +00:00
class Device(models.Model):
identifier = models.CharField(max_length=200, verbose_name=_("ID"))
owner = models.CharField(max_length=200, verbose_name=_("Besitzer"))
2023-04-16 19:17:11 +00:00
phone = models.CharField(max_length=200, verbose_name=_("Telefonnummer"))
residence = models.CharField(max_length=200, verbose_name=_("Wohnort"))
mail = models.CharField(max_length=200, verbose_name=_("eMail"))
device = models.CharField(max_length=200, verbose_name=_("Gerät"))
error = models.TextField(verbose_name=_("Fehler"))
follow_up = models.BooleanField(verbose_name=_("Folgetermin"))
class Meta:
verbose_name = _('Gerät')
verbose_name_plural = _('Geräte')
2023-04-16 17:55:54 +00:00
def __str__(self):
return f'Gerät {self.device} von {self.owner} (eMail: {self.mail})'
2023-04-16 17:55:54 +00:00
class Appointment(models.Model):
time = models.TimeField(verbose_name=_("Zeit"))
confirmed = models.BooleanField(verbose_name=_("bestätigt"))
cafeid = models.ForeignKey(
Cafe, on_delete=models.CASCADE, verbose_name=_("Repair-Café"))
reparateurid = models.ForeignKey(
Reparateur, on_delete=models.CASCADE, verbose_name=_("Reparateur"))
deviceid = models.ForeignKey(
Device, on_delete=models.CASCADE, null=True, verbose_name=_("Gerät"))
class Meta:
verbose_name = _('Termin')
verbose_name_plural = _('Termine')
def __str__(self):
return f'Termin {self.cafeid.event_date} {self.time} für Gerät {self.deviceid.device} von {self.deviceid.owner}'
2023-04-16 17:55:54 +00:00
class Question(models.Model):
question = models.TextField(verbose_name=_("Frage"))
answer = models.TextField(verbose_name=_("Antwort"))
date = models.DateField(verbose_name=_("Erstellungsdatum"))
organisatorid = models.ForeignKey(
Organisator, on_delete=models.CASCADE, null=True, verbose_name=_("Organisator"))
reparateurid = models.ForeignKey(
Reparateur, on_delete=models.CASCADE, null=True, verbose_name=_("Reparateur"))
deviceid = models.ForeignKey(
Device, on_delete=models.CASCADE, verbose_name=_("Gerät"))
class Meta:
verbose_name = _('Frage')
verbose_name_plural = _('Fragen')
def __str__(self):
return f'Frage vom {self.date} zum Gerät {self.deviceid.device}'