Commit Graph

36275 Commits

Author SHA1 Message Date
Rob Orton 8f72c80010 allow video url to be updated from setting
fixes CORE-3210

Change-Id: Id2cfe16c0e23c04cd4823f9742ce3b079dbab7a2
Reviewed-on: https://gerrit.instructure.com/202851
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Jacob Burroughs <jburroughs@instructure.com>
Tested-by: Jenkins
Product-Review: Rob Orton <rob@instructure.com>
2019-07-26 20:07:19 +00:00
Jeremy Stanley e3d197b9be give test cluster warning an explicit close button
because if the whole thing is a close button, then it can't
have a functioning link on it

refs ADMIN-2759

Change-Id: I2d2a35c9aba9708c3d1db9a0e33666ce7e0bbc77
Reviewed-on: https://gerrit.instructure.com/202181
Tested-by: Jenkins
Reviewed-by: Carl Kibler <ckibler@instructure.com>
QA-Review: Carl Kibler <ckibler@instructure.com>
Product-Review: Erin Hallmark <erin@instructure.com>
2019-07-26 19:16:41 +00:00
Jeremy Stanley 1275b3c10c lift site admin ff "on" restriction
test plan:
 - you should be able to turn features on in your local
   site admin account
 - you should get a confirmation prompt warning you that
   the change will affect all customers

closes ADMIN-2761

Change-Id: I7908a29969a46b03997c81211b79cc32489f5ca2
Reviewed-on: https://gerrit.instructure.com/201477
Tested-by: Jenkins
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
QA-Review: KC Naegle <knaegle@instructure.com>
Product-Review: KC Naegle <knaegle@instructure.com>
2019-07-26 16:54:21 +00:00
Cody Cutrer efb993a0ab bundler 2 already defaults to https for github
Change-Id: I27e8cb40a488b433b8f7ca265af654290b17fab2
Reviewed-on: https://gerrit.instructure.com/202820
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
2019-07-26 15:55:40 +00:00
Cody Cutrer d4bd069307 allow bundler 2
Change-Id: Ic17eb6ac5e0d6cfd595f34a47224d954e7a4cf82
Reviewed-on: https://gerrit.instructure.com/202616
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
2019-07-26 15:24:50 +00:00
James Williams 2b82831efe drop unused columns from submissions
Change-Id: I5f11f902ff7c7a155956b2cf4d6d8dcb275d3f7a
Reviewed-on: https://gerrit.instructure.com/202806
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2019-07-26 15:23:59 +00:00
Ben Nelson 00e025659c add submission.posted in graphql
With Post Policies enabled, we need to support the
submission.posted attribute in favor of assignment.muted.
When accessing submission.posted, the submission model will
internally fall back to assignment.muted if Post Policies are
not enabled, so this change should work whether the feature is
enabled or not.

closes COMMS-2217

TEST PLAN:
in a course with New Gradebook and Post Policies enabled
- an assignment has its post policy set to manually post grades
- a student submits to that assignment
- a grade and comment are given for that submission
- graphql shows submission.posted == false for that submission
-- this can be check on the /graphiql page or by checking the network call
   made to graphql when the student visits the A2 page for the assignment
   ( assignment > submissionsConnection > nodes > 0 > posted )
- the student cannot see the comment given in the Comments tab
- the grade is manually posted by the instructor
- graphql now shows submission.posted == true
- the student can see their grade and the comment given

Change-Id: I2f9a8df18139bcd0dbaf77433b07246d39cbc19e
Reviewed-on: https://gerrit.instructure.com/202472
Reviewed-by: Landon Gilbert-Bland <lbland@instructure.com>
Tested-by: Jenkins
QA-Review: Steven Burnett <sburnett@instructure.com>
Product-Review: Steven Burnett <sburnett@instructure.com>
2019-07-26 03:23:25 +00:00
Pam Hiett 21a7491ae5 [nav] allow long course names to show in a tooltip vs cutting off
refs: UIDEV-292

NOTE:
ran the jira issue past design to ensure we were solving this the right
way. designs preference is to restrict the width of the link/course name
to the tray width setting the ellipsis to the middle so it will capture
if a course uses identifying items at either the beginning or end and
have the entire name show in a tooltip

TEST PLAN:
- within the course sub nav ensure at least two course names are along
  the lines of "29314, Organise products into groups in an organisation
  using competitive systems and practices-v1, L3, 5Cr" so it will
  show the wrap vs truncate
- another fix on this commit is the misaligned 'Term' as seen here
  https://www.screencast.com/t/vtLWJBc1Vjoh
- mobile view will allow entire course name to wrap vs tooltip

Change-Id: Iab361aadb06c4e3e8b00e5439e47e6d0c106b650
Reviewed-on: https://gerrit.instructure.com/200535
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Product-Review: Kyle Follett <kfollett@instructure.com>
Product-Review: Chris Hart <chart@instructure.com>
QA-Review: Daniel Sasaki <dsasaki@instructure.com>
2019-07-25 22:12:41 +00:00
Ryan Shaw c432869039 Remove all content_for :auto_discovery’s
In order to get ready for streaming. Rather than having to have every
route that wants to be able to stream worry about adding a
provide_blank(:auto_discovery) so that it doesn’t block and wait there,
we can just handle these all in a way that if you want to have something
there in the <head> you can do it in your controller,
but if you do nothing streaming will just work like you’d expect it to

Test plan:
* all of the <link rel=“alternate” …> tags these made should all be
  There on all pages as before
* so for example:
* go to the dashboard page
* view-source
* you should see something like this in the <head>
  <link rel="alternate" type="application/atom+xml"
    title="User Atom Feed (All Courses)"
    href="/feeds/users/user_xyz123.atom"
   />

Change-Id: I97879d6142141dd7d9ba438a110f012313f6a699
Reviewed-on: https://gerrit.instructure.com/202408
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2019-07-25 20:20:12 +00:00
Ryan Shaw 737375f3c0 get js_bundle ready for streaming
With this change, anything that was js_bundle’ed by the time we render
_head.html.erb will be included in the <head> so that if we are
streaming, it will get flushed to the browser earlier and the browser
knows about it as soon as possible.  But then if someone js_bundle’s
something inside the erb view, that is fine too and it will go at
the bottom of the page in foot.html.erb exactly as it was before.

Test plan:
* if you view-source, you should see that most of the
  <link rel=“preload” tags for our webpack chunks are in the <head>
  and not in the footer where they used to be
* everything should function the same, aka builds should pass

Change-Id: I6ae57546adb3b7358bc346943a1490a574c89f68
Reviewed-on: https://gerrit.instructure.com/202372
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2019-07-25 20:19:09 +00:00
Cameron Matheson 85f5458b37 add feature flag and setup for mutation audit log ui
Test plan:
  * enable the 'mutation_audit_log' feature on an account
  * the admin tools page should have an "GraphQL Mutation Activity" log
  * disable the 'mutation_audit_log' feature
  * the "GraphQL Mutation Activity" should no longer appear

refs GQL-60

Change-Id: Ic73edac2b3d81ae6f62c9328f6ac4df98f9f6afd
Reviewed-on: https://gerrit.instructure.com/202488
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Cameron Matheson <cameron@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
2019-07-25 19:19:24 +00:00
Ryan Shaw e88a3aeb26 eslint: add ignoreRestSiblings to no-unused-vars
We frequently have code like:

const {id, children} = props
const otherProps = omitProps(props, null, ['id', 'value', 'onChange'])

you could rewrite that as:
const {id, children, value, onChange, ...otherProps} = this.props

But if you did that right now, without this change, you’d get an eslint
error about `no-unused-vars` because you didn’t use value or onChange
in this function. 

This makes it so eslint doesn’t complain about that.

See: https://eslint.org/docs/rules/no-unused-vars#ignorerestsiblings

Test plan:
* So the question is:
* Do you think that complaining about this rule actually catches any
  real bugs?
* if so, -2 this.
* if not, +2 it 

Change-Id: I2fc9b351f34e80ec74199569f768ccc71dfcd705
Reviewed-on: https://gerrit.instructure.com/202669
Tested-by: Jenkins
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2019-07-25 19:11:27 +00:00
Cody Cutrer e285db6d12 bump inst-jobs
closes CORE-2754

Change-Id: I38a255abf0f6ae06d3f9323d7da53239a8ebaf47
Reviewed-on: https://gerrit.instructure.com/202528
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
Tested-by: Jenkins
2019-07-25 18:51:34 +00:00
Ed Schiebel fe65bc9e85 Fix broken UnsplashPanel test
closes COREFE-188

test plan:
  - the tests pass

Change-Id: I9d08114fbf5fe0b077af2b4229489507f80476ee
Reviewed-on: https://gerrit.instructure.com/202648
Reviewed-by: Derek Bender <djbender@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins
2019-07-25 18:01:39 +00:00
Drake Harper 7a3d1924b1 Fix fields not populating when editing after creation
fixes PLAT-4613

Test Plan:
-create lti key
-without changing/refreshing page edit new lti key
-validate required fields are all populated correctly

Change-Id: I48cf83482c0a72143208d7165f3d40b985bfbdbe
Reviewed-on: https://gerrit.instructure.com/202544
Tested-by: Jenkins
Reviewed-by: Clint Furse <cfurse@instructure.com>
QA-Review: Clint Furse <cfurse@instructure.com>
Product-Review: Jesse Poulos <jpoulos@instructure.com>
2019-07-25 17:29:48 +00:00
Clay Diffrient e82d192997 Handle announcing Unsplash search results
closes CORE-3123

Test Plan:
  - Enable RCE Enhancements
  - Go to an RCE > Upload Image > Unsplash tab
  - Enable screenreader
  - Search for something, it should announce how many
    results there are, but it should not show up as
    a visual thing
  - Search for something that gives 0 results, it should
    announce it, but also visually indicate that no results
    were found

Change-Id: If827d362098d91a228a07cf66f1db7fe4ff9b556
Reviewed-on: https://gerrit.instructure.com/201445
Tested-by: Jenkins
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2019-07-25 13:54:47 +00:00
Nathan Prabhu 7510bc181a Implement I18N support for Canvas outcomes exports
closes OUT-3166

test plan:
* Create gradebook exports and outcomes exports w/these feature flags:
- Byte-Order Mark (user)
- Semicolon separator (user)
- Autodetect field separators (user)
- Enable i18n features in outcomes exports (account)

* Verify the results in the tables s.t.
1) it accurately represents gradebook exports
2) it accurately represents outcomes exports *only if* its FF is on
- if the FF is off, expect no BOMs and expect delims to always be ','
  in all testcases

  byte-order-mark | present? (most editors will say if so)
  ----------------+--------------------------------------+
       no         |      no                              |
       yes        |      yes                             |

  semicolons | Autodetection | Language | CSV separators
  -----------+---------------+----------+----------------
       no    |      no       |    en    |       ','
       no    |      no       |    is    |       ','
       no    |     yes       |    en    |       ','
       no    |     yes       |    is    |       ';'
      yes    |      no       |    en    |       ';'
      yes    |      no       |    is    |       ';'

- is = icelandic

* Open exports in excel versions/language combos that Gradebook used
- Just verify that they open correctly (smoke test is sufficient)

Change-Id: Id3357d37342b98d8a8582e5a7de3c418acaa0e5e
Reviewed-on: https://gerrit.instructure.com/199468
Tested-by: Jenkins
Product-Review: Jonathan Fenton <jfenton@instructure.com>
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
Reviewed-by: Michael Brewer-Davis <mbd@instructure.com>
QA-Review: Brian Watson <bwatson@instructure.com>
2019-07-24 22:19:22 +00:00
Steve Kacsmark c19db6069f Stop blurring inputs on changes
closes QO-499

Test Plan:
  - On Windows, With JAWS, With Firefox
  - Take a quiz with a multiple choice question as a student
  - Tab until focus is on the area that says, "Flag this question..."
  - Use the down-arrow key to navigate through the question title, point
    value, and question description
  - Use the arrow keys to view the possible answers
  - Use the space bar to select a possible answer
  - Use the arrow keys to view other possible answers for that question
  - It should say the next answer.

Change-Id: I156fd241225e321dd2a1c0d2054d11f07df4a899
Reviewed-on: https://gerrit.instructure.com/201891
Tested-by: Jenkins
QA-Review: Han Yan <hyan@instructure.com>
Product-Review: Kevin Dougherty III <jdougherty@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
2019-07-24 21:00:02 +00:00
Adrian Packel c4813ed94c Have conditional release use posted not muted
When post policies is enabled, pass the current submission's
posted/hidden status in the "muted" field so that it accurately reflects
the state of the submission. When post policies is disabled, pass the
assignment's muted status as before. Also, update some queries in the
conditional release service to check the submission's posted status if
post policies is enabled.

fixes GRADE-2316

Test plan:
- Have Canvas and conditional release set up
- In Canvas, enable new gradebook for a course and flip on the post
  policies setting:
  > PostPolicy.enable_feature!
- Create two assignments
  - In the gradebook, change the grade posting policy of one of the
    assignments to "Manually"
  - Leave the other as "Automatically"
- Assign grades to students in each assignment
  - For the auto-posted assignment, grade change events should be
    emitted with muted = false
  - For the manual-posted assignment, grade change events should be
    emitted with muted = true
  - Post grades for the manual-posted assignment
    - Grade change events should now be emitted with muted = false
- Confirm that mastery paths are generally doing the right thing

Change-Id: I7af38836ebd9b3361526a4c03565694ae0770f88
Reviewed-on: https://gerrit.instructure.com/202283
Tested-by: Jenkins
QA-Review: Michael Brewer-Davis <mbd@instructure.com>
Product-Review: Michael Brewer-Davis <mbd@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
Reviewed-by: Jeremy Neander <jneander@instructure.com>
2019-07-24 20:55:32 +00:00
Jeremy Putnam 72cb4e3d96 spec: fix insert_file_from_wiki helper and unskip
Change-Id: I6f934dedf9fb98981933b70c47415b1f7a99b8e1
refs: COREFE-34
Reviewed-on: https://gerrit.instructure.com/202361
Tested-by: Jenkins
Reviewed-by: Robert Lamb <rlamb@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Jeremy Putnam <jeremyp@instructure.com>
2019-07-24 20:53:37 +00:00
Jeremy Putnam d42a761185 spec: add wiki student files back in under rcs
Change-Id: I1cd0af93be1ec65597af620d6e42a693859cc0bf
refs: COREFE-34
Reviewed-on: https://gerrit.instructure.com/202154
Tested-by: Jenkins
Reviewed-by: Robert Lamb <rlamb@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Jeremy Putnam <jeremyp@instructure.com>
2019-07-24 20:53:19 +00:00
Aaron Griffin 749dc25c88 Fix i18n numbers for formula questions
Test Plan:
- Given a course in french (or similar locale)
- Create a quiz with a formula question
- Enter "[x] plus ten" and set decimal places to 2
- Generate 3 solutions and save the question
- Ensure those solutions exist when re-editing it
- Add "0,25" as the error margin, regenerate, and save
- Ensure solutions exist when re-editing

Closes QO-508

Change-Id: I2264b54694f9a72195d8ad2e15ffe5f1e2c2a263
Reviewed-on: https://gerrit.instructure.com/202339
Tested-by: Jenkins
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Jacob Burroughs <jburroughs@instructure.com>
Product-Review: Kevin Dougherty III <jdougherty@instructure.com>
2019-07-24 20:51:30 +00:00
Gary Mei 2019a545b1 calculate scores when re-enrolling into course
This occurs when a student was previously enrolled in a course, had
grades, removed from the course, and then enrolled into a section of
the course that they were not previously enrolled in. The grade
calculator was not running as they re-enrolled, despite having prior
graded submissions.

fixes GRADE-2193

Test Plan
- Enroll a student in a course.
- Create an assignment.
- Grade the student.
- Delete the enrollment, and any other enrollments the student may
  have in the course.
- Create a new section.
- Enroll the student in the new section.
- Do not accept the invitation yet.
- Hit the enrollments endpoint and verify that it returns non-null
  scores for the student:

  GET `api/v1/users/6/enrollments`

Change-Id: Ib12ee4a99eff4db7951b216abd1bed2bb4690990
Reviewed-on: https://gerrit.instructure.com/200124
Tested-by: Jenkins
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
QA-Review: Adrian Packel <apackel@instructure.com>
Product-Review: KC Naegle <knaegle@instructure.com>
2019-07-24 20:41:12 +00:00
James Williams 2ca5530ff7 only sleep on backfill nulls if updates are made
Change-Id: Ia7183a8de2aae2c8e3992d1378efc2861b41ea9d
Reviewed-on: https://gerrit.instructure.com/202452
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2019-07-24 19:42:21 +00:00
Han Yan 920391503f allow re-attaching the same file after file upload deletion
closes QO-201

test plan:
- Create an old quiz with a file upload question
- As a student, take that quiz
- Upload a file to the File upload question
- Remove the file
- Attempt to re-add the file to the question works well

Change-Id: Ia49b7bc82b06c2fc12e2814d5540f514355e7157
Reviewed-on: https://gerrit.instructure.com/201510
Tested-by: Jenkins
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Kevin Dougherty III <jdougherty@instructure.com>
Reviewed-by: Kuilin Li <kli@instructure.com>
Reviewed-by: Tyler Burraston <tburraston@instructure.com>
2019-07-24 18:25:39 +00:00
Christine Yan f5f888546c Display grader count for moderated assignment
fixes GRADE-2205

Test Plan:
- Create a course with moderated grading enabled
- Add N graders
- Create an assignment
  - Enter a number of graders > N
  - "There are currently [N - 1] available graders" hint should pop up
- Save the assignment, then edit again
  - Change the number of graders, still > N
  - The hint should still display [N - 1] graders

Change-Id: Ib48dd41f86fed0da8c8b6ea3da0fa0ccb2c5e6e5
Reviewed-on: https://gerrit.instructure.com/199343
Tested-by: Jenkins
Product-Review: Jonathan Fenton <jfenton@instructure.com>
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Keith Garner <kgarner@instructure.com>
QA-Review: Jeremy Neander <jneander@instructure.com>
2019-07-24 16:24:26 +00:00
Cody Cutrer 0699a12eee check all client identifiers for blacklist/whitelist
test plan:
 * create an access token
 * blacklist your user id in console
 * try to access canvas with your access token
 * it should not work

Change-Id: I9cf30798e844a648040a396258ca923cb4d77513
Reviewed-on: https://gerrit.instructure.com/199202
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2019-07-24 16:19:49 +00:00
Ben Nelson fd1dff30b6 spec: Add provider state for new QuizLTI contract test
Change-Id: If5f315fba6937e0d07d981846c6f3e423f22ac87
Reviewed-on: https://gerrit.instructure.com/202068
Reviewed-by: Robin Kuss <rkuss@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Robin Kuss <rkuss@instructure.com>
Tested-by: Jenkins
2019-07-24 16:02:29 +00:00
Adrian Packel 3ade346ff4 Disable SG link in submission tray if no group
If the "require student group for SpeedGrader" course setting is enabled
and no student group has been selected in new Gradebook, disable the
SpeedGrader link in the submission tray and show an alert.

closes GRADE-2238
closes GRADE-2239

Test plan:
- Enable the new "filter by student group" course setting
- Have a course with some students and student groups
- Open new Gradebook
- In the submission tray:
  - If a student group was selected from the filter in Gradebook, the
    SpeedGrader link should show up as normal
  - If no student group was selected, the link should appear as
    disabled, and an alert should indicate that a group must be selected
    before launching SpeedGrader
- Disable the filter-by-student-group setting, and re-open new Gradebook
  - The SpeedGrader link in the submission tray should always be
    displayed, regardless of whether a student group is selected

Change-Id: I6e1acaf941c44433f234a88d5ee4c7d3f035af9d
Reviewed-on: https://gerrit.instructure.com/198915
Tested-by: Jenkins
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
QA-Review: Adrian Packel <apackel@instructure.com>
Product-Review: Jonathan Fenton <jfenton@instructure.com>
2019-07-24 15:33:48 +00:00
Jeremy Neander 8377ca38d8 change "all grades posted/hidden" language
closes GRADE-2293

test plan:
 A. Setup
    1. Enable Post Policies
    2. Create an assignment
    3. Set grades to post automatically

 B. Verify Before Grading
    1. Visit SpeedGrader for the assignment
    2. Open the Post Grades menu
    3. Verify the post action reads "No Grades to Post"
    4. Verify the hide action reads "No Grades to Hide"

    5. Visit New Gradebook
    6. Open the column options menu for the assignment
    7. Verify the post action reads "No Grades to Post"
    8. Verify the hide action reads "No Grades to Hide"

 C. Verify Before Hiding
    1. Grade 1 student for the assignment

    2. Visit New Gradebook (unless still on page)
    3. Open the column options menu for the assignment
    4. Verify the post action reads "All Grades Posted"
    5. Verify the hide action reads "Hide Grades"

    6. Visit SpeedGrader for the assignment
    7. Open the Post Grades menu
    8. Verify the post action reads "All Grades Posted"
    9. Verify the hide action reads "Hide Grades"

 D. Verify After Hiding
    1. Hide grades for the graded student

    2. Visit SpeedGrader for the assignment (unless still on page)
    3. Open the Post Grades menu
    4. Verify the post action reads "Post Grades"
    5. Verify the hide action reads "All Grades Hidden"

    6. Visit New Gradebook
    7. Open the column options menu for the assignment
    8. Verify the post action reads "Post Grades"
    9. Verify the hide action reads "All Grades Hidden"

Change-Id: Ia6915f4b28945f16bea55445796121fc6ab8a4b1
Reviewed-on: https://gerrit.instructure.com/201582
Tested-by: Jenkins
Reviewed-by: Gary Mei <gmei@instructure.com>
Reviewed-by: Adrian Packel <apackel@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
QA-Review: Jeremy Neander <jneander@instructure.com>
Product-Review: Jonathan Fenton <jfenton@instructure.com>
2019-07-24 14:24:41 +00:00
Jeremy Neander 5032b3e5ed update moderation page "post grades" language
closes GRADE-2260

test plan:
 A. Setup
    1. Setup a course with AMM
    2. Add a moderated assignment with:
       a. Two graders (A and B)
       b. A third, final grader (C)
    3. Ensure enrollment of at least 1 student
       * fewer takes less time for QA
    4. Assign some provisional grades using graders A and B
    5. Log in as the final grader C

 B. Verify, Part 1
    1. Visit the moderation page for the assignment
    2. Select grades for each student
    3. Verify the "Release Grades" button uses that language
    4. Click the "Release Grades" button
    5. Verify the "Release Grades" changes labels to:
       a. "Releasing Grades"
       b. then "Grades Released"

 C. Verify, Part 2
    1. Verify the "Post to Students" button uses that language
    2. Click the "Post to Students" button
    3. Verify the "Post to Students" changes labels to:
       a. "Posting to Students"
       b. then "Grades Posted to Students"

Change-Id: I60cad30f24396f321d6349c7124ccd90321ab785
Reviewed-on: https://gerrit.instructure.com/201589
Tested-by: Jenkins
Reviewed-by: Gary Mei <gmei@instructure.com>
Reviewed-by: Adrian Packel <apackel@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
QA-Review: Jeremy Neander <jneander@instructure.com>
Product-Review: Jonathan Fenton <jfenton@instructure.com>
2019-07-24 14:23:39 +00:00
Matthew Lemon a897338853 add graphql type/query to grab external tools
fixes COMMS-2227
flag: assignments 2

Test Plan:
* Create a course
* Create an assignment with either an online upload or online url
  submission type
* Install an LTI tool on the course with a placement of Homework
  Submission (I can help you figure out how to do this)
* Delete the tool
* Add the LTI tool again
* Navigate to /graphiql
* create a query for the course that includes `externalToolsConnection`
  and just select everything under there.
* Run the query and view the result!
* Filter the nodes on state and placement as well and view the results

Change-Id: I65dd318203bb345f973f3a51cca948de9618f61e
Reviewed-on: https://gerrit.instructure.com/201905
Reviewed-by: Ryan Norton <rnorton@instructure.com>
Tested-by: Jenkins
QA-Review: Ben Nelson <bnelson@instructure.com>
Product-Review: Matthew Lemon <mlemon@instructure.com>
2019-07-23 22:34:59 +00:00
Ryan Norton 0622a37d1f handle Select deprecation in MoveSelect
as part of the InstUI upgrade to 6.0.0 we are removing the
deprecated Select component and using select

Test Plan:
* as a teacher, navigate to a page that has a MoveSelect component
  i.e. an Assignments page of a course with multiple assignments
* click on the three dots to the right of one of the assignments
  in the list
* select 'Move To...' in the menu
* Confirm that:
** the selection fields show the correct data
** the cancel button works
** you are able to successfully move items through the selector
** the UI looks "normal"

fixes COMMS-2236

Change-Id: I26b09d867a445430938272e9d880436c1fddb564
Reviewed-on: https://gerrit.instructure.com/202327
Reviewed-by: Landon Gilbert-Bland <lbland@instructure.com>
QA-Review: Matthew Lemon <mlemon@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Norton <rnorton@instructure.com>
2019-07-23 22:15:06 +00:00
Landon Gilbert-Bland a1696706d7 Allow submisssion draft for future attempt
This changes the workflow around submission drafts. You will now always
create the draft for the attempt one ahead of the current submission
instead of parity for the current submission.

Closes COMMS-2218

Test Plan:
  - Jenkins passes

Change-Id: I2045847a974457a093a2ebf62f137f80dbdcf493
Reviewed-on: https://gerrit.instructure.com/202238
Tested-by: Jenkins
Reviewed-by: Michelle Simmons <misimmons@instructure.com>
Reviewed-by: Matthew Lemon <mlemon@instructure.com>
QA-Review: Landon Gilbert-Bland <lbland@instructure.com>
Product-Review: Landon Gilbert-Bland <lbland@instructure.com>
2019-07-23 21:51:06 +00:00
Cameron Matheson 7e638e3840 graphql: minor assignment override doc fix
refs GQL-65

Change-Id: I7d7360a397930e928e22c990c890ff431848fd32
Reviewed-on: https://gerrit.instructure.com/201691
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Cameron Matheson <cameron@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
2019-07-23 21:21:59 +00:00
Cameron Matheson 90d8efef93 graphql: add mutation audit log
closes GQL-59, GQL-63
refs GQL-46

Test plan:
  * enable dynamodb
  * do some mutations
  * they should be queryable in the new audit log

Change-Id: I3b2753499c963fdbe3375079ffbd352285708cc7
Reviewed-on: https://gerrit.instructure.com/192138
Reviewed-by: Rob Orton <rob@instructure.com>
Reviewed-by: Landon Gilbert-Bland <lbland@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
Tested-by: Jenkins
2019-07-23 21:17:45 +00:00
Cody Cutrer ef80d4fce3 setting to control sleep during backfill nulls
because it's a setting, we can update while the fixup is running

Change-Id: I911d8e9e65bc9446986f653fb89eb3a9a542ecd8
Reviewed-on: https://gerrit.instructure.com/202326
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
Tested-by: Jenkins
2019-07-23 20:57:51 +00:00
Cameron Matheson 6af936381f include domain root account in mutation log id
Test plan:
  * configure dyanamo
  * perform some mutations
  * note that mutation log `object_id`s are prefixed by the correct
    root account id

refs GQL-46, GQL-59

Change-Id: Ie89c399acf1f3740b027ee8ef06ec31f8181f3bc
Reviewed-on: https://gerrit.instructure.com/199033
Tested-by: Jenkins
QA-Review: Cameron Matheson <cameron@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
2019-07-23 20:47:08 +00:00
Cameron Matheson 47025e070c mutation log: support overriding which object is logged
refs GQL-45

Test plan:
  * override final grades using the setOverideScore mutation
  * the graphql mutation log should record entries for user's
    enrollments, instead of random score objects

Change-Id: I7407b430a93ad150682b4053749392218bac00c5
Reviewed-on: https://gerrit.instructure.com/192137
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
2019-07-23 20:46:46 +00:00
Han Yan 4c830f1430 Matching question types can hide `Correct Answer` labels
closes QO-495

test plan:
- In a course, make a quiz and enable the "Let students see the
  correct answers" option
- Add a Matching question type with at least one answer and one
  additional distractor(Can be more possible answers or more distractors)
- Add one of the following questions types and save the quiz:
  Multiple choice, True/False, Multiple Answers and Multiple Dropdown answers
  (Make sure this is the last question listed)
- Preview or take the quiz as a student
- Answer the Matching question incorrectly (This is important. If only
  one possible answer was created then select the distractor to get
  this marked as incorrect)
- Pick the wrong answer for the last question. Notice that the "Correct Answer"
  label does not show for Multiple Choice and T/F questions and
  Multiple Answers/Dropdown does not show the label for the last possible
  answer (When multiple possible are included)

(see QO-495 for sample quiz, and https://cl.ly/dae5de62e9b9 for video)

Change-Id: I94a2bf89f71f50f6dc16a14c3a82d0afd3dd7637
Reviewed-on: https://gerrit.instructure.com/202234
Tested-by: Jenkins
Reviewed-by: Tyler Burraston <tburraston@instructure.com>
QA-Review: Jacob Burroughs <jburroughs@instructure.com>
Product-Review: Kevin Dougherty III <jdougherty@instructure.com>
2019-07-23 20:42:32 +00:00
Cody Cutrer 58a199e50f split cache_quiz_lti migration into add and backfill
Change-Id: Idf0241c52d83b2ea70c8ca5df448a3c8fc47e5b3
Reviewed-on: https://gerrit.instructure.com/202325
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
Tested-by: Jenkins
2019-07-23 20:04:19 +00:00
Ryan Norton 1ff5768c5a replace Select with select in discussions filter
as part of the instUI upgrade we are removing the Select
component in favor of select

Test Plan:
* as a user, navigate to a course's Discussion page
* in the top left, confirm the discussion filter:
** defaults to 'All'
** shows 'All' and 'Unread' in the dropdown
** filters only unread discussions when 'Unread' is selected
** shows all discussion when 'All' is selected

fixes COMMS-2235

Change-Id: I1decdb57ba50ee95fa7d172c3d824c3c705111fd
Reviewed-on: https://gerrit.instructure.com/202300
Tested-by: Jenkins
Reviewed-by: Landon Gilbert-Bland <lbland@instructure.com>
QA-Review: Landon Gilbert-Bland <lbland@instructure.com>
Product-Review: Ryan Norton <rnorton@instructure.com>
2019-07-23 19:55:27 +00:00
Cameron Matheson fd0d89bc74 upgrade graphql-batch
Test plan: specs pass

Change-Id: I44c3358c76a36b844990119c98f2124aa3af0b20
Reviewed-on: https://gerrit.instructure.com/202313
Tested-by: Jenkins
Reviewed-by: Landon Gilbert-Bland <lbland@instructure.com>
QA-Review: Cameron Matheson <cameron@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
2019-07-23 19:40:55 +00:00
Cameron Matheson d82af5b5e9 upgrade graphql
Test plan: specs pass

Change-Id: I08ab3bb1382aaa68eaef87b2b5e75277c86d524d
Reviewed-on: https://gerrit.instructure.com/202312
Reviewed-by: Landon Gilbert-Bland <lbland@instructure.com>
QA-Review: Cameron Matheson <cameron@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
Tested-by: Jenkins
2019-07-23 19:40:39 +00:00
Drake Harper cb1821accf Fix entering edit for lti key shows correct jwk field
Fixes PLAT-4692

Test Plan:
-edit existing lti key that has a public jwk and not a public jwk url
-verify that the correct field is displayed with the correct
	jwk option heading intially

Change-Id: Ib2d55ec24823123ec3c386c2b20f7fd6c333dad2
Reviewed-on: https://gerrit.instructure.com/202204
Reviewed-by: Marc Phillips <mphillips@instructure.com>
Reviewed-by: Clint Furse <cfurse@instructure.com>
Tested-by: Jenkins
QA-Review: Clint Furse <cfurse@instructure.com>
Product-Review: Jesse Poulos <jpoulos@instructure.com>
2019-07-23 17:32:24 +00:00
Ryan Norton 999d3bf644 replace Select with select in ePortfolios
as part of the instUI upgrade we are removing the Select
component in favor of select

Test Plan:
* Navigate to http://localhost:3000/dashboard/eportfolios
* Click 'Create an ePortfolio' and then 'Make ePortfolio'
* In the top right, click 'Organize/Manage Pages'
** Add another page of any name
* Click on the gear next to one of the pages and select
   'Move To'
* Confirm that the modal that opens has:
** All of the pages available for selection in the dropdown
** 'Place "<page name>" before:' as a label
** Allows you to select and move pages successfully

fixes COMMS-2234

Change-Id: I89b135496979c3b8eb6c62e85305ab2b82c4032e
Reviewed-on: https://gerrit.instructure.com/202186
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: Michelle Simmons <misimmons@instructure.com>
Product-Review: Ryan Norton <rnorton@instructure.com>
2019-07-23 16:44:21 +00:00
Jeremy Putnam e7b5d1790d spec: add test to embed course document using rce next 2nd attempt
Change-Id: Ic7b89344065b0e1bff2710d42190048ad88bfbbd
Reviewed-on: https://gerrit.instructure.com/202052
Tested-by: Jenkins
Reviewed-by: Tucker Mcknight <tmcknight@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Jeremy Putnam <jeremyp@instructure.com>
2019-07-23 16:15:29 +00:00
Clint Furse 7a4ed46f44 add ability to clear Result and Submission scores via AGS
closes PLAT-4608

Test Plan:
- Use the LTI test tool to submit a score to a line item
- Submit the line item again without a score
- Verify the result and submission are reset including submission
  grade

Change-Id: I67ddced7d2cb98f969a0dfd2c4ab1ddd6ee3097f
Reviewed-on: https://gerrit.instructure.com/200417
Tested-by: Jenkins
Reviewed-by: Drake Harper <dharper@instructure.com>
Reviewed-by: Marc Phillips <mphillips@instructure.com>
QA-Review: Drake Harper <dharper@instructure.com>
Product-Review: Jesse Poulos <jpoulos@instructure.com>
2019-07-23 15:46:04 +00:00
Ed Schiebel b23d31adf4 A2: Save overrides with assignment
closes: ADMIN-2554

test plan:
  - edit an assignment, including override date(s)
  - save
  > expect the new dates to be set
  - edit an unpublished assignment
  - disconnect from the network (or go offline using devtools)
  - flip the publish toggle to toggle
  > expect an error flash message, and the toggle to return to
    unpublished

Change-Id: I50c8bf70d471b4828ae07ffc985f18affc96dce4
Reviewed-on: https://gerrit.instructure.com/187745
Tested-by: Jenkins
Reviewed-by: Carl Kibler <ckibler@instructure.com>
QA-Review: Carl Kibler <ckibler@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2019-07-23 15:28:08 +00:00
Steven Burnett 6af1f2ab14 add media tracks type
fixes COMMS-2241

Test Plan:
- Here is an example query. go to graphiql and try
  it out.

  mediaObject{
    mediaTracks {
      kind
      content
      locale
      webvttContent
    }
    mediaType
    title
    id
    canAddCaptions
  }

Change-Id: I62eb249a8bd4de822a2acacc2c71288d3b51d76b
Reviewed-on: https://gerrit.instructure.com/201461
Reviewed-by: Landon Gilbert-Bland <lbland@instructure.com>
Reviewed-by: Ryan Norton <rnorton@instructure.com>
Tested-by: Jenkins
QA-Review: Steven Burnett <sburnett@instructure.com>
Product-Review: Steven Burnett <sburnett@instructure.com>
2019-07-23 03:02:46 +00:00