canvas-lms/app/models
Duane Johnson e847c0a24e strip bad UTF8 byte seqs from versioned quiz submissions
Test Plan:
  - with an existing quiz submission with bad UTF8 byte sequences,
    update the quiz submission
  - no errors should be raised and the version of the quiz submission
    should be updated

fixes CNVS-4421

Change-Id: I5288021a3b400a0bd59c4d70437ef737058bec18
Reviewed-on: https://gerrit.instructure.com/18346
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
QA-Review: Clare Hetherington <clare@instructure.com>
2013-03-11 11:30:39 -06:00
..
discussion_topic handle concurrency problems with materialized views 2013-01-14 09:16:24 -07:00
quiz_question accept html entities in quiz short-answer question answers 2013-03-06 12:43:31 -07:00
abstract_course.rb make course terms sticky 2011-09-30 11:00:27 -06:00
access_token.rb drop the unencrypted token column on access_tokens 2012-11-28 14:19:22 -07:00
account.rb create attribute for lti_guid on accounts 2013-03-10 22:03:10 -06:00
account_authorization_config.rb more validation of blank password 2013-03-07 13:59:16 -07:00
account_notification.rb fix account announcements across shards fixes #7396 2012-03-13 09:14:26 -06:00
account_report.rb check for empty string parameters 2013-01-18 11:29:21 -07:00
account_user.rb process user account associations for multi-shard users 2013-02-01 14:30:39 -07:00
alert.rb a few more things to skip for deleted root accounts refs #6891 2012-08-21 13:49:23 -06:00
alert_criterion.rb alerts, closes #4317 2011-08-24 10:19:44 -06:00
announcement.rb properly persist disable announcement comments setting. 2013-02-14 16:40:18 -07:00
appointment_group.rb convert the course syllabus page to use Backbone 2013-02-13 13:28:09 -07:00
appointment_group_context.rb multiple contexts per appointment group 2012-04-30 15:30:03 -06:00
appointment_group_sub_context.rb multiple contexts per appointment group 2012-04-30 15:30:03 -06:00
assessment_question.rb fix copying calculated questions that are missing formulas 2013-02-19 14:28:44 -07:00
assessment_question_bank.rb use a shard-safe query for selecting question bank questions 2013-01-09 14:26:39 -07:00
assessment_question_bank_user.rb Initial commit. 2011-01-31 18:57:29 -07:00
assessment_request.rb respect course/account locale settings in notifications. 2012-10-08 13:17:10 -06:00
asset_user_access.rb refs #8395 expanded page views 2012-11-30 08:34:18 -07:00
assignment.rb fix assignment changed notifications with overrides 2013-03-08 14:33:49 -07:00
assignment_group.rb update assignments api to handle frozen assignments 2013-01-04 17:01:05 -07:00
assignment_override.rb make fancy midnight work for assignment overrides 2013-03-07 15:53:06 -07:00
assignment_override_student.rb vdd backend for quizzes 2012-12-18 14:28:34 -07:00
attachment.rb allow Setting.from_config files to be ERBs for test only 2013-02-26 16:32:18 -07:00
attachment_association.rb check all models for protecting attributes refs #3847 2011-05-25 17:38:50 -06:00
authorization_code.rb check all models for protecting attributes refs #3847 2011-05-25 17:38:50 -06:00
big_blue_button_conference.rb use global_id for the BBB voiceBridge number 2012-08-16 09:22:22 -06:00
bookmark_service.rb i18n Bookmark Service 2011-06-16 07:16:10 -06:00
calendar_event.rb calendar2 drag event to all day saves as an all day event 2013-03-01 15:56:37 -07:00
cloned_item.rb make sure links in assessment questions are correctly translated, fixes #6012 2011-10-21 08:36:34 -06:00
collaboration.rb add new collaborator picker interface. fixes #CNVS-1160 2013-01-11 09:57:04 -07:00
collaborator.rb add groups to collaborators table, add api endpoint. 2013-01-04 20:18:04 -07:00
collection.rb allow setting collections to private 2012-07-30 09:10:31 -06:00
collection_item.rb items and followers counts for collections 2012-06-18 11:04:58 -06:00
collection_item_data.rb fix a few cross-shard collection item stuffs 2012-10-25 19:05:58 -06:00
collection_item_upvote.rb fix a few cross-shard collection item stuffs 2012-10-25 19:05:58 -06:00
communication_channel.rb add setting to control institution email address. 2013-03-01 15:08:56 -07:00
content_export.rb Make course syllabus optional when copying courses 2012-11-08 09:29:50 -07:00
content_migration.rb update outcome importer to incrementally access api 2012-11-22 22:20:43 -07:00
content_participation.rb submission unread counts 2012-10-09 09:41:27 -06:00
content_participation_count.rb fix content_participation_counts cross-shard 2012-10-31 15:37:27 -06:00
content_tag.rb don't preload all a module's progressions 2013-03-11 08:41:32 -06:00
context.rb course batch update api 2013-01-29 14:06:03 -07:00
context_external_tool.rb lti change domain method 2013-02-28 13:45:23 -07:00
context_module.rb don't preload all a module's progressions 2013-03-11 08:41:32 -06:00
context_module_item.rb don't preload all a module's progressions 2013-03-11 08:41:32 -06:00
context_module_progression.rb don't preload all a module's progressions 2013-03-11 08:41:32 -06:00
context_module_sub_header.rb optimize AdheresToPolicy 2011-07-14 13:25:28 -06:00
conversation.rb order inbox based on last message received, ignore sent messages 2013-03-07 15:49:10 -07:00
conversation_batch.rb handle tags for cross-shard conversations 2013-02-04 09:07:22 -07:00
conversation_message.rb Cross-shard conversations 2013-01-31 17:11:48 -07:00
conversation_message_participant.rb Cross-shard conversations 2013-01-31 17:11:48 -07:00
conversation_participant.rb order inbox based on last message received, ignore sent messages 2013-03-07 15:49:10 -07:00
course.rb remove birthdate from UI, fixes CNVS-4191 2013-02-28 14:23:38 -07:00
course_account_association.rb check all models for protecting attributes refs #3847 2011-05-25 17:38:50 -06:00
course_import.rb make course copy have lower priority 2012-01-24 15:45:26 -07:00
course_profile.rb context profiles, refs CNVS-2650 2013-02-01 17:57:07 -07:00
course_section.rb use mysql2 gem for mysql 2013-02-27 14:10:37 -07:00
crocodoc_document.rb limit query of CrocodocDocument for status checking 2013-01-15 14:49:08 -07:00
delayed_message.rb remove body, sms_body columns from notifications. 2013-02-22 16:07:21 -07:00
delayed_notification.rb notifications: allow including extra data for messages 2012-04-18 17:08:13 -06:00
designer_enrollment.rb straighten out course designer permissions 2012-01-13 18:56:50 -07:00
developer_key.rb prevent bad developer key queries 2013-01-24 09:08:28 -07:00
dim_dim_conference.rb wimba integration, fixes #2989 2011-02-25 14:35:14 -07:00
discussion_entry.rb course setting to prevent students from editing/deleting own posts 2013-02-08 16:11:23 -07:00
discussion_entry_participant.rb discussion topics materialized view api, refs #7567 2012-03-22 12:49:49 -06:00
discussion_topic.rb course setting to prevent students from editing/deleting own posts 2013-02-08 16:11:23 -07:00
discussion_topic_participant.rb ensure unread_entry_counts never drop below 0. 2013-02-28 13:23:01 -07:00
document_service.rb Initial commit. 2011-01-31 18:57:29 -07:00
enrollment.rb add last_activity_at to enrollments 2013-03-04 12:43:56 -07:00
enrollment_dates_override.rb term start/term end, rather than whenever 2011-09-13 15:20:15 -06:00
enrollment_term.rb improve performance of terms page 2012-05-29 09:52:46 -06:00
eportfolio.rb account-level option to disable eportfolios, closes #5169 2011-08-24 17:38:06 -06:00
eportfolio_category.rb localize ePortfolios 2011-06-24 13:17:25 -06:00
eportfolio_entry.rb 1.9 - fix eportfolios 2012-05-17 23:10:51 -06:00
error_report.rb log the ErrorReport id after creating it 2013-01-03 13:35:04 -07:00
etherpad_collaboration.rb remove collaborations.yml dependency, refs #5796 2011-10-25 17:32:32 -06:00
external_feed.rb fix up announcement external feeds API 2012-08-30 12:39:17 -06:00
external_feed_entry.rb check all models for protecting attributes refs #3847 2011-05-25 17:38:50 -06:00
external_url.rb optimize AdheresToPolicy 2011-07-14 13:25:28 -06:00
favorite.rb added favorite courses option to main menu 2011-10-24 15:50:34 -06:00
folder.rb don't allow multiple root folders for courses 2013-02-01 16:02:16 -07:00
google_docs_collaboration.rb Initial commit. 2011-01-31 18:57:29 -07:00
gradebook_upload.rb prepare for foreign keys refs #6895 2012-05-10 09:46:05 -06:00
grading_standard.rb avoid interacting with deleted grading standards 2012-12-18 17:03:20 -07:00
group.rb course setting to prevent students from editing/deleting own posts 2013-02-08 16:11:23 -07:00
group_category.rb create group categories api methods 2013-01-28 16:06:51 -07:00
group_membership.rb soft delete group memberships 2012-11-20 13:06:56 -07:00
ignore.rb make assignments_needing_x shard safe 2013-02-01 17:08:41 -07:00
inbox_item.rb fix bad sql in refactored named scope 2013-02-27 13:31:38 -07:00
learning_outcome.rb clarify/fix outcome API permissions 2012-11-01 11:44:59 -06:00
learning_outcome_group.rb change course root outcome group title to course name. 2012-10-31 10:32:00 -06:00
learning_outcome_result.rb fixup failing specs and add temporary plugin shims 2012-08-22 09:53:19 -06:00
mailer.rb add multiple reply-to support to outgoing mail. 2013-02-22 14:02:27 -07:00
media_object.rb Allow uploading subtitle tracks to videos 2013-02-01 12:53:16 -07:00
media_track.rb Allow uploading subtitle tracks to videos 2013-02-01 12:53:16 -07:00
message.rb refactored Notification::create_message 2013-03-01 17:27:45 -07:00
notification.rb refactored Notification::create_message 2013-03-01 17:27:45 -07:00
notification_policy.rb adding optional user arg to #default_frequency for use in a plugin 2013-01-29 09:29:38 -07:00
oauth_request.rb check all models for protecting attributes refs #3847 2011-05-25 17:38:50 -06:00
observer_enrollment.rb cleanup and sharding fixes in grade_summary 2013-03-07 15:44:20 -07:00
open_object.rb Initial commit. 2011-01-31 18:57:29 -07:00
page_comment.rb localize PageComments 2011-06-17 08:28:33 -06:00
page_view.rb activate the default shard when setting attrs from the redis queue 2013-03-09 14:43:04 -07:00
plugin_setting.rb proactively clear cache when changing plugin settings 2012-10-29 12:11:31 -06:00
profile.rb set correct table name for subclasses 2013-02-14 10:42:16 -07:00
progress.rb add a batch_update method to conversations api 2013-02-14 09:36:36 -07:00
pseudonym.rb don't even attempt validating a blank password 2013-03-07 11:55:50 -07:00
pseudonym_session.rb require a password login for certain sensitive actions closes #6401 2012-08-02 10:22:48 -06:00
quiz.rb make fancy midnight work for assignment overrides 2013-03-07 15:53:06 -07:00
quiz_group.rb correctly prepare quiz questions when copying course 2012-05-08 09:10:41 -06:00
quiz_question.rb updates to quiz display page 2013-02-28 10:26:15 -07:00
quiz_submission.rb strip bad UTF8 byte seqs from versioned quiz submissions 2013-03-11 11:30:39 -06:00
quiz_submission_snapshot.rb check all models for protecting attributes refs #3847 2011-05-25 17:38:50 -06:00
report_snapshot.rb filter bogus snapshot data 2012-06-20 13:43:17 -06:00
role.rb Add new permissions management ui (role overrides) 2013-01-03 10:05:51 -07:00
role_override.rb don't let students message the whole class by default, fixes CNVS-3536 2013-02-08 15:47:26 -07:00
rubric.rb maintain rubric-outcome associations in course copy 2012-12-07 17:15:04 -07:00
rubric_assessment.rb learning outcomes refactor 2012-08-22 09:51:39 -06:00
rubric_association.rb learning outcomes refactor 2012-08-22 09:51:39 -06:00
scribd_account.rb check all models for protecting attributes refs #3847 2011-05-25 17:38:50 -06:00
scribd_mime_type.rb check all models for protecting attributes refs #3847 2011-05-25 17:38:50 -06:00
session_persistence_token.rb make "stay logged in" use a one-time token 2011-11-22 10:15:13 -07:00
setting.rb allow Setting.from_config files to be ERBs for test only 2013-02-26 16:32:18 -07:00
sis_batch.rb optimize User.update_account_associations 2013-01-31 17:36:42 -07:00
stream_item.rb Cross-shard conversations 2013-01-31 17:11:48 -07:00
stream_item_instance.rb drop backwards compatible stream item columns 2012-12-18 10:25:41 -07:00
student_enrollment.rb Minor fixes to StudentEnrollment associations. 2012-05-04 16:46:43 -06:00
student_view_enrollment.rb student view; closes #6995 2012-04-03 14:11:07 -06:00
submission.rb gradebook history api 2013-02-12 08:32:24 -07:00
submission_comment.rb cross shard dashboards 2012-11-29 17:36:24 -07:00
submission_comment_participant.rb check all models for protecting attributes refs #3847 2011-05-25 17:38:50 -06:00
ta_enrollment.rb straighten out course designer permissions 2012-01-13 18:56:50 -07:00
tableless.rb check all models for protecting attributes refs #3847 2011-05-25 17:38:50 -06:00
teacher_enrollment.rb straighten out course designer permissions 2012-01-13 18:56:50 -07:00
thumbnail.rb local storage thumbnail https 2013-01-22 19:14:28 -07:00
user.rb fix permissions check for UsersController#show 2013-03-09 17:59:03 -07:00
user_account_association.rb clean up user account associations 2013-01-31 10:41:55 -07:00
user_follow.rb fix a few cross-shard collection item stuffs 2012-10-25 19:05:58 -06:00
user_note.rb User notes from conversation messages; still needs UI 2011-07-31 16:09:03 -06:00
user_observer.rb user co-enrollment backend work, closes #8588 2012-05-23 12:21:00 -06:00
user_profile.rb include root_account in section_tabs cache key 2012-08-17 14:15:10 -06:00
user_profile_link.rb add data validation to user profile links 2012-09-24 15:38:26 -06:00
user_service.rb limit facebook user searching to pertinent shards 2013-02-13 09:26:20 -07:00
web_conference.rb integrated adobe connect gem 2013-02-15 17:39:22 -07:00
web_conference_participant.rb check all models for protecting attributes refs #3847 2011-05-25 17:38:50 -06:00
wiki.rb don't error on course export if the course name is too long 2013-02-05 10:21:20 -07:00
wiki_page.rb allow modules to be unpublished 2013-02-15 19:10:30 -07:00
wiki_page_comment.rb optimize AdheresToPolicy 2011-07-14 13:25:28 -06:00
wimba_conference.rb handle wimba conference date parsing in ruby18/ruby19. 2013-02-08 12:43:19 -07:00
zip_file_import.rb use ids relative to the default shard for strands refs #6886 2012-04-02 09:47:09 -06:00