coalescing_panda 3.1.6 → 3.1.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d9c022228a8c58d846f1f26d4dbf45ae01304489
4
- data.tar.gz: cda8d6e744fbf39460a5a385f2cf8d4c704f2604
3
+ metadata.gz: c1a2b3a8674dec25da996c1866559dce5c54c2be
4
+ data.tar.gz: b113be1e2d2f65f5edc83baa2caad47b8ecd715a
5
5
  SHA512:
6
- metadata.gz: 45729e76b2685b919295954f10a0d0963ed85ae3d694df9e7e0e254ed6616919012c4e3595c2485545292f594bc09bd699608dfa3ab8acfbc2b9a252084adf4d
7
- data.tar.gz: 6c2756e80ab8232506cc9dfb4268674d81acb9e4bba6c1f4d8e406088a40ac15742f4445ec020fe94836f399b1555d33cef10358e764825f011d0a01480290c2
6
+ metadata.gz: 17516c2dc82500c1d16d436c06a0feb3615596f9db52346dba38bf6a6716cafbbc51a4f2f561974d438e9ad0f6acf08a655a0ca96ec4181702a844d6a64a01f6
7
+ data.tar.gz: aa2658a9df94373c36f20bc38281aec07d8b8793cdaa5ecd749c1531e086df3a55ce12571be866eb6b9ac92036ce53c708d4995a48135748c9396be811d49f4f
@@ -65,20 +65,24 @@ class CoalescingPanda::Workers::CourseMiner
65
65
  def create_records(collection, model_key)
66
66
  model = "CoalescingPanda::#{model_key.to_s.singularize.titleize}".constantize
67
67
  collection.each do |values|
68
- canvas_id_key = "canvas_#{model_key.to_s.singularize}_id"
69
- values[canvas_id_key] = values["id"]
70
- values['workflow_state'] = values["enrollment_state"] if values.has_key?('enrollment_state')
71
- values['enrollment_type'] = values['type'] if model_key == :enrollments
72
- if model_key == :users
73
- record = account.send(model_key).where("#{canvas_id_key} = ?", values['id'].to_s).first_or_initialize
74
- else
75
- record = course.send(model_key).where("#{canvas_id_key} = ?", values['id'].to_s).first_or_initialize
68
+ begin
69
+ canvas_id_key = "canvas_#{model_key.to_s.singularize}_id"
70
+ values[canvas_id_key] = values["id"]
71
+ values['workflow_state'] = values["enrollment_state"] if values.has_key?('enrollment_state')
72
+ values['enrollment_type'] = values['type'] if model_key == :enrollments
73
+ if model_key == :users
74
+ record = account.send(model_key).where("#{canvas_id_key} = ?", values['id'].to_s).first_or_initialize
75
+ else
76
+ record = course.send(model_key).where("#{canvas_id_key} = ?", values['id'].to_s).first_or_initialize
77
+ end
78
+ record.coalescing_panda_lti_account_id = account.id if record.respond_to?(:coalescing_panda_lti_account_id)
79
+ record.assign_attributes(standard_attributes(record, values))
80
+ record.sis_id = sis_id(model_key, values) if record.respond_to?(:sis_id)
81
+ create_associations(record, model_key, values)
82
+ record.save(validate: false)
83
+ rescue => e
84
+ logger.info("#{model} not created: Batch: #{batch.id}, Message: #{e.message}, values: #{values}")
76
85
  end
77
- record.coalescing_panda_lti_account_id = account.id if record.respond_to?(:coalescing_panda_lti_account_id)
78
- record.assign_attributes(standard_attributes(record, values))
79
- record.sis_id = sis_id(model_key, values) if record.respond_to?(:sis_id)
80
- create_associations(record, model_key, values)
81
- record.save(validate: false)
82
86
  end
83
87
  end
84
88
 
@@ -13,7 +13,7 @@ class CreateCoalescingPandaEnrollments < ActiveRecord::Migration
13
13
  t.timestamps
14
14
  end
15
15
 
16
- add_index :coalescing_panda_enrollments, [:coalescing_panda_user_id, :coalescing_panda_section_id, :enrollment_type], name: :index_enrollments_user_and_assignment, unique: true
16
+ add_index :coalescing_panda_enrollments, [:coalescing_panda_user_id, :coalescing_panda_section_id, :enrollment_type], name: :index_enrollments_user_and_section, unique: true
17
17
  add_index :coalescing_panda_enrollments, :sis_id
18
18
  end
19
19
  end
@@ -1,3 +1,3 @@
1
1
  module CoalescingPanda
2
- VERSION = '3.1.6'
2
+ VERSION = '3.1.7'
3
3
  end