Commit Graph

64 Commits

Author SHA1 Message Date
Alex Boyd 4e58faa8d4 Add a feature flag to wrap calendar event titles
Fixes CNVS-25348

Test plan:
 - Enable the "wrap calendar event titles" feature on an account
 - As a user on that account, make a calendar event with a really
   long title
 - Ensure that it wraps in month view
 - Disable the feature flag
 - Ensure that the event is now truncated at one line

Change-Id: If9d2bd7090c72596ebe30d9f5c8b68f7948cdcb7
Reviewed-on: https://gerrit.instructure.com/74707
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Alex Boyd <aboyd@instructure.com>
2016-03-25 18:23:46 +00:00
Andrew Butterfield 53b1e3a1c8 Calendar control now behaves like tabs
fixes CNVS-25666

Test plan:
* Visually the appearance of the calendar button control should be the
  same as it always has been
* For KO and SR users when the calendar button control is tabbed to, the
  active button should receive focus
* The following constraints should be true no matter which button in the
  calendar button control has focus
  * When tab is pressed and a button in the calendar button control
    already has focus, focus should transition to the next focusable
    element in the DOM outside of the calendar button control
  * Similarly, when shift+tab is pressed focus should transition to the
    previous focusable element in the DOM outside of the calendar button
    control
* When using the calendar button control with a SR it should announce
  itself as a tab list and state which tab is currently selected
* As new tabs are activated using the arrow keys the SR should announce
  which is currently selected
* Pressing the left and up arrow keys should change the active button to
  the previous button in the calendar button control and the calendar
  view should be updated to the newly activate button's view.
* This behavior should wrap around when the beginning of the list is
  reached
* Pressing the right and down arrow keys should change the active button
  to the next button in the calendar button control and the calendar
  view should be updated to the newly activate button's view.
* This behavior should wrap around when the end of the list is
  reached

Change-Id: I308b6cd121d71a7c24bbb7c235aa99b1d5250d44
Reviewed-on: https://gerrit.instructure.com/70237
Tested-by: Jenkins
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
QA-Review: Adrian Russell <arussell@instructure.com>
2016-01-18 16:14:15 +00:00
Joel Hough b58d10c966 make "Calendar Feed" link into a button
fixes CNVS-25890

test plan
- ensure that the "Calendar Feed" link on the right sidebar of the
 calendar can be activated via spacebar in all supported browsers

Change-Id: I79d952cf5b3af4f4da3143ec48fd3d531ebf630a
Reviewed-on: https://gerrit.instructure.com/69159
Tested-by: Jenkins
Reviewed-by: Andrew Butterfield <abutterfield@instructure.com>
QA-Review: Heath Hales <hhales@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>
2016-01-09 17:58:37 +00:00
James Williams 3c37806937 send individual messages through scheduler for over 100 students
test plan:
* have over 100 students available to message through the
scheduler for an assignment group
 (or you can reduce the threshold in the console with

Setting.set("max_group_conversation_size", "X")

where X is a more reasonable number, like 5

* it should work

closes #CNVS-23190

Change-Id: I65eb65eb4f523706bc12886504b0827041ddbf5f
Reviewed-on: https://gerrit.instructure.com/66305
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Ryan Allen <rallen@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
2015-11-03 20:57:39 +00:00
Joel Hough 361f0a2c6e don't toggle calendar sidebar lists with hidden button
fixes CNVS-23326

test plan
- see repro steps on the jira ticket

Change-Id: Idf175a9afed061e7cb367ffc1a2357aca26bb881
Reviewed-on: https://gerrit.instructure.com/66229
Tested-by: Jenkins
QA-Review: Adrian Russell <arussell@instructure.com>
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>
2015-11-02 20:40:56 +00:00
Chris Hart 42be3ed0b2 (NUI) Fix broken permissions and files layouts
Fixes: CNVS-23435, CNVS-23601

Scoping the new UI flexbox layout to the absence of
the .full-width body class broke a couple of layouts,
so we are adding a new class to full-width pages
in Canvas (speedgrader, conversations) that break
when the flexbox layout is added.

This will fix the broken Files and Permissions layouts.

Test plan:
- Turn on the New UI
- Go to [your course] > Files. Make sure the layout
  is back to normal (two columns)
- Go to Admin > Permissions. Make sure the layout
  is back to normal (two columns)
- Also check Speedgrader and Conversations to make
  sure they're working as usual.

Change-Id: I2119d6a49d95d7a7d7ebc792bb2fe014f3ef8da2
Reviewed-on: https://gerrit.instructure.com/63929
Reviewed-by: Jennifer Stern <jstern@instructure.com>
Product-Review: Jennifer Stern <jstern@instructure.com>
Tested-by: Jenkins
QA-Review: Nathan Rogowski <nathan@instructure.com>
2015-09-24 20:17:32 +00:00
Jennifer Stern ff0ea7c11d Fix theme preview alert on inbox page
fixes CNVS-23304

Note, this change affects all full-width pages
(inbox, gradebook, speedgrader, files, calendar, role overrides)

Test plan:
* Verify there is no change to the layout on the above pages
* Make a change to the theme in the theme editor and preview
* Navigate to the above pages again and verify that the preview notice appears
at the top of the page

Change-Id: I72d8a6ba347ab7f19438813d6880d0f7216e952d
Reviewed-on: https://gerrit.instructure.com/63533
Reviewed-by: Chris Hart <chart@instructure.com>
Product-Review: Chris Hart <chart@instructure.com>
Tested-by: Jenkins
QA-Review: Myller de Araujo <myller@instructure.com>
2015-09-22 14:54:44 +00:00
James Williams daef59589d rails4: fix view specs
rails4 removed the automatic initialization of a local variable
matching the name of a partial view
 (e.g. setting `course` to nil in _course.html.erb)

also helper methods are protected so they cannot simply be
delegated to the spec controller anymore

refs #CNVS-21596

Change-Id: I7ce8b8a0084602a93f8ac571ee5c98740cb861d1
Reviewed-on: https://gerrit.instructure.com/58718
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
2015-07-17 20:41:55 +00:00
Ryan Shaw f6edb77702 s/jammit_css/css_bundle
with the new css stuff, we don't actually use
jammit so jammit_css has been renamed to css_bundle.

we left an aliased jammit_css and marked it deprecated
so these all still worked but spit out a deprecation warning.

Change-Id: Ib74037711f559f64851d9379644479587c1f83f2
Reviewed-on: https://gerrit.instructure.com/55888
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2015-07-07 21:26:35 +00:00
Chris Hart fb5529c73d Responsive Syllabus
Fixes: CNVS-19192

* * * *
NOTE: THIS COMMIT AFFECTS NEW STYLES ONLY!

Code reviewer(s): Please turn on New Styles if you
pull down the changeset.

QA reviewer(s): Because the new styles UI is still
incomplete, please review this to see if we've broken
anything in the current UI for this feature. Once
the new styles are completely built out, we plan on
re-QAing each and every Canvas feature with the new
styles flag ON. (However, if you'd like to see the
new UI, you're more than welcome to check it out!)
* * * *

This commit makes the Syllabus UI responsive down to
tablet-size (after which point you should see scrollbars
preventing the layout from getting any smaller).

This commit also updates the styles -- mostly in the
sidebar content (mini-cal and table). I made some
small changes to the styles of the main syllabus
table, but mostly left it alone because it's a pretty
complex feature. It could use some look-and-feel TLC
down the road.

QA Test Plan to test the current UI:
- Make sure the Use New Styles flag is OFF.
- Open a course with plenty of assignments, etc.
- Click on the Syllabus link in the left-side
  course nav.
- Make sure Syllabus looks and works exactly the
  same as it currently does on Beta.

Change-Id: I04cf77c7d78a77885b0fc42437d5cae09c4456a0
Reviewed-on: https://gerrit.instructure.com/53500
Tested-by: Jenkins
Reviewed-by: Colleen Palmer <colleen@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
2015-05-12 14:06:00 +00:00
Ethan Vizitei b146324e9a Remove dead calendar editing code
closes CNVS-19307
closes CNVS-19308

refs CNVS-15543

As part of an accessibility review, we've been visiting date pickers.
The one in "full_calendar_event.html.erb" never seemed to get used,
and after a moderate investigation out into the surrounding process
it seems there are many things related that don't get used anymore, so
let's just kill them all.

TEST PLAN:
  - jenkins should pass
  - check creating/editing calendar events for regressions,
    there should be no behavior change
  - check viewing the calendar for various contexts (events, assignments)
    for regressions, no behavior changes

Change-Id: I05cbe93700664c485a77a164c56bd36db0aaeae3
Reviewed-on: https://gerrit.instructure.com/50509
Tested-by: Jenkins
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
QA-Review: Derek Hansen <dhansen@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
2015-03-18 17:03:03 +00:00
Aaron Cannon ffeec60c8e Accessibility: Improved labeling of many date fields.
Fixes CNVS-15542

Test plan:
- Visit all date picker fields in canvas in Canvas using a screen reader,
  including the following:
  - Calendar
  - Assignments
  - Files
  - Assignment Peer review
  - Quizzes
- Verify that each field's label (as read by the screen reader) makes it clear that the field takes a date.

Change-Id: Ib681168ef571c47994f0f834987d4a5861c7c3a1
Reviewed-on: https://gerrit.instructure.com/47933
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
2015-02-18 18:11:11 +00:00
Andrew Butterfield 0c0c036f48 Undated items toggle now works properly
fixes CNVS-17914
fixes CNVS-17915
fixes CNVS-17486

Test Plan:
* Go to calendar
* Click on undated items header in the sidebar
* Ensure that it toggles correctly
* Using the keyboard navigate to an undated item
* Ensure that both spacebar and enter open the popup
* Ensure that focus returns to the right undated item when the popup is
  closed using either ESC or the x icon
* Ensure that after editing an undated item that focus returns to the
  item when the editing popup is closed
* Ensure that after deleting an item, focus is moved to the top item in
  the list
* Ensure that when the last item is deleted that focus moves to the
  undated items header

Change-Id: I35427ebfafcc226f64373ccd6a345db729e02767
Reviewed-on: https://gerrit.instructure.com/47008
Reviewed-by: Mark Severson <markse@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
2015-01-16 16:29:53 +00:00
Derek Hansen 01cec0c6ac A11y: Calendar headings which expand/collapse content are again accessible.
This is the other half of the fix for
efdb39da2b

Fixes CNVS-16979

Test plan:
- Visit the agenda view of the calendar with a screen reader.
- Confirm that all headings that are expandable/collapsable have a control
  that can be used by screen reader users, and that it is clear that the
  control can be interacted with.
- This should also be tested in the calendar navigator section.
- Verify that keyboard only users are also able to expand and collapse these
  sections.

Change-Id: Id809c32bdbc8ba7c702083699d28b4d8520a607d
Reviewed-on: https://gerrit.instructure.com/45482
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
QA-Review: Derek Hansen <dhansen@instructure.com>
2014-12-30 21:54:23 +00:00
Andrew Butterfield efdb39da2b Removed role of button on headings
fixes CNVS-16979

Removed the role of button on the date range, calender, and undated
items heading. Changed Calendar and Undate Items headings to be h3
elements instead of h4.

Test plan:
* Log in and go to the calendar agenda view
* Using a screen reader make sure that when navigating through the page
  the date range, Calendars, and Undated Items headings are treated as
  headings and not buttons

Change-Id: Ic80201179bae77647aebdb312f5aab4dd2d27b26
Reviewed-on: https://gerrit.instructure.com/44995
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Joel Hough <joel@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
2014-12-04 17:00:36 +00:00
Matthew Berns 0491ae3211 updating h1 tags for accessibility
fixes CNVS-15104

test plan:
- visit edited pages from spreadsheet below
- test page headings with screenreader in safari
- pages should have level 1 headers for screenreader that proceed in order logically
- compare top level headers on assignments, modules, syllabus, and wiki pages
bewteen their actual pages, and their pages when called from home page selection
- headers for the above pages should be h1 on their respective pages, and h2
when called from home page, and stll proceed logically

Changes need to be tested on the following pages
default home page (/)
home page set to course modules
home page set to front page
home page set to assignments list
/courses/1
/courses/1/assignments
/courses/1/assignments/new
/courses/1/assignments/1/edit
/courses/1/discussion_topics/new
/courses/1/discussion_topics/1
/courses/1/discussion_topics/1/edit
/courses/1/gradebook#tab-assignment
/courses/1/gradebook/speed_grader(just pick any assignment w/ speedgrader)
/courses/1/groups
/courses/1/user_services
/courses/1/pages/(whatever page for course)
/courses/1/quizzes/1/edit
/courses/1/quizzes/1/take?preview=1
/courses/1/question_banks/2
/courses/1/quizzes/1/take
/courses/1/conferences
/courses/1/modules/progressions
/calendar2
/about/1
/profile/settings
/dashboard/eportfolios
/conversations?#filter=type=inbox
/accounts/1
/accounts/1/users
/accounts/1/sub_accounts
/accounts/1/account_authorization_configs
/accounts/1/groups
/accounts/1/users/2
/accounts/1/permissions
/accounts/1/avatars
/users/2/user_notes
/accounts/1/rubrics
/accounts/1/grading_standards
/accounts/1/user_notes
/accounts/1/admin_tools
/users/1/admin_merge
/users/1/teacher_activity/student/1
/users/1/masquerade

Change-Id: Ifdad341a22631c0d6773977743be741e74fecd88
Reviewed-on: https://gerrit.instructure.com/40370
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Sean Lewis <slewis@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
2014-09-17 20:59:38 +00:00
Brad Horrocks 6ec8d4d673 Hide < & > arrows in mini-cal from screenreaders
Modified core jqueryui datepicker :/
Updated mini calendar external

Fixes CNVS-14481

Test Plan:

I'd like to pair with who ever tests this. So I can get an idea how
these are tested.

	- Make sure the mini-cal is invisible to Screen Readers

Change-Id: Ib95c812746dabb5e5a2b25472923bb8e1e7c9ca6
Reviewed-on: https://gerrit.instructure.com/40298
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Alex Boyd <aboyd@instructure.com>
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Brad Horrocks <bhorrocks@instructure.com>
2014-09-05 21:45:48 +00:00
James Williams 6f2b03a56b create temporary records with .scoped.new for rails 3 compatibility
in rails 3, .new is analogous to .build for collections, so otherwise
temporary records will be added to the collection (and be autosaved)

Change-Id: I08ce7b4b35ee35646aff3afd237bbe896162a014
Reviewed-on: https://gerrit.instructure.com/30334
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
2014-02-20 20:55:11 +00:00
Landon Wilkins 533853f7f7 converts calendars/_wizard_box js_block into js_bundle
test plan:
* regression on calendars wizard box

Change-Id: Ifec88952daf715e1793f4165c604e77dd5e3e8a2
Reviewed-on: https://gerrit.instructure.com/29168
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Stanley Stuart <stanley@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Product-Review: Landon Wilkins <lwilkins@instructure.com>
2014-02-05 00:13:49 +00:00
Landon Wilkins 9ed002e411 removes unnecessary js_block in calendars
test plan:
* regression test calendars

Change-Id: Ieaa5ce930d9b35e122d15711d06040b4d4f21436
Reviewed-on: https://gerrit.instructure.com/29169
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Landon Wilkins <lwilkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Landon Wilkins <lwilkins@instructure.com>
2014-02-05 00:13:11 +00:00
Jon Willesen 9f74c741e7 add drag-and-drop capability from month view to mini-calendar
fixes CNVS-10398

test plan:
 - navigate to calendar2 month view. this change does not apply
   to week view, agenda view, or to scheduler.
 - drag an event with a date and time to mini-calendar. UI
   should update and event should now be scheduled on the
   dropped date at the original time.
 - drag an all-day event to the mini-calendar. event should be
   rescheduled to the dropped date and remain an all-day event.
 - drag a midnight assignment to the mini-calendar. Note there
   is an existing bug dragging midnight assignments to
   Saturdays; see CNVS-10532.
 - drag a non-midnight assignment to the mini-calendar.
 - drag an undated event to the calendar and to the mini-
   calendar.
 - in-calendar drag and drop should still work as before in
   week view.
 - check on multiple browsers, and check for regressions.

Change-Id: I747ad05a40e5afa8a2c158a8903c203f5a53f02e
Reviewed-on: https://gerrit.instructure.com/29124
Reviewed-by: Braden Anderson <banderson@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Jon Willesen <jonw@instructure.com>
2014-01-28 17:59:31 +00:00
Zach Pendleton 52442f70c2 remove agenda flag account setting
fixes CNVS-9847

test plan:
  * verify that you can successfully view agenda view
    as any user and that it behaves as expected.

Change-Id: I7534bff4904e62ac17582e7652fcf178b3f72332
Reviewed-on: https://gerrit.instructure.com/27018
Reviewed-by: Braden Anderson <banderson@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Zach Pendleton <zachp@instructure.com>
2013-12-05 23:52:27 +00:00
Jon Willesen 2d53969051 small styling changes to agenda view
fixes CNVS-9456

test plan:
 - with the agenda view setting enabled, make sure the calendar
   feed link uses a font icon instead of a real icon.
 - in the agenda view, make sure "Due" on assignment items is
   capitalized.

Change-Id: I3487ef7b8ad4cf7d351c623f204f104ac7bb7d64
Reviewed-on: https://gerrit.instructure.com/26996
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Braden Anderson <banderson@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Product-Review: Jon Willesen <jonw@instructure.com>
2013-12-05 00:15:26 +00:00
Zach Pendleton 295df37b76 add "skip to calendar" link in calendar2 sidebar
fixes CNVS-9233

test plan:
  * using voiceover w/ safari or jaws, navigate to
    calendar2;
  * navigate through the header to the sidebar and verify
    that the first item in the sidebar is a link that reads,
    "skip to calendar;"
  * verify that clicking the link jumps focus to the main
    content area just about the calendar header.

Change-Id: I841b685bac69792742f8e1031e1a36c1667dfb72
Reviewed-on: https://gerrit.instructure.com/26283
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Braden Anderson <banderson@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Zach Pendleton <zachp@instructure.com>
2013-11-14 18:49:50 +00:00
Braden Anderson fc2272cadf calendar2: agenda view page styling
fixes CNVS-8660

test plan:
  * open calendar2 with agenda view enabled
  * verify that the calendar list in the
    right-hand pane matches the mockup
  * verify that the styling on the calendar list and undated
    event list is consistent
  * open the undated event list
  * verify that undated events load
  * close the undated event list
  * enable or disable a calendar
  * verify that the undated event list remains closed
  * verify that the arrows on the right-hand pane sections
    toggle when expanding or collapsing
  * open scheduler view
  * open an appointment group
  * confirm that the toggle headers for the calendar list
    and undated item list are shown only when the lists are shown
  * open the discussions index page for a course
  * verify that the section arrows toggle correctly
  * select a start date in agenda view after all events
  * verify that a "No events" message is displayed
  * select a calendar with no undated events
  * open the undated events list
  * verify that a "No events" message is displayed

Change-Id: I6c96a8689400b9a295d85d7084ac4b24d483191c
Reviewed-on: https://gerrit.instructure.com/25662
QA-Review: Braden Anderson <banderson@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Braden Anderson <banderson@instructure.com>
2013-11-05 19:33:42 +00:00
Zach Pendleton 69d693ae83 hide calendar2 minical from screenreaders
fixes CNVS-5692

fullcalendar is inaccessible to screenreaders, so we hide
it and provide an alternative interface (agenda view).

test plan:
  * using a screenreader, navigate to calendar2;
  * verify that the mini-calendar is skipped during the
    reading of the page.

Change-Id: I3ad42711d614171711655651feb38b015db40471
Reviewed-on: https://gerrit.instructure.com/25625
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>
2013-10-25 22:26:50 +00:00
Zach Pendleton 99dbc71ece add calendar2 agenda view
fixes CNVS-8665

test plan:
  * from a console, run the following:

      account = Account.default
      account.settings[:agenda_view] = true
      account.save!

  * as any user, navigate to calendar2 and verify
    that an "agenda" button is visible in the header
    navigation;
  * verify that clicking the "agenda" button loads an
    agenda view and defaults to the current day;
  * verify that the calendar title is the current date;
  * verify that you can click back to month and week
    views and that they load as expected;
  * verify that if you click into agenda view while you
    are looking at a month or week that is not the current
    month/week, the agenda view date header reads as the
    first day of the month/week;
  * verify that if you have more than 50 events, the agenda
    view displays a "Load More" button at the bottom that
    will, when clicked, load additional events.

Change-Id: Ie365474ad166d247152ce9448b2b5a15ffc79425
Reviewed-on: https://gerrit.instructure.com/25102
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Product-Review: Zach Pendleton <zachp@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
2013-10-15 19:29:11 +00:00
James Williams 0fe0ba0180 change block helpers for rails 3.2 compatibility
closes #CNVS-5018

Change-Id: If1cef73759f090efe2a58dc97c351410a552ae1d
Reviewed-on: https://gerrit.instructure.com/25109
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
2013-10-11 23:09:37 +00:00
Jon Willesen dd0b5a2fab render whole calendar2 header ourselves
use our own header instead of the built-in fullcalendar header
to fix some accessibility issues with the navigation buttons.

fixes CNVS-5691

test plan:
no new functionality, just regression test the calendar2 header.
In particular:
 - make sure the navigation buttons (previous, today, next) are
   accessible via screenreader.
 - make sure header title updates when you change views.
 - make sure the header title updates when you naviagate with
   the next and previous buttons.
 - make sure the header title updates when you navigate by
   clicking a day on the sidebar mini-calendar.
 - make sure the header works and looks good with scheduler
   enabled and disabled. see the "scheduler enabled" account
   setting, available only to site admins.
 - test scheduler modes, make sure badge works
 - make sure the header works and looks good with the "old
   calendar" account setting enabled and disabled. there is no
   UI for this setting. in the console, do this to enable:
   - a = Account.find(<insert account id here>)
   - a.settings[:calendar2_only] = true
   - a.save!
   and this to disable:
   - a = Account.find(<insert account id here>)
   - a.settings.delete(:calendar2_only)
   - a.save!

Change-Id: If53c24b5cee117bb44f0703ba1824c3253f5677a
Reviewed-on: https://gerrit.instructure.com/21705
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
Product-Review: Zach Pendleton <zachp@instructure.com>
QA-Review: Zach Pendleton <zachp@instructure.com>
Tested-by: Zach Pendleton <zachp@instructure.com>
2013-07-06 19:11:38 +00:00
Mark Ericksen 59e83008a5 improve accessibility support on calendar events
fixes CNVS-4936

Testing Notes:
==========
Calendar2
* use mouse to hover over calender
  event and verify that the calendar
  name the event is linked to appears
  in the hover title displayed.
* using screen reader, verify an event
  reads the name of the calendar
  the event belongs to when reading
  the event info.
Calendar1
* using screen reader, verify an event
  reads the name of the calendar
  the event belongs to when reading
  the event info.

NOTE: C1 event title will not show the calendar
name in the hover title. C1 will be removed and
the title text isn't read by a screenreader
anyway.

Change-Id: Id0256e2c06f99a80e3a0afed47e182dbe3cab748
Reviewed-on: https://gerrit.instructure.com/19488
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
Product-Review: Mark Ericksen <marke@instructure.com>
2013-04-16 19:54:48 +00:00
Eric Berry 64221da1b4 add event to calendar button above calendar on calendar2
the add event button was removed from the side calendar list and
added as a single button (plus sign) above the calendar on
calendar2. tooltips have also been added to the refresh button
and the add event button. the add event button (plus sign) is
toggled when going to and from the scheduler. also i18n added to
uninternalitionalized string

fixes CNVS-4929

test steps:
1. As a teacher, go to calendar2
2. Click on the plus icon and make sure you can add events and
   assignments for any of the allowed calendars.
3. Hover over the calendar names on the sidebar and ensure that the
   plus icon no longer appears.
4. As a student, follow the same steps above but make sure they
   cannot add events for calendars they do not have rights to.

Change-Id: I2e68fb82b27d0478c5843625ba8c659ca79f4349
Reviewed-on: https://gerrit.instructure.com/19310
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Eric Berry <ericb@instructure.com>
Product-Review: Eric Berry <ericb@instructure.com>
QA-Review: Eric Berry <ericb@instructure.com>
Tested-by: Eric Berry <ericb@instructure.com>
2013-04-04 13:45:05 +00:00
Eric Berry 2d02e863c8 calendar1 header alignment is centered
test steps:
- visit calendar1
- ensure that the calendar header with arrows is centered

Change-Id: I24342132b0fbe651d1aa218c9b7b148dcf3722ae
Reviewed-on: https://gerrit.instructure.com/19065
Reviewed-by: Ryan Florence <ryanf@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
Product-Review: Eric Berry <ericb@instructure.com>
2013-03-28 22:21:17 +00:00
Cody Cutrer 6ff362720e arel-ify views and presenters
refs CNVS-4706

Change-Id: I49ef0a651d68de26bb0522d942bec499c300cec1
Reviewed-on: https://gerrit.instructure.com/18701
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2013-03-22 20:23:10 +00:00
Eric Berry 1f78b006a9 popup on calendar2 edit event footer buttons use new styleguide
fixes CNVS-4617

test steps:
- go to calendar2
- click on an existing event
- ensure the footer buttons appear correct for both tabs
- click on an empty space on the calendar
- ensure the footer buttons appear correct for both tabs
- go to calendar (1)
- click on an empty space on the calendar
- ensure the footer buttons appear correct for both tabs

Change-Id: Ifed5f81b5b4b9a11faeccd1c5bdd7c8a26016b56
Reviewed-on: https://gerrit.instructure.com/18631
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Florence <ryanf@instructure.com>
QA-Review: Cam Theriault <cam@instructure.com>
2013-03-15 14:00:48 -06:00
Mark Severson f389c2ce27 fix inconsistent mini calendar ids and classes
fixes #CNVS-3330

Change-Id: I2544badad340b9ec582a39f7b7cb2b44267499a3
Reviewed-on: https://gerrit.instructure.com/17132
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Sterling Cobb <sterling@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
2013-01-29 16:03:51 -07:00
Brian Palmer 07c314b980 use .build instead of .new when generating calendar event
It seems that for some courses, calling
course.calendar_events.new.context returns nil, instead of the course.
For other courses it works, I'm trying to determine what the difference
is, but using .build instead of .new fixes things to work correctly.

fixes #CNVS-2542

test plan: Since this only happens on some courses, it may be difficult
to reproduce until we know exactly what triggers the bad behavior. In
any case, you should be able to visit /calendar without seeing an error
page, and you should be able to create new calendar events from that
page.

Change-Id: I3d4c17676b39382f61ef8ebffb35cf47eec39fa5
Reviewed-on: https://gerrit.instructure.com/16526
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Hetherington <clare@instructure.com>
2013-01-04 11:56:55 -07:00
Chris Hart 644daad1e0 Icon replacement for Account > Settings
To test: Open managed account from main dropdown and go thru each menu option on left

Notes:

Did not do icon replacement for "Account Permissions" section as it is heavily CSS sprite-based

Account > Settings > Announcements -- icon font replacement is possible here, but need small dev help

Change-Id: I1b0e52b338eb04a118230fbc2b563ddbf74ea3c1
Reviewed-on: https://gerrit.instructure.com/15569
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
2012-11-30 09:19:55 -07:00
Chris Hart b0e90a9041 Icon replacement for all wizard boxes
To test:

Open wizard boxes for courses, ePortfolios, calendar and assignments

Change-Id: Icee84b57fdb18189c5c10d1ed0e7c89f9959f2cf
Reviewed-on: https://gerrit.instructure.com/15346
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
2012-11-28 15:13:00 -07:00
Jon Willesen 88658a9291 add account setting to toggle scheduler in calendar 2
fixes #11764

test plan:
 - as a site admin, go to the account settings and enable
   calendar2 and the scheduler.
 - go to calendar 2 and see the scheduler button is there.
 - go back to the account settings and disable the scheduler.
 - go back to calendar 2 and see the scheduler button is gone.

Change-Id: Iab1cb555216b9ce124588b86aa93955411e4f421
Reviewed-on: https://gerrit.instructure.com/15359
Reviewed-by: Marc LeGendre <marc@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Ericksen <marke@instructure.com>
2012-11-21 10:10:28 -07:00
Ryan Shaw 713d0b8c91 replace all .button(s) with .btn
in order to not have to support buttons with .ui-button AND
.button AND .btn classes this simplifies and and makes our
codebase more consistent by deprecating the .button class
with .btn

Change-Id: I4802d785a47b36aa477f302e6ac8c87715db8a62
Reviewed-on: https://gerrit.instructure.com/15194
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
2012-11-14 13:29:30 -07:00
Chris Hart 171b05a4f7 update dialog box button appearance to conform with styleguide
fixes #10236

test plan:

check each updated form to ensure it looks correct and works

Change-Id: I073c3bff5860bab0b892fecbf61a41a8e9c5ec76
Reviewed-on: https://gerrit.instructure.com/13904
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
2012-11-13 13:00:36 -07:00
Cameron Matheson cd4035af8c add account setting to only allow calendar2
closes #10292

Test plan:
  1) enable calendar2 on an account
  2) set up a user to prefer the old calendar
  3) set the 'calendar2_only' setting to true on the account
  4) go to the calendar as the user from step 2, you should be
     redirected to calendar2
     * there should be no way to get to the old calendar

Change-Id: I6280caf2878d04ef3f73efdbc61187906aeb5113
Reviewed-on: https://gerrit.instructure.com/13756
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Joe Tanner <joe@instructure.com>
2012-09-18 10:06:24 -06:00
Mark Ericksen 2fe698524a On calendar1, open a syllabus event in dialog. Closes #9398
Testing Steps:
==========
* Create an event on the calendar (preferably not for the current month).
* Ensure you are setup to use Calendar1 (can change from Cal2 with button)
* Visit the course syllabus and find the event listed there.
* Click the event in syllabus
* Verify that calendar opens to the proper month and the dialog
  with event information opens and is displayed.

Change-Id: Ib6d3eee1a863eccfebd42a2788c51e7af4b4689a
Reviewed-on: https://gerrit.instructure.com/13182
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
2012-08-28 11:17:30 -06:00
Ryan Shaw ac9eebb275 new discussion topics/announcement index, edit and create
closes: #7172

test plan:

* open discussion topic index page:
  - see how it looks in blank course
  - full course
  - try graded & unread filters (make sure you see things you expect to and not those you don't)
  - do bulk actions by clicking checkbox for a few and hitting delete and lock buttons
  - verify infinite scroll works
  - verify that as a student you don't see posts that had delayed posting
  - click "create new" button to make a new one, make sure it works
  - do all the above in the announcement index page

* while viewing announcements index:
  - verify teacher can create external feed on right
  - no right side unless external feeds exist or they are teacher
  - external feeds are listed
  - only teacher can delete external feed

* while editing/creating new discussion/announcement
  - verify that announcement cant be made into assignment
  - for discussion topic, set as assignment and make sure the assignment settings set.
  - cant change discussion -> announcement (& vise versa)
  - type crazy & blank input, verify that it validates it for you
  - title cant be longer than 254
  - make sure these features work:
    - podcast feed
    - student posts in podcast feed
    - delayed posting
    - toggling threaded/unthreaded
    - must post before seeing replies
  - attach file, remove file attachment, upload new attachment should work

* make sure announcements/discussions look & behave right in other places they show up
  (like course, user dashboard)

* if you can think of any other places where you can edit/create discussions/announcements, make
  sure that still works

Change-Id: Ib0acaff8542bf09f99cd7aa99fb3ed16c999d224
Reviewed-on: https://gerrit.instructure.com/12655
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
2012-08-17 09:26:04 -06:00
Ryan Shaw 7e9e4ac3fc make calendar look good with new styles
Change-Id: I93754efd48e90d88179159445a397424e06d9189
2012-06-21 23:30:44 -06:00
Ryan Shaw 0c28d6e68b there are no 'new' styles, take 2
Change-Id: I852836e112732a8e1b78a971f3ecf4ab7af49990
2012-06-13 13:58:19 -06:00
Jon Jensen 897531c883 fix calendar event linking issues, fixes #8337, #8338, #8339
remove links from calendar2 into event show page, unless the user has edit
privs (since there is no readonly view with the section-event change).
also fix links to event show page for section-level events (#8337).

fix dashboard notifications so that event creators aren't notified of
section-level events they create (#8338).

implement route and redirect for section-level events so that event
participants can click on the dashboard link and be taken right to the
event in calendar2 (#8339).

test plan:
1. create a regular dated event and a section-level dated event in
   calendar2
2. confirm that you can get to the advanced edit page via the title link
   or the more options link for both events
3. confirm that you do not get dashboard (or email) notifications about
   either event
4. as a student, confirm that you get dashboard notifications about both
   events
5. confirm that clicking on the dashboard link takes you right to each
   event
6. confirm that you don't get any links to the advanced options page for
   either event in calendar2

Change-Id: Ia0efcdbc7f8fa623cf0415ac630f80fee48a885d
Reviewed-on: https://gerrit.instructure.com/10369
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Tested-by: Jon Jensen <jon@instructure.com>
2012-04-26 16:29:41 -06:00
Brian Palmer f85b423ed0 change ajax url for calendar1 month data
Originally the calendar was at e.g. /courses/X/calendar so monthDataURL
contained the specific calendar endpoint to use, but now the calendar is
always at /calendar, so it's no longer necessary. We're removing it
because it was using params in an unsafe manner.

refs #8075

test plan: this should have no visible change in behavior -- verify that
the calendar still works and you can still switch between months

Change-Id: I2d2ac63f0beb66cee0092f7b5c8fe79d32f1c573
Reviewed-on: https://gerrit.instructure.com/9894
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
2012-04-09 15:43:07 -06:00
Brian Palmer c2d204b092 support include_contexts in calendar2, fixes #7131
The old calendar allows admins to view the calendar for a course they
are not enrolled in, via the include_contexts parameter. This adds that
same functionality to calendar2 and the calendar event api, and makes
sure that the redirect from calendar -> calendar2 doesn't lose the
parameter.

test plan:
  * as an account admin, go to a course in your account that you do not
    have any enrollments for. make sure the account has calendar2 enabled.
  * on the course settings page there will be a link to the course calendar.
  * click the calendar link, and verify that the behavior for calendar2
    is the same as with the old calendar -- the course calendar will be
    displayed, all other calendars will be disabled by default, etc

  * make an api call to calendar_events with the context code of the
    same course. verify that you get events from that course back.

Change-Id: Iaa49337b06fe37b0174d8f5ac9bc854353d7fcfa
Reviewed-on: https://gerrit.instructure.com/8693
Reviewed-by: Jon Jensen <jon@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2012-02-20 14:05:32 -07:00
Ryan Florence a1e31c8c9a AMD Conversion
"Trivial" JavaScript / CoffeeScript changes
--------------------------------------------------

For the most part, all javascript was simply
wrapped in `require` or `define`. The dependencies
were found with a script that matched regexes in
the files, it errs on the side of listing too many
dependencies, so its worth double checking each
file's dependencies (over time, anyway).

i18n API changes
--------------------------------------------------

No longer have to do I18n.scoped calls, just
list i18n as a dependency with the scope and it's
imported already scoped

  require ['i18n!some_scope'], (I18n) ->
    I18n.t 'im_scoped', 'I'm scoped!'

JS bundling now done with r.js, not Jammit
--------------------------------------------------

We don't use jammit to bundle JS anymore. Simply
list dependencies for your JS modules in the file
and RequireJS handles the rest.

To optimize the JavaScript, first make sure you
have node.js 0.4.12+ installed and then run:

  $ rake js:build

The app defaults to the optimized build in
production. You can use non-optimized in
production by putting ?debug_assets=true in the
url just like before.

You can also test the optimized JavaScript in
development with ?optimized_js=true.

Significant changes
--------------------------------------------------

These files have "real" changes to them (unlike
the JavaScript that is simply wrapped in require
and define).  Worth taking a really close look at:

- app/helpers/application_helper.rb
- app/views/layouts/application.html.erb
- config/assets.yml
- config/build.js
- lib/handlebars/handlebars.rb
- lib/i18n_extraction/js_extractor.rb
- lib/tasks/canvas.rake
- lib/tasks/i18n.rake
- lib/tasks/js.rake

Change-Id: I4bc5ecb1231f331aaded0fef2bcc1f3a9fe482a7
Reviewed-on: https://gerrit.instructure.com/6986
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Ryan Florence <ryanf@instructure.com>
2012-02-06 16:41:40 -07:00