20190409000001_setting_ticket_overview_priority_icon_and_color.rb 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. # Copyright (C) 2012-2022 Zammad Foundation, https://zammad-foundation.org/
  2. class SettingTicketOverviewPriorityIconAndColor < ActiveRecord::Migration[5.1]
  3. def change
  4. Setting.create_if_not_exists(
  5. title: 'Priority Icons in Overviews',
  6. name: 'ui_ticket_overview_priority_icon',
  7. area: 'UI::TicketOverview::PriorityIcons',
  8. description: 'Enables priority icons in ticket overviews.',
  9. options: {
  10. form: [
  11. {
  12. display: '',
  13. null: true,
  14. name: 'ui_ticket_overview_priority_icon',
  15. tag: 'boolean',
  16. translate: true,
  17. options: {
  18. true => 'yes',
  19. false => 'no',
  20. },
  21. },
  22. ],
  23. },
  24. state: false,
  25. preferences: {
  26. prio: 500,
  27. permission: ['admin.ui'],
  28. },
  29. frontend: true
  30. )
  31. if ActiveRecord::Base.connection.columns('ticket_priorities').map(&:name).exclude?('ui_icon')
  32. add_column :ticket_priorities, :ui_icon, :string, limit: 100, null: true
  33. end
  34. if ActiveRecord::Base.connection.columns('ticket_priorities').map(&:name).exclude?('ui_color')
  35. add_column :ticket_priorities, :ui_color, :string, limit: 100, null: true
  36. end
  37. Ticket::Priority.reset_column_information
  38. priority = Ticket::Priority.find_by(name: '1 low')
  39. priority&.update!(ui_icon: 'low-priority', ui_color: 'low-priority')
  40. priority = Ticket::Priority.find_by(name: '3 high')
  41. priority&.update!(ui_icon: 'important', ui_color: 'high-priority')
  42. end
  43. end