When cancelling out of creating a new quiz question,
it previously took two clicks to hide the form.
Change-Id: I0ff5ecc3b23ff5c2d716c5143d751bdb3070502a
Reviewed-on: https://gerrit.instructure.com/3820
Tested-by: Hudson <hudson@instructure.com>
Tested-by: Selenium <selenium@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
The option will still appear for existing quiz questions
that are set to that type, but no other questions will
be able to be created or changed to be "Missing Word"
questions anymore.
fixes#4091
Change-Id: Idc327fcce798f5d7f74583d7703954556edcf87d
Reviewed-on: https://gerrit.instructure.com/3819
Tested-by: Hudson <hudson@instructure.com>
Tested-by: Selenium <selenium@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
- can attach a grading standard to a course
- interface for managing standards at the course
and account level
- added final grade to gradebook page
- added final grade to student grades page
- added final grade to gradebook csv export
fixes#3868
Change-Id: I555b9f66b621d8967e893e50a671748267da9373
Reviewed-on: https://gerrit.instructure.com/3025
Tested-by: Hudson <hudson@instructure.com>
Tested-by: Selenium <selenium@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
there was an issue where if you inserted equations into multiple
textareas on a page (e.g. two or more quiz questions), it would
usually only save the first one correctly (it depended on where
the caret was when the first one was inserted)
Change-Id: I8973dbe3a2f9f043a1616a9d24b5f15f757a2fdc
Reviewed-on: https://gerrit.instructure.com/3770
Tested-by: Hudson <hudson@instructure.com>
Tested-by: Selenium <selenium@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
user_content will now work for any arbitrary RTE field, no matter if it
came from a column, a string nested three levels deep in a serialized
column, whatever.
let's call this technique "controlled XSS injection"
Change-Id: I56eed1f9b546ac7849dc60faa0f2b3801231131e
Reviewed-on: https://gerrit.instructure.com/3704
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
periodic jobs are no longer run as a separate worker process, and will
be processed by all job nodes. now there's no longer a concept of a
"master" job node, all job nodes are equivalent.
Change-Id: I7110872c7895453adfea5401d15db504dd73a850
Reviewed-on: https://gerrit.instructure.com/3686
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
and some work on delayed_jobs refactoring
refs #4226
Change-Id: I21a91a44368e77aef4a75e0d30cefe252a901691
Reviewed-on: https://gerrit.instructure.com/3640
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
This is permanent, if a stream item is updated it doesn't re-appear on
the dashboard. This is done by marking the stream item instance as
hidden, which means adding the hidden field to the two indexes.
Change-Id: Ifa544cef4ea2d46f4214e8317af4c9e3baed76eb
Reviewed-on: https://gerrit.instructure.com/3603
Tested-by: Hudson <hudson@instructure.com>
Tested-by: Selenium <selenium@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
There wasn't a good way in the interface to
disable a plugin other than the manually go through
and empty out all the text fields.
refs #4194
Change-Id: Ia095160323c907a43fb98f4f3fe85f1babf7eebc
Reviewed-on: https://gerrit.instructure.com/3544
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
this also refactors out the functionality of
filling the viewport with an element (but leaving
room for anything above or below that element).
also, I styled the Iframe container so it looks a
little better.
Change-Id: I608f745d01f09d6091a3f8ee04f43314c25feaf8
fixes: #4078
Reviewed-on: https://gerrit.instructure.com/2737
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
refs #4487
This consolidates our ErrorReport class with our ErrorLogging mechanism,
it's all in ErrorReport now and you call ErrorReport.log_error or
ErrorReport.log_exception to both create an ErrorReport object, and call
the hooks similar to what ErrorLogging did so that plugins for other
error handling mechanisms can be injected.
ErrorReport has a category field now, similar to how ErrorLogging used
to take a type. the /error_reports UI can filter by category.
The plugin interface was designed with Hoptoad integration in mind, but
it should be pretty general.
Change-Id: I59f7a0d44cf4b6215ad13ff92d30e1d1af607b74
Reviewed-on: https://gerrit.instructure.com/3577
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
This should allow open source installs to now set up
their own Facebook apps if desired. The facebooker
gem is no longer required and configuration now
happens in a plugin instead of a yml file.
fixes#4509
Change-Id: Iec76dc8c31f0ad0276e992319f368826baa4ccc5
Reviewed-on: https://gerrit.instructure.com/3545
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
We've made modifications to Kaltura's swf recorder that will
allow it to record either just audio or audio and video, with
both options now available from the same swf file. I've also
made some additional tweaks to the UI to help clean things up
in this interface.
Also included a fix for enabling storing to Kaltura over SSL.
Change-Id: Ia30b407ea1f0b049f7553d11195fceee75f23e7a
Reviewed-on: https://gerrit.instructure.com/3404
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
note that we still call fillFormData for replies. this just ensures we
don't bring along the previous body, attachments, recipients, etc.
Change-Id: I986813ae2f31dcaf55412c25073eff525431f1ad
Reviewed-on: https://gerrit.instructure.com/3484
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
before, the javascript would die because it is all
designed expecting there to be students.
Change-Id: I164d9cb7c3706b6afef810c9f054b3b367d9974b
Reviewed-on: https://gerrit.instructure.com/3463
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
turns out that in firefox, setTimeout(someFn) will pass a "lateness"
number value as the first parameter to someFn
http://benalman.com/news/2009/07/the-mysterious-firefox-settime/
therefore, first_time was always true and firefox looped forever for any
files sidebar with > 50 files
Change-Id: Iabb4981ae42eb810123df14cba9e837eb1f9f128
Reviewed-on: https://gerrit.instructure.com/3461
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
i.e. when "No student have been added for this course"
Change-Id: I739a227999268d4bccd804e70ed6075ed32665d0
Reviewed-on: https://gerrit.instructure.com/3457
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
We're keeping the rtmphost though. Turns out that you just need red5 0.7.0 for
this to work. (Newer versions are broken).
This reverts commit f58bfcd4d4.
Change-Id: I002c0e8633b91fce8539b3b5d5156419f8a3eff4
Reviewed-on: https://gerrit.instructure.com/3405
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
This will make it easier for anyone who wants to add more
menu items to the list on their own to also support hovers.
Change-Id: Ia6fdb551b32d5f65c92e71f1dd38750182e7d7d2
Reviewed-on: https://gerrit.instructure.com/3253
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Previewing seems to be broken against open source kaltura installations, so
it's being made not-automatic until we can fix it. This required switching to
the open source widget, since the one we were using didn't honor the
autopreview flag.
Change-Id: I12a248c1f467ddc5cf5ce2b29e7008109e0fa1ba
Reviewed-on: https://gerrit.instructure.com/3365
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
The big AJAX refactor in jquery 1.5 removed this httpSuccess helper
Change-Id: I376ed167911caa507f8155b6899438348af96e25
Reviewed-on: https://gerrit.instructure.com/3338
Tested-by: Hudson <hudson@instructure.com>
Tested-by: Selenium <selenium@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
* Don't show if it's not enabled
* Don't show error if it's never been published before
Change-Id: Ia4d04c0a59cbef26b9f3327bcbdae33ae7d33af5
Reviewed-on: https://gerrit.instructure.com/3349
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
Also set up styles and auto-hide-and-link for a table of example output.
refs #3903
Change-Id: I6071b3eb3fc3d7d762041b1a6e0c67914d5a7eb4
Reviewed-on: https://gerrit.instructure.com/3030
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Sections can be manually cross-listed into another
course. Teachers/admins can use the search tool to
find a course, or manually enter it's id/sis_id
to select it as a destination. Cross-listed sections
and also be manually un-cross-listed.
fixes#3759
Change-Id: I65ac76c80e7cf2703ba3c5d4c63801b6b7a348a1
Reviewed-on: https://gerrit.instructure.com/3173
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
Also bumped up the limit to 100MB, and started making it configurable via the
plugin.
Change-Id: Iee000afa2d6b68b48357931dfcd72ab3fde9ddf7
Reviewed-on: https://gerrit.instructure.com/3235
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
the input would be selected then immediately unselected
every other time you clicked on the input with its defaultValue being shown
Change-Id: Icc95314f0d34cf66f9d771895e11cd55b2b205f6
Reviewed-on: https://gerrit.instructure.com/3186
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
this makes it so devices without flash (eg: iThings) can
view documents inline.
Includes a few other changes:
* add UI to account/settings page to enable/disable 3rd
party services (i.e. google docs previews, twitter, linkedIn)
-- you can disable these previews there.
* use DRYer API for embedding scribd docs this also makes
them ready if/when we switch to ssl
* open documents on show_preview page in a modal window
instead of inline in the list (which would grow a
little wider every time you mouse over it) fixes#4004
* use all available screen real-estate on files#show page
(before it would only use 400px of height).
fixes#4007
Change-Id: I0bb4b10c75c2217f35e0361bef61ca0b602533a9
Reviewed-on: https://gerrit.instructure.com/2662
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
When editing an assignment, if the user's Canvas time
zone is different than their browser's time zone,
the date in the editor field wouldn't match the date
currently set for the assignment.
Change-Id: Ic6ce80af4cd83d6b1ae1f15ef028c3e0625d02ec
Reviewed-on: https://gerrit.instructure.com/3176
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
...and log to errorstack so I can take a look
Change-Id: I5d8598951bc37f336a1dd2cb7616e05c33743c94
Reviewed-on: https://gerrit.instructure.com/3044
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
this commit fixes a bunch of problems with importing
a whole export package and updates the UI
refs #3396
Change-Id: Ia344b385e06df2f08bb75878234a7712a036e4b3
Reviewed-on: https://gerrit.instructure.com/3085
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
This turns on the new kaltura video/audio recording
dialog. The dimensions for the video recorder were
off, so we changed the dimensions for both recorders
to match and be larger.
We also renamed media_test folder to media_record,
and added support for https thumbnails
fixes#3212
Change-Id: Ie2f89383639e676a541dad7237db0742c798af15
Reviewed-on: https://gerrit.instructure.com/2454
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
Previously we were not skipping submissions for assignments that the user had
chosen to ignore. This change also makes sure that grade is set on the
submission as well as score. (Grade is usually set when score is, but not in
all cases.)
Also got rid of the "lookup assignment by name" fallback in the importer. This
could cause weirdness when a teacher had a deleted assignment in the
downloaded gradebook that they'd recreated with the same name. We are more
strict now about matching the assignments to what's in the course.
Change-Id: I980db994f5df77104a07e81c629a5800f3b40972
Reviewed-on: https://gerrit.instructure.com/2992
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
* Include rubric_assessments inline, rather than linking to submission page
* Add link to "Show All Details", expands all rubric_assessments and comments sections
Change-Id: I93065908fa181a337a6497d5e3142324cfed6479
Reviewed-on: https://gerrit.instructure.com/3036
Reviewed-by: Brian Whitmer <brian@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
* Add modules to wiki sidebar
* Fix redirect from courses/:id/modules/:module_id to courses/:id/modules#module_:module_id, rather than just courses/:id/modules
* Auto-expand the specified module when you access modules/#module_:module_id
Change-Id: Iaa2ab30dc462fec753fe67928fb101212cff440a
Reviewed-on: https://gerrit.instructure.com/3021
Reviewed-by: Brian Whitmer <brian@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
this just fixes part of the problem, but it is still
super slow to init if there are a lot of files. step
2 will be to really make it faster
fixes#4158
Change-Id: Ic26ccb3d22bf28f8c70c666ddcb0eb8e0c9912fb
Reviewed-on: https://gerrit.instructure.com/3006
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
cause it orientationChange does not fire the
resize event handler
Change-Id: Ia370cc030309c3589f9070dbcc8c3a3ba44d32b4
Reviewed-on: https://gerrit.instructure.com/2998
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
This solves a few problems.
- will make it easier to support HTML5 video playback
for systems that don't handle flash
- first step toward making it possible for canvas
installs to migrate from one kaltura instance to
another by making a place for us to put some
additional logic if necessary
- third parties getting data from us are no longer
forced to find and handle media comments in order
for them to work, since this adds a fallback url
refs #4083
Change-Id: I729aaf88378a30bda2126bfca2b2a48ec14bb386
Reviewed-on: https://gerrit.instructure.com/2901
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
Quiz statistics weren't supported for all question
types. Also added a csv export of the raw quiz
results data, with an attempt to make the data
meaningful even for complex question types.
fixes#4134
Change-Id: I55d1a21eed1cd6813fe0500190a1c0cc5fc038ab
Reviewed-on: https://gerrit.instructure.com/2850
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
proactively found and fixed varchar(255)'s where we relied on mysql's
silent truncation. added validations for places where we want to
enforce these limits
made it so you can reuse titles/urls of deleted wiki pages, and added
validations to ensure sane urls and prevent orphaned pages
Change-Id: I15bcc0c7a751efba1a0f7548e9989ad2ea1792bf
Reviewed-on: https://gerrit.instructure.com/2935
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
The xhr request was sending an empty body, which was
failing in rack before ever even getting to rails.
fixes#4077
Change-Id: I894419a5d0700a6fc8adfa752203cc2689481337
Reviewed-on: https://gerrit.instructure.com/2904
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
Teachers can specify that before students see any
messages in a topic they need to post at least once
in the topic themselves. This is used for
assignment topics or to help encourage students
to think for themselves instead of just posting
"what he said".
fixes#3871
Change-Id: I946b71ec47bfe135f06faff68598c6f19c088a27
Reviewed-on: https://gerrit.instructure.com/2370
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
The link in the gradebook to see information should link to the
speed grader instead of to the submission grades page, which has
less information.
fixes#4115
Change-Id: I6e9beae2d0e4ead7f0da0e025dcc5137d98893d3
Reviewed-on: https://gerrit.instructure.com/2837
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
the problem was that it was using a global js variable
'id_maps' to know which student was on which row.
when I removed rows not in this section, the rows
would be off.
Change-Id: Ifb4813cae5074c351a16767e1bda4dbaf2092b61
Reviewed-on: https://gerrit.instructure.com/2856
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
Also did a couple other tweaks:
* Fixed the "Time" display when reloading via ajax (wasn't checking for the
right workflow_state
* Hide the "Attempts" column on quizzes that have an unlimited # of
since it doesn't contain any useful data (always "--").
Change-Id: I21182193005d7415594b9c0531c03d619a31c262
Reviewed-on: https://gerrit.instructure.com/2857
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Each topic can now have its own podcast stream. Teachers
have to manually turn on the podcast for the topic, and
can specify whether student comments show up in the stream
or not.
fixes#3538
Change-Id: I19b1b44fc2eec864cfeb298163ef34a0b0181067
Reviewed-on: https://gerrit.instructure.com/2369
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
If a page hasn't finished loading and a user clicks on a
"#" link (javascript-enabled), then it'll jump them to
the top of the page unexpectedly because the listener
isn't ready yet. This commit will catch all those early
clicks and replay them after dom ready.
fixes#4109
Change-Id: I19a0b8a56e39eead693764d660ed6197ff6b0528
Reviewed-on: https://gerrit.instructure.com/2793
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
Question banks can be aligned to outcomes that
are part of the same context. Whenever students
take a quiz with questions from the bank they'll
get evaluated for the linked outcomes based on
the points they got for each bank question.
Also fixed a bug which may or may not have existed
before this commit that unexpectedly deleted quiz
submissions when a user tried to re-take a quiz.
refs #3317
Change-Id: I744af3915672a5e260b078503e0bc648c238eca9
Reviewed-on: https://gerrit.instructure.com/2641
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
I will add my patch as a separate commit
(if it is still needed)
Change-Id: Ib6f90acdf9da8ef52cfeca9005eedabb54b31feb
Reviewed-on: https://gerrit.instructure.com/2809
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
This wasn't supposed to have been disabled, but somewhere
along the way it got turned off. Should be back on now.
fixes#4079
Change-Id: Ib6cd7ee7a25a92f62cc4c425b90b04247e8c7ea9
Reviewed-on: https://gerrit.instructure.com/2769
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
For pass/fail assignments the gradebook was not properly
remembering the set value if you clicked the word bubble
to add comments to the submission from within the
gradebook. This should be fixed.
fixes#4002
Change-Id: I29837e3063e365d9aa1b80f9f0062748a4b73fb7
Reviewed-on: https://gerrit.instructure.com/2740
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
The page didn't have a way to know how many points questions were
worth when they were rendered using the question_teaser partial.
fixes#4088
Change-Id: If435dc7d6345fa71dd6db673fae5618426c3ffe6
Reviewed-on: https://gerrit.instructure.com/2767
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Accounts can specify a destination email address or URL
endpoint that will receive messages as error reports are
created if the feedback button is enabled. This could
be configured before, but it wasn't straightforward
how to go about doing it.
fixes#3410
Change-Id: Ibd28ebf14c876fb216b14d3d56e622fc009aa2ba
Reviewed-on: https://gerrit.instructure.com/2739
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
each of these will only be enabled if the browser
supports it, if not no problem.
Change-Id: Ie481737121d515a0a5d7c89aa8d4e89e78170901
Reviewed-on: https://gerrit.instructure.com/2788
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
- external tools can be added on the course/account
settings page
- external tools can be linked to from within modules
- clicking a tool in a module will load a new page
with the tool embedded in an iframe
- see context_external_tools for standard procedures
on retrieving settings for a specific link
fixes#4013
Change-Id: I8aa1934f8deac9af26d74036162b34fd1c4242e1
Reviewed-on: https://gerrit.instructure.com/2601
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
If there are more than 5 To Do items, it says "show more...".
If you clicked the link it would show up to 15 items. If there
were more than that it would then show a "show all" link that
did nothing. This link has been replaced with a "less..." link
that will shrink the list back down to 5 items.
fixes#4025
Change-Id: Ic9ef88dc62ccb0174ca402a8c8d102bd6967aa46
Reviewed-on: https://gerrit.instructure.com/2636
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
After an assignment is created, it will add the hash to the return_to url, so
you end up with two of them. They just end up growing and growing as you
create new assignments, eventually hitting the url length limit. This strips
the hash off the return_to url before adding a new one.
refs #4041
Change-Id: Ia1eac98c1c152191e9bf41b85d649408ad6e87c6
Reviewed-on: https://gerrit.instructure.com/2689
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
If the next button is pointing to an item in the
same module instead of the next module, then the
link was incorrect.
fixes#4008
Change-Id: Iaa52567c417a52e2de0d47e7df70b7cff711ee68
Reviewed-on: https://gerrit.instructure.com/2638
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
this adds rubric configuration for forum assignments
and graded quizzes
refs #3317
Change-Id: Ide6f95a934730c6742fed0a2dff98462b1fbc263
Reviewed-on: https://gerrit.instructure.com/2540
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
worked before, but now attachments dont have a user_id
Change-Id: I5799f62331f9ebd696639a811b57d3b574de37f5
Reviewed-on: https://gerrit.instructure.com/2586
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
the gradebook page has a progress bar which currently
waits until all data for the gradebook is loaded before
hiding the progress bar and showing the datagrid.
Seems like it makes more sense to show the gradebook
sooner and just populate it as data comes in so at
least it's partly usable. This is a minor change right
now, but it'll make it possible to do more lazy
loading of the gradebook in the future.
fixes#3955
Change-Id: Ie4f486bdc0dd1373d4119822ec706fcdbd329b2f
Reviewed-on: https://gerrit.instructure.com/2501
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
It looks like all the formulas were getting concatenated
into a single formula on save.
fixes#3980
Change-Id: Ibefc62621b684de180ca15567694bda0f5a8221d
Reviewed-on: https://gerrit.instructure.com/2542
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
- got rid of a bunch of rescue statements
- gradebook remembers hidden columns
- attendance columns are hidden in the gradebook
by default, with option added to show them
refs #3263
refs #3264
Change-Id: I786ad2c8d6795d4de3f6d279cde601d95d77091a
Reviewed-on: https://gerrit.instructure.com/2500
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
there's a user_content enhancement that tries to prevent
giant images from messing up the page layout, but it
wasn't working for quiz content.
fixes#3300
Change-Id: I3a7c0dec84fe0bb552c5a90b5ec2fb7c53c599fc
Reviewed-on: https://gerrit.instructure.com/2498
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
if you try to delete an assignment group that still has
active assignments in it, it'll pop up a dialog where you
can choose either to delete the assignments in the group
or move assignments in the group to another group.
fixes#3403
Change-Id: Ie7bc0617ac5b639c946e347950e7d550b27ca384
Reviewed-on: https://gerrit.instructure.com/2495
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
also did a code cleanup while I was at it
fixes#3697
Change-Id: I5bd161bda243a33aa1666fce48d6f58dfca061e4
Reviewed-on: https://gerrit.instructure.com/2150
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
we no longer support this functionality, but the option
never got removed.
fixes#3944
Change-Id: Id68be09ea0f7636873dd641e608f31c74caf68fa
Reviewed-on: https://gerrit.instructure.com/2477
Reviewed-by: Brian Whitmer <brian@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
the link really was kind of hard to find
fixes#3227
Change-Id: Ia6ee04e944336f60cd2061ec9a44194c46511e31
Reviewed-on: https://gerrit.instructure.com/2476
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Mark Suman <marks@instructure.com>
before we were recording these values but not doing
anything about it. This commit starts scheduling
delayed_jobs to activate/conclude enrollments
in the background when dates pass.
it does not conclude/publish courses/sections
automatically, though. if we want that to be
automated based on dates then I think we should
do that in a separate commit.
fixes#3356
Change-Id: Id94356fbc5b82196dd041fdb250607a7633cee9f
Reviewed-on: https://gerrit.instructure.com/2431
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
there's was a lot of unnecessary database calls going
on, should be a little faster now.
fixes#3939
Change-Id: I9a43e0d801bc632d16248ad92b7c9ff16d1673eb
Reviewed-on: https://gerrit.instructure.com/2484
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
on empty "Assignments" screen, click "add assignment" then
delete it, the "add assignment" link doesn't come back
also fixed scrolling on assignments page to feel less
jumpy when you're editing stuff
fixes#289
Change-Id: Ia0de43b768b851ef3ef2de68b861ab0b8b531095
Reviewed-on: https://gerrit.instructure.com/2441
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
When two media comments were in the same html block, we were accidentally
finding the media_id for the first one when building the media comment
thumbnail.
Change-Id: I31ce651e1a7654ed9ede6eca7c3abb8d70f7a2bc
Reviewed-on: https://gerrit.instructure.com/2462
Reviewed-by: Brian Whitmer <brian@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
the root of the problem is when we set the width of the
$row for the header and each row in the table. each of
the .cell's are float:left'ed and so we need to set a
total width of the container. when you zoom out the
border width of 1px did not shrink so there was no room
in the container to float:left the last cell so it
wrapped to a new line.
Change-Id: I01d3b4e04edc3befff3e4366a5b7f5afe5672703
fixes: #3891
Reviewed-on: https://gerrit.instructure.com/2409
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
problem with scoping. The $editor value was being set
the first time the plugin was initiated and then never
updated, which means these plugins could only insert
content into the first editor loaded.
Also fixed the $.indicate to scroll and highlight
as expected.
fixes#3725
Change-Id: Idc1f6b5692631b6e05c8233c2774d714312d247b
Reviewed-on: https://gerrit.instructure.com/2438
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
* speed grader now requires hidden student names on anonymous surveys
* quiz moderation no longer presents student names
* anonymous surveys no longer provide a list of students who have not taken
the survey
closes#3793
Change-Id: I7d48766600522b36379e8ae6d2a72486d2ce3ed7
Reviewed-on: https://gerrit.instructure.com/2407
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
Since plaintext fields are stored raw in the database, a lot of the previous
escaping/unescaping behavior in quizzes has changed.
Change-Id: I299fa7979a30b1efa8944c6df7150b82980c47c5
Reviewed-on: https://gerrit.instructure.com/2403
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
These issues arose from a change in the way we are storing plaintext fields in
the database. Previously they were stored html escaped, and now they're not.
Fixed areas include:
* folder names in file manager
* new course sub-account dialog
* grading rules for assignment groups
* event titles in calendar
* content locks page
* outcomes inside rubrics
* course listing while writing feedback
* copying file between contexts in file mgr
* sis import screen logs
* file upload options in wiki sidebar
Change-Id: Iab8c8deb81fdfd9062570288218db4180204a497
Reviewed-on: https://gerrit.instructure.com/2406
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
did this because it was a waste to send it to
every single page view.
plus I hated seeing it in the firebug and web
inspector
fixes: #3874
Change-Id: I3e25cb78cddf9f8f897c81014bb07ca77ccfc361
Reviewed-on: https://gerrit.instructure.com/2363
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
while I was tyring to find the cause of a zendesk
ticket I had to grock this, while I was at it I DRY'ed
it up a little.
Change-Id: Ib95a55031625dfaa635f8b3ca2a4d6c1b6224283
Reviewed-on: https://gerrit.instructure.com/2364
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
if they can only see 1 section (possibly the default section),
they do not get the option to change it.
they can only change sections they are allowed to see
the setting is stored in $.store.userGet and is keyed
off of the course too so it will be remembered for a
given user/course/browser combo.
if the page loads and tries to show only a section,
but that section does not have anyone in it, or they
cant see anyone in it, it will alert() reload to show
all sections.
fixes#3653
Change-Id: Ie6de238ac8e1d5367ae8ab961aaa0fcc1ca66c1e
Reviewed-on: https://gerrit.instructure.com/2324
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
now one of course_id/section_id is required for enrollments, but not both
Change-Id: I4ebd19ac05988bf3eeffcb846d8bc1fafce73b40
Reviewed-on: https://gerrit.instructure.com/2316
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
Chrome on a Mac doesn't support sendAsBinary, so this
code was failing.
fixes#3788
Change-Id: Id3475adf38a7a0df9e4aaa1cb17165bfe52a91e1
Reviewed-on: https://gerrit.instructure.com/2323
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
On the outcomes page if you clicked "show details" for an
outcome, it would always say "0 artifacts" even if there
were artifacts. The problem is it wasn't actually looking
for artifacts, it was looking for something else. Also
fixed the pageless code on the outcome details page to
correctly do an infinite scroll.
fixes#3823
Change-Id: I6e0fd06ea70e5915ee5cdef23d4851ecd6a285fc
Reviewed-on: https://gerrit.instructure.com/2318
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
On large quizzes there were problems both while
taking and editing the quiz because of all the DOM
elements. Part of the solution was using more event
delegation, and part was rendering smaller
partials when editing quizzes with lots of questions,
and then loading the full details of only the
questions that the user wants to edit/view.
fixes#3771fixes#3817
Change-Id: I73aabe79323c1879d7fc8985d1709751271730f2
Reviewed-on: https://gerrit.instructure.com/2290
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
observers can now be linked from either the course
details page or the user details page inside a course.
Fixed some bugs in this and made the code a bit
cleaner.
refs #3315
Change-Id: I004bc11d823fffcc76ab5b74ee235979248cae4d
Reviewed-on: https://gerrit.instructure.com/2263
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
also some UI fixes for the plugin page
Change-Id: I161c458756c20e034c29d4515801fd9f6427aa53
Reviewed-on: https://gerrit.instructure.com/2093
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
account admins can create "Alerts" from the account
settings page that show up as sticky messages on the
user dashboards. The alerts stay until the end_at
date, or until the user clicks the "close" link. If
you add an alert to the site_admin account then it's
considered a global alert and will go to all root
accounts.
fixes#3738
Change-Id: I47e6eaf717145af24d847d4387e0ad5c36800094
Reviewed-on: https://gerrit.instructure.com/2293
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
by default observers don't have messaging permission. Now
you can give them messaging permission, but if they don't have
roster access then they can only message the teachers. If
they are also granted roster access then they can message
anyone in the course.
refs #3315
Change-Id: Ic9d867a964d3231fedd97547dadd645a6eb85308
Reviewed-on: https://gerrit.instructure.com/2265
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
due_at used to mean "the time after which you could no
longer start taking a quiz" but that's not really what
"due at" means. We changed it instead to now mean what
it implies, "the time at which all quiz attempts must
be completed."
So if you start taking a 4-hour quiz one hour before
it's due, you'll only get one hour to take it.
The other part of this is fixing the timer to support
switching from counting up to counting down. When an
assignment is untimed but due, say, two months from now,
we should count up on the timer. When we get close to
the due date, though, this should change to a countDOWN
instead. Right now this switch is set to happen at
12 hours from the due date, and will flash a notice
saying "12 hours left".
fixes#3727
Change-Id: I1eec558de61e2500da88f4127b7e691e7aa5c205
Reviewed-on: https://gerrit.instructure.com/2182
Reviewed-by: Brian Whitmer <brian@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
Teachers can specify an IP filter for a quiz, which
means students are only allowed to take the quiz
when their current computer's IP address matches
the specified filter. The initial request to start
taking the quiz and any subsequent requests to
backup or submit the quiz attempt must all come
from a valid IP address.
Admins can pre-define named filters
so that teachers don't have to manually enter
filters all the time. They can instead find them
from a provided list.
Change-Id: I59b6d8ddd31409fc9bd150ed695935ad2f458f86
Reviewed-on: https://gerrit.instructure.com/2167
Reviewed-by: Brian Whitmer <brian@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
- added a moderation link on the quiz page
- moderators can see current quiz results for students
- moderators can add time to a current quiz attempt
- moderators can manually unlock a quiz for a student,
which means the student can take the quiz even if
it's locked for everyone else
- moderators can give a student extra time for every
subsequent attempt of a quiz
- moderators can give a student extra attempts on a quiz
- moderators can also update these settings for multiple
students at the same time
Change-Id: I31c34097fc6e19d8c6e377a6059568e591ffbab8
Reviewed-on: https://gerrit.instructure.com/2166
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
It looks like at some point we switched from an "upload" to an "attachment"
section type, which broke this
Change-Id: I49f1a45ad5b39acd00376504962b9841264d4bd0
Reviewed-on: https://gerrit.instructure.com/2227
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
first of all they were backwards, so if you set unlock_at
it would act like you'd set lock_at. second of all,
it wasn't actually setting the display date correctly
so it would say "will be unlocked at " with no date.
fixes#3714
Change-Id: I4346247d83a3cf132b8483a2f8c8220f70e7ab11
Reviewed-on: https://gerrit.instructure.com/2206
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: JT Olds <jt@instructure.com>
if you dragged a module item below another one and then
indented it, it would jump up to where it used to be
in the list.
fixes#3716
Change-Id: Ic3c5cbdc028f4976bbc55e006a454c4a266f48bf
Reviewed-on: https://gerrit.instructure.com/2204
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
this broke way back when we did the base_ar_class
stuff, but nobody noticed until now, because
so few people actually have bookmark services
registered.
Change-Id: I6c264de3e982df36690803c149fac145e7d690f8
Reviewed-on: https://gerrit.instructure.com/2216
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
If you add a submission to an eportfolio's content and
then try to drag that submission page to somewhere else
on the page, suddenly the page is full of white space
and the draggable jumps to the bottom of the page.
fixes#3734
Change-Id: I3397519e30b2dfa5e63e2cb9934c8310186b05b4
Reviewed-on: https://gerrit.instructure.com/2184
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>