示例#1
0
def group_item(request, group_id):
    group = get_object_or_404(Group, id=group_id)

    if request.method == "GET":
        form = GroupForm(instance=group)
    elif request.method == "POST":
        form = GroupForm(instance=group, data=request.POST)
        if form.is_valid():
            data = form.cleaned_data
            form.save()

            group.user_set.clear()
            group.permissions.clear()
            group.save()

            for user in data['users']:
                user.groups.add(group)

            for key, value in data.items():
                if key.startswith('custom_') and value == True:
                    permission = Permission.objects.get(codename=key)
                    group.permissions.add(permission)

            info_msg(request, "Groupe modifié avec succès")
            return redirect("group_index")
        else:
            error_msg(request, "Impossible de modifier le groupe.")

    return render(request, 'admin/group_item.html', {
        'form': form,
        'group': group
    })
示例#2
0
def group_index(request):
    if request.method == 'GET':
        return render(request, 'admin/group_index.html',
                      {'groups': Group.objects.all()})
    elif request.method == 'POST':
        form = GroupForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            group = form.save()

            for user in data['users']:
                user.groups.add(group)

            for key, value in data.items():
                if key.startswith('custom_') and value == True:
                    permission = Permission.objects.get(codename=key)
                    group.permissions.add(permission)

            info_msg(request, "Groupe ajouté avec succès")
            return redirect('group_index')
        else:
            error_msg(request, "Impossible de créer le groupe.")
            return render(request, 'group_new', {'form': form})
示例#3
0
def group_new(request):
    return render(request, 'admin/group_new.html', {'form': GroupForm()})