diff options
author | pnshiralkar | 2020-04-26 03:32:09 +0530 |
---|---|---|
committer | pnshiralkar | 2020-04-26 03:32:09 +0530 |
commit | ce04a86556bbbf95851de528d7a74acbc30fc1fb (patch) | |
tree | 13fb30b7033ca2e9f9bc16b88fb8019142c6d153 /workshop_app/forms.py | |
parent | 37f0afbf21fc6d4e9eb92433d666fccfd6654d53 (diff) | |
download | workshop_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.py | 178 |
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(), + } |