def process_admin_request(self, req, cat, page, milestone): req.perm.assert_permission('MMV_ADMIN') if req.args.get('save'): # save # empty table first MMV_List.deleteAll(self.env) # insert selected milestone into table db = self.env.get_db_cnx() selReq = req.args.get('sel') milestoneReq = req.args.get('milestone') startdateReq = req.args.get('startdate') enddateReq = req.args.get('enddate') selList = isinstance(selReq, list) and selReq or [selReq] milestoneList = isinstance(milestoneReq, list) and milestoneReq or [milestoneReq] startdateList = isinstance(startdateReq, list) and startdateReq or [startdateReq] enddateList = isinstance(enddateReq, list) and enddateReq or [enddateReq] for milestone, startdate, enddate in zip(milestoneList, startdateList, enddateList): startdate = getDateFromStr(startdate) enddate = getDateFromStr(enddate) if milestone in selList: enabled = True else: enabled = False MMV_List.insert(self.env, milestone, startdate, enddate, enabled) db.commit() req.redirect(self.env.href.admin(cat, page)) elif req.args.get('repair'): # repair # empty table first MMV_List.deleteAllHistory(self.env) req.redirect(self.env.href.admin(cat, page)) else: # display # get all enabled milestones enabledMilestones = MMV_List.getEnabledMilestones(self.env) ms = Milestone.select(self.env) ms.sort(cmp=lambda x,y: cmp(x.name, y.name)) req.hdf['date_hint'] = "Format: YYYY/MM/DD" req.hdf['milestones'] = [{'name': m.name, 'href': self.env.href.admin(cat, "milestones", m.name), 'enabled': m.name in enabledMilestones, 'startdate': formatDateFull(MMV_List.getStartdateFromDb(self.env, m.name)), 'enddate': formatDateFull(MMV_List.getEnddateFromDb(self.env, m.name)), } for m in ms] return 'mmv_admin.cs', None