fixes #CNVS-2598
test plan:
- on an assignment in a course with turnitin enabled
- make sure turnitin_settings are returned in the api
- make sure you can modify them
Change-Id: Ief9465ef3ef9f1d180dd551dcb846b25bc63b3fa
Reviewed-on: https://gerrit.instructure.com/16583
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Reviewed-by: Stanley Stuart <stanley+gerrit@instructure.com>
test plan:
- as a teacher, go to Calendar 1, click on an assignment and edit it.
Select "New Group" from the Assignment Group dropdown.
- You should get a popup dialog to enter a new group name. Enter a
new group name.
- Make sure the group is really added when you hit submit by going to
Course Assignments page (/courses/:course_id/assignmetns) and
verifying the presence of the group there.
- Do the same for the assignments edit page. As a teacher, add a
new Assigment Group from that page.
Change-Id: I4f0adf6f594ef357c95c06dae2f01019d26c6fcd
Reviewed-on: https://gerrit.instructure.com/16517
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Each user box under a role is associated with a UserView, but each UserView looks
at all the user's enrollments, not just those of the containing role. Fix.
Test plan:
- Enroll a user as both a TA (in Section 1) and an Observer (in Section 2).
- Ensure the gear menu in the TA box has an "Edit Sections" menu item
- Click Edit Sections and add the TA to Section 2; make sure this works.
- Ensure the gear menu in the Observer box has a "Link to Students" menu item.
- Link the observer to a student, and confirm this works as expected.
- Enroll a user as both an Observer and a custom role based on Observer.
- Verify this actually worked in the UI--the user should show in both
boxes, and should not disappear from one and appear in the other
- Link each enrollment with a different student. Make sure the student
appears in the right place.
- Enroll a user as both a TA (in Section 1) and a custom TA-based role
(in Section 2).
- Ensure the TA box shows only "Section 1", and the Custom-TA box shows
only "Section 2".
- Click "Edit sections" for the Custom TA and add Section 1. make sure
the Custom TA box shows both sections after this, and that the
(regular) TA box continues to show only Section 1.
fixes #CNVS-2432
fixes #CNVS-2596
fixes #CNVS-2628
Change-Id: I93fe0da90064b7530541010775f2ae0d280e033d
Reviewed-on: https://gerrit.instructure.com/16560
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: James Williams <jamesw@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
fixes #CNVS-2582
test plan
- create an all day event
- ensure that the details popup shows only the date, not the time
- create a not all day event
- ensure that the details popup shows the time as well as date
- ensure that other event types like assignments and quizzes are
unchanged
Change-Id: I4bd1cedcd33d098caf40a9d63fd62324b3e92183
Reviewed-on: https://gerrit.instructure.com/16599
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
fixes #CNVS-472
When determining lateness of an assignment, use the cached late
value of the submission instead of doing manual comparisons.
test plan:
* create an assignment due in the past with an override
due in the future
* submit the assignment both as a student the override
applies to and a student the override does not apply
to
* as a teacher or admin, visit gradebook2 and verify that
the late submission appears late and the on-time
submission is not marked as late
* check the mouse-over text on both submissions to make sure
they display the lateness of the submissions correctly.
Change-Id: I4a77d2f065402babd737f887c08dfb844c342cbf
Reviewed-on: https://gerrit.instructure.com/16356
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Willesen <jonw@instructure.com>
QA-Review: Jon Willesen <jonw@instructure.com>
When creating a new CalendarEvent or editing an existing one, the description
uses the TinyMCE editor but there was no way to toggle between HTML and
source versions. This adds that ability.
Testing Notes:
=============
* As a user, create Calendar event on either
Calendar1 or 2. Click the "more options" link
which takes you to a dedicated edit page.
* Between the title and description, there should now
be a "Switch Views" link that toggles the editor
between HTML and source view.
* It should work for any user (teachers or students).
There is nothing user-specific about it.
Change-Id: Icfd5b58dc7708bf9b2d75312983629af5e505ea9
Reviewed-on: https://gerrit.instructure.com/16475
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
* wrap RoleOverride#permission_for with enabled_for? that also takes a
context of where the permission is being applied, and recalculates its
enabled-ness relative to that context; use that for checking account
admin and enrollment permissions
* refactor User#can_masquerade to properly check for descendant
permissions
test plan:
* create a custom role in site admin. give it permission to
manage permissions
* in script/console, find that override and set apply_to_self=false
* add a user to that role, and login as that user
* the user should not be able to change permissions in site admin
* the user should be able to change permissions in the default
account
* add another role in site admin. give it permission to manage
permissions
* in script/console, find the override and set apply_to_self=true,
apply_to_descendants=false
* add another user to that role, and login as that user
* the user should be able to change permissions in site admin
* the user should not be able to change permissions in the default
account
* the first user should not be able to masquerade as the second user
and vice versa
* an Account Admin should be able to masquerade as either user
* create a custom role in the default account, give it permission
to manage permissions, and add a user to that role
* the first user should be able to masquerade as the new user;
the second user should not be able to masquerade as the new user
* general regression tests on permissions and masquerading
Change-Id: I20a1183b7dfec419634a92cda498f245187060ef
Reviewed-on: https://gerrit.instructure.com/15896
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Tested-by: Cody Cutrer <cody@instructure.com>
These page views won't ever be queried anyway, so storing them is
pointless.
Change-Id: I8242c50be32f626d64caa528e7a5fd3a921af461
Reviewed-on: https://gerrit.instructure.com/16572
Reviewed-by: Brian Palmer <brianp@instructure.com>
QA-Review: Brian Palmer <brianp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
On SpeedGrader, when an assignment has multiple due dates, in the header,
display something to let the grader know that.
Testing Notes:
==========
* Using an assignment with no due date, visit SpeedGrader and verify
that it says, "due: No Due Date"
* Using an assignment with a single (no override) due date, visit
SpeedGrader and verify that it says "due: <the date>"
* Using an assignment with multiple override due dates, visit
SpeedGrader and verify that is says "due: Multiple Due Dates"
NOTE: This also changes the previous behavior of not showing anything for a
due date when the assignment didn't have one to now showing
"due: No Due Date" when there is no due date. This is because the assignment
might have no due date but an override might specify one.
Change-Id: I1337015eef623f9579be3af990c8651cacd957af
Reviewed-on: https://gerrit.instructure.com/16391
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
fixes #CNVS-1881
for calendar2
event still shows up on the calendar for students who are signed
up for the appointment and on the calendar for anyone who can
manage the appointment group
test plan
-as a teacher, create an appointment group
-as a student, sign up for a slot in the appoinment group
-as that same student, ensure that an event appears on the calendar
for the appointment
-as a different student who is not signed up for the appointment
group, ensure that an event does not appear on the calendar for
the appointment
-as a teacher, ensure that an event appears on the calendar for
the appointment
Change-Id: I458c849cd675dadf3384b545c1162f00905f6018
Reviewed-on: https://gerrit.instructure.com/16452
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Ericksen <marke@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
Adds support for the "cspire" cell carrier for user SMS
notification options.
Testing Notes:
==========
NOTE: Full testing requires someone with that network service
to verify that messages are correctly being received.
* On /profile/settings page click the 'Add Contact Method'
in the sidebar under "Other Contacts"
* On the "Text (SMS)" tab, verify that 'C Spire' is now a carrier
option.
* Verify that when selected, the "SMS Email" uses the
"@cspire1.com" domain
Change-Id: I1dd409f728cff28499bfbf5fa7c189f64f705746
Reviewed-on: https://gerrit.instructure.com/16555
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
fixes #CNVS-2502
test plan:
* enable the external notifications warning on an
account;
* as a member of that account, navigate to your
notification settings page and verify that the
warning displays with the text given in CNVS-2502.
Change-Id: Ic6d88ba8cc1322844bdb14b61dec4fff3e747fda
Reviewed-on: https://gerrit.instructure.com/16521
QA-Review: Marc LeGendre <marc@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
fixes #CNVS-2389
when using a screen reader, announce the display of the
forward/announce buttons when checking a conversation in
the right conversation view pane.
test plan:
* in the inbox, select a conversation;
* using a screen reader (but not using Chrome), check a
message's checkbox and verify that (1) the forward/
delete buttons appear, and (2) they are read by the
screen reader.
Change-Id: Ib5e761ec75c1036e97972f2c2a379b189c744e25
Reviewed-on: https://gerrit.instructure.com/16423
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Ericksen <marke@instructure.com>
QA-Review: Clare Hetherington <clare@instructure.com>
test plan:
* create a site admin role with only view jobs permission
* as a user in that role, you should be able to see the jobs page,
but not hold, un-hold, or delete jobs
Change-Id: I5438ef55d13f87773b9e664f87e5b0d167ad4767
Reviewed-on: https://gerrit.instructure.com/16463
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Hetherington <clare@instructure.com>
fixes #CNVS-1330
replace custom conversations gear menus w/ menus used
everywhere else in canvas to make them more usable by
persons w/ screen readers.
test plan:
* using a screen reader, navigate to conversations;
* navigate to the actions menu of an existing
conversation and click it w/ the keyboard;
* verify that you can navigate to each menu item, that
it is properly read, and that menu items can be
clicked using the keyboard.
Change-Id: Ic67bb56e684702a871b2199fdbdb9615625aae81
Reviewed-on: https://gerrit.instructure.com/16394
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Ericksen <marke@instructure.com>
QA-Review: Clare Hetherington <clare@instructure.com>
refs #CNVS-1160
adds group_id to collaborators table to identify
collaborators associated w/ a group versus collaborators
added as individuals.
also adds a new API endpoint to return collaborators for
a given collaboration.
test plan:
* run migrations to add the group_id column;
* create new collaboration and add at least one user
as a collaborator;
* in the console, add a group as a collaborator, giving
it a group_id and no user_id;
* make a GET to /api/v1/collaborations/:id/members
and verify that users added as individuals are
returned as type 'user' and that users added with
group_ids are returned as type 'group' and not
displayed as individuals.
* verify that one record exists for each collaborator
regardless of type;
* verify that adding per_page params will paginate
requests to the endpoint.
Change-Id: Id509fd0e7eebe6a889b2ca86e8d7d8d1a9e93c63
Reviewed-on: https://gerrit.instructure.com/16203
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Ericksen <marke@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
Allows several new fields in the Assignments API to both update existing
assignments and set attributes on freshly created assignments.
test plan:
- run through the api trying each field in the generated
documentation.
- Make sure you can create assignments with every field, and update
assignments with every field available in the documentation. The
specs do this so they should pass as well.
closes #CNVS-2190
Change-Id: I0d67e379777b5a313f45289f23852122b1e61a37
Reviewed-on: https://gerrit.instructure.com/16114
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
indicates multiple overridden due dates on multiple sections if
they are visible to a teacher/ta/designer
if there are different dates, it sends all the information back
this json info can be used in the future for a detailed popup
but for now, simply indicate with text that there are
multiple due dates for the assignment
if they are a student, then only show them the latest override
that applies to them
test plan:
* create an assignment
* create a module, add the assignment as an item
* create another course section
* override the assignment date for one section,
then override it to another date for the other section
* go to modules page, should see "Multiple Due Dates"
* create a ta/teacher/designer/student, restrict them to one section
* login as the ta/teacher/designer/student, should see one due date
closes #CNVS-2010 #CNVS-2011
Change-Id: Ieab089a27e4e4e7bea26b1c597859bf8b77dc802
Reviewed-on: https://gerrit.instructure.com/16401
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
so plugins can start passing users to to conversation methods
Change-Id: If8cf75de862f7e96bf9b69daf809a79f6c5d0aa0
Reviewed-on: https://gerrit.instructure.com/16534
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
fixes #CNVS-2369
test plan:
1. On the dashboard recent activity, click a
course/group link in a category header.
2. The category should not expand
Change-Id: I114cbf59a4fb5e012b6f42d70d86f5be06076351
Reviewed-on: https://gerrit.instructure.com/16375
Reviewed-by: Jon Jensen <jon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Cam Theriault <cam@instructure.com>
It seems that for some courses, calling
course.calendar_events.new.context returns nil, instead of the course.
For other courses it works, I'm trying to determine what the difference
is, but using .build instead of .new fixes things to work correctly.
fixes #CNVS-2542
test plan: Since this only happens on some courses, it may be difficult
to reproduce until we know exactly what triggers the bad behavior. In
any case, you should be able to visit /calendar without seeing an error
page, and you should be able to create new calendar events from that
page.
Change-Id: I3d4c17676b39382f61ef8ebffb35cf47eec39fa5
Reviewed-on: https://gerrit.instructure.com/16526
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Hetherington <clare@instructure.com>
we were filtering the common core group in the wrong place which caused
a javascript error, which in turn broke any further pages from loading via
ajax.
fixes #CNVS-2526
test plan:
- in an environment where there is a page of state standards after the page
that contains the common core group
- make sure they all load
- make sure common core still works correctly as well, and is excluded from the
state standards folder
Change-Id: I7c636a263fc8dc2a4a5a9cadc5595c160f693848
Reviewed-on: https://gerrit.instructure.com/16514
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Stanley Stuart <stanley+gerrit@instructure.com>
QA-Review: Bryan Madsen <bryan@instructure.com>
fixes #CNVS-2530
account admins now have the permissions to edit the
external notifications warning preference. previously
this permission was only given to people with
:manage_site_settings permissions on the site admin
account.
test plan:
* create an account admin user;
* on the account settings page, click the notifications
tab, check the external notifications warning checkbox,
reload the page, save your changes, and verify that
they've persisted across page loads.
Change-Id: I0b2a6403e3ae3e8bf5372b0bd2f9ea9887e0c89c
Reviewed-on: https://gerrit.instructure.com/16520
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Hetherington <clare@instructure.com>
Reviewed-by: Mark Ericksen <marke@instructure.com>
dashboards don't show these, and existing ones can be a little crazy if
they have lots of submission comments
also change cache key so these get regenerated
test plan:
1. dashboards should work
2. stream item api should work
3. specs should pass
Change-Id: I245f4464189a507f0e1a8c9dc1c4c1e9fd4b7566
Reviewed-on: https://gerrit.instructure.com/16502
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Cam Theriault <cam@instructure.com>
also limit number of root discussion entries (they still need to be there
per the current api implementation)
test plan:
1. as a student, submit some homework
2. as a teacher, grade the homework and add a comment
3. as both users, ensure the dashboard loads correctly (submission stuff
doesn't show on the stream, so there are no visible changes)
4. as a teacher, start a discussion
5. as a student, comment on the discussion
6. as both users, ensure the dashboard loads and you see the discussion
under recent activity
Change-Id: Iaa2569b2890c0ead1dc96252d327f59527be6568
Reviewed-on: https://gerrit.instructure.com/16488
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Joe Tanner <joe@instructure.com>
QA-Review: Cam Theriault <cam@instructure.com>
And log some basic ErrorReport info if creating it fails
Change-Id: I4853569f6a1107321bc3bc05e7fa413a69996a6e
Reviewed-on: https://gerrit.instructure.com/15981
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Duane Johnson <duane@instructure.com>
QA-Review: Clare Hetherington <clare@instructure.com>
When editing permissions for an account, course
or admin section the UI has changed to use
drop downs instead of a 6 state check box. It
has also been switched to use 100% backbonejs to
handle creating and editing roles. This works with
the roles api and allows you to create custom
roles for courses.
fixes #CNVS-1165
Test Plan
Apply this test in two places. The Site Admin and
a custom university.
1. Go to the "permissions" tab
2. Notice permissions are available per role in a
table.
------------ Adding/Removing Roles --------------
1. When under the "Account Role" tab click
"Add Role"
2. Enter a role name and click "Create/Add"
3. A new role should appear automatically.
4. You should be able to delete this role by
clicking the x next to it's name.
------------ Editing Permissions ----------------
1. Go to a role in the permissions tab.
2. Try to edit one of it's permissions. It should
have a drop down with options to select
permissions. You should be able to enable/disable
or set to default and lock the permission.
Read only permissions cannot be clicked on.
3. Buttons with default set should have a special
"default" class added to the button representing
its permission.
------------ Organization of Roles --------------
1. In the course role tab, add a few roles with
different base types (use the dropwdown)
2. Roles should be grouped together by base role
type.
------------ Automatic Saving ------------------
1. Change a permission on a role
2. The role should automatically save the
the permission after selecting the option you want
Change-Id: I343afc36b85183e5913c8eef6111ea2c5ae62726
Reviewed-on: https://gerrit.instructure.com/16323
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
refs #CNVS-2412
added some spec coverage for the action that
accepts the oath connection and start using
the global_id for the user instead of the local
id.
Also removed an oath method from
lib/authentication_methods that doesn't
get used anywhere (grep says so anyway,
we'll see what jenkins says).
TEST PLAN:
Behavior has not changed, this is just to
prevent a fairly specific authorization hack.
regression tests on oauth workflow should cover
it.
Change-Id: I39dd50276561677be11dd0ed3d3832624cf70a84
Reviewed-on: https://gerrit.instructure.com/16369
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Hetherington <clare@instructure.com>
notifications will no longer be sent to students if:
* the file's folder is locked (and thus inaccessible
to students), or
* the files tab has been hidden on the navigation
and is thus inaccessible by students
test plan:
* as a student, set file notification to ASAP
* as an admin, create a folder and lock it
* add a file
* confirm that the student account did not receive
an email notification
* repeat the above, but instead of locking the file,
hide the file navigation tab in the course settings
closes #CNVS-1688
Change-Id: Ic4398f2dadca0892d7e0643ec5e9b3eba6991dbd
Reviewed-on: https://gerrit.instructure.com/16243
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
an excessively long course short_name or assignment title could cause a
filename over the 256 character limit.
fixes #CNVS-2365
test-plan:
- create a course with a 250+ character course code (aka short name)
- create an assignment in that course
- create a submission for that assignment
- go to the assignment page and click "Download Submissions"
- zipfile should successfully create and download
- repeat with short course code but 250+ character assignment title
Change-Id: Idcf0bdc303e8b467fc29196c52081f2070344811
Reviewed-on: https://gerrit.instructure.com/16362
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ethan Vizitei <ethan@12spokes.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
QA-Review: Clare Hetherington <clare@instructure.com>
a typo was preventing the redirect from working.
fixes #CNVS-2424
test plan:
- create a quiz.
- go to the /courses/:id/quizzes/:id page
- hit the delete button in the right side bar
- you should be redirected to the quiz index page
Change-Id: If8768c11658eea473bfeb48dbb50d61e8e3e756c
Reviewed-on: https://gerrit.instructure.com/16416
QA-Review: Myller de Araujo <myller@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
"Unknown Author" typically shows up when you fetch a discussion
before the background jobs have processed it. In this case, we
were fetching the discussion immediately after adding the
student's reply, so the background jobs didn't have a chance to
get to the new reply yet.
Normally this isn't a problem because the reply is added to the
discussion without refetching the discussion. In this case, we
need to remember the new reply, which has all the good
information in it, so we can replace bad fetched reply with the
good data.
fixes #CNVS-2406
test plan:
- As a teacher, create a discussion topic with "Users must
post before seeing replies" checked
- As a teacher, create reply to the discussion
- View the discussion as a student (shouldn't see replies)
- Reply to the discussion as a student
- Replies should load and you should see student's reply with
the student's name
Change-Id: Id1189eabc0e8e1ff90c3764f2d0d92b425b50672
Reviewed-on: https://gerrit.instructure.com/16413
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
no user-visible changes, just a tweak to make it easier for plugins to
override the default help links
test plan:
1. click on the help dialog
2. confirm that you see the appropriate links based on your role
3. add a custom link (via account settings)
4. confirm that it shows up correctly
Change-Id: I6e93b2fa9c2ebd32dc6eb485d50bd3f1118f2364
Reviewed-on: https://gerrit.instructure.com/16385
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
QA-Review: Cam Theriault <cam@instructure.com>
we load the assignment groups, which include assignments, which by default
includes the discussion topic info the the assignment is linked to
a discussion. this was unncessary, and was causing an error because the
discussion topic json does a select for update, and this is all happening in
a slave block.
fixes #CNVS-2430
test plan:
- in an environment with a master and slave database (user)
- try to load gradebook1; it should work
- try to load a student's grade summary page; it should work
Change-Id: I2fb9a202d1b30660871708ace16cb3be4cebb445
Reviewed-on: https://gerrit.instructure.com/16396
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Stanley Stuart <stanley+gerrit@instructure.com>
QA-Review: Stanley Stuart <stanley+gerrit@instructure.com>
test plan:
* enroll a user as a plain Student
* enroll the same user in a custom student role
* the plain Student enrollment should not disappear
Change-Id: I7f7a1ce96a1a5f971a7226756d25b063d6f88a87
Reviewed-on: https://gerrit.instructure.com/16363
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
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>