erp_app 3.1.13 → 3.1.14
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/controllers/erp_app/desktop/security_management/users_controller.rb +1 -1
- data/app/models/configuration.rb +7 -1
- data/lib/erp_app/version.rb +1 -1
- data/public/javascripts/erp_app/desktop/applications/security_management/capabilities_widget.js +1 -1
- data/public/javascripts/erp_app/desktop/applications/security_management/groups_widget.js +1 -1
- data/public/javascripts/erp_app/desktop/applications/security_management/roles_widget.js +1 -1
- data/public/javascripts/erp_app/desktop/applications/security_management/users_widget.js +1 -1
- data/public/javascripts/erp_app/shared/dynamic_editable_grid.js +1 -0
- data/public/javascripts/erp_app/shared/dynamic_editable_grid_loader_panel.js +1 -0
- data/public/javascripts/erp_app/shared/file_manager_tree.js +13 -14
- data/spec/dummy/db/data_migrations/20130422163128_add_usd_currency.erp_base_erp_svcs.rb +12 -0
- data/spec/dummy/db/data_migrations/20130422163129_add_iso_codes.erp_base_erp_svcs.rb +19 -0
- data/spec/dummy/db/data_migrations/20130422163130_setup_compass_ae_instance.erp_base_erp_svcs.rb +21 -0
- data/spec/dummy/db/data_migrations/20130422163131_upgrade_compass_ae_instances_data.erp_base_erp_svcs.rb +19 -0
- data/spec/dummy/db/data_migrations/20130422163132_add_guid_to_instances.erp_base_erp_svcs.rb +10 -0
- data/spec/dummy/db/data_migrations/20130422163133_create_capability_scope_types.erp_tech_svcs.rb +15 -0
- data/spec/dummy/db/data_migrations/20130422163134_schedule_delete_expired_sessions_job.erp_tech_svcs.rb +16 -0
- data/spec/dummy/db/data_migrations/20130422163135_setup_audit_log_types.erp_tech_svcs.rb +22 -0
- data/spec/dummy/db/data_migrations/20130422163136_create_group_relationship_and_role_types.erp_tech_svcs.rb +20 -0
- data/spec/dummy/db/data_migrations/20130422163137_note_capabilities.erp_tech_svcs.rb +24 -0
- data/spec/dummy/db/data_migrations/20130422163138_erp_app_setup.erp_app.rb +252 -0
- data/spec/dummy/db/data_migrations/20130422163139_update_preferences.erp_app.rb +53 -0
- data/spec/dummy/db/data_migrations/20130422163140_create_desktop_app_audit_log_viewer.erp_app.rb +24 -0
- data/spec/dummy/db/data_migrations/20130422163141_add_file_manager_application.erp_app.rb +32 -0
- data/spec/dummy/db/data_migrations/20130422163142_add_default_capabilities.erp_app.rb +23 -0
- data/spec/dummy/db/data_migrations/20130422163143_add_new_contact_widgets.erp_app.rb +42 -0
- data/spec/dummy/db/data_migrations/20130422163144_add_userinfo_widget.erp_app.rb +29 -0
- data/spec/dummy/db/data_migrations/20130422163145_create_party_and_role_type_for_communication_events.erp_app.rb +11 -0
- data/spec/dummy/db/data_migrations/20130422163146_create_user_management_mobile_application.erp_app.rb +17 -0
- data/spec/dummy/db/data_migrations/20130422163147_create_configuration_management_desktop_application.erp_app.rb +27 -0
- data/spec/dummy/db/data_migrations/20130422163148_create_job_tracker_desktop_application.erp_app.rb +23 -0
- data/spec/dummy/db/data_migrations/20130422163149_created_tracked_jobs.erp_app.rb +15 -0
- data/spec/dummy/db/data_migrations/20130422163150_upgrade_remove_system_mgmt_app.erp_app.rb +16 -0
- data/spec/dummy/db/data_migrations/20130422163151_create_security_management_desktop_application.erp_app.rb +29 -0
- data/spec/dummy/db/data_migrations/20130422163152_add_job_tracker_mobile_app.erp_app.rb +17 -0
- data/spec/dummy/db/migrate/20130422163121_base_erp_services.erp_base_erp_svcs.rb +486 -0
- data/spec/dummy/db/migrate/20130422163122_add_txn_status.erp_base_erp_svcs.rb +37 -0
- data/spec/dummy/db/migrate/20130422163123_upgrade_compass_ae_instances.erp_base_erp_svcs.rb +34 -0
- data/spec/dummy/db/migrate/20130422163124_add_uuid_compass_ae_instance.erp_base_erp_svcs.rb +17 -0
- data/spec/dummy/db/migrate/20130422163125_add_long_lat_to_address.erp_base_erp_svcs.rb +16 -0
- data/spec/dummy/db/migrate/20130422163126_base_tech_services.erp_tech_svcs.rb +271 -0
- data/spec/dummy/db/migrate/20130422163127_create_has_attribute_tables.erp_tech_svcs.rb +39 -0
- data/spec/dummy/db/migrate/20130422163128_create_groups.erp_tech_svcs.rb +19 -0
- data/spec/dummy/db/migrate/20130422163129_upgrade_security.erp_tech_svcs.rb +54 -0
- data/spec/dummy/db/migrate/20130422163130_upgrade_security2.erp_tech_svcs.rb +275 -0
- data/spec/dummy/db/migrate/20130422163131_add_queue_to_delayed_jobs.erp_tech_svcs.rb +14 -0
- data/spec/dummy/db/migrate/20130422163132_base_app_framework.erp_app.rb +276 -0
- data/spec/dummy/db/migrate/20130422163133_add_job_tracker.erp_app.rb +20 -0
- data/spec/dummy/db/migrate/20130422163134_update_mobile_application.erp_app.rb +28 -0
- data/spec/dummy/db/schema.rb +883 -0
- data/spec/dummy/db/spec.sqlite3 +0 -0
- metadata +85 -3
@@ -128,7 +128,7 @@ module ErpApp
|
|
128
128
|
assign_to_id = params[:id]
|
129
129
|
u = User.find(assign_to_id)
|
130
130
|
|
131
|
-
render :json => {:success => true, :roles => u.
|
131
|
+
render :json => {:success => true, :roles => u.all_uniq_roles, :capabilities => u.class_capabilities_to_hash }
|
132
132
|
rescue Exception => e
|
133
133
|
Rails.logger.error e.message
|
134
134
|
Rails.logger.error e.backtrace.join("\n")
|
data/app/models/configuration.rb
CHANGED
@@ -4,7 +4,13 @@ class Configuration < ActiveRecord::Base
|
|
4
4
|
scope :templates, where('is_template = ?', true)
|
5
5
|
|
6
6
|
validates :internal_identifier, :presence => true, :uniqueness => {:scope => [:id, :is_template]}
|
7
|
-
|
7
|
+
|
8
|
+
validate :cannot_have_two_templates_per_iid
|
9
|
+
def cannot_have_two_templates_per_iid
|
10
|
+
unless Configuration.where('id != ?',self.id).where(:is_template => true).where(:internal_identifier => self.internal_identifier).first.nil?
|
11
|
+
errors.add(:is_template, "Cannot have more than one template per configuration")
|
12
|
+
end
|
13
|
+
end
|
8
14
|
|
9
15
|
has_many :configuration_items, :dependent => :destroy do
|
10
16
|
def by_category(category)
|
data/lib/erp_app/version.rb
CHANGED
data/public/javascripts/erp_app/desktop/applications/security_management/capabilities_widget.js
CHANGED
@@ -30,7 +30,7 @@ Ext.define("Compass.ErpApp.Desktop.Applications.SecurityManagement.CapabilitiesW
|
|
30
30
|
available_grid.getStore().getProxy().extraParams = {};
|
31
31
|
selected_grid.getStore().getProxy().extraParams = {};
|
32
32
|
}
|
33
|
-
},
|
33
|
+
}, 900 );
|
34
34
|
},
|
35
35
|
|
36
36
|
constructor : function(config) {
|
@@ -30,7 +30,7 @@ Ext.define("Compass.ErpApp.Desktop.Applications.SecurityManagement.GroupsWidget"
|
|
30
30
|
available_grid.getStore().getProxy().extraParams = {};
|
31
31
|
selected_grid.getStore().getProxy().extraParams = {};
|
32
32
|
}
|
33
|
-
},
|
33
|
+
}, 900 );
|
34
34
|
},
|
35
35
|
|
36
36
|
constructor : function(config) {
|
@@ -30,7 +30,7 @@ Ext.define("Compass.ErpApp.Desktop.Applications.SecurityManagement.RolesWidget",
|
|
30
30
|
available_grid.getStore().getProxy().extraParams = {};
|
31
31
|
selected_grid.getStore().getProxy().extraParams = {};
|
32
32
|
}
|
33
|
-
},
|
33
|
+
}, 900 );
|
34
34
|
},
|
35
35
|
|
36
36
|
constructor : function(config) {
|
@@ -30,7 +30,7 @@ Ext.define("Compass.ErpApp.Desktop.Applications.SecurityManagement.UsersWidget",
|
|
30
30
|
available_grid.getStore().getProxy().extraParams = {};
|
31
31
|
selected_grid.getStore().getProxy().extraParams = {};
|
32
32
|
}
|
33
|
-
},
|
33
|
+
}, 900 );
|
34
34
|
},
|
35
35
|
|
36
36
|
constructor : function(config) {
|
@@ -36,6 +36,7 @@ Ext.define("Compass.ErpApp.Shared.DynamicEditableGrid",{
|
|
36
36
|
}
|
37
37
|
var store = Ext.create('Ext.data.Store', {
|
38
38
|
model: ((config.editable) ? config.model : undefined),
|
39
|
+
listeners: config.store_listeners,
|
39
40
|
fields:config['fields'],
|
40
41
|
remoteSort:config['remoteSort'],
|
41
42
|
autoSync: true,
|
@@ -28,6 +28,7 @@ Ext.define("Compass.ErpApp.Shared.DynamicEditableGridLoaderPanel",{
|
|
28
28
|
validations:response.validations,
|
29
29
|
proxy:config.proxy,
|
30
30
|
listeners: config.grid_listeners,
|
31
|
+
store_listeners: config.grid_store_listeners,
|
31
32
|
storeId: config['storeId'],
|
32
33
|
selType: (config.selType || 'rowmodel'),
|
33
34
|
multiSelect: (config.multiSelect || false),
|
@@ -153,8 +153,8 @@ Ext.define("Compass.ErpApp.Shared.FileManagerTree",{
|
|
153
153
|
else
|
154
154
|
if(btn == 'yes')
|
155
155
|
{
|
156
|
-
selectedNodes = self.getSelectionModel().getSelection();
|
157
|
-
|
156
|
+
selectedNodes = self.selectedNodes; // HACK: in ExtJS 4.2.1 self.getSelectionModel().getSelection(); returns an empty array in itemmove listener so we use a temp variable self.selectedNodes
|
157
|
+
self.selectedNodes = [];
|
158
158
|
var msg = Ext.Msg.wait("Saving", "Saving move...");
|
159
159
|
Ext.apply(self.extraPostData, {
|
160
160
|
parent_node:newParent.data.id,
|
@@ -258,7 +258,10 @@ Ext.define("Compass.ErpApp.Shared.FileManagerTree",{
|
|
258
258
|
if(record.data.height){
|
259
259
|
details += '<br /> Height: '+record.data.height + ' px';
|
260
260
|
}
|
261
|
-
Ext.
|
261
|
+
var messageBox = Ext.create('Ext.window.MessageBox',{
|
262
|
+
style: 'white-space:nowrap;'
|
263
|
+
});
|
264
|
+
messageBox.alert('Properties', details);
|
262
265
|
}
|
263
266
|
}
|
264
267
|
});
|
@@ -676,18 +679,14 @@ Ext.define("Compass.ErpApp.Shared.FileManagerTree",{
|
|
676
679
|
viewConfig: {
|
677
680
|
loadMask: true,
|
678
681
|
plugins: {
|
679
|
-
ptype: 'treeviewdragdrop'
|
682
|
+
ptype: 'treeviewdragdrop'
|
683
|
+
},
|
684
|
+
listeners:{
|
685
|
+
'beforedrop':function(node, data, overModel, dropPosition, dropHandlers, eOpts){
|
686
|
+
// HACK: in ExtJS 4.2.1 self.getSelectionModel().getSelection(); returns an empty array in itemmove listener so we set a temp variable self.selectedNodes here for use by itemmove
|
687
|
+
self.selectedNodes = self.getSelectionModel().getSelection();
|
688
|
+
}
|
680
689
|
}
|
681
|
-
// these events were throwing extjs errors when trying to move multiple files in file manager when hovering over drop node
|
682
|
-
// Since they are not being used I am commenting them out
|
683
|
-
// listeners:{
|
684
|
-
// 'beforedrop':function(node, data, overModel, dropPosition,dropFunction,options){
|
685
|
-
// self.fireEvent('beforedrop_view', node, data, overModel, dropPosition,dropFunction,options);
|
686
|
-
// },
|
687
|
-
// 'drop':function(node, data, overModel, dropPosition, options){
|
688
|
-
// self.fireEvent('drop_view', node, data, overModel, dropPosition, options);
|
689
|
-
// }
|
690
|
-
// }
|
691
690
|
}
|
692
691
|
}, config);
|
693
692
|
|
@@ -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
|
data/spec/dummy/db/data_migrations/20130422163130_setup_compass_ae_instance.erp_base_erp_svcs.rb
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# This migration comes from erp_base_erp_svcs (originally 20110913145838)
|
2
|
+
class SetupCompassAeInstance
|
3
|
+
|
4
|
+
def self.up
|
5
|
+
c = CompassAeInstance.new
|
6
|
+
c.description = 'Base CompassAE Instance'
|
7
|
+
c.internal_identifier = 'base'
|
8
|
+
c.version = '3.1'
|
9
|
+
c.save
|
10
|
+
|
11
|
+
rt = RoleType.new
|
12
|
+
rt.description = 'CompassAE Instance Owner'
|
13
|
+
rt.internal_identifier = 'compass_ae_instance_owner'
|
14
|
+
rt.save
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.down
|
18
|
+
#remove data here
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# This migration comes from erp_base_erp_svcs (originally 20130211555555)
|
2
|
+
class UpgradeCompassAeInstancesData < ActiveRecord::Migration
|
3
|
+
def self.up
|
4
|
+
if CompassAeInstance.find_by_internal_identifier('base').nil?
|
5
|
+
c = CompassAeInstance.order('id ASC').first
|
6
|
+
c.description = 'Base CompassAE Instance'
|
7
|
+
c.internal_identifier = 'base'
|
8
|
+
c.schema = 'public'
|
9
|
+
c.save
|
10
|
+
end
|
11
|
+
|
12
|
+
if RoleType.find_by_internal_identifier('compass_ae_instance_owner').nil?
|
13
|
+
rt = RoleType.new
|
14
|
+
rt.description = 'CompassAE Instance Owner'
|
15
|
+
rt.internal_identifier = 'compass_ae_instance_owner'
|
16
|
+
rt.save
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/spec/dummy/db/data_migrations/20130422163133_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,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,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,20 @@
|
|
1
|
+
# This migration comes from erp_tech_svcs (originally 20121116155018)
|
2
|
+
class CreateGroupRelationshipAndRoleTypes
|
3
|
+
|
4
|
+
def self.up
|
5
|
+
#insert data here
|
6
|
+
to_role = RoleType.create(:description => 'Security Group', :internal_identifier => 'group')
|
7
|
+
from_role = RoleType.create(:description => 'Security Group Member', :internal_identifier => 'group_member')
|
8
|
+
RelationshipType.create(:description => 'Security Group Membership',
|
9
|
+
:name => 'Group Membership',
|
10
|
+
:internal_identifier => 'group_membership',
|
11
|
+
:valid_from_role => from_role,
|
12
|
+
:valid_to_role => to_role
|
13
|
+
)
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.down
|
17
|
+
#remove data here
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# This migration comes from erp_tech_svcs (originally 20121130212146)
|
2
|
+
class NoteCapabilities
|
3
|
+
|
4
|
+
def self.up
|
5
|
+
#insert data here
|
6
|
+
admin = SecurityRole.find_or_create_by_description_and_internal_identifier(:description => 'Admin', :internal_identifier => 'admin')
|
7
|
+
employee = SecurityRole.find_or_create_by_description_and_internal_identifier(:description => 'Employee', :internal_identifier => 'employee')
|
8
|
+
|
9
|
+
admin.add_capability('create', 'Note')
|
10
|
+
admin.add_capability('delete', 'Note')
|
11
|
+
admin.add_capability('edit', 'Note')
|
12
|
+
admin.add_capability('view', 'Note')
|
13
|
+
|
14
|
+
employee.add_capability('create', 'Note')
|
15
|
+
employee.add_capability('delete', 'Note')
|
16
|
+
employee.add_capability('edit', 'Note')
|
17
|
+
employee.add_capability('view', 'Note')
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.down
|
21
|
+
#remove data here
|
22
|
+
end
|
23
|
+
|
24
|
+
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
|