diff --git a/monitoring/scoreboard/scoreboard_ui.py b/monitoring/scoreboard/scoreboard_ui.py index 805b5ee..a441b40 100755 --- a/monitoring/scoreboard/scoreboard_ui.py +++ b/monitoring/scoreboard/scoreboard_ui.py @@ -43,14 +43,16 @@ def results(): # so we don't get hammered by reloading pages project = request.args.get('project', None) count = request.args.get('count', None) - start = request.args.get('start', None) + skip = request.args.get('skip', None) timeframe = request.args.get('timeframe', None) + start = request.args.get('start', None) + end = request.args.get('end', None) - return query_results(project, count, start, timeframe) + return query_results(project, count, skip, timeframe, start, end) - -def query_results(project, count, start, timeframe): +def query_results(project, count, skip, timeframe, start, end): query = {} + date_format = '%Y-%m-%d' if project: query['project'] = project if timeframe: @@ -58,6 +60,10 @@ def query_results(project, count, start, timeframe): current_time = datetime.datetime.utcnow() start_time = current_time - datetime.timedelta(hours=num_hours) query['created'] = {'$gt': start_time} + elif start and end: + start = datetime.datetime.strptime(start, date_format) + end = datetime.datetime.strptime(end, date_format) + query['created'] = {'$gte': start, '$lt': end} records = db.test_results.find(query).sort('created', pymongo.DESCENDING) return json_util.dumps(records) diff --git a/monitoring/scoreboard/static/scoreboard.js b/monitoring/scoreboard/static/scoreboard.js index 68b7cda..999b7e2 100644 --- a/monitoring/scoreboard/static/scoreboard.js +++ b/monitoring/scoreboard/static/scoreboard.js @@ -288,12 +288,16 @@ var Scoreboard = (function () { var current_project = get_param_by_name('project'); var current_user = get_param_by_name('user'); var current_timeframe = get_param_by_name('timeframe'); + var start_date = get_param_by_name('start'); + var end_date = get_param_by_name('end'); var form = $(document.createElement('form')); add_input_to_form(form, 'text', 'Project Name', 'project', current_project); add_input_to_form(form, 'text', 'CI Account Username', 'user', current_user); add_input_to_form(form, 'text', 'Timeframe (hours)', 'timeframe', current_timeframe); + add_input_to_form(form, 'date', 'Start Date', 'start', start_date); + add_input_to_form(form, 'date', 'End Date', 'end', end_date); // TODO: Implement the "start" and "count" filters so we can do pagination submit_button = $('', { type:'submit', value:'GO!'});