fixes#10417
test plan:
- update a file and set the unlock_at parameter
- it should work
Change-Id: I4f776169356573fcae24ee6cf712fc1aabb4812c
Reviewed-on: https://gerrit.instructure.com/13505
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
The assignment title and points possible in canvas are now
sent.
Test Plan:
* Create an external tool assignment
* Launch the tool in a new tab so that you can inspect the form
* Inspec the form and notice that the assignment title/points_possible are there
closes#10385
Change-Id: Ib9a3490d78ff6ff5ee2aa2ae49e3ce2faaf081ff
Reviewed-on: https://gerrit.instructure.com/13454
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
fixes#9193
previously, the "gear" links on the discussion page read "manage."
they now read, "manage discussion," and "manage discussion entry"
respectively.
test plan:
* using voiceover or another screen reader, navigate to
the discussions page and tab to the gear link at the top
of the discussion and at the top of a response;
* verify that the screen reader reads, "manage discussion" and
"manage discussion entry" on the appropriate links.
Change-Id: Ie2de22f09c86340c2cdc551fa32b72ee53beaafa
Reviewed-on: https://gerrit.instructure.com/13443
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Ericksen <marke@instructure.com>
fixes#7939
this change adds an account setting which tracks the sub-account responsible
for containing manually created courses. this was being tracked by name, which
caused duplication problems if the account was renamed or the locale was
changed.
test plan:
- in an account that already had a "Manually-Created Courses" sub-account
- create a new manual course and make sure it goes into that sub-account
- change the account locale to be non-english
- create another manual course and make sure it still goes there
- change back to english and rename the account to something else entirely
- create a final manual course and make sure it still goes to that sub-account
Change-Id: Iaa01eae15cf5e4c7707a049e704fb079f77e0a21
Reviewed-on: https://gerrit.instructure.com/13445
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Test plan:
- make an external tool with course navigation
- retrieve the external tool with the api and make sure the
course_navigation section is present
Change-Id: Icb0bc77c97f0ce8b967866449ef9964189b068fd
Reviewed-on: https://gerrit.instructure.com/13415
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
fixes#8644
when using the canvas mobile login screen, use an account's forgot
password url if it exists. otherwise use the standard canvas form.
test plan:
* add an account_authorization_config with a change_password_url
(e.g. LDAP);
* visit the mobile login page (can be accessed by changing your
user string to iPhone Safari);
* click the "I don't know my password" button and verify that
it links to your forgot_password_url.
Change-Id: Ifa1bb8d83b02d12acdc6db6d521b2fd919a04bc6
Reviewed-on: https://gerrit.instructure.com/13259
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Joe Tanner <joe@instructure.com>
closes#10201
test plan
* run report
* report should contain all active accounts, users, course ...
Change-Id: I591300670fb5fea0ca01b74c5fe90f0610997d24
Reviewed-on: https://gerrit.instructure.com/13260
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
fixes#10386
test plan:
- try setting a file to be hidden in the api
- it should succeed
Change-Id: I9f389d394a2a1deba4580711c69ce90a6dd2d969
Reviewed-on: https://gerrit.instructure.com/13455
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
fixes#10268
group invite wasn't searching in the correct account when trying to match user
emails passed in to users. group membership creation was broken for
non-community account level groups to to a missing permission.
test plan:
- create an account level group
- invite someone who belongs to that account to the group with the api
- they should be added (it should not create a temporary user)
- now add someone else directly with the api be creating a membership for them
- it should work
Change-Id: I7bb7a22b83e13ed6e9575aa059e3e3463e0541f9
Reviewed-on: https://gerrit.instructure.com/13337
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
now that we also cache group permissions (in addition to course ones),
start grabbing the permissions in load_all_contexts. although we cache all
of them, only return ones that are requested (to keep js ENV etc. small)
slight refactor of conversations around permission stuff, and added the
ability to specify an :if check for a permission (i.e. the permission is
only on for a user if the policy says so *and* the :if method returns
true)
test plan:
n/a, see specs (new one, plus existing ones that exercise
load_all_contexts in its various capacities)
Change-Id: I82f4f71edf221c6c859a15156224d8e5b719edc5
Reviewed-on: https://gerrit.instructure.com/12983
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Test plan:
* change the filename of one of your avatar attachments to something
made up
* run the migration; make sure nothing fails
Change-Id: I767658a2c533d84ce40daac3a7d44602ebe4f37d
Reviewed-on: https://gerrit.instructure.com/13430
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
also refactored files and moved specs to new
files to create better organization
Change-Id: I8212a91ea640ee7485b8554f10a357d9bf7fe92d
tested:
* should not see an assignment in
unpublished course
* create a student creatable group
* due dates enforced
* locked until date enforced
* assignment groups
* group assignments
* validate not graded assignment
* validate external tool assignment
* validate discussion assignment
Reviewed-on: https://gerrit.instructure.com/12890
Reviewed-by: Bryan Madsen <bryan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
* fix some invalid syntax that's snuck in recently
* fix an issue with initializing tempfiles in Canvas::HTTP
* fix some "can't modify frozen object" errors in specs
* upgrade mocha to 0.12.3
Change-Id: I6b6f25bcfff2466774e2941d35fafb7af7c50569
Reviewed-on: https://gerrit.instructure.com/13344
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
also added parameter to for generating documentation
Change-Id: I9ad1186b3168671d306985c5cc7ad4b0784a231b
Reviewed-on: https://gerrit.instructure.com/13347
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
this allows you to pass a user_id to the course users api endpoint and get back
the specific page within the pagination results that contains that user.
test plan:
- hit the course users api endpoint for course with many students in it, and
note the results.
- now hit the endpoint again and pass a user_id of one of the users not
containing in that first page.
- you should get back a different set of results that contains the user you
passed in.
Change-Id: I6df4364b5f9e32c30eb3265b541908ddb950762e
Reviewed-on: https://gerrit.instructure.com/13252
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
Made popover styles part of general styles. Added example to stylesheet page.
Testing Plan
==========
* Visit /profile/communication page
* Verify that a twitter-bootstrap style popover displays on hover of category name
http://twitter.github.com/bootstrap/javascript.html#popovers
* Verify appears correctly on /stylesheet page
Change-Id: I336a066c86f832e5cec3f1108da77d49692b2b12
Reviewed-on: https://gerrit.instructure.com/13038
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
1. users should be able to delete their own
discussions/announcements in groups and courses
2. users should not be able to delete/lock other
user's items unless they are an admin
Change-Id: I92b881cbaaacbb2e8e9d583fe936a275f8254957
Reviewed-on: https://gerrit.instructure.com/13407
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Zach Wily <zach@instructure.com>
bring the functionality back in line with the old UI, i.e.
* ensure that group-level topics only have the threaded replies option,
and possibly the podcast feed (if the user has moderate rights)
* ensure that group-level announcements have no options
* ensure that course-level announcements only have the delay posting and
replies-not-visible-till-user-posts options
test plan:
1. as an teacher/admin,
1. go to create a course-level topic. confirm all options are present
2. go to create a course-level announcements. confirm you can have the
options outlined above (3rd item)
3. go to create a group-level topic. confirm that you can make it
threaded and a podcast feed (1st item)
4. go to create a group-level announcement. confirm that there are no
options (2nd item)
2. as a student who can create topics in a course,
1. go to create a course-level topic. confirm that only the threading,
delayed posting, and user-reply settings are present
2. go to create a group-level topic. confirm that you can make it
threaded (1st item)
3. go to create a group-level announcement. confirm that there are no
options (2nd item)
Change-Id: Ifa1423181b226bd9ef982db514533c471d66ac1f
Reviewed-on: https://gerrit.instructure.com/13400
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Zach Wily <zach@instructure.com>
test plan:
- In a course where "Let Students attach files to Discussion Posts"
check box is checked (under "more options" when editing course details)
- Create a group and add a student to the group
- Log in as the student and create a new discussion or reply to a discussion
- Click on the choose file button and attach something
- The attachment should be saved
- Also verify that the student doesn't have the option to attach
a file when the above checkbox is not checked
Change-Id: I56f4e2e29a8350a50a85a926f8ca9493a1c3fd0c
Reviewed-on: https://gerrit.instructure.com/13365
Reviewed-by: Jon Jensen <jon@instructure.com>
Tested-by: Bryan Madsen <bryan@instructure.com>
fixes 10321
test plan:
1. login and navigate to discussions
2. click on the button to create a new one
3. notice the Switch Views link above the text
editor is not being overlapped by the text editor
4. do the same for an announcement
Change-Id: I7af22f5b4a787d0a1e6b8cd2bdf4a4901c82d56d
Reviewed-on: https://gerrit.instructure.com/13406
Tested-by: Zach Wily <zach@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
When creating a new quiz and selecting all possible check-box options on the
right side, the quiz save and publish buttons got pushed down and were
clipped but an overflow: hidden setting of a containing page element.
Testing Notes:
==========
* Create a new quiz and don't create any questions yet
* Check all the options available on the right side.
* The publish and save buttons should remain visible
at all times.
Change-Id: Ib7307f4964aaf701f03d7664b6641bbba66b7d5d
Reviewed-on: https://gerrit.instructure.com/13404
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Zach Wily <zach@instructure.com>
quiz comment arrows were being hidden in IE because its gradient
filter (which was being used) hides overflow. this commit fixes
it by displaying quiz comments with a solid background in IE.
test plan:
* take a quiz with comments on questions and/or answers;
* view the quiz results and verify that the comment bubbles
display as expected (with a triangle above them).
Change-Id: I77a7f1896fc7951f7894b09a1ddf561aea9db783
Reviewed-on: https://gerrit.instructure.com/13385
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
It's actually not used anywhere in the code,
and is confusing people that are trying to
translate Canvas into different languages.
fixes#10122
test plan:
- create a formula question
- make sure the built-in function still work
(sin, cos, abs...)
- click the "Need Help?" link
- click the "Functions" tab
- make sure the dropdown shows a list of functions
with correct explanations
Change-Id: I9264ee6e286d7c51fe0d39fda53c248e70431290
Reviewed-on: https://gerrit.instructure.com/13299
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jake Sorce <jake@instructure.com>
when an element didn't have an explicit opacity set,
disableWhileLoading would leave the opacity at 0.5 in
IE.
this commit fixes the problem by assuming that, if no opacity
is set, it should be 1.
test plan:
* create a course with students;
* visit the users page of that course (/courses/:id/users)
in IE8;
* verify that the student and teacher lists load and are
displayed as fully opaque.
Change-Id: Iad16cfbe01cf841209d1ca6ddb99b86eabd69d75
Reviewed-on: https://gerrit.instructure.com/13287
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
when viewing flagged questions during a quiz in IE8, use transparency
in the png instead of css opacity to prevent display issues in IE.
this commit also adds some spacing to the quiz flag icons in the
sprite so they don't look as bad when the user is zooming in his/her
browser.
test plan:
* take a quiz in IE8;
* verify that question flags look and function as expected.
Change-Id: I0db69d5cda62ef9ad9d9ec296e83cedcd347e002
Reviewed-on: https://gerrit.instructure.com/13384
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
This new gem version supports SSL over IMAP. The advantage of using IMAP
for mailman instead of POP3 is that messages are deleted one-by-one as
they are processed for IMAP, rather than all at once at the end with
POP3. So if the processing of messages gets aborted by an exception or a
killed process, the messages won't get processed again the next time
IncomingMessageProcessor runs.
test plan: test that incoming emails are still processed with the
current config. then change the config to use imap with ssl, and verify
that messages are still processed.
Change-Id: I3af158de66051f4c93068cde3da17a670493787b
Reviewed-on: https://gerrit.instructure.com/13352
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
test plan:
1. Go to /styleguide
2. Hover over the tooltip examples at the bottom
of the page
Change-Id: I3f60161995be6a3fbdf4bd1a1b256096e557c0c3
Reviewed-on: https://gerrit.instructure.com/13331
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
1. fixes editing question banks
2. fixes issue with convertApiUserContent
test plan:
1. edit a question bank, you should not get a page error
2. load a discussion w/ enhanced user content (e.g. videos), you should
not get javascript errors
Change-Id: I8aa464dcc0f479f9383fc7923c3803cfc0bf8a04
Reviewed-on: https://gerrit.instructure.com/13387
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Bryan Madsen <bryan@instructure.com>
fixes#10244
test plan:
1. login
2. click on Settings link at the top right
3. verify page title says User Settings
4. verify wording changed in breadcrumb
5. verify wording changed in header
6. click Edit Settings link and verify
link hides
7. verify button says Update Settings
8. verify delete link says Delete My Account
9. click the Cancel link
10. verify Edit Settings link shows again
11. click Edit Settings, edit a setting
click Update Settings link
12. verify Update Settings button shows
after a new page load
Change-Id: Id200db687d79f24cceca8c2f93a720903b76471f
Reviewed-on: https://gerrit.instructure.com/13321
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bryan Madsen <bryan@instructure.com>
test plan:
* create a non-graded discussion topic through UI
* verify that the topic is really "not graded"
* go update the discussion topic through the UI
* verify that it is not marked as graded
Change-Id: Ic4f6194b2c4235b07670986212625d61dae366d5
Reviewed-on: https://gerrit.instructure.com/13379
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Zach Wily <zach@instructure.com>
* add "Switch Views" to topic and reply rich text editors
* ensure user content (e.g. kaltura videos) gets properly enhanced so it
shows up correctly when viewing and editing
* fix issue where canceling editing of an reply RTE still caused the
changes to be reflected in the DOM
* fix view data-bindings so that they htmlEscape by default (we only use
them in a couple places so far)
test plan (topics):
1. edit a topic and add a kaltura video
2. confirm that it shows up correctly and works on the view page (markup
should be an enhanced <a/>, not a <video/>)
3. edit the topic again and confirm that the kaltura placeholder shows up
correctly
4. also confirm that the "Switch Views" link is present and functional
test plan (replies):
1. view a discussion topic and start to edit a particular reply
2. hit the cancel link
3. confirm that your changes do not stick
4. edit the reply again and add a kaltura video
5. confirm that it shows up correctly and works after saving (markup
should be an enhanced <a/>, not a <video/>)
6. confirm that it shows up correctly and works after reloading the page
7. edit the reply again and confirm that the kaltura video placeholder is
present
8. also confirm that the "Switch Views" link is present and functional
Change-Id: Id68eebf45df5800f776247d156826f21728ec280
Reviewed-on: https://gerrit.instructure.com/13377
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Zach Wily <zach@instructure.com>
allow users to uncheck all options and have the changes stick. fixes issue
with checkbox handlebars helper so that it behaves like the rails one (now
include a hidden input so that a 0 gets posted when not checked)
test plan:
1. create a discussion, checking/setting all options
2. edit the discussion and confirm everything is still set
3. uncheck/unset all the options and save
4. edit the discussion again and confirm that all changes stick
5. repeat steps 1-4 for announcements
Change-Id: I08f93b16ed372a020bf10e6d06015329bbffcab2
Reviewed-on: https://gerrit.instructure.com/13348
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Zach Wily <zach@instructure.com>
test plan:
- Create a new discussion. Can be threaded or not.
- Post several replies on the discussion, some replying directly to the topic, some replying to the replies.
- Note the number of comments that are direct replies to the main topic.
- Go back to the discussion topics page.
- The number of replies listed should equal the total number of
replies and sub-replies.
Change-Id: Ie960eb27c96fa319c7c2a914d9ba862e6055e2e9
Reviewed-on: https://gerrit.instructure.com/13263
Reviewed-by: Mark Ericksen <marke@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
ensure that external tools link is visible
test plan:
1. go to the announcments page in IE
2. the "Add External Feed" link should be visible
3. it should work
Change-Id: I167ff8e1ca2677eb41902c39752fb4a3312300c7
Reviewed-on: https://gerrit.instructure.com/13339
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
test plan:
1. edit a quiz in IE
2. you should not see a weird margin around the questions, a white line
above the new question buttons, or extra lines below all the questions
Change-Id: I483164492a397a33e220b052e1edb8f5fb724298
Reviewed-on: https://gerrit.instructure.com/13372
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Zach Wily <zach@instructure.com>