Skip to content

Commit 6d87558

Browse files
committed
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
1 parent 80d7ab9 commit 6d87558

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

ietf/ietfauth/forms.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,8 @@ def confirm_address(self,email):
187187
send_mail(self.request, to_email, from_email, subject, 'registration/add_email_email.txt', context)
188188

189189
def save(self, force_insert=False, force_update=False, commit=True):
190-
from ietf.group.models import Role
190+
from ietf.group.models import Role
191+
from ietf.person.models import Alias
191192
m = super(PersonForm, self).save(commit=False)
192193
self.new_emails = [v for k,v in self.data.items() if k[:10] == u'new_email_' and u'@' in v]
193194

@@ -210,6 +211,20 @@ def save(self, force_insert=False, force_update=False, commit=True):
210211
if commit:
211212
role.save()
212213

214+
# Make sure the alias table contains any new and/or old names.
215+
old_names = set([x.name for x in Alias.objects.filter(person=self.instance)])
216+
curr_names = set([x for x in [self.instance.name,
217+
self.instance.ascii,
218+
self.instance.ascii_short,
219+
self.data['name'],
220+
self.data['ascii'],
221+
self.data['ascii_short']] if len(x)])
222+
new_names = curr_names - old_names
223+
for name in new_names:
224+
alias = Alias(person=self.instance,name=name)
225+
if commit:
226+
alias.save()
227+
213228
if commit:
214229
m.save()
215230
return m

ietf/ietfauth/views.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ def profile(request):
107107
{ 'success': success, 'new_emails': new_emails, 'error': error} ,
108108
context_instance=RequestContext(request))
109109
else:
110-
roles = Role.objects.filter(person=person).order_by('name__name','group__name')
110+
roles = Role.objects.filter(person=person,group__state='active').order_by('name__name','group__name')
111111
emails = Email.objects.filter(person=person).order_by('-active','-time')
112112
aliases = Alias.objects.filter(person=person)
113113

0 commit comments

Comments
 (0)