Merged [4737] from adam@nostrum.com:

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: 4776
Note: SVN reference [4737] has been migrated to Git commit 6d87558b06
This commit is contained in:
Henrik Levkowetz 2012-08-22 10:01:52 +00:00
commit d4e8a98346
3 changed files with 24 additions and 3 deletions

View file

@ -191,7 +191,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]
@ -214,6 +215,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

View file

@ -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)

View file

@ -7,5 +7,11 @@ class LiaisonStatementAdmin(admin.ModelAdmin):
list_display_links = ['id', 'title']
ordering = ('title', )
raw_id_fields = ('from_contact', 'related_to', 'from_group', 'to_group', 'attachments')
admin.site.register(LiaisonStatement, LiaisonStatementAdmin)
class LiaisonDetailAdmin(admin.ModelAdmin):
list_display = ['pk', 'title', 'from_id', 'to_body', 'submitted_date', 'purpose', 'related_to' ]
list_display_links = ['pk', 'title']
ordering = ('title', )
admin.site.register(LiaisonDetail, LiaisonDetailAdmin)