[skip-stages=Flakey]
mostly done manually, since many of these calls weren't even necessary,
or can easily be replaced with `super`
Change-Id: I1a5a38a1332a26a11c6041a005d691730206fc10
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/344440
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Tested-by: Cody Cutrer <cody@instructure.com>
test plan:
- render and view API docs and note that the SIS CSV
format document should indicate the "pronouns" column
will be ignored if the "Enable Personal Pronouns"
account setting is off
- do a SIS import of a file with that column present
when the setting is off and ensure it does nothing
flag=none
closes FOO-4680
Change-Id: I003238321d2770cfdb2e55214db1d615dae190fe
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355814
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: August Thornton <august@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Closes FOO-4633
flag=none
Test Plan:
* Start a large batch mode SIS import
* Abort it (via API or console) part-way through
* Observe that parallel importers are aborted rather
than continuing to run
Change-Id: I48fda5274d061b4f30661a5cb247bffd54e3a532
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355098
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Reviewed-by: Jason Perry <jason.perry@instructure.com>
QA-Review: Jason Perry <jason.perry@instructure.com>
Product-Review: Jason Perry <jason.perry@instructure.com>
flag=default_account_grading_scheme
closes EVAL-4375
Test Plan:
- create two account grading schemes with different grade letters
(So you can easily see the difference)
- Set one as the account default
- Create a course and do not set the grading schemes
- Create an assignment and set display grade as letter grade
and set the grading scheme as the course default which will be the
account default
- grade a few students on that assignment and ensure a letter
grade is shown for the final grade and assignment grade
- conclude the course
- change the default account grading scheme to the other scheme
- ensure all of the original letter grades and final grades are
still the same
- bonus test concluding the course with the course update endpoint
(the ui uses the destroy endpoint)
https://canvas.instructure.com/doc/api/courses.html#method.courses.batch_update
Change-Id: I87f4589d9457830021da249b8d1853ab32742927
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/352866
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Sleyder Zuleta <sleyder.zuleta@instructure.com>
Reviewed-by: Derek Williams <derek.williams@instructure.com>
QA-Review: Sleyder Zuleta <sleyder.zuleta@instructure.com>
Product-Review: Ravi Koll <ravi.koll@instructure.com>
test plan:
- create a terms.csv that sets override dates for various
enrollment types for a term
- import it
- manually change a date for one enrollment type
- re-import the csv
- the manual change should stick
- re-import the csv with the "Override UI Changes" box checked
- the value should revert to the one from the csv
flag=none
closes FOO-4144
Change-Id: I6b3a1a0377f6aa78f6029ba310c6367be1115090
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339596
Reviewed-by: August Thornton <august@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Migration-Review: Isaac Moore <isaac.moore@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Rack::Test::UploadedFile, in addition to looking like something
that isn't intended to be used in production code, creates a copy
of the file that is passed in. This slows down things like
reports and exports, and isn't needed for our use cases,
which all involve synchronous uploads (and do not involve #append).
a note about unlinking: in a few places, the code calls #unlink
on the Rack::Test::UploadedFile instance, which (1) did not
delete the file passed into that thing, only the copy it made;
and (2) was unnecessary since that class deleted its copy itself
also note that Rack::Test::UploadedFile is still being used
to simulate uploaded files in tests... as is intended.
but no longer using it just to wrap a `content_type` around
a file we are uploading from the backend
test plan:
- smoke test the following:
- content export
- account report
- sis import
- submission export
flag=none
closes FOO-4215
Change-Id: Ife83373be5920958eb7bdf14c2da1a56708ca11e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/338855
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: August Thornton <august@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
the same way we already did for blueprint syncs.
customers don't want these spun-off jobs to starve
out the originals
note that I have already created the
'sis_imports_course_templates_num_strands" setting
in production with a default value of 8
test plan:
- enable template courses
- set up a template in an account
- run a sis import that creates a course
- the template course copy job should be created at
priority 25 (below the sis import's priority of 20)
- the migration should run in the
"sis_imports_course_templates" n-strand
flag=none
closes FOO-4198
Change-Id: Icecdbb4ca201d5f861b1c2befa4fd58a10ab913e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339363
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: August Thornton <august@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
if you attempt to enroll a user with a deleted pseudonym
via sis import, the error message currently says
"Attempted enrolling with deleted sis login X", where X
is the Canvas ID of the pseudonym. That number doesn't mean
anything to SIS users. If we're mentioning a "login", we
should use what SIS imports call "login_id" there
(iow, the `pseudonyms.unique_id` column)
test plan:
Prerequisites: A user with a SIS id enrolled in a course
with a SIS id.
- Delete the user with a SIS import (so really just
deleting the login from the user).
- Make an enrollments SIS import attempting to enroll the user
in the course with the SIS id from the deleted login. Check
the error attachment for the SIS import. it should use the
sis "login_id" column instead of the canvas ID.
flag=none
closes FOO-4018
Change-Id: I58f120a2e433cc6f495af16fdbc8e50ab700b92c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/333276
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: August Thornton <august@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
test plan:
- have group category containing a group, both in course context
- run a SIS import modifying the group, but don't provide
course_id, account_id, or group_category_id in the CSV file,
for example, use only group_id,name,status
- the group and group category should both stay in the course
flag=none
fixes FOO-3839
Change-Id: I0b90c1f97c717b0286d3870950ae08e07050016d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/329334
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Michael Hulse <michael.hulse@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
fixes FOO-3890
flag = none
Test plan:
Prerequisite: A course and user with a SIS ID
- Navigate to the user page for the user, and select to
Delete from ALL accounts.
- Run a SIS Import file to enroll the user into the existing course,
making sure the limit_section_privileges column is included
- Notice that the SIS Import doesn't show any enrollments added,
but there is a warning included
Change-Id: Icbeba5a5262b439676cfe629e7f1569498b8bfeb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/328752
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: August Thornton <august@instructure.com>
test plan:
- have redis enabled
- have a course in an account with a SIS ID
- do /api/v1/courses/X/enrollments and see that this ID
is shown in `sis_account_id`
- change the sis id of the account via a change_sis_id.csv
import
- repeat the API call and the new SIS ID should be seen
flag=none
fixes FOO-3728
Change-Id: Idf5177f7710247b10c2a7231494129f7281e843e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/328597
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: August Thornton <august@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
closes FOO-3326
flag=temporary_enrollments
test plan:
- create an enrollments sis csv file with a temporary enrollment
- import the file and process the data (ensure jobs are running)
- verify that the enrollment is created with the correct
temporary_enrollment value
Change-Id: I8fbbd4860394f5a96989fb5d0136175e4aa47795
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/327516
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Michael Hulse <michael.hulse@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: August Thornton <august@instructure.com>
if a diffed csv import changes the column definitions, our
intended behavior is to skip diffing for that type. this was
broken in FOO-3574 but only because the variable name changed :(
for the warning text and there was no test coverage of that code path
test plan:
- column header changes should bypass diffing and run a full
import of the type(s) that were changed
- the entire import should not fail
flag=none
fixes FOO-3749
Change-Id: I6ed9a27cf63d6ff1176e549002f650b19d472386
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/325798
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jason Perry <jason.perry@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
this feature was requested by multiple customers
at InstructureCon 23 hack night
test plan
- import a SIS user batch using a diffing_data_set_identifier
- remove a user from the csv file and re-import
using the same diffing_data_set_identifier
while supplying the "diffing_user_remove_status=suspended"
option
- the user should be suspended rather than deleted
flag=none
closes FOO-3710
Change-Id: I5a0acf0677c0512a334060f917a3fa4fdf32fcd4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/323910
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ajmal Esa <ajmal.esa@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
closes EVAL-3285
[fsc-timeout=30]
We will need to follow this up next release with a commit
to remove the alias `DueDateCacher = SubmissionLifecycleManager`.
flag=none
Test plan
- Tests pass
Change-Id: Ib3566e9d581f5826ab07ee2265277bb75ba02ee0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/320685
Migration-Review: Isaac Moore <isaac.moore@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Christopher Soto <christopher.soto@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Cameron Ray <cameron.ray@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
fix bug with “Student Groups” group_category and sis-imported
groups: when importing groups, groups will belong to the same
course as the group_category they are assigned to
refs FOO-3573
flag=none
test plan:
- create sub-account course with SIS ID
- create groups.csv with SIS ID
- perform SIS import
- verify visibility in UI and API
- reset course
- verify removal of groups
- perform SIS import again
- verify visibility in UI and API
- for more details see FOO-3573
Change-Id: Ic0b90bcafabeface46e782384e9f7ba52734ff32
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/321657
Reviewed-by: Michael Hulse <michael.hulse@instructure.com>
Reviewed-by: August Thornton <august@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Michael Hulse <michael.hulse@instructure.com>
Product-Review: Michael Hulse <michael.hulse@instructure.com>
currently CSV diffing mode doesn't operate unless there is only
one file of each type in the previous and current packages.
some schools have separate files for e.g. student and teacher
enrollments. this PS allows them to use diffing mode by
matching up the files to diff based on filename.
test plan:
- import a SIS package containing student_enrollments.csv
and teacher_enrollments.csv, specifying a
diffing_data_set_identifier
- make some changes to both files
- re-import the package, using the same
diffing_data_set_identifier
- ensure the correct results happen. note that you can get
the diffed output from the SisBatch via
sis_batch.downloadable_attachments(:diffed)
and verify we did the expected thing
- if all filenames of a given type do not match between
the previous and current imports, no diffing will be
performed (the new files will be imported in their entirety)
flag=none
closes FOO-3574
Change-Id: If81b05c6b945bbed40eb2de95d52faf51dd2ac60
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/320623
Reviewed-by: Michael Hulse <michael.hulse@instructure.com>
Reviewed-by: August Thornton <august@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
courses now set to root account if the old account is deleted
fixes FOO-2199
flag=none
test plan:
1. run sis imports on deleted courses from deleted accounts
Change-Id: I671467856025ed3a5f78f0206d4047e93979f483
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/319797
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: August Thornton <august@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: August Thornton <august@instructure.com>
so when things go wrong--but not so wrong there is an ErrorReport--
we can find the logs for the job(s). (typically there will just
be one job per SisBatch or ParallelImporter, but when failed
jobs are retried, it may be useful to see the logs for each
attempt.)
test plan:
- run a sis import job
- in the Rails console, look at the SisBatch and the linked
ParallelImporters
- they should have populated `job_ids` which correlates with
what was written in the logs
flag=none
closes FOO-3478
Change-Id: I1e684e23fcbd73cea63bc20c5bc591b03143a42a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/319264
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Migration-Review: Isaac Moore <isaac.moore@instructure.com>
Migration-Review: Aaron Ogata <aogata@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Reviewed-by: August Thornton <august@instructure.com>
[skip-stages=Flakey]
Change-Id: I6abefdfa9fed6dd4525c8786e93efa548b3710f2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/319603
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
QA-Review: Jacob Burroughs <jburroughs@instructure.com>
Product-Review: Jacob Burroughs <jburroughs@instructure.com>
Build-Review: Jacob Burroughs <jburroughs@instructure.com>
Migration-Review: Jacob Burroughs <jburroughs@instructure.com>
Prevent the restoration of a nested sub_account within a sub_account
when imported via SIS import.
fixes FOO-3400
flag = none
test plan:
- Create sub_account and nested sub_account via SIS import
- Delete both accounts via SIS import
- Restore only the nested sub_account via SIS import
- Should get a warning on SIS import UI that nested sub_account
cannot be restored because parent account has been deleted
Change-Id: I62682c3a30b971930f3a3abe830ddb695582766b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/314099
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jason Perry <jason.perry@instructure.com>
QA-Review: Ajmal Esa <ajmal.esa@instructure.com>
Product-Review: Ajmal Esa <ajmal.esa@instructure.com>
test plan:
1. have a student linked to an observer via UserObservationLink
2. enroll the student in a course via a batch mode SIS import
that imports the student alone
- ensure the observer is enrolled as expected
3. run another sis import that explicitly creates the
observer enrollment and the student enrollment
4. re-run the import CSV from step 2
- ensure the observer's enrollment is still active
flag=none
fixes FOO-3424
fixes gh-2172
Change-Id: I47db58382a94805d48c6beb9ea5ab2ba4b6c3fcc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/314467
Reviewed-by: Mysti Lilla <mysti@instructure.com>
Reviewed-by: Jason Perry <jason.perry@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
When an enrollment is made active, then completed, made active again
and at least one minute later completed one more time (all via SIS
imports), the completed at time will show the original completed
time instead of the second completed at time. This commit makes it
so that the completed at time is always set to the time when the SIS
import is done.
fixes FOO-3316
flag=none
test plan:
- Make sure delayed jobs are running
- Import an enrollment via SIS import and make account status active
- Update CSV to change student status to
deleted_last_completed
- Take note of completed date and time on student membership page
- Wait at least a minute
- Run SIS import CSV, setting the student status to active
- Run SIS import CSV, setting student status back to
deleted_last_completed
- Time noted from earlier should differ from new completed time on
student membership page
Change-Id: I46d26dad7ff479798710866b9cc8d682ede8217e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/309778
QA-Review: Ajmal Esa <ajmal.esa@instructure.com>
Product-Review: Ajmal Esa <ajmal.esa@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: August Thornton <august@instructure.com>
refs AE-31
flag=none
test plan:
- verify Canvas boots in CD
- verify no influx of new errors in CD
[fsc-timeout=1]
[ignore-stage-results=Flakey Spec Catcher]
Change-Id: I26663e32d9452c198c87b957b026170ee3e4bc93
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/305073
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Isaac Moore <isaac.moore@instructure.com>
Product-Review: Isaac Moore <isaac.moore@instructure.com>
closes AE-30
flag=none
test plan:
- verify Canvas boots in CD
- verify no influx of new errors in CD
[fsc-timeout=30]
Change-Id: Ifa04bebe1b09f01c6d3b8b2d8f3bb424759730f5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/308067
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Isaac Moore <isaac.moore@instructure.com>
Product-Review: Isaac Moore <isaac.moore@instructure.com>
Build-Review: James Butters <jbutters@instructure.com>
and remove the retry on MalformedCSVError since that's weak
compared to SHA512 and has proven not to be robust enough to
detect repeated or elided data in the file
with `integrity_check: true`, `Attachment#open` will redownload
the file (once) if the SHA512 hash doesn't match, so we're
not losing anything by ripping this code out
flag=none
closes FOO-3256
Change-Id: Iea899f4995b5d093406e7748c9768ed65a167a02
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/307128
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: August Thornton <august@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
fixes FOO-3099
flag = none
test plan:
• have a target user / subaccount with associated SIS ids
• import an admins.csv with user / role / account info
• verify user details for that user includes enrollments for
that new account
• verify admin badge is present in global nav that includes
that new account user enrollment for the role chosen to
be imported (will be a named link to the account) after
clicking on the admin tab
Change-Id: Id590197ffd48a4ac08398bd5388657a64b5d735c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/302956
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: August Thornton <august@instructure.com>
refs FOO-3028
flag = none
an extension to this hook method needs the pseudonym to make its
decisions
test plan:
- nothing is different in canvas-lms
Change-Id: I6ce95d60eb6f7b52842e0a7b6bfd6dad750b6906
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/297321
Reviewed-by: Ajmal Esa <ajmal.esa@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Jesse Poulos <jpoulos@instructure.com>
QA-Review: Ben Rinaca <brinaca@instructure.com>
refs FOO-2771
some of the hook implementations may raise errors and we want that to
only fail the single row rather than the whole batch
Change-Id: I7d7ad5f730f8254abe1ad18b326685820206d7e4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/295166
Reviewed-by: Sean Scally <sean.scally@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Ben Rinaca <brinaca@instructure.com>
Product-Review: Ben Rinaca <brinaca@instructure.com>
refs FOO-2771
allow for plugins to override user creation behavior when importing
users in SIS.
the column `home_account` in users.csv can contain a boolean value that
a plugin can use to signal if a new user should be created instead of
using a) the existing user for an existing login or b) an existing user
found for a new login via the `other_user` hook method.
test plan:
* open source canvas should have no change, regardless of the value in
the `home_account` column
Change-Id: I973906371ca8d97ce1b6bbf972b1f90375113375
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/293109
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Ben Rinaca <brinaca@instructure.com>
Product-Review: Ben Rinaca <brinaca@instructure.com>
Reviewed-by: Sean Scally <sean.scally@instructure.com>
closes LS-3111
flag=course_paces
test plan:
- Enable course pacing for a given course
- Update that course's start date via SIS import
- Check that the course's paces have been republished
Change-Id: Ibc3e14d6a249a151f5e584d95e18ed8bc62f027b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290973
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Robin Kuss <rkuss@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Luis Oliveira <luis.oliveira@instructure.com>
closes EVAL-2376
flag=none
As part of this change, the number of simultaneously running enrollment
importer due date recache jobs per shard is capped at 10. In
order to change this, run:
```
Setting.set(
"DueDateCacher#recompute_for_sis_import_num_strands",
"20"
)
```
Test Plan:
1. create an assignment
2. Verify in a rails console that submissions were created by
DueDateCacher for the assignment:
Submission.where(assignment_id: <id>).count
=> should be greater than 0
3. Run a SIS import that adds a new enrollment to a course (for a user
that has not yet been added to the course), and verify submissions
are created for any assignment that is assigned to the newly-added
enrollment:
Submission.where(
course_id: <id>,
user_id: <enrollment's user_id>
).count
=> should be greater than 0
Change-Id: I5f28b5bfdc7f419bc2fc450aa4cc23fe2c28a51f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/288944
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
there apparently is a case where the file is fine on app server disk,
but somewhere in round-tripping inst-fs the file becomes empty, and then
sis import sees no objects in the attachment and thinks it should delete
all of the existing objects during the import.
i couldn't find a codepath where the file could become empty, but we
have at least two reported cases where that has happened. so let's go
ahead and prevent the bad thing from happening. and if this results in
us then being notified of other occurrences then we will have more cases
to investigate a root cause for.
fixes FOO-2506
Change-Id: I2b7ae9ca11e690c4bfe3337d2e7d82a6d03dd2d7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/288865
QA-Review: Ben Rinaca <brinaca@instructure.com>
Product-Review: Ben Rinaca <brinaca@instructure.com>
Reviewed-by: Sean Scally <sean.scally@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
fixes LS-3073
flag = none
Test plan:
- Create users.csv, courses.csv, and enrollments.csv files to create
a user, course, and enroll the user into the course as an observer
(or get them from me)
- Zip the files and upload them at accounts/id/sis_import
- Expect to get this warning - "Observer enrollment for abc not
allowed in blueprint course def"
- Visit the new course's users page and expect the user to not have
been enrolled
Change-Id: I51bfefcac73219df21ff0c12a23e3e0a717d451f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/288739
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
Closes SOS-1939
Test plan:
- Import canvas user with canvas_password_notification flag on
- Click the link on mail
- setup password for the user
- login with the credentials
flag=none
Change-Id: If0e3522cdb95b0f53e3b21ae9fc9c99a68cf0ab6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285599
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Balazs Komaromi <balazs.komaromi@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Vusal Ismayilov <vusal.ismayilov@instructure.com>
Product-Review: Vusal Ismayilov <vusal.ismayilov@instructure.com>
flag=none
Closes SOS-2627
Test plan:
- Upload archive with courses.csv for elementary account
- courses.csv should contain field with friendly_name
- course name after importing should have value as friendly_name
Change-Id: I7ab7b1e146fb1b5838ea00a4e67de3fb2c7e52b1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283743
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Richard Zana <rzana@instructure.com>
Reviewed-by: Balazs Komaromi <balazs.komaromi@instructure.com>
QA-Review: Ievgenii Matkivskiy <ievgenii.matkivskiy@instructure.com>
Product-Review: Ievgenii Matkivskiy <ievgenii.matkivskiy@instructure.com>