示例#1
0
def crear_grupo(request):
    template = "grupos/crear_grupo.html"

    if request.method == "POST":
        form = FormCrearGrupo(request.POST)

        if form.is_valid():

            # Sumar un tipo al grupo (Abierto, Cerrado, Todos puede añadir, Admins pueden añadir)
            tipo_grupo = form.obtener_tipo()
            nuevo_grupo = form.save(commit=False)
            nuevo_grupo.tipo = tipo_grupo

            # Situar el grupo en una ciudad si es necesario
            situar_ciudad = form.cleaned_data['situar_ciudad']
            perfil_admin = obtener_perfil(request.user)
            if situar_ciudad:
                nuevo_grupo.ciudad = perfil_admin.ciudad

            nuevo_grupo.save()

            # Crear usuario administrador
            usuario_admin = UsuariosGrupo(perfil=perfil_admin, grupo=nuevo_grupo, es_admin=True)
            usuario_admin.save()

            return redirect('grupos:main_grupo', id_grupo=nuevo_grupo.id)
    else:
        form = FormCrearGrupo()

    context = {'form': form}

    return render(request, template, context)
示例#2
0
def editar_grupo(request, id_grupo):
    template = "grupos/editar_grupo.html"

    grupo = get_object_or_404(Grupo, id=id_grupo)

    if request.method == "POST":
        form = FormCrearGrupo(request.POST, instance=grupo)

        if form.is_valid():

            # Sumar un tipo al grupo (Abierto, Cerrado, Todos puede añadir, Admins pueden añadir)
            tipo_grupo = form.obtener_tipo()
            grupo_editado = form.save(commit=False)
            grupo_editado.tipo = tipo_grupo

            # Situar el grupo en una ciudad si es necesario
            situar_ciudad = form.cleaned_data['situar_ciudad']
            perfil_admin = obtener_perfil(request.user)
            if situar_ciudad:
                grupo_editado.ciudad = perfil_admin.ciudad

            # Guardar cambios
            grupo_editado.save()

        return redirect('grupos:main_grupo', id_grupo=grupo.id)

    else:
        if grupo.ciudad is not None:
            form_situar_ciudad = True

        form = FormCrearGrupo(initial={
            'nombre': grupo.nombre,
            'descripcion': grupo.descripcion,
            'imagen': grupo.imagen,
            'tipo_apertura': grupo.obtener_tipo_apertura(),
            'tipo_invitaciones': grupo.obtener_tipo_invitaciones(),
            'situar_ciudad': form_situar_ciudad
        })

    context = {'form': form, 'grupo': grupo}
    return render(request, template, context)