sass is no longer going to be included in the haml
gem, and trying to do so is deprecated.
test plan: run bundle exec compass compile --force
and make sure pages look good in the app
Change-Id: Iba268de061d196d29b012ab4d2b48a4f945e17d2
Reviewed-on: https://gerrit.instructure.com/13936
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
Reviewed-by: Joe Tanner <joe@instructure.com>
we have not turned on any collection related stuff
in the UI so these did nothing but cause us to download
more code to the browser.
Change-Id: I03eee5cf762fac4e3c617504ad422e717034a525
Reviewed-on: https://gerrit.instructure.com/13938
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Sterling Cobb <sterling@instructure.com>
test plan
* existing api should work but include grader_id
Change-Id: I223fa85d517f3bff75b31f1e3ac718d3760bd1ad
Reviewed-on: https://gerrit.instructure.com/14216
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
When a teacher uploaded a submission zip on a muted assignment
the comments weren't being marked as hidden like they're
suppose to. They do now.
Test Plan:
* Create an assignment and have some test students submit files.
* Download the submissions.
* Open the speedgrader and mute the assignments.
* Close the speedgrader and go back to the other page
* Re-upload the submissions.
* Check the conversation messages for one of the users who submitted the assignment.
* There should be no message for the submission
* As a the student, view submission details, you should not see the reuploads as submission comments
closes#10335
Change-Id: I96d47ae18bed0140c66b6ff78f606a651e48a448
Reviewed-on: https://gerrit.instructure.com/14204
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
fixes#10852
This fix will prevent html copied from a quiz question and pasted into
the quiz description from interfering with question editing.
test plan:
- edit a quiz
- copy the html from a question, for example:
<div id="question_16740547_question_text" class="question_text user_content enhanced">
<p>For Mead, what is the "essence" of the self?</p>
</div>
<div class="answers">
<div class="answers_wrapper">
<div id="answer_6949" class="answer answer_for_ correct_answer hover"> </div>
</div>
</div>
- edit the question
- paste the html into the question description (use "Switch Views")
- click the "Update Question" button
- edit the question again and edit the answers
- save the question again
- edit the question again and verify that the answers were changed and
that there are no extra answers
Change-Id: I0e0388ad87b6a7b6ed5d97d610e68d1b92cf2333
Reviewed-on: https://gerrit.instructure.com/14136
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Ericksen <marke@instructure.com>
test plan:
* view an error report with a url
* the url should be a link
Change-Id: Id6e6730284204b8b4e1ba19cbb0a583f607a9a6d
Reviewed-on: https://gerrit.instructure.com/14181
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
closes#7020
test plan:
1. login as a teacher
2. go to a course and click the 'People' link
on the left hand nav
3. click on 'View User Groups' right hand nav
4. click 'Make a New Set of Groups'
5. enter a group name that is exactly 255 characters
6. click the radio button to split students into equal groups
7. click 'Create Category'
8. validate error message was displaed and group was not created
9. also validate new functionality of radio buttons
new radio button functionality:
1. click "I'll create groups manually" radio button
2. validate that the split groups input field is cleared
3. click the 'Split students into" radio button
4. validate that the split groups input is populated with 1
Change-Id: Iac9ac5cea9e45c70b60d3618f632181f67a8a623
Reviewed-on: https://gerrit.instructure.com/13905
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Ericksen <marke@instructure.com>
fixes#9792
users who receive a course invitation link from canvas can now
accept the invite, even if the course hasn't begun and is restricted
by begin/end dates. they still are not able to participate in the
course until it begins.
test plan:
* create a course with a start date in the future that has its
participation restricted by course date;
* create a student enrollment in the course;
* using the link given in the enrollment invitation email, attempt
to accept the enrollment;
* verify that the enrollment is accepted and the user is redirected
to the dashboard page.
Change-Id: I4f876232a550ca3616723ecad9dc7049e76e67d8
Reviewed-on: https://gerrit.instructure.com/13412
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
test plan:
* on a page in Canvas course A, create a link to an item
inside a different Canvas course, B, on the same domain
* export course A
* re-import it as course C
* check the imported page, and make sure the link to the item
in course B still works
Change-Id: I05eb00f7a19d1f274d5bcc95338e224d9a99c75c
Reviewed-on: https://gerrit.instructure.com/14158
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Test Plan:
* Create a media submission assignment
* As a student go to submit the assignment
* The submission button should be disabled unless you have recorded media
closes#11048
Change-Id: Ia2c25535da9ab38d51b3fd5562e0a3250b14e710
Reviewed-on: https://gerrit.instructure.com/14126
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
fixes#10380
when clicking a user's avatar on a course people page, students
received an unauthorized page. now users' avatars link to their
course profile page, which is accessible by both students and
teachers.
test plan:
* as a student, navigate to a course's "people" page;
* click another user's avatar and verify that their course
profile page loads as expected.
Change-Id: Ief647577d9d202ea0259f44bf4812d0a82374228
Reviewed-on: https://gerrit.instructure.com/14073
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Ericksen <marke@instructure.com>
This also refactors the UserList constructor to better support passing this
information in when a user is being created through an invitation.
Testing Steps:
=========
* In a course, go the Settings > Users tab.
* Under "Add Course Users", select a type (ex: "Students") and
give the user information.
* Ex: "Student Test" <studenttest@example.com>
* After adding the user, verify in the console that the user has
the correct initial_enrollment_type. (As far as I know, this
information isn't displayed anywhere)
* Sample console script:
* u = User.last
* u.initial_enrollment_type #=> "student"
Can verify that this works for the following supported types
"student", "teacher", "ta", "observer".
Anything else (like Designers) doesn't get stored.
Change-Id: I5d900c421a04e95b5b92e21cd57e7694d1e98958
Reviewed-on: https://gerrit.instructure.com/14110
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
test plan:
* Run ActiveRecord::Base::ConnectionSpecification.with_environment(
:slave) {
ActiveRecord::Base.connection_handler.clear_all_connections! }
* ActiveRecord::Base.connection_handler should not be nil
Change-Id: I6f0721eb00c3fd6d9ac27ad73d9ddf8fd768c512
Reviewed-on: https://gerrit.instructure.com/14139
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
fixes#11087
test plan:
- manually run StreamItem.destroy_stream_items_using_setting
- it should work
- you should not have stream items over a month old (you might be able to see
this on a user that hasn't had any activity in the last month)
Change-Id: I64ae4458d18295537daeaf08cd131aea4d01091b
Reviewed-on: https://gerrit.instructure.com/14131
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
test plan:
* add a user from one shard as an admin in an account in another
shard
* that account should show up in the user's home menu, and their
all accounts page
Change-Id: Ib92b1a7f9283f6444d4a59108dc783f583b245bc
Reviewed-on: https://gerrit.instructure.com/14077
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
test plan:
* have a site admin user in shard 1
* add that user by their login id as an admin to an account in
shard 2 (in the UI)
* it should work
* repeat for enrolling in a course
Change-Id: I403f0f853056d4ea1dd9628c70e882fdc3cfd8bf
Reviewed-on: https://gerrit.instructure.com/14090
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
An account can now have multiple SAML configurations, and
can set an auth discovery url.
The old AAC API has been deprecated and this adds a normal
resource API for AACs
Test Plan:
* Test the api be doing lots of things
* Create two saml configurations
* Test the individual login urls for each (/login/{id}) and verify they work
* Test that the new SAML AAC UI works.
* Test that the SAML configuration in position 1 is used as the default
closes#10497
Change-Id: Ibe35fcf788d9506542b1079cc7420912a1e9d9a2
Reviewed-on: https://gerrit.instructure.com/14042
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
fixes#9254
add new flash message types - $.screenReaderFlashMessage and
$.screenReaderFlashError - that only display to users with
screen readers.
use these new types to display accessibility warning messages on
chat and conference pages.
test plan:
* using a screen reader, navigate to the conferences and chat
pages inside of a course and verify that a warning about
inaccessible third-party content is read on page load.
Change-Id: I45086f63b6eefc31d05a77bf33092f8ae9796644
Reviewed-on: https://gerrit.instructure.com/13523
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Joe Tanner <joe@instructure.com>
don't include fixed bottom bar warnings on pages that have been loaded into
iframes and have set @body_class_no_headers. currently these are only used in
test environments.
test plan:
- in a test environment, go to speedgrader to an assignment with submission
previews
- you should have the "test environment" warning along the bottom of the page,
but it should not be duplicated inside of the preview area.
Change-Id: I9a8c7162cd2480e5fe17e90079cce8ecd9ca721c
Reviewed-on: https://gerrit.instructure.com/14096
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
test plan:
* Create a sub-account (root>sub1)
* Create a sub-account under the first sub-account (root>sub1>sub2)
* Create a sub-account under the second sub-account (root>sub1>sub2>sub3)
* Delete the third sub-account (root>sub1>sub2)
* Verify that there is not a "1 Sub-Account" note under the second sub-account
Change-Id: Ib034df55e766497e07143f9b8ce3cb7b51c508f8
Reviewed-on: https://gerrit.instructure.com/14067
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
test plan:
1. login as a teacher
2. go to a course
3. click on files on the left nav
4. click 'Add Folder'
5. try to give it a name over 255 characters
6. text stops at 255 characters, press enter to add
the folder
7. folder is saved with no DB error
Change-Id: I1da8595350b3d0c6f23e3052e514bcb55446f141
Reviewed-on: https://gerrit.instructure.com/13982
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jake Sorce <jake@instructure.com>
Test plan:
* open a crocodocable submission in speedgrader
* be comforted by the delightful dance of a spinner while waiting for
your document to be displayed
Change-Id: I426b74f1f015da0a7a22c0e5beec4349010443bc
Reviewed-on: https://gerrit.instructure.com/14040
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
take off 255 character limit on the url link field, we migrated
the database to handle strings longer than 255 characters so this
limit is wrong
test plan:
1. login as a admin and go to the default account
2. click 'Settings on the left hand nav
3. scroll down and click 'Enable Profiles' checkbox
4. scroll up to the top and click on the user name link
5. click 'Edit Profile'
6. try to add a new link with a title that is longer than 255 characters
7. try to add a url that is longer than 255 characters
8. the title should not let you go over 255 characters and the url
should be able to go over 255 characters without a DB error
Change-Id: Ia11803c14f175239be75e61f54ca2fb4deb65edc
Reviewed-on: https://gerrit.instructure.com/14098
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
if an SIS update tried to conclude an observer of a student
who was already concluded, that observer enrollment ended up
duplicated with one concluded enrollment and one active.
Test Plan:
* Create a student with an observer
* In an sis update conclude the enrollments with the student's row first
(you can look at the example in the added spec)
* Both users should be concluded and only have one enrollment
closes#11050
Change-Id: Iaf63f005397f7b93403e0fd032335bf0a1f364d2
Reviewed-on: https://gerrit.instructure.com/14094
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
test plan:
* edit course settings, there should not be an error
* copy a course, there should not be an error
Change-Id: I733bef83b69d9c513be801d3e4b25422bcd10ebd
Reviewed-on: https://gerrit.instructure.com/13832
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
fixes#9594
test plan:
- Configure Canvas to send emails to you.
- Create a student account and set notifications for annoucements and discussions to "ASAP."
- Create an annoucement and a discussion and make sure you get the notification emails.
- Reply to the notification emails and see that the replies get posted as normal.
- Lock the announcement and discussion.
- Reply to the emails again and see the replies don't get posted.
- See that you get an appropriate bounce message.
Change-Id: I4436c61a202d3285ee35a9f9002cefa0f18954fd
Reviewed-on: https://gerrit.instructure.com/13912
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
use our own tinychat embed script to ensure it is loaded
over https instead of http. this allows it to load properly
in chrome and other browsers that restrict non-https content
during an https request.
test plan:
* load canvas over https;
* in chrome, navigate to a course chat page and verify that
tinychat loads without any errors.
Change-Id: I119b218ad03d91c39405529cf1604068514b07ee
Reviewed-on: https://gerrit.instructure.com/13899
Reviewed-by: Jon Jensen <jon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
previously, mute icon was not displaying inside of the gradebook
for assignments with titles wider than the assignment column. this
commit makes the mute icon visible by left-aligning it with the
assignment title (instead of right-aligning it).
test plan:
* inside a course, create an assignment with a long name that
overflows the assignment column in gradebook/gradebook2;
* from either gradebook, mute the assignment;
* in both gradebooks, verify that the mute icon is visible and
is now left-aligned to the assignment title.
Change-Id: I0a12fdd05ab2bdd570f018d4fbf2ecdef913cb43
Reviewed-on: https://gerrit.instructure.com/14065
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Ericksen <marke@instructure.com>
to reduce confusion
test plan:
* go to conversations on a shard other than your own
* it should redirect back to the dashboard with a helpful message
Change-Id: I083a7fcb88bb3abdc40ad0bbf45c24ac6f237886
Reviewed-on: https://gerrit.instructure.com/14080
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
Test plan:
preview a media object in course or user files and make sure it plays
Change-Id: I44f0ae788f4b02cb5399945336ff0656fa428f56
Reviewed-on: https://gerrit.instructure.com/14076
Reviewed-by: Bryan Madsen <bryan@instructure.com>
Tested-by: Bryan Madsen <bryan@instructure.com>
fixes#10955
Test plan:
* submit a document that cannot be previewed in crocodoc
* verify that a warning is displayed in speedgrader when grading that
submission
* disable crocodoc
* the warning should no longer be displayed
Change-Id: I2f51b9df5db3ea4b64f73dbfa2eca15f22fc850a
Reviewed-on: https://gerrit.instructure.com/14007
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Test plan:
* disable scribd/crocodoc
* submit an assignment that can be previewed in google
* open the submission in speedgrader
* make sure it previews inline rather than showing the submission
details page
Change-Id: I0b71d7f80b3b5cc48f09d8a81298a9aafb62f90f
Reviewed-on: https://gerrit.instructure.com/14039
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
now that it's on a strand, it's important we don't retry 15 times
because that'll hold up the rest of the jobs on the strand.
test plan: no user-visible changes, though admins can see the new max
attempts in the /jobs ui
Change-Id: I4b032b88c62e053528096337eecc6caaaa3337cb
Reviewed-on: https://gerrit.instructure.com/14047
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
we threw some code in a long time ago to prevent
getting stale pages when you hit the browser's back
button. but we don't need the same behavior for
xhr and api requests (in fact, we WANT to send a
304 when we can)
Change-Id: I3e06034d8e74da7497cf66aaf47b46f6e35964ac
Reviewed-on: https://gerrit.instructure.com/13935
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
test plan:
* make sure delayed jobs still run
Change-Id: Idf2ed293d80124176161b7de801c9b0ae1d80465
Reviewed-on: https://gerrit.instructure.com/13994
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>