Add course pacing item to the course navigation menu
closes LS-3546 flag = course_paces Test plan: - Open a course with course pacing enabled as a teacher - Expect a 'Course Pacing' item in the course navigation - Expect no 'Course Pacing' button on the modules page - Disable course pacing or login as a student and expect to not see the Course pacing nav item Change-Id: Iac8423a6a565c1761cfc1f0211822938bf61a6ea Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/303986 Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com> Reviewed-by: Eric Saupe <eric.saupe@instructure.com> QA-Review: Eric Saupe <eric.saupe@instructure.com> Product-Review: Luis Oliveira <luis.oliveira@instructure.com>
This commit is contained in:
parent
109abd3f99
commit
ec026f1de1
|
@ -3012,6 +3012,7 @@ class Course < ActiveRecord::Base
|
|||
TAB_COLLABORATIONS_NEW = 17
|
||||
TAB_RUBRICS = 18
|
||||
TAB_SCHEDULE = 19
|
||||
TAB_COURSE_PACES = 20
|
||||
|
||||
CANVAS_K6_TAB_IDS = [TAB_HOME, TAB_ANNOUNCEMENTS, TAB_GRADES, TAB_MODULES].freeze
|
||||
COURSE_SUBJECT_TAB_IDS = [TAB_HOME, TAB_SCHEDULE, TAB_MODULES, TAB_GRADES, TAB_GROUPS].freeze
|
||||
|
@ -3179,6 +3180,16 @@ class Course < ActiveRecord::Base
|
|||
else
|
||||
Course.default_tabs
|
||||
end
|
||||
|
||||
if account.feature_enabled?(:course_paces) && enable_course_paces && grants_any_right?(user, :manage_content, *RoleOverride::GRANULAR_MANAGE_COURSE_CONTENT_PERMISSIONS)
|
||||
default_tabs.insert(default_tabs.index { |t| t[:id] == TAB_MODULES } + 1, {
|
||||
id: TAB_COURSE_PACES,
|
||||
label: t("#tabs.course_paces", "Course Pacing"),
|
||||
css_class: "course_paces",
|
||||
href: :course_course_pacing_path
|
||||
})
|
||||
end
|
||||
|
||||
opts[:include_external] = false if elementary_homeroom_course?
|
||||
|
||||
GuardRail.activate(:secondary) do
|
||||
|
|
|
@ -56,9 +56,6 @@
|
|||
</button>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% if @context.account.feature_enabled?(:course_paces) && @context.enable_course_paces && @context.grants_any_right?(@current_user, session, :manage_content, *RoleOverride::GRANULAR_MANAGE_COURSE_CONTENT_PERMISSIONS) %>
|
||||
<a class="btn" id="course_paces_link" href="<%= course_course_pacing_path(@context) %>"><%= t("Course Pacing") %></a>
|
||||
<% end %>
|
||||
<% if @can_add %>
|
||||
<button class="btn btn-primary add_module_link">
|
||||
<i class="icon-plus" role="presentation"></i>
|
||||
|
|
|
@ -2792,6 +2792,32 @@ describe Course do
|
|||
end
|
||||
end
|
||||
|
||||
describe "TAB_COURSE_PACES" do
|
||||
it "is included when course paces is enabled" do
|
||||
@course.account.enable_feature!(:course_paces)
|
||||
@course.enable_course_paces = true
|
||||
@course.save!
|
||||
tabs = @course.tabs_available(@user).pluck(:id)
|
||||
expect(tabs).to include(Course::TAB_COURSE_PACES)
|
||||
end
|
||||
|
||||
it "is not included if the flag is off" do
|
||||
@course.account.disable_feature!(:course_paces)
|
||||
@course.enable_course_paces = true
|
||||
@course.save!
|
||||
tabs = @course.tabs_available(@user).pluck(:id)
|
||||
expect(tabs).not_to include(Course::TAB_COURSE_PACES)
|
||||
end
|
||||
|
||||
it "is not included if the course has it disabled" do
|
||||
@course.account.enable_feature!(:course_paces)
|
||||
@course.enable_course_paces = false
|
||||
@course.save!
|
||||
tabs = @course.tabs_available(@user).pluck(:id)
|
||||
expect(tabs).not_to include(Course::TAB_COURSE_PACES)
|
||||
end
|
||||
end
|
||||
|
||||
it "returns the defaults if nothing specified" do
|
||||
tab_ids = @course.tabs_available(@user).pluck(:id)
|
||||
expect(tab_ids).to eql(default_tab_ids)
|
||||
|
@ -3164,6 +3190,16 @@ describe Course do
|
|||
course_with_student(active_all: true)
|
||||
end
|
||||
|
||||
describe "TAB_COURSE_PACES" do
|
||||
it "is not included" do
|
||||
@course.account.enable_feature!(:course_paces)
|
||||
@course.enable_course_paces = true
|
||||
@course.save!
|
||||
tabs = @course.tabs_available(@user).pluck(:id)
|
||||
expect(tabs).not_to include(Course::TAB_COURSE_PACES)
|
||||
end
|
||||
end
|
||||
|
||||
it "returns K-6 tabs if feature flag is enabled for students" do
|
||||
@course.enable_feature!(:canvas_k6_theme)
|
||||
tab_ids = @course.tabs_available(@user).pluck(:id)
|
||||
|
|
|
@ -50,13 +50,6 @@ describe "course pace page" do
|
|||
|
||||
expect(driver.current_url).to include("/courses/#{@course.id}/course_pacing")
|
||||
end
|
||||
|
||||
it "is not shown when disabled" do
|
||||
disable_course_paces_in_course
|
||||
get "/courses/#{@course.id}/modules"
|
||||
|
||||
expect(course_paces_nav_exists?).to be_falsey
|
||||
end
|
||||
end
|
||||
|
||||
context "course paces modules" do
|
||||
|
|
|
@ -48,7 +48,7 @@ module CoursesHomePage
|
|||
end
|
||||
|
||||
def course_course_pace_selector
|
||||
"#course_paces_link"
|
||||
".course_paces"
|
||||
end
|
||||
|
||||
def course_menu_toggle_selector
|
||||
|
|
Loading…
Reference in New Issue