示例#1
0
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]))
示例#2
0
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
            }))
示例#3
0
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'
                    }
                })
示例#4
0
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})
示例#5
0
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")
示例#6
0
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))
示例#7
0
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})
示例#8
0
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
示例#9
0
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
示例#10
0
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
示例#11
0
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
示例#12
0
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]))
示例#13
0
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]))
示例#14
0
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]))
示例#15
0
def consultar_proyectos(username):
    proyectos_ids = Connection().db.users.find_one({"username":
                                                    username})['proyectos']
    proyectos = consultar_proyectos_por_ids(proyectos_ids)
    return proyectos
示例#16
0
def consultar_numero_disenios(request, pk):
    disenios = Connection().db.proyectos.find_one({"_id":
                                                   ObjectId(pk)})['disenios']
    numDisenios = len(disenios)

    return JsonResponse({'numDisenios': numDisenios})
示例#17
0
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})