summaryrefslogtreecommitdiff
path: root/website/forms.py
diff options
context:
space:
mode:
Diffstat (limited to 'website/forms.py')
-rwxr-xr-xwebsite/forms.py101
1 files changed, 80 insertions, 21 deletions
diff --git a/website/forms.py b/website/forms.py
index 2ce8219..870c54a 100755
--- a/website/forms.py
+++ b/website/forms.py
@@ -9,20 +9,34 @@ from django.core.validators import MinLengthValidator, MinValueValidator, \
RegexValidator, URLValidator
-class CommentForm(forms.ModelForm):
+class CommentForm(forms.Form):
pass
-
+
class ProposalForm(forms.ModelForm):
+ error_css_class = 'error'
+ required_css_class = 'required'
+
# content_link = forms.CharField(required=False, help_text='Link to the content of your Talk')
# speaker_link = forms.CharField(required=False, help_text='Link to information about the Speaker')
+ about_me = forms.CharField(widget=forms.Textarea(attrs={'class': 'form-control', 'placeholder': 'About Me'}),
+ required = True,
+ error_messages = {'required':'Title field required.'},
+ label = '')
attachment = forms.FileField(widget=forms.ClearableFileInput(attrs={'multiple': True}))
- phone = forms.CharField(max_length = 12, widget=forms.TextInput(),required=False, validators = [RegexValidator(regex = '^[0-9-_+.]*$')])
- title = forms.CharField(widget=forms.TextInput(),
+ phone = forms.CharField(max_length = 12, widget=forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Phone'}),required=False, label = '', validators = [RegexValidator(regex = '^[0-9-_+.]*$')])
+ title = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Title'}),
+ required = True,
+ error_messages = {'required':'Title field required.'},
+ label = ''
+ )
+ abstract = forms.CharField(widget=forms.Textarea(attrs={'class': 'form-control', 'placeholder': 'Abstract'}),
required = True,
- error_messages = {'required':'Title field required.'})
+ error_messages = {'required':'Title field required.'},
+ label = ''
+ )
class Meta:
model = Proposal
- exclude = ('user', 'email','prerequisite')
+ exclude = ('user', 'email','prerequisite','status')
def clean_title(self):
title = self.cleaned_data['title']
@@ -30,28 +44,47 @@ class ProposalForm(forms.ModelForm):
raise forms.ValidationError("This title already exist.")
return title
- # def clean_attachment(self):
- # cleaned_data = self.cleaned_data
- # attachment = cleaned_data.get('attachment', None)
- # if attachment:
- # # if not attachment.name.endswith('.pdf') :
- # # raise forms.ValidationError('Only [.pdf] files are allowed')
- # if attachment.size > (5*1024*1024):
- # raise forms.ValidationError('File size exceeds 5MB')
- # return attachment
+ def clean_attachment(self):
+ import os
+ cleaned_data = self.cleaned_data
+ attachment = cleaned_data.get('attachment', None)
+ if attachment:
+ ext = os.path.splitext(attachment.name)[1]
+ valid_extensions = ['.pdf','.zip','.rar']
+ if not ext in valid_extensions:
+ raise forms.ValidationError(u'File not supported!')
+ if attachment.size > (5*1024*1024):
+ raise forms.ValidationError('File size exceeds 5MB')
+ return attachment
class WorkshopForm(forms.ModelForm):
+ # content_link = forms.CharField(required=False, help_text='Link to the content of your Talk')
+ # speaker_link = forms.CharField(required=False, help_text='Link to information about the Speaker')
+ about_me = forms.CharField(widget=forms.Textarea(attrs={'class': 'form-control', 'placeholder': 'About Me'}),
+ required = True,
+ error_messages = {'required':'Title field required.'},
+ label = '')
attachment = forms.FileField(widget=forms.ClearableFileInput(attrs={'multiple': True}))
- phone = forms.CharField(max_length = 12, widget=forms.TextInput(),required=False, validators = [RegexValidator(regex = '^[0-9-_+.]*$')])
- title = forms.CharField(widget=forms.TextInput(),
+ phone = forms.CharField(max_length = 12, widget=forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Phone'}),required=False, label = '', validators = [RegexValidator(regex = '^[0-9-_+.]*$')])
+ title = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Title'}),
required = True,
- error_messages = {'required':'Title field required.'})
-
-
+ error_messages = {'required':'Title field required.'},
+ label = ''
+ )
+ abstract = forms.CharField(widget=forms.Textarea(attrs={'class': 'form-control', 'placeholder': 'Abstract'}),
+ required = True,
+ error_messages = {'required':'Title field required.'},
+ label = ''
+ )
+ prerequisite = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Prerequisite'}),
+ required = True,
+ error_messages = {'required':'Title field required.'},
+ label = ''
+ )
class Meta:
model = Proposal
- exclude = ('user', 'email')
+ exclude = ('user', 'email','status')
def clean_title(self):
title = self.cleaned_data['title']
@@ -65,6 +98,32 @@ class UserRegisterForm(UserCreationForm):
model = User
fields = ('first_name', 'last_name', 'email', 'username', 'password1',
'password2')
+ first_name = forms.CharField(widget=forms.TextInput(attrs={'placeholder': 'First Name'}),
+ label = ''
+ )
+ last_name = forms.CharField(widget=forms.TextInput(attrs={'placeholder': 'Last Name'}),
+ label = ''
+ )
+ email = forms.EmailField(widget=forms.TextInput(attrs={'placeholder': 'Email'}),
+ required = True,
+ error_messages = {'required':'Email field required.'},
+ label = ''
+ )
+ username = forms.CharField(widget=forms.TextInput(attrs={'placeholder': 'Username'}),
+ required = True,
+ error_messages = {'required':'Username field required.'},
+ label = ''
+ )
+ password1 = forms.CharField(widget=forms.PasswordInput(attrs={'placeholder': 'Password'}),
+ required = True,
+ error_messages = {'required':'Password field required.'},
+ label = ''
+ )
+ password2 = forms.CharField(widget=forms.PasswordInput(attrs={'placeholder': 'Confirm Password'}),
+ required = True,
+ error_messages = {'required':'Password Confirm field required.'},
+ label = ''
+ )
class UserLoginForm(forms.Form):