when sorting assignments by 'module', assignments
that are not in modules will now sort by title.
closes CNVS-27392
test plan:
- create a course that has multiple modules.
- add a few assignments to each module, and
also make sure a few assignments are _not_
in any modules.
- sort assignments by 'module' on the
/courses/:course_id/assignments/:user_id
page.
- verify the assignments that are not in modules
are located below all the assignments that are in
modules.
- verify the assignments that are not in modules
are sorted alphabetically, ignoring case ("apple"
should be sorted before "Banana")
Change-Id: I1e250bbe9b5e99bbd477095e97ba27a44a23b4ad
Reviewed-on: https://gerrit.instructure.com/72798
Tested-by: Jenkins
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
Reviewed-by: Strand McCutchen <smccutchen@instructure.com>
QA-Review: KC Naegle <knaegle@instructure.com>
Product-Review: Christi Wruck
when sorting assignments/quizzes/discussions
(at /courses/:course_id/grades/:user_id as a
teacher or at /courses/:course_id/grades/ as a
student), the 'Module' sort option will now
consider Quizzes and Discussions. previously,
it only considered Assignments and put all
Quizzes and Discussions at the bottom.
closes CNVS-27368
test plan:
- create a course with multiple assignments,
quizzes, and graded discussions. create
multiple modules and place assignments,
quizzes, and graded discussions in those
modules. in addition, make sure to have some
assignments, quizzes, and graded discussions
that are not included in any modules.
- go to sort assignments (at
/courses/:course_id/grades/:user_id as a
teacher or at /courses/:course_id/grades/ as a
student). sort assignments by the 'Module'
option.
- verify that the assignments/quizzes/discussions
sort according to their module order. assignments/
discussions/quizzes that do not belong to a module
should show up at the bottom of the list, sorted
by assignment order.
Specs revised by Derek Bender <djbender@instructure.com>
Change-Id: Ic64c77d5cce82a6268bf85d6d0d416c2af02b83e
Reviewed-on: https://gerrit.instructure.com/72477
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
Tested-by: Jenkins
QA-Review: KC Naegle <knaegle@instructure.com>
Product-Review: Spencer Olson <solson@instructure.com>
test plan:
* create a future course (but one that isn't restricted)
* create a module with a view requirement for an item
* add a student to the course, they should be able to look around
but not participate
* confirm that viewing the module item does not fulfill the
module item requirement
closes #CNVS-26326
Change-Id: Ibe58be1280d377a587e41b45e39ca38168f6093b
Reviewed-on: https://gerrit.instructure.com/71302
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Matt Goodwin <mattg@instructure.com>
allow sorting by assignment group, due date, module,
and title on the course grades page. also, store
the user's sort preferences and remember that
preference on subsequent page loads.
closes CNVS-21660
test plan:
- as a student, go to the /courses/:course_id/grades
page.
- verify there is a dropdown to sort assignments by
due date and title. the first time you visit this
page, the dropdown option should default to
ordering by due date. verify each option correctly
sorts the assignments.
- if the course has any Modules, there should be an
option to sort by Module. if the course does not
have any Modules, there should not be a Module sort
option.
- if the course has assignments that belong to different
Assignment Groups, there should be an option to sort
by Assignment Group. if the course does not have any
assignments, or if all of the course's assignments
belong to the same Assignment Group, there should not
be an Assignment Group sort option.
- select any option besides 'Due Date'. next, leave the
page and return back to the page. verify the selected
dropdown option matches the option you selected before
leaving the page.
- repeat the steps above while logged in as a teacher, TA,
student view student, and admin. when logged in as a teacher,
TA, or admin, the url will be /courses/:course_id/grades/
:student_id
- verify the dropdown is accessible
- note: if a student is enrolled in multiple courses, the
dropdown for the sort order should be on the right-hand
side of the /courses/:course_id/grades page (and the
dropdown for the course selection should be on the
left-hand side). if a student is only enrolled in
one course, the dropdown for sort order should be on
the left-hand side of the page.
Change-Id: Idbcbea2d25051cb5d933bfb395daebeedc630855
Reviewed-on: https://gerrit.instructure.com/69419
Reviewed-by: Derek Bender <djbender@instructure.com>
Tested-by: Jenkins
QA-Review: KC Naegle <knaegle@instructure.com>
Product-Review: Spencer Olson <solson@instructure.com>
either with Relation#all or Association#scope
refs #CNVS-26056
Change-Id: Ie370a3c47c575007ce3b0ba75a122d854e6f8fbc
Reviewed-on: https://gerrit.instructure.com/69497
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
test plan:
0. enable New Styles
1. go to the dashboard with the rectangle card things
2. click the gear icon on a course card
3. edit the course name in the box above the colors and
click Apply
4. notice the course name in the dashboard card has changed
and the original name is visible if you hover over
the nickname
5. click the card to go to the course and notice your
course nickname is used:
- on the course home page (with 'recent activity'
or 'syllabus' selected)
- in the Courses menu
- in "All Courses" under the Courses menu
- in the UI navigation (breadcrumbs)
- on the calendar (right side list)
- in the Inbox (course dropdown)
6. go back to the dashboard, click the gear menu on
a course card, clear out the nickname, and click Apply.
- the original course name should be restored
and shown in the locations listed in step 5
7. repeat steps 2-6 with a different student in the same
course; ensure the first student's course nickname
doesn't leak through to a second student
8. regression test course color choosing functionality
on both the dashboard and the calendar
closes CNVS-23201
Change-Id: I8dd714cad83dca5e17e65c6c463cdadc655db83c
Reviewed-on: https://gerrit.instructure.com/65052
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
test plan:
* before applying this change
* configure one account with canvas auth, one without (on account settings)
* configure another account with canvas auth and 3rd party auth
* check that /login still works on the above accounts, as well as
/login?authentication_provider=canvas
* run migration
* Canvas auth should properly show up or not in authentication providers,
and below any pre-existing providers
* delete all auth providers; Canvas should automatically show up after you
delete the last one
* Canvas auth should be respected for logging in when it is enabled/not
enabled (i.e. not enabled you can't login with a canvas password)
Change-Id: I873a4fe3e217f84384da6e5afbf5c280ae368c0b
Reviewed-on: https://gerrit.instructure.com/61814
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Change-Id: I8f299dde7b6980d735e362e0537793e3deb53870
Reviewed-on: https://gerrit.instructure.com/61737
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
refs #CNVS-21596
Change-Id: I430704d1f40aa8bcd54072a13ef55aa6a5332dd1
Reviewed-on: https://gerrit.instructure.com/58955
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
test plan:
* syllabus should work as before
* modules loading of assignment due dates should work
as before
* assignments api should work as before
refs #CNVS-21476 #CNVS-21317
Change-Id: Iba183d6fda604acb29e9685f0f32be74ad27b898
Reviewed-on: https://gerrit.instructure.com/57215
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
fixes PLAT-1124
Test Plan
- Add an LTI2 tool to a course
- Click the link for the LTI tool in the course navigation and make sure it works
Change-Id: I516a1bc0d6beb858bf97f045dbf1f8cfa511c0f2
Reviewed-on: https://gerrit.instructure.com/56797
Tested-by: Jenkins
Reviewed-by: Brad Horrocks <bhorrocks@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
closes CNVS-21177
Turns the auth type selector into a react component
and makes sure it responds correctly in a couple
corner cases (with specs!)
TEST PLAN:
1) go to the authentication providers config page
2) add several authentication providers
3) you should always be scrolled down to your new
form when you add a new one
Change-Id: Ia520ee358dbc8a469e29e13fcd653cf11f9259b3
Reviewed-on: https://gerrit.instructure.com/56377
Tested-by: Jenkins
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
closes CNVS-20947
Allow users to "delete" auth configs without
violating foreign key constraints.
Also means updating all places that use the
association interface to a new method
that strips out inactive AACs
TEST PLAN:
1) create a new AAC with the IDP of your choice
2) create some pseudonyms that are attached to the new AAC
3) try to delete the AAC from the authorization config area
4) it should not blow up
Change-Id: Iff56fd8aa2ee66a2468191a9c880a99862d83927
Reviewed-on: https://gerrit.instructure.com/55808
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
closes CNVS-20912
test plan:
* change the login attribute
* ensure the error message you get when it can't find your login
shows the value you expect
Change-Id: I8fbad8c4df5f2dc5b01cf43d5d6c43ab7be97972
Reviewed-on: https://gerrit.instructure.com/55665
Tested-by: Jenkins
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
header and footer were deleted and collapsed up into aac_settings partial,
so that doesn't need to be repeated in each provider type.
share an oauth2_fields partial between many of the oauth2 providers
test plan:
* config and reconfig all the types of auth providers
Change-Id: I7a91f0528fe1cef8da50f0a141347958ba4fa93a
Reviewed-on: https://gerrit.instructure.com/54862
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Tested-by: Jenkins
Product-Review: Cody Cutrer <cody@instructure.com>
* get rid of has_one
* get rid of several methods on account that are unused or trivially
replaced
Change-Id: I5a4f1e342b2bd465a240bbe701c2ab883b1f3878
Reviewed-on: https://gerrit.instructure.com/55240
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
fixes CNVS-20120
- Updates UsersController#user_dashboard to add course favorite
information to js_env.Add icon info to Course.default_tabs.Update
- I18nUtilities helper methods to use `I18n.t` instead of just `t`, so
that the module can be included outside of a decendent of ActionView.Add
- SectionTabHelper. Includes method for rendering `section_tabs` to html,
a separate method (`available_section_tab`) so section tabs can be
accessed without rendering anything to the page, and a new class,
- SectionTabTag, which is responsible for constructing html to render a
section tab.Add SectionTabPresenter, which takes a tab object (just a
hash; accessed via a context class’s `.default_tabs` method) and
translates it into an object for the view.
- Add `CourseForMenuPresenter`, which translates a course into a hash
including only information necessary for construction of the section
tab menu, or the new dashboard card.
- Add `AvailableSectionTabs` to encapsulate available_section_tabs
logic.
test plan:
- Validate that existing section menu navigation with a course context
works.
- Validate that new dashboard cards show correct course information, as
well as correct links.
Change-Id: Ief2cfc350991758e019a8a56ce23d29634470dd0
Reviewed-on: https://gerrit.instructure.com/54578
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Adam Stone <astone@instructure.com>
Tested-by: Jenkins
Product-Review: Simon Williams <simon@instructure.com>
closes CNVS-19536, CNVS-19540, CNVS-19545
test plan:
* test google auth
* re-test the other oauth providers, cause more stuff got refactored
Change-Id: Ib1c0332cc31f0825f171f3281bf7255abb602844
Reviewed-on: https://gerrit.instructure.com/54526
Tested-by: Jenkins
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
closes CNVS-20584
Some of the work done farther down in the index template builds a couple
new AACs for form generation, but this throws off the configs array
which
is used to decide which AACs we currently have configured. Memoizing it
grabs the active configs up front so they don't get modulated during the
display cycle and can be trusted when performing checks like
"do we have any SAML aacs" before showing saml debugging.
TEST PLAN:
1) enable SAML
2) go to the AACs configuration index as an admin
3) make sure you only see SAML Debugging section when you have an
active saml config.
Change-Id: I58f546b074552539f1751ce874f56fa17e305378
Reviewed-on: https://gerrit.instructure.com/54681
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
QA-Review: August Thornton <august@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
This fixes a missing part of the pull request merged in with 54ef257
earlier. I inadvertently left out this portion because it wasn't
actually part of the pull request, but rather a fix that I had put
in manually to correct the failing spec.
Change-Id: I916c37e3afb95fb7f68d2daee45e5f8c2a2506bf
Reviewed-on: https://gerrit.instructure.com/54649
Reviewed-by: Dan Minkevitch <dan@instructure.com>
Product-Review: Dan Minkevitch <dan@instructure.com>
Tested-by: Jenkins
QA-Review: Clay Diffrient <cdiffrient@instructure.com>
closes CNVS-19463, CNVS-19460, CNVS-19461
test plan:
* you know the drill by now.
* retest facebook, because that was refactored to share code
Change-Id: Iaf99b7b3c6850b1ac3690d1a5ebd1286268b5ae7
Reviewed-on: https://gerrit.instructure.com/54313
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
Tested-by: Jenkins
Product-Review: Cody Cutrer <cody@instructure.com>
test plan:
* register an application on github
* configure github as an authentication source
* login with github
* it should complain about a missing user
* add that ID to your user
* login again, and it should work
* delete github authentication
* reconfigure at /plugins/github
* add authentication again; this time it shouldn't let you configure
the integration
* login with github again
Change-Id: I2be3dd482de79873ad845890827292bc4f995b7a
Reviewed-on: https://gerrit.instructure.com/54241
Tested-by: Jenkins
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
fixes CNVS-19449, CNVS-19454, CNVS-19455
test plan:
* configure the facebook plugin (/plugins/facebook)
* add Facebook to your authentication configs
* try to login with valid facebook credentials - it should say it
couldn't find the user
* add a login to your user with that ID
* try to login with facebook again; it should work
* delete auth settings and plugin settings
* re-add the auth settings - it should let you configure it
directly
* log in again
Change-Id: I5aae400fe39fda6e1a864a062368e50a4c9f4ede
Reviewed-on: https://gerrit.instructure.com/54208
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
Tested-by: Jenkins
QA-Review: August Thornton <august@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
fixes CNVS-20394
split it into appropriate concerns. main points are:
* /login never renders a login form - it redirects forward to the
default auth controller based on the first account
authorization config (or discovery url on the account)
* /login/canvas is the new home of the old login form. this form is
never rendered in-situ anymore - other places that used to render
it now redirect to /login (and then forward to here), reducing
their knowledge of SSO
* /login/ldap ends up at the same place (cause LDAP auth is handled
transparently)
* /login/cas and /login/saml redirect forward to the first SSO
configuration of the appropriate type. /login/:auth_type/:id can
be used to select a specific one
* if an SSO fails, it redirects back to /login with flash[:error]
set. this can forward to the discovery url appropriately, or
render an error page appropriately (the old no_auto=1, but now
it's not layered on top of the login partial that didn't show a
login form)
* ?canvas_login=1 is deprecated. just go directly to /login/canvas
* /saml_consume, /saml_logout are deprecated. they are processed
directly by /login/saml and /login/saml/logout
* /login/:id is deprecated - it forwards to /login/:auth_type/:id
as appropriate (presumably only saml, since that was the only
one that previously should have been using these links)
* OTP has been split into its own controller, and separated into
multiple actions instead of one all-in-one action
* /logout has been vastly simplified. the login controller should
set session[:login_aac], and on logout it will check with that
AAC for a url to redirect to after logout, instead of /login.
SSO logout is handled by each controller if they support it
test plan:
* regression test the following functionality -
* login with canvas auth
* login with LDAP auth
* login with SAML auth - and multiple SAMLs
* login with CAS auth
* MFA (configure, using, auto-setup)
* Canvas as OAuth Provider flow
* redirects to the login page when you're not
logged in
* failure of SAML/CAS (i.e. can't find user)
show a decent error page and allows retry
* "sticky" site admin auth (site admin is CAS/SAML,
going directly to another domain logs you in with
site admin)
Change-Id: I1bb9d81a101939f812cbd5020e20749e883fdc0f
Reviewed-on: https://gerrit.instructure.com/53220
QA-Review: August Thornton <august@instructure.com>
Tested-by: Jenkins
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
closes CNVS-20076
First, pull a presenter out of the AAC index
This thing needs more flexibility before introducing
multiple OAuth connectors. This commit adds a couple characterization
specs for the AAC controller, then drives out a presenter to pull
as much logic and config out of the nested views as possible.
Then, this commit refactors the
previously-somewhat-bespoke-and-presumptive sac
configuration into a workflow that shows each aac
in turn according to it's type, creating forms for
each type at the bottom, and
showing the relevant form for a new one based on
selection on the right.
Have regression tested in the browser to the level
of CRUD functionality, but also deserves solid QA
for SSO functionality post-configuration.
DONE:
-successful CAS creation/editing/deletion
-successful LDAP creation/editing/deletion
-proper differentiation between LDAP primary and secondary
-proper SAML creation/editing
-move away from "update_all" deprecated endpoint
-Selenium Spec fixes
-ensure discovery URL and debugging workflows for saml
-remove duplication from views
-tear down old JS workflow
-apply appropriate tests for new behavior
-remove presenter methods that are no longer valuable
-Moved change_password_url and login_handle_name
-up to account settings, removed them from AACs, and built
-migrations to manage the transition.
-Found and fixed all references to change_password_url on AACs
-Found and fixes all references to login_handle_name on AACs
-add datafixup for migrating AAC data to account settings
-unify repetative individual files into single form delcarations \o/
-remove old SAML editing js
-Make sure SAML still works
-Make LDAP partial flow just like SAML/CAS
-Unify position information across all types
-update "acts_as_list" to support STI classes
-move discovery URL into account auth form
-remove discover URL js management
-Unify form generation between new/existing aacs
-deprecate discovery url API endpoints
-update docs for authorization settings to deprecate their usage in AAC
api and redirect their values to current settings for now
-make delete links non-js-y to stop this silly page refresh on api
completion
-make form submissions actually submit the form rather than do this silly
page refresh on api completion
-See if anything needs “Edit Details” button, remove if not
-Wire up removing account settings by blanking out form
-Removed "cancel" button from form because fields are always open
-placate gergich
-Test removing config info
-Test population fixup on real data
-write docs for authorization settings
-fix existing specs
-fix routing and docs to not break doc generation
-fix stupid jenkins task that thinks it can’t see controls
-re-fix selenium
-fix saml debugging workflow
-write tests for acts_as_list behavior
-write tests for authorization settings
-remove auth_info types of things
-clean up and unify styles where possible
TEST PLAN:
Regression test creating/deleting/editing and logging
in with SSO solutions for CAS, LDAP, and SAML.
Should be no functional behavior modification, though
workflow will be a little more unified between the
3 currently supported types (each one will
require using the menu in the right sidebar
to add a new AAC).
Also test setting and deleting account settings through
the form underneath the configs when there are AACs in existence.
Finally, make sure that the SAML Debugging workflow still works.
Change-Id: I448db10185512d1b9469c2a425be0a3bcf9e6ebf
Reviewed-on: https://gerrit.instructure.com/53448
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
In module based courses, to make it easier for students to keep
track of their progress. This commit adds support for 'mark as
done' requirements to the module progressions. This to better
cater to students who needs multiple reading sessions before they
feel they are done with a module item (i.e wiki pages).
This requirement can also be used on assignments that are purely
for self studying.
Test plan:
- In a course with modules
- Make sure there is one wiki page and one assignment associated with a module
- Add 'mark as done' as module completion requirements to both module items
- As a student of the course, go to the modules page
- Oberve that both module items are labeled as "must mark as done"
- Visit the module items each in turn and click the "mark as done" button.
- On the modules page, oberve that both module items are now labeled as "marked done".
fixes CNVS-17901
The GradeSummaryAssignmentPresenter#grade_distribution would throw an error
when it was triggered with a concluded student, because its call to
GradeSummaryPresenter#assignment_stats returned an empty hash, instead of one
which contains the assignment's id as a key. A NoMethodError was triggered off
of a nil provided by the hash.
To fix this, I wrapped the offending code in an if clause to guard against this
case.
Test Plan:
1. Create a published course that has a student and at least 1 graded assignment
2. Give the student a grade for the assignment
3. Conclude the student's enrollment on the course's user show page
4. Go to the course people page and select "View Prior Enrollments"
5. Select the grade under the Total column for the concluded student
6. Confirm that the page loads and displays a grade.
Change-Id: I1bb6b4ba4b64ccdb976634fd68b916f1814b539d
Reviewed-on: https://gerrit.instructure.com/48001
Tested-by: Jenkins
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Strand McCutchen <smccutchen@instructure.com>
fixes CNVS-17748
test plan:
- with DA on and off
- go to the grade summary page as a teacher
- it should load assignment max/min/ave
- go to it as a student
- it should load assignment max/min/ave
Change-Id: I8996495eaf9c1427be6a3bbf3883b5c78e9ee571
Reviewed-on: https://gerrit.instructure.com/46521
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Adam Stone <astone@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
fixes CNVS-16876
Test plan:
* make a course with 3 enrollments
* delete one of the enrollments
* grade the other 2 enrollments on an assignment
* the assignment stats in 'assignment details' in gb2 should be
correct
* the assignment stats on the students grade page should match
Change-Id: Id750f2ff767d83318542bdfca5f2994867b95c8a
Reviewed-on: https://gerrit.instructure.com/45098
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
test plan:
* basic regression test on assignments, discussion topics
gradebook, and modules (mostly make sure the basic
index/show/edit views aren't broken)
closes #CNVS-15563
Change-Id: I3411bfb7645b3c4bf8a4663e3e052b4402f899ba
Reviewed-on: https://gerrit.instructure.com/43609
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
refs #CNVS-15563
test plan: tests should pass
Change-Id: I31c3f529fd9c0b0a8b94ddcbb11b2e5a6779876c
Reviewed-on: https://gerrit.instructure.com/42225
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>
fixes CNVS-13715
test plan:
- create a student who is in one group and not another
- create an assignment only visible to each group
- grade the student for both assignments
- turn DA on
- as the student and teacher, go to the student grades page
- both of the assignments should be visible
- final grade should be correct (factoring in both)
* final grade = ungraded assignments count too
- delete one of the grades and return
- only one of the assignments should be visible
- final grade should be correct (using just one assignment)
- turn DA off
- as the student and teacher, go to the student grades page
- both assignments are visible
- final grade should factor in both assignments
- with DA on and off, ensure that the following work:
- drop rules
- never drop rules
- assignment stats (mean median etc)
- what if scores
Change-Id: I727aff943b14c91089ccffa6d3b63ba026abbeec
Reviewed-on: https://gerrit.instructure.com/36762
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cameron Sutter <csutter@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Mike Nomitch <mnomitch@instructure.com>
when teaching 2 sections within the same course, we shouldn't display 2 links for one course.
Added a test to cover unique courses
fixes CNVS-6682
test plan:
1. Enroll a teacher to more than one section in a course
2. Click on Grades in the top nav
3. Make sure only one link is displayed for the course with multipled section enrollments
-
Change-Id: I22ef5f437b405a8a33c48c182d51adf231ab75c4
Reviewed-on: https://gerrit.instructure.com/37318
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Brad Horrocks <bhorrocks@instructure.com>
closes: CNVS-9814
add support throughout our formatting layer
to give us a way to convert values
to the wall clock time of the timezone for
a course (or really any other way we choose),
and then apply that to several selected
date/time displays.
TEST PLAN:
- Login as a user who's part of a course
with at least some data in each tab
- Check the following areas to ensure that
the correct timezone-differentiated hover
text is showing up:
* Announcements -> Date Sent column
* Announcement Detail -> Date Sent (top right)
* Assignments -> Due Date column
* Assignment Detail -> Due Date (bottom table)
* Collaborations -> Start Date
* Discussions -> Last Post Date
* Discussions -> Due Date
* Discussion Detail -> Post date of each reply
* Modules -> (if locked) shows date to unlock
* Quizzes -> Due Date
* Syllabus -> Dates on the left
* Syllabus -> Due dates on the right
* Settings -> Course Details -> start/end date
* Settings -> Sections -> start/end date
* Recent activity page -> Everything
Change-Id: I048c2de85d9f9b196d35c6c65ae104dab7441eee
Reviewed-on: https://gerrit.instructure.com/34861
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Drew Bowman <dbowman@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
fixed:
- spec was being to clever and was sharing state between tests, Since the let
statement is lazy loaded, there is no need for adding this reload! stuff on
the object at runtime to reset state.
Change-Id: Ie056600653ea1dcb578b3bd15e1e8bb67dc1f61d
Reviewed-on: https://gerrit.instructure.com/30800
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
QA-Review: Derek DeVries <ddevries@instructure.com>
This commit namespaces the rest of quiz related code into a Quizzes
namespace: controllers, views, models, and classes that previously lived
under lib/ that are Quiz-related.
Test plan:
Full regression test on all quiz related items
refs CNVS-10457
Change-Id: If54b61213945056539e03271a936d233abb66188
Reviewed-on: https://gerrit.instructure.com/29351
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Product-Review: Josh Simpson <jsimpson@instructure.com>
fixes CNVS-10570
fixes CNVS-11104
test plan:
- as a teacher enter in scores for students and a test student
- make test student grade the hightest (not tied)
- on the grades page, in assingment stats, the test student score shouldnt show up
- make test student grade the lowest (not tied)
- on the grades page, in assingment stats, the test student score shouldnt show up
- on the grades page, test student score shouldnt change the average
Change-Id: I9916a999cf7db4872b09d03e8e14883503025d96
Reviewed-on: https://gerrit.instructure.com/29091
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Matthew Irish <mirish@instructure.com>
Reviewed-by: Cameron Sutter <csutter@instructure.com>
Product-Review: Mike Nomitch <mnomitch@instructure.com>
fixes CNVS-10679
this commit refactors quiz into a quizzes namespace. it contains various
shims to facilitate the data migration of polymorphic relationships
('Quiz' -> 'Quizzes::Quiz'). JIRA contains several tickets linked to
the above tickets in regards to removing these shims after the data
migration, as well as the strategies on reverting the shims once the
data migration is complete.
Change-Id: I30c566d60a87af6ee83e9d0041fdcb909ead6a89
Reviewed-on: https://gerrit.instructure.com/28573
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
Product-Review: Josh Simpson <jsimpson@instructure.com>
fixes CNVS-3975
this commit addresses a problem when there are text only questions
included in a quiz, when a student attempts to submit the quiz, they are
warned they have unanswered questions.
Test Plan
1. Create a quiz with at least one text only question, and at least one
other type of question.
2. Take the quiz.
3. Submit the quiz
- You should not receive a notice that you have unanswered questions.
Change-Id: I93d8f3ac768fcde72cb171923cb449ad510dc99d
Reviewed-on: https://gerrit.instructure.com/28058
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
Product-Review: Josh Simpson <jsimpson@instructure.com>
fixes CNVS-9948
calls for active_published_assignments thru assignment group
rather than just active_assignments
test plan:
add multiple unpublished assignments as a teacher
as a student go to the grades page
unpublished assignments should not be visible
Change-Id: I0d1d1d8f46b9a3447a134b8bd8f40627a0bfb370
Reviewed-on: https://gerrit.instructure.com/27339
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
fixes CNVS-9496
test plan:
- draft state feature should show up in site admin feature
flags, or root account feature flags when called as site
admin
- when site admin hits "allow" for the feature, it should
appear in the root account administrator's settings
in "Off" state
- the root account admin should be able to "Allow" the setting
which allows a sub-account or course to turn it on
- when the feature is turned on via the Feature Settings tab
or features API, draft state functionality should appear
in the course wiki pages and elsewhere
Change-Id: Id7403f2a8371b0a7bfebffbb8f29330fff5c94c5
Reviewed-on: https://gerrit.instructure.com/26308
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
fixes CNVS-9557
test plan:
- create an assignment, and give a student a grade
- change the assignment to 'not graded'
- go to the students grade page
- it should work
Change-Id: I364e28169d302976fa64745152dc642d5fbe48e2
Reviewed-on: https://gerrit.instructure.com/26394
Product-Review: Bryan Madsen <bryan@instructure.com>
QA-Review: Bryan Madsen <bryan@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Bryan Madsen <bryan@instructure.com>
fixes CNVS-9309
Test plan:
* make an assignment
* submit homework for that assignment as a student (or give the
student a grade on it)
* delete the assignment
* go the grade summary page for that student (as the student)
* you should see grades instead of an error page
Change-Id: I4e51b0cf35b42c18d9ca662c7aa95589a120e8b1
Reviewed-on: https://gerrit.instructure.com/26004
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>
fixes CNVS-8940
Test plan:
* load the grades page as a student
* everything should work
* repeat as a teacher visiting the student grades page
Change-Id: I2f989c0b0dba9a17c904ba516154adb18ceaaad5
Reviewed-on: https://gerrit.instructure.com/25421
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>