示例#1
0
    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())