From c97041597b8b5d1186e3723c1dfeb18d20cfb5ce Mon Sep 17 00:00:00 2001 From: Joshua Coles Date: Sun, 4 Feb 2024 15:05:12 +0000 Subject: [PATCH] Add renumber lectures button --- app/controllers/admin/courses_controller.rb | 6 ++++++ app/views/admin/application/show.html.erb | 2 +- app/views/admin/course/_actions.html.erb | 5 +++++ config/routes.rb | 2 ++ 4 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 app/views/admin/course/_actions.html.erb diff --git a/app/controllers/admin/courses_controller.rb b/app/controllers/admin/courses_controller.rb index d7bea0e..1103581 100644 --- a/app/controllers/admin/courses_controller.rb +++ b/app/controllers/admin/courses_controller.rb @@ -1,5 +1,11 @@ module Admin class CoursesController < Admin::ApplicationController + def renumber_lectures + course = Course.find(params[:id]) + course.renumber_lectures! + redirect_to admin_course_url(course), notice: "Lectures renumbered!" + end + # Overwrite any of the RESTful controller actions to implement custom behavior # For example, you may want to send an email after a foo is updated. # diff --git a/app/views/admin/application/show.html.erb b/app/views/admin/application/show.html.erb index ebe4d7c..b51ed2e 100644 --- a/app/views/admin/application/show.html.erb +++ b/app/views/admin/application/show.html.erb @@ -67,6 +67,6 @@ as well as a link to its edit page. <% actions_template = "admin/#{page.resource.class.name.downcase}/actions" %> <% if lookup_context.template_exists?(actions_template, [], true) %> - <%= render actions_template %> + <%= render actions_template, { page: } %> <% end %> diff --git a/app/views/admin/course/_actions.html.erb b/app/views/admin/course/_actions.html.erb new file mode 100644 index 0000000..fffae75 --- /dev/null +++ b/app/views/admin/course/_actions.html.erb @@ -0,0 +1,5 @@ +<%= link_to( + "Renumber lectures", + [namespace, page.resource, :renumber_lectures], + class: "button", + ) if accessible_action?(page.resource, :renumber_lectures) %> diff --git a/config/routes.rb b/config/routes.rb index 1320bb3..995dd4b 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -7,6 +7,8 @@ Rails.application.routes.draw do resources :recordings root to: "courses#index" + + get '/courses/:id/renumber_lectures', to: 'courses#renumber_lectures', as: :course_renumber_lectures end root controller: :attendance_tracker, action: :index