display_policies.lua 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. --- Display policies
  2. -- @module display_policies
  3. local display_policies = {
  4. name = "Display policies",
  5. slug = "display_policies",
  6. desc = "Presents a detailed list of org policies",
  7. hide = false;
  8. }
  9. display_policies.data = {
  10. }
  11. display_policies.config = {
  12. }
  13. --- Initiate function
  14. -- @function display_policies:initiate
  15. -- @param result Callback if this module is embedded in other modules
  16. function display_policies:initiate(result)
  17. local display_table = {}
  18. for k,v in pairs(self.org.modules) do
  19. local input = v.name
  20. table.insert(display_table, input)
  21. if v.config
  22. and modpol.util.num_pairs(v.config) > 0 then
  23. for k2,v2 in pairs(v.config) do
  24. local v2_string = ""
  25. if type(v2) == "string" then
  26. v2_string = v2
  27. elseif type(v2) == "table"
  28. or type(v2) == "number" then
  29. v2_string = tostring(v2)
  30. else
  31. v2_string = "Could not render"
  32. end
  33. input = k2..": "..v2_string
  34. table.insert(display_table, input)
  35. end
  36. end
  37. table.insert(display_table, "---")
  38. end
  39. local output = table.concat(display_table,"\n")
  40. if #display_table == 0 then
  41. output = "No modules found"
  42. end
  43. modpol.interactions.display(
  44. self.initiator,
  45. "Policies in org "..self.org.name,
  46. output,
  47. function()
  48. modpol.interactions.org_dashboard(
  49. self.initiator, self.org.id)
  50. if result then result() end
  51. self.org:delete_process(self.id)
  52. end
  53. )
  54. end
  55. modpol.modules.display_policies = display_policies