def _save_cr(self, req): req.perm.assert_permission('CODE_REVIEW_EDIT') cs_id = req.args.get('id') req_ver = req.args.get('req_version') cr = CodeReview(self.env, int(cs_id)) if not cr.is_existent_rev(): return pretty_err(req, 'Review ID error', 'No ChangeSet %s, it cannot ' \ 'CodeReview for a Non-existent ChangeSet' % cs_id) error_info = [] try: req_ver = int(req_ver) except: error_info.append( 'No req_version, cannot know your version for editing.') if req.args.get('author').strip() == '': error_info.append('Author cannot be empty.') if req.args.get('text').strip() == '': error_info.append('CodeReview Content cannot be empty.') if req.args.get('status') not in [str(k) for k in status_str.keys()]: error_info.append('Status value is vaild.') if error_info: return pretty_err(req, 'Cannot save codereview', '<br>'.join(error_info)) item = cr.get_item() if cr.is_existent(): #item['text'] = item['text'] or '' if req_ver != item['version']: req.args['oldtext'] = req.args.get("text", " ") return self._display_edit(req) ver = int(item['version']) + 1 else: if req_ver != 0: req.args['oldtext'] = req.args.get("text", " ") return self._display_edit(req) ver = 1 if req.args.get('priority', '') in ('normal', 'critical'): item['priority'] = req.args.get('priority') item['text'] = req.args.get('text') item['time'] = round(time.mktime(time.localtime()), 2) item['author'] = req.args.get('author') item['status'] = int(req.args.get('status')) cr.set_item(item) cr.save() for change_listener in self.change_listeners: change_listener.review_changed(self.env, int(cs_id), req.args.get('text'), ver, req.args.get('author'), int(req.args.get('status')), item['priority'], req) req.redirect('%s/CodeReview/%s' % (self.env.href.base, cs_id))
def _save_cr(self, req): req.perm.assert_permission('CODE_REVIEW_EDIT') cs_id = req.args.get('id') req_ver = req.args.get('req_version') cr = CodeReview(self.env, int(cs_id)) if not cr.is_existent_rev(): return pretty_err(req, 'Review ID error', 'No ChangeSet %s, it cannot ' \ 'CodeReview for a Non-existent ChangeSet' % cs_id) error_info = [] try: req_ver = int(req_ver) except: error_info.append('No req_version, cannot know your version for editing.') if req.args.get('author').strip() == '': error_info.append('Author cannot be empty.') if req.args.get('text').strip() == '': error_info.append('CodeReview Content cannot be empty.') if req.args.get('status') not in [str(k) for k in status_str.keys()]: error_info.append('Status value is vaild.') if error_info: return pretty_err(req, 'Cannot save codereview', '<br>'.join(error_info)) item = cr.get_item() if cr.is_existent(): #item['text'] = item['text'] or '' if req_ver != item['version']: req.args['oldtext'] = req.args.get("text", " ") return self._display_edit(req) ver = int(item['version']) + 1 else: if req_ver != 0: req.args['oldtext'] = req.args.get("text", " ") return self._display_edit(req) ver = 1 if req.args.get('priority', '') in ('normal', 'critical'): item['priority'] = req.args.get('priority') item['text'] = req.args.get('text') item['time'] = round(time.mktime(time.localtime()), 2) item['author'] = req.args.get('author') item['status'] = int(req.args.get('status')) cr.set_item(item) cr.save() for change_listener in self.change_listeners: change_listener.review_changed(self.env, int(cs_id), req.args.get('text'), ver, req.args.get('author'), int(req.args.get('status')), item['priority'], req ) req.redirect('%s/CodeReview/%s' % (self.env.href.base, cs_id))