예제 #1
0
파일: views.py 프로젝트: hypnotics/assembl
def discussion_list_view(request):
    user_id = authenticated_userid(request) or Everyone
    user = None
    if user_id != Everyone:
        user = User.get(user_id)
    roles = get_roles(user_id)
    context = get_default_context(request)
    context['discussions'] = []
    #Show even anonymous users every discussion one has access to if 
    #authenticated, so they can login and read them
    discussions = discussions_with_access(Authenticated if user_id == Everyone else user_id)
    for discussion in discussions:
        discussionFrontendUrls = FrontendUrls(discussion)
        discussion_context = {
            'topic': discussion.topic,
            'slug': discussion.slug,
            'url': discussionFrontendUrls.get_discussion_url()
        }
        if user_has_permission(discussion.id, user_id, P_ADMIN_DISC):
            discussion_context['admin_url'] = discussionFrontendUrls.get_discussion_edition_url()
            discussion_context['permissions_url'] = request.route_url(
                'discussion_permissions', discussion_id=discussion.id)
        context['discussions'].append(discussion_context)
    if R_SYSADMIN in roles:
        context['discussions_admin_url'] = request.route_url('discussion_admin')
        context['permissions_admin_url'] = request.route_url('general_permissions')
    context['user'] = user
    return context
예제 #2
0
파일: views.py 프로젝트: srault95/assembl
def discussion_list_view(request):
    request.session.pop('discussion')
    user_id = authenticated_userid(request) or Everyone
    user = None
    if user_id != Everyone:
        user = User.get(user_id)
    roles = get_roles(user_id)
    context = get_default_context(request)
    context['discussions'] = []
    # Show even anonymous users every discussion one has access to if
    # authenticated, so they can login and read them
    discussions = discussions_with_access(Authenticated if user_id ==
                                          Everyone else user_id)
    for discussion in discussions:
        discussionFrontendUrls = FrontendUrls(discussion)
        discussion_context = {
            'topic': discussion.topic,
            'slug': discussion.slug,
            'url': discussionFrontendUrls.get_discussion_url()
        }
        if user_has_permission(discussion.id, user_id, P_ADMIN_DISC):
            discussion_context[
                'admin_url'] = discussionFrontendUrls.get_discussion_edition_url(
                )
            discussion_context['permissions_url'] = request.route_url(
                'discussion_permissions', discussion_id=discussion.id)
        context['discussions'].append(discussion_context)
    if R_SYSADMIN in roles:
        context['discussions_admin_url'] = request.route_url(
            'discussion_admin')
        context['permissions_admin_url'] = request.route_url(
            'general_permissions')
    context['user'] = user
    return context
예제 #3
0
파일: __init__.py 프로젝트: assembl/assembl
def get_discussion_url():
    from ..auth.util import get_current_discussion
    from assembl.lib.frontend_urls import FrontendUrls
    from assembl.lib.utils import get_global_base_url
    discussion = get_current_discussion()
    if discussion:
        front_end_urls = FrontendUrls(discussion)
        return front_end_urls.get_discussion_url()
    else:
        return get_global_base_url()
예제 #4
0
def get_discussion_url():
    from ..auth.util import get_current_discussion
    from assembl.lib.frontend_urls import FrontendUrls
    from assembl.lib.utils import get_global_base_url
    discussion = get_current_discussion()
    if discussion:
        front_end_urls = FrontendUrls(discussion)
        return front_end_urls.get_discussion_url()
    else:
        return get_global_base_url()
예제 #5
0
 def get_url(self):
     from assembl.lib.frontend_urls import FrontendUrls
     frontendUrls = FrontendUrls(self)
     return frontendUrls.get_discussion_url()
예제 #6
0
 def get_url(self):
     from assembl.lib.frontend_urls import FrontendUrls
     frontendUrls = FrontendUrls(self)
     return frontendUrls.get_discussion_url()