compass_ae_console 1.0.4 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
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