From f0c39d004fb479c754bbbf02628d2a34a6f8bfb7 Mon Sep 17 00:00:00 2001
From: yourcoke <deinkoks@gmail.com>
Date: Sun, 27 Dec 2020 18:06:39 +0100
Subject: [PATCH] eMail form in profile.html

---
 src/api/locale/de/LC_MESSAGES/django.po       |  2 +-
 src/api/locale/en/LC_MESSAGES/django.po       |  2 +-
 .../locale/de/LC_MESSAGES/django.po           |  2 +-
 .../locale/en/LC_MESSAGES/django.po           |  2 +-
 src/core/locale/de/LC_MESSAGES/django.po      | 10 ++++++++-
 src/core/locale/en/LC_MESSAGES/django.po      | 22 +++++++++++++------
 src/plainui/forms.py                          |  3 +++
 src/plainui/jinja2/plainui/profile.html       | 11 +++++++++-
 src/plainui/views.py                          |  4 +++-
 9 files changed, 44 insertions(+), 14 deletions(-)

diff --git a/src/api/locale/de/LC_MESSAGES/django.po b/src/api/locale/de/LC_MESSAGES/django.po
index 27bdfd43b..b3295fb5d 100644
--- a/src/api/locale/de/LC_MESSAGES/django.po
+++ b/src/api/locale/de/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-12-23 11:52+0000\n"
+"POT-Creation-Date: 2020-12-26 21:44+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/src/api/locale/en/LC_MESSAGES/django.po b/src/api/locale/en/LC_MESSAGES/django.po
index 80983e5cc..37918b666 100644
--- a/src/api/locale/en/LC_MESSAGES/django.po
+++ b/src/api/locale/en/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-12-23 11:52+0000\n"
+"POT-Creation-Date: 2020-12-26 21:44+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/src/backoffice/locale/de/LC_MESSAGES/django.po b/src/backoffice/locale/de/LC_MESSAGES/django.po
index 1a1084c7e..d7e120109 100644
--- a/src/backoffice/locale/de/LC_MESSAGES/django.po
+++ b/src/backoffice/locale/de/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-12-23 11:52+0000\n"
+"POT-Creation-Date: 2020-12-26 21:44+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/src/backoffice/locale/en/LC_MESSAGES/django.po b/src/backoffice/locale/en/LC_MESSAGES/django.po
index b88a82e28..770baa31a 100644
--- a/src/backoffice/locale/en/LC_MESSAGES/django.po
+++ b/src/backoffice/locale/en/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-12-23 11:52+0000\n"
+"POT-Creation-Date: 2020-12-26 21:44+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/src/core/locale/de/LC_MESSAGES/django.po b/src/core/locale/de/LC_MESSAGES/django.po
index 936e656c0..441cbc4cd 100644
--- a/src/core/locale/de/LC_MESSAGES/django.po
+++ b/src/core/locale/de/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-12-23 11:52+0000\n"
+"POT-Creation-Date: 2020-12-26 21:44+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -63,6 +63,14 @@ msgstr "Alterseinstufung"
 msgid "Invalid Timezone"
 msgstr "Fehlerhafte Zeitzone"
 
+msgid "Request failed"
+msgstr ""
+
+#, fuzzy
+#| msgid "Invalid Timezone"
+msgid "Invalid Response"
+msgstr "Fehlerhafte Zeitzone"
+
 msgid "Assembly"
 msgstr "Assembly"
 
diff --git a/src/core/locale/en/LC_MESSAGES/django.po b/src/core/locale/en/LC_MESSAGES/django.po
index 703748746..ee8e15b9a 100644
--- a/src/core/locale/en/LC_MESSAGES/django.po
+++ b/src/core/locale/en/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-12-23 11:52+0000\n"
+"POT-Creation-Date: 2020-12-26 21:44+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -18,12 +18,6 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-msgid "messages_from_sender"
-msgstr "Message from"
-
-msgid "messages_was_sent"
-msgstr "sent"
-
 msgid "PlatformUser__favorite_event"
 msgstr "favorite event"
 
@@ -69,6 +63,14 @@ msgstr "age restriction"
 msgid "Invalid Timezone"
 msgstr "Invalid Timezone"
 
+msgid "Request failed"
+msgstr ""
+
+#, fuzzy
+#| msgid "Invalid Timezone"
+msgid "Invalid Response"
+msgstr "Invalid Timezone"
+
 msgid "Assembly"
 msgstr "Assembly"
 
@@ -1226,3 +1228,9 @@ msgstr "Set your user status at {name}."
 
 msgid "SSO__svc_workadventure"
 msgstr "WorkAdventure Backend service @ {slug}"
+
+#~ msgid "messages_from_sender"
+#~ msgstr "Message from"
+
+#~ msgid "messages_was_sent"
+#~ msgstr "sent"
diff --git a/src/plainui/forms.py b/src/plainui/forms.py
index 2d1834452..4a391b34a 100644
--- a/src/plainui/forms.py
+++ b/src/plainui/forms.py
@@ -252,3 +252,6 @@ class ReportForm(forms.Form):
             subject=subject,
             message=body,
         )
+
+class EditMailForm(forms.Form):
+    email = forms.EmailField()
diff --git a/src/plainui/jinja2/plainui/profile.html b/src/plainui/jinja2/plainui/profile.html
index a6af9a4c1..c8337f6fd 100644
--- a/src/plainui/jinja2/plainui/profile.html
+++ b/src/plainui/jinja2/plainui/profile.html
@@ -20,7 +20,16 @@
             <dd>{{ user.username }}</dd>
 
             <dt>{{ _("email") }}</dt>
-            <dd>{{ user.email }}</dd>
+            <dd>
+                <div>
+                <form class="form-inline">
+                    {{ csrf_input }}
+                    <label class="sr-only" for="emailInput">eMail</label>
+                    <input class="form-control mb-2 mr-sm-2" id="emailInput" placeholder="mail@some.where" type="email" name="email" value="{{ user.communication_channels.filter(channel='mail', is_verified=True).first().address or "" }}">
+                    <button type="submit" class="btn btn-primary mb-2">{{ _("save") }}</button>
+                </form>
+                </div>
+            </dd>
 
             <dt>{{ _("last login") }}</dt>
             <dd>{{ user.last_login.strftime('%Y-%m-%d %H:%M:%S') }}</dd>
diff --git a/src/plainui/views.py b/src/plainui/views.py
index 57e5c833b..121d34925 100644
--- a/src/plainui/views.py
+++ b/src/plainui/views.py
@@ -30,7 +30,8 @@ from core.search import search
 from core.utils import render_markdown
 
 from .forms import BulletinBoardEntryForm, ExampleForm, InputTokenForm, NewDirectMessageForm, \
-    ProfileEditForm, SelfOrganizedSessionForm, RedeemTokenAddToUserForm, RedeemTokenUserCreateForm, ReportForm
+    ProfileEditForm, SelfOrganizedSessionForm, RedeemTokenAddToUserForm, RedeemTokenUserCreateForm, \
+    ReportForm, EditMailForm
 from .models import BulletinBoardEntry
 
 
@@ -391,6 +392,7 @@ class ProfileView(ConferenceRequiredMixin, UpdateView):
         context['my_favorite_assemblies'] = Assembly.objects.accessible_by_user(user=user, conference=self.conf).filter(pk__in=favorite_assemblies)
         context['is_fahrplan_events'] = scheduled_events = _session_get_scheduled_events(self.request.session, self.request.user)
         context['my_fahrplan_events'] = Event.objects.accessible_by_user(user=user, conference=self.conf).filter(pk__in=scheduled_events)
+        context['mail_form'] = EditMailForm
 
         return context
 
-- 
GitLab