示例#1
0
    def show_msg(self, fromUser, timeMsg, Data):
        self.msgWnd.ui.lbFrom.setText(
            "<html><head/><body><p><span style='color:#ffffff;'>" + fromUser + "</span></p></body></html>")
        self.msgWnd.ui.lbTime.setText(
            "<html><head/><body><p><span style='color:#ffffff;'>" + timeMsg + "</span></p></body></html>")
        self.msgWnd.ui.teMsg.setPlainText(Data)
        self.msgWnd.ui.lbFormTitle.setText('<html><head/><body><p><span style=" color:#00dbff;">От кого:\
                                                            </span></p></body></html>')
        self.msgWnd.show()

        mb = MessageBase()
        mb.save_message(fromUser, Data, True)

        self.msgComplete.emit()
示例#2
0
def send_msg(wnd, msg, all, lUsrPwd, usr):
    """
    Send message to remote tcp server
    """
    answ = str
    toUser = str

    if msg == "":
        QtGui.QMessageBox.warning(wnd, 'Complete', 'Введите сообщение!', QtGui.QMessageBox.Yes)
        return

    if (usr == "") and (not all):
        """
        If message sending to single user and user not selected then fail
        """
        QtGui.QMessageBox.warning(wnd, 'Complete', 'Выберите пользователя!', QtGui.QMessageBox.Yes)
        return

    mdb = MariaDB()
    if not mdb.connect(wnd.MDBServer, wnd.MDBUser, wnd.MDBPasswd, wnd.MDBBase):
        QtGui.QMessageBox.critical(wnd, 'Ошибка', 'Ошибка соединения с Базой Данных!', QtGui.QMessageBox.Yes)
        return

    if not all:
        toUser = mdb.get_user_by_alias(usr)
    mdb.close()

    client = TcpClient()
    if not client.connect(wnd.TCPServer, wnd.TCPPort, wnd.user, lUsrPwd):
        QtGui.QMessageBox.critical(wnd, "Ошибка", "Ошибка соединения с сервером!", QtGui.QMessageBox.Yes)
        return

    if not all:
        answ = client.send_message(toUser, msg)
    else:
        answ = client.send_message("$ALL_USERS$", msg)
    client.close()

    if answ == "[FAIL]":
        QtGui.QMessageBox.critical(wnd, 'Ошибка', 'Ошибка передачи сообщения!', QtGui.QMessageBox.Yes)
        client.close()
        return

    if answ == "[FAIL-LEN]":
        QtGui.QMessageBox.critical(wnd, 'Ошибка', 'Сообщение слишком длинное!', QtGui.QMessageBox.Yes)
        client.close()
        return

    if answ == "[FAIL-ACCESS]":
        QtGui.QMessageBox.critical(wnd, 'Ошибка', 'У Вас нет прав на отправку всем пользователям!',
                                       QtGui.QMessageBox.Yes)
        client.close()
        return

    if answ == "[SEND-MSG-OK]":
        mb = MessageBase()
        if not all:
            mb.save_message(usr, msg, False)
            QtGui.QMessageBox.information(wnd, 'Complete', 'Сообщение отправлено!', QtGui.QMessageBox.Yes)
        else:
            mb.save_message("Всем", msg, False)
            QtGui.QMessageBox.information(wnd, 'Complete', 'Сообщение отправлено всем пользователям!',
                                              QtGui.QMessageBox.Yes)