def index(request): if not request.user.account.has_perm("billservice.view_cashier"): return {"status": False} if request.method == "GET" and request.GET: data = request.GET # pageitems = 100 form = CashierAccountForm(request.GET) if form.is_valid(): res = Account.objects.all() contract = form.cleaned_data.get("contract") username = form.cleaned_data.get("username") fullname = form.cleaned_data.get("fullname") city = form.cleaned_data.get("city") street = form.cleaned_data.get("street") house = form.cleaned_data.get("house") if contract: res = res.filter(contract__istartswith=contract) if username: res = res.filter(username__istartswith=username) if fullname: res = res.filter(fullname__istartswith=fullname) if city: res = res.filter(city=city) if street: res = res.filter(street__istartswith=street) if house: res = res.filter(house__istartswith=house) table = AccountsCashierReportTable(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: res = Account.objects.filter(status=1) table = AccountsCashierReportTable(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) form = CashierAccountForm() return {"form": form, "table": table}
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 }))
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 }))
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}
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}
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 }
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}
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}
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 }
def process_response(self, request, response): table_to_report = getattr(request, REQUEST_VARIABLE, None) current_content_type = response.get('Content-Type', None) if table_to_report and current_content_type not in\ REPORT_CONTENT_TYPES: return create_report_http_response(table_to_report, request) return response
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}
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))
def manage_servers(request): name = "Servers" xlstable = ServersReport(Server.objects.all()) table_to_report = RequestConfigReport(request, paginate={"per_page": 15}).configure(xlstable) if table_to_report: return create_report_http_response(table_to_report, request) return render_to_response("modify.html", {"name": name, "table": xlstable}, context_instance=RequestContext(request))
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}
def details(request): global reqtable, chartList #RequestConfig(request).configure(reqTable) table_to_report = RequestConfig(request, paginate={"per_page": 15}).configure(reqtable) if table_to_report: return create_report_http_response(table_to_report, request) return render_to_response('details.html', {'title': "Details", 'info': reqtable, 'chart': chartList}, context_instance=RequestContext(request))
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}
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}
def get(self, request, *args, **kwargs): param_report = "%s-%s" % (DEFAULT_PARAM_PREFIX, self.table_class.__name__.lower()) if self.request.GET.get(param_report, ''): # create the table; middleware will generate the CSV response queryset = self.get_filter().qs table = self.get_table(queryset, downloadable=True) table.param_report = param_report return create_report_http_response(table, request) context = self.get_context_data(**kwargs) return self.render_to_response(context)
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)}
def globalstat(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 = GlobalStatSearchForm(data) if data and form.is_valid(): accounts = form.cleaned_data.get('accounts') groups = form.cleaned_data.get('groups') daterange = form.cleaned_data.get('daterange') or [] start_date, end_date = form.cleaned_data.get('start_date'), form.cleaned_data.get('end_date') query = GlobalStat.objects.all().select_related().values('account__username').annotate(bytes_in=Sum('bytes_in'), bytes_out=Sum('bytes_out'), min=Min('datetime'), max=Max('datetime')) query.group_by = ['account__username'] res = query #res = QuerySet(query=query, model=GlobalStat).values('account__username', 'datetime').annotate(bytes_in=Sum('bytes_in'), bytes_out=Sum('bytes_out')) if accounts: res = res.filter(account__in=accounts) if start_date: res = res.filter(datetime__gte=start_date) if end_date: res = res.filter(datetime__lte=end_date) table = GlobalStatTable(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 = GlobalStatSearchForm() return { 'form':form}
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}
def search_station(request): if 'city' in request.GET and request.GET['city']: city=request.GET['city'].lower() table=LocationTable(Location.objects.filter(parentcity__icontains=city)) table_to_report=RequestConfig(request).configure(table) if table_to_report: return create_report_http_response(table_to_report,request) return render(request,'search_results.html', {"location":table,"city":city}) else: return render(request,'search_form.html',{"alert":'Please enter a city.'})
def listTags(request, server): project = Project.objects.get(name=request.session["deploy_project"]) c = Client(str(project.repo_type), server.ip, server.port,key=project.sshKey.key) res = c.ListTags(project.working_dir) print res table=TagTable(res) table_to_report = RequestConfig(request, paginate={"per_page": 15}).configure(table) if table_to_report: return create_report_http_response(table_to_report, request) return render_to_response("deploy2.html", {"project":project,"count":len(res),"mode":"tags","tags":table}, context_instance=RequestContext(request))
def nas(request): if not (request.user.account.has_perm('nas.view_nas')): messages.error(request, _(u'У вас нет прав на доступ в этот раздел.'), extra_tags='alert-danger') return HttpResponseRedirect('/ebsadmin/') res = Nas.objects.all() table = NasTable(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}
def projects(request): name = "Projects" if request.user.is_superuser: xlstable = ProjectReport(Project.objects.all()) else: projects = User_Project.objects.filter(user_id=request.user.id).values_list('project',flat=True) xlstable = ProjectReport(Project.objects.filter(name__in=list(projects))) table_to_report = RequestConfigReport(request, paginate={"per_page": 15}).configure(xlstable) if table_to_report: return create_report_http_response(table_to_report, request) return render_to_response("modify.html", {"name": name, "table": xlstable}, context_instance=RequestContext(request))
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}
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}
def registrationrequest(request): if not (request.user.account.has_perm("billservice.view_registrationrequest")): messages.error(request, _(u"У вас нет прав на просмотр запросов на подключение."), extra_tags="alert-danger") return HttpResponseRedirect("/ebsadmin/") res = RegistrationRequest.objects.all() table = RegistrationRequestTable(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("registrationrequest"), "list_header": _(u"Запросы на подключение"), "table": table}
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}
def addonservice(request): if not (request.user.account.has_perm('billservice.view_addonservice')): messages.error(request, _(u'У вас нет прав на доступ в этот раздел.'), extra_tags='alert-danger') return HttpResponseRedirect('/ebsadmin/') res = AddonService.objects.all() table = AddonServiceTable(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('addonservice'), "list_header": _(u'Подключаемые услуги'), "add_btn_url": reverse('addonservice_edit'), "table": table }
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}
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}
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 }
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 }
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}
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)}
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}
def periodicalservicelog(request): if not (request.user.account.has_perm('billservice.view_periodicalservicelog')): messages.error(request, _(u'У вас нет прав на доступ в этот раздел.'), extra_tags='alert-danger') return HttpResponseRedirect('/ebsadmin/') if request.method=='GET' and request.GET: data = request.GET #pageitems = 100 form = PeriodicalServiceLogSearchForm(data) if form.is_valid(): account = form.cleaned_data.get('account') tariff = form.cleaned_data.get('tariff') periodicalservice = form.cleaned_data.get('periodicalservice') res = PeriodicalServiceLog.objects.all() if account: res = res.filter(accounttarif__account__id__in=account) if tariff: res = res.filter(service__tarif=tariff) if periodicalservice: res = res.filter(service=periodicalservice) table = PeriodicalServiceLogTable(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 = PeriodicalServiceLogSearchForm() return { 'form':form}
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 }
def listCommits(request, filter=None): #if request.method == "GET": res = None branches = [] c = None server = None project = None print request.GET.get("refresh", "False") if request.GET.get("refresh", "False") == "True": if "commits" in request.session: request.session.pop("commits", "") request.session.pop("branchs", "") return redirect("./listCommits") if filter or not "commits" in request.session: server = Server.objects.get(name=request.session["deploy_server"]) project = Project.objects.get(name=request.session["deploy_project"]) c = Client("git", server.ip, server.port, key=project.sshKey.key) c.Pull(project.repo, project.working_dir, project.sshKey.key) res = c.ListCommits(project.working_dir, options={"branch": filter}) request.session["commits"] = res else: res = request.session["commits"] if not "branchs" in request.session: if not c: server = Server.objects.get(name=request.session["deploy_server"]) project = Project.objects.get( name=request.session["deploy_project"]) c = Client("git", server.ip, server.port, key=project.sshKey.key) branches = c.ListBranchs(project.working_dir) else: branches = request.session["branchs"] request.session["branchs"] = branches table = CommitTable(res) table_to_report = RequestConfig(request, paginate={ "per_page": 15 }).configure(table) if table_to_report: return create_report_http_response(table_to_report, request) return render_to_response("deploy2.html", { "mode": "commits", "commits": table, "branchs": branches, "current_branch": filter }, context_instance=RequestContext(request))
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}
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}
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, }
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 }
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}
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 }
def search_aqi(request): global table_model if ('dt' in request.GET and request.GET['dt']) or ('st' in request.GET and request.GET['st']): dt=request.GET['dt'] st=request.GET['st'][0:1].upper()+request.GET['st'][1:].lower() if dt=='': table_model=Hourlydata.objects.filter(stationname__icontains=st) table=HourlydataTable(table_model) elif st=='': table_model=Hourlydata.objects.filter(est_time=dt) table=HourlydataTable(table_model) else: table_model=Hourlydata.objects.filter(est_time=dt).filter(stationname__icontains=st) table=HourlydataTable(table_model) table_to_report=RequestConfig(request).configure(table) if table_to_report: return create_report_http_response(table_to_report,request) return render(request,'search_results.html', {"aqi":table,"dt":dt,"st":st}) else: return render(request,'search_form.html',{"alert":'Please enter a station or a timestamp.'})