Limited the biography and photo uploading to people who have been assigned a role.
- Legacy-Id: 11283
This commit is contained in:
parent
c4b59f0363
commit
aa4ddc00e2
|
@ -7,6 +7,8 @@ from django.contrib.auth.models import User
|
|||
from django.utils.html import mark_safe
|
||||
from django.core.urlresolvers import reverse as urlreverse
|
||||
|
||||
import debug # pyflakes:ignore
|
||||
|
||||
from ietf.person.models import Person, Email
|
||||
|
||||
|
||||
|
@ -43,16 +45,30 @@ def ascii_cleaner(supposedly_ascii):
|
|||
raise forms.ValidationError("Please only enter ASCII characters.")
|
||||
return supposedly_ascii
|
||||
|
||||
class PersonForm(ModelForm):
|
||||
class Meta:
|
||||
model = Person
|
||||
exclude = ('time', 'user')
|
||||
def get_person_form(*args, **kwargs):
|
||||
|
||||
def clean_ascii(self):
|
||||
return ascii_cleaner(self.cleaned_data.get("ascii") or u"")
|
||||
exclude_list = ['time', 'user', 'photo_thumb', ]
|
||||
|
||||
def clean_ascii_short(self):
|
||||
return ascii_cleaner(self.cleaned_data.get("ascii_short") or u"")
|
||||
person = kwargs['instance']
|
||||
roles = person.role_set.all()
|
||||
if not roles:
|
||||
exclude_list += ['biography', 'photo', ]
|
||||
|
||||
class PersonForm(ModelForm):
|
||||
class Meta:
|
||||
model = Person
|
||||
exclude = exclude_list
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(ModelForm, self).__init__(*args, **kwargs)
|
||||
|
||||
def clean_ascii(self):
|
||||
return ascii_cleaner(self.cleaned_data.get("ascii") or u"")
|
||||
|
||||
def clean_ascii_short(self):
|
||||
return ascii_cleaner(self.cleaned_data.get("ascii_short") or u"")
|
||||
|
||||
return PersonForm(*args, **kwargs)
|
||||
|
||||
|
||||
class NewEmailForm(forms.Form):
|
||||
|
|
|
@ -44,7 +44,7 @@ from django.contrib.auth.models import User
|
|||
|
||||
from ietf.group.models import Role
|
||||
from ietf.ietfauth.forms import RegistrationForm, PasswordForm, ResetPasswordForm, TestEmailForm
|
||||
from ietf.ietfauth.forms import PersonForm, RoleEmailForm, NewEmailForm
|
||||
from ietf.ietfauth.forms import get_person_form, RoleEmailForm, NewEmailForm
|
||||
from ietf.ietfauth.htpasswd import update_htpasswd_file
|
||||
from ietf.person.models import Person, Email, Alias
|
||||
from ietf.utils.mail import send_mail
|
||||
|
@ -175,7 +175,7 @@ def profile(request):
|
|||
new_email_forms = []
|
||||
|
||||
if request.method == 'POST':
|
||||
person_form = PersonForm(request.POST, instance=person)
|
||||
person_form = get_person_form(request.POST, instance=person)
|
||||
for r in roles:
|
||||
r.email_form = RoleEmailForm(r, request.POST, prefix="role_%s" % r.pk)
|
||||
|
||||
|
@ -236,7 +236,7 @@ def profile(request):
|
|||
for r in roles:
|
||||
r.email_form = RoleEmailForm(r, prefix="role_%s" % r.pk)
|
||||
|
||||
person_form = PersonForm(instance=person)
|
||||
person_form = get_person_form(instance=person)
|
||||
|
||||
return render(request, 'registration/edit_profile.html', {
|
||||
'user': request.user,
|
||||
|
|
Loading…
Reference in a new issue