erp_invoicing 3.0.6 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (103) hide show
  1. data/app/models/billing_account.rb +5 -3
  2. data/app/models/calculate_balance_strategy_type.rb +2 -0
  3. data/app/models/invoice.rb +2 -0
  4. data/app/models/invoice_item.rb +1 -0
  5. data/app/models/invoice_item_type.rb +1 -0
  6. data/app/models/invoice_party_role.rb +1 -0
  7. data/app/models/invoice_payment_strategy_type.rb +2 -0
  8. data/app/models/invoice_payment_term.rb +2 -0
  9. data/app/models/invoice_payment_term_set.rb +2 -0
  10. data/app/models/invoice_payment_term_type.rb +2 -0
  11. data/app/models/invoice_type.rb +1 -0
  12. data/app/models/payment_application.rb +2 -1
  13. data/app/models/recurring_payment.rb +2 -0
  14. data/db/migrate/20111121000000_invoicing_services.rb +13 -1
  15. data/lib/erp_invoicing/version.rb +2 -2
  16. data/lib/erp_invoicing.rb +4 -0
  17. data/public/javascripts/erp_app/desktop/applications/invoice_management/billing_accounts_panel.js +0 -1
  18. data/public/javascripts/erp_app/shared/invoices_grid_panel.js +1 -1
  19. data/spec/dummy/config/application.rb +6 -0
  20. data/spec/dummy/config/environments/spec.rb +3 -0
  21. data/spec/dummy/db/data_migrations/20101011152441_payment_gateway_actions.erp_commerce.rb +28 -0
  22. data/spec/dummy/db/data_migrations/20101014142230_financial_txn_types.erp_txns_and_accts.rb +16 -0
  23. data/spec/dummy/db/data_migrations/20110109173616_create_capability_scope_types.erp_tech_svcs.rb +15 -0
  24. data/spec/dummy/db/data_migrations/20110324010232_product_role_types.erp_products.rb +24 -0
  25. data/spec/dummy/db/data_migrations/20110509223702_add_publisher_role.knitkit.rb +22 -0
  26. data/spec/dummy/db/data_migrations/20110525001935_add_usd_currency.erp_base_erp_svcs.rb +12 -0
  27. data/spec/dummy/db/data_migrations/20110527160807_add_default_prod_avail_types.erp_products.rb +27 -0
  28. data/spec/dummy/db/data_migrations/20110605231556_create_order_party_roles.erp_orders.rb +24 -0
  29. data/spec/dummy/db/data_migrations/20110608185830_create_default_dynamic_models_and_forms.erp_forms.rb +33 -0
  30. data/spec/dummy/db/data_migrations/20110609150135_add_iso_codes.erp_base_erp_svcs.rb +19 -0
  31. data/spec/dummy/db/data_migrations/20110728201729_erp_app_setup.erp_app.rb +252 -0
  32. data/spec/dummy/db/data_migrations/20110728201730_create_desktop_app_product_manager.erp_products.rb +26 -0
  33. data/spec/dummy/db/data_migrations/20110728201731_create_desktop_app_order_manager.erp_orders.rb +26 -0
  34. data/spec/dummy/db/data_migrations/20110728201732_create_organizer_app_order_management.erp_orders.rb +15 -0
  35. data/spec/dummy/db/data_migrations/20110728201733_update_preferences.erp_app.rb +53 -0
  36. data/spec/dummy/db/data_migrations/20110802200222_schedule_delete_expired_sessions_job.erp_tech_svcs.rb +16 -0
  37. data/spec/dummy/db/data_migrations/20110816153456_add_knitkit_application.knitkit.rb +32 -0
  38. data/spec/dummy/db/data_migrations/20110816161238_create_desktop_app_audit_log_viewer.erp_app.rb +21 -0
  39. data/spec/dummy/db/data_migrations/20110817160743_add_file_manager_application.erp_app.rb +32 -0
  40. data/spec/dummy/db/data_migrations/20110828190913_create_desktop_app_dynamic_forms.erp_forms.rb +19 -0
  41. data/spec/dummy/db/data_migrations/20110913145838_setup_compass_ae_instance.erp_base_erp_svcs.rb +12 -0
  42. data/spec/dummy/db/data_migrations/20111108183739_add_default_capabilities.erp_app.rb +23 -0
  43. data/spec/dummy/db/data_migrations/20111108183740_add_new_contact_widgets.erp_app.rb +42 -0
  44. data/spec/dummy/db/data_migrations/20111111144706_setup_audit_log_types.erp_tech_svcs.rb +22 -0
  45. data/spec/dummy/db/data_migrations/20111118182910_setup_knitkit_capabilities.knitkit.rb +128 -0
  46. data/spec/dummy/db/data_migrations/20111121153349_create_bill_pay_organizer_application.erp_invoicing.rb +15 -0
  47. data/spec/dummy/db/data_migrations/20120109173616_create_download_capability_type.erp_tech_svcs.rb +14 -0
  48. data/spec/dummy/db/data_migrations/20120118181839_create_invoice_management_desktop_application.erp_invoicing.rb +27 -0
  49. data/spec/dummy/db/data_migrations/20120127144444_create_website_role_types.knitkit.rb +14 -0
  50. data/spec/dummy/db/data_migrations/20120127150505_create_website_default_configuration.knitkit.rb +73 -0
  51. data/spec/dummy/db/data_migrations/20120127150506_add_primary_host_to_website_configuration.knitkit.rb +34 -0
  52. data/spec/dummy/db/data_migrations/20120229160222_add_userinfo_widget.erp_app.rb +29 -0
  53. data/spec/dummy/db/data_migrations/20120229174322_add_billpay_widget.erp_invoicing.rb +27 -0
  54. data/spec/dummy/db/data_migrations/20120229174343_add_orders_widget.erp_orders.rb +29 -0
  55. data/spec/dummy/db/data_migrations/20120316150424_add_is_template_to_default_website_config.knitkit.rb +17 -0
  56. data/spec/dummy/db/data_migrations/20120405193721_create_party_and_role_type_for_communication_events.erp_app.rb +11 -0
  57. data/spec/dummy/db/data_migrations/20120411180756_create_user_management_mobile_application.erp_app.rb +19 -0
  58. data/spec/dummy/db/data_migrations/20120418164215_create_configuration_management_desktop_application.erp_app.rb +23 -0
  59. data/spec/dummy/db/data_migrations/20120605154637_add_calculate_balance_strategy_types.erp_invoicing.rb +21 -0
  60. data/spec/dummy/db/data_migrations/20120809020508_update_website_and_configuration.knitkit.rb +78 -0
  61. data/spec/dummy/db/data_migrations/20120824013449_create_ticket_form.erp_forms.rb +67 -0
  62. data/spec/dummy/db/data_migrations/20121026013449_update_ticket_form.erp_forms.rb +65 -0
  63. data/spec/dummy/db/data_migrations/20121026191738_update_contact_form.erp_forms.rb +27 -0
  64. data/spec/dummy/db/data_migrations/20121116155018_create_group_relationship_and_role_types.erp_tech_svcs.rb +20 -0
  65. data/spec/dummy/db/data_migrations/20121129185611_upgrade_website_role_iid.knitkit.rb +21 -0
  66. data/spec/dummy/db/data_migrations/20121130201859_upgrade_remove_system_mgmt_app.erp_app.rb +16 -0
  67. data/spec/dummy/db/data_migrations/20121130212146_note_capabilities.erp_tech_svcs.rb +24 -0
  68. data/spec/dummy/db/data_migrations/20121218175028_create_security_management_desktop_application.erp_app.rb +23 -0
  69. data/spec/dummy/db/migrate/20121214000230_base_erp_services.erp_base_erp_svcs.rb +461 -0
  70. data/spec/dummy/db/migrate/20121214000231_base_tech_services.erp_tech_svcs.rb +255 -0
  71. data/spec/dummy/db/migrate/20121214000232_create_has_attribute_tables.erp_tech_svcs.rb +39 -0
  72. data/spec/dummy/db/migrate/20121214000233_base_app_framework.erp_app.rb +276 -0
  73. data/spec/dummy/db/migrate/20121214000234_dynamic_forms.erp_forms.rb +95 -0
  74. data/spec/dummy/db/migrate/20121214000235_create_tickets.erp_forms.rb +19 -0
  75. data/spec/dummy/db/migrate/20121214000236_upgrade_dynamic_forms_table.erp_forms.rb +32 -0
  76. data/spec/dummy/db/migrate/20121214000237_setup_knitkit.knitkit.rb +316 -0
  77. data/spec/dummy/db/migrate/20121214000238_invoicing_services.erp_invoicing.rb +277 -0
  78. data/spec/dummy/db/migrate/20121214000239_base_inventory.erp_inventory.rb +91 -0
  79. data/spec/dummy/db/migrate/20121214000240_base_inventory_indexes.erp_inventory.rb +48 -0
  80. data/spec/dummy/db/migrate/20121214000241_base_txns_and_accts.erp_txns_and_accts.rb +364 -0
  81. data/spec/dummy/db/migrate/20121214000242_agreements_services.erp_agreements.rb +160 -0
  82. data/spec/dummy/db/migrate/20121214000243_agreements_services_indexes.erp_agreements.rb +52 -0
  83. data/spec/dummy/db/migrate/20121214000244_base_orders.erp_orders.rb +178 -0
  84. data/spec/dummy/db/migrate/20121214000245_base_products.erp_products.rb +234 -0
  85. data/spec/dummy/db/migrate/20121214000246_base_products_indexes.erp_products.rb +59 -0
  86. data/spec/dummy/db/migrate/20121214000247_erp_commerce_base.erp_commerce.rb +442 -0
  87. data/spec/dummy/db/migrate/20121214000248_base_work_efforts.erp_work_effort.rb +211 -0
  88. data/spec/dummy/db/migrate/20130107181155_create_groups.erp_tech_svcs.rb +19 -0
  89. data/spec/dummy/db/migrate/20130107181156_upgrade_security.erp_tech_svcs.rb +54 -0
  90. data/spec/dummy/db/migrate/20130107181157_upgrade_security2.erp_tech_svcs.rb +270 -0
  91. data/spec/dummy/db/schema.rb +2569 -0
  92. data/spec/dummy/db/spec.sqlite3 +0 -0
  93. data/spec/dummy/log/spec.log +64744 -0
  94. data/spec/models/billing_account_spec.rb +1 -7
  95. data/spec/models/invoice_spec.rb +2 -1
  96. data/spec/models/payment_application_spec.rb +1 -1
  97. data/spec/spec_helper.rb +18 -10
  98. metadata +203 -20
  99. data/db/migrate/20120228184317_add_text_to_pay_to_recurring_payments.rb +0 -13
  100. data/db/migrate/20120301155722_add_billing_date_to_billing_account.rb +0 -13
  101. data/db/migrate/20120605144227_create_calcuate_balance_strategy_type.rb +0 -18
  102. data/db/migrate/20120605144900_add_calculate_balance_strategy_to_billing_account.rb +0 -7
  103. data/db/migrate/20120605150425_add_balance_to_invoice.rb +0 -9
@@ -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,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,12 @@
1
+ # This migration comes from erp_base_erp_svcs (originally 20110913145838)
2
+ class SetupCompassAeInstance
3
+
4
+ def self.up
5
+ CompassAeInstance.create(version: 3.1)
6
+ end
7
+
8
+ def self.down
9
+ #remove data here
10
+ end
11
+
12
+ end
@@ -0,0 +1,23 @@
1
+ # This migration comes from erp_app (originally 20111108183739)
2
+ class AddDefaultCapabilities
3
+
4
+ def self.up
5
+ admin = SecurityRole.find_by_internal_identifier('admin')
6
+ employee = SecurityRole.find_by_internal_identifier('employee')
7
+
8
+ admin.add_capability('create', 'User')
9
+ admin.add_capability('delete', 'User')
10
+
11
+ admin.add_capability('create', 'Note')
12
+ employee.add_capability('create', 'Note')
13
+
14
+ admin.add_capability('view', 'Note')
15
+ employee.add_capability('view', 'Note')
16
+
17
+ admin.add_capability('delete', 'Note')
18
+ end
19
+
20
+ def self.down
21
+ end
22
+
23
+ end
@@ -0,0 +1,42 @@
1
+ # This migration comes from erp_app (originally 20111108183740)
2
+ class AddNewContactWidgets
3
+
4
+ def self.up
5
+ crm_app = OrganizerApplication.find_by_internal_identifier('crm')
6
+
7
+ unless crm_app.nil?
8
+ Widget.find_by_internal_identifier('party_contact_management').destroy
9
+
10
+ phone_number_managementt_widget = ::Widget.create(
11
+ :description => 'Phone Number Management',
12
+ :icon => 'icon-grid',
13
+ :xtype => 'phonenumbergrid',
14
+ :internal_identifier => 'phone_number_management'
15
+ )
16
+
17
+ email_address_management_widget = ::Widget.create(
18
+ :description => 'Email Address Management',
19
+ :icon => 'icon-grid',
20
+ :xtype => 'emailaddressgrid',
21
+ :internal_identifier => 'email_address_management'
22
+ )
23
+
24
+ postal_address_management_widget = ::Widget.create(
25
+ :description => 'Postal Address Management',
26
+ :icon => 'icon-grid',
27
+ :xtype => 'postaladdressgrid',
28
+ :internal_identifier => 'postal_address_management'
29
+ )
30
+
31
+ crm_app.widgets << phone_number_managementt_widget
32
+ crm_app.widgets << email_address_management_widget
33
+ crm_app.widgets << postal_address_management_widget
34
+ crm_app.save
35
+
36
+ end
37
+ end
38
+
39
+ def self.down
40
+ end
41
+
42
+ end
@@ -0,0 +1,22 @@
1
+ # This migration comes from erp_tech_svcs (originally 20111111144706)
2
+ class SetupAuditLogTypes
3
+
4
+ def self.up
5
+ application_alt = AuditLogType.create(:description => 'Application', :internal_identifier => 'application')
6
+
7
+ [
8
+ {:description => 'Custom Message', :internal_identifier => 'custom_message'},
9
+ {:description => 'Successful Logout', :internal_identifier => 'successful_logout'},
10
+ {:description => 'Successful Login', :internal_identifier => 'successful_login'},
11
+ {:description => 'Accessed Area', :internal_identifier => 'accessed_area'},
12
+ {:description => 'Session Timeout', :internal_identifier => 'session_timeout'}
13
+ ].each do |alt_hash|
14
+ AuditLogType.create(alt_hash).move_to_child_of(application_alt)
15
+ end
16
+ end
17
+
18
+ def self.down
19
+ AuditLogType.destroy_all
20
+ end
21
+
22
+ end
@@ -0,0 +1,128 @@
1
+ # This migration comes from knitkit (originally 20111118182910)
2
+ class SetupKnitkitCapabilities
3
+
4
+ def self.up
5
+ admin = SecurityRole.find_by_internal_identifier('admin')
6
+ website_author = SecurityRole.find_by_internal_identifier('website_author')
7
+ layout_author = SecurityRole.find_by_internal_identifier('layout_author')
8
+ content_author = SecurityRole.find_by_internal_identifier('content_author')
9
+ designer = SecurityRole.find_by_internal_identifier('designer')
10
+ publisher = SecurityRole.find_by_internal_identifier('publisher')
11
+
12
+ admin.add_capability('create', 'WebsiteNav')
13
+ admin.add_capability('delete', 'WebsiteNav')
14
+ admin.add_capability('edit', 'WebsiteNav')
15
+
16
+ website_author.add_capability('create', 'WebsiteNav')
17
+ website_author.add_capability('delete', 'WebsiteNav')
18
+ website_author.add_capability('edit', 'WebsiteNav')
19
+
20
+ admin.add_capability('create', 'Website')
21
+ admin.add_capability('delete', 'Website')
22
+ admin.add_capability('edit', 'Website')
23
+ admin.add_capability('import', 'Website')
24
+ admin.add_capability('publish', 'Website')
25
+ admin.add_capability('activate', 'Website')
26
+
27
+ website_author.add_capability('create', 'Website')
28
+ website_author.add_capability('delete', 'Website')
29
+ website_author.add_capability('edit', 'Website')
30
+ website_author.add_capability('import', 'Website')
31
+ publisher.add_capability('publish', 'Website')
32
+ publisher.add_capability('activate', 'Website')
33
+
34
+ admin.add_capability('create', 'WebsiteHost')
35
+ admin.add_capability('delete', 'WebsiteHost')
36
+ admin.add_capability('edit', 'WebsiteHost')
37
+
38
+ website_author.add_capability('create', 'WebsiteHost')
39
+ website_author.add_capability('delete', 'WebsiteHost')
40
+ website_author.add_capability('edit', 'WebsiteHost')
41
+
42
+ admin.add_capability('create', 'WebsiteSection')
43
+ admin.add_capability('delete', 'WebsiteSection')
44
+ admin.add_capability('edit', 'WebsiteSection')
45
+ admin.add_capability('secure', 'WebsiteSection')
46
+ admin.add_capability('unsecure', 'WebsiteSection')
47
+
48
+ website_author.add_capability('create', 'WebsiteSection')
49
+ website_author.add_capability('delete', 'WebsiteSection')
50
+ website_author.add_capability('edit', 'WebsiteSection')
51
+ website_author.add_capability('secure', 'WebsiteSection')
52
+ website_author.add_capability('unsecure', 'WebsiteSection')
53
+
54
+ admin.add_capability('create', 'WebsiteSectionLayout')
55
+ admin.add_capability('edit', 'WebsiteSectionLayout')
56
+
57
+ layout_author.add_capability('create', 'WebsiteSectionLayout')
58
+ layout_author.add_capability('edit', 'WebsiteSectionLayout')
59
+
60
+ admin.add_capability('create', 'Content')
61
+ admin.add_capability('delete', 'Content')
62
+ admin.add_capability('edit', 'Content')
63
+ admin.add_capability('publish', 'Content')
64
+ admin.add_capability('revert_version', 'Content')
65
+ admin.add_capability('add_existing', 'Content')
66
+ admin.add_capability('edit_html', 'Content')
67
+ admin.add_capability('edit_excerpt', 'Content')
68
+
69
+ content_author.add_capability('create', 'Content')
70
+ content_author.add_capability('delete', 'Content')
71
+ content_author.add_capability('edit', 'Content')
72
+ content_author.add_capability('publish', 'Content')
73
+ content_author.add_capability('revert_version', 'Content')
74
+ content_author.add_capability('add_existing', 'Content')
75
+ content_author.add_capability('edit_html', 'Content')
76
+ content_author.add_capability('edit_excerpt', 'Content')
77
+
78
+ admin.add_capability('create', 'WebsiteNavItem')
79
+ admin.add_capability('delete', 'WebsiteNavItem')
80
+ admin.add_capability('edit', 'WebsiteNavItem')
81
+ admin.add_capability('secure', 'WebsiteNavItem')
82
+ admin.add_capability('unsecure', 'WebsiteNavItem')
83
+
84
+ website_author.add_capability('create', 'WebsiteNavItem')
85
+ website_author.add_capability('delete', 'WebsiteNavItem')
86
+ website_author.add_capability('edit', 'WebsiteNavItem')
87
+ website_author.add_capability('secure', 'WebsiteNavItem')
88
+ website_author.add_capability('unsecure', 'WebsiteNavItem')
89
+
90
+ admin.add_capability('view', 'Theme')
91
+ designer.add_capability('view', 'Theme')
92
+
93
+ admin.add_capability('view', 'SiteImageAsset')
94
+ website_author.add_capability('view', 'SiteImageAsset')
95
+ content_author.add_capability('view', 'SiteImageAsset')
96
+
97
+ content_author.add_capability('view', 'GlobalImageAsset')
98
+
99
+ admin.add_capability('view', 'GlobalImageAsset')
100
+ admin.add_capability('upload', 'GlobalImageAsset')
101
+ admin.add_capability('delete', 'GlobalImageAsset')
102
+
103
+ website_author.add_capability('view', 'GlobalImageAsset')
104
+ website_author.add_capability('upload', 'GlobalImageAsset')
105
+ website_author.add_capability('delete', 'GlobalImageAsset')
106
+
107
+ admin.add_capability('view', 'SiteFileAsset')
108
+ website_author.add_capability('view', 'SiteFileAsset')
109
+ content_author.add_capability('view', 'SiteFileAsset')
110
+
111
+ content_author.add_capability('view', 'GlobalFileAsset')
112
+
113
+ admin.add_capability('view', 'GlobalFileAsset')
114
+ admin.add_capability('upload', 'GlobalFileAsset')
115
+ admin.add_capability('delete', 'GlobalFileAsset')
116
+
117
+ website_author.add_capability('view', 'GlobalFileAsset')
118
+ website_author.add_capability('upload', 'GlobalFileAsset')
119
+ website_author.add_capability('delete', 'GlobalFileAsset')
120
+
121
+ admin.add_capability('drag_item', 'WebsiteTree')
122
+ website_author.add_capability('drag_item', 'WebsiteTree')
123
+ end
124
+
125
+ def self.down
126
+ end
127
+
128
+ end
@@ -0,0 +1,15 @@
1
+ # This migration comes from erp_invoicing (originally 20111121153349)
2
+ class CreateBillPayOrganizerApplication
3
+ def self.up
4
+ OrganizerApplication.create(
5
+ :description => 'Bill Pay',
6
+ :icon => 'icon-creditcards',
7
+ :javascript_class_name => 'Compass.ErpApp.Organizer.Applications.BillPay.Base',
8
+ :internal_identifier => 'bill_pay'
9
+ )
10
+ end
11
+
12
+ def self.down
13
+ OrganizerApplication.destroy_all(:conditions => ['internal_identifier = ?','bill_pay'])
14
+ end
15
+ end
@@ -0,0 +1,14 @@
1
+ # This migration comes from erp_tech_svcs (originally 20120109173616)
2
+ class CreateDownloadCapabilityType
3
+
4
+ def self.up
5
+ CapabilityType.create(:internal_identifier => 'download', :description => 'Download')
6
+ Role.create(:description => 'File Downloader', :internal_identifier => 'file_downloader')
7
+ end
8
+
9
+ def self.down
10
+ CapabilityType.where("internal_identifier = 'download'").first.destroy unless Role.where("internal_identifier = 'download'").first.nil?
11
+ Role.where("internal_identifier = 'file_downloader'").first.destroy unless Role.where("internal_identifier = 'file_downloader'").first.nil?
12
+ end
13
+
14
+ end
@@ -0,0 +1,27 @@
1
+ # This migration comes from erp_invoicing (originally 20120118181839)
2
+ class CreateInvoiceManagementDesktopApplication
3
+ def self.up
4
+ app = DesktopApplication.create(
5
+ :description => 'Invoice Management',
6
+ :icon => 'icon-creditcards',
7
+ :javascript_class_name => 'Compass.ErpApp.Desktop.Applications.InvoiceManagement',
8
+ :internal_identifier => 'invoice_management',
9
+ :shortcut_id => 'invoice_management-win'
10
+ )
11
+
12
+ app.save
13
+
14
+ pt1 = PreferenceType.iid('desktop_shortcut')
15
+ pt1.preferenced_records << app
16
+ pt1.save
17
+
18
+ pt2 = PreferenceType.iid('autoload_application')
19
+ pt2.preferenced_records << app
20
+ pt2.save
21
+
22
+ end
23
+
24
+ def self.down
25
+ DesktopApplication.destroy_all(['internal_identifier = ?','invoice_management'])
26
+ end
27
+ end
@@ -0,0 +1,14 @@
1
+ # This migration comes from knitkit (originally 20120127144444)
2
+ class CreateWebsiteRoleTypes
3
+
4
+ def self.up
5
+ RoleType.create(:description => 'Website Owner', :internal_identifier => 'website_owner')
6
+ RoleType.create(:description => 'Website Member', :internal_identifier => 'website_member')
7
+ end
8
+
9
+ def self.down
10
+ RoleType.website_owner.destroy
11
+ RoleType.website_member.destroy
12
+ end
13
+
14
+ end
@@ -0,0 +1,73 @@
1
+ # This migration comes from knitkit (originally 20120127150505)
2
+ class CreateWebsiteDefaultConfiguration
3
+
4
+ def self.up
5
+ unless ::Configuration.find_template('default_website_configuration')
6
+ website_setup_category = Category.create(:description => 'Website Setup', :internal_identifier => 'website_setup')
7
+
8
+ #configuration
9
+ configuration = Configuration.create(
10
+ :description => 'Default Website Configuration',
11
+ :internal_identifier => 'default_website_configuration',
12
+ :is_template => true
13
+ )
14
+
15
+ login_url_config_item_type = ConfigurationItemType.create(
16
+ :description => 'Login Url',
17
+ :internal_identifier => 'login_url',
18
+ :allow_user_defined_options => true
19
+ )
20
+ CategoryClassification.create(:category => website_setup_category, :classification => login_url_config_item_type)
21
+ configuration.configuration_item_types << login_url_config_item_type
22
+
23
+ home_page_url_config_item_type = ConfigurationItemType.create(
24
+ :description => 'Homepage Url',
25
+ :internal_identifier => 'homepage_url',
26
+ :allow_user_defined_options => true
27
+ )
28
+ CategoryClassification.create(:category => website_setup_category, :classification => home_page_url_config_item_type)
29
+ configuration.configuration_item_types << home_page_url_config_item_type
30
+
31
+ contact_us_email_address_item_type = ConfigurationItemType.create(
32
+ :description => 'Contact Us Email',
33
+ :internal_identifier => 'contact_us_email_address',
34
+ :allow_user_defined_options => true
35
+ )
36
+ CategoryClassification.create(:category => website_setup_category, :classification => contact_us_email_address_item_type)
37
+ configuration.configuration_item_types << contact_us_email_address_item_type
38
+
39
+ #password strength
40
+ simple_password_option = ConfigurationOption.create(
41
+ :description => 'Simple password',
42
+ :comment => 'must be at least 8 characters long and start and end with a letter',
43
+ :internal_identifier => 'simple_password_regex',
44
+ :value => '^[A-Za-z]\w{6,}[A-Za-z]$'
45
+ )
46
+
47
+ complex_password_option = ConfigurationOption.create(
48
+ :description => 'Complex password',
49
+ :comment => 'must be at least 10 characters, must contain at least one lower case letter, one upper case letter, one digit and one special character, valid special characters are @#$%^&+=',
50
+ :internal_identifier => 'complex_password_regex',
51
+ :value => '^.*(?=.{10,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$'
52
+ )
53
+
54
+ password_strength_config_item_type = ConfigurationItemType.create(
55
+ :description => 'Password Strength',
56
+ :internal_identifier => 'password_strength_regex'
57
+ )
58
+ CategoryClassification.create(:category => website_setup_category, :classification => password_strength_config_item_type)
59
+
60
+ password_strength_config_item_type.configuration_options << complex_password_option
61
+ password_strength_config_item_type.add_default_configuration_option(simple_password_option)
62
+ password_strength_config_item_type.save
63
+ configuration.configuration_item_types << password_strength_config_item_type
64
+
65
+ configuration.save
66
+ end
67
+ end
68
+
69
+ def self.down
70
+ #remove data here
71
+ end
72
+
73
+ end