blob: e421ae35a96cea875040e3d311de0da84fd6aea0 [file] [log] [blame]
# Copyright 2018 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import json
from dashboard.api import api_request_handler
from dashboard.models import report_template
class ReportTemplateHandler(api_request_handler.ApiRequestHandler):
def _CheckUser(self):
self._CheckIsInternalUser()
def Post(self):
template = json.loads(self.request.get('template'))
name = self.request.get('name', None)
owners = self.request.get('owners', None)
if template is None or name is None or owners is None:
raise api_request_handler.BadRequestError
owners = owners.split(',')
template_id = self.request.get('id', None)
if template_id is not None:
try:
template_id = int(template_id)
except ValueError:
raise api_request_handler.BadRequestError
try:
report_template.PutTemplate(template_id, name, owners, template)
except ValueError:
raise api_request_handler.BadRequestError
return report_template.List()