erp_rules 3.0.4 → 3.1.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 (44) hide show
  1. data/app/models/customer_txn_context.rb +1 -0
  2. data/app/models/environment_txn_context.rb +1 -0
  3. data/app/models/search_txn_context.rb +1 -0
  4. data/lib/erp_rules/version.rb +2 -2
  5. data/lib/erp_rules.rb +2 -1
  6. data/spec/dummy/config/application.rb +6 -0
  7. data/spec/dummy/config/environments/spec.rb +3 -0
  8. data/spec/dummy/db/data_migrations/20101014142230_financial_txn_types.erp_txns_and_accts.rb +16 -0
  9. data/spec/dummy/db/data_migrations/20110109173616_create_capability_scope_types.erp_tech_svcs.rb +15 -0
  10. data/spec/dummy/db/data_migrations/20110525001935_add_usd_currency.erp_base_erp_svcs.rb +12 -0
  11. data/spec/dummy/db/data_migrations/20110609150135_add_iso_codes.erp_base_erp_svcs.rb +19 -0
  12. data/spec/dummy/db/data_migrations/20110728201729_erp_app_setup.erp_app.rb +252 -0
  13. data/spec/dummy/db/data_migrations/20110728201733_update_preferences.erp_app.rb +53 -0
  14. data/spec/dummy/db/data_migrations/20110802200222_schedule_delete_expired_sessions_job.erp_tech_svcs.rb +16 -0
  15. data/spec/dummy/db/data_migrations/20110816161238_create_desktop_app_audit_log_viewer.erp_app.rb +21 -0
  16. data/spec/dummy/db/data_migrations/20110817160743_add_file_manager_application.erp_app.rb +32 -0
  17. data/spec/dummy/db/data_migrations/20110913145838_setup_compass_ae_instance.erp_base_erp_svcs.rb +12 -0
  18. data/spec/dummy/db/data_migrations/20111108183739_add_default_capabilities.erp_app.rb +23 -0
  19. data/spec/dummy/db/data_migrations/20111108183740_add_new_contact_widgets.erp_app.rb +42 -0
  20. data/spec/dummy/db/data_migrations/20111111144706_setup_audit_log_types.erp_tech_svcs.rb +22 -0
  21. data/spec/dummy/db/data_migrations/20120109173616_create_download_capability_type.erp_tech_svcs.rb +14 -0
  22. data/spec/dummy/db/data_migrations/20120229160222_add_userinfo_widget.erp_app.rb +29 -0
  23. data/spec/dummy/db/data_migrations/20120405193721_create_party_and_role_type_for_communication_events.erp_app.rb +11 -0
  24. data/spec/dummy/db/data_migrations/20120411180756_create_user_management_mobile_application.erp_app.rb +19 -0
  25. data/spec/dummy/db/data_migrations/20120418164215_create_configuration_management_desktop_application.erp_app.rb +23 -0
  26. data/spec/dummy/db/data_migrations/20121116155018_create_group_relationship_and_role_types.erp_tech_svcs.rb +20 -0
  27. data/spec/dummy/db/data_migrations/20121130201859_upgrade_remove_system_mgmt_app.erp_app.rb +16 -0
  28. data/spec/dummy/db/data_migrations/20121130212146_note_capabilities.erp_tech_svcs.rb +24 -0
  29. data/spec/dummy/db/data_migrations/20121218175028_create_security_management_desktop_application.erp_app.rb +23 -0
  30. data/spec/dummy/db/migrate/20121214005236_base_erp_services.erp_base_erp_svcs.rb +461 -0
  31. data/spec/dummy/db/migrate/20121214005237_base_tech_services.erp_tech_svcs.rb +255 -0
  32. data/spec/dummy/db/migrate/20121214005238_create_has_attribute_tables.erp_tech_svcs.rb +39 -0
  33. data/spec/dummy/db/migrate/20121214005239_base_txns_and_accts.erp_txns_and_accts.rb +364 -0
  34. data/spec/dummy/db/migrate/20121214005240_agreements_services.erp_agreements.rb +160 -0
  35. data/spec/dummy/db/migrate/20121214005241_agreements_services_indexes.erp_agreements.rb +52 -0
  36. data/spec/dummy/db/migrate/20121214005242_base_app_framework.erp_app.rb +276 -0
  37. data/spec/dummy/db/migrate/20130107181307_create_groups.erp_tech_svcs.rb +19 -0
  38. data/spec/dummy/db/migrate/20130107181308_upgrade_security.erp_tech_svcs.rb +54 -0
  39. data/spec/dummy/db/migrate/20130107181309_upgrade_security2.erp_tech_svcs.rb +270 -0
  40. data/spec/dummy/db/schema.rb +1247 -0
  41. data/spec/dummy/db/spec.sqlite3 +0 -0
  42. data/spec/dummy/log/spec.log +10110 -0
  43. data/spec/spec_helper.rb +11 -3
  44. metadata +104 -13
@@ -1,4 +1,5 @@
1
1
  class CustomerTxnContext < ActiveRecord::Base
2
+ attr_protected :created_at, :updated_at
2
3
 
3
4
  has_one :base_txn_context, :as => :txn_context_record
4
5
 
@@ -1,4 +1,5 @@
1
1
  class EnvironmentTxnContext < ActiveRecord::Base
2
+ attr_protected :created_at, :updated_at
2
3
 
3
4
  has_one :base_txn_context, :as => :txn_context_record
4
5
 
@@ -1,4 +1,5 @@
1
1
  class SearchTxnContext < ActiveRecord::Base
2
+ attr_protected :created_at, :updated_at
2
3
 
3
4
  has_one :base_txn_context, :as => :txn_context_record
4
5
 
@@ -1,8 +1,8 @@
1
1
  module ErpRules
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 3
4
- MINOR = 0
5
- TINY = 4
4
+ MINOR = 1
5
+ TINY = 0
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].compact.join('.')
8
8
  end
data/lib/erp_rules.rb CHANGED
@@ -1,3 +1,5 @@
1
+ require "erp_base_erp_svcs"
2
+
1
3
  require "erp_rules/version"
2
4
  require 'erp_rules/rules_engine/context_builder'
3
5
  require 'erp_rules/rules_engine/rules_facade'
@@ -5,7 +7,6 @@ require 'erp_rules/rules_engine/ruleby/engine'
5
7
  require 'erp_rules/rules_engine'
6
8
  require "erp_rules/extensions"
7
9
  require "erp_rules/engine"
8
- require "erp_base_erp_svcs"
9
10
 
10
11
  module ErpRules
11
12
  end
@@ -39,6 +39,12 @@ module Dummy
39
39
 
40
40
  # Enable the asset pipeline
41
41
  config.assets.enabled = true
42
+
43
+ # Enforce whitelist mode for mass assignment.
44
+ # This will create an empty whitelist of attributes available for mass-assignment for all models
45
+ # in your app. As such, your models will need to explicitly whitelist or blacklist accessible
46
+ # parameters by using an attr_accessible or attr_protected declaration.
47
+ config.active_record.whitelist_attributes = true
42
48
  end
43
49
  end
44
50
 
@@ -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.
@@ -0,0 +1,16 @@
1
+ # This migration comes from erp_txns_and_accts (originally 20101014142230)
2
+ class FinancialTxnTypes
3
+
4
+ def self.up
5
+ BizTxnType.create(
6
+ :description => "Payment Transaction",
7
+ :internal_identifier => 'payment_txn'
8
+ )
9
+ end
10
+
11
+ def self.down
12
+ type = BizTxnType.iid('payment_txn')
13
+ type.destroy unless type.nil?
14
+ end
15
+
16
+ end
@@ -0,0 +1,15 @@
1
+ # This migration comes from erp_tech_svcs (originally 20110109173616)
2
+ class CreateCapabilityScopeTypes
3
+
4
+ def self.up
5
+ CapabilityType.create(:internal_identifier => 'download', :description => 'Download') if CapabilityType.where("internal_identifier = 'download'").first.nil?
6
+
7
+ ScopeType.create(:description => 'Instance', :internal_identifier => 'instance') if ScopeType.where("internal_identifier = 'instance'").first.nil?
8
+ ScopeType.create(:description => 'Class', :internal_identifier => 'class') if ScopeType.where("internal_identifier = 'class'").first.nil?
9
+ ScopeType.create(:description => 'Query', :internal_identifier => 'query') if ScopeType.where("internal_identifier = 'query'").first.nil?
10
+ end
11
+
12
+ def self.down
13
+ end
14
+
15
+ 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,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,252 @@
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
+ SecurityRole.create(:description => 'Admin', :internal_identifier => 'admin')
35
+ SecurityRole.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
+ notes_grid.save
102
+
103
+ #######################################
104
+ #user management app
105
+ #######################################
106
+ app_mgr = ::Widget.create(
107
+ :description => 'Application Management',
108
+ :icon => 'icon-user',
109
+ :xtype => 'controlpanel_userapplicationmgtpanel',
110
+ :internal_identifier => 'application_management'
111
+ )
112
+ app_mgr.save
113
+
114
+ role_mgr = ::Widget.create(
115
+ :description => 'Role Management',
116
+ :icon => 'icon-user',
117
+ :xtype => 'usermanagement_rolemanagementpanel',
118
+ :internal_identifier => 'role_management'
119
+ )
120
+ role_mgr.save
121
+
122
+ personal_info = ::Widget.create(
123
+ :description => 'User Personal Info',
124
+ :icon => 'icon-user',
125
+ :xtype => 'usermanagement_personalinfopanel',
126
+ :internal_identifier => 'user_personal_info'
127
+ )
128
+ personal_info.save
129
+
130
+ #create application and assign widgets
131
+ user_mgr_app = DesktopApplication.create(
132
+ :description => 'User Management',
133
+ :icon => 'icon-user',
134
+ :javascript_class_name => 'Compass.ErpApp.Desktop.Applications.UserManagement',
135
+ :internal_identifier => 'user_management',
136
+ :shortcut_id => 'user-management-win'
137
+ )
138
+
139
+ user_mgr_app.preference_types << desktop_shortcut_pt
140
+ user_mgr_app.preference_types << auto_load_app_pt
141
+
142
+ user_mgr_app.widgets << role_mgr
143
+ user_mgr_app.widgets << personal_info
144
+ user_mgr_app.widgets << app_mgr
145
+ user_mgr_app.widgets << notes_grid
146
+ user_mgr_app.save
147
+
148
+ #######################################
149
+ #scaffold app
150
+ #######################################
151
+ scaffold_app = DesktopApplication.create(
152
+ :description => 'Scaffold',
153
+ :icon => 'icon-data',
154
+ :javascript_class_name => 'Compass.ErpApp.Desktop.Applications.Scaffold',
155
+ :internal_identifier => 'scaffold',
156
+ :shortcut_id => 'scaffold-win'
157
+ )
158
+
159
+ scaffold_app.preference_types << PreferenceType.iid('desktop_shortcut')
160
+ scaffold_app.preference_types << PreferenceType.iid('autoload_application')
161
+ scaffold_app.save
162
+
163
+ #######################################
164
+ #organizer setup
165
+ #######################################
166
+
167
+ party_contact_mgm_widget = ::Widget.create(
168
+ :description => 'Party Contact Management',
169
+ :icon => 'icon-grid',
170
+ :xtype => 'contactmechanismgrid',
171
+ :internal_identifier => 'party_contact_management'
172
+ )
173
+ party_contact_mgm_widget.save
174
+
175
+ party_mgm_widget = ::Widget.create(
176
+ :description => 'Party Management',
177
+ :icon => 'icon-grid',
178
+ :xtype => 'partygrid',
179
+ :internal_identifier => 'party_management_widget'
180
+ )
181
+ party_mgm_widget.save
182
+
183
+ #create application
184
+ crm_app = OrganizerApplication.create(
185
+ :description => 'CRM',
186
+ :icon => 'icon-user',
187
+ :internal_identifier => 'crm'
188
+ )
189
+
190
+ crm_app.widgets << party_contact_mgm_widget
191
+ crm_app.widgets << party_mgm_widget
192
+ crm_app.widgets << notes_grid
193
+ crm_app.save
194
+
195
+ #######################################
196
+ #parties
197
+ #######################################
198
+
199
+ #Admins
200
+ Individual.create(:current_first_name => 'Admin',:current_last_name => 'Istrator',:gender => 'm')
201
+
202
+ #Organization
203
+ Organization.create(:description => 'TrueNorth')
204
+
205
+ #######################################
206
+ #users
207
+ #######################################
208
+ admin_indvidual = Individual.where('current_first_name = ?',"Admin").first
209
+ admin_user = User.create(
210
+ :username => "admin",
211
+ :email => "admin@portablemind.com"
212
+ )
213
+ admin_user.password = 'password'
214
+ admin_user.password_confirmation = 'password'
215
+ admin_user.party = admin_indvidual.party
216
+ admin_user.activate!
217
+ admin_user.save
218
+ admin_user.add_role('admin')
219
+ admin_user.save
220
+
221
+ truenorth = Organization.where('description = ?', 'TrueNorth').first
222
+ truenorth_user = User.create(
223
+ :username => truenorth.description.downcase,
224
+ :email => "#{truenorth.description.downcase}@gmail.com"
225
+ )
226
+ truenorth_user.password = 'password'
227
+ truenorth_user.password_confirmation = 'password'
228
+ truenorth_user.party = truenorth.party
229
+ truenorth_user.save
230
+ truenorth_user.activate!
231
+ truenorth_user.add_role('admin')
232
+ truenorth_user.save
233
+
234
+ admin_user.desktop.applications << user_mgr_app
235
+ admin_user.desktop.applications << scaffold_app
236
+ admin_user.desktop.save
237
+ admin_user.organizer.applications << crm_app
238
+ admin_user.organizer.save
239
+
240
+ truenorth_user.desktop.applications << user_mgr_app
241
+ truenorth_user.desktop.applications << scaffold_app
242
+ truenorth_user.desktop.save
243
+ truenorth_user.organizer.applications << crm_app
244
+ truenorth_user.organizer.save
245
+ end
246
+ end
247
+
248
+ def self.down
249
+ #remove data here
250
+ end
251
+
252
+ end
@@ -0,0 +1,53 @@
1
+ # This migration comes from erp_app (originally 20110728201733)
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
@@ -0,0 +1,16 @@
1
+ # This migration comes from erp_tech_svcs (originally 20110802200222)
2
+ class ScheduleDeleteExpiredSessionsJob
3
+
4
+ def self.up
5
+ #insert data here
6
+ date = Date.tomorrow
7
+ start_time = DateTime.civil(date.year, date.month, date.day, 2, 0, 1, -(5.0/24.0))
8
+
9
+ ErpTechSvcs::Sessions::DeleteExpiredSessionsJob.schedule_job(start_time)
10
+ end
11
+
12
+ def self.down
13
+ #remove data here
14
+ end
15
+
16
+ end
@@ -0,0 +1,21 @@
1
+ # This migration comes from erp_app (originally 20110816161238)
2
+ class CreateDesktopAppAuditLogViewer
3
+ def self.up
4
+ app = DesktopApplication.create(
5
+ :description => 'Audit Log Viewer',
6
+ :icon => 'icon-history',
7
+ :javascript_class_name => 'Compass.ErpApp.Desktop.Applications.AuditLogViewer',
8
+ :internal_identifier => 'audit_log_viewer',
9
+ :shortcut_id => 'audit_log_viewer-win'
10
+ )
11
+
12
+ app.preference_types << PreferenceType.iid('desktop_shortcut')
13
+ app.preference_types << PreferenceType.iid('autoload_application')
14
+ app.save
15
+
16
+ end
17
+
18
+ def self.down
19
+ DesktopApplication.destroy_all(['internal_identifier = ?','audit_log_viewer'])
20
+ end
21
+ end
@@ -0,0 +1,32 @@
1
+ # This migration comes from erp_app (originally 20110817160743)
2
+ class AddFileManagerApplication
3
+
4
+ def self.up
5
+ if DesktopApplication.find_by_internal_identifier('file_manager').nil?
6
+ file_manager_app = DesktopApplication.create(
7
+ :description => 'File Manager',
8
+ :icon => 'icon-folders',
9
+ :javascript_class_name => 'Compass.ErpApp.Desktop.Applications.FileManager',
10
+ :internal_identifier => 'file_manager',
11
+ :shortcut_id => 'file_manager-win'
12
+ )
13
+
14
+ file_manager_app.preference_types << PreferenceType.iid('desktop_shortcut')
15
+ file_manager_app.preference_types << PreferenceType.iid('autoload_application')
16
+ file_manager_app.save
17
+
18
+ admin_user = User.find_by_username('admin')
19
+ admin_user.desktop.applications << file_manager_app
20
+ admin_user.save
21
+
22
+ truenorth_user = User.find_by_username('truenorth')
23
+ truenorth_user.desktop.applications << file_manager_app
24
+ truenorth_user.save
25
+ end
26
+ end
27
+
28
+ def self.down
29
+ DesktopApplication.find_by_internal_identifier('file_manager').destroy
30
+ end
31
+
32
+ end
@@ -0,0 +1,12 @@
1
+ # This migration comes from erp_base_erp_svcs (originally 20110913145838)
2
+ class SetupCompassAeInstance
3
+
4
+ def self.up
5
+ CompassAeInstance.create(version: 3.1)
6
+ end
7
+
8
+ def self.down
9
+ #remove data here
10
+ end
11
+
12
+ end
@@ -0,0 +1,23 @@
1
+ # This migration comes from erp_app (originally 20111108183739)
2
+ class AddDefaultCapabilities
3
+
4
+ def self.up
5
+ admin = SecurityRole.find_by_internal_identifier('admin')
6
+ employee = SecurityRole.find_by_internal_identifier('employee')
7
+
8
+ admin.add_capability('create', 'User')
9
+ admin.add_capability('delete', 'User')
10
+
11
+ admin.add_capability('create', 'Note')
12
+ employee.add_capability('create', 'Note')
13
+
14
+ admin.add_capability('view', 'Note')
15
+ employee.add_capability('view', 'Note')
16
+
17
+ admin.add_capability('delete', 'Note')
18
+ end
19
+
20
+ def self.down
21
+ end
22
+
23
+ end
@@ -0,0 +1,42 @@
1
+ # This migration comes from erp_app (originally 20111108183740)
2
+ class AddNewContactWidgets
3
+
4
+ def self.up
5
+ crm_app = OrganizerApplication.find_by_internal_identifier('crm')
6
+
7
+ unless crm_app.nil?
8
+ Widget.find_by_internal_identifier('party_contact_management').destroy
9
+
10
+ phone_number_managementt_widget = ::Widget.create(
11
+ :description => 'Phone Number Management',
12
+ :icon => 'icon-grid',
13
+ :xtype => 'phonenumbergrid',
14
+ :internal_identifier => 'phone_number_management'
15
+ )
16
+
17
+ email_address_management_widget = ::Widget.create(
18
+ :description => 'Email Address Management',
19
+ :icon => 'icon-grid',
20
+ :xtype => 'emailaddressgrid',
21
+ :internal_identifier => 'email_address_management'
22
+ )
23
+
24
+ postal_address_management_widget = ::Widget.create(
25
+ :description => 'Postal Address Management',
26
+ :icon => 'icon-grid',
27
+ :xtype => 'postaladdressgrid',
28
+ :internal_identifier => 'postal_address_management'
29
+ )
30
+
31
+ crm_app.widgets << phone_number_managementt_widget
32
+ crm_app.widgets << email_address_management_widget
33
+ crm_app.widgets << postal_address_management_widget
34
+ crm_app.save
35
+
36
+ end
37
+ end
38
+
39
+ def self.down
40
+ end
41
+
42
+ end
@@ -0,0 +1,22 @@
1
+ # This migration comes from erp_tech_svcs (originally 20111111144706)
2
+ class SetupAuditLogTypes
3
+
4
+ def self.up
5
+ application_alt = AuditLogType.create(:description => 'Application', :internal_identifier => 'application')
6
+
7
+ [
8
+ {:description => 'Custom Message', :internal_identifier => 'custom_message'},
9
+ {:description => 'Successful Logout', :internal_identifier => 'successful_logout'},
10
+ {:description => 'Successful Login', :internal_identifier => 'successful_login'},
11
+ {:description => 'Accessed Area', :internal_identifier => 'accessed_area'},
12
+ {:description => 'Session Timeout', :internal_identifier => 'session_timeout'}
13
+ ].each do |alt_hash|
14
+ AuditLogType.create(alt_hash).move_to_child_of(application_alt)
15
+ end
16
+ end
17
+
18
+ def self.down
19
+ AuditLogType.destroy_all
20
+ end
21
+
22
+ end
@@ -0,0 +1,14 @@
1
+ # This migration comes from erp_tech_svcs (originally 20120109173616)
2
+ class CreateDownloadCapabilityType
3
+
4
+ def self.up
5
+ CapabilityType.create(:internal_identifier => 'download', :description => 'Download')
6
+ Role.create(:description => 'File Downloader', :internal_identifier => 'file_downloader')
7
+ end
8
+
9
+ def self.down
10
+ CapabilityType.where("internal_identifier = 'download'").first.destroy unless Role.where("internal_identifier = 'download'").first.nil?
11
+ Role.where("internal_identifier = 'file_downloader'").first.destroy unless Role.where("internal_identifier = 'file_downloader'").first.nil?
12
+ end
13
+
14
+ end
@@ -0,0 +1,29 @@
1
+ # This migration comes from erp_app (originally 20120229160222)
2
+ class AddUserinfoWidget
3
+
4
+ def self.up
5
+ #insert data here
6
+ if Widget.find_by_internal_identifier('userinfo').nil?
7
+ app = Application.find_by_internal_identifier('crm')
8
+
9
+ user = Widget.create(
10
+ :description => 'User Info',
11
+ :internal_identifier => 'userinfo',
12
+ :icon => 'icon-user',
13
+ :xtype => 'userinfo'
14
+ )
15
+
16
+ unless app.nil?
17
+ app.widgets << user
18
+ app.save
19
+ end
20
+
21
+ end
22
+ end
23
+
24
+ def self.down
25
+ #remove data here
26
+ Widget.find_by_internal_identifier('userinfo').destroy
27
+ end
28
+
29
+ end