From 87a93b9a7fd7ca00437a2a0d44cf584c74dabdd2 Mon Sep 17 00:00:00 2001 From: mpeltriaux Date: Fri, 18 Feb 2022 14:06:51 +0100 Subject: [PATCH] #101 Team data view * adds overview of shared teams on object detail view * adds team data view if button is clicked --- .../detail/compensation/view.html | 4 + .../compensation/detail/eco_account/view.html | 4 + ema/templates/ema/detail/view.html | 4 + .../templates/intervention/detail/view.html | 4 + locale/de/LC_MESSAGES/django.mo | Bin 39816 -> 39892 bytes locale/de/LC_MESSAGES/django.po | 191 +++++++++--------- user/forms.py | 43 ++++ .../user/includes/contact_modal_button.html | 2 +- .../user/includes/team_data_modal_button.html | 6 + user/urls.py | 1 + user/views.py | 27 ++- 11 files changed, 193 insertions(+), 93 deletions(-) create mode 100644 user/templates/user/includes/team_data_modal_button.html diff --git a/compensation/templates/compensation/detail/compensation/view.html b/compensation/templates/compensation/detail/compensation/view.html index c5ff41d..e387151 100644 --- a/compensation/templates/compensation/detail/compensation/view.html +++ b/compensation/templates/compensation/detail/compensation/view.html @@ -98,6 +98,10 @@ {% trans 'Shared with' %} + {% for team in obj.intervention.teams.all %} + {% include 'user/includes/team_data_modal_button.html' %} + {% endfor %} +
{% for user in obj.intervention.users.all %} {% include 'user/includes/contact_modal_button.html' %} {% endfor %} diff --git a/compensation/templates/compensation/detail/eco_account/view.html b/compensation/templates/compensation/detail/eco_account/view.html index 288b971..ee4a0f7 100644 --- a/compensation/templates/compensation/detail/eco_account/view.html +++ b/compensation/templates/compensation/detail/eco_account/view.html @@ -81,6 +81,10 @@ {% trans 'Shared with' %} + {% for team in obj.teams.all %} + {% include 'user/includes/team_data_modal_button.html' %} + {% endfor %} +
{% for user in obj.users.all %} {% include 'user/includes/contact_modal_button.html' %} {% endfor %} diff --git a/ema/templates/ema/detail/view.html b/ema/templates/ema/detail/view.html index 32ddd66..7b56703 100644 --- a/ema/templates/ema/detail/view.html +++ b/ema/templates/ema/detail/view.html @@ -74,6 +74,10 @@ {% trans 'Shared with' %} + {% for team in obj.teams.all %} + {% include 'user/includes/team_data_modal_button.html' %} + {% endfor %} +
{% for user in obj.users.all %} {% include 'user/includes/contact_modal_button.html' %} {% endfor %} diff --git a/intervention/templates/intervention/detail/view.html b/intervention/templates/intervention/detail/view.html index 8e7fc6c..f5680cc 100644 --- a/intervention/templates/intervention/detail/view.html +++ b/intervention/templates/intervention/detail/view.html @@ -114,6 +114,10 @@ {% trans 'Shared with' %} + {% for team in obj.teams.all %} + {% include 'user/includes/team_data_modal_button.html' %} + {% endfor %} +
{% for user in obj.users.all %} {% include 'user/includes/contact_modal_button.html' %} {% endfor %} diff --git a/locale/de/LC_MESSAGES/django.mo b/locale/de/LC_MESSAGES/django.mo index cbd6f0b09ac2c43691e3e31e27cb6e98f171d3df..ced4ab1ce70235e9c2f809480b12816984ba7a18 100644 GIT binary patch delta 9721 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 delta 9658 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, YEAR. # -#: compensation/filters.py:122 compensation/forms/modalForms.py:36 +#: compensation/filters.py:123 compensation/forms/modalForms.py:36 #: compensation/forms/modalForms.py:47 compensation/forms/modalForms.py:63 #: compensation/forms/modalForms.py:356 compensation/forms/modalForms.py:463 #: intervention/forms/forms.py:54 intervention/forms/forms.py:156 -#: intervention/forms/forms.py:168 intervention/forms/modalForms.py:154 -#: intervention/forms/modalForms.py:167 intervention/forms/modalForms.py:180 +#: intervention/forms/forms.py:168 intervention/forms/modalForms.py:150 +#: intervention/forms/modalForms.py:163 intervention/forms/modalForms.py:176 #: konova/filters/mixins.py:53 konova/filters/mixins.py:54 #: konova/filters/mixins.py:81 konova/filters/mixins.py:82 #: konova/filters/mixins.py:94 konova/filters/mixins.py:95 #: konova/filters/mixins.py:107 konova/filters/mixins.py:108 #: konova/filters/mixins.py:120 konova/filters/mixins.py:121 #: konova/filters/mixins.py:134 konova/filters/mixins.py:135 -#: konova/filters/mixins.py:270 konova/filters/mixins.py:315 -#: konova/filters/mixins.py:353 konova/filters/mixins.py:354 -#: konova/filters/mixins.py:385 konova/filters/mixins.py:386 +#: konova/filters/mixins.py:270 konova/filters/mixins.py:316 +#: konova/filters/mixins.py:354 konova/filters/mixins.py:355 +#: konova/filters/mixins.py:386 konova/filters/mixins.py:387 #: konova/forms.py:143 konova/forms.py:244 konova/forms.py:315 #: konova/forms.py:359 konova/forms.py:369 konova/forms.py:382 #: konova/forms.py:394 konova/forms.py:412 user/forms.py:42 @@ -26,7 +26,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-02-18 12:35+0100\n" +"POT-Creation-Date: 2022-02-18 14:01+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -52,7 +52,7 @@ msgstr "Bis" #: intervention/forms/forms.py:102 #: intervention/templates/intervention/detail/view.html:56 #: intervention/templates/intervention/report/report.html:37 -#: intervention/utils/quality.py:49 konova/filters/mixins.py:395 +#: intervention/utils/quality.py:49 konova/filters/mixins.py:396 msgid "Conservation office" msgstr "Eintragungsstelle" @@ -221,7 +221,7 @@ msgstr "Abbuchungen" #: compensation/templates/compensation/detail/eco_account/includes/states-before.html:36 #: ema/templates/ema/detail/includes/states-after.html:36 #: ema/templates/ema/detail/includes/states-before.html:36 -#: intervention/forms/modalForms.py:365 +#: intervention/forms/modalForms.py:361 msgid "Surface" msgstr "Fläche" @@ -284,8 +284,8 @@ msgid "Type" msgstr "Typ" #: analysis/templates/analysis/reports/includes/old_data/amount.html:24 -#: compensation/tables.py:89 intervention/forms/modalForms.py:376 -#: intervention/forms/modalForms.py:383 intervention/tables.py:88 +#: compensation/tables.py:89 intervention/forms/modalForms.py:372 +#: intervention/forms/modalForms.py:379 intervention/tables.py:88 #: intervention/templates/intervention/detail/view.html:19 #: konova/templates/konova/includes/quickstart/interventions.html:4 #: templates/navbars/navbar.html:22 @@ -295,7 +295,7 @@ msgstr "Eingriff" #: analysis/templates/analysis/reports/includes/old_data/amount.html:34 #: compensation/tables.py:266 #: compensation/templates/compensation/detail/eco_account/view.html:20 -#: intervention/forms/modalForms.py:349 intervention/forms/modalForms.py:356 +#: intervention/forms/modalForms.py:345 intervention/forms/modalForms.py:352 #: konova/templates/konova/includes/quickstart/ecoaccounts.html:4 #: templates/navbars/navbar.html:34 msgid "Eco-account" @@ -309,7 +309,7 @@ msgstr "Altfälle" msgid "Before" msgstr "Vor" -#: compensation/filters.py:121 +#: compensation/filters.py:122 msgid "Show only unrecorded" msgstr "Nur unverzeichnete anzeigen" @@ -364,7 +364,7 @@ msgstr "Kompensation XY; Flur ABC" #: ema/templates/ema/detail/includes/actions.html:34 #: ema/templates/ema/detail/includes/deadlines.html:34 #: ema/templates/ema/detail/includes/documents.html:34 -#: intervention/forms/forms.py:180 intervention/forms/modalForms.py:179 +#: intervention/forms/forms.py:180 intervention/forms/modalForms.py:175 #: intervention/templates/intervention/detail/includes/documents.html:34 #: intervention/templates/intervention/detail/includes/payments.html:34 #: intervention/templates/intervention/detail/includes/revocation.html:38 @@ -484,7 +484,7 @@ msgid "Due on which date" msgstr "Zahlung wird an diesem Datum erwartet" #: compensation/forms/modalForms.py:64 compensation/forms/modalForms.py:357 -#: intervention/forms/modalForms.py:181 konova/forms.py:395 +#: intervention/forms/modalForms.py:177 konova/forms.py:395 msgid "Additional comment, maximum {} letters" msgstr "Zusätzlicher Kommentar, maximal {} Zeichen" @@ -512,7 +512,7 @@ msgstr "Zusatzbezeichnung" msgid "Select an additional biotope type" msgstr "Zusatzbezeichnung wählen" -#: compensation/forms/modalForms.py:197 intervention/forms/modalForms.py:367 +#: compensation/forms/modalForms.py:197 intervention/forms/modalForms.py:363 msgid "in m²" msgstr "" @@ -540,7 +540,7 @@ msgstr "Fristart wählen" #: compensation/templates/compensation/detail/compensation/includes/deadlines.html:31 #: compensation/templates/compensation/detail/eco_account/includes/deadlines.html:31 #: ema/templates/ema/detail/includes/deadlines.html:31 -#: intervention/forms/modalForms.py:153 +#: intervention/forms/modalForms.py:149 msgid "Date" msgstr "Datum" @@ -1142,7 +1142,7 @@ msgstr "Daten zu den verantwortlichen Stellen" msgid "Compensations - Overview" msgstr "Kompensationen - Übersicht" -#: compensation/views/compensation.py:151 konova/utils/message_templates.py:31 +#: compensation/views/compensation.py:151 konova/utils/message_templates.py:33 msgid "Compensation {} edited" msgstr "Kompensation {} bearbeitet" @@ -1269,7 +1269,7 @@ msgstr "Mehrfachauswahl möglich" #: intervention/forms/forms.py:86 #: intervention/templates/intervention/detail/view.html:48 #: intervention/templates/intervention/report/report.html:29 -#: intervention/utils/quality.py:46 konova/filters/mixins.py:363 +#: intervention/utils/quality.py:46 konova/filters/mixins.py:364 msgid "Registration office" msgstr "Zulassungsbehörde" @@ -1322,7 +1322,7 @@ msgstr "Freigabelink" #: intervention/forms/modalForms.py:31 msgid "Send this link to users who you want to have writing access on the data" -msgstr "Andere Nutzer erhalten über diesen Link Zugriff auf die Daten" +msgstr "Einzelne Nutzer erhalten über diesen Link Zugriff auf die Daten" #: intervention/forms/modalForms.py:41 msgid "Add team to share with" @@ -1338,7 +1338,7 @@ msgstr "" #: intervention/forms/modalForms.py:55 msgid "Add user to share with" -msgstr "Nutzer direkt hinzufügen" +msgstr "Nutzer einzeln hinzufügen" #: intervention/forms/modalForms.py:57 msgid "" @@ -1352,44 +1352,38 @@ msgstr "" msgid "Share settings for {}" msgstr "Freigabe Einstellungen für {}" -#: intervention/forms/modalForms.py:105 intervention/forms/modalForms.py:111 -msgid "" -"Only conservation or registration office users are allowed to remove entries." -msgstr "" -"Nur Mitarbeiter der Naturschutz- oder Zulassungsbehördengruppe dürfen Einträge entfernen" - -#: intervention/forms/modalForms.py:155 +#: intervention/forms/modalForms.py:151 msgid "Date of revocation" msgstr "Datum des Widerspruchs" -#: intervention/forms/modalForms.py:166 +#: intervention/forms/modalForms.py:162 #: intervention/templates/intervention/detail/includes/revocation.html:35 msgid "Document" msgstr "Dokument" -#: intervention/forms/modalForms.py:169 +#: intervention/forms/modalForms.py:165 msgid "Must be smaller than 15 Mb" msgstr "Muss kleiner als 15 Mb sein" -#: intervention/forms/modalForms.py:194 +#: intervention/forms/modalForms.py:190 #: intervention/templates/intervention/detail/includes/revocation.html:18 msgid "Add revocation" msgstr "Widerspruch hinzufügen" -#: intervention/forms/modalForms.py:251 +#: intervention/forms/modalForms.py:247 msgid "Checked intervention data" msgstr "Eingriffsdaten geprüft" -#: intervention/forms/modalForms.py:257 +#: intervention/forms/modalForms.py:253 msgid "Checked compensations data and payments" msgstr "Kompensationen und Zahlungen geprüft" -#: intervention/forms/modalForms.py:266 +#: intervention/forms/modalForms.py:262 #: intervention/templates/intervention/detail/includes/controls.html:19 msgid "Run check" msgstr "Prüfung vornehmen" -#: intervention/forms/modalForms.py:267 konova/forms.py:514 +#: intervention/forms/modalForms.py:263 konova/forms.py:514 msgid "" "I, {} {}, confirm that all necessary control steps have been performed by " "myself." @@ -1397,23 +1391,23 @@ msgstr "" "Ich, {} {}, bestätige, dass die notwendigen Kontrollschritte durchgeführt " "wurden:" -#: intervention/forms/modalForms.py:351 +#: intervention/forms/modalForms.py:347 msgid "Only recorded accounts can be selected for deductions" msgstr "Nur verzeichnete Ökokonten können für Abbuchungen verwendet werden." -#: intervention/forms/modalForms.py:378 +#: intervention/forms/modalForms.py:374 msgid "Only shared interventions can be selected" msgstr "Nur freigegebene Eingriffe können gewählt werden" -#: intervention/forms/modalForms.py:391 +#: intervention/forms/modalForms.py:387 msgid "New Deduction" msgstr "Neue Abbuchung" -#: intervention/forms/modalForms.py:392 +#: intervention/forms/modalForms.py:388 msgid "Enter the information for a new deduction from a chosen eco-account" msgstr "Geben Sie die Informationen für eine neue Abbuchung ein." -#: intervention/forms/modalForms.py:435 +#: intervention/forms/modalForms.py:431 msgid "" "Eco-account {} is not recorded yet. You can only deduct from recorded " "accounts." @@ -1421,7 +1415,7 @@ msgstr "" "Ökokonto {} ist noch nicht verzeichnet. Abbuchungen können nur von " "verzeichneten Ökokonten erfolgen." -#: intervention/forms/modalForms.py:445 +#: intervention/forms/modalForms.py:441 msgid "" "The account {} has not enough surface for a deduction of {} m². There are " "only {} m² left" @@ -1616,15 +1610,15 @@ msgstr "Nach Flurstücknenner suchen" msgid "Show unshared" msgstr "Nicht freigegebene anzeigen" -#: konova/filters/mixins.py:314 +#: konova/filters/mixins.py:315 msgid "Show recorded" msgstr "Verzeichnete anzeigen" -#: konova/filters/mixins.py:364 +#: konova/filters/mixins.py:365 msgid "Search for registration office" msgstr "Nach Zulassungsbehörde suchen" -#: konova/filters/mixins.py:396 +#: konova/filters/mixins.py:397 msgid "Search for conservation office" msgstr "Nch Eintragungsstelle suchen" @@ -1851,10 +1845,25 @@ msgstr "" "der Zwischenzeit angelegt wurde, welcher diese Kennung nun bereits verwendet" #: konova/utils/message_templates.py:15 +msgid "" +"Only conservation or registration office users are allowed to remove entries." +msgstr "" +"Nur Mitarbeiter der Naturschutz- oder Zulassungsbehördengruppe dürfen " +"Einträge entfernen" + +#: konova/utils/message_templates.py:16 +msgid "You need to be part of another user group." +msgstr "Hierfür müssen Sie einer anderen Nutzergruppe angehören!" + +#: konova/utils/message_templates.py:17 +msgid "Status of Checked and Recorded reseted" +msgstr "'Geprüft'/'Verzeichnet' wurde zurückgesetzt" + +#: konova/utils/message_templates.py:20 msgid "This data is not shared with you" msgstr "Diese Daten sind für Sie nicht freigegeben" -#: konova/utils/message_templates.py:16 +#: konova/utils/message_templates.py:21 msgid "" "Remember: This data has not been shared with you, yet. This means you can " "only read but can not edit or perform any actions like running a check or " @@ -1864,23 +1873,15 @@ msgstr "" "bedeutet, dass Sie nur lesenden Zugriff hierauf haben und weder bearbeiten, " "noch Prüfungen durchführen oder verzeichnen können." -#: konova/utils/message_templates.py:17 -msgid "You need to be part of another user group." -msgstr "Hierfür müssen Sie einer anderen Nutzergruppe angehören!" - -#: konova/utils/message_templates.py:19 -msgid "Status of Checked and Recorded reseted" -msgstr "'Geprüft'/'Verzeichnet' wurde zurückgesetzt" - -#: konova/utils/message_templates.py:22 +#: konova/utils/message_templates.py:24 msgid "Unsupported file type" msgstr "Dateiformat nicht unterstützt" -#: konova/utils/message_templates.py:23 +#: konova/utils/message_templates.py:25 msgid "File too large" msgstr "Datei zu groß" -#: konova/utils/message_templates.py:26 +#: konova/utils/message_templates.py:28 msgid "" "Action canceled. Eco account is recorded or deductions exist. Only " "conservation office member can perform this action." @@ -1888,119 +1889,119 @@ msgstr "" "Aktion abgebrochen. Ökokonto ist bereits verzeichnet oder Abbuchungen liegen " "vor. Nur Eintragungsstellennutzer können diese Aktion jetzt durchführen." -#: konova/utils/message_templates.py:29 +#: konova/utils/message_templates.py:31 msgid "Compensation {} added" msgstr "Kompensation {} hinzugefügt" -#: konova/utils/message_templates.py:30 +#: konova/utils/message_templates.py:32 msgid "Compensation {} removed" msgstr "Kompensation {} entfernt" -#: konova/utils/message_templates.py:32 +#: konova/utils/message_templates.py:34 msgid "Added compensation action" msgstr "Maßnahme hinzugefügt" -#: konova/utils/message_templates.py:33 +#: konova/utils/message_templates.py:35 msgid "Added compensation state" msgstr "Zustand hinzugefügt" -#: konova/utils/message_templates.py:36 +#: konova/utils/message_templates.py:38 msgid "State removed" msgstr "Zustand gelöscht" -#: konova/utils/message_templates.py:37 +#: konova/utils/message_templates.py:39 msgid "State edited" msgstr "Zustand bearbeitet" -#: konova/utils/message_templates.py:38 +#: konova/utils/message_templates.py:40 msgid "State added" msgstr "Zustand hinzugefügt" -#: konova/utils/message_templates.py:41 +#: konova/utils/message_templates.py:43 msgid "Action added" msgstr "Maßnahme hinzugefügt" -#: konova/utils/message_templates.py:42 +#: konova/utils/message_templates.py:44 msgid "Action edited" msgstr "Maßnahme bearbeitet" -#: konova/utils/message_templates.py:43 +#: konova/utils/message_templates.py:45 msgid "Action removed" msgstr "Maßnahme entfernt" -#: konova/utils/message_templates.py:46 +#: konova/utils/message_templates.py:48 msgid "Deduction added" msgstr "Abbuchung hinzugefügt" -#: konova/utils/message_templates.py:47 +#: konova/utils/message_templates.py:49 msgid "Deduction edited" msgstr "Abbuchung bearbeitet" -#: konova/utils/message_templates.py:48 +#: konova/utils/message_templates.py:50 msgid "Deduction removed" msgstr "Abbuchung entfernt" -#: konova/utils/message_templates.py:51 +#: konova/utils/message_templates.py:53 msgid "Deadline added" msgstr "Frist/Termin hinzugefügt" -#: konova/utils/message_templates.py:52 +#: konova/utils/message_templates.py:54 msgid "Deadline edited" msgstr "Frist/Termin bearbeitet" -#: konova/utils/message_templates.py:53 +#: konova/utils/message_templates.py:55 msgid "Deadline removed" msgstr "Frist/Termin gelöscht" -#: konova/utils/message_templates.py:56 +#: konova/utils/message_templates.py:58 msgid "Payment added" msgstr "Zahlung hinzugefügt" -#: konova/utils/message_templates.py:57 +#: konova/utils/message_templates.py:59 msgid "Payment edited" msgstr "Zahlung bearbeitet" -#: konova/utils/message_templates.py:58 +#: konova/utils/message_templates.py:60 msgid "Payment removed" msgstr "Zahlung gelöscht" -#: konova/utils/message_templates.py:61 +#: konova/utils/message_templates.py:63 msgid "Revocation added" msgstr "Widerspruch hinzugefügt" -#: konova/utils/message_templates.py:62 +#: konova/utils/message_templates.py:64 msgid "Revocation edited" msgstr "Widerspruch bearbeitet" -#: konova/utils/message_templates.py:63 +#: konova/utils/message_templates.py:65 msgid "Revocation removed" msgstr "Widerspruch entfernt" -#: konova/utils/message_templates.py:66 +#: konova/utils/message_templates.py:68 msgid "Document '{}' deleted" msgstr "Dokument '{}' gelöscht" -#: konova/utils/message_templates.py:67 +#: konova/utils/message_templates.py:69 msgid "Document added" msgstr "Dokument hinzugefügt" -#: konova/utils/message_templates.py:68 +#: konova/utils/message_templates.py:70 msgid "Document edited" msgstr "Dokument bearbeitet" -#: konova/utils/message_templates.py:71 +#: konova/utils/message_templates.py:73 msgid "Edited general data" msgstr "Allgemeine Daten bearbeitet" -#: konova/utils/message_templates.py:72 +#: konova/utils/message_templates.py:74 msgid "Added deadline" msgstr "Frist/Termin hinzugefügt" -#: konova/utils/message_templates.py:75 +#: konova/utils/message_templates.py:77 msgid "Geometry conflict detected with {}" msgstr "Geometriekonflikt mit folgenden Einträgen erkannt: {}" -#: konova/utils/message_templates.py:78 +#: konova/utils/message_templates.py:80 msgid "This intervention has {} revocations" msgstr "Dem Eingriff liegen {} Widersprüche vor" @@ -2416,11 +2417,11 @@ msgstr "Neuen Token generieren" msgid "A new token needs to be validated by an administrator!" msgstr "Neue Tokens müssen durch Administratoren freigeschaltet werden!" -#: user/forms.py:168 user/forms.py:172 +#: user/forms.py:168 user/forms.py:172 user/forms.py:323 user/forms.py:328 msgid "Team name" msgstr "Team Name" -#: user/forms.py:179 user/templates/user/team/index.html:30 +#: user/forms.py:179 user/forms.py:336 user/templates/user/team/index.html:30 msgid "Description" msgstr "Beschreibung" @@ -2468,6 +2469,10 @@ msgstr "Gewählter Administrator ({}) muss ein Mitglied des Teams sein." msgid "Edit team" msgstr "Team bearbeiten" +#: user/forms.py:347 +msgid "Team" +msgstr "Team" + #: user/models/user_action.py:22 msgid "Unrecorded" msgstr "Entzeichnet" @@ -2484,6 +2489,10 @@ msgstr "Gelöscht" msgid "Show contact data" msgstr "Zeige Kontaktdaten" +#: user/templates/user/includes/team_data_modal_button.html:3 +msgid "Show team data" +msgstr "Zeige Teamdaten" + #: user/templates/user/index.html:13 user/templates/user/team/index.html:29 msgid "Name" msgstr "" @@ -2534,7 +2543,7 @@ msgid "Manage teams" msgstr "" #: user/templates/user/index.html:69 user/templates/user/team/index.html:18 -#: user/views.py:142 +#: user/views.py:167 msgid "Teams" msgstr "" @@ -2594,15 +2603,15 @@ msgstr "Neuer Token generiert. Administratoren sind informiert." msgid "User API token" msgstr "API Nutzer Token" -#: user/views.py:153 +#: user/views.py:178 msgid "New team added" msgstr "Neues Team hinzugefügt" -#: user/views.py:166 +#: user/views.py:191 msgid "Team edited" msgstr "Team bearbeitet" -#: user/views.py:179 +#: user/views.py:204 msgid "Team removed" msgstr "Team gelöscht" diff --git a/user/forms.py b/user/forms.py index 01ec54b..34c8fab 100644 --- a/user/forms.py +++ b/user/forms.py @@ -315,3 +315,46 @@ class EditTeamModalForm(NewTeamModalForm): class RemoveTeamModalForm(RemoveModalForm): pass + + +class TeamDataForm(BaseModalForm): + name = forms.CharField( + label_suffix="", + label=_("Team name"), + max_length=500, + required=False, + widget=forms.TextInput( + attrs={ + "placeholder": _("Team name"), + "class": "form-control", + } + ) + ) + description = forms.CharField( + label_suffix="", + required=False, + label=_("Description"), + widget=forms.Textarea( + attrs={ + "rows": 5, + "class": "form-control" + } + ) + ) + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.form_title = _("Team") + self.form_caption = "" + self.render_submit = False + form_data = { + "name": self.instance.name, + "description": self.instance.description, + } + self.load_initial_data( + form_data, + [ + "name", + "description" + ] + ) \ No newline at end of file diff --git a/user/templates/user/includes/contact_modal_button.html b/user/templates/user/includes/contact_modal_button.html index 68ae53a..5cbd87f 100644 --- a/user/templates/user/includes/contact_modal_button.html +++ b/user/templates/user/includes/contact_modal_button.html @@ -1,6 +1,6 @@ {% load fontawesome_5 i18n %} \ No newline at end of file diff --git a/user/templates/user/includes/team_data_modal_button.html b/user/templates/user/includes/team_data_modal_button.html new file mode 100644 index 0000000..b41e63a --- /dev/null +++ b/user/templates/user/includes/team_data_modal_button.html @@ -0,0 +1,6 @@ +{% load fontawesome_5 i18n %} + + \ No newline at end of file diff --git a/user/urls.py b/user/urls.py index 76a8662..5c33427 100644 --- a/user/urls.py +++ b/user/urls.py @@ -16,6 +16,7 @@ urlpatterns = [ path("token/api", api_token_view, name="api-token"), path("contact/", contact_view, name="contact"), path("team/", index_team_view, name="team-index"), + path("team/", data_team_view, name="team-data"), path("team/new", new_team_view, name="team-new"), path("team//edit", edit_team_view, name="team-edit"), path("team//remove", remove_team_view, name="team-remove"), diff --git a/user/views.py b/user/views.py index afed572..9afede1 100644 --- a/user/views.py +++ b/user/views.py @@ -13,7 +13,7 @@ from django.utils.translation import gettext_lazy as _ from konova.contexts import BaseContext from konova.decorators import any_group_check, default_group_required from user.forms import UserNotificationForm, UserContactForm, UserAPITokenForm, NewTeamModalForm, EditTeamModalForm, \ - RemoveTeamModalForm + RemoveTeamModalForm, TeamDataForm @login_required @@ -133,6 +133,31 @@ def contact_view(request: HttpRequest, id: str): ) +@login_required +def data_team_view(request: HttpRequest, id: str): + """ Renders team data + + Args: + request (HttpRequest): The incoming request + id (str): The team's id + + Returns: + + """ + team = get_object_or_404(Team, id=id) + form = TeamDataForm(request.POST or None, instance=team, request=request) + template = "modal/modal_form.html" + context = { + "form": form, + } + context = BaseContext(request, context).context + return render( + request, + template, + context + ) + + @login_required def index_team_view(request: HttpRequest): template = "user/team/index.html"