Пример #1
0
def dashboard(request):
    """
    A quick summary overview for users: A list of their own tickets, a table
    showing ticket counts by queue/status, and a list of unassigned tickets
    with options for them to 'Take' ownership of said tickets.
    """

    tickets = Ticket.objects.filter(assigned_to=request.user, ).exclude(
        status=Ticket.CLOSED_STATUS, )

    ticket_table = UnpagedTicketTable(tickets)
    table_to_report = RequestConfig(request,
                                    paginate=False).configure(ticket_table)
    if table_to_report:
        return create_report_http_response(table_to_report, request)

    unassigned_tickets = Ticket.objects.filter(
        assigned_to__isnull=True, ).exclude(status=Ticket.CLOSED_STATUS, )

    unassigned_ticket_table = UnassignedTicketTable(unassigned_tickets)
    table_to_report = RequestConfig(
        request, paginate=False).configure(unassigned_ticket_table)
    if table_to_report:
        return create_report_http_response(table_to_report, request)
    # The following query builds a grid of queues & ticket statuses,
    # to be displayed to the user. EG:
    #          Open  Resolved
    # Queue 1    10     4
    # Queue 2     4    12

    cursor = connection.cursor()
    cursor.execute("""
        SELECT      q.id as queue,
                    q.title AS name,
                    COUNT(CASE t.status WHEN '1' THEN t.id WHEN '2' THEN t.id END) AS open,
                    COUNT(CASE t.status WHEN '3' THEN t.id END) AS resolved
            FROM    helpdesk_ticket t,
                    helpdesk_queue q
            WHERE   q.id =  t.queue_id
            GROUP BY queue, name
            ORDER BY q.id;
    """)
    dash_tickets = query_to_dict(cursor.fetchall(), cursor.description)

    return render_to_response(
        'helpdesk/dashboard.html',
        RequestContext(
            request, {
                'user_tickets': tickets,
                'unassigned_tickets': unassigned_tickets,
                'dash_tickets': dash_tickets,
                'ticket_table': ticket_table,
                'unassigned_ticket_table': unassigned_ticket_table
            }))
Пример #2
0
def shedulelog(request):
    if not (request.user.account.has_perm('billservice.view_shedulelog')):
        messages.error(request,
                       _(u'У вас нет прав на доступ в этот раздел.'),
                       extra_tags='alert-danger')
        return HttpResponseRedirect('/ebsadmin/')

    if request.method == 'GET' and request.GET:
        data = request.GET

        #pageitems = 100
        form = SheduleLogSearchForm(data)
        if form.is_valid():

            account = form.cleaned_data.get('account')

            res = SheduleLog.objects.all()
            if account:
                res = res.filter(accounttarif__account__id__in=account)

            table = SheduleLogTable(res)
            table_to_report = RequestConfig(
                request,
                paginate=False if request.GET.get('paginate') == 'False' else
                True).configure(table)
            if table_to_report:
                return create_report_http_response(table_to_report, request)

            return {"table": table, 'form': form, 'resultTab': True}

        else:
            return {'status': False, 'form': form}
    else:
        form = SheduleLogSearchForm()
        return {'form': form}
Пример #3
0
    def get(self, request, parcel=None):
        config = RequestConfig(request)
        parcelDoesNotExist = False
        if parcel:
            parcelNumber = parcel
            form = NeighborhoodAssocationSearchForm(request.GET)
            try:
                selected_property = Property.objects.get(parcel=parcelNumber)
                na = Neighborhood_Association.objects.filter(
                    geometry__contains=selected_property.geometry).order_by(
                        'area2')
            except Property.DoesNotExist:
                na = Neighborhood_Association.objects.all().order_by('name')
                parcelDoesNotExist = True

        else:
            form = NeighborhoodAssocationSearchForm()
            na = Neighborhood_Association.objects.all().order_by('name')
            parcelNumber = ''

        naTable = NeighborhoodAssociationTable(na, prefix="na-")
        config.configure(naTable)

        return render_to_response('neighborhood_associations.html', {
            'form': form,
            'title': parcelNumber,
            'table': naTable,
            'parcelDoesNotExist': parcelDoesNotExist
        },
                                  context_instance=RequestContext(request))
Пример #4
0
def suppagreement(request):
    if not (request.user.account.has_perm('billservice.view_suppagreement')):
        messages.error(request,
                       _(u'У вас нет прав на доступ в этот раздел.'),
                       extra_tags='alert-danger')
        return HttpResponseRedirect('/ebsadmin/')

    res = SuppAgreement.objects.all().extra(
        select={
            'accounts_count':
            'SELECT count(*) FROM billservice_accountsuppagreement WHERE suppagreement_id=billservice_suppagreement.id'
        })
    table = SuppAgreementTable(res)
    table_to_report = RequestConfig(
        request,
        paginate=False
        if request.GET.get('paginate') == 'False' else True).configure(table)
    if table_to_report:
        return create_report_http_response(table_to_report, request)
    return {
        "list_url": reverse('suppagreement'),
        "list_header": _(u'Вид дополнительного соглашения'),
        "add_btn_url": reverse('suppagreement_edit'),
        "table": table
    }
Пример #5
0
    def get_context_data(self, **kwargs):
        context = super(DjangoAutoFilter, self).get_context_data(**kwargs)

        filter_generator = FilterGenerator(self.model)

        table_generator = TableGenerator(self.model)
        table = table_generator.get_table_from_queryset(
            filter_generator.get_query_set(self.request.GET))

        self.table_to_report = RequestConfig(self.request,
                                             paginate={
                                                 "per_page": self.item_per_page
                                             }).configure(table)

        context.update({
            "table":
            table,
            "filter": (filter_generator.get_filter_instance(self.request.GET)),
            "admin_base_url":
            self.get_admin_url(),
            "model_rest_api_url": (get_rest_api_url(self.model)),
            "keyword_fields":
            filter_generator.get_keyword_filtering_fields(),
        })
        return context
Пример #6
0
def index_function_view_middleware(request):
    objs = Person.objects.all()
    table = TestTable(objs)
    RequestConfig(request).configure(table)
    return render_to_response('test_app/person_list.html',
                              {'table': table},
                              context_instance=RequestContext(request))
Пример #7
0
def render_report(request, slug):
    class AccountTransactionsSumm(TableReport):
        username = django_tables.Column()
        summ = FormatFloatColumn()
        class Meta:
            attrs = {'class': 'table table-striped table-bordered table-condensed"'}
    name = rep.get(slug)[1]
    if request.GET and request.method=='GET':
        form = AccountBallanceForm(request.GET)
        if form.is_valid():
            date_start = form.cleaned_data.get('date_start')
            date_end = form.cleaned_data.get('date_end')
            accounts = form.cleaned_data.get('accounts')
            res = Account.objects.all()
            if accounts:
                res = res.filter(id__in=[a.id for a in accounts])
            res =res.extra(
                select={
                    'summ': "SELECT sum(summ) FROM billservice_transaction WHERE account_id=billservice_account.id and created between '%s' and '%s' " % (date_start, date_end)
                },
                where=["(SELECT sum(summ) FROM billservice_transaction WHERE account_id=billservice_account.id and created between '%s' and '%s' )<>0" % (date_start, date_end)]
            )
            table = AccountTransactionsSumm(res)
            table_to_report = RequestConfig(request, paginate=True if not request.GET.get('paginate')=='False' else False).configure(table)
            if table_to_report:
                return create_report_http_response(table_to_report, request)
            #print res[0].SUMM
            return {'form': form, 'table': table, 'name': name, 'slug': slug}
            
    form = AccountBallanceForm()
    return {'form': form, 'name': name, 'slug': slug}
Пример #8
0
def accountaddonservicereport(request, slug):
    class AccountAddonServiceReport(TableReport):
        class Meta:
            model = AccountAddonService
            attrs = {'class': 'table table-striped table-bordered table-condensed"'}
            
    name = rep.get(slug)[1]
    if request.GET and request.method=='GET':
        form = AccountBallanceForm(request.GET)
        if form.is_valid():
            date_start = form.cleaned_data.get('date_start')
            date_end = form.cleaned_data.get('date_end')
            accounts = form.cleaned_data.get('accounts')
            
            res = AccountAddonService.objects.all()
            if date_start:
                res = res.filter(activated__gte=date_start)
                
            if date_end:
                res = res.filter(deactivated__lte=date_end)
                
            if accounts:
                res = res.filter(account__in=accounts)
            table = AccountAddonServiceReport(res)
            table_to_report = RequestConfig(request, paginate=True if not request.GET.get('paginate')=='False' else False).configure(table)
            if table_to_report:
                return create_report_http_response(table_to_report, request)
            #print res[0].SUMM
            return {'form': form, 'table': table, 'name': name, 'slug': slug}
        else:
            return {'form': form, 'name': name, 'slug': slug}
    form = AccountBallanceForm()
    return {'form': form, 'name': name, 'slug': slug}
Пример #9
0
def sms(request):

    if not (request.user.account.has_perm('billservice.view_news')):
        messages.error(request,
                       _(u'У вас нет прав на доступ в этот раздел.'),
                       extra_tags='alert-danger')
        return HttpResponseRedirect('/ebsadmin/')

    if request.GET:
        data = request.GET

        #pageitems = 100
        form = SearchSmsForm(data)
        if data and form.is_valid():

            phone = form.cleaned_data.get('phone')
            accounts = form.cleaned_data.get('accounts')
            backend = form.cleaned_data.get('backend')
            publish_date = form.cleaned_data.get('publish_date')

            sended_from = form.cleaned_data.get('sended_from')
            sended_to = form.cleaned_data.get('sended_to')

            query = Message.objects.all()

            if phone:
                query = query.filter(to__istartswith=phone)

            if accounts:
                query = query.filter(account__in=accounts)

            if backend:
                query = query.filter(backend=backend)

            if publish_date:
                query = query.filter(publish_date=publish_date)

            if sended_from:
                query = query.filter(sended=sended_from)

            if sended_to:
                query = query.filter(sended=sended_to)

            res = query
            table = MessageTable(res)
            table_to_report = RequestConfig(
                request,
                paginate=False if request.GET.get('paginate') == 'False' else
                True).configure(table)
            if table_to_report:
                return create_report_http_response(table_to_report, request)

            return {"table": table, 'form': form, 'resultTab': True}

        else:
            return {'status': False, 'form': form}
    else:
        form = SearchSmsForm()
        return {'form': form}
Пример #10
0
def index_function_view(request):
    objs = Person.objects.all()
    table = TestTable(objs)
    table_to_report = RequestConfig(request).configure(table)
    if table_to_report:
        return create_report_http_response(table_to_report, request)
    return render_to_response('test_app/person_list.html', {'table': table},
                              context_instance=RequestContext(request))
Пример #11
0
def payment(request):
        
    if  not (request.user.account.has_perm('billservice.view_transaction')):
        messages.error(request, _(u'У вас нет прав на доступ в этот раздел.'), extra_tags='alert-danger')
        return HttpResponseRedirect('/ebsadmin/')


    if request.GET: 
        data = request.GET

        #pageitems = 100
        form = PaymentSearchForm(data)
        if form.is_valid():
            
            accounts = form.cleaned_data.get('accounts')
            payment = form.cleaned_data.get('payment')
            date_start = form.cleaned_data.get('date_start')
            date_end = form.cleaned_data.get('date_end')
            paid_start = form.cleaned_data.get('paid_start')
            paid_end = form.cleaned_data.get('paid_end')
            status = form.cleaned_data.get('status')
            
            res = Payment.objects.all()
            
            if payment:
                res = res.filter(id=payment)
                
            if accounts:
                res = res.filter(account_id__in=accounts)

            if date_start:
                res = res.filter(created_on__gte=date_start)

            if date_end:
                res = res.filter(created_on__lte=date_end)
                

            if paid_start:
                res = res.filter(paid_on__gte=paid_start)

            if paid_end:
                res = res.filter(paid_on__lte=paid_end)
                
            if status:
                res = res.filter(status=status)
                
            table = PaymentTable(res)
            table_to_report = RequestConfig(request, paginate=False if request.GET.get('paginate')=='False' else True).configure(table)
            if table_to_report:
                return create_report_http_response(table_to_report, request)
            
            return {"table": table,  'form':form, 'resultTab':True}   
    
        else:
            return {'status':False, 'form':form}
    else:
        form = PaymentSearchForm()
        return { 'form':form}   
Пример #12
0
def accountprepaystraffic(request):

    if not (request.user.account.has_perm(
            'billservice.view_accountprepaystraffic')):
        messages.error(request,
                       _(u'У вас нет прав на доступ в этот раздел.'),
                       extra_tags='alert-danger')
        return HttpResponseRedirect('/ebsadmin/')

    if request.method == 'GET' and request.GET:
        data = request.GET

        #pageitems = 100
        form = AccountPrepaysTraficSearchForm(data)
        if form.is_valid():

            account = form.cleaned_data.get('account')
            group = form.cleaned_data.get('group')
            current = form.cleaned_data.get('current')
            tariff = form.cleaned_data.get('tariff')
            date_start = form.cleaned_data.get('date_start')
            date_end = form.cleaned_data.get('date_end')

            res = AccountPrepaysTrafic.objects.all().order_by(
                'account_tarif__account', 'current')
            if account:
                res = res.filter(account_tarif__account__id__in=account)

            if group:
                res = res.filter(prepaid_traffic__group__in=group)

            if tariff:
                res = res.filter(account_tarif__tarif__in=tariff)

            if current:
                res = res.filter(current=current)

            if date_start:
                res = res.filter(datetime__gte=date_start)
            if date_end:
                res = res.filter(datetime__lte=date_end)

            table = AccountPrepaysTraficTable(res)
            table_to_report = RequestConfig(
                request,
                paginate=False if request.GET.get('paginate') == 'False' else
                True).configure(table)
            if table_to_report:
                return create_report_http_response(table_to_report, request)

            return {"table": table, 'form': form, 'resultTab': True}

        else:
            return {'status': False, 'form': form}
    else:
        form = AccountPrepaysTraficSearchForm()
        return {'form': form}
Пример #13
0
def settlementperiod(request):
    if  not (request.user.account.has_perm('billservice.view_settlementperiod')):
        messages.error(request, _(u'У вас нет прав на доступ в этот раздел.'), extra_tags='alert-danger')
        return HttpResponseRedirect('/ebsadmin/')
    
    res = SettlementPeriod.objects.all()
    table = SettlementPeriodTable(res)
    table_to_report = RequestConfig(request, paginate=False if request.GET.get('paginate')=='False' else True).configure(table)
    if table_to_report:
        return create_report_http_response(table_to_report, request)
    return {"table": table} 
Пример #14
0
def condition_report_list(request):
    config = RequestConfig(request)
    f = ConditionReportFilters(
        request.GET, queryset=ConditionReport.objects.all().order_by('-timestamp'))
    table = ConditionReportTable(f)
    config.configure(table)
    return render_to_response('admin-with-filter-table.html', {
        'filter': f,
        'title': 'Condition Reports Admin',
        'table': table
    }, context_instance=RequestContext(request))
Пример #15
0
def inquiry_list(request):
    config = RequestConfig(request)
    f = PropertyInquiryFilters(
        request.GET, queryset=propertyInquiry.objects.all().order_by('-timestamp'))
    table = PropertyInquiryTable(f)
    config.configure(table)
    return render_to_response('admin-with-filter-table.html', {
        'filter': f,
        'title': 'Property Inquiry Admin',
        'table': table
    }, context_instance=RequestContext(request))
Пример #16
0
def hardwaretype(request):
    if  not (request.user.account.has_perm('billservice.view_hardwaretype')):
        messages.error(request, _(u'У вас нет прав на доступ в этот раздел.'), extra_tags='alert-danger')
        return HttpResponseRedirect('/ebsadmin/')
    
    res = HardwareType.objects.all()
    table = HardwareTypeTable(res)
    table_to_report = RequestConfig(request, paginate=False).configure(table)
    if table_to_report:
        return create_report_http_response(table_to_report, request)
            
    return {"table": table} 
Пример #17
0
def showAnnualReportIndex(request):
    config = RequestConfig(request)
    f = AnnualReportFilters(
        request.GET, queryset=annual_report.objects.all().order_by('id'))
    table = AnnualReportTable(f)
    config.configure(table)
    return render_to_response('admin-with-filter-table.html', {
        'filter': f,
        'title': 'Annual Report Admin',
        'table': table
    },
                              context_instance=RequestContext(request))
Пример #18
0
def actionlog(request):
    if not (request.user.account.has_perm('object_log.view_logitem')):
        messages.error(request,
                       _(u'У вас нет прав на доступ в этот раздел.'),
                       extra_tags='alert-danger')
        return HttpResponseRedirect('/ebsadmin/')

    if request.GET:
        form = LogItemFilterForm(request.GET)
        if form.is_valid():
            id = form.cleaned_data.get("id")
            content_type = form.cleaned_data.get("ct")
            action = form.cleaned_data.get("action")
            user = form.cleaned_data.get("user")
            start_date = form.cleaned_data.get("start_date")
            end_date = form.cleaned_data.get("end_date")

            res = LogItem.objects.all()

            if id:
                res = res.filter(object_id1=id)

            if content_type:
                res = res.filter(object_type1=content_type)

            if action:
                res = res.filter(action__in=action)
            if user:
                res = res.filter(user__in=user)

            if start_date:
                res = res.filter(timestamp__gte=start_date)
            if end_date:
                res = res.filter(timestamp__lte=end_date)

            res = res.order_by('-id').select_related('user')
            table = ActionLogTable(res)
            table_to_report = RequestConfig(
                request,
                paginate=False if request.GET.get('paginate') == 'False' else
                True).configure(table)
            if table_to_report:
                return create_report_http_response(table_to_report, request)
    else:
        table = None
        form = LogItemFilterForm()

    return {"table": table, 'form': form}
Пример #19
0
def trafficclass(request):
    if not (request.user.account.has_perm('nas.view_trafficclass')):
        messages.error(request,
                       _(u'У вас нет прав на доступ в этот раздел.'),
                       extra_tags='alert-danger')
        return HttpResponseRedirect('/ebsadmin/')

    res = TrafficClass.objects.all()
    table = TrafficClassTable(res)
    table_to_report = RequestConfig(
        request,
        paginate=False
        if request.GET.get('paginate') == 'False' else True).configure(table)
    if table_to_report:
        return create_report_http_response(table_to_report, request)
    return {"table": table}
Пример #20
0
def trafficnode_list(request):
    if not (request.user.account.has_perm('nas.view_trafficnode')):
        messages.error(request,
                       _(u'У вас нет прав на доступ в этот раздел.'),
                       extra_tags='alert-danger')
        return HttpResponseRedirect('/ebsadmin/')
    id = request.GET.get("id")
    res = TrafficNode.objects.filter(traffic_class__id=id)
    table = TrafficNodeTable(res)
    table_to_report = RequestConfig(
        request,
        paginate=True if not request.GET.get('paginate') == 'False' else
        False).configure(table)
    if table_to_report:
        return create_report_http_response(table_to_report, request)
    return {"table": table, 'item': TrafficClass.objects.get(id=id)}
Пример #21
0
def salecard(request):
    if  not (request.user.account.has_perm('billservice.view_salecard')):
        messages.error(request, _(u'У вас нет прав на доступ в этот раздел.'), extra_tags='alert-danger')
        return HttpResponseRedirect('/ebsadmin/')
    
    res = SaleCard.objects.all()
    table = SaleCardTable(res)
    table_to_report = RequestConfig(request, paginate=True if not request.GET.get('paginate')=='False' else False).configure(table)
    if table_to_report:
        return create_report_http_response(table_to_report, request)
            
    return {
        "list_url": reverse('salecard'),
        "list_header": _(u'Накладные на карты'),
        "table": table
    }
Пример #22
0
def cashierdailyreport(request, slug):

            
    name = rep.get(slug)[1]
    if request.GET and request.method=='GET':
        form = CachierReportForm(request.GET)
        if form.is_valid():
            class TypeTransactionsSumm(TableReport):
                type__name = django_tables.Column(verbose_name=u'Тип операции')
                summ = FormatFloatColumn()
                
                def __init__(self, form, *args, **kwargs):
                    super(TypeTransactionsSumm, self).__init__(form, *args, **kwargs)
                    self.footer_data = self.TableDataClass(data=[pp.aggregate(summ=Sum('summ'))], table=self)
                    self.footer = django_tables.rows.BoundRows(self.footer_data, self)    
                class Meta:
                    attrs = {'class': 'table table-striped table-bordered table-condensed"'}
                    annotations = ('summ', )
                    
            date_start = form.cleaned_data.get('date_start')
            date_end = form.cleaned_data.get('date_end')
            systemuser = form.cleaned_data.get('systemuser')
            res = Transaction.objects.all()
            if date_start:
                res = res.filter(created__gte=date_start)
            if date_end:
                res = res.filter(created__lte=date_end+datetime.timedelta(days=1))
            
            
            if systemuser:
                res = res.filter(systemuser=systemuser)
                
            pp = res
            res = res.values('type__name').annotate(summ=Sum('summ')).order_by()
            


            table = TypeTransactionsSumm(res)
            table_to_report = RequestConfig(request, paginate=False).configure(table)
            if table_to_report:
                return create_report_http_response(table_to_report, request)

            return {'form': form, 'table': table, 'name': name, 'slug': slug}
        else:
            return {'form': form, 'name': name, 'slug': slug}
    form = CachierReportForm()
    return {'form': form, 'name': name, 'slug': slug}
Пример #23
0
def tpchangerule(request):
    if  not (request.user.account.has_perm('billservice.view_tpchangerule')):
        messages.error(request, _(u'У вас нет прав на доступ в этот раздел.'), extra_tags='alert-danger')
        return HttpResponseRedirect('/ebsadmin/')

    items = TPChangeRule.objects.all()
    table = TPChangeRuleTable(items)
    table_to_report = RequestConfig(request, paginate=False if request.GET.get('paginate')=='False' else True).configure(table)
    if table_to_report:
        return create_report_http_response(table_to_report, request)
    
    return {
        "list_url": reverse('tpchangerule'),
        "list_header": _(u'Правила смены тарифных планов'),
        "add_btn_url": reverse('tpchangerule_edit'),
        "table": table
    }
Пример #24
0
def groupstat(request):
        
    if  not (request.user.account.has_perm('billservice.view_groupstat')):
        messages.error(request, _(u'У вас нет прав на доступ в этот раздел.'), extra_tags='alert-danger')
        return HttpResponseRedirect('/ebsadmin/')


    if request.GET: 
        data = request.GET

        #pageitems = 100
        form = GroupStatSearchForm(data)
        if form.is_valid():
            
            accounts = form.cleaned_data.get('accounts')
            groups = form.cleaned_data.get('groups')
            date_start = form.cleaned_data.get('date_start')
            date_end = form.cleaned_data.get('date_end')

           
            
            res = GroupStat.objects.all().select_related().values('account__username', 'group__name').annotate(summ_bytes=Sum('bytes'))
            if accounts:
                res = res.filter(account__in=accounts)
            if groups:
                res = res.filter(group__in=groups)
  
            if date_start:
                res = res.filter(datetime__gte=date_start)

            if date_end:
                res = res.filter(datetime__lte=date_end)
                
            table = GroupStatTable(res)
            table_to_report = RequestConfig(request, paginate=False if request.GET.get('paginate')=='False' else True).configure(table)
            if table_to_report:
                return create_report_http_response(table_to_report, request)
            
            return {"table": table,  'form':form, 'resultTab':True}   
    
        else:
            return {'status':False, 'form':form}
    else:
        form = GroupStatSearchForm()
        return { 'form':form}   
Пример #25
0
def showApplications(request):
    config = RequestConfig(request)

    soldProperties = Property.objects.all().filter(
        status__istartswith='Sold').order_by('status', 'applicant')
    approvedProperties = Property.objects.all().filter(
        status__istartswith='Sale').order_by('status', 'applicant')

    soldFilter = ApplicationStatusFilters(
        request.GET, queryset=soldProperties, prefix="sold-")
    approvedFilter = ApplicationStatusFilters(
        request.GET, queryset=approvedProperties, prefix="approved-")

    soldTable = PropertyStatusTable(soldFilter, prefix="sold-")
    approvedTable = PropertyStatusTable(approvedFilter, prefix="approved-")

    config.configure(soldTable)
    config.configure(approvedTable)
    return render(request, 'app_status_template.html', {'soldTable': soldTable, 'approvedTable': approvedTable, 'title': 'applications & sale activity', 'soldFilter': soldFilter, 'approvedFilter': approvedFilter})
Пример #26
0
def dynamicschemafield(request):
    if not (request.user.account.has_perm(
            'dynamicmodel.change_dynamicschemafield')):
        messages.error(request,
                       _(u'У вас нет прав на доступ в этот раздел.'),
                       extra_tags='alert-danger')
        return HttpResponseRedirect('/ebsadmin/')

    res = DynamicSchemaField.objects.all()
    table = DynamicSchemaFieldTable(res)
    table_to_report = RequestConfig(
        request,
        paginate=False
        if request.GET.get('paginate') == 'False' else True).configure(table)

    if table_to_report:
        return create_report_http_response(table_to_report, request)

    return {"table": table}
Пример #27
0
def admin_dashboard(request):

    accounts_count = Account.objects.count()
    res = Comment.objects.all().order_by('-created')
    table = CommentTable(res)

    table_to_report = RequestConfig(
        request,
        paginate=False
        if request.GET.get('paginate') == 'False' else True).configure(table)
    if table_to_report:
        return create_report_http_response(table_to_report, request)

    sessions_count = ActiveSession.objects.filter(
        session_status='ACTIVE').count()
    systemusers_count = SystemUser.objects.all().count()

    accounts_today = Account.objects.filter(
        created__gte=datetime.datetime.now() -
        datetime.timedelta(seconds=86400)).count()
    transactions_today = Transaction.objects.filter(
        created__gte=datetime.datetime.now() -
        datetime.timedelta(seconds=86400)).count()

    accounts_minus = Account.objects.filter(ballance__lte=0).count()
    accounts_plus = Account.objects.filter(ballance__gt=0).count()

    accounts_inactive = Account.objects.filter(~Q(status=1)).count()

    registrationrequest_count = RegistrationRequest.objects.all().count()

    return {
        'accounts_count': accounts_count,
        'comment_table': table,
        'sessions_count': sessions_count,
        'systemusers_count': systemusers_count,
        'accounts_today': accounts_today,
        'transactions_today': transactions_today,
        'accounts_minus': accounts_minus,
        'accounts_plus': accounts_plus,
        'accounts_inactive': accounts_inactive,
        'registrationrequest_count': registrationrequest_count
    }
Пример #28
0
def transactionreport(request):

    if not (request.user.account.has_perm('billservice.view_transaction')):
        return {'status': False}

    res = Transaction.objects.filter(
        systemuser=request.user.account).order_by('-created')

    table = CashierReportTable(res)
    table_to_report = RequestConfig(
        request,
        paginate=False
        if request.GET.get('paginate') == 'False' else True).configure(table)
    if table_to_report:
        return create_report_http_response(table_to_report, request)

    return {
        "table": table,
    }
Пример #29
0
def news(request):
    if not (request.user.account.has_perm('billservice.view_news')):
        messages.error(request,
                       _(u'У вас нет прав на доступ в этот раздел.'),
                       extra_tags='alert-danger')
        return HttpResponseRedirect('/ebsadmin/')
    res = News.objects.all()
    table = NewsTable(res)
    table_to_report = RequestConfig(
        request,
        paginate=False
        if request.GET.get('paginate') == 'False' else True).configure(table)
    if table_to_report:
        return create_report_http_response(table_to_report, request)
    return {
        "list_url": reverse('news'),
        "list_header": _(u'Компонент новостей'),
        "add_btn_url": reverse('news_edit'),
        "table": table
    }
Пример #30
0
    def get_table(self, queryset, downloadable=False):
        """Convert the queryset to a report table."""
        if not getattr(self, 'table_class', None):
            raise ImproperlyConfigured(
                "Report class must define `table_class`")
        data = self.get_table_data(queryset)
        if downloadable:
            downloadable_class = getattr(self, 'downloadable_table_class',
                                         self.table_class)
            table = downloadable_class(data,
                                       empty_text=self.empty_text,
                                       attrs=self.attrs)
        else:
            table = self.table_class(data,
                                     empty_text=self.empty_text,
                                     attrs=self.attrs)

        config = RequestConfig(self.request,
                               paginate={
                                   'per_page': self.page_size,
                               })
        config.configure(table)
        return table