compass_ae_console 1.0.4 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. data/lib/compass_ae_console/engine.rb +0 -1
  2. data/lib/compass_ae_console/version.rb +2 -2
  3. data/spec/dummy/config/application.rb +6 -0
  4. data/spec/dummy/config/environments/spec.rb +3 -0
  5. data/spec/dummy/config/routes.rb +1 -1
  6. data/spec/dummy/db/data_migrations/20110525001935_add_usd_currency.erp_base_erp_svcs.rb +12 -0
  7. data/spec/dummy/db/data_migrations/20110608185830_create_default_dynamic_models_and_forms.erp_forms.rb +33 -0
  8. data/spec/dummy/db/data_migrations/20110609150135_add_iso_codes.erp_base_erp_svcs.rb +19 -0
  9. data/spec/dummy/db/data_migrations/20110728201729_erp_app_setup.erp_app.rb +298 -0
  10. data/spec/dummy/db/data_migrations/20110728201730_update_preferences.erp_app.rb +53 -0
  11. data/spec/dummy/db/data_migrations/20110802200222_schedule_delete_expired_sessions_job.erp_tech_svcs.rb +16 -0
  12. data/spec/dummy/db/data_migrations/20110816161238_create_desktop_app_audit_log_viewer.erp_app.rb +21 -0
  13. data/spec/dummy/db/data_migrations/20110817160743_add_file_manager_application.erp_app.rb +32 -0
  14. data/spec/dummy/db/data_migrations/20110824020426_create_desktop_app_console.compass_ae_console.rb +20 -0
  15. data/spec/dummy/db/data_migrations/20110828190913_create_desktop_app_dynamic_forms.erp_forms.rb +19 -0
  16. data/spec/dummy/db/data_migrations/20110913145838_setup_compass_ae_instance.erp_base_erp_svcs.rb +12 -0
  17. data/spec/dummy/db/data_migrations/20111108183739_add_default_capabilities.erp_app.rb +30 -0
  18. data/spec/dummy/db/data_migrations/20111108183740_add_new_contact_widgets.erp_app.rb +51 -0
  19. data/spec/dummy/db/data_migrations/20111111144706_setup_audit_log_types.erp_tech_svcs.rb +22 -0
  20. data/spec/dummy/db/data_migrations/20120109173616_create_download_capability_type.erp_tech_svcs.rb +14 -0
  21. data/spec/dummy/db/data_migrations/20120229160222_add_userinfo_widget.erp_app.rb +31 -0
  22. data/spec/dummy/db/data_migrations/20120405193721_create_party_and_role_type_for_communication_events.erp_app.rb +11 -0
  23. data/spec/dummy/db/data_migrations/20120411180756_create_user_management_mobile_application.erp_app.rb +19 -0
  24. data/spec/dummy/db/data_migrations/20120418164215_create_configuration_management_desktop_application.erp_app.rb +23 -0
  25. data/spec/dummy/db/data_migrations/20120824013449_create_ticket_form.erp_forms.rb +67 -0
  26. data/spec/dummy/db/data_migrations/20121026013449_update_ticket_form.erp_forms.rb +65 -0
  27. data/spec/dummy/db/data_migrations/20121026191738_update_contact_form.erp_forms.rb +27 -0
  28. data/spec/dummy/db/migrate/20121207195349_base_erp_services.erp_base_erp_svcs.rb +461 -0
  29. data/spec/dummy/db/migrate/20121207195350_base_tech_services.erp_tech_svcs.rb +255 -0
  30. data/spec/dummy/db/migrate/20121207195351_create_has_attribute_tables.erp_tech_svcs.rb +39 -0
  31. data/spec/dummy/db/migrate/20121207195352_base_app_framework.erp_app.rb +276 -0
  32. data/spec/dummy/db/migrate/20121207195353_dynamic_forms.erp_forms.rb +95 -0
  33. data/spec/dummy/db/migrate/20121207195354_create_tickets.erp_forms.rb +19 -0
  34. data/spec/dummy/db/migrate/20121207195355_upgrade_dynamic_forms_table.erp_forms.rb +32 -0
  35. data/spec/dummy/db/schema.rb +879 -0
  36. data/spec/dummy/db/spec.sqlite3 +0 -0
  37. data/spec/dummy/log/spec.log +3827 -0
  38. data/spec/spec_helper.rb +11 -3
  39. metadata +89 -9
@@ -7,6 +7,5 @@ module CompassAeConsole
7
7
  end
8
8
 
9
9
  ErpBaseErpSvcs.register_as_compass_ae_engine(config, self)
10
-
11
10
  end
12
11
  end
@@ -1,8 +1,8 @@
1
1
  module CompassAeConsole
2
2
  module VERSION #:nodoc:
3
- MAJOR = 1
3
+ MAJOR = 2
4
4
  MINOR = 0
5
- TINY = 4
5
+ TINY = 0
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].compact.join('.')
8
8
  end
@@ -37,6 +37,12 @@ module Dummy
37
37
 
38
38
  # Enable the asset pipeline
39
39
  config.assets.enabled = true
40
+
41
+ # Enforce whitelist mode for mass assignment.
42
+ # This will create an empty whitelist of attributes available for mass-assignment for all models
43
+ # in your app. As such, your models will need to explicitly whitelist or blacklist accessible
44
+ # parameters by using an attr_accessible or attr_protected declaration.
45
+ config.active_record.whitelist_attributes = true
40
46
  end
41
47
  end
42
48
 
@@ -1,6 +1,9 @@
1
1
  Dummy::Application.configure do
2
2
  # Settings specified here will take precedence over those in config/application.rb
3
3
 
4
+ # Raise exception on mass assignment protection for Active Record models
5
+ config.active_record.mass_assignment_sanitizer = :strict
6
+
4
7
  # In the development environment your application's code is reloaded on
5
8
  # every request. This slows down response time but is perfect for development
6
9
  # since you don't have to restart the web server when you make code changes.
@@ -1,4 +1,4 @@
1
1
  Rails.application.routes.draw do
2
2
 
3
- mount Console::Engine => "/console"
3
+ mount CompassAeConsole::Engine => "/console"
4
4
  end
@@ -0,0 +1,12 @@
1
+ # This migration comes from erp_base_erp_svcs (originally 20110525001935)
2
+ class AddUsdCurrency
3
+
4
+ def self.up
5
+ Currency.create(:name => 'US Dollar', :internal_identifier => 'USD', :major_unit_symbol => "$")
6
+ end
7
+
8
+ def self.down
9
+ Currency.usd.destroy
10
+ end
11
+
12
+ end
@@ -0,0 +1,33 @@
1
+ # This migration comes from erp_forms (originally 20110608185830)
2
+ class CreateDefaultDynamicModelsAndForms
3
+
4
+ def self.up
5
+ #insert data here
6
+ DynamicFormModel.create(:model_name => 'DynamicFormDocument')
7
+
8
+ fields = []
9
+
10
+ fields << DynamicFormField.textfield({:fieldLabel => 'First Name', :name => 'first_name', :width => 250, :allowBlank => false })
11
+ fields << DynamicFormField.textfield({:fieldLabel => 'Last Name', :name => 'last_name', :width => 250, :allowBlank => false })
12
+ fields << DynamicFormField.email({:fieldLabel => 'Email', :name => 'email', :width => 250, :allowBlank => false })
13
+ fields << DynamicFormField.textarea({:fieldLabel => 'Message', :name => 'message', :width => 400, :height => 200, :allowBlank => false })
14
+
15
+ d = DynamicForm.new
16
+ d.description = 'Contact Form'
17
+ d.definition = fields.to_json
18
+ d.model_name = 'WebsiteInquiry'
19
+ d.internal_identifier = 'contact_us'
20
+ d.default = true
21
+ d.dynamic_form_model = DynamicFormModel.create(:model_name => 'WebsiteInquiry')
22
+ d.comment = "This is the default form used by Knitkit's Contact Us Widget for Website Inquiries. NOTE: The Contact Us Widget uses Knitkit's website configuration options for email behavior & not the Dynamic Forms Widget Action setting."
23
+ d.msg_target = 'qtip'
24
+ d.save
25
+ end
26
+
27
+ def self.down
28
+ #remove data here
29
+ DynamicFormModel.delete_all
30
+ DynamicForm.delete_all
31
+ end
32
+
33
+ end
@@ -0,0 +1,19 @@
1
+ # This migration comes from erp_base_erp_svcs (originally 20110609150135)
2
+ require 'yaml'
3
+
4
+ class AddIsoCodes
5
+
6
+ def self.up
7
+ #find the erp_base_erp_svcs engine
8
+ engine_path = Rails::Application::Railties.engines.find{|item| item.engine_name == 'erp_base_erp_svcs'}.config.root.to_s
9
+
10
+ GeoCountry.load_from_file(File.join(engine_path,'db/data_sets/geo_countries.yml'))
11
+ GeoZone.load_from_file(File.join(engine_path,'db/data_sets/geo_zones.yml'))
12
+ end
13
+
14
+ def self.down
15
+ GeoCountry.delete_all
16
+ GeoZone.delete_all
17
+ end
18
+
19
+ end
@@ -0,0 +1,298 @@
1
+ # This migration comes from erp_app (originally 20110728201729)
2
+ class ErpAppSetup
3
+
4
+ def self.up
5
+ if(ContactPurpose.find_by_internal_identifier('default').nil?)
6
+
7
+ #######################################
8
+ #contact purposes
9
+ #######################################
10
+ [
11
+ {:description => 'Default', :internal_identifier => 'default'},
12
+ {:description => 'Home', :internal_identifier => 'home'},
13
+ {:description => 'Work', :internal_identifier => 'work'},
14
+ {:description => 'Billing', :internal_identifier => 'billing'},
15
+ {:description => 'Temporary', :internal_identifier => 'temporary'},
16
+ {:description => 'Tax Reporting', :internal_identifier => 'tax_reporting'},
17
+ {:description => 'Recruiting', :internal_identifier => 'recruiting'},
18
+ {:description => 'Employment Offer', :internal_identifier => 'employment_offer'},
19
+ {:description => 'Business', :internal_identifier => 'business'},
20
+ {:description => 'Personal', :internal_identifier => 'personal'},
21
+ {:description => 'Fax', :internal_identifier => 'fax'},
22
+ {:description => 'Mobile', :internal_identifier => 'mobile'},
23
+ {:description => 'Emergency', :internal_identifier => 'emergency'},
24
+ {:description => 'Shipping', :internal_identifier => 'shipping'},
25
+ {:description => 'Other', :internal_identifier => 'other'},
26
+ ].each do |item|
27
+ contact_purpose = ContactPurpose.find_by_internal_identifier(item[:internal_identifier])
28
+ ContactPurpose.create(:description => item[:description], :internal_identifier => item[:internal_identifier]) if contact_purpose.nil?
29
+ end
30
+
31
+ #######################################
32
+ #roles
33
+ #######################################
34
+ Role.create(:description => 'Admin', :internal_identifier => 'admin')
35
+ Role.create(:description => 'Employee', :internal_identifier => 'employee')
36
+
37
+ #######################################
38
+ #desktop setup
39
+ #######################################
40
+ #create preference types
41
+ desktop_backgroud_pt = PreferenceType.create(:description => 'Desktop Background', :internal_identifier => 'desktop_background')
42
+ extjs_theme_pt = PreferenceType.create(:description => 'Theme', :internal_identifier => 'extjs_theme')
43
+ desktop_shortcut_pt = PreferenceType.create(:description => 'Desktop Shortcut', :internal_identifier => 'desktop_shortcut')
44
+ auto_load_app_pt = PreferenceType.create(:description => 'Autoload Application', :internal_identifier => 'autoload_application')
45
+
46
+ #create preference options
47
+ #yes no options
48
+ yes_po = PreferenceOption.create(:description => 'Yes', :internal_identifier => 'yes', :value => 'yes')
49
+ no_po = PreferenceOption.create(:description => 'No', :internal_identifier => 'no', :value => 'no')
50
+
51
+ #desktop background options
52
+ truenorth_background_po = PreferenceOption.create(:description => 'TrueNorth Logo', :internal_identifier => 'truenorth_logo_background', :value => 'truenorth.png')
53
+ blue_background_po = PreferenceOption.create(:description => 'Blue', :internal_identifier => 'blue_desktop_background', :value => 'blue.gif')
54
+ gradient_background_po = PreferenceOption.create(:description => 'Grey Gradient', :internal_identifier => 'grey_gradient_desktop_background', :value => 'gradient.png')
55
+ purple_background_po = PreferenceOption.create(:description => 'Purple', :internal_identifier => 'purple_desktop_background', :value => 'purple.jpg')
56
+ planet_background_po = PreferenceOption.create(:description => 'Planet', :internal_identifier => 'planet_desktop_background', :value => 'planet.jpg')
57
+ portablemind_background_po = PreferenceOption.create(:description => 'Portablemind', :internal_identifier => 'portablemind_desktop_background', :value => 'portablemind.png')
58
+
59
+ #desktop theme options
60
+ access_extjs_theme_po = PreferenceOption.create(:description => 'Access', :internal_identifier => 'access_extjs_theme', :value => 'ext-all-access.css')
61
+ gray_extjs_theme_po = PreferenceOption.create(:description => 'Gray', :internal_identifier => 'gray_extjs_theme', :value => 'ext-all-gray.css')
62
+ blue_extjs_theme_po = PreferenceOption.create(:description => 'Blue', :internal_identifier => 'blue_extjs_theme', :value => 'ext-all.css')
63
+
64
+ #associate options
65
+ desktop_shortcut_pt.preference_options << yes_po
66
+ desktop_shortcut_pt.preference_options << no_po
67
+ desktop_shortcut_pt.default_preference_option = no_po
68
+ desktop_shortcut_pt.save
69
+
70
+ auto_load_app_pt.preference_options << yes_po
71
+ auto_load_app_pt.preference_options << no_po
72
+ auto_load_app_pt.default_preference_option = no_po
73
+ auto_load_app_pt.save
74
+
75
+ desktop_backgroud_pt.preference_options << blue_background_po
76
+ desktop_backgroud_pt.preference_options << truenorth_background_po
77
+ desktop_backgroud_pt.preference_options << gradient_background_po
78
+ desktop_backgroud_pt.preference_options << purple_background_po
79
+ desktop_backgroud_pt.preference_options << planet_background_po
80
+ desktop_backgroud_pt.preference_options << portablemind_background_po
81
+ desktop_backgroud_pt.default_preference_option = truenorth_background_po
82
+ desktop_backgroud_pt.save
83
+
84
+ extjs_theme_pt.preference_options << access_extjs_theme_po
85
+ extjs_theme_pt.preference_options << gray_extjs_theme_po
86
+ extjs_theme_pt.preference_options << blue_extjs_theme_po
87
+ extjs_theme_pt.default_preference_option = blue_extjs_theme_po
88
+ extjs_theme_pt.save
89
+
90
+ #######################################
91
+ #notes widget
92
+ #######################################
93
+ NoteType.create(:description => 'Basic Note', :internal_identifier => 'basic_note')
94
+
95
+ notes_grid = ::Widget.create(
96
+ :description => 'Notes',
97
+ :icon => 'icon-documents',
98
+ :xtype => 'shared_notesgrid',
99
+ :internal_identifier => 'shared_notes_grid'
100
+ )
101
+
102
+ notes_grid.add_role('admin')
103
+ notes_grid.add_role('employee')
104
+ notes_grid.save
105
+
106
+ #######################################
107
+ #user management app
108
+ #######################################
109
+ app_mgr = ::Widget.create(
110
+ :description => 'Application Management',
111
+ :icon => 'icon-user',
112
+ :xtype => 'controlpanel_userapplicationmgtpanel',
113
+ :internal_identifier => 'application_management'
114
+ )
115
+
116
+ app_mgr.add_role('admin')
117
+ app_mgr.save
118
+
119
+ role_mgr = ::Widget.create(
120
+ :description => 'Role Management',
121
+ :icon => 'icon-user',
122
+ :xtype => 'usermanagement_rolemanagementpanel',
123
+ :internal_identifier => 'role_management'
124
+ )
125
+
126
+ role_mgr.add_role('admin')
127
+ role_mgr.save
128
+
129
+ personal_info = ::Widget.create(
130
+ :description => 'User Personal Info',
131
+ :icon => 'icon-user',
132
+ :xtype => 'usermanagement_personalinfopanel',
133
+ :internal_identifier => 'user_personal_info'
134
+ )
135
+
136
+ personal_info.add_role('admin')
137
+ personal_info.add_role('employee')
138
+ personal_info.save
139
+
140
+ #create application and assign widgets
141
+ user_mgr_app = DesktopApplication.create(
142
+ :description => 'User Management',
143
+ :icon => 'icon-user',
144
+ :javascript_class_name => 'Compass.ErpApp.Desktop.Applications.UserManagement',
145
+ :internal_identifier => 'user_management',
146
+ :shortcut_id => 'user-management-win'
147
+ )
148
+
149
+ user_mgr_app.preference_types << desktop_shortcut_pt
150
+ user_mgr_app.preference_types << auto_load_app_pt
151
+
152
+ user_mgr_app.widgets << role_mgr
153
+ user_mgr_app.widgets << personal_info
154
+ user_mgr_app.widgets << app_mgr
155
+ user_mgr_app.widgets << notes_grid
156
+ user_mgr_app.save
157
+
158
+ #######################################
159
+ #system management app
160
+ #######################################
161
+ app_role_management = ::Widget.create(
162
+ :description => 'Application Role Management',
163
+ :icon => 'icon-document',
164
+ :xtype => 'systemmanagement_applicationrolemanagment',
165
+ :internal_identifier => 'application_role_management'
166
+ )
167
+
168
+ app_role_management.add_role('admin')
169
+ app_role_management.save
170
+
171
+ system_management_app = DesktopApplication.create(
172
+ :description => 'System Management',
173
+ :icon => 'icon-monitor',
174
+ :javascript_class_name => 'Compass.ErpApp.Desktop.Applications.SystemManagement',
175
+ :internal_identifier => 'system_management',
176
+ :shortcut_id => 'system_management-win'
177
+ )
178
+
179
+ system_management_app.preference_types << desktop_shortcut_pt
180
+ system_management_app.preference_types << auto_load_app_pt
181
+
182
+ system_management_app.widgets << app_role_management
183
+ system_management_app.save
184
+
185
+
186
+ #######################################
187
+ #scaffold app
188
+ #######################################
189
+ scaffold_app = DesktopApplication.create(
190
+ :description => 'Scaffold',
191
+ :icon => 'icon-data',
192
+ :javascript_class_name => 'Compass.ErpApp.Desktop.Applications.Scaffold',
193
+ :internal_identifier => 'scaffold',
194
+ :shortcut_id => 'scaffold-win'
195
+ )
196
+
197
+ scaffold_app.preference_types << PreferenceType.iid('desktop_shortcut')
198
+ scaffold_app.preference_types << PreferenceType.iid('autoload_application')
199
+ scaffold_app.save
200
+
201
+ #######################################
202
+ #organizer setup
203
+ #######################################
204
+
205
+ party_contact_mgm_widget = ::Widget.create(
206
+ :description => 'Party Contact Management',
207
+ :icon => 'icon-grid',
208
+ :xtype => 'contactmechanismgrid',
209
+ :internal_identifier => 'party_contact_management'
210
+ )
211
+
212
+ party_contact_mgm_widget.add_role('admin')
213
+ party_contact_mgm_widget.add_role('employee')
214
+ party_contact_mgm_widget.save
215
+
216
+ party_mgm_widget = ::Widget.create(
217
+ :description => 'Party Management',
218
+ :icon => 'icon-grid',
219
+ :xtype => 'partygrid',
220
+ :internal_identifier => 'party_management_widget'
221
+ )
222
+
223
+ party_mgm_widget.add_role('admin')
224
+ party_mgm_widget.add_role('employee')
225
+ party_mgm_widget.save
226
+
227
+ #create application
228
+ crm_app = OrganizerApplication.create(
229
+ :description => 'CRM',
230
+ :icon => 'icon-user',
231
+ :internal_identifier => 'crm'
232
+ )
233
+
234
+ crm_app.widgets << party_contact_mgm_widget
235
+ crm_app.widgets << party_mgm_widget
236
+ crm_app.widgets << notes_grid
237
+ crm_app.save
238
+
239
+ #######################################
240
+ #parties
241
+ #######################################
242
+
243
+ #Admins
244
+ Individual.create(:current_first_name => 'Admin',:current_last_name => 'Istrator',:gender => 'm')
245
+
246
+ #Organization
247
+ Organization.create(:description => 'TrueNorth')
248
+
249
+ #######################################
250
+ #users
251
+ #######################################
252
+ admin_indvidual = Individual.where('current_first_name = ?',"Admin").first
253
+ admin_user = User.create(
254
+ :username => "admin",
255
+ :email => "admin@portablemind.com"
256
+ )
257
+ admin_user.password = 'password'
258
+ admin_user.password_confirmation = 'password'
259
+ admin_user.party = admin_indvidual.party
260
+ admin_user.activate!
261
+ admin_user.save
262
+ admin_user.add_role('admin')
263
+ admin_user.save
264
+
265
+ truenorth = Organization.where('description = ?', 'TrueNorth').first
266
+ truenorth_user = User.create(
267
+ :username => truenorth.description.downcase,
268
+ :email => "#{truenorth.description.downcase}@gmail.com"
269
+ )
270
+ truenorth_user.password = 'password'
271
+ truenorth_user.password_confirmation = 'password'
272
+ truenorth_user.party = truenorth.party
273
+ truenorth_user.save
274
+ truenorth_user.activate!
275
+ truenorth_user.add_role('admin')
276
+ truenorth_user.save
277
+
278
+ admin_user.desktop.applications << user_mgr_app
279
+ admin_user.desktop.applications << system_management_app
280
+ admin_user.desktop.applications << scaffold_app
281
+ admin_user.desktop.save
282
+ admin_user.organizer.applications << crm_app
283
+ admin_user.organizer.save
284
+
285
+ truenorth_user.desktop.applications << user_mgr_app
286
+ truenorth_user.desktop.applications << system_management_app
287
+ truenorth_user.desktop.applications << scaffold_app
288
+ truenorth_user.desktop.save
289
+ truenorth_user.organizer.applications << crm_app
290
+ truenorth_user.organizer.save
291
+ end
292
+ end
293
+
294
+ def self.down
295
+ #remove data here
296
+ end
297
+
298
+ end
@@ -0,0 +1,53 @@
1
+ # This migration comes from erp_app (originally 20110728201730)
2
+ class UpdatePreferences
3
+
4
+ def self.up
5
+
6
+ truenorth_logo_po = PreferenceOption.where(:internal_identifier => 'truenorth_logo_background').first
7
+ if(truenorth_logo_po.value == 'truenorth.png')
8
+ #update background
9
+ truenorth_logo_po.value = 'truenorth_tech.png'
10
+ truenorth_logo_po.save
11
+
12
+ #remove backgrounds
13
+ %w{grey_gradient_desktop_background purple_desktop_background planet_desktop_background portablemind_desktop_background}.each do |background_iid|
14
+ pref_opt = PreferenceOption.find_by_internal_identifier(background_iid)
15
+ pref_opt.destroy unless pref_opt.nil?
16
+ end
17
+
18
+ #update themes
19
+ pref_opt = PreferenceOption.find_by_internal_identifier('access_extjs_theme')
20
+ pref_opt.value = 'extjs:ext-all-access'
21
+ pref_opt.save
22
+
23
+ pref_opt = PreferenceOption.find_by_internal_identifier('gray_extjs_theme')
24
+ pref_opt.value = 'extjs:ext-all-gray'
25
+ pref_opt.save
26
+
27
+ pref_opt = PreferenceOption.find_by_internal_identifier('blue_extjs_theme')
28
+ pref_opt.value = 'extjs:ext-all'
29
+ pref_opt.save
30
+
31
+ #add new themes
32
+ clifton_extjs_theme_po = PreferenceOption.create(:description => 'Clifton Default', :internal_identifier => 'clifton_extjs_theme', :value => 'clifton:clifton')
33
+ clifton_extjs_theme_green_po = PreferenceOption.create(:description => 'Clifton Green', :internal_identifier => 'clifton_extjs_theme', :value => 'clifton:clifton-green')
34
+ clifton_extjs_theme_yellow_po = PreferenceOption.create(:description => 'Clifton Yellow', :internal_identifier => 'clifton_extjs_theme', :value => 'clifton:clifton-yellow')
35
+ clifton_extjs_theme_pink_po = PreferenceOption.create(:description => 'Clifton Pink', :internal_identifier => 'clifton_extjs_theme', :value => 'clifton:clifton-pink')
36
+ clifton_extjs_theme_blue_po = PreferenceOption.create(:description => 'Clifton Blue', :internal_identifier => 'clifton_extjs_theme', :value => 'clifton:clifton-blue')
37
+
38
+ extjs_theme_pt = PreferenceType.find_by_internal_identifier('extjs_theme')
39
+ extjs_theme_pt.preference_options << clifton_extjs_theme_po
40
+ extjs_theme_pt.preference_options << clifton_extjs_theme_green_po
41
+ extjs_theme_pt.preference_options << clifton_extjs_theme_yellow_po
42
+ extjs_theme_pt.preference_options << clifton_extjs_theme_pink_po
43
+ extjs_theme_pt.preference_options << clifton_extjs_theme_blue_po
44
+ extjs_theme_pt.save
45
+ end
46
+
47
+ end
48
+
49
+ def self.down
50
+ #remove data here
51
+ end
52
+
53
+ end