Пример #1
0
    def __init__(self, mainWindow):
        super(tabSetting, self).__init__(mainWindow)
        self.mainWindow = mainWindow
        global serverURL
        self.storagonSDK = StoragonSDK(serverURL)
        self.Ui_tabSettingForm = Ui_tabSettingForm()
        self.Ui_tabSettingForm.setupUi(self)
        self.islogin = False
        self.btn_login = self.Ui_tabSettingForm.btn_login
        self.btn_login.clicked.connect(self.login)

        self.btn_logout = self.Ui_tabSettingForm.btn_logout
        self.btn_logout.clicked.connect(self.logout)
        self.txt = self.Ui_tabSettingForm.textBrowser
        self.Ui_tabSettingForm.inputPassword.returnPressed.connect(self.login)
        self.trigger.connect(self.updateLoginStatus)
        helper = Helper()
        tos = helper.getHtmlFromBunch()
        self.txt.setHtml(tos)
        self.show()
Пример #2
0
class tabSetting(QtGui.QWidget):
    trigger = pyqtSignal(int, str, str)

    def __init__(self, mainWindow):
        super(tabSetting, self).__init__(mainWindow)
        self.mainWindow = mainWindow
        global serverURL
        self.storagonSDK = StoragonSDK(serverURL)
        self.Ui_tabSettingForm = Ui_tabSettingForm()
        self.Ui_tabSettingForm.setupUi(self)
        self.islogin = False
        self.btn_login = self.Ui_tabSettingForm.btn_login
        self.btn_login.clicked.connect(self.login)

        self.btn_logout = self.Ui_tabSettingForm.btn_logout
        self.btn_logout.clicked.connect(self.logout)
        self.txt = self.Ui_tabSettingForm.textBrowser
        self.Ui_tabSettingForm.inputPassword.returnPressed.connect(self.login)
        self.trigger.connect(self.updateLoginStatus)
        helper = Helper()
        tos = helper.getHtmlFromBunch()
        self.txt.setHtml(tos)
        self.show()

    def login(self):
        self.Ui_tabSettingForm.inputPassword.clearFocus()
        if self.islogin:
            QtGui.QMessageBox.warning(self, 'Notification', "You Need To Logout First ", QtGui.QMessageBox.Ok)
        else:
            username = str(self.Ui_tabSettingForm.inputUsername.text())
            password = str(self.Ui_tabSettingForm.inputPassword.text())
            self.loginthread = LoginThread(self, username, password, self.mainWindow)
            self.loginthread.start()

    def logout(self):
        self.islogin = False
        self.btn_login.setText("Login")
        self.Ui_tabSettingForm.inputUsername.setText('')
        self.Ui_tabSettingForm.inputPassword.setText('')
        self.Ui_tabSettingForm.inputRemember.setChecked(0)
        self.mainWindow.alertAutoClose("Notification", "Logout Successfully!")
        self.clearConfig()
        self.mainWindow.stopListen()
        self.mainWindow.username = ''
        self.mainWindow.password = ''

    def changeLoginInfor(self):
        self.islogin = True
        self.btn_login.setText("User Logged In")

    def updateLoginStatus(self, login, username, password):
        if login == 1:
            self.changeLoginInfor()
            self.mainWindow.alertAutoClose("Notification", "Login Successfully!")
            self.mainWindow.setWindowTitle("Storagon manager (" + username + ")")
            susername = str(username)
            spassword = str(password)
            if self.Ui_tabSettingForm.inputRemember.isChecked():
                self.saveConfig(susername, spassword)
            self.mainWindow.username = susername
            self.mainWindow.password = spassword
        elif login == 0:
            QtGui.QMessageBox.warning(self, 'Warning', "Wrong Username Or Password", QtGui.QMessageBox.Ok)
        elif login == -1:
            QtGui.QMessageBox.warning(self, 'Warning', "Can't Connect To Server", QtGui.QMessageBox.Ok)

    def saveConfig(self, username, password):
        global appFolderPath, file_config
        fileConfigPath = appFolderPath + '/' + file_config
        password = base64.b64encode(password)
        data = {"username": username, "password": password}
        with open(fileConfigPath, 'w') as f:
            f.write(yaml.dump(data, default_flow_style=False))

    def clearConfig(self):
        global appFolderPath, file_config
        fileConfigPath = appFolderPath + '/' + file_config
        open(fileConfigPath, 'w').close()