コード例 #1
0
 def on_further_details_button__clicked(self, *args):
     store = api.new_store()
     run_person_role_dialog(SupplierEditor,
                            self,
                            store,
                            self.model,
                            visual_mode=True)
     store.confirm(False)
     store.close()
コード例 #2
0
    def run_dialog(self, store, person):
        from stoqlib.domain.person import (Branch, Client, Supplier,
                                           Transporter, SalesPerson)
        from stoq.lib.gui.editors.personeditor import (BranchEditor,
                                                       ClientEditor,
                                                       EmployeeEditor,
                                                       SupplierEditor,
                                                       TransporterEditor)
        editors = {
            Branch: BranchEditor,
            Client: ClientEditor,
            Supplier: SupplierEditor,
            Transporter: TransporterEditor,
            SalesPerson: EmployeeEditor,
        }
        editor = editors.get(self.person_type)
        if editor is None:  # pragma no cover
            raise NotImplementedError(self.person_type)

        # FIXME: Salesperson is edited on EmployeeEditor, so we need to get
        # that facet for the editor
        if isinstance(person, SalesPerson):
            person = person.person.employee

        from stoq.lib.gui.wizards.personwizard import run_person_role_dialog
        return run_person_role_dialog(editor,
                                      self.toplevel,
                                      store,
                                      person,
                                      visual_mode=not self.can_edit)
コード例 #3
0
 def _run_transporter_editor(self, transporter=None):
     store = api.new_store()
     transporter = store.fetch(transporter)
     model = run_person_role_dialog(TransporterEditor, self.wizard, store,
                                    transporter)
     rv = store.confirm(model)
     store.close()
     if rv:
         self._setup_transporter_entry()
         model = self.store.fetch(model)
         self.transporter.select(model)
コード例 #4
0
 def on_create_transporter__clicked(self, button):
     store = api.new_store()
     transporter = store.fetch(self.model.transporter)
     model = run_person_role_dialog(TransporterEditor, self.wizard, store,
                                    transporter)
     rv = store.confirm(model)
     store.close()
     if rv:
         self._fill_transporter_combo()
         model = self.store.fetch(model)
         self.transporter.select(model)
コード例 #5
0
 def _run_supplier_dialog(self, supplier):
     store = api.new_store()
     if supplier is not None:
         supplier = store.fetch(self.model.supplier)
     model = run_person_role_dialog(SupplierEditor, self.wizard, store,
                                    supplier)
     retval = store.confirm(model)
     if retval:
         model = self.store.fetch(model)
         self._fill_supplier_combo()
         self.supplier.select(model)
     store.close()
コード例 #6
0
 def _run_client_editor(self,
                        store,
                        model,
                        description=None,
                        visual_mode=False):
     return run_person_role_dialog(ClientEditor,
                                   self.wizard,
                                   store,
                                   model,
                                   document=self.wizard._current_document,
                                   description=description,
                                   visual_mode=visual_mode)
コード例 #7
0
ファイル: searchentry.py プロジェクト: pauloscarin1972/stoq
    def _run_editor(self):
        with api.new_store() as store:
            model = getattr(self._model, self._model_property)
            model = store.fetch(model)
            if self._on_run_editor:
                value = self._on_run_editor(store, model)
            elif self._is_person:
                value = run_person_role_dialog(self._editor_class,
                                               self._parent, store, model)
            else:
                value = run_dialog(self._editor_class, self._parent, store,
                                   model)

        if value:
            value = self.store.fetch(self.get_model_obj(value))
            self.set_value(value)
コード例 #8
0
 def run_dialog(self, editor_class, parent, *args, **kwargs):
     return run_person_role_dialog(editor_class, parent, *args, **kwargs)
コード例 #9
0
ファイル: personeditor.py プロジェクト: pauloscarin1972/stoq
def test_client():  # pragma nocover
    from stoq.lib.gui.wizards.personwizard import run_person_role_dialog
    creator = stoq_api.prepare_test()
    retval = run_person_role_dialog(ClientEditor, None, creator.store, None)
    creator.store.confirm(retval)