more work on MAIL, LIST and VIS modells and forms
This commit is contained in:
		
							parent
							
								
									02d5a542bc
								
							
						
					
					
						commit
						34936c7ef2
					
				| 
						 | 
					@ -63,7 +63,8 @@ class IFGForm(ModelForm):
 | 
				
			||||||
class HonoraryCertificateForm(ModelForm):
 | 
					class HonoraryCertificateForm(ModelForm):
 | 
				
			||||||
    class Meta:
 | 
					    class Meta:
 | 
				
			||||||
        model = HonoraryCertificate
 | 
					        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):
 | 
					class EmailForm(ModelForm):
 | 
				
			||||||
    # TODO: add some javascript to show/hide other-field
 | 
					    # TODO: add some javascript to show/hide other-field
 | 
				
			||||||
| 
						 | 
					@ -73,4 +74,5 @@ class EmailForm(ModelForm):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    class Meta:
 | 
					    class Meta:
 | 
				
			||||||
        model = Email
 | 
					        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'))
 | 
					        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):
 | 
					    def surveymails_to_lib(self):
 | 
				
			||||||
        '''get all library objects which where granted two weeks ago'''
 | 
					        '''get all library objects which where granted two weeks ago'''
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -123,6 +125,7 @@ class Command(BaseCommand):
 | 
				
			||||||
        typefield = ('MAIL','VIS','LIST')
 | 
					        typefield = ('MAIL','VIS','LIST')
 | 
				
			||||||
        count = 0
 | 
					        count = 0
 | 
				
			||||||
        for c in ('Email', 'BusinessCard', 'List'):
 | 
					        for c in ('Email', 'BusinessCard', 'List'):
 | 
				
			||||||
 | 
					            # get class via string
 | 
				
			||||||
            supported = getattr(sys.modules[__name__], c).objects.filter(granted=True)\
 | 
					            supported = getattr(sys.modules[__name__], c).objects.filter(granted=True)\
 | 
				
			||||||
                                       .filter(granted_date__lt = lastdate)\
 | 
					                                       .filter(granted_date__lt = lastdate)\
 | 
				
			||||||
                                       .exclude(survey_mail_send=True)
 | 
					                                       .exclude(survey_mail_send=True)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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:'}
 | 
					                'OTHER': 'Sonstiges:'}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class Email(Domain):
 | 
					class Email(Domain):
 | 
				
			||||||
    adress = models.CharField(max_length=50,
 | 
					    address = models.CharField(max_length=50,
 | 
				
			||||||
                              choices=MAIL_CHOICES.items(),
 | 
					                              choices=MAIL_CHOICES.items(),
 | 
				
			||||||
                              default='USERNAME')
 | 
					                              default='USERNAME', verbose_name='Adressbestandteil')
 | 
				
			||||||
    other = models.CharField(max_length=50,blank=True,null=True)
 | 
					    other = models.CharField(max_length=50,blank=True,null=True)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class List(Domain):
 | 
					class List(Domain):
 | 
				
			||||||
    pass
 | 
					    address = models.CharField(max_length=50, default='NO_ADDRESS')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class BusinessCard(Grant):
 | 
					PROJECT_CHOICE = {'PEDIA': 'Wikipedia',
 | 
				
			||||||
    pass
 | 
					                  '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 New Issue