translated stuff in admin section
This commit is contained in:
parent
172fe2f5bd
commit
8fc1c4b547
5 changed files with 154 additions and 18 deletions
|
@ -16,9 +16,9 @@ class BirdAdmin(admin.ModelAdmin):
|
||||||
|
|
||||||
@admin.register(BirdStatus)
|
@admin.register(BirdStatus)
|
||||||
class BirdStatusAdmin(admin.ModelAdmin):
|
class BirdStatusAdmin(admin.ModelAdmin):
|
||||||
list_display = ["id", "description"]
|
list_display = ["description"]
|
||||||
|
|
||||||
|
|
||||||
@admin.register(Circumstance)
|
@admin.register(Circumstance)
|
||||||
class CircumstanceAdmin(admin.ModelAdmin):
|
class CircumstanceAdmin(admin.ModelAdmin):
|
||||||
list_display = ["id", "description"]
|
list_display = ["description"]
|
||||||
|
|
|
@ -16,9 +16,7 @@ def costs_default():
|
||||||
class FallenBird(models.Model):
|
class FallenBird(models.Model):
|
||||||
id = models.UUIDField(primary_key=True, default=uuid4, editable=False)
|
id = models.UUIDField(primary_key=True, default=uuid4, editable=False)
|
||||||
bird_identifier = models.CharField(max_length=256, verbose_name=_("Kennung"))
|
bird_identifier = models.CharField(max_length=256, verbose_name=_("Kennung"))
|
||||||
bird = models.ForeignKey(
|
bird = models.ForeignKey( "Bird", on_delete=models.CASCADE, verbose_name=_("Patient"))
|
||||||
"Bird", on_delete=models.CASCADE, verbose_name=_("Patient")
|
|
||||||
)
|
|
||||||
date_found = models.DateField(verbose_name=_("Datum des Fundes"))
|
date_found = models.DateField(verbose_name=_("Datum des Fundes"))
|
||||||
place = models.CharField(max_length=256, verbose_name=_("Ort des Fundes"))
|
place = models.CharField(max_length=256, verbose_name=_("Ort des Fundes"))
|
||||||
created = models.DateTimeField(auto_now_add=True, verbose_name=_("angelegt am"))
|
created = models.DateTimeField(auto_now_add=True, verbose_name=_("angelegt am"))
|
||||||
|
@ -26,9 +24,7 @@ class FallenBird(models.Model):
|
||||||
find_circumstances = models.ForeignKey("Circumstance", on_delete=models.CASCADE)
|
find_circumstances = models.ForeignKey("Circumstance", on_delete=models.CASCADE)
|
||||||
diagnostic_finding = models.CharField(max_length=256)
|
diagnostic_finding = models.CharField(max_length=256)
|
||||||
costs = models.JSONField("Costs", default=costs_default)
|
costs = models.JSONField("Costs", default=costs_default)
|
||||||
rescuer = models.ForeignKey(
|
rescuer = models.ForeignKey( Rescuer, on_delete=models.SET_NULL, blank=True, null=True)
|
||||||
Rescuer, on_delete=models.SET_NULL, blank=True, null=True
|
|
||||||
)
|
|
||||||
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
|
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
|
||||||
status = models.ForeignKey("BirdStatus", on_delete=models.CASCADE, default=1)
|
status = models.ForeignKey("BirdStatus", on_delete=models.CASCADE, default=1)
|
||||||
aviary = models.ForeignKey(Aviary, on_delete=models.SET_NULL, blank=True, null=True)
|
aviary = models.ForeignKey(Aviary, on_delete=models.SET_NULL, blank=True, null=True)
|
||||||
|
@ -43,7 +39,7 @@ class FallenBird(models.Model):
|
||||||
|
|
||||||
class Bird(models.Model):
|
class Bird(models.Model):
|
||||||
id = models.UUIDField(primary_key=True, default=uuid4, editable=False)
|
id = models.UUIDField(primary_key=True, default=uuid4, editable=False)
|
||||||
name = models.CharField(max_length=256, unique=True)
|
name = models.CharField(max_length=256, unique=True, verbose_name=_("Bezeichnung"))
|
||||||
description = models.CharField(max_length=4096, verbose_name=_("Hilfetext"))
|
description = models.CharField(max_length=4096, verbose_name=_("Hilfetext"))
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
@ -56,7 +52,7 @@ class Bird(models.Model):
|
||||||
|
|
||||||
class BirdStatus(models.Model):
|
class BirdStatus(models.Model):
|
||||||
id = models.BigAutoField(primary_key=True)
|
id = models.BigAutoField(primary_key=True)
|
||||||
description = models.CharField(max_length=256, unique=True)
|
description = models.CharField(max_length=256, unique=True, verbose_name=_("Bezeichnung"))
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = _("Patientenstatus")
|
verbose_name = _("Patientenstatus")
|
||||||
|
@ -78,7 +74,7 @@ class BirdStatus(models.Model):
|
||||||
|
|
||||||
class Circumstance(models.Model):
|
class Circumstance(models.Model):
|
||||||
id = models.BigAutoField(primary_key=True)
|
id = models.BigAutoField(primary_key=True)
|
||||||
description = models.CharField(max_length=256)
|
description = models.CharField(max_length=256, verbose_name=_("Bezeichnung"))
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = _("Fundumstand")
|
verbose_name = _("Fundumstand")
|
||||||
|
|
|
@ -181,3 +181,143 @@ LOGIN_REDIRECT_URL = "/bird/all"
|
||||||
# Email
|
# Email
|
||||||
EMAIL_BACKEND = "django.core.mail.backends.console.EmailBackend"
|
EMAIL_BACKEND = "django.core.mail.backends.console.EmailBackend"
|
||||||
|
|
||||||
|
JAZZMIN_SETTINGS = {
|
||||||
|
# title of the window (Will default to current_admin_site.site_title if absent or None)
|
||||||
|
"site_title": "FBF Admin",
|
||||||
|
|
||||||
|
# Title on the login screen (19 chars max) (defaults to current_admin_site.site_header if absent or None)
|
||||||
|
"site_header": "Fallen Birdy App",
|
||||||
|
|
||||||
|
# Title on the brand (19 chars max) (defaults to current_admin_site.site_header if absent or None)
|
||||||
|
"site_brand": "Fallen Birdy App",
|
||||||
|
|
||||||
|
# Logo to use for your site, must be present in static files, used for brand on top left
|
||||||
|
"site_logo": "img/logo_medium.png",
|
||||||
|
|
||||||
|
# Logo to use for your site, must be present in static files, used for login form logo (defaults to site_logo)
|
||||||
|
"login_logo": None,
|
||||||
|
|
||||||
|
# Logo to use for login form in dark themes (defaults to login_logo)
|
||||||
|
"login_logo_dark": None,
|
||||||
|
|
||||||
|
# CSS classes that are applied to the logo above
|
||||||
|
"site_logo_classes": "img-circle",
|
||||||
|
|
||||||
|
# Relative path to a favicon for your site, will default to site_logo if absent (ideally 32x32 px)
|
||||||
|
"site_icon": None,
|
||||||
|
|
||||||
|
# Welcome text on the login screen
|
||||||
|
"welcome_sign": "Willkommen im Admin-Bereich",
|
||||||
|
|
||||||
|
# Copyright on the footer
|
||||||
|
"copyright": "Acme Library Ltd",
|
||||||
|
|
||||||
|
# List of model admins to search from the search bar, search bar omitted if excluded
|
||||||
|
# If you want to use a single search field you dont need to use a list, you can use a simple string
|
||||||
|
"search_model": ["auth.User", "auth.Group"],
|
||||||
|
|
||||||
|
# Field name on user model that contains avatar ImageField/URLField/Charfield or a callable that receives the user
|
||||||
|
"user_avatar": None,
|
||||||
|
|
||||||
|
############
|
||||||
|
# Top Menu #
|
||||||
|
############
|
||||||
|
|
||||||
|
# Links to put along the top menu
|
||||||
|
"topmenu_links": [
|
||||||
|
|
||||||
|
# Url that gets reversed (Permissions can be added)
|
||||||
|
{"name": "Home", "url": "admin:index", "permissions": ["auth.view_user"]},
|
||||||
|
|
||||||
|
# external url that opens in a new window (Permissions can be added)
|
||||||
|
{"name": "Support", "url": "https://github.com/farridav/django-jazzmin/issues", "new_window": True},
|
||||||
|
|
||||||
|
# model admin to link to (Permissions checked against model)
|
||||||
|
{"model": "auth.User"},
|
||||||
|
|
||||||
|
# App with dropdown menu to all its models pages (Permissions checked against models)
|
||||||
|
{"app": "books"},
|
||||||
|
],
|
||||||
|
|
||||||
|
#############
|
||||||
|
# User Menu #
|
||||||
|
#############
|
||||||
|
|
||||||
|
# Additional links to include in the user menu on the top right ("app" url type is not allowed)
|
||||||
|
"usermenu_links": [
|
||||||
|
{"name": "Support", "url": "https://github.com/farridav/django-jazzmin/issues", "new_window": True},
|
||||||
|
{"model": "auth.user"}
|
||||||
|
],
|
||||||
|
|
||||||
|
#############
|
||||||
|
# Side Menu #
|
||||||
|
#############
|
||||||
|
|
||||||
|
# Whether to display the side menu
|
||||||
|
"show_sidebar": True,
|
||||||
|
|
||||||
|
# Whether to aut expand the menu
|
||||||
|
"navigation_expanded": True,
|
||||||
|
|
||||||
|
# Hide these apps when generating side menu e.g (auth)
|
||||||
|
"hide_apps": [],
|
||||||
|
|
||||||
|
# Hide these models when generating side menu (e.g auth.user)
|
||||||
|
"hide_models": [],
|
||||||
|
|
||||||
|
# List of apps (and/or models) to base side menu ordering off of (does not need to contain all apps/models)
|
||||||
|
"order_with_respect_to": ["auth", "books", "books.author", "books.book"],
|
||||||
|
|
||||||
|
# Custom links to append to app groups, keyed on app name
|
||||||
|
"custom_links": {
|
||||||
|
"books": [{
|
||||||
|
"name": "Make Messages",
|
||||||
|
"url": "make_messages",
|
||||||
|
"icon": "fas fa-comments",
|
||||||
|
"permissions": ["books.view_book"]
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
|
||||||
|
# Custom icons for side menu apps/models See https://fontawesome.com/icons?d=gallery&m=free&v=5.0.0,5.0.1,5.0.10,5.0.11,5.0.12,5.0.13,5.0.2,5.0.3,5.0.4,5.0.5,5.0.6,5.0.7,5.0.8,5.0.9,5.1.0,5.1.1,5.2.0,5.3.0,5.3.1,5.4.0,5.4.1,5.4.2,5.13.0,5.12.0,5.11.2,5.11.1,5.10.0,5.9.0,5.8.2,5.8.1,5.7.2,5.7.1,5.7.0,5.6.3,5.5.0,5.4.2
|
||||||
|
# for the full list of 5.13.0 free icon classes
|
||||||
|
"icons": {
|
||||||
|
"auth": "fas fa-users-cog",
|
||||||
|
"auth.user": "fas fa-user",
|
||||||
|
"auth.Group": "fas fa-users",
|
||||||
|
},
|
||||||
|
# Icons that are used when one is not manually specified
|
||||||
|
"default_icon_parents": "fas fa-chevron-circle-right",
|
||||||
|
"default_icon_children": "fas fa-circle",
|
||||||
|
|
||||||
|
#################
|
||||||
|
# Related Modal #
|
||||||
|
#################
|
||||||
|
# Use modals instead of popups
|
||||||
|
"related_modal_active": False,
|
||||||
|
|
||||||
|
#############
|
||||||
|
# UI Tweaks #
|
||||||
|
#############
|
||||||
|
# Relative paths to custom CSS/JS scripts (must be present in static files)
|
||||||
|
"custom_css": None,
|
||||||
|
"custom_js": None,
|
||||||
|
# Whether to link font from fonts.googleapis.com (use custom_css to supply font otherwise)
|
||||||
|
"use_google_fonts_cdn": True,
|
||||||
|
# Whether to show the UI customizer on the sidebar
|
||||||
|
"show_ui_builder": False,
|
||||||
|
|
||||||
|
###############
|
||||||
|
# Change view #
|
||||||
|
###############
|
||||||
|
# Render out the change view as a single form, or in tabs, current options are
|
||||||
|
# - single
|
||||||
|
# - horizontal_tabs (default)
|
||||||
|
# - vertical_tabs
|
||||||
|
# - collapsible
|
||||||
|
# - carousel
|
||||||
|
"changeform_format": "horizontal_tabs",
|
||||||
|
# override change forms on a per modeladmin basis
|
||||||
|
"changeform_format_overrides": {"auth.user": "collapsible", "auth.group": "vertical_tabs"},
|
||||||
|
# Add a language dropdown into the admin
|
||||||
|
# "language_chooser": True,
|
||||||
|
}
|
|
@ -8,13 +8,13 @@ from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
class Rescuer(models.Model):
|
class Rescuer(models.Model):
|
||||||
id = models.UUIDField(primary_key=True, default=uuid4, editable=False)
|
id = models.UUIDField(primary_key=True, default=uuid4, editable=False)
|
||||||
first_name = models.CharField(max_length=200)
|
first_name = models.CharField(max_length=200, verbose_name=_("Vorname"))
|
||||||
last_name = models.CharField(max_length=200)
|
last_name = models.CharField(max_length=200, verbose_name=_("Nachname"))
|
||||||
street = models.CharField(max_length=200)
|
street = models.CharField(max_length=200, verbose_name=_("Straße"))
|
||||||
street_number = models.CharField(max_length=20)
|
street_number = models.CharField(max_length=20, verbose_name=_("Nummer"))
|
||||||
city = models.CharField(max_length=200)
|
city = models.CharField(max_length=200, verbose_name=_("Stadt"))
|
||||||
zip_code = models.CharField(max_length=200)
|
zip_code = models.CharField(max_length=200, verbose_name=_("PLZ"))
|
||||||
phone = models.CharField(max_length=200)
|
phone = models.CharField(max_length=200, verbose_name=_("Telefon"))
|
||||||
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
|
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
|
Before Width: | Height: | Size: 310 KiB After Width: | Height: | Size: 310 KiB |
Loading…
Add table
Add a link
Reference in a new issue