示例#1
0
    def __init__(self, attributes=None, label='', store=None, **kwargs):
        from fvl.cimarron.skin import VBox, HBox, Button, Label, Entry

        super(Editor, self).__init__(**kwargs)
        if attributes is None:
            attributes = []

        # main containers
        # self.vbox = VBox(parent=self)
        self.vbox = VBox()
        self._outerWidget = self.vbox._outerWidget

        hbox = HBox(parent=self.vbox)
        self.labels = VBox(parent=hbox)
        self.entries = VBox(parent=hbox)
        self.store = store

        self.label = label
        for attr in attributes:
            Label(parent=self.labels, text=attr)
            # FIX: make if more flexible
            Entry(parent=self.entries, attribute=attr)

        # save/discard buttons
        hbox = HBox(parent=self.vbox, expand=False)
        save = Button(parent=hbox, label='Save', onAction=self.save)
        self.mainWidget = save
        discard = Button(parent=hbox, label='Discard', onAction=self.discard)
    def __init__(self, **kw):
        super(StockAdjustmentWindow, self).__init__(**kw)
        self.window.title = "Stock Adjustment"
        self.trans = Transaction()

        v = VBox(parent=self.window)

        columns = (Column(name="Code", attribute="product.code",
                          readOnly=True),
                   Column(name="Name", attribute="product.name",
                          readOnly=True))

        self.searcher = Search(parent=v,
                               columns=columns,
                               cls=Stock,
                               searcher=self.trans,
                               onAction=self.listValues)

        columns = (Column(name="Code", attribute="product.code",
                          readOnly=True),
                   Column(name="Name", attribute="product.name",
                          readOnly=True),
                   Column(name="Level", attribute="level"))
        self.stockEditor = Grid(parent=v, columns=columns)
        actionContainer = HBox(parent=v, expand=False)
        save = Button(parent=actionContainer, label="Save", onAction=self.save)
        discard = Button(parent=actionContainer,
                         label="Discard",
                         onAction=self.discard)
示例#3
0
    def buildUI(self):
        self.window.title = 'Generacion de Recibo'

        v1 = VBox(parent=self.window, expand=True, fill=True)
        h0 = HBox(parent=v1, expand=False, fill=True)
        v0left = VBox(parent=h0, expand=False, fill=True)
        v0right = VBox(parent=h0, expand=False, fill=True)
        v2 = VBox(parent=v1)
        actionContainer = HBox(parent=v1, expand=False, fill=True)

        Label(parent=v0left, text='Cuenta Contable:')
        columns= (Column(name='Cod', attribute='code'),
                  Column(name='Nombre', attribute='name',
                         operator=Qualifier.like),)
        self.category = SearchEntry(parent=v0right, columns=columns,
                                    searcher=self.trans, cls=MovementAccount)

        Label(parent=v0left, text='Cliente:')
        columns = (Column(name='Nombre', attribute='person.name',
                          operator=Qualifier.like),
                   Column(name='Apellido', attribute='person.surname',
                          operator=Qualifier.like),)
        self.otherParty = SearchEntry(parent=v0right, cls=Client,
                                      searcher=self.trans,
                                      columns=columns)


        Label(parent=v0left, text='Numero:')
        self.docNumber = Entry(parent=v0right)

        Label(parent=v0left, text='Fecha:')
        self.actualDate = Entry(parent=v0right,emptyValue=now())
        self.actualDate.commitValue(self.actualDate.value)

        Label(parent=v0left, text='Monto:')
        self.amount = Entry(parent=v0right)
        
        Label(parent=v2, text='Concepto:', expand=False, fill=False)
        self.concept = MultiLine(parent=v2)
        
        save = Button(parent=actionContainer, label='Guardar',
                      onAction=self.save)

        discard = Button(parent=actionContainer, label='Descartar',
                         onAction=self.discard)
示例#4
0
    def __init__(self,
                 cls=None,
                 searchColumns=None,
                 editorClass=None,
                 filename=None,
                 store=None,
                 **kwargs):
        from fvl.cimarron.skin import Notebook, VBox, Button

        self.editors = []
        super(CRUDController, self).__init__(**kwargs)
        self.note = Notebook(parent=self.window)
        # why this fails so miserably?
        # self._innerWidget = self.note._innerWidget
        if not '_concreteWidget' in self.__dict__:
            self._concreteWidget = self.window

        # first tab
        self.firstTab = VBox(label='Search')
        self.firstTab.parent = self.note

        self.new = Button(parent=self.firstTab, label='New', expand=False)
        self.cls = cls
        if searchColumns is not None:
            # add the Search thing
            self.search = Search(parent=self.firstTab,
                                 columns=searchColumns,
                                 onAction=self.changeModel)

        if store is not None:
            self.store = store

        # second tab
        if editorClass is not None:
            if filename is not None:
                modelEditor = editorClass.fromXmlFile(filename)
            else:
                # let's hope the editorClass knows what to do
                modelEditor = editorClass()
            modelEditor.parent = self.note
            self.editors.append(modelEditor)
            self.mainWidget = modelEditor
示例#5
0
    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')