Add custom role creation to kaehmy form
This commit is contained in:
+2
-4
@@ -6,13 +6,11 @@ from webapp.models import OhlhafvChallenge, KaehmyForm
|
||||
|
||||
class KaehmyForm_Form(forms.ModelForm):
|
||||
|
||||
custom_role_name = forms.TextInput(
|
||||
attrs={'size': 10, 'title': 'Name of the role', })
|
||||
|
||||
class Meta:
|
||||
model = KaehmyForm
|
||||
fields = ['name', 'email', 'year',
|
||||
'preset_roles', 'custom_roles', 'text']
|
||||
'preset_roles', 'custom_roles', 'custom_role_name',
|
||||
'custom_role_is_board', 'text']
|
||||
|
||||
|
||||
class OhlhafvForm(forms.ModelForm):
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.11 on 2017-10-11 17:20
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('webapp', '0019_kaehmymessage_timestamp'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='kaehmyform',
|
||||
name='custom_role_is_board',
|
||||
field=models.BooleanField(default=False, verbose_name='Board member'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='kaehmyform',
|
||||
name='custom_role_name',
|
||||
field=models.CharField(default='', max_length=255, verbose_name='Custom role name'),
|
||||
),
|
||||
]
|
||||
+11
-3
@@ -119,7 +119,7 @@ class KaehmyFormSelectedRole(models.Model):
|
||||
|
||||
|
||||
class MessageParent(models.Model):
|
||||
|
||||
|
||||
def __str__(self):
|
||||
return 'Message parent #{}'.format(self.id)
|
||||
|
||||
@@ -156,13 +156,21 @@ class KaehmyForm(MessageParent):
|
||||
email = models.EmailField(_('Email'))
|
||||
year = models.IntegerField(_('Year'), choices=YEAR_CHOICES)
|
||||
text = models.TextField(_('Text'), default="", max_length=300)
|
||||
custom_roles = models.ManyToManyField('CustomKaehmyRole', related_name='forms', blank=True)
|
||||
preset_roles = models.ManyToManyField('PresetKaehmyRole', related_name='forms', blank=True)
|
||||
custom_roles = models.ManyToManyField(
|
||||
'CustomKaehmyRole', related_name='forms', blank=True)
|
||||
preset_roles = models.ManyToManyField(
|
||||
'PresetKaehmyRole', related_name='forms', blank=True)
|
||||
custom_role_name = models.CharField(
|
||||
_('Custom role name'), max_length=255, default="")
|
||||
custom_role_is_board = models.BooleanField(
|
||||
_('Board member'), default=False)
|
||||
|
||||
def __str__(self):
|
||||
"""Return model info."""
|
||||
return _('Kaehmy application: {}').format(self.name)
|
||||
|
||||
def comment_count(self):
|
||||
"""Count comments for kaehmy."""
|
||||
total = 0
|
||||
|
||||
def recurse(message):
|
||||
|
||||
+7
-1
@@ -8,6 +8,7 @@ from django.http import HttpResponse, HttpResponseRedirect
|
||||
from django.contrib.auth.decorators import permission_required, login_required
|
||||
from django.conf import settings
|
||||
import logging
|
||||
from webapp.models import CustomKaehmyRole
|
||||
from webapp.models import OhlhafvChallenge, KaehmyForm
|
||||
from webapp.forms import OhlhafvForm, KaehmyForm_Form
|
||||
from webapp.tables import OhlhafvTable
|
||||
@@ -120,6 +121,11 @@ def kaehmy_submit(request, *args, **kwargs):
|
||||
form = KaehmyForm_Form(request.POST)
|
||||
if form.is_valid():
|
||||
form.save()
|
||||
custom_name = form.cleaned_data.get('custom_role_name')
|
||||
custom_is_board = form.cleaned_data.get('custom_role_is_board')
|
||||
custom_role = CustomKaehmyRole(
|
||||
name=custom_name, is_board=custom_is_board)
|
||||
custom_role.save()
|
||||
else:
|
||||
pass
|
||||
# return render(request, 'error.html', {'error': form.errors})
|
||||
@@ -174,7 +180,7 @@ def kaehmy_list_view(request, *args, **kwargs):
|
||||
"""Kaehmy application list"""
|
||||
|
||||
applications = KaehmyForm.objects.all()
|
||||
|
||||
|
||||
context = {
|
||||
'applications': applications,
|
||||
'application_count': len(applications)
|
||||
|
||||
Reference in New Issue
Block a user