(switchman handles the details)
test plan:
* in cache_store.yml, have something like:
oneoff:
cache_store: redis_store
development: oneoff
* launch rails console in development mode; Rails.cache should be a redis store
Change-Id: Ie12e655264b1f8c4a5df6ef31cf84d12cc913eb6
Reviewed-on: https://gerrit.instructure.com/39923
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
fixes: #CNVS-14725
this commit also moves the shared functionality
of File and Folder to base class
File and Folder have similar behavior, we were branching
a lot and defining the same methods on both. this
has them both inherit from the same base class
so they can share that functionality
this commit has has a bunch of changes on stuff that
sterling is working on too. so i want to get it pushed
now so he doesn't have a bunch of merge conflicts. tests
coming in the next commit.
test plan:
in the new files interface,
* click the cog for an item
* click the move option
* a dialog asking where you want to move it to should appear
* pick something
* press "move"
* it should immediately show that it is moved
* it should still show that it is moved when you refresh
Change-Id: I226d21396ab3b6b84e9cdcd62212500986efd9b2
Reviewed-on: https://gerrit.instructure.com/39943
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
fixes CNVS-5066
when a user comes to the /registration page, they may have a
self-enrollment code (aka "Join Code" in the form) from some specific
course they're signing up for. if they enter that code with trailing (or
leading whitespace), which is particularly common when copy/pasting,
still let it work. (whitespace is never a valid part of a
self-enrollment code)
test-plan:
- have a course with self-enrollment enabled
- note the self-enrollment code
- go to /register and select to register as a student
- try to register including the course's self-enrollment code with an
extra space character added to the end
- registration should be successful, including creation of an
enrollment in that course
Change-Id: I1b7c0535e437e1d5e4243d78559eaa4b6b72abdc
Reviewed-on: https://gerrit.instructure.com/39861
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
QA-Review: Jacob Fugal <jacob@instructure.com>
fixes CNVS-15068
test plan
- cause a conversation message notification email to be sent
- ensure that the text and html versions of the email include text
saying that you can reply to the email to reply to the
conversation message
- cause a discussion entry notification email to be sent
- ensure that the html version of the email includes text saying
that you can reply to the email to reply to the comment (the text
version should have the text, too, but it was there before this
commit)
Change-Id: I79c40ecb55bd17eef96931bbb3f255768914fcc7
Reviewed-on: https://gerrit.instructure.com/39925
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
Product-Review: Matthew Wheeler <mwheeler@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
- removed `role="dialog"` because that puts the
content into "application" mode, royally
messing up navigability
- added `aria-hidden="true"` to all of the content
outside of the dialog
- rearranged some opening/closing tags in app
layouts so they live in the same file
closes CNVS-14476
Change-Id: I83be208a2f993caf8b436112da1b3e30e0f533fa
Reviewed-on: https://gerrit.instructure.com/39933
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Product-Review: Ryan Florence <ryanf@instructure.com>
Fixes CNVS-14397
Test plan:
- rake doc:api
- verify that public/doc/api/enrollments.html#method.enrollments_api.create shows the correct api parameters
Change-Id: Ie22e65c6f47f05c3e3f7bd49d89757e47f2afeb2
Reviewed-on: https://gerrit.instructure.com/38501
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Duane Johnson <duane@instructure.com>
Product-Review: Duane Johnson <duane@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Test Plan:
- install a tool with the message_type 'ContentItemSelectionResponse'
- launch the tool
- it should have the JSON param content_items
- content_items should have a placementOf -> id that points to a migration API endpoint
- run the migration by POSTing to the given endpoint
- the migration should have all course content in it
- try a migration with one assignment, one quiz, one module, and one page
* add quizzes[]=:id&assignments[]=:id&modules[]=:id&pages[]=:id
- the migration should only extract the specified items
closes CNVS-14613
Change-Id: Ic43c3fb1e77c12d5f4d6712d42932e63bc36762e
Reviewed-on: https://gerrit.instructure.com/39427
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
test plan:
- add a `timeout: 1` option to redis.yml
- confirm that rails cache and redis operations complete as normal
- to test timeout, you can set up a dummy tcp server that listens but
never accepts, add it to the redis config, and verify that the (first)
redis operation times out as expected. after the first, it'll be
blacklisted for 5m as usual.
Change-Id: I2494b4b319afffcf1ea6ab87eb1c3d7d3baec58b
Reviewed-on: https://gerrit.instructure.com/39895
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
QA-Review: Brian Palmer <brianp@instructure.com>
fixes CNVS-12214
test plan:
- ensure the API documentation for GroupsController#invite shows
each email address in a separate -F argument in the curl example
Change-Id: I14691cda60c762e280b3a30d7bdbf6ef5a80b6a3
Reviewed-on: https://gerrit.instructure.com/39721
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
Product-Review: Matthew Wheeler <mwheeler@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
we had written some code for the backbone File model
that assumes that you would always have a 'file'
attribute (that is an actual filesytem object representing
the bytes of the file), so you couldn't save
or toJSON it if you were wanting to save it's other
attributes (like name or parent_folder_id)
this just fixes that.
test plan:
make sure that files still work as
intended in quizzes or other places we use files.
Change-Id: I4d9b7283b2d9d7160fd5b95819d9b7093f4c1cf0
Reviewed-on: https://gerrit.instructure.com/39916
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
This fixes an issue where receiving a nested multipart message would
show some of the raw message pieces instead of the actual message. A
new test case has been added.
Fixes CNVS-5873
Test Plan:
- Set Notifications for Conversations so that you will be emailed to an email account you have set up in Outlook.
- As another user, message that student to prompt the notification to be sent
- From Outlook, reply to the Conversation Message notification and include an image somewhere in the body of your reply
- Return to the Conversations Inbox of the user that was being replied to and observe that the message displays in Canvas with all the encoding data.
Change-Id: I497cf421ee231d7e95c0bacd34cb2448fb7220ff
Reviewed-on: https://gerrit.instructure.com/38684
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Joel Hough <joel@instructure.com>
Product-Review: Matthew Wheeler <mwheeler@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
test plan:
* should be able to use the API to export individual items
associated with modules by specifying a "module_item" or
"content_tag" id
refs #CNVS-14552
Change-Id: I340c5e35297aa9d6e7971ba2b26ae6b222404fde
Reviewed-on: https://gerrit.instructure.com/39808
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
test plan: load a discussion topic in the web UI. it should load as
before, and if the materialized view already existed, the logs should
show the SELECT for it only against the slave.
Change-Id: If397681f1ebb2502089ee94c24b0292b34ec8eb8
Reviewed-on: https://gerrit.instructure.com/39877
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
fixes CNVS-14103
test plan:
- create a differentiated assignment
- DA On
- peer reviews page should only show students with
visibility
- auto assigning peer reviews should only assign to students
with visibility
- DA Off
- everything should work as usual
Change-Id: Iaa6f5e2d1c377660512009d1ff7cd88597a3af4d
Reviewed-on: https://gerrit.instructure.com/39406
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Mike Nomitch <mnomitch@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
closes CNVS-14683, CNVS-14684, CNVS-14685
test plan:
- Go to the courses page (/courses)
- Make sure you have enrollments in various courses in various
states (e.g., unpublished/published, past/future/current)
- Each section (My Courses, etc.) should have a table within
- My Courses should have stars in the first column
- Clicking on a star should toggle the color of the star
if the course is favoritable, e.g. students can favorite
courses that are unpublished, while teachers can.
- Stars that are colored yellow, should appear in the courses
dropdown on the main navigation after a refresh.
- The type of enrollment should be indicated on the far right.
- Unpublished courses should have an indicator to the left
of the enrollment type.
- Hovering over the unpublished courses should have a
tooltip saying:
"This course has not been published. Students should contact
the course instructor for access."
- Screenreaders should also detect this information.
Change-Id: I660485b5143f877ef231b0edb52b2c82b8cdaab3
Reviewed-on: https://gerrit.instructure.com/39227
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
Since the work we are doing here is still very much
WIP, this makes sure no one has the new styles feature
flag turned on
this is a different approach than previous patchsets
since, because of caching or whatever, it was not
working correctly on test portals.
this just renames the feature so if anything was cached
for the previous feature, it won't matter.
and finally, just to clean up, we clear out the db
of any people that had set the old, now meaningless,
feature flag of 'new_styles'
fixes: CNVS-13571 CNVS-14903
test plan:
a) enable the feature flag before checking out the
patch set
b) check out the patch set and run migrations
c) verify that the feature is no longer set and
is hidden from non-site-admins
Change-Id: I6230064fe965c80128b047786c393043292114d5
Reviewed-on: https://gerrit.instructure.com/36225
Reviewed-by: Colleen Palmer <colleen@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Matt Fairbourn <mfairbourn@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
fixes CNVS-14763
test plan:
- Navigate to your profile page
- Click the down arrow on "Use High Contrast Styles"
- Confirm the spelling of 'difficulty' is now correct and no longer 'dificulty'.
Change-Id: Ife3bf310b5dc45fa609dfaa362814631f2e9e6f4
Reviewed-on: https://gerrit.instructure.com/39854
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bryan Madsen <bryan@instructure.com>
Product-Review: Bryan Madsen <bryan@instructure.com>
QA-Review: Bryan Madsen <bryan@instructure.com>
Makes the modules page more accessible for both screenreader and
keyboard only users.
fixes CNVS-9045
test plan:
1. Using a screenreader go to the modules page (/courses/##/modules)
2. The "keyboard instructions" area should inform you to use the
move module options.
3. Navigate to the admin links cog for a module
4. You should see a "Move to..." option.
5. Click it using whatever the screenreader uses for click
(VO: Ctrl+Option+Space)
6. A dialog should appear (This dialog should be accessible)
7. You should be able to move a module to whatever location you
want.
8. Close the screenreader, repeat steps 3-7 using only the
keyboard.
9. When the drag-and-drop handle has focus a warning should appear.
Change-Id: Ie64b79ab6fa85d728fd97fba3842717b1a6ed99b
Reviewed-on: https://gerrit.instructure.com/39806
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
fixes CNVS-13924
test plan:
- Go to a course syllabus in Chrome
- Make sure several assignments are there with due dates
- Resize the window to be small
- Date and Day columns should not overlap but remain in their
own columns.
Change-Id: I51602d4df85d5c6c07e1a987a8ea5a1852d906dd
Reviewed-on: https://gerrit.instructure.com/39558
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
this way the user experience is identical (sighted
or screenreader), whether the notification
originated from the server or the client
test plan:
1. do something that causes a flash notification
from the server (like un/publishing a course)
- observe the visual design animates in
- observe that the screen reader announces
the notification
2. do something that causes a flash notification
from the client (like sending a message)
- observe the visual design animates in
- observe that the screen reader announces
the notification
closes CNVS-12222, CNVS-12221, CNVS-12224, CNVS-14881
Change-Id: I0a61b8a12292211726bc99d23d056c92918c5f76
Reviewed-on: https://gerrit.instructure.com/39486
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Ryan Florence <ryanf@instructure.com>
test plan:
* enable self-enrollment on the root account
* enable self-enrollment on a course
* disable self-enrollment on the root account
* self-enrollment should not work on the course
closes #CNVS-9109
Change-Id: Ic186497ae11376c00872200460d9850e4dfecc38
Reviewed-on: https://gerrit.instructure.com/39684
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
fixes #CNVS-12635
Per Erin Hallmark, "Grading Scheme" is more
conventional than "Grading Levels"
Test Plan:
-Go to assignment details
-Confirm the appropriate wording per the ticket
Change-Id: If2ada1072633c568145229da622c66c33a3b18ac
Reviewed-on: https://gerrit.instructure.com/39761
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
fixes CNVS-15047
This commit fixes a spec that became fragile as a result of ef939ea.
Test plan
- Run the specs
Change-Id: Iac07e01ba1bfe6db0eb7e2028040a48e4b920ce1
Reviewed-on: https://gerrit.instructure.com/39836
Reviewed-by: Bryan Madsen <bryan@instructure.com>
Product-Review: Bryan Madsen <bryan@instructure.com>
QA-Review: Bryan Madsen <bryan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Josh Simpson <jsimpson@instructure.com>
Thumbnails will now have namespace column which will be populated with
its attachments namespace on save. Old thumbnails will have null
namespace and should behave as they used to. New thumbnails will work
like boss.
Fixes CNV-12380
Test Plan
=========
Prerequisites
-------------
- S3 storage
- **Sharding**
- multiple users with the same ID on different shards
- profile photos on all the users with the same fileID
Details
-------
Before the fix the last uploaded avatar will be the *thumbnail* for
all user avatars that collide with each other.
After the code is updated all avatars will be blank.
After `bundle exec rake db:migrate` avatars should display correctly.
Change-Id: Iec533086308da352f317cda60b404327b14516e3
Reviewed-on: https://gerrit.instructure.com/39108
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Bryan Madsen <bryan@instructure.com>
Product-Review: Bryan Madsen <bryan@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
fixes CNVS-13810
test plan:
- with DA on create multiple assignments visible to
select sections
- go to speed grader for said assignments
- only students with visibility should show up
- only sections with visibility should show up
- turn DA off and everything still works
- note: group assingments not done yet
Change-Id: Ia065a82a24db40cc6ba46586114167e2ea8e75c1
Reviewed-on: https://gerrit.instructure.com/36981
Reviewed-by: Cameron Sutter <csutter@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
A rounding error on 10 pt scale was causing 0.87 to display as a B instead of B+
fixes CNVS-11843
test plan:
- Create assignment worth 10 total points and score it by letter grade
- Use default grading scheme so B+ is >90% - 87%
- Save the assignment and as the test student submit to it
- In gradebook score it with an 8.7/10, should show B+ as grade
- Update score to 8.69/10, should show B as grade
Change-Id: I1c8abbaa53c49eb019cb19798ddc232bf65f9056
Reviewed-on: https://gerrit.instructure.com/38759
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
fixes CNVS-14247
test-plan:
- login to canvas
- open profile page
- edit
- check language dropdown
- "Nederlands" should not have "crowd-sourced" label
Change-Id: I2c353b717ad767852609cc5c968a2afab8a4826a
Reviewed-on: https://gerrit.instructure.com/39773
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
fixes: CNVS-13196 CNVS-14408 CNVS-14960
accounts that have an AccountAutorizationCofig
(those that use cas ldap or saml) are able to set
a login_handle_name (so on the login screen they
could have it say "USU ID #" instead of "Email").
but there are a lot of customers that don't use
cas, saml or ldap that need to set it too.
for example, a school that uses a csv upload for users.
This allows these accounts to set a custom
login_handle_name too.
Test plan:
* for an account that does not use cas, saml, or ldap
* go to the account settings page, you should see
http://cl.ly/image/1W3B3K392p2B
* set something for "Login Label:"
* go to the login screen
* it should use that new value you set
Change-Id: I5a7fd025229a792db4bf898015752024dafa173d
Reviewed-on: https://gerrit.instructure.com/39628
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
Fixes: CNVS-14602
Test plan:
- Trigger a to-do in the right sidebar
- Ensure that the color contrast meets WebAIM
standards of 3:1 in the default UI and at least
4.5:1 in the high-contrast setting.
- Note: the body background image is around #e5e5e5,
which is what I used to test the ratios while
working on this.
Change-Id: Ic4188d7d633da177abadbb5b3320ce0f70b9ac99
Reviewed-on: https://gerrit.instructure.com/39155
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Colleen Palmer <colleen@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
Product-Review: Chris Hart <chart@instructure.com>
rails 2.3 to 3.2 changed the way that anchor tags are escaped in their url
builder methods from using CGI.escape (in 2.3) to URI.escape with a custom safe
list (in 3.2). The changed caused the colon to stop being escaped.
fixes CNVS-14890
test plan:
- create an assignment discussion, and post to it as a several students
- as a teacher, use the "Open in Speedgrader" link in the discussion post cog
menu for each student.
- it should open speedgrader to that specific student
Change-Id: I3d5aaae33b9b0e4914e09fa53292d9e042a91f26
Reviewed-on: https://gerrit.instructure.com/39752
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cameron Sutter <csutter@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
Fixes CNVS-6541
Test plan:
- Create a course with a course end date in the past, but belonging to a current term
- Verify course dates do not override term dates
- Course should not be shown as soft-concluded
-- (can be seen in /courses/:course_id/users, on the 'add people' button)
Change-Id: I3c22b57192341977a3b9694af9b4c2ecda2be413
Reviewed-on: https://gerrit.instructure.com/39438
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>