|
40 | 40 | from django.utils import simplejson as json |
41 | 41 | from django.utils.decorators import decorator_from_middleware |
42 | 42 | from django.middleware.gzip import GZipMiddleware |
| 43 | +from django.core.exceptions import ObjectDoesNotExist |
43 | 44 | from django.core.urlresolvers import reverse as urlreverse, NoReverseMatch |
44 | 45 | from django.conf import settings |
45 | 46 | from django import forms |
46 | 47 |
|
| 48 | +from ietf.community.models import CommunityList |
47 | 49 | from ietf.doc.models import * |
48 | 50 | from ietf.doc.utils import * |
49 | 51 | from ietf.utils.history import find_history_active_at |
@@ -324,6 +326,15 @@ def document_main(request, name, rev=None): |
324 | 326 | elif can_edit_stream_info and (not iesg_state or iesg_state.slug == 'watching'): |
325 | 327 | actions.append(("Submit to IESG for Publication", urlreverse('doc_to_iesg', kwargs=dict(name=doc.name)))) |
326 | 328 |
|
| 329 | + show_add_to_list = False |
| 330 | + if request.user.is_authenticated(): |
| 331 | + try: |
| 332 | + clist = CommunityList.objects.get(user=request.user) |
| 333 | + clist.update() |
| 334 | + show_add_to_list = clist.get_documents().filter(name=doc.name).count() == 0 |
| 335 | + except ObjectDoesNotExist: |
| 336 | + pass |
| 337 | + |
327 | 338 | return render_to_response("doc/document_draft.html", |
328 | 339 | dict(doc=doc, |
329 | 340 | group=group, |
@@ -374,6 +385,7 @@ def document_main(request, name, rev=None): |
374 | 385 | shepherd_writeup=shepherd_writeup, |
375 | 386 | search_archive=search_archive, |
376 | 387 | actions=actions, |
| 388 | + show_add_to_list=show_add_to_list, |
377 | 389 | ), |
378 | 390 | context_instance=RequestContext(request)) |
379 | 391 |
|
|
0 commit comments