Skip to content
Snippets Groups Projects
member_overview.py 1.51 KiB
Newer Older
  • Learn to ignore specific revisions
  • from database import IntegrityError
    from PyQt5.QtCore import pyqtSlot
    from PyQt5.QtWidgets import QWidget, QMessageBox
    
    from utils.editable_title_widget import EditableTitle
    
    Jakub Štercl's avatar
    Jakub Štercl committed
    from utils.history_count_table import HistoryCountTable
    from windows import member_overview
    
    
    class MemberOverview(QWidget, member_overview.Ui_Form):
        def __init__(self, mainwindow, member, parent=None):
            super(MemberOverview, self).__init__(parent)
            self.setupUi(self)
    
            self.main_window = mainwindow
    
            self.member = member
            self.lblGroup.setText(self.member.group_name)
    
    
            title = EditableTitle(self.member.name, self)
            self.layoutTitle.replaceWidget(self.widgetTitle, title)
            self.widgetTitle = title
    
    
            self.tableCount = HistoryCountTable(data=member.history_count, parent=self)
    
            self.layoutHistory.insertWidget(1, self.tableCount)
    
    
            self.widgetTitle.textConfirmed.connect(self.changeName)
    
    
        @pyqtSlot(str)
        def changeName(self, name):
    
            """
            change members name
            :param name: 
            """
            try:
                self.member.rename(name)
            except IntegrityError as e:
                msg = QMessageBox(self)
                msg.setIcon(QMessageBox.Critical)
                msg.setText(self.tr("Ve skupině {0} již existuje člen s tímto jménem.").format(self.member.group_name))
                msg.setWindowTitle(self.tr("Nelze přejmenovat člena"))
                msg.setStandardButtons(QMessageBox.Ok)
                msg.exec()
                self.widgetTitle.editMode()