Not only is this unnecessary, but worse it changes the assignment's
resource_link_id, messing up any LTI tools that rely on that
parameter.
fixes CNVS-5884
test plan: Create an LTI assignment using any tool, and inspect the html
to view the launch parameters. Record the resource_link_id. Then edit
and save the assignment, and inspect the launch parameters again. The
resource_link_id should remain the same.
Change-Id: Ib2adcff90474cbb60a85c18b8f233f9fd9a1eff7
Reviewed-on: https://gerrit.instructure.com/20656
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
FIXES CNVS-5540
make graded notifications come from quiz
submissions and not from regular submissions
so that we can accurately differentiate
between "graded" and "regraded".
Also makes sure that no messages get sent until
after essay questions on quizzes are graded.
Finally extracts the quiz_submission broadcast
policy into it's own object because there's
a lot of repetition there (did the same
for submission broadcast policy since I
was touching it anyway, could be a good pattern
for other broadcast policy definitions)
TEST PLAN:
1) Log in as a student
2) take a quiz with an essay question
3) you should NOT get a notification
4) login as a teacher, and grade that quiz
5) the student should get a notification that
their quiz has been graded
6) that notification should NOT say that the
quiz has been RE-graded.
7) repeat, but grade from gradebook instead of
speedgrader
Change-Id: Id057f6d7abb64906c03334031d0d66af1e25adb2
Reviewed-on: https://gerrit.instructure.com/20511
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Stanley Stuart <stanley@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
Reviewed-by: Cameron Matheson <cameron@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
fixes CNVS-1608
test plan:
* on a canvas installation with multi-tenancy enabled
and cassandra being used for global lookups, create
at least two accounts (A and B) on the same shard that
don't share domain names;
* create an active user account in account A;
* create a duplicate user in account B through an SIS
import;
* verify that the duplicate user receives a merge
notification and that the link in the email properly
references account A, while the domain in the
notification body references account B.
Change-Id: I44f84c082b319dd9129da8422a9e4c8c03103a13
Reviewed-on: https://gerrit.instructure.com/20615
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Ericksen <marke@instructure.com>
QA-Review: Cam Theriault <cam@instructure.com>
Product-Review: Zach Pendleton <zachp@instructure.com>
refs CNVS-5846
test plan: load the ics feed for (a) course and (b) user, and verify
that assignments include a link to more details but no description
directly in the ics feed.
Change-Id: I58e4a78425cd2156de63dd7f6f90bb4f31918b36
Reviewed-on: https://gerrit.instructure.com/20579
Reviewed-by: Brian Palmer <brianp@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
fixes CNVS-5706
users are now able to toggle the discussion auto-mark
as read feature. this setting is user-level, and when
it is off, discussion entries will only be marked as
read when manually marked by the user.
manual marking is part of CNVS-5705.
test plan:
* create a discussion in a course;
* as user A, post an entry to the discussion;
* as user B, navigate to the discussions index page and
click the gear menu; check the "manually mark
posts as read" checkbox and save the setting;
* click into the discussion posted to by user A and
verify that user A's post is not automatically marked
as read;
* uncheck the "manually mark posts as read" checkbox
and save the setting;
* revisit user A's post and verify that is marked as
read without any input.
* repeat steps above twice: once with user B as a
teacher, once with user B as a student.
Change-Id: I2ff13705dfbee7d90e4e6c4003215d617fc0ef48
Reviewed-on: https://gerrit.instructure.com/20441
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Marc LeGendre <marc@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
Don't automatically mark a discussion entry as read if the user
manually marks the entry as unread.
fixes CNVS-5705
test plan:
- As one user, create a discussion with lots of posts.
- As a different user, go to the discussion, see the entries
are automatically marked as read. Don't scroll all the way
to the bottom of the discussion so there are still some
unread posts.
- Click the gray circle to manually mark some of the read
entries as unread.
- Refresh the page. The manually marked entries should show
as unread and should not be automatically marked as read.
- Scroll down. Unread entries that were not manually marked as
unread should still be automatically marked as read.
Change-Id: I963d1dea9fc961a28a0a5c488399d4e3964c8d10
Reviewed-on: https://gerrit.instructure.com/20414
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
Product-Review: Marc LeGendre <marc@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
Fixes an issue where the submission that was being checked for never
existed (student2 was created in the previous revision of the spec, but
never used to set up a quiz submission). The change also change's the
students' submission's "updated_at" property so the CSV should have
the same row order every time.
test plan: specs pass.
Change-Id: I97584bf3a7980108f8608dfe891befe0dfdc4a6f
Reviewed-on: https://gerrit.instructure.com/20520
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Cody Cutrer <cody@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
QA-Review: Brian Palmer <brianp@instructure.com>
add button to create item analysis report, and make student analysis
creation async. make both buttons show a progress indicator, and auto-
download the file when it's ready (or not, if you refresh the page)
test plan:
1. make sure delayed jobs are running
2. create a quiz that allows multiple submissions
3. have some students take the quiz
4. go to the quiz statistics page
5. click "Generate Item Analysis"
6. it should be generated and prompt you to download
7. the data should be useful/correct
8. click "Generate Student Analysis
9. it should be generated and prompt you to download
10. the data should be useful/correct
11. have another student take the quiz
12. you should be able to regenerate both reports
13. have a student retake the quiz
14. you should get the link to view stats for all submissions
15. you should be able to download a different "Student Analysis" report
for all submissions vs latest submission
16. the "Item Analysis" report should be the same for all submissions and
latest submissions
Change-Id: Ib6bfa259f386a6660a41cd7e093d3a6eb0119eda
Reviewed-on: https://gerrit.instructure.com/20137
Reviewed-by: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
fixes CNVS-1610
test plan:
- as a teacher create a quiz with multiple attempts, without essay questions
- as one student take and complete the quiz
- as another student, take, complete, start taking again, and then leave
without completing the quiz a second time
- as a teacher, your dashboard should not show a quiz needing grading
- as a teacher, both quizzes should show as graded in the speedgrader.
- now create a quiz with multiple attempts, with essay questions
- complete the quiz 1 time with 3 students
- as a teacher you should see 3 submissions needing grading on the dashboard
- grade two of them
- you should see one submission needing grading on the dashboard
- now start taking the quiz but don't complete it with one of the graded
students
- dashboard should still say one needing grading
- now start taking the quiz but don't complete it with one the ungraded student
- dashboard should still say one needing grading
Change-Id: I22927f13e69bcac533bcc936bba0a6ac335fde6d
Reviewed-on: https://gerrit.instructure.com/20467
Reviewed-by: Stanley Stuart <stanley@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cameron Sutter <csutter@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
test plan:
- as a teacher, make a quiz with a file upload question (as well as
some other question types)
- have some students in the class take the quiz
- download the statistics csv and verify that:
- students that submitted a file for the file upload question have
the attachment's name in the column for that question
- students that didn't have a file upload for their submission for
the file upload question have a blank column where the filename
is for students that do have a submission
fixes CNVS-1157
Change-Id: I98e8a2236d344804e3c17cc00ab60c7013520eb6
Reviewed-on: https://gerrit.instructure.com/20280
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Florence <ryanf@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
Product-Review: Stanley Stuart <stanley@instructure.com>
when a user explicitly logs out of one pseudonym session, invalidate all
the others
fixes CNVS-1923
test-plan:
- create a user in two different accounts
- log them in to both accounts
- click "log out" in one account
- should be logged out of both accounts
Change-Id: I79e70017d753c8201429901421e015f5d20e2000
Reviewed-on: https://gerrit.instructure.com/20096
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
fixes CNVS-4106
test steps:
- go to create a discussion topic and ensure that you can toggle between
the 'Graded' and non-graded availability dates. If the Graded is not
checked, you should see the Available From/Until.
- create a discussion topic with a past from and past until. ensure that
the discussion is locked for a student
- create a discussion topic with a future from and future until. ensure
the discussion cannot be seen by the student
- update the above created discussion topic and switch it to be graded
and set a future due, from, until date. ensure that the student cannot
see the discussion.
- edit the discussion and ensure that the graded checkbox is checked and
the group assignment fields are showing
- update the assignment with a past due, from, until and make sure the
discussion is locked for the student.
- do all above with current dates (from in past, until in future) and
make sure the student can see and reply to them.
- create an announcement and ensure that the functionality and forms are
the same as before
- verify that you are able to lock and unlock discussion topics on the
show view by using the gear drop-down
Change-Id: I99c9d54763fe3a74aa8a4bb37c22f09d4765d41e
Reviewed-on: https://gerrit.instructure.com/20339
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Willesen <jonw@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
Product-Review: Marc LeGendre <marc@instructure.com>
test plan:
- go to the groups page of a course or account
/courses/*/groups or /accounts/*/groups
- edit a group category by clicking on the pencil icon or
click 'make a new set of groups'
- check the 'Allow self sign-up' checkbox
- a textbox should appear to limit group members
- enter a number (2 or 3) for the group limit and save
- add at least on group
- masquerade as students in the course and join a group until it's full
- once the group is full students should not be able to join the group
- also, when editing a group category you should be able to remove the group limit
Change-Id: I0d035320a171b03a7cd2e4d81ecb0648c5aacad0
Reviewed-on: https://gerrit.instructure.com/20309
Reviewed-by: Jon Jensen <jon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Cam Theriault <cam@instructure.com>
Product-Review: Joe Tanner <joe@instructure.com>
fixes CNVS-5733
test plan: specs. it's difficult to get a submission version into this
state now that we do more validation.
Change-Id: I5c482198ff95ce93e09a1b373e4e7061da96984d
Reviewed-on: https://gerrit.instructure.com/20452
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
QA-Review: Brian Palmer <brianp@instructure.com>
fixes CNVS-5532
test plan:
* create at least two students in a course with immediate
notification preferences;
* create a new assignment in their class with
automatically assigned peer reviews and online
submission;
* create a rubric for the assignment;
* as each of the two students, submit the assignment;
* wait for the assignment due date to pass, then check
each students' messages. verify that each has received
one notification about their peer reviews.
Change-Id: I2ef5be7fedfa775e8ed60aa80545c34e88a53623
Reviewed-on: https://gerrit.instructure.com/20321
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Ericksen <marke@instructure.com>
Product-Review: Zach Pendleton <zachp@instructure.com>
QA-Review: Zach Pendleton <zachp@instructure.com>
test plan:
- enable the quiz file upload feature for your account.
- make sure you have s3 credentials for your Canvas installation
- as a teacher, create a quiz with some file upload questions
- as a student, take the quiz, making sure the following works:
- you should get a warning if you leave any questions unanswered
- you should see your file in the right spot if you refresh the page
- when you finish the quiz, make sure a link to the file shows up on
the quiz show page and the display name for that file is the same
name of the file you uploaded
- take the quiz again and make sure files you uploaded for hte
previous submission don't show up when you first take the quiz.
closes CNVS-1153
closes CNVS-5331
Change-Id: Id3f8706e87cef9876946b52fd564caf31f31e4b5
Reviewed-on: https://gerrit.instructure.com/20174
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
Product-Review: Stanley Stuart <stanley@instructure.com>
fixes CNVS-5505
This utilizes our after_transaction_commit callback mechanism to delay
uploading the file until the database trasaction is committed, so that
we aren't holding the transaction open for the entire upload to S3. At
best this causes <IDLE> transactions, and at worst it keeps other rows
locked for the duration of the upload.
It also introduces a new callback on AttachmentFu models,
after_save_and_attachment_processing, which is called like a normal
after_save when the attachment is uploaded immediately, and after the
attachment is uploaded (so after the transaction) when the upload is
delayed.
test plan: most attachment upload paths are covered by selenium tests.
for manual testing, we'll want to check each location in the application
where files can be uploaded for regressions. this includes anywhere that
a zip file is uploaded or generated and downloaded.
Change-Id: I033bd19d63a6becc421143c929dfe7c19c7f4e51
Reviewed-on: https://gerrit.instructure.com/20210
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Reviewed-by: Duane Johnson <duane@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
closes CNVS-2049
Test plan:
* download the gradebook csv in a course with unweighted assignment
groups. you should see "Current Points" and "Final Points" columns
* download the gradebook csv in a course with weighted assignment
* groups. there should not be any points columns
Change-Id: If795ab3dc0ae8a4fb84f29c9e759b463b7a14d04
Reviewed-on: https://gerrit.instructure.com/20189
Reviewed-by: Simon Williams <simon@instructure.com>
Reviewed-by: Stanley Stuart <stanley@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
fixes CNVS-620
test plan:
* create a course with at least two enrollees (A and B);
* as enrollee A, send a message to enrollee B;
* conclude the course, create a new course, and enroll
users A and B in it;
* as enrollee A, send a message to enrollee B and verify
that the message's tags update to include the new
course.
Change-Id: I36332c84a9602aee31b2e2ee1e73b12e87462e38
Reviewed-on: https://gerrit.instructure.com/20221
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Willesen <jonw@instructure.com>
Product-Review: Marc LeGendre <marc@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
- update the Gemfile to be 1.9 only, and raise an exception on wrong
ruby version
- remove RUBY_VERSION checks, replacing with the applicable code
- remove the FasterCSV compatibility shim, just use CSV now
test plan: trying to bundle install on ruby 1.8 or 2.0 should raise an
exception, specs should pass, canvas should work as normal on 1.9
Change-Id: I49088e9d227c59c6d5d5acb417c2df971129474a
Reviewed-on: https://gerrit.instructure.com/19806
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
fixes CNVS-5480
testing direction:
==================
using both threaded and unthreaded discussions:
* create a discussion using two different users
* create discussion replies (entries) and verify
the "unread" count correctly changes
* delete an "unread" entry before the other
user has seen it. verify the unread count is
correctly updated.
* after deleting entries, verify the "total"
count is correct on the index and show pages.
* verify that the discussion's list page counts
match a specific discussion's show page counts
Change-Id: Id29ee1d03a60c6a78565661ee214bf9031fae69c
Reviewed-on: https://gerrit.instructure.com/20201
Product-Review: Marc LeGendre <marc@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
Reviewed-by: Mark Ericksen <marke@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
fixes CNVS-5309
test steps:
- as a teacher, create a few discussion topics with graded
checked and due, begin and until dates are in the future, past
and current.
- as a student, view the discussions list and ensure that the
present and past topics are visible but the future is not.
- click the past discussion topic and make sure you are able to
view the discussion but not reply to it.
- click the present discussion and make sure that you can reply
to it.
- as the student and teacher, ensure that the visible discussion
topics appear in the stream items (dashboard) and the future
do not (for the student).
Change-Id: Ibb0a3d05ae830e764c8068a6c9d4ead804e91139
Reviewed-on: https://gerrit.instructure.com/20082
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Marc LeGendre <marc@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
fixes CNVS-5572
test-plan:
- have page views enabled and processing through a redis queue
- generate a new page view from a user with non-UTC time zone
- process redis queue to persist page view
- reload page view and check created_at; should equal the time the
page view was created
Change-Id: I8fa4da8f81d7f18815ef9223decea433e9a71172
Reviewed-on: https://gerrit.instructure.com/20171
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
test plan:
* create a rubric using non-decimal point values
(e.g. '1.5')
* copy the course
* should retain the same values
fixes #CNVS-1625
Change-Id: I23031bdf10c8ea2932bdd7c770ece14fddc3a12e
Reviewed-on: https://gerrit.instructure.com/20150
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
test plan:
* create a discussion topic in a course, checking
"allow threaded replies"
* copy the course
* the new discussion topic should retain the option
fixes #CNVS-1589
Change-Id: I0a37babac340c1f6ee869e4805217553d954e165
Reviewed-on: https://gerrit.instructure.com/20152
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
this commit is to help make canvas extensions more robust by
allowing tool level defaults and allowing both tool domains and launch
urls. Also added some helper methods for getting the correct properties,
and refactored to use the new helper methods.
Test Plan:
- Add a tool with both a domain and an launch url
- It should not give an error
- Add a tool configured with defaults for for canvas extensions
(such as icon_url, url, selection_height, selection_width, etc)
- Add a canvas launch (resource_selection, editor_button, course_navigation, etc)
with minimal configuration
- The canvas launch should inherit the properties from the extensions default
- Add an launch that has its own properties
- The launch should prefer its properties over the defaults
* should test that all launch types are accepting defaults
closes #CNVS-4498
Change-Id: I0dd4e78efb54db9c0cd1204383934db50f402674
Reviewed-on: https://gerrit.instructure.com/17715
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
test plan:
* Enable the file_upload_question type for
the root account in the console:
> a = LoadAccount.default_domain_root_account
> a.settings[:file_upload_quiz_questions] = true
> a.save!
* Create a course with a question of type
"File Upload Question"
* Copy the course
* Confirm that the course copies successfully
and that the new question is the same type
closes #CNVS-1158
Change-Id: I99d872ee8557a83647fb2fa1425050c20a4ba518
Reviewed-on: https://gerrit.instructure.com/20013
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
closes #CNVS-4511
refactor of some of the QuizStatistics model so it can be used with multiple report types
test plan:
just ensure the current quiz stats page and csv report still work,
the item analysis UI commit will have a more comprehensive test plan
Change-Id: I2973a2e3aa572bc272c59b4b97015c7f93d756d7
Reviewed-on: https://gerrit.instructure.com/20057
Reviewed-by: Jon Jensen <jon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Joe Tanner <joe@instructure.com>
QA-Review: Joe Tanner <joe@instructure.com>
replaced the mailman gem with custom code with more error
handling. this will allow the incoming message processor to
continue processing messages after encountering a message with
an encoding or parsing error. the broken messages will be moved
aside to a separate folder for later inspection.
fixes CNVS-4970
test plan:
- read up on the new incoming_mail.yml configuration settings.
- configure incoming_mail.yml with the test imap accounts
using legacy settings and check for regressions.
- reconfigure incoming_mail.yml to read from a directory.
- copy some testing email files into the configured directory.
test files should be a mix of:
- emails with encoding errors
- emails with syntax errors
- normal emails
- all of the normal emails should be processed normally
- all of the error emails should be moved into the error
subdirectory
Change-Id: I0f946a56b41492f007db2775aa6da3cdfa4fdd3f
Reviewed-on: https://gerrit.instructure.com/19729
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
Product-Review: Marc LeGendre <marc@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
closes #CNVS-4578
no test plan, see specs
Change-Id: I9417e362fcead64b9e87647e615eab7318633262
Reviewed-on: https://gerrit.instructure.com/18696
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
wiki pages can be unpublished but will still default to
active until the feature is enabled.
Test Plan:
* make an unpublished course in the console
* using the wiki api make sure students can't see it in
the index or show actions
closes CNVS-5270
Change-Id: I48970ce9c6b86a3039432b6d7647810b434bfdfc
Reviewed-on: https://gerrit.instructure.com/20014
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
due to an arel mistranslation the submission comment id was being used for
comparison instead of the submission id
fixes CNVS-5435
test plan:
- as a teacher, comment but do not score an assignment for a user
- as a student, you should have a badge for that submission comment
- go to the grades page
- the badge should be gone
Change-Id: Id4364e65cb917d54f7511355ce2619746d2e15fa
Reviewed-on: https://gerrit.instructure.com/20061
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
prevent malicious or accidental html content from getting through (e.g.
via translations or interpolated user content).
slight refactor in message.rb to make it more easily testable
test plan:
1. spot check html emails, make sure they look ok
2. ensure you can't get arbitrary html into an email, e.g.
1. change your name in canvas to "<b>ZOMG</b>"
2. send someone a message in canvasations
3. check the html email that got sent to them. your name should appear
as "<b>ZOMG</b>", and not "ZOMG" in bold text
Change-Id: Ie638a0d3d28427f25c0fa1ce89c10533802b0c6b
Reviewed-on: https://gerrit.instructure.com/19827
Reviewed-by: Jon Jensen <jon@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
fixes CNVS-5462
test plan:
- enable 'no enrollments can create courses' at the root acount level
- create a new user with no enrollments
- they should have a 'create course' button on the dashboard
Change-Id: Ic1c272c7e949b25365141c04c65b3cff5b47a6ed
Reviewed-on: https://gerrit.instructure.com/19944
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Bryan Madsen <bryan@instructure.com>
QA-Review: Bryan Madsen <bryan@instructure.com>
specifically links the visibility of the permission
:manage_frozen_assignments to whether or not
the plugin :assignment_freezer is enabled
test plan:
* enable the assignment_freezer plugin
* confirm that ""Manage (edit / delete) frozen assignments"
is shown in the list of account permissions
* disable the plugin
* confirm that the permission no longer is shown
closes #CNVS-5207
Change-Id: I4cd308531a057356bd335e134348c63b92868775
Reviewed-on: https://gerrit.instructure.com/19788
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
back-populate submission_versions from existing versions for
submissions, and insert new index rows when new versions for submissions
are created.
refs CNVS-2802
test-plan:
migration:
- have at least two submission with at least one submission with
multiple versions in your database before introduction of this
code
- run the migration
- for every existing submission version record, there should now be
a submission_versions record
- the submission_versions records should have the correct metadata
for the submission version
trigger:
- create a new submission
- should create a new submission_versions record
- modify the submission in a way that triggers a new version
- should create a new submission_versions record
Change-Id: I9c4c39fa60926b037142abf3f01572c9deaa0643
Reviewed-on: https://gerrit.instructure.com/19605
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Duane Johnson <duane@instructure.com>
Product-Review: Duane Johnson <duane@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
test plan:
* create an object with html user content (such as an
assignment description)
* include a file download link (e.g.
"/courses/:id/files/:file_id/download")
* retrieve the object through the API
* confirm that the translated link (that includes
a verifier param), still has "/courses/:id"
rather than just "/files/:file_id/download"
* include a file preview link (e.g.
"/courses/:id/files/:file_id/preview")
* retrieve the object through the API
* confirm that the translated link has
"/courses/:id" and still has "/preview"
as well as a verifier param
* confirm that following the link in the browser
results in downloading the file
closes #CNVS-5213 #CNVS-5214 #CNVS-5215
Change-Id: Ib2bb6b1857055dbfe2d1b9e0873600beaa70bf75
Reviewed-on: https://gerrit.instructure.com/19512
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
This actually did do the stats generation in the background, but that
has been disabled temporarily since we don't have a front-end UI yet.
Test plan:
make sure you can still download quiz stats csv
closes CNVS-4887
Change-Id: Ia84af0c8392396a054ceba2f6edbcaf7c8c40c90
Reviewed-on: https://gerrit.instructure.com/19397
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
refs CNVS-4887
Test plan:
This isn't exposed anywhere in the UI yet, but if you really wanted to
test this, you could download quiz stats csv for a large course and
watch the progress attached to the quiz_statistics model increase
while the csv was being generated
Change-Id: I0f1d703df38c2525a412414ce767505a6caf157d
Reviewed-on: https://gerrit.instructure.com/19323
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Stanley Stuart <stanley@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
test plan:
1. go to /courses/:id/users
2. click 'add users'
3. should work much like the add users UI in
the course settings -> users tab, but look
a little different
Change-Id: Icec24a41385e595d8b79dc5a7232545f0aff926e
Reviewed-on: https://gerrit.instructure.com/18888
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Florence <ryanf@instructure.com>
Product-Review: Ryan Florence <ryanf@instructure.com>
QA-Review: Ryan Florence <ryanf@instructure.com>
refs CNVS-4887
Test plan:
Make sure you can still download quiz statistics csv
Change-Id: I1dea60ce3465e4b536620f1dc6d515f4badf18e0
Reviewed-on: https://gerrit.instructure.com/19061
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
adds account setting and new user permission
fixes CNVS-4726
Testing Notes:
============
* To enable...
* Account Settings, check Feature
"Admins can view notifications"
* Account permission under "Account Roles"
becomes available under "Admin Tools"
group. Check "View notifications"
* appears under account "Admin Tools"
sidebar area on "View Notifications"
tab.
(EX: /accounts/[account_id]/admin_tools)
* Verify "View Notifications" tab does not
appear if either account setting or user
permission is disabled. (For AccountAdmins)
* Verify a SiteAdmin is able to access the
feature.
* Verify that notifications are returned
and displayed for a selected user
and date range.
* Verify it displays "No messages found"
when user doesn't exist or the user
exists but the date range doesn't
return data.
* Verify that the user_id is required when
searching
* Verify that the "To Date" cannot be before
the "From Date".
* Verify an invalid date like the word "couch"
gets ignored and the actually used date/time
is displayed in the overview text description.
* Verify searching by dates when either or both
are left blank and when both are used.
* Verify that the messages automatically
fetch more when you scroll down.
* Verify that before the results, it displays
the user's name and the dates used for the
results.
Change-Id: I9d2689b4760af57bbc2d15fd7d50610dcf593a7e
Reviewed-on: https://gerrit.instructure.com/18629
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Marc LeGendre <marc@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
Reviewed-by: Mark Ericksen <marke@instructure.com>
There are some migration systems that aren't for course
content but they still show up in the course content
migration drop-down. So with this you can flag a system
to not show up for users
Test Plan:
* On the "Import Content from Another System" page there
shouldn't be a blank option.
closes CNVS-5327
Change-Id: Icb6e7b6e84b80613bc231488cc9f6b16b6ebfe24
Reviewed-on: https://gerrit.instructure.com/19608
QA-Review: Adam Phillipps <adam@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
fixes CNVS-1808
test plan:
* create a new user with a unique_id that has an
apostrophe in it;
* verify that it saves correctly and that the user
can log in with it.
Change-Id: Idf46086b7ec6513eb4c2293686e4e92491e47fbc
Reviewed-on: https://gerrit.instructure.com/19564
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Willesen <jonw@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
Product-Review: Marc LeGendre <marc@instructure.com>
also cleaned up the calendar events api specs to make them a
little less error prone
test plan:
* syllabus page:
note: please verify against published courses
* standard access (calendar events, assignments, appointment groups)
* public course (calendar events, assignments)
* public syllabus (calendar events, assignments)
* courses api:
* create w/public_syllabus
* update w/public_syllabus
* get w/include[]=public_syllabus
* calendar events api (for public courses/public syllabus courses):
* calendar events and assignments
fixes #CNVS-4811
Change-Id: I17e9f260117c031af008592a470b6e17df93c1d5
Reviewed-on: https://gerrit.instructure.com/19376
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>