2014-07-28 15:13:55 +02:00
# -*- coding: utf-8 -*-
from django import forms
2014-09-25 17:36:42 +02:00
from frontend . models import Project , PersonGlobalIdentity
2014-07-28 15:13:55 +02:00
from crispy_forms . helper import FormHelper
from crispy_forms . layout import Submit , Layout
2014-08-07 14:47:59 +02:00
class NewProjectForm ( forms . ModelForm ) :
2014-07-28 15:13:55 +02:00
def __init__ ( self , * args , * * kwargs ) :
2014-08-07 14:47:59 +02:00
super ( NewProjectForm , self ) . __init__ ( * args , * * kwargs )
2014-07-28 15:13:55 +02:00
self . helper = FormHelper ( )
2014-09-29 15:01:35 +02:00
self . helper . form_class = u ' form-horizontal '
self . helper . label_class = u ' col-lg-2 '
self . helper . field_class = u ' col-lg-4 '
self . helper . form_method = u ' post '
2014-07-28 15:13:55 +02:00
self . helper . layout = Layout (
2014-09-29 15:01:35 +02:00
u ' name ' ,
u ' description ' ,
Submit ( u ' send ' , u ' Create ' , css_class = u ' btn-default ' )
2014-07-29 14:48:09 +02:00
)
2014-07-28 15:13:55 +02:00
2014-07-29 14:48:09 +02:00
name = forms . CharField (
2014-09-29 15:01:35 +02:00
label = u " Name " ,
2014-09-25 17:36:42 +02:00
max_length = 255 ,
required = True ,
2014-07-28 15:13:55 +02:00
)
2014-07-29 14:48:09 +02:00
description = forms . CharField (
2014-09-29 15:01:35 +02:00
label = u " Description " ,
2014-09-25 17:36:42 +02:00
required = True ,
2014-07-28 15:13:55 +02:00
)
2014-07-29 14:48:09 +02:00
class Meta :
2014-08-11 16:01:03 +02:00
model = Project
2014-09-29 15:01:35 +02:00
fields = [ u ' name ' , u ' description ' ]
2014-08-11 16:01:03 +02:00
class FileUploadForm ( forms . Form ) :
def __init__ ( self , * args , * * kwargs ) :
super ( FileUploadForm , self ) . __init__ ( * args , * * kwargs )
self . helper = FormHelper ( )
2014-09-29 15:01:35 +02:00
self . helper . form_class = u ' form-horizontal '
self . helper . label_class = u ' col-lg-2 '
self . helper . field_class = u ' col-lg-4 '
self . helper . form_method = u ' post '
2014-08-11 16:01:03 +02:00
self . helper . layout = Layout (
2014-09-29 15:01:35 +02:00
u ' file ' ,
Submit ( u ' send ' , u ' Upload ' , css_class = u ' btn-default ' )
2014-08-11 16:01:03 +02:00
)
2014-09-25 17:36:42 +02:00
file = forms . FileField ( )
class PersonMapForm ( forms . Form ) :
2014-10-01 11:26:11 +02:00
""" Form containing the person mapping ' wizard ' . """
2014-09-25 17:36:42 +02:00
def __init__ ( self , * args , * * kwargs ) :
super ( PersonMapForm , self ) . __init__ ( * args , * * kwargs )
self . helper = FormHelper ( )
2014-09-29 15:01:35 +02:00
self . helper . form_class = u ' form-horizontal '
self . helper . label_class = u ' col-lg-2 '
self . helper . field_class = u ' col-lg-4 '
self . helper . form_method = u ' post '
2014-09-25 17:36:42 +02:00
self . helper . layout = Layout (
2014-09-29 15:01:35 +02:00
u ' action ' ,
u ' global_identity ' ,
2014-09-29 16:51:50 +02:00
u ' preferred_identity ' ,
2014-09-29 15:01:35 +02:00
Submit ( u ' skip ' , u ' Skip ' , css_class = u ' btn-default ' ) ,
Submit ( u ' save-continue ' , u ' Save and continue ' , css_class = u ' btn-default ' ) ,
2014-09-25 17:36:42 +02:00
)
2014-10-01 11:26:11 +02:00
def clean ( self ) :
""" Make sure the submitted data is okay. """
cleaned_data = super ( PersonMapForm , self ) . clean ( )
action = cleaned_data . get ( u ' action ' )
global_identity = cleaned_data . get ( u ' global_identity ' )
if action == u ' existing ' and not global_identity :
msg = u " Cannot map to non-existing global identity! "
self . _errors [ " global_identity " ] = self . error_class ( [ msg ] )
return cleaned_data
2014-09-29 15:01:35 +02:00
action = forms . ChoiceField ( choices = [ ( u ' new ' , u ' Create new global Identity ' ) , ( u ' existing ' , u ' Map to existing identity ' ) ] , initial = u ' new ' , widget = forms . RadioSelect ( ) )
2014-09-29 13:40:07 +02:00
global_identity = forms . ModelChoiceField ( queryset = PersonGlobalIdentity . objects . all ( ) , required = False )
2014-09-29 16:51:50 +02:00
preferred_identity = forms . BooleanField ( initial = False , required = False )
2014-10-01 11:26:11 +02:00