def test_report_register(self): """ Tests registering a report, and verifies report is now accessible """ r = BasicTestReport() reportengine.register(r) assert (reportengine.get_report("testing", "test") == r) found = False for rep in reportengine.all_reports(): if rep[0] == (r.namespace, r.slug): assert (rep[1] == r) found = True assert (found)
def test_report_register(self): """ Tests registering a report, and verifies report is now accessible """ r=BasicTestReport() reportengine.register(r) assert(reportengine.get_report("testing","test") == r) found=False for rep in reportengine.all_reports(): if rep[0] == (r.namespace,r.slug): assert(rep[1] == r) found=True assert(found)
from reportengine.filtercontrols import StartsWithFilterControl from reportengine.outputformats import * class UserReport(reportengine.ModelReport): """An example of a model report""" verbose_name = "User Report" slug = "user-report" namespace = "system" description = "Listing of all users in the system" labels = ('username','is_active','email','first_name','last_name','date_joined') list_filter=['is_active','date_joined',StartsWithFilterControl('username'),'groups'] date_field = "date_joined" # Allows auto filtering by this date model=User per_page = 500 reportengine.register(UserReport) class ActiveUserReport(reportengine.QuerySetReport): """ An example of a queryset report. """ verbose_name="Active User Report" slug = "active-user-report" namespace = "system" per_page=10 labels = ('username','email','first_name','last_name','date_joined') queryset=User.objects.filter(is_active=True) reportengine.register(ActiveUserReport) class AppsReport(reportengine.Report): """An Example report that is pure python, just returning a list""" verbose_name="Installed Apps"
from models import Customer, SaleItem class CustomerReport(base.ModelReport): """An example of a model report""" verbose_name = "User Report" slug = "user-report" namespace = "system" description = "Listing of all Customers in the system" labels = ('stamp','first_name','last_name') list_filter=['is_active','date_joined',StartsWithFilterControl('username'),'groups'] date_field = "stamp" model=Customer per_page = 500 register(CustomerReport) class CustomerSalesReport(base.SQLReport): """A SQL Report to show sales by customer""" verbose_name = "Sales Report By Person" allow_unspecified_filters = True slug = "sale-report" namespace = "system" description = "A listing of all sales reports" labels = ('first_name', 'last_name', 'total') list_filter=['first_name', 'last_name']
"""An example of a model report""" verbose_name = "User Report" slug = "user-report" namespace = "system" description = "Listing of all Customers in the system" labels = ('stamp', 'first_name', 'last_name') list_filter = [ 'is_active', 'date_joined', StartsWithFilterControl('username'), 'groups' ] date_field = "stamp" model = Customer per_page = 500 register(CustomerReport) class CustomerSalesReport(base.SQLReport): """A SQL Report to show sales by customer""" verbose_name = "Sales Report By Person" allow_unspecified_filters = True slug = "sale-report" namespace = "system" description = "A listing of all sales reports" labels = ('first_name', 'last_name', 'total') list_filter = ['first_name', 'last_name']
class PedidoVendasPorDiaReport(reportengine.QuerySetReport): queryset = Pedido.objects.extra({'data' : "date(data_criado)"}).values('data').annotate(total_comprado=Sum('total')).order_by('-data') verbose_name = "Total de Vendas por Dia" slug = "relatorio-pedidos-vendas-por-dia" namespace = "pedido" description = "Lista o total de vendas por dia" labels = ('data', 'total_comprado') per_page = 100 class PedidoVendasPorMesReport(reportengine.QuerySetReport): queryset = Pedido.objects.extra({'data' : "MONTH(data_criado)"}).values('data').annotate(total_comprado=Sum('total')).order_by('-data') verbose_name = "Total de Vendas por Mês" slug = "relatorio-pedidos-vendas-por-mes" namespace = "pedido" description = "Lista o total de vendas por mês" labels = ('data', 'total_comprado') per_page = 100 reportengine.register(UsuarioReport) reportengine.register(CategoriaReport) reportengine.register(EventoReport) reportengine.register(PedidoReport) reportengine.register(PedidoConfirmadoReport) reportengine.register(PedidoMaioresCompradoresReport) reportengine.register(PedidoFrequentesCompradoresReport) reportengine.register(PedidoVendasPorDiaReport) reportengine.register(PedidoVendasPorMesReport)