def __init__(self, ticket): self.project = CodeDoubanProject.get(ticket.project_id) self.proj_name = self.project.name self.ticket_id = ticket.ticket_number self.ticket = ticket self.pullreq = PullRequest.get_by_proj_and_ticket( self.project.id, self.ticket_id)
def telchar(self, request): proj_id = self.proj_id user = request.user project = CodeDoubanProject.get(proj_id) url = TELCHAR_URL if project.is_owner(user): is_disable = request.get_form_var('close', '') if is_disable: hook = CodeDoubanHook.get_by_url(url) if hook: hook.destroy() status = 0 else: CodeDoubanHook.add(url, proj_id) status = 1 return {'r': 0, 'status': status} return {'r': 1}
def delete_tag(request): # FIXME: ugly if request.method == "POST": user = request.user if not user: return {'r': 0, 'msg': '未登录,请先登录'} tag_name = request.get_form_var('tag_name', '').decode('utf-8') tag_type = request.get_form_var('tag_type', '') tag_target_id = request.get_form_var('tag_target_id', '') if not tag_name: return {'r': 0, 'msg': 'tag不能为空'} try: tag_type, tag_target_id = int(tag_type), int(tag_target_id) except: return {'r': 0, 'msg': '错误的数据类型'} if tag_type == TAG_TYPE_PROJECT_ISSUE: target = CodeDoubanProject.get(tag_target_id) elif tag_type == TAG_TYPE_TEAM_ISSUE: target = Team.get(tag_target_id) else: return {'r': 0, 'msg': '错误的数据类型'} if not target.is_admin(user.name): return {'r': 0, 'msg': '没有操作权限'} tname = TagName.get_by_name_and_target_id(tag_name, tag_type, target.id) if not tname: return {'r': 0, 'msg': 'tag不存在'} tags = Tag.gets_by_tag_id(tname.id) for tag in tags: tag.delete() tname.delete() return {'r': 1, 'msg': '删除成功'}
def projects(self): from models.project import CodeDoubanProject return filter(None, [CodeDoubanProject.get(_) for _ in self.project_ids])
def project(self): from models.project import CodeDoubanProject return CodeDoubanProject.get(self.target.project_id)
def projects(self): from models.project import CodeDoubanProject rs = ProjectGroup.gets(group_id=self.id) return filter(None, [CodeDoubanProject.get(r.project_id) for r in rs])
def proj_name(self): from models.project import CodeDoubanProject return CodeDoubanProject.get(self.project_id).name