Browse Source

fancy stuff for LiteratureForm

master
Benni Baermann 4 years ago
parent
commit
2a182215c5
5 changed files with 66 additions and 13 deletions
  1. +11
    -7
      input/forms.py
  2. +43
    -0
      input/migrations/0054_auto_20201118_1702.py
  3. +9
    -5
      input/models.py
  4. +1
    -1
      input/static/input/nutzungsbedingungen.html
  5. +2
    -0
      input/views.py

+ 11
- 7
input/forms.py View File

@ -65,24 +65,28 @@ class LibraryForm(FdbForm):
model = Library model = Library
fields = ['cost', 'library', 'duration', 'notes'] fields = ['cost', 'library', 'duration', 'notes']
class HonoraryCertificateForm(FdbForm):
class Meta:
model = HonoraryCertificate
fields = ['request_url', 'project']
class IFGForm(FdbForm): class IFGForm(FdbForm):
class Meta: class Meta:
model = IFG model = IFG
fields = ['cost', 'url', 'notes'] fields = ['cost', 'url', 'notes']
class HonoraryCertificateForm(FdbForm):
class Meta:
model = HonoraryCertificate
fields = ['request_url', 'project']
'''TODO: the next four classes could maybe have a common base class for the check field,
but i am not sure about the sequence of fields. check should be always last'''
class LiteratureForm(FdbForm): class LiteratureForm(FdbForm):
check = BooleanField(required=True,
label=format_html("Ich stimme den <a href='{}'>Nutzungsbedingungen</a> zu",
NUTZUNGSBEDINGUNGEN))
class Meta: class Meta:
model = Literature model = Literature
fields = ['cost', 'info', 'source', 'notes'] fields = ['cost', 'info', 'source', 'notes']
'''TODO: the next three classes could maybe have a common base class for the check field,
but i am not sure about the sequence of fields. check should be always last'''
class EmailForm(FdbForm): class EmailForm(FdbForm):
# TODO: add some javascript to show/hide other-field # TODO: add some javascript to show/hide other-field
check = BooleanField(required=True, check = BooleanField(required=True,

+ 43
- 0
input/migrations/0054_auto_20201118_1702.py View File

@ -0,0 +1,43 @@
# Generated by Django 3.1.1 on 2020-11-18 17:02
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('input', '0053_auto_20201118_1531'),
]
operations = [
migrations.AlterField(
model_name='email',
name='address',
field=models.CharField(choices=[('REALNAME', 'Vorname.Nachname'), ('USERNAME', 'Username'), ('OTHER', 'Sonstiges:')], default='USERNAME', help_text='Bitte gib hier den gewünschten Adressbestandteil an,<br>der sich vor der Domain befinden soll.', max_length=50, verbose_name='Adressbestandteil'),
),
migrations.AlterField(
model_name='email',
name='other',
field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Sonstiges'),
),
migrations.AlterField(
model_name='ifg',
name='url',
field=models.CharField(help_text='Bitte gib den Link zu deiner Anfrage bei Frag den Staat an.', max_length=2000, verbose_name='URL'),
),
migrations.AlterField(
model_name='list',
name='address',
field=models.CharField(default='NO_ADDRESS', help_text='Bitte gib hier den gewünschten Adressbestandteil an,<br>der sich vor der Domain befinden soll.', max_length=50, verbose_name='Adressbestandteil für Projektmailingliste'),
),
migrations.AlterField(
model_name='literature',
name='info',
field=models.CharField(help_text='Bitte gib alle Informationen zum benötigten Werk an,<br> die eine eindeutige Identifizierung ermöglichen (Autor, Titel, Verlag, ISBN, ...)', max_length=500, verbose_name='Informationen zum Werk'),
),
migrations.AlterField(
model_name='literature',
name='source',
field=models.CharField(help_text='Bitte gib an, wo du das Werk kaufen möchtest.', max_length=200, verbose_name='Bezugsquelle'),
),
]

+ 9
- 5
input/models.py View File

@ -155,11 +155,15 @@ class Library(Grant):
return self.library return self.library
class Literature(Grant): class Literature(Grant):
info = models.CharField(max_length=500, verbose_name='Informationen zum Werk')
source = models.CharField(max_length=200, verbose_name='Bezugsquelle')
info = models.CharField(max_length=500, verbose_name='Informationen zum Werk',
help_text=format_html("Bitte gib alle Informationen zum benötigten Werk an,<br>\
die eine eindeutige Identifizierung ermöglichen (Autor, Titel, Verlag, ISBN, ...)"))
source = models.CharField(max_length=200, verbose_name='Bezugsquelle',
help_text="Bitte gib an, wo du das Werk kaufen möchtest.")
class IFG(Grant): class IFG(Grant):
url = models.CharField(max_length=2000)
url = models.CharField(max_length=2000, verbose_name="URL",
help_text="Bitte gib den Link zu deiner Anfrage bei Frag den Staat an.")
def __str__(self): def __str__(self):
return "IFG-Anfrage von " + self.realname return "IFG-Anfrage von " + self.realname
@ -186,9 +190,9 @@ class Email(Domain):
address = models.CharField(max_length=50, address = models.CharField(max_length=50,
choices=MAIL_CHOICES.items(), choices=MAIL_CHOICES.items(),
default='USERNAME', verbose_name='Adressbestandteil', default='USERNAME', verbose_name='Adressbestandteil',
help_text="Bitte gib hier den gewünschten Adressbestandteil an, der sich vor der Domain befinden soll.")
help_text=format_html("Bitte gib hier den gewünschten Adressbestandteil an,<br>der sich vor der Domain befinden soll."))
other = models.CharField(max_length=50,blank=True,null=True)
other = models.CharField(max_length=50,blank=True,null=True, verbose_name="Sonstiges")
class List(Domain): class List(Domain):
address = models.CharField(max_length=50, default='NO_ADDRESS', address = models.CharField(max_length=50, default='NO_ADDRESS',

+ 1
- 1
input/static/input/nutzungsbedingungen.html View File

@ -39,7 +39,7 @@
<p><span style="font-weight: 400;">Die Datenerhebung und Datenverarbeitung ist f&uuml;r die Bearbeitung, Abrechnungen und Dokumentation erforderlich und beruht auf Artikel 6 Abs. 1 b) DSGVO. Eine Weitergabe der Daten erfolgt an unseren technischen Dienstleister, welcher seinen Sitz in den USA hat. Dar&uuml;ber hinaus erfolgt eine Weitergabe deiner Daten nur nach vorheriger Zustimmung durch dich. Die Daten werden gel&ouml;scht, sobald sie f&uuml;r den Zweck der Verarbeitung nicht mehr erforderlich sind.</span></p> <p><span style="font-weight: 400;">Die Datenerhebung und Datenverarbeitung ist f&uuml;r die Bearbeitung, Abrechnungen und Dokumentation erforderlich und beruht auf Artikel 6 Abs. 1 b) DSGVO. Eine Weitergabe der Daten erfolgt an unseren technischen Dienstleister, welcher seinen Sitz in den USA hat. Dar&uuml;ber hinaus erfolgt eine Weitergabe deiner Daten nur nach vorheriger Zustimmung durch dich. Die Daten werden gel&ouml;scht, sobald sie f&uuml;r den Zweck der Verarbeitung nicht mehr erforderlich sind.</span></p>
<p><span style="font-weight: 400;">Du hast das Recht, der Verwendung deiner Daten jederzeit zu widersprechen. Zudem bist du berechtigt, Auskunft der bei uns &uuml;ber dich gespeicherten Daten zu beantragen sowie bei Unrichtigkeit der Daten die Berichtigung oder bei unzul&auml;ssiger Datenspeicherung die L&ouml;schung der Daten zu fordern. Du kannst unseren Datenschutzbeauftragten unter datenschutz@wikimedia.de oder unter Datenschutzbeauftragter c/o Wikimedia Deutschland &ndash; Gesellschaft zur F&ouml;rderung Freien Wissens e. V., Tempelhofer Ufer 23/24, 10963 Berlin erreichen.</span></p> <p><span style="font-weight: 400;">Du hast das Recht, der Verwendung deiner Daten jederzeit zu widersprechen. Zudem bist du berechtigt, Auskunft der bei uns &uuml;ber dich gespeicherten Daten zu beantragen sowie bei Unrichtigkeit der Daten die Berichtigung oder bei unzul&auml;ssiger Datenspeicherung die L&ouml;schung der Daten zu fordern. Du kannst unseren Datenschutzbeauftragten unter datenschutz@wikimedia.de oder unter Datenschutzbeauftragter c/o Wikimedia Deutschland &ndash; Gesellschaft zur F&ouml;rderung Freien Wissens e. V., Tempelhofer Ufer 23/24, 10963 Berlin erreichen.</span></p>
<p><span style="font-weight: 400;">Dir steht des Weiteren ein Beschwerderecht bei der Aufsichtsbeh&ouml;rde zu.</span></p> <p><span style="font-weight: 400;">Dir steht des Weiteren ein Beschwerderecht bei der Aufsichtsbeh&ouml;rde zu.</span></p>
<p><span style="font-weight: 400;">Nutzungsbedingungen Literaturstipendium</span></p>
<p><strong>Nutzungsbedingungen Literaturstipendium</strong></p>
<p><span style="font-weight: 400;">Die Literatur wird dir auf unbestimmte Zeit als Dauerleihgabe zur Nutzung &uuml;berlassen. Sie bleibt Eigentum des Vereins Wikimedia Deutschland. Bitte behandle sie entsprechend.</span></p> <p><span style="font-weight: 400;">Die Literatur wird dir auf unbestimmte Zeit als Dauerleihgabe zur Nutzung &uuml;berlassen. Sie bleibt Eigentum des Vereins Wikimedia Deutschland. Bitte behandle sie entsprechend.</span></p>
<p><span style="font-weight: 400;">Die Literatur wird dir zur Verf&uuml;gung gestellt, damit du den betreffenden Themenbereich in der deutschsprachigen Wikipedia nachhaltig verbessern kannst. Sollte dies nicht mehr m&ouml;glich sein, so informiere uns, damit wir die Literatur ggf. an einen anderen freiwilligen Autor weitervermitteln k&ouml;nnen.</span></p> <p><span style="font-weight: 400;">Die Literatur wird dir zur Verf&uuml;gung gestellt, damit du den betreffenden Themenbereich in der deutschsprachigen Wikipedia nachhaltig verbessern kannst. Sollte dies nicht mehr m&ouml;glich sein, so informiere uns, damit wir die Literatur ggf. an einen anderen freiwilligen Autor weitervermitteln k&ouml;nnen.</span></p>
<p><span style="font-weight: 400;">Damit das Stipendium seinen maximalen Nutzen f&uuml;r die Wikipedia entfaltet, ist es wichtig, dass du Anfragen von anderen Wikipedia-Autoren zu der dir zur Verf&uuml;gung gestellten Literatur beantwortest.</span></p> <p><span style="font-weight: 400;">Damit das Stipendium seinen maximalen Nutzen f&uuml;r die Wikipedia entfaltet, ist es wichtig, dass du Anfragen von anderen Wikipedia-Autoren zu der dir zur Verf&uuml;gung gestellten Literatur beantwortest.</span></p>

+ 2
- 0
input/views.py View File

@ -146,6 +146,7 @@ class ExternView(CookieWizardView):
print(f'choice detection in ExternView: {TYPE_CHOICES[choice]}') print(f'choice detection in ExternView: {TYPE_CHOICES[choice]}')
if choice == 'IFG': if choice == 'IFG':
form = IFGForm(data) form = IFGForm(data)
form.fields['notes'].help_text = format_html("Bitte gib an, wie die gewonnenen Informationen den<br>Wikimedia-Projekten zugute kommen sollen.")
elif choice in ('BIB', 'SOFT', 'ELIT'): elif choice in ('BIB', 'SOFT', 'ELIT'):
form = LibraryForm(data) form = LibraryForm(data)
form.fields['library'].label = LABEL_CHOICES[choice] form.fields['library'].label = LABEL_CHOICES[choice]
@ -156,6 +157,7 @@ class ExternView(CookieWizardView):
form.fields['domain'].help_text = format_html("Mit welcher Domain, bzw. für welches Wikimedia-Projekt,<br>möchtest du eine Mailadresse beantragen?") form.fields['domain'].help_text = format_html("Mit welcher Domain, bzw. für welches Wikimedia-Projekt,<br>möchtest du eine Mailadresse beantragen?")
elif choice == 'LIT': elif choice == 'LIT':
form = LiteratureForm(data) form = LiteratureForm(data)
form.fields['notes'].help_text = "Bitte gib an, wofür du die Literatur verwenden möchtest."
elif choice == 'VIS': elif choice == 'VIS':
form = BusinessCardForm(data) form = BusinessCardForm(data)
elif choice == 'LIST': elif choice == 'LIST':

Loading…
Cancel
Save