Пример #1
0
 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)
Пример #2
0
 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)
Пример #3
0
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"
Пример #4
0
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']
Пример #5
0
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"
Пример #6
0
    """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']
Пример #7
0
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)