diff --git a/docs/user/vermittlungen.rst b/docs/user/vermittlungen.rst index 1e30cb9..a462b24 100644 --- a/docs/user/vermittlungen.rst +++ b/docs/user/vermittlungen.rst @@ -1,7 +1,7 @@ Vermittlungen ============= -Vermittlungen können von allen Nutzer*innen mit Account erstellt werden. Vermittlungen normaler Nutzer*innen kommen dann in eine Warteschlange und werden vom Admin & Modertionsteam geprüft und sichtbar geschaltet. +Vermittlungen können von allen Nutzer\*innen mit Account erstellt werden. Vermittlungen normaler Nutzer*innen kommen dann in eine Warteschlange und werden vom Admin & Modertionsteam geprüft und sichtbar geschaltet. Tierheime und Pflegestellen können auf Anfrage einen Koordinations-Status bekommen, wodurch sie Vermittlungsanzeigen erstellen können die direkt öffentlich sichtbar sind. Jede Vermittlung hat ein "Zuletzt-geprüft" Datum, das anzeigt, wann ein Mensch zuletzt überprüft hat, ob die Anzeige noch aktuell ist. @@ -15,3 +15,108 @@ Die Kommentarfunktion von Vermittlungen ermöglicht es angemeldeten Nutzer*innen Ersteller*innen von Vermittlungen werden über neue Kommentare per Mail benachrichtigt, ebenso alle die die Vermittlung abonniert haben. Kommentare können, wie Vermittlungen, gemeldet werden. + +Adoption Notice Status Choices +++++++++++++++++++++++++++++++ + +Aktiv +----- + +Aktive Vermittlungen die über die Suche auffindbar sind. + +.. list-table:: + :header-rows: 1 + :width: 100% + :widths: 1 1 2 + + * - Value + - Label + - Description + + * - ``active_searching`` + - Searching + - + + * - ``active_interested`` + - Interested + - Jemand hat bereits Interesse an den Tieren. + +Warte auf Aktion +---------------- + +Vermittlungen in diesem Status warten darauf, dass ein Mensch sie überprüft. Sie können nicht über die Suche gefunden werden. + +.. list-table:: + :header-rows: 1 + :width: 100% + :widths: 1 1 2 + + * - ``awaiting_action_waiting_for_review`` + - Waiting for review + - Neue Vermittlung die deaktiviert ist bis Moderator*innen sie überprüfen. + + * - ``awaiting_action_needs_additional_info`` + - Needs additional info + - Deaktiviert bis Informationen nachgetragen werden. + + * - ``disabled_unchecked`` + - Unchecked + - Vermittlung deaktiviert bis sie vom Team auf Aktualität geprüft wurde. + +Geschlossen +----------- + +Geschlossene Vermittlungen tauchen in keiner Suche auf. Sie werden aber weiterhin angezeigt, wenn der Link zu ihnen direkt aufgerufen wird. + +.. list-table:: + :header-rows: 1 + :width: 100% + :widths: 1 1 2 + + * - ``closed_successful_with_notfellchen`` + - Successful (with Notfellchen) + - Vermittlung erfolgreich abgeschlossen. + + * - ``closed_successful_without_notfellchen`` + - Successful (without Notfellchen) + - Vermittlung erfolgreich abgeschlossen. + + * - ``closed_animal_died`` + - Animal died + - Die zu vermittelnden Tiere sind über die Regenbrücke gegangen. + + * - ``closed_for_other_adoption_notice`` + - Closed for other adoption notice + - Vermittlung wurde zugunsten einer anderen geschlossen. + + * - ``closed_not_open_for_adoption_anymore`` + - Not open for adoption anymore + - Tier(e) stehen nicht mehr zur Vermittlung bereit. + + * - ``closed_link_to_more_info_not_reachable`` + - Der Link zu weiteren Informationen ist nicht mehr erreichbar. + - Der Link zu weiteren Informationen ist nicht mehr erreichbar, die Vermittlung wurde daher automatisch deaktiviert. + + * - ``closed_other`` + - Other (closed) + - Vermittlung geschlossen. + +Deaktiviert +----------- + +Deaktivierte Vermittlungen werden nur noch Moderator\*innen und Administrator\*innen angezeigt. + +.. list-table:: + :header-rows: 1 + :width: 100% + :widths: 1 1 2 + + * - ``disabled_against_the_rules`` + - Against the rules + - Vermittlung deaktiviert da sie gegen die Regeln verstößt. + + * - ``disabled_other`` + - Other (disabled) + - Vermittlung deaktiviert. + + diff --git a/src/fellchensammlung/migrations/0068_alter_adoptionnotice_adoption_notice_status_and_more.py b/src/fellchensammlung/migrations/0068_alter_adoptionnotice_adoption_notice_status_and_more.py new file mode 100644 index 0000000..1399e19 --- /dev/null +++ b/src/fellchensammlung/migrations/0068_alter_adoptionnotice_adoption_notice_status_and_more.py @@ -0,0 +1,23 @@ +# Generated by Django 5.2.1 on 2025-09-29 15:33 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('fellchensammlung', '0067_alter_species_slug'), + ] + + operations = [ + migrations.AlterField( + model_name='adoptionnotice', + name='adoption_notice_status', + field=models.TextField(choices=[('active_searching', 'Searching'), ('active_interested', 'Interested'), ('awaiting_action_waiting_for_review', 'Waiting for review'), ('awaiting_action_needs_additional_info', 'Needs additional info'), ('awaiting_action_unchecked', 'Unchecked'), ('closed_successful_with_notfellchen', 'Successful (with Notfellchen)'), ('closed_successful_without_notfellchen', 'Successful (without Notfellchen)'), ('closed_animal_died', 'Animal died'), ('closed_for_other_adoption_notice', 'Closed for other adoption notice'), ('closed_not_open_for_adoption_anymore', 'Not open for adoption anymore'), ('closed_link_to_more_info_not_reachable', 'Der Link zu weiteren Informationen ist nicht mehr erreichbar.'), ('closed_other', 'Other (closed)'), ('disabled_against_the_rules', 'Against the rules'), ('disabled_other', 'Other (disabled)')], max_length=64, verbose_name='Status'), + ), + migrations.AlterField( + model_name='image', + name='image', + field=models.ImageField(help_text='Wähle ein Bild aus', upload_to='images', verbose_name='Bild'), + ), + ] diff --git a/src/fellchensammlung/models.py b/src/fellchensammlung/models.py index 21ddc4c..4f661e2 100644 --- a/src/fellchensammlung/models.py +++ b/src/fellchensammlung/models.py @@ -12,7 +12,8 @@ from .tools import misc, geo from notfellchen.settings import MEDIA_URL, base_url from .tools.geo import LocationProxy, Position from .tools.misc import time_since_as_hr_string -from .tools.model_helpers import NotificationTypeChoices, AdoptionNoticeStatusChoices, AdoptionProcess +from .tools.model_helpers import NotificationTypeChoices, AdoptionNoticeStatusChoices, AdoptionProcess, \ + AdoptionNoticeStatusChoicesDescriptions from .tools.model_helpers import ndm as NotificationDisplayMapping @@ -553,6 +554,10 @@ class AdoptionNotice(models.Model): def is_awaiting_action(self): return self.adoption_notice_status in self._values_of(AdoptionNoticeStatusChoices.AwaitingAction.choices) + @property + def status_description(self): + return AdoptionNoticeStatusChoicesDescriptions.mapping[self.adoption_notice_status] + def set_unchecked(self): self.last_checked = timezone.now() self.adoption_notice_status = AdoptionNoticeStatusChoices.Disabled.UNCHECKED diff --git a/src/fellchensammlung/tools/model_helpers.py b/src/fellchensammlung/tools/model_helpers.py index a1b7f24..cd6206b 100644 --- a/src/fellchensammlung/tools/model_helpers.py +++ b/src/fellchensammlung/tools/model_helpers.py @@ -66,6 +66,7 @@ class AdoptionNoticeStatusChoices: class AwaitingAction(TextChoices): WAITING_FOR_REVIEW = "awaiting_action_waiting_for_review", _("Waiting for review") NEEDS_ADDITIONAL_INFO = "awaiting_action_needs_additional_info", _("Needs additional info") + UNCHECKED = "awaiting_action_unchecked", _("Unchecked") class Closed(TextChoices): SUCCESSFUL_WITH_NOTFELLCHEN = "closed_successful_with_notfellchen", _("Successful (with Notfellchen)") @@ -79,7 +80,6 @@ class AdoptionNoticeStatusChoices: class Disabled(TextChoices): AGAINST_RULES = "disabled_against_the_rules", _("Against the rules") - UNCHECKED = "disabled_unchecked", _("Unchecked") OTHER = "disabled_other", _("Other (disabled)") @classmethod @@ -102,14 +102,17 @@ class AdoptionNoticeStatusChoicesDescriptions: _ansc.Closed.ANIMAL_DIED: _("Die zu vermittelnden Tiere sind über die Regenbrücke gegangen."), _ansc.Closed.FOR_OTHER_ADOPTION_NOTICE: _("Vermittlung wurde zugunsten einer anderen geschlossen."), _ansc.Closed.NOT_OPEN_ANYMORE: _("Tier(e) stehen nicht mehr zur Vermittlung bereit."), + _ansc.Closed.LINK_TO_MORE_INFO_NOT_REACHABLE: _( + "Der Link zu weiteren Informationen ist nicht mehr erreichbar," + "die Vermittlung wurde daher automatisch deaktiviert"), _ansc.Closed.OTHER: _("Vermittlung geschlossen."), _ansc.AwaitingAction.WAITING_FOR_REVIEW: _( "Deaktiviert bis Moderator*innen die Vermittlung prüfen können."), _ansc.AwaitingAction.NEEDS_ADDITIONAL_INFO: _("Deaktiviert bis Informationen nachgetragen werden."), + _ansc.AwaitingAction.UNCHECKED: _("Vermittlung deaktiviert bis sie vom Team auf Aktualität geprüft wurde."), _ansc.Disabled.AGAINST_RULES: _("Vermittlung deaktiviert da sie gegen die Regeln verstößt."), - _ansc.Disabled.UNCHECKED: _("Vermittlung deaktiviert bis sie vom Team auf Aktualität geprüft wurde."), _ansc.Disabled.OTHER: _("Vermittlung deaktiviert.") }