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.
- data/app/models/prod_availability_status_type.rb +2 -0
- data/app/models/prod_instance_reln.rb +1 -0
- data/app/models/prod_instance_reln_type.rb +2 -0
- data/app/models/prod_instance_role_type.rb +2 -0
- data/app/models/prod_type_reln.rb +1 -0
- data/app/models/prod_type_reln_type.rb +2 -0
- data/app/models/prod_type_role_type.rb +2 -0
- data/app/models/product_instance.rb +2 -0
- data/app/models/product_offer.rb +1 -0
- data/app/models/product_type.rb +2 -0
- data/app/models/simple_product_offer.rb +2 -0
- data/db/migrate/20080805000040_base_products.rb +1 -0
- data/lib/erp_products.rb +2 -0
- data/lib/erp_products/version.rb +2 -2
- data/spec/dummy/config/application.rb +6 -0
- data/spec/dummy/config/environments/spec.rb +3 -0
- data/spec/dummy/db/data_migrations/20101011152441_payment_gateway_actions.erp_commerce.rb +28 -0
- data/spec/dummy/db/data_migrations/20101014142230_financial_txn_types.erp_txns_and_accts.rb +16 -0
- data/spec/dummy/db/data_migrations/20110109173616_create_capability_scope_types.erp_tech_svcs.rb +15 -0
- data/spec/dummy/db/data_migrations/20110324010232_product_role_types.erp_products.rb +24 -0
- data/spec/dummy/db/data_migrations/20110525001935_add_usd_currency.erp_base_erp_svcs.rb +12 -0
- data/spec/dummy/db/data_migrations/20110527160807_add_default_prod_avail_types.erp_products.rb +27 -0
- data/spec/dummy/db/data_migrations/20110605231556_create_order_party_roles.erp_orders.rb +24 -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/20110728201730_create_desktop_app_product_manager.erp_products.rb +26 -0
- data/spec/dummy/db/data_migrations/20110728201731_create_desktop_app_order_manager.erp_orders.rb +26 -0
- data/spec/dummy/db/data_migrations/20110728201732_create_organizer_app_order_management.erp_orders.rb +15 -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/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/20120109173616_create_download_capability_type.erp_tech_svcs.rb +14 -0
- data/spec/dummy/db/data_migrations/20120229160222_add_userinfo_widget.erp_app.rb +29 -0
- data/spec/dummy/db/data_migrations/20120229174343_add_orders_widget.erp_orders.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/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/20130107214711_base_erp_services.erp_base_erp_svcs.rb +461 -0
- data/spec/dummy/db/migrate/20130107214712_base_products.erp_products.rb +234 -0
- data/spec/dummy/db/migrate/20130107214713_base_products_indexes.erp_products.rb +59 -0
- data/spec/dummy/db/migrate/20130107214714_base_tech_services.erp_tech_svcs.rb +271 -0
- data/spec/dummy/db/migrate/20130107214715_create_has_attribute_tables.erp_tech_svcs.rb +39 -0
- data/spec/dummy/db/migrate/20130107214716_create_groups.erp_tech_svcs.rb +19 -0
- data/spec/dummy/db/migrate/20130107214717_upgrade_security.erp_tech_svcs.rb +54 -0
- data/spec/dummy/db/migrate/20130107214718_upgrade_security2.erp_tech_svcs.rb +270 -0
- data/spec/dummy/db/migrate/20130107214719_base_orders.erp_orders.rb +178 -0
- data/spec/dummy/db/migrate/20130107214720_base_txns_and_accts.erp_txns_and_accts.rb +364 -0
- data/spec/dummy/db/migrate/20130107214721_agreements_services.erp_agreements.rb +160 -0
- data/spec/dummy/db/migrate/20130107214722_agreements_services_indexes.erp_agreements.rb +52 -0
- data/spec/dummy/db/migrate/20130107214723_base_app_framework.erp_app.rb +276 -0
- data/spec/dummy/db/migrate/20130107214724_erp_commerce_base.erp_commerce.rb +442 -0
- data/spec/dummy/db/schema.rb +1821 -0
- data/spec/dummy/db/spec.sqlite3 +0 -0
- data/spec/dummy/log/spec.log +12388 -0
- data/spec/spec_helper.rb +11 -3
- metadata +119 -10
- data/db/migrate/20120612195842_add_internal_identifier_to_product_type.rb +0 -9
| @@ -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"
         | 
    
        data/app/models/product_offer.rb
    CHANGED
    
    
    
        data/app/models/product_type.rb
    CHANGED
    
    
| @@ -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
         | 
    
        data/lib/erp_products.rb
    CHANGED
    
    
    
        data/lib/erp_products/version.rb
    CHANGED
    
    
| @@ -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
         | 
    
        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,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
         | 
    
        data/spec/dummy/db/data_migrations/20110527160807_add_default_prod_avail_types.erp_products.rb
    ADDED
    
    | @@ -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
         |