erp_products 3.0.5 → 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.
Files changed (66) hide show
  1. data/app/models/prod_availability_status_type.rb +2 -0
  2. data/app/models/prod_instance_reln.rb +1 -0
  3. data/app/models/prod_instance_reln_type.rb +2 -0
  4. data/app/models/prod_instance_role_type.rb +2 -0
  5. data/app/models/prod_type_reln.rb +1 -0
  6. data/app/models/prod_type_reln_type.rb +2 -0
  7. data/app/models/prod_type_role_type.rb +2 -0
  8. data/app/models/product_instance.rb +2 -0
  9. data/app/models/product_offer.rb +1 -0
  10. data/app/models/product_type.rb +2 -0
  11. data/app/models/simple_product_offer.rb +2 -0
  12. data/db/migrate/20080805000040_base_products.rb +1 -0
  13. data/lib/erp_products.rb +2 -0
  14. data/lib/erp_products/version.rb +2 -2
  15. data/spec/dummy/config/application.rb +6 -0
  16. data/spec/dummy/config/environments/spec.rb +3 -0
  17. data/spec/dummy/db/data_migrations/20101011152441_payment_gateway_actions.erp_commerce.rb +28 -0
  18. data/spec/dummy/db/data_migrations/20101014142230_financial_txn_types.erp_txns_and_accts.rb +16 -0
  19. data/spec/dummy/db/data_migrations/20110109173616_create_capability_scope_types.erp_tech_svcs.rb +15 -0
  20. data/spec/dummy/db/data_migrations/20110324010232_product_role_types.erp_products.rb +24 -0
  21. data/spec/dummy/db/data_migrations/20110525001935_add_usd_currency.erp_base_erp_svcs.rb +12 -0
  22. data/spec/dummy/db/data_migrations/20110527160807_add_default_prod_avail_types.erp_products.rb +27 -0
  23. data/spec/dummy/db/data_migrations/20110605231556_create_order_party_roles.erp_orders.rb +24 -0
  24. data/spec/dummy/db/data_migrations/20110609150135_add_iso_codes.erp_base_erp_svcs.rb +19 -0
  25. data/spec/dummy/db/data_migrations/20110728201729_erp_app_setup.erp_app.rb +252 -0
  26. data/spec/dummy/db/data_migrations/20110728201730_create_desktop_app_product_manager.erp_products.rb +26 -0
  27. data/spec/dummy/db/data_migrations/20110728201731_create_desktop_app_order_manager.erp_orders.rb +26 -0
  28. data/spec/dummy/db/data_migrations/20110728201732_create_organizer_app_order_management.erp_orders.rb +15 -0
  29. data/spec/dummy/db/data_migrations/20110728201733_update_preferences.erp_app.rb +53 -0
  30. data/spec/dummy/db/data_migrations/20110802200222_schedule_delete_expired_sessions_job.erp_tech_svcs.rb +16 -0
  31. data/spec/dummy/db/data_migrations/20110816161238_create_desktop_app_audit_log_viewer.erp_app.rb +21 -0
  32. data/spec/dummy/db/data_migrations/20110817160743_add_file_manager_application.erp_app.rb +32 -0
  33. data/spec/dummy/db/data_migrations/20110913145838_setup_compass_ae_instance.erp_base_erp_svcs.rb +12 -0
  34. data/spec/dummy/db/data_migrations/20111108183739_add_default_capabilities.erp_app.rb +23 -0
  35. data/spec/dummy/db/data_migrations/20111108183740_add_new_contact_widgets.erp_app.rb +42 -0
  36. data/spec/dummy/db/data_migrations/20111111144706_setup_audit_log_types.erp_tech_svcs.rb +22 -0
  37. data/spec/dummy/db/data_migrations/20120109173616_create_download_capability_type.erp_tech_svcs.rb +14 -0
  38. data/spec/dummy/db/data_migrations/20120229160222_add_userinfo_widget.erp_app.rb +29 -0
  39. data/spec/dummy/db/data_migrations/20120229174343_add_orders_widget.erp_orders.rb +29 -0
  40. data/spec/dummy/db/data_migrations/20120405193721_create_party_and_role_type_for_communication_events.erp_app.rb +11 -0
  41. data/spec/dummy/db/data_migrations/20120411180756_create_user_management_mobile_application.erp_app.rb +19 -0
  42. data/spec/dummy/db/data_migrations/20120418164215_create_configuration_management_desktop_application.erp_app.rb +23 -0
  43. data/spec/dummy/db/data_migrations/20121116155018_create_group_relationship_and_role_types.erp_tech_svcs.rb +20 -0
  44. data/spec/dummy/db/data_migrations/20121130201859_upgrade_remove_system_mgmt_app.erp_app.rb +16 -0
  45. data/spec/dummy/db/data_migrations/20121130212146_note_capabilities.erp_tech_svcs.rb +24 -0
  46. data/spec/dummy/db/data_migrations/20121218175028_create_security_management_desktop_application.erp_app.rb +23 -0
  47. data/spec/dummy/db/migrate/20130107214711_base_erp_services.erp_base_erp_svcs.rb +461 -0
  48. data/spec/dummy/db/migrate/20130107214712_base_products.erp_products.rb +234 -0
  49. data/spec/dummy/db/migrate/20130107214713_base_products_indexes.erp_products.rb +59 -0
  50. data/spec/dummy/db/migrate/20130107214714_base_tech_services.erp_tech_svcs.rb +271 -0
  51. data/spec/dummy/db/migrate/20130107214715_create_has_attribute_tables.erp_tech_svcs.rb +39 -0
  52. data/spec/dummy/db/migrate/20130107214716_create_groups.erp_tech_svcs.rb +19 -0
  53. data/spec/dummy/db/migrate/20130107214717_upgrade_security.erp_tech_svcs.rb +54 -0
  54. data/spec/dummy/db/migrate/20130107214718_upgrade_security2.erp_tech_svcs.rb +270 -0
  55. data/spec/dummy/db/migrate/20130107214719_base_orders.erp_orders.rb +178 -0
  56. data/spec/dummy/db/migrate/20130107214720_base_txns_and_accts.erp_txns_and_accts.rb +364 -0
  57. data/spec/dummy/db/migrate/20130107214721_agreements_services.erp_agreements.rb +160 -0
  58. data/spec/dummy/db/migrate/20130107214722_agreements_services_indexes.erp_agreements.rb +52 -0
  59. data/spec/dummy/db/migrate/20130107214723_base_app_framework.erp_app.rb +276 -0
  60. data/spec/dummy/db/migrate/20130107214724_erp_commerce_base.erp_commerce.rb +442 -0
  61. data/spec/dummy/db/schema.rb +1821 -0
  62. data/spec/dummy/db/spec.sqlite3 +0 -0
  63. data/spec/dummy/log/spec.log +12388 -0
  64. data/spec/spec_helper.rb +11 -3
  65. metadata +119 -10
  66. data/db/migrate/20120612195842_add_internal_identifier_to_product_type.rb +0 -9
@@ -1,4 +1,6 @@
1
1
  class ProdAvailabilityStatusType < ActiveRecord::Base
2
+ attr_protected :created_at, :updated_at
3
+
2
4
  acts_as_nested_set
3
5
  include ErpTechSvcs::Utils::DefaultNestedSetMethods
4
6
  acts_as_erp_type
@@ -1,4 +1,5 @@
1
1
  class ProdInstanceReln < ActiveRecord::Base
2
+ attr_protected :created_at, :updated_at
2
3
 
3
4
  belongs_to :prod_instance_from, :class_name => "ProductInstance", :foreign_key => "prod_instance_id_from"
4
5
  belongs_to :prod_instance_to, :class_name => "ProductInstance", :foreign_key => "prod_instance_id_to"
@@ -1,4 +1,6 @@
1
1
  class ProdInstanceRelnType < ActiveRecord::Base
2
+ attr_protected :created_at, :updated_at
3
+
2
4
  acts_as_nested_set
3
5
  include ErpTechSvcs::Utils::DefaultNestedSetMethods
4
6
  end
@@ -1,4 +1,6 @@
1
1
  class ProdInstanceRoleType < ActiveRecord::Base
2
+ attr_protected :created_at, :updated_at
3
+
2
4
  acts_as_nested_set
3
5
  include ErpTechSvcs::Utils::DefaultNestedSetMethods
4
6
  end
@@ -1,4 +1,5 @@
1
1
  class ProdTypeReln < ActiveRecord::Base
2
+ attr_protected :created_at, :updated_at
2
3
 
3
4
  belongs_to :prod_type_from, :class_name => "ProductType", :foreign_key => "prod_type_id_from"
4
5
  belongs_to :prod_type_to, :class_name => "ProductType", :foreign_key => "prod_type_id_to"
@@ -1,4 +1,6 @@
1
1
  class ProdTypeRelnType < ActiveRecord::Base
2
+ attr_protected :created_at, :updated_at
3
+
2
4
  acts_as_nested_set
3
5
  include ErpTechSvcs::Utils::DefaultNestedSetMethods
4
6
  end
@@ -1,4 +1,6 @@
1
1
  class ProdTypeRoleType < ActiveRecord::Base
2
+ attr_protected :created_at, :updated_at
3
+
2
4
  acts_as_nested_set
3
5
  include ErpTechSvcs::Utils::DefaultNestedSetMethods
4
6
  end
@@ -1,4 +1,6 @@
1
1
  class ProductInstance < ActiveRecord::Base
2
+ attr_protected :created_at, :updated_at
3
+
2
4
  acts_as_nested_set
3
5
  include ErpTechSvcs::Utils::DefaultNestedSetMethods
4
6
 
@@ -1,4 +1,5 @@
1
1
  class ProductOffer < ActiveRecord::Base
2
+ attr_protected :created_at, :updated_at
2
3
 
3
4
  belongs_to :product_offer_record, :polymorphic => true
4
5
 
@@ -1,4 +1,6 @@
1
1
  class ProductType < ActiveRecord::Base
2
+ attr_protected :created_at, :updated_at
3
+
2
4
  acts_as_nested_set
3
5
  include ErpTechSvcs::Utils::DefaultNestedSetMethods
4
6
 
@@ -1,4 +1,6 @@
1
1
  class SimpleProductOffer < ActiveRecord::Base
2
+ attr_protected :created_at, :updated_at
3
+
2
4
  acts_as_product_offer
3
5
  belongs_to :product
4
6
  end
@@ -19,6 +19,7 @@ class BaseProducts < ActiveRecord::Migration
19
19
  t.column :product_type_record_id, :integer
20
20
  t.column :product_type_record_type, :string
21
21
  t.column :external_identifier, :string
22
+ t.column :internal_identifier, :string
22
23
  t.column :external_id_source, :string
23
24
  t.column :default_image_url, :string
24
25
  t.column :list_view_image_id, :integer
@@ -1,3 +1,5 @@
1
+ require 'erp_base_erp_svcs'
2
+
1
3
  require "erp_products/version"
2
4
  require "erp_products/extensions"
3
5
  require "erp_products/engine"
@@ -1,8 +1,8 @@
1
1
  module ErpProducts
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 3
4
- MINOR = 0
5
- TINY = 5
4
+ MINOR = 1
5
+ TINY = 0
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].compact.join('.')
8
8
  end
@@ -44,6 +44,12 @@ module Dummy
44
44
 
45
45
  # Enable the asset pipeline
46
46
  config.assets.enabled = true
47
+
48
+ # Enforce whitelist mode for mass assignment.
49
+ # This will create an empty whitelist of attributes available for mass-assignment for all models
50
+ # in your app. As such, your models will need to explicitly whitelist or blacklist accessible
51
+ # parameters by using an attr_accessible or attr_protected declaration.
52
+ config.active_record.whitelist_attributes = true
47
53
  end
48
54
  end
49
55
 
@@ -1,6 +1,9 @@
1
1
  Dummy::Application.configure do
2
2
  # Settings specified here will take precedence over those in config/application.rb
3
3
 
4
+ # Raise exception on mass assignment protection for Active Record models
5
+ config.active_record.mass_assignment_sanitizer = :strict
6
+
4
7
  # In the development environment your application's code is reloaded on
5
8
  # every request. This slows down response time but is perfect for development
6
9
  # since you don't have to restart the web server when you make code changes.
@@ -0,0 +1,28 @@
1
+ # This migration comes from erp_commerce (originally 20101011152441)
2
+ class PaymentGatewayActions
3
+
4
+ def self.up
5
+ PaymentGatewayAction.create(
6
+ :internal_identifier => 'capture',
7
+ :description => 'capture'
8
+ )
9
+
10
+ PaymentGatewayAction.create(
11
+ :internal_identifier => 'authorize',
12
+ :description => 'Authorize'
13
+ )
14
+
15
+ PaymentGatewayAction.create(
16
+ :internal_identifier => 'full_reverse_of_authorization',
17
+ :description => 'Full Reverse Of Authorization'
18
+ )
19
+ end
20
+
21
+ def self.down
22
+ ['sale','void_sale','authorize'].each do |iid|
23
+ type = PaymentGatewayAction.find_by_internal_identifier(iid)
24
+ type.destroy unless type.nil?
25
+ end
26
+ end
27
+
28
+ end
@@ -0,0 +1,16 @@
1
+ # This migration comes from erp_txns_and_accts (originally 20101014142230)
2
+ class FinancialTxnTypes
3
+
4
+ def self.up
5
+ BizTxnType.create(
6
+ :description => "Payment Transaction",
7
+ :internal_identifier => 'payment_txn'
8
+ )
9
+ end
10
+
11
+ def self.down
12
+ type = BizTxnType.iid('payment_txn')
13
+ type.destroy unless type.nil?
14
+ end
15
+
16
+ end
@@ -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,24 @@
1
+ # This migration comes from erp_products (originally 20110324010232)
2
+ class ProductRoleTypes
3
+
4
+ def self.up
5
+ ProdTypeRelnType.create(:internal_identifier => 'product_type_package_reln', :description => 'Product Type Package Relationship')
6
+ ProdTypeRoleType.create(:internal_identifier => 'product_type_package', :description => 'Product Type Package')
7
+ ProdTypeRoleType.create(:internal_identifier => 'packaged_product_type', :description => 'Packaged Product Type')
8
+
9
+ ProdInstanceRelnType.create(:internal_identifier => 'product_instance_package_reln', :description => 'Product Instance Package Relantionship')
10
+ ProdInstanceRoleType.create(:internal_identifier => 'product_instance_package', :description => 'Product Instance Package')
11
+ ProdInstanceRoleType.create(:internal_identifier => 'packaged_product_instance', :description => 'Packaged Product Instance')
12
+ end
13
+
14
+ def self.down
15
+ ['product_type_package_reln','product_type_package','packaged_product_type'].each do |iid|
16
+ ProdTypeRelnType.iid(iid).destroy
17
+ end
18
+
19
+ ['product_instance_package_reln','product_instance_package','packaged_product_instance'].each do |iid|
20
+ ProdInstanceRoleType.iid(iid).destroy
21
+ end
22
+ end
23
+
24
+ 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,27 @@
1
+ # This migration comes from erp_products (originally 20110527160807)
2
+ class AddDefaultProdAvailTypes
3
+
4
+ def self.up
5
+ ProdAvailabilityStatusType.create(
6
+ :description => 'Available',
7
+ :internal_identifier => 'available'
8
+ )
9
+
10
+ ProdAvailabilityStatusType.create(
11
+ :description => 'Sold',
12
+ :internal_identifier => 'sold'
13
+ )
14
+
15
+ ProdAvailabilityStatusType.create(
16
+ :description => 'Shipped',
17
+ :internal_identifier => 'shipped'
18
+ )
19
+ end
20
+
21
+ def self.down
22
+ %w(available sold shipped).each do |iid|
23
+ ProdAvailabilityStatusType.find_by_internal_identifier(iid).destroy
24
+ end
25
+ end
26
+
27
+ end
@@ -0,0 +1,24 @@
1
+ # This migration comes from erp_orders (originally 20110605231556)
2
+ class CreateOrderPartyRoles
3
+
4
+ def self.up
5
+ order_roles = BizTxnPartyRoleType.create(
6
+ :description => 'Order Roles',
7
+ :internal_identifier => 'order_roles'
8
+ )
9
+
10
+ buyor_role = BizTxnPartyRoleType.create(
11
+ :description => 'Payor',
12
+ :internal_identifier => 'payor'
13
+ )
14
+
15
+ buyor_role.move_to_child_of(order_roles)
16
+ buyor_role.save
17
+ end
18
+
19
+ def self.down
20
+ BizTxnPartyRoleType.find_by_internal_identifier('payor').destroy
21
+ BizTxnPartyRoleType.find_by_internal_identifier('order_roles').destroy
22
+ end
23
+
24
+ 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