1
1
from django.forms import ModelForm, ValidationError
2
from MyPidge.Users.models import User, Membership
2
from MyPidge.Users.models import User, Membership, CambridgeMember, Person
3
3
from django import forms
4
4
from MyPidge.Groups.models import Group
51
51
self.instance.UpdatePassword(self.cleaned_data['new_password'])
53
class CambridgeRegisterForm(ModelForm):
54
''' Form for CambridgeMember registration '''
55
college = forms.ModelChoiceField(queryset = Group.objects.filter(category__small_name = 'COL'), required=False)
57
def __init__(self, data=None, crsid=None, pk=None, *args, **kwargs):
60
super(CambridgeRegisterForm, self).__init__(data, *args, **kwargs)
62
def save(self, *args, **kwargs):
64
# Get existing person to add Cambridge record to
65
person = Person.objects.get(pk = self.pk)
67
# Create CambridgeMember and append person data
68
myCM = CambridgeMember(
70
subject = self.cleaned_data['subject'],
71
type = self.cleaned_data['type'],
75
if self.cleaned_data.get('college'):
76
Membership.objects.create(person = person, group = self.cleaned_data['college'], assoctype = "MEM")
79
model = CambridgeMember
80
fields = ('type', 'subject')
53
82
class RegisterForm(ModelForm):
54
83
''' Form for User registration '''
55
college = forms.ModelChoiceField(queryset = Group.objects.filter(category__small_name = 'COL'), required=False)
57
85
start_showflagstatus = forms.BooleanField(label="Are You A Boatie?", help_text="Tick the box and you'll see rowing events and the Cam river flag status on your home page.", required=False)
58
86
password_one = forms.CharField(max_length=32, widget=forms.PasswordInput, help_text="(required) Choose a password for MyPidge. You can use this if you cannot get in using Raven. Recommended that you don't use the same password as for Raven.")
59
87
password_again = forms.CharField(max_length=32, widget=forms.PasswordInput, label='Password Again', help_text="(required) The same password again")
91
fields = ('firstname', 'lastname', 'email', 'interests')
61
93
def __init__(self, data=None, crsid=None, *args, **kwargs):
63
95
super(RegisterForm, self).__init__(data, *args, **kwargs)
67
fields = ('firstname', 'lastname', 'email', 'subject', 'interests', 'type')
69
98
def clean_password_again(self):
70
99
if self.cleaned_data.get('password_one') and self.cleaned_data.get('password_again') and self.cleaned_data['password_one'] != self.cleaned_data['password_again']: