Exemple #1
0
 def addNewUser(cls,email,password,name):
     session = Session()
     new_user = User(Password=password)
     new_user.syncVersion = 0
     new_user.UserType = 3
     new_user.Closed = 0
     new_user.NtfActivityConfirm = 1
     new_user.NtfActivityCancel = 1
     new_user.NtfActivityChange = 1
     new_user.NtfActivityNew = 1
     new_user.Name = name
     new_user.Email = email
     new_user.CreatedDate = today()
     session.add(new_user)
     try:
         session.commit()
         from tools.MailTools import sendNewUserMail
         sendNewUserMail(email,name,password)
     except Exception as e:
         session.rollback()
         session.close()
         return Error(str(e))
     user = session.query(User).filter_by(Email=email).first()
     session.close()
     if user:
         return User(user.id,user.Password,user.Active,user.UserType,user.CompanyId)
Exemple #2
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})
Exemple #3
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})
Exemple #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})
Exemple #5
0
 def addNewUser(cls,username,password):
     from sqlalchemy.orm import sessionmaker
     session = Session()
     new_user = User(username,password,0,None)
     new_user.syncVersion = 0
     new_user.UserType = 3
     session.add(new_user)
     try:
         session.commit()
     except:
         session.rollback()
     user = session.query(User).filter_by(id=username).first()
     session.close()
     if user:
         return User(user.id,user.Password,user.Active,user.UserType)
Exemple #6
0
def delete_record():
    table = request.args.get('TableName')
    TableClass = getTableClass(table)
    _id = request.args.get('id')
    if _id==current_user.id:
        return jsonify(result={'res': False, 'Error': 'No se puede borrar usuario actual'})
    if _id:
        session = Session()
        record = session.query(TableClass).filter_by(id=_id).first()
        if not record:
            return jsonify(result={'res': False, 'Error': 'Registro no encontrado'})
        res = session.delete(record)
        try:
            session.commit()
            session.close()
            return jsonify(result={'res': True})
        except Exception as e:
            session.rollback()
            session.close()
            return jsonify(result={'res': False, 'Error': str(e)})
Exemple #7
0
def change_password():
    pwd = request.args['pwd']
    if current_user.Password!=pwd:
        return jsonify(result={'res': False,'Error':'Es password actual ingresado es incorrecto'})
    newpwd = request.args['newpwd']
    session = Session()
    record = session.query(User).filter_by(id=current_user.id).first()
    if not record:
        session.close()
        return jsonify(result={'res': False,'Error':'Usuario no encotrado'})
    else:
        record.Password = newpwd
        try:
            session.commit()
            session.close()
            return jsonify(result={'res': True})
        except Exception as e:
            session.rollback()
            session.close()
            return jsonify(result={'res': False,'Error':str(e)})
        return jsonify(result={'res':True,'id':res.id,'syncVersion':res.syncVersion})
Exemple #8
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)})