- Add log view under repos

- Make the logs a bit nicer by adding context-sensitive icons
- Fix some of the log descriptions
This commit is contained in:
Joseph Schorr 2013-12-02 14:55:04 -05:00
parent 64c9081587
commit 782405fe65
7 changed files with 108 additions and 23 deletions

View file

@ -713,6 +713,27 @@ def update_repo_api(namespace, repository):
abort(403)
@app.route('/api/repository/<path:repository>/logs', methods=['GET'])
@api_login_required
@parse_repository_name
def repo_logs_api(namespace, repository):
permission = AdministerRepositoryPermission(namespace, repository)
if permission.can():
print namespace
print repository
repo = model.get_repository(namespace, repository)
print repo
if not repo:
abort(404)
logs = model.list_logs(namespace, repository = repo)
return jsonify({
'logs': [log_view(log) for log in logs]
})
abort(403)
@app.route('/api/repository/<path:repository>/changevisibility',
methods=['POST'])
@api_login_required
@ -1201,7 +1222,7 @@ def change_team_permissions(namespace, repository, teamname):
new_permission['role'])
log_action('change_repo_permission', namespace,
{'team': team, 'repo': repository, 'role': new_permission['role']},
{'team': teamname, 'repo': repository, 'role': new_permission['role']},
repo=model.get_repository(namespace, repository))
resp = jsonify(role_view(perm))
@ -1324,7 +1345,7 @@ def change_token(namespace, repository, code):
new_permission['role'])
log_action('change_repo_permission', namespace,
{'repo': repository, 'token': token.friendly_name, 'code': code},
{'repo': repository, 'token': token.friendly_name, 'code': code, 'role': new_permission['role']},
repo = model.get_repository(namespace, repository))
resp = jsonify(token_view(token))
@ -1688,10 +1709,7 @@ def delete_org_robot(orgname, robot_shortname):
abort(403)
@app.route('/api/organization/<orgname>/logs', methods=['GET'])
@api_login_required
def org_logs_api(orgname):
def log_view(log):
def log_view(log):
view = {
'kind': log.kind.name,
'metadata': json.loads(log.metadata_json),
@ -1707,6 +1725,9 @@ def org_logs_api(orgname):
return view
@app.route('/api/organization/<orgname>/logs', methods=['GET'])
@api_login_required
def org_logs_api(orgname):
permission = AdministerOrganizationPermission(orgname)
if permission.can():
logs = model.list_logs(orgname)
@ -1715,3 +1736,4 @@ def org_logs_api(orgname):
})
abort(403)