Adding JSON API to provide "New Updates" column information
Updated 5 months, 1 week ago
| Scott Francis | Reviewers | ||
| reviewboard | |||
| None | Review Board SVN | ||
I've added a new JSON API to determine if a review request has any new activity since last viewed by the user.
The URL is /api/json/reviewrequests/<review_request_id>/updated/
The API returns the following:
{
"updated":true,
"stat":"ok"
}
Diff revision 1 (Latest)
- trunk/reviewboard/webapi/json.py: 1 change [ 1 ]
- trunk/reviewboard/webapi/urls.py: 1 change [ 1 ]
| trunk/reviewboard/webapi/json.py | |||
|---|---|---|---|
| Revision 1413 | New Change | ||
| ... | 488 lines hidden [Expand] | ||
| 489 | except ReviewRequest.DoesNotExist: |
489 | except ReviewRequest.DoesNotExist: |
| 490 | return WebAPIResponseError(request, DOES_NOT_EXIST) |
490 | return WebAPIResponseError(request, DOES_NOT_EXIST) |
| 491 | 491 | ||
| 492 | return WebAPIResponse(request) |
492 | return WebAPIResponse(request) |
| 493 | 493 | ||
| 494 | @webapi_login_required |
||
| 495 | def review_request_updated(request, review_request_id): |
||
| 496 | """ |
||
| 497 | Determines if a review has been updated since the user last viewed |
||
| 498 | it. |
||
| 499 | """ |
||
| 500 | try: |
||
| 501 | review_request = ReviewRequest.objects.get(pk=review_request_id) |
||
| 502 | except ReviewRequest.DoesNotExist: |
||
| 503 | return WebAPIResponseError(request, DOES_NOT_EXIST) |
||
| 504 | |||
| 505 | return WebAPIResponse(request, { |
||
| 506 | 'updated' : review_request.get_new_reviews(request.user).count() > 0 |
||
| 507 | }) |
||
| 494 | 508 | ||
| 495 | @webapi_login_required |
509 | @webapi_login_required |
| 496 | def review_request_list(request, func, **kwargs): |
510 | def review_request_list(request, func, **kwargs): |
| 497 | """ |
511 | """ |
| 498 | Returns a list of review requests. |
512 | Returns a list of review requests. |
| ... | 775 lines hidden [Expand] | ||
| trunk/reviewboard/webapi/urls.py | |||
|---|---|---|---|
| Revision 1413 | New Change | ||
| ... | 90 lines hidden [Expand] | ||
| 91 | (r'^reviewrequests/(?P<review_request_id>[0-9]+)/draft/set/(?P<field_name>[A-Za-z0-9_-]+)/$', |
91 | (r'^reviewrequests/(?P<review_request_id>[0-9]+)/draft/set/(?P<field_name>[A-Za-z0-9_-]+)/$', |
| 92 | 'review_request_draft_set_field'), |
92 | 'review_request_draft_set_field'), |
| 93 | (r'^reviewrequests/(?P<review_request_id>[0-9]+)/draft/set/$', |
93 | (r'^reviewrequests/(?P<review_request_id>[0-9]+)/draft/set/$', |
| 94 | 'review_request_draft_set'), |
94 | 'review_request_draft_set'), |
| 95 | 95 | ||
| 96 | (r'^reviewrequests/(?P<review_request_id>[0-9]+)/updated/$', |
||
| 97 | 'review_request_updated'), |
||
| 98 | |||
| 96 | # Reviews |
99 | # Reviews |
| 97 | (r'^reviewrequests/(?P<review_request_id>[0-9]+)/reviews/draft/save/$', |
100 | (r'^reviewrequests/(?P<review_request_id>[0-9]+)/reviews/draft/save/$', |
| 98 | 'review_draft_save'), |
101 | 'review_draft_save'), |
| 99 | (r'^reviewrequests/(?P<review_request_id>[0-9]+)/reviews/draft/publish/$', |
102 | (r'^reviewrequests/(?P<review_request_id>[0-9]+)/reviews/draft/publish/$', |
| 100 | 'review_draft_save', |
103 | 'review_draft_save', |
| ... | 51 lines hidden [Expand] | ||
- trunk/reviewboard/webapi/json.py: 1 change [ 1 ]
- trunk/reviewboard/webapi/urls.py: 1 change [ 1 ]
Other reviews