Browse Source

authorize/deny Links in IF Mail should work now

master
Benni Baermann 4 years ago
parent
commit
e0c20c5d64
5 changed files with 64 additions and 7 deletions
  1. +1
    -1
      README.md
  2. +2
    -2
      input/forms.py
  3. +38
    -0
      input/migrations/0014_auto_20201020_0714.py
  4. +3
    -1
      input/models.py
  5. +20
    -3
      input/views.py

+ 1
- 1
README.md View File

@ -1,6 +1,6 @@
# foerderbarometer # foerderbarometer
purpose: gather data from intern(WMDE) and extern(volonteers) forms to create a database ('förderdatenbank') and send emails with links for a questionary.
purpose: gather data from intern(WMDE) and extern(volunteers) forms to create a database ('förderdatenbank') and send emails with links for a questionary.
used versions: used versions:

+ 2
- 2
input/forms.py View File

@ -20,13 +20,13 @@ class VolunteerForm(ModelForm):
class Meta: class Meta:
model = Volunteer model = Volunteer
fields = '__all__'
exclude = ('granted',)
class LibraryForm(ModelForm): class LibraryForm(ModelForm):
class Meta: class Meta:
model = Library model = Library
exclude = ('realname', 'email', 'username', 'type')
exclude = ('realname', 'email', 'username', 'type', 'granted')
class IFGForm(ModelForm): class IFGForm(ModelForm):
class Meta: class Meta:

+ 38
- 0
input/migrations/0014_auto_20201020_0714.py View File

@ -0,0 +1,38 @@
# Generated by Django 3.1.1 on 2020-10-20 07:14
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('input', '0013_library_type'),
]
operations = [
migrations.AddField(
model_name='honorarycertificate',
name='granted',
field=models.BooleanField(null=True),
),
migrations.AddField(
model_name='ifg',
name='granted',
field=models.BooleanField(null=True),
),
migrations.AddField(
model_name='library',
name='granted',
field=models.BooleanField(null=True),
),
migrations.AddField(
model_name='project',
name='granted',
field=models.BooleanField(null=True),
),
migrations.AlterField(
model_name='library',
name='type',
field=models.CharField(choices=[('BIB', 'Bibliotheksstipendium'), ('ELIT', 'eLiteraturstipendium'), ('SOFT', 'Softwarestipendium'), ('VIS', 'Visitenkarten'), ('LIST', 'Mailingliste'), ('MAIL', 'E-Mail-Adresse'), ('IFG', 'Kostenübernahme IFG-Anfrage'), ('LIT', 'Literaturstipendium')], default='LIB', max_length=4),
),
]

+ 3
- 1
input/models.py View File

@ -5,6 +5,7 @@ class Volunteer(models.Model):
realname = models.CharField(max_length=200, null=True) realname = models.CharField(max_length=200, null=True)
email = models.CharField(max_length=200, null=True) email = models.CharField(max_length=200, null=True)
username = models.CharField(max_length=200, null=True) username = models.CharField(max_length=200, null=True)
granted = models.BooleanField(null=True)
class Meta: class Meta:
abstract = True abstract = True
@ -39,7 +40,7 @@ class Grant(Volunteer):
class Meta: class Meta:
abstract = True abstract = True
# same model is used for Library, ELitStip and Software!
TYPE_CHOICES = [('BIB', 'Bibliotheksstipendium'), TYPE_CHOICES = [('BIB', 'Bibliotheksstipendium'),
('ELIT', 'eLiteraturstipendium'), ('ELIT', 'eLiteraturstipendium'),
('SOFT', 'Softwarestipendium'), ('SOFT', 'Softwarestipendium'),
@ -49,6 +50,7 @@ TYPE_CHOICES = [('BIB', 'Bibliotheksstipendium'),
('IFG', 'Kostenübernahme IFG-Anfrage'), ('IFG', 'Kostenübernahme IFG-Anfrage'),
('LIT', 'Literaturstipendium'),] ('LIT', 'Literaturstipendium'),]
# same model is used for Library, ELitStip and Software!
class Library(Grant): class Library(Grant):
type = models.CharField( type = models.CharField(

+ 20
- 3
input/views.py View File

@ -8,13 +8,30 @@ from django.template.loader import get_template
from django.template import Context from django.template import Context
from .forms import ProjectForm, VolunteerForm, LibraryForm, IFGForm from .forms import ProjectForm, VolunteerForm, LibraryForm, IFGForm
from .models import Project, TYPE_CHOICES
from .models import Project, TYPE_CHOICES, Library
def set_granted_in_lib(key,b):
lib = Library.objects.get(pk=key)
lib.granted = b
lib.save()
def authorize(request, choice, pk): def authorize(request, choice, pk):
return HttpResponse(f"AUTHORIZE! choice: {choice}, pk: {pk}")
if choice in ('BIB', 'ELIT', 'SOFT'):
set_granted_in_lib(pk,True)
return HttpResponse(f"AUTHORIZED! choice: {choice}, pk: {pk}")
else:
return HttpResponse('ERROR! UNKNWON CHOICE TYPE!')
def deny(request, choice, pk): def deny(request, choice, pk):
return HttpResponse(f"DENY! choice: {choice}, pk: {pk}")
if choice in ('BIB', 'ELIT', 'SOFT'):
set_granted_in_lib(pk,False)
return HttpResponse(f"DENIED! choice: {choice}, pk: {pk}")
else:
return HttpResponse('ERROR! UNKNWON CHOICE TYPE!')
def project(request): def project(request):
# return HttpResponse("Hello, world. You're at the input form") # return HttpResponse("Hello, world. You're at the input form")

Loading…
Cancel
Save