def _GET(self, *param, **params): (host_id, guest_id) = self.chk_guestby1(param) if guest_id is None: return web.notfound() model = findbyguest1(self.orm, guest_id) # virt self.kvc = KaresansuiVirtConnection() try: domname = self.kvc.uuid_to_domname(model.uniq_key) if not domname: return web.notfound() finally: self.kvc.close() (check, edit) = validates_jobsearch(self) if check is False: return web.badrequest(self.view.alert) if edit is True: # user search users = findbyname_BM(self.orm, self.input.user) users_id = [] for user in users: users_id.append(user.id) if is_empty(self.input.start): start = None else: start = str2datetime(self.input.start, DEFAULT_LANGS[self.me.languages]['DATE_FORMAT'][0]) if is_empty(self.input.end): end = None else: end = str2datetime(self.input.end, DEFAULT_LANGS[self.me.languages]['DATE_FORMAT'][0],True) # machine search m_m2js = m2mj_findbyguest(self.orm, guest_id, start, end, users_id, ) if not m_m2js: self.logger.debug("Search m_m2js failed. " "Did not exist m_m2js that in accord with these query. " "guest_id %s, start %s, end %s, users_id %s" % (guest_id, start, end, users_id)) return web.nocontent() self.view.m_m2js = m_m2js self.view.user = self.input.user self.view.status = self.input.status self.view.start = self.input.start self.view.end = self.input.end jobgroup_ids = [] for m_m2j in m_m2js: jobgroup_ids.append(m_m2j[1].jobgroup_id) jobgroup_status = self.input.status if is_empty(jobgroup_status): jobgroup_status = None jobgroups = jg_findbyalltype(self.pysilhouette.orm, JOBGROUP_TYPE["SERIAL"], jobgroup_ids, jobgroup_status, desc=True) if not jobgroups: self.logger.debug("Search jobgroups failed. " "Did not exist jobgroups that in accord with these query." "jobgroup_ids %s, jobgroup_status %s" % (jobgroup_ids, jobgroup_status)) return web.nocontent() else: m_m2js = m2mj_findbyguest(self.orm, guest_id) self.view.m_m2js = m_m2js self.view.user = '' self.view.status = '' self.view.start = '' self.view.end = '' jobgroup_ids = [] for m_m2j in m_m2js: jobgroup_ids.append(m_m2j[1].jobgroup_id) jobgroups = jg_findbyalltype(self.pysilhouette.orm, JOBGROUP_TYPE["SERIAL"], jobgroup_ids, desc=True) self.view.JOBGROUP_STATUS = JOBGROUP_STATUS self.view.HYPERVISOR = MACHINE_HYPERVISOR if self.input.has_key('p') is True: if validates_page(self) is True: start = int(self.input.p) else: return web.badrequest(self.view.alert) else: start = 0 self.view.date_format = DEFAULT_LANGS[self.me.languages]['DATE_FORMAT'][1] self.view.pager = Pager(jobgroups, start, JOB_LIST_RANGE) return True
def _GET(self, *param, **params): (check, edit) = validates_jobsearch(self) if check is False: return web.badrequest(self.view.alert) if edit is True: # user search users = findbyname_BM(self.orm, self.input.user) users_id = [] for user in users: users_id.append(user.id) machine_name = self.input.name.strip() if is_empty(machine_name): machine_name = None if is_empty(self.input.start): start = None else: start = str2datetime(self.input.start, DEFAULT_LANGS[self.me.languages]["DATE_FORMAT"][0]) if is_empty(self.input.end): end = None else: end = str2datetime(self.input.end, DEFAULT_LANGS[self.me.languages]["DATE_FORMAT"][0], True) # machine search m_m2js = m2mj_findbyall(self.orm, machine_name, start, end, users_id, True) if not m_m2js: self.logger.debug( "Search m_m2js failed. " "Did not exist m_m2js that in accord with these query. " "name %s, user_id %s, start %s, end %s" % (machine_name, users_id, start, end) ) return web.nocontent() self.view.m_m2js = m_m2js self.view.name = self.input.name self.view.user = self.input.user self.view.status = self.input.status self.view.start = self.input.start self.view.end = self.input.end jobgroup_ids = [] for m_m2j in m_m2js: jobgroup_ids.append(m_m2j[1].jobgroup_id) jobgroup_status = self.input.status if is_empty(jobgroup_status): jobgroup_status = None jobgroups = jg_findbyalltype( self.pysilhouette.orm, JOBGROUP_TYPE["SERIAL"], jobgroup_ids, jobgroup_status, desc=True ) if not jobgroups: self.logger.debug( "Search jobgroups failed. " "Did not exist jobgroups that in accord with these query. " "jobgroup_ids %s, jobgroup_status %s" % (jobgroup_ids, jobgroup_status) ) return web.nocontent() else: m_m2js = m2mj_findbyall(self.orm) self.view.m_m2js = m_m2js self.view.name = "" self.view.user = "" self.view.status = "" self.view.start = "" self.view.end = "" self.view.m_m2js = m_m2js jobgroup_ids = [] for m_m2j in m_m2js: jobgroup_ids.append(m_m2j[1].jobgroup_id) jobgroups = jg_findbyalltype(self.pysilhouette.orm, JOBGROUP_TYPE["SERIAL"], jobgroup_ids, desc=True) self.view.JOBGROUP_STATUS = JOBGROUP_STATUS self.view.HYPERVISOR = MACHINE_HYPERVISOR if self.input.has_key("p") is True: start = int(self.input.p) else: start = 0 self.view.date_format = DEFAULT_LANGS[self.me.languages]["DATE_FORMAT"][1] self.view.pager = Pager(jobgroups, start, JOB_LIST_RANGE) return True
def _GET(self, *param, **params): host_id = self.chk_hostby1(param) if host_id is None: return web.notfound() (check, edit) = validates_jobsearch(self) if check is False: return web.badrequest(self.view.alert) if edit is True: users = findbyname_BM(self.orm, self.input.user) users_id = [] for user in users: users_id.append(user.id) machine_name = self.input.name.strip() if is_empty(machine_name): machine_name = None if is_empty(self.input.start): start = None else: start = str2datetime( self.input.start, DEFAULT_LANGS[self.me.languages]['DATE_FORMAT'][0]) if is_empty(self.input.end): end = None else: end = str2datetime( self.input.end, DEFAULT_LANGS[self.me.languages]['DATE_FORMAT'][0], True) m_m2js = m2mj_findbyall(self.orm, machine_name, start, end, users_id, True) if not m_m2js: self.logger.debug( "Search m_m2js failed. " "Did not exist m_m2js that in accord with these query. " "name %s, user_id %s, start %s, end %s" % (machine_name, users_id, start, end)) return web.nocontent() self.view.m_m2js = m_m2js self.view.name = self.input.name self.view.user = self.input.user self.view.status = self.input.status self.view.start = self.input.start self.view.end = self.input.end jobgroup_ids = [] for m_m2j in m_m2js: jobgroup_ids.append(m_m2j[1].jobgroup_id) jobgroup_status = self.input.status if is_empty(jobgroup_status): jobgroup_status = None jobgroups = jg_findbyalltype(self.pysilhouette.orm, JOBGROUP_TYPE["SERIAL"], jobgroup_ids, jobgroup_status, desc=True) if not jobgroups: self.logger.debug( "Search jobgroups failed. " "Did not exist jobgroups that in accord with these query. " "jobgroup_ids %s, jobgroup_status %s" % (jobgroup_ids, jobgroup_status)) return web.nocontent() else: m_m2js = m2mj_findbyhost(self.orm, host_id) self.view.m_m2js = m_m2js self.view.name = '' self.view.user = '' self.view.status = '' self.view.start = '' self.view.end = '' jobgroup_ids = [] for m_m2j in m_m2js: jobgroup_ids.append(m_m2j[1].jobgroup_id) jobgroups = jg_findbyalltype(self.pysilhouette.orm, JOBGROUP_TYPE["SERIAL"], jobgroup_ids, desc=True) self.view.JOBGROUP_STATUS = JOBGROUP_STATUS self.view.HYPERVISOR = MACHINE_HYPERVISOR if self.input.has_key('p') is True: if validates_page(self) is True: start = int(self.input.p) else: return web.badrequest(self.view.alert) else: start = 0 self.view.date_format = DEFAULT_LANGS[ self.me.languages]['DATE_FORMAT'][1] self.view.pager = Pager(jobgroups, start, JOB_LIST_RANGE) return True