Fixed profile update page to keep Alias table up to date. Also, roles for inactive groups are no longer displayed on the profile page.
- Legacy-Id: 4737
This commit is contained in:
parent
80d7ab9eba
commit
6d87558b06
|
@ -187,7 +187,8 @@ class PersonForm(ModelForm):
|
|||
send_mail(self.request, to_email, from_email, subject, 'registration/add_email_email.txt', context)
|
||||
|
||||
def save(self, force_insert=False, force_update=False, commit=True):
|
||||
from ietf.group.models import Role
|
||||
from ietf.group.models import Role
|
||||
from ietf.person.models import Alias
|
||||
m = super(PersonForm, self).save(commit=False)
|
||||
self.new_emails = [v for k,v in self.data.items() if k[:10] == u'new_email_' and u'@' in v]
|
||||
|
||||
|
@ -210,6 +211,20 @@ class PersonForm(ModelForm):
|
|||
if commit:
|
||||
role.save()
|
||||
|
||||
# Make sure the alias table contains any new and/or old names.
|
||||
old_names = set([x.name for x in Alias.objects.filter(person=self.instance)])
|
||||
curr_names = set([x for x in [self.instance.name,
|
||||
self.instance.ascii,
|
||||
self.instance.ascii_short,
|
||||
self.data['name'],
|
||||
self.data['ascii'],
|
||||
self.data['ascii_short']] if len(x)])
|
||||
new_names = curr_names - old_names
|
||||
for name in new_names:
|
||||
alias = Alias(person=self.instance,name=name)
|
||||
if commit:
|
||||
alias.save()
|
||||
|
||||
if commit:
|
||||
m.save()
|
||||
return m
|
||||
|
|
|
@ -107,7 +107,7 @@ def profile(request):
|
|||
{ 'success': success, 'new_emails': new_emails, 'error': error} ,
|
||||
context_instance=RequestContext(request))
|
||||
else:
|
||||
roles = Role.objects.filter(person=person).order_by('name__name','group__name')
|
||||
roles = Role.objects.filter(person=person,group__state='active').order_by('name__name','group__name')
|
||||
emails = Email.objects.filter(person=person).order_by('-active','-time')
|
||||
aliases = Alias.objects.filter(person=person)
|
||||
|
||||
|
|
Loading…
Reference in a new issue