Creates a new notification preference for announcements created by
you. Now you can see what you've sent, and how it looks in specific
communication channels. This new notification preference will also
send notifications when someone responds to the announcement.
Fixes CNVS-13745
Fixes CNVS-2135
Test Plan:
- Set "Announcement Created By You" preference
- Create an Announcement
- Check /users/[:user_id]/messages for "Announcement Created By You"
- As another user comment on the announcement
- Check /users/[:user_id]/messages for "Announcement Reply"
Change-Id: Ibb16f0dc3ba34d98f749c40d1df1eb12430aecca
Reviewed-on: https://gerrit.instructure.com/40636
Reviewed-by: Joel Hough <joel@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Brad Horrocks <bhorrocks@instructure.com>
fixes CNVS-15063
test plan:
- in course with DA
- as a student submit multiple times to a selrel'd assignment
- go to grade summary page and ensure there aren't dupes
- in a course without DA, everything still works
Change-Id: I7bd24b71bc8661f9747200579e7c11ade4fac1bf
Reviewed-on: https://gerrit.instructure.com/39894
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
Closes CNVS-15402
TEST PLAN
---- ----
- create 2+ quizzes in a course
- make some submissions, don't turn them in
- go to quizzes index
- verify your submissions are now graded (you may have to wait a bit
since it's done in a background job)
Change-Id: I80af5523f7549120ca81a5029d9681ddd511bb2b
Reviewed-on: https://gerrit.instructure.com/40862
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Taylor <rtaylor@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
fixes CNVS-15348
test plan
- send a conversation message
- ensure that the notification does not include the author's email
address
- in the account's settings page, check "Show the email address of
sender for user interaction Notifications"
- send another conversation message
- ensure that the notification includes the author's email address
Change-Id: I2816d82fb2f6413d1c2c972296a758b571fb03de
Reviewed-on: https://gerrit.instructure.com/40766
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Janelle Seegmiller <jseegmiller@instructure.com>
Reviewed-by: Mark Severson <markse@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
fixes CNVS-14080
test plan:
- set up differentiated assignment with submission
- as a teacher hit submissions api:show, for_students,
and index actions
- they can see submissions regardless of visibility
- as a student hit submissions api:show and for_students actions
- you should only be able to see the submission if you are in
a secition with visibility or have a grade
- otherwise you should get a 401 error
Change-Id: I8dcdfd5fdcc14fd6fd1c782f86599e9440348bf0
Reviewed-on: https://gerrit.instructure.com/37668
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Liz Abinante <labinante@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
unpublished items weren't showing up in the common cartridge
organization. (but they were in the custom module xml)
Test Plan:
* Export a course with some module items that are unpublished
* there should be an item in the export manifest correlating to that item
closes CNVS-15359
Change-Id: I2763d8f8e3e433ca079fe9a77e2457022428345e
Reviewed-on: https://gerrit.instructure.com/40822
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
fixes CNVS-14243
test plan: create an Uncategorized account-level group, easiest way to
do this is a SIS import like so:
group_id,name,status
fromsis,from SIS,available
Then visit /accounts/self/groups. The group should appear in the
"Uncategorized" tab. Visit the group homepage /groups/:id by clicking
the gear -> "Visit Group Homepage". The group homepage should render
without error, and you should be able to interact with the group like
any other. Test this as a student enrolled in the group, as well.
Change-Id: Id4f08b704226653acc35df517fe58ce4f8f9e6eb
Reviewed-on: https://gerrit.instructure.com/40789
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
just use the cached .all, even for associations
test plan:
* go to the notification preferences page as a user
* in console
* np = NotificationPolicy.first; np.notification
* the first time, it should query notification_policy,
and *all* notifications
* do it again, and this time it should not query
notifications, but should still return an object
Change-Id: I3b83ec9ce6f6f6b4d542e83d2b8653b4e221afd4
Reviewed-on: https://gerrit.instructure.com/40460
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
fixes CNVS-15258
test plan:
- create an assignment and enable turnitin and open the advanced options
- change different combinations of settings: check/uncheck boxes, radio
buttons, dropdowns, and fill in fields
- no matter what settings combinations you pick, when you press "Update
Settings", and then re-open the dialog, it should be consistent
- if you close the dialog with the x, it should not keep your changes
- when you save the assignment and go back to edit it, it should keep
your last 'updated settings'
Change-Id: I150402907b7829474f2c2a7102d2a4039438f809
Reviewed-on: https://gerrit.instructure.com/40644
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Liz Abinante <labinante@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Matt Fairbourn <mfairbourn@instructure.com>
there are potentially lots of folders with trailing whitespace. handle
them gracefully in new files
closes CNVS-14794
test plan:
- with new files ui disabled, create a new folder
- in the folder name, add a space at the end of the text (eg "Folder 1 ")
- enable the new files ui
- click on the folder with the space
- folder view should load
Change-Id: Ibc6489ebf561a1a9b92d30f930fe575597849cdf
Reviewed-on: https://gerrit.instructure.com/40340
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Jason Madsen <jmadsen@instructure.com>
given a course that references question banks, rubrics,
outcomes, and/or external tools in its account, if the course
is exported and re-imported into a different institution
in a different shard, there's a chance that the wrong item(s)
may become associated with the copied course.
to solve this,
(1) export the root account's uuid with a cc export;
(2) ignore external references on import if the saved uuid
does not match the root account of the destination
course.
test plan:
1. arrange the following in a course:
a. an external tool module item referencing a tool
defined in the account
b. a learning outcome imported from an account
c. an assignment using an account rubric for grading
d. a quiz containing a question group puling from an
account question bank
2. export this course to a common cartridge
3. import it into a course in the same root account.
it should import without warnings, and the account
references should be intact.
4. unzip the export package from step 2.
in course_settings/course_settings.xml, change
the root_account_uuid value. re-zip.
5. import the modified package into another course
in the same root account. (we tricked canvas
into thinking it's a different root account,
because that's easier than actually setting up
another shard and "decoy" items with matching ids).
-> you should get warnings about the external tool,
rubric, outcome, and question bank
-> the rubric and outcome should still be present,
but are copies and not the original account items
fixes CNVS-15101
Change-Id: I60d2a8377995f9d9476a87776c993d677b838b1b
Reviewed-on: https://gerrit.instructure.com/40391
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
test plan:
0. have a course with a module containing an assignment, quiz,
discussion topic, wiki page, file, and course-context external
tool item
1. have other assignments, quizzes, etc. in the course that are
not part of the module
2. export the course to a common cartridge
3. import the course, selecting only the module
4. verify that items referenced by the module are included
(and those not referenced by the module aren't)
fixes CNVS-15226
Change-Id: I7fbed812a0b2edc3fad2bb75eb9aaab905923935
Reviewed-on: https://gerrit.instructure.com/40537
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Willesen <jonw@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
Added a selenium spec that visits the statistics_cqs page and verifies
that the client app has loaded and mounted successfully.
Closes CNVS-15363
Change-Id: I4a87b5af78343d51ef8e4c0b1e30065eff9e7d6b
Reviewed-on: https://gerrit.instructure.com/40775
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Derek DeVries <ddevries@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
fixes CNVS-15252
test plan:
- create a new course and DO NOT visit the assignment index page
- go create a new ungraded discussion
- refresh the discussion show page a few times
- go to the assignment index page
- there should only be 1 assignment group (the default)
- repeat the process with an ungraded quiz
Change-Id: If6714bef05379a0f1253a0843d473695a1372456
Reviewed-on: https://gerrit.instructure.com/40709
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
fixes CNVS-13933
test plan (with a course setup for DA):
for the following tests:
* perform them on assignments that are only_visible_to_overrides
* _and_ again on assignments that should be visible to everyone (regression)
- mute an existing assignment that has a due date for one section only
- unmute it
- verify that the *unmuted* notification only go to the students & admins who can see the assignment
notes: must be an existing assignment that is more than 30 minutes old
Change-Id: Ic26fe29a8b1db06e376fdeae129636b0a097fab1
Reviewed-on: https://gerrit.instructure.com/37271
Reviewed-by: Cameron Sutter <csutter@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Liz Abinante <labinante@instructure.com>
test plan:
- Install a tool with a message type ContentItemSelectionResponse
- it should contain a opaque user_id
Change-Id: Ic2f6585adfe2d9792f974d1d58db2b82da2cdff2
Reviewed-on: https://gerrit.instructure.com/40718
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
fixes CNVS-15254
fixes CNVS-14958
This takes out the big textured backgrounds we have in Canvas and
makes everything flat. I've attached screenshots to the story to
see what all is being changed. This affects the following areas:
- Main global header
- Main sidebar left nav
- Body background
This also takes off some annoying drop-shadows we had on the user
navigation (top right) and the global Courses drop-down box.
Yay for a cleaner looking Canvas!
Testing:
- Load up Canvas, make sure the color changes appear for you and
match the screenshots
Change-Id: I3557e66d7d91c3999ad67bfa92202e61c7da44cb
Reviewed-on: https://gerrit.instructure.com/40527
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Reviewed-by: Chris Hart <chart@instructure.com>
test plan:
- create a tool with ContentItemSelectionResponse
- it should send the parameter 'tool_consumer_instance_contact_email'
- it should substitute the parameter $Canvas.user.prefersHighContrast
fixes PLAT-622
Change-Id: If55d0a1b488f82a90c8aa620fd037f7e7c7b0272
Reviewed-on: https://gerrit.instructure.com/40703
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Nathan Mills <nathanm@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
fixes: CNVS-15074
Wraps the log_exception method in a shard.activate for the
domain_root_account. This is required because the method gets called
after the LoadAccount middleware has been called.
Test Case:
- Create an error on one shard, such as going to localhost:3000/42 to
raise a 404.
- Open the shards error reports and the error should be in the list.
- Open the default account and the error should not be in the list.
Note:
Need to add the following to config/environments/development.rb.
Without this the error won't be logged. Rails3 will not call the log
method in the middleware.
config.consider_all_requests_local = false
Change-Id: I2b8c3fd3fc714ab75cf3b872e6546ffd651e6882
Reviewed-on: https://gerrit.instructure.com/40610
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Nick Cloward <ncloward@instructure.com>
Some tools aren't meant to be selected in the ET UI. This
adds an option to hide them.
Test Plan:
* Install an external tool with the property "not_selectable" as true
* when you look in the asmnt/module item external tool list the tool
should not be listed
closes PLAT-619
Change-Id: I0a8b0771b2b2d84bc6fe0b66779728abec1ef212
Reviewed-on: https://gerrit.instructure.com/40505
Reviewed-by: Brad Humphrey <brad@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
fixes CNVS-14375
Previously grading counts were only available
aggregated as a count for the assignment. This
lets you consume them split out by section
rather than.
needs_grading_count_by_section is the flag
to send. This also splits out the needs_grading
query off into it's own object to reduce the
cognitive load of working in the assignment model.
TEST PLAN:
- setup a course with multiple sections and
assignments that need grading for students in
each
- hit the assignments API index with the
"needs_grading_count_by_section" parameter set
to true
- the JSON response should include a
"needs_grading_count_by_section" key for
each assignment and it should have a hash
of section ids and counts
Change-Id: I290a080b5f657996423798cacfb37660f5ed427c
Reviewed-on: https://gerrit.instructure.com/39627
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
Reviewed-by: Cameron Matheson <cameron@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
fixes CNVS-15300
test plan:
- submit a pdf to an assignment (so it goes to crocodoc)
- go to the submission details page
- click 'View Feedback'
- it should preview in crocodoc
Change-Id: I7af38bbfa224e8a488b63d68d53fc234b90d6d48
Reviewed-on: https://gerrit.instructure.com/40684
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
fixes #CNVS-12711
Using three seperate trigram searches
when looking for courses by a name match
is taking more time than we'd like.
This builds an index for all 3 relevant
columns together and reworks the scope
that references them to build a search
clause that takes advantage of that index.
TEST PLAN:
- no behavior changes, just performance improvements
- regression test /users/x/manageable_courses api
endpoint with a name parameter as that's what
makes the primary use of this query.
Change-Id: Ia645da66f0df1a4cec9298f7fa941fa51de815f4
Reviewed-on: https://gerrit.instructure.com/40507
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
fixes CNVS-15147
test plan:
- create an eportfolio for a user
- download the eportfolio
> it should download
Change-Id: I674333fed77d159201e35b7c2e6ca12a033e4856
Reviewed-on: https://gerrit.instructure.com/40412
Reviewed-by: Simon Williams <simon@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cameron Sutter <csutter@instructure.com>
ProServe wants an API endpoint for their LTI which allows for editing of all quizzes
contained in a course similar to that provided by the Quiz Extensions
API endpoint. This provides the ability to edit all quizzes at the
course level with the same type of parameters.
Closes: CNVS-14950
Test Plan:
- Access /api/v1/courses/:course_id/quiz_extensions with POST
- Pass quiz extensions parameters
- Confirm that all quizzes are edited with the appropriate parameters
Change-Id: Ifca1a4937ab356665627ef3f0aa829aeeaddedc7
Reviewed-on: https://gerrit.instructure.com/40331
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Ryan Taylor <rtaylor@instructure.com>
fixes CNVS-5352
only link to a user page if one is visible to the person viewing the
page. prefer the /about/:id page if the account has profiles enabled.
otherwise, prefer the /users/:id/profile page when viewing my own
portfolio and the /users/:id page otherwise (and only if permitted).
test-plan:
- have a target user with a student enrollment
- create a public portfolio for the target user
- enable profiles on the account
* log out and view the portfolio
- the portfolio owner's name should not be linked
* log in as portolio owner and view the portfolio
- the portfolio owner's name should be linked to /about/...
- following the link should be authorized
* log in as an account admin and view the portfolio
- the portfolio owner's name should be linked to /about/...
- following the link should be authorized
* log in as a teacher in the student's class and view the portfolio
- the portfolio owner's name should be linked to /about/...
- following the link should be authorized
* log in as an unrelated non-admin user (i.e. student from some
other class) and view the portfolio
- the portfolio owner's name should not be linked
- disable profiles on the account
* log out and view the portfolio
- the portfolio owner's name should not be linked
* log in as portolio owner and view the portfolio
- the portfolio owner's name should be linked to
/profile
- following the link should be authorized
* log in as an account admin and view the portfolio
- the portfolio owner's name should be linked to /users/...
- following the link should be authorized
* log in as a teacher in the student's class and view the portfolio
- the portfolio owner's name should not be linked
* log in as an unrelated non-admin user (i.e. student from some
other class) and view the portfolio
- the portfolio owner's name should not be linked
Change-Id: I812076d10bd3c56b87938627c9f095a1793128e6
Reviewed-on: https://gerrit.instructure.com/39863
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
test plan:
* as with g/39874, add an external tool to a course
with 'discussion_topic_menu' configured
* enable lor feature flag for account or user
* confirm that menu items for the tool are added to the
gear menus on the index and individual show pages for
discussion topics
closes #CNVS-15239
Change-Id: Ic309c14f75ae0b2e38f9d1324b7a8d370fa93fde
Reviewed-on: https://gerrit.instructure.com/40550
QA-Review: Clare Strong <clare@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
Closes CNVS-15109, CNVS-15173
CHANGES
-------
- "auto-grading" of due submissions that was previously done
synchronously in the index action is now done in a DJ
- when viewing the index page, you don't get to see due/available
dates on load, instead the dates are fetched on the client-side and
load progressively
- new API endpoint for retrieving assignment overrides for a bunch of
quizzes at [GET] /courses/:course_id/quizzes/assignment_overrides
- we now cache the user's quiz permissions
- Canvas AMS API serializer now accepts a new option, see docs
- QuizSerializer behavior changed radically:
- "takeable", "submitted_students", "unsubmitted_students" disabled
- all associations disabled including the submission, assignment
group, and any student participants
- it can now utilize preloaded permissions
Rationale behind disabling things in the serializer is that these were
exclusive for the "show" action, so the next step forwards is to
allow the serializer to recognize different "modes" for output (e.g, for
index and one for show) and tailor the associations/fields accordingly.
Using "#filter" right now isn't cutting it, because assocs get loaded
anyway.
REFACTORING
-----------
- broke down index into three actions for visibility:
1. default, Draft-State version
2. legacy non-DS version that's not reachable in the UI, kept around
until we upgrade the tests
3. ember version
- legacy non-DS ERB code goes into its own file
- moved code that used to grade due submissions inside index to
SubmissionGrader in preparation to remove it from there entirely
- cleaned up internal docs for the Canvas AMS api serializer
TEST PLAN
---- ----
- create ~30 quizzes
+ make one of them have many questions
+ make a good number of submissions (i tested with 420 and 20
students)
- create multiple sections
+ specify date overrides for certain sections, and have at least one
student enrolled in that section
- as a teacher and/or an observer, go to quizzes index
+ verify the page renders fine
+ verify that you see "loading indicators" in the due/available
field which get replaced with actual dates when they're loaded
+ verify it's faster than the version in master (should be at least
60% faster)
- as a student in the general section, go to quizzes index
+ verify the page renders
+ verify you see the same loading behavior for dates as in teacher
view
- as a student in one of the section with overrides, go to index:
+ verify you see the overridden date
Change-Id: I741d89625da1b858148baa95e881fcc75c1802e5
Reviewed-on: https://gerrit.instructure.com/40350
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
you can set these fields when creating a batch
and it'd be convenient to get them back to auditing
and debugging
Test Plan:
* GET an SIS Batch from the api, these fields should be set:
batch_mode
batch_mode_term_id
override_sis_stickiness
add_sis_stickiness
clear_sis_stickiness
closes CNVS-15236
Change-Id: Ia26e582dcc90efb6d7877e39fb2d238fe2f22c9f
Reviewed-on: https://gerrit.instructure.com/40463
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Tyler Pickett <tpickett+gerrit@instructure.com>
Product-Review: Tyler Pickett <tpickett+gerrit@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
These components are related to the new files project.
fixes CNVS-15218
Test Plan
Make sure test are testing appropriate things.
Change-Id: I5f9b758dd922add4636db6e21c6f0603d21348a3
Reviewed-on: https://gerrit.instructure.com/40520
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Sterling Cobb <sterling@instructure.com>
QA-Review: Sterling Cobb <sterling@instructure.com>
fixes CNVS-15150
test plan
1. setup outgoing email through amazon ses test account
2. setup bounce_notifications.yml with sqs test creds
3. set a user's email address to 'bounce@simulator.amazonses.com'
4. cause three messages to be sent to that user
5. ensure that they are sent
6. wait for the bounce notification processor to run (~5 min)
7. casue another message to be sent to that user
8. ensure that message is not sent
9. repeat steps 3-8 using a different user and the address
'suppressionlist@simulator.amazonses.com'
10. repeat steps 3-7 using a different user and the address
'success@simulator.amazonses.com'
11. ensure that the fourth message is sent successfully
12. make sure no error reports or job failures are reported
for the bounce notification processor
Change-Id: I060659c73a8b750c16f287e94f4198d8cb8633e5
Reviewed-on: https://gerrit.instructure.com/40254
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brad Horrocks <bhorrocks@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>
fixes CNVS-15217
test plan
- create an ungraded assignment using the quick add dialog
- do it again using the 'quiz' or 'discussion' type
- do it again and click 'more options'
- save the assignment with a single online submission option
- verify that it saves/works for every assignment you created
- party party celebrate victory wooo 👍
Change-Id: Ib4c924801d3f3ed228971151d88c97b7bc572fb1
Reviewed-on: https://gerrit.instructure.com/40416
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cameron Sutter <csutter@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Liz Abinante <labinante@instructure.com>
Fixes CNVS-13015
Test plan:
- Add a user as 'invited' to a course via API.
- Delete the enrollment, and recreate it as 'active'
- Verify the enrollment is recreated as 'active'
Change-Id: Ifb4345abf2f586f5b50cfb9a36b7c2bf00f123a4
Reviewed-on: https://gerrit.instructure.com/40255
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
refs CNVS-10184
there is no reason to do this but it makes it impossible to grade group
assignments after the group is deleted
Test plan:
* make a group assignment
* make some submissions
* delete the group category
* you should still be able to grade the submissions in speedgrader
* nothing should change from the student's perspective (students
should *not* see the group anywhere they currently don't see the
group)
Change-Id: I2c421ea5d88fe77679ddffc60fc3ddb420d33a23
Reviewed-on: https://gerrit.instructure.com/39945
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
This notification is no longer sent, but we kept this code around for a
bit to allow already-queued messages to succeed.
closes CNVS-15219
Change-Id: I67f50df8f15c0e4d02f4fc262c0dedad831df96b
Reviewed-on: https://gerrit.instructure.com/40383
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
This email only went to site admins, and isn't useful.
This commit stops new notifications being created, a subsequent commit
will remove the no longer used code and data.
refs CNVS-15219
Change-Id: Ibd8c88c7310cf3dcfb06cf0c782f2b3cf571d843
Reviewed-on: https://gerrit.instructure.com/40375
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
fixes #CNVS-11032
If you were to use a files link that didnt start
with "/files" (like "/users/x/files/y" or a link
with a full host name), it would
still strip the verifier out, which would make the
file not appear to other users. This fixes
the problem.
TEST PLAN:
-login as a user
-go to files and upload an image to *your* folder
(rather than the folder for a course or something)
-obtain a link to that file with it's verifier param through
whatever means you prefer (simplest is to get the download
link and then use the console to get the UUID from that
Attachment record and use that as "verifer=[blah]" at
the end of the url for the file)
-post a discussion reply using that link to embed an image
in the reply.
-login as a different user and look at the discussionr reply;
you should be able to see the image in the discussion reply.
Change-Id: I2e9123f08cda0e6949e8f9a8d12ba50b98de49e0
Reviewed-on: https://gerrit.instructure.com/40430
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Include relevant request information, for easy storing in web access
logs
closes CNVS-11044
test plan: Make web requests, use your browser's web inspector to verify
the x-canvas-meta response header.
Change-Id: I07e31b571bd9a946c9bc753c60eb8872ff456ff7
Reviewed-on: https://gerrit.instructure.com/37276
Product-Review: Brian Palmer <brianp@instructure.com>
QA-Review: Brian Palmer <brianp@instructure.com>
Tested-by: Brian Palmer <brianp@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
fixes CAT-330
NOTE: *the locale for a page is inferred in a weighted order.
session_locale is checked just before a provided context's
account locale preference and just after the user's
Test Plan
1. Fire up canvas with full i18n support configured
(i.e. $ RAILS_LOAD_ALL_LOCALES=true rails server)
2. Navigate to a page that supports localization while logged out
such as the login screen
3. Append the following query params to the URL in the browser
'?session_locale=zh'
4. Navigate to that URL and ensure the page is localized in the provided
locale
Change-Id: I9e94d6ecfd41e77683940272aa0988c67064b602
Reviewed-on: https://gerrit.instructure.com/39844
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ethan Gunderson <egunderson@instructure.com>
Reviewed-by: Nick Houle <nhoule@instructure.com>
Product-Review: Adam Phillipps <adam@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
fixes CNVS-15182
The restricted access dialog window wasn't closing after making its
requests. Also, restricted access wasn't seting the 'locked' params
which was needed in order to ensure restricted access/hidden states
were properly set.
Test Plan
As a user that can access new files
Go to the new files page
When you click on the admin gear
And open the restricted access menu
And click update
Then the dialog should load
And then it should close
As a user that can access new files
Given you have an unpublished file or folder
Go to the new files page
When you click on the admin gear on an unpublished file or folder
And open the restricted access menu
And click update
Then the dialog should load
And then it should close
And the file or folders published icon should have correctly changed
Change-Id: I6921bc812ba7be7b79fa90c82971b4c7ebc24d3c
Reviewed-on: https://gerrit.instructure.com/40266
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Sterling Cobb <sterling@instructure.com>
closes CNVS-14823
test plan:
- add <AllowedHeader>content-type</AllowedHeader>S3 CORs config
- enable S3 uploads in config/file_store.yml and config/amazon_s3.yml
- add a file using the ui
- file should upload successfully
Change-Id: I9fb3061def386a4827bee04c7727b336f9a311ba
Reviewed-on: https://gerrit.instructure.com/39935
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Sterling Cobb <sterling@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Product-Review: Jason Madsen <jmadsen@instructure.com>
QA-Review: Jason Madsen <jmadsen@instructure.com>
test plan:
0. have a course containing an assignment with a custom grading scheme
and named assignment group. also a graded discussion topic in a
different assignment group with a different grading scheme, and
a published quiz in a third assignment group.
1. copy the course. the destination course should copy the assignment
groups and grading schemes and associate them with the copied objects
correctly.
2. repeat step 1, but do a selective course copy, and select the
assignment, quiz, and topic specifically. you should get the
same result as in step 1.
3. use the content exports API to selectively export the three objects
e.g.,
select[assignments][]=X&select[quizzes][]=Y&select[discussion_topics][]=Z
import this package into a new course. the three objects should be
there, but should not have custom assignment groups or grading
schemes.
fixes CNVS-14820
Change-Id: I871771284b4a3bbd3695a99a6f2af613d76a8ebf
Reviewed-on: https://gerrit.instructure.com/39914
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Reviewed-by: James Williams <jamesw@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
headers in the content should come before headers
in the sidebar
fixes CNVS-15105
Change-Id: I6ae02bd784ecf893acae6574f93685f9216f035a
Reviewed-on: https://gerrit.instructure.com/40101
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Ryan Florence <ryanf@instructure.com>
fixes CNVS-14074
test plan:
* setup DA
* DA feature flag on
- use the API for the following requests
- index
> should only show assignments that the student can see
- show
> should return as assignment that the student can see
> should return an error for assignments that the student
cannot see
Change-Id: I921ffbab639d96c3bfbf16d0b1df9ef79515f44e
Reviewed-on: https://gerrit.instructure.com/39520
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Liz Abinante <labinante@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>