canvas-lms/lib
Spencer Olson ae98fc2084 gradebook exporter: don't show scores for anonymized submissions
closes EVAL-1314
flag=none

Test Plan:
1. Create an anonymous assignment. Grade a few students anonymously in
   SpeedGrader. Don't post grades yet.
2. Export the Gradebook.
3. Open the exported CSV. Verify that all scores for the anonymous
   assignment show as "N/A" and the header shows "Manual Posting (scores
   hidden from instructors)".
4. Make some changes to scores in the CSV, making sure to change at
   least one score for the anonymous unposted assignment, and one score
   for an active, non-anonymous assignment.
5. Import the changed CSV. Verify the changes to the anonymous
   assignment are ignored, and the changes to the non-anonymous
   assignment are not ignored.
6. Post grades for the anonymous assignment.
7. Re-export the Gradebook.
8. Open the exported CSV. Verify that all scores for the anonymous
   assignment are now shown.
9. Make some changes to scores in the CSV for the anonymous assignment.
10. Import the changed CSV. Verify the changes to the anonymous
    assignment are no longer ignored.

* Edge case: try steps 1-10 but with your locale set to anything other
  than English. This will ensure the Gradebook Importer logic can
  handle and identify headers such as, "Manual Posting (scores cachés
  aux instructeurs)". Note that "Manual Posting" will never be
  translated (always English), but the content in parentheses will be
  translated. This is expected.

Change-Id: Ief17a06bd97c15b4138531030ed50ba19f2e03fa
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/253151
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
Reviewed-by: Adrian Packel <apackel@instructure.com>
Reviewed-by: Gary Mei <gmei@instructure.com>
2021-01-11 20:31:49 +00:00
..
active_support/cache add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
address_book downgrade several expected error locations 2020-10-30 16:46:01 +00:00
api cap users in groups json 2021-01-07 18:19:46 +00:00
app_center add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
basic_lti update all invocations of send_later and friends to new syntax 2020-10-30 19:13:54 +00:00
canvadocs add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
canvas dump cached kv_client from dynamic_settings on fork 2021-01-08 19:08:27 +00:00
cc course imports should expect and handle attachment quota errors 2021-01-04 17:13:59 +00:00
cdc_migration_testing/fixtures spec: Manually create a delayed job in a fixture file 2021-01-11 19:08:28 +00:00
data_fixup add custom fields to lti resource link 2020-12-14 17:37:45 +00:00
external_auth_observation add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
feature_flags update all invocations of send_later and friends to new syntax 2020-10-30 19:13:54 +00:00
gradebook Add bulk override grade update endpoint 2020-12-15 19:23:46 +00:00
latex downgrade several expected error locations 2020-10-30 16:46:01 +00:00
lti Add DeepLinkingRequest message support for collaborations 2021-01-08 19:55:54 +00:00
messageable_user add # frozen_string_literal: true for models 2020-10-28 22:08:12 +00:00
migration_helpers add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
outcomes correct calculation of results for identical names 2021-01-11 15:13:43 +00:00
rake add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
reporting add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
schemas add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
services use an existing logger for screencap 2021-01-07 23:27:15 +00:00
sis make sure strings don't sneak into bulk imports 2020-12-18 22:04:54 +00:00
stubs add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
support_helpers update all invocations of send_later and friends to new syntax 2020-10-30 19:13:54 +00:00
tasks fix the api docs generation 2020-11-18 22:03:23 +00:00
turnitin prevent serializing TII client (procs) 2020-11-23 20:32:04 +00:00
user_content Strip alt attribute from unavailable images in user content 2020-11-25 17:00:34 +00:00
utils add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
account_services.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
address_book.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
anonymity.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
api.rb fix account course/user search for bigint out of range 2020-11-16 20:27:53 +00:00
api_route_set.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
api_scope_mapper_loader.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
asset_signature.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
assignment_override_applicator.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
assignment_util.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
authentication_methods.rb downgrade several expected error locations 2020-10-30 16:46:01 +00:00
basic_lti.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
brand_config_helpers.rb ensure shard consistency for brand config caching 2020-10-29 19:48:21 +00:00
brand_config_regenerator.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
brandable_css.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
browser_support.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
canvadocs.rb don't tell sentry about canvadocs problems 2020-12-17 18:52:40 +00:00
canvas.rb Use a real method for oss users 2020-12-22 22:41:21 +00:00
canvas_logger.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
canvas_yaml.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
cc.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
config_file.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
content_licenses.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
content_notices.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
content_zipper.rb downgrade file reading errors to info/warn 2020-12-18 18:36:48 +00:00
conversation_batch_scrubber.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
conversation_helper.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
copy_authorized_links.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
course_link_validator.rb Teach link validator to validate media iframe src URLs 2021-01-11 14:08:03 +00:00
csv_with_i18n.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
custom_validations.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
cuty_capt.rb add support for snapshot_service to cutycapt lib 2020-12-17 01:56:14 +00:00
dates_overridable.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
delayed_message_scrubber.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
delicious.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
differentiable_assignment.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
due_date_cacher.rb log expected exceptions and retry grade jobs 2020-12-14 19:26:24 +00:00
dump_helper.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
duplicating_objects.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
effective_due_dates.rb Revert "handle overrides for students concluded in section" 2020-11-24 21:23:42 +00:00
email_address_validator.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
enrollments_from_user_list.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
eportfolio_page.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
external_feed_aggregator.rb external feed error handling with Canvas::Errors 2020-12-19 16:38:55 +00:00
external_statuses.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
feature.rb Quad-state feature flags 2020-12-15 23:18:33 +00:00
feature_flags.rb Quad-state feature flags 2020-12-15 23:18:33 +00:00
file_authenticator.rb thumbnails: pass original_url, and skipping cache 2020-12-17 01:22:45 +00:00
file_in_context.rb update all invocations of send_later and friends to new syntax 2020-10-30 19:13:54 +00:00
file_splitter.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
google_analytics_dimensions.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
google_docs_preview.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
grade_calculator.rb gradebook export: exclude anon unposted submissions in totals 2020-12-17 17:10:13 +00:00
gradebook_exporter.rb gradebook exporter: don't show scores for anonymized submissions 2021-01-11 20:31:49 +00:00
gradebook_grading_period_assignments.rb gradebook: include assignments not in any grading period 2020-11-17 20:22:51 +00:00
gradebook_importer.rb gradebook exporter: don't show scores for anonymized submissions 2021-01-11 20:31:49 +00:00
gradebook_settings_helpers.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
gradebook_user_ids.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
grading_period_helper.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
has_content_tags.rb update all invocations of send_later and friends to new syntax 2020-10-30 19:13:54 +00:00
host_url.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
i18n_time_zone.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
imported_html_converter.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
inst_fs.rb thumbnails: pass original_url, and skipping cache 2020-12-17 01:22:45 +00:00
late_policy_applicator.rb update all invocations of send_later and friends to new syntax 2020-10-30 19:13:54 +00:00
latex.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
lazy_presumptuous_i18n_backend.rb some lazy-i18n fixes 2020-12-09 03:31:27 +00:00
learning_outcome_context.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
local_cache.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
locale_selection.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
locked_for.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
logging_filter.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
login_hooks.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
math_man.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
message_dispatcher.rb update to inst-jobs 1.0 via shims 2020-10-28 13:46:49 +00:00
message_scrubber.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
messageable_user.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
missing_policy_applicator.rb update all invocations of send_later and friends to new syntax 2020-10-30 19:13:54 +00:00
model_cache.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
moderation.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
multi_cache.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
must_view_module_progressor.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
mutable.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
net_ldap_extensions.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
notification_message_creator.rb stop policy race condition 2021-01-04 20:15:17 +00:00
open_object.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
package_root.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
permissions.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
permissions_helper.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
plannable.rb update all invocations of send_later and friends to new syntax 2020-10-30 19:13:54 +00:00
planner_api_helper.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
planner_helper.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
progress_runner.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
pronouns.rb enable prounoun changes via api v1 users 2020-11-04 23:30:43 +00:00
quiz_math_data_fixup.rb Backport quiz fixup logic on prod to master 2020-12-15 13:55:27 +00:00
request_cache.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
request_error.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
rubric_context.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
samesite_transition_cookie_store.rb log bad cookies, don't error 2020-11-24 18:18:48 +00:00
scope_filter.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
score_statistics_generator.rb update all invocations of send_later and friends to new syntax 2020-10-30 19:13:54 +00:00
scrypt_provider.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
search_term_helper.rb unify error report skipping strategies 2020-11-06 22:03:16 +00:00
send_to_stream.rb update all invocations of send_later and friends to new syntax 2020-10-30 19:13:54 +00:00
sentry_proxy.rb introduce error levels to exception handling 2020-10-29 02:04:14 +00:00
session_token.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
simple_stats.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
simple_tags.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
sis.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
sorts_assignments.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
ssl_common.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
stats.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
sticky_sis_fields.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
submission_list.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
submission_search.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
submittable.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
submittables_grading_period_protection.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
summary_message_consolidator.rb update all invocations of send_later and friends to new syntax 2020-10-30 19:13:54 +00:00
syslog_wrapper.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
temp_cache.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
text_helper.rb stop NaN failures on lti scores 2020-12-08 17:50:43 +00:00
time_zone_helper.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
timed_cache.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
token_scopes.rb remove need for api_scope_mapper.rb to be committed 2020-11-06 17:50:59 +00:00
token_scopes_helper.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
turnitin.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
turnitin_id.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
unzip_attachment.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
user_content.rb Quiz math fixup bug fixes 2020-12-08 20:10:46 +00:00
user_list.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
user_list_v2.rb provide reasonable user output for search violation 2021-01-04 17:13:53 +00:00
user_merge.rb copy all favorites on merge 2021-01-08 18:42:56 +00:00
user_search.rb fix account course/user search for bigint out of range 2020-11-16 20:27:53 +00:00
vericite.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
visibility_plucking_helper.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00
zip_extractor.rb add # frozen_string_literal: true for lib 2020-10-27 20:49:50 +00:00