language, rename models, add verbose names

This commit is contained in:
Tom Irgang 2023-04-16 20:48:19 +02:00
parent 7a66820a24
commit 6ecc96e347
5 changed files with 246 additions and 40 deletions

View file

@ -104,7 +104,7 @@ AUTH_PASSWORD_VALIDATORS = [
# Internationalization # Internationalization
# https://docs.djangoproject.com/en/4.2/topics/i18n/ # https://docs.djangoproject.com/en/4.2/topics/i18n/
LANGUAGE_CODE = 'en-us' LANGUAGE_CODE = 'de'
TIME_ZONE = 'Europe/Berlin' TIME_ZONE = 'Europe/Berlin'

View file

@ -1,10 +1,10 @@
from django.contrib import admin from django.contrib import admin
from .models import Organisator, Cafe, Frage, Gerät, Reparateur, Termin from .models import Organisator, Cafe, Question, Device, Reparateur, Appointment
admin.site.register(Organisator) admin.site.register(Organisator)
admin.site.register(Cafe) admin.site.register(Cafe)
admin.site.register(Frage) admin.site.register(Question)
admin.site.register(Gerät) admin.site.register(Device)
admin.site.register(Reparateur) admin.site.register(Reparateur)
admin.site.register(Termin) admin.site.register(Appointment)

View file

@ -0,0 +1,153 @@
# Generated by Django 4.2 on 2023-04-16 18:44
import datetime
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('repapp', '0003_alter_frage_organisatorid_alter_frage_reparateurid_and_more'),
]
operations = [
migrations.CreateModel(
name='Appointment',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('time', models.TimeField(verbose_name='Zeit')),
('confirmed', models.BooleanField(verbose_name='bestätigt')),
],
options={
'verbose_name': 'Termin',
'verbose_name_plural': 'Termine',
},
),
migrations.CreateModel(
name='Device',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('identifier', models.CharField(max_length=200, verbose_name='ID')),
('owner', models.CharField(max_length=200, verbose_name='Besitzer')),
('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')),
],
options={
'verbose_name': 'Gerät',
'verbose_name_plural': 'Geräte',
},
),
migrations.CreateModel(
name='Question',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('question', models.TextField(verbose_name='Frage')),
('answer', models.TextField(verbose_name='Antwort')),
('date', models.DateField(verbose_name='Erstellungsdatum')),
('deviceid', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='repapp.device', verbose_name='Gerät')),
],
options={
'verbose_name': 'Frage',
'verbose_name_plural': 'Fragen',
},
),
migrations.RemoveField(
model_name='termin',
name='cafeid',
),
migrations.RemoveField(
model_name='termin',
name='gerätid',
),
migrations.RemoveField(
model_name='termin',
name='reparateurid',
),
migrations.AlterModelOptions(
name='cafe',
options={'verbose_name': 'Repair-Café', 'verbose_name_plural': 'Repair-Cafés'},
),
migrations.AlterModelOptions(
name='organisator',
options={'verbose_name': 'Organisator', 'verbose_name_plural': 'Organisatoren'},
),
migrations.AlterModelOptions(
name='reparateur',
options={'verbose_name': 'Reparateur', 'verbose_name_plural': 'Reparateure'},
),
migrations.RemoveField(
model_name='cafe',
name='datum',
),
migrations.RemoveField(
model_name='cafe',
name='ort',
),
migrations.AddField(
model_name='cafe',
name='event_date',
field=models.DateField(default=datetime.date(2023, 4, 16), verbose_name='Datum'),
),
migrations.AddField(
model_name='cafe',
name='location',
field=models.CharField(default='', max_length=200, verbose_name='Ort'),
),
migrations.AlterField(
model_name='organisator',
name='mail',
field=models.CharField(max_length=200, verbose_name='eMail'),
),
migrations.AlterField(
model_name='organisator',
name='name',
field=models.CharField(max_length=200, verbose_name='Name'),
),
migrations.AlterField(
model_name='reparateur',
name='mail',
field=models.CharField(max_length=200, verbose_name='eMail'),
),
migrations.AlterField(
model_name='reparateur',
name='name',
field=models.CharField(max_length=200, verbose_name='Name'),
),
migrations.DeleteModel(
name='Frage',
),
migrations.DeleteModel(
name='Gerät',
),
migrations.DeleteModel(
name='Termin',
),
migrations.AddField(
model_name='question',
name='organisatorid',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='repapp.organisator', verbose_name='Organisator'),
),
migrations.AddField(
model_name='question',
name='reparateurid',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='repapp.reparateur', verbose_name='Reparateur'),
),
migrations.AddField(
model_name='appointment',
name='cafeid',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='repapp.cafe', verbose_name='Repair-Café'),
),
migrations.AddField(
model_name='appointment',
name='deviceid',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='repapp.device', verbose_name='Gerät'),
),
migrations.AddField(
model_name='appointment',
name='reparateurid',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='repapp.reparateur', verbose_name='Reparateur'),
),
]

View file

@ -0,0 +1,23 @@
# Generated by Django 4.2 on 2023-04-16 18:45
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('repapp', '0004_appointment_device_question_remove_termin_cafeid_and_more'),
]
operations = [
migrations.AlterField(
model_name='cafe',
name='event_date',
field=models.DateField(verbose_name='Datum'),
),
migrations.AlterField(
model_name='cafe',
name='location',
field=models.CharField(max_length=200, verbose_name='Ort'),
),
]

View file

@ -1,62 +1,92 @@
from django.db import models from django.db import models
from django.utils.translation import gettext_lazy as _
class Cafe(models.Model): class Cafe(models.Model):
ort = models.CharField(max_length=200) location = models.CharField(
datum = models.DateField() 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')
def __str__(self): def __str__(self):
return f'Repair-Café am {self.datum} (Ort: {self.ort})' return f'Repair-Café am {self.event_date} (Ort: {self.location})'
class Reparateur(models.Model): class Reparateur(models.Model):
name = models.CharField(max_length=200) name = models.CharField(max_length=200, verbose_name=_("Name"))
mail = models.CharField(max_length=200) mail = models.CharField(max_length=200, verbose_name=_("eMail"))
class Meta:
verbose_name = _('Reparateur')
verbose_name_plural = _('Reparateure')
def __str__(self): def __str__(self):
return f'Reparatuer {self.name} (eMail: {self.mail})' return f'Reparatuer {self.name} (eMail: {self.mail})'
class Organisator(models.Model): class Organisator(models.Model):
name = models.CharField(max_length=200) name = models.CharField(max_length=200, verbose_name=_("Name"))
mail = models.CharField(max_length=200) mail = models.CharField(max_length=200, verbose_name=_("eMail"))
class Meta:
verbose_name = _('Organisator')
verbose_name_plural = _('Organisatoren')
def __str__(self): def __str__(self):
return f'Organisator {self.name} (eMail: {self.mail})' return f'Organisator {self.name} (eMail: {self.mail})'
class Gerät(models.Model): class Device(models.Model):
identifier = models.CharField(max_length=200) identifier = models.CharField(max_length=200, verbose_name=_("ID"))
besitzer = models.CharField(max_length=200) owner = models.CharField(max_length=200, verbose_name=_("Besitzer"))
mail = models.CharField(max_length=200) mail = models.CharField(max_length=200, verbose_name=_("eMail"))
gerät = models.CharField(max_length=200) device = models.CharField(max_length=200, verbose_name=_("Gerät"))
fehler = models.TextField() error = models.TextField(verbose_name=_("Fehler"))
folgetermin = models.BooleanField() follow_up = models.BooleanField(verbose_name=_("Folgetermin"))
class Meta:
verbose_name = _('Gerät')
verbose_name_plural = _('Geräte')
def __str__(self): def __str__(self):
return f'Gerät {self.gerät} von {self.besitzer} (eMail: {self.mail})' return f'Gerät {self.device} von {self.owner} (eMail: {self.mail})'
class Termin(models.Model): class Appointment(models.Model):
uhrzeit = models.TimeField() time = models.TimeField(verbose_name=_("Zeit"))
bestätigt = models.BooleanField() confirmed = models.BooleanField(verbose_name=_("bestätigt"))
cafeid = models.ForeignKey(Cafe, on_delete=models.CASCADE) cafeid = models.ForeignKey(
reparateurid = models.ForeignKey(Reparateur, on_delete=models.CASCADE) Cafe, on_delete=models.CASCADE, verbose_name=_("Repair-Café"))
gerätid = models.ForeignKey(Gerät, on_delete=models.CASCADE, null=True)
def __str__(self):
return f'Termin {self.cafeid.datum} {self.uhrzeit} für Gerät {self.gerätid.gerät} von {self.gerätid.besitzer}'
class Frage(models.Model):
frage = models.TextField()
antwort = models.TextField()
datum = models.DateField()
organisatorid = models.ForeignKey(
Organisator, on_delete=models.CASCADE, null=True)
reparateurid = models.ForeignKey( reparateurid = models.ForeignKey(
Reparateur, on_delete=models.CASCADE, null=True) Reparateur, on_delete=models.CASCADE, verbose_name=_("Reparateur"))
gerätid = models.ForeignKey(Gerät, on_delete=models.CASCADE) 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): def __str__(self):
return f'Frage vom {self.datum} zum Gerät {self.gerätid.gerät}' return f'Termin {self.cafeid.event_date} {self.time} für Gerät {self.deviceid.device} von {self.deviceid.owner}'
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}'