Exemplo n.º 1
0
def cancel_activity():
    session = Session()
    session.expire_on_commit = False
    _id = request.args.get('id')
    record = session.query(Activity).filter_by(id=_id).first()
    if not record:
        return jsonify(result={'res': False,'Error':'Registro no Encontrado'})
    record.setOldFields()
    record.Status = record.CANCELLED
    res = record.check()
    if not res:
        return jsonify(result={'res': False,'Error':str(res)})
    record.syncVersion += 1
    res = record.afterUpdate()
    if not res:
        return jsonify(result={'res': False,'Error':str(res)})
    try:
        session.commit()
        session.close()
    except Exception as e:
        session.rollback()
        session.close()
        return jsonify(result={'res': False,'Error':str(e)})
    record.callAfterCommitUpdate()
    return jsonify(result={'res':True,'id': record.id,'syncVersion': record.syncVersion})
Exemplo n.º 2
0
def set_payment():
    from db.Payment import Payment
    activityId = request.args.get('activityId')
    session = Session()
    record = session.query(Activity).filter_by(id=activityId).first()
    companyId = record.CompanyId
    session.close()
    session = Session()
    session.expire_on_commit = False
    record = Payment()
    record.UserId = current_user.id
    record.CompanyId = companyId
    record.ActivityId = activityId
    record.ResponseCode = request.args.get('x_cod_response')
    record.Response = request.args.get('x_response')
    record.Amount = request.args.get('x_amount')
    record.TransDate = now()
    record.Reference = request.args.get('x_id_invoice')
    record.Reason = request.args.get('x_response_reason_text')
    record.TransactionId = request.args.get('x_transaction_id')
    record.BankName = request.args.get('x_bank_name')
    record.AutorizationCode = request.args.get('x_approval_code')
    record.Currency = request.args.get('x_currency_code')
    record.beforeInsert()
    session.add(record)
    res = record.save(session)
    if res:
        return jsonify(result={'res':True,'id':record.id})
    else:
        return jsonify(result={'res':False,'Error':str(res)})
Exemplo n.º 3
0
def updateRecord(TableClass,fields):
    getDetailDict(fields)
    session = Session()
    session.expire_on_commit = False
    record = session.query(TableClass).filter_by(id=fields['id']).first()
    if not record:
        return jsonify(result={'res': False, 'Error': 'Registro no Encontrado'})
    if not record.checkSyncVersion(fields.get('syncVersion', None)):
        return jsonify(result={'res': False, 'Error': 'Otro Usuario ha modoficado el Registro'})
    record.fromJSON(fields)
    res = record.check()
    if not res:
        return jsonify(result={'res': False, 'Error': str(res)})
    record.syncVersion += 1
    res = record.afterUpdate()
    if not res:
        return jsonify(result={'res': False, 'Error': str(res)})
    try:
        session.commit()
    except Exception as e:
        session.rollback()
        session.close()
        return jsonify(result={'res': False, 'Error': str(e)})
    record.callAfterCommitUpdate()
    session.close()
    RunJS = record.afterSaveJS()
    return jsonify(result={'res': True, 'record': record.toJSON(), 'RunJS': RunJS})
Exemplo n.º 4
0
def saveNewRecord(TableClass,fields):
    del fields['id']
    new_record = TableClass()
    getDetailDict(fields)
    session = Session()
    session.expire_on_commit = False
    new_record.fromJSON(fields)
    if not new_record.beforeInsert():
        return jsonify(result={'res': False, 'Error': 'Error en Campos'})
    res = new_record.check()
    if not res:
        return jsonify(result={'res': False, 'Error': str(res)})
    session.add(new_record)
    res = new_record.afterInsert()
    if not res:
        return jsonify(result={'res': False, 'Error': str(res)})
    try:
        session.commit()
    except Exception as e:
        session.rollback()
        session.close()
        return jsonify(result={'res': False, 'Error': str(e)})
    new_record.callAfterCommitInsert()
    RunJS = new_record.afterSaveJS()
    session.close()
    return jsonify(result={'res': True, 'record': new_record.toJSON(), 'RunJS': RunJS})
Exemplo n.º 5
0
def get_favorite():
    from db.UserFavorite import UserFavorite
    favId = request.args.get('favId')
    session = Session()
    session.expire_on_commit = False
    record = session.query(UserFavorite).filter_by(UserId=current_user.id,FavoriteId=favId).first()
    if not record or not record.Checked:
        return jsonify(result=False)
    else:
        return jsonify(result=True)
Exemplo n.º 6
0
def set_notification_read():
    nftId = request.args.get('id')
    session = Session()
    session.expire_on_commit = False
    record = session.query(Notification).filter_by(id=nftId).first()
    if record:
        record.Status = 1
        res = record.save(session)
        if res:
            return jsonify(result={'res':True})
        else:
            return jsonify(result={'res':False,'Error':str(res)})
    return jsonify(result={'res':False,'Error':'Registro Inexistente'})
Exemplo n.º 7
0
def get_notifications():
    session = Session()
    session.expire_on_commit = False
    record = session.query(Notification).filter_by(UserId=current_user.id,Status=0).order_by(Notification.TransDate.desc())
    cnt = record.count()
    l = []
    k = 0
    for r in record:
        k += 1
        l.append({'Comment':r.Comment,'TransDate': "%s %s" % (WeekName[int(r.TransDate.strftime("%w"))] \
            ,r.TransDate.strftime("%d/%m/%Y")),'id':r.id})
        if k>=4:
            break
    return jsonify(result={'cnt':cnt,'values':l})
Exemplo n.º 8
0
def save_record():
    if request.method == 'POST':
        data = json.loads(request.form.get('data'))
        fields = data.get('fields')
        table = data.get('TableName')
        TableClass = getTableClass(table)
        res = {}
        for key in fields:
            if fields[key]=='null': fields[key] = None
        id = fields.get('id',None)
        session = Session()
        session.expire_on_commit = False
        if not id:
            return saveNewRecord(TableClass,fields)
        else:
            return updateRecord(TableClass,fields)
Exemplo n.º 9
0
def set_favorite():
    from db.UserFavorite import UserFavorite
    favId = request.args.get('favId')
    session = Session()
    session.expire_on_commit = False
    record = session.query(UserFavorite).filter_by(UserId=current_user.id,FavoriteId=favId).first()
    if not record:
        record = UserFavorite()
        record.UserId = current_user.id
        record.FavoriteId = favId
        record.CompanyId = current_user.CompanyId
        record.beforeInsert()
        record.Checked = True
        session.add(record)
    else:
        record.Checked = not record.Checked
    status = record.Checked
    res = record.save(session)
    if res:
        return jsonify(result={'res':True,'id':record.id,'Status': status})
    else:
        return jsonify(result={'res':False,'Error':str(res)})
Exemplo n.º 10
0
def recover_password():
    session = Session()
    session.expire_on_commit = False
    email = request.args['email']
    record = session.query(User).filter_by(Email=email).first()
    if not record:
        return jsonify(result={'res': False,'Error':'No hay usuario registrado para este Email'})
    else:
        record.Password = passwordRamdom()
        try:
            session.commit()
            from tools.MailTools import sendPasswordRecoverMail
            res = sendPasswordRecoverMail(email,record.Password,record.Name)
            if res:
                session.close()
                return jsonify(result={'res': True})
            else:
                session.close()
                return jsonify(result={'res': False,'Error': 'No se pudo enviar el correo'})
        except Exception as e:
            session.rollback()
            session.close()
            return jsonify(result={'res': False,'Error':str(e)})
Exemplo n.º 11
0
def set_cust_to_event():
    eventId = request.args.get('id')
    session = Session()
    session.expire_on_commit = False
    record = session.query(Activity).filter_by(id=eventId).first()
    if record:
        found = False
        st = 1
        for row in record.Users:
            if row.CustId==current_user.id:
                found = True
                record.Users.remove(row)
                st = 0
                break
        if not found:
            row = ActivityUsers()
            row.CustId = current_user.id
            record.Users.append(row)
        res = record.save(session)
        if res:
            return jsonify(result={'res':True,'label':Activity.StatusList[st],'st': st})
        else:
            return jsonify(result={'res':False,'Error':str(res)})
    return jsonify(result={'res':False,'Error':'Registro Inexistente'})