This reverts commit 3442e94b46.
Adding a whole column to the top level list of this page put
too much attention on something that most institutions don't
use or care about. So we're removing it.
fixes CNVS-25718
refs CNVS-21538
test plan:
- student grade summary page should no longer show "graded
anonymously" column.
- student grade page should still work and look good in all its various
configurations.
Change-Id: I2933bb55c6839bfa01f09c3d403f103a6e95eb6c
Reviewed-on: https://gerrit.instructure.com/68504
Tested-by: Jenkins
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
QA-Review: Ryan Allen <rallen@instructure.com>
Product-Review: Jon Willesen <jonw@instructure.com>
closes CNVS-25392
test plan:
* try each of the auth providers with a user that doesn't exist in
Canvas
* it should still give the "unknown user error"
* enable JIT provisioning on each, and repeat
* you should be able to log in now
* smoke test "self registration" workflows (they've been migrated
from an account setting to be configured on the Canvas
authentication provider)
Change-Id: Ia01189d6d5a1235926c4723f13ef906cf4a6261f
Reviewed-on: https://gerrit.instructure.com/63253
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
refs CNVS-21538
test plan:
- thoroughly test the student grade summary page and make sure
it looks good in all sorts of configurations
- make sure grade summary page accurately displays whether
the grade was given anonymously
Change-Id: Id58710ba965a9e41c9cef65570470e876bac524e
Reviewed-on: https://gerrit.instructure.com/65355
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Jon Willesen <jonw@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>
the grading periods filter in the gradebook and
on the student grades page should now respect
overrides.
closes CNVS-21917
closes CNVS-23235
closes CNVS-22963
test plan:
turn on multiple grading periods and create assignments
with student and section overrides. verify that the
grading periods filtering in the gradebook and on the
student grades page respects the overrides. also verify
that grade cells in the gradebook are 'grayed out' if
the student's override places them in a different grading
period than the currently selected one. finally, verify
that, if a student has multiple overrides, their effective
due date is the most lenient (farthest in the future), and
grading period filtering should be based on that most
lenient date. if a student has an override with no due date,
the submission should be filtered into the 'last' grading
period.
Change-Id: Idd06a0575b155e64a726b29254c2f197d0a83523
Reviewed-on: https://gerrit.instructure.com/63286
Tested-by: Jenkins
QA-Review: Michael Hargiss <mhargiss@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
Reviewed-by: Cameron Matheson <cameron@instructure.com>
QA-Review: Jason Carter <jcarter@instructure.com>
Product-Review: Christi Wruck
The tests were clicking on the icon element, whereas clicking
on the link element should be more stable. The changes in this
commit were required to add unique css classes to the link elements
to use as hooks in the selenium test.
fixes CNVS-23725
Change-Id: I581554f32a700d918454b76a78f8ab5b4c48d5d5
Reviewed-on: https://gerrit.instructure.com/64235
Reviewed-by: John Corrigan <jcorrigan@instructure.com>
Tested-by: Jenkins
Product-Review: Jennifer Stern <jstern@instructure.com>
QA-Review: Derek Hansen <dhansen@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>
before_label calls need to have explicit keys or else
it won't be included in the i18n generation
closes #CNVS-22798
Change-Id: I195251416d1a8e0163cfc31648767878be8dde27
Reviewed-on: https://gerrit.instructure.com/62027
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Charles Kimball <ckimball@instructure.com>
Product-Review: James Williams <jamesw@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: I5dedaab90a2abe6bf288ff30401c9b31629b45b2
Reviewed-on: https://gerrit.instructure.com/59220
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
canvas auth counts as a provider, and even with just canvas auth a
school may want to send to their website first
Change-Id: Icfd833b0c0786334d98e21011a66af8146280c0b
Reviewed-on: https://gerrit.instructure.com/57543
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
fixes CNVS-21051
test plan:
- go to the dashboard
- the cards load with background colors
(unless a custom color is specified none of
the colors should match)
- you can set a custom color on a course by
clicking the cog and setting it
- the color picker works with the predefined
colors as well as with custom colors
- go to the calendar -> the colors you saw
for each course match those on the dash
- with a new user, go to the calendar first,
then go to the dash. the colors match this way
as well
Change-Id: If6bfbdcc4928f6c05d4bd2417486b50d8f1ea5e5
Reviewed-on: https://gerrit.instructure.com/57567
Tested-by: Jenkins
Reviewed-by: John Corrigan <jcorrigan@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
Product-Review: Chris Hart <chart@instructure.com>
fixes CNVS-20215
This fixes a bug with the individual view grade summary page
(/courses/:course_id/grades/:student_id#tab-assignments)
Previously, when a grade was marked "Display grade as: Letter Grade" or
"Display grade as: GPA scale", and the score earned on the assignment
was equal to the grade earned on the assignment (according to the
assignment's grading scheme) the amount of points earned would be shown
twice on the grade summary page.
For example, if a student earned 2 out of 3 points on an assignment,
which translates to a grade of "2.0" on that assignment's grading scale,
the entry for that assignment would be displayed as "2 2 (2.0)" instead
of "2 (2.0)"
See JIRA ticket CNVS-20215 for pictures.
Also, changes blank grade display in the gradebook history from '--' to
'-' for consistency
Test Plan:
* Create different assignments with different "Display Grade as"
settings (e.g. "points", "percentage", "gpa scale") and different
grading schemes, including at least one grading scheme where the grades
are numbers (e.g. replace "A", "A-", etc. in the default grading scheme
with "4.0", "3.7", etc.)
* Grade a student on these assignments
* Make sure that the score and grade displayed in the student's
grade summary page is displayed as expected for each assignment
* Test this from both the student view (including "What-If"
calculations) and the teacher view
Change-Id: I4a76c721d0dbb7d71f3c3db25970ce9533f61707
Reviewed-on: https://gerrit.instructure.com/55116
Tested-by: Jenkins
Reviewed-by: Cody Poll <cpoll@instructure.com>
QA-Review: Jason Carter <jcarter@instructure.com>
Product-Review: Christi Wruck
should improve performance for all pages
test plan:
* regression test dashboard cards
refs #CNVS-21317
Change-Id: Id6506c2f31ecb45b9d32a01c8e0a3534be76851e
Reviewed-on: https://gerrit.instructure.com/57642
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
fixes CNVS-21597
test plan:
- Run application with ruby 1.9.3.
- Observe that there is no exception when using the new user dashboard.
Change-Id: I791958472836a3c4d3f59b8904253589f8f21134
Reviewed-on: https://gerrit.instructure.com/57469
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Benjamin Porter <bporter@instructure.com>
if a student is enrolled in more than one class,
the 'for the course' dropdown will be visible to the
student's observers when the observer is viewing the
student's grade summary page.
closes CNVS-20860
test plan
- create a user who is in multiple courses
- add an observer to that user for the courses
you created
- go the grade summary page as the observer
- you should see the 'for the course' dropdown
- ensure the observer only sees the courses that
they were given permission to observer
Change-Id: Ib30e6747b4b1edce76be9fe1fce1ce5f9a31a92f
Reviewed-on: https://gerrit.instructure.com/56955
Tested-by: Jenkins
Reviewed-by: Cody Poll <cpoll@instructure.com>
QA-Review: Jason Carter <jcarter@instructure.com>
Product-Review: Dylan Ross <dross@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>
authentication
Fixes PFS-1084
Parent Registration:
When a Saml config is designated for Parent Registration the parent
signing up will be redirected to a Saml login page where they will log
in with their child's credentials. After login the child user's
Saml session will be ended and the parent registration process will complete.
Parent Adding Student:
When a Saml config is designated for Parent Registration the parent
adding another observee will be redirected to a Saml login page
where they will log in with their child's credentials. After login the child user's
Saml session will be ended and the observee creation process
will complete.
---------------------------------------
TEST PLAN:
SETUP:
1) In your account settings check the box for 'Self Registration' (and
either of the sub-options)
2) Add the following users to your account (these will be the students):
billyjoel
eltonjohn
3) In Authentication Settings add a SAML authentication service
and enter the following fields (I've set up a remote SAML Idp):
IdP Entity ID: http://107.170.212.143/saml2/idp/metadata.php
Log On URL: http://107.170.212.143/simplesaml/saml2/idp/SSOService.php
Log Out URL:
http://107.170.212.143/simplesaml/saml2/idp/SingleLogoutService.php
Certificate Fingerprint:
9C:11:68:93:95:CD:18:01:EC:52:2B:9E:22:7F:73:55:ED:6D:82:D4
Parent Registration: check
TEST:
Parent Registration:
* Go to '/login/canvas'
* Click on the signup banner
* sign up as a parent for billyjoel or eltonjohn
(on SAML login page the password for either user is: tantrum)
Add Student:
* Log in as a parent user w/ a Canvas Auth login
* Go to '/profile/observees'
* Add Student 'billyjoel' or 'eltonjohn'
Authentication Settings (new parent reg checkbox):
* Go to Authentication Settings
* Add a second SAML config
* check the parent registration checkbox
- it should warn that selection will deselect the other
and in fact do so upon save.
- the selected config is the one used for
parent reg/add student
---------------------------------------
Change-Id: Ief83b604fc252c88dbb912c56de65d8620fe802f
Reviewed-on: https://gerrit.instructure.com/49691
Tested-by: Jenkins
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Jacob Fugal <jacob@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>
closes CNVS-17551
Test plan:
Excuse an assignment for a student. The students grade page should
display the assingment as excused (it should look like a dropped
assingment, but have "EX" for the score.
Change-Id: I82ea0d5800e057d17961522b0eb130a656e518e0
Reviewed-on: https://gerrit.instructure.com/54061
Tested-by: Jenkins
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
QA-Review: Adrian Foong <afoong@instructure.com>
Product-Review: Cameron Matheson <cameron@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>
fixes CNVS-20620
no need to have 1 per AAC
test plan:
* use a delegated auth provider
* configure an unknown user url
* log in with a user that doesn't exist in canvas
* it should redirect to your url
Change-Id: I962513a58993bbb98921c2337d228cb53de06e9e
Reviewed-on: https://gerrit.instructure.com/54671
Tested-by: Jenkins
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Rob Orton <rob@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>
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>
cleaned up calls to GradingPeriod to use the 'active' scope
since we use soft deletion for grading periods and we don't want
deleted grading periods to show up in our queries.
closes CNVS-20334
test plan:
verify the grading periods dropdown in gradebook and screenreader
gradebook still filters assignments properly.
Change-Id: I386a91ebdde89a43183320ee646508a4831b82a0
Reviewed-on: https://gerrit.instructure.com/53694
Reviewed-by: Dylan Ross <dross@instructure.com>
Tested-by: Jenkins
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Spencer Olson <solson@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".
closes CNVS-18151
test plan:
* setup MGP
- navigate to a student's grade page
> there should be a dropdown to the left of the 'print' button at the top
> the dropdown should say the current grading period
> the page should only show assignments/grades from the current grading period
- choose a different grading period
> the page should refresh
> the dropdown should show the grading period you chose
> only assignments/grades from that grading period should show
- choose "All Grading Periods"
> it should refresh and show all assignments
Change-Id: I56e1386dff928c16b40c9dcf5d5fe991e69fe4b7
Reviewed-on: https://gerrit.instructure.com/48704
Product-Review: Cameron Sutter <csutter@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Tested-by: Jenkins
QA-Review: Amber Taniuchi <amber@instructure.com>
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>
closes CNVS-17254
Test plan:
* the gradebook should not show unpublished assignments
* grades from the enrollment csv should be correct (they should not
consider unpublished assignments)
Change-Id: I5a5405ff33146beeeba5453eff388d2bf806b427
Reviewed-on: https://gerrit.instructure.com/45250
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
QA-Review: Sean Lewis <slewis@instructure.com>
Product-Review: Matt Fairbourn <mfairbourn@instructure.com>
test plan:
- with DA on and OFF
- assignments & discussions & quizzes & modules indices load
and filter properly for students/teachers
- assignments needing submitting/grading load and
filter properly
- grade summary page for students & teachers loads
and filters assignments properly
Change-Id: Ibff8ff0357360a7e09d500c2475885f3dfb7f495
Reviewed-on: https://gerrit.instructure.com/44215
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
these weren't getting translated, since the I18n.t calls would
only happen when the files were first loaded
test plan:
1. run canvas w/ RAILS_LOAD_ALL_LOCALES=true
2. switch to spanish
3. as a student, confirm that peer review tooltips are translated
4. as a teacher, go to a student's grade summary page
1. use a screenreader
2. confirm "pass"/"fail" are translated
3. confirm submission types for ungraded assignments are translated
5. on an assignment with multiple due dates, confirm that the "Multiple
Due Dates" link is translated
Change-Id: I5599caac628a0d4b962ff2a5fe74ba24374fb33b
Reviewed-on: https://gerrit.instructure.com/42784
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Sean Lewis <slewis@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
fixes CNVS-15784
restores default behavior of a nil column returning a blank object,
rather than nil
had to adjust turnitin code that expected a nil rather than blank,
and a few specs
test plan:
* regression test turnitin integration
Change-Id: I62968cabdba15f2e59ebdfed9b946781a1b0561c
Reviewed-on: https://gerrit.instructure.com/41647
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>
fixes CNVS-14865
test plan:
- with a large class
- with DA on and off
- check that the gradebook csv download works
(grades can be wrong when DA is on)
- check that gradebook2 & srgb work
- check that student grade summary pages work
Change-Id: I7a7b4ffe302d912aa2877106295a78ab662868f1
Reviewed-on: https://gerrit.instructure.com/39470
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
this reverts part of b4840c75cc
fixes CNVS-14840
test plan:
- with differentiated assignments off, grading should work correctly
- in a course with many assignments, you should be able to download the
gradebook csv
- with differentiated assignments on, grading will not work correctly, this is
intentional.
Change-Id: Id910ff28763ba13c529a21d4c125a164e094aeac
Reviewed-on: https://gerrit.instructure.com/39436
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
test plan:
- with da off, with da on, as teacher, as student
- assignment group index works
- assignment group api wors
- gradebooks works
- grade summary page works
Change-Id: I73c26f7f754ab738f67e936dcddad7cdfa5b86b6
Reviewed-on: https://gerrit.instructure.com/38365
Reviewed-by: Cameron Matheson <cameron@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>