Beispiel #1
0
def campanyas():
    email = dict(session).get('email', None)
    user = User.get_by_email(email)
    given_name = dict(session).get('given_name', None)
    campanyas = Campanya.getOrderedCampaigns()
    empresas = Campanya.getDistinctCompanies()
    try:
        for c in campanyas:
            c.nombre = translator.translate(c.nombre,
                                            dest=session['lang']).text
            c.descripcion = translator.translate(c.descripcion,
                                                 dest=session['lang']).text

    except:
        pass
    try:
        del session['accionId']
        del session['offerId']
    except:
        pass
    return render_template('empresas.html',
                           email=email,
                           name=given_name,
                           user=user,
                           campanyas=campanyas,
                           empresas=empresas)
Beispiel #2
0
def editorC():
    email = dict(session).get('email', None)
    user = User.get_by_email(email)
    given_name = dict(session).get('given_name', None)
    if user.role == "Promotor":
        campanyas = Campanya.getCampaigns(user.organizacion)
    if user.role == "Administrador":
        campanyas = Campanya.getAllCampaigns()
    salary = get_balance(user.blockHash)
    s = Session()
    if request.method == 'POST':
        if 'editar' in request.form:
            return redirect(
                url_for('editorCamp', campanya_id=request.form['id']))
        elif 'eliminar' in request.form:
            query = s.query(Campanya)
            pk = request.form['id']
            query = query.filter(Campanya.id == pk).first()
            s.delete(query)
            s.commit()
        elif 'verAcc' in request.form:
            return redirect(url_for('editor', campanya_id=request.form['id']))
    try:
        del session['accionId']
        del session['offerId']
    except:
        pass
    return render_template('admincampanyas.html',
                           title='Campañas',
                           wallet=salary,
                           email=email,
                           name=given_name,
                           w3=web3,
                           user=user,
                           campanyas=campanyas)
Beispiel #3
0
 def post(self, mod_id):
     iden = int(mod_id)
     mod = db.get(db.Key.from_path('Modulo', iden))
     nombre=self.request.get('nombreCampanya')
     fechaCampanya =self.request.get('fechaCampanya')
     campanya = Campanya(modulo = mod,
                         fecha = datetime.strptime(fechaCampanya, '%Y-%m-%d'), 
                         nombrecampanya = nombre)
     campanya.put()
     return webapp2.redirect('/listaCampanyas')
Beispiel #4
0
def empresa(emp):
    email = dict(session).get('email', None)
    user = User.get_by_email(email)
    given_name = dict(session).get('given_name', None)
    salary = get_balance(user.blockHash)
    campanyas = Campanya.getCampaigns(emp)
    acciones = Accion.getActions(emp)
    try:
        for c in campanyas:
            c.nombre = translator.translate(c.nombre,
                                            dest=session['lang']).text
            c.descripcion = translator.translate(c.descripcion,
                                                 dest=session['lang']).text
        for a in acciones:
            a.nombre = translator.translate(a.nombre,
                                            dest=session['lang']).text
            a.descripcion = translator.translate(a.descripcion,
                                                 dest=session['lang']).text
    except:
        pass
    return render_template('campanyas.html',
                           wallet=salary,
                           email=email,
                           name=given_name,
                           w3=web3,
                           user=user,
                           campanyas=campanyas,
                           empresa=emp,
                           acciones=acciones)
Beispiel #5
0
def editor(campanya_id):
    email = dict(session).get('email', None)
    user = User.get_by_email(email)
    given_name = dict(session).get('given_name', None)
    acciones = Accion.getActionsOfCampaign(campanya_id)
    campanya = Campanya.getCampaignById(campanya_id)
    salary = get_balance(user.blockHash)
    s = Session()
    if request.method == 'POST':
        if 'editarAcc' in request.form:
            return redirect(
                url_for('editorAccion', accion_id=request.form['accion_id']))
        elif 'eliminarAcc' in request.form:
            query = s.query(Accion)
            pk = request.form['accion_id']
            query = query.filter(Accion.id == pk).first()
            s.delete(query)
            s.commit()
            acciones = Accion.getActionsOfCampaign(campanya_id)

    return render_template('adminacciones.html',
                           title='Acción',
                           wallet=salary,
                           email=email,
                           name=given_name,
                           w3=web3,
                           user=user,
                           acciones=acciones,
                           campanya=campanya)
Beispiel #6
0
 def post(self,cam_id):
     iden = int(cam_id)
     cam = db.get(db.Key.from_path('Campanya', iden))
     cam.fecha = datetime.strptime(self.request.get('fecha'), '%Y-%m-%d')
     cam.nombrecampanya = self.request.get('nombre')
     
     cam.put()
     listaCampanyas = Campanya.all()
     self.render_template('listaCampanyas.html', {'listaCampanyas': listaCampanyas})
Beispiel #7
0
def historialtrans():
    email = dict(session).get('email', None)
    user = User.get_by_email(email)
    salary = get_balance(user.blockHash)
    name = dict(session).get('name', None)

    if user.role == "Colaborador":
        transacciones = Transaccion.getTransactions(user.email)
    elif user.role == "Promotor":
        transacciones = Transaccion.getTransactions(user.organizacion)
    else:
        transacciones = Transaccion.getAllTransactions()
    for t in transacciones:
        campId = t.campanya
        try:
            t.campanya = Campanya.getCampaignById(campId).nombre
            try:
                t.campanya = translator.translate(t.campanya,
                                                  dest=session['lang']).text
            except:
                pass
        except:
            if "@" not in str(t.destinatario):
                t.campanya = gettext("Pago por oferta")
            else:
                t.campanya = gettext("Envío de UDCoins")

    try:
        del session['accionId']
        del session['offerId']
    except:
        pass
    return render_template('historialtrans.html',
                           title='Acción',
                           wallet=salary,
                           email=email,
                           name=name,
                           w3=web3,
                           user=user,
                           transacciones=transacciones)
Beispiel #8
0
    def addData(self):
        #ESTO ES PARA INICIALIZAR LA BASE DE DATOS
        q = db.GqlQuery("SELECT * FROM Modulo")
        resetearModulos = q.fetch(10)
        db.delete(resetearModulos)
        modulo1 = Modulo(nombremodulo='Modulo1',
                         valoralpha=1.2,
                         valorbeta=3.4,
                         valorgamma=9.3,
                         valorkappa=39.2,
                         idealidad=100.0,
                         resistencia=39.4,
                         rendimiento=20.0,
                         localizacion=db.GeoPt(
                             52.37,
                             4.88))  #hay un rango de valores algo estrecho
        modulo2 = Modulo(nombremodulo='Modulo2',
                         valoralpha=1.4,
                         valorbeta=3.6,
                         valorgamma=32.1,
                         valorkappa=31.1,
                         idealidad=10.0,
                         resistencia=30.4,
                         rendimiento=65.0,
                         localizacion=db.GeoPt(12.37, 87.88))
        modulo1.put()
        modulo2.put()

        q1 = db.GqlQuery("SELECT * FROM Campanya")
        resetearCampanyas = q1.fetch(10)
        db.delete(resetearCampanyas)

        campanya1 = Campanya(modulo=modulo1,
                             fecha=datetime(2018, 12, 30),
                             nombrecampanya='Dic18')
        campanya2 = Campanya(modulo=modulo1,
                             fecha=datetime(2018, 11, 30),
                             nombrecampanya='Nov18')
        campanya3 = Campanya(modulo=modulo1,
                             fecha=datetime(2018, 11, 30),
                             nombrecampanya='Nov18')
        campanya4 = Campanya(modulo=modulo1,
                             fecha=datetime(2018, 7, 30),
                             nombrecampanya='Jul18')
        campanya5 = Campanya(modulo=modulo2,
                             fecha=datetime(2018, 9, 30),
                             nombrecampanya='Sep18')
        campanya6 = Campanya(modulo=modulo2,
                             fecha=datetime(2018, 8, 30),
                             nombrecampanya='Ago18')
        campanya7 = Campanya(modulo=modulo2,
                             fecha=datetime(2018, 1, 30),
                             nombrecampanya='Ene18')
        campanya8 = Campanya(modulo=modulo2,
                             fecha=datetime(2017, 12, 30),
                             nombrecampanya='Dic17')

        campanya1.put()
        campanya2.put()
        campanya3.put()
        campanya4.put()
        campanya5.put()
        campanya6.put()
        campanya7.put()
        campanya8.put()

        q1 = db.GqlQuery("SELECT * FROM Usuario")
        resetearUsuarios = q1.fetch(10)
        db.delete(resetearUsuarios)

        usuario1 = Usuario(nombreusuario='juanito1',
                           email='*****@*****.**')

        usuario2 = Usuario(nombreusuario='juanito2',
                           email='*****@*****.**')

        usuario3 = Usuario(nombreusuario='pruebaparaingweb',
                           email='*****@*****.**')

        usuario4 = Usuario(nombreusuario='test', email='*****@*****.**')

        usuario1.put()
        usuario2.put()
        usuario3.put()
        usuario4.put()

        q2 = db.GqlQuery("SELECT * FROM Comentario")
        resetearComentarios = q2.fetch(10)
        db.delete(resetearComentarios)

        comentario1 = Comentario(usuario=usuario1, comentario='esto esta bien')

        comentario1.put()

        comentario2 = Comentario(usuario=usuario4, comentario='test comment')
        comentario2.put()

        comentario3 = Comentario(usuario=usuario4, comentario='test comment 2')
        comentario3.put()

        comentario4 = Comentario(usuario=usuario4, comentario='test comment 3')
        comentario4.put()
Beispiel #9
0
def accion():
    form = CrearCampForm()
    form2 = CrearOfertaForm()
    email = dict(session).get('email', None)
    user = User.get_by_email(email)
    given_name = dict(session).get('given_name', None)

    if user.role == "Promotor":
        campanyas = Campanya.getCampaigns(user.organizacion)
        acciones = Accion.getActions(user.organizacion)
        ofertas = Oferta.getOffers(user.organizacion)
    elif user.role == "Administrador":
        campanyas = Campanya.getAllCampaigns()
        acciones = Accion.getAllActions()
        ofertas = Oferta.getAllOffers()
    else:
        return redirect("/login")
    try:
        for c in campanyas:
            c.nombre = translator.translate(c.nombre,
                                            dest=session['lang']).text
            c.descripcion = translator.translate(c.descripcion,
                                                 dest=session['lang']).text
        for a in acciones:
            a.nombre = translator.translate(a.nombre,
                                            dest=session['lang']).text
            a.descripcion = translator.translate(a.descripcion,
                                                 dest=session['lang']).text
            a.indicadorKpi = translator.translate(a.indicadorKpi,
                                                  dest=session['lang']).text
        for o in ofertas:
            o.nombre = translator.translate(o.nombre,
                                            dest=session['lang']).text
            o.descripcion = translator.translate(o.descripcion,
                                                 dest=session['lang']).text
    except:
        pass
    salary = get_balance(os.environ.get('TEST_ADDRESS'))
    if form.validate_on_submit() and form.crearCamp.data:
        s = Session()
        if user.role == "Promotor":
            c = Campanya(request.form['nomCamp'], user.organizacion,
                         request.form['desc'])
        elif user.role == "Administrador":
            c = Campanya(request.form['nomCamp'], request.form['empresa'],
                         request.form['desc'])
        s.add(c)
        s.commit()
    elif form2.validate_on_submit() and form2.crearOf.data:
        nombre = request.form['nomOferta']
        s = Session()
        if user.role == "Promotor":
            o = Oferta(request.form['nomOferta'], user.organizacion,
                       request.form['desc'], request.form['precio'])
        elif user.role == "Administrador":
            o = Oferta(request.form['nomOferta'], request.form['empresa'],
                       request.form['desc'], request.form['precio'])
        s.add(o)
        s.commit()

    if request.method == 'POST' and 'crearAccion' in request.form:
        nombre = request.form['nombre']
        desc = request.form['desc']
        recompensa = request.form['recompensa']
        indKpi = request.form['kpi']
        kpiObj = request.form['obj']
        camp = request.form['campanya']
        s = Session()
        a = Accion(nombre, user.organizacion, desc, recompensa, indKpi, kpiObj,
                   camp)
        s.add(a)
        s.commit()

    try:
        del session['accionId']
        del session['offerId']
    except:
        pass
    # Borro las keys para evitar conflictos con cookies
    return render_template('accion.html',
                           title='Acción',
                           wallet=salary,
                           email=email,
                           name=given_name,
                           w3=web3,
                           form=form,
                           form2=form2,
                           user=user,
                           acciones=acciones,
                           campanyas=campanyas,
                           ofertas=ofertas)
Beispiel #10
0
 def get(self):
     admin = users.IsCurrentUserAdmin()
     listaCampanyas = Campanya.all()
     self.render_template('listaCampanyas.html', {'listaCampanyas': listaCampanyas,'admin':admin})