Exemple #1
0
    def test_filter_permission1(self):
        queryset = LimitToUsergroupsTestModel.objects.all()

        # Anonymous can view all
        items = limit_to_usergroups.filter_permission(queryset,
                                                      permit_view=self.user1)
        self.assertEqual(len(items), 2)
Exemple #2
0
    def test_filter_permission2(self):
        queryset = LimitToUsergroupsTestModel.objects.all()

        # edit only for staff or users in the right user group
        items = limit_to_usergroups.filter_permission(queryset,
                                                      permit_edit=self.user1)
        self.assertEqual(len(items), 1)
 def test_filter_permission2(self):
     queryset = LimitToUsergroupsTestModel.objects.all()
     
     # edit only for staff or users in the right user group
     items = limit_to_usergroups.filter_permission(
         queryset, permit_edit=self.user1
     )
     self.assertEqual(len(items), 1)
    def test_filter_permission3(self):
        queryset = LimitToUsergroupsTestModel.objects.all()

        # Check if he is in the user group
        self.user1.groups.add(self.user_group)
        self.user1.save()
        items = limit_to_usergroups.filter_permission(queryset, permit_edit=self.user1)
        assert_pformat_equal(len(items), 2)
 def test_filter_permission1(self):
     queryset = LimitToUsergroupsTestModel.objects.all()
     
     # Anonymous can view all
     items = limit_to_usergroups.filter_permission(
         queryset, permit_view=self.user1
     )
     self.assertEqual(len(items), 2)
Exemple #6
0
    def test_filter_permission3(self):
        queryset = LimitToUsergroupsTestModel.objects.all()

        # Check if he is in the user group
        self.user1.groups.add(self.user_group)
        self.user1.save()
        items = limit_to_usergroups.filter_permission(queryset,
                                                      permit_edit=self.user1)
        self.assertEqual(len(items), 2)
Exemple #7
0
def all_polls(request, hide_deactivated=False, not_voteable=False):
    """
    Display all active polls.
    """
    queryset = Poll.on_site.all()
    if hide_deactivated:
        queryset = queryset.filter(active=True)

    queryset = limit_to_usergroups.filter_permission(queryset, permit_view=request.user)

    if not_voteable:
        queryset = limit_to_usergroups.filter_permission(queryset, permit_vote=request.user)

    output = []
    for poll in queryset:
        response = _get_poll_content(request, poll)
        output.append(response.content)

    return "\n".join(output)
Exemple #8
0
def all_polls(request, hide_deactivated=False, not_voteable=False):
    """
    Display all active polls.
    """
    queryset = Poll.on_site.all()
    if hide_deactivated:
        queryset = queryset.filter(active=True)

    queryset = limit_to_usergroups.filter_permission(queryset,
                                                     permit_view=request.user)

    if not_voteable:
        queryset = limit_to_usergroups.filter_permission(
            queryset, permit_vote=request.user)

    output = []
    for poll in queryset:
        response = _get_poll_content(request, poll)
        output.append(response.content)

    return "\n".join(output)
Exemple #9
0
def lucidTag(request, id=None):
    """
    Add a poll to the page content.
    
    {% lucidTag poll %}
        Display the newest, voteable poll.
        
    {% lucidTag poll id=X %}
        Display a specific poll.
        (Look into admin changelist to the the right ID)
        
    {% lucidTag poll.all_polls %}
        Display all existing polls.
        Filter with 'hide_deactivated' and/or 'not_voteable'
    
    example:
        {% lucidTag poll id=23 %}
        {% lucidTag poll.all_polls hide_deactivated=True %}
        {% lucidTag poll.all_polls not_voteable=True %}
        {% lucidTag poll.all_polls hide_deactivated=True not_voteable=True %}
    """
    if id is None:
        # Display the newest, voteable poll
        queryset = Poll.on_site.filter(active=True).order_by("createtime")
        polls = limit_to_usergroups.filter_permission(queryset, permit_vote=request.user)
        if not polls:
            return render_to_response(
                "poll/no_active_poll.html", context_instance=RequestContext(request)
            )
        poll = polls[0]
    else:
        # Display a definite poll
        poll = _get_poll_or_404(id)

    if not limit_to_usergroups.has_permission(poll, permit_view=request.user):
        if settings.DEBUG:
            return "[No permissions to see this poll]"
        return ""

    response = _get_poll_content(request, poll)

    return response
Exemple #10
0
def lucidTag(request, id=None):
    """
    Add a poll to the page content.
    
    {% lucidTag poll %}
        Display the newest, voteable poll.
        
    {% lucidTag poll id=X %}
        Display a specific poll.
        (Look into admin changelist to the the right ID)
        
    {% lucidTag poll.all_polls %}
        Display all existing polls.
        Filter with 'hide_deactivated' and/or 'not_voteable'
    
    example:
        {% lucidTag poll id=23 %}
        {% lucidTag poll.all_polls hide_deactivated=True %}
        {% lucidTag poll.all_polls not_voteable=True %}
        {% lucidTag poll.all_polls hide_deactivated=True not_voteable=True %}
    """
    if id is None:
        # Display the newest, voteable poll
        queryset = Poll.on_site.filter(active=True).order_by("createtime")
        polls = limit_to_usergroups.filter_permission(queryset,
                                                      permit_vote=request.user)
        if not polls:
            return render_to_response("poll/no_active_poll.html",
                                      context_instance=RequestContext(request))
        poll = polls[0]
    else:
        # Display a definite poll
        poll = _get_poll_or_404(id)

    if not limit_to_usergroups.has_permission(poll, permit_view=request.user):
        if settings.DEBUG:
            return "[No permissions to see this poll]"
        return ""

    response = _get_poll_content(request, poll)

    return response