more work on MAIL, LIST and VIS modells and forms
This commit is contained in:
parent
02d5a542bc
commit
34936c7ef2
4 changed files with 87 additions and 7 deletions
|
@ -63,7 +63,8 @@ class IFGForm(ModelForm):
|
|||
class HonoraryCertificateForm(ModelForm):
|
||||
class Meta:
|
||||
model = HonoraryCertificate
|
||||
exclude = ('realname', 'email', 'username', 'granted', 'granted_date', 'survey_mail_send')
|
||||
fields = ['request_url', 'project']
|
||||
# exclude = ('realname', 'email', 'username', 'granted', 'granted_date', 'survey_mail_send')
|
||||
|
||||
class EmailForm(ModelForm):
|
||||
# TODO: add some javascript to show/hide other-field
|
||||
|
@ -73,4 +74,5 @@ class EmailForm(ModelForm):
|
|||
|
||||
class Meta:
|
||||
model = Email
|
||||
exclude = ('realname', 'email', 'username', 'granted', 'granted_date', 'survey_mail_send')
|
||||
fields = ['domain', 'address', 'other']
|
||||
# exclude = ('realname', 'email', 'username', 'granted', 'granted_date', 'survey_mail_send')
|
||||
|
|
|
@ -85,6 +85,8 @@ class Command(BaseCommand):
|
|||
self.stdout.write(self.style.SUCCESS(f'surveymails for object type {type} sent'))
|
||||
|
||||
|
||||
''' TODO: there could be some more removing of duplicated code in the following functions '''
|
||||
|
||||
def surveymails_to_lib(self):
|
||||
'''get all library objects which where granted two weeks ago'''
|
||||
|
||||
|
@ -123,6 +125,7 @@ class Command(BaseCommand):
|
|||
typefield = ('MAIL','VIS','LIST')
|
||||
count = 0
|
||||
for c in ('Email', 'BusinessCard', 'List'):
|
||||
# get class via string
|
||||
supported = getattr(sys.modules[__name__], c).objects.filter(granted=True)\
|
||||
.filter(granted_date__lt = lastdate)\
|
||||
.exclude(survey_mail_send=True)
|
||||
|
|
55
input/migrations/0028_auto_20201027_1131.py
Normal file
55
input/migrations/0028_auto_20201027_1131.py
Normal file
|
@ -0,0 +1,55 @@
|
|||
# Generated by Django 3.1.1 on 2020-10-27 11:31
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('input', '0027_businesscard_email_list'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='businesscard',
|
||||
name='cost',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='businesscard',
|
||||
name='notes',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='email',
|
||||
name='adress',
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='businesscard',
|
||||
name='data',
|
||||
field=models.CharField(default='NODATA', max_length=1000, verbose_name='Persönliche Daten'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='businesscard',
|
||||
name='project',
|
||||
field=models.CharField(choices=[('PEDIA', 'Wikipedia'), ('SOURCE', 'Wikisource'), ('BOOKS', 'Wikibooks'), ('QUOTE', 'Wikiquote'), ('VERSITY', 'Wikiversity'), ('VOYAGE', 'Wikivoyage'), ('DATA', 'Wikidata'), ('NEWS', 'Wikinews'), ('COMMONS', 'Wikimedia Commons')], default='PEDIA', max_length=20, verbose_name='Wikimedia Projekt'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='businesscard',
|
||||
name='sent_to',
|
||||
field=models.CharField(default='NOADRESS', max_length=1000, verbose_name='Sendungsadresse'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='businesscard',
|
||||
name='variant',
|
||||
field=models.CharField(choices=[('PIC', 'Mit Bild'), ('NOPIC', 'Ohne Bild')], default='NOPIC', max_length=5, verbose_name='Variante'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='email',
|
||||
name='address',
|
||||
field=models.CharField(choices=[('REALNAME', 'Vorname.Nachname'), ('USERNAME', 'Username'), ('OTHER', 'Sonstiges:')], default='USERNAME', max_length=50, verbose_name='Adressbestandteil'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='list',
|
||||
name='address',
|
||||
field=models.CharField(default='NO_ADDRESS', max_length=50),
|
||||
),
|
||||
]
|
|
@ -136,13 +136,33 @@ MAIL_CHOICES = {'REALNAME': 'Vorname.Nachname',
|
|||
'OTHER': 'Sonstiges:'}
|
||||
|
||||
class Email(Domain):
|
||||
adress = models.CharField(max_length=50,
|
||||
address = models.CharField(max_length=50,
|
||||
choices=MAIL_CHOICES.items(),
|
||||
default='USERNAME')
|
||||
default='USERNAME', verbose_name='Adressbestandteil')
|
||||
other = models.CharField(max_length=50,blank=True,null=True)
|
||||
|
||||
class List(Domain):
|
||||
pass
|
||||
address = models.CharField(max_length=50, default='NO_ADDRESS')
|
||||
|
||||
class BusinessCard(Grant):
|
||||
pass
|
||||
PROJECT_CHOICE = {'PEDIA': 'Wikipedia',
|
||||
'SOURCE': 'Wikisource',
|
||||
'BOOKS': 'Wikibooks',
|
||||
'QUOTE': 'Wikiquote',
|
||||
'VERSITY': 'Wikiversity',
|
||||
'VOYAGE': 'Wikivoyage',
|
||||
'DATA': 'Wikidata',
|
||||
'NEWS': 'Wikinews',
|
||||
'COMMONS': 'Wikimedia Commons'}
|
||||
|
||||
BC_VARIANT = {'PIC': 'Mit Bild',
|
||||
'NOPIC': 'Ohne Bild'}
|
||||
|
||||
class BusinessCard(Extern):
|
||||
project = models.CharField(max_length=20, choices=PROJECT_CHOICE.items(),
|
||||
default='PEDIA', verbose_name='Wikimedia Projekt')
|
||||
|
||||
data = models.CharField(max_length=1000, verbose_name='Persönliche Daten', default='NODATA')
|
||||
variant = models.CharField(max_length=5, choices=BC_VARIANT.items(),
|
||||
default='NOPIC', verbose_name='Variante')
|
||||
sent_to = models.CharField(max_length=1000, verbose_name='Sendungsadresse',
|
||||
default='NOADRESS')
|
||||
|
|
Loading…
Reference in a new issue