Commit Graph

3047 Commits

Author SHA1 Message Date
Clay Diffrient e162126e70 a11y: Modifies DOM order to influence tab order on user page.
fixes CNVS-14406

Test Plan:
  - Go to the account level user page
    (/accounts/##/users/##)
  - In the enrollments section, tabbing through should go to the
    course name before the unenroll link.
  - A screenreader should read the course name prior to the
    unenroll link.

Change-Id: I4436915218d89663a5d4563541e8e251af910038
Reviewed-on: https://gerrit.instructure.com/43767
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Dan Minkevitch <dan@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
2014-11-04 00:09:02 +00:00
Jacob Fugal 8efa352366 add and use :delete permission on pseudonym
fixes CNVS-16481

A user must have permission to update a pseudonym in order to delete it.
In addition, a user cannot delete a system-created pseudonym unless they
can also change its SIS ID.

test-plan:

 being able to delete a pseudonym entails being able to DELETE
 /users/:user/pseudonyms/:id

 * given
   - Sally who's an admin with the :manage_user_logins
     permission on one account (Account1) and a student on another
     account (Account2)
   - Bob who's a student on both accounts
   - Alice who's an admin on Account1 with greater permissions than
     Sally

 * Sally should:
   - be able to delete her Account1 pseudonym
   - be able to delete Bob's Account1 pseudonym
   - not be able to delete her Account2 pseudonym
   - not be able to delete Bob's Account2 pseudonym
   - not be able to delete Alice's Account1 pseudonym

 * given pseudonyms have SIS ids are set and Sally doesn't have the
   :manage_sis permission on Account1, Sally should:
   - no longer be able to delete her Account1 pseudonym
   - no longer be able to delete Bob's Account1 pseudonym

Change-Id: Iad54c6ceb5efcbd32ca1ba3fd011ebe0aa699c94
Reviewed-on: https://gerrit.instructure.com/42776
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
2014-11-03 23:04:06 +00:00
Jacob Fugal b423a231d4 add and use :merge permission on user
fixes CNVS-16480

A user has permission to merge any user for which he can manage at least
one pseudonym (doesn't need permission to manage all pseudonyms). To
merge two users, the acting user must have permission to merge each of
them.

test-plan:

 being able to merge two users entails being able to:

 - GET /users/:user1/admin_merge?pending_user_id=:user2
 - GET /users/:user1/admin_merge?new_user_id=:user2
 - POST /users/:user1/merge?new_user_id=:user2
 - PUT /api/v1/users/:user1/merge_into/:user2

 they should either all succeed or all fail

 * given
   - Sally who's an admin with the :manage_user_logins
     permission on one account (Account1) and a student on another
     account (Account2)
   - Sally2 who's a student in Account1, admin in Account2
   - Bob who's a student on both accounts
   - Bob2 who's a student in Account1, admin in Account2
   - Alice who's an admin on Account1 with greater permissions than
     Sally

 * Sally should:
   - not see "Merge with Another User" link at /users/:alice
   - see "Merge with Another User" link at /users/:sally
   - see "Merge with Another User" link at /users/:sally2
   - see "Merge with Another User" link at /users/:bob
   - see "Merge with Another User" link at /users/:bob2
   - not be able to merge herself with Alice
   - be able to merge herself with Sally2
   - be able to merge Bob with Bob2

 * Bob should:
   - not see "Merge with Another User" link at /users/:bob
   - not be able to merge himself with Bob2

Change-Id: I840077e80fbdb35ea5b9ef6c80d6af8e41e90ce9
Reviewed-on: https://gerrit.instructure.com/42775
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
2014-11-03 23:03:47 +00:00
Jacob Fugal 1129bc0ab9 add and use :reset_mfa permission on user
fixes CNVS-16478

A user can only reset their own MFA if the setting is not required of
them. They can only reset another user's MFA if they have the :update
permission on all of the other user's pseudonyms (even if it's required
for that other user, since it's just a reset, not full out disabling).

test-plan:

 being able to reset MFA on a user entails being able to DELETE
 /users/:target_user/mfa

 * given
   - Sally who's an admin with the :manage_user_logins
     permission on one account (Account1) and a student on another
     account (Account2)
   - Bob who's a student on both accounts
   - Charlie who's a student in Account1 only
   - Alice who's an admin on Account1 with greater permissions than
     Sally

 * Sally should:
   - see the "Reset Multi-Factor Authentication" link at /users/:sally
   - see the "Reset Multi-Factor Authentication" link at /users/:charlie
   - not see the "Reset Multi-Factor Authentication" link at /users/:bob
   - not see the "Reset Multi-Factor Authentication" link at
     /users/:alice
   - be able to reset her own MFA
   - be able to reset Charlie's MFA
   - not be able to reset Bob's MFA
   - not be able to reset Alice's MFA

 * given MFA is required on Account1, Sally should:
   - no longer see the "Reset Multi-Factor Authentication" link at
     /users/:sally
   - still see the "Reset Multi-Factor Authentication" link at
     /users/:charlie
   - no longer be able to reset her own MFA
   - still be able to reset Charlie's MFA

Change-Id: I38afc269c0baa8a72be77714254f088569b22116
Reviewed-on: https://gerrit.instructure.com/42773
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
QA-Review: Jacob Fugal <jacob@instructure.com>
2014-11-03 23:03:32 +00:00
Jacob Fugal e08cbe8ca3 add and use more pseudonym permissions
fixes CNVS-16477

The :update permission allows a user to update the pseudonym. Specific
portions of the pseudonym may be controlled by more specific permissions
(see below). To update a user's pseudonym requires :manage_user_logins
permissions on the pseudonym's account. A non-admin can only update
their password (see below) on their own pseudonym, which is separate
from this permission.

The :change_password permission allows a user to update a pseudonym's
password. An admin updating another user's pseudonym can only update the
non-managed password if the account allows admins to change passwords
(:admins_can_change_passwords setting). A user (admin or not) can always
update their own non-managed password. Managed passwords can never be
updated through Canvas.

The :manage_sis permission allows a user to update a pseudonym's SIS id
(sis_user_id attribute). It is simply inherited from the pseudonym's
account.

test-plan:

 * given
   - Sally who's an admin with the :manage_user_logins
     permission on one account (Account1) and a student on another
     account (Account2)
   - Bob who's a student on both accounts
   - Alice who's an admin on Account1 with greater permissions than
     Sally

 UNIQUE IDS:

   being able to update a unique ID entails being able to PUT to
   /users/:target_user/pseudonyms/:target_pseudonym?
     pseudonym[unique_id]=new_unique_id

   * Sally should:
     - be able to update her Account1 unique ID
     - be able to update Bob's Account1 unique ID
     - not be able to update her Account2 unique ID
     - not be able to update Bob's Account2 unique ID
     - not be able to update Alice's Account1 unique ID

 PASSWORDS:

   being able to update a password entails being able to PUT to
   /users/:target_user/pseudonyms/:target_pseudonym?
     pseudonym[password]=new_password&
     pseudonym[password_confirmation]=new_password

   * given both accounts allow admins changing passwords, Sally should:
     - be able to update her Account1 password
     - be able to update her Account2 password
     - be able to update Bob's Account1 password
     - not be able to update Bob's Account2 password
     - not be able to update Alice's Account1 password

   * given both accounts have managed passwords (pseudonyms have SIS ids
     set and accounts have non-password authentication), and still allow
     admins changing passwords, Sally should:
     - no longer be able to update her Account1 password
     - no longer be able to update her Account2 password
     - no longer be able to update Bob's Account1 password

   * given Account1 disallows admins changing passwords, Sally should:
     - still be able to update her Account1 password
     - no longer be able to update Bob's Account1 password

 SIS IDS:

   being able to update an SIS ID entails being able to PUT to
   /users/:target_user/pseudonyms/:target_pseudonym?
     pseudonym[sis_user_id]=new_sis_user_id

   * given Sally doesn't have the :manage_sis permission on Account1,
     Sally should:
     - not be able to update her Account1 SIS ID
     - not be able to update her Account2 SIS ID
     - not be able to update Bob's Account1 SIS ID
     - not be able to update Bob's Account2 SIS ID
     - not be able to update Alice's Account1 SIS ID

   * given Sally has the :manage_sis permission on Account1, Sally
     should:
     - be able to update her Account1 SIS ID
     - be able to update Bob's Account1 SIS ID
     - still not be able to update her Account2 SIS ID
     - still not be able to update Bob's Account2 SIS ID
     - still not be able to update Alice's Account1 SIS ID

Change-Id: I9b08ed67db8e2c664c057bb9259a8b18999b0863
Reviewed-on: https://gerrit.instructure.com/42772
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
2014-11-03 23:03:09 +00:00
Rob Orton 1d76c0c8af make account reports a gem
fixes CNVS-14266

test plan
 - all account reports should still work

Change-Id: Ibc378d76571569760e733bd1b8ad87e299a7bff8
Reviewed-on: https://gerrit.instructure.com/41419
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Tested-by: Rob Orton <rob@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
2014-11-03 22:57:35 +00:00
Joel Hough 82d0751897 yo integration
Fixes CNVS-16494

test plan
- configure yo plugin with an api token
- configure a user's yo service with their yo username
 (you'll need to install the yo app and register a user)
- set yo notification preferences to asap
- cause a notification to be sent
- ensure canvas yo's you
- ensure the yo link links back to canvas

Change-Id: I36ed467ed19842c2e92285ae20a3553272698f22
Reviewed-on: https://gerrit.instructure.com/42896
Product-Review: Joel Hough <joel@instructure.com>
QA-Review: Joel Hough <joel@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
2014-11-03 22:53:39 +00:00
Clay Diffrient 1a8a8ad49f a11y: Restricts unauthorized users from hearing move message
This commit deals specifically with the Modules page.

fixes CNVS-16527

Test Plan:
	- Using a screenreader, go to the modules page.
	- As a student you shouldn't hear anything about moving modules
	- As a teacher you should get messages about using the move to dialog.

Change-Id: Ifcd90c27d1d2d8fd9856cf755c52e391828a24cd
Reviewed-on: https://gerrit.instructure.com/43743
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
2014-11-03 22:40:55 +00:00
James Williams 81d4adc319 new roles
refactor everything that used to use strings for roles
to use actual role_ids

the apis should be backwards compatible so we don't need
to update (most of) the UI's right away in this commit

test plan:
* regression tests for permissions, role overrides,
 alerts (for account roles), enrolling users,
 adding account admins, etc.

refs #CNVS-15481

Change-Id: Id57fd3104c5c518b6fbf180609950dcddcdd474d
Reviewed-on: https://gerrit.instructure.com/41208
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2014-10-31 19:44:14 +00:00
Jacob Fugal 10fbf837f4 add and use :create permission on pseudonym
fixes CNVS-16476

instead of using the buggy :manage_logins permission on user, make it
more appropriate to the specific account and obvious what's being
checked.

Sally can create a pseudonym for Bob on account XYZ only if Sally has
admin rights on XYZ (:manage_user_logins in particular), Sally's
permissions on XYZ are a superset of Bob's existing permissions on XYZ
(if any), and Sally can already see Bob on some account.

test-plan:

 being able to create a pseudonym on an account entails being able to
 POST to /users/:user/pseudonyms?pseudonym[account_id]=:account

 * given
   - Sally who's an admin with the :manage_user_logins
     permission on one account (Account1) and a student on another
     account (Account2)
   - Bob who's a student on both accounts
   - Charlie who's a student on Account2 only
   - Alice who's an admin on Account1 with greater permissions than
     Sally

 * Sally should:
   - see the "Add Login" link for Account1 at /users/:sally
   - not see the "Add Login" link for Account2 at /users/:sally
   - see the "Add Login" link for Account1 at /users/:bob
   - not see an entry for Account2 at /users/:bob
   - not see the "Add Login" link for Alice at /users/:alice
   - be able create a pseudonym for herself on Account1
   - not be able create a pseudonym for herself on Account2
   - be able create a pseudonym for Bob on Account1
   - not be able create a pseudonym for Bob on Account2
   - not be able create a pseudonym for Charlie on Account1
   - not be able create a pseudonym for Alice on Account1

Change-Id: I5e1e02b6a55a82d8ed1916abccbf545e2f24c2f7
Reviewed-on: https://gerrit.instructure.com/42771
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
2014-10-31 04:26:30 +00:00
Jacob Fugal 071723d9dc fix permission check in users/_name partial
fixes CNVS-16479

the can_manage_admin_users variable -- meant to help control whether the
acting user can edit/become/merge/delete the shown user and also whether
the acting user can edit the shown user's time zone -- was always
truthy, since even an empty array is truthy

test-plan:
 * given Bob is a teacher and Sally a TA in the same course, with Sally
   logged in
   - visit /courses/:that_course/users/:bob
   - Sally should not see the "Edit" link

 * given Bob is a student and Sally a TA in the same course, with Sally
   logged in
   - visit /courses/:that_course/users/:bob
   - Sally should see the "Edit" link
   - after clicking the "Edit" link, Sally should not be able to change
     Bob's time zone.

Change-Id: I429a0752a034cc5ff10962dcbacee747cd6ec650
Reviewed-on: https://gerrit.instructure.com/42774
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
2014-10-30 19:05:46 +00:00
Derek DeVries d2c8e0b26a fix issue resaving a quiz after updating a question without saving
caused by a regression from updating routes for rails 4

fixes CNVS-16474

test plan:
  - as a teacher
    - create a quiz with a question
    - publish the quiz
    - update a question on the quiz, but don't save the quiz itself
    - refresh the page
    - you should get a notice that 'you have made changes to questions...'
    - click the 'save it now' button
    - it should save successfully

Change-Id: Id1a8ea918d5d968c63e883c8ee145222ab55a0b9
Reviewed-on: https://gerrit.instructure.com/43560
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ahmad Amireh <ahmad@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
2014-10-30 16:51:09 +00:00
Jon Jensen 6d8bac05b4 i18nliner-handlebars (part I)
extraction and runtime for vanilla handlebars. ember will be part II
because its strings currently don't even get extracted on master
¯\_(ツ)_/¯

differences in generated yml:
1. `%h{...}` placeholders from hbs are just `%{...}`, since html-safety is
   inferred at runtime without needing a placeholder hint (6 occcurrences)
2. inline `{{t ...}}` calls are now extracted (6 occurrences)
3. some trivial whitespace difference around some wrappers (2 occurrences)
4. html-entities are correctly converted into unicode equivalents, e.g.
   `Move To&hellip;` -> `Move To…` (1 occurrence)

test plan:
1. verify string extraction:
   1. `rake js:generate i18n:generate` before and after this commit
   2. confirm `config/locales/generated/en.yml` is identical, except the
      differences listed above
2. verify js translation file generation:
   1. `rake i18n:generate_js` before and after this commit
   2. confirm the files in public/javascripts/translations are identical
3. verify hbs translation keys/scope behavior at runtime:
   1. run canvas w/ RAILS_LOAD_ALL_LOCALES=true and optimized js
   2. use canvas in spanish
   3. confirm that todo está bien
4. confirm you can now use i18nliner-y features:
   1. block helper with no key `{{#t}}hello world{{/t}}`
   2. inline helper with no key `{{t "hello world"}}`

Change-Id: Ic2a2c5cf102ca482919cbb91ac1c154467029685
Reviewed-on: https://gerrit.instructure.com/42942
Reviewed-by: Jennifer Stern <jstern@instructure.com>
Product-Review: Jennifer Stern <jstern@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
2014-10-30 06:25:47 +00:00
Jon Jensen 5a040333cd i18nliner(.rb)
this swaps out (most of) our ruby haax with i18nliner

test plan:
1. verify string extraction:
   1. `rake i18n:generate` before and after this commit
   2. confirm `config/locales/generated/en.yml` is identical
2. verify english defaults:
   1. use canvas in english
   2. confirm everything looks correct
3. verify translation keys/scopes:
   1. run canvas w/ RAILS_LOAD_ALL_LOCALES=true and optimized js
   2. use canvas in spanish
   3. confirm that todo está bien
4. confirm you can now use i18nliner-y features:
   1. call `t` without a key
   2. use the fancy erb block syntax

Change-Id: I979479c0889fe7e31ee0c962a4bd1998ab54d711
Reviewed-on: https://gerrit.instructure.com/42785
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jennifer Stern <jstern@instructure.com>
Product-Review: Jennifer Stern <jstern@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
2014-10-29 21:59:39 +00:00
Spencer Olson 7c9bfc3292 show correct grading scheme when editing an assignment
closes CNVS-15193

test plan:
-Create a custom grading scheme
-Create an assignment
-Set "Display Grade as" to Letter Grade
-Click "View Grading Scheme"
-Click "Select another scheme" and select your custom scheme
-Save the assignment
-Edit the assignment again and click View Grading Scheme
-Note that it shows the new, custom grading scheme (this was
  incorrectly always showing the default scheme before)

Change-Id: If9b2064964b57a6939d24904b8cacf8178a8dfbe
Reviewed-on: https://gerrit.instructure.com/43368
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Spencer Olson <solson@instructure.com>
2014-10-28 21:34:56 +00:00
Mysti Sadler d663303c38 Fix Diigo API Calls
fixes CNVS-2467

test plan
 - verify you can set up the diigo plugin with the information in gollum https://gollum.instructure.com/OtherServiceTestAccounts
 - on the user settings page, verify you can use your diigo username and password to register the service

Change-Id: I8d33a8c1c29a013c681488fcc38bbfe7b83cd398
Reviewed-on: https://gerrit.instructure.com/39942
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2014-10-28 17:00:50 +00:00
Andrew Butterfield e5fb3acb34 Add Groups button no longer visible to students
fixes CNVS-15199

Added STUDENT_CAN_ORGANIZE_GROUPS_FOR_COURSE to ENV for check to see if students
are allowed to create groups.

Test Plan
- Allow "New Student Groups Page" in Feature Options tab of Account Settings
- Disable "Let students organize their own groups" in a course
- As a student, visit Groups page and notice that the "+ Group" button
  is hidden

Change-Id: I1379834ad44c0cedb13a41ec636547d4c3ffa1bb
Reviewed-on: https://gerrit.instructure.com/43259
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Matthew Wheeler <mwheeler@instructure.com>
2014-10-27 22:26:17 +00:00
Clay Diffrient 1cb2434884 Adds alt text to the CC image on public syllabus pages
fixes CNVS-14604

Test Plan:
  - Make a course publicly available.
  - Set it to have a Creative Commons license
  - Go to the Syllabus page
  - The Alt Text of the CC image at the bottom should be
    more descriptive of the license something like
    "CC Attribution" rather than "CC_by"

Change-Id: I09cfa277283f301c63775e05de577632657aeb31
Reviewed-on: https://gerrit.instructure.com/43269
Reviewed-by: Dan Minkevitch <dan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
2014-10-27 20:26:28 +00:00
James Williams 579606c249 spec: refactor context modules selenium specs for draft state
refs #CNVS-15563

Change-Id: Ic68e0374f820b4e37814f2e585d1d046993489ef
Reviewed-on: https://gerrit.instructure.com/43329
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
2014-10-27 18:40:03 +00:00
Michael Nomitch 1ab134b35d DA - eportfolio discussion link
fixes CNVS-16170

when a user cant see a DA'ed assignment there
is no longer a link to access it

test plan:
  - make a DA'ed discussion
  - make some comments on as a student
  - take away visibility to this student
  - add it to your eportfolio as the student
  - there should not be a link to go to the discussion
    when viewing as the student
  - as the teacher or a student with visibility, there
    should be a link to go to the discussion

Change-Id: Id72c39985f74b2f52b27edf70923bcb9d75f7ab2
Reviewed-on: https://gerrit.instructure.com/42973
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cameron Sutter <csutter@instructure.com>
QA-Review: Sean Lewis <slewis@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
2014-10-27 17:08:56 +00:00
Zach Wily 5e65151ea1 pandapub: add plugin settings, a simple client, and add to INST
Adds a PandaPub client and settings UI. This commit doesn't add any new
functionality or feature that use PandaPub - just the plumbing.

running and configuring PandaPub:
 * Start up a local PandaPub instance. Easiest way is with Docker:
     docker run --rm -ti -p 49000:3000  -e ADMIN_USERNAME=admin \
                -e ADMIN_PASSWORD=password zwily/pandapub:latest
 * Log into PandaPub at:
     http://$(boot2docker ip 2>/dev/null):49000/admin
   with admin/password.
 * Create a new application named "canvas"
 * Create a new key with an expiration date in the future. Record
   the key_id and secret.
 * Log into Canvas and go to PandaPub plugin settings:
     base_url: http://{DOCKER IP}:49000/
     application_id: <id from created application>
     key_id: <id from created key>
     key_secret: <secret from created key>
 * In your PandaPub admin section, open the "Console" tab for your
   created application. In the "Subscribe" section, enter "**" in the
   input box, and hit "Subscribe". This will show you the first 50
   events that arrive for the canvas application you just created.

test plan for settings:
 * Verify that the /plugins/pandapub settings page works, saving,
   disabling, etc.

test plan for client via console:
 * Set up and configure PandaPub in Canvas
 * Open a Rails console
 * Run this command to post a pandapub message:
     CanvasPandaPub.post_update("/public/foo", {"a" => 1})
 * Verify that the message showed up in your PandaPub console.

Change-Id: Ifddcbd335293c2a29f532b1e5fd44c23c8b910c4
Reviewed-on: https://gerrit.instructure.com/40311
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
QA-Review: Sean Lewis <slewis@instructure.com>
Product-Review: Zach Wily <zach@instructure.com>
2014-10-25 04:26:30 +00:00
Nick Houle eee3b09cbd publish_grades refactor
fixes SIS-600
partially reverses g/32659

test plan:
- for a course with and integration id and post grades feature enabled
  post grades button in gradebook should open dialog
- remove due dates for assignments in course
- confirm you're able to add dates in post grades dialog

Notes:
- regression test

Change-Id: I7c7b2109ef083750289290fbb161e47b47bfc4b9
Reviewed-on: https://gerrit.instructure.com/43293
Reviewed-by: Ken Romney <kromney@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Duane Johnson <duane@instructure.com>
2014-10-24 22:41:43 +00:00
Brian Palmer f6900880bf extract delayed_job plugin into separate gem
closes CNVS-15881

This mostly involved adding hooks to the gem for things that we were
directly modifying in Canvas, then hooking into those points in the
canvas config/initializers/delayed_job.rb file.

Periodic jobs scheduling changed a bit as well -- there's no longer
support in the extracted gem for reading a special file under config/,
so I moved our periodic_jobs.rb file to a normal initializer.

test plan: delayed jobs should still work as before, including queuing
jobs, running the worker pool, and in tests.

Change-Id: I9ce57091d18f21f4355011fcb75230193d53facb
Reviewed-on: https://gerrit.instructure.com/42027
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
2014-10-24 20:46:00 +00:00
James Williams ff129a694d make course settings form more accessible
change the course settings form so it's
always a form (similar to the account settings form)
so that way the labels always have referenced elements

test plan:
* using a screenreader, the labels should always reference
the proper input items (rather than labelling nothing
until the "edit" button is clicked)

closes #CNVS-16234

Change-Id: I66d64c5000c6e43291c34536452518ba1dee0945
Reviewed-on: https://gerrit.instructure.com/43091
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
2014-10-24 19:51:47 +00:00
Nathan Mills 639ca7075f lti2 launches from module items and assignments
fixes: PLAT-635 PLAT-652 PLAT-654 PLAT-655

test-plan:
*setup:
register an lti tool using the following url template
/courses/#{course_id}/lti/tool_proxy_registration?
tool_consumer_url=http://lti-tool-provider-example.herokuapp.com/tool_proxy

ignore the canvaception during the registration

testing:
*add some lti tools to module items, including 'default tool'
*make sure all launches, and selecting tools still works
*test the same things for assignments external tools

Change-Id: I0642c10c9b416057764b327d925cb6158fbf5cc9
Reviewed-on: https://gerrit.instructure.com/41726
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Brad Humphrey <brad@instructure.com>
Product-Review: Nathan Mills <nathanm@instructure.com>
2014-10-24 16:30:59 +00:00
Ahmad Amireh e026c7ad4d CQS: Feature Flag & Ember quizzes purging
- The "New Quiz Statistics" feature flag now converts the regular
  statistics page into the new one that uses the React/CQS client app
- All Ember quizzes code gone
- canvas_ember_urls gem gone
- quiz_moderate feature flag gone
- quiz_stats feature flag is now allowed in prod
- statistics_cqs explicit/hidden route gone, but the statistics_cqs ERB
  and coffee bundle are still there to help ease the transition later

Closes CNVS-16330

TEST PLAN
---- ----

  - go to /courses/:course_id/quizzes/:quiz_id/statistics
    + verify you get the old/regular stats page
  - enable the "New Quiz Statistics" feature flag
    + refresh that page, verify you see the new app

Now turn the flag on and off and play around the quizzes pages, verify
everything looks OK.

Change-Id: I01fc5da80fd206df08338823ffb446a1e3a06ed0
Reviewed-on: https://gerrit.instructure.com/42965
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Taylor <rtaylor@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
2014-10-24 08:47:55 +00:00
Joel Hough 6aa1ccfc2a submission comments in the inbox
fixes CNVS-15693
fixes CNVS-15694

test plan
- regression test conversations
- test submission comments in the inbox

Change-Id: I0da5cea276f6d03ac08aab51143fe13d40503ee7
Reviewed-on: https://gerrit.instructure.com/42063
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>
2014-10-24 00:51:36 +00:00
Joel Hough 6de539100b make notification preference buttons always screenreader accessible
fixes CNVS-14758

test plan
- ensure that buttons for all frequencies on the notification
 preference settings page are screenreader accessible

Change-Id: I4ae1651d8d9b7b702fce2b9226b5cb1f49e06403
Reviewed-on: https://gerrit.instructure.com/43186
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>
2014-10-23 21:43:40 +00:00
Ryan Taylor 2af63ddd94 Hides Quiz icons in gradebook/grade summary until DB is ready
The quiz icons are hidden away until the appropriate features are out to
allow for monitoring of gradebook/speedgrader edits to quiz scores which
are pending review because of their question types.

Closes CNVS-16399

Change-Id: I689f1dcc94a647a32fe619b215f6b641a8376f84
Reviewed-on: https://gerrit.instructure.com/43180
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Ryan Taylor <rtaylor@instructure.com>
2014-10-23 17:55:50 +00:00
Ahmad Amireh 6df57b0a11 Respect course soft conclusion date for quiz subs
Submissions will no longer be creatable if the course has been deemed
concluded (softly; in the sense that its `end_at` overrides the term's
`end_at`, or its term has ended).

In this scenario, we now display a message to students (and teachers):

  "This quiz is no longer available as the course had been concluded."

Closes CNVS-15934

TEST PLAN
---- ----

  - create a course and open its settings page
  - set an end date to sometime in the past
    + do NOT check the option "Users can only participate in the course
      between these dates" yet
  - create a quiz in that course, with like a single question and
    unlimited attempts, and then publish it
  - in another tab as a student, go to the quiz take page, and take it
    once, hand it in, then stay on that page where you can see "Take
    this Quiz Again"
  - now in the teacher tab, edit the course settings and turn that
    option on, save
  - go back to the student tab, do not refrehs, just click that button
    for taking the quiz... and:
    + verify you are redirected back to the same page (e.g, not taken to
      the take quiz page)
    + verify no new attempts have been registered
    + verify you now see the alert message in a red box
  - turn that option back off, refresh the page:
    + you should be able to re-take the quiz
  - try on and off, see if you can get anything funny going on

Change-Id: I83a373258cc7e615c98e416ef7d630fa9ccb7331
Reviewed-on: https://gerrit.instructure.com/43204
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Taylor <rtaylor@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
2014-10-23 17:32:33 +00:00
James Williams 2e5b71df2b restrict admin enrollments on explicit term setting
test plan:
* create a course with a teacher/ta/designer enrollment
* using the "Terms" link on the account navigation sidebar,
 set a term start date in the future, but leave the term dates for
 teachers/ta's/designers blank

* the UI should correctly state that teachers/ta's/designers
 can access before the term start
* a teacher/ta/designer should be able to access the course

* override the default term limits for the teacher/ta/designer
 to explicitly restrict their access until a future date
* they should not be able to access the course now

closes #CNVS-9681

Change-Id: Icec6bc24b2a199bf7aae541573590c1dd71fbd49
Reviewed-on: https://gerrit.instructure.com/42413
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Matt Fairbourn <mfairbourn@instructure.com>
2014-10-23 15:46:21 +00:00
Ethan Vizitei d29221c1f6 fix missing translation error in due dates
fixes CNVS-5622

updated format on public syllabus to be short
and on the hour

TEST PLAN:
1. Create a course with the public syllabus 
   setting allowed
2. Create multiple sections for the course
3. |Calendar|
4. Click on a day and then change the calendar to 
    the course you just set up for this test
5. |More Options|
6. |"Use a different date for each section"|
7. Set up two dates that are over a month apart
8. |Update Event|
9. Log out and go to the syllabus for that 
    course by using the URL
10 you should see a nicely formatted date

Change-Id: I5de5e1e22152d5f556f50cdc1d067cb44a3e7d09
Reviewed-on: https://gerrit.instructure.com/42226
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-10-22 13:11:30 +00:00
Matthew Berns 459c8a2415 added student name and grade status to live region
student name is announced after clicking next/prev buttons, or grading assigment

fixes CNVS-15546

test plan:
- go to speedgrader with voiceover enabled
- click on next button and previous buttons
- name and grade status of student should be announced
- add a grade to current assignment
- name and grade should be announced
- repeat for removing grade
- repeat process with student names hidden to ensure names remain anonymous

Change-Id: I8c4c7d4acad1009e74b2df3d05c9fcc84e86e7ab
Reviewed-on: https://gerrit.instructure.com/42191
QA-Review: Sean Lewis <slewis@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
2014-10-20 19:00:09 +00:00
James Williams 127ce61d87 prevent closing upcoming assignment discussions
test plan:
* create a course with a graded discussion with an
 upcoming due date
* confirm that the gear menu on the index no longer
 has an option to "Close for comments" (that didn't work)
* confirm that dragging the discussion into the
 "Closed for Comments" group does not let you
 drop it in

closes #CNVS-16029

Change-Id: I50c21fc528409c4d5e90344149d751ff25f86389
Reviewed-on: https://gerrit.instructure.com/42720
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Matt Fairbourn <mfairbourn@instructure.com>
Product-Review: Janelle Seegmiller <jseegmiller@instructure.com>
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
2014-10-15 20:46:56 +00:00
Braden Anderson 8ff922ff5f calendar: mark completed assignments
fixes CNVS-16237

test plan:
  * open calendar as a student
  * verify that assignments you have submitted are marked
  * open calendar as a grader
  * verify that past due assignments with no ungraded submissions are marked

Change-Id: Ie84c436c49feab94d5c896ab0c79306013c75185
Reviewed-on: https://gerrit.instructure.com/42759
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brad Horrocks <bhorrocks@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
2014-10-15 19:27:47 +00:00
Jeremy Stanley f52276a1b0 file preview endpoint
test plan:
 0. upload the following types of files into a course, and
    note their IDs:
     a) document of some type (such as Word, PDF)
     b) image (such as JPEG, PNG, GIF)
     c) media (such as MP3, MP4, MOV)
 1. enable canvadocs and google docs previews in account
    settings.
 2. test the document preview by hitting the following
    in a new browser tab:

    /courses/X/files/Y/file_preview

    (where X is the course ID and Y is the file ID
     of the document file)
    - You should see a Canvadocs preview of the document.
    - There should be no Canvas chrome in the window, just
      the document preview.
 3. disable canvadocs but leave google doc previews
    enabled.
 4. hit the URL from step 2.
    - you should see a Google preview of the document
 5. disable Google docs previews.
 6. hit the URL from step 2.
    - you should see a message indicating that no preview is
      available, with a link to download the file.
 7. hit the URL from step 2, but substitute the file ID
    with the ID of an image instead of a document.
    - you should see the image (and nothing else).
 8. hit the URL from step 2, but substitute the file ID
    with the ID of a media file.
    - You should see a functioning media player (or a message
      indicating the media has not been converted yet)
 9. add a document to a module, and set a "must view"
    completion requirement
10. use this endpoint to preview the document, and confirm
    that the module completion requirement is fulfilled

fixes CNVS-15827

Change-Id: Id0ecaa7f003248cb3d8f163e48c3b16631ee59cf
Reviewed-on: https://gerrit.instructure.com/42438
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
2014-10-13 22:44:09 +00:00
Ethan Vizitei 18af39bcd0 allow group leadership edits on group categories
fixes CNVS-14666

altered styles and markup to include form elements
in group category edit view.

abstracted some element handling for autoloader
controls into edit view to be shared by create view.

updated group category API to include auto_leader
in JSON serialization (so the edit form
can set the state correctly)

Changed edit view to set form state based on 
auto_leader value in GroupCategory model from API.

add tests for GroupCategoryEditView in coffee script

update GroupCategories::Params to favor form
submission value over raw api value for auto leader
if both are specified and the form version is
enabled.

add ability to nil out auto_leader status by
unchecking checkbox on form

TEST PLAN:
 - login as a teacher
 - create a group set
 - edit the group set
 - you should be able to change the
    group leadership settings
 - you should be able to nil out autoloader settings
    by unchecking the checkbox on the edit form
 - ensure that as students are added to the groups
    the leadership settings are effective (that is
    a leader still gets assigned at random
    or by first joining student depending on 
    leadership strategy selected)

Change-Id: Iecbb4829f5efccda1bd97bca1d99c3bd4c15bffe
Reviewed-on: https://gerrit.instructure.com/41965
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
2014-10-10 20:42:06 +00:00
Jeremy Stanley 8370be1da0 fix Module Progress link
test plan:
 1. go to the Modules / Student Progress page
    /courses/1/modules/progressions
 2. click a name on the right under "Student Progresses"
 3. "Module Progress for X" on the top of the page should contain
    a working link and not visible HTML code

fixes CNVS-16134

Change-Id: I4eb37c3b375f9c14fe851b14da058eb8d9a40bb2
Reviewed-on: https://gerrit.instructure.com/42560
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: James Williams  <jamesw@instructure.com>
Product-Review: Matt Fairbourn <mfairbourn@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
2014-10-10 20:10:14 +00:00
Ryan Taylor 237fc34cd3 Front end access points on Quiz Moderate for Outstanding QS
Previous workaround for student submissions which were outstanding was
to visit each individual quiz show page from the moderate page.  This
cleans up the moderate page with the ember styling, and adds the
functionality of outstanding quiz checking and submitting through the
API endpoint.

Closes CNVS-15502, CNVS-16197

Test Plan:
  - Basically, a QA regression of the quiz moderate page
    - ensure all quiz extensions still function
    - ensure icons for manually unlocked, in progress time alterations,
      and quiz extension notices are present
  - Check for outstanding quiz extensions button functionality
    - Shows an alert on page refresh if outstanding quiz submissions
      exist
    - Submits the selected submissions
    - Hides alert if all the outstanding submissions were submitted,
      otherwise shows the success flash message, but retains the alert
    - Overflows with large lists

Change-Id: Idba6a4849a3dc32fe9c077236a7fa13a6db6ce00
Reviewed-on: https://gerrit.instructure.com/41441
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Product-Review: Ryan Taylor <rtaylor@instructure.com>
2014-10-10 19:12:19 +00:00
Brad Horrocks ce5995691b [NVDA] Manage Announcement is no longer Manage discussion
Change screenreader text to say Manage Announcement

Fixes CNVS-13974

Test Plan:

- NVDA in FF
- Go to the Announcements page
- Select an Announcement
- Navigate to the Manage Announcements link (Gear icon that comes after the edit button)
- Verify it say manage announcement

Change-Id: I059cd0a6d339569729df90df25246282860ecf1e
Reviewed-on: https://gerrit.instructure.com/42398
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Severson <markse@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Brad Horrocks <bhorrocks@instructure.com>
2014-10-09 17:07:12 +00:00
Cody Cutrer ef4de34d5b ensure locals are defined before using them in partials
refs CNVS-15835

Change-Id: I00fe45309eec3cc81a8c3aadab839c3b412f355e
Reviewed-on: https://gerrit.instructure.com/41811
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Nick Cloward <ncloward@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2014-10-09 15:06:25 +00:00
Ryan Taylor e6d72b4ff9 Accessibility updates for quiz show page
Corrected any noticed accessibility issues for quiz show control
buttons.

Closes: CNVS-6764

Test-Plan:
  - Test that quiz show buttons are buttons
  - Test that screenreaders read the buttons properly

Change-Id: I860b911e123500401d7925195a652918e56a33a1
Reviewed-on: https://gerrit.instructure.com/42106
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Product-Review: Ryan Taylor <rtaylor@instructure.com>
2014-10-08 03:55:26 +00:00
Spencer Olson 87beaacc82 fix 'let students take this quiz now' so that it correctly unlocks the quiz
when unlocking a quiz (with no time limit or for a specified period), the
quiz will now unlock correctly, and the students will be able to take it.

fixes CNVS-11727

test plan:
  - Create a quiz. Set a due date, but no "from" or "until" date.
  - Save and publish the quiz.
  - Lock the quiz; note that the date/time at which you lock it now appears in the "until" field.
  - Unlock the quiz with "No time limit". Note that the current date/time appears in the
      "Available from" cell, and the "Until" date has been cleared out.
  - Verify that you are able to take the quiz as a student, and note that there is no
      specified end date for the quiz.
  - Lock the quiz again, then unlock the quiz with a time limit (choose any date). Note that
      the current date appears in the "Available from" cell, and the specified end date
      appears in the "Until" cell.
  - Verify that you are able to take the quiz as a student, and note that there is a specified
      end date for the quiz.

Change-Id: I94ed3e26b7c91e84728c27e58c0e130444ef95a2
Reviewed-on: https://gerrit.instructure.com/42016
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Spencer Olson <solson@instructure.com>
2014-10-06 21:27:23 +00:00
Jeremy Stanley 11f9f39fc6 fix grading standard can-edit logic
remove worse-than-useless policy block (the controllers are not
using it, checking :manage_grades on the context instead), and
let the view check whether the grading standard has assessed an
assignment, consistent with learning outcomes.

(Also, consistent with learning outcomes, the API can still edit
them. we just make it hard to mess with them accidentally in the
UI. I don't actually like this much, but apparently people
depend on this behavior.)

test plan:
 1. link an assignment to a grading scheme
 2. verify the grading scheme can still be edited
    on the grading schemes page
 3. as a student, submit the assignment
 4. verify the grading scheme can still be edited
 5. as a teacher, grade the student's submission
 6. verify the grading scheme cannot be edited on
    the grading standards page (no pencil icon appears)

fixes CNVS-15933

Change-Id: I21b67a25083169312c8b1c929d8e8ef305adc36c
Reviewed-on: https://gerrit.instructure.com/42234
Product-Review: Hilary Scharton <hilary@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
2014-10-06 20:22:58 +00:00
Clay Diffrient 720fcb0d1a a11y: Makes the To autocomplete accessible.
Adds a status and selection field that have an aria-live attribute.  Allowing
the fields to announce changes to it.  Each time a result is
calculated for the autocomplete, the fields are updated and
the screen reader announces the changes.

fixes CNVS-12803

Test Plan:
  - Activate a screenreader
  - Go to /conversations
  - Create a message.
  - When you navigate to the To field and start typing the
    autocomplete should popup.  The screenreader should also
    announce the number of items showing up in the list.

Change-Id: I80c38c412e0ce8eb3022ac26ce1bb733ef4b4b65
Reviewed-on: https://gerrit.instructure.com/41758
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brad Horrocks <bhorrocks@instructure.com>
Reviewed-by: Mark Severson <markse@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
2014-10-03 21:21:39 +00:00
James Williams 33a9624a74 fix module unlock date with i18n
test plan:
* enable localization and choose a language for the course
 with a different date format (e.g. Japanese)
* create a module and set an unlock date
* reload the page
* try to edit the module
* confirm that it did not localize the date inside the input box,
 thus breaking the form

closes #CNVS-14984

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

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

Change-Id: I0f8728cda8e56e295b40c01e1b8d8b2956694092
Reviewed-on: https://gerrit.instructure.com/41857
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Sean Lewis <slewis@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
2014-10-03 20:08:02 +00:00
Cody Cutrer e14f975e7a Merge pull request #509 from sfu/fix-group-context-take2
Add course and term names under group listings

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

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

Change-Id: I10d8f2131645adb59fab4a9b200591c1fd341010
Reviewed-on: https://gerrit.instructure.com/41915
Product-Review: Aaron Cannon <acannon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brad Horrocks <bhorrocks@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
2014-10-03 17:35:52 +00:00
Cody Cutrer dacf060160 no more dynamic finders
fixes CNVS-15126

Change-Id: I48b99ff69942463df6d6c355fe6f8a2fc679e69a
Reviewed-on: https://gerrit.instructure.com/41969
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2014-10-03 16:22:49 +00:00