def edit_wiki(request, group, page_name, template_name="plus_wiki/create_wiki.html", current_app='plus_groups', **kwargs): try: secure_page = WikiPage.objects.plus_get(request.user, name=page_name, in_agent=group.get_ref()) except WikiPage.DoesNotExist: raise Http404 contributors = get_contributors(request.user, secure_page) try: secure_page.get_all_sliders perms_bool = True except PlusPermissionsNoAccessException: perms_bool = False return render_to_response(template_name, { 'page': TemplateSecureWrapper(secure_page), 'form_action': reverse(current_app + ":create_WikiPage", args=[secure_page.in_agent.obj.id, secure_page.name]), 'contributors': contributors, 'tags': get_tags_for_object(secure_page, request.user), 'permissions': perms_bool, }, context_instance=RequestContext( request, current_app=current_app))
def view_resource(request, group, resource_name, template_name="plus_resources/view.html", current_app='plus_groups', **kwargs): if not group: raise Http404(_('This group does not exist')) try: obj = Resource.objects.plus_get(request.user, name=resource_name, in_agent=group.get_ref()) except Resource.DoesNotExist: raise Http404 if not request.user.is_authenticated(): request.user = get_anon_user() try: obj.get_all_sliders perms_bool = True except PlusPermissionsNoAccessException: perms_bool = False try: obj.comment can_comment = True except PlusPermissionsNoAccessException: can_comment = False edit = has_access(request.user, obj, 'Resource.Editor') tags = get_tags_for_object(obj, request.user) if obj.get_inner().created_by: created_by = obj.get_inner().created_by.get_display_name() else: created_by = None return render_to_response(template_name, { 'upload': TemplateSecureWrapper(obj), 'page_title': obj.title, 'created_by': created_by, 'permissions': perms_bool, 'can_comment': can_comment, 'can_edit': edit, 'tags': tags }, context_instance=RequestContext( request, current_app=current_app))
def view_resource(request, group, resource_name, template_name="plus_resources/view.html", current_app='plus_groups', **kwargs): if not group : raise Http404(_('This group does not exist')) try: obj = Resource.objects.plus_get(request.user, name=resource_name, in_agent=group.get_ref()) except Resource.DoesNotExist: raise Http404 if not request.user.is_authenticated(): request.user = get_anon_user() try: obj.get_all_sliders perms_bool = True except PlusPermissionsNoAccessException: perms_bool = False try : obj.comment can_comment=True except PlusPermissionsNoAccessException: can_comment=False edit = has_access(request.user, obj, 'Resource.Editor') tags = get_tags_for_object(obj, request.user) if obj.get_inner().created_by : created_by = obj.get_inner().created_by.get_display_name() else : created_by = None return render_to_response(template_name, { 'upload' : TemplateSecureWrapper(obj), 'page_title' : obj.title, 'created_by' : created_by, 'permissions' : perms_bool, 'can_comment' : can_comment, 'can_edit' : edit, 'tags': tags }, context_instance=RequestContext(request, current_app=current_app))
def edit_wiki(request, group, page_name, template_name="plus_wiki/create_wiki.html", current_app='plus_groups', **kwargs): try: secure_page = WikiPage.objects.plus_get(request.user, name=page_name, in_agent=group.get_ref()) except WikiPage.DoesNotExist: raise Http404 contributors = get_contributors(request.user, secure_page) try: secure_page.get_all_sliders perms_bool = True except PlusPermissionsNoAccessException: perms_bool = False return render_to_response(template_name, {'page':TemplateSecureWrapper(secure_page), 'form_action':reverse(current_app + ":create_WikiPage", args=[secure_page.in_agent.obj.id, secure_page.name]), 'contributors':contributors, 'tags':get_tags_for_object(secure_page, request.user), 'permissions':perms_bool, }, context_instance=RequestContext(request, current_app=current_app))
def view_wiki_page(request, group, page_name, template_name="plus_wiki/wiki.html", current_app='plus_groups', **kwargs): if not group : raise Http404(_('This group does not exist')) try: obj = WikiPage.objects.plus_get(request.user, name=page_name, in_agent=group.get_ref()) except WikiPage.DoesNotExist: raise Http404 if obj.stub : # we don't want to show the wikipage at this point, but what do we do instead? request.user.message_set.create(message=_('The page you tried to visit has not yet been published by the creator.')%{}) return HttpResponseRedirect(reverse(current_app + ':group', args=[group.id])) version_list = Version.objects.get_for_object(obj._inner) try: version = Version.objects.get_for_date(obj._inner, datetime.now()) except Version.DoesNotExist : # XXX this isn't a solution ... we need to know WHY the version doesn't exist, # but will hide the error page from the user raise Http404 contributors = get_contributors(request.user, obj) contributors = [TemplateSecureWrapper(contributor) for contributor in contributors] can_comment = False try: obj.comment can_comment = True except : pass # no permission try: obj.get_all_sliders perms_bool = True except PlusPermissionsNoAccessException: perms_bool = False edit = has_access(request.user, obj, 'WikiPage.Editor') group_id = obj.get_inner().in_agent.obj.id group_display_name = obj.get_inner().in_agent.obj.get_display_name() created_by = obj.get_inner().created_by # get this here because if we find ourselves on a page without access to group, # getting the obj.in_agent.id in the template blows up return render_to_response(template_name, { 'page':TemplateSecureWrapper(obj), 'group_id':group_id, 'group_display_name':group_display_name, 'created_by':created_by, 'version':version, 'contributors':contributors, 'can_comment':can_comment, 'version_list':version_list, 'tags': get_tags_for_object(obj, request.user), 'permissions':perms_bool, 'can_edit': edit, 'comparable':version_list.count()>1, 'pages_listings_args':listing_args('home', 'home', ''), }, context_instance=RequestContext(request, current_app=current_app))
def view_wiki_page(request, group, page_name, template_name="plus_wiki/wiki.html", current_app='plus_groups', **kwargs): if not group: raise Http404(_('This group does not exist')) try: obj = WikiPage.objects.plus_get(request.user, name=page_name, in_agent=group.get_ref()) except WikiPage.DoesNotExist: raise Http404 if obj.stub: # we don't want to show the wikipage at this point, but what do we do instead? request.user.message_set.create(message=_( 'The page you tried to visit has not yet been published by the creator.' ) % {}) return HttpResponseRedirect( reverse(current_app + ':group', args=[group.id])) version_list = Version.objects.get_for_object(obj._inner) try: version = Version.objects.get_for_date(obj._inner, datetime.now()) except Version.DoesNotExist: # XXX this isn't a solution ... we need to know WHY the version doesn't exist, # but will hide the error page from the user raise Http404 contributors = get_contributors(request.user, obj) contributors = [ TemplateSecureWrapper(contributor) for contributor in contributors ] can_comment = False try: obj.comment can_comment = True except: pass # no permission try: obj.get_all_sliders perms_bool = True except PlusPermissionsNoAccessException: perms_bool = False edit = has_access(request.user, obj, 'WikiPage.Editor') group_id = obj.get_inner().in_agent.obj.id group_display_name = obj.get_inner().in_agent.obj.get_display_name() created_by = obj.get_inner().created_by # get this here because if we find ourselves on a page without access to group, # getting the obj.in_agent.id in the template blows up return render_to_response( template_name, { 'page': TemplateSecureWrapper(obj), 'group_id': group_id, 'group_display_name': group_display_name, 'created_by': created_by, 'version': version, 'contributors': contributors, 'can_comment': can_comment, 'version_list': version_list, 'tags': get_tags_for_object(obj, request.user), 'permissions': perms_bool, 'can_edit': edit, 'comparable': version_list.count() > 1, 'pages_listings_args': listing_args('home', 'home', ''), }, context_instance=RequestContext(request, current_app=current_app))
args=(group.id, resource.name)) from apps.plus_feed.models import FeedItem FeedItem.post_UPLOAD(request.user, resource) return HttpResponseRedirect(success_url) else: pass else: form = UploadFileForm() form.data['title'] = secure_upload.title form.data['name'] = secure_upload.name tags = get_tags_for_object(secure_upload, request.user) return render_to_response( template_name, { 'upload': TemplateSecureWrapper(secure_upload), 'resource': TemplateSecureWrapper( secure_upload ), # let's us use resource_common included template 'data': form.data, 'errors': form.errors, 'form_action': '', 'form_encoding': 'enctype=multipart/form-data', 'permissions': perms_bool, 'tags': tags, 'pages':
success_url = reverse(current_app + ':view_Resource', args=(group.id, resource.name)) from apps.plus_feed.models import FeedItem FeedItem.post_UPLOAD(request.user, resource) return HttpResponseRedirect(success_url) else: pass else : form = UploadFileForm() form.data['title'] = secure_upload.title form.data['name'] = secure_upload.name tags = get_tags_for_object(secure_upload, request.user) return render_to_response(template_name, { 'upload': TemplateSecureWrapper(secure_upload), 'resource':TemplateSecureWrapper(secure_upload), # let's us use resource_common included template 'data' : form.data, 'errors': form.errors, 'form_action':'', 'form_encoding':'enctype=multipart/form-data', 'permissions':perms_bool, 'tags':tags, 'pages':[p.get_ref() for p in group.get_resources_of_class(WikiPage)], 'pages_listings_args':listing_args('home', 'home', '') }, context_instance=RequestContext(request, current_app=current_app)) #'group_permissions_prototype': group.get_ref().permission_prototype
def get_tags(user, obj): """Get all the tags on this object """ return get_tags_for_object(obj._inner, user)