def annotationview(request, asset_id, annot_id): annotation = get_object_or_404(SherdNote, pk=annot_id, asset=asset_id, asset__course=request.course) user = request.user if user.is_staff and request.GET.has_key('as'): user = get_object_or_404(User,username=request.GET['as']) if request.method in ("DELETE", "POST"): if request.method == "DELETE": redirect_to = reverse('asset-view', args=[asset_id]) elif request.method == "POST": redirect_to = '.' form = request.GET.copy() form['next'] = redirect_to request.GET = form return annotation_dispatcher(request, annot_id) asset = annotation.asset global_annotation = asset.global_annotation(user, auto_create=False) if global_annotation == annotation: return HttpResponseRedirect( '%s#whole-form' % reverse('asset-view', args=[asset_id])) rv = asset_accoutrements(request, annotation.asset, user, AnnotationForm(instance=annotation, prefix="annotation") ) rv['annotation'] = annotation rv['readonly'] = (annotation.author != request.user) return rv
def annotationview(request, asset_id, annot_id): annotation = get_object_or_404(SherdNote, pk=annot_id, asset=asset_id, asset__course=request.course) user = request.user if user.is_staff and request.GET.has_key('as'): user = get_object_or_404(User,username=request.GET['as']) if request.method in ("DELETE", "POST"): if request.method == "DELETE": redirect_to = reverse('asset-view', args=[asset_id]) elif request.method == "POST": redirect_to = '.' form = request.GET.copy() form['next'] = redirect_to request.GET = form return annotation_dispatcher(request, annot_id) readonly = False if annotation.author != request.user: readonly = True asset = annotation.asset global_annotation = asset.global_annotation(user) if global_annotation == annotation: return HttpResponseRedirect( reverse('asset-view', args=[asset_id])) form = AnnotationForm(instance=annotation, prefix="annotation") tags = calculate_cloud( Tag.objects.usage_for_queryset( asset.sherdnote_set.all(), counts=True)) user_tags = calculate_cloud( Tag.objects.usage_for_queryset( user.sherdnote_set.filter( asset__course=request.course), counts=True)) comments = Comment and Comment.objects.for_model(asset) or None return { 'annotation_form': form, 'asset': asset, 'comments': comments, 'annotation': annotation, 'global_annotation': global_annotation, 'global_annotation_form': GlobalAnnotationForm( instance=global_annotation, prefix="annotation"), 'tags': tags, 'space_viewer':user, 'user_tags': user_tags, 'readonly': readonly, }
def annotationview(request, asset_id, annot_id): user = request.user if user.is_staff and request.GET.has_key('as'): user = get_object_or_404(User,username=request.GET['as']) try: annotation = SherdNote.objects.get(pk=annot_id, asset=asset_id, asset__course=request.course) if request.method in ("DELETE", "POST"): if request.method == "DELETE": redirect_to = reverse('asset-view', args=[asset_id]) elif request.method == "POST": redirect_to = '.' form = request.GET.copy() form['next'] = redirect_to request.GET = form return annotation_dispatcher(request, annot_id) asset = annotation.asset global_annotation = asset.global_annotation(user, auto_create=False) if global_annotation == annotation: return HttpResponseRedirect( '%s#whole-form' % reverse('asset-view', args=[asset_id])) rv = asset_accoutrements(request, annotation.asset, user, AnnotationForm(instance=annotation, prefix="annotation") ) rv['annotation'] = annotation rv['readonly'] = (annotation.author != request.user) return render_to_response('assetmgr/asset.html', rv, context_instance=RequestContext(request)) except SherdNote.DoesNotExist: annotation = get_object_or_404(SherdNote, pk=annot_id, asset=asset_id) # the user is logged into the wrong class? rv = {} rv['switch_to'] = annotation.asset.course rv['switch_from'] = request.course rv['redirect'] = reverse('annotation-form', args=[asset_id, annot_id]) return render_to_response('assetmgr/asset_not_found.html', rv, context_instance=RequestContext(request))
def annotationview(request, asset_id, annot_id): annotation = get_object_or_404(SherdNote, pk=annot_id, asset=asset_id, asset__course=request.course) user = request.user if user.is_staff and request.GET.has_key('as'): user = get_object_or_404(User, username=request.GET['as']) if request.method in ("DELETE", "POST"): if request.method == "DELETE": redirect_to = reverse('asset-view', args=[asset_id]) elif request.method == "POST": redirect_to = '.' form = request.GET.copy() form['next'] = redirect_to request.GET = form return annotation_dispatcher(request, annot_id) asset = annotation.asset global_annotation = asset.global_annotation(user, auto_create=False) if global_annotation == annotation: return HttpResponseRedirect('%s#whole-form' % reverse('asset-view', args=[asset_id])) rv = asset_accoutrements( request, annotation.asset, user, AnnotationForm(instance=annotation, prefix="annotation")) rv['annotation'] = annotation rv['readonly'] = (annotation.author != request.user) return rv