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()
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))
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))
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()