erp_work_effort 3.0.4 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. data/app/models/cost.rb +2 -0
  2. data/app/models/party_resource_availability.rb +2 -0
  3. data/app/models/party_resource_availability_type.rb +2 -0
  4. data/app/models/valid_work_assignment.rb +2 -0
  5. data/app/models/valid_work_assignment_attribute.rb +2 -0
  6. data/app/models/work_effort.rb +2 -0
  7. data/app/models/work_effort_assignment.rb +2 -0
  8. data/app/models/work_effort_status.rb +2 -0
  9. data/app/models/work_effort_status_type.rb +2 -0
  10. data/app/models/work_requirement.rb +2 -0
  11. data/app/models/work_requirement_work_effort_status_type.rb +2 -0
  12. data/lib/erp_work_effort.rb +2 -0
  13. data/lib/erp_work_effort/version.rb +2 -2
  14. data/spec/dummy/config/application.rb +6 -0
  15. data/spec/dummy/config/environments/spec.rb +3 -0
  16. data/spec/dummy/db/data_migrations/20110109173616_create_capability_scope_types.erp_tech_svcs.rb +15 -0
  17. data/spec/dummy/db/data_migrations/20110525001935_add_usd_currency.erp_base_erp_svcs.rb +12 -0
  18. data/spec/dummy/db/data_migrations/20110609150135_add_iso_codes.erp_base_erp_svcs.rb +19 -0
  19. data/spec/dummy/db/data_migrations/20110802200222_schedule_delete_expired_sessions_job.erp_tech_svcs.rb +16 -0
  20. data/spec/dummy/db/data_migrations/20110913145838_setup_compass_ae_instance.erp_base_erp_svcs.rb +12 -0
  21. data/spec/dummy/db/data_migrations/20111111144706_setup_audit_log_types.erp_tech_svcs.rb +22 -0
  22. data/spec/dummy/db/data_migrations/20120109173616_create_download_capability_type.erp_tech_svcs.rb +14 -0
  23. data/spec/dummy/db/data_migrations/20121116155018_create_group_relationship_and_role_types.erp_tech_svcs.rb +20 -0
  24. data/spec/dummy/db/data_migrations/20121130212146_note_capabilities.erp_tech_svcs.rb +24 -0
  25. data/spec/dummy/db/migrate/20121219191143_base_erp_services.erp_base_erp_svcs.rb +461 -0
  26. data/spec/dummy/db/migrate/20121219191144_base_work_efforts.erp_work_effort.rb +211 -0
  27. data/spec/dummy/db/migrate/20121219191145_base_tech_services.erp_tech_svcs.rb +255 -0
  28. data/spec/dummy/db/migrate/20121219191146_create_has_attribute_tables.erp_tech_svcs.rb +39 -0
  29. data/spec/dummy/db/migrate/20130107180754_create_groups.erp_tech_svcs.rb +19 -0
  30. data/spec/dummy/db/migrate/20130107180755_upgrade_security.erp_tech_svcs.rb +54 -0
  31. data/spec/dummy/db/migrate/20130107180756_upgrade_security2.erp_tech_svcs.rb +270 -0
  32. data/spec/dummy/db/schema.rb +735 -0
  33. data/spec/dummy/db/spec.sqlite3 +0 -0
  34. data/spec/dummy/log/spec.log +6311 -0
  35. data/spec/spec_helper.rb +11 -3
  36. metadata +63 -10
  37. data/db/migrate/upgrade/20111216190747_add_work_effort_to_work_effort_assignment.rb +0 -13
@@ -0,0 +1,211 @@
1
+ # This migration comes from erp_work_effort (originally 20100220000000)
2
+ class BaseWorkEfforts < ActiveRecord::Migration
3
+
4
+ def self.up
5
+
6
+ ## work_efforts
7
+ unless table_exists?(:work_efforts)
8
+ create_table :work_efforts do |t|
9
+ t.string :description
10
+ t.string :type
11
+ t.datetime :started_at
12
+ t.datetime :finished_at
13
+ t.integer :projected_completion_time
14
+ t.integer :actual_completion_time
15
+
16
+ t.timestamps
17
+
18
+ #polymorphic columns
19
+ t.integer :facility_id
20
+ t.string :facility_type
21
+ t.integer :work_effort_record_id
22
+ t.string :work_effort_record_type
23
+
24
+ #foreign keys
25
+ t.integer :projected_cost_id
26
+ t.integer :actual_cost_id
27
+
28
+ #better nested set columns
29
+ t.integer :parent_id
30
+ t.integer :lft
31
+ t.integer :rgt
32
+ end
33
+
34
+ add_index :work_efforts, [:work_effort_record_id, :work_effort_record_type], :name => "work_effort_record_id_type"
35
+ add_index :work_efforts, [:facility_type, :facility_id], :name => "facility"
36
+ add_index :work_efforts, :finished_at
37
+ end
38
+
39
+ ## work_requirements
40
+ unless table_exists?(:work_requirements)
41
+ create_table :work_requirements do |t|
42
+ t.string :description
43
+ t.string :type
44
+ t.integer :projected_completion_time
45
+ t.timestamps
46
+
47
+ #polymorphic columns
48
+ t.integer :work_requirement_record_id
49
+ t.string :work_requirement_record_type
50
+ t.integer :facility_id
51
+ t.string :facility_type
52
+
53
+ # foreign keys
54
+ t.integer :cost_id
55
+
56
+ #better nested set columns
57
+ t.integer :parent_id
58
+ t.integer :lft
59
+ t.integer :rgt
60
+ end
61
+ end
62
+
63
+ ## work_requirement_work_effort_status_types
64
+ unless table_exists?(:work_requirement_work_effort_status_types)
65
+ create_table :work_requirement_work_effort_status_types do |t|
66
+ t.timestamps
67
+
68
+ #foreign keys
69
+ t.integer :work_requirement_id
70
+ t.integer :work_effort_status_type_id
71
+ t.boolean :is_initial_status
72
+ end
73
+ end
74
+
75
+ ## work_effort_statuses
76
+ unless table_exists?(:work_effort_statuses)
77
+ create_table :work_effort_statuses do |t|
78
+ t.datetime :started_at
79
+ t.datetime :finished_at
80
+ t.integer :work_effort_id
81
+ t.integer :work_effort_status_type_id
82
+
83
+ t.timestamps
84
+ end
85
+
86
+ add_index :work_effort_statuses, :work_effort_status_type_id
87
+ add_index :work_effort_statuses, :work_effort_id
88
+ end
89
+
90
+ ## work_effort_status_types
91
+ unless table_exists?(:work_effort_status_types)
92
+ create_table :work_effort_status_types do |t|
93
+ t.string :internal_identifier
94
+ t.string :description
95
+ t.integer :next_status_id
96
+ t.integer :previous_status_id
97
+
98
+ t.timestamps
99
+ end
100
+
101
+ add_index :work_effort_status_types, :internal_identifier
102
+ add_index :work_effort_status_types, :description
103
+ end
104
+
105
+ ## work_effort_assignments
106
+ unless table_exists?(:work_effort_assignments)
107
+ create_table :work_effort_assignments do |t|
108
+ #foreign keys
109
+ t.references :work_effort
110
+
111
+ t.datetime :assigned_at
112
+ t.datetime :assigned_from
113
+ t.datetime :assigned_thru
114
+ t.datetime :unassigned_at
115
+
116
+ #Polymorphic Columns
117
+ t.integer :assigned_to_id
118
+ t.string :assigned_to_type
119
+ t.integer :assigned_by_id
120
+ t.string :assigned_by_type
121
+
122
+ t.timestamps
123
+ end
124
+
125
+ add_index :work_effort_assignments, [:assigned_to_id, :assigned_to_type], :name => "assigned_to"
126
+ add_index :work_effort_assignments, :assigned_from
127
+ add_index :work_effort_assignments, :assigned_thru
128
+ add_index :work_effort_assignments, :work_effort_id
129
+ end
130
+
131
+ ## valid_work_assignments
132
+ unless table_exists?(:valid_work_assignments)
133
+ create_table :valid_work_assignments do |t|
134
+ t.integer :role_type_id
135
+ t.integer :work_requirement_id
136
+
137
+ t.timestamps
138
+ end
139
+
140
+ end
141
+
142
+ ## valid_work_assignment_attributes
143
+ unless table_exists?(:valid_work_assignment_attributes)
144
+ create_table :valid_work_assignment_attributes do |t|
145
+ t.integer :valid_work_assignment_id
146
+ t.string :name
147
+ t.string :type
148
+ t.string :value
149
+
150
+ t.timestamps
151
+ end
152
+ end
153
+
154
+ ## party_resource_availabilities
155
+ unless table_exists?(:party_resource_availabilities)
156
+ create_table :party_resource_availabilities do |t|
157
+ t.datetime :from_date
158
+ t.datetime :to_date
159
+ t.integer :party_id
160
+ t.integer :pra_type_id #:party_resource_availability_type_id is too long
161
+
162
+ t.timestamps
163
+ end
164
+
165
+ add_index :party_resource_availabilities, :from_date
166
+ add_index :party_resource_availabilities, :to_date
167
+ add_index :party_resource_availabilities, :pra_type_id
168
+ add_index :party_resource_availabilities, :party_id
169
+ end
170
+
171
+ unless table_exists?(:party_resource_availability_types)
172
+ create_table :party_resource_availability_types do |t|
173
+ t.string :description
174
+ t.string :internal_identifier
175
+
176
+ t.timestamps
177
+ end
178
+
179
+ add_index :party_resource_availability_types, :internal_identifier
180
+ add_index :party_resource_availability_types, :description
181
+ end
182
+
183
+ ## costs
184
+ unless table_exists?(:costs)
185
+ create_table :costs do |t|
186
+ t.integer :money_id
187
+ t.timestamps
188
+ end
189
+ end
190
+
191
+ end
192
+
193
+ def self.down
194
+ # Drop all tables, including those that were originally created then deleted
195
+ [
196
+ # Old tables deleted and no longer used
197
+ :work_requirement_assignabilities,
198
+ # Currently used tables
199
+ :category_classifications, :categories, :work_requirement_assignability_attributes,
200
+ :valid_work_assignments, :work_effort_assignments, :work_effort_status_types,
201
+ :work_effort_statuses, :work_requirement_work_effort_status_types,
202
+ :work_requirements, :work_efforts, :party_resource_availabilities, :party_resource_availability_types,
203
+ :costs
204
+ ].each do |tbl|
205
+ if table_exists?(tbl)
206
+ drop_table tbl
207
+ end
208
+ end
209
+
210
+ end
211
+ end
@@ -0,0 +1,255 @@
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