pytask/taskapp/forms/user.py
changeset 16 d57e63325759
parent 6 94136f9a48bc
child 21 3e676fa948c4
--- a/pytask/taskapp/forms/user.py	Mon Feb 01 11:41:26 2010 +0530
+++ b/pytask/taskapp/forms/user.py	Mon Feb 01 14:08:18 2010 +0530
@@ -1,7 +1,8 @@
 #!/usr/bin/python2.5
 
 from django import forms
-from pytask.taskapp.models import GENDER_CHOICES
+from pytask.taskapp.models import GENDER_CHOICES, Profile
+from django.forms import ModelForm
 
 class RegistrationForm(forms.Form):
     username = forms.CharField(max_length=30, required=True)
@@ -14,3 +15,29 @@
 class LoginForm(forms.Form):
     username = forms.CharField(max_length=30, required=True)
     password = forms.CharField(max_length=60, required=True, widget=forms.PasswordInput)
+
+class UserProfileForm(ModelForm):
+    class Meta:
+        model = Profile
+        exclude = ('user','rights')
+    def __init__(self, *args, **kwargs):
+        super(UserProfileForm, self).__init__(*args, **kwargs)
+        instance = getattr(self, 'instance', None)
+        if instance and instance.id:
+            self.fields['dob'].widget.attrs['readonly'] = True
+            self.fields['gender'].widget.attrs['readonly'] = True
+            self.fields['credits'].widget.attrs['readonly'] = True
+            self.fields['aboutme'].widget.attrs['readonly'] = True
+            self.fields['foss_comm'].widget.attrs['readonly'] = True
+            self.fields['phonenum'].widget.attrs['readonly'] = True
+            self.fields['homepage'].widget.attrs['readonly'] = True
+            self.fields['street'].widget.attrs['readonly'] = True
+            self.fields['city'].widget.attrs['readonly'] = True
+            self.fields['country'].widget.attrs['readonly'] = True
+            self.fields['nick'].widget.attrs['readonly'] = True
+        #fields = ['dob','gender','credits','aboutme','foss_comm','phonenum','homepage','street','city','country','nick']
+
+class UserProfileEditForm(ModelForm):
+    class Meta:
+        model = Profile
+        exclude = ('user','rights','dob','credits')