def crear_cliente(): cliente = Client.deserialize(request.forms) cliente.cliente_desde = datetime.date.today() try: dbapi.create(cliente) dbapi.db_session.commit() except ItemAlreadyExists: return crear_cliente_form('Cliente con codigo {} ya existe'.format(cliente.codigo)) return crear_cliente_form('Cliente {} {} creado'.format(cliente.apellidos, cliente.nombres))
def deserialize(cls, the_dict): x = cls().merge_from(the_dict) if x.timestamp and not isinstance(x.timestamp, datetime.datetime): x.timestamp = parse_iso_date(x.timestamp) if 'client' in the_dict: client = Client.deserialize(the_dict['client']) x.client = client else: x.client = None return x
def deserialize(cls, the_dict): x = cls().merge_from(the_dict) if x.timestamp and not isinstance(x.timestamp, datetime.datetime): x.timestamp = parse_iso_datetime(x.timestamp) if 'client' in the_dict: client = Client.deserialize(the_dict['client']) x.client = client else: x.client = None return x
def crear_cliente(): cliente = Client.deserialize(request.forms) cliente.cliente_desde = datetime.date.today() try: dbapi.create(cliente) dbapi.db_session.commit() except ItemAlreadyExists: return crear_cliente_form('Cliente con codigo {} ya existe'.format( cliente.codigo)) return crear_cliente_form('Cliente {} {} creado'.format( cliente.apellidos, cliente.nombres))
def test_inv(self): with self.sessionmanager: init_prod_cant = self.prod_api.get_producto('1', bodega_id=1).cantidad client = Client() client.codigo = '123' t = InvMetadata( client=client, codigo='123', user='******', total=123, subtotal=123, tax=123, discount=0, bodega_id=1, almacen_id=1 ) inv = Invoice() inv.meta = t inv.items = [ Item(self.prod_api.get_producto('1'), 5) ] invoice = self.inv_api.save(inv) self.assertEquals(self.inv_api.get_doc(invoice.meta.uid).meta.codigo, '123') x = self.inv_api.commit(invoice) self.assertEquals(Status.COMITTED, x.meta.status) new_inv = self.prod_api.get_producto('1', bodega_id=1).cantidad self.assertEquals(-5, new_inv - init_prod_cant) x = self.inv_api.delete(invoice) self.assertEquals(Status.DELETED, x.meta.status) new_inv = self.prod_api.get_producto('1', bodega_id=1).cantidad self.assertEquals(0, new_inv - init_prod_cant) today = datetime.datetime.now() yesterday = today - datetime.timedelta(days=1) searched = list(self.inv_api.search_metadata_by_date_range(start=yesterday, end=today)) print searched self.assertEquals(1, len(searched))
def test_create(self): c = Client(codigo='345', nombres='nombre1 nombre2', apellidos='apellido1 apellido2', direccion='direccion', telefono='12345567', ciudad='ciudad', tipo=1, cliente_desde=datetime.date.today()) with self.sessionmanager: self.dbapi.create(c) with self.sessionmanager: x = list(self.dbapi.search(Client, **{'apellidos-prefix': 'a'})) for i in x: print i.serialize() self.assertEquals(2, len(x))
def make_one_inv(day, codigo, items): invmeta = InvMetadata() invmeta.codigo = codigo invmeta.timestamp = day invmeta.status = Status.NEW invmeta.bodega_id = 1 invmeta.almacen_ruc = '0992584092001' invmeta.almacen_id = 3 invmeta.payment_format = 'EFECTIVO' invmeta.subtotal = sum((int(i.cant * i.prod.precio1) for i in items)) invmeta.tax = int(invmeta.subtotal * 0.12) invmeta.tax_percent = int(invmeta.subtotal * 0.12) invmeta.total = invmeta.subtotal + invmeta.tax invmeta.discount = 0 invmeta.client = Client() invmeta.client.name = 'QUINAL SA' invmeta.client.codigo = '0992337168001' inv = Invoice(invmeta, items) return inv
def modificar_cliente(): clientid = request.forms.codigo client = Client(codigo=clientid) dbapi.update(client, request.forms) redirect('/app/cliente/{}'.format(clientid))
def from_db_instance(cls, db_instance): this = super(InvMetadata, cls).from_db_instance(db_instance) this.client = Client() this.client.codigo = db_instance.client_id return this