def getUser(self, userName=None, group=None): """ No args returns a list of all users. Group returns groups this user is in. Username returs a JSON with information about the user """ if userName != None: if not Registration.isRegistered(userName): raise cherrypy.HTTPError(404, "Cannot find user") result = {} result['groups'] = GroupInfo.groupsForUser(userName).keys() result['requests'] = UserRequests.listRequests(userName).keys() result.update(Registration.userInfo(userName)) return result elif group != None: GroupInfo.usersInGroup(group) else: return Registration.listUsers()
def getUser(self, userName = None, group = None): """ No args returns a list of all users. Group returns groups this user is in. Username returs a JSON with information about the user """ if userName != None: if not Registration.isRegistered(userName): raise cherrypy.HTTPError(404, "Cannot find user") result = {} result['groups'] = GroupInfo.groupsForUser(userName).keys() result['requests'] = UserRequests.listRequests(userName).keys() result.update(Registration.userInfo(userName)) return result elif group != None: GroupInfo.usersInGroup(group) else: return Registration.listUsers()
def index(self): """ Main web page for creating requests """ # Get the scram Architecture from the keys and the # CMSSW versions from the values self.scramArchs = SoftwareAdmin.listSoftware().keys() versionLists = SoftwareAdmin.listSoftware().values() self.versions = [] for l in versionLists: for v in l: if not v in self.versions: self.versions.append(v) self.versions.sort() # see if this was configured with a hardcoded user. If not, take from the request header requestor = self.requestor if not requestor: requestor = cherrypy.request.user["login"] if not requestor: return "No username found in your certificate" if not requestor in Registration.listUsers(): return "User %s is not registered. Contact a ReqMgr administrator." % requestor groups = GroupInfo.groupsForUser(requestor).keys() if groups == []: return "User " + requestor + " is not in any groups. Contact a ReqMgr administrator." campaigns = Campaign.listCampaigns() return self.templatepage("WebRequestSchema", yuiroot=self.yuiroot, requestor=requestor, groups=groups, versions=self.versions, archs=self.scramArchs, alldocs=Utilities.unidecode(self.allDocs()), allcampaigns=campaigns, defaultVersion=self.cmsswVersion, defaultArch=self.defaultArch, defaultSkimConfig=self.defaultSkimConfig)
def index(self): """ Main web page for creating requests """ # Get the scram Architecture from the keys and the # CMSSW versions from the values self.scramArchs = SoftwareAdmin.listSoftware().keys() versionLists = SoftwareAdmin.listSoftware().values() self.versions = [] for l in versionLists: for v in l: if not v in self.versions: self.versions.append(v) self.versions.sort() # see if this was configured with a hardcoded user. If not, take from the request header requestor = self.requestor if not requestor: requestor = cherrypy.request.user["login"] if not requestor: return "No username found in your certificate" if not requestor in Registration.listUsers(): return "User %s is not registered. Contact a ReqMgr administrator." % requestor groups = GroupInfo.groupsForUser(requestor).keys() if groups == []: return "User " + requestor + " is not in any groups. Contact a ReqMgr administrator." campaigns = Campaign.listCampaigns() return self.templatepage("WebRequestSchema", yuiroot=self.yuiroot, requestor=requestor, groups=groups, versions=self.versions, archs = self.scramArchs, alldocs = Utilities.unidecode(self.allDocs()), allcampaigns = campaigns, defaultVersion=self.cmsswVersion, defaultSkimConfig=self.defaultSkimConfig)
def putUser(self, userName, email, dnName=None): """ Needs to be passed an e-mail address, maybe dnName """ if Registration.isRegistered(userName): return "User already exists" result = Registration.registerUser(userName, email, dnName)
def handleAddUser(self, user, email=None): self.validate(user) Registration.registerUser(user, email) return "Added user %s" % user
def users(self): """ Lists all users. Should be paginated later """ allUsers = Registration.listUsers() self.validate(allUsers) return self.templatepage("Users", users=allUsers)
def handleAddUser(self, user, email=None): """ Handles setting user priority """ self.validate(user) Registration.registerUser(user, email) return "Added user %s" % user