summaryrefslogtreecommitdiff
path: root/workshop_app/forms.py
diff options
context:
space:
mode:
authorpnshiralkar2020-04-26 03:32:09 +0530
committerpnshiralkar2020-04-26 03:32:09 +0530
commitce04a86556bbbf95851de528d7a74acbc30fc1fb (patch)
tree13fb30b7033ca2e9f9bc16b88fb8019142c6d153 /workshop_app/forms.py
parent37f0afbf21fc6d4e9eb92433d666fccfd6654d53 (diff)
downloadworkshop_booking-ce04a86556bbbf95851de528d7a74acbc30fc1fb.tar.gz
workshop_booking-ce04a86556bbbf95851de528d7a74acbc30fc1fb.tar.bz2
workshop_booking-ce04a86556bbbf95851de528d7a74acbc30fc1fb.zip
Propose workshop by coordinator and accept workshop by instructor done
Diffstat (limited to 'workshop_app/forms.py')
-rw-r--r--workshop_app/forms.py178
1 files changed, 47 insertions, 131 deletions
diff --git a/workshop_app/forms.py b/workshop_app/forms.py
index 68ada33..1bddada 100644
--- a/workshop_app/forms.py
+++ b/workshop_app/forms.py
@@ -1,11 +1,10 @@
+from string import punctuation, digits
+
from django import forms
from django.utils import timezone
-from .models import (
- Profile, User, Workshop, WorkshopType,
- RequestedWorkshop, BookedWorkshop, ProposeWorkshopDate,
- ProfileComments
- )
-from string import punctuation, digits
+
+from .models import (Profile, Workshop, ProfileComments, department_choices, title, source, states)
+
try:
from string import letters
except ImportError:
@@ -15,86 +14,9 @@ from django.contrib.auth.models import User
from django.contrib.auth import authenticate
from .send_mails import generate_activation_key
-
UNAME_CHARS = letters + "._" + digits
PWD_CHARS = letters + punctuation + digits
-position_choices = (
- ("coordinator", "Coordinator"),
- ("instructor", "Instructor")
- )
-
-department_choices = (
- ("computer engineering", "Computer Science"),
- ("information technology", "Information Technology"),
- ("civil engineering", "Civil Engineering"),
- ("electrical engineering", "Electrical Engineering"),
- ("mechanical engineering", "Mechanical Engineering"),
- ("chemical engineering", "Chemical Engineering"),
- ("aerospace engineering", "Aerospace Engineering"),
- ("biosciences and bioengineering", "Biosciences and BioEngineering"),
- ("electronics", "Electronics"),
- ("energy science and engineering", "Energy Science and Engineering"),
- )
-
-title = (
- ("Professor", "Prof."),
- ("Doctor", "Dr."),
- ("Shriman", "Shri"),
- ("Shrimati", "Smt"),
- ("Kumari", "Ku"),
- ("Mr", "Mr."),
- ("Mrs", "Mrs."),
- ("Miss", "Ms."),
- )
-
-source = (
- ("FOSSEE Email", "FOSSEE Email"),
- ("FOSSEE website", "FOSSEE website"),
- ("Google", "Google"),
- ("Social Media", "Social Media"),
- ("From other College", "From other College"),
- )
-
-states = (
- ("IN-AP", "Andhra Pradesh"),
- ("IN-AR", "Arunachal Pradesh"),
- ("IN-AS", "Assam"),
- ("IN-BR", "Bihar"),
- ("IN-CT", "Chhattisgarh"),
- ("IN-GA", "Goa"),
- ("IN-GJ", "Gujarat"),
- ("IN-HR", "Haryana"),
- ("IN-HP", "Himachal Pradesh"),
- ("IN-JK", "Jammu and Kashmir"),
- ("IN-JH", "Jharkhand"),
- ("IN-KA", "Karnataka"),
- ("IN-KL", "Kerala"),
- ("IN-MP", "Madhya Pradesh"),
- ("IN-MH", "Maharashtra"),
- ("IN-MN", "Manipur"),
- ("IN-ML", "Meghalaya"),
- ("IN-MZ", "Mizoram"),
- ("IN-NL", "Nagaland"),
- ("IN-OR", "Odisha"),
- ("IN-PB", "Punjab"),
- ("IN-RJ", "Rajasthan"),
- ("IN-SK", "Sikkim"),
- ("IN-TN", "Tamil Nadu"),
- ("IN-TG", "Telangana"),
- ("IN-TR", "Tripura"),
- ("IN-UT", "Uttarakhand"),
- ("IN-UP", "Uttar Pradesh"),
- ("IN-WB", "West Bengal"),
- ("IN-AN", "Andaman and Nicobar Islands"),
- ("IN-CH", "Chandigarh"),
- ("IN-DN", "Dadra and Nagar Haveli"),
- ("IN-DD", "Daman and Diu"),
- ("IN-DL", "Delhi"),
- ("IN-LD", "Lakshadweep"),
- ("IN-PY", "Puducherry")
- )
-
class UserRegistrationForm(forms.Form):
"""A Class to create new form for User's Registration.
@@ -106,19 +28,18 @@ class UserRegistrationForm(forms.Form):
period and underscore only.''')
email = forms.EmailField()
password = forms.CharField(max_length=32, widget=forms.PasswordInput())
- confirm_password = forms.CharField\
- (max_length=32, widget=forms.PasswordInput())
+ confirm_password = forms.CharField(max_length=32, widget=forms.PasswordInput())
title = forms.ChoiceField(choices=title)
first_name = forms.CharField(max_length=32)
last_name = forms.CharField(max_length=32)
- phone_number = forms.RegexField(regex=r'^.{10}$',
- error_messages={'invalid':"Phone number must be entered \
+ phone_number = forms.RegexField(regex=r'^.{10}$',
+ error_messages={'invalid': "Phone number must be entered \
in the format: '9999999999'.\
Up to 10 digits allowed."})
- institute = forms.CharField(max_length=128,
- help_text='Please write full name of your Institute/Organization')
+ institute = forms.CharField(max_length=128,
+ help_text='Please write full name of your Institute/Organization')
department = forms.ChoiceField(help_text='Department you work/study',
- choices=department_choices)
+ choices=department_choices)
location = forms.CharField(max_length=255, help_text="Place/City")
state = forms.ChoiceField(choices=states)
how_did_you_hear_about_us = forms.ChoiceField(choices=source)
@@ -126,7 +47,7 @@ class UserRegistrationForm(forms.Form):
def clean_username(self):
u_name = self.cleaned_data["username"]
if u_name.strip(UNAME_CHARS):
- msg = "Only letters, digits, period are"\
+ msg = "Only letters, digits, period are" \
" allowed in username"
raise forms.ValidationError(msg)
try:
@@ -170,48 +91,47 @@ class UserRegistrationForm(forms.Form):
new_profile = Profile(user=new_user)
new_profile.institute = cleaned_data["institute"]
new_profile.department = cleaned_data["department"]
- #new_profile.position = cleaned_data["position"]
+ # new_profile.position = cleaned_data["position"]
new_profile.phone_number = cleaned_data["phone_number"]
new_profile.location = cleaned_data["location"]
new_profile.title = cleaned_data["title"]
new_profile.state = cleaned_data["state"]
- new_profile.how_did_you_hear_about_us = cleaned_data["how_did_you_hear_about_us" ]
+ new_profile.how_did_you_hear_about_us = cleaned_data["how_did_you_hear_about_us"]
new_profile.activation_key = generate_activation_key(new_user.username)
- new_profile.key_expiry_time = timezone.now() + \
- timezone.timedelta(days=1)
+ new_profile.key_expiry_time = timezone.now() + timezone.timedelta(days=1)
new_profile.save()
key = Profile.objects.get(user=new_user).activation_key
return u_name, pwd, key
+
class UserLoginForm(forms.Form):
"""Creates a form which will allow the user to log into the system."""
username = forms.CharField(max_length=32,
- widget=forms.TextInput())
+ widget=forms.TextInput())
password = forms.CharField(max_length=32,
- widget=forms.PasswordInput())
+ widget=forms.PasswordInput())
def clean(self):
super(UserLoginForm, self).clean()
try:
- u_name, pwd = self.cleaned_data["username"],\
+ u_name, pwd = self.cleaned_data["username"], \
self.cleaned_data["password"]
user = authenticate(username=u_name, password=pwd)
except Exception:
- raise forms.ValidationError\
- ("Username and/or Password is not entered")
+ raise forms.ValidationError("Username and/or Password is not entered")
if not user:
raise forms.ValidationError("Invalid username/password")
return user
+
class ProfileForm(forms.ModelForm):
""" profile form for coordinator and instructor """
class Meta:
model = Profile
- fields = ['first_name', 'last_name', 'institute', 'department',
- ]
+ fields = ['first_name', 'last_name', 'institute', 'department']
first_name = forms.CharField(max_length=32)
last_name = forms.CharField(max_length=32)
@@ -223,48 +143,44 @@ class ProfileForm(forms.ModelForm):
self.fields['first_name'].initial = user.first_name
self.fields['last_name'].initial = user.last_name
+
class CreateWorkshop(forms.ModelForm):
"""
Instructors can create Workshops based on the Types
of available workshops.
"""
- def __init__( self, *args, **kwargs ):
+ def __init__(self, *args, **kwargs):
kwargs.setdefault('label_suffix', '')
- super(CreateWorkshop, self).__init__( *args, **kwargs )
- self.fields['recurrences'].label = " " #the trick to hide field :)
+ super(CreateWorkshop, self).__init__(*args, **kwargs)
class Meta:
model = Workshop
- fields = ['workshop_title', 'recurrences']
+ fields = ['title']
+
-
-class ProposeWorkshopDateForm(forms.ModelForm):
+# debug : Changed this
+class WorkshopForm(forms.ModelForm):
"""
Coordinators will propose a workshop and date
- """
+ """
errorlist_css_class = 'errorlist'
- def __init__( self, *args, **kwargs ):
+
+ def __init__(self, *args, **kwargs):
kwargs.setdefault('label_suffix', '')
- super(ProposeWorkshopDateForm, self).__init__(*args, **kwargs)
- self.fields['condition_one'].label = ""
- self.fields['condition_one'].required = True
- self.fields['condition_two'].label = ""
- self.fields['condition_two'].required = True
- self.fields['condition_three'].label = ""
- self.fields['condition_three'].required = True
- self.fields['proposed_workshop_title'].label = "Workshop :"
- self.fields['proposed_workshop_date'].label = "Workshop Date :"
-
+ super(WorkshopForm, self).__init__(*args, **kwargs)
+ self.fields['tnc_accepted'].label = ""
+ self.fields['tnc_accepted'].required = True
+ self.fields['title'].label = "Workshop :"
+ self.fields['date'].label = "Workshop Date :"
+
class Meta:
- model = ProposeWorkshopDate
- exclude = ['status', 'proposed_workshop_instructor',
- 'proposed_workshop_coordinator']
+ model = Workshop
+ exclude = ['status', 'instructor', 'coordinator']
widgets = {
- 'proposed_workshop_date': forms.DateInput(attrs={
- 'class':'datepicker'})
- }
-
+ 'date': forms.DateInput(attrs={
+ 'class': 'datepicker'})
+ }
class ProfileCommentsForm(forms.ModelForm):
@@ -281,8 +197,8 @@ class ProfileCommentsForm(forms.ModelForm):
class Meta:
model = ProfileComments
exclude = ['coordinator_profile', 'instructor_profile',
- 'created_date'
- ]
+ 'created_date'
+ ]
widgets = {
- 'comments' : forms.CharField(),
- } \ No newline at end of file
+ 'comments': forms.CharField(),
+ }