You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

21 lines
787 B

  1. from odoo import http
  2. from odoo.exceptions import AccessError
  3. from odoo.http import request
  4. from ..environment_checkup.runtime import all_installed_checks, display_data
  5. from ..environment_checkup.core import CheckResult
  6. class Dashboard(http.Controller):
  7. @http.route("/galicea_environment_checkup/data", type="json", auth="user")
  8. def data(self, request, **kw):
  9. if not request.env.user.has_group("base.group_erp_manager"):
  10. raise AccessError("Access Denied")
  11. checks = all_installed_checks(request.env)
  12. response = display_data(request.env, checks)
  13. priority = {CheckResult.FAIL: 0, CheckResult.WARNING: 1, CheckResult.SUCCESS: 2}
  14. response.sort(key=lambda res: (priority[res["result"]], res["module"]))
  15. return response