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,91 +0,0 @@
1
- # This migration comes from erp_inventory (originally 20080805000050)
2
- class BaseInventory < ActiveRecord::Migration
3
- def self.up
4
-
5
- unless table_exists?(:inventory_entries)
6
- create_table :inventory_entries do |t|
7
- t.column :description, :string
8
- t.column :inventory_entry_record_id, :integer
9
- t.column :inventory_entry_record_type, :string
10
- t.column :external_identifier, :string
11
- t.column :external_id_source, :string
12
- t.column :product_type_id, :integer
13
- t.column :number_available, :integer
14
- t.string :sku
15
- t.integer :number_sold
16
-
17
- t.timestamps
18
- end
19
- end
20
-
21
- unless table_exists?(:inv_entry_reln_types)
22
- create_table :inv_entry_reln_types do |t|
23
- t.column :parent_id, :integer
24
- t.column :lft, :integer
25
- t.column :rgt, :integer
26
- #custom columns go here
27
- t.column :description, :string
28
- t.column :comments, :string
29
- t.column :internal_identifier, :string
30
- t.column :external_identifier, :string
31
- t.column :external_id_source, :string
32
-
33
- t.timestamps
34
- end
35
- end
36
-
37
- unless table_exists?(:inv_entry_role_types)
38
- create_table :inv_entry_role_types do |t|
39
- t.column :parent_id, :integer
40
- t.column :lft, :integer
41
- t.column :rgt, :integer
42
- #custom columns go here
43
- t.column :description, :string
44
- t.column :comments, :string
45
- t.column :internal_identifier, :string
46
- t.column :external_identifier, :string
47
- t.column :external_id_source, :string
48
-
49
- t.timestamps
50
- end
51
- end
52
-
53
- unless table_exists?(:inv_entry_relns)
54
- create_table :inv_entry_relns do |t|
55
- t.column :inv_entry_reln_type_id, :integer
56
- t.column :description, :string
57
- t.column :inv_entry_id_from, :integer
58
- t.column :inv_entry_id_to, :integer
59
- t.column :role_type_id_from, :integer
60
- t.column :role_type_id_to, :integer
61
- t.column :status_type_id, :integer
62
- t.column :from_date, :date
63
- t.column :thru_date, :date
64
-
65
- t.timestamps
66
- end
67
- end
68
-
69
- unless table_exists?(:prod_instance_inv_entries)
70
- create_table :prod_instance_inv_entries do |t|
71
- t.column :product_instance_id, :integer
72
- t.column :inventory_entry_id, :integer
73
-
74
- t.timestamps
75
- end
76
- end
77
-
78
- end
79
-
80
- def self.down
81
- [
82
- :prod_instance_inv_entries,:inv_entry_relns,
83
- :inv_entry_role_types, :inv_entry_reln_types, :inventory_entries
84
- ].each do |tbl|
85
- if table_exists?(tbl)
86
- drop_table tbl
87
- end
88
- end
89
- end
90
-
91
- end
@@ -1,48 +0,0 @@
1
- # This migration comes from erp_inventory (originally 20080805000051)
2
- class BaseInventoryIndexes < ActiveRecord::Migration
3
- def self.up
4
- add_index :inventory_entries, [:inventory_entry_record_id, :inventory_entry_record_type],
5
- :name => "bii_1"
6
-
7
- add_index :inv_entry_reln_types, :parent_id
8
-
9
- add_index :inv_entry_role_types, :parent_id
10
-
11
- add_index :inv_entry_relns, :inv_entry_reln_type_id
12
- add_index :inv_entry_relns, :status_type_id
13
-
14
- add_index :prod_instance_inv_entries, :product_instance_id
15
- add_index :prod_instance_inv_entries, :inventory_entry_id
16
-
17
- ### Conditional checks: since these columns may have been added with a later migration,
18
- ### we check that the column exists before adding an index on it.
19
-
20
- if columns(:inventory_entries).include?('product_type_id')
21
- add_index :inventory_entries, :product_type_id
22
- end
23
- end
24
-
25
- def self.down
26
- remove_index :inventory_entries, :name => "bii_1"
27
-
28
- remove_index :inv_entry_reln_types, :parent_id
29
-
30
- remove_index :inv_entry_role_types, :parent_id
31
-
32
- remove_index :inv_entry_relns, :inv_entry_reln_type_id
33
- remove_index :inv_entry_relns, :status_type_id
34
-
35
- remove_index :prod_instance_inv_entries, :product_instance_id
36
- remove_index :prod_instance_inv_entries, :inventory_entry_id
37
-
38
- ### Conditional checks: since these columns were originally added in a later
39
- ### migration that may not yet have already been run,
40
- ### we check that the column exists before removing an index on it.
41
-
42
- if indexes(:inventory_entries).collect {|i|
43
- i.name}.include?('index_inventory_entries_on_product_type_id')
44
- remove_index :inventory_entries, :product_type_id
45
- end
46
-
47
- end
48
- end
@@ -1,255 +0,0 @@
1
- # This migration comes from erp_tech_svcs (originally 20080805000010)
2
- class BaseTechServices < ActiveRecord::Migration
3
- def self.up
4
- unless table_exists?(:users)
5
- # Create the users table
6
- create_table :users do |t|
7
- t.string :username
8
- t.string :email
9
- t.references :party
10
- t.string :type
11
- t.string :salt, :default => nil
12
- t.string :crypted_password, :default => nil
13
-
14
- #activity logging
15
- t.datetime :last_login_at, :default => nil
16
- t.datetime :last_logout_at, :default => nil
17
- t.datetime :last_activity_at, :default => nil
18
-
19
- #brute force protection
20
- t.integer :failed_logins_count, :default => 0
21
- t.datetime :lock_expires_at, :default => nil
22
-
23
- #remember me
24
- t.string :remember_me_token, :default => nil
25
- t.datetime :remember_me_token_expires_at, :default => nil
26
-
27
- #reset password
28
- t.string :reset_password_token, :default => nil
29
- t.datetime :reset_password_token_expires_at, :default => nil
30
- t.datetime :reset_password_email_sent_at, :default => nil
31
-
32
- #user activation
33
- t.string :activation_state, :default => nil
34
- t.string :activation_token, :default => nil
35
- t.datetime :activation_token_expires_at, :default => nil
36
-
37
- t.string :security_question_1
38
- t.string :security_answer_1
39
- t.string :security_question_2
40
- t.string :security_answer_2
41
-
42
- t.timestamps
43
- end
44
- add_index :users, :email, :unique => true
45
- add_index :users, :username, :unique => true
46
- add_index :users, [:last_logout_at, :last_activity_at], :name => 'activity_idx'
47
- add_index :users, :remember_me_token
48
- add_index :users, :reset_password_token
49
- add_index :users, :activation_token
50
-
51
- end
52
-
53
- unless table_exists?(:roles)
54
- # create the roles table
55
- create_table :roles do |t|
56
- t.column :description, :string
57
- t.column :internal_identifier, :string
58
- t.column :external_identifier, :string
59
- t.column :external_id_source, :string
60
-
61
- t.timestamps
62
- end
63
- end
64
-
65
- unless table_exists?(:sessions)
66
- # Create sessions table
67
- create_table :sessions do |t|
68
- t.string :session_id, :null => false
69
- t.text :data
70
- t.timestamps
71
- end
72
- add_index :sessions, :session_id
73
- add_index :sessions, :updated_at
74
- end
75
-
76
- unless table_exists?(:audit_logs)
77
- # Create audit_logs
78
- create_table :audit_logs do |t|
79
- t.string :application
80
- t.string :description
81
- t.integer :party_id
82
- t.text :additional_info
83
- t.references :audit_log_type
84
-
85
- #polymorphic columns
86
- t.references :event_record, :polymorphic => true
87
-
88
- t.timestamps
89
- end
90
- add_index :audit_logs, :party_id
91
- add_index :audit_logs, [:event_record_id, :event_record_type], :name => 'event_record_index'
92
- end
93
-
94
- unless table_exists?(:audit_log_types)
95
- # Create audit_logs
96
- create_table :audit_log_types do |t|
97
- t.string :description
98
- t.string :error_code
99
- t.string :comments
100
- t.string :internal_identifier
101
- t.string :external_identifier
102
- t.string :external_id_source
103
-
104
- #better nested set columns
105
- t.integer :parent_id
106
- t.integer :lft
107
- t.integer :rgt
108
-
109
- t.timestamps
110
- end
111
- end
112
-
113
- unless table_exists?(:audit_log_items)
114
- # Create audit_log_items
115
- create_table :audit_log_items do |t|
116
- t.references :audit_log
117
- t.references :audit_log_item_type
118
- t.string :audit_log_item_value
119
- t.string :description
120
-
121
- t.timestamps
122
- end
123
- end
124
-
125
- unless table_exists?(:audit_log_item_types)
126
- # Create audit_log_item_types
127
- create_table :audit_log_item_types do |t|
128
- t.string :internal_identifier
129
- t.string :external_identifier
130
- t.string :external_id_source
131
- t.string :description
132
- t.string :comments
133
-
134
- #better nested set columns
135
- t.integer :parent_id
136
- t.integer :lft
137
- t.integer :rgt
138
-
139
- t.timestamps
140
- end
141
- end
142
-
143
- unless table_exists?(:secured_models)
144
- create_table :secured_models do |t|
145
- t.references :secured_record, :polymorphic => true
146
-
147
- t.timestamps
148
- end
149
- add_index :secured_models, [:secured_record_id, :secured_record_type], :name => 'secured_record_idx'
150
- end
151
-
152
- unless table_exists?(:roles_secured_models)
153
- create_table :roles_secured_models, :id => false do |t|
154
- t.references :secured_model
155
- t.references :role
156
- end
157
- add_index :roles_secured_models, :secured_model_id
158
- add_index :roles_secured_models, :role_id
159
- end
160
-
161
- unless table_exists?(:file_assets)
162
- create_table :file_assets do |t|
163
- t.references :file_asset_holder, :polymorphic => true
164
- t.string :type
165
- t.string :name
166
- t.string :directory
167
- t.string :data_file_name
168
- t.string :data_content_type
169
- t.integer :data_file_size
170
- t.datetime :data_updated_at
171
- t.string :width
172
- t.string :height
173
-
174
- t.timestamps
175
- end
176
- add_index :file_assets, :type
177
- add_index :file_assets, [:file_asset_holder_id, :file_asset_holder_type], :name => 'file_asset_holder_idx'
178
- add_index :file_assets, :name
179
- add_index :file_assets, :directory
180
- end
181
-
182
- unless table_exists?(:delayed_jobs)
183
- create_table :delayed_jobs, :force => true do |table|
184
- table.integer :priority, :default => 0 # Allows some jobs to jump to the front of the queue
185
- table.integer :attempts, :default => 0 # Provides for retries, but still fail eventually.
186
- table.text :handler # YAML-encoded string of the object that will do work
187
- table.text :last_error # reason for last failure (See Note below)
188
- table.datetime :run_at # When to run. Could be Time.zone.now for immediately, or sometime in the future.
189
- table.datetime :locked_at # Set when a client is working on this object
190
- table.datetime :failed_at # Set when all retries have failed (actually, by default, the record is deleted instead)
191
- table.string :locked_by # Who is working on this object (if locked)
192
- table.string :queue
193
- table.timestamps
194
- end
195
- add_index :delayed_jobs, [:priority, :run_at], :name => 'delayed_jobs_priority'
196
- end
197
-
198
- unless table_exists?(:capable_models)
199
- # create the roles table
200
- create_table :capable_models do |t|
201
- t.references :capable_model_record, :polymorphic => true
202
-
203
- t.timestamps
204
- end
205
-
206
- add_index :capable_models, [:capable_model_record_id, :capable_model_record_type], :name => 'capable_model_record_idx'
207
- end
208
-
209
- unless table_exists?(:capability_types)
210
- # create the roles table
211
- create_table :capability_types do |t|
212
- t.string :internal_identifier
213
- t.string :description
214
- t.timestamps
215
- end
216
- end
217
-
218
- unless table_exists?(:capabilities)
219
- # create the roles table
220
- create_table :capabilities do |t|
221
- t.string :resource
222
- t.references :capability_type
223
- t.timestamps
224
- end
225
-
226
- add_index :capabilities, :capability_type_id
227
- end
228
-
229
- unless table_exists?(:capabilities_capable_models)
230
- # create the roles table
231
- create_table :capabilities_capable_models, :id => false do |t|
232
- t.references :capable_model
233
- t.references :capability
234
- end
235
-
236
- add_index :capabilities_capable_models, :capable_model_id
237
- add_index :capabilities_capable_models, :capability_id
238
- end
239
-
240
- end
241
-
242
- def self.down
243
- # check that each table exists before trying to delete it.
244
- [
245
- :audit_logs, :sessions, :simple_captcha_data,
246
- :capable_models, :capability_types, :capabilities,:capabilities_capable_models,
247
- :roles_users, :roles, :audit_log_items, :audit_log_item_types,
248
- :users, :secured_models, :roles_secured_models, :file_assets, :delayed_jobs
249
- ].each do |tbl|
250
- if table_exists?(tbl)
251
- drop_table tbl
252
- end
253
- end
254
- end
255
- end
@@ -1,39 +0,0 @@
1
- # This migration comes from erp_tech_svcs (originally 20111117183144)
2
- class CreateHasAttributeTables < ActiveRecord::Migration
3
- def up
4
- unless table_exists?(:attribute_types)
5
- create_table :attribute_types do |t|
6
- t.string :internal_identifier
7
- t.string :description
8
- t.string :data_type
9
-
10
- t.timestamps
11
- end
12
-
13
- add_index :attribute_types, :internal_identifier, :name => ':attribute_types_iid_idx'
14
- end
15
- unless table_exists?(:attribute_values)
16
- create_table :attribute_values do |t|
17
- t.integer :attributed_record_id
18
- t.string :attributed_record_type
19
- t.references :attribute_type
20
- t.string :value
21
-
22
- t.timestamps
23
- end
24
-
25
- add_index :attribute_values, [:attributed_record_id, :attributed_record_type], :name => 'attribute_values_attributed_record_idx'
26
- add_index :attribute_values, :attribute_type_id, :name => 'attribute_values_attributed_type_idx'
27
- add_index :attribute_values, :value, :name => 'attribute_values_value_idx'
28
- end
29
- end
30
-
31
- def down
32
- if table_exists?(:attribute_types)
33
- drop_table :attribute_types
34
- end
35
- if table_exists?(:attribute_values)
36
- drop_table :attribute_values
37
- end
38
- end
39
- end
@@ -1,178 +0,0 @@
1
- # This migration comes from erp_orders (originally 20080805000060)
2
- class BaseOrders < ActiveRecord::Migration
3
- def self.up
4
-
5
- unless table_exists?(:order_txns)
6
- create_table :order_txns do |t|
7
- t.column :state_machine, :string
8
- t.column :description, :string
9
- t.column :order_txn_type_id, :integer
10
- # Multi-table inheritance info
11
- # MTI implemented using Rails' polymorphic associations
12
- # Contact Information
13
- t.column :email, :string
14
- t.column :phone_number, :string
15
- # Shipping Address
16
- t.column :ship_to_first_name, :string
17
- t.column :ship_to_last_name, :string
18
- t.column :ship_to_address_line_1, :string
19
- t.column :ship_to_address_line_2, :string
20
- t.column :bill_to_address_line_1, :string
21
- t.column :bill_to_address_line_2, :string
22
- t.column :ship_to_city, :string
23
- t.column :ship_to_state, :string
24
- t.column :ship_to_postal_code, :string
25
- t.column :ship_to_country, :string
26
- # Private parts
27
- t.column :customer_ip, :string
28
- t.column :order_number, :integer
29
- t.column :status, :string
30
- t.column :error_message, :string
31
- t.column :order_txn_record_id, :integer
32
- t.column :order_txn_record_type, :string
33
- t.timestamps
34
- end
35
-
36
- add_index :order_txns, :order_txn_type_id
37
- add_index :order_txns, [:order_txn_record_id, :order_txn_record_type], :name => 'order_txn_record_idx'
38
- end
39
-
40
- unless table_exists?(:order_txn_types)
41
- create_table :order_txn_types do |t|
42
- t.column :parent_id, :integer
43
- t.column :lft, :integer
44
- t.column :rgt, :integer
45
- #custom columns go here
46
- t.column :description, :string
47
- t.column :comments, :string
48
- t.column :internal_identifier, :string
49
- t.column :external_identifier, :string
50
- t.column :external_id_source, :string
51
- t.timestamps
52
- end
53
-
54
- add_index :order_txn_types, :parent_id
55
- end
56
-
57
-
58
- unless table_exists?(:order_line_items)
59
- create_table :order_line_items do |t|
60
- t.column :order_txn_id, :integer
61
- t.column :order_line_item_type_id, :integer
62
- t.column :product_id, :integer
63
- t.column :product_description, :string
64
- t.column :product_instance_id, :integer
65
- t.column :product_instance_description, :string
66
- t.column :product_type_id, :integer
67
- t.column :product_type_description, :string
68
- t.column :sold_price, :decimal, :precision => 8, :scale => 2
69
- t.column :sold_price_uom, :integer
70
- t.column :sold_amount, :integer
71
- t.column :sold_amount_uom, :integer
72
- t.column :product_offer_id, :integer
73
- t.timestamps
74
- end
75
-
76
- add_index :order_line_items, :order_txn_id
77
- add_index :order_line_items, :order_line_item_type_id
78
- add_index :order_line_items, :product_id
79
- add_index :order_line_items, :product_instance_id
80
- add_index :order_line_items, :product_type_id
81
- add_index :order_line_items, :product_offer_id
82
- end
83
-
84
- unless table_exists?(:order_line_item_types)
85
- create_table :order_line_item_types do |t|
86
- t.column :parent_id, :integer
87
- t.column :lft, :integer
88
- t.column :rgt, :integer
89
- #custom columns go here
90
- t.column :description, :string
91
- t.column :comments, :string
92
- t.column :internal_identifier, :string
93
- t.column :external_identifier, :string
94
- t.column :external_id_source, :string
95
- t.timestamps
96
- end
97
-
98
- add_index :order_line_item_types, :parent_id
99
- end
100
-
101
- unless table_exists?(:order_line_item_pty_roles)
102
- create_table :order_line_item_pty_roles do |t|
103
- t.column :description, :string
104
- t.column :order_line_item_id, :integer
105
- t.column :party_id, :integer
106
- t.column :line_item_role_type_id, :integer
107
- t.column :biz_txn_acct_root_id, :integer #optional for splitting orders across accounts
108
- t.timestamps
109
- end
110
-
111
- add_index :order_line_item_pty_roles, :order_line_item_id
112
- add_index :order_line_item_pty_roles, :party_id
113
- add_index :order_line_item_pty_roles, :line_item_role_type_id
114
- add_index :order_line_item_pty_roles, :biz_txn_acct_root_id
115
- end
116
-
117
- unless table_exists?(:line_item_role_types)
118
- create_table :line_item_role_types do |t|
119
- t.column :parent_id, :integer
120
- t.column :lft, :integer
121
- t.column :rgt, :integer
122
- #custom columns go here
123
- t.column :description, :string
124
- t.column :comments, :string
125
- t.column :internal_identifier, :string
126
- t.column :external_identifier, :string
127
- t.column :external_id_source, :string
128
- t.timestamps
129
- end
130
-
131
- add_index :line_item_role_types, :parent_id
132
- end
133
-
134
- unless table_exists?(:charge_lines)
135
- create_table :charge_lines do |t|
136
- t.string :sti_type
137
- t.references :money
138
- t.string :description #could be expanded to include type information, etc.
139
- t.string :external_identifier
140
- t.string :external_id_source
141
-
142
- #polymorphic
143
- t.references :charged_item, :polymorphic => true
144
-
145
- t.timestamps
146
- end
147
-
148
- add_index :charge_lines, [:charged_item_id, :charged_item_type], :name => 'charged_item_idx'
149
- end
150
-
151
- unless table_exists?(:charge_line_payment_txns)
152
- create_table :charge_line_payment_txns do |t|
153
- t.column :charge_line_id, :integer
154
-
155
- #polymorphic
156
- t.references :payment_txn, :polymorphic => true
157
-
158
- t.timestamps
159
- end
160
-
161
- add_index :charge_line_payment_txns, [:payment_txn_id, :payment_txn_type], :name => 'payment_txn_idx'
162
- add_index :charge_line_payment_txns, :charge_line_id
163
- end
164
- end
165
-
166
- def self.down
167
- [
168
- :charge_lines, :charge_line_payment_txns, :line_item_role_types, :order_line_item_pty_roles,
169
- :order_line_item_types, :order_line_items, :order_txn_types,
170
- :order_txns
171
- ].each do |tbl|
172
- if table_exists?(tbl)
173
- drop_table tbl
174
- end
175
- end
176
- end
177
-
178
- end