erp_forms 3.0.2 → 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/dynamic_form_document.rb +1 -0
- data/app/widgets/dynamic_grid/base.rb +26 -0
- data/app/widgets/dynamic_grid/helpers/controller/dynamic_grid_controller_helper.rb +3 -0
- data/app/widgets/dynamic_grid/helpers/view/dynamic_grid_view_helper.rb +3 -0
- data/app/widgets/dynamic_grid/javascript/dynamic_grid.js +12 -0
- data/app/widgets/dynamic_grid/views/index.html.erb +1 -0
- data/lib/erp_forms/dynamic_grid_column.rb +1 -1
- data/lib/erp_forms/version.rb +2 -2
- 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/20110608185830_create_default_dynamic_models_and_forms.erp_forms.rb +33 -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/20110828190913_create_desktop_app_dynamic_forms.erp_forms.rb +19 -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/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/20120824013449_create_ticket_form.erp_forms.rb +67 -0
- data/spec/dummy/db/data_migrations/20121026013449_update_ticket_form.erp_forms.rb +65 -0
- data/spec/dummy/db/data_migrations/20121026191738_update_contact_form.erp_forms.rb +27 -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/20130105143900_base_erp_services.erp_base_erp_svcs.rb +461 -0
- data/spec/dummy/db/migrate/20130105143901_base_tech_services.erp_tech_svcs.rb +271 -0
- data/spec/dummy/db/migrate/20130105143902_create_has_attribute_tables.erp_tech_svcs.rb +39 -0
- data/spec/dummy/db/migrate/20130105143903_create_groups.erp_tech_svcs.rb +19 -0
- data/spec/dummy/db/migrate/20130105143904_upgrade_security.erp_tech_svcs.rb +54 -0
- data/spec/dummy/db/migrate/20130105143905_upgrade_security2.erp_tech_svcs.rb +270 -0
- data/spec/dummy/db/migrate/20130105143906_base_app_framework.erp_app.rb +276 -0
- data/spec/dummy/db/migrate/20130105143907_dynamic_forms.erp_forms.rb +95 -0
- data/spec/dummy/db/migrate/20130105143908_create_tickets.erp_forms.rb +19 -0
- data/spec/dummy/db/migrate/20130105143909_upgrade_dynamic_forms_table.erp_forms.rb +32 -0
- data/spec/dummy/db/schema.rb +894 -0
- data/spec/dummy/db/spec.sqlite3 +0 -0
- data/spec/dummy/log/spec.log +3477 -0
- metadata +84 -4
- data/public/javascripts/erp_app/shared/dynamic_forms/dynamic_form_fields.js +0 -99
@@ -0,0 +1,26 @@
|
|
1
|
+
module Widgets
|
2
|
+
module DynamicGrid
|
3
|
+
class Base < ErpApp::Widgets::Base
|
4
|
+
|
5
|
+
def index
|
6
|
+
render :view => :index
|
7
|
+
end
|
8
|
+
|
9
|
+
#should not be modified
|
10
|
+
#modify at your own risk
|
11
|
+
def locate
|
12
|
+
File.dirname(__FILE__)
|
13
|
+
end
|
14
|
+
|
15
|
+
class << self
|
16
|
+
def title
|
17
|
+
"Dynamic Grid"
|
18
|
+
end
|
19
|
+
|
20
|
+
def widget_name
|
21
|
+
File.basename(File.dirname(__FILE__))
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end#Base
|
25
|
+
end#DynamicGrid
|
26
|
+
end#Widgets
|
@@ -0,0 +1,12 @@
|
|
1
|
+
Compass.ErpApp.Widgets.DynamicGrid = {
|
2
|
+
addWidget:function(){
|
3
|
+
Ext.getCmp('knitkitCenterRegion').addContentToActiveCodeMirror('<%= render_widget :dynamic_grid %>');
|
4
|
+
}
|
5
|
+
}
|
6
|
+
|
7
|
+
Compass.ErpApp.Widgets.AvailableWidgets.push({
|
8
|
+
name:'Dynamic Grid',
|
9
|
+
iconUrl:'/images/icons/document_text/grid_48x48.png',
|
10
|
+
onClick:Compass.ErpApp.Widgets.DynamicGrid.addWidget,
|
11
|
+
about:'What my new widget is about'
|
12
|
+
});
|
@@ -0,0 +1 @@
|
|
1
|
+
My new widget index view.
|
@@ -6,7 +6,7 @@ class DynamicGridColumn
|
|
6
6
|
type = (field_hash[:type] ? field_hash[:type] : DynamicGridColumn.convert_xtype_to_column_type(field_hash[:xtype]))
|
7
7
|
data_index = (field_hash[:dataIndex] ? field_hash[:dataIndex] : field_hash[:name])
|
8
8
|
sortable = (field_hash[:sortable].nil? ? true : field_hash[:sortable])
|
9
|
-
renderer = (type == 'date' ? "Ext.util.Format.dateRenderer('m/d/Y')" : '')
|
9
|
+
renderer = (type == 'date' ? "Ext.util.Format.dateRenderer('m/d/Y')" : (field_hash[:renderer].blank? ? '' : field_hash[:renderer]))
|
10
10
|
|
11
11
|
col = {
|
12
12
|
:header => header,
|
data/lib/erp_forms/version.rb
CHANGED
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,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,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
|
data/spec/dummy/db/data_migrations/20110828190913_create_desktop_app_dynamic_forms.erp_forms.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
# This migration comes from erp_forms (originally 20110828190913)
|
2
|
+
class CreateDesktopAppDynamicForms
|
3
|
+
def self.up
|
4
|
+
app = DesktopApplication.create(
|
5
|
+
:description => 'Dynamic Forms',
|
6
|
+
:icon => 'icon-document',
|
7
|
+
:javascript_class_name => 'Compass.ErpApp.Desktop.Applications.DynamicForms',
|
8
|
+
:internal_identifier => 'dynamic_forms',
|
9
|
+
:shortcut_id => 'dynamic_forms-win'
|
10
|
+
)
|
11
|
+
app.preference_types << PreferenceType.iid('desktop_shortcut')
|
12
|
+
app.preference_types << PreferenceType.iid('autoload_application')
|
13
|
+
app.save #probably redundant
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.down
|
17
|
+
DesktopApplication.destroy_all(['internal_identifier = ?','dynamic_forms'])
|
18
|
+
end
|
19
|
+
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
|