Query report By Ashrafuzzaman.
###Write the action with a simple DSL and get a report with PDF and CSV export, gorgeous charts, out of box filters, with I18n support, etc...
You would have to do the following tasks to create a report in rails,
- Create a route
- Create an action with following logic
- Logic for filters
- Logic for pagination
- Create a view
- Write code to show HTML
- Write code to generate Graph
- Generate PDF with prawn pdf and graph
- Logic to send that PDF file as email
- Create a route
- Create an action with following logic
Logic for filtersLogic for pagination
Create a viewWrite code to show HTMLWrite code to generate Graph
Generate PDF with prawn pdf and graphLogic to send that PDF file as email
For email, you have to implement the popup once.
- Allow to use and reuse filters using ransack, and also with custom query
- Paginates kaminari
- Supports ajax out of box
- Exports to PDF prawn, csv, json
- Supports to send report pdf as email
- Supports I18N
For a demo see here
The purpose of this gem is to produce consistent reports quickly and manage them easily. Because all we need to concentrate in a report is the query and filter.
Query report is tested with Rails 3. You can add it to your Gemfile with:
gem "query_report"
Run the bundle command to install it.
Here is a sample controller which uses query report. And that is all you need, query report will generate all the view for you.
require 'query_report/helper' #need to require the helper
class InvoicesController < ApplicationController
include QueryReport::Helper #need to include it
def index
@invoices = Invoice.scoped
reporter(@invoices) do
filter :title, type: :text
filter :created_at, type: :date, default: [5.months.ago, 1.months.from_now]
filter :paid, type: :boolean, default: false
column :title do |invoice|
link_to invoice.title, invoice
end
column :total_paid, show_total: true
column :total_charged, show_total: true
column :paid
end
end
end
MIT License. Copyright © 2014 Ashrafuzzaman. See MIT-LICENSE for further details.