erp_forms 3.0.2 → 3.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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,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,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
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# This migration comes from erp_app (originally 20120405193721)
|
2
|
+
class CreatePartyAndRoleTypeForCommunicationEvents < ActiveRecord::Migration
|
3
|
+
def up
|
4
|
+
role_type = RoleType.find_or_create_by_description_and_internal_identifier('Application', 'application')
|
5
|
+
party = Party.find_or_create_by_description('Compass AE')
|
6
|
+
party.role_type << role_type
|
7
|
+
end
|
8
|
+
|
9
|
+
def down
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# This migration comes from erp_app (originally 20120411180756)
|
2
|
+
class CreateUserManagementMobileApplication
|
3
|
+
|
4
|
+
def self.up
|
5
|
+
app = MobileApplication.create(
|
6
|
+
:description => 'User Management',
|
7
|
+
:icon => 'icon-user',
|
8
|
+
:internal_identifier => 'user_management',
|
9
|
+
:base_url => '/erp_app/mobile/user_management/index'
|
10
|
+
)
|
11
|
+
|
12
|
+
app.save
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.down
|
16
|
+
MobileApplication.destroy_all("internal_identifier = 'user_management'")
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# This migration comes from erp_app (originally 20120418164215)
|
2
|
+
class CreateConfigurationManagementDesktopApplication
|
3
|
+
def self.up
|
4
|
+
app = DesktopApplication.create(
|
5
|
+
:description => 'Configuration Management',
|
6
|
+
:icon => 'icon-grid',
|
7
|
+
:javascript_class_name => 'Compass.ErpApp.Desktop.Applications.ConfigurationManagement',
|
8
|
+
:internal_identifier => 'configuration_management',
|
9
|
+
:shortcut_id => 'configuration_management-win'
|
10
|
+
)
|
11
|
+
pt1 = PreferenceType.iid('desktop_shortcut')
|
12
|
+
pt1.preferenced_records << app
|
13
|
+
pt1.save
|
14
|
+
|
15
|
+
pt2 = PreferenceType.iid('autoload_application')
|
16
|
+
pt2.preferenced_records << app
|
17
|
+
pt2.save
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.down
|
21
|
+
DesktopApplication.destroy_all(['internal_identifier = ?','configuration_management'])
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,67 @@
|
|
1
|
+
# This migration comes from erp_forms (originally 20120824013449)
|
2
|
+
class CreateTicketForm
|
3
|
+
|
4
|
+
def self.up
|
5
|
+
#insert data here
|
6
|
+
fields = []
|
7
|
+
|
8
|
+
fields << DynamicFormField.textfield({:fieldLabel => 'Title', :name => 'title', :width => 250, :allowBlank => false })
|
9
|
+
fields << DynamicFormField.combobox([['Open', 'Open'],['Closed', 'Closed']],{:fieldLabel => 'Status', :name => 'status', :width => 175, :allowBlank => false })
|
10
|
+
fields << DynamicFormField.combobox([ ['Defect', 'Defect'],
|
11
|
+
['Feature', 'Feature'],
|
12
|
+
['Issue', 'Issue'],
|
13
|
+
['Task', 'Task'],
|
14
|
+
],{:fieldLabel => 'Type', :name => 'type', :width => 175, :allowBlank => false })
|
15
|
+
fields << DynamicFormField.combobox([['High', 'High'],['Medium', 'Medium'],['Low', 'Low']],{:fieldLabel => 'Priority', :name => 'priority', :width => 175, :allowBlank => false })
|
16
|
+
fields << DynamicFormField.combobox([ ['compass_ae_console', 'compass_ae_console'],
|
17
|
+
['compass_ae_starter_kit', 'compass_ae_starter_kit'],
|
18
|
+
['data_migrator', 'data_migrator'],
|
19
|
+
['erp_agreements', 'erp_agreements'],
|
20
|
+
['erp_app', 'erp_app'],
|
21
|
+
['erp_base_erp_svcs', 'erp_base_erp_svcs'],
|
22
|
+
['erp_commerce', 'erp_commerce'],
|
23
|
+
['erp_communication_events', 'erp_communication_events'],
|
24
|
+
['erp_dev_svcs', 'erp_dev_svcs'],
|
25
|
+
['erp_financial_accounting', 'erp_financial_accounting'],
|
26
|
+
['erp_forms', 'erp_forms'],
|
27
|
+
['erp_inventory', 'erp_inventory'],
|
28
|
+
['erp_invoicing', 'erp_invoicing'],
|
29
|
+
['erp_offers', 'erp_offers'],
|
30
|
+
['erp_orders', 'erp_orders'],
|
31
|
+
['erp_products', 'erp_products'],
|
32
|
+
['erp_rules', 'erp_rules'],
|
33
|
+
['erp_search', 'erp_search'],
|
34
|
+
['erp_tech_svcs', 'erp_tech_svcs'],
|
35
|
+
['erp_txns_and_accts', 'erp_txns_and_accts'],
|
36
|
+
['erp_work_effort', 'erp_work_effort'],
|
37
|
+
['erp_workflow', 'erp_workflow'],
|
38
|
+
['knitkit', 'knitkit'],
|
39
|
+
['master_data_management', 'master_data_management'],
|
40
|
+
['prismpay', 'prismpay'],
|
41
|
+
['rails_db_admin', 'rails_db_admin'],
|
42
|
+
['tenancy', 'tenancy'],
|
43
|
+
['timeshare', 'timeshare']
|
44
|
+
],
|
45
|
+
{:fieldLabel => 'Product', :name => 'product', :width => 270, :allowBlank => true })
|
46
|
+
fields << DynamicFormField.combobox([['None', 'None']],{:fieldLabel => 'Project', :name => 'project', :width => 175, :allowBlank => true })
|
47
|
+
fields << DynamicFormField.related_combobox('User','username',{:fieldLabel => 'Assigned To', :name => 'assigned_to_id', :width => 175, :allowBlank => true })
|
48
|
+
fields << DynamicFormField.textarea({:fieldLabel => 'Body', :name => 'body', :width => 400, :height => 300, :allowBlank => false, :display_in_grid => false })
|
49
|
+
|
50
|
+
d = DynamicForm.new
|
51
|
+
d.description = 'Ticket Form'
|
52
|
+
d.definition = fields.to_json
|
53
|
+
d.model_name = 'Ticket'
|
54
|
+
d.internal_identifier = 'ticket'
|
55
|
+
d.default = true
|
56
|
+
d.dynamic_form_model = DynamicFormModel.create(:model_name => 'Ticket')
|
57
|
+
d.msg_target = 'qtip'
|
58
|
+
d.save
|
59
|
+
end
|
60
|
+
|
61
|
+
def self.down
|
62
|
+
#remove data here
|
63
|
+
DynamicForm.find_by_internal_identifier('ticket').destroy
|
64
|
+
DynamicFormModel.find_by_model_name('Ticket').destroy
|
65
|
+
end
|
66
|
+
|
67
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
# This migration comes from erp_forms (originally 20121026013449)
|
2
|
+
class UpdateTicketForm
|
3
|
+
|
4
|
+
def self.up
|
5
|
+
model = DynamicFormModel.find_by_model_name('Ticket')
|
6
|
+
model.create_role
|
7
|
+
|
8
|
+
#insert data here
|
9
|
+
fields = []
|
10
|
+
|
11
|
+
fields << DynamicFormField.textfield({:fieldLabel => 'Title', :name => 'title', :width => 250, :allowBlank => false })
|
12
|
+
fields << DynamicFormField.combobox([['Open', 'Open'],['Closed', 'Closed']],{:fieldLabel => 'Status', :name => 'status', :width => 175, :allowBlank => false })
|
13
|
+
fields << DynamicFormField.combobox([ ['Defect', 'Defect'],
|
14
|
+
['Feature', 'Feature'],
|
15
|
+
['Issue', 'Issue'],
|
16
|
+
['Task', 'Task'],
|
17
|
+
],{:fieldLabel => 'Type', :name => 'type', :width => 175, :allowBlank => false })
|
18
|
+
fields << DynamicFormField.combobox([['High', 'High'],['Medium', 'Medium'],['Low', 'Low']],{:fieldLabel => 'Priority', :name => 'priority', :width => 175, :allowBlank => false })
|
19
|
+
fields << DynamicFormField.combobox([ ['compass_ae_console', 'compass_ae_console'],
|
20
|
+
['compass_ae_starter_kit', 'compass_ae_starter_kit'],
|
21
|
+
['data_migrator', 'data_migrator'],
|
22
|
+
['erp_agreements', 'erp_agreements'],
|
23
|
+
['erp_app', 'erp_app'],
|
24
|
+
['erp_base_erp_svcs', 'erp_base_erp_svcs'],
|
25
|
+
['erp_commerce', 'erp_commerce'],
|
26
|
+
['erp_communication_events', 'erp_communication_events'],
|
27
|
+
['erp_dev_svcs', 'erp_dev_svcs'],
|
28
|
+
['erp_financial_accounting', 'erp_financial_accounting'],
|
29
|
+
['erp_forms', 'erp_forms'],
|
30
|
+
['erp_inventory', 'erp_inventory'],
|
31
|
+
['erp_invoicing', 'erp_invoicing'],
|
32
|
+
['erp_offers', 'erp_offers'],
|
33
|
+
['erp_orders', 'erp_orders'],
|
34
|
+
['erp_products', 'erp_products'],
|
35
|
+
['erp_rules', 'erp_rules'],
|
36
|
+
['erp_search', 'erp_search'],
|
37
|
+
['erp_tech_svcs', 'erp_tech_svcs'],
|
38
|
+
['erp_txns_and_accts', 'erp_txns_and_accts'],
|
39
|
+
['erp_work_effort', 'erp_work_effort'],
|
40
|
+
['erp_workflow', 'erp_workflow'],
|
41
|
+
['knitkit', 'knitkit'],
|
42
|
+
['master_data_management', 'master_data_management'],
|
43
|
+
['prismpay', 'prismpay'],
|
44
|
+
['rails_db_admin', 'rails_db_admin'],
|
45
|
+
['tenancy', 'tenancy'],
|
46
|
+
['timeshare', 'timeshare']
|
47
|
+
],
|
48
|
+
{:fieldLabel => 'Product', :name => 'product', :width => 270, :allowBlank => true })
|
49
|
+
fields << DynamicFormField.combobox([['None', 'None']],{:fieldLabel => 'Project', :name => 'project', :width => 175, :allowBlank => true })
|
50
|
+
fields << DynamicFormField.related_combobox('User','username',{:fieldLabel => 'Assigned To', :name => 'assigned_to_id', :width => 175, :allowBlank => true })
|
51
|
+
fields << DynamicFormField.textarea({:fieldLabel => 'Body', :name => 'body', :width => 400, :height => 300, :allowBlank => false, :display_in_grid => false })
|
52
|
+
|
53
|
+
d = DynamicForm.find_by_internal_identifier('ticket')
|
54
|
+
unless d.nil?
|
55
|
+
d.definition = fields.to_json
|
56
|
+
d.msg_target = 'qtip'
|
57
|
+
d.save
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
def self.down
|
62
|
+
#remove data here
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# This migration comes from erp_forms (originally 20121026191738)
|
2
|
+
class UpdateContactForm
|
3
|
+
|
4
|
+
def self.up
|
5
|
+
model = DynamicFormModel.find_by_model_name('WebsiteInquiry')
|
6
|
+
model.create_role
|
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.find_by_internal_identifier('contact_us')
|
16
|
+
unless d.nil?
|
17
|
+
d.definition = fields.to_json
|
18
|
+
d.msg_target = 'qtip'
|
19
|
+
d.save
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.down
|
24
|
+
#remove data here
|
25
|
+
end
|
26
|
+
|
27
|
+
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,16 @@
|
|
1
|
+
# This migration comes from erp_app (originally 20121130201859)
|
2
|
+
class UpgradeRemoveSystemMgmtApp
|
3
|
+
|
4
|
+
def self.up
|
5
|
+
#insert data here
|
6
|
+
widget = Widget.find_by_xtype('systemmanagement_applicationrolemanagment')
|
7
|
+
widget.destroy unless widget.nil?
|
8
|
+
app = Application.find_by_internal_identifier('system_management')
|
9
|
+
app.destroy unless app.nil?
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.down
|
13
|
+
#remove data here
|
14
|
+
end
|
15
|
+
|
16
|
+
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,23 @@
|
|
1
|
+
# This migration comes from erp_app (originally 20121218175028)
|
2
|
+
class CreateSecurityManagementDesktopApplication
|
3
|
+
def self.up
|
4
|
+
app = DesktopApplication.create(
|
5
|
+
:description => 'Security Management',
|
6
|
+
:icon => 'icon-key',
|
7
|
+
:javascript_class_name => 'Compass.ErpApp.Desktop.Applications.SecurityManagement',
|
8
|
+
:internal_identifier => 'security_management',
|
9
|
+
:shortcut_id => 'security_management-win'
|
10
|
+
)
|
11
|
+
pt1 = PreferenceType.iid('desktop_shortcut')
|
12
|
+
pt1.preferenced_records << app
|
13
|
+
pt1.save
|
14
|
+
|
15
|
+
pt2 = PreferenceType.iid('autoload_application')
|
16
|
+
pt2.preferenced_records << app
|
17
|
+
pt2.save
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.down
|
21
|
+
DesktopApplication.destroy_all(['internal_identifier = ?','security_management'])
|
22
|
+
end
|
23
|
+
end
|