CANVAS-171 create Canvas reports

provides a sfu_stats vendor plugin to provide stats for interested parties at /sfu/stats/

initial commit

force authentication

add restricted stats route, view and controller method

Signed-off-by: Graham Ballantyne <grahamb@sfu.ca>

rename foo template to restricted

Signed-off-by: Graham Ballantyne <grahamb@sfu.ca>

add list of courses

Rudimentary – hardcoded for term 1131. Baby steps.

Signed-off-by: Graham Ballantyne <grahamb@sfu.ca>

add body classes, css, js

make everything require login

get rid of time call

try to add a js bundle

spell coffeescripts correctly, you dolt

fix path to plugin

spaces matter, because it's fn' coffeescript :/

require jquery in the bundle

create a jquery_datatable bundle

remove jq_datatable from the coursetable bundle

add coursetable.js file

move courses table to a partial

include the jquery_datatable bundle

add jshint options because instructure's .jshintrc is monkeyballs dumb

fix indentation

export courseTable to the global context

move the jq_datatable and coursetable bundles to the courses partial

fix onload filter triggering

add more init options

add labels and check webct and credit-only boxes onload

add datatable images

add plugin css

fix js bundle

playing around with enrollment_counts

include js and css bundles in view

rejigger view table layout

add initial quick and dirty stylesheet

add a select box to the courses table view

clearfix all the things

change borders so that they're both on sfu_stats_main

add the sfustats stylesheet to assets.yml

add the sfustats css bundle to the view

change the DOM for the table on init

add handler for our own search/filter field

refine filter widget

add sfustats.scss file

remove datatables demo css

change table row colours

remove sorting styles

removed unused favico

desaturate table sort icons

fix indents and whitespace

turn filter into a modular widget

wigitize the css

add font files

add icon fonts to css

add icon to widget

change IDs to be consistent

change widget background color

pointerize the cursor for widget header

use sass variable for widget border radius

add widget header click handler

clearfix all the things

fix padding for collapsed widgets

Signed-off-by: Graham Ballantyne <grahamb@sfu.ca>

ugh jshint

Signed-off-by: Graham Ballantyne <grahamb@sfu.ca>

add jquery.cookie to the js bundle

Signed-off-by: Graham Ballantyne <grahamb@sfu.ca>

move widgets into their own partial

Signed-off-by: Graham Ballantyne <grahamb@sfu.ca>

fix routing for course route

add method to get current term

fix responders for json and html

add courses_for_term method

get active terms

get courses for current term in index method

move table to partial

use helper to build selects in filter widget

minor widget css fix, comments

add reloadAjax plugin to datatables

Just threw it in the main dataTable file because I didn't want to spend two days figuring out how to get requirejs to load it in the right order.

add progress spinner to table sDOM

use bProcessing

override sZeroRecords string

move table options to own object variable

load data via ajax on init

override fnServerData to use canvas' $.ajaxJSON

use tableOptions in init call

abstract out widget collapsed class

add term select handler

remove sfustats global

reformat html responder

customize json responder

DataTable expects data in a certain format - this customizes the JSON sent back so that it conforms.

remove jquery.cookie

comment-out graphs and quickstats headers for now

filter out deleted courses

remap workflow_state values

use new workflow_state values for filter checkboxes
Merge pull request #41 from grahamb/canvas-171-stats

CANVAS-171 create Canvas reports
fix workflow status filters to check starting from beginning of string
Merge pull request #42 from grahamb/canvas-171-stats

fix workflow status filters to check starting from beginning of string
Saving sandbox courses into separate sub account called 'Sandbox for Instructors'
Added ability to create multiple sandboxes using the course form

By default sandbox course title: "Sandbox - username - timestamp". Instructor can later change the title in the Course settings.
Merge pull request #43 from ronvs/course_form_multiple_sandbox

Course form multiple sandbox
change cap deploy.rb file to use gem symlink
Merge pull request #44 from grahamb/sfu-develop

change cap deploy.rb file to use gem symlink
bundle for ruby 1.9
Merge pull request #45 from grahamb/sfu-develop

bundle for ruby 1.9
try again with the Gemfile.lock for 1.9.3
Using SIS ID for Sandbox sub account as per API

According to https://canvas.instructure.com/doc/api/file.sis_csv.html, need to use the "account_id" which is the sis_source_id (i.e. SIS ID in the UI) when creating courses via SIS import.
Appending timestamp to Sandbox short and long name
Modify the sfu_api plugin to use the existing canvas oauth system.

override api_request? to always return true

check authorized_action in user method

force api routes to JSON

not all routes require authentication

remove unused require statements

switch from render :text to render :json

add 404s where appropriate

allow unrestricted access to /users/:id/terms (only)

downcase the sis_id, just in case

remove requires_auth_token? method

return to simple api_request? method

always return true

make .../user/:sfu_id/uuid return JSON instead of text
Merge pull request #47 from ronvs/course_form_multiple_sandbox

Course form multiple sandbox
Merge branch 'sfu-develop' of github.com:sfu/canvas-lms into sfu-develop
Merge pull request #48 from grahamb/sfuapiauth_inprogress

Modify the sfu_api plugin to use the existing canvas oauth system.
Merge remote-tracking branch 'sfu/sfu-develop' into sfu-develop
Merge pull request #46 from grahamb/sfu-develop

try again with the Gemfile.lock for 1.9.3