Browse Source

green color + handle form with django models + save in database

David Beltra 7 months ago
parent
commit
7f90636792

+ 4
- 0
apps/nominations/admin.py View File

@@ -0,0 +1,4 @@
1
+from django.contrib import admin
2
+from .models import Nomination
3
+
4
+admin.site.register(Nomination)

+ 40
- 0
apps/nominations/forms.py View File

@@ -0,0 +1,40 @@
1
+from django import forms
2
+from django.forms import ModelForm
3
+from django.utils.translation import gettext_lazy as _
4
+from .models import Nomination
5
+
6
+class NominationForm(ModelForm):
7
+    class Meta:
8
+        model = Nomination
9
+        fields = ['nominated', 'reasons_nomination', 'name', 'email', 'sk', 'dg', 'pep', 'ccc']
10
+        labels = {
11
+            'nominated': _("Nominiert wird"),
12
+            'reasons_nomination': _("Grund der Nominierung"),
13
+            'name': _("Ihr Name/Pseudonym *"),
14
+            'email': _("Ihre E-Mail-Adresse *"),
15
+            'sk': _("Stiftung für Konsumentenschutz"),
16
+            'dg': _("Digitale Gesellschaft"),
17
+            'pep': _("p≡p Foundation"),
18
+            'ccc': _("Chaos Computer Club Schweiz (CCC-CH)"),
19
+        }
20
+        help_texts = {
21
+            'nominated': _("Name, Adresse, Tel. Nr, Webseite etc."),
22
+            'reasons_nomination': _("Begründung; welcher Personenkreis ist von den Eingriffen/der Kontrolle besonders betroffen; Quellen, Presseartikel, Dokumente, URLs"),
23
+            'name': _("* Angabe freiwillig"),
24
+            'email': _("* Angabe freiwillig"),
25
+            'sk': _("Bitte tragen Sie mich in Ihren Newsletter ein:"),
26
+        }
27
+
28
+    def clean(self):
29
+        cleaned_data = super(NominationForm, self).clean()
30
+        email = cleaned_data.get('email')
31
+        if email == '' or email == None:
32
+            sk = cleaned_data.get('sk')
33
+            dg = cleaned_data.get('dg')
34
+            pep = cleaned_data.get('pep')
35
+            ccc = cleaned_data.get('ccc')
36
+
37
+            if sk or dg or pep or ccc:
38
+                raise forms.ValidationError(str(_('Bitte geben Sie eine gültige E-Mail-Adresse an, wenn Sie einen Newsletter abonnieren möchten.')))
39
+
40
+        return cleaned_data

+ 30
- 0
apps/nominations/migrations/0001_initial.py View File

@@ -0,0 +1,30 @@
1
+# -*- coding: utf-8 -*-
2
+# Generated by Django 1.11.20 on 2019-02-22 10:06
3
+from __future__ import unicode_literals
4
+
5
+from django.db import migrations, models
6
+
7
+
8
+class Migration(migrations.Migration):
9
+
10
+    initial = True
11
+
12
+    dependencies = [
13
+    ]
14
+
15
+    operations = [
16
+        migrations.CreateModel(
17
+            name='Nomination',
18
+            fields=[
19
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
20
+                ('name', models.CharField(blank=True, max_length=255, null=True)),
21
+                ('email', models.EmailField(blank=True, max_length=255, null=True)),
22
+                ('nominated', models.CharField(max_length=255)),
23
+                ('reasons_nomination', models.TextField()),
24
+                ('sk', models.BooleanField(default=False)),
25
+                ('dg', models.BooleanField(default=False)),
26
+                ('pep', models.BooleanField(default=False)),
27
+                ('ccc', models.BooleanField(default=False)),
28
+            ],
29
+        ),
30
+    ]

+ 0
- 0
apps/nominations/migrations/__init__.py View File


+ 15
- 0
apps/nominations/models.py View File

@@ -0,0 +1,15 @@
1
+from django.db import models
2
+from django.utils.translation import ugettext, ugettext_lazy as _
3
+
4
+class Nomination(models.Model):
5
+    name = models.CharField(max_length=255, blank=True, null=True)
6
+    email = models.EmailField(max_length=255, blank=True, null=True)
7
+    nominated = models.CharField(max_length=255)
8
+    reasons_nomination = models.TextField()
9
+    sk = models.BooleanField(default=False)
10
+    dg = models.BooleanField(default=False)
11
+    pep = models.BooleanField(default=False)
12
+    ccc = models.BooleanField(default=False)
13
+
14
+    def __str__(self):
15
+        return self.nominated

+ 26
- 66
apps/nominations/templates/pages/nominierungen.html View File

@@ -1,5 +1,5 @@
1 1
 {% extends "pages/richtextpage.html" %}
2
-{% load i18n mezzanine_tags pages_tags %}
2
+{% load i18n mezzanine_tags pages_tags form_filters %}
3 3
 
4 4
 {% block main %}
5 5
 
@@ -20,81 +20,41 @@
20 20
 <form id="nominations-form" class="mezzanine-form" method="post" action="/nominierungen/">
21 21
 
22 22
     {% csrf_token %}
23
+    
24
+    {% if form.non_field_errors %}
25
+        <div class="alert alert-error">{{ form.non_field_errors }}</div>
26
+    {% endif %}
23 27
 
24
-    <div class="form-group input_id_nominated charfield">
25
-        <label class="control-label" for="id_nominated">{% trans "Nominiert wird" %}</label>
26
-        <input type="text" name="nominated" maxlength="2000" required="" id="id_nominated">
27
-        <p class="help-block">{% trans "Name, Adresse, Tel. Nr, Webseite etc." %}</p>
28
-        {% nevercache %}
29
-        {% if messages %}
30
-            {% for message in messages %}
31
-                {% if message.extra_tags == 'nominated' %}
32
-                    <p class="alert alert-{{ message.level_tag }}">{{message}}</p>
33
-                {% endif %}
34
-            {% endfor %}
35
-        {% endif %}
36
-        {% endnevercache %}
37
-    </div>
28
+    {% for field in form %}
38 29
 
39
-    <div class="form-group input_id_reasons_nomination charfield">
40
-        <label class="control-label" for="id_reasons_nomination">{% trans "Grund der Nominierung" %}</label>
41
-        <textarea name="reasons_nomination" cols="40" rows="10" maxlength="2000" required="" id="id_reasons_nomination" class="input-xlarge"></textarea>
42
-        <p class="help-block">{% trans "Begründung; welcher Personenkreis ist von den Eingriffen/der Kontrolle besonders betroffen; Quellen, Presseartikel, Dokumente, URLs" %}</p>
43
-        {% nevercache %}
44
-        {% if messages %}
45
-            {% for message in messages %}
46
-                {% if message.extra_tags == 'reasons_nomination' %}
47
-                    <p class="alert alert-{{ message.level_tag }}">{{message}}</p>
48
-                {% endif %}
49
-            {% endfor %}
50
-        {% endif %}
51
-        {% endnevercache %}
52
-    </div>
30
+    <div class="form-group">
31
+        {% if field.field.widget|is_checkbox %}
53 32
 
54
-    <div class="form-group input_id_name charfield">
55
-        <label class="control-label" for="id_name">{% trans "Ihr Name" %}</label>
56
-        <input type="text" name="name" maxlength="2000" id="id_name">
57
-    </div>
33
+            {% if field.help_text %}
34
+            <p>{{field.help_text}}</p>
35
+            {% endif %}
58 36
 
59
-    <div class="form-group input_id_email emailfield">
60
-        <label class="control-label" for="id_email">{% trans "Ihre E-Mail-Adresse" %}</label>
61
-        <input type="email" name="email" id="id_email">
37
+            {{ field }} {{ field.label_tag }}
62 38
 
63
-        {% nevercache %}
64
-        {% if messages %}
65
-            {% for message in messages %}
66
-                {% if message.extra_tags == 'email' %}
67
-                    <p class="alert alert-{{ message.level_tag }}">{{message}}</p>
68
-                {% endif %}
69
-            {% endfor %}
70
-        {% endif %}
71
-        {% endnevercache %}
72
-    </div>
39
+        {% else %}
73 40
 
41
+            {{ field.label_tag }}
42
+            {{ field }}
74 43
 
75
-    <p>{% trans "Bitte tragen Sie mich in Ihren Newsletter ein:" %}</p>
44
+            {% if field.help_text %}
45
+            <p class="help-block">{{field.help_text}}</p>
46
+            {% endif %}
76 47
 
77
-    <span class="subscriptions">
78
-        <div class="form-group input_id_sk booleanfield">
79
-            <input type="checkbox" name="sk" id="id_sk">
80
-            <label class="control-label" for="id_sk">{% trans "Stiftung für Konsumentenschutz" %}</label>
81
-        </div>
82
-
83
-        <div class="form-group input_id_dg booleanfield">
84
-            <input type="checkbox" name="dg" id="id_dg">
85
-            <label class="control-label" for="id_dg">{% trans "Digitale Gesellschaft" %}</label>
86
-        </div>
48
+        {% endif %}
49
+        {% nevercache %}
50
+            {% if field.errors %}
51
+                <p class="alert alert-error">{{field.errors}}</p>
52
+            {% endif %}
53
+        {% endnevercache %}
54
+    </div>
87 55
 
88
-        <div class="form-group input_id_pep booleanfield">
89
-            <input type="checkbox" name="pep" id="id_pep">
90
-            <label class="control-label" for="id_pep">{% trans "p≡p Foundation" %}</label>
91
-        </div>
56
+    {% endfor %}
92 57
 
93
-        <div class="form-group input_id_ccc booleanfield">
94
-            <input type="checkbox" name="ccc" id="id_ccc">
95
-            <label class="control-label" for="id_ccc">{% trans "Chaos Computer Club Schweiz (CCC-CH)" %}</label>
96
-        </div>
97
-    </span>
98 58
 
99 59
     <div class="form-actions">
100 60
         <input class="btn btn-primary btn-lg" type="submit" value="Nominieren">

+ 0
- 0
apps/nominations/templatetags/__init__.py View File


+ 8
- 0
apps/nominations/templatetags/form_filters.py View File

@@ -0,0 +1,8 @@
1
+from django import template
2
+from django.forms.fields import CheckboxInput
3
+
4
+register = template.Library()
5
+
6
+@register.filter(name='is_checkbox')
7
+def is_checkbox(value):
8
+    return isinstance(value, CheckboxInput)

+ 28
- 34
apps/nominations/views.py View File

@@ -7,7 +7,8 @@ from mezzanine.pages.page_processors import processor_for
7 7
 from mezzanine.pages.models import Page
8 8
 import re
9 9
 
10
-EMAIL_REGEX = re.compile(r"[^@]+@[^@]+\.[^@]+")
10
+from django import forms
11
+from .forms import NominationForm
11 12
 
12 13
 @processor_for("nominierungen")
13 14
 def sendNomination(request, page=None):
@@ -15,52 +16,45 @@ def sendNomination(request, page=None):
15 16
     if request.method == 'POST':
16 17
 
17 18
         page = Page.objects.get(slug="nominierungen")
18
-        form_valid = True
19 19
 
20
-        email = request.POST.get('email')
21
-        nominated = request.POST.get('nominated')
22
-        reasons_nomination = request.POST.get('reasons_nomination')
20
+        form = NominationForm(request.POST, label_suffix='')
21
+        if form.is_valid():
23 22
 
24
-        if email != "" and not EMAIL_REGEX.match(email):
25
-            form_valid = False
26
-            messages.error(request, str(_('Ungültige E-Mail')), extra_tags='email')
27
-
28
-        if nominated == '':
29
-            form_valid = False
30
-            messages.error(request, str(_('Pflichtfeld')), extra_tags='nominated')
23
+            try:
31 24
 
32
-        if reasons_nomination == '':
33
-            form_valid = False
34
-            messages.error(request, str(_('Pflichtfeld')), extra_tags='reasons_nomination')
25
+                name = form.cleaned_data['name']
26
+                email = form.cleaned_data['email']
27
+                nominated = form.cleaned_data['nominated']
28
+                reasons_nomination = form.cleaned_data['reasons_nomination']
35 29
 
36
-        if form_valid:
37
-            is_valid = True
30
+                subject = 'Nomination sumbitted'
31
+                message = ''
38 32
 
39
-            try:
33
+                if name != '':
34
+                    message += 'Name: ' + name
35
+                if email != '':
36
+                    message += ' Email: ' + email
40 37
 
41
-                subject = 'Nomination sumbitted'
42
-                message = 'Nominated: ' + nominated + ' Reasons: ' + reasons_nomination
38
+                message += ' Nominated: ' + nominated + ' Reasons: ' + reasons_nomination
43 39
                 from_email = 'no-reply@bba.pep.foundation'
40
+                # recipient_list = ['bba-jury@pep.foundation']
44 41
                 recipient_list = ['dbe@pep.security']
45 42
 
46 43
                 email = EmailMessage(subject, message, from_email, recipient_list)
47 44
                 email.send()
48 45
 
49 46
             except Exception:
50
-                messages.error(request, str(_('Fehler beim Senden des Formulars')), extra_tags='general')
51
-                is_valid = False
52
-
53
-            if request.POST.get('sk') == 'on':
54
-                print('email Stiftung für Konsumentenschutz')
55
-
56
-            if request.POST.get('dg') == 'on':
57
-                print('email Digitale Gesellschaft')
47
+                form.add_error(None, str(_('Fehler beim Senden des Formulars')))
48
+                return {
49
+                    'form': form
50
+                }
58 51
 
59
-            if request.POST.get('pep') == 'on':
60
-                print('email pEp')
52
+            form.save()
53
+            return HttpResponseRedirect('/danke/')
61 54
 
62
-            if request.POST.get('ccc') == 'on':
63
-                print('email CCC')
55
+    else:
56
+        form = NominationForm(label_suffix='')
64 57
 
65
-            if is_valid:
66
-                return HttpResponseRedirect('/danke/')
58
+    return {
59
+        'form': form
60
+    }

+ 7319
- 0
apps/pep_theme/static/css/boostrap.css
File diff suppressed because it is too large
View File


+ 1
- 0
apps/pep_theme/static/css/boostrap.css.map
File diff suppressed because it is too large
View File


+ 106
- 106
apps/pep_theme/static/css/bootstrap.css View File

@@ -1410,11 +1410,11 @@ textarea {
1410 1410
 }
1411 1411
 
1412 1412
 a {
1413
-  color: #3e51d2;
1413
+  color: #03AA4B;
1414 1414
   text-decoration: none;
1415 1415
 }
1416 1416
 a:hover, a:focus {
1417
-  color: #3e51d2;
1417
+  color: #03AA4B;
1418 1418
   text-decoration: underline;
1419 1419
 }
1420 1420
 a:focus {
@@ -1639,12 +1639,12 @@ mark,
1639 1639
 }
1640 1640
 
1641 1641
 .text-primary {
1642
-  color: #25328a;
1642
+  color: #03AA4B;
1643 1643
 }
1644 1644
 
1645 1645
 a.text-primary:hover,
1646 1646
 a.text-primary:focus {
1647
-  color: #1a2362;
1647
+  color: #027835;
1648 1648
 }
1649 1649
 
1650 1650
 .text-success {
@@ -1688,21 +1688,21 @@ a.text-danger:focus {
1688 1688
 }
1689 1689
 
1690 1690
 .bg-primary {
1691
-  background-color: #25328a;
1691
+  background-color: #03AA4B;
1692 1692
 }
1693 1693
 
1694 1694
 a.bg-primary:hover,
1695 1695
 a.bg-primary:focus {
1696
-  background-color: #1a2362;
1696
+  background-color: #027835;
1697 1697
 }
1698 1698
 
1699 1699
 .bg-success {
1700
-  background-color: #3e51d2;
1700
+  background-color: #03AA4B;
1701 1701
 }
1702 1702
 
1703 1703
 a.bg-success:hover,
1704 1704
 a.bg-success:focus {
1705
-  background-color: #2a3bb3;
1705
+  background-color: #027835;
1706 1706
 }
1707 1707
 
1708 1708
 .bg-info {
@@ -2950,12 +2950,12 @@ table th[class*=col-] {
2950 2950
 .table > tfoot > tr > th.success,
2951 2951
 .table > tfoot > tr.success > td,
2952 2952
 .table > tfoot > tr.success > th {
2953
-  background-color: #3e51d2;
2953
+  background-color: #03AA4B;
2954 2954
 }
2955 2955
 
2956 2956
 .table-hover > tbody > tr > td.success:hover,
2957 2957
 .table-hover > tbody > tr > th.success:hover, .table-hover > tbody > tr.success:hover > td, .table-hover > tbody > tr:hover > .success, .table-hover > tbody > tr.success:hover > th {
2958
-  background-color: #2f42c8;
2958
+  background-color: #039140;
2959 2959
 }
2960 2960
 
2961 2961
 .table > thead > tr > td.info,
@@ -3149,10 +3149,10 @@ output {
3149 3149
   transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
3150 3150
 }
3151 3151
 .form-control:focus {
3152
-  border-color: #25328a;
3152
+  border-color: #03AA4B;
3153 3153
   outline: 0;
3154
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(37, 50, 138, 0.6);
3155
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(37, 50, 138, 0.6);
3154
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(3, 170, 75, 0.6);
3155
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(3, 170, 75, 0.6);
3156 3156
 }
3157 3157
 .form-control::-moz-placeholder {
3158 3158
   color: #acb6c0;
@@ -3464,7 +3464,7 @@ select[multiple].input-lg,
3464 3464
 .has-success .input-group-addon {
3465 3465
   color: #fff;
3466 3466
   border-color: #fff;
3467
-  background-color: #3e51d2;
3467
+  background-color: #03AA4B;
3468 3468
 }
3469 3469
 .has-success .form-control-feedback {
3470 3470
   color: #fff;
@@ -3720,75 +3720,75 @@ a.btn.disabled, fieldset[disabled] a.btn {
3720 3720
 
3721 3721
 .btn-primary {
3722 3722
   color: #fff;
3723
-  background-color: #25328a;
3724
-  border-color: #25328a;
3723
+  background-color: #03AA4B;
3724
+  border-color: #03AA4B;
3725 3725
 }
3726 3726
 .btn-primary:focus, .btn-primary.focus {
3727 3727
   color: #fff;
3728
-  background-color: #1a2362;
3729
-  border-color: #0a0e25;
3728
+  background-color: #027835;
3729
+  border-color: #012d14;
3730 3730
 }
3731 3731
 .btn-primary:hover {
3732 3732
   color: #fff;
3733
-  background-color: #1a2362;
3734
-  border-color: #18215a;
3733
+  background-color: #027835;
3734
+  border-color: #026e30;
3735 3735
 }
3736 3736
 .btn-primary:active, .btn-primary.active, .open > .btn-primary.dropdown-toggle {
3737 3737
   color: #fff;
3738
-  background-color: #1a2362;
3739
-  border-color: #18215a;
3738
+  background-color: #027835;
3739
+  border-color: #026e30;
3740 3740
 }
3741 3741
 .btn-primary:active:hover, .btn-primary:active:focus, .btn-primary:active.focus, .btn-primary.active:hover, .btn-primary.active:focus, .btn-primary.active.focus, .open > .btn-primary.dropdown-toggle:hover, .open > .btn-primary.dropdown-toggle:focus, .open > .btn-primary.dropdown-toggle.focus {
3742 3742
   color: #fff;
3743
-  background-color: #131946;
3744
-  border-color: #0a0e25;
3743
+  background-color: #015525;
3744
+  border-color: #012d14;
3745 3745
 }
3746 3746
 .btn-primary:active, .btn-primary.active, .open > .btn-primary.dropdown-toggle {
3747 3747
   background-image: none;
3748 3748
 }
3749 3749
 .btn-primary.disabled:hover, .btn-primary.disabled:focus, .btn-primary.disabled.focus, .btn-primary[disabled]:hover, .btn-primary[disabled]:focus, .btn-primary[disabled].focus, fieldset[disabled] .btn-primary:hover, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .btn-primary.focus {
3750
-  background-color: #25328a;
3751
-  border-color: #25328a;
3750
+  background-color: #03AA4B;
3751
+  border-color: #03AA4B;
3752 3752
 }
3753 3753
 .btn-primary .badge {
3754
-  color: #25328a;
3754
+  color: #03AA4B;
3755 3755
   background-color: #fff;
3756 3756
 }
3757 3757
 
3758 3758
 .btn-success {
3759 3759
   color: #fff;
3760
-  background-color: #3e51d2;
3761
-  border-color: #3e51d2;
3760
+  background-color: #03AA4B;
3761
+  border-color: #03AA4B;
3762 3762
 }
3763 3763
 .btn-success:focus, .btn-success.focus {
3764 3764
   color: #fff;
3765
-  background-color: #2a3bb3;
3766
-  border-color: #1b2775;
3765
+  background-color: #027835;
3766
+  border-color: #012d14;
3767 3767
 }
3768 3768
 .btn-success:hover {
3769 3769
   color: #fff;
3770
-  background-color: #2a3bb3;
3771
-  border-color: #2839ab;
3770
+  background-color: #027835;
3771
+  border-color: #026e30;
3772 3772
 }
3773 3773
 .btn-success:active, .btn-success.active, .open > .btn-success.dropdown-toggle {
3774 3774
   color: #fff;
3775
-  background-color: #2a3bb3;
3776
-  border-color: #2839ab;
3775
+  background-color: #027835;
3776
+  border-color: #026e30;
3777 3777
 }
3778 3778
 .btn-success:active:hover, .btn-success:active:focus, .btn-success:active.focus, .btn-success.active:hover, .btn-success.active:focus, .btn-success.active.focus, .open > .btn-success.dropdown-toggle:hover, .open > .btn-success.dropdown-toggle:focus, .open > .btn-success.dropdown-toggle.focus {
3779 3779
   color: #fff;
3780
-  background-color: #233296;
3781
-  border-color: #1b2775;
3780
+  background-color: #015525;
3781
+  border-color: #012d14;
3782 3782
 }
3783 3783
 .btn-success:active, .btn-success.active, .open > .btn-success.dropdown-toggle {
3784 3784
   background-image: none;
3785 3785
 }
3786 3786
 .btn-success.disabled:hover, .btn-success.disabled:focus, .btn-success.disabled.focus, .btn-success[disabled]:hover, .btn-success[disabled]:focus, .btn-success[disabled].focus, fieldset[disabled] .btn-success:hover, fieldset[disabled] .btn-success:focus, fieldset[disabled] .btn-success.focus {
3787
-  background-color: #3e51d2;
3788
-  border-color: #3e51d2;
3787
+  background-color: #03AA4B;
3788
+  border-color: #03AA4B;
3789 3789
 }
3790 3790
 .btn-success .badge {
3791
-  color: #3e51d2;
3791
+  color: #03AA4B;
3792 3792
   background-color: #fff;
3793 3793
 }
3794 3794
 
@@ -3904,7 +3904,7 @@ a.btn.disabled, fieldset[disabled] a.btn {
3904 3904
 }
3905 3905
 
3906 3906
 .btn-link {
3907
-  color: #3e51d2;
3907
+  color: #03AA4B;
3908 3908
   font-weight: normal;
3909 3909
   border-radius: 0;
3910 3910
 }
@@ -3917,7 +3917,7 @@ a.btn.disabled, fieldset[disabled] a.btn {
3917 3917
   border-color: transparent;
3918 3918
 }
3919 3919
 .btn-link:hover, .btn-link:focus {
3920
-  color: #3e51d2;
3920
+  color: #03AA4B;
3921 3921
   text-decoration: underline;
3922 3922
   background-color: transparent;
3923 3923
 }
@@ -4064,14 +4064,14 @@ tbody.collapse.in {
4064 4064
 .dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus {
4065 4065
   text-decoration: none;
4066 4066
   color: #fff;
4067
-  background-color: #25328a;
4067
+  background-color: #03AA4B;
4068 4068
 }
4069 4069
 
4070 4070
 .dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus {
4071 4071
   color: #fff;
4072 4072
   text-decoration: none;
4073 4073
   outline: 0;
4074
-  background-color: #25328a;
4074
+  background-color: #03AA4B;
4075 4075
 }
4076 4076
 
4077 4077
 .dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus {
@@ -4514,7 +4514,7 @@ tbody.collapse.in {
4514 4514
 }
4515 4515
 .nav .open > a, .nav .open > a:hover, .nav .open > a:focus {
4516 4516
   background-color: #ecf0f1;
4517
-  border-color: #3e51d2;
4517
+  border-color: #03AA4B;
4518 4518
 }
4519 4519
 .nav .nav-divider {
4520 4520
   height: 1px;
@@ -4543,7 +4543,7 @@ tbody.collapse.in {
4543 4543
   border-color: #ecf0f1 #ecf0f1 #ecf0f1;
4544 4544
 }
4545 4545
 .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
4546
-  color: #25328a;
4546
+  color: #03AA4B;
4547 4547
   background-color: #fff;
4548 4548
   border: 1px solid #ecf0f1;
4549 4549
   border-bottom-color: transparent;
@@ -4560,7 +4560,7 @@ tbody.collapse.in {
4560 4560
 }
4561 4561
 .nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus {
4562 4562
   color: #fff;
4563
-  background-color: #25328a;
4563
+  background-color: #03AA4B;
4564 4564
 }
4565 4565
 
4566 4566
 .nav-stacked > li {
@@ -4993,14 +4993,14 @@ tbody.collapse.in {
4993 4993
   }
4994 4994
 }
4995 4995
 .navbar-default {
4996
-  background-color: #25328a;
4996
+  background-color: #03AA4B;
4997 4997
   border-color: transparent;
4998 4998
 }
4999 4999
 .navbar-default .navbar-brand {
5000 5000
   color: #fff;
5001 5001
 }
5002 5002
 .navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus {
5003
-  color: #919ce5;
5003
+  color: #18fb7a;
5004 5004
   background-color: transparent;
5005 5005
 }
5006 5006
 .navbar-default .navbar-text {
@@ -5010,22 +5010,22 @@ tbody.collapse.in {
5010 5010
   color: #fff;
5011 5011
 }
5012 5012
 .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus {
5013
-  color: #919ce5;
5013
+  color: #18fb7a;
5014 5014
   background-color: transparent;
5015 5015
 }
5016 5016
 .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus {
5017 5017
   color: #fff;
5018
-  background-color: #1a2362;
5018
+  background-color: #027835;
5019 5019
 }
5020 5020
 .navbar-default .navbar-nav > .disabled > a, .navbar-default .navbar-nav > .disabled > a:hover, .navbar-default .navbar-nav > .disabled > a:focus {
5021 5021
   color: #ccc;
5022 5022
   background-color: transparent;
5023 5023
 }
5024 5024
 .navbar-default .navbar-toggle {
5025
-  border-color: #1a2362;
5025
+  border-color: #027835;
5026 5026
 }
5027 5027
 .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {
5028
-  background-color: #1a2362;
5028
+  background-color: #027835;
5029 5029
 }
5030 5030
 .navbar-default .navbar-toggle .icon-bar {
5031 5031
   background-color: #fff;
@@ -5035,7 +5035,7 @@ tbody.collapse.in {
5035 5035
   border-color: transparent;
5036 5036
 }
5037 5037
 .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus {
5038
-  background-color: #1a2362;
5038
+  background-color: #027835;
5039 5039
   color: #fff;
5040 5040
 }
5041 5041
 @media (max-width: 767px) {
@@ -5043,12 +5043,12 @@ tbody.collapse.in {
5043 5043
     color: #fff;
5044 5044
   }
5045 5045
   .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
5046
-    color: #919ce5;
5046
+    color: #18fb7a;
5047 5047
     background-color: transparent;
5048 5048
   }
5049 5049
   .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
5050 5050
     color: #fff;
5051
-    background-color: #1a2362;
5051
+    background-color: #027835;
5052 5052
   }
5053 5053
   .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
5054 5054
     color: #ccc;
@@ -5059,27 +5059,27 @@ tbody.collapse.in {
5059 5059
   color: #fff;
5060 5060
 }
5061 5061
 .navbar-default .navbar-link:hover {
5062
-  color: #919ce5;
5062
+  color: #18fb7a;
5063 5063
 }
5064 5064
 .navbar-default .btn-link {
5065 5065
   color: #fff;
5066 5066
 }
5067 5067
 .navbar-default .btn-link:hover, .navbar-default .btn-link:focus {
5068
-  color: #919ce5;
5068
+  color: #18fb7a;
5069 5069
 }
5070 5070
 .navbar-default .btn-link[disabled]:hover, .navbar-default .btn-link[disabled]:focus, fieldset[disabled] .navbar-default .btn-link:hover, fieldset[disabled] .navbar-default .btn-link:focus {
5071 5071
   color: #ccc;
5072 5072
 }
5073 5073
 
5074 5074
 .navbar-inverse {
5075
-  background-color: #3e51d2;
5075
+  background-color: #03AA4B;
5076 5076
   border-color: transparent;
5077 5077
 }
5078 5078
 .navbar-inverse .navbar-brand {
5079 5079
   color: #fff;
5080 5080
 }
5081 5081
 .navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus {
5082
-  color: #25328a;
5082
+  color: #03AA4B;
5083 5083
   background-color: transparent;
5084 5084
 }
5085 5085
 .navbar-inverse .navbar-text {
@@ -5089,32 +5089,32 @@ tbody.collapse.in {
5089 5089
   color: #fff;
5090 5090
 }
5091 5091
 .navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus {
5092
-  color: #25328a;
5092
+  color: #03AA4B;
5093 5093
   background-color: transparent;
5094 5094
 }
5095 5095
 .navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus {
5096 5096
   color: #fff;
5097
-  background-color: #2f42c8;
5097
+  background-color: #039140;
5098 5098
 }
5099 5099
 .navbar-inverse .navbar-nav > .disabled > a, .navbar-inverse .navbar-nav > .disabled > a:hover, .navbar-inverse .navbar-nav > .disabled > a:focus {
5100 5100
   color: #ccc;
5101 5101
   background-color: transparent;
5102 5102
 }
5103 5103
 .navbar-inverse .navbar-toggle {
5104
-  border-color: #2a3bb3;
5104
+  border-color: #027835;
5105 5105
 }
5106 5106
 .navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus {
5107
-  background-color: #2a3bb3;
5107
+  background-color: #027835;
5108 5108
 }
5109 5109
 .navbar-inverse .navbar-toggle .icon-bar {
5110 5110
   background-color: #fff;
5111 5111
 }
5112 5112
 .navbar-inverse .navbar-collapse,
5113 5113
 .navbar-inverse .navbar-form {
5114
-  border-color: #2d40c0;
5114
+  border-color: #02873c;
5115 5115
 }
5116 5116
 .navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus {
5117
-  background-color: #2f42c8;
5117
+  background-color: #039140;
5118 5118
   color: #fff;
5119 5119
 }
5120 5120
 @media (max-width: 767px) {
@@ -5128,12 +5128,12 @@ tbody.collapse.in {
5128 5128
     color: #fff;
5129 5129
   }
5130 5130
   .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
5131
-    color: #25328a;
5131
+    color: #03AA4B;
5132 5132
     background-color: transparent;
5133 5133
   }
5134 5134
   .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
5135 5135
     color: #fff;
5136
-    background-color: #2f42c8;
5136
+    background-color: #039140;
5137 5137
   }
5138 5138
   .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
5139 5139
     color: #ccc;
@@ -5144,13 +5144,13 @@ tbody.collapse.in {
5144 5144
   color: #fff;
5145 5145
 }
5146 5146
 .navbar-inverse .navbar-link:hover {
5147
-  color: #25328a;
5147
+  color: #03AA4B;
5148 5148
 }
5149 5149
 .navbar-inverse .btn-link {
5150 5150
   color: #fff;
5151 5151
 }
5152 5152
 .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link:focus {
5153
-  color: #25328a;
5153
+  color: #03AA4B;
5154 5154
 }
5155 5155
 .navbar-inverse .btn-link[disabled]:hover, .navbar-inverse .btn-link[disabled]:focus, fieldset[disabled] .navbar-inverse .btn-link:hover, fieldset[disabled] .navbar-inverse .btn-link:focus {
5156 5156
   color: #ccc;
@@ -5192,7 +5192,7 @@ tbody.collapse.in {
5192 5192
   line-height: 1.428571429;
5193 5193
   text-decoration: none;
5194 5194
   color: #fff;
5195
-  background-color: #3e51d2;
5195
+  background-color: #03AA4B;
5196 5196
   border: 1px solid transparent;
5197 5197
   margin-left: -1px;
5198 5198
 }
@@ -5212,7 +5212,7 @@ tbody.collapse.in {
5212 5212
 .pagination > li > span:focus {
5213 5213
   z-index: 2;
5214 5214
   color: #fff;
5215
-  background-color: #25359f;
5215
+  background-color: #025f2a;
5216 5216
   border-color: transparent;
5217 5217
 }
5218 5218
 .pagination > .active > a, .pagination > .active > a:hover, .pagination > .active > a:focus,
@@ -5221,7 +5221,7 @@ tbody.collapse.in {
5221 5221
 .pagination > .active > span:focus {
5222 5222
   z-index: 3;
5223 5223
   color: #fff;
5224
-  background-color: #25359f;
5224
+  background-color: #025f2a;
5225 5225
   border-color: transparent;
5226 5226
   cursor: default;
5227 5227
 }
@@ -5232,7 +5232,7 @@ tbody.collapse.in {
5232 5232
 .pagination > .disabled > a:hover,
5233 5233
 .pagination > .disabled > a:focus {
5234 5234
   color: #ecf0f1;
5235
-  background-color: #7c89e0;
5235
+  background-color: #04f56c;
5236 5236
   border-color: transparent;
5237 5237
   cursor: not-allowed;
5238 5238
 }
@@ -5291,14 +5291,14 @@ tbody.collapse.in {
5291 5291
 .pager li > span {
5292 5292
   display: inline-block;
5293 5293
   padding: 5px 14px;
5294
-  background-color: #3e51d2;
5294
+  background-color: #03AA4B;
5295 5295
   border: 1px solid transparent;
5296 5296
   border-radius: 15px;
5297 5297
 }
5298 5298
 .pager li > a:hover,
5299 5299
 .pager li > a:focus {
5300 5300
   text-decoration: none;
5301
-  background-color: #25359f;
5301
+  background-color: #025f2a;
5302 5302
 }
5303 5303
 .pager .next > a,
5304 5304
 .pager .next > span {
@@ -5313,7 +5313,7 @@ tbody.collapse.in {
5313 5313
 .pager .disabled > a:focus,
5314 5314
 .pager .disabled > span {
5315 5315
   color: #fff;
5316
-  background-color: #3e51d2;
5316
+  background-color: #03AA4B;
5317 5317
   cursor: not-allowed;
5318 5318
 }
5319 5319
 
@@ -5351,17 +5351,17 @@ a.label:hover, a.label:focus {
5351 5351
 }
5352 5352
 
5353 5353
 .label-primary {
5354
-  background-color: #25328a;
5354
+  background-color: #03AA4B;
5355 5355
 }
5356 5356
 .label-primary[href]:hover, .label-primary[href]:focus {
5357
-  background-color: #1a2362;
5357
+  background-color: #027835;
5358 5358
 }
5359 5359
 
5360 5360
 .label-success {
5361
-  background-color: #3e51d2;
5361
+  background-color: #03AA4B;
5362 5362
 }
5363 5363
 .label-success[href]:hover, .label-success[href]:focus {
5364
-  background-color: #2a3bb3;
5364
+  background-color: #027835;
5365 5365
 }
5366 5366
 
5367 5367
 .label-info {
@@ -5396,7 +5396,7 @@ a.label:hover, a.label:focus {
5396 5396
   vertical-align: middle;
5397 5397
   white-space: nowrap;
5398 5398
   text-align: center;
5399
-  background-color: #25328a;
5399
+  background-color: #03AA4B;
5400 5400
   border-radius: 10px;
5401 5401
 }
5402 5402
 .badge:empty {
@@ -5411,7 +5411,7 @@ a.label:hover, a.label:focus {
5411 5411
   padding: 1px 5px;
5412 5412
 }
5413 5413
 .list-group-item.active > .badge, .nav-pills > .active > a > .badge {
5414
-  color: #25328a;
5414
+  color: #03AA4B;
5415 5415
   background-color: #fff;
5416 5416
 }
5417 5417
 .list-group-item > .badge {
@@ -5500,7 +5500,7 @@ a.badge:hover, a.badge:focus {
5500 5500
 a.thumbnail:hover,
5501 5501
 a.thumbnail:focus,
5502 5502
 a.thumbnail.active {
5503
-  border-color: #3e51d2;
5503
+  border-color: #03AA4B;
5504 5504
 }
5505 5505
 
5506 5506
 .alert {
@@ -5537,12 +5537,12 @@ a.thumbnail.active {
5537 5537
 }
5538 5538
 
5539 5539
 .alert-success {
5540
-  background-color: #3e51d2;
5541
-  border-color: #3e51d2;
5540
+  background-color: #03AA4B;
5541
+  border-color: #03AA4B;
5542 5542
   color: #fff;
5543 5543
 }
5544 5544
 .alert-success hr {
5545
-  border-top-color: #2f42c8;
5545
+  border-top-color: #039140;
5546 5546
 }
5547 5547
 .alert-success .alert-link {
5548 5548
   color: #e6e6e6;
@@ -5618,7 +5618,7 @@ a.thumbnail.active {
5618 5618
   line-height: 21px;
5619 5619
   color: #fff;
5620 5620
   text-align: center;
5621
-  background-color: #25328a;
5621
+  background-color: #03AA4B;
5622 5622
   -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
5623 5623
   box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
5624 5624
   -webkit-transition: width 0.6s ease;
@@ -5642,7 +5642,7 @@ a.thumbnail.active {
5642 5642
 }
5643 5643
 
5644 5644
 .progress-bar-success {
5645
-  background-color: #3e51d2;
5645
+  background-color: #03AA4B;
5646 5646
 }
5647 5647
 .progress-striped .progress-bar-success {
5648 5648
   background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
@@ -5794,8 +5794,8 @@ button.list-group-item {
5794 5794
 .list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus {
5795 5795
   z-index: 2;
5796 5796
   color: #fff;
5797
-  background-color: #25328a;
5798
-  border-color: #25328a;
5797
+  background-color: #03AA4B;
5798
+  border-color: #03AA4B;
5799 5799
 }
5800 5800
 .list-group-item.active .list-group-item-heading,
5801 5801
 .list-group-item.active .list-group-item-heading > small,
@@ -5807,12 +5807,12 @@ button.list-group-item {
5807 5807
   color: inherit;
5808 5808
 }
5809 5809
 .list-group-item.active .list-group-item-text, .list-group-item.active:hover .list-group-item-text, .list-group-item.active:focus .list-group-item-text {
5810
-  color: #98a1e3;
5810
+  color: #7cfdb4;
5811 5811
 }
5812 5812
 
5813 5813
 .list-group-item-success {
5814 5814
   color: #fff;
5815
-  background-color: #3e51d2;
5815
+  background-color: #03AA4B;
5816 5816
 }
5817 5817
 
5818 5818
 a.list-group-item-success,
@@ -5827,7 +5827,7 @@ a.list-group-item-success:hover, a.list-group-item-success:focus,
5827 5827
 button.list-group-item-success:hover,
5828 5828
 button.list-group-item-success:focus {
5829 5829
   color: #fff;
5830
-  background-color: #2f42c8;
5830
+  background-color: #039140;
5831 5831
 }
5832 5832
 a.list-group-item-success.active, a.list-group-item-success.active:hover, a.list-group-item-success.active:focus,
5833 5833
 button.list-group-item-success.active,
@@ -6204,41 +6204,41 @@ button.list-group-item-danger.active:focus {
6204 6204
 }
6205 6205
 
6206 6206
 .panel-primary {
6207
-  border-color: #25328a;
6207
+  border-color: #03AA4B;
6208 6208
 }
6209 6209
 .panel-primary > .panel-heading {
6210 6210
   color: #fff;
6211
-  background-color: #25328a;
6212
-  border-color: #25328a;
6211
+  background-color: #03AA4B;
6212
+  border-color: #03AA4B;
6213 6213
 }
6214 6214
 .panel-primary > .panel-heading + .panel-collapse > .panel-body {
6215
-  border-top-color: #25328a;
6215
+  border-top-color: #03AA4B;
6216 6216
 }
6217 6217
 .panel-primary > .panel-heading .badge {
6218
-  color: #25328a;
6218
+  color: #03AA4B;
6219 6219
   background-color: #fff;
6220 6220
 }
6221 6221
 .panel-primary > .panel-footer + .panel-collapse > .panel-body {
6222
-  border-bottom-color: #25328a;
6222
+  border-bottom-color: #03AA4B;
6223 6223
 }
6224 6224
 
6225 6225
 .panel-success {
6226
-  border-color: #3e51d2;
6226
+  border-color: #03AA4B;
6227 6227
 }
6228 6228
 .panel-success > .panel-heading {
6229 6229
   color: #fff;
6230
-  background-color: #3e51d2;
6231
-  border-color: #3e51d2;
6230
+  background-color: #03AA4B;
6231
+  border-color: #03AA4B;
6232 6232
 }
6233 6233
 .panel-success > .panel-heading + .panel-collapse > .panel-body {
6234
-  border-top-color: #3e51d2;
6234
+  border-top-color: #03AA4B;
6235 6235
 }
6236 6236
 .panel-success > .panel-heading .badge {
6237
-  color: #3e51d2;
6237
+  color: #03AA4B;
6238 6238
   background-color: #fff;
6239 6239
 }
6240 6240
 .panel-success > .panel-footer + .panel-collapse > .panel-body {
6241
-  border-bottom-color: #3e51d2;
6241
+  border-bottom-color: #03AA4B;
6242 6242
 }
6243 6243
 
6244 6244
 .panel-info {

+ 2
- 2
apps/pep_theme/static/scss/bootstrap/_variables.scss View File

@@ -15,8 +15,8 @@ $gray:                   #95a5a6 !default; // #555
15 15
 $gray-light:             #b4bcc2 !default;   // #999
16 16
 $gray-lighter:           #ecf0f1 !default; // #eee
17 17
 
18
-$brand-primary:         #25328a !default;
19
-$brand-success:         #3e51d2 !default;
18
+$brand-primary:         #03AA4B !default;
19
+$brand-success:         #03AA4B !default;
20 20
 $brand-info:            #3498DB !default;
21 21
 $brand-warning:         #F39C12 !default;
22 22
 $brand-danger:          #E74C3C !default;

BIN
locale/en/LC_MESSAGES/django.mo View File


+ 48
- 37
locale/en/LC_MESSAGES/django.po View File

@@ -8,7 +8,7 @@ msgid ""
8 8
 msgstr ""
9 9
 "Project-Id-Version: PACKAGE VERSION\n"
10 10
 "Report-Msgid-Bugs-To: \n"
11
-"POT-Creation-Date: 2019-02-18 15:04+0000\n"
11
+"POT-Creation-Date: 2019-02-22 11:33+0000\n"
12 12
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13 13
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14 14
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -89,67 +89,69 @@ msgstr ""
89 89
 msgid "Icon"
90 90
 msgstr ""
91 91
 
92
-#: apps/nominations/templates/pages/nominierungen.html:25
92
+#: apps/nominations/forms.py:11
93 93
 msgid "Nominiert wird"
94 94
 msgstr "Nominated"
95 95
 
96
-#: apps/nominations/templates/pages/nominierungen.html:27
97
-msgid "Name, Adresse, Tel. Nr, Webseite etc."
98
-msgstr "Name, address, telephone, website etc."
99
-
100
-#: apps/nominations/templates/pages/nominierungen.html:40
96
+#: apps/nominations/forms.py:12
101 97
 msgid "Grund der Nominierung"
102 98
 msgstr "Reason for the nomination"
103 99
 
104
-#: apps/nominations/templates/pages/nominierungen.html:42
105
-msgid ""
106
-"Begründung; welcher Personenkreis ist von den Eingriffen/der Kontrolle "
107
-"besonders betroffen; Quellen, Presseartikel, Dokumente, URLs"
108
-msgstr ""
109
-"Justification, which group of persons is particularly affected by "
110
-"interference / control, sources, press articles, documents, URLs"
111
-
112
-#: apps/nominations/templates/pages/nominierungen.html:55
113
-msgid "Ihr Name"
114
-msgstr "Your name"
100
+#: apps/nominations/forms.py:13
101
+msgid "Ihr Name/Pseudonym *"
102
+msgstr "Your name/nickname *"
115 103
 
116
-#: apps/nominations/templates/pages/nominierungen.html:60
117
-msgid "Ihre E-Mail-Adresse"
118
-msgstr "Your email"
104
+#: apps/nominations/forms.py:14
105
+msgid "Ihre E-Mail-Adresse *"
106
+msgstr "Your email *"
119 107
 
120
-#: apps/nominations/templates/pages/nominierungen.html:75
121
-msgid "Bitte tragen Sie mich in Ihren Newsletter ein:"
122
-msgstr "Please subscribe me to:"
123
-
124
-#: apps/nominations/templates/pages/nominierungen.html:80
108
+#: apps/nominations/forms.py:15
125 109
 msgid "Stiftung für Konsumentenschutz"
126 110
 msgstr ""
127 111
 
128
-#: apps/nominations/templates/pages/nominierungen.html:85
112
+#: apps/nominations/forms.py:16
129 113
 msgid "Digitale Gesellschaft"
130 114
 msgstr ""
131 115
 
132
-#: apps/nominations/templates/pages/nominierungen.html:90
116
+#: apps/nominations/forms.py:17
133 117
 msgid "p≡p Foundation"
134 118
 msgstr ""
135 119
 
136
-#: apps/nominations/templates/pages/nominierungen.html:95
120
+#: apps/nominations/forms.py:18
137 121
 msgid "Chaos Computer Club Schweiz (CCC-CH)"
138 122
 msgstr ""
139 123
 
140
-#: apps/nominations/views.py:29
141
-msgid "Ungültige E-Mail"
142
-msgstr "Invalid email"
124
+#: apps/nominations/forms.py:21
125
+msgid "Name, Adresse, Tel. Nr, Webseite etc."
126
+msgstr "Name, address, telephone, website etc."
127
+
128
+#: apps/nominations/forms.py:22
129
+msgid ""
130
+"Begründung; welcher Personenkreis ist von den Eingriffen/der Kontrolle "
131
+"besonders betroffen; Quellen, Presseartikel, Dokumente, URLs"
132
+msgstr ""
133
+"Justification, which group of persons is particularly affected by "
134
+"interference / control, sources, press articles, documents, URLs"
135
+
136
+#: apps/nominations/forms.py:23 apps/nominations/forms.py:24
137
+msgid "* Angabe freiwillig"
138
+msgstr "* Optional field"
143 139
 
144
-#: apps/nominations/views.py:33 apps/nominations/views.py:37
145
-msgid "Pflichtfeld"
146
-msgstr "Required field"
140
+#: apps/nominations/forms.py:25
141
+msgid "Bitte tragen Sie mich in Ihren Newsletter ein:"
142
+msgstr "Please subscribe me to:"
143
+
144
+#: apps/nominations/forms.py:38
145
+msgid ""
146
+"Bitte geben Sie eine gültige E-Mail-Adresse an, wenn Sie einen Newsletter "
147
+"abonnieren möchten."
148
+msgstr "Please provide a valid email address to subscribe to our newsletters."
147 149
 
148
-#: apps/nominations/views.py:53
150
+#: apps/nominations/views.py:46
149 151
 msgid "Fehler beim Senden des Formulars"
150 152
 msgstr "Error submitting form"
151 153
 
152
-#: apps/pep_theme/templates/base.html:65
154
+#: apps/pep_theme/templates/base.html:67
153 155
 msgid "Toggle Navigation"
154 156
 msgstr ""
155 157
 
@@ -164,3 +166,12 @@ msgstr ""
164 166
 #: bigbrother/settings.py:116
165 167
 msgid "English"
166 168
 msgstr ""
169
+
170
+#~ msgid "Ihr Name"
171
+#~ msgstr "Your name"
172
+
173
+#~ msgid "Ungültige E-Mail"
174
+#~ msgstr "Invalid email"
175
+
176
+#~ msgid "Pflichtfeld"
177
+#~ msgstr "Required field"

Loading…
Cancel
Save