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()
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)
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)
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)
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()
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)
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')
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')
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')
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')
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()
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)
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)
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, )
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)
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()
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)
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)
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)