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})
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)})
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})
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})
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)
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'})
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})
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)
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)})
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)})
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'})