Commit Graph

7763 Commits

Author SHA1 Message Date
Jake Sorce 381a8830fd add checkbox for include in repository
lets the teacher decide if the students
turn it in paper gets submitted to the
repository or not

closes PS-1863

test plan:
  1. enable turnitin
  2. create an assignment
     with turnitin enabled
  3. go to Advanced Turnitin Settings
  4. validate new checkbox for include
     in repository is there
  5. validate you can check it and
     uncheck it and save the assignment
     and the setting stays for that assignment
  6. uncheck it as a teacher and save the assignment
  7. submit the assignment as a student with a file
     upload essay
  8. Originality Report should come back as a new
     submission
  9. revise the essay file upload and resubmit
     the Originality Report should come back as
     a new submission

old behavior:
  1. first submission Originality Report was fine
     once revised and submitted again the Originality
     Report was coming back as plagiarized because
     it was comparing the revised essay against
     the first submission. this is undesirable

Change-Id: I85770425e53c3b9bc50a2591125ce45f253b9cf2
Reviewed-on: https://gerrit.instructure.com/38592
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Product-Review: Jake Sorce <jake@instructure.com>
2014-08-18 19:11:11 +00:00
Ryan Shaw 5b7e44431b point subtitle form to amara.org not universalsubtitles.org
universalsubtitles.org returns a 503 error now

fixes: CNVS-14832

test plan:

try to make subtitles for a video, 
make sure the page it takes you to exists.

Change-Id: I162247580f6a30f530725725c657dfc45ee4e3b7
Reviewed-on: https://gerrit.instructure.com/39396
Reviewed-by: Paul Hinze <paulh@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Matt Fairbourn <mfairbourn@instructure.com>
2014-08-18 18:49:26 +00:00
James Williams d25d9e23bc fix importing module items with missing content
fixes an issue that arose with rails 3, where
module items that were not set with content (and thus
shouldn't have been saved) were being autosaved and
breaking the entire modules page

test plan:
* import the package(s) referenced in the ticket
* the modules page should still be functional

fixes #CNVS-14777

Change-Id: I82fe287a4db9492489461e971911a0f7c15fbcb0
Reviewed-on: https://gerrit.instructure.com/39404
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
2014-08-18 18:12:35 +00:00
Clay Diffrient ce84a3575c Makes the feature flags accessible
Adjusts the element_toggler to use a span rather than a link.
Also adds a tabindex to the description so that screenreaders can
actually read the description.

fixes CNVS-14484

test plan:
  - Using a screenreader go to account settings (/accounts/#/settings)
  - Navigate to the Feature Options tab
  - Navigate to the toggle feature details button
  - Using either spacebar or enter should cause it to activate
  - Tabbing through should read the details if they are expanded

Change-Id: I50295fdcee91f90884383a340911ed8b8778deae
Reviewed-on: https://gerrit.instructure.com/39297
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-18 17:02:15 +00:00
Ben Young 0e987b33e7 Update parameters in the following API docs
- Content migrations
- Conversations
- Course audit log
- Courses
- Custom gradebook columns

Test plan:
- rake doc:api
- Verify the above doc pages for parameters accuracy

Change-Id: I4802bfcec067098658b573f54049b1f929f38ebc
Reviewed-on: https://gerrit.instructure.com/38691
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Reviewed-by: Tyler Pickett <tpickett+gerrit@instructure.com>
Product-Review: Tyler Pickett <tpickett+gerrit@instructure.com>
2014-08-18 16:43:37 +00:00
Ben Young c630c2776a update API doc required params - 7
- Group categories
- Groups
- Live assessments
- Logins
- Modules

Test plan:
- rake doc:api
- Verify the above doc pages for parameter accuracy

Refs SIS-403

Change-Id: If70ac7240171a88dcc0e1f54c1ae12a4b0a35f6f
Reviewed-on: https://gerrit.instructure.com/39021
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Reviewed-by: Tyler Pickett <tpickett+gerrit@instructure.com>
Product-Review: Tyler Pickett <tpickett+gerrit@instructure.com>
2014-08-18 16:43:26 +00:00
Ben Young 673dd0165d update API doc required params - 6
- Feature flags
- Files
- Grade change log
- Gradebook history
- Grading standards

Test plan:
- rake doc:api
- Verify the above doc pages for parameter accuracy

Refs SIS-403

Change-Id: I52627a9bd557682c12713455e989d2e054c744b6
Reviewed-on: https://gerrit.instructure.com/38808
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Tyler Pickett <tpickett+gerrit@instructure.com>
Product-Review: Tyler Pickett <tpickett+gerrit@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
2014-08-18 16:43:17 +00:00
Ben Young 7a6cd80a57 update API doc required params - 5
- Discussion topics
- Enrollment terms
- Enrollments
- External tools
- Favorites

Test plan:
- rake doc:api
- Verify the above doc pages for parameters accuracy

Refs SIS-403

Change-Id: I5a926cf36f0852c11356719f76b5b54bd25f96da
Reviewed-on: https://gerrit.instructure.com/38805
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Tyler Pickett <tpickett+gerrit@instructure.com>
Product-Review: Tyler Pickett <tpickett+gerrit@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
2014-08-18 16:41:06 +00:00
Ben Young c65f71eec8 update API doc required params - 4
- Account notifications
- Account reports
- Accounts
- Admins
- Accouncement external feeds

Test plan:
- rake doc:api
- Verify the above doc pages for parameter accuracy

Refs SIS-403

Change-Id: I13c95611a4f19683a38cdc743605ac1d202c9525
Reviewed-on: https://gerrit.instructure.com/38663
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Duane Johnson <duane@instructure.com>
Reviewed-by: Tyler Pickett <tpickett+gerrit@instructure.com>
Product-Review: Duane Johnson <duane@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
2014-08-18 16:40:55 +00:00
Ben Young 12183f4980 update API doc required params - 2
- Appointment groups
- Assignment groups
- Assignments
- Authentications log
- Calendar events

Test plan:
- rake doc:api
- Verify the above doc pages for parameter accuracy

Refs SIS-403

Change-Id: If4b6d194f1f262118700dbdb4b09c55b1b9e3f19
Reviewed-on: https://gerrit.instructure.com/38664
Reviewed-by: Duane Johnson <duane@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Tyler Pickett <tpickett+gerrit@instructure.com>
Product-Review: Duane Johnson <duane@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
2014-08-18 16:40:31 +00:00
Brian Finney 0d62f0f3a4 Hide quiz answers when term is concluded
Hide quiz answers for courses with concluded term and restrict_quiz_questions is true

Fixes CNVS-13075

Test Plan
 - At the account level, check the option to restrict students from
 viewing quiz questions after course end date.
 - Set a term to end in the near future.
 - Set a course to this term. (NOTE: Do not set course end date within
 the course)
 - Log into this course as the student and take at least one quiz.
 - As the student, go to the completed quiz after the course has
 concluded naturally by term end date passing.
 - You should not see the quiz questions or answers

Change-Id: Ib06c0e2ab94b297ec0d50f0af5af9697bf2ee132
Reviewed-on: https://gerrit.instructure.com/39351
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Brian Finney <bfinney@instructure.com>
2014-08-18 16:06:56 +00:00
Ryan Shaw 0e6b2b436c specs for "add new folder"
closes: CNVS-12728
refs: CNVS-14390

Change-Id: I4c0f62f0e4f5420ff556ce2e63689fa47cc4c27e
Reviewed-on: https://gerrit.instructure.com/39238
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-18 14:08:27 +00:00
Simon Williams e241218d48 revert DA grading to fix grade calc performance regression
this reverts part of b4840c75cc

fixes CNVS-14840

test plan:
- with differentiated assignments off, grading should work correctly
- in a course with many assignments, you should be able to download the
  gradebook csv
- with differentiated assignments on, grading will not work correctly, this is
  intentional.

Change-Id: Id910ff28763ba13c529a21d4c125a164e094aeac
Reviewed-on: https://gerrit.instructure.com/39436
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-08-17 21:25:20 +00:00
Ahmad Amireh a7e979afb3 Preview quiz: show the correct points possible
Closes CNVS-3856

TEST PLAN
---- ----

  - create a quiz with 3 questions with points possible: 0.42, 0.23, 1
  - preview the quiz and get all the questions correctly
    - verify you see "1.65 out of 1.65"
  - retry with failing some questions
    - verify you get the correct score shown

Change-Id: Ib7e830adce26b2c2346eb3a4149e4bc0406a9d35
Reviewed-on: https://gerrit.instructure.com/39295
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Ryan Taylor <rtaylor@instructure.com>
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
2014-08-16 07:47:37 +00:00
Nick Cloward add2ed4216 enable Audit log search
refs: CNVS-14114
refs: CNVS-13987

Test Plan:

Reference: g/37503

Message in admin tools should be gone and drop down should be visible.
The funcionality should behave as it was before it was disabled.

Hit an Audit log api call and it should work as it was before we
disabled it.

Change-Id: I13eac39aece25dff28b403eb733060e8b3a7f338
Reviewed-on: https://gerrit.instructure.com/37541
Reviewed-by: Jacob Fugal <jacob@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Nick Cloward <ncloward@instructure.com>
2014-08-16 01:53:39 +00:00
Ben Young 60bb447102 Don't consider test student submissions when determining course unpublishability
Fixes CNVS-14490

Test plan:
- Create a new course, and an assignment within
- Enter student view to generate the test student enrollment
- Submit the assignment as the test student
- As a teacher, give the student a score for the assignment
- With the test student's submission graded, the course should
still be unpublishable

Change-Id: Ib11fb7a2baa834ddf0a7f39a8ac12542539ab1e4
Reviewed-on: https://gerrit.instructure.com/39009
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-08-15 19:28:46 +00:00
Jeremy Stanley 5c09df93e5 order exports in /courses/X/content_exports
fixes CNVS-14765

test plan:
 - have a course with multiple content exports
 - /courses/X/content_exports should display them in order
   by date, descending

Change-Id: I76356ab83b9631dd192dea18c331b425505a92d2
Reviewed-on: https://gerrit.instructure.com/39252
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: James Williams  <jamesw@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2014-08-15 19:17:20 +00:00
Chris Hart 7dce219353 Increase color contrast of inbox unread count badge
Fixes: CNVS-14596

Note: the CSS that determines the background color
of the unread message badge also controls the blue
badges for dashboard activity, so this change will
also affect those elements.

Test plan:
- Send a message to make the unread messages badge
  appear in the user nav in the header
- Use the web inspector to get the HEX values for
  the badges in both default and high-contrast mode,
  and confirm they meet the WebAIM contrast standards
  of 3:1 in default UI and 4.5:1 in high contrast UI.

Change-Id: Idf0002c3fcf6e5869583d63cded02b62cb871b93
Reviewed-on: https://gerrit.instructure.com/39145
Reviewed-by: Colleen Palmer <colleen@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Matt Fairbourn <mfairbourn@instructure.com>
2014-08-15 18:54:27 +00:00
Jason Madsen 3468528764 add files from toolbar button
closes CNVS-11662

test plan:
  - enable new files
  - navigate to course files
  - select a specific Folder
    - click the '+ Files' button in top right
    - select a files (or a few)
      - files should be uploaded to the chosen Folder
      - once uploaded files should appear in the UI
        - refresh browswer to verify files are persisted

  caveats:
    - uploading progress UI will be handled in CNVS-12658
    - prompt for renaming files coming in CNVS-12667

Change-Id: I685d0336b1794f5bddd66cd21cc88d99b30ac662
Reviewed-on: https://gerrit.instructure.com/38793
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Product-Review: Jason Madsen <jmadsen@instructure.com>
QA-Review: Jason Madsen <jmadsen@instructure.com>
2014-08-15 17:10:00 +00:00
Colleen Palmer 9e26cd637f Adds new colors and updates variables stylesheet
fixes CNVS-14507

This introduces the new color variables for Canvas.

Changes:
* renamed _variables.sass to _variables.scss
* moved _variables from /themes/ to /base/
* combined _canvas_colors into _variables
* removed _canvas_colors.scss (since it's now a part of _variables)

Test plan:

Nothing should look different in Canvas.

Change-Id: I1a94961c253a00b2a9c9710c726af036464198e0
Reviewed-on: https://gerrit.instructure.com/39113
Reviewed-by: Chris Hart <chart@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
2014-08-15 15:48:32 +00:00
James Williams a737356c49 let account users with :read_roster rights view enrollments
test plan:
* create an account role
* grant the account role the ability to "See the list
 of users"
* as a user with that role, should be able to view the
course enrollments on a user's details page

closes #CNVS-14169

Change-Id: I7e5256af1e52118f14799c6a76603de61eb14f25
Reviewed-on: https://gerrit.instructure.com/39203
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
2014-08-15 12:57:56 +00:00
Simon Williams 24d3ddd01f ensure there is a default eportfolio page
fixes CNVS-14580

test plan:
1. create an eportfolio
2. click organize/manage pages
3. create a second page
4. open the eportfolio in a new tab
5. in one tab, delete the welcome page
6. in the second tab, delete the new page
7. refresh the eportfolio
8. it should still load the welcome page (having recreated it)

Change-Id: I400b2d4689773a8f48d8b3bfa577982492a4bfb4
Reviewed-on: https://gerrit.instructure.com/38847
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cameron Matheson <cameron@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-08-14 23:15:09 +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
Braden Anderson 365ddcb636 discussion entries: simplify create_participants transaction
fixes CNVS-12567, CNVS-14786

test plan:
  * create discussion entries in a topic with multiple participants
  * verify that topic unread counts and message unread statuses
      are maintained correctly
  * if possible, load test simultaneous entry creation
      and verify that no deadlock occurs

Change-Id: I9c5ce430d9c7914648e5920bd317949fe15f22f3
Reviewed-on: https://gerrit.instructure.com/39318
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Braden Anderson <braden@instructure.com>
QA-Review: August Thornton <august@instructure.com>
2014-08-14 21:04:22 +00:00
Aaron Cannon 538f1eedc5 Accessibility: Fix and add to heading structure across Canvas
Fixes CNVS-14293

Test plan:
Visit the following pages and verify that each:
- has an unaltered visual appearance
- has exactly one level 1 heading which can be navigated to by screen readers
- When appropriate (I.E. when the length or organization of the page warrents
  it) has lower level headings which can be navigated to by screen readers
- when lower level headings are present, heading levels proceed in order, and
  logically

The following pages should be verified to confirm they meet the above criteria.
  Note that the URL fragments provided may not be reachable on all installs,
  and should be modified appropriately.
- /courses/1/assignments
- /courses/1/assignments/18
- /courses/1/discussion_topics (Sections should be level 2, individual
  discussions level 3.)
- /courses/1/users/prior
- /courses/1/pages/front-page
- /courses/1/pages/front-page/revisions
- /courses/1/assignments/syllabus
- /courses/1/outcomes
- /courses/1/rubrics
- /courses/1/quizzes/11/take?preview=1
- /courses/1/quizzes/11/moderate
- /courses/1/question_banks
- /courses/1/modules
- /courses/1/statistics
- /courses/1/confirm_action?event=conclude
- /courses/1/copy
- /courses/1/content_migrations
- /courses/1/content_exports
- /courses/1/content_exports
- /profile/communication
- /users/2/user_notes
- /courses/1/users/1/usage
- /courses/1/announcements
  - An additional heading can be seen by loading the page when no
    announcements exist.
- /courses/1/pages
- /courses/1/files
- /courses/1/quizzes
- /courses/1/settings
- /dashboard/files
- /courses/1/outcomes/users/1

Change-Id: I26d7dba115105c36026758cf55644139116224ec
Reviewed-on: https://gerrit.instructure.com/37669
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Reviewed-by: Ryan Florence <ryanf@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-08-14 19:57:43 +00:00
Joel Hough 2bc564e37d properly quoted display name in outgoing email
fixes CNVS-14790

test plan
- set up a custom 'From' name with a ':' in it
- cause an email to be sent from that account
- ensure that the email is sent

Change-Id: Id3a3179dd9b9f17a05c8cb4c7cf3fba57b59c87c
Reviewed-on: https://gerrit.instructure.com/39319
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2014-08-14 19:23:49 +00:00
James Williams 4208590912 add global_navigation lti extension
test plan:
* modify an lti app xml to be configured
for the 'global_navigation' extension

* add the tool to a domain root account using
the modified xml
* should add a new link item to the global menu header

* edit the xml to add a property to the global_navigation
 extension:
<lticm:property name="visibility">admins</lticm:property>
* configure another tool for the domain root account
* confirm that the new link item is only visible
 for teachers and account admins

closes #CNVS-13815

Change-Id: I5ce42515ebc545d6f14bdc9dd628e1740b94d667
Reviewed-on: https://gerrit.instructure.com/39060
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
2014-08-14 18:41:26 +00:00
Clay Diffrient 4e5dfb10c0 Adds a null check qualification to showing a base type
fixes CNVS-6758

test plan:
  - Go to the permissions page (/accounts/##/permissions)
  - Click on account roles
  - Add a custom role
  - No tooltip should show for the custom account role

Change-Id: Icc60b0139b5b87309639c40530172e571e74e47f
Reviewed-on: https://gerrit.instructure.com/39244
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Cosme Salazar
2014-08-14 18:07:54 +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
Cody Cutrer 643e1e4d7f fix updating of *just* sis id via logins api
fixes gh-492

test plan:
 * change a user's sis id (but *just* their sis id) via the api
 * it should succeed

Change-Id: I2d35632a71895f980cb1a0d23a8a472e95275ca1
Reviewed-on: https://gerrit.instructure.com/38850
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-08-14 16:38:23 +00:00
Jeremy Stanley 1b8f3a824d deal with nil position in module item sequence API
test plan:
 - set a module item's position to nil via the console
   (I don't know how this happened in the real world; the ticket
    mentions a course copy but I was not able to reproduce the
    problem by copying the referenced course.)
 - the prev/next buttons should still show up when viewing module
   items (no 500 error when making the module_item_sequence call)

fixes CNVS-14671

Change-Id: I95340006c44a04cbffa608af62a98fd2653a363c
Reviewed-on: https://gerrit.instructure.com/39057
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2014-08-14 15:30:46 +00:00
Nick Cloward fbc53265e4 add redirect config to account authorization
fixes: CNVS-9194

This adds a configuration to CAS and SAML which will redirect to when an
unknown user is authorized from CAS or SAML but we do not have a
pseudonym for them in canvas yet.  Instead of logging them out of CAS or
SAML it will redirect them to a custom url.  By default if no url is
configured it will redirect to the login page or cas login page.

Test Plan:

CAS:
  - Setup a User on the CAS server that can login.
  - Make sure the user is not in Canvas and wont be matched up to any
    other Canvas pseudonyms.
  - Log in to CAS and Canvas.
  - Canvas should redirect to cas_login_url.
  - Configure the Canvas CAS setting unknown user url to redirect to
    a custom url.
  - Log in to CAS and Canvas
  - Canvas should redirect to the custom url specified.
  - The user should not be logged out of CAS.

SAML:
  - Setup a User on the SAML server that can login.
  - Make sure the user is not in Canvas and wont be matched up to any
    other Canvas pseudonyms.
  - Log in to SAML and Canvas.
  - Canvas should redirect to login_url and provide a flash message
    stating that the user could not be found.
  - Configure the Canvas SAML settings Unknown User Url to redirect
    to a custom url.
  - Log in to SAML and Canvas
  - Canvas should redirect to the custom url specified.
  - The user should not be logged out of SAML.

Change-Id: I29a78f8ec60c94caecf63547584d8ae804ffc9de
Reviewed-on: https://gerrit.instructure.com/38472
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Matt Fairbourn <mfairbourn@instructure.com>
2014-08-14 15:12:41 +00:00
James Williams bd906e75bc add feature flags for LOR external tools
test plan:
* add an external tool configured for the extensions
 going to be used by LOR (:course_settings_sub_navigation,
 :course_home_sub_navigation, :migration_selection)
* confirm that it is not shown to a user unless either
 the account-level feature flag is enabled or the
 user-level flag is enabled

closes #CNVS-14626

Change-Id: I06e189fc1f2d745613353ea1b3f98b4f4b2c87b6
Reviewed-on: https://gerrit.instructure.com/39111
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
2014-08-14 15:11:06 +00:00
Cody Cutrer e470fb0bb3 fix attachment copies >= 5GB
Change-Id: Ide74ea459d7ed38acbb4503399e50448f448eea6
Reviewed-on: https://gerrit.instructure.com/39237
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2014-08-14 03:33:02 +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
Cameron Matheson 661f19cf00 include concluded enrollments in gradebook csv
closes CNVS-1296

Test plan:
  * conclude an enrollment in a course
  * open the gradebook, the user shouldn't be displayed
  * download the csv, the user should not be included
  * include concluded enrollments in gradebook display
  * download the csv again, it should include the user

Change-Id: I5a464b3fa5e963e9989837a216fd2732fc9979b6
Reviewed-on: https://gerrit.instructure.com/38954
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
2014-08-13 21:15:00 +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
Ryan Shaw aa5eff4d13 ability to "add new folder" in new_files
closes: CNVS-12728

test plan:

* go to new files
* click the "+ Folder" button in the top
* it should create a new input in the list of files
  and auto-focus it.
* if you hit enter it should save
* if you hit escape while focused on that input
  it should cancel and do nothing

Change-Id: I2605f4d99560ed17ee3fb1a80350b83d4362a0f9
Reviewed-on: https://gerrit.instructure.com/39158
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:38 +00:00
Ryan Shaw 1937d4a9f1 add ability to delete file/folder to new_files
closes: CNVS-14726
refs: CNVS-12727

test plan:
* go to new files,
* click the cog at the right end of the row,
* click the "Delete" option
* it should disappear
* reload the page, make sure it is still not there

Change-Id: Ieb6d1246885e1e7f4709bd6b2946fa58d8f3cdec
Reviewed-on: https://gerrit.instructure.com/39157
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2014-08-13 19:22:17 +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
Jeremy Stanley f83627e7f0 don't send "Some Name <>" reply-to header for SMS
omit the reply-to header if IncomingMail::ReplyToAddress is nil

test plan: outbound SMS messages should work

fixes CNVS-14745

Change-Id: I6ce2b1f453db0ddc5aed44a9cf8e1b4734d554b4
Reviewed-on: https://gerrit.instructure.com/39174
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Willesen <jonw@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2014-08-13 18:35:49 +00:00
Matt Wheeler 11df169383 Tweak label on People page Search people field
Fixes CNVS-14027

Test Plan:
1. Be logged in as a teacher
2. Go to the People page
3. Using a screen reader navigate to the Search People box
4. Hear that the screen reader now says what the field is, before
   describing how to use it.

Change-Id: I0db141e47c6e9be150fc7ee89944b79efe42fa38
Reviewed-on: https://gerrit.instructure.com/39011
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mike Naberezny <mnaberezny@instructure.com>
Product-Review: Matthew Wheeler <mwheeler@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
2014-08-13 17:10:52 +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
Braden Anderson 233617f4f1 LTI: add XAPI duration to enrollment activity time
Change-Id: I2e381a0a65b81d8f1ad31562b67caf74d5962f84
Reviewed-on: https://gerrit.instructure.com/37116
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brad Humphrey <brad@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Braden Anderson <braden@instructure.com>
2014-08-13 15:29:08 +00:00
Liz Abinante bd007ad97a add accessibility to Group Set combobox \o/
fixes CNVS-13120

test plan:
- using NVDA with Firefox
- go to the assignments#edit page
- verify that the "Group Assignment" combobox is accessible
- verify that you can use the whole combobox
- verify that you navigate to "Peer Reviews" combobox next

Change-Id: Ibc996d7831793f04cd314acf463c462cbe58d541
Reviewed-on: https://gerrit.instructure.com/38880
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cameron Sutter <csutter@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Liz Abinante <labinante@instructure.com>
2014-08-13 13:00:05 +00:00
Ryan Shaw 0eef9824c7 contextId comes in as a string, not number
Change-Id: Iea294a0c72ef0828568b155dd3348862989599a8
Reviewed-on: https://gerrit.instructure.com/39156
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-12 22:28:36 +00:00
Nathan Mills 14db3890ed fix headers and add scope to the external apps table
fixes PLAT-588

test-plan
*headers for the external apps table should have scope defined on them

Change-Id: Id53d88ac2ac48ae375ada0206d282cbbf0ef58ba
Reviewed-on: https://gerrit.instructure.com/38865
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brad Humphrey <brad@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Nathan Mills <nathanm@instructure.com>
2014-08-12 19:29:28 +00:00
Clay Diffrient 5ae409a10f Changes syllabus date format to include year
fixes CNVS-14336

test plan:
   - Go to a course syllabus
   - Make sure there is at least one assignment with a due date
   - The date column should include day of the week, month, day, and
     year

Change-Id: Iae4cfec5fd401f32626e514e68f5071a67b374ff
Reviewed-on: https://gerrit.instructure.com/38971
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Janelle Seegmiller <jseegmiller@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
2014-08-12 19:21:35 +00:00
Cameron Matheson 1275e081a8 gb2 total column in front
fixes CNVS-4373

* fixes tooltip showing when total col is moved
* changes to have consistent border on cells
* changes .sass to .scss file so we know it's actively worked on

test plan:

- load up the gradebook page
- move total column to first and make sure tooltip works on hover
- make sure dotted line border appears on table cells (see comments for screenshots)

Change-Id: I7927ec37658f938bbfdb3e87c12f7da5014aeaa1
Reviewed-on: https://gerrit.instructure.com/37393
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
2014-08-12 19:11:47 +00:00
James Williams db517e5eb6 fix create_linked_enrollments for self-registration
test plan:
* create a course with a student
* create login credentials for the student
* enable self-registration for the root account for
 observers
* in a new session, visit the login page, and register
a new user to observe the student
* the new user should be enrolled in the student's courses

closes #CNVS-14585

Change-Id: I9f38d33b27136472a422abb044dabad9d13cff67
Reviewed-on: https://gerrit.instructure.com/39065
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
2014-08-12 17:35:22 +00:00
Michael Nomitch 233aaf3837 DA - fix N+1 on visible_assignments
test plan:
  - with da off, with da on, as teacher, as student
    - assignment group index works
    - assignment group api wors
    - gradebooks works
    - grade summary page works

Change-Id: I73c26f7f754ab738f67e936dcddad7cdfa5b86b6
Reviewed-on: https://gerrit.instructure.com/38365
Reviewed-by: Cameron Matheson <cameron@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-08-12 17:30:45 +00:00
Ryan Shaw 36324f7a4f allow editing file/folder name in react_files
closes: CNVS-14670

test plan:
click the cog to edit a file or folder name,
it should work

Change-Id: I25eedea8bd2270ded67e1156de61caf696931b18
Reviewed-on: https://gerrit.instructure.com/38922
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-12 15:54:26 +00:00
Ryan Shaw 445de1969a show Date Created for things in react files
closes: #CNVS-12640
closes: #CNVS-12713

test plan:
* make sure "Date Created" column shows up between
  "Name" and "Date Modified" when viewing a folder
  or search results

Change-Id: I8261eb30a5bb6e05e9cf9a3b2cccd4eba633d48c
Reviewed-on: https://gerrit.instructure.com/38921
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-12 15:54:21 +00:00
Ryan Shaw ef1ae3a6c7 add empty state messages for files
fixes: #CNVS-12665

test plan:
* browse to an empty folder, it should look like
  https://instructure.atlassian.net/secure/attachment/17936/empty-state.png
* type a search query that doesn't match anything.
  it should look like http://cl.ly/image/1W2F0u1h2b0G

Change-Id: Ia6a71b18bae3cd3584d83207ce1056f31410d988
Reviewed-on: https://gerrit.instructure.com/38920
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-12 15:53:33 +00:00
Ryan Shaw b227eb8f9f use builtin Redirect component of react-router
...now that it exits
closes: CNVS-14706

react-router introduced a Redirect component in 0.5.2, use that instead of the custom one we made in files

test plan:
going to courses/x/files/folder should redirect to courses/x/files

Change-Id: I97f552833859c114279a5a3fa9b39806ea243d81
Reviewed-on: https://gerrit.instructure.com/38919
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2014-08-12 15:53:11 +00:00
Ryan Shaw e8aa5512ad switch react_files to react-router
fixes: #CNVS-14388
this fixes some of the hacky routing stuff I was doing

Change-Id: I81c730c80f9100e41941fc2b3615cfef92b92fea
Reviewed-on: https://gerrit.instructure.com/38812
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2014-08-12 15:52:53 +00:00
Aaron Cannon b9f6905fb5 Accessibility: Fixed label for close button in conversations compose dialog
Fixes CNVS-14516

Test plan:
- Open a conversation
- Open the reply dialog.
- Using a screen reader, verify that the close button is properly read.

Change-Id: I4b5a01c4b2bdc8311d001938a90d1b195a03492a
Reviewed-on: https://gerrit.instructure.com/38888
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
Product-Review: Matthew Wheeler <mwheeler@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
2014-08-12 15:44:40 +00:00
James Williams 75d21f8f84 migrate has_X context_external_tool columns to separate table
currently every extension type has its own boolean db column
while this isn't strictly a problem, it is a little sad, and
given the fact that we will be adding more extension types soon,
it's probably better to take care of this now

also i'm refactoring some of the methods in context_external_tool

test plan:
* external tool regressions

refs #CNVS-13815

Change-Id: I6caf7b0e3d0de054906e3530f085fbfa9e8e499f
Reviewed-on: https://gerrit.instructure.com/38923
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Reviewed-by: Brad Humphrey <brad@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
2014-08-12 12:13:42 +00:00
Paul Hinze d10f45651c move <noscript> from <head> into <body>
The <noscript> element is not allowed to contain an <h1> tag when it is in <head>. This was causing W3C validation to hard fail for every page, masking further validation errors.

Also add proper a11y, i18n, capitalization to the message.

See: http://www.w3.org/TR/html5/scripting-1.html#the-noscript-element

Test plan:

 - Disable JavaScript
 - Ensure the "You need to have JavaScript enabled..." message appears.
 - Run W3C HTML Validator on a Canvas page
 - Check that there are no errors referring to <noscript> or <h1> tags
   in the <head>

Change-Id: I2904b5ecdff11cd4722d3fee173c5ff1dedf0063
Reviewed-on: https://gerrit.instructure.com/38807
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Liz Abinante <labinante@instructure.com>
Product-Review: Adam Phillipps <adam@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
2014-08-11 22:35:37 +00:00
Matt Wheeler 135e18a337 Make learning mastery gradebook more accessible
Fixes: CNVS-13520

Add label to "student learning master gradebook" "outcome group"
expand all and collapse all buttons, and
cause them to properly set the aria-expanded attribute on each
individual item. Also disable button when they are irrelevent.

Test Plan:
1) Create a course, add a student, and turn on the student learning
   mastery gradebook
2) Add at least two outcome groups, each with at least two outcomes
3) Assume the identity of the student, and visit the gradebook,
   learning mastery tab
4) With your screenreader, verify that the outcome group exapand and
   collapse all buttons are usable.
  * Validate that the Expand All button is reported as disabled for
    screen reader users if and only if all items are collapsed,
    regardless of whether they were expanded via the expand all button,
    or manually, one-at-a-time.
  * Verify the inverse of the previous for the Collapse All button.

Change-Id: I685dab01f93608c5a34204bf3403d3f6fd4aa793
Reviewed-on: https://gerrit.instructure.com/37927
Reviewed-by: Aaron Cannon <acannon@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: David Josse <david@instructure.com>
2014-08-11 22:30:30 +00:00
Brad Horrocks 56f6ac3be0 Notification icons will now look pretty for admins
I found that only 2 icons were missing error & question. Calendar was
overly huge. I decided it would be best to use the icons that are
actually rendered on the dashboard where the announcement is visible
to users.

I also moved some business logic out of an erb template and into a
helper. The announcement layout in the admin area is now more inline
with how they are actually rendered on the dashboard.

Fixes CNVS-14421

Test Plan:

- Log in as an admin and go to an account's settings page.
- Click the Announcements tab and Click the blue "+ Add a New Announcement" button.
- Fill in all the details of the announcement, but leave the icon as the default, then click the Add Announcement button.
- Verify the announcement appears on the announcements list and the icon shows a Yellow warning sign with an exclamation mark.
- Now, create a new announcement and change the icon to something else, then click the Add Announcement button.
- Look at the icon on the announcement's icon on the announcement list. The icon should now show up.

Change-Id: Ie8c0ad64c5de5ab6ab76b90ff3e95712f71be8d6
Reviewed-on: https://gerrit.instructure.com/38609
Reviewed-by: Mark Severson <markse@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Janelle Seegmiller <jseegmiller@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
2014-08-11 20:38:18 +00:00
Jeremy Stanley 6a5defd99f set student progression pagination container
test plan:
 - have a course with more than 50 students and only one module
 - go to /courses/X/modules/progressions in a full-screen
   browser window (the key here is that the page needs to fit
   in the window vertically so there is no scrollbar attached
   to the window)
 - scroll down through the list of students on the right side
 - the second page of students should load
 - also, test viewing this page as a student (you should still
   see your own progression on the left)

I suggest testing in Firefox because Chrome sends a Window
scroll event even when there is nowhere to scroll

fixes CNVS-14255

Change-Id: Ib12b44e9d047b35193913be5e91e1f9dee74fa43
Reviewed-on: https://gerrit.instructure.com/38749
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2014-08-11 19:05:09 +00:00
Brad Humphrey 2ba6efd19e use new lti views for rendering launches
Test Plan:
 - Verify that the following launches still work:
	sessionless, borderless, module item selection, and direct link

fixes PLAT-459

Change-Id: I2b5c4d448540292ff451dd3d77ba69610f0764ab
Reviewed-on: https://gerrit.instructure.com/38790
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Nathan Mills <nathanm@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Brad Humphrey <brad@instructure.com>
2014-08-11 17:57:19 +00:00
Brad Humphrey 92b1e34e2f send the correct beta/test domains in LTI launches
test plan:
 - LTI launches should contain custom_canvas_api_domain
 - on beta the domain should contain .beta
 - on test the domain should contain .test
 - regression test all LTI launches to ensure they contain this custom variable

fixes PLAT-589

Change-Id: Ifb5b05d92633c97358166644978730b5af1ed062
Reviewed-on: https://gerrit.instructure.com/38902
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Nathan Mills <nathanm@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Brad Humphrey <brad@instructure.com>
2014-08-11 17:56:37 +00:00
Bracken Mosbacker 31d5b36837 add api flag to not send notifications for content exports
Test Plan:
 * Create a ContentExport through the api setting the skip_notifications to false
 * When it finishes you shouldn't get an email

closes PLAT-591

Change-Id: I036c65012bec6fe7cb57f6b79b3684c3b9eadf3f
Reviewed-on: https://gerrit.instructure.com/39015
QA-Review: Clare Strong <clare@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
2014-08-11 16:57:33 +00:00
Clay Diffrient 468faa4553 Adjusts course details to have rows aligned properly
Adds an extra style 'tall-row' to be added to td's that have more
than one row of text permitting these cells to line up with their
label counterparts.

fixes CNVS-4772

test plan:
   - Open up Settings > Course Details
   - Look at the "Ends" row
   - The Ends label should line up with the content.
   - Look at the "Language" row
   - The Language label should like up with the content.

Change-Id: I3dcaaade2c96e9870a750c242c737c4355b5e549
Reviewed-on: https://gerrit.instructure.com/38806
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
2014-08-11 16:21:05 +00:00
Nathan Mills 3e484ceeba move opaque identifier to it's own class
fixes: PLAT-590

test-plan:
Passes Specs

Change-Id: I784221f4f33da7d561c5616bf587195461d4a04a
Reviewed-on: https://gerrit.instructure.com/38975
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brad Humphrey <brad@instructure.com>
Reviewed-by: Nathan Mills <nathanm@instructure.com>
Product-Review: Nathan Mills <nathanm@instructure.com>
QA-Review: Nathan Mills <nathanm@instructure.com>
2014-08-11 15:40:06 +00:00
Cameron Sutter 555de288ff DA - srgb shows message if assignment is not visible
fixes CNVS-14136

test plan:
in a course with differentiated assignments enabled and set up
- view screenreader gradebook
- scroll through the assignment and student lists
- verify that a message appears indicating that an assignment is not visible
- verify that instructors can grade visible assignments

- grade an assignment for all students who can see it
- move a student with 1+ graded submissions from one section to another that does not have assignment visibility
- view screenreader gradebook
- verify that their previous graded submissions are visible (and still graded)
- verify that you can re-grade previously graded submissions

Change-Id: I55f93abe05a7aafac82001d5e3b4c88fa80d72cf
Reviewed-on: https://gerrit.instructure.com/38081
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
Product-Review: Liz Abinante <labinante@instructure.com>
2014-08-11 14:11:43 +00:00
Clay Diffrient edd77d33ac Makes course settings info links always visible
fixes CNVS-14489

test plan:
   - Go to account settings (e.g. /accounts/1)
   - You should see that underneath a course the links show
     without needing to hover over.
   - Confirm they are accessible by navigating to them using a
     screenreader.
   - The screenreader should recognize they are there.

Change-Id: I4148a6861864f4234c3a067a51c73c0cd98279d6
Reviewed-on: https://gerrit.instructure.com/38897
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-08 22:40:15 +00:00
Bryan Madsen 2701ac31a6 replace "Rich Text Editor" with "Rich Content Editor"
Test Plan:
  - create or edit a quiz
  - switch editors by clicking on "HTML Editor"
  - Confirm that the editor switch text now reads 'Rich Content Editor'.
  Extra WYSIWYG locations:
  - Confirm that assignments, syllabus content, calendar events, eportfolios, and wiki rich text editors are also edited
  - confirm that locales are updated

Closes #CNVS-14658

Change-Id: I87348365706cd7a9d77932b805204879e521425d
Reviewed-on: https://gerrit.instructure.com/38885
Reviewed-by: Ryan Taylor <rtaylor@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Bryan Madsen <bryan@instructure.com>
2014-08-08 22:15:47 +00:00
Nick Cloward a2ea3f49aa allow GET request for SAML logout
fixes: CNVS-14491

Allows GET requests for logout only when a SAML request is sent.
Still only allows DELETE methods for all other authentication types.

Test Plan:

Initiate a SAML logout, Should work.
Any other authentications methods should only logout with DELETE methods.

Reference test plan for g/32723.

Change-Id: Ia9153927e1ec17189d0fa00084837d451a1281a3
Reviewed-on: https://gerrit.instructure.com/38837
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Nick Cloward <ncloward@instructure.com>
2014-08-08 20:49:29 +00:00
Nathan Mills 78091e43ca add lti2 launch endpoint
fixes: PLAT-578

test-plan
*install the example lti2 tool provider
*launch the message

Change-Id: Id6def4acfb972c5488fdf8190999b41fb3ebcbf5
Reviewed-on: https://gerrit.instructure.com/38752
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brad Humphrey <brad@instructure.com>
Product-Review: Nathan Mills <nathanm@instructure.com>
QA-Review: Nathan Mills <nathanm@instructure.com>
2014-08-08 19:45:17 +00:00
Brad Humphrey 465fc70ab1 add layout for borderless LTI launches
Test Plan
 - Visit /courses/:course_id/external_tools/retrieve?url=:launch_url&borderless=1
 - There should be no insecure warning for an https launch

fixes PLAT-581

Change-Id: I050b93f5f4f1fc82f8039a29cde802addc734fcd
Reviewed-on: https://gerrit.instructure.com/38757
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Nathan Mills <nathanm@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
2014-08-08 16:50:19 +00:00
Clay Diffrient 431e4771d9 Modifies the edit section name field to be accessible
Adds an aria-label for screenreaders and overrides the default id
to keep it from conflicting with the create section input. Localizes
the label as well as updates the tests.

fixes CNVS-14482

test plan:
   - Go to a course settings page and click on the sections tab
   - Add a section
   - Edit a section
   - This should work without problem
   - Use a screenreader to navigate to the added section
   - The screenreader should indicate to edit the section name
   - Navigate to the add section field
   - The screenreader should indicate this as adding a section.

Change-Id: I8eef887948fd728e3a104eb8c0b72d0a1a4e977c
Reviewed-on: https://gerrit.instructure.com/38875
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Matt Fairbourn <mfairbourn@instructure.com>
2014-08-08 16:34:13 +00:00
Drew Bowman 99f8b1d73d give more access to peer reviews
fixes CNVS-1455

test plan:

- create a graded discussion that requires peer review
- the discussion should have a peer review icon in listings
- assign peer reviews to students
- the students should have a peer review link in their
  activity stream

Change-Id: I416c876c9e21b5ce2a72c46fceb7a33bdfd3f96e
Reviewed-on: https://gerrit.instructure.com/36459
Reviewed-by: Joel Hough <joel@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: David Josse <david@instructure.com>
2014-08-08 16:18:45 +00:00
Ryan Taylor fd2b162e02 Unpublished quizzes do not show up in student JSON requests
Unpublished quizzes didn't show in JSON-API requests, but this extends
that feature to JSON requests as well.

Fixes CNVS-12272

Test plan:
  - Make two quizzes
  - Publish one
  - Confirm that api/v1/courses/:courseId/quizzes only returns a single
    quiz entry

Change-Id: If5440795d6e29121525425e85dd371f54c38b9e6
Reviewed-on: https://gerrit.instructure.com/38887
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ahmad Amireh <ahmad@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Ryan Taylor <rtaylor@instructure.com>
2014-08-08 15:47:11 +00:00
Clay Diffrient a3e90bc7db Adjusts column width percentages for syllabus content
Changes the widths to allow proper resizing in Chrome, etc.
Removes the redundant 'Day' column. Changes the first column to
align left rather than center.

fixes CNVS-13924

test plan:
   - Go to a course syllabus in Chrome
   - Make sure several assignments are there with due dates
   - Resize the window to be small
   - Date and Day columns should not overlap but remain in their
     own columns.

Change-Id: I74a190d35ac9acacd1b179d520e8328b84ec34d5
Reviewed-on: https://gerrit.instructure.com/38802
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
2014-08-08 15:26:16 +00:00
Nathan Mills dd48cb7046 add aria label and button role to external tool buttons
fixes PLAT-587

test-plan:
the edit and delete tool buttons on the External tabs page should be readable by NVDA and screenreaders

Change-Id: I090c43137d49189ba20469ef54aad6b6833b7d2e
Reviewed-on: https://gerrit.instructure.com/38860
Reviewed-by: Brad Humphrey <brad@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Nathan Mills <nathanm@instructure.com>
2014-08-08 15:01:40 +00:00
Brad Humphrey 817f5429b4 change tool proxy root_account to context
also, clean up ims-lti usage with pluralized lti methods

test plan:
  - registrations should still work
  - registrations without resource handlers
    and using a default message handler should still work

fixes PLAT-566 PLAT-567

Change-Id: Icd9feca44ba9f5600d89a4943b0b93b34aeb78a5
Reviewed-on: https://gerrit.instructure.com/38182
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Nathan Mills <nathanm@instructure.com>
Product-Review: Brad Humphrey <brad@instructure.com>
QA-Review: Brad Humphrey <brad@instructure.com>
2014-08-07 19:57:40 -06:00
Clay Diffrient d23a018a14 Adds type to cancel button to prevent default submit.
fixes CNVS-9975

test plan:
	- Go to a user's profile
	- Click edit
	- Change the user's name
	- Click cancel
	- The user's name should not update.

Change-Id: Iaa2bbeada63eaeb5521bbb1be627f530d6093563
Reviewed-on: https://gerrit.instructure.com/38758
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
2014-08-07 19:56:57 -06:00
Aaron Cannon 637648869a accessibility: improved conversations filters
Fixes CNVS-14505

Test plan:
- Visit the inbox
- Using a screen reader, verify that the currently selected item is read as
  the label of the button to open the message filter drop-downs
- Verify that screen reader users can navigateand select items from both lists
- Verify that the appearance remains unaltered.

Change-Id: I1e177ca0be0d6b0c0ad6094de477938dfd440868
2014-08-07 19:56:24 -06:00
Jeremy Stanley 0af9e0b59c add UI option to remove dates in content migration
also remove some code that accomplishes nothing but confusion

test plan: perform content migrations into a course via the web UI
  1. without adjusting dates
  2. shifting dates
  3. removing dates
and verify that the correct operation is performed for each migration.

test all of these workflows:
  1. Course Settings / Copy this Course
  2. Import Content / Copy a Canvas Course
  3. Import Content / course export package

fixes CNVS-14183

Change-Id: I965a8ba6e6b0971cd0b5561627716989191a9680
2014-08-07 19:55:51 -06:00
Aaron Cannon d72e094658 Accessibility: Caused screen readers to recognize cancel as a button.
Fixes CNVS-14126

Test plan:
- Visit  the Calendar
- Click Add New Event
- Click More Options
- Navigate to the cancel button
- Verify that it is recognized as a button by screen readers

Change-Id: Ice93078d7d728503bc4bda29a5894ae19583692c
2014-08-07 19:55:34 -06:00
Clay Diffrient f2c366be8a Adjusts external apps to account for long app names
Converts external_tools.sass -> scss while adding a few styles to
truncate the names properly.  The styles added convert the table
to render using the fixed style and the first column to have a width
of 500px and overflow the text using ellipsis.  A title attribute is
also added to the column to help with UX.

fixes CNVS-7223

test plan:
	- Go to Settings > Apps
	- Add an app with a long name around 160 characters
	- You should see that the name is truncated with an ellipsis
	- Hover over the name
	- A tooltip with the full name should appear

Change-Id: I24cc71a0073799e66efa57421b80b0b70bdbecdb
2014-08-07 19:54:45 -06: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
Clay Diffrient 0a63bd7ca9 Sets autofetch to true on Student Module Progressions
Allows the first 10 to load, plus 500px past the viewport, then on
scroll gets another page.

fixes CNVS-14452

test plan:
	- Go to a course (in Firefox, because Chrome sends a scroll event
	  regardless)
	- Add 11+ modules to the course
	- Enroll 1 user in the course (as a student)
	- You should see the first ten load, then instantly the next
	  few with only a small delay.
	- If you've added 50+ you should see small delays as all the
	  modules load.

Change-Id: I040c00b8f0fdd5ff3b38d3fe7dbdb2d678567ce3
2014-08-07 19:53:09 -06:00
Sterling Cobb ac1385607a add restricted access dialog
The new files page needs a restricted access modal implemented in
ReactJS.

fixes #CNVS-14307

---- Test Plan ---
Given you have a course with the new files page access
And you're a use that can restrict access
When you go to the files page
And you click on the admin gear on a file or folder item
And you click on "restricted access" option
Then the restricted access modal should appear
And there should be two options
And selecting the second option will show date selection options
And clicking cancel should close the dialog
And it should be accessible
And everything should be translated

Change-Id: I646052ad385b3939937d6489729bec1fa738be1d
Reviewed-on: https://gerrit.instructure.com/38721
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Sterling Cobb <sterling@instructure.com>
2014-08-07 16:42:13 +00:00
Matthew Berns 4db2491d4a added tests for submission details partial
added tests and removed secondary speedgrader link that caused error

fixes CNVS-8868

test plan
- set large_roster flag to true for a course
- go to gradebook and click the text bubble on a submitted assignment
- link to speedgrader should not appear
- set large_roster flag to false
- only one link to speedgrader should appear

Change-Id: I0bfb5452a8adddb140fe80b0ee12b82b2249dc3c
Reviewed-on: https://gerrit.instructure.com/38503
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-08-07 16:37:16 +00:00
Ryan Taylor 34a524cd72 Ensure deleted questions aren't returned to API calls
Currently, API calls on lists of questions where some are deleted
return all of the questions.  We want it to only return deleted
questions.

Closes CNVS-12742

Test Plan:
  - Create a quiz with two questions
  - Delete one of the questions
  - Confirm that a visit to /api/v1/courses/1/quizzes/1/questions
    returns a single question

Change-Id: Ic501c6af3b812e4d795fd858012ee8647717789b
Reviewed-on: https://gerrit.instructure.com/38811
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Ryan Taylor <rtaylor@instructure.com>
2014-08-07 00:01:32 +00: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
Nathan Mills 5c4491a35f make links more descriptive
fixes PLAT-583

test plan:
the links on the App Setting page for eduappcenter and Canvas community topics for lti tools should be more descriptive

Change-Id: I066a6181ee60daa6e4200b2737c799f7976f4bed
Reviewed-on: https://gerrit.instructure.com/38777
Reviewed-by: Brad Humphrey <brad@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Nathan Mills <nathanm@instructure.com>
2014-08-06 18:33:55 +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
James Williams 81558f728c remove rails 2 support
closes #CNVS-14261

Change-Id: I1b0e8a4438ab659ecd1ac8462bc3559d810989b3
Reviewed-on: https://gerrit.instructure.com/38744
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
2014-08-06 18:16:19 +00:00
James Williams c0bb5197b2 fix query translation of imported external tools
test plan:
* import the package referenced in #CNVS-13144
* launch the external tool module item "title 1"
* inspect the form element on the launch page
* the url should have query parameters with
 "custom_" prepended to them

(e.g. "http://www.example.com/testlti?custom_resource_url=...")

closes #PLAT-584

Change-Id: I0d70244b78b6fc36ec188429a1ea7ccc4094bc70
Reviewed-on: https://gerrit.instructure.com/38799
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brad Humphrey <brad@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
2014-08-06 16:54:04 +00:00
Nathan Mills 6a320701e6 move lti registration endpoint to new message controller
fixes PLAT-567

test-plan:
specs should pass

Change-Id: I1a38910ddb3cf52319f4d38a71c3d075da79693d
Reviewed-on: https://gerrit.instructure.com/38612
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brad Humphrey <brad@instructure.com>
Product-Review: Nathan Mills <nathanm@instructure.com>
QA-Review: Nathan Mills <nathanm@instructure.com>
2014-08-06 16:27:19 +00:00
James Williams 29fba6ecb9 don't create an extra assignment on import in draft state
test plan:
* import the package referenced in the ticket into a
 draft-state enabled course
* should not have extra assignments created in the
 default "Assignments" group

closes #CNVS-13345

Change-Id: I7debc455014b5a44fe2026d85de8b58ad4ae89fb
Reviewed-on: https://gerrit.instructure.com/38673
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
2014-08-06 16:04:12 +00:00
Colleen Palmer 5506a43106 Fixes default opacity on buttons
Testing procedure:

One of the areas we saw it most apparent is in the communications
area.

http://screencast.com/t/SYJYGKVuj

These should now be visible, but just look disabled.

fixes: CNVS-14572

Change-Id: I5bc9854c59b87ba539e69ff3e066243243197f10
Reviewed-on: https://gerrit.instructure.com/38652
Reviewed-by: Vincent Gonzalez <vgonzalez@instructure.com>
Product-Review: Vincent Gonzalez <vgonzalez@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
2014-08-06 15:39:03 +00:00
Nathan Mills 77eb03f289 fix the tcp url in the tool consumer profile
refs PLAT-568

Test Plan:

the spec pass

Change-Id: I51d5de77b02e6c5167a86b74481e5aae016ccb5b
Reviewed-on: https://gerrit.instructure.com/38368
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brad Humphrey <brad@instructure.com>
QA-Review: Nathan Mills <nathanm@instructure.com>
Product-Review: Nathan Mills <nathanm@instructure.com>
2014-08-06 15:26:05 +00:00
Nathan Mills c3900c2b38 set focus when switching between app center and external apps views
fixes PLAT-582

test-plan:
when you click "View App configurations" it should set focus to the "View App Center" and visa versa

Change-Id: I6fc2b2b9b2a7435bb7853ecfb99d7ef4523e4a5b
Reviewed-on: https://gerrit.instructure.com/38776
Reviewed-by: Brad Humphrey <brad@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Nathan Mills <nathanm@instructure.com>
2014-08-06 15:24:47 +00:00
Jeremy Stanley c53ef57479 fix documentation error in context module items API
the content_id of an existing tag cannot be updated via PUT.

refs CNVS-14423

Change-Id: If97fbcc14b503a9771259e4d5e65a8e4c3b21113
Reviewed-on: https://gerrit.instructure.com/38540
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: James Williams  <jamesw@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
2014-08-06 13:57:47 +00:00
Cody Cutrer 55bc442f31 raise a distinct LoggedOutError when doing a forced-logged-out
refs CNVS-14595

instead of waiting for an InvalidAuthenticityToken to catch it

test plan:
 * log in to one browser, and go to an assignment page
 * in another browser (or incognito) log in and log out as the same user
 * in browser 1, refresh. you should have to login again
 * watch your requests - pings should be happen periodically, and
   succeeding
 * log in/out in browser 2
 * back in browser 1, a ping should fail. check your logs or
   errorreports - it should be a LoggedOutError, and InvalidAccessToken
 * refresh and log back in
 * log in/out in browser 2
 * try to edit a rubric (or another AJAX request that's not API) -
   it should fail, again *not* with InvalidAccessToken

Change-Id: I04c72e12fbcee7dd0aa4ce7dafcb698167a82015
Reviewed-on: https://gerrit.instructure.com/38755
Tested-by: Jenkins <jenkins@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 23:16:09 +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
Brad Humphrey 598be5460a add support for submitting URL content via LTI
Test Plan:
 - Create a homework assignment that accepts a website url
 - Add an external tool that supports homework submission
 - Submit a URL from the tool in a tab (not the more tab)
 - It should save the submission

Regression Test
 - File submissions via LTI should still work

fixes PLAT-579

Change-Id: I1a0ef11c0c4293d175c1e7604622922eadb8bf7f
Reviewed-on: https://gerrit.instructure.com/38707
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Reviewed-by: Nathan Mills <nathanm@instructure.com>
Product-Review: Brad Humphrey <brad@instructure.com>
2014-08-05 20:47:15 +00:00
Ryan Taylor eaffb011f5 Change text field in quizzes to better conform to documentation.
Closes CNVS-11570

Test Plan:
  - create or edit a quiz
  - switch editors by clicking on "HTML Editor"
  - Confirm that the editor switch text now reads 'Rich Text Editor'.
  Extra WYSIWYG locations:
  - Confirm that assignments, syllabus content, calendar events, eportfolios, and wiki rich text editors are also edited
  - confirm that locales are updated

Change-Id: If110012fea46090dc2283bfba1170e82034e7ff5
Reviewed-on: https://gerrit.instructure.com/38729
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Ryan Taylor <rtaylor@instructure.com>
2014-08-05 20:35:04 +00:00
Matthew Berns a110badc58 fixed display of nested arrays on API documentation
arrays found within arguments in documentation are converting to hyperlinks

fixes CNVS-8092

test plan:
- visit the following links
- doc/api/submissions.html#method.submissions_api.update
- should show rubric_assessment[criterion_id][comments]
- doc/api/users.html#method.users.update
- should show user [avatar] [url]
- doc/api/submissions.html#method.submissions.create
- should show submission [submission_type] and submission [url]
- doc/api/assignments.html#method.assignments_api.update
- should show assignment [assignment_overrides]
Change-Id: Ie5eea14821a5fb172e2a8d4ee62a1cc19ab72b60
Reviewed-on: https://gerrit.instructure.com/38392
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Matt Berns <mberns@instructure.com>
2014-08-05 20:27:56 +00:00
Nathan Mills 085e18d40b change the name for the add new app button, and update custom fields label
fixes PLAT-573

test-plan:
*The title of the Add New App modal should be "Add New App"
*Screen readers should read the extra help text for the Custom Fields text box

Change-Id: Icdd277542f8fddf9165f95f2add26bbab741c0ab
Reviewed-on: https://gerrit.instructure.com/38576
Reviewed-by: Brad Humphrey <brad@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Nathan Mills <nathanm@instructure.com>
2014-08-05 15:31:14 +00:00
Ahmad Amireh d016f08193 Quiz Stats - Account for fudge points
Fudge points were not considered because we were manually summing up the
points for each individual question. The patch makes it so that we use
the pre-calculated #score field for the submission.

Closes CNVS-13645

TEST PLAN
---- ----

  - create a quiz with 1 question with 2 points possible
  - take it by a student and answer it correctly
    - visit quiz stats, verify the numbers are now 2
  - add a -1 fudge point
    - visit quiz stats, verify that the low/high/avg scores are 1
  - manually grade the question up to 2.5 from 2
    - visit quiz stats, verify the numbers are now 1.5

Change-Id: I4341a6241b2c94b654b2ddce4439e4cbb71344e8
Reviewed-on: https://gerrit.instructure.com/38668
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
2014-08-05 15:15:28 +00:00
Nathan Mills 55e433d9c0 fix accessability issues on edit external tool modal
fixes PLAT-574

test-plan:
*invalid fields be reported as invalid by the screenreader
*the first invalid field should recive focus

Change-Id: If647dd29c4faf0149a40b21cc897d8d35f9a72f7
Reviewed-on: https://gerrit.instructure.com/38599
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brad Humphrey <brad@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Nathan Mills <nathanm@instructure.com>
2014-08-05 14:43:42 +00:00
Ryan Florence eb09993f70 fix student groups from if-lazy-list upgrade
you now have to specify the data you pass down
from the controller

Change-Id: I7bc6f9557c43aeee5eeab10a9e6d460b0ca1f334
Reviewed-on: https://gerrit.instructure.com/38332
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-08-04 21:43:53 +00:00
Duane Johnson 40b45c4aef fix 'assignment_visibility' API doc type
Swagger fails to generate code for pandarus / live API docs
because assignment_visibility array does not specify a type.

This sets the type to 'integer'.

Fixes SIS-400

Change-Id: I0a675dc51907d1a64993a36bed94d022deae3dda
Reviewed-on: https://gerrit.instructure.com/38575
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ken Romney <kromney@instructure.com>
Product-Review: Duane Johnson <duane@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
2014-08-04 21:12:15 +00:00
Ryan Florence 6bdb32c01b modules next: added basic item editing modal
test plan:

1. click the item row cog
2. choose “edit”
3. change the title
4. click save
   - item indicates “saving..”
   - item’s title updates
5. refresh the page
   - changes persist
6. repeat 1-3
7. click cancel
   - title does not update 

Change-Id: Idcd52c580078ca60ec468a4c85832b385d63220c
Reviewed-on: https://gerrit.instructure.com/38487
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-08-04 20:45:38 +00:00
James Williams 852ac4730b fix copying of quiz questions imported from question banks
test plan:
* create a course with a question bank
* add a question to the bank
* create a quiz
* import the question from the bank into the quiz
* copy the course
* the copied course should have a question bank
 matching the original name with the question

fixes #CNVS-14495

Change-Id: I8e56c5c59e88be5213a004d276aadd14b89ca0cd
Reviewed-on: https://gerrit.instructure.com/38610
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Willesen <jonw@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
2014-08-04 19:49:36 +00:00
Cameron Matheson 83cf8d9af9 clear out stale submission fields on resubmit
fixes CNVS-5604

Test plan:
  * set up an assignment that takes online_url and online_text_entry
    submissions
  * make a online_url submission for an assignment
  * have the same student make an online_text_entry submission
  * the api response should now *not* include the url anymore

Change-Id: I2389b0b3e8a565eed01f85ba2bed874c59585a2f
Reviewed-on: https://gerrit.instructure.com/37796
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
2014-08-04 19:32:41 +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
Jeremy Stanley dc613caf6d zip content exports for course, group, user
test plan:
 1. use the content exports api with export_type=zip
    to export files from courses, groups, and users
   a. confirm only users who have permission to
      download files from these contexts can perform
      the export
   b. confirm that deleted files and folders do not show
      up in the downloaded archive
   c. confirm that students cannot download locked files
      or folders from courses this way
   d. check the progress endpoint and make sure
      it increments sanely
 2. perform selective content exports by passing an array
    of ids in select[folders] and/or select[attachments].
    for example,
      ?select[folders][]=123&select[folders][]=456
      ?select[attachments][]=345
      etc.
   a. any selected files, plus the full contents of any
      selected folders (that the caller has permission
      to see) should be included
      - that means locked files and subfolders should
        be excluded from the archive
   b. if all selected files and folders are descendants
      of the same subfolder X, the export should be named
      "X_export.zip" and all paths inside the zip should be
      relative to it. for example, if you are exporting A/B/1
      and A/C/2, you should get "A_export.zip" containing
      files "B/1" and "C/2".
 3. use the index and show endpoints to list and view
    content exports in courses, groups, and users
   a. confirm students cannot view non-zip course exports
      (such as common cartridge exports)
   b. confirm students cannot view other users' file (zip)
      exports, in course, group, and user context
   c. confirm teachers cannot view other users' file (zip)
      exports, in course, group, and user context
      (but can still view course [cc] exports initiated by
      other teachers)
  4. look at /courses/X/content_exports (web, not API)
   a. confirm teachers see file exports they performed
   b. confirm teachers do not see file exports performed by
      other teachers
   c. confirm teachers see all non-zip course exports
      (cc/qti) including those initiated by other teachers
  5. as a site admin user, perform a zip export of another
     user's files. then, as that other user, go to
     /dashboard/data_exports and confirm that the export
     performed by the site admin user is not shown.

fixes CNVS-12706

Change-Id: Ie9b58e44ac8006a9c9171b3ed23454bf135385b0
Reviewed-on: https://gerrit.instructure.com/34341
Reviewed-by: James Williams  <jamesw@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Jon Willesen <jonw@instructure.com>
2014-08-04 16:38:19 +00:00
Ryan Shaw 485b90a6f7 replace compass with node-sass
after many steps towards this moment, we're finally here

This yanks sass and compass out of canvas-lms
completely and instead uses the libsass based
node-sass to compile our SASS files.

wins:

It is WAYYY faster!
as in, < 10 seconds to recompile all css in canvas
(compared to the 5+ minutes it used to take)

It is all in JS, helping use move to a completely
nodeJS based fronted tooling workflow.

next steps:

remove jammit: we don't need an assets.yml file
since node-sass can output compressed css for us
and we use sass to do all of our @import'ing of other
files (@colleen calls those "compiler" sheets), this
would simplify and speed up fronted asset building
even more

use gulp/broccoli/whatev to do cached, incremental builds

test plan:

all outputted css should look exactly the
same as it used to.

run `npm run compile-sass`, make sure it works
and is way faster than `rake css:generate` used to be

Change-Id: I7d865ea6b3e374cdc27a883d2019a4c15746c0e2
Reviewed-on: https://gerrit.instructure.com/38416
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2014-08-04 15:28:29 +00:00
Ryan Shaw ba4d2db268 get all remaining sass files working with lib sass
to test, run:
https://gist.github.com/anonymous/bc9c74c7d2438c3f6375
from the /app/stylesheets directory
and see that it works

to re-render all sass in the app went from
294.39s user 21.77s system 273% cpu 1:55.41 total
to:
79.14s user 11.29s system 684% cpu 13.212 total

from 2 minutes down to thirteen seconds!!!

(with a bunch of stuff I can do to further optimize)

Change-Id: Ib239da39226f041d02cea4fb9d5e4f6fe3e18468
Reviewed-on: https://gerrit.instructure.com/38415
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2014-08-04 15:28:12 +00:00
Ryan Shaw 9f6efcf5b5 get c-common.scss parseable by node-sass
This is the hardest one, it was not too bad though.
Things I found you need to do:

1. You can't have a "//" comment on the same line in .sass syntax
so the following line:

.foo //a comment about foo

would need to be:
//a comment about #foo
.foo

2. in .sass, you have to use double quotes for @import
so:      @import 'foo'
becomes: @import "foo"

things you do NOT have to do:

1. don't have to add the extension or the underscore
in front of filename for @import.
e.g, DON'T have to convert:
@import "foo"
to:
@import "_foo.scss"

2: don't have to convert the leading colon syntax
   of super old sass to colon between syntax
e.g:
.foo
  :width 100%
is just fine

(Hallelujah on not having to do those 2, it
makes this a lot smaller of a change)

test plan:
`npm install node-sass` then
within the /app/stylesheets directory,
run this command and see that it works:

../../node_modules/.bin/node-sass --include-path variants/new_styles_high_contrast base/c-common.scss

Change-Id: I73e382560e3dcbf55c32e97bb245b5ec262d4cb0
Reviewed-on: https://gerrit.instructure.com/38414
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2014-08-04 15:27:58 +00:00
Ryan Shaw ade0ad9fcf relax warning on ensure-contrast
...so we don't get bugged by our input:placeholder
styles

the number 2 was just something arbitrary that I had picked

Change-Id: I256880f0c4e3b11084387dfabf1dffa3fdaf6688
Reviewed-on: https://gerrit.instructure.com/38484
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Colleen Palmer <colleen@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2014-08-04 13:48:16 +00:00
Aaron Cannon 69d209a141 Accessibility: Turned discussion edit button into button for SR users
Fixes CNVS-13971

Test plan:
- Visit a discussion with edit privileges
- Using a screen reader, verify that the edit button is reported as being a
  button

Change-Id: Ie89a3595d33f14fbb990dc2f8140216d5a08bfe2
Reviewed-on: https://gerrit.instructure.com/38469
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jayce Higgins <jhiggins@instructure.com>
Product-Review: Matthew Wheeler <mwheeler@instructure.com>
QA-Review: David Josse <david@instructure.com>
2014-08-04 08:00:52 +00:00
Cody Cutrer 948a57a183 fix permission inheritance
fixes CNVS-14451

test plan:
 * create a role in a root account
 * grant a permission to that role, and add an admin to that role
 * in a sub-account, revoke that permission from that role
 * ensure that the admin still has the permission in both the root
   account and a sub account (the sub account can't revoke permissions
   that admins got from further up the chain)
 * add an admin in that role to the sub account
 * ensure this new admin does not have the permission

 * and, sadly, permissions regression, cause we're messing with
   low level permissions stuff again

Change-Id: I7ccc32f36e4476d5df77eaec765abcb1c7b89b3e
Reviewed-on: https://gerrit.instructure.com/38604
Reviewed-by: Nick Cloward <ncloward@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2014-08-02 01:28:49 +00:00
Cameron Matheson abea42ae86 fix bulk_load_versioned_attachments bug
fixes CNVS-14509

previously it didn't include a submissions's attachment (used for
screenshots on url submissions)

Test plan:
  * make a url submission
  * use the submissions api (for_students endpoint) to get the submission
  * it should include an attachment for the screenshot of the submission

Change-Id: Ic4c2cfe693e0446bb48c811e8d2c5fd44e53d6a9
Reviewed-on: https://gerrit.instructure.com/37731
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-08-02 00:36:13 +00:00
Joel Hough 2f8880d2e2 Revert "conversations: fix last_authored_message_at"
fixes CNVS-14333

This reverts commit 4e83960eb4.

Change-Id: I4631088293abc5f2bcb281d60165f9710c7b6111
Reviewed-on: https://gerrit.instructure.com/38622
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
Product-Review: Matthew Wheeler <mwheeler@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
2014-08-02 00:28:48 +00:00
Jon Jensen 8f7089a6fd fix external mathjax script, fixes CNVS-14540
cdn was giving 404s; this was causing a selenium spec failure and
preventing preview from working in the advanced editor. switch to
something more reliable.

from my limited testing, we can't easily host this ourselves, because it
dynamically loads other scripts.

test plan:
1. go to the equation editor
2. confirm there are no errors in the js console
3. confirm that the basic editor works
4. confirm that the advanced editor works (live preview too)

Change-Id: Id261740d848cdae8922c9cfd985c9c7e7f84236e
Reviewed-on: https://gerrit.instructure.com/38624
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
2014-08-01 21:14:07 +00:00
Matthew Berns 764a9fecac fixed typo on API, line was repeated.
fixes CNVS-14227

test plan:
- visit /doc/api/assignments.html
- should only see one instance of line 'API for accessing assignment information.'

Change-Id: Ia0c55d2aaea4f7eeaefd30ea0427be75b0719b6a
Reviewed-on: https://gerrit.instructure.com/38465
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-08-01 20:50:19 +00:00
Joel Hough 1c31aee79c stop stream items from unlinking discussion subentries
fixes CNVS-14383

test plan
- create a discussion with "post before seeing replies" checked
- create a reply to the discussion
- as a user in the course who has not replied to the topic,
 fetch the /api/v1/courses/:course_id/activity_stream/summary
- as the topic creator, edit the topic message (to queue a job
 to recreate the materialized view)
- ensure that the reply is still present (the materialized view
 must be regenerated before the bug would remove the entry)
- toggle the unread state on the entry, ensuring that no errors
 appear in the debug console

Change-Id: Iaf8d15195c5c6fef8f1b22bf7dfc9110b05394f2
Reviewed-on: https://gerrit.instructure.com/38564
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
Reviewed-by: Mark Severson <markse@instructure.com>
Product-Review: Matthew Wheeler <mwheeler@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
2014-08-01 20:11:42 +00:00
Cameron Matheson 708328d18d don't let crocodoc blob/hmac be used for canvadoc
Test plan:
  make sure canvadocs/crocodoc still work in speedgrader

Change-Id: Ie5a7b8759206b0293757a2c2d820f0e7f5af164d
Reviewed-on: https://gerrit.instructure.com/36201
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
2014-08-01 19:32:13 +00:00
Simon Williams 029d6a050d api: restore regular per_page defaults to assignment index action
closes CNVS-14424

test plan:
- in a course with >10 assignments, list them with the api
- you should get 10 back by default

Change-Id: If671da72e1f6f85bce57635460306123addcaeb2
Reviewed-on: https://gerrit.instructure.com/38232
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cameron Matheson <cameron@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-08-01 17:56:24 +00:00
Michael Nomitch a8f91b248e DA - assignment and submission access for students and observers
fixes CNVS-14071

test plan:
  - set up differentiated assignments
    - as a student go directly to an assignment url
      (eg - courses/1/assignments/2)
      - students without visibility should get a flash
        message and get redirected to the assignment index
      - students with visibility should see the normal page
    - as a student go directly to a submission url
      (eg - courses/1/assignments/2/submissions/3)
      - students without visibility should get a flash
        message and get redirected to the assignment index
      - students with visibility should see the normal page
    - as a teacher and TA these pages should work fine
    - observers should have the same permissions as the
      students they are observing (try hard to break)

Change-Id: I063fbd5ab3664d69754f01f5bdc740fb79048804
Reviewed-on: https://gerrit.instructure.com/37704
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Liz Abinante <labinante@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Mike Nomitch <mnomitch@instructure.com>
2014-08-01 15:29:20 +00:00
Simon Williams 8bb6fcdcc2 don't display account settings notification tab if empty
fixes CNVS-2684
fixes CNVS-2768

test plan:
- in the site admin account settings page:
  - the notification tab should be gone
  - updating settings should still work
- in the root account settings page:
  - the notifications tab should still be present and functional
- in a sub-account settings page:
  - the notification tab should be gone
  - updating settings should still work

Change-Id: Ic6b016be8d0b7a00f4153870220dbb34388a350b
Reviewed-on: https://gerrit.instructure.com/38367
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-08-01 15:20:25 +00:00
Matthew Berns 2bf7a7354e input type set to text instead of number if browser is Safari
Safari does not fully support built-in HTML5 validations, error message was being skipped.

fixes CNVS-14162

test plan:
- Click the edit cog for the assignment group cog
- Enter text into min/max score fields
- Chrome and FF should display default HTML5 validation text, box should contain arrow incrementers
- Safari should display our built validation text "you must use a number" and arrow incrementers should be disabled

Change-Id: I8a25372a11de14e56288d42f68b0353a0b745414
Reviewed-on: https://gerrit.instructure.com/38450
Reviewed-by: Liz Abinante <labinante@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-07-31 22:37:05 +00:00
Ryan Shaw 25536742c3 remove last remaining uses of compass mixins
...on our way to yanking compass & jammmit and
using lib sass

test plan:
the css this outputs is the same as before.
no changes

Change-Id: Icdf463d8e873eebd1bc6166c9356751f7c971f1b
Reviewed-on: https://gerrit.instructure.com/38413
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2014-07-31 20:08:43 +00:00
Michael Nomitch c08de52f68 DA - GB2 grade curving, message students, default grade, details
fixes CNVS-14083
fixes CNVS-14081

test plan:
  - with DA on and an assignment only assigned to some
    students
    - check that grade curving only curves students that
      can see the assignment (and curves correctly)
    - check that "message students who" wont ever message
      students who cant see the assignemtns
    - check that set default grade only sets the grade of
      those who can see the assignment
    - check that assignment details only factors in students
      that should see the assignment
  - with DA off
    - check that all of the above features work as expected

Change-Id: Iae23e8cfad8dd556e00c2fea21176157cbebff36
Reviewed-on: https://gerrit.instructure.com/37884
Reviewed-by: Cameron Sutter <csutter@instructure.com>
Reviewed-by: Liz Abinante <labinante@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
2014-07-31 19:00:37 +00:00
Brian Palmer 3f2c894b4f rails3: fix our IE iframe upload workaround
In rails3, `render :text` was still returning a content-type of
application/json, presumably because of the request headers, which means
that IE was once again prompting users to download the api json response
when doing file uploads in a hidden iframe.

This commit forces the content-type to text/html to match the rails2
behavior, and adds a missing spec.

fixes CNVS-14412

test plan:

do a QTI course import using IE 10/11, and make sure you don't get
prompted to download a "create_success" file when the zip upload
finishes.

Change-Id: I5fce6885ab8bf321163439c8ed1c5e274c4f9d7a
Reviewed-on: https://gerrit.instructure.com/38506
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
2014-07-31 18:47:14 +00:00
Ryan Shaw 6b4dabf385 disable custom override css while working on k12 and new_styles
fixes: CNVS-14438

at least while we are working on the new style and
k12 specific looks, let's not load customer account
css overrides.  because we are doing major changes
to the header and nav in these new features, we
don't wan't to be pulling in the css files that
people were loading before since they would probably
be all broken in undetermined ways now. However,
because all this work is behind a feature flag,
and these feature flags are marked as "in development"
and "beta", we are not removing anything for any
customers.

repeated:
This does not affect anyone that does not have
either the k12 or new_styles feature flags enabled.
so none of our current customers in production.

As we move closer to having the new_syles and k12
styles out of beta we'll work on a better story
for branding canvas to a school in a easier, more
manageable way. This may involve a GUI interface
to pick your colors instead of having to upload a
css file that overwrites things in an unsupported
and undocumented way. We don't want people to have
to worry about a new release breaking their branding.

test plan:

with k12 or new_styles feature flag turned on,
make sure the account's custom css file is not loaded

with neither the k12 or new_styles feature flag turned on
make sure that nothing changes, e.g. if they had custom
css it should still be loaded as before.

Change-Id: I4ec4bbac55d6e913d19fddface1232baf6d7ff89
Reviewed-on: https://gerrit.instructure.com/38294
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Willesen <jonw@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2014-07-31 18:07:57 +00:00
Ahmad Amireh 3a374af462 Ember Quiz Stats - Pre-activate answer set
FIMB, Matching, and Multiple-Dropdown question statistics should now
have the first answer-set pre-activated for you as soon as you visit the
stats page.

Closes CNVS-13614

TEST PLAN
---- ----

  - enable NQS
  - create a quiz with those question types
    + take it by one student for the stats to show
  - visit the stats page
    + verify that the question statistics sections for those question
      types have the first answer-set activated and the details expanded
    + verify you can still activate other sets
  - verify the page doesn't break with questions that have 0 sets

CR NOTES
-- -----

  - ajax fixture was outdated and causing jenkins to fail which is why
    the integration spec was modified

Change-Id: I46872f17ec267eaf7e8c32a32715a984f0ce3750
Reviewed-on: https://gerrit.instructure.com/38341
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
2014-07-31 15:56:47 +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
Ryan Florence 6323ea51c3 modules next: remove module items
test plan:

1. click the cog
2. pick “remove”
   - it should fade out
   - it should not show up after refresh

Change-Id: Ib8c9beaf71665dd321efaea3a69069813ca96b1d
Reviewed-on: https://gerrit.instructure.com/38466
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Ryan Florence <ryanf@instructure.com>
QA-Review: Ryan Florence <ryanf@instructure.com>
2014-07-31 03:47:20 +00:00
Cody Cutrer 8aa1ee2732 don't show add admins if you don't have permission to add any particular types
test plan:
 * create a role in site admin with only permission to create other roles
 * add a user to that role (and no other roles)
 * log in as that user, and go to a *different* root account's settings
 * it should not show an empty x, or even the ability to add admins
   (the only available roles are Account Admin, which the limited admin
   does not have permission to create)

Change-Id: I295c25bff8b3f7ec1c190a514e4ac95b96d0be91
Reviewed-on: https://gerrit.instructure.com/38349
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2014-07-30 23:05:36 +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
Simon Williams 5cebbfacf7 fix assignments_needing_x sharding issues
course_ids were being looked up on the currently active shard and then used on
the user shard

fixes CNVS-14449

test plan:
- create a teacher and two shards, each with a course
- enroll the teacher in both courses (so they are now a cross-shard user)
- in each course, create a student and have them submit an assignment
- load the dashboard on each shard
- both shards To Do lists should be the same -- they should both list
  2 assignments (one from each shard/course) as needing grading

Change-Id: Id34541f7d7144fa0ffb8b221a95aa9369118f50a
Reviewed-on: https://gerrit.instructure.com/38372
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-07-30 17:58:58 +00:00
Jacob Fugal daf6143e0b session_affects_permissions -> permissions_key
fixes CNVS-13711

test-plan:
 - regression tests of:
   * permissions of admin with pending invitation to a course
   * user that typically would not have access to a portfolio, but
     visited the portfolio with a verifier string earlier in the session
     (but has no verifier string now)
   * access to attachments on the safe file domain

Change-Id: Ie321c77655e6ba5e87fd35a079086a48608f5d0e
Reviewed-on: https://gerrit.instructure.com/38029
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Nick Cloward <ncloward@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
2014-07-30 16:16:18 +00:00
Ryan Shaw ee62f82242 remove all uses of compass functions
the last remaining uses of compass functions were
image-width and image-height

this gets rid of the remaining usage of those

...on our way to not needing compass at all

test plan:
nothing should change since all I did was replace
the scss with what the compiled css was

Change-Id: I0cd21a2dc193d7e154fb38acf11b841c9b2baaf8
Reviewed-on: https://gerrit.instructure.com/38329
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Colleen Palmer <colleen@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2014-07-29 23:28:57 +00:00
Cameron Sutter 6d4a35b86c DA - gray out gb2 cells
fixes CNVS-9767

test plan:
 * with the differentiated assignments feature flag on
 * as a teacher
 * with assignments that have due dates for only some of the sections
 - view gb2
 > any cells whose student is not in a section that has a due date
   for that assignment should be grayed out
 * with the differentiated assignments feature flag is off
 - open gb2 and make sure things don't explode

Change-Id: I0906dc1dc53594e4c7cbc99a88acef2b50d0e325
Reviewed-on: https://gerrit.instructure.com/37229
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Liz Abinante <labinante@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
2014-07-29 21:50:51 +00:00
Ryan Shaw a6d00dc4ad WithGlobalDom is the same as withReactDOM, remove duplicate
...and put it in a more organized spot on filesystem.
...and copy over the improvement tweaks we did to it

Change-Id: I5b406c36efecc8e522ad6f7f95e7bf475fdd6171
Reviewed-on: https://gerrit.instructure.com/38088
Reviewed-by: Sterling Cobb <sterling@instructure.com>
Product-Review: Sterling Cobb <sterling@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2014-07-29 21:41:13 +00:00
Jon Willesen 2fa96e245d add publish_final_grade feature to draft state modules
fixes CNVS-14416

test plan:
 - make sure the publish final grade feature works in draft
   state modules. Setting should be remembered and have the
   desired effect (see jira for details).

Change-Id: I6960edf74b0bb71fdda0a01944972c0d24e0783d
Reviewed-on: https://gerrit.instructure.com/38231
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Jon Willesen <jonw@instructure.com>
2014-07-29 19:48:54 +00:00
Ahmad Amireh e621fa9170 Ember Quiz Stats - Show a loading spinner
This patch makes it so when you click the Statistics tab, and had not
already loaded its data, a dark overlay with a loading spinner will show
up to indicate that stuff is loading.

Closes CNVS-13737

TEST PLAN
---- ----

  - enable NQS
  - go to ember quizzes show
    + click the statistics tab
      - verify you see a dark overlay with a loading spinner
    + go back and forth between Overview and Statistics
      - verify you no longer see the overlay

Change-Id: I5d74e3093d222fe5ee9e5e037fb5fe64af464de3
Reviewed-on: https://gerrit.instructure.com/38346
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
2014-07-29 17:33:31 +00:00
Ahmad Amireh add15643d6 Ember Quiz Stats - Fix progress bar in tooltips
Progress bars for the report-generation inside the tooltips should show
the progress updates no matter what!

Closes CNVS-13663

TEST PLAN
---- ----

  - enable NQS
  - go to ember quiz stats
    + click the Student or Item analysis buttons
      - verify the progress bar fills up periodically

Change-Id: If547481110a4a3217f5479ab171b281fe0120a0a
Reviewed-on: https://gerrit.instructure.com/38345
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
2014-07-29 17:33:18 +00:00
Duane Johnson 00f35a58c5 add API docs for integration_id/data
API docs are missing integration_id/integration_data for
assignment 'update' API call.

Test Plan:
- Update Assignment API docs should include integration_id/data

Fixes SIS-374

Change-Id: I088796e2aac274ba90a048c55f9b53dcceb63be4
Reviewed-on: https://gerrit.instructure.com/37949
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Tyler Pickett <tpickett+gerrit@instructure.com>
Product-Review: Tyler Pickett <tpickett+gerrit@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
2014-07-29 17:06:41 +00:00