mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-24 20:36:49 +00:00
Add guard clause and remove conditionals
Sometimes the objects are not paginated. In this case we need to avoid trying to render pagination data, as it will throw an error. This guard clause also means we can remove messy conditionals from several controllers.
This commit is contained in:
@@ -15,7 +15,10 @@ module Admin
|
||||
|
||||
@line_items = @line_items.page(page).per(params[:per_page]) if pagination_required?
|
||||
|
||||
render json: { line_items: serialized_line_items, pagination: (pagination_required? ? pagination_data(@line_items) : nil) }
|
||||
render json: {
|
||||
line_items: serialized_line_items,
|
||||
pagination: pagination_data(@line_items)
|
||||
}
|
||||
end
|
||||
|
||||
# PUT /admin/bulk_line_items/:id.json
|
||||
|
||||
@@ -86,7 +86,7 @@ module Api
|
||||
|
||||
render json: {
|
||||
products: serialized_products,
|
||||
pagination: pagination_required? ? pagination_data(paginated_products) : nil
|
||||
pagination: pagination_data(paginated_products)
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
@@ -16,7 +16,7 @@ module Api
|
||||
|
||||
render json: {
|
||||
orders: serialized_orders(orders),
|
||||
pagination: pagination_required? ? pagination_data(orders) : nil
|
||||
pagination: pagination_data(orders)
|
||||
}
|
||||
end
|
||||
|
||||
|
||||
@@ -4,6 +4,8 @@ module PaginationData
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
def pagination_data(objects)
|
||||
return unless objects.respond_to? :total_count
|
||||
|
||||
{
|
||||
results: objects.total_count,
|
||||
pages: objects.total_pages,
|
||||
|
||||
Reference in New Issue
Block a user