Notfellchen/src/fellchensammlung/migrations/0001_initial.py

600 lines
21 KiB
Python

# Generated by Django 5.0.3 on 2024-04-14 13:57
import datetime
import django.contrib.auth.models
import django.contrib.auth.validators
import django.db.models.deletion
import django.utils.timezone
import uuid
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
("auth", "0012_alter_user_first_name_max_length"),
]
operations = [
migrations.CreateModel(
name="Image",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("title", models.CharField(max_length=200)),
("image", models.ImageField(upload_to="images")),
("alt_text", models.TextField(max_length=2000)),
],
),
migrations.CreateModel(
name="Language",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"name",
models.CharField(
help_text="Der Name einer natürliche Sprache wie Deutsch, Englisch oder Arabisch.",
max_length=200,
unique=True,
),
),
(
"languagecode",
models.CharField(
help_text="Der standartisierte Sprachcode. Mehr Informationen: http://www.i18nguy.com/unicode/language-identifiers.html",
max_length=10,
verbose_name="Sprachcode",
),
),
],
options={
"verbose_name": "Sprache",
"verbose_name_plural": "Sprachen",
},
),
migrations.CreateModel(
name="Location",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("name", models.CharField(max_length=200)),
("postcode", models.CharField(max_length=200)),
(
"country",
models.CharField(
choices=[
("DE", "Germany"),
("AT", "Austria"),
("CH", "Switzerland"),
],
max_length=20,
),
),
(
"description",
models.TextField(
blank=True, null=True, verbose_name="Beschreibung"
),
),
],
),
migrations.CreateModel(
name="Species",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"name",
models.CharField(
help_text="Name der Tierart",
max_length=200,
verbose_name="Name",
),
),
],
options={
"verbose_name": "Tierart",
"verbose_name_plural": "Tierarten",
},
),
migrations.CreateModel(
name="User",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("password", models.CharField(max_length=128, verbose_name="password")),
(
"last_login",
models.DateTimeField(
blank=True, null=True, verbose_name="last login"
),
),
(
"is_superuser",
models.BooleanField(
default=False,
help_text="Designates that this user has all permissions without explicitly assigning them.",
verbose_name="superuser status",
),
),
(
"username",
models.CharField(
error_messages={
"unique": "A user with that username already exists."
},
help_text="Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.",
max_length=150,
unique=True,
validators=[
django.contrib.auth.validators.UnicodeUsernameValidator()
],
verbose_name="username",
),
),
(
"first_name",
models.CharField(
blank=True, max_length=150, verbose_name="first name"
),
),
(
"last_name",
models.CharField(
blank=True, max_length=150, verbose_name="last name"
),
),
(
"email",
models.EmailField(
blank=True, max_length=254, verbose_name="email address"
),
),
(
"is_staff",
models.BooleanField(
default=False,
help_text="Designates whether the user can log into this admin site.",
verbose_name="staff status",
),
),
(
"is_active",
models.BooleanField(
default=True,
help_text="Designates whether this user should be treated as active. Unselect this instead of deleting accounts.",
verbose_name="active",
),
),
(
"date_joined",
models.DateTimeField(
default=django.utils.timezone.now, verbose_name="date joined"
),
),
(
"groups",
models.ManyToManyField(
blank=True,
help_text="The groups this user belongs to. A user will get all permissions granted to each of their groups.",
related_name="user_set",
related_query_name="user",
to="auth.group",
verbose_name="groups",
),
),
(
"user_permissions",
models.ManyToManyField(
blank=True,
help_text="Specific permissions for this user.",
related_name="user_set",
related_query_name="user",
to="auth.permission",
verbose_name="user permissions",
),
),
],
options={
"verbose_name": "user",
"verbose_name_plural": "users",
"abstract": False,
},
managers=[
("objects", django.contrib.auth.models.UserManager()),
],
),
migrations.CreateModel(
name="AdoptionNotice",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"created_at",
models.DateField(
default=datetime.datetime.now, verbose_name="Erstellt am"
),
),
(
"searching_since",
models.DateField(verbose_name="Sucht nach einem Zuhause seit"),
),
("name", models.CharField(max_length=200)),
(
"description",
models.TextField(
blank=True, null=True, verbose_name="Beschreibung"
),
),
(
"further_information",
models.URLField(
blank=True, null=True, verbose_name="Link zu mehr Informationen"
),
),
(
"group_only",
models.BooleanField(
default=False, verbose_name="Ausschließlich Gruppenadoption"
),
),
(
"photos",
models.ManyToManyField(blank=True, to="fellchensammlung.image"),
),
],
options={
"permissions": [
(
"create_active_adoption_notice",
"Can create an active adoption notice",
)
],
},
),
migrations.CreateModel(
name="Member",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"trust_level",
models.CharField(
choices=[
("admin", "Administrator*in"),
("Moderator", "Moderator*in"),
("Koordinator*in", "Koordinator*in"),
("Mitglied", "Mitglied"),
],
default="Mitglied",
max_length=100,
),
),
(
"preferred_language",
models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.PROTECT,
to="fellchensammlung.language",
verbose_name="Bevorzugte Sprache",
),
),
(
"user",
models.OneToOneField(
on_delete=django.db.models.deletion.CASCADE,
to=settings.AUTH_USER_MODEL,
verbose_name="Nutzer*in",
),
),
],
options={
"verbose_name": "Nutzer*in",
"verbose_name_plural": "Nutzer*innen",
},
),
migrations.CreateModel(
name="Report",
fields=[
(
"id",
models.UUIDField(
default=uuid.uuid4,
help_text="ID dieses reports",
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"status",
models.CharField(
choices=[
("action taken", "Action was taken"),
("no action taken", "No action was taken"),
("waiting", "Waiting for moderator action"),
],
max_length=30,
),
),
("comment", models.TextField(blank=True)),
("created_at", models.DateTimeField(auto_now_add=True)),
(
"adoption_notice",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="fellchensammlung.adoptionnotice",
),
),
],
options={
"permissions": [],
},
),
migrations.CreateModel(
name="ModerationAction",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"action",
models.CharField(
choices=[
("user_banned", "User was banned"),
("content_deleted", "Content was deleted"),
("comment", "Comment was added"),
("other_action_taken", "Other action was taken"),
("no_action_taken", "No action was taken"),
],
max_length=30,
),
),
("created_at", models.DateTimeField(auto_now_add=True)),
("public_comment", models.TextField(blank=True)),
("private_comment", models.TextField(blank=True)),
(
"report",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="fellchensammlung.report",
),
),
],
),
migrations.CreateModel(
name="RescueOrganization",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("name", models.CharField(max_length=200)),
(
"trusted",
models.BooleanField(default=False, verbose_name="Vertrauenswürdig"),
),
(
"instagram",
models.URLField(
blank=True, null=True, verbose_name="Instagram Profil"
),
),
(
"facebook",
models.URLField(
blank=True, null=True, verbose_name="Facebook Profil"
),
),
(
"fediverse_profile",
models.URLField(
blank=True, null=True, verbose_name="Fediverse Profil"
),
),
(
"website",
models.URLField(blank=True, null=True, verbose_name="Website"),
),
(
"location",
models.ForeignKey(
on_delete=django.db.models.deletion.PROTECT,
to="fellchensammlung.location",
),
),
],
),
migrations.AddField(
model_name="adoptionnotice",
name="organization",
field=models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
to="fellchensammlung.rescueorganization",
verbose_name="Organisation",
),
),
migrations.CreateModel(
name="Rule",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("title", models.CharField(max_length=200)),
("rule_text", models.TextField()),
("rule_identifier", models.CharField(max_length=24)),
(
"language",
models.ForeignKey(
on_delete=django.db.models.deletion.PROTECT,
to="fellchensammlung.language",
),
),
],
),
migrations.AddField(
model_name="report",
name="reported_broken_rules",
field=models.ManyToManyField(blank=True, to="fellchensammlung.rule"),
),
migrations.CreateModel(
name="Animal",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("date_of_birth", models.DateField(verbose_name="Geburtsdatum")),
("name", models.CharField(max_length=200)),
(
"description",
models.TextField(
blank=True, null=True, verbose_name="Beschreibung"
),
),
(
"sex",
models.CharField(
choices=[
("M_N", "neutered male"),
("M", "male"),
("F_N", "neutered female"),
("F", "female"),
],
max_length=20,
),
),
(
"adoption_notice",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="fellchensammlung.adoptionnotice",
),
),
(
"photos",
models.ManyToManyField(blank=True, to="fellchensammlung.image"),
),
(
"species",
models.ForeignKey(
on_delete=django.db.models.deletion.PROTECT,
to="fellchensammlung.species",
),
),
],
),
migrations.CreateModel(
name="Text",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("title", models.CharField(max_length=100)),
("content", models.TextField(verbose_name="Inhalt")),
(
"text_code",
models.CharField(
blank=True, max_length=24, verbose_name="Text code"
),
),
(
"language",
models.ForeignKey(
on_delete=django.db.models.deletion.PROTECT,
to="fellchensammlung.language",
verbose_name="Sprache",
),
),
],
options={
"verbose_name": "Text",
"verbose_name_plural": "Texte",
},
),
]