Merged [7151] from rcross@amsl.com:
Ticket #1248: catch DoesNotExist errors with user.get_profile() when user does not have a corresponding Person record.
- Legacy-Id: 7178
Note: SVN reference [7151] has been migrated to Git commit d119b33a1a
This commit is contained in:
commit
a07e2cfbc3
|
@ -481,12 +481,6 @@ def main(request):
|
|||
* meetings, interim_meetings, today
|
||||
|
||||
'''
|
||||
# getting numerous errors when people try to access using the wrong account
|
||||
try:
|
||||
person = request.user.person
|
||||
except Person.DoesNotExist:
|
||||
return HttpResponseForbidden('ACCESS DENIED: user=%s' % request.META['REMOTE_USER'])
|
||||
|
||||
if has_role(request.user,'Secretariat'):
|
||||
meetings = Meeting.objects.filter(type='ietf').order_by('-number')
|
||||
else:
|
||||
|
@ -660,7 +654,11 @@ def select(request, meeting_num):
|
|||
|
||||
meeting = get_object_or_404(Meeting, number=meeting_num)
|
||||
user = request.user
|
||||
person = user.person
|
||||
try:
|
||||
person = user.person
|
||||
except ObjectDoesNotExist:
|
||||
messages.warning(request, 'The account %s is not associated with any groups. If you have multiple Datatracker accounts you may try another or report a problem to ietf-action@ietf.org' % request.user)
|
||||
return HttpResponseRedirect(reverse('proceedings'))
|
||||
groups_session, groups_no_session = groups_by_session(user, meeting)
|
||||
proceedings_url = get_proceedings_url(meeting)
|
||||
|
||||
|
|
|
@ -441,6 +441,10 @@ def main(request):
|
|||
meeting = get_meeting()
|
||||
scheduled_groups,unscheduled_groups = groups_by_session(request.user, meeting)
|
||||
|
||||
# warn if there are no associated groups
|
||||
if not scheduled_groups and not unscheduled_groups:
|
||||
messages.warning(request, 'The account %s is not associated with any groups. If you have multiple Datatracker accounts you may try another or report a problem to ietf-action@ietf.org' % request.user)
|
||||
|
||||
# load form select with unscheduled groups
|
||||
choices = zip([ g.pk for g in unscheduled_groups ],
|
||||
[ str(g) for g in unscheduled_groups ])
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
from django.conf import settings
|
||||
from django.core.exceptions import ObjectDoesNotExist
|
||||
from ietf.group.models import Group
|
||||
from ietf.meeting.models import Session
|
||||
|
||||
|
@ -44,13 +45,14 @@ def get_my_groups(user,conclude=False):
|
|||
if conclude:
|
||||
states.extend(['conclude','bof-conc'])
|
||||
all_groups = Group.objects.filter(type__in=('wg','rg','ag','team'),state__in=states).order_by('acronym')
|
||||
if user == None:
|
||||
|
||||
if user == None or has_role(user,'Secretariat'):
|
||||
return all_groups
|
||||
else:
|
||||
|
||||
try:
|
||||
person = user.person
|
||||
|
||||
if has_role(user,'Secretariat'):
|
||||
return all_groups
|
||||
except ObjectDoesNotExist:
|
||||
return list()
|
||||
|
||||
for group in all_groups:
|
||||
if group.role_set.filter(person=person,name__in=('chair','secr')):
|
||||
|
|
Loading…
Reference in a new issue