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.
- data/app/models/customer_txn_context.rb +1 -0
- data/app/models/environment_txn_context.rb +1 -0
- data/app/models/search_txn_context.rb +1 -0
- data/lib/erp_rules/version.rb +2 -2
- data/lib/erp_rules.rb +2 -1
- data/spec/dummy/config/application.rb +6 -0
- data/spec/dummy/config/environments/spec.rb +3 -0
- data/spec/dummy/db/data_migrations/20101014142230_financial_txn_types.erp_txns_and_accts.rb +16 -0
- data/spec/dummy/db/data_migrations/20110109173616_create_capability_scope_types.erp_tech_svcs.rb +15 -0
- data/spec/dummy/db/data_migrations/20110525001935_add_usd_currency.erp_base_erp_svcs.rb +12 -0
- data/spec/dummy/db/data_migrations/20110609150135_add_iso_codes.erp_base_erp_svcs.rb +19 -0
- data/spec/dummy/db/data_migrations/20110728201729_erp_app_setup.erp_app.rb +252 -0
- data/spec/dummy/db/data_migrations/20110728201733_update_preferences.erp_app.rb +53 -0
- data/spec/dummy/db/data_migrations/20110802200222_schedule_delete_expired_sessions_job.erp_tech_svcs.rb +16 -0
- data/spec/dummy/db/data_migrations/20110816161238_create_desktop_app_audit_log_viewer.erp_app.rb +21 -0
- data/spec/dummy/db/data_migrations/20110817160743_add_file_manager_application.erp_app.rb +32 -0
- data/spec/dummy/db/data_migrations/20110913145838_setup_compass_ae_instance.erp_base_erp_svcs.rb +12 -0
- data/spec/dummy/db/data_migrations/20111108183739_add_default_capabilities.erp_app.rb +23 -0
- data/spec/dummy/db/data_migrations/20111108183740_add_new_contact_widgets.erp_app.rb +42 -0
- data/spec/dummy/db/data_migrations/20111111144706_setup_audit_log_types.erp_tech_svcs.rb +22 -0
- data/spec/dummy/db/data_migrations/20120109173616_create_download_capability_type.erp_tech_svcs.rb +14 -0
- data/spec/dummy/db/data_migrations/20120229160222_add_userinfo_widget.erp_app.rb +29 -0
- data/spec/dummy/db/data_migrations/20120405193721_create_party_and_role_type_for_communication_events.erp_app.rb +11 -0
- data/spec/dummy/db/data_migrations/20120411180756_create_user_management_mobile_application.erp_app.rb +19 -0
- data/spec/dummy/db/data_migrations/20120418164215_create_configuration_management_desktop_application.erp_app.rb +23 -0
- data/spec/dummy/db/data_migrations/20121116155018_create_group_relationship_and_role_types.erp_tech_svcs.rb +20 -0
- data/spec/dummy/db/data_migrations/20121130201859_upgrade_remove_system_mgmt_app.erp_app.rb +16 -0
- data/spec/dummy/db/data_migrations/20121130212146_note_capabilities.erp_tech_svcs.rb +24 -0
- data/spec/dummy/db/data_migrations/20121218175028_create_security_management_desktop_application.erp_app.rb +23 -0
- data/spec/dummy/db/migrate/20121214005236_base_erp_services.erp_base_erp_svcs.rb +461 -0
- data/spec/dummy/db/migrate/20121214005237_base_tech_services.erp_tech_svcs.rb +255 -0
- data/spec/dummy/db/migrate/20121214005238_create_has_attribute_tables.erp_tech_svcs.rb +39 -0
- data/spec/dummy/db/migrate/20121214005239_base_txns_and_accts.erp_txns_and_accts.rb +364 -0
- data/spec/dummy/db/migrate/20121214005240_agreements_services.erp_agreements.rb +160 -0
- data/spec/dummy/db/migrate/20121214005241_agreements_services_indexes.erp_agreements.rb +52 -0
- data/spec/dummy/db/migrate/20121214005242_base_app_framework.erp_app.rb +276 -0
- data/spec/dummy/db/migrate/20130107181307_create_groups.erp_tech_svcs.rb +19 -0
- data/spec/dummy/db/migrate/20130107181308_upgrade_security.erp_tech_svcs.rb +54 -0
- data/spec/dummy/db/migrate/20130107181309_upgrade_security2.erp_tech_svcs.rb +270 -0
- data/spec/dummy/db/schema.rb +1247 -0
- data/spec/dummy/db/spec.sqlite3 +0 -0
- data/spec/dummy/log/spec.log +10110 -0
- data/spec/spec_helper.rb +11 -3
- metadata +104 -13
data/lib/erp_rules/version.rb
CHANGED
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
|
data/spec/dummy/db/data_migrations/20110109173616_create_capability_scope_types.erp_tech_svcs.rb
ADDED
@@ -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
|
data/spec/dummy/db/data_migrations/20110816161238_create_desktop_app_audit_log_viewer.erp_app.rb
ADDED
@@ -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,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
|
data/spec/dummy/db/data_migrations/20120109173616_create_download_capability_type.erp_tech_svcs.rb
ADDED
@@ -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
|