* 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>
it was because image_tag("blank.png") would put
a alt tag of "blank" on the image, which the screenreader
would always read.
fixes zendesk 5589
Change-Id: Ifbd200e17d40d6a5f45208f1adb6b49835ce3c5d
Reviewed-on: https://gerrit.instructure.com/2365
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
round one in moving all the yml files to the plugins system instead
Change-Id: Id255c15d14d27bce232606ece6bd00eb7e094749
Reviewed-on: https://gerrit.instructure.com/2339
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
the notification settings were poorly formatted, which
was making the start and end times get saved
incorrectly.
Change-Id: I7aae061d823a18f44e00a1e52806df1a26ed3807
Reviewed-on: https://gerrit.instructure.com/2353
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
if a teacher locks a file and tries to go to the
file details page, it says "hasn't been unlocked
yet", when really it should let them download
since they're a teacher.
fixes#3578
Change-Id: I42ea29d2803b8fa96fd50afd0adfdcf614702760
Reviewed-on: https://gerrit.instructure.com/2342
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>
Used to fail after 10 empty ajax responses. Changed to
not count it as a bad request unless it's already had
at least one good request.
fixes#3838
Change-Id: I5d41f52ca302f779507e2e93a03ebac342b97e2b
Reviewed-on: https://gerrit.instructure.com/2311
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@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>
also added option for plugins to provide validation on
their settings page. I need this for some of the
more complex settings we'll have to put together
as we move stuff from yml files to settings.
Change-Id: I78e6e3cd423e7ef7e15eafae86db8337f605be3a
Reviewed-on: https://gerrit.instructure.com/2247
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
2 things:
1. styled the file uploads for: thing so that it
is not so ugly.
2. if anything in the file list is a swf, when
they click it embed it inline with wmode: opaque
so that it doesn't appear on to of everything
(like the students dropdown in the speedGrader)
Change-Id: Ifcc1044d5256269f1f8b5549f1fb51fde088dba8
fixes: #3497 and zendesk #4562
Reviewed-on: https://gerrit.instructure.com/2192
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
If there are too many questions in a bank we show
just a summary for each question instead of the full
question to help render faster. With the OpenObject
fix it appears that we lost the names of the
questions on the teaser partial.
Change-Id: Iab0a673462dc23626bb63637d1ece90d15aa4a5e
Reviewed-on: https://gerrit.instructure.com/2289
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
- @stored_params was sometimes a hash but everything was still
expecting an open_object
- missed a place where the code now failed on nil
fixes#3804
Change-Id: I1b74dadc5956314ebbf1da0baa0dd2d41940aad7
Reviewed-on: https://gerrit.instructure.com/2283
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
The more general issue of sites setting X-Frame-Options still remains.
See #3834.
Change-Id: Ia659f85aa30877d1e7a7ce351d5856809a034d7d
Reviewed-on: https://gerrit.instructure.com/2300
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
The real fix for this is to make datetime_field idempotent, but that might be
a little trickier. This changes fixes this one specific case though.
(datetime_field was being called multiple times on the date field, which
caused it to include the date twice in the submitted value, which caused ruby
to misinterpret the pm.)
fixes#3818
Change-Id: Ifd24f202d25d7c2431409c1c7c3d285c81d7d990
Reviewed-on: https://gerrit.instructure.com/2292
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
both names were actually being used, this will make it
consistent.
fixes#3781
Change-Id: I6ef6c791d4dca5d2934fa83fd6afaf4b5b9625a5
Reviewed-on: https://gerrit.instructure.com/2267
Reviewed-by: JT Olds <jt@instructure.com>
Tested-by: Hudson <hudson@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>
my justification for removing all these tabs (i could be wrong)
* courses: the site admin account shouldn't have any
* users: users in the site admin account are kinda useless if they aren't
account admins, which you can configure in the settings tab
* statistics, outcomes, rubrics, sub-accounts, faculty journal,
terms, authentication, and sis import all make more sense in other
account tabs
the settings and permissions tabs are needed though, though everything but
account-level permissions are disabled
closes#3702
Change-Id: I4516b62ad57600870d9139ba19837325a39665f1
Reviewed-on: https://gerrit.instructure.com/2246
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
In /accounts/*/role_overrides
The value was being saved correctly, but the UI was incorrect and super
confusing. It'd always show a bold "explicit" green checkmark, rather
than the semi-transparent check/cross depending on the actual default.
refs #3711
Change-Id: Ide0a0603b6c820ea0ec94646c4327239d980b09c
Reviewed-on: https://gerrit.instructure.com/2194
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@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>
When we import quizzes from another system we leave
them all unpublished so the teacher can review
the import results before publishing. This adds
a "Publish Multiple Quizzes" button that will,
well, publish multiple quizzes -- at the same time.
fixes#3636
Change-Id: I9b762da0e938a0b2e1986e3bdb9a216dd5bc7142
Reviewed-on: https://gerrit.instructure.com/2175
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
- use real emails for students in turnitin when available
(requested by iParadigms)
- add note to assignment details page to say it's a
turnitin assignment
- add turnitin score icons to student grades page
- better logging if any errors happen during API calls
Change-Id: I0e1096583f600439245d975a178c7638d6c40fa3
Reviewed-on: https://gerrit.instructure.com/2137
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
It was configurable on the console before, but this adds it
to the account settings page as well. Sub-accounts are
able to set their own equella settings.
Change-Id: I76d909dcf9d581760c815a369793d86264148a1c
Reviewed-on: https://gerrit.instructure.com/2132
Reviewed-by: Brian Whitmer <brian@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
more can be handled in a plugin.
Change-Id: Ie8525625f8846c2312d15fab352850a6901744b6
Reviewed-on: https://gerrit.instructure.com/2142
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
We used to hide it by default in any setting where we knew the
wizard would pop up. But because we're storing a setting in
localStorage now we can't be sure it shouldn't be there.
Change-Id: I8bba90001a300e76d467c99f25747cf246fe3933
Reviewed-on: https://gerrit.instructure.com/2136
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
Next we will be extracting all this Instructure-specific stuff into a plugin
so this page is generic for Canvas CV.
Change-Id: I46200fb27a9c434d3b1983674043f6413b23a041
Reviewed-on: https://gerrit.instructure.com/2128
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: JT Olds <jt@instructure.com>
This was cause by the new default escaping behaviour
Change-Id: I5a6dc181dee5b8eaa2d94545f15c3f2a9903f059
Reviewed-on: https://gerrit.instructure.com/2126
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Bracken Mosbacker <bracken@instructure.com>