예제 #1
0
def manage_whitelist(request, group_name):
    group = get_object_or_404(Group, name=group_name)
    group_proxy = GroupProxy(group)
    if not group_proxy.is_member(request.user):
        raise PermissionDenied()
    is_admin = group_proxy.is_admin(request.user)
    try:
        mailinglist = Mailinglist.objects.get(group=group)
    except Mailinglist.DoesNotExist:
        return redirect('mailinglist_show_list', group.name)

    if 'add' in request.POST and is_admin:
        add_form = AddWhitelistForm(request.POST, mailinglist=mailinglist)
        if add_form.is_valid():
            add_form.save()
            return redirect('mailinglist_whitelist', group.name)
    else:
        add_form = AddWhitelistForm(mailinglist=mailinglist)

    if 'delete' in request.POST and is_admin:
        address_pk = request.POST.get('address_pk', 0)
        mailinglist.whitelist_addresses.filter(pk=address_pk).delete()
        return redirect('mailinglist_whitelist', group.name)

    entries = mailinglist.whitelist_addresses.order_by('email')

    return render(
        request, 'mailinglist/whitelist.html', {
            'mailinglist': mailinglist,
            'entries': entries,
            'add_form': add_form,
            'is_admin': is_admin
        })
예제 #2
0
파일: views.py 프로젝트: Nilix007/mafiasi
def manage_whitelist(request, group_name):
    group = get_object_or_404(Group, name=group_name)
    group_proxy = GroupProxy(group)
    if not group_proxy.is_member(request.user):
        raise PermissionDenied()
    is_admin = group_proxy.is_admin(request.user)
    try:
        mailinglist = Mailinglist.objects.get(group=group)
    except Mailinglist.DoesNotExist:
        return redirect('mailinglist_show_list', group.name)

    if 'add' in request.POST and is_admin:
        add_form = AddWhitelistForm(request.POST, mailinglist=mailinglist)
        if add_form.is_valid():
            add_form.save()
            return redirect('mailinglist_whitelist', group.name)
    else:
        add_form = AddWhitelistForm(mailinglist=mailinglist)

    if 'delete' in request.POST and is_admin:
        address_pk = request.POST.get('address_pk', 0)
        mailinglist.whitelist_addresses.filter(pk=address_pk).delete()
        return redirect('mailinglist_whitelist', group.name)

    entries = mailinglist.whitelist_addresses.order_by('email')

    return render(request, 'mailinglist/whitelist.html', {
        'mailinglist': mailinglist,
        'entries': entries,
        'add_form': add_form,
        'is_admin': is_admin
    })
예제 #3
0
파일: views.py 프로젝트: Nilix007/mafiasi
def show_list(request, group_name):
    group = get_object_or_404(Group, name=group_name)
    group_proxy = GroupProxy(group)
    if not group_proxy.is_member(request.user):
        raise PermissionDenied()

    try:
        mailinglist = Mailinglist.objects.get(group=group)
        moderated_mails = mailinglist.moderated_mails.all()
        whitelist_count = mailinglist.whitelist_addresses.count()
    except Mailinglist.DoesNotExist:
        mailinglist = None
        moderated_mails = []
        whitelist_count = 0

    is_admin = GroupProxy(group).is_admin(request.user)
    return render(request, 'mailinglist/show_list.html', {
        'group': group,
        'mailinglist': mailinglist,
        'moderated_mails': moderated_mails,
        'whitelist_count': whitelist_count,
        'is_admin': is_admin
    })
예제 #4
0
def show_list(request, group_name):
    group = get_object_or_404(Group, name=group_name)
    group_proxy = GroupProxy(group)
    if not group_proxy.is_member(request.user):
        raise PermissionDenied()

    try:
        mailinglist = Mailinglist.objects.get(group=group)
        moderated_mails = mailinglist.moderated_mails.all()
        whitelist_count = mailinglist.whitelist_addresses.count()
    except Mailinglist.DoesNotExist:
        mailinglist = None
        moderated_mails = []
        whitelist_count = 0

    is_admin = GroupProxy(group).is_admin(request.user)
    return render(
        request, 'mailinglist/show_list.html', {
            'group': group,
            'mailinglist': mailinglist,
            'moderated_mails': moderated_mails,
            'whitelist_count': whitelist_count,
            'is_admin': is_admin
        })