Commit Graph

18376 Commits

Author SHA1 Message Date
Ryan Shaw 7ed276c5ba fix instUI deprecation in gb StatusesModal
closes: CORE-1944

test plan:
As a teacher, open the Status Modal in New Gradebook.
You shouldn’t see:
Warning: [Modal] `closeButtonLabel` was deprecated in 5.0.0.

the header of the modal should look the same as it did before
the “X” button should have “Close” screenreader text
Clicking it should close the modal

Change-Id: Ibc91e83e532f565c48fae5e30973fcfeb03e9f98
Reviewed-on: https://gerrit.instructure.com/166021
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-10-01 15:28:21 +00:00
Ryan Shaw 42703fea2a fix instUI deprecation in BlueprintModal
closes: CORE-1942

Test plan:
Open the modal for blueprint course settings,
You shouldn’t see
Warning: [Modal] `closeButtonLabel` was deprecated in 5.0.0.
the header of the modal should look the same as it did before
the “X” button should have “Close” screenreader text
Clicking it should close the modal

Change-Id: I8a876b85a9ff65553e7eaf3e84ee9236fa0600e1
Reviewed-on: https://gerrit.instructure.com/166019
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-10-01 15:27:25 +00:00
Jeremy Stanley 4bb7a9c3ae don't offer to create planner notes in teacher contexts
test plan:
 - be a student and a teacher in different courses
 - on the calendar, create a planner note ("My To Do" tab)
 - courses you teach should not appear in the list of courses
   the note can be associated with
 - hit the + button on the planner dashboard
 - the "Optional: Add Course" dropdown shouldn't list the
   course you teach

fixes ADMIN-1372

Change-Id: I0efbc659f19da98ced17376f60618cbf018b0a66
Reviewed-on: https://gerrit.instructure.com/165360
Tested-by: Jenkins
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
QA-Review: Jon Willesen <jonw+gerrit@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2018-10-01 15:19:49 +00:00
Cody Cutrer 5df0c78cce CAS debugging
closes CORE-1813

test plan:
 * configure a CAS server
 * start debugging
 * login in a different window
 * refresh debugger; you should have info
 * login again
 * refresh debugger; it should not change (only captures one)

Change-Id: I691648e659a025bec51a4b5490db0097573959dd
Reviewed-on: https://gerrit.instructure.com/163074
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
2018-09-29 05:28:43 +00:00
Cody Cutrer 3db136954c allow SAML debugging for IdP Initiated logins
refs CORE-1813

test plan:
 * start the debugger for a SAML config
 * do an IdP Initiated loging
 * refresh the debugger
 * you should have data

Change-Id: Ief0357b23aed929b9603d8b89cf4d10180f016fa
Reviewed-on: https://gerrit.instructure.com/163077
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Jenkins
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2018-09-29 05:08:12 +00:00
Cody Cutrer 5a3efbb89b do proper atomic sets for kicking of auth debugging
in SAML and OpenID Connect

refs CORE-1813

Change-Id: I9f589e8fca9da3c4b693de4d1803f282cd44066a
Reviewed-on: https://gerrit.instructure.com/163078
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2018-09-29 04:28:17 +00:00
Cody Cutrer bc7f56997e OpenID Connect debugging
refs CORE-1813

test plan:
 * configure an OpenID Connect provider (including
   Google or Microsoft)
 * start the debugger
 * go through a login
 * refresh the debugger
 * you should have some info

Change-Id: I4e5c6e6faa62a1624de6d1d6d6bbe1c4e54bb363
Reviewed-on: https://gerrit.instructure.com/162997
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Tested-by: Jenkins
Product-Review: Cody Cutrer <cody@instructure.com>
2018-09-29 04:27:21 +00:00
Cody Cutrer 5dd5b4c82a refactor saml debugging
refs CORE-1813

move it up and generify it so that other providers can use it,
the available keys shown in the UI is driven by the model,
and enable/view it per provider, rather than globally

test plan:
 * go to the auth providers page for someone with SAML
 * debugging should now be listed under the individual SAML provider,
   rather than globally at the bottom of the page
 * Click Start Debugging
 * in another browser/in cognito window start a login flow
 * click refresh on the debugger; it should load more data
 * stop debugging should clear it

Change-Id: I28139f8ce289fbd0a4297768b209c0971f833d12
Reviewed-on: https://gerrit.instructure.com/162990
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Tested-by: Jenkins
Product-Review: Cody Cutrer <cody@instructure.com>
2018-09-29 04:27:17 +00:00
Marc Phillips 83cbbd5603 Add Lti 1.3 Tools scope to DevKeyBindings
Add a scope that will return all of the Developer keys
that have been turned on in an account that have an
associated ToolConfiguration.

refs PLAT-3773

Test Plan:
 - In a console, create Dev Keys that have ToolConfigurations
 - Run the query DeveloperKeyAccountBinding.lti_1_3_tools(account)
   where account is the account the dev keys with tools were
   created
 - Note that it returns the list
 - Create a few dev keys that are not visible, then run query,
   should not show up in list

Change-Id: I89f9d2a116246ed486f686d63a9949fde9e5ed5e
Reviewed-on: https://gerrit.instructure.com/166168
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Marc Alan Phillips <mphillips@instructure.com>
Tested-by: Jenkins
2018-09-28 21:32:34 +00:00
Matthew Berns 813bdb259b fix outcomes aligned to banks showing raw score
fixes OUT-2506

test plan:
- create an outcome
- create a question bank (ensure the total points
  possible for the bank do not match the total points
  possible for the outcome. Most straightforward way to test is
  with an Outcome that has a default points possible of 5, and creating
  10 points possible in the bank)
- align the outcome to the question bank
- create a quiz
- align the questions from the bank to the quiz
- as a student, get half of the questions on the quiz correct
- go to the student LMGB - the score reflected for the outcome as it
  pertains to the quiz should reflect 50% of the outcome's points possible,
  rather than the raw score of the quiz (using the suggested examples, it
  should show 2.5 as 'Your Score')
- create another outcome and give it zero points possible
- create another question bank
- align the new outcome to the new question bank
- create another quiz
- align the questions from the new bank to the new quiz
- as a student, get half of the questions on the quiz correct
- go to the student LMGB - the score reflected for the outcome as it
  pertains to the quiz should reflect 50% of the outcome's mastery points,
  rather than the raw score of the quiz (for example, a default mastery
  score of 3 should should show a score of 1.5)

Change-Id: Ic438dd1c3f6bf3020c04fd59751ff580f3f9c3be
Reviewed-on: https://gerrit.instructure.com/164559
Reviewed-by: Frank Murphy <fmurphy@instructure.com>
Tested-by: Jenkins
QA-Review: Augusto Callejas <acallejas@instructure.com>
Product-Review: Sidharth Oberoi <soberoi@instructure.com>
2018-09-28 20:45:03 +00:00
wdransfield a5191ba9a5 Tool Config Customization Form
Closes PLAT-3747

Test Plan:
- Change the initial toolConfiguration state to a
  valid tool configuration that includes scopes
  and placements
- Change the initial validScopes state to an array
  of scopes. The scopes listed in the tool config
  should be a subset of validScopes
- Change the initial validPlacement state to an
  array of placements. The placements listed in
  the tool_config should be a subset of
  validPlacements.
- Open the modal to create a new LTI key
- Click next
- Verify scopes that are listed both in the tool
  config and validScopes are listed with a toggle
  by each.
- Verify placements that are listed both in the tool
  config and validPlacements are listed with a toggle
  by each.

Change-Id: I451bf9dac11a24cc49fc6188ec6213ac2a0ad2b6
Reviewed-on: https://gerrit.instructure.com/165947
Tested-by: Jenkins
Reviewed-by: Marc Alan Phillips <mphillips@instructure.com>
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2018-09-28 17:09:19 +00:00
Xander Moffatt 3b5f002492 add valid lti scopes to js env for dev key app
* NOTE: does not contain any server-side validation
of these scopes, just their definitions

refs PLAT-3766

test plan:
* load the developer keys page
* open console, confirm `window.ENV.validLtiScopes`
exists and contains the correct scopes from the ticket

Change-Id: I376ce41bcfdfcc074ae3356956cae7b8dbffb1a5
Reviewed-on: https://gerrit.instructure.com/165945
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
Tested-by: Jenkins
Reviewed-by: Marc Alan Phillips <mphillips@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Xander Moffatt <xmoffatt@instructure.com>
2018-09-28 15:51:57 +00:00
James Williams f8f6e7d217 remove a done todo
[ci no-cached-dist]

Change-Id: Ia8b4c9aef26886672b35658b53d09f8b29988762
Reviewed-on: https://gerrit.instructure.com/166222
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
2018-09-28 15:28:46 +00:00
Ryan Shaw 63d342e83b amdtoes6 spec/jsx/add_people
Change-Id: I23336d32609f63826e6b77f31d7be6b5d7dc576f
Reviewed-on: https://gerrit.instructure.com/166032
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-09-28 02:00:02 +00:00
Ryan Shaw 1855aa1dc5 fix instUI deprecation in ExternalFeedsTray
Test plan:
Open external feeds tray,
You shouldn’t see
Warning: [Tray] `closeButtonLabel` was deprecated in 5.0.0.
Warning: [Tray] `closeButtonRef` was deprecated in 5.0.0. 
It should put focus on “X” button
It should have “Close” screenreader text
Clicking it should close the tray

Change-Id: I4f7e49f6f5284990dace07d06137433df5576ecb
Reviewed-on: https://gerrit.instructure.com/165985
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: Steven Burnett <sburnett@instructure.com>
Product-Review: Steven Burnett <sburnett@instructure.com>
2018-09-28 01:39:01 +00:00
Marc Phillips daa5942284 Add 1.3 Indicator to Installed App Index
closes PLAT-3768

Test Plan:

 - install a 1.3 test tool
 - go to the app index page and note that the
   tool shows up in the listed tools with the 1.3 Tool
   indicator
 - No actions should be available on this tool

Change-Id: I433405bc903afb9bacc2edcaedea014e7a1bbc4c
Reviewed-on: https://gerrit.instructure.com/165991
Tested-by: Jenkins
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Marc Alan Phillips <mphillips@instructure.com>
2018-09-27 22:03:46 +00:00
Pam Hiett 5ce75127fe style(Grades): breathing room below 'arrange by' dropdown
Fixes: UIDEV-226

note: also fixed the incorrect string 'true' to reflect the
correct boolean {true}

test plan:
- within a course select "grades" from the sub nav
- from the table click on a users name
- from the tray click on the "grades" button
- *if* there are tabs below the 'arrange by' dropdown, there
  should now be breathing room between them as seen here
  before: https://cl.ly/b68c7ccc5367
  after: https://cl.ly/0f0366523b0f

Change-Id: I1d0483648363e5f40e980277135a1a34c6e0840d
Reviewed-on: https://gerrit.instructure.com/165926
Tested-by: Jenkins
Reviewed-by: Stephen Jensen <sejensen@instructure.com>
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Product-Review: Pam Hiett <phiett@instructure.com>
2018-09-27 21:05:35 +00:00
Xander Moffatt 5fd38f098e create either LTI or API dev key
closes PLAT-3742

* introduces a js env flag for LTI 1.3 being enabled
* renames `createLtiKeyState.ltiKey` to `isLtiKey`

test plan:
* with LTI 1.3 feature flag enabled:
  * using this modal matches the mockups
  * it's still usable with a keyboard
  * clicking either option opens the correct modal
* with flag disabled:
  * the new dev key button opens the API key modal as usual

Change-Id: Ie92fbec96e62c5b726f9263dda78ea9a8e4ca8f9
Reviewed-on: https://gerrit.instructure.com/165444
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
Tested-by: Jenkins
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Xander Moffatt <xmoffatt@instructure.com>
2018-09-27 18:55:00 +00:00
Ryan Shaw d4334bec3b [spec] ensure MutationObserver exists to fix flaky jest test
see: 
http://jenkins.instructure.com/job/canvas__linters-and-js/50286/testReport/junit/(root)/KeyboardShortcutModal%20appears%20when%20shift%20+%20_%20is%20pressed/KeyboardShortcutModal_appears_when_shift_____is_pressed/
for a bad example

Change-Id: I09e303fdad1d9d63f1bbf61ea01be9dff165d1d8
Reviewed-on: https://gerrit.instructure.com/166029
Reviewed-by: Landon Gilbert-Bland <lbland@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-09-27 16:16:03 +00:00
Graham Ballantyne adf6bd585c Add ability to filter new gradebook by SIS ID
Change-Id: I3116d458b8430e512ee3206cc72f3edb2f689d7d
Reviewed-on: https://gerrit.instructure.com/165989
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
Reviewed-by: Adrian Packel <apackel@instructure.com>
Tested-by: Jenkins
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
Reviewed-by: Jeremy Neander <jneander@instructure.com>
2018-09-27 16:04:39 +00:00
Ryan Shaw a00edea9a8 fix instUI deprecation in SubmissionTray
Test plan:
* go to the new grade book and click on a grade cell to open the
  submission tray.
* You shouldn’t see
Warning: [Tray] `closeButtonLabel` was deprecated in 5.0.0.
Warning: [Tray] `closeButtonRef` was deprecated in 5.0.0.
* It should put focus on “X” button
* It should have “Close” screenreader text
* Clicking it should close the tray

Change-Id: I16accdd74179d03f6e15489ae6ce465e14eb3b51
Reviewed-on: https://gerrit.instructure.com/166022
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-09-27 15:51:46 +00:00
Ryan Shaw 73740d77c0 fix instUI deprecation in DashboardCardMenu
Test plan:
Open DashboardCardMenu Popover,
You shouldn’t see
Warning: [Popover] `closeButtonLabel` was deprecated in 5.0.0.
Warning: [Popover] `closeButtonRef` was deprecated in 5.0.0.
It should put focus on the first input of the popover
It should have “Close” screenreader text for the “x” button
Clicking it should close the menu

Change-Id: Idd0483b2173741289050528c9746dcb55dace02f
Reviewed-on: https://gerrit.instructure.com/165984
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-09-27 15:47:35 +00:00
Ryan Shaw 0e9a3473cb Fix "<IconArrowOpenRight /> is deprecated"
... Please use <IconArrowOpenEnd /> instead.

Change-Id: I840584c41a7a6094f45debce2289c68f75bd4d74
Reviewed-on: https://gerrit.instructure.com/165961
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-09-27 15:46:32 +00:00
Ryan Shaw fa133609ea fix <IconMoveLeft /> is deprecated. Please use <IconMoveStart /> instead
Change-Id: Ie86f1259b5a78d67d7d1cf6d45adc4451fc5b08e
Reviewed-on: https://gerrit.instructure.com/165960
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-09-27 15:46:20 +00:00
Ryan Shaw 8f4aa82622 Fix <IconDiscussionReply /> use <IconMore /> deprecation
Change-Id: Ib6cfaf1a8e60901fd12ea2dfd92041c2d1f9e4e1
See: https://sentry.insops.net/instructure/js-deprecations/issues/433889
Reviewed-on: https://gerrit.instructure.com/165959
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-09-27 15:46:04 +00:00
Ryan Shaw 063497aaa7 Fix “Assigning directly to this.state” warning in react 16
Test plan:
*Go to course settings page
* click the link to upload a new course image:
* search Flickr
* it should work and not log:
Warning: FlickrSearch.componentWillMount(): Assigning directly to 
this.state is  deprecated (except inside a component's constructor). 
Use setState instead.

Change-Id: Ide331d7ea20b60c079fe914d345aca5bc07e1032
Reviewed-on: https://gerrit.instructure.com/165946
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-09-27 15:45:55 +00:00
Ryan Shaw 528cc041de fix instUI deprecation in studentContextTray
Closes CORE-1941

Test plan:
Open student context tray,
You shouldn’t see
Warning: [Tray] `closeButtonLabel` was deprecated in 5.0.0.
Warning: [Tray] `closeButtonRef` was deprecated in 5.0.0. 
It should put focus on “X” button
It should have “Close” screenreader text
Clicking it should close the tray

Change-Id: I8565dfdf84bc66b2b1155c739eb13bbc05287de6
Reviewed-on: https://gerrit.instructure.com/165983
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-09-27 15:42:38 +00:00
Michael Brewer-Davis 6b379dc935 verify required due dates in quiz controller
closes QO-403

Test plan:
- In account feature flags , check "Enable new SIS..." and
  "Post Grades to SIS"
- In account settings, check "SIS imports",
  "SIS syncing", "Default SIS sync for...",
  and "Require assignment due date"
- Create a quiz in a course
- Change the quiz title
- Remove "Everyone" from the "Assign to" field
  and add a course section instead
- Attempt to save without a due date; the UI should
  prompt to enter a due date (existing behavior)
- Add a due date and click "Save"
- The quiz should be saved and you should be redirected
  to the "show" page for the quiz, with the title and
  assignees updated properly

Repeat edting quiz with various combinations of default
assignments ("Everyone") and overrides, with and without
due dates.  For bonus points, grab the PUT request from
the network debugger and try removing due date params
and verifying that the request is not successful.

Change-Id: I2c69ef71691e990431722bf080e435821be83ac5
Reviewed-on: https://gerrit.instructure.com/165629
Tested-by: Jenkins
Reviewed-by: Aaron Griffin <agriffin@instructure.com>
QA-Review: Jacob Burroughs <jburroughs@instructure.com>
Product-Review: Kevin Dougherty <jdougherty@instructure.com>
2018-09-27 02:55:53 +00:00
Nick Houle de24e65b85 Add Progress widget
Fixes: GOOF-443, GOOF-436

Test plan:
- Compile assets for canvas
- Boot up the docker container
- Navigate to a course with the google lti installed
- As a student submit an assignment from google drive
- On the assignment detials, submission details and grade summary
  pages (found on the invision links in the ticket) confirm you
  see the progress widgets and the files correct upload status
- On the submission details page in the grade book confirm you
  can see the icons
- In speedgrader confirm you can see the images for the correct
  states in the iframe and see the correct icons on the right
  hand sidebar AND confirm they change accrodignly as you change
  the submission selected from the dropdown if there are multiple
  submissions

Change-Id: I7e8c98dcc1bc33a3af315393559d87df309a522a
Reviewed-on: https://gerrit.instructure.com/161530
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
Reviewed-by: Michael Guymon <mguymon@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Tested-by: Jenkins
Product-Review: Jesse Poulos <jpoulos@instructure.com>
2018-09-26 22:25:01 +00:00
Jeremy Stanley 7383e67fbb remove new_file_tree feature flag
this isn't gonna happen

Change-Id: I2e97b6653391957c89fae5231ef433619c38eaed
Reviewed-on: https://gerrit.instructure.com/165277
Tested-by: Jenkins
Reviewed-by: Mysti Sadler <mysti@instructure.com>
Product-Review: Mysti Sadler <mysti@instructure.com>
QA-Review: Mysti Sadler <mysti@instructure.com>
2018-09-26 21:38:35 +00:00
Pam Hiett 360369f50f (Mobile Web Login): ensure Forgot password link can receive focus
Fixes: UIDEV-223

test plan:
- ensure 'Forgot Password?' can receive focus (mobile login only)

Change-Id: I45912a98079a4e7aaa35c01e1f9abaa0b018aa69
Reviewed-on: https://gerrit.instructure.com/164030
Tested-by: Jenkins
QA-Review: Kausty Saxena <ksaxena@instructure.com>
Reviewed-by: Stephen Jensen <sejensen@instructure.com>
Product-Review: Pam Hiett <phiett@instructure.com>
2018-09-26 20:40:58 +00:00
Dariusz Dzien dff917278e Enable NSR feature flag and fix Selenium spec failures
closes OUT-2541
(duplicates: OUT-2362, OUT-2488)

Test plan:
  - Selenium specs pass on Jenkins

Change-Id: Id66d200b19e930d0ca5ad3bbecf962f9c31b5547
Reviewed-on: https://gerrit.instructure.com/157764
Reviewed-by: Neil Gupta <ngupta@instructure.com>
Tested-by: Jenkins
QA-Review: Dariusz Dzien <ddzien@instructure.com>
Product-Review: Neil Gupta <ngupta@instructure.com>
2018-09-26 19:53:41 +00:00
Michael Guymon 4faddeab1b Remove submit_assignment check.
Remove submit_assignment parameter used for backwards compatibility with
legacy assignment submission. Add a check so that only an Assignment is
submitted in the SubmitHomeworkService.

refs: GOOF-434

Test Plan:
 * Verify that homework submission from Google still works.

Change-Id: Iaa2cffac3447d29fe30f9b57b8e13a00ab6cc275
Reviewed-on: https://gerrit.instructure.com/161899
Reviewed-by: Nick Houle <nhoule@instructure.com>
Reviewed-by: Josh Orr <jgorr@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Tested-by: Jenkins
Product-Review: Michael Guymon <mguymon@instructure.com>
2018-09-26 19:18:44 +00:00
wdransfield 3f4f25d858 JSON tool configuration form
Closes PLAT-3744

Test Plan:
* Open the LTI key modal
* Verify the tool configuration form is shown
* verify you can choose between URL and paste
  JSON
* Click "Next" and verify the tool configuration
  form is no longer rendered

Change-Id: Id5ca7deb4331d3ddff48676b90ce990eccbc3087
Reviewed-on: https://gerrit.instructure.com/165689
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
Tested-by: Jenkins
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2018-09-26 18:27:22 +00:00
Landon Gilbert-Bland 274d1a68fa Fix timestamp for group conversation in activity stream
This will now show the last message that the user was part of in
the activity stream instead of the last message sent to anyone in
the parent conversation.

Fixes COMMS-1468

Test Plan:
  * Have a course with at least one teacher and two students
  * As the teacher, send a message to both students
  * Go to student 1's dashboard and select the activity stream. Notice
    the timestamp for the message
  * Wait for 60 seconds
  * As student 2, reply to the message (only reply to the teacher).
  * If you have redis caching setup, flush the cache here by running
    `redis-cli` in a terminal, then running `flushdb`
  * As student 1, reload your dashboard and notice the timestamp for
    the conversation hasn't been changed.

Change-Id: I51968966643f351faaf46bcdfce542ec77617039
Reviewed-on: https://gerrit.instructure.com/165893
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: Steven Burnett <sburnett@instructure.com>
Tested-by: Jenkins
Product-Review: Landon Gilbert-Bland <lbland@instructure.com>
2018-09-26 18:24:51 +00:00
Mysti Sadler d1043b8f12 Create thumbnails on cloning attachment to new account
fixes ADMIN-1417

Test plan
- With an attachment that is an image
- In the console, find the attachment
  and do `.make_rootless` and make sure
  the file ends up with a thumbnail

Change-Id: I4ea7545dc2a5c8633bd45e3b1e498c441ea66667
Reviewed-on: https://gerrit.instructure.com/165828
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
2018-09-26 17:24:10 +00:00
Michael Jasper ed5c4e3a4c Don't show access tokens with internal developer keys
closes RECNVS-593

test plan:
- access the user settings of an account which has communicated with instfs
- verify that inst-fs is not included in the list of Åpproved Integrations

[ci no-db-snapshot]

Change-Id: Ic94dd9be5ec05b47c0053c87042571743530d81d
Reviewed-on: https://gerrit.instructure.com/163390
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
QA-Review: Jonathan Featherstone <jfeatherstone@instructure.com>
Product-Review: Michael Jasper <mjasper@instructure.com>
2018-09-26 16:45:42 +00:00
Matthew Berns 0bf9c33f78 add quiz alignments to student LMGB
fixes OUT-2535
closes OUT-2536

test plan:
- create an outcome
- create a quiz
- create a question bank and align the questions to
  a quiz
- view the student LMGB, the alignment should
  appear, with a comment that its unassessed
- as a student, take the quiz
- view the student LMGB, the alignment and score
  should appear as expected

Change-Id: Ieb4a6c4ef03da75287b5e28dffa9c6aee3942538
Reviewed-on: https://gerrit.instructure.com/165221
Tested-by: Jenkins
Reviewed-by: Frank Murphy <fmurphy@instructure.com>
Reviewed-by: Neil Gupta <ngupta@instructure.com>
QA-Review: Neil Gupta <ngupta@instructure.com>
Product-Review: Neil Gupta <ngupta@instructure.com>
2018-09-26 16:19:09 +00:00
Jeremy Neander 5c27230348 update gradebook column headers for react 16
closes GRADE-1621

test plan:
 1. Visit New Gradebook
 2. Smoke test column header options menus
 3. Smoke test option menu keyboard shortcuts

Change-Id: Ifebc142d44cc8a8bdabc1a6040565bbb3f5ebf13
Reviewed-on: https://gerrit.instructure.com/165805
Tested-by: Jenkins
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
Reviewed-by: Gary Mei <gmei@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
2018-09-26 16:14:29 +00:00
Ryan Shaw 3f6e0c2171 Fix Permissions page so it works in react 16
Closes: CORE-1936

This has 2 fixes:

Test plan 1:
* go to the permissions page
* using keyboard tab around the green checkmarks in the “Course Roles”
  table
* it should scroll to the cell you are focusing as you are moving around
* it should not throw any javascript errors

Test plan 2:
* on that page, if you add a new role to regular or account permissions, 
* and you click the edit pencil to edit the role, 
* if you click the back arrow to back out of the edit 
* it should not it blanks out the page with:
`TypeError: null is not an object (evaluating '_this.editButton.focus')`

Change-Id: I426608c1a99206f06be373d8c8429dc6e0500825
Reviewed-on: https://gerrit.instructure.com/165839
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-09-26 15:14:40 +00:00
wdransfield 17a5a94392 Add LTI Key Footer
Closes PLAT-3760

Test Plan:
Verify the following for the new modal:
  * It only shows the "Key Name", "Owner Email",
    "Notes", and "Test Cluster Only" inputs.
  * When first opened it's primary button reads
    "Next"
  * When the primary button is clicked it's text
    changes to "Save Key"
  * When the primary button is clicked a second
    time the modal closes.

Change-Id: I51853af65bf7963fab8ba2f5a71b9545cc8f3717
Reviewed-on: https://gerrit.instructure.com/165576
Reviewed-by: Marc Alan Phillips <mphillips@instructure.com>
Tested-by: Jenkins
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2018-09-26 14:47:33 +00:00
Marc Phillips c4752f5930 Create DeveloperKey on ToolConfig upload
closes PLAT-3749

Test Plan:

- Send a valid tool config to POST api/lti/developer_keys/tool_configurations
- Note that a new dev key is created
- Attempt to update dev key by sending the config to
  PUT api/lti/developer_keys/:developer_key_id/tool_configurations
- Attempt to post to the same dev key a new config, should fail
- Attempt to post to a different dev key with no config, should work

Change-Id: I46d87c106243369054ac873139a99fce5748d615
Reviewed-on: https://gerrit.instructure.com/165343
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Marc Alan Phillips <mphillips@instructure.com>
Tested-by: Jenkins
2018-09-25 21:34:11 +00:00
Steven Burnett d8ed758b46 allow publishing of assignments with submissions
fixes COMMS-1429 COMMS-1433

Test Plan:
- Create an assignment assigned to "everyone", and publish it.
- Have one or more students submit.
- Edit the assignment and assign to only student(s) who have not submitted and save.
- Note that you can now unpublish the assignment. Unpublish it.
- Edit the assignment again and add an override for "everyone else" back in and save.
- Note that you can publish the assignment both from the index page and
  the show page

Change-Id: I35f8ed1ef0ddc0b4f790084ab9cff263ec2f7144
Reviewed-on: https://gerrit.instructure.com/165701
Tested-by: Jenkins
Reviewed-by: Landon Gilbert-Bland <lbland@instructure.com>
QA-Review: Aaron Kc Hsu <ahsu@instructure.com>
Product-Review: Steven Burnett <sburnett@instructure.com>
2018-09-25 20:02:51 +00:00
Cameron Matheson 815f776e24 graphql: remove fallback from avatar url
Test plan:
  * enable avatars
  * don't have an avatar for a user
  * the user's avatarUrl should return null in graphql

Change-Id: Ia47942a32eecedc5c99e0bec91f50e58ad3c1025
Reviewed-on: https://gerrit.instructure.com/165602
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
QA-Review: Cameron Matheson <cameron@instructure.com>
2018-09-25 17:30:03 +00:00
Gary Mei cc015d9502 add endpoint for assignment audit events
This new endpoint returns all AnonymousOrModerationEvents related to
the assignment and submission in question.

closes GRADE-1576

Test Plan
 - Create an auditable (anonymous or moderated) assignment.
 - Make some changes to the assignment.
 - As a grader, grade that assignment via SpeedGrader.
 - Leave some comments.
 - Via Postman or similar, make a json GET request to the endpoint
 (courses/:course_id/assignments/:assignment_id/submissions/
    :submission_id/audit_events)
 - Verify that all changes to the assignment, grades, and comments
   show up as events in the response under the key "audit_events".

Change-Id: I3e122b0b6501d3be71cc5ab67ee791e1905facb2
Reviewed-on: https://gerrit.instructure.com/164590
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
Tested-by: Jenkins
QA-Review: Gary Mei <gmei@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
2018-09-25 15:17:03 +00:00
Adrian Packel a0b6a99679 Save SG section if no existing gradebook_settings
For new Gradebook, properly save selected sections in SpeedGrader if the
current user has no existing gradebook settings.

fixes GRADE-1612

Test plan:
- Have a course with new gradebook and multiple sections
- Log in as a new teacher(*) and open an assignment in SpeedGrader
- Attempt to select one of the sections
  - SpeedGrader should successfully reload, showing that section (as
    opposed to reloading and still showing all students)
- Open New Gradebook
  - Only the section you selected in SpeedGrader should be shown
  - The selection filter dropdown should be shown and have that section
    selected

* Or, in a console, remove the gradebook_settings portion of
  an existing teacher's preferences:
  > teacher.preferences.delete(:gradebook_settings)
  > teacher.save!

Change-Id: Ia7aec70af681038117b779825c03526e9ccb142e
Reviewed-on: https://gerrit.instructure.com/164882
Reviewed-by: Gary Mei <gmei@instructure.com>
Tested-by: Jenkins
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
QA-Review: Gary Mei <gmei@instructure.com>
Product-Review: Sidharth Oberoi <soberoi@instructure.com>
2018-09-25 00:15:49 +00:00
Clay Diffrient 17d31f5a52 Make focus remain on the editor toggle button
closes CORE-1834

Test Plan:
  - Go to places that show an RCE instance with a
    Rich Content / HTML toggle shown.
  - Each instance should keep focus on the toggler
    when switching between views

Change-Id: I5507e1d7894049c9c85ea7bc5398844b7300419e
Reviewed-on: https://gerrit.instructure.com/164914
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Tucker McKnight <tmcknight@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
2018-09-24 21:57:57 +00:00
Clay Diffrient 24cd840cfe Remove the link from the accept a course login message
This message is redundant with the inline alert on the page
that contains actionable items.  These alerts are read to screen
readers when added to the page.

closes CORE-1865

Test Plan:
  - Get an invite link for a course
  - Click the link
  - The alert revealed should be read by your screenreader
  - It should not have a clickable link to accept the invitation

Change-Id: I76e241365d025c854955841bb1fdb2d5a3713018
Reviewed-on: https://gerrit.instructure.com/164919
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Dan Sasaki <dsasaki@instructure.com>
2018-09-24 21:57:38 +00:00
James Williams fcb846ab18 allow files with assessment question context to be downloadable
when included into a visible quiz question

test plan:
* upload and add an image to a question bank question
* import that question into a quiz
* edit the quiz question content
* the image should be visible by the student when
 taking the quiz

closes #CORE-1921

Change-Id: I1e63c16c3af3927d97b84be6f75c2742e0d4acb1
Reviewed-on: https://gerrit.instructure.com/165262
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
2018-09-24 19:49:16 +00:00
James Williams 9c078d6776 handle blueprints on selective copy with previous failure
if imports fail for only some courses then it's possible for
 the other subscriptions to be marked for selective export
 but for last_export_at to return nil
 (since it looks for the last successful export)

refs #ADMIN-1475

Change-Id: I28a4aa5252f655f2d57de4ea6eeba4946be234e2
Reviewed-on: https://gerrit.instructure.com/165544
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
2018-09-24 19:40:26 +00:00