def get_context_data(self, **kwargs): context = super(List3View, self).get_context_data(**kwargs) try: req = self.request hu = HttpUtils(req) reqData = hu.getRequestParam() host = reqData.get('host', None) if host: host = json.loads(host) host['go_live'] = 3 reqData['host'] = host else: reqData['host'] = {'go_live': 3} tree = reqData.get('tree', None) if tree: reqData['tree'] = json.loads(tree) resultJson = hu.post(serivceName="cmdb", restName="/rest/host/list/", datas=reqData) resultJson = resultJson.json() list = resultJson.get("results", []) #hostgroupResult = hu.get(serivceName="cmdb", restName="/rest/host/host_group_list/", datas={}) hostGroup_list = RedisBase.get("host_group_3", 2) count = resultJson.get("count", 0) paginator = Paginator(list, req.limit) paginator.count = count context['result_list'] = list context['is_paginated'] = count > 0 context['page_obj'] = paginator.page(req.offset) context['paginator'] = paginator context['hostGroup_list'] = hostGroup_list except Exception as e: logger.error(e, exc_info=1) return context
def paginate(request, queryset, per_page=20, count=None): """ Get a Paginator, abstracting some common paging actions. If you pass ``count``, that value will be used instead of calling ``.count()`` on the queryset. This can be good if the queryset would produce an expensive count query. """ paginator = DjangoPaginator(queryset, per_page) if count is not None: paginator.count = count # Get the page from the request, make sure it's an int. try: page = int(request.GET.get('page', 1)) except ValueError: page = 1 # Get a page of results, or the first page if there's a problem. try: paginated = paginator.page(page) except (EmptyPage, InvalidPage): paginated = paginator.page(1) paginated.url = f'{request.path}?{request.GET.urlencode()}' return paginated
def get_context_data(self, **kwargs): context = super(PreSrbListView, self).get_context_data(**kwargs) try: req = self.request hu = HttpUtils(req) reqData = hu.getRequestParam() reqData['is_auditor'] = 1 resultJson = hu.get(serivceName="presrb", restName="/rest/presrb/project_list/", datas=reqData) list = resultJson.get("results", []) paginator = Paginator(list, req.limit) count = resultJson.get("count", 0) paginator.count = count is_auditor = 1 # if req.devopsgroup == DEVOPSGROUP: # is_auditor = 1 context['is_auditor'] = is_auditor context['result_list'] = list context['is_paginated'] = count > 0 context['page_obj'] = paginator.page(req.offset) context['paginator'] = paginator file_list = [] for parent, dirnames, filenames in os.walk(settings.FILES_DIR): for filename in filenames: file_list.append(filename) context['file_list'] = file_list except Exception as e: logger.error(e,exc_info=1) return context
def get_paginator(self, queryset, per_page, orphans=0, allow_empty_first_page=True, **kwargs): # NB: self.paginator_class is not used... if not self.fast_mode: paginator = Paginator( queryset, per_page=per_page, orphans=orphans, allow_empty_first_page=allow_empty_first_page, ) paginator.count = self.count else: paginator = FlowPaginator( queryset=queryset, key=self.ordering[0], per_page=per_page, count=self.count, ) return paginator
def VentaListar(request): totalVentas = Venta.objects.filter(credito = False, estado = 'ACTIVO').aggregate(Sum('total')) findID = request.GET.get("id", 0) if findID == 0: # Campos fechaI = request.GET.get("finicio", None) fechaF = request.GET.get("ffin", None) orden = request.GET.get("sort", "") filtro = request.GET.get("filter", "") limite = int(request.GET.get("limit", "0")) pagina = int(request.GET.get("page", "0")) # Filtro if len(filtro) > 0: filtros = "Venta.objects.filter(" filtro = json.loads(filtro) for f in filtro: filtros = filtros + f["property"] + "__icontains='" + f["value"] + "'," filtros = filtros[:-1] + ", credito = False, estado = 'ACTIVO').order_by('-id')" ventas = eval(filtros) else: ventas = Venta.objects.filter(credito = False, estado = 'ACTIVO').order_by('-id') totalVentas = Venta.objects.filter(credito = False, estado = 'ACTIVO').aggregate(Sum('total')) if fechaI != None and fechaF != None: fechai = datetime.strptime(fechaI, "%Y-%m-%dT%H:%M:%S") fechaf = datetime.strptime(fechaF, "%Y-%m-%dT%H:%M:%S") ventas = Venta.objects.filter(credito = False, estado = 'ACTIVO', fecha__gte = fechai, fecha__lte = fechaf).order_by('-id') total = ventas.count() totalVentas = Venta.objects.filter(credito = False, estado = 'ACTIVO', fecha__gte = fechai, fecha__lte = fechaf).aggregate(Sum('total')) # Orden if len(orden) > 0: orden = json.loads(orden)[0] tipo_orden = "-" if orden["direction"] == "DESC" else "" campo_orden = orden["property"] ventas = ventas.order_by(tipo_orden+campo_orden) total = ventas.count() # Paginacion if pagina > 0: ventas = Paginator(ventas, limite) ventas = ventas.page(pagina) else: ventas = Venta.objects.filter(pk=findID, credito = False, estado = 'ACTIVO').order_by('-id') total = ventas.count() totalVentas = Venta.objects.filter(credito = False, estado = 'ACTIVO').aggregate(Sum('total')) return render( request, 'venta/venta.json', { 'ventas': ventas, 'total' : total, 'totalventas' : totalVentas['total__sum'], }, content_type="application/json", )
def failures(request, group_slug, project_slug, build_version): project = request.project build = get_build(project, build_version) environments = project.environments.order_by("slug") failures_ids = build.tests.filter(result=False, ).exclude( has_known_issues=True, ).only('id').distinct('metadata_id').order_by( '-metadata_id') failures = Test.objects.filter(id__in=failures_ids).only( 'metadata__suite', 'metadata__name', 'metadata__id', ).order_by( 'metadata__suite', 'metadata__name', ).distinct().values_list( 'metadata__suite', 'metadata__name', 'metadata__id', named=True, ) search = request.GET.get('search', '') if search: failures = failures.filter(metadata__name__contains=search) try: page_num = request.GET.get('page', 1) paginator = Paginator(failures, 25) paginator.count = failures_ids.count() page = paginator.page(page_num) except InvalidPage as ip: raise Http404(('Invalid page (%(page_number)s): %(message)s') % { 'page_number': page_num, 'message': str(ip), }) fwc = failures_with_confidence(project, build, page) rows = {} for t in fwc: if t.environment.slug not in rows: rows[t.environment.slug] = {} rows[t.environment.slug][t.full_name] = t context = { "project": project, "build": build, "environments": environments, "page": page, "rows": rows, "search": search, } return render(request, 'squad/failures.jinja2', context)
def get_context_data(self, **kwargs): context = super(List2View, self).get_context_data(**kwargs) try: req = self.request hu = HttpUtils(req) reqData = hu.getRequestParam() reqData['go_live'] = 2 resultJson = hu.get(serivceName="cmdb", restName="/rest/host/", datas=reqData) list = resultJson.get("results", []) treeResult = hu.get(serivceName="cmdb", restName="/rest/app/treeview/", datas={}) getData = {'offset': 0, 'limit': 1000, 'is_enabled': 1} brandResult = hu.get(serivceName="cmdb", restName="/rest/brands/", datas=getData) pidcResult = hu.get(serivceName="cmdb", restName="/rest/pidc/", datas=getData) lidcResult = hu.get(serivceName="cmdb", restName="/rest/lidc/", datas=getData) envResult = hu.get(serivceName="cmdb", restName="/rest/env/", datas=getData) mwResult = hu.get(serivceName="cmdb", restName="/rest/mw/", datas=getData) dnsResult = hu.get(serivceName="cmdb", restName="/rest/dns/", datas=getData) paginator = Paginator(resultJson.get("results", []), req.limit) count = resultJson.get("count", 0) paginator.count = count context['result_list'] = list context['tree_list'] = treeResult.get("data", []) context['brand_list'] = brandResult.get("results", []) context['pidc_list'] = pidcResult.get("results", []) context['lidc_list'] = lidcResult.get("results", []) context['env_list'] = envResult.get("results", []) context['mw_list'] = mwResult.get("results", []) context['dns_list'] = dnsResult.get("results", []) context['is_paginated'] = count > 0 context['page_obj'] = paginator.page(req.offset) context['paginator'] = paginator except Exception as e: logger.error(e, exc_info=1) return context
def pagination_util_for_raw_query(limit, modelObj, params): paginator = Paginator(modelObj, limit) paginator.count = len(list(modelObj)) pageNo = params.get('page', 1) try: pageObj = paginator.page(pageNo) except: pageObj = [] retData = {} retData['data'] = pageObj retData['total'] = paginator.count retData['num_of_pages'] = paginator.num_pages retData['page'] = pageNo return retData
def _build_entities_page(arguments, list_view_state, queryset, size, count, ordering, fast_mode=False): if not fast_mode: paginator = Paginator(queryset, size) # paginator._count = count paginator.count = count try: page = int(arguments['page']) except (KeyError, ValueError, TypeError): page = list_view_state.page or 1 try: entities_page = paginator.page(page) except (EmptyPage, InvalidPage): entities_page = paginator.page(paginator.num_pages) list_view_state.page = entities_page.number else: paginator = FlowPaginator(queryset=queryset, key=ordering[0], per_page=size, count=count) page_str = arguments.get('page') or str(list_view_state.page) try: page_info = json_load(page_str) except ValueError: page_info = None else: if not isinstance(page_info, dict): page_info = None try: entities_page = paginator.page(page_info) except LastPage: entities_page = paginator.last_page() except InvalidPage: entities_page = paginator.page() list_view_state.page = json_dump(entities_page.info(), separators=(',', ':')) return entities_page
def ControlProductoListar(request): findID = request.GET.get("id", 0) if findID == 0: # Campos clienteid = int(request.GET.get("clienteid", 0)) productoid = int(request.GET.get("productoid", 0)) orden = request.GET.get("sort", "") filtro = request.GET.get("filter", "") limite = int(request.GET.get("limit", "0")) pagina = int(request.GET.get("page", "0")) # Filtro if len(filtro) > 0: filtros = "Prestamo.objects.filter(" filtro = json.loads(filtro) for f in filtro: filtros = filtros + f["property"] + "__icontains='" + f["value"] + "'," filtros = filtros[:-1] + ", cliente_id = "+clienteid+", producto_id ="+ productoid+")" prestamo = eval(filtros) else: prestamo = Prestamo.objects.filter(cliente_id=clienteid, producto_id = productoid) # Orden if len(orden) > 0: orden = json.loads(orden)[0] tipo_orden = "-" if orden["direction"] == "DESC" else "" campo_orden = orden["property"] prestamo = prestamo.order_by(tipo_orden+campo_orden) total = prestamo.count() # Paginacion if pagina > 0: prestamo = Paginator(prestamo, 999999) prestamo = prestamo.page(pagina) else: prestamo = Prestamo.objects.filter(pk=findID) total = prestamo.count() return render( request, "producto/prestamo.json", { 'prestamos': prestamo, 'total':total }, content_type= "application/json", )
def VentaAnuladoListar(request): findID = request.GET.get("id", 0) if findID == 0: # Campos orden = request.GET.get("sort", "") filtro = request.GET.get("filter", "") limite = int(request.GET.get("limit", "0")) pagina = int(request.GET.get("page", "0")) # Filtro if len(filtro) > 0: filtros = "Venta.objects.filter(" filtro = json.loads(filtro) for f in filtro: filtros = filtros + f["property"] + "__icontains='" + f["value"] + "'," filtros = filtros[:-1] + ", estado = 'ANULADO').order_by('-id')" ventas = eval(filtros) else: ventas = Venta.objects.filter(estado = 'ANULADO').order_by('-id') # Orden if len(orden) > 0: orden = json.loads(orden)[0] tipo_orden = "-" if orden["direction"] == "DESC" else "" campo_orden = orden["property"] ventas = ventas.order_by(tipo_orden+campo_orden) total = ventas.count() totalVentas = Venta.objects.filter(estado = 'ANULADO').aggregate(Sum('total')) # Paginacion if pagina > 0: ventas = Paginator(ventas, limite) ventas = ventas.page(pagina) else: ventas = Venta.objects.filter(pk=findID, estado = 'ANULADO').order_by('-id') total = ventas.count() return render( request, 'venta/venta.json', { 'ventas': ventas, 'total' : total, 'totalventas' : totalVentas['total__sum'], }, content_type="application/json", )
def get_context_data(self, **kwargs): context = {} try: req = self.request hu = HttpUtils(req) reqData = hu.getRequestParam() logsListResult = hu.get(serivceName="p_job", restName="/rest/commandset/ansiblehistorylist/", datas=reqData) #/rest/job/list_ansible_history/ list = logsListResult.get("results", []) paginator = Paginator(list, req.limit) count = logsListResult.get("count", 0) paginator.count = count context['result_list'] = list context['is_paginated'] = count > 0 context['page_obj'] = paginator.page(req.offset) context['paginator'] = paginator except Exception as e: logger.error(e,exc_info=1) return context
def DetallePedidoListar(request): findID = request.GET.get("id", 0) idPe = int(request.GET.get("idpedido", 0)) idp = Pedido.objects.filter(id=idPe) if findID == 0: # Campos orden = request.GET.get("sort", "") filtro = request.GET.get("filter", "") limite = int(request.GET.get("limit", "0")) pagina = int(request.GET.get("page", "0")) # Filtro if len(filtro) > 0: filtros = "DetallePedido.objects.filter(" filtro = json.loads(filtro) for f in filtro: filtros = filtros + f["property"] + "__icontains='" + f["value"] + "'," filtros = filtros[:-1] + ", pedido_id=idp)" detallepedidos = eval(filtros) else: detallepedidos = DetallePedido.objects.filter(pedido_id=idp) # Orden if len(orden) > 0: orden = json.loads(orden)[0] tipo_orden = "-" if orden["direction"] == "DESC" else "" campo_orden = orden["property"] detallepedidos = detallepedidos.order_by(tipo_orden+campo_orden) total = detallepedidos.count() if pagina > 0: detallepedidos = Paginator(detallepedidos, 999999) detallepedidos = detallepedidos.page(pagina) else: detallepedidos = DetallePedido.objects.filter(pk=findID) total = detallepedidos.count() return render( request, "pedido/detallepedido.json", { 'detallepedidos': detallepedidos, 'total':total }, content_type= "application/json", )
def PedidoListar(request): findID = request.GET.get("id", 0) if findID == 0: # Campos orden = request.GET.get("sort", "") filtro = request.GET.get("filter", "") limite = int(request.GET.get("limit", "0")) pagina = int(request.GET.get("page", "0")) # Filtro if len(filtro) > 0: filtros = "Pedido.objects.filter(" filtro = json.loads(filtro) for f in filtro: filtros = filtros + f["property"] + "__icontains='" + f["value"] + "'," filtros = filtros[:-1] + ", estado=False).order_by('-id')" pedidos = eval(filtros) else: pedidos = Pedido.objects.filter(estado=False).order_by('-id') # Orden if len(orden) > 0: orden = json.loads(orden)[0] tipo_orden = "-" if orden["direction"] == "DESC" else "" campo_orden = orden["property"] pedidos = pedidos.order_by(tipo_orden+campo_orden) total = pedidos.count() # Paginacion if pagina > 0: pedidos = Paginator(pedidos, 999999) pedidos = pedidos.page(pagina) else: pedidos = Pedido.objects.filter(pk=findID).order_by('-id') total = pedidos.count() return render( request, 'pedido/pedido.json', { 'pedidos': pedidos, 'total' : total, }, content_type="application/json", )
def DetalleGuiaListar(request): findID = request.GET.get("id", 0) idGuia = request.GET.get("idguia", 0) idg = GuiaRemision.objects.filter(id=idGuia) if findID == 0: # Campos orden = request.GET.get("sort", "") filtro = request.GET.get("filter", "") limite = int(request.GET.get("limit", "0")) pagina = int(request.GET.get("page", "0")) # Filtro if len(filtro) > 0: filtros = "DetalleGuia.objects.filter(" filtro = json.loads(filtro) for f in filtro: filtros = filtros + f["property"] + "__icontains='" + f["value"] + "'," filtros = filtros[:-1] + ", guia_remision_id=idg)" detalleguias = eval(filtros) else: detalleguias = DetalleGuia.objects.filter(guia_remision_id=idg) # Orden if len(orden) > 0: orden = json.loads(orden)[0] tipo_orden = "-" if orden["direction"] == "DESC" else "" campo_orden = orden["property"] detalleguias = detalleguias.order_by(tipo_orden+campo_orden) total = detalleguias.count() # Paginacion if pagina > 0: detalleguias = Paginator(detalleguias, 999999) detalleguias = detalleguias.page(pagina) else: detalleguias = DetalleGuia.objects.filter(pk=findID) total = detalleguias.count() return render( request, 'guia/detalleguias.json', { 'detalleguias': detalleguias, 'total' : total, }, content_type="application/json", )
def api_view(cls, request): pk, name, permission_table = parse_extra_url(request.path) if not permission(request, permission_table, 1): return forbidden_view() # 获取前端传过来的GET数据 get_data = request.GET # 页码 page = get_data.get(PAGE_FIELD_NAME) or 1 # 每页数据 page_size = get_data.get(PAGE_SIZE_FILED_NAME) or PAGE_SIZE # 搜索项 search = get_data.get(SEARCH_FIELD_NAME) # 排序 order = get_data.get(ORDER_FIELD_NAME) or 'id' # 分页 # 获取数据 query_set = cls.Model.objects.all() # 自定义筛选条件 query_set = cls.view_queryset(cls, query_set) # 前端传过来的筛选条件 screen_data = cls.get_screen_context(cls, {}) # 应用的筛选项 effective_screen = {} for screen_field in screen_data: if get_data.get(screen_field): effective_screen[screen_field] = get_data[screen_field] # 筛选数据 if effective_screen: query_set = query_set.filter(**effective_screen) # 搜索数据 if search: query_set = cls.view_search(cls, query_set) # 排序 query_set = query_set.order_by(order) query_set = cls.view_return_queryset(cls, query_set) paginator = Paginator(query_set,page_size) return JsonResponse({ 'count':paginator.count(), 'page:':page, 'code':200, 'data':paginator.page(page) }, safe=False)
def GuiaListar(request): findID = request.GET.get("id", 0) if findID == 0: # Campos orden = request.GET.get("sort", "") filtro = request.GET.get("filter", "") limite = int(request.GET.get("limit", "0")) pagina = int(request.GET.get("page", "0")) # Filtro if len(filtro) > 0: filtros = "GuiaRemision.objects.filter(" filtro = json.loads(filtro) for f in filtro: filtros = filtros + f["property"] + "__icontains='" + f["value"] + "'," filtros = filtros[:-1] + ", pedido__isnull=True).order_by('-pk')" guias = eval(filtros) else: guias = GuiaRemision.objects.filter(pedido__isnull=True).order_by('-pk') # Orden if len(orden) > 0: orden = json.loads(orden)[0] tipo_orden = "-" if orden["direction"] == "DESC" else "" campo_orden = orden["property"] guias = guias.order_by(tipo_orden+campo_orden) total = guias.count() # Paginacion if pagina > 0: guias = Paginator(guias, 99999) guias = guias.page(pagina) else: guias = GuiaRemision.objects.filter(pk=findID).order_by('-pk') total = guias.count() return render( request, 'guia/guias.json', { 'guias': guias, 'total' : total, }, content_type="application/json", )
def get_context_data(self, **kwargs): context = super(ListView, self).get_context_data(**kwargs) try: hu = HttpUtils(self.request) reqData = hu.getRequestParam() physical = reqData.get("physical","") deployment_environment = reqData.get("deployment_environment","") setListResult = hu.get(serivceName="job", restName="/rest/deploy/set_list/", datas=reqData) setList = setListResult.get("results",[]) for set in setList: setId = set['id'] # setListVersionResult = hu.get(serivceName="job", restName="/rest/deploy/set_list_version/", datas={"id":setId}) # setListVersion = setListVersionResult.get("data", []) # set['version'] = setListVersion reqDcit = {"parent_id":setId,"offset":0,"limit":1000} if physical != "": reqDcit['idc'] = physical if deployment_environment != "": reqDcit['env'] = deployment_environment appListResult = hu.get(serivceName="job", restName="/rest/deploy/app_list_dis/", datas=reqDcit) appList = appListResult.get("results", []) for app in appList: # applistversionResult = hu.get(serivceName="job", restName="/rest/deploy/app_list_version/", datas={"id":app.get("id","")}) # applistversion = applistversionResult.get("data", []) # app['version'] = applistversion appScriptListResult = Result = hu.get(serivceName="job", restName="/rest/deploy/app_script_list/", datas={"deploy_app_id": app.get("id", "")}) appScriptList = appScriptListResult.get("results", []) if len(appScriptList) > 0: app['script'] = appScriptList[0] set['appList'] = appList paginator = Paginator(setList, self.request.limit) count = setListResult.get("count", 0) paginator.count = count context['setList'] = setList context['is_paginated'] = count > 0 context['page_obj'] = paginator.page(self.request.offset) context['paginator'] = paginator context['devops_group'] = self.request.devopsgroup except Exception as e: logger.error(e) return context
def get_context_data(self, **kwargs): context = super(FileMonitoredView, self).get_context_data(**kwargs) try: hu = HttpUtils(self.request) reqData = hu.getRequestParam() inotify_result = hu.get(serivceName="cmdb", restName="/rest/inotify/list/", datas=reqData) inotify_list = inotify_result.get("results", []) context['result_list'] = list count = inotify_result.get("count", 0) paginator = Paginator(inotify_list, self.request.limit) paginator.count = count context['result_list'] = inotify_list context['is_paginated'] = count > 0 context['page_obj'] = paginator.page(self.request.offset) context['paginator'] = paginator except Exception as e: logging.error(e) return context
def get_context_data(self, **kwargs): context = super(ListView, self).get_context_data(**kwargs) try: req = self.request hu = HttpUtils(req) reqData = hu.getRequestParam() historyListResult = hu.get(serivceName="job", restName="/rest/deploy/history_list/", datas=reqData) historyList = historyListResult.get("results", []) paginator = Paginator(historyList, req.limit) count = historyListResult.get("count", 0) paginator.count = count context['result_list'] = historyList context['is_paginated'] = count > 0 context['page_obj'] = paginator.page(req.offset) context['paginator'] = paginator except Exception as e: logger.error(e) return context
def get_context_data(self, **kwargs): context = super(CommandSetList2View, self).get_context_data(**kwargs) try: req = self.request offset = int(req.GET.get('offset', 1)) hu = HttpUtils() offset2 = (offset - 1)*10 resultJson = hu.get(serivceName="job", restName="/rest/job/list/", datas={'offset': offset2, 'limit': PER_PAGE}) list = resultJson.get("results", []) paginator = Paginator(resultJson.get("results", []), PER_PAGE) count = resultJson.get("count", 0) paginator.count = count context['result_list'] = list context['is_paginated'] = count > 0 context['page_obj'] = paginator.page(offset) context['paginator'] = paginator except Exception as e: logger.error(e) return context
def get_context_data(self, **kwargs): context = super(ListView, self).get_context_data(**kwargs) try: req = self.request hu = HttpUtils(req) reqData = hu.getRequestParam() vipAddJson = hu.get(serivceName="cmdb", restName="/rest/vip/", datas=reqData) list = vipAddJson.get("results", []) for l in list: hostResult = hu.get(serivceName="cmdb",restName="/rest/host/list_host_by_vip",datas={"vip":l.get("name","")}) l['iplist'] = hostResult.get("data",[]) paginator = Paginator(list, req.limit) count = vipAddJson.get("count", 0) paginator.count = count context['resultList'] = list context['is_paginated'] = count > 0 context['page_obj'] = paginator.page(req.offset) context['paginator'] = paginator except Exception as e: logger.error(e) return context
def get_context_data(self, **kwargs): context = super(HostOpertionLogListView, self).get_context_data(**kwargs) try: req = self.request hu = HttpUtils(req) reqData = hu.getRequestParam() resultJson = hu.get(serivceName="cmdb", restName="/rest/host/operationlog_list/", datas=reqData) list = resultJson.get("results", []) count = resultJson.get("count", 0) paginator = Paginator(list, req.limit) paginator.count = count context['result_list'] = list context['is_paginated'] = count > 0 context['page_obj'] = paginator.page(req.offset) context['paginator'] = paginator except Exception as e: logger.error(e, exc_info=1) return context
def get_context_data(self, **kwargs): context = super(BusinesAttributessView, self).get_context_data(**kwargs) reqGet = self.request.GET tab = reqGet.get("tab", 0) # self.template_name = self.template_name_dict[tab] offset = int(reqGet.get('offset', 1)) resultJson = {} if tab == "0": resultJson = self.brandList(reqGet) elif tab == "1": resultJson = self.groupList(reqGet) context['brand_list'] = self.brandList({'offset': 1, 'limit': 1000, 'is_enabled': 1}).get("results", []) elif tab == "2": resultJson = self.moduleList(reqGet) context['brand_list'] = self.brandList({'offset': 1, 'limit': 1000, 'is_enabled': 1}).get("results", []) elif tab == "3": resultJson = self.serviceList(reqGet) context['brand_list'] = self.brandList({'offset': 1, 'limit': 1000, 'is_enabled': 1}).get("results", []) elif tab == "4": resultJson = self.middlewareList(reqGet) elif tab == "5": resultJson = self.logical_idcList(reqGet) elif tab == "6": resultJson = self.physical_idcList(reqGet) elif tab == "7": resultJson = self.deployment_environmentList(reqGet) elif tab == "8": resultJson = self.dns(reqGet) list = resultJson.get("results", []) paginator = Paginator(list, PER_PAGE) count = resultJson.get("count", 0) paginator.count = count context['result_list'] = list context['is_paginated'] = count > 0 context['page_obj'] = paginator.page(offset) context['paginator'] = paginator context['tab'] = tab return context
def get_context_data(self, **kwargs): context = super(DevopsAppMgeListView, self).get_context_data(**kwargs) try: req = self.request hu = HttpUtils(req) reqData = hu.getRequestParam() app_list_result = hu.get(serivceName="p_job", restName="/rest/appmanage/list/", datas=reqData) #/rest/app/list_app/ app_list = app_list_result.get("results", {}) count = app_list_result.get("count", 0) paginator = Paginator(app_list, req.limit) paginator.count = count context['result_list'] = app_list context['is_paginated'] = count > 0 context['page_obj'] = paginator.page(req.offset) context['paginator'] = paginator user = req.user context['userid'] = user.id except Exception as e: logger.error(e, exc_info=1) return context
def inbox(request): context = {} if 'user_id' in request.session: user_id = request.session['user_id'] user = UserProfile.objects.get(pk=user_id) if 'messageSortByDate' in request.POST: message_list = Message.objects.filter( Q(author=request.user) | Q(receiver=request.user)).order_by('-time') elif 'messageSortByUnread' in request.POST: message_list = Message.objects.filter((Q(author=request.user) | Q(receiver=request.user)) & Q(readflag='UNREAD')) message_list = message_list.order_by('-time') elif 'messageSortByFT' in request.POST: message_list = Message.objects.filter( Q(author=request.user) | Q(receiver=request.user)).order_by('author') # elif 'messageSend' in request.POST: elif request.is_ajax(): print("hi") form = messageSendForm(request.POST) if form.is_valid(): try: receiver = UserProfile.objects.get( username=request.POST['receiver']) message = Message() message.author = request.user message.receiver = receiver message.content = request.POST['content'] message.save() except ObjectDoesNotExist: print('no user admin') message_list = Message.objects.filter( Q(author=request.user) | Q(receiver=request.user)).order_by('-time') else: message_list = Message.objects.filter( Q(author=user) | Q(receiver=user)).order_by('-time') conversation = [] contacts = [] contact = '' for m in message_list: if m.author == user: contact = str(m.receiver) else: contact = str(m.author) if len(conversation) == 0: c = Conversation() c.contact = contact c.content = m.content c.time = m.time c.id = m.id conversation.append(c) contacts.append(contact) else: for x in conversation: if not contact in contacts: c = Conversation() c.contact = contact c.content = m.content c.time = m.time c.id = m.id conversation.append(c) contacts.append(contact) break else: if x.time < m.time: x.time = m.time x.content = m.content x.id = m.id i = conversation.index(x) conversation.pop(i) conversation.append(x) break paginator = Paginator(conversation, 5) # Show 5 messages per page paginator.count = len(list(conversation)) page = request.GET.get('page', 1) print(page) try: latest_conversation = paginator.page(page) except PageNotAnInteger: # If page is not an integer, deliver first page. latest_conversation = paginator.page(1) except EmptyPage: # If page is out of range (e.g. 9999), deliver last page of results. latest_conversation = paginator.page(paginator.num_pages) context = {'latest_conversation': latest_conversation} # context = {'latest_message': message_list} else: HttpResponseRedirect("/ShutterWeb/login") return render(request, 'inbox.html', context)