Commit Graph

1630 Commits

Author SHA1 Message Date
Ryan Taylor 2860d53d8a Numerical input fields now handle commas properly
Numerical input commas were replaced by a period on parsing
automatically. This change prevents the improper parsing of these
values.

Fixes CNVS-1607

Test Plan:
  - Generate a quiz
  - Generate quiz questions with numerical input fields (numerical and
    formula question types)
  - Confirm valid input for numbers which include comma separators
  - Regression test for negative values, multiple commas, decimal inputs
  - Take quiz
  - Confirm same behaviors on the take_quiz side.

Change-Id: I642c21f23df8f90a5aaee859a65811041b4644ee
Reviewed-on: https://gerrit.instructure.com/40382
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ahmad Amireh <ahmad@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Ryan Taylor <rtaylor@instructure.com>
2014-09-02 22:01:44 +00:00
Clay Diffrient 6520c40dc3 Removes the selected item from modules and module item move dialogs
fixes CNVS-15186

Test Plan:
  - Go to the modules page (/courses/##/modules)
  - Use the Move To... option in the settings cog menu to move
    a module.
  - In the dialog the module you selected to do this with should not
    be an option.
  - Repeat the same with a module item.
  - If you attempt to move the item within the save module, the item
    should not be displayed as an option.

Change-Id: If2649406570ae11fba0bca5b4910ed8fbcc6d84b
Reviewed-on: https://gerrit.instructure.com/40362
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
2014-09-02 18:54:55 +00:00
Derek DeVries ed6acb3e83 fix issue editing questions in question banks
fixes CNVS-11006

test plan:
  - as a teacher
    - create a question bank with more than 50 questions
    - edit a question
    - it should successfully edit the question without adding a new question
      to the bank
  - do a regression test around creating and editing questions both in and
    outside of question banks

Change-Id: Iba765cf3b5c5b2687a012e44592e47d8e3ec6716
Reviewed-on: https://gerrit.instructure.com/40260
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
2014-08-29 21:06:57 +00:00
Ryan Florence f98219f795 reorder content and sidebar
headers in the content should come before headers
in the sidebar

fixes CNVS-15105

Change-Id: I6ae02bd784ecf893acae6574f93685f9216f035a
Reviewed-on: https://gerrit.instructure.com/40101
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Ryan Florence <ryanf@instructure.com>
2014-08-29 19:14:04 +00:00
Clay Diffrient 25d15c03f1 Adds move to option for module items
Makes the modules page more accessible for both screenreader and
keyboard only users.

fixes CNVS-9045

  test plan:
    1. Using a screenreader go to the modules page (/courses/##/modules)
    3. Navigate to the admin links cog for a module item.
    4. You should see a "Move to..." option.
    5. Click it using whatever the screenreader uses for click
       (VO: Ctrl+Option+Space)
    6. A dialog should appear (This dialog should be accessible)
    7. You should be able to move a module item to whatever location
       you want.

Change-Id: I7f6cffef2eb321103889fb81e932e9551f8b912e
Reviewed-on: https://gerrit.instructure.com/39930
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
2014-08-27 18:52:45 +00:00
Ryan Florence 00cac7a86a make screenreader ux in dialogs better
- removed `role="dialog"` because that puts the
  content into "application" mode, royally
  messing up navigability

- added `aria-hidden="true"` to all of the content
  outside of the dialog

- rearranged some opening/closing tags in app
  layouts so they live in the same file

closes CNVS-14476

Change-Id: I83be208a2f993caf8b436112da1b3e30e0f533fa
Reviewed-on: https://gerrit.instructure.com/39933
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Product-Review: Ryan Florence <ryanf@instructure.com>
2014-08-26 16:57:47 +00:00
Clay Diffrient c930295ba6 Adds move to option for modules
Makes the modules page more accessible for both screenreader and
keyboard only users.

fixes CNVS-9045

test plan:
  1. Using a screenreader go to the modules page (/courses/##/modules)
  2. The "keyboard instructions" area should inform you to use the
     move module options.
  3. Navigate to the admin links cog for a module
  4. You should see a "Move to..." option.
  5. Click it using whatever the screenreader uses for click
     (VO: Ctrl+Option+Space)
  6. A dialog should appear (This dialog should be accessible)
  7. You should be able to move a module to whatever location you
     want.
  8. Close the screenreader, repeat steps 3-7 using only the
     keyboard.
  9. When the drag-and-drop handle has focus a warning should appear.

Change-Id: Ie64b79ab6fa85d728fd97fba3842717b1a6ed99b
Reviewed-on: https://gerrit.instructure.com/39806
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
2014-08-25 14:37:57 +00:00
Paul Hinze 1277fcea73 Send global root_account_id to Kaltura in partner_data
Will allow proper differentiation of media in Kaltura in the future.

There are two ways that partner_data makes it up to Kaltura:

 (1) via a bulk_upload of attachments in the backend
 (2) via the rich text editor upload/record video button

For (1), we globalize the id in KalturaMediaFileHandler. For (2) we
move the domain_root_account_id to js_env as we globalize it.

fixes CNVS-14870

Test Plan

(requires a dev with db access to kaltura to check partner_data)

Kaltura should receive partner_data that includes a global
root_account_id in all of the following contexts:

 - upload a video via RTE
 - record a video via RTE
 - upload a file and add it to a document

Change-Id: Ia4e96ee555465d447015e4cf7a7508e093e51ec2
Reviewed-on: https://gerrit.instructure.com/39496
Reviewed-by: Zach Pendleton <zachp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Paul Hinze <paulh@instructure.com>
2014-08-19 21:32:40 +00:00
Jacob Fugal bb926b3066 convert 12-hour format strings when %P is blank
refs CNVS-12398
fixes CNVS-14778

properly handle 12-hour time format strings when the localization
implies a 24-hour string should have been used. using a 12-hour format
when the %P formatter is blank leaves ambiguity as to whether, for
example, "3:00" means 03:00 (am) or 15:00 (pm).

test-plan:
 - set locale to portuguese
 - when an afternoon hour is localized in portuguese, it should display
   in 24-hour format (e.g. "<date> em 15:00" vs. "<date> em 3:00").

Change-Id: I0fa69fb179f1f7eab0da8205ec70d48752021351
Reviewed-on: https://gerrit.instructure.com/33494
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
Product-Review: Matthew Wheeler <mwheeler@instructure.com>
Product-Review: Steven Shepherd <sshepherd@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
2014-08-19 20:19:17 +00:00
Ahmad Amireh 80d627eb7a client app: canvas_quiz_statistics
This commit brings in canvas_quiz_statistics, a client app that can be
embedded in Canvas.

Closes CNVS-14781, CNVS-14846, CNVS-14847, CNVS-14850

> What's done

  - full build integration, meaning the app runs with ?optimized_js=1:
    + JavaScript "built" source gets piped into the r.js build pipeline
      like any other Canvas JS source in public/javascripts/*
    + SCSS sources get picked up by the sass-compiler like Canvas style
      sources and they get compiled from the grounds-up
    + I18n: phrases are extracted properly, with default values and
      options, by our i18n rake tasks
    - new rake task js:build_client_apps that builds client apps and
      injects them as input to the rest of the JS build process
  - support for using Canvas JS packages, like d3, jQuery, and Backbone
  - support for using Canvas SASS variables & helpers
  - super i18n support: use raw I18n.t() calls like you are in Canvas,
    with development-time interpolation, as well as super new
    Handlebars-like block-style translations in React, perfect for very
    long phrases (mini-articles)

> Docs and References

The code was originally developed in its own github repository. While I
won't be pushing code to that repo anymore, the Wiki will still house
the docs until we find a better place.

  - Repo: https://github.com/amireh/canvas_quiz_statistics
  - Development guide: http://bit.ly/1sNOhER
  - Integration guide: http://bit.ly/1m9kA9V

> TESTING

  - login as a teacher
  - go to /courses/:course_id/quizzes/:quiz_id/statistics_cqs
    + make sure you see something that looks like the Ember stats
    + click one of those little "?" help icons, you get a dialog:
      - verify the contents within the dialog are actual English text,
        not code gibberish
      - there's also a link at the end of that dialog, click it and
        verify it takes you to an Instructure help article
  - build the assets: `bundle exec rake canvas:compile_assets` then:
    + add ?optimized_js=1 to the URL and reload the page:
      - verify the app still works

Change-Id: Ic474650dfb06a1c22869ed9680dd04d1ca0f651d
Reviewed-on: https://gerrit.instructure.com/39105
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Hannah Bottalla <hannah@instructure.com>
Reviewed-by: Adam Ard <aard@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
2014-08-19 20:09:21 +00:00
Paul Hinze 4d84e1cdc2 Add source chooser to media player
The source chooser exposes available video sources of different sizes
and qualities. This allows users to select the quality that best matches
their currently available bandwidth.

Test plan:

 - With the "Prefer HTML5 for videos" feature option ON
   - Visit a page with a video on it
   - Click the starburst icon to see the list of available sources
   - Choose sources and observe that the quality of the video changes
   - Changing sources should preserve the play/pause state, timeline
     position, and playback speed
   - Multiple players on a page should not affect each other
   - You should not see this control show up for audio players
 - With the "Prefer HTML5 for videos" feature OFF:
   - Same as above, except that changing sources should only preserve the
     play/pause state (timeline and playback speed not available in the flash
     player)

Change-Id: I1c99a8e784904eed687f827164eed7e9d7e8c26c
Reviewed-on: https://gerrit.instructure.com/38639
Reviewed-by: Zach Pendleton <zachp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Paul Hinze <paulh@instructure.com>
2014-08-14 21:04:55 +00:00
Cody Cutrer bead1f3523 fix invalid logging of js errors
Change-Id: I4bbd3c7d5c7fb5c92477190e558b91adf96954de
Reviewed-on: https://gerrit.instructure.com/39304
Reviewed-by: Cameron Matheson <cameron@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Cameron Matheson <cameron@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2014-08-14 17:15:43 +00:00
Jon Willesen d0fe274617 add screenreader alerts in cross-listing section dialog
when entering a course id in the course section cross-listing
dialog, the results should be read by the screenreader.

also fixed the styling of the dialog buttons to match the
standard canvas dialog button styling.

fixes CNVS-14007

test plan:
 - go to the course section cross-listing dialog.
 - enter a bogus course ID and press enter.
 - screenreader should read both the intermediate "confirming"
   message and the final error message.
   - the confirming message might get cut off by the error
     message in some screenreaders, that's just how they work.
 - enter a valid course ID and press enter.
 - screenreader should read both the intermediate "confirming"
   message and the name of the course.
   - the confirming message might get cut off by the name of
     the course in some screenreaders, that's just how they
     work.
 - make sure both the "cross-list this section" and "cancel"
   buttons still work.

Change-Id: I645f769285148cb4e40e2e92f7542aad04ed4c50
Reviewed-on: https://gerrit.instructure.com/39093
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
Reviewed-by: Sterling Cobb <sterling@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
2014-08-14 16:47:37 +00:00
Ryan Shaw 05072d599e Implement the Left Side folder tree for files
closes: CNVS-14717
closes: CNVS-12666

test plan:
* go to the new files page,
* on the left side there should be a tree showing
  where you are in your files.
* it should show only folders.
* you should be able to expand/collapse folders.
* you should be able to click on one of the
  folders to go to it
* it should expand automatically to show where
  you are. so if you are on
  "/courses/x/files/folder/a/b/c",
  the folders a, b and c should be expanded

Change-Id: I36b7df94423f482d44339a73549af2aa18f96333
Reviewed-on: https://gerrit.instructure.com/39094
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2014-08-13 22:58:05 +00:00
Ryan Shaw d4fc0cce7e specs for deleting a file/folder
closes: CNVS-14726

we need to figure out how to load react-with-addons.js when we
are running specs but just react.js outside of tests

Change-Id: I7fb2b0be73a0b9be5266c0a5d9a720dfba0146f9
Reviewed-on: https://gerrit.instructure.com/39187
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2014-08-13 19:22:52 +00:00
Colleen Palmer 78c99216da Select icon in conversations dropdown
fixes CNVS-14436

This fixes the icon not showing up correctly in the conversations
dropdown

Test Plan:

- Go to Inbox
- Click on "All Courses"
- Make sure a checkmark icon shows on the selected course
- Also click on "Compose a Message"
- Make sure the checkmark also appears in the Courses dropdown here

Change-Id: I720424dcf8df0db10141ba06e6d8d53266939fea
Reviewed-on: https://gerrit.instructure.com/39153
Reviewed-by: Chris Hart <chart@instructure.com>
Product-Review: Janelle Seegmiller <jseegmiller@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
2014-08-13 18:49:58 +00:00
Ahmad Amireh 00f6adb248 Quizzes edit form: "Only Once" checkbox fix
A few changes to how the "Let Students See Their Quiz Responses" form
section works:

  - if the "Let Students See Their CAs" checkbox is on:
    + we show the date-pickers like usual
    + if the "Only Once" checkbox is turned on:
      - we still show them, but they're disabled (teacher can't use,
        dates don't go through to the backend)
  - if it's off:
    + we totally hide the date-pickers

The primary fix was that the "Only Once" checkbox is no longer tied to
the correct-answer visibility fields, but instead to the
result-visibility fields (which is consistent with how the form looks
like). The back-end will also ignore the showAt/hideAt dates if that
option is turned on.

Closes CNVS-14641

TEST PLAN
---- ----

  - go to edit quiz
  - verify the UI behavior is as described in the top of this message
  - uncheck the "Let Students See Their Correct Answers" option
  - check the "Only Once After Each Attempt" option
  - save
    + verify your options were saved properly

Change-Id: I4587bcb748e238bf351e90e6707e6244aa3289b7
Reviewed-on: https://gerrit.instructure.com/39190
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
2014-08-13 16:15:35 +00:00
Ryan Shaw a8b2a430b6 bump react-router to 0.5.2
Change-Id: I5e097387cea46897f04d5005777d93e2cdd4cb68
Reviewed-on: https://gerrit.instructure.com/38918
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2014-08-08 20:20:28 +00:00
Ryan Florence 9eb846c06c added react-router
Change-Id: If5b7a1e960acaca805d4f154705cbd2da34acb3f
Reviewed-on: https://gerrit.instructure.com/38084
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2014-08-08 19:22:23 +00:00
Ahmad Amireh 0b57ec37c1 [a11y] Quizzes RCE Keyboard Dialog
This patch adds a keyboard-accessible dialog that lists the available
TinyMCE keyboard shortcuts within quizzes.

Closes CNVS-9795

TEST PLAN
---- ----

  - go to the create or edit quiz page
    + verify you see a little "?" help icon next to the "HTML Editor"
      link in the editor action-bar
    + click it and verify that it launches a dialog
      - verify the dialog contents match those specified in the ticket
    + press ALT+0 and verify the dialog gets opened
      - you can try using the 0 on the numpad if you have one, it should
        work too
    + verify that you can get to the "?" icon using your keyboard by
      TABbing around

Change-Id: I18df7ce74d33369df2245e2fff4d9d0c7e1735a2
2014-08-07 19:54:22 -06:00
Paul Hinze c39bcc55bb Upgrade mediaelement.js to 2.15.0
Overall this is a relatively small release, but one with a few notable
changes for Canvas:

 - improvements to keyboard accessibility
 - playback speed support
 - video controls won't hide when they are being hovered over
 - improved play button image
 - proper source chooser support in flash fallback player

The full changelog is here:

3be710cc49/changelog.md

Test Plan:

We'll want to do a basic cross-browser regression test of the media
player to cover the upgrade.

 - On an account with "prefer HTML5 video" enabled:
   - Check a video player
   - Check an audio player
 - On an account with "prefer HTML5 video" disabled:
   - Check a video player
   - Check an audio player

Change-Id: I363e301506981185bb1a37fdd8975ad3e91d5180
2014-08-07 19:54:02 -06:00
Matt Wheeler 61fced4f3d Conversations inbox opt out
Closes CNVS-11854

Test Plan:
1) Restart  your server after checking out this code (there is new feature flag)
2) As a user, visit /profile/settings and see that there is no option
   for disabling the inbox
3) As an instructure employee viewing settings for the root account,
   turn "on" the inbox opt out feature flag. If the button says "allow"
   instead of "on", you are in the wrong place and want to be on the
   account's settings, not the site admin settings.
4) As a user, visit your settings again: /profile/settings
5) See that you can now disable the inbox.
6) Do so.
7) Check the that conversations notification settings no longer appear
   at /profile/communication
8) Check that when you have new conversation messages, the unread
   messages badging doesn't display on the inbox link in the main nav
9) Visit your settings a 3rd time, and un-disable the inbox
10) check that the inverse of 7 & 8 are now true

Change-Id: I061e2d3ab9052a7809fb43f80d8e2e92d99316ee
Reviewed-on: https://gerrit.instructure.com/38313
Reviewed-by: Joel Hough <joel@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Matthew Wheeler <mwheeler@instructure.com>
QA-Review: David Josse <david@instructure.com>
2014-08-06 23:12:26 +00:00
Paul Hinze 10f2db26f8 Add playback speed selection to the HTML5 media player
Test plan:

 - Ensure the "Prefer HTML5 for video playback" feature is enabled
 - Navigate to a page with a Canvas video player
 - Observe the additional speed control present to the right of the
   subtitle selector
 - Selecting speeds should change the playback speed of the video
 - Test various combinations of interaction, changing the speed while
   the video is playing, paused, after it has completed - everything
   should behave according to reasonable expectations
 - Repeat the test for an audio player
 - Note that Firefox will often fall back to a Flash-based player, which
   does not support playback speed control. This Firefox behavior is a
   separate issue which will be addressed in other commits.
 - Ensure that multiple players on a page work properly together

Change-Id: I322368140fa362bcaf47b2e4d8236c25e148a91a
Reviewed-on: https://gerrit.instructure.com/38479
Reviewed-by: Zach Pendleton <zachp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Ben Hutchings <benh@instructure.com>
2014-08-06 18:28:12 +00:00
Cody Cutrer 4b9d76bb92 improve handling of logout issues
refs CNVS-14595

quit pinging the server with requests that will fail after you've
been logged out

test plan:
 * enable page views
 * log in, and go to an assignment page. enable request monitoring
 * be constantly moving your mouse while on this page
 * notice a request to /ping every 3 minutes, and /page_views every
   5
 * stop your server
 * go back and continue moving your mouse
 * requests to /ping and /page_views should fail, but continue
 * restart your server
 * requests should now succeed
 * in another browser, or an incognito window, log in as the same
   user, then log out
 * in the first window, the request to /ping should fail with
   a 401, and the request to /page_views should fail with a 422
 * continue moving your mouse - requests should stop

note that it's easiest to reduce the 3/5 minute times by adjusting
them in app/coffeescripts/behaviors/ping.coffee and
public/javascripts/page_views.js

Change-Id: Id558504f940af51df8bb410d1d88668cd95fdb38
Reviewed-on: https://gerrit.instructure.com/38733
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2014-08-05 21:38:31 +00:00
Paul Hinze 70b38563df Remove manual hacks from mediaelement js/css
Rather than running our script that stitches together mediaelement js
and css files and _then_ manually editing in our hacks, enhance the
build script to be able to pull specific customizations from local
files.

Use this new facility to stitch in our "upload subtitle" feature in
more cleanly.

Also normalize the whitespace in our hacks to match me.js tab style to
reduce the diff between our code and upstream.

Note that the diff when ignoring whitespace on
public/javascripts/vendor/mediaelement-and-player.js is only comments.

On the CSS side, we pull out the full screen subtitle font-size bump
into a separate file. We also update the target location for the
vendored CSS file in the build script.

Now `rake build_media_element_js` should be idempotent.

Test plan:

 - Verify the media player works for video and audio.
 - Verify that captions in full screen videos show with a large font

Change-Id: I698b0c3454c12bfa4efffc2d98ab9056d351220c
Reviewed-on: https://gerrit.instructure.com/38455
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Paul Hinze <paulh@instructure.com>
2014-08-04 19:04:16 +00:00
Aaron Cannon 03389e6093 Accessibility: Names of external links are no longer obscured for SR users
Fixes CNVS-14483

Test plan:
- Add a link to an external site, such as Google, to a wiki page
- View the page with a screen reader and verify that the name of the external
  link is read, and that the text informing the user that it is an external
  link is appended to the link name.
- Verify that the visual appearance and opporation of the external link is
  uneffected

Change-Id: I689045fa09191239637dc686352bf6a0728ead0e
Reviewed-on: https://gerrit.instructure.com/38499
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
2014-08-01 19:19:41 +00:00
Ahmad Amireh 197b329ad3 DS Quiz Moderate - Show proper extra allotted time
Closes CNVS-2143

TEST PLAN
---- ----

  - create a quiz with no questions, set a time limit
  - visit the moderate page (DS, not ember)
    + click the little pencil/edit icon next to a student row of your
      choice
      - give them like 3 extra minutes for each attempt
        + verify you see "gets 3 extra minutes on each attempt" in the
          block
    + do it again, give them 0 minutes
      - verify the message disappears
    + rinse and repeat with different inputs for different students,
      it should always update properly

Change-Id: I0f8724b95221f52d6eba94577fcbae1bfd47d1b8
Reviewed-on: https://gerrit.instructure.com/38418
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
2014-07-31 15:48:52 +00:00
Jon Willesen 0061cb1b19 fix subaccount action links to support NVDA screenreader
fixes CNVS-14163

test plan:
 - visit the sub_accounts page for an account
 - navigate through the account action buttons via screen reader
   and make sure meaningful text is read
 - specifically with NVDA, navigate through the account action
   buttons via arrow keys and make sure meaningful text is read
 - when an account has courses in it, the delete account button
   should read the reason it is the account cannot be deleted
 - when an account does not have courses in it, the delete
   account button should read normally
 - make sure the page has not visually changed

Change-Id: Ic08070d333bd041fc120cd82183aea0fa1724c6a
Reviewed-on: https://gerrit.instructure.com/38338
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Reviewed-by: Aaron Cannon <acannon@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
2014-07-30 19:59:08 +00:00
Jeremy Stanley dcb5ddedf3 fix 'C:\fakepath\' in files uploaded via add-module-item
test plan: using Chrome 36, upload a file via the "Add Module Item"
dialog on the modules page. the module item should match the file name
and should have any path, fake or otherwise, stuck in front of it.

fixes CNVS-14380

Change-Id: I050ea93797468636b3d35846cf54ebe3d6c302cc
Reviewed-on: https://gerrit.instructure.com/38047
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Willesen <jonw@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2014-07-29 14:08:56 +00:00
James Williams 8162b8550a queue content migration through content-item launch
test plan:
* set up a course_home_sub_navigation enabled tool, as in
 the test plan for g/37834
* launch the tool from the course home page
* select the imscc file on the test tool content
 selection page
* should be redirected to the content_migration page
 and have a new migration queued for the course

closes #CNVS-13797

Change-Id: If94e65d2ba3c1f2ed53624b6a3b4c9a75d25c5ce
Reviewed-on: https://gerrit.instructure.com/38206
Reviewed-by: Jon Willesen <jonw@instructure.com>
Product-Review: Jon Willesen <jonw@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
2014-07-29 13:10:30 +00:00
Ryan Florence 88afac883e [wip] magic modules
Change-Id: I68283129aa2fe8146ab804adbce1fb6699f2f5bb
Reviewed-on: https://gerrit.instructure.com/37213
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Product-Review: Ryan Florence <ryanf@instructure.com>
QA-Review: Ryan Florence <ryanf@instructure.com>
2014-07-28 21:24:37 +00:00
Colleen Palmer 5422219490 Changes the path for fontcustom compile
This recompiles the iconfont to have the correct path and
edits the styleguide path info

Testing:

- When you go to styleguide all the icons should appear

Change-Id: I1a300cd20b9965782771b7eabf8b475bd22f15c2
Reviewed-on: https://gerrit.instructure.com/38135
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
2014-07-28 20:50:25 +00:00
Colleen Palmer d972788bea This changes and reorganizes all of our css structure. It starts
to consolidate some of the stylesheets, but the majority of work
has just been to reorganize the files that we have so they can more
easily be found and edited. Not to mention a structure than can
organize any new features and styles we put into canvas!

7/23
* added correct path for compiled course_settings
* took out repeated variable sheet in publish_gradebook

7/22
* fixed css path for conversations styles

7/21
* changes from master rebase
* took out context_modules.sass because it was old and unused

7/17
* brought back legacy sass files and changed to right paths
* taking out ComboBox to move to analytics plugin
* moved tinymce file to correct place, fixed js file paths to point
to it correctly
* brought tinymce sass file to stylesheets root to see if
jenkins passes
* rebased master, took out onneeded _environment.sass

fixes DES-83
* regression fixes from master rebase

fixes DES-83
* fixes compile error on jst/UserObservees.sass pulling in environment

fixes DES-83
* brings back in calendar.css so we can separate that deletion out
  on a separate occasion

fixes DES-83
* take out user_observees since it's a handlebars sheet

fixes DES-83
* stylesheets/pages/ now has compiler sheets
  and a /shared/ partials folder
* consolidation for assets_real.yml - we've knocked this down
  to each page having one sheet that is compiling
* moved anything in /public/stylesheets that wasn't
  in our /app/stylesheets/ into there for better organization
* we've purged a few files that weren't being used or have been
  updated elsewhere

fixes DES-83
* takes out unneeded _newheader file
* removes redundant @import base/environment in _g component files
* renames app_common to c-common
* moves static css from /public into assets/stylesheets and modifies assets_real.yml to reflect new paths

fixes DES-83
* added _ prefix to g_ components in /components so they won't compile to stylesheets

fixes DES-83
reworking the way that we're overriding bootstrap
* deleted bootstrap-parts directory
* moved bootstrap-parts scss to /base
* renamed _main.scss to _custom_bootstrap.scss
* renamed _overrides.scss to _bootstrap_overrides.scss
* deleted empty and unused popover.scss file

fixes DES-83
moved /mixins into /base since they were only being called into _environment.sass

fixes DES-83
consolidated /bootstrap into /vendor

fixes DES-83
consolidated utilities into components

fixes DES-83
initial folder structure added
* reorganized existing css files for better structure

fixes DES-83
got rid of unneeded dump file

Change-Id: Id6f1409d478087a6cf9ebaa19ffa3a10b50891ca
Reviewed-on: https://gerrit.instructure.com/37280
QA-Review: Adam Phillipps <adam@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
2014-07-25 19:58:40 +00:00
Cameron Sutter 79f45f569d DA - quiz edit page
fixes CNVS-9766

test plan:
 * turn on the Differentiated Assignments feature flag
 * from the quiz edit page
  - add a due date for some of the sections, but not all
  - save (update quiz)
  > the only_visible_to_overrides flag on the quiz should be true
  > edit the quiz again and there should not be an
    empty due date row for 'Everyone else'
  - add a due date for all the sections
  - update the quiz
  > the only_visible_to_overrides flag should not be there
  - edit the quiz so that there are only due dates
    for some sections but not all
 * on the normal quiz show page and
 * on the new Quiz Statistics show page
  > there should not be a row in the due date area
    for 'Everyone else'
 - turn off the DA flag and make sure the quiz show page works
   with the 'New Quiz Stats page' flag and without it
 - make sure the edit page works with the DA flag off as well

Change-Id: Ifb090a195ff3283d963df12ae7a9eb503f32ee86
Reviewed-on: https://gerrit.instructure.com/34085
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
Product-Review: Cameron Sutter <csutter@instructure.com>
2014-07-23 14:41:24 +00:00
Ryan Shaw 6034184ee4 add search to files and convert to react
closes: CNVS-12642
closes: CNVS-11221

test plan:

nothing should have changed for courses/accounts that
have the feature flag 'better_file_browsing' turned off
but I guess make sure.

with it turned on, you should be able to browse the
files in your course, search for things, and re-sort.

it should paginate, download files you click on,
show thumbnails of files (where it has one) and you
and see the files usage in the bottom left.

things that I know dont work:
* the folder tree thing on the left is still
  just static html, not the actual files in your course.
* it does full page reloads when you go from
  looking at one folder to another or when you
  search for something. I am going to fix that.

I know there is still work to be done here to consider
the entire files section complete, but this is a solid
foundation so that sterling and I can collaborate and
work forward.

Change-Id: Ia79ddba4318b7d6e52b38a87e91f615552da250b
Reviewed-on: https://gerrit.instructure.com/37491
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Sterling Cobb <sterling@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2014-07-22 22:07:52 +00:00
Brian Palmer 995bae86ab add Persian (fa-IR) crowdsourced language
closes CNVS-14232

test plan: enable translations, change your language to fa-IR, and
verify translations are displayed

Change-Id: I9bd726bd0f3d1287b4c3c48823ca5b3f69cbc891
Reviewed-on: https://gerrit.instructure.com/37829
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
2014-07-21 23:20:47 +00:00
Brad Horrocks 5dce203a7d "Add Rubric" button will reappear after rubric has been created
Changed limitToOneRubric to be true when the rubric list is outside of the main rubric area. I found
that the class raw_list seems to only be used on the the #rubrics element inside the Rubrics section.

Fixes CNVS-5135

Test Plan
=========

Places to where you can add multiple rubrics
--------------------------------------------

- /accounts/:id > Rubrics
- /courses/:id > Outcomes > Manage Rubrics

**Steps**

- Click "Add Rubric"
- Note that the "Add Rubric" button is now gone.
- Click "Create Rubric"
- The "Add Rubric" button should reappear
- you should be able to repeat the steps to add more

Places where you can only add one Rubric
----------------------------------------

- /courses/:id/assigments/:id
	- The assignment can't already have a rubric
- /courses/:id/discussion_topics/:id > (cog) > Add Rubric

**Steps**

- If a rubric is not auto created. Click "Add Rubric"
- Note that the "Add Rubric" button is now gone.
- Click "Create Rubric"
- The "Add Rubric" button should **NOT** reappear

-

Change-Id: I22c67289db19bd6f517815802a95f8cbc638a811
Reviewed-on: https://gerrit.instructure.com/37552
Reviewed-by: Cameron Sutter <csutter@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Brad Horrocks <bhorrocks@instructure.com>
2014-07-18 17:50:59 +00:00
Nathan Mills a91d9c09d0 add lti2 models and registration endpoints
fixes PLAT-522 PLAT-429 PLAT-545 PLAT-540 PLAT-498

test-plan
you can register an lti2 tool

Change-Id: If045b694213e1019f8a595b63a7e33ea4ac28e64
Reviewed-on: https://gerrit.instructure.com/37095
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Reviewed-by: Brad Humphrey <brad@instructure.com>
2014-07-18 16:42:10 +00:00
Colleen Palmer 0212b59646 Support for fontcustom for canvas icons
This uses the fontcustom gem to compile our icons from svgs in the
public/fonts/ folder. No more complicated workflow for adding/editing
icons!

Way to test:
  * Add your new svg to public/font/icons/
  * Important!! Edit template file to update
    stylesheet in public/font/_canvas-icons.scss
  * Run the rake task to compile: bundle exec rake icons:compile
  * Check the styleguide to make sure they're pulling in
  * Done!

Update
fixes DES-101
-takes our core_en.js file (unneeded)

fixes DES-101
- Changes font directories
- Tweaked documentation

fixes DES-101
- Tweaked documentation
- Changed directories for font icon
- Added unique hash to font name

fixes DES-101
- Changed rake task to perform bundle exec
- Updated documentation
- Added missing config file

fixes DES-101
Takes out the default [date-icon] css fontcustom puts in

fixes DES-101

Take out all the icomoon comments in the svgs

fixes DES-101

Added missing icons to font

fixes DES-101

Adds the fontcustom gem to a different gemfile

Change-Id: I9860cb074baaf4518548c9d87c1177a14d96a44c
Reviewed-on: https://gerrit.instructure.com/36974
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
2014-07-18 15:47:45 +00:00
Jon Jensen 14319fd7e8 update _core_en.js for rails3
since rails3 is the default, check in the new version so that others
don't get prompted to

test plan:
n/a, see spec ... in the real world compile_assets will ensure it is
current. this file is in version control to ensure dev i18n.js doesn't
asplode if you aren't compiling assets

Change-Id: I182b0864fd8fe4c4176fd71f695e19f6f7b405a9
Reviewed-on: https://gerrit.instructure.com/37795
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
2014-07-17 18:20:32 +00:00
Ryan Florence 7058e24e9d remove property name collision on js strings
fixes CNVS-14258, CNVS-14237, CNVS-13700

Change-Id: I6d298c2729c302ad1aac245a9a0cdde5d3835e98
Reviewed-on: https://gerrit.instructure.com/37776
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Reviewed-by: Liz Abinante <labinante@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Ryan Florence <ryanf@instructure.com>
2014-07-17 18:01:50 +00:00
Cameron Matheson 9c8700a842 fix speedgrader multiple submission bug
refs CNVS-13920, refs CNVS-13447

Test plan:
  * submit multiple crocodocable submissions to an assignment for one
    student
  * submit a single crocodocable submission for another student
  * try grading each version of the submissions in speedgrader
  * after grading, you should remain on the same submission version
    (but switching versions should still work)

Change-Id: Idb4244b0ba0f92550a8dbd761a013a67fca8d33a
Reviewed-on: https://gerrit.instructure.com/37711
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
2014-07-15 23:45:56 +00:00
Scott Wurzel ea560bac4a Allow more than 1 student to be ignored on upload
Fixed an error where upon uploading a file to the grade book, you could
only select one student to ignore. The option would be unavailable for
selection after choosing it for one individual.

Test Plan:
- Upload a grade book file that includes at least 3 unmatched students. You can
  do this by downloading the csv and then deleting their id and sis_id
- On the resolution screen, ignore the first, and match the second
- You should be able to ignore the third student
- Different combinations of ignore and match should work

Change-Id: I922490986b12aedbbae3c46a906ab2b41871f504
Reviewed-on: https://gerrit.instructure.com/37323
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
Reviewed-by: Cameron Matheson <cameron@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Bryan Madsen <bryan@instructure.com>
2014-07-15 23:28:21 +00:00
Joel Hough d87c62f480 fix up date formatting in datetime_field
fixes CNVS-13701

implementing the expert advice given in g/36100 comments

test plan
- ensure that course and local datetimes display properly in
 assignment and quiz edit dialogs

Change-Id: I8083fd2b3064498365039f18ec2f08cb1704eec0
Reviewed-on: https://gerrit.instructure.com/37594
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
Tested-by: Matthew Wheeler <mwheeler@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>
2014-07-15 20:45:33 +00:00
Jeremy Stanley 1b0fba4297 fix add-item, expand, and reorder links in newly created modules
fixes CNVS-14229

test plan:
 1. add a new module
 2. without refreshing the page, add an item to the module
    - no ajax error should occur
    - refresh the page, and the newly added item should still
      be there
 3. also verify that newly added modules can be expanded, collapsed,
    and reordered, no ajax errors occur, and that these changes
    persist after refresh

Change-Id: Id8f0326d2978542231d43f6ab2118854d13c31cb
Reviewed-on: https://gerrit.instructure.com/37689
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2014-07-15 18:58:51 +00:00
Ahmad Amireh ab0c410b49 Quizzes - Lock down results after first view
Adds an option to Quiz that prevents the students from seeing their
results more than once after their submission.

Closes CNVS-13877

CHANGES
-------

  - New option in quiz settings:
    "Let Student See Their Responses" => "Only Once After Each Attempt"
  - Teacher can always see the student's results
  - Moderate dialog allows teacher to manually reset the result-locking
    flag, allowing the student one more glimpse
  - The flag is reset whenever a new attempt is taken

TEST PLAN
---- ----

  - create a quiz
  - toggle the new option: "Let Student See Their Responses" then "Only
    Once After Each Attempt"

Turn off Ember/quiz stats:

  - take the quiz by a student, turn it in:
    - verify that you see your results
    - reload the page
      - verify that you no longer see the results
  - take the quiz again:
    - verify you see the results once, then not
  - go to the moderate page as the teacher
    - open the moderate dialog for that student
      - check the new option "Let the student see the results one more
        time"
      - click Save
        - reload the page as the student, verify that you see the
          results

Turn on Ember/quiz stats:

  - repeat the process

Other things to test:

  - verify the new field "has_seen_results" is visible in the
    submissions API and is documented
  - verify the new field "one_time_results" is visible in the quizzes
    API and is documented properly
  - verify that the new option has no effect if the Quiz option is not
    set
  - verify that you can always see the student's results as a teacher
    (the setting should not affect teachers)

Change-Id: I6eb4909f777e038acf6afc9ef2823352f5ea78be
Reviewed-on: https://gerrit.instructure.com/37544
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
2014-07-15 09:47:56 +00:00
Ryan Shaw 69c7cc3cb6 make fullscreen video caption text a little bit bigger
fixes: #CNVS-13792

test plan:
watch a video in fullscreen that has captions,
they should be bigger than they were

Change-Id: I11b1fbb32c50a7f59fe536becdfda9e9026613cb
Reviewed-on: https://gerrit.instructure.com/37489
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Willesen <jonw@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2014-07-15 04:09:11 +00:00
Cameron Matheson 02ed89e281 fix crocodoc bug in speedgrader
fixes CNVS-13920, fixes CNVS-13447

Test plan:
  This needs to be tested against two different HEADs D:
  (6318ca161 and master)

  * Go to speedgrader in an assignment that has crocodocable submissions
  * Make sure the submission loads in crocodoc
  * Assign grades to a student
  * The submission should still be displayed in Crocodoc
  * The submission dropdown should work correctly

Change-Id: If42efff4b8f6f9301fc1a5dbe5c4f52caf9a295c
Reviewed-on: https://gerrit.instructure.com/37419
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
2014-07-14 23:16:15 +00:00
Ryan Florence 065093e97c added React.JS
we aren’t using jsx (yet, anyway) bring it into a
module like anything else:

    define ['react'], (React) ->

There’s also a helper module to make building
your UI simpler at `compiled/withReactDOM`. It
safely moves everything from `React.DOM` to window
during a function call for convenience.

Change-Id: Ibf64f0b207411c31b92f30dddc6ce188d9462e11
Reviewed-on: https://gerrit.instructure.com/37376
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Ryan Florence <ryanf@instructure.com>
QA-Review: Ryan Florence <ryanf@instructure.com>
2014-07-10 15:25:35 +00:00
Rob Orton 73969932b7 add norwegian or nb translation
closes CNVS-14012

test plan
 - change your user settings to Norwegian (Bokmål)
   and verify that the new translations appear properly 

Change-Id: I4adf61a6d39f2ef05bb7fe2e66f76b2325cfa004
Reviewed-on: https://gerrit.instructure.com/37386
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
2014-07-09 14:51:29 +00:00