fixes CNVS-7095
test plan
- create a new quiz with enough questions to require scrolling
- scroll part way down the page so that the sidebar floats alongside the content
- wait about 10 minutes
- the sidebar should no longer start flashing up and down each second
Change-Id: I551cc13d4dfe4d211e76b70ef9729dd5242a8ab4
Reviewed-on: https://gerrit.instructure.com/23889
QA-Review: Myller de Araujo <myller@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Florence <ryanf@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
fixes CNVS-6446
testing steps:
- on /profile/settings page, click the
"New Access Token" at the bottom
- without setting the "Purpose" value,
hit the "Generate Token" button
- verify the error box displays
"Purpose is required"
Change-Id: I939a6bd27ac50d850257d67c2a49c285a6ce44f6
Reviewed-on: https://gerrit.instructure.com/23814
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Marc LeGendre <marc@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
Reviewed-by: Landon Wilkins <lwilkins@instructure.com>
Spaces were inconsistently applied to @object types. In this patch,
all spaces are removed.
Change-Id: Ibabe5544b4d4cf33450d54c4643aa1f1baefa49e
Reviewed-on: https://gerrit.instructure.com/23870
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brandon Broschinsky <brandonbr@instructure.com>
Product-Review: Duane Johnson <duane@instructure.com>
QA-Review: Duane Johnson <duane@instructure.com>
Some of the JSON in our @object descriptions has incorrect syntax.
This fixes the errors so that the JSON can be parsed properly for
API wrapper code generation.
Change-Id: I2e67528dd1de79969a7944bc2f891e32a672e896
Reviewed-on: https://gerrit.instructure.com/23830
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brandon Broschinsky <brandonbr@instructure.com>
Product-Review: Duane Johnson <duane@instructure.com>
QA-Review: Duane Johnson <duane@instructure.com>
test case:
* open conversations beta
* send a message starting a conversation
* verify that your POST included context_code
* reply to a conversation
* verify that your POST included context_code
Change-Id: I9ed7e2979ba71eb04f5cab8b56c56e89ff1ba33c
Reviewed-on: https://gerrit.instructure.com/23697
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
QA-Review: Cam Theriault <cam@instructure.com>
Product-Review: Braden Anderson <banderson@instructure.com>
The import code was checking the wrong property
Test Plan:
* do a selective course copy
* the syllabus body should copy
closes CNVS-7410
Change-Id: I70f858383f635b8ebe46287f3c94153ebe7eb00f
Reviewed-on: https://gerrit.instructure.com/23852
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
test plan:
* add a module item
* confirm that the module is disabled (so you will
not be able to drag and drop the module items)
until the request has finished
fixes #CNVS-7761
Change-Id: Ica8d436bab66971c6b25a693c86effb7a9479974
Reviewed-on: https://gerrit.instructure.com/23747
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Matt Goodwin <mattg@instructure.com>
QA-Review: Hannah Bottalla <hannah@instructure.com>
refs CNVS-7597
I could not find any instances of as_json being called directly (i.e.
not by to_json or the recursion in as_json). I could not find any
existing instances of nested OpenObjects (i.e. to trigger the recursion
in as_json). And it appears to me that we'd want the same object_type
"scoping" that to_json was doing even in a nested OpenObject#as_json. So
I move the object_type scoping from to_json to as_json; at this point,
to_json matched Object#to_json, and could be removed.
I introduce OpenStruct#as_json for consistency and to get rid of the
bare calls to OpenStruct#table in OpenObject#as_json.
With the recent change to Time#as_json, that branch in as_json can also
be simplified to value.as_json.
But the as_json calls on the subobjects are unnecessary; when the result
of the top-level as_json is json-encoded (through to_json), each element
will go through the appropriate ->as_json->to_json transformations as
well. So the .as_json calls can be dropped, and as_json (modulo the
object_type scoping) just becomes a call to table -- which is the
superclass' as_json. Handy!
test-plan: N/A
Change-Id: I783f1d3fbdcc6d71518c5f0f2d60a1faecc0c2fb
Reviewed-on: https://gerrit.instructure.com/23646
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
QA-Review: Jacob Fugal <jacob@instructure.com>
refs CNVS-7597
to go along with the existing to_json overrides
test-plan: N/A
Change-Id: I56d4b558465e2c06f3d87c75c63335e4df912e17
Reviewed-on: https://gerrit.instructure.com/23875
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
QA-Review: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
test plan:
* create a multiple-choice question in a quiz or question bank
* add comments to the question and answers
* copy the course
* edit the new question
* make sure that the comments are editable
fixes #CNVS-318
Change-Id: Id4b7f13b28fa6602653b65b1e2b44f00f1cac394
Reviewed-on: https://gerrit.instructure.com/23795
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
QA-Review: August Thornton <august@instructure.com>
test plan:
* import the package referenced in the ticket
* only select certain quizzes
* confirm that question banks are created only
for those quizzes that you selected
fixes #CNVS-7633
Change-Id: Ib19eef3fc0e69b56e1cb0eab89938e24c13bfa4b
Reviewed-on: https://gerrit.instructure.com/23584
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
QA-Review: August Thornton <august@instructure.com>
fixes CNVS-6508
this commit does not impact tab order in conversations or
the readability of elements other than those listed below.
it only adds labels to the listed elements.
test plan:
* in the current conversations interface, navigate
using a screen reader and verify that the help and
remove attachment icons read "help" and "remove
attachment," respectively.
Change-Id: Iac1b269767fe172c25f6a8a90a79305699fcaae4
Reviewed-on: https://gerrit.instructure.com/23893
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
Product-Review: Zach Pendleton <zachp@instructure.com>
QA-Review: Zach Pendleton <zachp@instructure.com>
specifically, should not export media objects if
they total to more than 4 gigabytes
fixes #CNVS-7381
Change-Id: I226c34fa5ccbe3df3407b38db19986a634e40203
Reviewed-on: https://gerrit.instructure.com/23896
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Bracken Mosbacker <bracken@instructure.com>
test plan:
- Make sure you have draft state enabled.
- Create an assignment.
- In both Gradebook 1 and Gradebook 2:
- Publish the assignment. It should be visible in the gradebook.
- Unpublish the assignment. It should not be visible in the
gradebook.
fixes CNVS-7748
Change-Id: I027db3654d2e41518366fff7e810051a7450a098
Reviewed-on: https://gerrit.instructure.com/23848
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cameron Matheson <cameron@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
Product-Review: Stanley Stuart <stanley@instructure.com>
include conditions on the context, so it can use that index
test plan:
* have at least one student in a course
* create a new group category
* it should work
Change-Id: I793d42a8838872eee407a3ba19362c14940f2d47
Reviewed-on: https://gerrit.instructure.com/23876
Reviewed-by: Jacob Fugal <jacob@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
fixes CNVS-7789
test plan
- create a quiz with multiple attempts
- on the first attempt get 1/2
- on the second attempt get 1/2
- regrade so that first attempt changes to 2/2 and second attempt remains 1/2
- since the new kept score is 2/2, banner should say "score was affected"
Change-Id: Ifaa7130d28b977c15e6f3214c0b160602d2b894b
Reviewed-on: https://gerrit.instructure.com/23864
Reviewed-by: Stanley Stuart <stanley@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
Hides SpeedGrader links and redirects to the show page for an assignment
or quiz that is "unpublished" and its context is draft state enabled.
test plan:
- Make sure you have draft state enabled for your account.
- Create an assignment and a quiz. Ensure the following:
- The SpeedGrader link is not visible on page load when the item is
unpublished.
- The SpeedGrader link is visible on page load when the item is
published.
- For the assignment show page only:
- Toggling the item's published state using the publish button
should show/hide the SpeedGrader link appropriately.
- Republish the quiz and assignment. Save their SpeedGrader urls
somewhere handy. Now unpublish both of them again. Try to visit each
url. You should be redirected back to the item's show page with a
friendly flash message indicating that SpeedGrader is only available
for published assignments.
- Create a discussion topic that can be graded.
- Unpublish it from the assignments index page.
- On its show page, you should not see a link to speedgrader under
admin links.
- Republish it.
- On its show page, you should see a link to speedgrader under
admin links.
- Clicking "publish" on the assignments index page should toggle the
published status on the quiz show page, and vice versa.
Also creates a useful "enable_draft!" method on the Account model for
an easy way to enable draft state on an account rather than repeating
the setup code over and over again in various places.
fixes CNVS-7194
Change-Id: If3880c0439f3a6e63f59417c55e0e0f617c3c5ce
Reviewed-on: https://gerrit.instructure.com/23805
QA-Review: Myller de Araujo <myller@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Stanley Stuart <stanley@instructure.com>
Since specs normally run in a transaction, modify the logic to ignore
that transaction so that we more often use the same batching strategy as
in production and development.
Also fix an affected data fixup.
test plan: specs
Change-Id: Iab24660a51ad2c922db6c1d9273589bec3f109c6
Reviewed-on: https://gerrit.instructure.com/23771
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
QA-Review: Brian Palmer <brianp@instructure.com>
optimization for CoursesController#show happy path. the way it was
working made it do three queries, two of which were redundant reloads of
@context and @current_user to populate @context_enrollment's relations.
test-plan:
- while logged in as a user with enrolled in the course
- perform regression testing on /courses/123
- look in log/development.log
- at the beginning of the request you should see:
- a "Pseudonym Load",
- then "User Load" when @current_user is initially loaded,
- then "Course Load" when @context is initially loaded,
- and finally "Enrollment Load" when @context_enrollment is loaded
- you should *not* see another "Course Load" nor "User Load"
immediately following the "Enrollment Load"
Change-Id: I89315f68e128a7ba4f40cbed6e370869c4839b10
Reviewed-on: https://gerrit.instructure.com/23752
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
test-plan:
- all regression tests around messageable users work as before
- queries should go to slave instead of master db
Change-Id: I272f11d02ef58ed1f120fb01601d595cd45431c9
Reviewed-on: https://gerrit.instructure.com/23459
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
I'm using vertical-align: middle here. It could reasonably be
"baseline", though (the CSS default).
test plan:
* open any page
* verify that "By Instructure" and "Open Source LMS" look good
* adjust browser font size and reverify
Change-Id: If63ee545338b05c0f471c7094991e9120ec847db
Reviewed-on: https://gerrit.instructure.com/23669
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
QA-Review: Cam Theriault <cam@instructure.com>
Product-Review: Braden Anderson <banderson@instructure.com>
test plan:
* open conversations beta
* open conversation with more than a screenful of messages
* verify that you can scroll to the earliest
Change-Id: I0e011399aa5b9bedc266cbe759bbe4093ba2fec4
Reviewed-on: https://gerrit.instructure.com/23659
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
QA-Review: Cam Theriault <cam@instructure.com>
Product-Review: Braden Anderson <banderson@instructure.com>
closes CNVS-7708
test plan:
- look at the style for empty groups on:
* assignment index page with an empty assignment group
* quiz index page with 0 quizzes
* quiz index page with quizzes but 0 search results
- it should look good, and match the mockup
Change-Id: Ief100f17dbd03793d8347d7ec7cc39ef8c989b62
Reviewed-on: https://gerrit.instructure.com/23668
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Reviewed-by: Ryan Florence <ryanf@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
test plan:
bundle exec rake db:migrate should work
test plan for quiz regrades should still work
Change-Id: I67228b914018fe21358ff08daa1db12988fc43fd
Reviewed-on: https://gerrit.instructure.com/23758
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
Product-Review: Stanley Stuart <stanley@instructure.com>
Prefer using sinon's fakeTimers to using setTimeout, increase
the amount of time for events to fire for PhantomJS, and use $.simluate
to trigger 'click' events so we have tighter control of the browser's
event loop.
Change-Id: I2fa2ee941f884fcc5e4f312f6400d22ff65b9138
Reviewed-on: https://gerrit.instructure.com/23841
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Stanley Stuart <stanley@instructure.com>
QA-Review: Stanley Stuart <stanley@instructure.com>
fixes CNVS-7272
test plan:
- create a rubric with an outcome
- go to the outcome page, you should see the rubric listed as an aligned item
- try to delete the outcome
it should fail
- remove the outcome from the rubric
- go back to the outcome page, and the rubric should no longer be listed as
aligned
- try to delete the outcome again
- it should succeed
- also try this with outcomes imported from accounts
Change-Id: I3242befc987e2b92f98125cbfb6d32f293cdb9d1
Reviewed-on: https://gerrit.instructure.com/23531
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Reviewed-by: Cameron Matheson <cameron@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
fixes CNVS-7767
test plan
- run sis import in batch mode
- should remove enrollments not included for term
Change-Id: I556c4fdf6dc093da61a86322f69d3be3175a803c
Reviewed-on: https://gerrit.instructure.com/23772
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
fixes CNVS-7775
test plan
- run an account report
- report should work
Change-Id: I96bcadd05b704247fb9b0b79ad30f8f36896d592
Reviewed-on: https://gerrit.instructure.com/23787
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
This reverts commit d940d5a3cf.
Change-Id: I1fcebbebd5bdef338f634232f4a52074fca452a5
Reviewed-on: https://gerrit.instructure.com/23778
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
fixes CNVS-7712
test plan:
- create a few different assignment groups
- start creating an assignmet in them from the index page, and then hit more
options
- the correct assignment group should be selected on the full edit page
Change-Id: Ib85031ea94c6c92b58407b42bb443f0d2fc3d3ba
Reviewed-on: https://gerrit.instructure.com/23678
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Reviewed-by: Cameron Sutter <csutter@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
test plan:
1. go to sis import page on an account
2. import a csv (it will be easier if you have a large csv)
3. once the csv is importing, you should see the import mesage below -
verify it says "this may take a while".
closes: CNVS-7771
Change-Id: I5e02ee24e9c71aeefb8772c58b446028889e278a
Reviewed-on: https://gerrit.instructure.com/23773
Reviewed-by: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Fixes a bug where the way DelayedJob would set up the quiz regrading job
would find the quiz by its id, not by the passed "version" of the quiz
(which was acquired by quiz.versions.first.model).
Also makes QuizRegrader take a hash for the constructor instead of
separate arguments due to the many combinations of options.
QuizRegrades now always happen in a delayed job, regardless of which
environment Canvas is running in.
test plan:
- in a production environment, test quiz regrading
- it should update the student view and teacher views
fixes CNVS-7639
Change-Id: If0ba155f8b285c4f66c4ffec010bef2c973e1001
Reviewed-on: https://gerrit.instructure.com/23745
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Stanley Stuart <stanley@instructure.com>
fixes CNVS-6540
this adds aria-labels to a compact set of form elements in the question
group form.
Change-Id: I2186eb2e499527b8fa5aab0339bcc925c8d419fe
Reviewed-on: https://gerrit.instructure.com/23637
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
Product-Review: Josh Simpson <jsimpson@instructure.com>
test plan
1. load up canvas
2. it should look ok
3. go to /register
4. it should look ok
Change-Id: I582d334a743364454f81a9f7a5ca4b3145b821cd
Reviewed-on: https://gerrit.instructure.com/23746
Reviewed-by: Landon Wilkins <lwilkins@instructure.com>
Reviewed-by: Mark Ericksen <marke@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Marc LeGendre <marc@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
Adds an option to kaltura plugin config to enable kaltura
analytics tracking.
Test Plan:
* Enable the analytics tracking in the kaltura plugin settings
* Tail the event logs on the kaltura app servers as you watch videos
* The events should be logged
* Also test in IE9 to make sure session cookie is properly set
closes CNVS-7252
Change-Id: Ic7241404e840bdd6a16f344da42053c969850a46
Reviewed-on: https://gerrit.instructure.com/23266
QA-Review: Hannah Bottalla <hannah@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Severson <markse@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>