Commit Graph

25095 Commits

Author SHA1 Message Date
Jon Jensen 8c2d97f436 allow html answers for multiple-choice/multiple-answers, closes #4206
Change-Id: I49626c4d2f24ac73336dba006f01fdc83792eda2
Reviewed-on: https://gerrit.instructure.com/3155
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
2011-04-21 13:23:23 -06:00
Zach Wily 155eb1cb3a Merge "Merge remote branch 'origin/ims_cc'" 2011-04-19 12:15:16 -06:00
Jon Jensen 8c0651a556 gracefully handle bad decrypt of plugin_settings
Change-Id: Ie2b1609592e5f70866b7416e2ee982eae98cf08d
Reviewed-on: https://gerrit.instructure.com/2974
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-19 09:14:28 -06:00
Zach Wily 08108711ed Merge remote branch 'origin/ims_cc'
Change-Id: I7581cfa8cce0a49ab83fdd84c3e193996f44d7b6
2011-04-19 08:11:52 -06:00
Bracken Mosbacker 9a93fd4f21 try to find attachment id for relative urls on import
closes #4281

Change-Id: If0a6fb5dc2cd55e103e3b9897c82eb42ea01e43e
Reviewed-on: https://gerrit.instructure.com/3142
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-04-19 08:10:47 -06:00
Brian Palmer 27adf9b16a Merge branch 'ims_cc'
Change-Id: I7fc8590ab50d9ec062fd3cf609aa11f034ed582f
2011-04-18 10:20:36 -06:00
Bracken Mosbacker 9c058e377d import canvas cartridge discussion topics
refs #3396

Change-Id: Ie50ab50575e386c523be2e374fd9ae4b088a1129
Reviewed-on: https://gerrit.instructure.com/3121
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-18 08:09:56 -06:00
Bracken Mosbacker 326bd14c28 added wikis and assignments importing for canvas cartridge
refs #3396

Change-Id: Ie3e62556fa6ad3b5f4b460040359fc3a6ac09db2
Reviewed-on: https://gerrit.instructure.com/3104
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-18 08:09:51 -06:00
Bracken Mosbacker cf6908801a fixes to make importing a canvas cartridge from ui work
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>
2011-04-18 08:09:34 -06:00
Bracken Mosbacker 61771933bb importing more canvas export objects
This imports the syllabus, rubrics, and modules

refs #3396

Change-Id: Ie7802aa5a064f8cee471af9bfe0a23bf224831a6
Reviewed-on: https://gerrit.instructure.com/3064
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-18 08:09:28 -06:00
Bracken Mosbacker 84c048e5e6 importing more canvas export types
Added external feeds, grading standards, and learning outcomes

refs #3396

Change-Id: I138f22a6d5793e21ba49388e16be75d5f80f0e12
Reviewed-on: https://gerrit.instructure.com/3043
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-18 08:09:23 -06:00
Bracken Mosbacker bb8bc24cd7 start canvas cartridge importing
started the framework for importing the canvas flavored
common cartridge packages. There is also some minor
refactoring of the export step to allow for easy testing
of both exporting and importing

course settings, assignment groups, and external tools
are imported and tested with this commit

refs #3396

Change-Id: I4e8a2ebfc9df7e31f8859b189fea23f9584d7ef4
Reviewed-on: https://gerrit.instructure.com/3042
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-18 08:09:16 -06:00
Zach Wily 9823cbe480 make the sis verification step check for global section id uniqueness
Change-Id: Ic04b193bcc8835771fcac7ff8c052322b1a49863
Reviewed-on: https://gerrit.instructure.com/2906
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: JT Olds <jt@instructure.com>
2011-04-17 15:28:35 -06:00
Zach Wily 6927106b52 don't create 2 assignments when cloning a quiz; fixes #4274
Change-Id: I447959d4e236967df7b2e95345a4dc79b8697c38
Reviewed-on: https://gerrit.instructure.com/3128
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-17 15:28:17 -06:00
JT Olds 6ec333f475 xlist sis importing tests with fixes
Change-Id: Ied4b5fe75984bd399f294041e80935bd86671e0e
Reviewed-on: https://gerrit.instructure.com/3112
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-04-15 15:36:18 -06:00
Zach Wily df3d4c6351 use something more secure than UUID for our unique tokens; fixes #4264
Change-Id: I407b50b98e44eab4e341b596ebefe9f35af3dc37
Reviewed-on: https://gerrit.instructure.com/3097
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: JT Olds <jt@instructure.com>
2011-04-15 10:54:47 -06:00
Zach Wily a57614c543 be sure to skip submissions for skipped assignments; fixes #4163
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>
2011-04-13 21:26:11 -06:00
Brian Whitmer eaaf378b39 assignments getting deleted on change to submission_types
when you change the submission type for an assignment from
discussion_topic or quiz to something else and save, it
looks like the assignment is getting deleted.

fixes #3981

Change-Id: Ic9951b35afe9dc2d28eeb9a8f4ac0ff8c8bcaf13
Reviewed-on: https://gerrit.instructure.com/2543
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: JT Olds <jt@instructure.com>
2011-04-13 17:22:00 -06:00
JT Olds 3a171d27d2 renaming final_grade to final_score in relevant places. adding computed_final_grade
Change-Id: I09cfecc6ec075b1b45e872a6a1f2efa7e4bd63b9
Reviewed-on: https://gerrit.instructure.com/3034
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
2011-04-12 12:58:28 -06:00
Mark Suman 88242820c8 added grade_matches_current_submission to submission api response
fixes #4240

Change-Id: I3e6b6e0406f815fb50972bd606794116907ac848
Reviewed-on: https://gerrit.instructure.com/3033
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-12 12:45:15 -06:00
Zach Wily 6fdea80b52 gradebook importer: handle "Points Possible" row being anywhere; #fixed #4162
Also added an explicit parse! method and made the processing of the CSV single
pass.

Change-Id: I0fdfefa5bae1c864d35da1c7975aa7691770a3e2
Reviewed-on: https://gerrit.instructure.com/2991
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-09 09:41:29 -06:00
JT Olds 40cff6f0d5 sis import api
Change-Id: Ica7fa02758e5e7ad32c878951aff8b115685ac82
Reviewed-on: https://gerrit.instructure.com/2960
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-08 15:45:57 -06:00
Cody Cutrer 6283c3a7fc Delegate to CAS for auth. Closes #4130
Change-Id: I6bd3ef11314f75dd14b2fa9d835ecc40e43b5f3b
Reviewed-on: https://gerrit.instructure.com/2994
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-08 15:17:39 -06:00
Brian Palmer 37b6049934 api call for getting course sections, optionally with students
refs #4156

Change-Id: I8d7da2073b6063e14727c7faa6ba90e1809efa81
Reviewed-on: https://gerrit.instructure.com/3004
Reviewed-by: Brian Whitmer <brian@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-04-08 14:50:54 -06:00
Brian Palmer b3e8d3b50a fix the mass assignment error raising option
Change-Id: Idc527a3d845f912fcbef56d336b5326e30c7964a
Reviewed-on: https://gerrit.instructure.com/2993
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-04-07 16:00:55 -06:00
Brian Palmer 3cf394644e api for retrieving submissions by student, refs #4156
Change-Id: Iffa4527ff11fcbb0ca798b1bf3c7572826648174
Reviewed-on: https://gerrit.instructure.com/2983
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-04-07 14:12:26 -06:00
Jon Jensen ce0040958e BigBlueButton integration, refs #3319
Change-Id: Iaa38c753592f1b39d272487b3c0f231646168014
Reviewed-on: https://gerrit.instructure.com/2962
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
2011-04-06 16:15:30 -06:00
Brian Palmer 785d301610 don't return submissions for un-enrolled students in the api
fixes #3959

Change-Id: I505dea4260c586cc1033f7a5600c350d67af989f
Reviewed-on: https://gerrit.instructure.com/2949
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-04-06 10:32:09 -06:00
Zach Wily f814deaea4 fix grading previous versions of in-progress quizzes, again; refs #4176
Change-Id: Ie060d6cf6c267996ba597baccd345ac400e76655
Reviewed-on: https://gerrit.instructure.com/2957
Reviewed-by: Brian Whitmer <brian@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-04-05 14:21:44 -06:00
Zach Wily 65a91deb78 fix grading previous versions of in-progress quizzes; refs #4176
Change-Id: I659f0c846d82a1dd257673dd56a3e3184cfe56fc
Reviewed-on: https://gerrit.instructure.com/2956
Reviewed-by: Brian Whitmer <brian@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-04-05 13:02:43 -06:00
Jon Jensen c6b7a45ad8 string validations/fixes, closes #4154. wiki fixes, closes #3973, #4168
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>
2011-04-05 11:22:50 -06:00
Zach Wily a43e1d442f don't send delayed posted topics to stream prematurely; fixes #4175
Change-Id: I32bc9871c7f0a9db29f8269ddbba595ea7b53ba2
Reviewed-on: https://gerrit.instructure.com/2954
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-04-05 10:27:51 -06:00
Brian Palmer 337b13b778 refactor assignment#assign_peer_reviews
The previous implementation had more random behavior, and would
partially give up after trying 5 times to reach an acceptable solution.
This new implementation is deterministic in deciding on the set of
possible candidates to assign from -- the only randomness is in choosing
from this pre-verified candidate set.

Change-Id: I27d247569de1dc8a6b00471c80d0287cab0da84d
Reviewed-on: https://gerrit.instructure.com/2930
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
2011-04-01 11:03:34 -06:00
Zach Wily fc0bf53cfc fix quiz cloning when the quiz has a link to itself
Change-Id: Ia212a59ae86303ff1fe7c5d8b173b4e229f83b70
Reviewed-on: https://gerrit.instructure.com/2927
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-03-31 14:45:40 -06:00
Zach Wily dc0d205b89 make sure to get the right section on sis import
Change-Id: Ie08fbaea4babc960bdb3a859b14282eaaf4b27b9
Reviewed-on: https://gerrit.instructure.com/2887
Reviewed-by: Brian Whitmer <brian@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-03-30 14:20:44 -06:00
Brian Whitmer 5e9f3eaba7 option to require initial post before seeing replies
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>
2011-03-29 22:56:45 -06:00
Brian Palmer b1cb93095d optionally include needs_grading_count in the courses api
closes #3958

This will be pretty slow for somebody who is a teacher in a lot of
courses, but I guess it's not any worse than the dashboard. We might
want to cache this eventually.

Change-Id: I26d68bc285fba0747cdc960a67b75e0329acb6cf
Reviewed-on: https://gerrit.instructure.com/2864
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-03-29 15:25:46 -06:00
Brian Palmer ea66fb1881 include needs_grading_count in assignments api json, if authorized
refs #3958

Change-Id: Ia42b08303f62912e6aceb2f07529c561a1bc3686
Reviewed-on: https://gerrit.instructure.com/2862
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-03-29 15:09:38 -06:00
Brian Palmer c14f66f81a correctly truncate text that contains MB chars, fixes #4135
TextHelper#truncate_html doesn't appear to have this issue, because it
always splits and truncates on word boundaries (using String#split()).

Change-Id: I8bf301055818d7080d8e12859707458ba41e89f4
Reviewed-on: https://gerrit.instructure.com/2851
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-03-29 10:07:59 -06:00
Brian Palmer 58aa885ad8 provide preview_url in submissions api response, closes #3957
I also had to change the api spec stuff a bit, which caused some changes
in other specs.

Change-Id: I62e87fa4c9e79716455ca47ca342c9eec86ddc39
Reviewed-on: https://gerrit.instructure.com/2848
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-03-29 08:49:50 -06:00
Brian Whitmer 76bfff3157 topic podcasts
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>
2011-03-28 14:32:16 -06:00
Brian Whitmer b7f1d5ae18 align question banks to outcomes
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>
2011-03-25 15:39:56 -06:00
Brian Whitmer d20eede2df move default error reporting to a plugin
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>
2011-03-24 13:21:31 -06:00
Brian Whitmer 9d131ea836 basic lti support
- 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>
2011-03-23 16:58:11 -06:00
Jon Jensen ef72d6fde4 Merge branch 'dev/postgres' into master
Conflicts:
	config/initializers/active_record.rb

Change-Id: I625080d12e07122351e22d15b0864572c2ea09c5
2011-03-23 10:56:46 -06:00
Jon Jensen 63d09992d4 assignments.needs_grading_count counter to speed things up, closes #3945
Change-Id: I3748a7e0551e49720d06be302df29a8e33528007
Reviewed-on: https://gerrit.instructure.com/2573
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
2011-03-23 10:36:15 -06:00
Jon Jensen f745f40073 Merge branch 'master' into dev/postgres
Conflicts:
	app/models/user.rb
	config/initializers/active_record.rb

Change-Id: Idc3b52dad873146efbb9268ecac28cac840f115e
2011-03-22 16:23:04 -06:00
Zach Wily 6bfc240bd3 fix selenium test server
First, we were still occasionally getting shell expansion, so switching to the
other form of Kernel#exec fixes that. Second, we don't include ruby-debug in
the test modules (on purpose - we want tests to fail on an errant debugger
line left in.)

Change-Id: Ic18c73d248fd3d254112d79728c0bb824e95045e
Reviewed-on: https://gerrit.instructure.com/2666
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-03-15 22:51:26 -06:00
Brian Palmer cdd7bee68e make the root "/" url dashboard, rather than login
This avoids a slew of redirects when a logged-in user hits "/". I've
added a 301 redirect from /dashboard to / for backwards compatibility.

If they're not logged in, they'll get redirected to /login. So the
visible behavior stays the same, it'll just be snappier for already
logged in users.

Change-Id: I1074d3e1f61033c9081b77cc2441211624ee2ec2
Reviewed-on: https://gerrit.instructure.com/2656
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
2011-03-15 15:19:14 -06:00
Zach Wily a78dad816e start quiz building selenium tests
Change-Id: Ic8cef05a7523edef95ca33ca0cabc0cdb51a2461
Reviewed-on: https://gerrit.instructure.com/2616
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-03-15 15:00:10 -06:00
Brian Whitmer d91eebfca4 module progressions for files not working
If a teacher said students must view a file before
continuing, then the system needs to be sure to
mark the file as viewed whether it's actually downloaded
or just viewed inline.  This wasn't happening
correctly.

Also DRYed up a few methods in the files controller.

fixes #4035

Change-Id: I5ed6fa6e556ed78d85319f99fe84ddee0b4d2033
Reviewed-on: https://gerrit.instructure.com/2640
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-03-15 14:04:49 -06:00
Brian Whitmer 2a5976b20b don't let question names be blank
fixes #4027

Change-Id: Ic1d590daf29ed5972c689de5554c68cf5c7b43cd
Reviewed-on: https://gerrit.instructure.com/2624
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-03-12 21:26:51 -07:00
Jon Jensen 4ea607cea4 postgres support and misc bugfixes, fixes #3574, #3943
Change-Id: I16aa188175a588b02dd6460baa83daae805aec9f
Reviewed-on: https://gerrit.instructure.com/2474
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
2011-03-11 18:01:02 -07:00
Zach Wily 69ce189b3b redirect external server output correctly
Change-Id: If27f27fd3337b5566c0ccfde0de87cac3003052e
Reviewed-on: https://gerrit.instructure.com/2621
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-03-11 16:38:13 -07:00
Zach Wily c22428a232 allow a different browser to be specified in selenium config
Change-Id: I8d9fded2a14aae0ceaa9b5f2cd9e27872c3026fc
Reviewed-on: https://gerrit.instructure.com/2613
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: JT Olds <jt@instructure.com>
2011-03-11 12:15:54 -07:00
Zach Wily 5d05c6e539 send server output during selenium tests to log file
Change-Id: Ic2e53ab581e665bf2c1b42ed8653280089d0db46
Reviewed-on: https://gerrit.instructure.com/2612
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: JT Olds <jt@instructure.com>
2011-03-11 12:15:44 -07:00
Brian Palmer c863ea32a2 fix integration specs in plugin spec_canvas dirs
Something about the way we were loading them before caused them to
not have the integration methods like get() and post() available. By
loading the base dirs and letting rspec auto-discover the files under
each base dir, we get better behavior.

Change-Id: Ice3a163ddb2311a02f3c125773b6ab05a0895814
Reviewed-on: https://gerrit.instructure.com/2592
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-03-10 09:44:05 -07:00
Paul Strong 17e8f969f9 Fix user account associations not being updated properly on rare occasions.
User account associations were not being updated properly when updating pseudonym accounts multiple times.

Without this fix user account association updating breaks when the pseudonym account gets updated multiple times in a row
For ex.

    pseudonym.account = account1
    pseudonym.save
    pseudonym.account = account2
    pseudonym.save

 After running the code above the update_user_assocations code would update the user association to point to the first account instead of the second account.

Change-Id: I0f2666458cd9b1e54afb52d26e2b4ec858dccd26
Reviewed-on: https://gerrit.instructure.com/2589
Reviewed-by: Brian Whitmer <brian@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-03-09 16:34:08 -07:00
Brian Palmer f846e8b71e concrete support for http basic auth, specifically for the API
closes #3956

Change-Id: I8743aecef7126122ba57c06c8469300c5bc08ac7
Reviewed-on: https://gerrit.instructure.com/2536
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
Reviewed-by: JT Olds <jt@instructure.com>
2011-03-09 10:13:00 -07:00
JT Olds 65b6f07050 add cross-listed account id to associated course accounts
Change-Id: I2d54baf24c704825a23be3d3c33d2a2d1da28462
Reviewed-on: https://gerrit.instructure.com/2517
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
2011-03-09 09:24:53 -07:00
JT Olds b69ae6e248 fixing direct-to-s3 tests - requires a separate server process
or an attachment.rb/attachment_fu rewrite. this is easier

Change-Id: I1140e089671bbefb973cef5a0859976ef367d802
Reviewed-on: https://gerrit.instructure.com/2499
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
2011-03-04 13:24:47 -07:00
Ryan Shaw d46070e330 switch to using selenium 2 (webdriver)
local file storage tests work, s3 tests fixed in
https://gerrit.instructure.com/2499

Change-Id: I1281be4343d4fe554733db3519a90e0f88bbd545
Reviewed-on: https://gerrit.instructure.com/2446
Reviewed-by: JT Olds <jt@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-03-04 13:24:40 -07:00
Brian Whitmer 974745822b don't allow deleting an assignment group that still has assignments
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>
2011-03-03 11:05:33 -07:00
Brian Palmer ba20f27352 optimize get_all_pertinent_contexts, especially for /calendar
By scoping the finds to the user, we can avoid a lot of grants_right
lookups and the associated db queries. This is especially helpful for
users who belong to a lot of groups or courses.

Change-Id: I31e22ecddf9456734d6c1297d776a8353e43a526
Reviewed-on: https://gerrit.instructure.com/2486
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-03-01 14:45:04 -07:00
Brian Whitmer 41c9f12988 enforce term/course/section start and end dates
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>
2011-03-01 13:47:12 -07:00
Brian Whitmer 98c6d03cc9 speed improvements for files page
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>
2011-03-01 13:21:03 -07:00
Jon Jensen 86b062bf61 wimba integration, fixes #2989
added wimba web conferencing support, moved dimdim config into plugin
settings, fixed a few web conferencing ui issues

Change-Id: I6b36b0e594a9f296d14cd35bec02186478bcbd13
Reviewed-on: https://gerrit.instructure.com/2343
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
2011-02-25 14:35:14 -07:00
JT Olds bedb1d878e fix default host for tests
Change-Id: I88b59c05a39803c95e3d306b9f47b7ef0450d4c8
Reviewed-on: https://gerrit.instructure.com/2429
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-02-24 17:11:18 -07:00
JT Olds 77b31810c6 hide wiki pages marked hidden from students
closes #1865

Change-Id: I582d566fd83575e70502dd682ca0347a436e194c2
Reviewed-on: https://gerrit.instructure.com/2422
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: JT Olds <jt@instructure.com>
2011-02-24 10:12:41 -07:00
Brian Palmer 4115014102 deliver messages to all recipients in one job, closes #1
If any individual message delivery fails, we'll reschedule it as its own
individual job.

Change-Id: I51ae5941fd001c61e6c6b708185ff12585d0a49f
Reviewed-on: https://gerrit.instructure.com/2390
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
2011-02-22 16:23:58 -07:00
Brian Palmer 250d846d66 more selenium config options, and run the web server in-process
Change-Id: I08b31b89951ebc9328836ee75c4a943ab8d4010d
Reviewed-on: https://gerrit.instructure.com/2358
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: JT Olds <jt@instructure.com>
2011-02-22 10:37:29 -07:00
JT Olds 148e66ac68 supporting designer/observer imports and make course_id optional
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>
2011-02-18 13:25:29 -07:00
Bracken Mosbacker 840f365981 added undated assignments to assignments index page
closes #2187

Change-Id: I53d71c4c99a4889b7fb4f4736637dc166aad5e8f
Reviewed-on: https://gerrit.instructure.com/2319
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
2011-02-16 15:17:17 -07:00
Brian Whitmer 8035e390f4 add observer role to csv import
and add a new column for linking it to a user

refs #3315

Change-Id: I8333a0530bb2da5557385bf30f45cdd56b5eb261
Reviewed-on: https://gerrit.instructure.com/2266
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
2011-02-16 13:49:18 -07:00
Brian Whitmer ee56f631b9 revising conferences open/closed logic
this logic didn't make sense to me, and it was obviously
broken, so I rewrote it.  These are the new assumptions
for web conferences:

- when the first participant joins a conference, we set
  started_at, start_at and end_at
- once nobody is using the conference anymore and end_at
  has passed, or it is more than 15 minutes past
  end_at, we set ended_at
- if ended_at is set and has passed, the conference is
  considered closed
- if ended_at is not set and a user tries to join an
  inactive conference, don't let them unless they're
  authorized to resume the conference
- conferences are resumable by those with permission, but
  only until the end_at date, after that it's all over

fixes #3827

Change-Id: I3f7474c314a99f0fd5a2b7f9222216d2fc3168a1
Reviewed-on: https://gerrit.instructure.com/2304
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-02-16 10:54:47 -07:00
Brian Whitmer 96e57d560a make sure parent observers can see linked student grades
refs #3315

Change-Id: I6cd929384d7a3da4b8fc0f865508b880f6631e56
Reviewed-on: https://gerrit.instructure.com/2264
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
2011-02-11 23:35:53 -07:00
Brian Whitmer 15f6d0e1b8 ip filtering for quizzes
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>
2011-02-11 22:16:47 -07:00
Brian Whitmer 89f5934bae quiz moderation
- 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>
2011-02-11 22:08:42 -07:00
Brian Palmer d8f9ee6174 revert an explicit permission to the proper default
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>
2011-02-11 12:54:21 -07:00
JT Olds dc1cc82a9c test file uploads from homework submissions page
Change-Id: Ifdaf61db104cf06f9edfbdc80eca6133a258886a
Reviewed-on: https://gerrit.instructure.com/2101
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
2011-02-11 10:50:20 -07:00
JT Olds f39cab0237 discussion page file upload selenium tests
Change-Id: I77c8a4e3b292e0eb32a145aa0b59322e7939b92a
Reviewed-on: https://gerrit.instructure.com/2100
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
2011-02-11 10:50:13 -07:00
JT Olds ba735d41b6 direct-to-s3 server side changes
Change-Id: Ie7b415b84f403c98d82f0e67212ae2e7b051b67d
Reviewed-on: https://gerrit.instructure.com/2096
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
2011-02-11 10:49:47 -07:00
Brian Palmer e693c6ebba make the "remember me" cookie httponly, fixes #3763
Change-Id: I1d7a0eab74c23dbdb4dfdca186b73009dc6aeb6d
Reviewed-on: https://gerrit.instructure.com/2230
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-02-10 10:05:06 -07:00
Brian Palmer 87b37e72d4 flush the role_override cache on each request, fixes #3711
Once we're storing these permissions caches in a shared memcache
cluster, we can flush them only when they've actually been invalidated.
But until then, we have to flush on each request, in case a role
override was changed on a different app server.

Change-Id: I4479605b96a4fcf36a686033939be4a158aa9699
Reviewed-on: https://gerrit.instructure.com/2224
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
2011-02-10 09:52:24 -07:00
Brian Palmer 6fad15dd0e undefine Spec::DSL::Main#context
We check responds_to?(:context) on many objects in our app, to duck type
context-owned objects. So in test mode when rspec is loaded, this causes
a lot of issues since every object ends up responding to :context.

Change-Id: I97f804e696e0e553b6fc7ef9b0700d0bdea7e9b2
Reviewed-on: https://gerrit.instructure.com/2221
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: JT Olds <jt@instructure.com>
2011-02-09 13:57:32 -07:00
Brian Palmer a043962097 fix time zone issues in specs
Change-Id: I32082cfd4f7686d9a9c20d6cc7ecff1e68de2c96
Reviewed-on: https://gerrit.instructure.com/2207
Reviewed-by: Zach Wily <zach@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-02-08 14:12:17 -07:00
Bracken Mosbacker 8efe72a0d7 cleaner external urls when importing
This also prevents blank wiki pages from being created
when there are unsupported import types

closes #3739

Change-Id: I6c1aa7f34de07db83d6c45d134c5e967dc7506d9
Reviewed-on: https://gerrit.instructure.com/2195
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: JT Olds <jt@instructure.com>
2011-02-08 13:31:34 -07:00
Brian Whitmer 6ee9726e56 assignment grading fixes
- if you change the points possible for an assignment, the
  'grade' column for submissions is no longer accurate.
  This fix makes sure the grade column stays up to date (but
  does not update any old versions of the submission)
- if you have a letter grade assignment, we should accept
  lowercase versions of the grade if there's not an exact
  match.

Change-Id: I6277c9a216e23bd068fc0381cac1da2e9d718d1a
Reviewed-on: https://gerrit.instructure.com/2193
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-02-08 12:59:57 -07:00
Brian Palmer ad438b6234 add the default enrollment term on root acct creation
fixes #3730

Change-Id: I912f1381eeb0e8eba0ac4869f37e655e3f25b4bb
Reviewed-on: https://gerrit.instructure.com/2186
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-02-08 12:47:42 -07:00
Brian Palmer d8e0e10a13 retain the grade if another submission API PUT is made without one
fixes #3718

Change-Id: I04868f68defcccf11cc51a40ca65047a2e38d935
Reviewed-on: https://gerrit.instructure.com/2169
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-02-04 15:54:18 -07:00
Brian Palmer 663ed5bf86 don't return deleted assignments in the assignment group API
fixes #3709

Change-Id: Ie684cc868454215941363959e0bfac9be4d90860
Reviewed-on: https://gerrit.instructure.com/2161
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-02-04 13:56:13 -07:00
Brian Palmer e1b6f066b4 improved auto-linkification of text fields, refs #3706
Change-Id: I6ffe2f4f946b551c527eeb4249dfff959f77a22e
Reviewed-on: https://gerrit.instructure.com/2154
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-02-04 12:10:27 -07:00
Brian Palmer 4f38867a4b only infer the due at on assignment/quiz creation, fixes #3698
Change-Id: Id0336ba184dc80dca7c3a41aef62ffb0d66cdc75
Reviewed-on: https://gerrit.instructure.com/2143
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-02-03 13:15:15 -07:00
JT Olds f0b9d21cfd fixing broadcast mailboxes and corresponding tests
Change-Id: Ic0c064379198b6eeb985c6771d03c8fdbebcf746
Reviewed-on: https://gerrit.instructure.com/2117
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Tested-by: JT Olds <jt@instructure.com>
2011-02-01 17:36:33 -07:00
Brian Whitmer 8b8173dcc9 Initial commit.
closes #6988138
2011-01-31 18:57:29 -07:00