also:
- counts in side-comment "show all [n] replies"
are now accurate
- moved lock/unlock into the cog menu
- moved the cog menu into the toolbar
test plan:
1. go to a discussion
2. click "collapse" in the toolbar
- the root entries should collapse
- the page should scroll to the entries
3. expand a single reply
- the reply's replies should NOT be collapsed
4. click a page number
- the newly rendered entries should be
collapsed
5. click expand
- all the root entries should expand
6. click a page link
- all the entries should be expanded
7. lock and unlock should still work
8. Go to a side comment discussion
- "show all [n] replies" should have an
accurate count
Change-Id: Ia06fad173344c549d31b7cd51d4ecc57d2e40d5f
Reviewed-on: https://gerrit.instructure.com/15834
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
QA-Review: Cam Theriault <cam@instructure.com>
test plan:
* override the due_at column using assignment overrides
either for sections, groups, or a specific student
* view the student's grade page and confirm that
the new due date is used
closes #CNVS-444
Change-Id: Id4f4c1a05ab7129a29909b4142ffc25b056a2be4
Reviewed-on: https://gerrit.instructure.com/16167
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Removes OpenObject in favor of a struct to gain performance.
test plan:
- specs should pass.
Change-Id: I0be2319533e2c2cd6ce1fa5dbf044ccb5368c299
Reviewed-on: https://gerrit.instructure.com/16049
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
You can add enrollments with the custom roles and see who
has the roles.
Test Plan:
* Create custom roles for each enrollment type
* Test all the settings page's functionality like adding/deleting users with custom roles
* Make custom observers observe students in various combinations of custom roliness
- verify that the new observer role has the custom role
* Make sure the section limited check box shows up for custom tas/teachers by selecting those options in the new user select box
closes #cnvs-1166
Change-Id: I5f133bf1b5b1438d7f8e34297b450ff561d401d0
Reviewed-on: https://gerrit.instructure.com/16272
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
fixes #CNVS-1295
* Adds a new 'late' field to submissions
* Adds compute_lateness method to submissions which
is called on every save when the 'late' field is nil
or when the submission time changes
* Adds after_save callbacks to Assignment and
AssignmentOverride to recompute lateness on submissions
in a background process
* Includes data migration for initializing the value of the
new cache field
Change-Id: I68d47fdbcbb167bef8428b6ecd48bf6f66ef8cb7
Reviewed-on: https://gerrit.instructure.com/16086
QA-Review: Amber Taniuchi <amber@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
closes #CNVS-2397
Test plan:
- set up a course with assignments
- mute some assignments
- set grades for students
- make sure the gradebook csv totals and the gradebooks match
- the student's grade page (when masquerading) should *not* match
(it should ignore muted assignments)
Change-Id: Iebe15c5d108dcfa899bd501cc6dd45ceb688fa25
Reviewed-on: https://gerrit.instructure.com/16197
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
Tested-by: Simon Williams <simon@instructure.com>
fixes #PS-73
test plan:
1. create a page that embeds a text file and a images
2. make sure that the page displays correctly
3. make sure you can download the image from files
Change-Id: I2c4d7515d91b7c3aec1b01a41ceb6072bed33d6c
Reviewed-on: https://gerrit.instructure.com/16179
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
add index and show endpoints for Roles API; fixes #CNVS-2357
these endpoints add the ability to view inactive roles
remove the ability to delete and make the DELETE method
deactivate (at least until we figure out how to delete properly
with regard to account users, enrollments, and sub-accounts);
fixes #CNVS-2378
test plan:
* render the docs and examine the new actions
* test the index action (GET /api/v1/accounts/X/roles)
- make sure it lists all roles
- make sure built-in roles are 'active'
- make sure you can list inactive roles
with state[]=inactive
* test the show action (GET /api/v1/accounts/X/roles/RoleName)
- make sure it works for a built-in role
- make sure it works for a custom role
- make sure it 404s if an invalid name is given
* test the deactivate action (DELETE /api/v1/accounts/X/roles/RoleName)
- make sure it deactivates the role
Change-Id: Ic0b1e1709d2f52b17d26bc15ab7ecd60dd7ed743
Reviewed-on: https://gerrit.instructure.com/16291
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Bracken Mosbacker <bracken@instructure.com>
don't count manually created student enrollments toward the cap
test plan:
1. set an enrollment limit on a new course (e.g. max 1)
2. as a teacher, add several students
3. confirm that additional students can still self enroll up to the limit
(the students added in step 2 don't count)
Change-Id: I93309181f3a5021d6cf51b8c02ba899f017cd32e
Reviewed-on: https://gerrit.instructure.com/16308
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Joe Tanner <joe@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
fixes #CNVS-2003
test plan:
- upload a csv to the gradebook that changes some grades
- go to the grading history
- the grading changes should show up correctly
Change-Id: I28ededf74b57286c5a85786e041781d714c665fe
Reviewed-on: https://gerrit.instructure.com/16315
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cameron Matheson <cameron@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
refs #CNVS-2297, #CNVS-1318, #CNVS-1301
test plan:
1. sign up via open registration (/register)
2. go to the link in your email to set a password
3. you should not have to agree to the terms again (since you did on the
/register page)
4. refer to plugin test plan for other scenarios
Change-Id: Ie31a3424c9a8126e4c28e794b1a96da6faa7382c
Reviewed-on: https://gerrit.instructure.com/16294
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Joe Tanner <joe@instructure.com>
QA-Review: Cam Theriault <cam@instructure.com>
fixes #CNVS-1769
Test plan:
* Go to the gradebook
- compare grades and dropped assignments to those listed on the
grade_summary page (you can get to the grade_summary page by
clicking on a student's name in the gradebook). Be sure to
compare the grades with and without including ungraded assignments
* as a student, go to the grades page
- try changing some scores and make sure the final grade, assignment
group totals, and dropped assignments change accordingly.
Change-Id: I219db0d4a8665edd4a6f8291708f25124ee35a8f
Reviewed-on: https://gerrit.instructure.com/16142
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
The main feature of this commit is that it introduces a grade-dropping
scheme that maximizes the students grade (rather than the simple yet
somewhat arbitrary and inconsistent scheme we had before)
Also fixes the following bugs:
fixes #CNVS-1475
fixes #CNVS-1463
refs #CNVS-1769
Test plan:
Create a few assignments in an assignment group with drop rules
(you'll need at least 'drop lowest' and 'never drop') and make sure
those rules are respected in the gradebooks (old and new).
Don't forget to test with the 'treat ungraded as 0s' option
Change-Id: I67a4bcc0fc2edd259e78ed3e4b65355c8091d284
Reviewed-on: https://gerrit.instructure.com/16140
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Before, the API for groups returned the string 'error' when an API
consumer tried to delete a link to an outcome that that was the last
link to an outcome.
The API still needs better error messages for when RecordNotSaved
occurs.
test plan:
* as a teacher, create an outcome
* attach it to a rubric.
* edit some things in the rubric and save the rubric.
* now remove the outcome from the rubric
* try to unlink the outcome from the api from its group
* if you didn't create an outcome group, all outcomes by default
* belong to the default "root outcome group" for the course
* the api should give you a message indicating that you can't delete
the last link to an outcome instead of message of 'error'
Change-Id: I136dd4e4f61581668b2eb7d9b65245664ef2f678
Reviewed-on: https://gerrit.instructure.com/15940
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
event descriptions with words > 58 characters no longer
overflow the event pop-up.
test plan:
* create an event whose description has a word > 58 characters;
* in IE 8 or 9, click the event in calendar 2 and verify that
the event description renders properly.
Change-Id: I9a58781fee25116e4592ffc8e6b9dd6f55b7a8ad
Reviewed-on: https://gerrit.instructure.com/15594
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Marc LeGendre <marc@instructure.com>
Reviewed-by: Jon Willesen <jonw@instructure.com>
QA-Review: Zach Pendleton <zachp@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
Tested-by: Zach Pendleton <zachp@instructure.com>
fixes #CNVS-1219
when a conversation creation errors while creating an
attachment, display an error message that reads,
"Attachment failed to upload, please try again."
test plan:
* set up S3 uploads locally;
* paste line 525 of files_controller.rb just above line
516 and prepend it with the word "return";
* restart your canvas server;
* attempt to send a conversation message with an attachment;
* verify that a helpful error message is displayed.
Change-Id: I706c47d97a58db60e2e2bb777f4123e0f6ce7903
Reviewed-on: https://gerrit.instructure.com/15911
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Ericksen <marke@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
this makes it so if you have an .element_toggler
it will try to focus on the first child tubbable
element within the region in addition to the region
itself. For example: the first <input> inside
a hidden <form>
Change-Id: I3e85f1f549504cbb528f1653736457d04b4cc7bf
Reviewed-on: https://gerrit.instructure.com/16107
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
fixes #CNVS-2176
test plan:
- as student A, log in, start taking a quiz, and log off in a separate tab
- as student B, log in, and start answering questions in student A's quiz tab
- these should not be backed up to either student A or stuent B's submissions
- try submitting, it should fail
Change-Id: Ia497663c0ab82465641c836c00cbf1e3a112f59a
Reviewed-on: https://gerrit.instructure.com/16061
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
Reviewed-by: Stanley Stuart <stanley+gerrit@instructure.com>
there are various concerns about the distribution graphs available on the
student grades page revealing too much about other students scores. give
teachers the option to remove these for all students in their course.
fixes #CNVS-1063
test plan:
- as a teacher, grade > 5 students for an assignment
- as a student, verify that you can see the box and whisker plot of the grade
distribution on your grades page.
- as a teacher, go to course settings > more options > and check "hide
distribution graphs"
- as a student, verify that you cannot see the graph anymore.
Change-Id: Ieab4137e52b616a394a3de0ee313cfd0a0abcc0d
Reviewed-on: https://gerrit.instructure.com/16191
Reviewed-by: Stanley Stuart <stanley+gerrit@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Reviewed-by: Cameron Matheson <cameron@instructure.com>
refs #CNVS-523
This will now pass the canvas_login parameter
on through the oauth workflow.
there are also several small refactors to pull
the oauth workflow out of the pseudonyms
controller and into a couple lib objects
TEST PLAN:
1) As a site admin, attempt to use the OAuth
through a domain that uses delegated authentication
2) add the "canvas_login=1" url parameter to your
oauth url
3) you should be taken to the regular canvas login
screen instead of the CAS url.
Change-Id: I8b68e5b1c6914b6109af6aabcbba03ed15c4f9cf
Reviewed-on: https://gerrit.instructure.com/16240
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Ethan Vizitei <ethan@12spokes.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
fixes #CNVS-517
fixes #CNVS-761
test plan
- start with a course with students in different sections
- create a quiz with a lock date that locks the quiz currently
- create a lock date override that unlocks the quiz for one section
- ensure that a student from a section that the override does not apply to
does see a lock icon on the course's quizzes list for the quiz
- ensure that a student from the section that the override does apply to
does not see a lock icon on the course's quizzes list for the quiz
Change-Id: Ic1f553818ff106e1d29a8f1b66d8445b99aecffc
Reviewed-on: https://gerrit.instructure.com/16228
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
fixes #CNVS-474
when displaying submission lateness in the speed grader,
respect any assignment overrides.
test plan:
* create an assignment due in the past with an override
due_at in the future;
* as a student to whom the override applies, submit the
assignment;
* as a teacher, view the submission in the speed grader
and verify that no late message is displayed.
* make a late submission and verify that the late message
is still displayed as expected.
Change-Id: Id9c0a55569b39f2e7d316ee0ced9189795ccfbf9
Reviewed-on: https://gerrit.instructure.com/15961
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
QA-Review: Zach Pendleton <zachp@instructure.com>
refs #CNVS-1360
test plan:
1. go to /about and /about/self
2. you should see your profile (if profiles are enabled)
Change-Id: I7f03cd8806247f0ed5a627ee56a98062e0a1f085
Reviewed-on: https://gerrit.instructure.com/16277
Reviewed-by: Ryan Florence <ryanf@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
test plan:
- Using the "update an admin role" API, attempt to set permissions
for a role that doesn't exist
(e.g., PUT /api/v1/accounts/1/roles/NonExistentRole?permissions...)
- You should get a 404 error, not a 200 response showing the
permissions you just set...
Change-Id: Ic78b79a1d7e2a20868c969f3be3fdc27b602099d
Reviewed-on: https://gerrit.instructure.com/16208
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
Removes some stray debugger statements, and some commented-out
debuggers.
test plan:
- spec/selenium/teacher_wiki_and_tiny_wysiwyg_spec.rb should not hang
Change-Id: I10736d4346c77522497d946f90b74f5f49fe0e9b
Reviewed-on: https://gerrit.instructure.com/16210
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Reviewed-by: Cameron Matheson <cameron@instructure.com>
instead of deleting it if it can, and deactivating it otherwise,
but returning the same response code either way.
add a separate endpoint for deactivating a role.
also document all three endpoints (delete, deactivate, activate)
test plan:
- create a role
- delete the role, and verify it gets deleted
- delete the role again, and verify you get a 404
- create a role and assign it to someone
- try to delete the role, and verify this fails with
"Role is in use" error message
- deactivate the role; this should succeed
- reactivate the role; this should work too
fixes #CNVS-2223
fixes #CNVS-2260
Change-Id: I04a567de104d5d39ef2cda6bb10c915a85d18ec5
Reviewed-on: https://gerrit.instructure.com/16122
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Bracken Mosbacker <bracken@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
note: a prior commit handles "false" as a string (among other
things); this commit fixes a bug handling false as the native
JSON data type.
test plan:
- disable a permission for a role where it is enabled by default,
using a raw JSON request body using native boolean true and
false values, not the strings "true" and "false".
for example, use the request line
PUT /api/v1/accounts/1/roles/TaEnrollment
pass the header (in addition to Authorization)
Content-Type: application/json
and the raw request body
{ "permissions": { "read_forum":
{ "enabled": false, "explicit": true } } }
Change-Id: Ifbd7dee36b00bab801f9284d23c94cb731efe615
Reviewed-on: https://gerrit.instructure.com/16235
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Bracken Mosbacker <bracken@instructure.com>
test plan:
1. self enroll in a course
2. you should see the regular "terms" checkbox and text
Change-Id: I8c3e677d8e30343626d198258e604c65755dddf3
Reviewed-on: https://gerrit.instructure.com/16225
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Joe Tanner <joe@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
broadcast policy was being kicked off too early
which caused the previous due date to be sent on a
due date change notification
test plan
* create an assignment
* change the due date
* the assignment due date change notification
should have the correct due date
Change-Id: Icaa26143e36113e8ad001e7ce950e463d7526787
Reviewed-on: https://gerrit.instructure.com/16170
Reviewed-by: Zach Pendleton <zachp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
include separate sections in each column for
custom student, teacher, and ta roles
test plan:
* create custom roles
* enroll users in a course using the new roles
(note: this will be difficult until the ui for
enrolling custom roles is ready)
* confirm that the "People" page shows correctly
(including sections)
closes #CNVS-1167 ( also #CNVS-2244 )
Change-Id: I73fcf82e407c6af00f6f8f7a8c30141adb704227
Reviewed-on: https://gerrit.instructure.com/16058
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
fixes #CNVS-2300
test plan:
* using a course that has no sections
* click 'Student View'
- the Student View should show correctly (not error)
Change-Id: I2dbfab8775d51a4a0cf4aae22de9f7207da848c3
Reviewed-on: https://gerrit.instructure.com/16223
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
we have $.fn.disableWhileLoading that is great for
when you want to disable an element while a deferred
(ajax request) is working. this is for when you just
want to show a little loading icon, and is a lot lighter
weight.
Change-Id: I0271c9be9a5bb84e1faae5d94f09bac8a718c70e
Reviewed-on: https://gerrit.instructure.com/16035
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Hetherington <clare@instructure.com>
Reviewed-by: Sterling Cobb <sterling@instructure.com>
To support instructors of MOOCs, making a submission comment
via gradebook or speedgrader should no longer create a
conversation message in the instructor's inbox. The
conversation will only exist in the sent folder.
If a private conversation between the teacher and student
already exists, the message will be added to the private
conversation and its state will not be modified for the teacher.
In general, the behavior of submission comments was changed so
that creating a submission comment does not create a message in
the author's inbox. Instead the message should appear in the
author's sent folder. This applies to all users (teachers and
students).
fixes #CNVS-1162
test plan:
- As a teacher, create a submission comment from gradebook.
Make sure the comment doesn't show up in the teacher's inbox.
- As a teacher, create a submission comment from speedgrader.
Make sure the comment doesn't show up in the teacher's inbox.
- In general, create submission comments as a teacher and a
student and run through the following combinations of states:
- Existing Private Conversations:
- If a private conversation between the student and the
teacher already exists, the state of the message should not
be updated for the submission comment author.
- If a private conversation between the student and the
teacher does not already exist, the message should only show
up in the sent folder for the submission comment author.
- Notification Preference: Mark new submission comments as read
- Setting this should still prevent incoming submission
comment messages from showing up in the instructor's inbox
or changing the state of an existing private conversation.
- Muted Assignments:
- When an assignment is unmuted and only one user has made
submission comments, that user should be treated as the
message author.
- When an assignment is unmuted and more than one user has
commented on the submission, the message is treated as a new
message for everyone.
Change-Id: Ic55cc64f181e8a0c560fe325bd31ea65082568d2
Reviewed-on: https://gerrit.instructure.com/16007
Reviewed-by: Zach Pendleton <zachp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
warn users when beginning or resuming a one question at a time, can't go back
quiz from the right sidebar (we are already warning for the main page links).
fixes #CNVS-1952
test plan:
- take a one question at a time, can't go back quiz (with multiple attempts)
- leave it, go back to the quiz page
- click resume from the right sidebar
- it should warn you about can't go back
- finish the quiz
- take it again from the right sidebar
- it should warn you about can't go back
Change-Id: Iff5f2b9bd10a926c86c8b0a7ca6586854f62260b
Reviewed-on: https://gerrit.instructure.com/15948
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Stanley Stuart <stanley+gerrit@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
add support for self enrollment caps to limit the size of a particular
course. there is no UI for setting caps (yet)
test plan:
1. run specs
2. follow test plan for https://gerrit.instructure.com/15819
Change-Id: Ibf0a8f04f0c2efa820d0850cef26dfae20849246
Reviewed-on: https://gerrit.instructure.com/16021
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Joe Tanner <joe@instructure.com>
QA-Review: Cam Theriault <cam@instructure.com>
fixes #CNVS-1119, potentially supersedes
https://gerrit.instructure.com/14501 with a little work.
simpler flow that is more consistent with FFT signup. whether you click
the "join course" button (popup) or go to the join url, the workflow is
the same:
1. if you are authenticated, you just click the enroll button.
2. if you are not authenticated, you can either:
1. enter your (canvas/ldap) credentials and submit to join the course.
2. register and join the course (single form). you will then be
dropped on the course dashboard in the pre_registered state just
like a /register signup (you have to follow the link in your email
to set a password).
note that if open registration is turned off, option 2.2 is not available.
other items of interest:
* fix CSRF vulnerabilities where you can enroll authenticated users in
open courses, or un-enroll them if you know their enrollment's UUID
* move to shorter course-id-less route (w/ join code)
* reuse UserController#create
* handy openAsDialog behavior and embedded view mode
* better json support in PseudonymSessionsController#create
* extract markdown helper from mt
* show "you need to confirm your email" popup when you land on the course
page the first time (already showed on dashboard)
test plan:
1. test the authenticated/unauthenticated scenarios above, for both the
popup and join pages
2. regression test of /registration forms
Change-Id: I0d8351695356d437bdbba72cb66c23ed268b0d1a
Reviewed-on: https://gerrit.instructure.com/15902
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Joe Tanner <joe@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
Adds a convenience method to get all the roles available
to a course and the count of those enrollments in the
course
Test Plan:
* Run specs
refs #cnvs-1166
Change-Id: Ia884591e135b9f84c2472d4ef2f2df3fa528a6f3
Reviewed-on: https://gerrit.instructure.com/16098
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Bracken Mosbacker <bracken@instructure.com>
Fixes #CNVS-508.
Added Observer tests.
Testing Notes:
=========
* As a teacher, setup an assignment that has different
lock dates for the base versus a section.
* As a student, in a section, verify that the alternate
lock dates are used for display and submission.
* Can also test that a default lock date that would be locked
is NOT locked when a section has different dates. It
should still allow the student to submit an assignment.
Change-Id: Iccb6d7407d10575edafc2e0b888760d78cd5abd1
Reviewed-on: https://gerrit.instructure.com/15883
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
- make course/account/user associations not load deleted grading standards
- make course copy not copy deleted grading standards
- never show more than 100 grading standards on a course/account page
fixes #CNVS-2230
test plan:
- in a course, create a grading standard
- delete it
- copy the course
- the destination course should not have that grading standard
Change-Id: I0063b5ca704667b2863f1d571c86df82c2a5cb97
Reviewed-on: https://gerrit.instructure.com/16108
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
gear menus in discussions could previously be selected and navigated,
but links could not be selected with the enter key.
test plan:
* create at least one discussion in a class;
* using voiceover or another screen reader, navigate to the course
discussions page and tab to the gear menu;
* press "enter" to click on the gear menu, and then use the arrow
keys to navigate to a menu option;
* click the menu option with the enter key and validate that the
link works as expected;
Change-Id: I4f6bc65d2156169bb86784d566441f964f224c1a
Reviewed-on: https://gerrit.instructure.com/13463
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Hetherington <clare@instructure.com>
Reviewed-by: Mark Ericksen <marke@instructure.com>
test plan:
as a teacher go to courses/x/users/y/grades or as a
student go to courses/x/grades and press command+p
or press the print button on that page,
make sure the print-preview looks nice
Change-Id: I5feab9c231d857a29c79a3fbad7e4b77eb95b7f1
Reviewed-on: https://gerrit.instructure.com/15725
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
[Fixes #CNVS-1145]
* Adds support for attaching AssignmentOverrides to quizzes
* Links common overrides for Assignments that belong to Quizzes
so quiz.due_dates_for(user) == quiz.assignment.due_dates_for(user)
* Moves common functionality for VDD out of the Assignment model
and into the DatesOverridable module, which is now included on
Quiz for a consistent interface
Test plan:
* Run through a few of the old VDD scenarios and verify things
still work as expected since a lot of code has shifted around
* No interface changes have been made to quizzes yet, so nothing
to check there
https://gist.github.com/f12b3694016f3dcc979e
Change-Id: I32b4a54273f90fac689e05174039b8efc952dd39
Reviewed-on: https://gerrit.instructure.com/16028
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
test plan:
on an android in the mobile chrome browser go to log into canvas
try to log in with a non-email username (for example, mine is 'ryan')
make sure it lets you log in.
right now it errors because we add "type=email" to
the input to get the nice email-hinted keyboard entry.
but by doing so, it will also use native validatation
to make sure it is a valid email, adding "novalidate"
to the <form> fixes it
Change-Id: Ie3215100d07a932508c366dac147d59502696c8e
Reviewed-on: https://gerrit.instructure.com/16175
QA-Review: Mark Suman <marks@instructure.com>
Reviewed-by: Ryan Florence <ryanf@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>