def crear_proyecto(request): if request.method == 'POST': proyecto = Proyecto() username = get_cookie(request, 'userId') user = Session.verify_current_session(username) admin = consultar_administrador(username) if user['isverify']: proyecto = Proyecto(nombre=request.POST['nombre'], descripcion=request.POST['descripcion'], valor_estimado=request.POST['valor_estimado'], usuario=admin._id, username=admin.username) proyectoDB = { 'nombre': proyecto.nombre, 'descripcion': proyecto.descripcion, 'valorEstimado': proyecto.valor_estimado, 'fechaCreacion': proyecto.fecha_creacion, 'usuario': admin._id, 'username': admin.username, 'disenios': [] } id_proyecto = Connection().db.proyectos.insert(proyectoDB) proyectos = Connection().db.users.find_one({"username": username})['proyectos'] proyectos.append({"_id": id_proyecto}) Connection().db.users.update({"username": username}, {"$set": {'proyectos': proyectos}}) return HttpResponse(serializers.serialize("json", [proyecto])) else: return HttpResponse(serializers.serialize("json", [proyecto]))
def registrar_administrador(request): if request.method == 'POST': json_user = json.loads(request.body) username = json_user['username'] password = json_user['password'] email = json_user['email'] nombre_empresa = json_user['enterprise_name'] user = { 'email': email, 'username': username, 'nombreEmpresa': nombre_empresa, 'password': password, 'proyectos': [] } id_admin = Connection().db.users.insert(user) url_empresa = nombre_empresa.replace(" ", "") + "/" + scdtr(id_admin) + "/" Connection().db.users.update({"_id": id_admin}, {"$set": { 'urlEmpresa': url_empresa }}) return HttpResponse( json.dumps({ 'email': email, 'username': username, 'nombreEmpresa': nombre_empresa }))
def restaurar_disenios(): print 'Entra a restaurar' lista_disenios = Connection().db.disenios.find({'estado': 'Procesando'}) for disenio in lista_disenios: print 'Restaurando disenio... ' + str(disenio['disenioOriginal']) currTime = datetime.datetime.now() diff = (currTime - disenio['fechaInicioProceso']).seconds if diff > 60: Connection().db.disenios.update( {"_id": ObjectId(disenio['_id'])}, { "$set": { 'fechaInicioProceso': None, 'fechaModificacion': timezone.now(), 'estado': 'En proceso' } })
def crear_disenio(request, pk): if request.method == 'POST': disenio = Disenio() print 'Disenio URL ' print request.FILES['disenio'] disenio = Disenio(nombres=request.POST['nombres'], apellidos=request.POST['apellidos'], email=request.POST['email'], disenio_original=request.FILES['disenio'], precio_solicitado=request.POST['precioSolicitado'], proyecto=pk) currTime = str(timezone.now().strftime('%Y%m%d%H%M%S')) disenioDB = { 'nombres': disenio.nombres, 'apellidos': disenio.apellidos, 'email': disenio.email, 'disenioOriginal': 'diseniosOriginales/' + currTime + '_' + str(request.FILES['disenio']), 'precioSolicitado': disenio.precio_solicitado, 'estado': disenio.estado, 'fechaCreacion': disenio.fecha_creacion, 'proyecto': disenio.proyecto } id_disenio = Connection().db.disenios.insert(disenioDB) disenios = Connection().db.proyectos.find_one({"_id": ObjectId(pk)})['disenios'] disenios.append({"_id": id_disenio}) Connection().db.proyectos.update({"_id": ObjectId(pk)}, {"$set": {'disenios': disenios}}) # img = Image.open(request.FILES['disenio']) print 'diseniosOriginales/' + currTime + '_' + str(request.FILES['disenio']) # img.save('diseniosOriginales/' + str(request.FILES['disenio'])) data = request.FILES['disenio'] ruta = 'diseniosOriginales/' + currTime + '_' + str(data) path = default_storage.save(ruta, File(data)) procesar_disenio.delay(str(id_disenio)) mensaje = 'ok' else: mensaje = 'error' # return HttpResponse(serializers.serialize("json", [disenio])) return JsonResponse({'mensaje': mensaje})
def ver_disenios_empresa(request, nombre, codigo): if request.is_ajax(): proyectos_ids = Connection().db.users.find_one( {"_id": ObjectId(codigo)})['proyectos'] proyectos = consultar_proyectos_por_ids(proyectos_ids) return HttpResponse(serializers.serialize("json", proyectos)) return render(request, "designMatchApp/index_diseniadores.html")
def consultar_disenios(request, pk, ini, fin): print 'ini ' + str(ini) print 'fin ' + str(fin) disenios_ids = Connection().db.proyectos.find_one({"_id": ObjectId(pk) })['disenios'] disenios = consultar_disenios_por_ids(disenios_ids)[int(ini):int(fin)] for disenio in disenios: pprint('Disenio... ' + str(disenio.disenio_original)) context = {'disenios': disenios} return HttpResponse(serializers.serialize("json", disenios))
def borrar_proyecto(request, pk): if request.method == 'POST': proyecto = consultar_proyecto(pk) result = Connection().db.proyectos.remove( {"_id": ObjectId(proyecto._id)}) Connection().db.users.update( {"_id": ObjectId(proyecto.usuario)}, {"$pull": { 'proyectos': { "_id": ObjectId(proyecto._id) } }}) mensaje = 'ok' else: mensaje = 'no' return JsonResponse({'mensaje': mensaje})
def validate_login(username, password): connection = Connection() user_count = connection.db.users.find({ "username": username, "password": password }).count() if user_count > 0: return True else: return False
def consultar_administrador(username): user = Session.verify_current_session(username) administrador = Administrador() if user['isverify']: loggedUser = Connection().db.users.find_one({'username': username}) administrador._id = loggedUser['_id'] administrador.username = loggedUser['username'] administrador.nombre_empresa = loggedUser['nombreEmpresa'] administrador.url_empresa = loggedUser['urlEmpresa'] administrador.email = loggedUser['email'] return administrador
def consultar_proyecto(id): proyectoDB = Connection().db.proyectos.find_one({'_id': ObjectId(id)}) proyecto = Proyecto() if proyectoDB: proyecto._id = id proyecto.nombre = proyectoDB['nombre'] proyecto.descripcion = proyectoDB['descripcion'] proyecto.valor_estimado = proyectoDB['valorEstimado'] proyecto.fecha_creacion = proyectoDB['fechaCreacion'] proyecto.usuario = proyectoDB['usuario'] proyecto.username = proyectoDB['username'] # proyecto.disenios = [] return proyecto
def consultar_disenio(id): disenioDB = Connection().db.disenios.find_one({'_id': ObjectId(id)}) disenio = Disenio() if disenioDB: disenio._id = id disenio.nombres = disenioDB['nombres'] disenio.apellidos = disenioDB['apellidos'] disenio.email = disenioDB['email'] disenio.disenio_original = disenioDB['disenioOriginal'] disenio.precio_solicitado = disenioDB['precioSolicitado'] disenio.estado = disenioDB['estado'] disenio.fecha_creacion = disenioDB['fechaCreacion'] if disenio.estado == 'Disponible': disenio.disenio_procesado = disenioDB['disenioProcesado'] return disenio
def consultar_usuario_logueado(request): administrador = Administrador() username = get_cookie(request, 'userId') user = Session.verify_current_session(username) if user['isverify']: loggedUser = Connection().db.users.find_one({'username': username}) administrador._id = loggedUser['_id'] administrador.username = loggedUser['username'] administrador.nombre_empresa = loggedUser['nombreEmpresa'] administrador.url_empresa = loggedUser['urlEmpresa'] administrador.email = loggedUser['email'] # administrador.username = loggedUser.username # if request.user is not None: # print request.user # usuario = User.objects.get_by_natural_key(request.user) # if usuario.is_authenticated(): # administrador = Administrador.objects.get(user=usuario) return HttpResponse(serializers.serialize("json", [administrador]))
def editar_proyecto(request, pk): proyecto = Proyecto() if request.method == 'POST': json_proyecto = json.loads(request.body) nombre = json_proyecto['nombre'] descripcion = json_proyecto['descripcion'] valor_estimado = json_proyecto['valor_estimado'] proyecto._id = pk proyecto.nombre = nombre proyecto.descripcion = descripcion proyecto.valor_estimado = valor_estimado proyecto.fecha_modificacion = timezone.now() Connection().db.proyectos.update({"_id": ObjectId(proyecto._id)}, { "$set": { 'nombre': proyecto.nombre, 'descripcion': proyecto.descripcion, 'valorEstimado': proyecto.valor_estimado, 'fechaModificacion': proyecto.fecha_modificacion } }) return HttpResponse(serializers.serialize("json", [proyecto]))
def crear_proyecto(request): if request.method == 'POST': proyecto = Proyecto() username = get_cookie(request, 'userId') user = Session.verify_current_session(username) admin = consultar_administrador(username) if user['isverify']: proyecto = Proyecto(nombre=request.POST['nombre'], descripcion=request.POST['descripcion'], valor_estimado=request.POST['valor_estimado'], usuario=admin._id, username=admin.username) proyectoDB = { 'nombre': proyecto.nombre, 'descripcion': proyecto.descripcion, 'valorEstimado': proyecto.valor_estimado, 'fechaCreacion': proyecto.fecha_creacion, 'usuario': admin._id, 'username': admin.username, 'disenios': [] } id_proyecto = Connection().db.proyectos.insert(proyectoDB) proyectos = Connection().db.users.find_one({"username": username})['proyectos'] proyectos.append({"_id": id_proyecto}) Connection().db.users.update({"username": username}, {"$set": { 'proyectos': proyectos }}) return HttpResponse(serializers.serialize("json", [proyecto])) else: return HttpResponse(serializers.serialize("json", [proyecto]))
def consultar_proyectos(username): proyectos_ids = Connection().db.users.find_one({"username": username})['proyectos'] proyectos = consultar_proyectos_por_ids(proyectos_ids) return proyectos
def consultar_numero_disenios(request, pk): disenios = Connection().db.proyectos.find_one({"_id": ObjectId(pk)})['disenios'] numDisenios = len(disenios) return JsonResponse({'numDisenios': numDisenios})
def crear_disenio(request, pk): if request.method == 'POST': disenio = Disenio() print 'Disenio URL ' print request.FILES['disenio'] disenio = Disenio(nombres=request.POST['nombres'], apellidos=request.POST['apellidos'], email=request.POST['email'], disenio_original=request.FILES['disenio'], precio_solicitado=request.POST['precioSolicitado'], proyecto=pk) currTime = str(timezone.now().strftime('%Y%m%d%H%M%S')) disenioDB = { 'nombres': disenio.nombres, 'apellidos': disenio.apellidos, 'email': disenio.email, 'disenioOriginal': 'diseniosOriginales/' + currTime + '_' + str(request.FILES['disenio']), 'precioSolicitado': disenio.precio_solicitado, 'estado': disenio.estado, 'fechaCreacion': disenio.fecha_creacion, 'proyecto': disenio.proyecto } id_disenio = Connection().db.disenios.insert(disenioDB) disenios = Connection().db.proyectos.find_one({"_id": ObjectId(pk) })['disenios'] disenios.append({"_id": id_disenio}) Connection().db.proyectos.update({"_id": ObjectId(pk)}, {"$set": { 'disenios': disenios }}) # img = Image.open(request.FILES['disenio']) print 'diseniosOriginales/' + currTime + '_' + str( request.FILES['disenio']) # img.save('diseniosOriginales/' + str(request.FILES['disenio'])) data = request.FILES['disenio'] ruta = 'diseniosOriginales/' + currTime + '_' + str(data) path = default_storage.save(ruta, File(data)) procesar_disenio.delay(str(id_disenio)) mensaje = 'ok' else: mensaje = 'error' # return HttpResponse(serializers.serialize("json", [disenio])) return JsonResponse({'mensaje': mensaje})