2023-04-16 11:01:31 +00:00
|
|
|
from django.db import models
|
2023-04-16 18:48:19 +00:00
|
|
|
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):
|
2023-04-16 18:48:19 +00:00
|
|
|
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
|
|
|
|
2023-04-16 18:13:37 +00:00
|
|
|
def __str__(self):
|
2023-04-16 18:48:19 +00:00
|
|
|
return f'Repair-Café am {self.event_date} (Ort: {self.location})'
|
2023-04-16 18:13:37 +00:00
|
|
|
|
2023-04-16 17:55:54 +00:00
|
|
|
|
|
|
|
|
class Reparateur(models.Model):
|
2023-04-16 18:48:19 +00:00
|
|
|
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
|
|
|
|
2023-04-16 18:13:37 +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):
|
2023-04-16 18:48:19 +00:00
|
|
|
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
|
|
|
|
2023-04-16 18:13:37 +00:00
|
|
|
def __str__(self):
|
|
|
|
|
return f'Organisator {self.name} (eMail: {self.mail})'
|
|
|
|
|
|
2023-04-16 17:55:54 +00:00
|
|
|
|
2023-04-16 18:48:19 +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"))
|
2023-04-16 18:48:19 +00:00
|
|
|
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
|
|
|
|
2023-04-16 18:13:37 +00:00
|
|
|
def __str__(self):
|
2023-04-16 18:48:19 +00:00
|
|
|
return f'Gerät {self.device} von {self.owner} (eMail: {self.mail})'
|
2023-04-16 18:13:37 +00:00
|
|
|
|
2023-04-16 17:55:54 +00:00
|
|
|
|
2023-04-16 18:48:19 +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')
|
2023-04-16 18:13:37 +00:00
|
|
|
|
|
|
|
|
def __str__(self):
|
2023-04-16 18:48:19 +00:00
|
|
|
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
|
|
|
|
|
|
|
|
|
2023-04-16 18:48:19 +00:00
|
|
|
class Question(models.Model):
|
|
|
|
|
question = models.TextField(verbose_name=_("Frage"))
|
|
|
|
|
answer = models.TextField(verbose_name=_("Antwort"))
|
|
|
|
|
date = models.DateField(verbose_name=_("Erstellungsdatum"))
|
2023-04-16 18:13:37 +00:00
|
|
|
organisatorid = models.ForeignKey(
|
2023-04-16 18:48:19 +00:00
|
|
|
Organisator, on_delete=models.CASCADE, null=True, verbose_name=_("Organisator"))
|
2023-04-16 18:13:37 +00:00
|
|
|
reparateurid = models.ForeignKey(
|
2023-04-16 18:48:19 +00:00
|
|
|
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')
|
2023-04-16 18:13:37 +00:00
|
|
|
|
|
|
|
|
def __str__(self):
|
2023-04-16 18:48:19 +00:00
|
|
|
return f'Frage vom {self.date} zum Gerät {self.deviceid.device}'
|