From a363efe2efbf48793233d758fc430a40381c310d Mon Sep 17 00:00:00 2001 From: Emanuel Schuetze Date: Sat, 3 Nov 2012 09:34:42 +0100 Subject: [PATCH] Fixed #390: Added new user field 'about me' --- openslides/locale/de/LC_MESSAGES/django.mo | Bin 35393 -> 35478 bytes openslides/locale/de/LC_MESSAGES/django.po | 33 +++++++++++------- openslides/participant/forms.py | 6 ++-- openslides/participant/models.py | 3 ++ .../templates/participant/user_detail.html | 5 +++ 5 files changed, 32 insertions(+), 15 deletions(-) diff --git a/openslides/locale/de/LC_MESSAGES/django.mo b/openslides/locale/de/LC_MESSAGES/django.mo index 52ad807ebac44a66d0b4d7cbd654d930ac159766..f089d3c78b16724930b9f2977ab37d78ee082af6 100644 GIT binary patch delta 10421 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 k-l)n?BlEIbpK\n" "Language-Team: support@openslides.de\n" @@ -41,9 +41,9 @@ msgid "Text" msgstr "Text" #: agenda/models.py:44 agenda/templates/agenda/overview.html:65 -#: agenda/templates/agenda/view.html:13 participant/models.py:53 +#: agenda/templates/agenda/view.html:13 participant/models.py:56 #: participant/templates/participant/overview.html:72 -#: participant/templates/participant/user_detail.html:40 +#: participant/templates/participant/user_detail.html:45 msgid "Comment" msgstr "Kommentar" @@ -392,7 +392,7 @@ msgstr "Abgeschlossen" msgid "Name" msgstr "Name" -#: assignment/models.py:55 participant/models.py:117 +#: assignment/models.py:55 participant/models.py:120 msgid "Description" msgstr "Beschreibung" @@ -1789,31 +1789,40 @@ msgstr "Typ" msgid "Committee" msgstr "Amt" +#: participant/models.py:53 +#: participant/templates/participant/user_detail.html:39 +msgid "About me" +msgstr "Über mich" + #: participant/models.py:54 +msgid "Your profile text" +msgstr "Ihr Profiltext" + +#: participant/models.py:57 msgid "Only for notes." msgstr "Nur für Notizen." -#: participant/models.py:57 +#: participant/models.py:60 msgid "Default password" msgstr "Vorgegebenes Passwort" -#: participant/models.py:105 +#: participant/models.py:108 msgid "Can see participant" msgstr "Darf die Teilnehmer/inen sehen" -#: participant/models.py:107 +#: participant/models.py:110 msgid "Can manage participant" msgstr "Darf die Teilnehmer/inen verwalten" -#: participant/models.py:116 +#: participant/models.py:119 msgid "Use this user group as participant" msgstr "Verwende diese Benutzerrolle als Teilnehmer/in" -#: participant/models.py:116 +#: participant/models.py:119 msgid "For example as submitter of a motion." msgstr "Zum Beispiel als Antragsteller." -#: participant/models.py:198 +#: participant/models.py:201 msgid "Welcome to OpenSlides!" msgstr "Willkommen bei OpenSlides!" @@ -2079,7 +2088,7 @@ msgid "of" msgstr "von" #: participant/templates/participant/overview.html:73 -#: participant/templates/participant/user_detail.html:44 +#: participant/templates/participant/user_detail.html:49 msgid "Last Login" msgstr "Letzer Login" @@ -2137,7 +2146,7 @@ msgstr "Ich bin Kandidat/in bei folgenden Wahlen:" msgid "The participant is not member of any group." msgstr "Teilnehmer/in ist kein Mitglieder einer Gruppe." -#: participant/templates/participant/user_detail.html:48 +#: participant/templates/participant/user_detail.html:53 msgid "The participant has not logged in yet." msgstr "Teilnehmer/in hat sich noch nicht angemeldet." diff --git a/openslides/participant/forms.py b/openslides/participant/forms.py index 672b3ae4e..2f4739558 100644 --- a/openslides/participant/forms.py +++ b/openslides/participant/forms.py @@ -28,14 +28,14 @@ class UserCreateForm(forms.ModelForm, CssClassMixin): class Meta: model = User fields = ('first_name', 'last_name', 'is_active', 'groups', 'detail', - 'gender', 'type', 'committee', 'comment', 'default_password') + 'gender', 'type', 'committee', 'about_me', 'comment', 'default_password') class UserUpdateForm(UserCreateForm): class Meta: model = User fields = ('username', 'first_name', 'last_name', 'is_active', 'groups', - 'detail', 'gender', 'type', 'committee', 'comment', + 'detail', 'gender', 'type', 'committee', 'about_me', 'comment', 'default_password') @@ -94,7 +94,7 @@ class GroupForm(forms.ModelForm, CssClassMixin): class UsersettingsForm(forms.ModelForm, CssClassMixin): class Meta: model = User - fields = ('username', 'first_name', 'last_name', 'email', 'gender') + fields = ('username', 'first_name', 'last_name', 'gender', 'email', 'committee', 'about_me' ) class UserImportForm(forms.Form, CssClassMixin): diff --git a/openslides/participant/models.py b/openslides/participant/models.py index 36260055a..17c5ef832 100644 --- a/openslides/participant/models.py +++ b/openslides/participant/models.py @@ -49,6 +49,9 @@ class User(DjangoUser, PersonMixin, Person): committee = models.CharField( max_length=100, blank=True, default='', verbose_name=_("Committee"), help_text=_('Only for filtering the participant list.')) + about_me = models.TextField( + blank=True, default='', verbose_name=_('About me'), + help_text=_('Your profile text')) comment = models.TextField( blank=True, default='', verbose_name=_('Comment'), help_text=_('Only for notes.')) diff --git a/openslides/participant/templates/participant/user_detail.html b/openslides/participant/templates/participant/user_detail.html index e1af3f4e4..cf738c6b2 100644 --- a/openslides/participant/templates/participant/user_detail.html +++ b/openslides/participant/templates/participant/user_detail.html @@ -35,6 +35,11 @@

{{ shown_user.committee }}

{% endif %} +{% if shown_user.about_me %} +

{% trans "About me" %}

+

{{ shown_user.about_me }}

+{% endif %} + {% if perms.participant.can_manage_participant %} {% if shown_user.comment %}

{% trans "Comment" %}