Commit Graph

11386 Commits

Author SHA1 Message Date
Ethan Vizitei 51baba3eeb move content_migration work into support bundle
refs CNVS-25916

the migration_tool plugin uses the secondary
bundle override technique of having an extension
bundle loaded in parallel.  I don't think we
want to support both that and the glue-module
extension approach since only one plugin makes
use of the former.  In order to migrate that
work to extend a core module, the work
needs to be moved to a non-entry-point
module (because overriding require names doesn't
work if you're talking about the bundles
rails knows how to load). All this patchset does
is move the core work done in the content_migration
bundle into it's own module to make a valid
override target for the plugin refactor.

Also adds this new module as a non-entry-point
exception in the bundles.js, just like it's sibling
file.

TEST PLAN:
 1) nothing should change on /courses/x/content_migrations

Change-Id: I2dfa0d1b1d11657bb5931e8caae6ef9d4b3c9aec
Reviewed-on: https://gerrit.instructure.com/70510
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
2016-01-19 18:25:12 +00:00
Nathan Mills 9d4deccbf4 remove skip to question text accessiblity link
fixes CNVS-25795

test plan

create a quiz with a multiple fill in the blank question
set jaws focus to the pts possible header
push the down arrow key
you shouldn't get a hidden link for "skip to question test"

Change-Id: Ie11597ac36dd23ec727e187a74028129184b6093
Reviewed-on: https://gerrit.instructure.com/70278
Tested-by: Jenkins
Reviewed-by: Ryan Taylor <rtaylor@instructure.com>
Reviewed-by: Matt Berns <mberns@instructure.com>
QA-Review: Michael Hargiss <mhargiss@instructure.com>
Product-Review: Nathan Mills <nathanm@instructure.com>
2016-01-19 18:22:05 +00:00
James Williams b76917cc9f fix context module progression relocking race condition
test plan:
* relocking should work as before

closes #CNVS-26389

Change-Id: I5bc9d532860445131e43a04b8296e01d107bff79
Reviewed-on: https://gerrit.instructure.com/70272
Tested-by: Jenkins
Reviewed-by: Dan Minkevitch <dan@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
2016-01-19 17:48:51 +00:00
Keith Garner 1a3a166b08 display download submissions button on screenreader gradebook
Screenreader gradebook now displays the "Download All Submissions"
button if any of the allowed submission types on an assignment is
downloadable. An empty zip file is now created if an assignment allows
both downloadable and non-downloadable submissions and all submissions
are of the non-downloadable variety.

fixes CNVS-26135

test plan:
 - As a teacher create an assignment with text and media type
   submissions selected
 - As a student submit the assignment
 - As a teacher go to the individual view gradebook
 - Select the assignment under Content Selection
 - Look for Download All Submissions button
 - Click "download all submissions"
 - If the student submitted a text type, expect to see it in the zip
   file.
 - If the student submitted a media type, expect an zip file with no
   entries.

Change-Id: I84913d6950ce8a8db28460c0ea26a2469dec86d9
Reviewed-on: https://gerrit.instructure.com/70437
Reviewed-by: Strand McCutchen <smccutchen@instructure.com>
Tested-by: Jenkins
QA-Review: KC Naegle <knaegle@instructure.com>
Product-Review: Christi Wruck
2016-01-19 17:45:08 +00:00
Cody Cutrer c042228a5c make it easy to enumerate special accounts
refs CNVS-26525

Change-Id: I7de46889af472c3184e86ae5f8f19b7c8bf54db1
Reviewed-on: https://gerrit.instructure.com/70424
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2016-01-19 17:36:16 +00:00
Jeremy Stanley 0b1f399126 don't send new file notifications for concluded courses
test plan:
 - ensure students do not receive "new file" notifications
   for unpublished or concluded courses
   (note that new file notifications can be delayed several
    minutes due to batching)

fixes CNVS-26214

Change-Id: I791f6917e15938c825962e1b21ddf5e59d4fe6c9
Reviewed-on: https://gerrit.instructure.com/70110
Tested-by: Jenkins
Reviewed-by: Dan Minkevitch <dan@instructure.com>
Product-Review: Dan Minkevitch <dan@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
2016-01-18 23:55:20 +00:00
Steven Burnett e7b4a339b3 fix error handling with notifications sqs queue
fixes CNVS-25481

Test-Plan:
- change the sqs queue in a way to cause a failure.  Notice
  message object reports as such and error is logged

Change-Id: I5ac0b9ac720b41546aa605e835b3badcfbbd17fa
Reviewed-on: https://gerrit.instructure.com/70262
Reviewed-by: Alex Boyd <aboyd@instructure.com>
Tested-by: Jenkins
Product-Review: Gentry Beckmann <gbeckmann@instructure.com>
QA-Review: Gentry Beckmann <gbeckmann@instructure.com>
2016-01-18 23:41:01 +00:00
James Williams b1f3daf044 rails 4.2: misc spec fixes
refs #CNVS-26056

Change-Id: Ia94ee2fcfded1ec66cb77a19085b005c81304800
Reviewed-on: https://gerrit.instructure.com/70251
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
2016-01-18 21:45:39 +00:00
Spencer Olson 2658d2c05c mobile: add grading period scores to endpoints
adds support for a 'current_grading_period_scores'
argument that can be passed to api/v1/courses,
api/v1/courses/:id, api/v1/users/:user_id/courses,
and api/v1/users/self/favorites/courses. if this
argument is passed to these endpoints, scores for
the current grading period will be returned.

closes CNVS-26203

test plan:
 - run
     $ bundle exec rake doc:api
   to generate API documentation.
 - view the documentation at
   public/doc/api/index.html and navigate to the
   documentation for the Courses controller.
 - verify there is documentation explaining how
   to pass the 'current_grading_period_scores'
   argument, and explaining what will be returned.
 - hit the api/v1/courses, api/v1/courses/:id,
   api/v1/users/:user_id/courses, and
   api/v1/users/self/favorites/courses endpoints
   and pass in 'current_grading_period_scores'
   as an include[] argument. verify you get the
   expected responses back, as outlined in the
   API documentation for 'current_grading_period
   _scores'.
 - ping me with any questions :)

Change-Id: Ic8985c6a85af120b9d07ef2cd4e8e049e0c327fc
Reviewed-on: https://gerrit.instructure.com/69836
Tested-by: Jenkins
Reviewed-by: Derek Bender <djbender@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
2016-01-18 21:19:18 +00:00
Joel Hough 5e8215b249 make Context.get_account work with CourseSections
fixes CNVS-26336

test plan
- make a calendar event with a course section context (an event
 with 'Use a different date for each section' checked will do)
- view the calendar feed
- ensure the calendar feed renders

Change-Id: I391d5b43463a20ef34d85925021c51821e9fc5ba
Reviewed-on: https://gerrit.instructure.com/70070
Reviewed-by: Andrew Butterfield <abutterfield@instructure.com>
Tested-by: Jenkins
QA-Review: Adrian Russell <arussell@instructure.com>
Product-Review: Robert Lamb <rlamb@instructure.com>
2016-01-18 21:08:51 +00:00
Ethan Vizitei 0a5cd6797d identifiable error on cache miss
refs CNVS-26368

make sure we can find instances where we're unable to find accounts
by throwing a specific error (rather than counting on
ActiveRecord::RecordNotFound) for that case.

TEST PLAN:
 1) we should start seeing AccountCacheErrors showing up in Sentry

Change-Id: I9ae05df6a7ac2ca921ace70f10eeae32f11b2e70
Reviewed-on: https://gerrit.instructure.com/70468
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: Ethan Vizitei <evizitei@instructure.com>
QA-Review: Ethan Vizitei <evizitei@instructure.com>
2016-01-18 18:20:11 +00:00
John Corrigan b131e30f0d reference assignment name in arialabels in list view
fixes CNVS-22932

- Update the PublishIconView instantiated by AssignmentListItemView to
  provide cusom publishText & unpublishText that includes the
  assignment's name.
- Update edit, delete & move links in the AssignmentListItem view to
  reference assignment's name.

test plan:
- Using NVDA, navigate the publish, edit, delete & move controls from
  the assignment list view and validate that the assignment name is
  included along with other text.

Change-Id: I782363602b0cc4d7c176862103e1ded2b6314d6b
Reviewed-on: https://gerrit.instructure.com/70229
Tested-by: Jenkins
Reviewed-by: Ryan Taylor <rtaylor@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
QA-Review: Michael Hargiss <mhargiss@instructure.com>
2016-01-18 18:03:05 +00:00
Cody Cutrer e1529eb1ae switch a few things to use account_chain
instead of assuming [self, Account.site_admin]

refs CNVS-26291, CNVS-26292

Change-Id: I8c20a3e29f5af91d04e380794f21705706fd96a8
Reviewed-on: https://gerrit.instructure.com/69841
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2016-01-18 17:51:42 +00:00
Alex Boyd d4be983a9f Fix focus indicator on discussions remove attachment button
Fixes CNVS-26399

Test plan:
 - Test in all browsers Canvas supports - this originally occurred just
   in Firefox, but make sure none of the others have regressed.
 - Create a new discussion topic
 - On the edit page, upload an attachment
 - Tab to the "X" button next to the attachment
 - Ensure a border shows up

Change-Id: Iccf7930a6ee7cf2bf4add2b3776d3ed737efc10b
Reviewed-on: https://gerrit.instructure.com/70346
Reviewed-by: Andrew Butterfield <abutterfield@instructure.com>
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
Tested-by: Jenkins
QA-Review: Adrian Russell <arussell@instructure.com>
Product-Review: Allison Weiss <allison@instructure.com>
2016-01-18 17:17:37 +00:00
August Thornton 777b735452 handle exceptions for protect from forgery
refs CNVS-18870

test plan:
  - navigate to $(yourcanvasdomain)/canvas/login
  - paste the following in the javascript console
    in the browser of your choosing:
      document.cookie = "_csrf_token=1"
  - attempt a login with valid credentials
  - expect a flash error with:
      "Invalid Authenticity Token"

Change-Id: I1349026227e8e733a3199c8c000323fffc32127e
Reviewed-on: https://gerrit.instructure.com/70321
Tested-by: Jenkins
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
2016-01-18 16:53:59 +00:00
Andrew Butterfield 53b1e3a1c8 Calendar control now behaves like tabs
fixes CNVS-25666

Test plan:
* Visually the appearance of the calendar button control should be the
  same as it always has been
* For KO and SR users when the calendar button control is tabbed to, the
  active button should receive focus
* The following constraints should be true no matter which button in the
  calendar button control has focus
  * When tab is pressed and a button in the calendar button control
    already has focus, focus should transition to the next focusable
    element in the DOM outside of the calendar button control
  * Similarly, when shift+tab is pressed focus should transition to the
    previous focusable element in the DOM outside of the calendar button
    control
* When using the calendar button control with a SR it should announce
  itself as a tab list and state which tab is currently selected
* As new tabs are activated using the arrow keys the SR should announce
  which is currently selected
* Pressing the left and up arrow keys should change the active button to
  the previous button in the calendar button control and the calendar
  view should be updated to the newly activate button's view.
* This behavior should wrap around when the beginning of the list is
  reached
* Pressing the right and down arrow keys should change the active button
  to the next button in the calendar button control and the calendar
  view should be updated to the newly activate button's view.
* This behavior should wrap around when the end of the list is
  reached

Change-Id: I308b6cd121d71a7c24bbb7c235aa99b1d5250d44
Reviewed-on: https://gerrit.instructure.com/70237
Tested-by: Jenkins
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
QA-Review: Adrian Russell <arussell@instructure.com>
2016-01-18 16:14:15 +00:00
Ethan Vizitei 7e527b7e1f error on unfound account in cache miss block
refs CNVS-26368

if for some reason the server checking during a cache miss
can't see the account (can't see shards, etc) then don't allow
nil to get into the cache, as this causes many problems down the line
in the context loading sequence for each request that finds "nil" in the
cache

TEST PLAN:
 1) hmmm....one way you _could_ test this is to setup an account and an
   account domain, then write a "find" method on account that returns
   nil only if you are looking for the ID for that new account, and calls
   super otherwise, and prove that when you hit your app with that domain
   it errors from the LoadAccount area.
 2) then, to prove we haven't polluted the cache (so without restarting
  redis), remove that method from account and hit it again and you should
  get through (if the cache were polluted, then you would get nil from
  the cache and get 403-type events).

Change-Id: I8a59c781da3b85c56c046d6d3637fce72cd07856
Reviewed-on: https://gerrit.instructure.com/70423
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
QA-Review: August Thornton <august@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
2016-01-18 16:09:39 +00:00
Chris Hart 5b671d2691 Add rem units instead of px units to /stylesheets/pages
Fixes: CNVS-26372

This converts our px unit font-sizing in the all the stylesheets in
/pages to use our mixin that converts them to rem units.

Test Plan:
- CSS should compile without errors

- Go to a course's Gradebook

- In Chrome, change the default size of your font from Medium to
  Large or Very Large. You will see that the Gradebook table
  content now respects the user preferences in terms of font-size:
  http://screencast.com/t/zGcU8ajA3H

- However, at Chrome's default font-size (Medium), you should see
  your Gradebook's table content appearing exactly as it currently
  does on production.

Notes:

- This is a direct conversion from px to rem, so nothing in the
  interface visually changes, just the unit type were are using.

- We did start using the global variables set aside for consistent font
  sizing where they were matching, ie 12px = $ic-font-size--xsmall, etc.

- Looking at the Gradebook is the easiest example to see these
  changes in effect. There are other similar tweaks that happen
  globally, but if Gradebook is working and the Canvas CSS is
  compiling we're good, since this is a 1 to 1 conversion.

Change-Id: I9ae9bbc447c9ca83d8d8a57bbec98c8a96fd4d03
Reviewed-on: https://gerrit.instructure.com/70134
Tested-by: Jenkins
Reviewed-by: Pam Hiett <phiett@instructure.com>
Product-Review: Pam Hiett <phiett@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
2016-01-18 15:15:24 +00:00
James Williams 992349ee0e fix reflection merges
options[:conditions] is nil

also fixes for rails 4.2

refs #CNVS-26056

Change-Id: Iae3b456c8b535f41f4e61528bf0d2f4233a4a2b4
Reviewed-on: https://gerrit.instructure.com/70381
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
2016-01-18 15:05:43 +00:00
Pam Hiett 61ea6d8532 fix FF ellipses fade on assignment points
Fixes: CNVS-24909

The Firefox white-space bug strikes again. This
commit removes our Firefox workaround mixin to the
.ellipses class when it is contained by the .ig-list
> .ig-row elements by adding a min-width: 1px.

test plan:
- create an assignment with a long name and lots of
  options (multiple due dates).
- add the assignment to a module
- return to the assignments index page, and make sure
  the layout now looks like this:
  as a teacher: http://screencast.com/t/VLq8r9pFu
  (the publish and cog icons should not be pushed out of view)
  as a student: http://screencast.com/t/ayuDw77e
  (the points should not be faded out)
- click on the conferences link from the left-hand sub-nav
  the items should ellipses when the brwoser is reduced

Change-Id: I928636be18112e6ea2654100fe7afcc93a768afe
Reviewed-on: https://gerrit.instructure.com/69856
Reviewed-by: Chris Hart <chart@instructure.com>
Product-Review: Chris Hart <chart@instructure.com>
Tested-by: Jenkins
QA-Review: Myller de Araujo <myller@instructure.com>
2016-01-16 06:11:17 +00:00
Pam Hiett 7ac7f7b3d4 convert font-size within feature-flags from px to rem
Fixes: CNVS-26383

test plan:
- as a user navigate to the account settings
- scroll to the bottom where the "Feature Options" appear
- in chrome preferences "advanced settings" select
  font size large or very large
- the details should now enlarge respectively

Change-Id: Ia7dcf46a04d3e1eac75cae5e81ba145182084628
notes: http://screencast.com/t/wWkeVsC90y
Reviewed-on: https://gerrit.instructure.com/70120
Reviewed-by: Colleen Palmer <colleen@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
Tested-by: Jenkins
QA-Review: Myller de Araujo <myller@instructure.com>
2016-01-15 23:53:25 +00:00
Clay Diffrient 0a4e16282d Make MSF work properly in test instance environments
closes CNVS-26367

Test Plan:
  - In an environment that causes the Canvas Test Installation
    warning banner at the bottom, create a few module items.
  - Make sure New UI is turned on
  - The module sequence footer should not cover the normal
    footer when you are scrolled to the bottom of the page

Change-Id: I8ea7b56cfb4626eab67a7c8941446a2d55de4f1a
Reviewed-on: https://gerrit.instructure.com/70165
Tested-by: Jenkins
Reviewed-by: Sterling Cobb <sterling@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
2016-01-15 23:24:50 +00:00
Chris Hart 4d520a6b9a Add rem units instead of px units to /stylesheets/components
fixes CNVS-25278

This converts our px unit font-sizing in the all the stylesheets in
/components/ to use our mixin that converts them to rem units.

Test Plan:
- CSS should compile without errors
- In Chrome, change the default size of your font from Medium to
  Large or Very Large. You will see that all Canvas buttons now
  respect the user preferences in terms of font-size:
  http://screencast.com/t/jIZr6CrT
- However, at Chrome's default font-size (Medium), you should see
  buttons appearing exactly as they currently do on production.

Notes:

- This is a direct conversion from px to rem, so nothing in the
  interface visually changes, just the unit type were are using

- We did start using the global variables set aside for consistent font
  sizing where they were matching, ie 12px = $ic-font-size--xsmall, etc.

- Looking at the Canvas buttons is the easiest example to see these
  changes in effect. There are other similar tweaks that happen
  globally, but if one is working and css is compiling we're good,
  since this is a 1 to 1 conversion.

Change-Id: I41054430509bc3b04377bc3b9da3c25bca625209
Reviewed-on: https://gerrit.instructure.com/70033
Tested-by: Jenkins
Reviewed-by: Jennifer Stern <jstern@instructure.com>
Product-Review: Jennifer Stern <jstern@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
2016-01-15 22:46:54 +00:00
Chris Hart 02b5caef5a Remove 16px font size from document root
Fixes: CNVS-26469

Putting a pixel value in the document root was
stopping our newly converted rem font-sizes from
scaling up when the changes his or her browser
font sizing preferences. This change removes the
pixel value, so the document root font-size is
100% again.

Test plan:

- In Chrome's advanced Settings/Preferences, set your
  default text size to Very Large.
- When you return to your Canvas tab, the primary
  nav's font and icon size should have scaled up,
  respecting the browser's font preferences:
  http://screencast.com/t/TNQNNvgsBv0

Change-Id: Ib7e410d582219670dcc4b43fe48355edc85a43dd
Reviewed-on: https://gerrit.instructure.com/70252
Tested-by: Jenkins
Reviewed-by: Pam Hiett <phiett@instructure.com>
Product-Review: Pam Hiett <phiett@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
2016-01-15 16:56:50 +00:00
Michael Nomitch 4837d03d5c RCS - load tinymce on outcomes page remotely
fixes CNVS-26185

test plan:
  - with and without remote RCS flag
    - go to outcomes indes
    - you can edit the description
      of outcomes groups and outcomes
      like normal

Change-Id: Ifb294a2be5671938d4c42420bc7dfd6922689572
Reviewed-on: https://gerrit.instructure.com/69660
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
Tested-by: Jenkins
QA-Review: August Thornton <august@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
2016-01-14 23:41:05 +00:00
Michael Nomitch a1821c8325 RCS - pass textarea height into tinyOptions
fixes CNVS-26395

test plan:
  - when creating an outcome using RCS
    or normal tinyMCE the sizes of the
    tinyMCE textareas are the same

Change-Id: I411d59af15a7b667d541ce04d253d83a4a771ef4
Reviewed-on: https://gerrit.instructure.com/70142
Tested-by: Jenkins
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Mike Nomitch <mnomitch@instructure.com>
2016-01-14 23:41:03 +00:00
Michael Nomitch bc2b578c48 RCS - admin announcements can load remotely
fixes CNVS-26161

test plan:
  - with an RCS set up
  - with remote RCS both on and off
    - go to accounts/:account_id/settings
    - go to the announcments tab
    - make an announcment
      - it works
    - make an announcement with missing message
      - the error message works
    - edit an assignment with a missing description
      - that error message works too

Change-Id: I4c3fc83fb59097f2ce5d4d0b868253c264ed477c
Reviewed-on: https://gerrit.instructure.com/69609
Tested-by: Jenkins
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
2016-01-14 23:40:42 +00:00
Ethan Vizitei 26a4f89ab2 fix menu fail for admin links
refs CNVS-25916

mouseup is always accompanied by mousedown, but when it fires first
it messes up the kylemenu.  this fixes it.

TEST PLAN:
 1) groups_teacher_spec should pass webpack selenium build
Change-Id: I2978787feadd5b31ae5a7d258c5f27cc4f9536eb
Reviewed-on: https://gerrit.instructure.com/69417
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins
QA-Review: August Thornton <august@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
2016-01-14 23:38:38 +00:00
Brian Palmer 75b1a5dec5 move request_throttle code to app/middleware
It is a middleware so it was in the wrong place. This solves class
reloading problems in dev.

test plan:

request throttling should still function (you can look for "request
throttling increment" log lines) and should no longer cause "A copy of
Canvas::RequestThrottle has been removed from the module tree but is
still active" errors.

Change-Id: Ied6aaa6de4ac64ddfb14c80c76463f253b988bd7
Reviewed-on: https://gerrit.instructure.com/70265
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
2016-01-14 23:11:19 +00:00
Mysti Sadler 0fc95c39b8 Fix bug on survey stats
surveys w/ anon submissions and essay questions would get an error if anonymous and had an essay question.

Test Plan:
  * Create a new survey (graded or ungraded)
  * Turn on "Keep submissions anonymous" setting
  * Create an essay question for the survey
  * Publish the quiz
  * As at least one student, take the survey
  * As an instructor, view the survey statistics
  * Statistics for the quiz questions should appear

fixes CNVS-26408

Change-Id: Ic10f30a6045f75fc72ee482a6536c05bbf11a4e5
Reviewed-on: https://gerrit.instructure.com/70211
Reviewed-by: Marc Alan Phillips <mphillips@instructure.com>
Tested-by: Jenkins
QA-Review: Michael Hargiss <mhargiss@instructure.com>
Product-Review: Jason Sparks <jsparks@instructure.com>
2016-01-14 22:43:40 +00:00
Davis McClellan 8603f9f2f0 Make elements accessible via keyboard on assignment edit page
fixes CNVS-25669

test plan:
- Go to assignment edit page
- Select "GPA Scale"/"Letter Grade" on "Display Grade as" dropdown menu
- Ensure that the '?' button and the "View Grading Sceme" are accessible
  Via keyboard (Note that the '?' button only appears on the "GPA Scale"
  type)
- Test on all supported browsers

Change-Id: I87f3ce143658c488793763391541a98cac6f4047
Reviewed-on: https://gerrit.instructure.com/69812
Reviewed-by: Matt Berns <mberns@instructure.com>
Tested-by: Jenkins
QA-Review: Michael Hargiss <mhargiss@instructure.com>
Product-Review: Nathan Rogowski <nathan@instructure.com>
2016-01-14 21:17:41 +00:00
Davis McClellan 775e5622ac Remove <span> within <i>
fixes CNVS-26029

test plan:
- Ensure that there are no <span> within <i> on the quiz taking page
  (specifically on the next and previous buttons on OQAAT quizzes and
  the "This is a preview of the draft version of the quiz" message
  icon after previewing a quiz).

Change-Id: Ic9ec6e92316711ea1cdc7188b0ef4c673204c325
Reviewed-on: https://gerrit.instructure.com/70050
Reviewed-by: Ryan Taylor <rtaylor@instructure.com>
Tested-by: Jenkins
QA-Review: Michael Hargiss <mhargiss@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
2016-01-14 20:16:36 +00:00
Davis McClellan 3ca6e6e58b Remove extra "next" and "previous" messages for screen readers
fixes CNVS-25450
fixes CNVS-25444

test plan:
- Take a OQAAT Quiz
- Ensure that the next and previous buttons are only read once
- Test on all screen reader combonations
  (note: in NVDA ensure that pressing down doesnt repeat the next
  or previous message.)

Change-Id: I49ae2adde4251b848196cfe4142097785a336091
Reviewed-on: https://gerrit.instructure.com/70048
Tested-by: Jenkins
Reviewed-by: Matt Berns <mberns@instructure.com>
QA-Review: Michael Hargiss <mhargiss@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
2016-01-14 19:56:58 +00:00
James Williams 15a750b5d0 fix inlineable attachment rendering
test plan:
* enable canvadocs
* in the console, add "text/plain" as a valid mime type by running
 the following

Setting.set('canvadoc_mime_types',
 JSON.dump(Canvadoc.mime_types + ["text/plain"]))

* upload the html, image and css files from the course
 referenced in the ticket

* previewing the html should show the images

closes #CNVS-26287

Change-Id: Ica665d953d8a405a45ab0920e8a3b70ca71cedfd
Reviewed-on: https://gerrit.instructure.com/70109
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
2016-01-14 16:54:53 +00:00
Keith Garner a0be4e2665 Add date of (canva|croco)doc student view to speedgrader
SpeedGrader now shows the date a student viewed (canva|croco)doc. The
attachment.viewed_at is filled with a date when the attachment's owner
invokes a (canva|croco)doc session. This results in the instructor
being able to better confirm that their students are viewing their
feedback.

fixes CNVS-25136

test plan:
 - Enable crocodocs
 - create an assignment that takes a crocodocable document
 - as a student, submit a crocodocable document
 - as a teacher, go into speedgrader and view the assignment.
 - Note the abscence of "Student Viewed Document" in the submission
   information.
 - as a student, go into the submission details and view the feedback
 - as a teacher, go into speedgrader and view the assignment.
 - Note the presence of "Student Viewed Document" in the submission
   information.
 - repeat the above process for canvadocs

Change-Id: I0a21cc6abe3d469628646e4d5771e8d6453cda61
Reviewed-on: https://gerrit.instructure.com/69783
Tested-by: Jenkins
Reviewed-by: Cameron Matheson <cameron@instructure.com>
QA-Review: KC Naegle <knaegle@instructure.com>
Product-Review: Christi Wruck
2016-01-14 00:03:23 +00:00
Colleen Palmer 6491cfbc10 Add fix for h4 font size regression
fixes: CNVS-26346

This addresses a regression pertaining to new ui <h4> tags displaying
at a small font size.

Issue was caused by selector tags being turned into classes. Fix is to
revert them back to tags in the css.

Test Plan:
- Go into Canvas legacy UI and on a page that uses tiny mce, add an h4
header
- Switch to new UI, h4 header size should remain the same

Screenshot comparisons:

What is was: http://cl.ly/061g3T0k3f1u
What it should be: http://cl.ly/1x1M0M2W2n42

Change-Id: I5766cdb1d18f86d092562a23429b7af4d36a0e69
Reviewed-on: https://gerrit.instructure.com/70034
Tested-by: Jenkins
Reviewed-by: Chris Hart <chart@instructure.com>
Product-Review: Chris Hart <chart@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
2016-01-13 23:40:40 +00:00
Amber Taniuchi 4b03ff7d8e add aria-expand attribute to gb history toggle
The gradebook history page (/courses/x/gradebook/history)
has toggles that allow a user to expand/collapse a chart
that displays grades history. The toggle did not have
any aria labels, so added aria-controls, aria-expand, aria-label
and additional id's to make the toggle accessible.

fixes CNVS-25746

Test Plan:
In a course with students, assignments and submissions that have
been graded a few times:
1. Go to the Gradebook history page(/courses/x/gradebook/history).
2. Using a screenreader, use the assignment name link to toggle the 
grading history.
3. Ensure that screenreader reads a label for the toggle that is
descriptive and allows you to expand/collapse the chart.

Change-Id: I321424388ee0402ed4726faadd3b9e79fffc1d8b
Reviewed-on: https://gerrit.instructure.com/69994
Reviewed-by: Strand McCutchen <smccutchen@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
Reviewed-by: Cameron Matheson <cameron@instructure.com>
Tested-by: Jenkins
QA-Review: Nathan Rogowski <nathan@instructure.com>
2016-01-13 22:42:13 +00:00
Simon Williams 2258c53eaf link to specific group in new group notification
fixes gh-709

test plan:
- update a user's notification preferences to receive group
  notifications immediately
- add them to an account level group
- click on the link in the email
- it should take them to the group

Change-Id: I171c0a0d367d87dd274b4bd41d3fa15b890c7315
Reviewed-on: https://gerrit.instructure.com/65764
Tested-by: Jenkins
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
QA-Review: Adrian Russell <arussell@instructure.com>
Product-Review: Allison Weiss <allison@instructure.com>
2016-01-13 21:58:09 +00:00
Jonathan Featherstone b40f2b83cd Fix focus issue on discussion attachment remove
Test Plan:
  * Create a new discussion
  * Attach a file to discussion, and save
  * Edit discussion, notice that "x" appears to remove attachment
  * Using keyboard, remove attachment by tabbing to x button, and
    pressing return
  * "choose file" field should reappear and be focused

closes CNVS-22071

Change-Id: Ifddc44aa8b607260a3b91fd707934b1d490bd9fc
Reviewed-on: https://gerrit.instructure.com/63968
Tested-by: Jenkins
Reviewed-by: Matt Berns <mberns@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Jonathan Featherstone <jfeatherstone@instructure.com>
2016-01-13 21:37:07 +00:00
Benjamin Porter 0a4256c0f3 OutcomesImports: make validation regex case-insensitive
With the newest GUIDs that AB rolled out, there are now some case
insensitive ones that need to be accepted.

Fixes CNVS-26378

Test Plan:

    * Attempt to schedule an import of outcomes that have lower-case
      letters in their guids and verify that you do not get an error
      returned saying it is an invalid GUID.  Suggested example:

      - curl -H 'Authorization: Bearer <your-token>'
        http://ab-vm:3000/api/v1/global/outcomes_import --data
        "guid=9426dcae-734c-40d5-abf6-fb748cd8be65"

Change-Id: I84e1b850e0e0b36e26b35c832d50fdb15c27bab8
Reviewed-on: https://gerrit.instructure.com/70163
Tested-by: Jenkins
Reviewed-by: Matt Berns <mberns@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Benjamin Porter <bporter@instructure.com>
2016-01-13 21:11:14 +00:00
Ryan Shaw 4fc0717207 show keyboard focus indicator for color picker in tinyMCE
fixes: CNVS-25689

test plan:
* in an RCE, open the "text color" or "background color"
  menu options using a keyboard.
* as you tab through the different colors, it should
  show a visual focus indicator of which item you have
  selected.

Change-Id: I2e17255f2681095b0514b669b295eba6bca70539
Reviewed-on: https://gerrit.instructure.com/69250
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2016-01-13 20:44:34 +00:00
Ethan Vizitei 3c6a09f25b stop dying on access tokens that base64 decode to JWT looking things
closes CNVS-26405

Some access tokens were generated which, when base64 decoded, happened
to have the right number of dot-delimited segments to look like a JWT,
and then the decoding library would choke parsing what it thought
was a JSON segment.  This catches that parse error, and lets
access_token processing continue.

TEST PLAN:
  1) create an access token for your user, and then overwrite it's token
     value to be the same token as is in the specs accompanying this
      patch set
  2) you should be able to use the APi with that token ok

Change-Id: I7d6ee4e2d40f1fef08bd223e90fdd8dca3bb5779
Reviewed-on: https://gerrit.instructure.com/70160
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
2016-01-13 20:44:23 +00:00
Jeremy Stanley 39d5aa3160 allow designers to update assignment group weights
canvas was rejected the PUT because the front-end sent an
(unchanged) grading_standard_id when it saved the course.
this commit checks that permission only if the caller is
trying to _change_ the grading standard.

test plan:
 - as a designer, ensure you can set assignment group weights
   on the assignments page

fixes CNVS-25876

Change-Id: I4a6045e299699fe3f7d1644237a0001faf757948
Reviewed-on: https://gerrit.instructure.com/69963
Tested-by: Jenkins
Reviewed-by: James Williams  <jamesw@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2016-01-13 17:11:57 +00:00
Ryan Shaw 59dc952d87 show visual keyboard focus indicators on tree view
fixes: CNVS-25692

test plan:
* in different browsers (webkit, ff, IE)
* in an RCE, click the "insert/edit" image button
in the toolbar.
* go to the "canvas" tab.
* as you navigate (expand, collapse, etc) the tree 
  component, it should show an indicator of
  which item is selected
* when you are on a folder with no subfolders, 
  but that does have images, press the right arrow 
  to open it.
* then press the down or right arrow again to select
  the first image. it should show you a focus indicator
  on that image and not have a javascript error

Change-Id: I248815b08bbf6bee8c21be21e92a76e28586750e
Reviewed-on: https://gerrit.instructure.com/69246
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
2016-01-13 16:49:50 +00:00
Rob Orton 256c2b68cf create reset_mfa permission
fixes CNVS-23897

test plan
 - reset MFA permission should be available in
   site_admin admin role overrides
 - reset MFA permission should be available in
   regular root_account admin role overrides if
   MFA is enabled in settings
 - user 1 = a user that is an admin for site_admin
   and that has MFA enabled
 - create a site_admin role that only has the
   reset mfa permission
 - user 2 = a user that has the new reset MFA role
 - user 2 should be able to reset MFA for user 1

Change-Id: I030f95600ee1260b4e4a541c2a49bb5d2ccb4afe
Reviewed-on: https://gerrit.instructure.com/69815
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
QA-Review: August Thornton <august@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
2016-01-12 23:12:18 +00:00
Ryan Shaw f0ba46fd7b focus next input when you select flickr image result tile
fixes: #CNVS-26048

test plan:

when you click / hit "enter" on an image result in 
the flicker search results, it should focus the next 
input  box in the form (the "alt" field), so you don't 
have to tab through the other 500 search results.

this makes things nicer for keyboard-only users.

Change-Id: I453141146a4097bff7e981ac39ac2921a5876530
Reviewed-on: https://gerrit.instructure.com/69245
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
Reviewed-by: Aaron Cannon <acannon@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
2016-01-12 23:12:10 +00:00
Derek Bender d972fa924f Add specs for SubmissionComment after_destroy
fixes CNVS-25872

The after_destroy :delete_other_comments_in_this_group callback
previously had no specs. This method had a regression related
to the rails 4 deployment that needed to be hotfixed in
15f65755 (see CNVS-25770). These added specs would have caught
this regression.

Also, a small refactor for rejecting self because we can now
use the ActiveRecord .not API over where("id <> ?", id).

Place skip_destroy_callbacks(?) in private/protected area and
avoid using the instance variable.

Test plan:

  - regression test on group assignment comments and
    subsequently deleting them
  - $ rspec spec/models/submission_comment_spec.rb

Change-Id: I16d366f992cd0d165068ca39f87bec521b76121e
Reviewed-on: https://gerrit.instructure.com/68900
Reviewed-by: Spencer Olson <solson@instructure.com>
Tested-by: Jenkins
QA-Review: KC Naegle <knaegle@instructure.com>
Product-Review: Derek Bender <djbender@instructure.com>
2016-01-12 23:12:00 +00:00
Strand McCutchen 5478e81a46 [a11y] widen grading box in submission details
fixes CNVS-25605

The select for complete/incomplete assignments in SRGB is
too narrow. This style chnage makes the menu wider and more
accessible.

Test plan:

 0. As a teacher, create an assignment which has "display
    grade as" set to complete/incomplete.
 1. Switch to individual gradebook.
 2. View submission details of a student for the
    assignment.
 3. Verify the dropdown menu is wide enough to display the
    words in it.

Change-Id: I5a47ad24dab2c6e566f704611fab61766d648720
Reviewed-on: https://gerrit.instructure.com/69422
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
Tested-by: Jenkins
QA-Review: Jason Carter <jcarter@instructure.com>
Product-Review: Dana Danger <dana@instructure.com>
2016-01-12 21:21:54 +00:00
Strand McCutchen 06fe9c9665 [A11y] set focus on cutoff score in message students dialog
fixes CNVS-25741

When an instructor "Messages students who…" and selects an
option for which a cutoff score is appropriate, we set
focus on the new 'cutoff' score field. Additionally, a
label has been added to make the field more accessible.

Test plan:

 0. In gradebook, using keyboard only navigation and
    screenreader software…
 1. Tab to the column of an assignment.
 2. Press [esc] to get out of edit mode.
 3. Press [m] to open the assignment menu.
 4. Select "Message students who…"
 5. Select either "Scored less than" or "Scored more than"
    from the menu.
 6. Verify that focus is set on the cutoff score input.

Change-Id: Ide0663ef21002866e1f683390b07316f316ec42a
Reviewed-on: https://gerrit.instructure.com/68820
Tested-by: Jenkins
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Dana Danger <dana@instructure.com>
2016-01-12 21:21:48 +00:00
John Corrigan 897989be07 update UX for selecting external tool submission type
fixes CNVS-25670

- Use some of our new styles for the form field.
- Update js hooks so that just clicking the text input doesn't open the
  popup.
- Make the `screenreader-only` method for opening the modal visible, and
  make it look nice (ish).

test plan:
- Go to the create an assignment form.
- In the `Submission Type` dropdown select `External Tool`.
- Observe that the `find` button is visible, and that the label text is
  updated to (try to) make more clear what needs to be done.
- Observe that clicking in the text field doesn't open the External Tool
  modal.
- Observe that clicking the `Find` button does open the External Tool
  modal.
- Observe that focusing on the text input with the keyboard does not
  open the External Tool modal.
- Observre that the External Tool selection flow is keyboard accessible.

Change-Id: I0a74362cc0d8ac21af40aca32503bde3b0698383
Reviewed-on: https://gerrit.instructure.com/69715
Tested-by: Jenkins
Reviewed-by: Matt Berns <mberns@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
2016-01-12 20:55:54 +00:00