def _register_branch_station(caller_store, station_name, confirm=True): from gi.repository import Gtk from stoqlib.lib.parameters import sysparam if not sysparam.get_bool('DEMO_MODE'): fmt = _(u"The computer '%s' is not registered to the Stoq " u"server at %s.\n\n" u"Do you want to register it " u"(requires administrator access) ?") if confirm and not yesno(fmt % (station_name, db_settings.address), Gtk.ResponseType.YES, _(u"Register computer"), _(u"Quit")): raise SystemExit from stoqlib.gui.utils.login import LoginHelper h = LoginHelper() try: user = h.validate_user() except LoginError as e: error(str(e)) if not user: error(_("Must login as 'admin'")) from stoqlib.domain.station import BranchStation with new_store() as store: branch = sysparam.get_object(store, 'MAIN_COMPANY') station = BranchStation.create(store, branch=branch, name=station_name) return caller_store.fetch(station)
def _do_login(self): from stoqlib.exceptions import LoginError from stoqlib.gui.utils.login import LoginHelper from stoqlib.lib.message import error self._login = LoginHelper(username=self._options.login_username) try: if not self.login(): return False except LoginError as e: error(str(e)) return False self._check_param_online_services() self._maybe_show_welcome_dialog() return True
def _register_branch(caller_store, station_name): import gtk from stoqlib.lib.parameters import sysparam if not sysparam(caller_store).DEMO_MODE: fmt = _(u"The computer '%s' is not registered to the Stoq " u"server at %s.\n\n" u"Do you want to register it " u"(requires administrator access) ?") if not yesno(fmt % (station_name, db_settings.address), gtk.RESPONSE_YES, _(u"Register computer"), _(u"Quit")): raise SystemExit from stoqlib.gui.utils.login import LoginHelper h = LoginHelper(username="******") try: user = h.validate_user() except LoginError as e: error(str(e)) if not user: error(_("Must login as 'admin'")) from stoqlib.domain.person import Branch from stoqlib.domain.station import BranchStation branches = caller_store.find(Branch) if branches.is_empty(): error(_("Schema error, no branches found")) # TODO # Always select the first branch as the main branch, until we # support multiple branches properly. And then, provide a way to the # user choose which one will be the main branch. branch = branches[0] store = new_store() try: station = BranchStation.create(store, branch=store.fetch(branch), name=station_name) except StoqlibError as e: error(_("ERROR: %s") % e) station_id = station.id store.commit(close=True) return caller_store.find(BranchStation, id=station_id).one()