@@ -50,30 +50,31 @@ def required_fields
5050 #~ Class methods ............................................................
5151
5252 def self . get_progress ( user_id , inst_chapter_module_id , inst_book_id , lis_outcome_service_url = nil , lis_result_sourcedid = nil , lms_access_id = nil )
53- module_progress = OdsaModuleProgress . find_or_create_by ( user_id : user_id , inst_chapter_module_id : inst_chapter_module_id ) do |mp |
54- mp . inst_book_id = inst_book_id
55- end
56- if lis_outcome_service_url . present?
53+ module_progress = OdsaModuleProgress . find_or_initialize_by ( user_id : user_id , inst_chapter_module_id : inst_chapter_module_id )
54+ if module_progress . new_record?
55+ module_progress . inst_book_id = inst_book_id
56+ module_progress . lis_outcome_service_url = lis_outcome_service_url
57+ module_progress . lis_result_sourcedid = lis_result_sourcedid
58+ module_progress . lms_access_id = lms_access_id
59+ module_progress . save!
60+ elsif lis_outcome_service_url . present? && module_progress . lis_outcome_service_url != lis_outcome_service_url
5761 module_progress . lis_outcome_service_url = lis_outcome_service_url
5862 module_progress . lis_result_sourcedid = lis_result_sourcedid
5963 module_progress . lms_access_id = lms_access_id
60- save_result = module_progress . save!
64+ module_progress . save!
6165 end
6266
6367 module_progress
6468 end
6569
6670 def self . get_standalone_progress ( user_id , inst_module_version_id , lis_outcome_service_url = nil , lis_result_sourcedid = nil , lms_access_id = nil )
67- module_progress = OdsaModuleProgress . find_or_create_by ( user_id : user_id , inst_module_version_id : inst_module_version_id )
68- if module_progress == nil
69- module_progress = OdsaModuleProgress . new ( user_id : user_id , inst_module_version_id : inst_module_version_id )
70- unless lis_outcome_service_url == nil or lis_result_sourcedid == nil
71- module_progress . lis_outcome_service_url = lis_outcome_service_url
72- module_progress . lis_result_sourcedid = lis_result_sourcedid
73- module_progress . lms_access_id = lms_access_id
74- end
71+ module_progress = OdsaModuleProgress . find_or_initialize_by ( user_id : user_id , inst_module_version_id : inst_module_version_id )
72+ if module_progress . new_record?
73+ module_progress . lis_outcome_service_url = lis_outcome_service_url
74+ module_progress . lis_result_sourcedid = lis_result_sourcedid
75+ module_progress . lms_access_id = lms_access_id
7576 module_progress . save!
76- elsif ( lis_outcome_service_url != nil and module_progress . lis_outcome_service_url == nil ) or ( lis_result_sourcedid != nil and module_progress . lis_result_sourcedid == nil ) or ( lms_access_id != nil and module_progress . lms_access_id == nil )
77+ elsif lis_outcome_service_url . present? && module_progress . lis_outcome_service_url != lis_outcome_service_url
7778 module_progress . lis_outcome_service_url = lis_outcome_service_url
7879 module_progress . lis_result_sourcedid = lis_result_sourcedid
7980 module_progress . lms_access_id = lms_access_id
@@ -84,7 +85,6 @@ def self.get_standalone_progress(user_id, inst_module_version_id, lis_outcome_se
8485
8586 #~ Instance methods .........................................................
8687 def update_proficiency ( inst_exercise , force_send = false )
87- Rails . logger . info ( "--- ODSA_MODULE_PROGRESS: update_proficiency called for user #{ self . user_id } ---" )
8888 if self . inst_module_version_id
8989 # standalone module
9090 return update_standalone_proficiency ( inst_exercise )
0 commit comments