def new(self, request): errors = '' project_name = self.proj_name user = request.user url = request.get_form_var('url') project = CodeDoubanProject.get_by_name(project_name) hooks = project.hooks if request.method == "POST": hook = CodeDoubanHook(0, url, project.id) exists_id = CodeDoubanHook.get_id_by_url(project.id, url) errors = hook.validate() if not project.is_owner(user): errors.append("You can't set hooks for this project") if exists_id is not None: errors.append("This hook url has exists") if not errors: CodeDoubanHook.add(hook.url, hook.project_id) return request.redirect('/%s/settings/hooks' % project_name) return st('settings/hooks.html', **locals())