Beispiel #1
0
 def slot_sync(self, arg):
     if self.connect():
         if (self.dbm.readValue(u"config", u"finalized") == u""):
             self.dlg = Output()
             synchronize(self.dbm, self.filepath, self.dlg)
             self.dlg.done()
         else:
             warning(_("This database is finalized, you can't access it"))
         # Disconnect from master database
         self.disconnect()
Beispiel #2
0
    def slot_sync(self, arg):
        """Perform a synchronization with a selected database file
        but as adminstrative user.
        This allows even a finalized database to be updated.
        """
        sfile = self.settings.getSetting("syncFile")
        if sfile:
            sdir = os.path.dirname(sfile)
            sfile = os.path.basename(sfile)
        else:
            sdir = None

        syncfile = getFile(_("User database file"),
                           startDir=sdir,
                           startFile=sfile,
                           defaultSuffix=".zga",
                           filter=(_("Report Files"), (u"*.zga", )))
        if not syncfile:
            return
        self.settings.setSetting("syncFile", syncfile)

        dbs = DBs(syncfile)
        if not dbs.isOpen():
            return

        sdbname = dbs.getConfig(u"dbname")
        dbs.close()

        if (self.dbname != sdbname):
            warning(
                _("%s: Database name does not match current master name") %
                syncfile)
            return

        self.dlg = Output()
        synchronize(self.master, syncfile, self.dlg)
        self.dlg.done()