From 20cf12a2b05a6bd4e2847aeab1769a2e85c12e36 Mon Sep 17 00:00:00 2001 From: Yong Bakos Date: Mon, 29 Apr 2024 12:50:41 -0700 Subject: [PATCH] Organization: paginate projects References #369 --- app/controllers/organizations_controller.rb | 3 +++ app/views/organizations/show.html.haml | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/app/controllers/organizations_controller.rb b/app/controllers/organizations_controller.rb index 9f2b8f0..78c172a 100644 --- a/app/controllers/organizations_controller.rb +++ b/app/controllers/organizations_controller.rb @@ -1,6 +1,8 @@ require 'hash' class OrganizationsController < ApplicationController + include Pagy::Backend + before_action :authenticate_user!, except: [:show, :index] before_action :require_admin, except: [:show, :index] before_action :set_organization, only: %w[ show edit update destroy ] @@ -23,6 +25,7 @@ def show @structure_sum = @organization_projects.sum(:number_of_structures) @project_total_length_km = @organization_projects.project_total_length_km @project_total_length_mi = (@project_total_length_km* 0.6214).floor(1) + @pagy, @organization_projects = pagy(@organization_projects) end def new diff --git a/app/views/organizations/show.html.haml b/app/views/organizations/show.html.haml index 16a9946..dec5b2e 100644 --- a/app/views/organizations/show.html.haml +++ b/app/views/organizations/show.html.haml @@ -32,6 +32,13 @@ .container.mt-5 %h2 Affiliated Projects = render @organization_projects + .row.mb-5 + .col.text-right + - if @pagy.prev + = link_to '‹ Previous page'.html_safe, @pagy.params.merge(page: @pagy.prev), class: 'btn btn-outline-primary', 'aria-label': 'previous' + .col + - if @pagy.next + = link_to 'Next page ›'.html_safe, @pagy.params.merge(page: @pagy.next), class: 'btn btn-outline-primary', 'aria-label': 'next' :javascript var ctx = document.getElementById('myChart').getContext('2d');