- Add a dropdown-select directive and use it in the git trigger setup dialog both times

- Add a dropdown-select for the docker file folder
- Add an API method for listing the build source sub directories
This commit is contained in:
Joseph Schorr 2014-02-24 20:36:54 -05:00
parent 4b0f4c0a7b
commit d1fdc31549
8 changed files with 331 additions and 59 deletions

View file

@ -29,7 +29,7 @@ from auth.permissions import (ReadRepositoryPermission,
ViewTeamPermission,
UserPermission)
from endpoints.common import common_login, get_route_data, truthy_param
from endpoints.trigger import BuildTrigger, TriggerActivationException
from endpoints.trigger import BuildTrigger, TriggerActivationException, EmptyRepositoryException
from util.cache import cache_control
from datetime import datetime, timedelta
@ -1369,6 +1369,39 @@ def _prepare_webhook_url(scheme, username, password, hostname, path):
return urlparse.urlunparse((scheme, auth_hostname, path, '', '', ''))
@api.route('/repository/<path:repository>/trigger/<trigger_uuid>/subdir',
methods=['POST'])
@api_login_required
@parse_repository_name
def list_build_trigger_subdirs(namespace, repository, trigger_uuid):
permission = AdministerRepositoryPermission(namespace, repository)
if permission.can():
try:
trigger = model.get_build_trigger(namespace, repository, trigger_uuid)
except model.InvalidBuildTriggerException:
abort(404)
return
handler = BuildTrigger.get_trigger_for_service(trigger.service.name)
user_permission = UserPermission(trigger.connected_user.username)
if user_permission.can():
new_config_dict = request.get_json()
try:
subdirs = handler.list_build_subdirs(trigger.auth_token, new_config_dict)
return jsonify({
'subdir': subdirs,
'status': 'success'
})
except EmptyRepositoryException as e:
return jsonify({
'status': 'error',
'message': e.msg
})
abort(403) # Permission denied
@api.route('/repository/<path:repository>/trigger/<trigger_uuid>/activate',
methods=['POST'])
@api_login_required