20151105000003_update_overview6.rb 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. class UpdateOverview6 < ActiveRecord::Migration
  2. def up
  3. # return if it's a new setup
  4. return if !Setting.find_by(name: 'system_init_done')
  5. UserInfo.current_user_id = 1
  6. Overview.destroy_all
  7. overview_role = Role.where( name: 'Agent' ).first
  8. Overview.create_or_update(
  9. name: 'My assigned Tickets',
  10. link: 'my_assigned',
  11. prio: 1000,
  12. role_id: overview_role.id,
  13. condition: {
  14. 'ticket.state_id' => {
  15. operator: 'is',
  16. value: [ 1, 2, 3, 7 ],
  17. },
  18. 'ticket.owner_id' => {
  19. operator: 'is',
  20. pre_condition: 'current_user.id',
  21. },
  22. },
  23. order: {
  24. by: 'created_at',
  25. direction: 'ASC',
  26. },
  27. view: {
  28. d: %w(title customer group created_at),
  29. s: %w(title customer group created_at),
  30. m: %w(number title customer group created_at),
  31. view_mode_default: 's',
  32. },
  33. )
  34. Overview.create_or_update(
  35. name: 'Unassigned & Open',
  36. link: 'all_unassigned',
  37. prio: 1010,
  38. role_id: overview_role.id,
  39. condition: {
  40. 'ticket.state_id' => {
  41. operator: 'is',
  42. value: [1, 2, 3],
  43. },
  44. 'ticket.owner_id' => {
  45. operator: 'is',
  46. value: 1,
  47. },
  48. },
  49. order: {
  50. by: 'created_at',
  51. direction: 'ASC',
  52. },
  53. view: {
  54. d: %w(title customer group created_at),
  55. s: %w(title customer group created_at),
  56. m: %w(number title customer group created_at),
  57. view_mode_default: 's',
  58. },
  59. )
  60. Overview.create_or_update(
  61. name: 'My pending reached Tickets',
  62. link: 'my_pending_reached',
  63. prio: 1020,
  64. role_id: overview_role.id,
  65. condition: {
  66. 'ticket.state_id' => {
  67. operator: 'is',
  68. value: 3,
  69. },
  70. 'ticket.owner_id' => {
  71. operator: 'is',
  72. pre_condition: 'current_user.id',
  73. },
  74. 'ticket.pending_time' => {
  75. operator: 'within next (relative)',
  76. value: 0,
  77. range: 'minute',
  78. },
  79. },
  80. order: {
  81. by: 'created_at',
  82. direction: 'ASC',
  83. },
  84. view: {
  85. d: %w(title customer group created_at),
  86. s: %w(title customer group created_at),
  87. m: %w(number title customer group created_at),
  88. view_mode_default: 's',
  89. },
  90. )
  91. Overview.create_or_update(
  92. name: 'Open',
  93. link: 'all_open',
  94. prio: 1030,
  95. role_id: overview_role.id,
  96. condition: {
  97. 'ticket.state_id' => {
  98. operator: 'is',
  99. value: [1, 2, 3],
  100. },
  101. },
  102. order: {
  103. by: 'created_at',
  104. direction: 'ASC',
  105. },
  106. view: {
  107. d: %w(title customer group state owner created_at),
  108. s: %w(title customer group state owner created_at),
  109. m: %w(number title customer group state owner created_at),
  110. view_mode_default: 's',
  111. },
  112. )
  113. Overview.create_or_update(
  114. name: 'Pending reached',
  115. link: 'all_pending_reached',
  116. prio: 1040,
  117. role_id: overview_role.id,
  118. condition: {
  119. 'ticket.state_id' => {
  120. operator: 'is',
  121. value: [3],
  122. },
  123. 'ticket.pending_time' => {
  124. operator: 'within next (relative)',
  125. value: 0,
  126. range: 'minute',
  127. },
  128. },
  129. order: {
  130. by: 'created_at',
  131. direction: 'ASC',
  132. },
  133. view: {
  134. d: %w(title customer group owner created_at),
  135. s: %w(title customer group owner created_at),
  136. m: %w(number title customer group owner created_at),
  137. view_mode_default: 's',
  138. },
  139. )
  140. Overview.create_or_update(
  141. name: 'Escalated',
  142. link: 'all_escalated',
  143. prio: 1050,
  144. role_id: overview_role.id,
  145. condition: {
  146. 'ticket.escalation_time' => {
  147. operator: 'within next (relative)',
  148. value: '10',
  149. range: 'minute',
  150. },
  151. },
  152. order: {
  153. by: 'escalation_time',
  154. direction: 'ASC',
  155. },
  156. view: {
  157. d: %w(title customer group owner escalation_time),
  158. s: %w(title customer group owner escalation_time),
  159. m: %w(number title customer group owner escalation_time),
  160. view_mode_default: 's',
  161. },
  162. )
  163. overview_role = Role.where( name: 'Customer' ).first
  164. Overview.create_or_update(
  165. name: 'My Tickets',
  166. link: 'my_tickets',
  167. prio: 1100,
  168. role_id: overview_role.id,
  169. condition: {
  170. 'ticket.state_id' => {
  171. operator: 'is',
  172. value: [ 1, 2, 3, 4, 6, 7 ],
  173. },
  174. 'ticket.customer_id' => {
  175. operator: 'is',
  176. pre_condition: 'current_user.id',
  177. },
  178. },
  179. order: {
  180. by: 'created_at',
  181. direction: 'DESC',
  182. },
  183. view: {
  184. d: %w(title customer state created_at),
  185. s: %w(number title state created_at),
  186. m: %w(number title state created_at),
  187. view_mode_default: 's',
  188. },
  189. )
  190. Overview.create_or_update(
  191. name: 'My Organization Tickets',
  192. link: 'my_organization_tickets',
  193. prio: 1200,
  194. role_id: overview_role.id,
  195. organization_shared: true,
  196. condition: {
  197. 'ticket.state_id' => {
  198. operator: 'is',
  199. value: [ 1, 2, 3, 4, 6, 7 ],
  200. },
  201. 'ticket.organization_id' => {
  202. operator: 'is',
  203. pre_condition: 'current_user.organization_id',
  204. },
  205. },
  206. order: {
  207. by: 'created_at',
  208. direction: 'DESC',
  209. },
  210. view: {
  211. d: %w(title customer state created_at),
  212. s: %w(number title customer state created_at),
  213. m: %w(number title customer state created_at),
  214. view_mode_default: 's',
  215. },
  216. )
  217. end
  218. end