Exemplo n.º 1
0
    def on_dialNewProject(self):
        """
        Command launched when 'Save' dialog QPushButton is clicked

        Save newProject
        """
        self.log.detail(">>> Save 'New Project' ...")
        result = self.dial_newProject.result()
        projectName = result.get('projectName')
        projectCode = result.get('projectCode')
        project = "%s--%s" % (projectName, projectCode)
        #--- Check Values ---#
        if projectName in self._fdn.typoExclusion or projectCode in self._fdn.typoExclusion:
            pQt.errorDialog("Project Name or Project Code invalide: %s--%s" %
                            (projectName, projectCode),
                            self,
                            raiseError=True)
        if project in self._fdn._project.projects:
            pQt.errorDialog("Project %s--%s already exists" %
                            (projectName, projectCode),
                            self,
                            raiseError=True)
        #--- Create Project ---#
        self._fdn._project.newProject(projectName, projectCode)
        self.dial_newProject.close()
Exemplo n.º 2
0
    def on_editItem1(self):
        """
        Command launched when 'Edit' QPushButton is clicked

        Launch Group editing dialog
        """
        super(Groups, self).on_editItem1()
        selItems = self.tw_tree.selectedItems() or []
        if selItems:
            #--- Get Prompts ---#
            grades = []
            itemObj = selItems[0].itemObj
            for n in range(max(self._groups.grades) + 1):
                grades.append(str(n))
            prompts = [dict(promptType='line', promptLabel='grpCode', promptValue=itemObj.grpCode, readOnly=True),
                       dict(promptType='line', promptLabel='grpName', promptValue=itemObj.grpName),
                       dict(promptType='combo', promptLabel='grpGrade', promptValue=grades,
                            defaultValue=itemObj.grpGrade),
                       dict(promptType='color', promptLabel='grpColor', promptValue=itemObj.grpColor)]
            #--- Launch Dialog ---#
            self.dial_groups = promptMultiUi.PromptMulti(title="Edit Group", prompts=prompts, parent=self,
                                                         acceptCmd=partial(self.on_dialogAccept, dialogMode='edit',
                                                                           selItem=selItems[0]))
            self.dial_groups.exec_()
        else:
            message = "!!! Select at least one group item !!!"
            pQt.errorDialog(message, self)
Exemplo n.º 3
0
    def _checkDialogResult(self, result):
        """
        Check Dialog results

        :param result: Dialog results
        :type result: dict
        """
        #--- Check Data ---#
        if (result['ctxtCode'] in self._fdn.typoExclusion
                or result['ctxtName'] in self._fdn.typoExclusion
                or result['ctxtFolder'] in self._fdn.typoExclusion):
            pQt.errorDialog(
                "!!! Entity invalid: %s -- %s -- %s !!!" %
                (result['ctxtCode'], result['ctxtName'], result['ctxtFolder']),
                self.dial_CtxtEntity,
                raiseError=True)
        #--- Check New Entity ---#
        treeDict = self.getData()
        selItems = self.tw_tree.selectedItems() or []
        for n in sorted(treeDict.keys()):
            message = None
            #--- Check Main Type ---#
            if not selItems:
                if treeDict[n]['ctxtCode'] == result['ctxtCode']:
                    message = "!!! EntityCode %r already exists !!!" % result[
                        'ctxtCode']
                elif treeDict[n]['ctxtName'] == result['ctxtName']:
                    message = "!!! EntityName %r already exists !!!" % result[
                        'ctxtName']
                elif treeDict[n]['ctxtFolder'] == result['ctxtFolder']:
                    message = "!!! EntityFolder %r already exists !!!" % result[
                        'ctxtFolder']
            #--- Check Sub Type ---#
            else:
                if treeDict[n]['ctxtCode'] == selItems[0].itemObj.ctxtCode:
                    for m in sorted(treeDict[n]['childs'].keys()):
                        if treeDict[n]['childs'][m]['ctxtCode'] == result[
                                'ctxtCode']:
                            message = "!!! EntityCode %r already exists !!!" % result[
                                'ctxtCode']
                        elif treeDict[n]['childs'][m]['ctxtName'] == result[
                                'ctxtName']:
                            message = "!!! EntityName %r already exists !!!" % result[
                                'ctxtName']
                        elif treeDict[n]['childs'][m]['ctxtFolder'] == result[
                                'ctxtFolder']:
                            message = "!!! EntityFolder %r already exists !!!" % result[
                                'ctxtFolder']
            #--- Result ---#
            if message is not None:
                pQt.errorDialog(message, self.dial_CtxtEntity, raiseError=True)
Exemplo n.º 4
0
    def _checkDialogResult(self, result):
        """
        Check Dialog results

        :param result: Dialog results
        :type result: dict
        """
        # --- Check Data ---#
        if result["contextName"] in self._fdn.typoExclusion:
            pQt.errorDialog(
                "!!! 'contextName' invalid: %s !!!" % result["contextName"], self.dial_context, raiseError=True
            )
        # --- Check New Name ---#
        ctxtData = self.getData()
        for n in sorted(ctxtData.keys()):
            if ctxtData[n]["contextName"] == result["contextName"]:
                pQt.errorDialog("!!! %s already exists !!!" % result["contextName"], self.dial_context, raiseError=True)
Exemplo n.º 5
0
    def on_dialNewProject(self):
        """
        Command launched when 'Save' dialog QPushButton is clicked

        Save newProject
        """
        self.log.detail(">>> Save 'New Project' ...")
        result = self.dial_newProject.result()
        projectName = result.get('projectName')
        projectCode = result.get('projectCode')
        #--- Check Values ---#
        if projectName in self.typoExclusion or projectCode in self.typoExclusion:
            pQt.errorDialog("Project Name or Project Code invalide: %s--%s" % (projectName, projectCode), self)
        else:
            #--- Create Project ---#
            self._fdn._project.newProject(projectName, projectCode)
            self.dial_newProject.close()
Exemplo n.º 6
0
    def _checkDialogResult(self, result):
        """
        Check Dialog results

        :param result: Dialog results
        :type result: dict
        """
        # --- Check Data ---#
        if (
            result["ctxtCode"] in self._fdn.typoExclusion
            or result["ctxtName"] in self._fdn.typoExclusion
            or result["ctxtFolder"] in self._fdn.typoExclusion
        ):
            pQt.errorDialog(
                "!!! Entity invalid: %s -- %s -- %s !!!"
                % (result["ctxtCode"], result["ctxtName"], result["ctxtFolder"]),
                self.dial_CtxtEntity,
                raiseError=True,
            )
        # --- Check New Entity ---#
        treeDict = self.getData()
        selItems = self.tw_tree.selectedItems() or []
        for n in sorted(treeDict.keys()):
            message = None
            # --- Check Main Type ---#
            if not selItems:
                if treeDict[n]["ctxtCode"] == result["ctxtCode"]:
                    message = "!!! EntityCode %r already exists !!!" % result["ctxtCode"]
                elif treeDict[n]["ctxtName"] == result["ctxtName"]:
                    message = "!!! EntityName %r already exists !!!" % result["ctxtName"]
                elif treeDict[n]["ctxtFolder"] == result["ctxtFolder"]:
                    message = "!!! EntityFolder %r already exists !!!" % result["ctxtFolder"]
            # --- Check Sub Type ---#
            else:
                if treeDict[n]["ctxtCode"] == selItems[0].itemObj.ctxtCode:
                    for m in sorted(treeDict[n]["childs"].keys()):
                        if treeDict[n]["childs"][m]["ctxtCode"] == result["ctxtCode"]:
                            message = "!!! EntityCode %r already exists !!!" % result["ctxtCode"]
                        elif treeDict[n]["childs"][m]["ctxtName"] == result["ctxtName"]:
                            message = "!!! EntityName %r already exists !!!" % result["ctxtName"]
                        elif treeDict[n]["childs"][m]["ctxtFolder"] == result["ctxtFolder"]:
                            message = "!!! EntityFolder %r already exists !!!" % result["ctxtFolder"]
            # --- Result ---#
            if message is not None:
                pQt.errorDialog(message, self.dial_CtxtEntity, raiseError=True)
Exemplo n.º 7
0
    def on_storeProject(self):
        """
        Command launched when 'Store Project' QPushButton is clicked

        Store project in 'My Projects'
        """
        self.log.detail(">>> Launch 'Store Project' ...")
        selItems = self.tw_allProjects.selectedItems() or []
        if selItems:
            #--- Check Project ---#
            if selItems[0].project in self.pinedProjects:
                pQt.errorDialog("!!! Project %r already in pinedProjects, Skipp !!!" % selItems[0].project, self)
            else:
                #--- Add Poject ---#
                self._users._user.addPinedProject(selItems[0].project)
                self._users._user.writeFile()
        #--- Refresh ---#
        self.buildTree('myProjects')
Exemplo n.º 8
0
    def on_removeProject(self):
        """
        Command launched when 'Remove Project' QPushButton is clicked

        Remove project from 'My Projects'
        """
        self.log.detail(">>> Launch 'remove Project' ...")
        selItems = self.tw_myProjects.selectedItems() or []
        if selItems:
            #--- Check Project ---#
            if selItems[0].project not in self.pinedProjects:
                pQt.errorDialog("!!! Project %r not found, Skipp !!!" % selItems[0].project, self)
            else:
                #--- Remove Poject ---#
                self._users._user.delPinedProject(selItems[0].project)
                self._users._user.writeFile()
        #--- Refresh ---#
        self.buildTree('myProjects')
Exemplo n.º 9
0
    def on_removeProject(self):
        """
        Command launched when 'Remove Project' QPushButton is clicked

        Remove project from 'My Projects'
        """
        self.log.detail(">>> Launch 'remove Project' ...")
        selItems = self.tw_myProjects.selectedItems() or []
        if selItems:
            #--- Check Project ---#
            if selItems[0].project not in self.pinedProjects:
                pQt.errorDialog(
                    "!!! Project %r not found, Skipp !!!" %
                    selItems[0].project, self)
            else:
                #--- Remove Poject ---#
                self._users._user.delPinedProject(selItems[0].project)
                self._users._user.writeFile()
        #--- Refresh ---#
        self.buildTree('myProjects')
Exemplo n.º 10
0
    def on_storeProject(self):
        """
        Command launched when 'Store Project' QPushButton is clicked

        Store project in 'My Projects'
        """
        self.log.detail(">>> Launch 'Store Project' ...")
        selItems = self.tw_allProjects.selectedItems() or []
        if selItems:
            #--- Check Project ---#
            if selItems[0].project in self.pinedProjects:
                pQt.errorDialog(
                    "!!! Project %r already in pinedProjects, Skipp !!!" %
                    selItems[0].project, self)
            else:
                #--- Add Poject ---#
                self._users._user.addPinedProject(selItems[0].project)
                self._users._user.writeFile()
        #--- Refresh ---#
        self.buildTree('myProjects')
Exemplo n.º 11
0
    def on_load(self):
        """
        Command launched when 'Load' QPushButton is clicked

        Load selected project
        """
        self.log.detail(">>> Launch 'Load Project' ...")
        #--- Get Selected Project ---#
        if self.tabWidget.currentIndex() == 0:
            selItems = self.tw_allProjects.selectedItems() or []
        else:
            selItems = self.tw_myProjects.selectedItems() or []
        #--- Load Project ---#
        if selItems:
            userName = self._fdn.__user__
            if not self._fdn.__user__ in selItems[0].projectData['watchers']:
                pQt.errorDialog("User %r is not set as projectUser in %s !" % (userName, selItems[0].project), self)
            else:
                self.mainUi.loadProject(project=selItems[0].project)
                self.close()
Exemplo n.º 12
0
    def _checkDialogResult(self, result):
        """
        Check Dialog results

        :param result: Dialog results
        :type result: dict
        """
        #--- Check Data ---#
        if result['contextName'] in self._fdn.typoExclusion:
            pQt.errorDialog("!!! 'contextName' invalid: %s !!!" %
                            result['contextName'],
                            self.dial_context,
                            raiseError=True)
        #--- Check New Name ---#
        ctxtData = self.getData()
        for n in sorted(ctxtData.keys()):
            if ctxtData[n]['contextName'] == result['contextName']:
                pQt.errorDialog("!!! %s already exists !!!" %
                                result['contextName'],
                                self.dial_context,
                                raiseError=True)
Exemplo n.º 13
0
    def _checkDialogResult(self, result, ctxtObj):
        """
        Check Dialog results

        :param result: Dialog results
        :type result: dict
        """
        #--- Check Data ---#
        excludes = ['', ' ', 'None', None]
        if (result['entityMainType'] in excludes or result['entitySubType'] in excludes
            or result['entityCode'] in excludes or result['entityName'] in excludes):
            message = "!!! Entity invalid: %s--%s--%s--%s !!!" % (result['entityMainType'], result['entitySubType'],
                                                                  result['entityCode'], result['entityName'])
            pQt.errorDialog(message, self.dial_newEntity)
            raise AttributeError(message)
        #--- Check New Entity ---#
        print ctxtObj.entityCodes
        if result['entityCode'] in ctxtObj.entityCodes or result['entityName'] in ctxtObj.entityNames:
            message = "!!! Entity %r (%r) already exists !!!" % (result['entityName'], result['entityCode'])
            pQt.errorDialog(message, self.dial_newEntity)
            raise AttributeError(message)
Exemplo n.º 14
0
    def _checkDialogResult(self, result):
        """
        Check Dialog results

        :param result: Dialog results
        :type result: dict
        """
        # --- Check Data ---#
        if result["pipeCode"] in self._fdn.typoExclusion or result["pipeName"] in self._fdn.typoExclusion:
            pQt.errorDialog(
                "!!! Pipe invalid: %s -- %s !!!" % (result["pipeCode"], result["pipeName"]),
                self.dial_CtxtEntity,
                raiseError=True,
            )
        # --- Check New Pipe ---#
        treeDict = self.getData()
        selItems = self.tw_tree.selectedIndexes() or []
        pprint.pprint(treeDict)
        if treeDict.keys():
            for n, stepDict in sorted(treeDict.iteritems()):
                print stepDict["pipeName"],
                if stepDict["pipeName"] == result["pipeName"] or stepDict["pipeCode"] == result["pipeCode"]:
                    pQt.errorDialog(
                        "!!! Step already exists: %s -- %s !!!" % (result["pipeName"], result["pipeCode"]),
                        self.dial_pipeLine,
                        raiseError=True,
                    )
                if selItems:
                    for c, taskDict in sorted(stepDict["childs"]):
                        if taskDict["pipeName"] == result["pipeName"] or taskDict["pipeCode"] == result["pipeCode"]:
                            pQt.errorDialog(
                                "!!! Task already exists: %s -- %s !!!" % (result["pipeName"], result["pipeCode"]),
                                self.dial_pipeLine,
                                raiseError=True,
                            )
Exemplo n.º 15
0
    def on_editItem1(self):
        """
        Command launched when 'Edit' QPushButton is clicked

        Launch User editing dialog
        """
        super(Users, self).on_editItem1()
        selItems = self.tw_tree.selectedItems() or []
        if selItems:
            #--- Get Prompts ---#
            itemObj = selItems[0].itemObj
            prompts = [
                dict(promptType='line',
                     promptLabel='userName',
                     promptValue=itemObj.userName,
                     readOnly=True),
                dict(promptType='combo',
                     promptLabel='userGroup',
                     promptValue=self._groups.codes,
                     defaultValue=itemObj.userGroup),
                dict(promptType='line',
                     promptLabel='userFirstName',
                     promptValue=itemObj.userFirstName),
                dict(promptType='line',
                     promptLabel='userLastName',
                     promptValue=itemObj.userLastName)
            ]
            #--- Launch Dialog ---#
            self.dial_user = promptMultiUi.PromptMulti(
                title="Edit User",
                prompts=prompts,
                parent=self,
                acceptCmd=partial(self.on_dialogAccept,
                                  dialogMode='edit',
                                  selItem=selItems[0]))
            self.dial_user.exec_()
        else:
            message = "!!! Select at least one user item !!!"
            pQt.errorDialog(message, self)
Exemplo n.º 16
0
    def on_load(self):
        """
        Command launched when 'Load' QPushButton is clicked

        Load selected project
        """
        self.log.detail(">>> Launch 'Load Project' ...")
        #--- Get Selected Project ---#
        if self.tabWidget.currentIndex() == 0:
            selItems = self.tw_allProjects.selectedItems() or []
        else:
            selItems = self.tw_myProjects.selectedItems() or []
        #--- Load Project ---#
        if selItems:
            userName = self._fdn.__user__
            if not self._fdn.__user__ in selItems[0].projectData['watchers']:
                pQt.errorDialog(
                    "User %r is not set as projectUser in %s !" %
                    (userName, selItems[0].project), self)
            else:
                self.mainUi.loadProject(project=selItems[0].project)
                self.close()
Exemplo n.º 17
0
    def _checkDialogResult(self, result, dialogMode):
        """
        Check Dialog results

        :param result: Dialog results
        :type result: dict
        :param dialogMode: 'add' or 'edit'
        :type dialogMode: str
        """
        #--- Check Data ---#
        if result['grpCode'] in self._fdn.typoExclusion or result['grpName'] in self._fdn.typoExclusion:
            message = "!!! 'code' or 'name' invalid: %s -- %s !!!" % ( result['grpCode'], result['grpName'])
            pQt.errorDialog(message, self)
            raise AttributeError(message)
        #--- Check New Code ---#
        if dialogMode == 'add':
            grpData = self.getData()
            for n in sorted(grpData.keys()):
                if result['grpCode'] == grpData[n]['grpCode']:
                    message = "!!! %s already exists !!!" % result['grpCode']
                    pQt.errorDialog(message, self)
                    raise AttributeError(message)
Exemplo n.º 18
0
    def on_editItem1(self):
        """
        Command launched when 'Edit' QPushButton is clicked

        Launch User editing dialog
        """
        super(Users, self).on_editItem1()
        selItems = self.tw_tree.selectedItems() or []
        if selItems:
            #--- Get Prompts ---#
            itemObj = selItems[0].itemObj
            prompts = [dict(promptType='line', promptLabel='userName', promptValue=itemObj.userName, readOnly=True),
                       dict(promptType='combo', promptLabel='userGroup', promptValue=self._groups.codes,
                            defaultValue=itemObj.userGroup),
                       dict(promptType='line', promptLabel='userFirstName', promptValue=itemObj.userFirstName),
                       dict(promptType='line', promptLabel='userLastName', promptValue=itemObj.userLastName)]
            #--- Launch Dialog ---#
            self.dial_user = promptMultiUi.PromptMulti(title="Edit User", prompts=prompts, parent=self,
                                                       acceptCmd=partial(self.on_dialogAccept, dialogMode='edit',
                                                                         selItem=selItems[0]))
            self.dial_user.exec_()
        else:
            message = "!!! Select at least one user item !!!"
            pQt.errorDialog(message, self)
Exemplo n.º 19
0
    def _checkDialogResult(self, result):
        """
        Check Dialog results

        :param result: Dialog results
        :type result: dict
        """
        #--- Check Data ---#
        if result['pipeCode'] in self._fdn.typoExclusion or result[
                'pipeName'] in self._fdn.typoExclusion:
            pQt.errorDialog("!!! Pipe invalid: %s -- %s !!!" %
                            (result['pipeCode'], result['pipeName']),
                            self.dial_CtxtEntity,
                            raiseError=True)
        #--- Check New Pipe ---#
        treeDict = self.getData()
        selItems = self.tw_tree.selectedIndexes() or []
        pprint.pprint(treeDict)
        if treeDict.keys():
            for n, stepDict in sorted(treeDict.iteritems()):
                print stepDict['pipeName'],
                if stepDict['pipeName'] == result['pipeName'] or stepDict[
                        'pipeCode'] == result['pipeCode']:
                    pQt.errorDialog("!!! Step already exists: %s -- %s !!!" %
                                    (result['pipeName'], result['pipeCode']),
                                    self.dial_pipeLine,
                                    raiseError=True)
                if selItems:
                    for c, taskDict in sorted(stepDict['childs']):
                        if taskDict['pipeName'] == result[
                                'pipeName'] or taskDict['pipeCode'] == result[
                                    'pipeCode']:
                            pQt.errorDialog(
                                "!!! Task already exists: %s -- %s !!!" %
                                (result['pipeName'], result['pipeCode']),
                                self.dial_pipeLine,
                                raiseError=True)