コード例 #1
0
ファイル: views.py プロジェクト: elreychagi/parkero
def editar_estacionamiento(request, id=None):
    """
    Vista para editar estacionamiento
    Podran usar esta vista tanto estacionamientos como administrador
    """
    errors = {}
    es_estac = Estacionamiento.objects.all().filter(usuariobase_ptr_id=request.user.id).exists()
    try:
        if es_estac:
            estacionamiento = request.user.estacionamiento
        else:
            estacionamiento = Estacionamiento.objects.get(pk=id)
        if request.method != 'POST':
            initial = {'nombre' : estacionamiento.nombre,
                       'nombre_usuario' : estacionamiento.nombre_usuario,
                       'correo' : estacionamiento.correo,
                       'descripcion' : estacionamiento.descripcion,
                       'motos' : estacionamiento.motos,
                       'camiones' : estacionamiento.camiones,
                       'sin_techo' : estacionamiento.sin_techo,
                       'id' : estacionamiento.id}
            if not es_estac:
                initial.update({'latitud' : estacionamiento.latitud,
                                'longitud' : estacionamiento.longitud,})
            form = FormEstacionamiento(initial=initial,
                                        edit=True,
                                        parking=es_estac)
        else:
            form = FormEstacionamiento(data=request.POST, edit=True, parking=es_estac)
            if form.is_valid():
                clean_data = form.cleaned_data
                if Estacionamiento.objects.all().exclude(pk=estacionamiento.id).filter(correo=clean_data['correo']).exists():
                    errors = {'correo' : {'as_text':'* Correo electrónico usado'}}
                else:
                    estacionamiento.descripcion = clean_data['descripcion']
                    estacionamiento.nombre = clean_data['nombre']
                    estacionamiento.motos = clean_data['motos']
                    estacionamiento.camiones = clean_data['camiones']
                    estacionamiento.sin_techo = clean_data['sin_techo']
                    if not es_estac:
                        estacionamiento.latitud = clean_data['latitud']
                        estacionamiento.longitud = clean_data['longitud']
                    estacionamiento.save()
            else:
                errors = form.errors
        return render_to_response('usuarios/crear_editar_estacionamiento.html',
            {'form' : form, 'errors' : errors, 'es_estacionamiento' : es_estac, 'estacionamiento' : estacionamiento},
            context_instance=RequestContext(request))
    except Estacionamiento.DoesNotExist:
        raise Http404()
コード例 #2
0
def crear_estacionamiento(request):
    """
    Vista para crear estacionamiento
    Se valida si existe un UsuarioBase con el email y nombre_usuario pasado (deben ser unicos)
    Se crea el password tipo nombre_usuario12345
    """
    errors = {}
    if request.method != 'POST':
        form = FormEstacionamiento()
    else:
        form = FormEstacionamiento(data=request.POST)
        if form.is_valid():
            clean_data = form.cleaned_data

            if UsuarioBase.objects.all().filter(
                    nombre_usuario=clean_data['nombre_usuario']).exists():
                errors = {
                    'nombre_usuario': {
                        'as_text': '* Nombre de usuario usado'
                    }
                }
            elif UsuarioBase.objects.all().filter(
                    correo=clean_data['correo']).exists():
                errors = {'correo': {'as_text': '* Correo electrónico usado'}}
            else:
                password = __new_password(user=clean_data['nombre_usuario'])
                estacionamiento = Estacionamiento(
                    nombre_usuario=clean_data['nombre_usuario'],
                    password=password,
                    correo=clean_data['correo'],
                    descripcion=clean_data['descripcion'],
                    nombre=clean_data['nombre'],
                    latitud=clean_data['latitud'],
                    longitud=clean_data['longitud'],
                    motos=clean_data['motos'],
                    camiones=clean_data['camiones'],
                    sin_techo=clean_data['sin_techo'])
                estacionamiento.save()

                return HttpResponseRedirect(
                    '/users/admin/listar_estacionamientos/')
        else:
            errors = form.errors
    return render_to_response('usuarios/crear_editar_estacionamiento.html', {
        'form': form,
        'errors': errors,
        'crear': True
    },
                              context_instance=RequestContext(request))
コード例 #3
0
ファイル: views.py プロジェクト: elreychagi/parkero
def crear_estacionamiento(request):
    """
    Vista para crear estacionamiento
    Se valida si existe un UsuarioBase con el email y nombre_usuario pasado (deben ser unicos)
    Se crea el password tipo nombre_usuario12345
    """
    errors = {}
    if request.method != 'POST':
        form = FormEstacionamiento()
    else:
        form = FormEstacionamiento(data=request.POST)
        if form.is_valid():
            clean_data = form.cleaned_data

            if UsuarioBase.objects.all().filter(nombre_usuario=clean_data['nombre_usuario']).exists():
                errors = {'nombre_usuario' : {'as_text':'* Nombre de usuario usado'}}
            elif UsuarioBase.objects.all().filter(correo=clean_data['correo']).exists():
                errors = {'correo' : {'as_text':'* Correo electrónico usado'}}
            else:
                password = __new_password(user=clean_data['nombre_usuario'])
                estacionamiento = Estacionamiento(
                    nombre_usuario=clean_data['nombre_usuario'],
                    password=password,
                    correo=clean_data['correo'],
                    descripcion=clean_data['descripcion'],
                    nombre=clean_data['nombre'],
                    latitud=clean_data['latitud'],
                    longitud=clean_data['longitud'],
                    motos=clean_data['motos'],
                    camiones=clean_data['camiones'],
                    sin_techo=clean_data['sin_techo'])
                estacionamiento.save()

                return HttpResponseRedirect('/users/admin/listar_estacionamientos/')
        else:
            errors = form.errors
    return render_to_response('usuarios/crear_editar_estacionamiento.html', {'form' : form, 'errors' : errors, 'crear' : True}, context_instance=RequestContext(request))
コード例 #4
0
def editar_estacionamiento(request, id=None):
    """
    Vista para editar estacionamiento
    Podran usar esta vista tanto estacionamientos como administrador
    """
    errors = {}
    es_estac = Estacionamiento.objects.all().filter(
        usuariobase_ptr_id=request.user.id).exists()
    try:
        if es_estac:
            estacionamiento = request.user.estacionamiento
        else:
            estacionamiento = Estacionamiento.objects.get(pk=id)
        if request.method != 'POST':
            initial = {
                'nombre': estacionamiento.nombre,
                'nombre_usuario': estacionamiento.nombre_usuario,
                'correo': estacionamiento.correo,
                'descripcion': estacionamiento.descripcion,
                'motos': estacionamiento.motos,
                'camiones': estacionamiento.camiones,
                'sin_techo': estacionamiento.sin_techo,
                'id': estacionamiento.id
            }
            if not es_estac:
                initial.update({
                    'latitud': estacionamiento.latitud,
                    'longitud': estacionamiento.longitud,
                })
            form = FormEstacionamiento(initial=initial,
                                       edit=True,
                                       parking=es_estac)
        else:
            form = FormEstacionamiento(data=request.POST,
                                       edit=True,
                                       parking=es_estac)
            if form.is_valid():
                clean_data = form.cleaned_data
                if Estacionamiento.objects.all().exclude(
                        pk=estacionamiento.id).filter(
                            correo=clean_data['correo']).exists():
                    errors = {
                        'correo': {
                            'as_text': '* Correo electrónico usado'
                        }
                    }
                else:
                    estacionamiento.descripcion = clean_data['descripcion']
                    estacionamiento.nombre = clean_data['nombre']
                    estacionamiento.motos = clean_data['motos']
                    estacionamiento.camiones = clean_data['camiones']
                    estacionamiento.sin_techo = clean_data['sin_techo']
                    if not es_estac:
                        estacionamiento.latitud = clean_data['latitud']
                        estacionamiento.longitud = clean_data['longitud']
                    estacionamiento.save()
            else:
                errors = form.errors
        return render_to_response('usuarios/crear_editar_estacionamiento.html',
                                  {
                                      'form': form,
                                      'errors': errors,
                                      'es_estacionamiento': es_estac,
                                      'estacionamiento': estacionamiento
                                  },
                                  context_instance=RequestContext(request))
    except Estacionamiento.DoesNotExist:
        raise Http404()