This isn't an actionable error. Though at some point it'd be nice to
display a message to the user if their emails are consistently failing.
Change-Id: Ia760214c355976592373404b03a41d9ff64034e7
Reviewed-on: https://gerrit.instructure.com/16566
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Clare Hetherington <clare@instructure.com>
there is no ui for this (yet)
test plan: N/A
Change-Id: Ifed7192dc23b7e92681bd03bc68ad16ace509205
Reviewed-on: https://gerrit.instructure.com/17614
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
- fixed issue where items weren't being inserted
because they couldn't find the sibling element
in CollectionView
- typos in View.coffee
- abort old requests in SearchView
- doc formatting changes
Change-Id: I0851d994338c8b5050865354b4e4bf4c3ffb1a45
Reviewed-on: https://gerrit.instructure.com/17618
Reviewed-by: Jon Jensen <jon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Ryan Florence <ryanf@instructure.com>
closes CNVS-747
test plan:
- go to the assignments edit page
- you should be able to create new assignment overrides as a teacher
- you should be able to update existing assignment overrides as a
teacher
- make sure you are able to delete assignment overrides
- make sure that using the "add due date" button, you cannot add more
overrides than the number of the sections of the course + 1 (the +1
is for the due date representing everyone else.
- make sure that you can not remove the last override when hitting the
remove buttons to the right of overrides when you have more than one
override.
- make sure the remove button disappears when you only have one
override, and reappears when you add an override.
- ensure the dates you enter on this page propogate to the assignments
show page and other areas of Canvas.
Change-Id: I974924797d9d4783c7f6ae93a25c356112fc0f54
Reviewed-on: https://gerrit.instructure.com/17342
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
change and clean up the assignment show and edit pages to use new code
standards and to follow the style guide. separates the logic for viewing and
editing an assignment and moves editing into a backbone model.o
closes CNVS-930
test plan:
- make sure you can still view and edit existing assignments.
- make sure all fields in the assignment form work (enable turnitin and
assignment freezing for a comprehensive test)
- make sure submitting an assignment as a student still works
- make sure downloading and uploading submissions as a teacher still works
- make sure adding a new assignment group, group category, grading standard,
and rubric still work
- make sure the show page renders correctly for both a student and a teacher.
Change-Id: I9ca6c5d56eb386d35a62f6b816a03ebebda662d4
Reviewed-on: https://gerrit.instructure.com/16823
QA-Review: Amber Taniuchi <amber@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Stanley Stuart <stanley@instructure.com>
fixes #CNVS-2802
This provides a reimplementation of
the functionality in 'lib/submission_list.rb'.
That lib file has been used to produce
a grade book history page, but it loads
the entire history of the course at once,
which is untenable. This take all the same data,
and provides it through a paginated
API endpoint. Using this API, a rich front
end will be possible to create in order to replace
the current large grade book history page,
one that makes API calls to reveal data further d
own the tree as it is requested. This is an
unusual API endpoint in that it does not present
data as it is in the database, there is a series
of transformations that the submission data is
put through to arrive at a versioned history
where each node contains within itself some
contextual knowledge of the flow of the
submission progress (each version knows
what the grade of the version before it was,
and what the grade is today, for example).
TEST PLAN:
This is a new API endpoint and does not
yet get used by any front end code yet.
It can be played with by performing some
valid API queries against the following paths:
/courses/:course_id/gradebook_history/days
/courses/:course_id/gradebook_history/:date
^ date is like "2013-01-31" ^
/courses/:course_id/gradebook_history/:date/graders/:grader_id/assignments/:assignment_id/submissions
(yes, that last one is huge, but it does follow
the nested structure described by the original
grade book history page).
The user that is selected for testing needs to
have the "manage_grades"
permission on the referenced course. API
documentation is available on the controller class
app/controllers/gradebook_history_api_controller.rb
Change-Id: I18e0b4b967d6c20ad47b86e98adbc15b87276098
Reviewed-on: https://gerrit.instructure.com/17366
QA-Review: Clare Hetherington <clare@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
fixes CNVS-3116
add course setting to default all its announcements to
'locked.' this setting is managed from the course settings
page.
test plan:
* edit a course from its settings page and check the
'Disable comments on announcements' checkbox;
* create a new announcement in the course and verify
that it is automatically locked;
* uncheck the 'Disable comments on announcements'
checkbox, create an announcement, and verify that it is
unlocked.
Change-Id: If535abbbb0849284c8a6dfc2e6a6d42861796777
Reviewed-on: https://gerrit.instructure.com/17436
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
QA-Review: Zach Pendleton <zachp@instructure.com>
Tested-by: Zach Pendleton <zachp@instructure.com>
fixes CNVS-3765
assignment_json may write to the db when module progression is
configured
Change-Id: If0f807dc390ab1ab6fd46c4de62a65195e133b18
Reviewed-on: https://gerrit.instructure.com/17624
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
fixes CNVS-3606
Test plan:
* download some gradebook csv in a large class
* experience euphoria and surprise as your gradebook csv is quickly
delivered
Change-Id: I44e5fe14d73993d669eb6600072d6e2d125ad3cc
Reviewed-on: https://gerrit.instructure.com/17593
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
change the link for each student on the course statistics
students tab, to link to the course specific user page,
not the institutional user page
also change the permissions so that teachers
cannot visit that page by default
test plan:
* create a course with a teacher and student
* login as a student into the course (so you'll
show up in the list of recently logged-in users)
* as a teacher:
* go to course settings -> course statistics page
-> students tab
* the link on the users name should go to the
course users page (e.g. "/courses/:course_id/users/:id")
as opposed to the root users page ("/users/:id")
* also, try, as a teacher to visit the root users page
("/users/:id") for the student, confirm that you cannot visit it
with default teacher permissions
closes #CNVS-2964
Change-Id: I629448cc42de860ad3be4dfa7ff5fd32818f4fdd
Reviewed-on: https://gerrit.instructure.com/17438
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
previously, :for_masquerading_user scope was restricting
site admins that didn't have become_user permissions on
the site admin account. this commit unrestricts all users
in the site admin account.
test plan:
* create a user in the site admin account that does not
have :become_user permission in that account;
* as that user, masquerade as a user in another account
and navigate to their inbox;
* verify that their messages display.
Change-Id: Id6f9357af2f2885c6307156a49e98f66db230276
Reviewed-on: https://gerrit.instructure.com/17332
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
Fixes #CNVS-1989
NOTE: This is not a perfect solution as that would require
examining all overrides and sorting before paginating. This
solution gives a more sane default order rather than just
natural DB order.
Testing Notes:
============
* assignments should now be returned by the base assignment's
due_at.
Change-Id: I9db720bf2e24d6e2d4cd0956689223a5e9b6c654
Reviewed-on: https://gerrit.instructure.com/17536
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Willesen <jonw@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
test plan:
- rake js:test should still work and all javascript tests should still
pass.
Change-Id: I449efe29d94ea86cd2a2ee94a7e449cb19f1ff90
Reviewed-on: https://gerrit.instructure.com/17036
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Florence <ryanf@instructure.com>
QA-Review: Ryan Florence <ryanf@instructure.com>
test plan:
- rake js:test should run all 669 tests and they should still pass.
Change-Id: I358abf868ba87a3dd2e103b48ff412ce06133659
Reviewed-on: https://gerrit.instructure.com/17037
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Florence <ryanf@instructure.com>
QA-Review: Ryan Florence <ryanf@instructure.com>
when a student views a wiki page that they have permission to edit
they should be able to view the history link, else it should be hidden
fixes CNVS-2979
test plan:
- as an instructor, create a page and allow students to edit it
- view the page as a student and ensure the history link exists
- as an instructor, create another page and do not allow students to
edit it
- view the page as a student and ensure the link is not there
Change-Id: Ic16547a375b3e7546c3656c851f87ed6633a7751
Reviewed-on: https://gerrit.instructure.com/17403
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
fixes CNVS-3542
test plan:
- fill out the form to enroll in a canvas.net class
- ensure registration email contains proper website url
Change-Id: I95bf478bdb66cf8c693ed6c4cea364ba4c4fdb73
Reviewed-on: https://gerrit.instructure.com/17480
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Ericksen <marke@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
older versions of blackboard let you put crazy
characters like spaces and apostrophes in blank
IDs. these break imports, so replace them with
dashes.
test plan:
- import a blackboard course containing fill-in-
multiple-blank questions with variable names/
blank ids containing spaces or apostrophes
- edit the quiz, and notice the variable names
should use '-' in place of these
- but the answer text should not be affected
(e.g., they might have a blank named
"[what's this]", expecting the text
"what's this"; with this fix, the variable is
now named "[what-s-this]", but the accepted
text is still "what's this"
- take the quiz, and make sure it's graded
properly
fixes #CNVS-3430
Change-Id: I01abcf290b9233bba7897d9a23f3e3af5cd5896c
Reviewed-on: https://gerrit.instructure.com/17275
Reviewed-by: James Williams <jamesw@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
two problems:
1. blanks identified with a number (e.g., "I'm just a poor [1]
from a poor [2]") were not recognized
2. multiple blanks accepting the same text were not recognized
(only the last blank accepted the answer)
fixes #CNVS-3339
test plan:
- import the course in #CNVS-3339
- edit the first quiz "2005 Do Yo Remember-E"
- make sure the "Show possible answers" dropdown box shows
a possible answer for every blank
Change-Id: Ib2030eb0217be540efe0c87eb3baf13a08953eb2
Reviewed-on: https://gerrit.instructure.com/17218
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
closes CNVS-3417
test plan:
* after the migrations are run, ensure that every section has at
least one entry in CourseAccountAssociations in the database
* smoke test SIS imports
Change-Id: I261cad633788efbf4b0c64db34436ef695856fee
Reviewed-on: https://gerrit.instructure.com/17256
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Hetherington <clare@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
when creating a new observer enrollment, touch the observee's updated_at
as was as the observer's, to invalidate caches.
Change-Id: I699211115d7256c849086b23796acbdf2f5828c1
Reviewed-on: https://gerrit.instructure.com/17566
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
QA-Review: Jacob Fugal <jacob@instructure.com>
fixes CNVS-518
also included:
- observers now get visible students' section overrides in their
AssignmentOverride.visible_to scope
- fixed a bug where calling some DatesOverridable methods would
use an overridden date where you wouldn't expect (see the specs)
- added a method to get the original object from an overridden one
- made DiscussionTopicPresenter handle due dates overridden to nil
test plan notes
- keep an eye out for regressions in displayed due dates
- discussion locking behavior should be as follows
-- viewing the discussion page before the earliest applicable
unlock date should show a locked discussion page that lists
the earliest unlock date
-- viewing the discussion after the earliest unlock date should
show the discussion
-- the discussion page should show the due date when only one
due date applies
-- the discussion page should show a "multiple due dates" ui when
more than one due date applies
-- the "multiple due dates" ui should only display entries for
sections that the observer's linked students are in
-- the "multiple due dates" ui should display lock dates from the
associated section override or from the original assignment
if the section override does not override lock dates
test plan
- check an observer not observing student
-- ensure that the discussion locking behavior behaves according
to the observer's section's override
- check an observer observing one student
-- ensure that the discussion locking behaves according to the
student's section's override
- check an observer observing multiple student's in more than one
section
-- make overrides for each student's section that differ in due
dates and lock dates
-- ensure that the discussion locking behaves according to the
students' sections' combined lock dates
-- ensure that the discussion page shows a "multiple due dates"
ui when the discussion is unlocked
Change-Id: I8f2970f0962cdc60cf9a423f01a876bf0ae909d4
Reviewed-on: https://gerrit.instructure.com/17452
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
Reviewed-by: Mark Ericksen <marke@instructure.com>
fixes CNVS-3178
test plan:
1. as a student, create a discussion topic and a reply
2. as a teacher, uncheck "Let students edit or delete their own discussion
posts" on the course settings page.
3. as the student, confirm you cannot edit or delete the topic or reply
that you created
4. as a teacher, recheck the box and save
5. on the discussion index page, confirm the setting is checked in the menu
6. disable it via the menu
7. repeat step 3
Change-Id: Ib7d6ba3604370241de1145aac8e23d35f78591c4
Reviewed-on: https://gerrit.instructure.com/17535
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Joe Tanner <joe@instructure.com>
QA-Review: Cam Theriault <cam@instructure.com>
refactor so that adding settings is less painful, and accessors are
automatic. change code to use accessors everywhere, and ensure settings
are handled by course import/export. also fix filter_attributes_for_user
call so that it correctly excludes hide_final_grades in api responses for
students
test plan:
1. toggle course settings (hide_final_grade / hide_distribution_graphs /
allow_student_discussion_topics)
2. they should work as advertised
Change-Id: I152e2236099b1bc1a42730babef12ac9cc2f9733
Reviewed-on: https://gerrit.instructure.com/17534
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Joe Tanner <joe@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
fixes #CNVS-3553
When you view a page in canvas, the h tags (ie: h1, h2, h3) can be out
of order. This is bad for accessibility reasons as well as html
symantics. This commit fixes most of these problems by remove h tags in
places we don't need them as well as helping to fix the order on some h
tags. Extra styling was also needed to get his to work.
Test Plan
1. Visit the follow pages and make sure there are no styling items
broken.
* http://localhost:3000/about
* http://localhost:3000/courses/123/collaborations
* http://localhost:3000/courses/123/discussion_topics
* http://localhost:3000/courses/123/discussion_topics/456
* http://localhost:3000/courses/123/announcements
2. Headers should also be in order for these pages not skipping any
numbers. For instance, you can't have h1, h2, h4 it must be h1, h2, h3,
h4. You can test this by opening the console in the browser and running
this jquery command $('h1, h2, h3, h4, h5, h6')
Change-Id: I8017e335d52850a44ecef974b8e0722a3f768c37
Reviewed-on: https://gerrit.instructure.com/17489
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Bracken Mosbacker <bracken@instructure.com>
adds new "Send messages to the entire class" permission, which defaults
to off for students. controls whether or not the "Select All" checkbox
and the checkboxes next to Everybody/Teachers/Students/etc. are
available in the recipient finder.
test plan:
1. As a teacher, confirm that the Everybody/Teachers/Students/Select All
checkboxes are available in any courses you teach
2. As a student, confirm that the Everybody/Teachers/Students/Select All
checkboxes are not available in any courses where you are just a
student
3. In course permissions, let students "Send messages to the entire class"
4. Confirm that students now see all those checkboxes
Change-Id: I5bca82414dc6e1e2f19abdd2e3257ca935d6f2c4
Reviewed-on: https://gerrit.instructure.com/17519
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Joe Tanner <joe@instructure.com>
QA-Review: Cam Theriault <cam@instructure.com>
this should have been done when ContextSearch was first added, since it
was a straight up copy
test plan:
1. the conversations recipient finder should work
2. the conversations filter finder should work
3. the change section dialog (for a course member) should work
4. the observer dialog should work
Change-Id: I405941fd560c2e92744cb04c9591a58c3a7b2fa4
Reviewed-on: https://gerrit.instructure.com/17499
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Joe Tanner <joe@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
Fixes CNVS-2994
NOTE: This fix is not specific to Chrome. It appears it was a problem
in all browsers.
Testing Notes:
===========
* In a discussion, click the "Reply" area under the top-level discussion topic
and verify that the focus is moved to allow immediate typing in the input.
* In a discussion, click the "Reply" area under another user's DiscussionEntry
reply to the main topic. (at a different level than the root topic). Verify that
the focus is moved to allow immediate typing in the input.
Change-Id: Ie45fc7786505fd1cf9642dd77112675385936330
Reviewed-on: https://gerrit.instructure.com/17498
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Willesen <jonw@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
* creating a new course(...) puts the Course on the shard for the
target account (default: Account.default). if it creates a new
teacher, that will also be on the course's shard
* creating a new account_admin_user(...) puts the AccountUser on the
target account's shard. if it creates a new user, that will also be
on the account's shard
* if a new course_with_user(...) creates a new user, put the user on
the same shard as the course
Change-Id: I3b9675fa0a6d4fd3793bf2a38a7c7accdacd987f
Reviewed-on: https://gerrit.instructure.com/17568
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
QA-Review: Jacob Fugal <jacob@instructure.com>
when all possible freezable attributes were set, you could not edit non-frozen
attributes through the api. this also fixes an issue where partially frozen
assignments show the "lock when copied" checkbox.
fixes CNVS-3716
test plan:
- enable the assignment freezer plugin
- check all the possible frozen attribute options
- try to update something not in the list
- it should work
Change-Id: I1ec860f693fc18ddd38684514cddf21749dc5ba1
Reviewed-on: https://gerrit.instructure.com/17547
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Reviewed-by: Stanley Stuart <stanley@instructure.com>
test plan:
- render the documentation; ensure the Admins API docs lists
these endpoints:
- Make an account admin (existing)
- Remove account admin (new in this commit)
- List account admins (new in this commit)
- exercise these three endpoints by listing, creating, and
destroying account admins, with and without custom
roles
fixes #CNVS-3506
Change-Id: Ie4c3c90de2e8891248df352af68a4e5bc9d2fb2a
Reviewed-on: https://gerrit.instructure.com/17497
QA-Review: Adam Phillipps <adam@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Fixes #CNVS-3710
Testing Notes:
===========
* Using an editor like RubyMine, add an environment setting for development
called DISABLE_RUBY_DEBUGGING with a value of something like "1". Specific
value is unimportant.
* Start a 'debug' session and set breakpoints and verify they fire.
* Using console based debugging, verify that the execution pauses
when a DEBUG statement is reached.
Change-Id: Iec59efeb291827ee600b7184bce3990145189b47
Reviewed-on: https://gerrit.instructure.com/17540
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Willesen <jonw@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
It was changed to a string from a symbol in the html5
video commit
Test Plan:
* doing a media_download?entryId=0_abcdefg&type=mp4 for a media object should work
Change-Id: I65e0cefa3163351b9737c247d1216699f9934182
Reviewed-on: https://gerrit.instructure.com/17549
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
fixes CNVS-3224
test steps:
- create an announcement which is sent to students
- ensure that the links in the announcements directs to the
announcement page and not the index page
Change-Id: Id0987d409ead5103679745e6129938e6985dfb22
Reviewed-on: https://gerrit.instructure.com/17374
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Willesen <jonw@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
In anticipation of adding a faster google docs listing, first
refactor the specs.
Test Plan:
- google docs should behave as before
refs CNVS-3592
Change-Id: Ic62d0cd170f491b5f36f516c0a71fde367dab0b2
Reviewed-on: https://gerrit.instructure.com/17548
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
QA-Review: Clare Hetherington <clare@instructure.com>
Fixes #CNVS-3709
Testing Notes:
===========
* Using Ruby 1.8.x, run the calendar_events_api_spec.rb tests
and verify that they pass. Previously 3 tests would fail
with Array#sort_by! not being defined.
Change-Id: I39c998c7f788c2fee0f9940824fba4ede3cda52b
Reviewed-on: https://gerrit.instructure.com/17538
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
QA-Review: Zach Pendleton <zachp@instructure.com>
fixes CNVS-3556
wimba passes dates as MM/DD/YYYY, but ruby 1.9 expects date
strings given to `parse` to be in DD/MM/YYYY format. this
commit specifies a date format to avoid this issue and
remain compatible with both 1.8 and 1.9 servers.
test plan:
* create a wimba conference;
* visit its archive;
* verify that canvas redirects to wimba and does not
throw a 500 error.
Change-Id: Ic822a01f950b2465a5328a0b80b8b11c3e63c99d
Reviewed-on: https://gerrit.instructure.com/17507
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Ericksen <marke@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
Fixes an issue in the conversations selenium specs where the driver was
looking up old element in the page due to the way we were checking for
their existence, and if they did not exist, looking them up.
Also make sure that the elements get refreshed after the message form
submit happens because that appears to modify the dom pretty heavily.
Change-Id: Ib65b9619346acc05d7a69777a6413da286440ee8
Reviewed-on: https://gerrit.instructure.com/17487
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jake Sorce <jake@instructure.com>
QA-Review: Jake Sorce <jake@instructure.com>
The documentation regarding creating an assignment override with
`group_id` is made more clear and the prerequisites are better stated.
The group assignments feature and the dependency between
`group_category_id` and `group_id` in the stages of assignment creation
and assignment override creation are explained by a diagram sitting in an
appendix entry at the bottom of the Assignments API documentation page,
Appendix: Group assignments.
The diagram image in the appendix is exported out of the raw .xmind file
in doc/diagrams. You can edit that diagram using the XMind program
(http://www.xmind.net/), it's free to use and cross-platform (JAVA).
---
Testing:
1. generate the API docs: `bundle exec rake doc:api`
2. navigate to the Assignments API page
(link: public/doc/api/assignments.html)
3. take a look at the "Create an assignment override"
section
4. also take a look at the bottom of the page
fixes #CNVS-1204
Change-Id: I07660a7e8a58aba2e307849a79557067a7ea77fb
Reviewed-on: https://gerrit.instructure.com/17454
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Useful things the commit brings:
1. Source documentation can now include images and out-of-source examples
2. Source documentation can now be supplemented by "appendixes" for
documenting advanced or uncommon usage, auxiliary examples, or any
supplementary content
3. An implementation of the YARD @see tag that utilizes the canvas
YARD linkify helper
Necessary changes for integration were:
* Gemfile now includes 'yard-appendix'
* Rake task for generating API docs (doc:api) made more readable and
now supports asset migration (images and examples)
* Canvas YARD 'api' template now handles :appendix sections provided
by the plugin
* Canvas YARD 'linkify' helper modified:
* uses a shared linker to look up a topic and controller
* overrides default handling of 'Appendix: ' links
* defaults to using the @object title as the link body when no title
was explicitly passed instead of the path.to.object
* Canvas YARD 'fulldoc' handler respects a
DOC_OPTIONS[:all_resource_appendixes] that when turned on would
generate appendix entries in the All Resources section[1]
[1] I've already implemented this functionality because I misread the
requirement (as seen in PB 6) so I thought we could keep it around and
toggle it if need be. The options are inside lib/tasks/docs.rake
---
Testing:
To verify that the changes do not alter or affect the current API docs,
fire up a terminal and do the following (inline comments for directions):
```bash
cd /path/to/canvas;
# generate the original docs before pulling these changes
bundle exec rake doc:api
mv public/doc public/doc_original
# checkout these changes into a branch... after that:
bundle install
bundle exec rake doc:api
diff -r -y -q public/doc_original/api public/doc/api
```
The output of the last command should look like this:
Only in doc/api: examples
Only in doc/api: images
To test the actual @!appendix functionality:
* see https://github.com/amireh/yard-appendix for directions on how to
define Appendix entries
* write an Appendix in any controller, optionally reference it in some
method (using @see or {link})
* Appendix entry should be shown at the bottom of the controller's doc
page
* reference to the appendix entry should take you to it
Alternatively, you can check-out the gerrit change 17454 at
https://gerrit.instructure.com/#/c/17454/ which utilizes this
functionality.
Change-Id: Id667b77ff8d36b0f503e0f6752045e3d05bc3649
Reviewed-on: https://gerrit.instructure.com/17453
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
also:
- added setParam to Collection.coffee
- fixed an issue in CollectionView where calling
`add` on the collection double rendered the
item if the collection was previously empty
- updated InputFilterView to send the value on
`enter` event
test plan:
- see specs
Change-Id: I00f07a86d1d58b88fe157d30c25d39c12309387c
Reviewed-on: https://gerrit.instructure.com/17543
Reviewed-by: Jon Jensen <jon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Ryan Florence <ryanf@instructure.com>
fixes #CNVS-3711
test plan:
- go to a course settings page
- you should not see the contents of the Reset Course Content
dialog underneath the Reset Course Content button
(see screenshot attached to ticket)
Change-Id: I98c3f0d833f3e2dc7d0be1c86ddb62ea44b291db
Reviewed-on: https://gerrit.instructure.com/17542
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
- spec'd out the whole thing
- documented the whole thing
- fixed `optionProperty` to not extend the
super class's option properties
- added `child` constructor method for saner
child views, deprecating `views` option config
- added support for @model.present() and
@collection.present()
- refactored a bit
Change-Id: I20ac13732893e3a7f07f4f3adfb2bb903d5a6157
Reviewed-on: https://gerrit.instructure.com/17521
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
QA-Review: Ryan Florence <ryanf@instructure.com>
FIXES #CNVS-3625
This attribute was already documented,
but was not actually being included in the
json that the assignment API spits out.
I added the external_tool_tag_attributes
json in cases when the assignment actually
had an external_tool_tag (and had
that as a submission_type).
TEST PLAN:
1) use the API to access an assignment
that has an external_tool_tag
2) you should get "external_tool_tag_attributes"
as an attribute in the assignment json. It should
have the url of the external tool and whether
or not it's a new tab.
Change-Id: Ieebae7df5c169e8c5ae3e31739544014f53c27d3
Reviewed-on: https://gerrit.instructure.com/17509
QA-Review: Clare Hetherington <clare@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Change-Id: I38c24473f34d04e054db3c2879c3a7337a6b578a
Reviewed-on: https://gerrit.instructure.com/17393
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
test plan
- create an assignment with no due date
- create a section override for the assignment with a due date
less than one week in the future
- as a student not in the overridden section, ensure that pages
that include the "Upcoming Assignment" list do not crash
Change-Id: I877fd8eabf31b68fb071903050ab3eb228050a70
Reviewed-on: https://gerrit.instructure.com/17520
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>