test plan:
* make call as account admin user, verify that channel is created
and in 'unconfirmed' state;
* make call as admin user with skip_confirmation=1 param, verify
that channel is still in 'unconfirmed' state;
* make call as site admin with skip_confirmation=1; verify that
channel is created as 'active';
* make call as any user to create a channel on your own account;
verify that call is successful;
* make call to create own channel with skip_confirmation=1; verify
that channel is still 'unconfirmed';
* make call as non-admin user to create channel for another user;
verify that 401 is returned.
Change-Id: I3108ac31b8b06f9202b9d11fa9475ed204a5f3f1
Reviewed-on: https://gerrit.instructure.com/10567
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Previously rubrics used by an assignment wouldn't copy unless
the rubric was selected. This makes it so that an assignment
will always bring its rubric when copied.
This also copies the two rubric properties you can select
when adding a rubric to an assignment.
Test Plan:
* Create an assignment with a rubric. Mark the rubric to be used for grading
* Copy the course and don't select the rubric to be copied
* In the new course the rubric should be there, and should be used for grading
closes#8474#8475
Change-Id: I3c117c10c159fed2d8a3d6c083f8251e8a97bee6
Reviewed-on: https://gerrit.instructure.com/10606
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
This only gets files linked to in html content, files referenced
by context modules will come in a different commit
Test Plan:
* Upload some files to a course
* reference those files from various html content in the course like wiki pages, assignment descriptions, syllabus body, etc.
* Copy the course, but do a selective copy and don't select any attachments to copy
* When the copy is finished the new course should have the referenced files and the html content should appear correctly
closes#8410
Change-Id: If81979b850ef71d06a56b88561e2991fd864e66f
Reviewed-on: https://gerrit.instructure.com/10577
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
test plan:
* go to /courses/x/quizzes/new
* verify clicking anything in #content doesn't
cause "notify users content has changed" to check/uncheck
Change-Id: Iaec37f30dd4a3cac47b61934ab921a66779eebcf
see: http://screencast.com/t/0rI8OryoRt8
Reviewed-on: https://gerrit.instructure.com/10609
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
The "Show Rubric" link on the Peer Review page did not display
if the Rubric was created AFTER the peer-review assignments
were already made. This change makes a RubricAssociation
link itself to the AssessmentRequest that was already created.
Test Plan: (Taken from case #7837 steps to reproduce)
* As the Teacher, create an Assignment that will use Peer Reviews
* Before creating a Rubric or assigning Peer Reviews, submit the assignments as the Students
* As the Teacher, assign students to peer review and THEN create a Rubric that will be used for grading
* As the Student(s), go to the assignment, click on the student's name to which a peer review has been assigned, and you should now be able to locate the "Show Rubric" link to display it.
Change-Id: Idd66204b1f53b665a7f64ec6a90af8ce4457e9b7
Reviewed-on: https://gerrit.instructure.com/10500
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Joe Tanner <joe@instructure.com>
fixes two issue with the ungraded count logic:
1. the submission triggers updated the count regardless of the enrollment
status (or existence). teachers or people not even in the course could
cause the count to change (e.g. by taking/previewing a quiz)
2. the enrollment triggers did not factor in the enrollment type. so
teachers/tas (un)enrolling in the course would cause the count to
change if they had any submissions (e.g. from a quiz)
test plan:
1. create a quiz with essay questions (so that submissions will need to be
graded)
2. enroll a student in multiple sections in the course
3. take the quiz as the student
4. take the quiz as the teacher
5. take the quiz as an admin not in the course
6. confirm the ungraded count is just 1
7. unenroll the teacher
8. confirm the ungraded count is still 1
9. unenroll the student
10. confirm the ungraded count is now 0
Change-Id: I11dbf3915d79f9820267469fad8949abfa008e14
Reviewed-on: https://gerrit.instructure.com/10451
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Joe Tanner <joe@instructure.com>
fixes#8403
test plan:
* import an external content package with discussion topics
* make sure to find a discussion topic that has no author
* on the dashboard of a user that has a stream item about that topic
it should not show that the current user is the author
Change-Id: I681be31462a82591d60665dce967aa1548ef3a07
Reviewed-on: https://gerrit.instructure.com/10579
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
fixes#8310
test plan:
* load some sis data for terms/courses/sections/enrollments into an
account
* do a batch mode import of an enrollments.csv with just the headers,
no data
* all enrollments should be deleted, but courses and sections should
be left alone
Change-Id: I05beb577bfb4573e97f8b398aeb4bfff5df78a4f
Reviewed-on: https://gerrit.instructure.com/10265
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
some quiz questions weren't being processed for import
correctly because they were pointing to an AQ and
expected to get the AQ question data
Test Plan:
* Create some quizzes with images in the questions
* Copy the course
* The new course should have the images in the quiz questions
closes#8476
Change-Id: Ieaaef88f9551afa79aa8daab8b784ce388857f48
Reviewed-on: https://gerrit.instructure.com/10591
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Don't create a new attachment if there is one already that
is just deleted
Test Plan:
* Run specs
Change-Id: I0ba43bb181d15bf56a7b0fd66affb8a60b11abd1
Reviewed-on: https://gerrit.instructure.com/10585
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
also added selectors to html elements to make
them more selenium friendly
Change-Id: Ide6b724f39b02b39ba02a21e4fc103fbe03d99ac
Reviewed-on: https://gerrit.instructure.com/10561
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bryan Madsen <bryan@instructure.com>
fixes: #8366
The error is - 414 Request-URI Too Large.
you can just leave off the assignment ids in this
request and it will return all of the submissions
for the user
test plan:
* go to gradebook2 in a course that has a TON of
students and assignments.
* make sure you don't get a "Ooops! The last
request didn't work out."
Change-Id: Iabdde708daaa837c40916162e81231bf6f0ff159
Reviewed-on: https://gerrit.instructure.com/10484
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
underscore and jquery both already have a 'unique'
function. used $.unique when underscore wasn't
already present.
Change-Id: If586e57754a4bd70d552c67cd94bb3515f03fd3e
Reviewed-on: https://gerrit.instructure.com/10308
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Florence <ryanf@instructure.com>
test plan:
on both a threaded and thread'ish discussion:
* open the discussion and try to tab to the "add
a reply", make sure that you can tab to it and
hitting space will open it up
Change-Id: Id8ef74e4d81a037a424ee9d8f7f99d67e2c9ad20
Reviewed-on: https://gerrit.instructure.com/10440
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Florence <ryanf@instructure.com>
The start/end dates of the source course are now filled in
for the user automatically for happiness
Test Plan:
* Set the start/end dates for a course
* Go to copy the course
* In the "Adjust events and due dates" section, the dates for the original course should already be filled in
closes#8415
Change-Id: Ic00c9d8f438a8291421690ce814263dd102d4c26
Reviewed-on: https://gerrit.instructure.com/10562
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
If you copied content into your course, then deleted an item
and copied it again it wouldn't be active. It is now.
Test Plan:
* Create an assignment
* Copy the course and delete the assignment in the new course
* Copy the original course into the new one again
* The assignment should be active
closes#8298
Change-Id: Ief8476d2befff999ed85a35039604d34253bfa1f
Reviewed-on: https://gerrit.instructure.com/10487
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Association "student" was explicitly linking to class "Student" that doesn't exist.
Underlying table was linked to users table so changed that to be consistent.
Change-Id: Iac6bb8a9b43c41bfbac949ca82a2b02327b215b2
Reviewed-on: https://gerrit.instructure.com/10434
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Joe Tanner <joe@instructure.com>
Adds a constant for the number of questions allowed before becomes disabled and
displays the message. Added specs for view. Fixed comment in javascript file.
Test Plan: (Course URL Tested: https://rcs.instructure.com/courses/206600/quizzes/273567/edit)
* Go to a quiz with 25+ questions
* The "Show Question Details" checkbox should be disabled and a
text message in a 'hint' style should appear below it.
* On a quiz with <26 questions, the "Show Question Details" checkbox
will be enabled and no message displayed below it.
Change-Id: I0185dc93b27fc1d691976d3bc788ed0b9b01e497
Reviewed-on: https://gerrit.instructure.com/10498
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Joe Tanner <joe@instructure.com>
also gave a few elements target="_blank" so you aren't
taken out of canvas when you click on the Jing or
Canvas Guides links
test plan:
1. login and click on the help button
2. click on "Report a Problem"
3. notice you can't resize the text area anymore
4. also notice the Jing and Canvas Guides links
open in a new tab
Change-Id: Iac8a95115fad2ca94f40c84f950288f15f38ce49
Reviewed-on: https://gerrit.instructure.com/10549
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
* Allow linking to individual endpoints on the page.
* Give each endpoint a summary string, and list the summaries at the top
of the page, with links to the endpoint details.
* Make an omnibus "all resources reference" page, which has been a
common request. This only includes the endpoint details, not the
summary descriptions of the resources.
* Syntax highlighting for JSON
test plan: visit /doc/api/index.html and see the changes (run rake
doc:api first if on a dev box)
Change-Id: Ib126805825d40770c36b3688668c62938348412d
Reviewed-on: https://gerrit.instructure.com/10516
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
Copying a frozen assignment would fail if the user doing
the copying didn't have frozen assignment editing priveleges.
Test Plan:
* Enable assignment freezing plugin
* As a non-admin teacher create a course that has a frozen assignment
* Copy that course
* The course copy should succeed
Change-Id: I1775141701647cf2a2791a027e7c1312c59c6997
Reviewed-on: https://gerrit.instructure.com/10550
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Actually this is mostly helpful for making assignment-sorting work on
32-bit ruby builds
Change-Id: Iae699882d6005a7012cd8a10c0b3bc3042280329
Reviewed-on: https://gerrit.instructure.com/10539
Reviewed-by: Jon Jensen <jon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
test plan:
* as an admin user, make api request to return a user's
communication channels and verify that they are returned;
* make same request with `self` and verify that channels are
also returned;
* as a student or teacher, make a request for another user's
channels and verify that 401 is returned.
Change-Id: I002d5fcedbaa404d78ada09f2eabbea5fac59181
Reviewed-on: https://gerrit.instructure.com/10224
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
test plan:
* make a discussion topic that is a graded group assignment
* make a reply as the teacher
* view it as a student, verify that you cannot edit the
teacher's entry.
Change-Id: I2af43dfda854d85b86f7dda0aa652c6c62b1292b
Reviewed-on: https://gerrit.instructure.com/10501
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
fixes#6986
Test plan:
- create an appointment group
- reserve one of the slots as a student
- go to the month view of the calendar and click on the appointment
- clicking the name of the appt group should take you to the
appointment group page
Change-Id: I58081f40b59da3b68597d645c3848d776b6c5f4c
Reviewed-on: https://gerrit.instructure.com/10459
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Joe Tanner <joe@instructure.com>
fixes#7959
Test plan:
* click on a day in calendar2 and create an assignment
* make sure no time is displayed next to the assignment on the date it
is due
Change-Id: I66a9855ea04edb90484074ac8f1aee677d576e06
Reviewed-on: https://gerrit.instructure.com/10514
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
content migration notifications used to be in a category that forced them to be
sent immediately, but they inadvertently got moved to a category without that
enforcement. now they have their own category that forces sending again.
test plan:
- set your 'For Administrative Alerts' to something other than 'immediately'
- do a content import or export (not course copy)
- you should get an email as soon as the migration succeeds or fails (not in
a summary at the end of the day/week).
Change-Id: Ifb0eddf586f3e0defc11f6159f48625e7493ccf8
Reviewed-on: https://gerrit.instructure.com/10385
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
since KyleMenus now proxy clicks back to where they
should be, we don't need to special case clicks on
them in EntryView
Change-Id: I0639f434ac6c16d893e95555b5a4b925cef526b1
Reviewed-on: https://gerrit.instructure.com/10029
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Florence <ryanf@instructure.com>
test-plan:
- make sure turnitin score text size is jumpy when you hover over it
Change-Id: Ie6080bcce246c1ca86fc76713e588a8654b5db86
Reviewed-on: https://gerrit.instructure.com/10485
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
when there are multiple quiz submission attempts and the latest one is in
progress, we want to use the lastest complete one for quiz statistics when
we're only considering the most recent submission.
test plan:
- create a quiz that allows multiple attempts
- as a student, complete the quiz, then start it again and leave the page
- as a teacher, view the quiz statistics. you should see statistics for the
complete attempt by the student
- try with multiple students and multiple completed quiz submissions as well
and make sure that when switching to statistics for all submission versions,
the counts do not include any in-progress submissions
Change-Id: I7e32e65e3ee483fcf0b958402cf79fcbc897e880
Reviewed-on: https://gerrit.instructure.com/10429
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
test plan: visit an individual student grades page, verify that the
distributions still show correctly
Change-Id: I1187fa2f1082f8fd64fcd0c75105d5b198e6a249
Reviewed-on: https://gerrit.instructure.com/10513
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
when adding a media comment with a conversation message, don't require the
media object to exist beforehand. this is important since there is no
(published) media object endpoint, so mobile apps (and other api users)
need to set the media comment info after uploading to kaltura. this brings
conversations in line with how we do things elsewhere.
test plan:
1. create a conversation message against the api, setting a media comment
that doesn't already have a media_object
2. it should work, and the media_object should get created
Change-Id: Ibf1b1e417e85288c19614af66a9960b738dc8813
Reviewed-on: https://gerrit.instructure.com/10488
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cameron Matheson <cameron@instructure.com>
test plan:
1. as a teacher make some student groups
2. click on the group name on the right side
3. notice how a new tab doesn't open
4. click on the group name on the left side
5. notice how a new tab doesn't open
Change-Id: I10eddd822242ef94584ca42b6b528c5a3b12d7ff
Reviewed-on: https://gerrit.instructure.com/10401
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bryan Madsen <bryan@instructure.com>
test plan:
* create a new announcement that is from an external feed
* go to look at it, make sure there is not a page error
Change-Id: I8d641f076914c945a0ea022128a9e9976090b9a4
Reviewed-on: https://gerrit.instructure.com/10270
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Test Plan:
* Set the syllabus body, navigation settings and default view for a course
* copy the course without selecting the course settings option
* those items should not be copied into the new course
closes#8391
Change-Id: Idd0efe85273d23881a3f3bfd0e04eb226d505a08
Reviewed-on: https://gerrit.instructure.com/10433
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Test Plan:
* Create an assignment before a daylight savings shift, like Jan 5 12pm
* Copy the course and shift the dates so they go past the shift, like Jun 5
* The copied date should be at the same time of day as the original
closes#8312
Change-Id: Ic5f974c399b050b7cf841d663fa881a77f309b1c
Reviewed-on: https://gerrit.instructure.com/10460
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
test plan:
* create a term that starts in the future, but has an override
for designers to access now
* create and invite designer to a course in that term
* the designer should be able to create content in that course
Change-Id: If1a55d5d7ed8693c4fb792baffbf3dfb6d92772c
Reviewed-on: https://gerrit.instructure.com/10426
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
test plan:
* create a discussion assignment
* edit the assignment, changing its name and making it
a group assignment
* ensure, after saving the assignment, that its name is not
appended with a group name
Change-Id: I87806eba91888680c153c551a21d3829b3fe26e8
Reviewed-on: https://gerrit.instructure.com/10388
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
test plan:
* add two students to a course
* create an online upload assignment with manual peer reviews
and a rubric
* submit the assignment for both students
* as teacher/admin, assign one student to peer review the other
* as that student, do the peer review, including rubric comments
* reload the page; the student should still be able to see their
previous rubric comments
Change-Id: I605945023d8ce61f7faf6552e1606c1b3410d465
Reviewed-on: https://gerrit.instructure.com/10449
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
affected pages:
- courses in this account /accounts/:id
- account users /accounts/:id/users/:id
- course home page /courses/:id
test plan:
- ensure there is a course with a term other than the default term
- look at the affected pages to verify that the term name is visible
Change-Id: I681bd20545a462643564899511adab0b8b71d3db
Reviewed-on: https://gerrit.instructure.com/9852
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
fixes#8389
test plan:
* create a course
* invite and accept a teacher (or create and add a teacher via SIS)
* change the dates for the term the course is in to the future
* the teacher should not be able to get read-only access to the course
Change-Id: I0474e6d5a46fd3b95a319281d18f9115371c8d75
Reviewed-on: https://gerrit.instructure.com/10425
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
test plan:
* on discussion page add a reply
* look at the "saving reply", "an error while saving"
and "reply saved, go to it" make sure they look good
* hit 'x' in "reply saved, go to it", it should close
Change-Id: Icfbd68a2b790bdf7947157c5e79d34ef2865110c
Reviewed-on: https://gerrit.instructure.com/10295
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Florence <ryanf@instructure.com>
in places where we were trying to do a 'alert' style
box (like the "you've been invited to a course",
account notifications, "you can sign up for this" in
scheduler) we were doing things that were sometimes
ugly and always inconsistent. this change moves
them all to twitter bootstrap '.alert's
test plan:
* go to: /accounts/x/settings#tab-announcements and
create a new global announcement. make sure that
page looks good (like this: http://cl.ly/2p05312y0N1N2W261s1N ).
then go to your dashboard and make sure it looks
good there like this: http://cl.ly/0P1X3y2c2422082v222c
* as a student go to scheduler and make sure it looks
like http://cl.ly/311h1b1V0H321k0C0t3p
Change-Id: If077402a0ee9fd43976ce86918848ca5b21b41b8
Reviewed-on: https://gerrit.instructure.com/10294
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Florence <ryanf@instructure.com>