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()
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)
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)
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)
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()
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)
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)
def run_dialog(self, editor_class, parent, *args, **kwargs): return run_person_role_dialog(editor_class, parent, *args, **kwargs)
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)