callbacks: add proper custom git callback

This commit is contained in:
Jimmy Zelinskie 2015-03-27 11:22:07 -04:00
parent da15eda2bf
commit fba61d96dc
4 changed files with 29 additions and 12 deletions

View file

@ -277,3 +277,27 @@ def attach_github_build_trigger(namespace, repository):
return redirect(full_url)
abort(403)
@callback.route('/custom/callback/trigger/<path:repository>', methods=['GET'])
@callback.route('/custom/callback/trigger/<path:repository>/__new', methods=['GET'])
@require_session_login
@parse_repository_name
def activate_custom_build_trigger(namespace, repository):
permission = AdministerRepositoryPermission(namespace, repository)
if permission.can():
repo = model.get_repository(namespace, repository)
if not repo:
msg = 'Invalid repository: %s/%s' % (namespace, repository)
abort(404, message=msg)
trigger = model.create_build_trigger(repo, 'custom', None, current_user.db_user())
# TODO(jschorr): Remove once the new layout is in place.
admin_path = '%s/%s/%s' % (namespace, repository, 'admin')
full_url = '%s%s%s' % (url_for('web.repository', path=admin_path), '?tab=trigger&new_trigger=',
trigger.uuid)
logger.debug('Redirecting to full url: %s', full_url)
return redirect(full_url)
abort(403)