Commit Graph

55 Commits

Author SHA1 Message Date
Landon Wilkins 05dec64bbd da licença part 50
add consistent license headers to all source files

Change-Id: Idbd54625443f6fed9057a21730b160765b8ba080
Reviewed-on: https://gerrit.instructure.com/110153
Tested-by: Jenkins
Reviewed-by: Jon Jensen <jon@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
2017-04-28 19:01:52 +00:00
Michael Brewer-Davis 14b18c137f i18n numbers for assignments, cyoe
closes: OUT-1062, OUT-1110

Test plan:
Assignments:
Verify that i18n has been completed on assignments
related pages, including but not limited to:
Assignment list page (teacher and student)
Assignment show page (teacher and student)
Assignment edit page

CYOE:
Test alongside g/103353

Test plan:
Test that all numbers are properly internationalized
within:
Teacher pages:
- mastery paths edit page
- assignment list page (mastery path ranges)
- assignment view page (mastery path breakdown)
Student pages;
- choose mastery path page (accessed from modules for OR
  assignments)

Change-Id: I226c27dca870dde4801b5e09ab9f6ee5b000bbb0
Reviewed-on: https://gerrit.instructure.com/103354
Tested-by: Jenkins
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
QA-Review: Cemal Aktas <caktas@instructure.com>
Product-Review: Michael Brewer-Davis <mbd@instructure.com>
2017-03-13 20:53:29 +00:00
Cody Cutrer e1d85fb9b7 rails 5: stop using assigns view specs shim
just do it the right way, since the shim doesn't seem to work in rails 5

this is just a massive find/replace (repeated, due to chained assignment)

refs CNVS-34867

Change-Id: I267a16bed05a116e463cf9301645270e79a2d80e
Reviewed-on: https://gerrit.instructure.com/104193
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2017-03-08 17:51:43 +00:00
Jon Jensen fb3966a62d Great Expectations, fixes SD-2065
Find/fix/prevent weird stuff we are doing (or not doing) with `expect`.

Chapter I:

    "I have been bent and broken, but - I hope - into a better shape."

Disallow `expect`s in a `before`. `before` is by definition before the
test, so it's not the place to be asserting anything. You can of course
still set up mocks there.

Chapter II:

    "Take nothing on its looks; take everything on evidence. There's no
    better rule."

Ensure every `expect` actually runs. i.e. it needs `to` or `not_to` in
order to actually do anything.

Chapter III:

    "Ask no questions, and you'll be told no lies."

In selenium land, ensure every spec has at least one expecation. In
regular rspec land we just warn to stderr, but we may get more strict
in the future.

Test Plan: Specs

Change-Id: I5fc353ee8171e5191853d45f42ae42478f9220b4
Reviewed-on: https://gerrit.instructure.com/101224
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Reviewed-by: Landon Wilkins <lwilkins@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
2017-02-13 17:25:09 +00:00
Jeremy Stanley f9e6773803 descriptive screenreader text for todo X icon
test plan:
 - the X icon on dashboard todo items should have screenreader
   text that describes what it does (e.g., "Ignore Some Assignment
   until new submission" instead of just "Ignore")

fixes CNVS-34338

Change-Id: I392bd8bf58bf30952fc42ce1e0b6978bdeeff2c3
Reviewed-on: https://gerrit.instructure.com/99725
Tested-by: Jenkins
Reviewed-by: Dan Minkevitch <dan@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2017-01-18 18:31:05 +00:00
Christian Prescott ec2681a331 Fix negative needs_grading_count
closes OUT-426

Test Plan
1. Prepare an assignment accepting submissions.
2. As teacher and admin, ensure todo list on course home page appears
   correctly for the assignment.
   a. When a submission is made, it should appear "needs grading"
   b. When more submissions are made, it should appear only once and
      show count of pending submissions.
   c. When a submission is graded, the count should decrement until
      there are no pending submissions remaining.
   d. When a user with a pending submission unenrolls, the count should
      decrement. When the user is reenrolled, their submission should
      reappear.
3. As a TA with limited visibility to a section, ensure todo list
   appears correctly and only counts submissions that should be visible.
4. Ensure graded quizzes have the same behavior.

Change-Id: I5eca4d0d9d008b2ce1ae39660f29709c509bed22
Reviewed-on: https://gerrit.instructure.com/96241
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
QA-Review: Alex Ortiz-Rosado <aortiz@instructure.com>
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Christian Prescott <cprescott@instructure.com>
2017-01-11 20:55:41 +00:00
Michael Brewer-Davis a78cc8b2a5 ensure cyoe only references fully graded, non-muted assignments
- add muted and grading_complete fields to live events

refs: OUT-577

Test alongside g/97097

Test plan:
- Partially graded items
    1.  Create a quiz with some automated and some manually graded
        content.  Apply mastery paths rules to trigger other assignments.
    2.  As student, take the quiz, such that your score on the
        automatically graded content would trigger a mastery path rule
    3.  Verify that no content is released
    4.  As teacher, grade the remaining questions of the quiz such that
        master paths content should be released.
    5.  Verify that the appropriate content is released to the student.

- Muted items
    1.  Create an assignment with mastery paths rules
    2.  As student, submit the assignment
    3.  As teacher, mute the assignment
    4.  Grade the submissions such that master paths content should be
        released
    5.  As student, verify that no content has been released
    6.  As teacher, unmute the assignment
    7.  As student, verify that the appopriate content has been released.

Change-Id: I312aba018ca262a907c6a23a938af739842e28ae
Reviewed-on: https://gerrit.instructure.com/97098
Reviewed-by: Matt Berns <mberns@instructure.com>
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
QA-Review: Cemal Aktas <caktas@instructure.com>
Tested-by: Jenkins
Product-Review: Michael Brewer-Davis <mbd@instructure.com>
2017-01-11 20:21:40 +00:00
Chris Hart 1e798ee31a Fix awkward wrapping in To-Do and Event lists
Fixes: CNVS-33935

Test plan:

- Words in the To-Do, Coming Up, and Recent Feedback
  lists should no longer break awkwardly

- Long words and links in the right sidebar To-Do,
  Coming Up, and Recent Feedback lists should now
  be handled by hiding the overflow and fading them
  out with a white gradient:
  http://www.screencast.com/t/b19RGB4F7v

- The spacing and line-height of the To-Do, Coming
  Up, and Recent Feedback lists should look better.

Change-Id: I96486077c57c24d18a991394c0747c6cf4f98c7d
Reviewed-on: https://gerrit.instructure.com/99234
Tested-by: Jenkins
Reviewed-by: Pam Hiett <phiett@instructure.com>
QA-Review: Dan Sasaki
Product-Review: Kyle Follett <kfollett@instructure.com>
2017-01-11 19:57:43 +00:00
Simon Williams 57497719a7 spec: rename the `course` helper to `course_factory`
closes CNVS-34046

test plan: specs should pass

Change-Id: I8684d30e5af7be04566b2d3903db2b7f4b14b24b
Reviewed-on: https://gerrit.instructure.com/98439
Tested-by: Jenkins
Reviewed-by: Landon Wilkins <lwilkins@instructure.com>
Product-Review: Landon Wilkins <lwilkins@instructure.com>
QA-Review: Landon Wilkins <lwilkins@instructure.com>
2016-12-27 20:25:29 +00:00
Simon Williams ece65b5a89 spec: rename the `user` helper to `user_factory`
closes CNVS-34042

test plan: specs should pass

Change-Id: I20709a69f0cb28fb55eba18ca81f89f4d7673b56
Reviewed-on: https://gerrit.instructure.com/98426
Tested-by: Jenkins
Reviewed-by: Landon Wilkins <lwilkins@instructure.com>
Product-Review: Landon Wilkins <lwilkins@instructure.com>
QA-Review: Landon Wilkins <lwilkins@instructure.com>
2016-12-27 20:25:25 +00:00
Shahbaz Javeed 95283746ea prevent grading if submission is due in closed grading period
closes CNVS-32229
closes CNVS-32232

test plan:
* Create a course with MGP enabled and two grading periods in
  the default term
* Create two assignments for this course, one in a closed GP and
  one in an open GP
* To test overrides, create the following as well:
  * For one of the students, make the open assignment due in the
    closed grading period
  * For another student, make the closed assignment due in the
    open grading period

* Ensure the following steps work for all assignment/student
  combos due in a closed grading period.

** CNVS-32229 **
* Login as a teacher
* Go to speedgrader for the assignment in the closed GP
* Notice that the grade input is locked down
* Right click on the locked-down input and select 'Inspect'
* Remove the 'ui-state-disabled' class and remove
  readonly="readonly" from the input field's HTML
* Notice the input is no longer grayed out and you can enter
  a grade
* Enter a grade and tab out of the input
* You should see an error message that says something went wrong
  and notice in the Network tab of your dev tools that the AJAX
  post failed, meaning the submission was not gradeable
* Refresh the page and notice the grade is not there.
* Verify it isn't there in Gradebook either

* Login as an admin
* Go to speedgrader for the assignment in the closed GP
* Notice that the grade input is *not* locked down
* Enter a grade and tab out of the input
* You should *not* see an error message that says something went
  wrong meaning the submission was graded successfully
* Refresh the page and notice the grade is there.
* Verify it is also present in Gradebook

** CNVS-32232 **
* Login as a teacher
* Go into a gradebook that has an assignment that is
  locked down because it is in a closed grading period
* Notice that the grade cells for the assignment are locked
  down (because the submissions fall in a closed grading period)
* Right-click on one of the locked-down cells and select 'Inspect'
* Remove the 'grayed-out' and 'cannot_edit_in_closed_grading_period'
  classes
* Notice the cell is no longer grayed out and you can enter a grade.
* Enter a grade
* Click on another cell.
* You should see an error message that says something went wrong
  and in the Network tab of your dev tools verify the AJAX post
  failed, meaning the submission was not gradeable
* Refresh the page and notice the grade is not there

* Login as an admin
* Login as a teacher
* Go into a gradebook that has an assignment that is
  in a closed grading period
* Enter a grade in a cell that should be due in a closed grading
  period
* Click on another cell
* You should *not* see an error message that says something went
  wrong meaning the submission was graded successfully
* Refresh the page and notice the grade is there.
* Verify it is also present in Gradebook

Change-Id: Ia80e4de626616309c5e9dffb78ed0f9671ad1076
Reviewed-on: https://gerrit.instructure.com/95687
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Tested-by: Jenkins
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
2016-12-08 21:01:07 +00:00
Jon Jensen f55776d146 spec: fix spec that fails the first run on most builds
also prevent session stubbing in before(:once) blocks and remove lots
of unnecessary stubbing

note that while session stubbing is also unnecessary in controller/api
specs (just need @user to be set), delaying removal of thay to another
commit (we might want tweak it to actually use session stubbing or
something otherwise explicit and less magical than @user)

Change-Id: Iea1792c960ad32090bc4644febc87e1d3651f550
Reviewed-on: https://gerrit.instructure.com/96791
Reviewed-by: Landon Wilkins <lwilkins@instructure.com>
Tested-by: Jenkins
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
2016-12-06 00:07:13 +00:00
Christian Prescott bd3602d422 Show single override's due date instead of none when present
refs OUT-430

Test Plan
1. Prepare an (assignment|quiz|graded discussion) and set its due date
   within a week so it appears in the "Coming Up" section on course home.
   Ensure the assignment and its due date appear to teacher and student.
2. Add an Assign To override to the assignment, with a different due date.
   Ensure the teacher sees "Multiple Due Dates" but the student sees their
   applied due date.
3. Edit the course to set the override as the _only_ due date. (Remove the
   Everyone Else override, or any others) Ensure the teacher sees the
   override's due date. Ensure only students for whom the assignment is
   overridden see the override's due date.
4. Ensure the "Multiple"/applied date visibility behavior is the same as
   above on the index pages for assignment, quiz, discussion, and maybe
   modules.

Change-Id: I276f34a7b439fe0e0f6f6883534e9fea698ae586
Reviewed-on: https://gerrit.instructure.com/93538
Tested-by: Jenkins
Reviewed-by: Matt Berns <mberns@instructure.com>
QA-Review: Cemal Aktas <caktas@instructure.com>
Product-Review: McCall Smith <mcsmith@instructure.com>
2016-11-01 19:09:22 +00:00
Clay Diffrient 3a2f278db2 Make course short names show in the todo list
This makes it so that course short names appear on the dashboard's
right side lists (todo, recent events, recent feedback, coming soon)

It will show course nicknames, if they are nicknamed

closes CNVS-30985

Test Plan:
  - Make an event or something that will appear in the right sidebar
  - Look at the event in the right side bar, it should show the courses
    short name
  - If the course has a nickname, it should show it instead.

Change-Id: Iadfc357cbfed10845f27cd0c2773139e0927059f
Reviewed-on: https://gerrit.instructure.com/87998
Tested-by: Jenkins
Reviewed-by: James Williams  <jamesw@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Christi Wruck
2016-09-07 21:39:17 +00:00
Nick Pitrak c9faee1caa fix anonymous moderated grading
anonymous grading was not working for moderated assignments.
this commit adds graded_anonymously to the provisional grade
model to address the issue.

fixes CNVS-29261

test plan:
- create a Course with a Teacher, Student and TA
- on the Course Settings page in the Feature Options tab,
  turn on Anonymous Grading
- create and publish an assignment with the Moderated Grading
  checkbox enabled
- masquerade as the TA and grade the assignment in Speedgrader
- note the student's name is 'Student 1'
- masquerade as the Teacher and from the Assignment page, click
  the Moderate button
- click the Post button to push the moderated grades to the
  gradebook
- masquerade as the Student and open the Assignment page
- in the Submission Details box on the right, the
  'Graded Anonymously' field should read 'Yes'

Change-Id: I2e87635020cebb0bc81853d8eead228bbb5f1e6d
Reviewed-on: https://gerrit.instructure.com/83503
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Neil Gupta <ngupta@instructure.com>
Tested-by: Jenkins
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Christi Wruck
2016-07-14 22:07:45 +00:00
Neil Gupta f707a228cd Decouple grades and comments in gradebook api
Fixes CNVS-29511

Sometimes when posting a comment, the incorrect grade was being
applied. This commit decouples the 2 features and DRY's up the code to
address this issue.

Test plan:
* As a teacher, setup an assignment with a letter grade scheme.
* As a student, submit an assignment.
* As a teacher, go to the submission detail view.
* Start typing a comment but don't submit it.
* Enter a grade of 95. The grade should submit and display as "A", but
	the comment should not be submitted. Refresh page to confirm.
* Post a comment. It should post but the grade should still be 95.
	Refresh the page to confirm.

Change-Id: I1eb7478e0c693ee28a58578e45dd7369b24baa05
Reviewed-on: https://gerrit.instructure.com/81568
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
Tested-by: Jenkins
QA-Review: KC Naegle <knaegle@instructure.com>
Product-Review: Christi Wruck
2016-06-15 22:17:17 +00:00
Christian Prescott 71e910969c Remove "Conditional Release" button from course settings sidebar
Test Plan
1. Visit course settings page. Ensure "Conditional Release" button does
   not appear on the right, under "Validate Links in Content" or
   anywhere else for that matter.
2. Turn conditional release flag on. Repeat step 1.

Change-Id: I83d117cacf23ccec0f569321bc747d28f6ab439e
Reviewed-on: https://gerrit.instructure.com/80524
Tested-by: Jenkins
Reviewed-by: Jahnavi Yetukuri <jyetukuri@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Christian Prescott <cprescott@instructure.com>
2016-06-01 15:06:45 +00:00
Pam Hiett 99edf868a5 update all courses listing page
Fixes: CNVS-27591

note: this drastically changes the new ui view and
subtly changes old ui

test plan:
- as a user that is enrolled in multiple courses
- within new ui: navigate to courses link and within sub-nav
  click "all courses" updated view should be similar
  to product design comp http://screencast.com/t/h4Z10zuLgWG
- ensure old ui still looks good

Change-Id: I54b943bf6184e0399b5f1e2d76e1418b29d5f2d4
Reviewed-on: https://gerrit.instructure.com/73641
Tested-by: Jenkins
Reviewed-by: Chris Hart <chart@instructure.com>
Product-Review: Chris Hart <chart@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
2016-03-17 15:55:27 +00:00
James Williams 0777cba946 remove differentiated assignments feature checks
test plan:
* basic regression test of assignment overrides

closes #CNVS-27549

Change-Id: Ie463848b3831087efb3f9ec762dca6264055ee76
Reviewed-on: https://gerrit.instructure.com/73139
Tested-by: Jenkins
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
2016-03-07 18:44:46 +00:00
Alex Boyd ef1b665d7f Show actual assignments to grade up to 999
Fixes CNVS-27413

Test plan:
 - Create an assignment
 - Create more than 10 users
 - Submit the assignment as each user
 - As a teacher, verify that the actual number of assignments that
   were submitted shows up next to the assignment in the to-do list

Change-Id: I3720ac1e24abbc78bf56f384dfd19400f51f1409
Reviewed-on: https://gerrit.instructure.com/72990
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Allison Weiss <allison@instructure.com>
2016-03-01 20:04:36 +00:00
Jon Willesen b039c7b632 add conditional_release feature flag
initially, the feature flag only toggles a button on the course
settings sidebar.

test plan:
 - enroll as a teacher
 - check there is no conditional release button on course
   settings right sidebar
 - enable conditional release feature
 - check there is a conditional release button
 - revoke "manage all other content" permission for teachers
 - check there is no longer a conditional release button

 fixes: CYOE-44

Change-Id: Ic8299ba179bf6331ce9a2da5d40e60ac0bc88ee6
Reviewed-on: https://gerrit.instructure.com/72474
Reviewed-by: Dan Minkevitch <dan@instructure.com>
Product-Review: Jon Willesen <jonw@instructure.com>
QA-Review: Jon Willesen <jonw@instructure.com>
Tested-by: Jenkins
2016-02-19 16:00:37 +00:00
James Williams 8e7459735c don't show groups for future restricted courses in courses list
test plan:
* create a course with a future term date
* restrict students from accessing the course before start date
 in the course settings
* enroll a student in the course and add them to a group
* as the student, the courses index ("/courses") should
 not list the group (or the course)

closes #CNVS-26623

Change-Id: Iedddd118f40024480bae8c7b5a42315dc41af335
Reviewed-on: https://gerrit.instructure.com/71382
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Matt Fairbourn <mfairbourn@instructure.com>
2016-02-08 12:13:17 +00:00
Simon Williams eb598ab5b3 only count active quizzes in course stats
fixes CNVS-26308

test plan:
- create 2 quizzes, with questions
- take them both
- delete 1 of them
- go to the course stats page
- only the non-deleted quiz should count
  (for quizzes, questions, and submissions)

Change-Id: Ib6155e1036fce43c81c2ad346b7252e818831114
Reviewed-on: https://gerrit.instructure.com/70822
Tested-by: Jenkins
Reviewed-by: Ryan Taylor <rtaylor@instructure.com>
QA-Review: Michael Hargiss <mhargiss@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2016-02-01 17:53:28 +00:00
Alex Boyd 7799495aa3 Redesign the To-Do, Coming Up, and Recent Feedback lists
Fixes CNVS-25877

Test plan:
 - Create a user with:
   - an assignment that needs to be submitted
   - an assignment that needs to be graded
   - an assignment whose grades the user needs to moderate
   - an assignment that they need to peer review
   - a calendar event that they can see
 - Go to the user's home page
 - Ensure all of the assignments show up in the to-do list
 - Ensure they show up in Coming Up as well
 - Ensure that the calendar event shows up under Coming Up
 - Go to the courses where you created the assignments
 - Ensure that each assignment shows up on its respective course to-do
   list
 - Submit an assignment
 - As a teacher, ensure that the assignment shows up as needing
   grading, and that the number in the badge to the left is 1
 - Ensure that screenreaders read the badge as "1 submission
   needs grading"
 - Make another submission as a different user
 - Clear the cache by running `Rails.cache.clear` at a Rails console
 - As the teacher, ensure that the badge is now 2
 - Ensure that screenreaders read the badge as "2 submissions
   need grading"
 - Repeat 8 more times as different users, so that there are now
   10 submissions
 - Clear the cache again
 - Ensure that the badge now says "9+"
 - Ensure that screenreaders read the badge as "More than 9
   submissions need grading"
 - As the user who submitted the assignment, ensure that the grade
   shows up on the To-Do list, Coming Up, and Recent Feedback
 - As a teacher, leave a submission comment
 - As the user who submitted the assignment, ensure that the comment
   shows up under Recent Feedback
 - Create a public course
   - You can make a course public by going to its settings page
     and checking "Make this course publicly visible"
 - Log out
 - Visit /courses/<id>, where <id> is the id of the course
 - Ensure that the course shows as expected, and that nothing
   shows up on the to-do list
 - Automated tests should cover everything else

Change-Id: I18673995db94d896bf2c39515258e61065b48319
Reviewed-on: https://gerrit.instructure.com/69474
Reviewed-by: Andrew Butterfield <abutterfield@instructure.com>
QA-Review: Heath Hales <hhales@instructure.com>
Tested-by: Jenkins
Product-Review: Allison Weiss <allison@instructure.com>
2016-01-19 19:52:16 +00:00
Simon Williams b43d221dee set publishing_enabled with js_env instead of script tag
fixes CNVS-24128

test plan:
- with users that both can and cannot publish sis grades, visit the
  course settings page.
- the appropriate controls should be present/absent and work correctly.

Change-Id: I45ded2726a64b3a7457e76e67e681e3d3274b000
Reviewed-on: https://gerrit.instructure.com/65454
Tested-by: Jenkins
Reviewed-by: James Williams  <jamesw@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2015-10-26 20:55:41 +00:00
Brad Horrocks a11fdec9f6 Make LTI configurations accept canvas icon class
Support passing a class for an icon for styling goodness.

added support for `canvas_icon_class` allowing use od css classes from canvas
style guide which can make it look better and maintain our styling
standards.

Fixes PLAT-1222

Test Plan:

prereq's
- "LOR External Tools" feature flag enabled
- (notice the lack of lti example tool, you dont need it)

A new commons icon has been added so you should probably run the
following
`bundle exec rake brand_configs:clean canvas:compile_assets`

Add a new LTI tool to the account using [this xml](https://gist.github.com/defektive/dbd182cb04500e236bde)
check placements to make sure they show a fancy new icon instead of a
crappy star. course_home_sub_navigation should show up as the commons icon

placements to look at
:assignment_menu - cog on an assignment
:course_home_sub_navigation - right side of page
:course_settings_sub_navigation
:discussion_topic_menu
:file_menu (no icon)
:global_navigation (no icon)
:module_menu
:quiz_menu
:wiki_page_menu

Change-Id: Ib462e928a5a3811df490f9bf2441b755db2882a9
Reviewed-on: https://gerrit.instructure.com/62492
Tested-by: Jenkins
Reviewed-by: Nathan Mills <nathanm@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brad Horrocks <bhorrocks@instructure.com>
2015-09-21 17:59:40 +00:00
Clay Diffrient 1d2094e35d Hides groups from courses that are unpublished
closes CNVS-17635
closes gh-97

Test Plan:
- Create a course that is unpublished
- Add a student to the class
- Add the student to a group
- Login as the student
- Go to the courses index page (/courses)
- The group should not be shown
- Publish the course
- The group should now be shown with a link to it

Change-Id: I3588cbd323cd065a33898c91021f475507101dee
Reviewed-on: https://gerrit.instructure.com/46266
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
2014-12-30 23:13:37 +00:00
James Williams 81d4adc319 new roles
refactor everything that used to use strings for roles
to use actual role_ids

the apis should be backwards compatible so we don't need
to update (most of) the UI's right away in this commit

test plan:
* regression tests for permissions, role overrides,
 alerts (for account roles), enrolling users,
 adding account admins, etc.

refs #CNVS-15481

Change-Id: Id57fd3104c5c518b6fbf180609950dcddcdd474d
Reviewed-on: https://gerrit.instructure.com/41208
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2014-10-31 19:44:14 +00:00
James Williams ff129a694d make course settings form more accessible
change the course settings form so it's
always a form (similar to the account settings form)
so that way the labels always have referenced elements

test plan:
* using a screenreader, the labels should always reference
the proper input items (rather than labelling nothing
until the "edit" button is clicked)

closes #CNVS-16234

Change-Id: I66d64c5000c6e43291c34536452518ba1dee0945
Reviewed-on: https://gerrit.instructure.com/43091
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
2014-10-24 19:51:47 +00:00
Cody Cutrer 60d64cfd2c rspec 3-ify spec/views
refs CNVS-16239

Change-Id: I8bacac4c1f6dcf8f033cbdc859b61ce4a33076dd
Reviewed-on: https://gerrit.instructure.com/42672
Reviewed-by: Paul Hinze <paulh@instructure.com>
Product-Review: Paul Hinze <paulh@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2014-10-14 00:44:39 +00:00
Andrew Leung 6a196ab4d1 Add course and term names under group listings
Multiple groups with the same name are now better identified with their
context names (and term names if they are courses).

Test Plan:
  * Create two courses, with one of them in the Default Term
  * Create course groups in those courses
  * Add a student to both course groups
  * As the student, go to /courses
  * Make sure the course name appears under the group name
  * Make sure the term name appears (unless it's in the Default Term)
  * Do the same for /groups
2014-09-25 13:28:45 -07:00
James Williams bd906e75bc add feature flags for LOR external tools
test plan:
* add an external tool configured for the extensions
 going to be used by LOR (:course_settings_sub_navigation,
 :course_home_sub_navigation, :migration_selection)
* confirm that it is not shown to a user unless either
 the account-level feature flag is enabled or the
 user-level flag is enabled

closes #CNVS-14626

Change-Id: I06e189fc1f2d745613353ea1b3f98b4f4b2c87b6
Reviewed-on: https://gerrit.instructure.com/39111
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
2014-08-14 15:11:06 +00:00
Jon Willesen f19389f8a9 Add course settings sub navigation lti extension
fixes RD-76

test plan:
 - as a teacher, navigate to a course settings page. the right
   sidebar should look normal.
 - modify an lti app's xml to include the
   course_settings_sub_navigation extension
 - configure an lti app via modified xml.
 - navigate to a course settings page, where you should see a
   button for the configured tool at the top of the right
   sidebar.
 - clicking on the button should launch the tool.

Change-Id: Iec9e3337437295865bab66a499fe8fc096ad0ba5
Reviewed-on: https://gerrit.instructure.com/36471
Reviewed-by: Brad Humphrey <brad@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Jon Willesen <jonw@instructure.com>
2014-06-24 13:39:17 +00:00
Nick Cloward e9595976c1 clean up permission calls for grants_rights?
refs: CNVS-11425

Change-Id: Ia0145e4b4d1da9e0f83a1845647ce203b3586057
Reviewed-on: https://gerrit.instructure.com/34280
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2014-06-19 18:10:30 +00:00
James Williams b9201e13f2 allow subaccount admins to move courses to other accounts
test plan:
* create a subaccount (the "parent" subaccount)
* create more children subaccounts within that parent subaccount
* create an account admin user for the parent subaccount
* create a course beloning to one of the children subaccounts

* as the account admin user, confirm that you can visit
 the course settings page and use the drop-down box to
 change the courses' account to any child account that
 belongs to the parent subaccount
* also confirm that the drop-down box does not show accounts
 outside the parent subaccount (even if they're on the same root
 account)

fixes #CNVS-10501

Change-Id: I1d7cae8a19b926cabb3473ba950d29ab08ad25ce
Reviewed-on: https://gerrit.instructure.com/34009
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
2014-05-05 16:43:00 +00:00
Joseph Rodriguez 32f45d6956 remove #grade_submission from QuizSubmission
fixes: CNVS-12565

test plan:
- as a student take a quiz
- verify that:
  - background submissions are working
  - end of time / date submissions are working
  - manual submsissons are working
- verify various question types are graded correctly
- verify outcomes work as previously defined

Change-Id: Ia85141559e8026993c0e270267947128a5a0466b
Reviewed-on: https://gerrit.instructure.com/33669
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Jason Madsen <jmadsen@instructure.com>
2014-04-23 19:28:03 +00:00
Jon Jensen 70bcc947cb remove unused code
it's for the best, since role_select_options had a XSS vulnerability...
s.html_safe != html_escape(s)

test plan:
n/a, specs should pass

Change-Id: I46b180193b0669934007272033bb64b50eea3e7b
Reviewed-on: https://gerrit.instructure.com/29233
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Marc LeGendre <marc@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
2014-01-24 17:54:08 +00:00
Jeremy Stanley aafadc431f add :manage_storage_quotas permission
refs CNVS-4782

test plan:
 - BEFORE applying database migrations, create two account
   roles, one that enables "Manage account level settings",
   and one that disables it.
 - ... apply database migrations ...
 - an account setting "Manage storage quotas" should appear
   and should be enabled for roles that have "Manage account
   level settings", and disabled otherwise
 - ensure the following values cannot be changed
   (are not editable on the web forms) if
   "Manage storage quotas" permission is revoked:
  in Account Settings:
   - Default Course File Quota
   - Default User File Quota
  in Course Settings:
   - File Storage
 - also ensure that a user lacking this permission
   cannot set a course quota via the courses API
   (creating or updating a course). the value should
   be ignored if the user does not have permission
   to set it.

NOTE: This permission applies to accounts and courses.
      There are also quotas for entire sites (for users,
      course files, and media files), but these are managed
      by a plugin and are not affected by this commit.

Change-Id: I4a3b0b332a5a4e74596f167360db37e2653eab70
Reviewed-on: https://gerrit.instructure.com/18887
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
2013-03-29 18:27:39 +00:00
Jeremy Stanley 9194e78de4 don't escape the quotes around 'display:none;'
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>
2013-02-08 10:52:40 -07:00
Bracken Mosbacker 5585c3a203 add custom role support to course users tab
You can add enrollments with the custom roles and see who
has the roles.

Test Plan:
 * Create custom roles for each enrollment type
 * Test all the settings page's functionality like adding/deleting users with custom roles
 * Make custom observers observe students in various combinations of custom roliness
   - verify that the new observer role has the custom role
 * Make sure the section limited check box shows up for custom tas/teachers by selecting those options in the new user select box

closes #cnvs-1166

Change-Id: I5f133bf1b5b1438d7f8e34297b450ff561d401d0
Reviewed-on: https://gerrit.instructure.com/16272
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
2012-12-26 15:46:12 -07:00
James Williams 598590d942 don't show "add user" for concluded courses
prevent active enrollments from being added for concluded courses
and causing authorization problems

(revision: took jeremy's advice and moved tests from
selenium to views)

(revision #2: took more of jeremy's advice and added checks
in controller and api, rather than just removing the button)

(also, I forgot to add files to the commit.. durr)

test plan:
 * Conclude a course
 * Try to add a user

closes #9691 #11552

Change-Id: Ibb267f5d714b43fa033d40dad93511e443b17790
Reviewed-on: https://gerrit.instructure.com/14865
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
2012-11-08 09:59:39 -07:00
Bracken Mosbacker 2780604b09 change concluding courses in ui/api to a soft conclusion
Instead of "hard concluding", or setting the workflow
state to 'concluded', courses will now set the end date
and be soft concluded.

This is to allow easier unconcluding in the future so that
all enrollments are still active.

Test Plan:
 * Publish a course
 * conclude the course
 * notice that the end_at date for the course is set to when you concluded it
 * notice that the "Users can only participate in the course between these dates" checkbox is checked

closes #11387 #11386

Change-Id: I568539723b7f0f4471761d742ff3a8bb821a7605
Reviewed-on: https://gerrit.instructure.com/14748
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Reviewed-by: James Williams  <jamesw@instructure.com>
2012-11-05 08:45:08 -07:00
Zach Pendleton 8249329f9b don't display end course btn for courses in soft-concluded terms.
fixes #9872

on the course settings page, the 'end this course' button should not
display for courses whose terms have already ended.

test plan:
  * create a course inside of a term whose end_at date has already
    passed;
  * visit the course settings page and verify that the 'end this course'
    button is not visible in the sidebar.

Change-Id: I8f8ddc1cd495a3488fda6989de28d45abd67b6cd
Reviewed-on: https://gerrit.instructure.com/12893
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
2012-08-16 17:05:56 -06:00
Zach Pendleton 4847e34f9a don't display end course button for soft-concluded courses.
fixes #7537

on the course settings page, users should not see the 'end
this course' button if the course has already soft-concluded
(e.g. a course whose end date has passed).

this commit also moves the settings sidebar into a partial.

test plan:
  * create a course with an end date that is in the past;
  * visit the course settings page and verify that the end
    course button is not visible in the sidebar;
  * remove the end at date or set it to the future and verify
    that the end course button appears.

Change-Id: I0eb8fb79c6f59748d0ef3c63ec6ffcb81106520b
Reviewed-on: https://gerrit.instructure.com/12709
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Ericksen <marke@instructure.com>
2012-08-03 18:50:05 -06:00
Joe Tanner d16318c1e0 add multiple students to an observer in the UI, closes #7768
other changes:
- makes it possible to add a student to multiple sections in the course
- pagination of the user lists
- converted user tab js to coffee and backbone

test plan:
- as a teacher go to /courses/*/settings#tab-users
- verify that multiple students can be linked/unlinked to an observer
- verify that users can be added to and removed from multiple sections
- verify that 'Resend Invitation' and 'Remove from course' work

Change-Id: I0f64f72f1937348817990b6f13b6310185b68a73
Reviewed-on: https://gerrit.instructure.com/10865
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Joe Tanner <joe@instructure.com>
2012-07-16 15:48:27 -06:00
Cody Cutrer 8b56b74cf3 fix public course home page fixes #7589
test plan:
 * create a public course, publish it, create an assignment
 * go to the course without logging in
 * it should not give a page error

Change-Id: I075acf19e196ef5de9eebdc1218c6d1b82c9ba5d
Reviewed-on: https://gerrit.instructure.com/9219
Reviewed-by: Zach Pendleton <zachp@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2012-03-06 12:28:08 -07:00
Zach Pendleton 6695c4e935 fix assignment status in 'Coming Up' sidebar. fixes #6783
submitted assignments weren't having their status consistently
updated because the partial depended on the @current_user_submissions
variable that wasn't being set in every view.

fixed this by adding an extra conditional to the view (eek!). also
included a fix to ensure that the correct context is always used
when checking permissions (the page context isn't always the context
of the 'Coming Up' item).

test plan:
  * create a course with an assignment due tomorrow;
  * as student of that course, log in and submit the assignment;
  * verify that the assignment shows as submitted on both the user
    dashboard and the course home page.
  * click around the app and ensure that the sidebar works as
    expected.

Change-Id: If1b955cd4e49c3c83cae9c92a0f3c515e8d3c2d3
Reviewed-on: https://gerrit.instructure.com/8633
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Ryan Florence <ryanf@instructure.com>
2012-02-16 16:13:28 -07:00
Zach Wily 398ade7518 don't show the submission score in the coming up tooltip when muted
test plan:
 * Create a quiz due tomorrow. In the gradebook set it to muted.
 * As a student, take the quiz.
 * As the teacher, grade the quiz.
 * As the student, go to your dashboard and find the quiz in "Coming Up"
   on the right. Hover over the quiz name and verify that the tooltip
   does not contain your score.
 * As teacher, unmute the assignment in the gradebook.
 * As the student, verify that the toolip will now contain your score.

Change-Id: Ia8f68299c776388a0e483d61e282b6dfa5788616
Reviewed-on: https://gerrit.instructure.com/7423
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-12-10 16:26:53 -07:00
JT Olds f39c453cde cleaning up grade exchange
test plan:
 * set up an account with a course
 * start netcat in listening mode
 * enable the grade export plugin for the course to post to your netcat
   instance
 * visit the course as a teacher and set up some assignments with grades
 * publish the grades

Change-Id: I7f5b6b264b70ffe06c38f29ad52ee1d4694e5a8d
Reviewed-on: https://gerrit.instructure.com/7279
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
2011-12-09 13:45:19 -07:00
Jacob Fugal 5dbb29e559 remove generated view 'specs' clutter
Change-Id: Ic25653de2e9c7644be0e6a0abcf58bf946b3cef9
Reviewed-on: https://gerrit.instructure.com/6015
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-10-06 16:15:59 -06:00