erp_inventory 3.1.0 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. checksums.yaml +7 -0
  2. data/app/controllers/erp_inventory/erp_app/organizer/asset_management/facilities_controller.rb +78 -0
  3. data/app/controllers/erp_inventory/erp_app/organizer/asset_management/fixed_assets_controller.rb +16 -0
  4. data/app/controllers/erp_inventory/erp_app/organizer/inventory_mgt/base_controller.rb +15 -0
  5. data/app/controllers/erp_inventory/erp_app/organizer/inventory_mgt/inventory_entries_controller.rb +126 -0
  6. data/app/controllers/erp_inventory/erp_app/organizer/inventory_mgt/inventory_entry_locations_controller.rb +47 -0
  7. data/app/controllers/erp_inventory/erp_app/organizer/inventory_mgt/inventory_txns_controller.rb +37 -0
  8. data/app/models/facility.rb +23 -0
  9. data/app/models/inventory_entry.rb +69 -6
  10. data/app/models/inventory_entry_location.rb +13 -0
  11. data/app/views/erp_inventory/erp_app/organizer/asset_management/facilities/show_summary.html.erb +64 -0
  12. data/app/views/erp_inventory/erp_app/organizer/inventory_mgt/base/show_summary.html.erb +7 -0
  13. data/app/views/erp_inventory/erp_app/organizer/inventory_mgt/inventory_entries/show_summary.html.erb +50 -0
  14. data/config/routes.rb +21 -0
  15. data/db/data_migrations/20131206033154_create_inv_txn_types.rb +21 -0
  16. data/db/migrate/20130925202059_create_inventory_entry_locations.rb +13 -0
  17. data/db/migrate/20130925222100_create_inventory_pickup_txns.rb +17 -0
  18. data/db/migrate/20130925222150_create_inventory_dropoff_txns.rb +18 -0
  19. data/db/migrate/20131206035027_add_inv_entry_to_inventory_txns.rb +15 -0
  20. data/db/migrate/20131211170059_change_fixed_asset_to_facility_for_inventory_locations.rb +8 -0
  21. data/db/migrate/20140103183635_add_uom_to_inventory_entry.rb +5 -0
  22. data/db/migrate/20140104182403_add_number_in_stock_inventory.rb +9 -0
  23. data/lib/erp_inventory/engine.rb +1 -1
  24. data/lib/erp_inventory/version.rb +6 -2
  25. metadata +43 -139
  26. data/app/assets/javascripts/erp_inventory/application.js +0 -9
  27. data/app/assets/stylesheets/erp_inventory/application.css +0 -7
  28. data/app/helpers/erp_inventory/application_helper.rb +0 -4
  29. data/app/views/layouts/erp_inventory/application.html.erb +0 -14
  30. data/lib/erp_inventory/extensions/compass_ae/erp_products/erp_app/desktop/product_manager/base_controller.rb +0 -64
  31. data/public/javascripts/extensions/compass_ae/erp_app/desktop/applications/product_manager/inventory_form_panel.js +0 -83
  32. data/spec/dummy/db/data_migrations/20101011152441_payment_gateway_actions.erp_commerce.rb +0 -28
  33. data/spec/dummy/db/data_migrations/20101014142230_financial_txn_types.erp_txns_and_accts.rb +0 -16
  34. data/spec/dummy/db/data_migrations/20110109173616_create_capability_scope_types.erp_tech_svcs.rb +0 -15
  35. data/spec/dummy/db/data_migrations/20110324010232_product_role_types.erp_products.rb +0 -24
  36. data/spec/dummy/db/data_migrations/20110525001935_add_usd_currency.erp_base_erp_svcs.rb +0 -12
  37. data/spec/dummy/db/data_migrations/20110527160807_add_default_prod_avail_types.erp_products.rb +0 -27
  38. data/spec/dummy/db/data_migrations/20110605231556_create_order_party_roles.erp_orders.rb +0 -24
  39. data/spec/dummy/db/data_migrations/20110609150135_add_iso_codes.erp_base_erp_svcs.rb +0 -19
  40. data/spec/dummy/db/data_migrations/20110728201729_erp_app_setup.erp_app.rb +0 -252
  41. data/spec/dummy/db/data_migrations/20110728201730_create_desktop_app_product_manager.erp_products.rb +0 -26
  42. data/spec/dummy/db/data_migrations/20110728201731_create_desktop_app_order_manager.erp_orders.rb +0 -26
  43. data/spec/dummy/db/data_migrations/20110728201732_create_organizer_app_order_management.erp_orders.rb +0 -15
  44. data/spec/dummy/db/data_migrations/20110728201733_update_preferences.erp_app.rb +0 -53
  45. data/spec/dummy/db/data_migrations/20110802200222_schedule_delete_expired_sessions_job.erp_tech_svcs.rb +0 -16
  46. data/spec/dummy/db/data_migrations/20110816161238_create_desktop_app_audit_log_viewer.erp_app.rb +0 -21
  47. data/spec/dummy/db/data_migrations/20110817160743_add_file_manager_application.erp_app.rb +0 -32
  48. data/spec/dummy/db/data_migrations/20110913145838_setup_compass_ae_instance.erp_base_erp_svcs.rb +0 -12
  49. data/spec/dummy/db/data_migrations/20111108183739_add_default_capabilities.erp_app.rb +0 -23
  50. data/spec/dummy/db/data_migrations/20111108183740_add_new_contact_widgets.erp_app.rb +0 -42
  51. data/spec/dummy/db/data_migrations/20111111144706_setup_audit_log_types.erp_tech_svcs.rb +0 -22
  52. data/spec/dummy/db/data_migrations/20120109173616_create_download_capability_type.erp_tech_svcs.rb +0 -14
  53. data/spec/dummy/db/data_migrations/20120229160222_add_userinfo_widget.erp_app.rb +0 -29
  54. data/spec/dummy/db/data_migrations/20120229174343_add_orders_widget.erp_orders.rb +0 -29
  55. data/spec/dummy/db/data_migrations/20120405193721_create_party_and_role_type_for_communication_events.erp_app.rb +0 -11
  56. data/spec/dummy/db/data_migrations/20120411180756_create_user_management_mobile_application.erp_app.rb +0 -19
  57. data/spec/dummy/db/data_migrations/20120418164215_create_configuration_management_desktop_application.erp_app.rb +0 -23
  58. data/spec/dummy/db/data_migrations/20121116155018_create_group_relationship_and_role_types.erp_tech_svcs.rb +0 -20
  59. data/spec/dummy/db/data_migrations/20121130201859_upgrade_remove_system_mgmt_app.erp_app.rb +0 -16
  60. data/spec/dummy/db/data_migrations/20121130212146_note_capabilities.erp_tech_svcs.rb +0 -24
  61. data/spec/dummy/db/data_migrations/20121218175028_create_security_management_desktop_application.erp_app.rb +0 -23
  62. data/spec/dummy/db/migrate/20121213235616_base_erp_services.erp_base_erp_svcs.rb +0 -461
  63. data/spec/dummy/db/migrate/20121213235617_base_inventory.erp_inventory.rb +0 -91
  64. data/spec/dummy/db/migrate/20121213235618_base_inventory_indexes.erp_inventory.rb +0 -48
  65. data/spec/dummy/db/migrate/20121213235619_base_tech_services.erp_tech_svcs.rb +0 -255
  66. data/spec/dummy/db/migrate/20121213235620_create_has_attribute_tables.erp_tech_svcs.rb +0 -39
  67. data/spec/dummy/db/migrate/20121213235621_base_orders.erp_orders.rb +0 -178
  68. data/spec/dummy/db/migrate/20121213235622_base_products.erp_products.rb +0 -234
  69. data/spec/dummy/db/migrate/20121213235623_base_products_indexes.erp_products.rb +0 -59
  70. data/spec/dummy/db/migrate/20121213235624_base_txns_and_accts.erp_txns_and_accts.rb +0 -364
  71. data/spec/dummy/db/migrate/20121213235625_agreements_services.erp_agreements.rb +0 -160
  72. data/spec/dummy/db/migrate/20121213235626_agreements_services_indexes.erp_agreements.rb +0 -52
  73. data/spec/dummy/db/migrate/20121213235627_base_app_framework.erp_app.rb +0 -276
  74. data/spec/dummy/db/migrate/20121213235628_erp_commerce_base.erp_commerce.rb +0 -442
  75. data/spec/dummy/db/migrate/20130107180714_create_groups.erp_tech_svcs.rb +0 -19
  76. data/spec/dummy/db/migrate/20130107180715_upgrade_security.erp_tech_svcs.rb +0 -54
  77. data/spec/dummy/db/migrate/20130107180716_upgrade_security2.erp_tech_svcs.rb +0 -270
  78. data/spec/dummy/db/schema.rb +0 -1879
  79. data/spec/dummy/db/spec.sqlite3 +0 -0
  80. data/spec/dummy/log/spec.log +0 -9949
@@ -1,9 +0,0 @@
1
- // This is a manifest file that'll be compiled into including all the files listed below.
2
- // Add new JavaScript/Coffee code in separate files in this directory and they'll automatically
3
- // be included in the compiled file accessible from http://example.com/assets/application.js
4
- // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
5
- // the compiled file.
6
- //
7
- //= require jquery
8
- //= require jquery_ujs
9
- //= require_tree .
@@ -1,7 +0,0 @@
1
- /*
2
- * This is a manifest file that'll automatically include all the stylesheets available in this directory
3
- * and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
4
- * the top of the compiled file, but it's generally better to create a new file per style scope.
5
- *= require_self
6
- *= require_tree .
7
- */
@@ -1,4 +0,0 @@
1
- module ErpInventory
2
- module ApplicationHelper
3
- end
4
- end
@@ -1,14 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>ErpInventory</title>
5
- <%= stylesheet_link_tag "erp_inventory/application" %>
6
- <%= javascript_include_tag "erp_inventory/application" %>
7
- <%= csrf_meta_tags %>
8
- </head>
9
- <body>
10
-
11
- <%= yield %>
12
-
13
- </body>
14
- </html>
@@ -1,64 +0,0 @@
1
- ErpProducts::ErpApp::Desktop::ProductManager::BaseController.class_eval do
2
-
3
- #
4
- #Inventory
5
- #
6
-
7
- def inventory
8
- result = {}
9
-
10
- inventory_entry = InventoryEntry.find_by_product_type_id(params[:id])
11
- result[:number_available] = inventory_entry.number_available
12
- result[:sku] = inventory_entry.sku
13
-
14
- render :json => result
15
- end
16
-
17
- def update_inventory
18
- inventory_entry = InventoryEntry.find_by_product_type_id(params[:product_type_id])
19
- inventory_entry.sku = params[:sku]
20
- inventory_entry.number_available = params[:number_available]
21
-
22
- render :json => (inventory_entry.save) ? {:success => true} : {:success => false}
23
- end
24
-
25
- def new
26
- result = {}
27
-
28
- title = params[:title]
29
- description = params[:description]
30
-
31
- product_type = ProductType.new(
32
- :description => title
33
- )
34
-
35
- product_type.descriptions << DescriptiveAsset.create(
36
- :description => description,
37
- :internal_identifier => 'long_description'
38
- )
39
-
40
- if product_type.save
41
- #create inventory
42
- inventory_entry = InventoryEntry.new(
43
- :product_type => product_type,
44
- :number_available => 0,
45
- :number_sold => 0,
46
- :description => product_type.description
47
- )
48
-
49
- if inventory_entry.save
50
- result[:success] = true
51
- result[:id] = product_type.id
52
- else
53
- product_type.destroy
54
- result[:success] = false
55
- end
56
-
57
- else
58
- result[:success] = false
59
- end
60
-
61
- render :json => result
62
- end
63
-
64
- end
@@ -1,83 +0,0 @@
1
- //
2
- //Inventory Management
3
- //
4
-
5
- Ext.define("Compass.ErpApp.Desktop.Applications.ProductManager.InventoryFormPanel",{
6
- extend:"Ext.form.Panel",
7
- alias:'widget.productmanager_inventoryformpanel',
8
-
9
- constructor : function(config) {
10
- config = Ext.apply({
11
- title:'Inventory',
12
- frame:true,
13
- buttonAlign:'left',
14
- bodyStyle:'padding:5px 5px 0',
15
- url:'/erp_products/erp_app/desktop/product_manager/update_inventory',
16
- items:[
17
- {
18
- fieldLabel:'SKU #',
19
- xtype:'textfield',
20
- allowBlank:true,
21
- name:'sku'
22
- },{
23
- fieldLabel:'# Available',
24
- xtype:'numberfield',
25
- allowBlank:false,
26
- name:'number_available'
27
- },
28
- {
29
- xtype:'hidden',
30
- name:'product_type_id',
31
- value:Compass.ErpApp.Desktop.Applications.ProductManager.selectedProductTypeId
32
- },
33
- ],
34
- buttons:[
35
- {
36
- text:'Update',
37
- handler:function(btn){
38
- var formPanel = btn.findParentByType('form');
39
- var basicForm = formPanel.getForm();
40
-
41
- basicForm.submit({
42
- reset:false,
43
- success:function(form, action){
44
- var obj = Ext.decode(action.response.responseText);
45
- if(obj.success){
46
- Ext.getCmp('productListPanel').loadProducts();
47
- }
48
- else{
49
- Ext.Msg.alert("Error", 'Error creating price');
50
- }
51
- },
52
- failure:function(form, action){
53
- Ext.Msg.alert("Error", 'Error creating price');
54
- }
55
- });
56
- }
57
- }
58
- ]
59
- }, config);
60
-
61
- this.callParent([config]);
62
- }
63
- });
64
-
65
- Compass.ErpApp.Desktop.Applications.ProductManager.widgets.push({
66
- xtype:'productmanager_inventoryformpanel',
67
- listeners:{
68
- 'activate':function(panel){
69
- var self = this;
70
- Ext.Ajax.request({
71
- url: '/erp_products/erp_app/desktop/product_manager/inventory/'+Compass.ErpApp.Desktop.Applications.ProductManager.selectedProductTypeId,
72
- success: function(response) {
73
- var obj = Ext.decode(response.responseText);
74
- self.getForm().setValues(obj);
75
- },
76
- failure: function(response) {
77
- Ext.Msg.alert('Error', 'Error loading inventory.');
78
- }
79
- });
80
- }
81
- }
82
- });
83
-
@@ -1,28 +0,0 @@
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
@@ -1,16 +0,0 @@
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
@@ -1,15 +0,0 @@
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
@@ -1,24 +0,0 @@
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
@@ -1,12 +0,0 @@
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
@@ -1,27 +0,0 @@
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
@@ -1,24 +0,0 @@
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
@@ -1,19 +0,0 @@
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
@@ -1,252 +0,0 @@
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