Exemple #1
0
    def checkUpdates(self, showdialogwhennoupdates=False):
        remoteversion = get_remote(
            "https://raw.githubusercontent.com/Turulomio/didyoureadme/master/didyoureadme/version.py"
        )
        if remoteversion == None:
            qmessagebox(self.tr("I couldn't look for updates. Try it later.."))
            return

        if remoteversion.replace("+", "") == __version__.replace(
                "+", ""):  #Quita el más de desarrollo
            if showdialogwhennoupdates == True:
                qmessagebox(self.tr("DidYouReadMe is in the last version"))
        else:
            m = QMessageBox()
            m.setWindowIcon(QIcon(":/didyoureadme.png"))
            m.setIcon(QMessageBox.Information)
            m.setTextFormat(
                Qt.RichText)  #this is what makes the links clickable
            m.setText(
                self.
                tr("There is a new DidYouReadMe version. You can download it from <a href='https://github.com/Turulomio/didyoureadme/releases'>GitHub</a>."
                   ))
            m.exec_()

        self.mem.settings.setValue("frmMain/lastupdate",
                                   datetime.date.today().toordinal())
Exemple #2
0
def main(parameters=None):

    mem = Mem()

    access = frmAccess(mem)
    access.setLabel(mem.tr("Please login to the DidYouReadMe database"))
    access.config_load()
    access.exec_()

    if access.result() == QDialog.Rejected:
        m = QMessageBox()
        m.setWindowIcon(QIcon(":/didyoureadme.png"))
        m.setIcon(QMessageBox.Information)
        m.setText(
            mem.tr("Error conecting to {} database in {} server").format(
                access.con.db, access.con.server))
        m.exec_()
        sys.exit(1)
    access.config_save()
    mem.con = access.con
    access.hide()

    if mem.con.hasDidyoureadmeRole() == False:
        qmessagebox(mem.tr("Database user hasn't a valid DidYouReadMe role"))
        sys.exit(2)

    if abs((mem.con.server_datetime() -
            now(mem.localzone)).total_seconds()) > 60:  #
        mem.log(
            "SERVER DATETIME AND SYSTEM DATETIME IS BIGGER THAN 60 SECONDS. MAILS CAN BE DELAYED"
        )

    ##Update database
    update = didyoureadme.libdbupdates.Update(mem)
    if update.need_update() == True:
        if mem.isAdminMode():
            update.run()
        else:
            qmessagebox(
                mem.
                tr("DidYouReadMe needs to update its database schema. Please login with an admin role."
                   ))
            sys.exit(3)
    update.syncing_files()

    frmmain = frmMain(mem)
    frmmain.show()

    sys.exit(mem.app.exec_())
Exemple #3
0
    def __init__(self, mem, parent):
        QWidget.__init__(self, parent)
        self.setupUi(self)
        self.mem = mem

        #Minimum of 2 year or date_from for date_to
        datetime_first = SetDocuments(self.mem).datetime_first_document()
        if datetime_first == None:
            qmessagebox(
                self.tr("There are not documents. You can't purge anything."))
            self.date_from = datetime.date.today()
            self.date_to = datetime.date.today()
        else:
            self.date_from = datetime_first.date()
            self.date_to = datetime.date.today() - datetime.timedelta(
                days=365 * 2)
            if self.date_to < self.date_from:
                self.date_to = self.date_from

        self.calFrom.setSelectedDate(self.date_from)
        self.calTo.setSelectedDate(self.date_to)
        self.tblDocuments_update()
Exemple #4
0
 def error_dates(self):
     if self.date_to < self.date_from:
         qmessagebox(self.tr("To date can't be before From date"))
         self.calTo.setSelectedDate(self.date_from)
Exemple #5
0
 def on_tblGroups_cellDoubleClicked(self, row, column):
     if self.mem.data.groups.selected == None:
         return
     qmessagebox(
         self.tr("Group has {} members".format(
             self.mem.data.groups.selected.members.length())))