def post_save_spent(): uid = request.forms.get('uid') spent = None create = True if uid is not None: spent = dbapi.db_session.query(NSpent).filter_by(uid=uid).first() create = False if spent is None: redirect('/app/guardar_gastos/{}'.format(uid)) if spent is None: spent = NSpent() for x in ('seller', 'seller_ruc', 'invnumber', 'invdate', 'desc', 'total', 'tax', 'retension', 'paid_from_cashier', 'inputdate'): setattr(spent, x, request.forms.get(x)) spent.total = int(Decimal(spent.total) * 100) spent.tax = int(Decimal(spent.tax) * 100) spent.retension = int(Decimal(spent.retension) * 100) spent.paid_from_cashier = int(Decimal(spent.paid_from_cashier) * 100) spent.invdate = parse_iso(spent.invdate) spent.inputdate = parse_iso(spent.inputdate) if create: dbapi.db_session.add(spent) dbapi.db_session.commit() return save_spent('Gasto Guardado')
def crear_entrega_de_cuenta(): date = request.query.get('fecha') if date: date = parse_iso(date).date() else: date = datetime.date.today() report = generate_daily_report(dbapi, date) total_spent = sum((x.paid_from_cashier for x in report.spent)) checkimgs = {check.payment_id: os.path.split(check.imgcheck)[1] for check in report.checks if check.imgcheck} existing = dbapi.get(date, AccountStat) all_img = list(imgserver.getimg(objtype='entrega_cuenta', objid=date.isoformat())) temp = jinja_env.get_template('invoice/crear_entregar_cuenta_form.html') total_cash = sum(report.cash.values()) + report.other_cash return temp.render( cash=report.cash, others=report.other_by_client, total_cash=total_cash, deleted=report.deleted, date=date.isoformat(), pagos=report.payments, all_spent=report.spent, total_spent=total_spent, retension=report.retension, other_cash=report.other_cash, imgs=all_img, checkimgs=checkimgs, existing=existing)
def post_crear_entrega_de_cuenta(): cash = request.forms.get('cash', 0) gastos = request.forms.get('gastos', 0) deposito = request.forms.get('deposito', 0) turned_cash = request.forms.get('valor', 0) diff = request.forms.get('diff', 0) date = request.forms.get('date') cash = get_cents_with_default(cash) gastos = get_cents_with_default(gastos) deposito = get_cents_with_default(deposito) turned_cash = get_cents_with_default(turned_cash) diff = get_cents_with_default(diff) date = parse_iso(date).date() userid = get_user(request)['username'] if request.forms.get('submit') == 'Crear': stat = AccountStat( date=date, total_spend=gastos, turned_cash=turned_cash, deposit=deposito, created_by=userid ) dbapi.create(stat) dbapi.db_session.flush() else: dbapi.update(AccountStat(date=date), {'revised_by': userid, 'turned_cash': turned_cash, 'deposit': deposito, 'diff': diff}) redirect('/app/crear_entrega_de_cuenta?fecha={}'.format(date.isoformat()))
def crear_entrega_de_cuenta(): date = request.query.get('fecha') if date: date = parse_iso(date).date() else: date = datetime.date.today() report = generate_daily_report(dbapi, date) total_spent = sum((x.paid_from_cashier for x in report.spent)) checkimgs = { check.payment_id: os.path.split(check.imgcheck)[1] for check in report.checks if check.imgcheck } existing = dbapi.get(date, AccountStat) all_img = list( imgserver.getimg(objtype='entrega_cuenta', objid=date.isoformat())) temp = jinja_env.get_template( 'invoice/crear_entregar_cuenta_form.html') total_cash = sum(report.cash.values()) + report.other_cash return temp.render(cash=report.cash, others=report.other_by_client, total_cash=total_cash, deleted=report.deleted, date=date.isoformat(), pagos=report.payments, all_spent=report.spent, total_spent=total_spent, retension=report.retension, other_cash=report.other_cash, imgs=all_img, checkimgs=checkimgs, existing=existing)
def post_crear_entrega_de_cuenta(): cash = request.forms.get('cash', 0) gastos = request.forms.get('gastos', 0) deposito = request.forms.get('deposito', 0) turned_cash = request.forms.get('valor', 0) diff = request.forms.get('diff', 0) date = request.forms.get('date') cash = get_cents_with_default(cash) gastos = get_cents_with_default(gastos) deposito = get_cents_with_default(deposito) turned_cash = get_cents_with_default(turned_cash) diff = get_cents_with_default(diff) date = parse_iso(date).date() userid = get_user(request)['username'] if request.forms.get('submit') == 'Crear': stat = AccountStat(date=date, total_spend=gastos, turned_cash=turned_cash, deposit=deposito, created_by=userid) dbapi.create(stat) dbapi.db_session.flush() else: dbapi.update( AccountStat(date=date), { 'revised_by': userid, 'turned_cash': turned_cash, 'deposit': deposito, 'diff': diff }) now = datetime.datetime.now() todo1 = Todo(objtype=ObjType.ACCOUNT, objid=date, status='PENDING', msg='Papeleta de deposito de {}: ${}'.format( date, Decimal(deposito) / 100), creation_date=now, due_date=now) todo2 = Todo(objtype=ObjType.ACCOUNT, objid=date, status='PENDING', msg='Papeleta de deposito de {}: ${}'.format( date, Decimal(turned_cash) / 100), creation_date=now, due_date=now) dbapi.create(todo1) dbapi.create(todo2) redirect('/app/crear_entrega_de_cuenta?fecha={}'.format( date.isoformat()))
def postregar_cheque(): checkid = request.forms.checkid new_date = parse_iso(request.forms.new_date).date() session = dbapi.db_session check = session.query(NCheck).filter_by(uid=checkid).first() comment = NComment( timestamp=datetime.datetime.now(), user_id=get_user(request)['username'], comment='Cheque postponer desde {} hasta {}'.format( check.checkdate.isoformat(), new_date.isoformat()), objtype=ObjType.CHECK, objid=str(checkid), ) session.add(comment) check.checkdate = new_date session.flush() redirect('/app/ver_cheque/{}'.format(checkid))
def post_crear_entrega_de_cuenta(): cash = request.forms.get('cash', 0) gastos = request.forms.get('gastos', 0) deposito = request.forms.get('deposito', 0) turned_cash = request.forms.get('valor', 0) diff = request.forms.get('diff', 0) date = request.forms.get('date') cash = get_cents_with_default(cash) gastos = get_cents_with_default(gastos) deposito = get_cents_with_default(deposito) turned_cash = get_cents_with_default(turned_cash) diff = get_cents_with_default(diff) date = parse_iso(date).date() userid = get_user(request)['username'] if request.forms.get('submit') == 'Crear': stat = AccountStat( date=date, total_spend=gastos, turned_cash=turned_cash, deposit=deposito, created_by=userid ) dbapi.create(stat) dbapi.db_session.flush() else: dbapi.update(AccountStat(date=date), {'revised_by': userid, 'turned_cash': turned_cash, 'deposit': deposito, 'diff': diff}) now = datetime.datetime.now() todo1 = Todo(objtype=ObjType.ACCOUNT, objid=date, status='PENDING', msg='Papeleta de deposito de {}: ${}'.format(date, Decimal(deposito) / 100), creation_date=now, due_date=now) todo2 = Todo(objtype=ObjType.ACCOUNT, objid=date, status='PENDING', msg='Papeleta de deposito de {}: ${}'.format(date, Decimal(turned_cash) / 100), creation_date=now, due_date=now) dbapi.create(todo1) dbapi.create(todo2) redirect('/app/crear_entrega_de_cuenta?fecha={}'.format(date.isoformat()))
def transmetadata_from_form(form): meta = TransMetadata() meta.dest = form.get('dest') meta.origin = form.get('origin') fecha = form.get('fecha') if fecha: fecha = parse_iso(fecha) meta.timestamp = datetime.datetime.combine( fecha.date(), datetime.datetime.now().time()) try: meta.dest = int(meta.dest) meta.origin = int(meta.origin) except ValueError: pass meta.meta_type = form.get('meta_type') meta.trans_type = form.get('trans_type') if meta.trans_type == TransType.INGRESS: meta.origin = None # ingress does not have origin if meta.trans_type in (TransType.EXTERNAL or TransType.EGRESS): meta.dest = None # dest for external resides in other server if meta.timestamp is None: meta.timestamp = datetime.datetime.now() return meta
def get_all_gastos(): day = parse_iso(request.query.get('date')) result = dbapi.search(Spent, inputdate=day) return json_dumps(result)
def save_check(): check = parse_payment_from_request( request.forms, Check, '/app/guardar_cheque') check.checkdate = parse_iso(check.checkdate) paymentapi.save_check(check) redirect('/app/guardar_cheque?msg=Cheque+Guardado')
def save_check(): check = parse_payment_from_request(request.forms, Check, '/app/guardar_cheque') check.checkdate = parse_iso(check.checkdate) paymentapi.save_check(check) redirect('/app/guardar_cheque?msg=Cheque+Guardado')