refs CNVS-48876
flag = none
TEST PLAN:
1) run auditors repairing
2) no course job errors out with failed FK check
Change-Id: I7bf569c810e48939fca4a54d7a93860d4129b183
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/240939
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
closes PLAT-5765
flag=none
Test plan
- When you create a plagiarism tool
(tool that has the similarity detection
placement) it should create and save
a live events subscription id on the
tool
- The subscription should have an associated
integration id created with it
Change-Id: Ia6d29c61f25fddaea46478469bdd668e7aa39509
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/239210
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
Product-Review: Mysti Lilla <mysti@instructure.com>
Fix the root issue behind the flakey spec, but it still fails FSC due to the spec taking too long. Skipping test and leaving this to LS-849 to fix.
refs CCI-375, LS-849
flag = none
Change-Id: Ie7b20483bfafa2a84f22da78988d6879c9691833
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/240689
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ryan Norton <rnorton@instructure.com>
QA-Review: Ryan Norton <rnorton@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
fixes USERS-364
so that branded icons are properly shown
test plan:
* use the theme editor and upload a custom icon for Mobile
Homescreen Icon
* on an Android device, bookmark the canvas website to your homescreen
* you should see your custom icon
NOTE: because this uses the existing brand config variable, apple and
android will now share an icon, whereas they have differed in the past
Change-Id: Ibb1e6da5a42dae630a04651071618b2504a7f3ce
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/229636
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Jonathan Fenton <jfenton@instructure.com>
allow a list of regions, as well as negating the option
Change-Id: Ic306c1999854f94bdfd8a9257735eb16525ed6f3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/240535
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
QA-Review: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
Without this change we were calling the same config functions
over and over and that was muddying up the logs and didn't
seem especially fast either due to the load() in the
underlying function.
Change-Id: Ia37869ca84604ec2723212d1be46a446f57a1a6e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/240190
Reviewed-by: James Butters <jbutters@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Derek Bender <djbender@instructure.com>
refs CNVS-48876
flag = none
TEST PLAN:
1) run auditors repairing
2) no job errors out with failed FK check
Change-Id: I6ca783a0966325bee82d91e0b5bf1190f017fa40
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/240805
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
fixes VICE-338
flag=none
/ ---- ---- \
| Test Plan |
\ ---- ---- /
- specs pass
- Create a pseudonym for a user and a communication channel
- Open your rails console and grab the communication channel
- cc = CommunicationChannel.last
- Verify that the root_account_id is set on the communication channel
and that it matches the pseudonym account
- cc.root_account_id
Change-Id: I7bf7979779577b9fa0372ce6c8b00913ad41809c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/239316
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
fixes VICE-341
flag=none
/ ---- ---- \
| Test Plan |
\ ---- ---- /
- Create a conversation
- Grab that conversation and add another root account id to it
- c = Conversation.last
- c.root_account_ids = [1,2] # assumes normal account and site admin
- c.save!
- Check that the conversation participants root_account_ids now includes
the added root_account_id
- c.conversation_participants.first.root_account_ids
- Check that the conversation messages root_account_ids now includes the
added root_account_id
- c.conversation_messages.first.root_account_ids
- Check that the conversation message participants root_account_ids now
includes the added root_account_id
- c.conversation_message_participants.first.root_account_ids
Change-Id: I949bd25001d18303d6e79bd07dc7d3494166b84c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/240730
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
closes PLAT-5766
flag=none
Test plan
- Planning to test this on beta once it's there
as that will be easier than trying to test it
locally
- We'll want to install a fresh Plagiarism tool
at an account
- Verify that the plagiarism subscription IS receiving
events for assignments that are linked to the tool
- Verify that the plagiarism subscription IS NOT receiving
events for assignments that are not linked to the
tool
- Verify that regular subscriptions are still receiving
events for both linked and non-linked assignments
Change-Id: I59a1f5f6d1c061dfcd50c1efa2788173875d2231
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/240369
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Michael Guymon <mguymon@instructure.com>
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
Product-Review: Mysti Lilla <mysti@instructure.com>
fixes VICE-337
flag=none
/ ---- ---- \
| Test Plan |
\ ---- ---- /
- Create a calendar event
- Open your rails console and grab that event
- ce = CalendarEvent.last
- Verify that the calendar event has the `root_account_id` set
Change-Id: Idb170103a71711dd87d37fe77968b89986f1965c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/240639
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Davis Hyer <dhyer@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Davis Hyer <dhyer@instructure.com>
Product-Review: Davis Hyer <dhyer@instructure.com>
Under some circumstances I cannot reproduct, the fullstory snippet
gets loaded when there is no @current_user defined, which blows up
the call to FS.identify(@current_user.global_id) preventing the user
from loading the login page. This PS adds a guard
so that we don't load the snipped if there is no user.
We think it may be caused when the session times out rather than actively
logging out?
closes LS-1145
flag=enable_fullstory
test plan:
- do whatever Robin did to make it happen and see that it doesn't?
Change-Id: Id1722a63befceee36d3c40dd1b1305ea931ed06f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/240647
QA-Review: Robin Kuss <rkuss@instructure.com>
Reviewed-by: James Williams <jamesw@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
Test plan:
-verify informative text is shown on both tabs in global announcements
closes VICE-555
flag=past_announcements
Change-Id: Ic70b9f6d7abb9fd0c44f53a086669a6f5c2e00a3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/240421
Reviewed-by: Davis Hyer <dhyer@instructure.com>
QA-Review: Davis Hyer <dhyer@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Laura Leavitt <lleavitt@instructure.com>
test plan:
* enable the native conditional editor (see plan for g/239985)
* set up a course some assignments assigned to "Mastery Paths"
so they're only visible to students with overrides
* use the editor to create a trigger assignment that can
release the hidden assignments
* as a student, submit to the trigger assignment
* as a teacher, grade the trigger assignment with a
score that will release a hidden assignment
* as the student, confirm that the newly released assignment
is visible
closes #LS-1062
Change-Id: Id17a06807c8c668ec95c86acc6f95846c5394efc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/240338
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
Refs USERS-624
flag=none
A bunch of calls to the InstUI <Table> component are
still using "plain old HTML" <tr> <th> <td> etc inside
them, which is a no-no as of InstUI 7.0. This commit
addresses some of them (about half, I think).
Testing this is mostly a matter of observing the affected
displays in the UI and making sure they still look normal.
Note that some subtle changes to the UI may have occurred
due to the InstUI Canvas theme being used rather than the
original Canvas CSS, but everything in here looks just
fine to my eye.
Test plan:
* all tests pass
* The "act as" modal dialog still looks good
* Adding people to courses (duplicate section, missing
people section, and the "people ready list") still
all looks good
* Developer key table still looks good
Change-Id: I20d2c0c88d9050eb73be33e8c26c951a90bc6160
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/240161
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
QA-Review: August Thornton <august@instructure.com>
In the calendar feed modal (on /calendar), there is a link to view the
calendar feed. This link is ambiguous to SR-only users, so this commit
changes the link text to make its purpose more clear.
Fixes LS-1134
flag=none
Test plan:
- Go to /calendar
- Click 'Calendar Feed' in right sidebar
- Link should say 'Click to view Calendar Feed'
Change-Id: I61eff0594655b092e866ed82fd88c0e92f7f7ba6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/240517
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
test plan:
- you should see a progress bar appear while
uploading a file for a content migration
(zip, common cartridge, etc.).
- the spinner should not appear when a
progress bar is present
- the spinner should still show up for migrations
that do not involve an upload (e.g., course copy)
- if you attempt to upload a file that would exceed
your quota, the progress bar should not remain visible
and the submit button should not stay "Uploading..."
- if you complete a migration upload and start another,
you should not briefly see a 100% progress bar
appear before going back to 0 and starting again
- if you attempt to start a migration that requires an
upload without actually choosing a file to upload,
you should get an appropriate error and the
"Uploading..." message should not persist
closes LA-1112
flag = none
Change-Id: I632885b1b8cf257f087cda9577867e2a21840785
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/239555
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Peyton Craighill <pcraighill@instructure.com>
Page view interaction is capped to a minimum of 5 seconds to a
maximum of 10 minutes or 600 seconds.
If self.interaction_seconds(or an instantiated PageView object) is nil
we will default to 5 seconds
If seconds > 5 we'll return the interaction_seconds to the UI
else we'll return the string '--' in place of interaction_seconds
In application controller we do a before_action `set_page_view`
if it's a user request and the request method is GET. We do an
after_action `log_page_view` if it's not a user request, but Javascript.
We explicitly look for `is request.xhr?` before logging the page view
and interaction seconds. For us to log the last page view without it
getting cancelled on page unload is by firing off a `sendBeacon()`
HTTP request. For this request to make it through the `log_page_view`
method we need to identify it by the proper response format and make the
strict XHR check be an OR.
fixes USERS-14
flag = none
Test plan:
* turn on page views
* go to a page and sit there for more than 30 seconds
* clear your rails log and your browser log
* click to go to a new page
* you should see a request in your browser Network log to
page_views/xxxx-xxxx-xxx-xx-xxx?page_view_token=xxxx
* look at your rails server logs, you should see something like:
Processing by PageViewsController#update as */*
Parameters: {"interaction_seconds"=>"1005”, …
”id"=>"36bcbd62-3a11-44bc-8dd2-69410050ff74"}
* as an Admin check that user's page views and verify in the
Time column an integer representing seconds of page interaction
is logged for the proper route used to test
Change-Id: I972011058201997661a83c1b9365f5971e0ca72f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/240128
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Ahmad Amireh <ahmad@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
Reviewed-by: Ahmad Amireh <ahmad@instructure.com>