class LoadPettyCashEntry(WindowController): def __init__(self, **kwargs): super(LoadPettyCashEntry, self).__init__(**kwargs) self.trans = Transaction() self.pos, = self.trans.search('PointOfSale') self.buildUI() def buildUI(self): self.window.title = 'Caja chica - Carga' v = VBox(parent=self.window) f0 = Frame(parent=v, label='Cuenta') h0 = HBox(parent=f0) right0 = VBox(parent=h0) columns = (Column(name='Nombre', attribute='name', operator=Qualifier.like), ) self.account = SearchEntry(parent=right0, columns=columns, searcher=self.trans, cls=CustomerAccount) f1 = Frame(parent=v, label='Operacion') h1 = HBox(parent=f1) left1 = VBox(parent=h1) right1 = VBox(parent=h1) # Label(parent=left1, text='Fecha') # fecha = Entry(parent=right1) Label(parent=left1, text='Categoria') columns = ( Column(name='Cod', attribute='code'), Column(name='Nombre', attribute='name', operator=Qualifier.like), ) self.category = SearchEntry(parent=right1, columns=columns, searcher=self.trans, cls=MovementAccount) f2 = Frame(parent=v, label='Comprobante') h2 = HBox(parent=f2) left2 = VBox(parent=h2) right2 = VBox(parent=h2) Label(parent=left2, text='Tipo') columns = (Column(name='Nombre', attribute='name', operator=Qualifier.like), ) self.docType = SearchEntry(parent=right2, columns=columns, searcher=DocumentType, onAction=self.setThirdLabel) Label(parent=left2, text='Numero') self.docNumber = Entry(parent=right2) Label(parent=left2, text='Fecha') self.docDate = Entry(parent=right2, emptyValue=now()) self.docDate.commitValue(self.docDate.value) self.thirdLabel = Label(parent=left2) columns = (Column(name='Apellido', attribute='person.surname', operator=Qualifier.like), ) self.otherParty = SearchEntry(parent=right2, columns=columns, searcher=self.trans) self.otherParty.disable() # f3 = Frame(parent=v, label='Montos') h3 = HBox(parent=v) # Label(parent=h3, text='Ingreso') # self.moneyIn = Entry(parent=h3) # Label(parent=h3, text='Egreso') # self.moneyOut = Entry(parent=h3) Label(parent=h3, text='Monto') self.amount = Entry(parent=h3) Label(parent=h3, text='Descripcion') self.description = Entry(parent=h3) h4 = HBox(parent=v) Button(parent=h4, label='Guardar', onAction=self.save) Button(parent=h4, label='Descartar') def setThirdLabel(self, *ignore): if self.docType.value: if self.docType.value['other']: self.thirdLabel.text = self.docType.value['other'].__name__ self.otherParty.cls = self.docType.value['other'] self.otherParty.enable() else: self.thirdLabel.text = "Documento interno" def save(self, *ignore): # build a document of the right kind # cls = self.docType.value['cls'] # document = cls(amount=self.amount.value, number=self.docNumber.value, # type=self.docType.value['type'], ) # set the other side # document.setattr(self.docType.value['attr'], self.provider.value) cls = self.docType.value['cls'] document = cls(number=self.docNumber.value, type=self.docType.value['type'], detail=self.description.value, amount=self.amount.value, actualDate=self.docDate.value) self.trans.track(document) document.pettyRegister(self.pos, self.otherParty.value, self.category.value, self.account.value) # register w/ the trans! # save it self.trans.save()
class LoadPettyCashEntry(WindowController): def __init__(self, **kwargs): super(LoadPettyCashEntry, self).__init__(**kwargs) self.trans = Transaction() # it assured existence point of sale pointOfSale = self.trans.search('PointOfSale') if not pointOfSale: from pointOfSale import main as pofMain pofMain() pointOfSale = self.trans.search('PointOfSale') if pointOfSale: #mensaje error, que estas haciendo pass self.pos = pointOfSale[0] self.buildUI() def buildUI(self): self.window.title = 'Caja chica - Carga: "' + self.pos.name +'"' v = VBox(parent=self.window) f0 = Frame(parent=v, label='Cuenta') h0 = HBox(parent=f0) right0 = VBox(parent=h0) columns= (Column(name='Nombre', attribute='name', operator=Qualifier.like),) self.account = SearchEntry(parent=right0, columns=columns, searcher=self.trans, cls=CustomerAccount) f1 = Frame(parent=v, label='Operacion') h1 = HBox(parent=f1) left1 = VBox(parent=h1) right1 = VBox(parent=h1) # Label(parent=left1, text='Fecha') # fecha = Entry(parent=right1) Label(parent=left1, text='Categoria') columns= (Column(name='Cod', attribute='code'), Column(name='Nombre', attribute='name', operator=Qualifier.like),) self.category = SearchEntry(parent=right1, columns=columns, searcher=self.trans, cls=MovementAccount) f2 = Frame(parent=v, label='Comprobante') h2 = HBox(parent=f2) left2 = VBox(parent=h2) right2 = VBox(parent=h2) Label(parent=left2, text='Tipo') columns= (Column(name='Nombre', attribute='name', operator=Qualifier.like),) self.docType = SearchEntry(parent=right2, columns=columns, searcher=DocumentType, onAction=self.setThirdLabel) Label(parent=left2, text='Numero') self.docNumber = Entry(parent=right2) Label(parent=left2, text='Fecha') self.docDate = Entry(parent=right2, emptyValue=now()) self.docDate.commitValue(self.docDate.value) self.thirdLabel = Label(parent=left2) columns= (Column(name='Apellido', attribute='person.surname', operator=Qualifier.like),) self.otherParty = SearchEntry(parent=right2, columns=columns, searcher=self.trans) self.otherParty.disable() # f3 = Frame(parent=v, label='Montos') h3 = HBox(parent=v) # Label(parent=h3, text='Ingreso') # self.moneyIn = Entry(parent=h3) # Label(parent=h3, text='Egreso') # self.moneyOut = Entry(parent=h3) Label(parent=h3, text='Monto') self.amount = Entry(parent=h3) Label(parent=h3, text='Descripcion') self.description = Entry(parent=h3) h4 = HBox(parent=v) Button(parent=h4, label='Guardar', onAction=self.save) Button(parent=h4, label='Descartar', onAction=self.discard) def setThirdLabel(self, *ignore): if self.docType.value: if self.docType.value['other']: self.thirdLabel.text = self.docType.value['other'].__name__ self.otherParty.cls = self.docType.value['other'] self.otherParty.enable() else: self.thirdLabel.text = "Documento interno" def save(self, *ignore): # build a document of the right kind # cls = self.docType.value['cls'] # document = cls(amount=self.amount.value, number=self.docNumber.value, # type=self.docType.value['type'], ) # set the other side # document.setattr(self.docType.value['attr'], self.provider.value) cls = self.docType.value['cls'] document = cls(number=self.docNumber.value, type=self.docType.value['type'], detail=self.description.value, amount=self.amount.value, actualDate=self.docDate.value) self.trans.track(document) document.pettyRegister(self.pos, self.otherParty.value, self.category.value, self.account.value) # register w/ the trans! # save it self.trans.save() def discard(self, *ignore): self.trans.discard() for i in self.__dict__: if isinstance(self.__dict__[i],Entry) or isinstance(self.__dict__[i],SearchEntry): if hasattr(self.__dict__[i],'emptyValue'): self.__dict__[i].commitValue(self.__dict__[i].emptyValue) else: self.__dict__[i].commitValue(None) self.__dict__[i].refresh() #this is made apart beacause is not generic, thirdLabel is the only #label in self that changes and otherParty is the only widget Disabled self.thirdLabel.text = '' self.otherParty.disable()
class LoadPettyCashEntry(WindowController): def __init__(self, **kwargs): super(LoadPettyCashEntry, self).__init__(**kwargs) self.trans = Transaction() self.pos ,= self.trans.search('PointOfSale') self.buildUI() def buildUI(self): self.window.title = 'Caja chica - Carga' v = VBox(parent=self.window) f0 = Frame(parent=v, label='Cuenta') h0 = HBox(parent=f0) right0 = VBox(parent=h0) columns= (Column(name='Nombre', attribute='name', operator=Qualifier.like),) self.account = SearchEntry(parent=right0, columns=columns, searcher=self.trans, cls=CustomerAccount) f1 = Frame(parent=v, label='Operacion') h1 = HBox(parent=f1) left1 = VBox(parent=h1) right1 = VBox(parent=h1) # Label(parent=left1, text='Fecha') # fecha = Entry(parent=right1) Label(parent=left1, text='Categoria') columns= (Column(name='Cod', attribute='code'), Column(name='Nombre', attribute='name', operator=Qualifier.like),) self.category = SearchEntry(parent=right1, columns=columns, searcher=self.trans, cls=MovementAccount) f2 = Frame(parent=v, label='Comprobante') h2 = HBox(parent=f2) left2 = VBox(parent=h2) right2 = VBox(parent=h2) Label(parent=left2, text='Tipo') columns= (Column(name='Nombre', attribute='name', operator=Qualifier.like),) self.docType = SearchEntry(parent=right2, columns=columns, searcher=DocumentType, onAction=self.setThirdLabel) Label(parent=left2, text='Numero') self.docNumber = Entry(parent=right2) Label(parent=left2, text='Fecha') self.docDate = Entry(parent=right2, emptyValue=now()) self.docDate.commitValue(self.docDate.value) self.thirdLabel = Label(parent=left2) columns= (Column(name='Apellido', attribute='person.surname', operator=Qualifier.like),) self.otherParty = SearchEntry(parent=right2, columns=columns, searcher=self.trans) self.otherParty.disable() # f3 = Frame(parent=v, label='Montos') h3 = HBox(parent=v) # Label(parent=h3, text='Ingreso') # self.moneyIn = Entry(parent=h3) # Label(parent=h3, text='Egreso') # self.moneyOut = Entry(parent=h3) Label(parent=h3, text='Monto') self.amount = Entry(parent=h3) Label(parent=h3, text='Descripcion') self.description = Entry(parent=h3) h4 = HBox(parent=v) Button(parent=h4, label='Guardar', onAction=self.save) Button(parent=h4, label='Descartar') def setThirdLabel(self, *ignore): if self.docType.value: if self.docType.value['other']: self.thirdLabel.text = self.docType.value['other'].__name__ self.otherParty.cls = self.docType.value['other'] self.otherParty.enable() else: self.thirdLabel.text = "Documento interno" def save(self, *ignore): # build a document of the right kind # cls = self.docType.value['cls'] # document = cls(amount=self.amount.value, number=self.docNumber.value, # type=self.docType.value['type'], ) # set the other side # document.setattr(self.docType.value['attr'], self.provider.value) cls = self.docType.value['cls'] document = cls(number=self.docNumber.value, type=self.docType.value['type'], detail=self.description.value, amount=self.amount.value, actualDate=self.docDate.value) self.trans.track(document) document.pettyRegister(self.pos, self.otherParty.value, self.category.value, self.account.value) # register w/ the trans! # save it self.trans.save()
class LoadPettyCashEntry(WindowController): def __init__(self, **kwargs): super(LoadPettyCashEntry, self).__init__(**kwargs) self.trans = Transaction() # it assured existence point of sale pointOfSale = self.trans.search('PointOfSale') if not pointOfSale: from pointOfSale import main as pofMain pofMain() pointOfSale = self.trans.search('PointOfSale') if pointOfSale: #mensaje error, que estas haciendo pass self.pos = pointOfSale[0] self.buildUI() def buildUI(self): self.window.title = 'Caja chica - Carga: "' + self.pos.name + '"' v = VBox(parent=self.window) f0 = Frame(parent=v, label='Cuenta') h0 = HBox(parent=f0) right0 = VBox(parent=h0) columns = (Column(name='Nombre', attribute='name', operator=Qualifier.like), ) self.account = SearchEntry(parent=right0, columns=columns, searcher=self.trans, cls=CustomerAccount) f1 = Frame(parent=v, label='Operacion') h1 = HBox(parent=f1) left1 = VBox(parent=h1) right1 = VBox(parent=h1) # Label(parent=left1, text='Fecha') # fecha = Entry(parent=right1) Label(parent=left1, text='Categoria') columns = ( Column(name='Cod', attribute='code'), Column(name='Nombre', attribute='name', operator=Qualifier.like), ) self.category = SearchEntry(parent=right1, columns=columns, searcher=self.trans, cls=MovementAccount) f2 = Frame(parent=v, label='Comprobante') h2 = HBox(parent=f2) left2 = VBox(parent=h2) right2 = VBox(parent=h2) Label(parent=left2, text='Tipo') columns = (Column(name='Nombre', attribute='name', operator=Qualifier.like), ) self.docType = SearchEntry(parent=right2, columns=columns, searcher=DocumentType, onAction=self.setThirdLabel) Label(parent=left2, text='Numero') self.docNumber = Entry(parent=right2) Label(parent=left2, text='Fecha') self.docDate = Entry(parent=right2, emptyValue=now()) self.docDate.commitValue(self.docDate.value) self.thirdLabel = Label(parent=left2) columns = (Column(name='Apellido', attribute='person.surname', operator=Qualifier.like), ) self.otherParty = SearchEntry(parent=right2, columns=columns, searcher=self.trans) self.otherParty.disable() # f3 = Frame(parent=v, label='Montos') h3 = HBox(parent=v) # Label(parent=h3, text='Ingreso') # self.moneyIn = Entry(parent=h3) # Label(parent=h3, text='Egreso') # self.moneyOut = Entry(parent=h3) Label(parent=h3, text='Monto') self.amount = Entry(parent=h3) Label(parent=h3, text='Descripcion') self.description = Entry(parent=h3) h4 = HBox(parent=v) Button(parent=h4, label='Guardar', onAction=self.save) Button(parent=h4, label='Descartar', onAction=self.discard) def setThirdLabel(self, *ignore): if self.docType.value: if self.docType.value['other']: self.thirdLabel.text = self.docType.value['other'].__name__ self.otherParty.cls = self.docType.value['other'] self.otherParty.enable() else: self.thirdLabel.text = "Documento interno" def save(self, *ignore): # build a document of the right kind # cls = self.docType.value['cls'] # document = cls(amount=self.amount.value, number=self.docNumber.value, # type=self.docType.value['type'], ) # set the other side # document.setattr(self.docType.value['attr'], self.provider.value) cls = self.docType.value['cls'] document = cls(number=self.docNumber.value, type=self.docType.value['type'], detail=self.description.value, amount=self.amount.value, actualDate=self.docDate.value) self.trans.track(document) document.pettyRegister(self.pos, self.otherParty.value, self.category.value, self.account.value) # register w/ the trans! # save it self.trans.save() def discard(self, *ignore): self.trans.discard() for i in self.__dict__: if isinstance(self.__dict__[i], Entry) or isinstance( self.__dict__[i], SearchEntry): if hasattr(self.__dict__[i], 'emptyValue'): self.__dict__[i].commitValue(self.__dict__[i].emptyValue) else: self.__dict__[i].commitValue(None) self.__dict__[i].refresh() #this is made apart beacause is not generic, thirdLabel is the only #label in self that changes and otherParty is the only widget Disabled self.thirdLabel.text = '' self.otherParty.disable()