Commit Graph

12834 Commits

Author SHA1 Message Date
James Williams 33a9624a74 fix module unlock date with i18n
test plan:
* enable localization and choose a language for the course
 with a different date format (e.g. Japanese)
* create a module and set an unlock date
* reload the page
* try to edit the module
* confirm that it did not localize the date inside the input box,
 thus breaking the form

closes #CNVS-14984

Change-Id: Ice4b4d83c9bffa06d3292b123c2e10c632801718
Reviewed-on: https://gerrit.instructure.com/42177
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
2014-10-03 20:37:06 +00:00
Michael Nomitch 8e19f7e439 DA - change warning dialog
fixes CNVS-15853

test plan:
  - with DA on
    - make a differentiated assignment and dont assign it to every section
    - when saving there should be a new warning message
      "Not all sections will be assigned this item"...
  - with DA off
    - do the same (make sure "everybody else" is not checked)
    - dialog should give the old warning
  - in both scenarios the Go Back button should be on the left now

Change-Id: I0f8728cda8e56e295b40c01e1b8d8b2956694092
Reviewed-on: https://gerrit.instructure.com/41857
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Sean Lewis <slewis@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
2014-10-03 20:08:02 +00:00
James Williams 1c65f9cd01 should not improperly escape imported urls
test plan:
* in html content (such as a wiki page), add a link
 to reference an external tool by url (the tool itself
 doesn't really need to exist, but the link won't work)
 passing in an escaped url that itself has a
 query string referencing an escaped url

e.g.:
if you had a tool configured for http://www.example.com,
you could add a link to

```
<a href="/courses/COURSE_ID/external_tools/retrieve?url=
http%3A%2F%2Fwww.example.com%3Furl%3Dhttp%253A%252F%252F
www.anotherurl.com">Link</a>
```

(replacing COURSE_ID with the course's id)

* copy the course
* the link in the new page should be identical in form
to the old

closes #CNVS-13185

Change-Id: I6bd57e10a7306823061f0d38c8214655a2e197c6
Reviewed-on: https://gerrit.instructure.com/42117
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
2014-10-03 20:05:43 +00:00
Matthew Berns 79597c7942 made course pages invisible to students if tab is hidden in navigation
fixes CNVS-14311

test plan:

- hide pages from navigation in course settings
- as a student, visit courses/1/pages
- should see error saying that the page is not available
- as a student, visit /api/v1/courses/1/pages
- should see message saying page is disabled

Change-Id: I474e2adf1130c3bedd1b1347debd71de0d3ecb50
Reviewed-on: https://gerrit.instructure.com/40702
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
2014-10-03 20:02:00 +00:00
Chris Hart 9e9fd077cf Color contrast - Outcomes
CNVS-15581

Two small UI tweaks to increase foreground-
background contrast in the Outcomes section.

IMPORTANT: This ticket is only for the high-
contrast UI. To enable the high-contrast UI, go
to Settings then scroll down and make sure
"Use High Contrast Styles" is set to ON.

Test plan:
- Refer to the image I attached in JIRA with the
  fixes circled in red.
- Enable high contrast UI in Canvas (see above)
- Go through each issue Nathan entered into the
  JIRA and compare with the updated UI to make
  sure it's fixed.
- The webAIM color contrast tester can be found
  here: http://webaim.org/resources/contrastchecker/

Change-Id: I6bfe367dbec27db373ceba582dc04032cbe90ae9
Reviewed-on: https://gerrit.instructure.com/42096
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Vincent Gonzalez <vgonzalez@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
Product-Review: Chris Hart <chart@instructure.com>
2014-10-03 19:54:27 +00:00
Cody Cutrer e14f975e7a Merge pull request #509 from sfu/fix-group-context-take2
Add course and term names under group listings

Change-Id: Ibb90c7a511771a27f55c5f77649191d4ef1a41c9
2014-10-03 12:48:25 -06:00
Jayce Higgins 31cebb98f4 Makes conversation course filter accessible
fixes: CNVS-14514
CNVS-12805

test-plan:
1.) Make sure your user is in a group
2.) Navigate to conversations
3.) With screenreader on, navigate to course filter
4.) Verify that the drop down is navigable
5.) Navigate to compose message and verify that the
    course filter there is also navigable

Change-Id: I10d8f2131645adb59fab4a9b200591c1fd341010
Reviewed-on: https://gerrit.instructure.com/41915
Product-Review: Aaron Cannon <acannon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brad Horrocks <bhorrocks@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
2014-10-03 17:35:52 +00:00
Brad Humphrey ddb44a5d61 add lti variable substitution for $Canvas.api.baseUrl
test plan
 - install a tool with the $Canvas.api.baseUrl custom param
 - it should substitute with scheme, host, and port

fixes PLAT-668

Change-Id: I7ca633fd3e44dcf632aefb59491866554636226f
Reviewed-on: https://gerrit.instructure.com/42119
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Severson <markse@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brad Humphrey <brad@instructure.com>
2014-10-03 17:14:45 +00:00
Cody Cutrer dacf060160 no more dynamic finders
fixes CNVS-15126

Change-Id: I48b99ff69942463df6d6c355fe6f8a2fc679e69a
Reviewed-on: https://gerrit.instructure.com/41969
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2014-10-03 16:22:49 +00:00
Cody Cutrer aa5a809ba1 fix writing attachments as an attribute on a submission
refs CNVS-15830

test plan:
 * submit some homework with multiple files
 * they should all be there

Change-Id: Iba881874552b9d93255467bbecc6f4607d2d95c2
Reviewed-on: https://gerrit.instructure.com/41973
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Nick Cloward <ncloward@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2014-10-03 16:17:15 +00:00
Cody Cutrer 7a8e9a06b5 avoid writing bogus attributes during report
refs CNVS-15830

test plan:
 * run the student_assignment_outcome_map report
 * it shouldn't asplode, and assignment url and submission date
   columns should have data (once you have any rows in the report
   at all - looks like you need a submission for an assignment tied
   to an outcome)

Change-Id: I0a202dc9c08ee8a95d614105f31a13f0cf961a0c
Reviewed-on: https://gerrit.instructure.com/41981
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Nick Cloward <ncloward@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2014-10-03 16:17:00 +00:00
Cody Cutrer 1d413521ec don't use write_attribute for primary_enrollment data
refs CNVS-15830

test plan:
 * the courses menu should not asplode

Change-Id: Ibec8f2496df476767472bf2245edde63909e7b16
Reviewed-on: https://gerrit.instructure.com/41980
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Nick Cloward <ncloward@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2014-10-03 15:54:13 +00:00
James Williams 61c51c7724 add user access logging to various endpoints
test plan:
* with cassandra and page views enabled, should be able to
log user access to:
 - course home
 - course modules index
 - outcomes index,
 - assignments index
 - pages index
 - external urls
 - external tools tools

(and be able to view them in the user access report)

* also confirm that visiting the discussions index
does not register multiple views when visiting once

closes #CNVS-15321

Change-Id: I43329b1764cdf0c313f548f6aefa3af26c03f300
Reviewed-on: https://gerrit.instructure.com/42075
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
2014-10-03 14:22:48 +00:00
Dan Minkevitch d1e8717120 Fix alerts label/radio button Firefox bug
In Firefox, when an `input` is inside a `label`,
and the `label` is for a `radio` button that's
not that `input`, and that `input` is focused,
the focus shifts from the `input` to the `radio`
button, not allowing you to type within that input.
This is a known Firefox "bug":
https://bugzilla.mozilla.org/show_bug.cgi?id=213519

fixes CNVS-15519

test plan:
-Log in as account admin
-In account settings enable "Alerts (Beta)"
-Click on the "Alerts" tab and start to set up an alert.
-Try to type a value for "Re-send alert every __ days until resolved"
-Numeric value can be typed and saved.

Change-Id: I1d71d803b55879eaa0c279e19be136e7c3614570
Reviewed-on: https://gerrit.instructure.com/42186
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Dan Minkevitch <dan@instructure.com>
2014-10-03 13:32:32 +00:00
Joel Hough d678424a8d fix peer review notification links
fixes CNVS-15257

test plan
- cause a peer review notification to be sent from an account with
 a domain name other than the default
- ensure that the links in the notification use the correct domain

Change-Id: Ia0042367317aab3308bc2c8c82138ee1de22f22a
Reviewed-on: https://gerrit.instructure.com/42108
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Severson <markse@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>
2014-10-02 22:39:12 +00:00
Clay Diffrient 9a4f37a4bc Implement New Files Preview
This is the first commit of preview functionality into New Files
it isn't polished, but should be a good starting point for
polish.  Tickets are being created to account for any remaining
tasks.

closes CNVS-14727

Test Plan: (sorry kinda big)
  - Enable "Better File Browsing" for a course
  - Go to course files (/courses/##/files)
  - Make sure you have some images uploaded... since that's all
    that is really supported.
  - Click on a file (but not on the file name itself)
  - It should highlight
  - Click the "View" option in the toolbar that should appear
  - An overlay should cover the screen
  - You should be able to tab to each of the interactive
    elements on this page
  - Clicking Download should download the file.
  - Clicking Info should open the information panel.
  - Clicking the show button at the bottom should open up the
    preview thumbnails
  - The arrow keys (and the buttons on the screeen) should
    navigate left/right
  - A non-image file should show you a nice message telling
    you it can't be previewed yet.
  - Clicking close should, you know... close the panel.
  - Now select multiple files and click "view" again.
  - Perform all the same tests, but now you should be limited
    to only the items that you selected.

Change-Id: I8f48a133f739b9bddda5e340f5156269691c7870
Reviewed-on: https://gerrit.instructure.com/41451
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
2014-10-02 22:37:03 +00:00
Cameron Matheson df6d8b969b show groupless submissions in speedgrader
fixes CNVS-15753

Test plan:
  * make a group assignment with a group category that has no groups
  * submit some homework
  * the submissions should display (and be gradeable) in speedgrader
  * add some groups (with people in them)
  * submit more homework for the people with groups
  * the submissions for people in groups and people not in groups
    should all display
  * downloading submissions should work as well

Change-Id: I7e6081cec61936c4f833394e995963698f4b57b7
Reviewed-on: https://gerrit.instructure.com/41596
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Matt Berns <mberns@instructure.com>
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
QA-Review: Sean Lewis <slewis@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-10-02 22:19:40 +00:00
Cameron Matheson 72e89eea45 Revert "prevent ungrouped users from submitting to group assignments"
We actually do want non-grouped students to be able to submit.

This reverts commit bcdc5f3328.

Change-Id: I6786483027cd54ef62c6f6b51317fa6a0d940afb
Reviewed-on: https://gerrit.instructure.com/41506
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
2014-10-02 22:19:29 +00:00
Joel Hough 8ce93f9f9f don't load all contexts for section recipient lookup
fixes CNVS-15797

test plan
tl;dr - regression test recipient finder, it should be faster for
 sections

- as a teacher with many courses in many accounts (10ish? as long
 as it usually causes a delay in the address book), begin composing
 a message in the conversations inbox
- select a course from the context dropdown
- using the recipient finder, select 'Course Sections'
- select a section
- ensure that the delay between selecting the section and seeing
 the section users is less than before this commit
- ensure that the section user list has the same contents as
 before this commit

Change-Id: I5ede3d05c25580d9cb354dfd5a4bd03ed6a2e440
Reviewed-on: https://gerrit.instructure.com/41755
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brad Horrocks <bhorrocks@instructure.com>
Reviewed-by: Mark Severson <markse@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>
2014-10-02 21:04:00 +00:00
Jeremy Stanley 36a5c0e0c1 external tool logout service
test plan:
 0. configure an external tool that
  - reads the $Canvas.logoutService.url
  - POSTs to this address, adding a 'callback' parameter
    specifying the URL canvas should GET when the user
    logs out of Canvas
  (see the platform team for help with this step)
 1. launch this tool
 2. log out of canvas
 3. ensure the logout callback is called

closes CNVS-15764

Change-Id: Iaa66212d8068f2c6f919477bae509a05f1a2993c
Reviewed-on: https://gerrit.instructure.com/41745
Reviewed-by: Brad Humphrey <brad@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
2014-10-02 20:46:25 +00:00
James Williams 2cfd50d759 fix message attachments in IE 10
test plan:
* using IE 10, should be able to add attachments when
 composing a message in conversations and send the
 message successfully
* should also work in other browsers as before

closes #CNVS-13369

Change-Id: I28459ffbbd9a58751c26d69ce9c6718d3a05c304
Reviewed-on: https://gerrit.instructure.com/42093
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
2014-10-02 20:24:03 +00:00
Joel Hough 56e2e8979a show module footer for topics with assignment content tag
fixes CNVS-15922

test plan
- create a graded group discussion
- create a module
- using the api, add the assignment linked to the topic to the
 module (make sure not to add the topic itself, ever)
- add other items to the module so that the module navigation
 footer will have something to navigate too
- navigate to the discussion topic show page
- ensure that the module navigation footer appears at the bottom
 of the page

Change-Id: I74d5bed96a2dec20f5fa66c3a4fd6b4e39e5b1db
Reviewed-on: https://gerrit.instructure.com/42035
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brad Horrocks <bhorrocks@instructure.com>
Reviewed-by: Mark Severson <markse@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>
2014-10-02 19:53:06 +00:00
Ahmad Amireh 73cf512ee9 CQS - lock down NPM dependencies
Closes CNVS-15990

Change-Id: I8a67acc5247b005fdd1841b5de607c8beff68762
Reviewed-on: https://gerrit.instructure.com/42154
Reviewed-by: Ryan Florence <ryanf@instructure.com>
Product-Review: Ryan Florence <ryanf@instructure.com>
QA-Review: Ryan Florence <ryanf@instructure.com>
Tested-by: Ryan Florence <ryanf@instructure.com>
2014-10-02 19:19:30 +00:00
August Thornton 77b180299e fix a broken route due to rails 4
refs  CNVS-15128

Test Plan:
* Upload a Picture for a user Avatar
* Should work

Change-Id: If2a78042957871750e0a72e07a5d61974f65df55
Reviewed-on: https://gerrit.instructure.com/42134
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: August Thornton <august@instructure.com>
QA-Review: August Thornton <august@instructure.com>
2014-10-02 16:46:50 +00:00
Clay Diffrient 51ca74bb0d Adds a title and heading to new Files
fixes CNVS-15592

Test Plan:
  - Enable better files browsing
  - Go to files
  - An H1 tag should be there for screen readers only
  - The title in the header/tab should be present as well

Change-Id: I045b9516148b4adc5e351f17dd6d551c211631d1
Reviewed-on: https://gerrit.instructure.com/41945
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
2014-10-02 14:34:00 +00:00
Ryan Shaw c6c2cc01ee implement drag-n-drop move for newfiles
closes: CNVS-14866

also, fixes some specs that were really brittle and
causing lots of pain and frustration with jenkins.

test plan:
open newfiles
select some things
try dragging them to another folder on the page
it should work equally as well to drop on folders
shown in the left folder tree as well as
folders shown in the main panel

Change-Id: Ieaca31640146dbf570a8525733199eb1b8f00c14
Reviewed-on: https://gerrit.instructure.com/41957
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2014-10-02 05:14:03 +00:00
Cody Cutrer 70754f40c9 remove join condition mangling
it's a complicated monkeypatch. easier to just make our code compatible

Change-Id: I2ea89cc7aa5b77a0613f5aca4c1c9f20bf7b8486
Reviewed-on: https://gerrit.instructure.com/41709
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Nick Cloward <ncloward@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2014-10-02 04:46:22 +00:00
Cody Cutrer 22c4396399 fix simply_versioned for rails 4
* attr_accessible defaults to none
 * method_missing will get called for yaml= before
   versionable_type is even populated; don't choke on it

Change-Id: I1d6fcf103452138f73c09bccada1dafa18f02fd4
Reviewed-on: https://gerrit.instructure.com/42070
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2014-10-02 04:19:41 +00:00
Cody Cutrer 65f7e2a03e tweak region scope
refs CNVS-15955

add a scope for specifying the region

Change-Id: I9709e2d47c241115ed9a868ba1660d34e92f126b
Reviewed-on: https://gerrit.instructure.com/42101
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2014-10-02 04:14:31 +00:00
Shawn Meredith 5e7de1578b spec: account_spec syntax error fix
Change-Id: I5901fda68f39e55422008d21811cad5e00b62bf1
Reviewed-on: https://gerrit.instructure.com/42135
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Adam Ard <aard@instructure.com>
Product-Review: Adam Ard <aard@instructure.com>
QA-Review: Adam Ard <aard@instructure.com>
Tested-by: Adam Ard <aard@instructure.com>
2014-10-02 03:48:17 +00:00
Brad Horrocks 2d7338fb97 Fixes for post-merged feedback on 'Announcement Created By You' notification
Added 'Announcement Reply' to notification_types.yml

Removed 'Announcement Reply' from category and category description.
since it is combined with 'Announcement Created By You' in the
notification settings.

Changed 'Announcement Created' to 'Announcement Created By You' in
default frequency. This fixes a bug where the default was set to daily
instead of never
Fixes CNVS-15951

Test Plan:

- With a user who has never set the 'Announcement Created By You'
  Check that 'Announcement Created By You' defaults to nothing

- Check that 'Announcement Created By You' and 'Announcement Reply'
  still function correctly

Change-Id: I7d0894539d34d2588c18394f54cffd84b6db86a2
Reviewed-on: https://gerrit.instructure.com/42076
Reviewed-by: Joel Hough <joel@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-10-01 22:02:14 +00:00
Ryan Shaw 49ce184c73 fix more a11y issues @acannon found
fixes: CNVS-15788

things this fixes:

The buttons in the toolbar are better, but
"restrict access" is still unlabeled.
Also "Downlod as Zip" is misspelled.

The tree no longer appears in the move dialog.

The list of files and folders still does not
appear to have a named landmark.

 "# items selected" is not picked up and read by screenreader

 things this doesn't try to fix:

 the thing about the checkboxes not actually becoming
 checked when clicked, that will be fixed in: CNVS-15785

 CNVS-15929 - make sure cog in newfiles has enough contrast

Change-Id: Ie8e5e0e4c93dfcd229ed73c940b24f7ab342e23b
Reviewed-on: https://gerrit.instructure.com/41706
Reviewed-by: Dan Minkevitch <dan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2014-10-01 21:39:47 +00:00
Joel Hough 8cc061239b don't load audience enrollments for conversations index
fixes CNVS-15886

test plan
- ensure that replying to a contextless conversation (from old
 conversations) still works. you'll have to make one using the
 console

Change-Id: Icdde36a0a2ed278523a293c960982bf317f5df12
Reviewed-on: https://gerrit.instructure.com/42048
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brad Horrocks <bhorrocks@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>
2014-10-01 21:37:06 +00:00
Ahmad Amireh 63a5a8ac4c Extract events from quiz submission snapshots
Closes CNVS-15880

- a new model, QuizSubmissionEvent, for tracking events done during a
  quiz-taking session
- utilizes the quiz question answer serializers to maintain JSON
  representations of the students' answers, which are stored in the
  :answers DB column (also in JSON)
- events can be optimized to track only what has really changed between
  snapshots of a quiz submission
- all exported records are tagged with the "answered" event type (this
  is currently all we have without josh's patch)
- a few fixes were needed for the serializers to function, primarily
  adding (no)support for FileUpload and TextOnly questions so they don't
  blow up

Extras:

- a new convenience rake task, canvas:quizzes:dump_events that can be
  used by support to produce a JSON dump of all the events in a single
  quiz submission (for tracking student behavior)
- another rake task, canvas:quizzes:generate_events_from_snapshots, for
  use by developers for migrating data in QuizSubmissionSnapshots to
  QuizSubmissionEvents for a single quiz (or many). This will hit the DB

TEST PLAN
---- ----

There's no UI in this commit, only touches the DB. You can still test if
you like:

  - make sure you got some data logged before you check out this patch:
    + create a quiz and take it by a student, choose different answers
      so you log some actions, and then:
  - check out the patch
  - run `bundle exec rake db:migrate`
  - run the command below[1] to generate a JSON dump of the events and
    view it for integrity

[1] bundle exec rake canvas:quizzes:dump_events[quiz_submission_id,out]
    - replace "quiz_submission_id" with the ID of the student submission
    - replace "out" with some path to store the JSON in, like
      "./events.json"

Change-Id: Ifd8a43a66aba99780428623b956d868d87e53215
Reviewed-on: https://gerrit.instructure.com/41999
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Reviewed-by: Ryan Taylor <rtaylor@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
2014-10-01 21:23:47 +00:00
Michael Nomitch 8893003b1e DA - quiz messaging
fixes CNVS-15716

test plan:
  - with DA on
    - make a sel_rel'd quiz
    - on the quiz show page, click message_students_who
      - students without visibility should not show up
    - send a message
      - make sure only students with visibility get it
    - on the show page, click "Show Student Quiz Results"
      in the gear menu
      - students without visibility should not show up
  - with DA off
    - repeat the above steps but ensure all students
      show up/get the message

Change-Id: I202599a9a0c26430075c2056b553c03a908b0dfd
Reviewed-on: https://gerrit.instructure.com/41545
Reviewed-by: Cameron Sutter <csutter@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
QA-Review: Sean Lewis <slewis@instructure.com>
Product-Review: Mike Nomitch <mnomitch@instructure.com>
2014-10-01 21:01:28 +00:00
Michael Nomitch 0a5e71d28e DA - quizzes
fixes CNVS-14094

test plan:
  - course with DA as students and teacher
    - api show & index
    - quizzes index page shows only assigned quizzes
    - quizzes show page url redirects to index if
      quiz isnt visible to user
    - grade calculation
    - gradebook/grades page
    - calendar events events
    - modules filter out quizzes correctly
    - observers see same things as their students
    - if a student takes a quiz and it is not graded and then
      loses visibility, make sure that the GB greys out the cell
      rather than showing a submission icon
  - same course with DA off works normally

Change-Id: I10b936f1516d6d24f11d74c0bb572051f0b1d1c4
Reviewed-on: https://gerrit.instructure.com/39897
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Mike Nomitch <mnomitch@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Product-Review: Mike Nomitch <mnomitch@instructure.com>
2014-10-01 20:58:54 +00:00
Chris Hart f1d51a28a5 Make Gradebook 2 high-contrast UI more accessible
Fixes: CNVS-15557

Visual summary of changes:
http://cl.ly/image/181x071u3e2B/CNVS-15557.png

Multiple small UI tweaks to increase foreground-
background contrast in Gradebook 2.

IMPORTANT: This ticket is only for the high-
contrast UI. To enable the high-contrast UI, go
to Settings then scroll down and make sure
"Use High Contrast Styles" is set to ON.

Test plan:

- Enable high contrast UI in Canvas (see above)
- Go through each issue Nathan entered into the
  JIRA and compare with the updated UI to make
  sure it's fixed.
- The webAIM color contrast tester can be found
  here: http://webaim.org/resources/contrastchecker/

Change-Id: I1051691ad6be2911e67c5bb7c637d96c30a38b80
Reviewed-on: https://gerrit.instructure.com/41711
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Colleen Palmer <colleen@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Chris Hart <chart@instructure.com>
2014-10-01 20:58:02 +00:00
Chris Hart c4f2b2f067 Color contrast - Student Grades view
Fixes: CNVS-15567

Multiple small UI tweaks to increase foreground-
background contrast in the STUDENT view of the
Grades section in high-contrast mode.

IMPORTANT: This ticket is only for the high-
contrast UI. To enable the high-contrast UI, go
to Settings then scroll down and make sure
"Use High Contrast Styles" is set to ON.

Test plan:
- Enable high contrast UI in Canvas (see above)
- Go through each issue Nathan entered into the
  JIRA and compare with the updated UI to make
  sure it's fixed.
- The webAIM color contrast tester can be found
  here: http://webaim.org/resources/contrastchecker/

Change-Id: I7eea468504fb0f8be151bfb3417ad27fe0a0e4e6
Reviewed-on: https://gerrit.instructure.com/41828
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Colleen Palmer <colleen@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Chris Hart <chart@instructure.com>
2014-10-01 20:57:39 +00:00
Brad Horrocks a1ea52d133 Accessibility - Add Conversation menu items to individual message cog menus
added Reply Button, and a cog containing Reply All, Forward, Star, Archive, Delete
to the top of the message details

Fixes CNVS-14513

Test Plan:

- Got to an inbox with a message
- Click the message
- There should be a reply and cog at the top of the thread
- The cog should contain Reply All, Forward, Star, Archive, Delete
	- All items should function correctly

Change-Id: I47d4844c794d2033ffda036c43e2486ea4675f4e
Reviewed-on: https://gerrit.instructure.com/41288
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Reviewed-by: Joel Hough <joel@instructure.com>
2014-10-01 20:54:41 +00:00
Ryan Shaw 8f5e7dc83a fix wiki page spec
we were getting this a bunch when running karma specs:
Uncaught TypeError: Cannot read property 'isDirty' of undefined
	at .../public/javascripts/tinymce.editor_box.js:387

Change-Id: Iddcddc6fd84dbd0427262925db9077cc20e10b46
see: http://cl.ly/image/2J2r03171l2K
Reviewed-on: https://gerrit.instructure.com/42112
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2014-10-01 20:41:32 +00:00
Cameron Sutter f0b3594b93 DA - remove N+1 query in GB api calls
fixes CNVS-15819

test plan:
 * with DA on
 - make DA assignments
 > GB should load assignments without errors
 * using the api
 - get /api/v1/courses/:id/assignments and make sure to include
   "include_visibility"
 > it should include the user ids that have visibility as an array
 > it should not throw an error

Change-Id: I978e07188c723626c683ccd07d5c6e9854d94d24
Reviewed-on: https://gerrit.instructure.com/41849
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Cameron Sutter <csutter@instructure.com>
2014-10-01 20:38:42 +00:00
James Williams 5f32fb2dc1 add limited view functionality to accounts api for teachers
test plan:
* as a teacher, ta or designer,
 the use the api to view basic information about
 the accounts that own your courses (using the regular
 "show" action and the "course_accounts" endpoint

close #CNVS-15847

Change-Id: I7109e9af43278ab0f2635fb94dde5795873ae0cc
Reviewed-on: https://gerrit.instructure.com/41909
Product-Review: Hilary Scharton <hilary@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
2014-10-01 19:28:15 +00:00
Rob Orton 169a99dd06 spec change find_by_ to where().first in specs
Change-Id: Idc68e5b5bbecd27bef0f4d84e994fb2cd9680a47
Reviewed-on: https://gerrit.instructure.com/41859
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>
2014-10-01 18:29:36 +00:00
James Williams 1e28d8a37b always sync content workflow states on module publish
fixes an issue where pre-draft state content could
be out of sync with their associated module items,
but would not be synced to published when the whole
module was published

test plan:
* create a quiz/assignment/etc (any module item type
 that syncs workflow state will work) and an associated
 module item
* publish the item
* manually set the content to unpublished in the console,
 e.g.:

```
assignment_id = 10 # use the real assignment id
Assignment.where(:id => assignment_id).
 update_all(:workflow_state => 'unpublished')
```

* confirm that the assignment is shown as unpublished
 (but the module item is still published)
* publish the module
* the assignment should be published

fixes #CNVS-15399

Change-Id: I7c2e87cd73bc923e723c65e80e897ed679e8a9ee
Reviewed-on: https://gerrit.instructure.com/42001
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
2014-10-01 17:33:14 +00:00
Cody Cutrer 3addbc4cf4 a few helper methods for region-ness
closes CNVS-15955

Change-Id: Idc155f75e2ed04c39c43f8e095a76848283a6af1
Reviewed-on: https://gerrit.instructure.com/42088
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2014-10-01 17:07:06 +00:00
Cody Cutrer c165e89482 allow bundler 1.7.3
Change-Id: Icb252a2937ed1a55897afc0bbb9121749745dbe5
Reviewed-on: https://gerrit.instructure.com/42092
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2014-10-01 16:53:35 +00:00
Ahmad Amireh 858919c072 client_apps: use script/build
Each client_app is now expected to provide a runnable script at
/client_apps/app_name/script/build that builds its JS assets.

Also, `npm install` will only be run if an npm `package.json` file
exists, so the app is free not to use npm if it doesn't need to.

Closes CNVS-15445

TEST PLAN
---- ----

  - run `bundle exec rake canvas:compile_assets` and make sure it works

Change-Id: I635c79234dbb2c890e73cd9889fac86bd68fdf53
Reviewed-on: https://gerrit.instructure.com/41195
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Florence <ryanf@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
QA-Review: Ahmad Amireh <ahmad@instructure.com>
2014-10-01 16:26:26 +00:00
Ahmad Amireh 60d6d8eca5 VO+Safari: arrow-navigation to answer comments
I can't really say this is a fix.. it's a hack at best, so I scoped it
to Safari. It also introduces a new issue which I wasn't able to solve:

Anytime you focus *out* of the comment editor using VO+arrow, you can no
longer reach the editor using arrows, only using TAB. BUT, if you use
TAB to focus-out of the editor, using arrows just keeps working! Crazy,
lame, and I don't have a clue what's going on.

Closes CNVS-15099

TEST PLAN
---- ----

  - using Safari, create a quiz with a single multiple-choice question
  - turn on VoiceOver and edit the quiz
  - edit the question
    + keep using VO+RIGHT until you reach the input field for the
      first answer
    + now press VO+RIGHT again
      - verify that in about half a second, your focus is shifted to the
        comment editor and you hear "Comments, if the user chooses this
        answer"
    + shift+TAB, you're now back onto the input field, then TAB:
      - you should, again, see the comment editor
    + shift+TAB, then VO+RIGHT
      - again, you see the comment editor
    + now press VO+RIGHT, your focus shifts to the little edit icon
      - try using VO+LEFT to go back to the comment editor, and notice
        how it doesn't; instead it takes you to the input field, and
        it seems we are never able to access the comment editor
        anymore using VO+arrows

Change-Id: I52df20387d2d2d2126112448b5a992c70e8d2272
Reviewed-on: https://gerrit.instructure.com/41600
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Reviewed-by: Brian Finney <bfinney@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
2014-10-01 15:14:11 +00:00
James Williams 9186606e99 sync file module items published state with file locked state
test plan:
* upload a file to a course and lock it
* add the file as a module item
* the item should be unpublished
* unlock the file
* the item should now be published (and visible
 to students)

fixes #CNVS-15206

Change-Id: Ifaaadf0117eeec44218c2fa8b4ca8c6957daa62d
Reviewed-on: https://gerrit.instructure.com/41996
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
2014-10-01 15:07:25 +00:00
James Williams aedb75a7ec add course format setting
test plan:
* should be able to use the ui or the api to
 specify a "course_format" (i.e. whether a course
 is online or on-campus)

closes #CNVS-15470

Change-Id: I5772cfa416c066e94b24d45bd6ce7c1aa24d8c5f
Reviewed-on: https://gerrit.instructure.com/41994
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
2014-10-01 15:06:59 +00:00