Change-Id: I7fc2426b53b64abeb7a487d31f07f3eecbfbf60c
Reviewed-on: https://gerrit.instructure.com/58400
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
also revert "rails4: fix stale collection proxies"
refs #CNVS-21596
Change-Id: I7dd3d7d5e6ddb3c5fca17555b0e0ec347e6bfa75
Reviewed-on: https://gerrit.instructure.com/58381
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
fixes CNVS-21362
test plan:
* make sure you have pg_collkey installed
* test user search
* it shouldn't asplode
Change-Id: I911d57ea950679b3e26390c140149c528eae0a2d
Reviewed-on: https://gerrit.instructure.com/56969
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
refs #CNVS-21596
Change-Id: I28cfeb917e29562734542d201148ad636d23cba1
Reviewed-on: https://gerrit.instructure.com/58170
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
fixes a problem with appointment groups that
can cache a broken association scope in a before_save
refs #CNVS-21596
Change-Id: I8965999b80c26f8d303681c1cf2214c45f23f39d
Reviewed-on: https://gerrit.instructure.com/58050
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
also multi-column plucking
refs #CNVS-21596
Change-Id: I0cceae6bf95a25c32ef4957977d8ce2b4719d0ef
Reviewed-on: https://gerrit.instructure.com/58044
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
current_scope in rails4 is shared on base_class
refs #CNVS-21596
Change-Id: Ib4c8e61c2cbe7ef492988b90769930811a76761b
Reviewed-on: https://gerrit.instructure.com/57980
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Fixes CNVS-20436
This does two things:
1) Reports to StatsD each time a message
is processed
2) Every 5 minutes, reports the unprocessed size
of each incoming mailbox
Test Plan:
Regression test incoming mail processing. Will
want to check the basic cases of incoming messages
still being processed properly.
Smoke test the new Instrumentation delayed job.
1) Setup incoming mail processing by adding a
config/incoming_mail.yml with the right content
- Wheeler can tell you what the file
should contain. (not shown because passwords)
2) Start canvas jobs
`bundle exec script/delayed_job run`
3) Watch /error_reports for any new error reports.
You should see none.
Change-Id: Ia737906cedb67e183fec0f41571e002883c058c8
Reviewed-on: https://gerrit.instructure.com/57892
Reviewed-by: Joel Hough <joel@instructure.com>
Tested-by: Jenkins
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Matthew Wheeler <mwheeler@instructure.com>
The content migrations for outcomes importing are not scoped to an account
or a course, since the academic benchmarks standards are imported globally
per shard.
Fixes CNVS-21782
Test Plan:
1. Kick off an outcomes import task
- curl -H 'Authorization: Bearer <api-key>'
--data 'guid=<some-guid>'
'http://<canv-domain>/api/v1/global/outcomes_import'
2. Query it through this endpoint and make sure it works
- curl -H 'Authorization: Bearer <api-key>'
'http://<canv-domain>/api/v1/global/outcomes_import/migration_status/<migration-id>'
Change-Id: I8ff3a5206bb7aa5f97d615912c60341fedcaf855
Reviewed-on: https://gerrit.instructure.com/58034
Tested-by: Jenkins
Reviewed-by: Cameron Sutter <csutter@instructure.com>
QA-Review: Michael Hargiss <mhargiss@instructure.com>
Product-Review: Benjamin Porter <bporter@instructure.com>
turn back; it's too late to change now
refs #CNVS-21596
Change-Id: Ia2ed649e9ee700219479cee7aab48c51fe4d6c4b
Reviewed-on: https://gerrit.instructure.com/58052
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Tested-by: Jenkins
refs: PFS-2071, PFS-2072, PFS-2073, PFS-2074
**Test Plan
PFS-2071
1. Create course with assignment, teacher and two students
2. setup peer reviews on assignment
3. As student 1 create a submission
4. As student 2 peer review submission, leave comments
5. execute the following api courses/:course_id/assignments/:assignment_id/peer_reviews
6. As account admin all information should be shown
7. As teacher all information should be shown
8. As student should see all information
9. Repeat above but set anonymous peer reviews on assignment
10. As account admin all information should be shown
11. As teacher all information should be shown
12. As student should see comments but all reviewer
information should not be shown
13. include the following include parameters, include[]=submission_comments,
include[]=user make sure additional information is shown according to parameter.
PFS-2072
1. Follow setup from PFS-2071
2. execute a get on the following api
/api/v1/courses/:course_id/assignments/:assignment_id/submissions/:submission_id/peer_reviews
3. validate that only peer reviews for the given submission are shown
PFS-2073
1. Follow setup from PFS-2071
2. execute a post on the following api, including a user_id parameter
/api/v1/courses/:course_id/assignments/:assignment1_id/submissions/:submission_id/peer_reviews
3. validate that user from user_id parameter is added as a reviwer on the submission
PFS-2074
1. follow setup from PFS-2071
2. execute a delete on the following api, including a user_id parameter
/api/v1/courses/:course_id/assignments/:assignment1_id/submissions/:submission_id/peer_reviews
3. validate that user from user_id parameter is removed as a reviewer on the submission
(cherry picked from commit 91744bbcd5a81be968139b1f68b65c3e9eaa7b4a)
Change-Id: Ic09a16956cddb2f113625ff61bc733503d713abb
Reviewed-on: https://gerrit.instructure.com/56936
Tested-by: Jenkins
QA-Review: Adam Stone <astone@instructure.com>
Reviewed-by: John Corrigan <jcorrigan@instructure.com>
Product-Review: Brandon Broschinsky <brandonbr@instructure.com>
with_exclusive_scope is deprecated
refs #CNVS-21596
Change-Id: I5f7d2744f8084a032100b54cf0d34118373e59ce
Reviewed-on: https://gerrit.instructure.com/57812
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: Ic27fed7ce841b439476e65932dd52f8fec38e37b
Reviewed-on: https://gerrit.instructure.com/57814
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: Ie7c46ac6d5f7bac068eeeb6ca7ec971b414ed8e2
Reviewed-on: https://gerrit.instructure.com/57856
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:
* create courses with assignments retrievable through the endpoint
created in g/54418
* should be able to use the start_at and end_at arguments
(should be in the API documentation)
to restrict the list of course_ids to courses that lie
within those dates
refs #SIS-1124
Change-Id: I8cce47beb062d52ce29e6728cc3e6170ad1e411a
Reviewed-on: https://gerrit.instructure.com/56370
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 a circular dependency error trying to load
AccountAuthorizationConfig::CAS
refs #CNVS-21596
Change-Id: I65f92e2cc09228f19363b1964e063a2a5fcde037
Reviewed-on: https://gerrit.instructure.com/57645
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
what this does:
* Changes the way we generate css so we are able to generate custom
css for people that use the theme editor.
* Sets everything up so we can push all of our static assets
(js, fonts, css, images, etc) to s3 pre-deploy and serve them
from cloudfront. Yay! faster canvas for everyone!
* as part of that, this enables the rails asset pipeline just so we
can use it to put md5s in our urls. we don't use it for any of the
coffeescript/sass/sprockets transformer stuff.
* adds a new "Theme editor" functionality (only for people that have
have the use-new-styles feature flag turned on) where an admin for
an account can pick their own colors/images for all the users
at their account/school.
* when the user is done saving things in theme editor, it will,
in a delayed job, generate all the css with against the variables
that user specified and push it to s3 so it will be available to
anyone else that requests it. (the delayed job will shell
out to a node.js executable called `brandable_css`).
* ability to pick an existing shared theme and to reset to
blank theme. closes: CNVS-19685
* gets rid of jammit.
test plan:
(this is exaustive, so not every person has to do every step
but we should make sure at least someone does each of these things.
maybe as part of the review add a comment if you have done one of these
bulletpoints)
* before you check this out, compile all css and copy the
public/stylsheets_compiled directory somewhere. after you check out
this code and regenerate all the css. make sure there are no
significant changes to the css output. (we updated the versions of
node-sass and autoprefixer that we use so we want to make sure they
don't change things in a way we weren't expecting)
* make sure the way we load css for handlebars templates still works.
eg: if there is a handlebars template at
app/views/jst/some/template.handlebars
if there is also a scss file at
app/stylesheets/jst/some/template.scss
then that stylesheet should get loaded when that template is rendered
* check out the code and run migrations. browse around canvas,
make sure css and js files load correctly as before.
* cody, jacob, or someone on queso: look at the db migrations and
make sure everything looks good and that I am handling sharding
correctly.
* verify that both rake canvas:compile_assets and guard, works as well
as `node_modules/.bin/brandable_css` (note: if you have
"node_modules/.bin" in your PATH (which you should), it will also
work with just `brandable_css`)
* verify that passing the --watch option to
`.bin/node_modules/brandable_css` works and picks up changes to
sass files, images, fonts, or any other resource that goes into
a css file. and that it only recompiles the css files that actually
depend on that file.
* go to https://github.com/ryankshaw/brandable_css and check out the
code there. that is what is actually doing the sass compiling
* create a config/canvas_cdn.yml file and add aws access creds and
an s3 bucket and cdn hostname (for testing, you can use the credentials
for instructure_uploads_engineering from
https://gollum.instructure.com/OtherServiceTestAccounts ). for a test
cdn hostname you can use https://diu0rq5m1weh1.cloudfront.net. that
is a cloudfront bucket I set up on my personal account that points to
instructure_uploads_engineering
* run rake canvas:compile_assets again, this time, at the end, you
should see it run the assets:precompile task that puts md5s in filenames
and, gzipps them, and copys them to public/assets.
then you should see it run canvas:cdn:upload_to_s3
(look at log/development.log for progress),
which pushes everything to s3.
closes: CNVS-17333 CNVS-17430 CNVS-17337
* try out the theme editor: turn on new styles, go to accounts/x
(where x is the @domain root acount you are testing from) and click
the "theme editor" button on the right side of the page.
that should take you to a page that has the ability to pick colors/images
on the left side and preview your changes in an iframe on the right
closes: CNVS-19360 CNVS-20551
* test the "preview", "save", "reset", and "choose existing" functionality
closes: CNVS-17339 CNVS-17338 CNVS-19685
* make sure that the themeeditor works both if you have
config/canvas_cdn.yml set up and enabled as well as if you don't.
if it is enabled, you should see it push the css for just that new
brand config to s3 when you hit preview, and the css
should be accessible from the cdn you configured.
Change-Id: Ie0a812d04f5eeb40e7df7e71941ff63ea51a4d22
Reviewed-on: https://gerrit.instructure.com/53873
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
these columns have not been used
closes CNVS-21492
Change-Id: Ifb592364a5aec9bfa42baabbffc92679cbff337d
Reviewed-on: https://gerrit.instructure.com/57093
Tested-by: Jenkins
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
'all' is a scope in rails 4 that 'where' and
other methods delegate to
refs #CNVS-21596
Change-Id: I62bb115fa7158438937d1ee54c83b2e0fb17eba1
Reviewed-on: https://gerrit.instructure.com/57441
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
- Adds radio button for Edit Settings Module for CNVS-20853
- Changes prerequisite list to the header of the module
- adds "pill" info section that says if this is an ALL or OR type of module
- Features will be behind a feature flag
Change-Id: Iee0c32234a49eb3d4ac7fcd5d7ff7b1309d0d53f
Reviewed-on: https://gerrit.instructure.com/56297
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Dan Minkevitch <dan@instructure.com>
Tested-by: Jenkins
test plan:
* activate the api one of the following ways:
* install a post_grades lti tool
* enable the bulk_sis_grade_export feature
* GET /api/sis/accounts/:account_id/assignments
* published assignment details for the account should be returned
* results should be paginated
* GET /api/sis/courses/:course_id/assignments
* published assignment details for the course should be returned
* results should be paginated
closes CNVS-20944
Change-Id: Iab5d9ac03d9aa29cad3ebdf74e4f48eb14c4a709
Reviewed-on: https://gerrit.instructure.com/56653
Tested-by: Jenkins
Reviewed-by: Andrew Butterfield <abutterfield@instructure.com>
QA-Review: Derek Hansen <dhansen@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Mark Severson <markse@instructure.com>
closes CNVS-21324
javascript timezone locale file for swedish already existed, and used it
as a template for danish given their similarities, then updated based on
http://std.dkuug.dk/cultreg/registrations/narrative/da_DK,_4.3.html
Change-Id: I28d03ee26f04e7802b31992a63ec8051f43f29ce
Reviewed-on: https://gerrit.instructure.com/56981
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: August Thornton <august@instructure.com>
closes CNVS-21340
this initializer was producing the right keys, but not
with indifferent access, so string access wasn't working and the
linkedin registered service would just die.
Also fixed a problem in the twitter connector which has the same
issue with running a find at initialization time.
TEST PLAN:
1) linked in as a registered service should not break horribly
2) twitter as a registered service should not break horribly
Change-Id: Iaa3a5c7f3f0ac5561079a334493d215399d45d76
Reviewed-on: https://gerrit.instructure.com/57186
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
Tested-by: Jenkins
the sis assignments integration api is not paginated and didn't fulfill
all necessary use cases, so we are removing it before it hits
production. there is a replacement api that will be merged following
this commit.
test plan:
* querying the api should return a 404 error
* /api/sis/grade_export/accounts/:account_id/assignments
* generated api documents should not reference 'SIS Integration'
closes CNVS-21494
Change-Id: I1d7a15fa08ac4e9a10bdc1c366ff8d87338d9808
Reviewed-on: https://gerrit.instructure.com/57171
Tested-by: Jenkins
Reviewed-by: Brad Humphrey <brad@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
QA-Review: Derek Hansen <dhansen@instructure.com>
Product-Review: Brad Humphrey <brad@instructure.com>
closes CNVS-21297
These settings are referenced everywhere else with "consumer"
prefixes rather than "client" prefixes, this fixes that typo.
Also makes the config hash with indifferent access,
wraps the configuration in a testable object, and
relaxes the twitter gems' requirement for a Proc,
letting it be satisfied with a callable object.
(also started unit tests on that object
since I was touching it anyway and it had none)
TEST PLAN:
1) twitter as a registered service works
Change-Id: I9daf03547c3e60b99bdd6c24a4c632b0f8b6b091
Reviewed-on: https://gerrit.instructure.com/57074
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Fixes CNVS-20408
Fixes CNVS-21260
Test Plan:
NOTE: You will need to have the Academic Benchmarks API key, and you
will need to run this from an IP address inside the Instructure
network
* As a site-admin, make the following requests and verify that they
work. Do the same as a regular account admin, a teacher, and
a student, and verify that those DO NOT work (should return 401
unauthorized
- Through the API, query for available GUIDs to import
- Get to "/api/v1/accounts/#{@account.id}/outcomes_import/available"
- Through the API, schedule a GUID for importing
- Post to "/api/v1/accounts/#{@account.id}/outcomes_import" with
guid as argument
Change-Id: Ia7f199416f46da2aae4a356d5fa6c3c1d5845bfa
Reviewed-on: https://gerrit.instructure.com/54648
Tested-by: Jenkins
Reviewed-by: Cameron Sutter <csutter@instructure.com>
Product-Review: Cameron Sutter <csutter@instructure.com>
QA-Review: Michael Hargiss <mhargiss@instructure.com>
closes CNVS-20238
this removes individual save/update buttons on the
grading periods page in favor of a single save button.
a title validation is also added to grading periods.
Change-Id: Id6fa4de38f8d9243a21ce5011f090e8782c5aec0
Also-By: Spencer Olson <solson@instructure.com>
Also-By: Strand McCutchen <smccutchen@instructure.com>
Reviewed-on: https://gerrit.instructure.com/55688
Tested-by: Jenkins
Reviewed-by: Spencer Olson <solson@instructure.com>
Product-Review: Derek Bender <dbender@instructure.com>
QA-Review: Michael Hargiss <mhargiss@instructure.com>
fixes CNVS-3194
test-plan:
- lolcalize!
- open the widget for a date+time datepicker
- the following should be localized:
- hover text for arrow to navigate to previous month
- hover text for arrow to navigate to next month
- month name
- column headings
- hover text (full day name) for column headings
- "Time:" label at bottom (though this should have been already)
- "Done" button at bottom (though also should have been already)
- hover text for hours field
- hover text for minutes field
- value in hours field (24-hour behavior, not 12-hour)
- presence of am/pm dropdown
Change-Id: Ie0c379dc6d2a3947c64a1b00a8db63632e51f6af
Reviewed-on: https://gerrit.instructure.com/53818
QA-Review: August Thornton <august@instructure.com>
Tested-by: Jenkins
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
closes CNVS-21283
test plan:
- tail your environment logs
- repeat for several pages
- visit page
- verify that a log entry exists that starts with: [STATSD]
- and shows values for:
- total
- view
- db
- sql_read
- sql_write
- sql_cache
- active_record
Change-Id: I9ef66d233604901348999099194be7fa31d11639
Reviewed-on: https://gerrit.instructure.com/56682
Tested-by: Jenkins
Reviewed-by: Brian Palmer <brianp@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Jason Madsen <jmadsen@instructure.com>
Change-Id: I0c416b2f46262962107541953871d30a3ff07d98
Reviewed-on: https://gerrit.instructure.com/56437
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Jenkins
Product-Review: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
initializers are too late in the boot process - after the
initial connection has already been established
clean up our other pre-connection-establishment extension as well
Change-Id: I3100f0bd27ec255a50f9a3ab16b9d196c7656892
Reviewed-on: https://gerrit.instructure.com/56348
Tested-by: Jenkins
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
there's a known bug with them in rails 4, they're causing inexplicable
failures in ruby 2.2 on rails 3.2, and we have them turned off on
prod anyway. just turn them off by default to keep things simpler
Change-Id: I0aca254d13a59cfdc9c3669ce06cd202f8fe5655
Reviewed-on: https://gerrit.instructure.com/56288
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@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>
fixes CNVS-20119; fixes CNVS-20139; fixes CNVS-20140;
fixes CNVS-20424; fixes CNVS-20426
This adds a new Dashboard view when using New UI.
Note: This is for New UI only. Legacy UI should only show Recent Activity on
dashboard (as it always has).
Test Plan:
- Login and make sure new UI is on
- Go to / and see the new Dashcard view.
It should look similar to: http://cl.ly/image/2R2K28183h2G
- Switch to "Recent Activity" by using the toggle
It should look similar to: http://cl.ly/image/2l1V1h421b0d
- Dashboard Cards have quick links on the bottom to quickly let you
navigate to within a course. These include:
- Discussions (if available)
- Announcements (if available)
- Files (if available)
- Assignments (if available)
If activity has happened in Announcements, Assignments or Discussions, an
active state is given to the quick link that makes it look like this:
http://cl.ly/image/1d3Y0T3w1Q01
Change-Id: Ia07f7f2711d6e0625d26d7ea5d050ccb51dc0128
Reviewed-on: https://gerrit.instructure.com/53043
Reviewed-by: Jennifer Stern <jstern@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
Tested-by: Jenkins
QA-Review: Adam Stone <astone@instructure.com>
It turns out this setting is a thread-local variable, I'm guessing somebody
originally added it to debug specific requests.
test plan: This isn't really testable without running canvas inside of
Passenger. Basically, the "CacheStore" log lines should appear even when running
Canvas in Passenger.
Change-Id: I526514eeb1be15c70fecfaaf8acd6383e3c261b2
Reviewed-on: https://gerrit.instructure.com/56122
Reviewed-by: Kevin Blackham <kblackham@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
the rails asset pipeline expects fonts to be
in the 'fonts' directory of it's assets folder.
since we're using it to put md5s in our urls,
I'm moving it there
test plan:
* no changes,
* load page and ensure icons and fonts still work
Change-Id: Iec3a1b04259b1d74fbfa98f9ecc53d98e972e02a
Reviewed-on: https://gerrit.instructure.com/54805
Tested-by: Jenkins
Reviewed-by: Jennifer Stern <jstern@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@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>