def edit_group(request, gid): group = get_object_or_404(Dojo_Group, id=gid) form = DojoGroupForm(instance=group) global_role = group.global_role if hasattr(group, 'global_role') else None if global_role is None: previous_global_role = None global_role_form = GlobalRoleForm() else: previous_global_role = global_role.role global_role_form = GlobalRoleForm(instance=global_role) if request.method == 'POST': form = DojoGroupForm(request.POST, instance=group) if global_role is None: global_role_form = GlobalRoleForm(request.POST) else: global_role_form = GlobalRoleForm(request.POST, instance=global_role) if form.is_valid() and global_role_form.is_valid(): if global_role_form.cleaned_data[ 'role'] != previous_global_role and not request.user.is_superuser: messages.add_message( request, messages.WARNING, 'Only superusers are allowed to change the global role.', extra_tags='alert-warning') else: form.save() global_role = global_role_form.save(commit=False) global_role.group = group global_role.save() messages.add_message(request, messages.SUCCESS, 'Group saved successfully.', extra_tags='alert-success') else: messages.add_message(request, messages.ERROR, 'Group was not saved successfully.', extra_tags='alert_danger') add_breadcrumb(title="Edit Group", top_level=False, request=request) return render(request, "dojo/add_group.html", { 'form': form, 'global_role_form': global_role_form, })
def add_group(request): form = DojoGroupForm group = None if request.method == 'POST': form = DojoGroupForm(request.POST) if form.is_valid(): group = form.save(commit=False) group.save() member = Dojo_Group_Member() member.user = request.user member.group = group member.role = Role.objects.get(is_owner=True) member.save() messages.add_message(request, messages.SUCCESS, 'Group was added successfully.', extra_tags='alert-success') return HttpResponseRedirect( reverse('view_group', args=(group.id, ))) else: messages.add_message(request, messages.ERROR, 'Group was not added successfully.', extra_tags='alert-danger') add_breadcrumb(title="Add Group", top_level=False, request=request) return render(request, "dojo/add_group.html", {'form': form})
def edit_group(request, gid): group = get_object_or_404(Dojo_Group, id=gid) form = DojoGroupForm(instance=group) if request.method == 'POST': form = DojoGroupForm(request.POST, instance=group) if form.is_valid(): form.save() messages.add_message(request, messages.SUCCESS, 'Group saved successfully.', extra_tags='alert-success') else: messages.add_message(request, messages.ERROR, 'Group was not saved successfully.', extra_tags='alert_danger') add_breadcrumb(title="Edit Group", top_level=False, request=request) return render(request, "dojo/add_group.html", {'form': form})
def add_group(request): form = DojoGroupForm global_role_form = GlobalRoleForm() group = None if request.method == 'POST': form = DojoGroupForm(request.POST) global_role_form = GlobalRoleForm(request.POST) if form.is_valid() and global_role_form.is_valid(): if global_role_form.cleaned_data[ 'role'] is not None and not request.user.is_superuser: messages.add_message( request, messages.ERROR, 'Only superusers are allowed to set global role.', extra_tags='alert-warning') else: group = form.save(commit=False) group.save() global_role = global_role_form.save(commit=False) global_role.group = group global_role.save() member = Dojo_Group_Member() member.user = request.user member.group = group member.role = Role.objects.get(is_owner=True) member.save() messages.add_message(request, messages.SUCCESS, 'Group was added successfully.', extra_tags='alert-success') return HttpResponseRedirect( reverse('view_group', args=(group.id, ))) else: messages.add_message(request, messages.ERROR, 'Group was not added successfully.', extra_tags='alert-danger') add_breadcrumb(title="Add Group", top_level=False, request=request) return render(request, "dojo/add_group.html", { 'form': form, 'global_role_form': global_role_form, })