wa_id_permission.rb 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. # encoding:utf-8
  2. class WaIdPermission < ActiveRecord::Base
  3. has_paper_trail
  4. self.table_name = "wa_id_permissions"
  5. # belongs_to :project, :foreign_key => :project_id
  6. URL_TYPE_ENUM = [["按钮","button"],["菜单","menu"], ["一般","general"]]
  7. def wf_parent_permision_names
  8. permision_names = ""
  9. parentidArray = Array.new
  10. if !self.parentids.blank? && self.parentids != nil && self.url_type == "button"
  11. parentidArray = self.parentids.split("/")
  12. end
  13. parentidArray.each do |i|
  14. j = i.to_i
  15. waIdPermission = WaIdPermission.find_by_sql("select name as pmname from wa_id_permissions where id = #{j} limit 1")
  16. puts waIdPermission
  17. if !waIdPermission.blank? && waIdPermission != nil
  18. waIdPermission.each do |u|
  19. permision_names = permision_names + u.pmname + ","
  20. end
  21. end
  22. end
  23. return permision_names
  24. end
  25. def wf_menu_parent_name
  26. permision_names = ""
  27. if self.m_parentid != nil
  28. waIdPermission = WaIdPermission.find_by_sql("select name as pmname from wa_id_permissions where id = #{self.m_parentid} limit 1")
  29. puts waIdPermission
  30. if !waIdPermission.blank? && waIdPermission != nil
  31. waIdPermission.each do |u|
  32. permision_names = u.pmname
  33. end
  34. end
  35. end
  36. return permision_names
  37. end
  38. rails_admin do
  39. navigation_label '报表权限管理系统'
  40. parent WaIdUser
  41. weight -150
  42. list do
  43. sort_by 'm_parentid + 1 , sort + 0'
  44. sort_reverse true
  45. filters [:id]
  46. field :id
  47. field :name
  48. field :url_type, :enum do
  49. enum do
  50. URL_TYPE_ENUM
  51. end
  52. end
  53. field :url
  54. field :url_path
  55. field :percode
  56. field :wf_menu_parent_name
  57. field :parentid
  58. field :parentids
  59. field :wf_parent_permision_names
  60. field :sort
  61. field :is_available
  62. end
  63. show do
  64. field :id
  65. field :name
  66. field :url_type, :enum do
  67. enum do
  68. URL_TYPE_ENUM
  69. end
  70. end
  71. field :url
  72. field :url_path
  73. field :percode
  74. field :m_parentid
  75. field :parentid
  76. field :wf_menu_parent_name
  77. field :parentids
  78. field :wf_parent_permision_names
  79. field :sort
  80. field :is_available
  81. field :created_at
  82. field :updated_at
  83. end
  84. edit do
  85. field :name
  86. field :url_type, :enum do
  87. enum do
  88. URL_TYPE_ENUM
  89. end
  90. end
  91. field :url
  92. field :url_path
  93. field :percode
  94. field :m_parentid
  95. field :parentid
  96. field :parentids
  97. field :sort
  98. field :is_available
  99. end
  100. end
  101. end