Пример #1
0
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))
Пример #2
0
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))
Пример #3
0
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))
Пример #4
0
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))
Пример #5
0
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))
Пример #6
0
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))
Пример #7
0
                                      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':
Пример #8
0
                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
Пример #9
0
def get_tags(user, obj):
    """Get all the tags on this object
    """
    return get_tags_for_object(obj._inner, user)