3204: Viewing review groups that you are watching no longer works.

erik*****@gmai***** (Google Code) (Is this you? Claim this profile.)
Feb. 4, 2014
What version are you running?
1.7.21

What's the URL of the page containing the problem?
http://reviewboard/reviews/dashboard/?view=to-group&group=AutomationCouncil

What steps will reproduce the problem?
1. Click on a review group that you are watching (but not subscribed to)
2. You'll get a 404 error


What is the expected output? What do you see instead?
I expect to see a list of reviews for that group; instead I get a "does not exist" page (404).

What operating system are you using? What browser?
OS X. Chrome.

Please provide any additional information below.
If I'm subscribed to the group, those views work but simply groups that I'm watching do not. It doesn't seem to matter if the group has 0 reviews or > 0. The server is also raising the following exception:



2014-01-23 20:26:47,032 - ERROR -  - Exception thrown for user erik.latt at http://reviewboard/reviews/dashboard/?view=to-group&group=AutomationCouncil

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/Django-1.4.10-py2.7.egg/django/core/handlers/base.py", line 111, in get_response
    response = callback(request, *callback_args, **callback_kwargs)
  File "/usr/local/lib/python2.7/dist-packages/Djblets-0.7.28-py2.7.egg/djblets/auth/util.py", line 47, in _checklogin
    return view_func(request, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/ReviewBoard-1.7.21-py2.7.egg/reviewboard/accounts/decorators.py", line 52, in _check_valid_prefs
    return view_func(request, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/ReviewBoard-1.7.21-py2.7.egg/reviewboard/reviews/views.py", line 840, in dashboard
    return grid.render_to_response(template_name, extra_context=context)
  File "/usr/local/lib/python2.7/dist-packages/Djblets-0.7.28-py2.7.egg/djblets/datagrid/grids.py", line 794, in render_to_response
    self.load_state(render_context)
  File "/usr/local/lib/python2.7/dist-packages/Djblets-0.7.28-py2.7.egg/djblets/datagrid/grids.py", line 579, in load_state
    if self.load_extra_state(profile):
  File "/usr/local/lib/python2.7/dist-packages/ReviewBoard-1.7.21-py2.7.egg/reviewboard/reviews/datagrids.py", line 684, in load_extra_state
    raise Http404
Http404
#1 erik*****@gmai***** (Google Code) (Is this you? Claim this profile.)
Ah, it looks like this is somewhat by design: https://github.com/reviewboard/reviewboard/commit/d0611ab9b407814bfd5ce0cd0d4c8ebd5f40f1ba

However, I feel that this makes the watched groups feature pointless. I understand the need to honor private groups but couldn't couldn't we just check if Group.is_accessible_by() rather than checking if the user is a member of the group?
chipx86
#2 chipx86
Sort of by design, but it wasn't intended to impact watched groups. Those should be allowed as well, so long as the user has access. We'll want to fix this.
  • +Confirmed
  • +Milestone-Release1.7.x
chipx86
#3 chipx86
  • +EasyFix
#4 jmm.li******@gmai***** (Google Code) (Is this you? Claim this profile.)
I will take a look on this.
david
#5 david
Fixed in release-1.7.x (9d6d88e). Thanks!
  • -Confirmed
    +Fixed