def get(self, request, **kwargs): status = request.GET['search_status'] status = status.split(',') status_len = len(status) filter = f'list(Study.objects.filter(' for idx, study_status in enumerate(status): if idx < status_len - 1: filter += f'Q(OverallStatus="{study_status}") | ' else: filter += f'Q(OverallStatus="{study_status}")).values())' studies = eval(filter) if studies: data = [{ 'Latitude': studies[0]['Latitude'], 'Longitude': studies[0]['Longitude'], 'clinics': [] }] data[0]['clinics'].append(studies[0]) data[0]['clinics'][0].update( visitStudy= f"https://clinicaltrials.gov/ct2/show/{studies[0]['NCTId']}") studies_length = len(studies) for i in range(1, studies_length): is_in_data = 0 for idx, s in enumerate( data ): # check for latitude and longitude into data list if studies[i]['Latitude'] == s['Latitude'] and studies[i][ 'Longitude'] == s['Longitude']: is_in_data = 1 ckeck_id = 0 for clinic in data[idx]['clinics']: if studies[i]['id'] == clinic['id']: ckeck_id = 1 if not ckeck_id: studies[i][ 'visitStudy'] = f"https://clinicaltrials.gov/ct2/show/{studies[i]['NCTId']}" data[idx]['clinics'].append(studies[i]) if not is_in_data: studies[i][ 'visitStudy'] = f"https://clinicaltrials.gov/ct2/show/{studies[i]['NCTId']}" data.append({ 'Latitude': studies[i]['Latitude'], 'Longitude': studies[i]['Longitude'], 'clinics': [studies[i]] }) return HttpResponse(json.dumps(data), content_type="application/json") else: return HttpResponse(json.dumps([]), content_type="application/json")
def UserUpdateStatus(data): """ :param data: Hash Code of the Query. :return: contributions of the user on updating Query Filter commit status. """ result = [] data['query'] = get_object_or_404(Query, hash_code=data['query']) status = data['query'].queryfilter.status p_open, g_open = -1, -1 if status is not None and status != "": status = status.split(",") if "p-open" in status or "g-open" in status: try: status.remove("p-open") p_open = 0 except ValueError: pass try: status.remove("g-open") g_open = 0 except ValueError: pass status.append("open") status = '|'.join(status) commits = ListCommit.objects.filter( Q(query=data['query']), Q(status__iregex="(" + status + ")")) else: commits = ListCommit.objects.all() for i in commits: if i.status.lower( ) == "open" and i.platform == "Phabricator" and p_open == -1: continue if i.status.lower( ) == "open" and i.platform == "Gerrit" and g_open == -1: continue obj = { "time": i.created_on, "status": i.status, "owned": i.owned, "assigned": i.assigned } if i.platform == 'Phabricator': obj['phabricator'] = True else: obj['gerrit'] = True result.append(obj) return Response({"result": result})
def list(self, request, *args, **kwargs): receiver_id = request.user.id status = self.request.query_params.get('status', '') status_list = status.split(',') status_list = [int(item) for item in status_list] queryset = Message.objects.filter( receiver_id=receiver_id, status__in=status_list).order_by('-add_time') page = self.paginate_queryset(queryset) if page is not None: serializer = self.get_serializer(page, many=True) return self.get_paginated_response(serializer.data) serializer = self.get_serializer(queryset, many=True) return Response(serializer.data)
def get_queryset(self): filters = {} advertiser_id = self.request.query_params.get('advertiser_id') campaign_id = self.request.query_params.get('campaign_id') tw_campaign_id = self.request.query_params.get('tw_campaign_id') tw_line_item_ids = self.request.query_params.get('tw_line_item_ids') status = self.request.query_params.get('status') country = self.request.query_params.get('country') keyword = self.request.query_params.get('keyword') handle = self.request.query_params.get('handle') query_set = TwitterLineItem.objects if advertiser_id: filters[ 'tw_campaign_id__campaign_id__advertiser_id'] = advertiser_id if campaign_id: filters['tw_campaign_id__campaign_id'] = campaign_id if tw_campaign_id: filters['tw_campaign_id__in'] = tw_campaign_id.split(',') if tw_line_item_ids: filters['tw_line_item_id__in'] = tw_line_item_ids.split(',') if status: filters['status__in'] = status.split(',') query_set = query_set.filter(**filters) if country: country = [c.strip() for c in country.split(',')] query_set = query_set.filter( Q(tw_targeting__name__in=country, tw_targeting__tw_targeting_type=2)) if handle: handle = [c.strip() for c in handle.split(',')] query_set = query_set.filter( Q(tw_targeting__name__in=handle, tw_targeting__tw_targeting_type=9)) if keyword: keyword = [c.strip() for c in keyword.split(',')] query_set = query_set.filter( Q(tw_targeting__name__in=keyword, tw_targeting__tw_targeting_type=10)) return query_set.distinct()
def cliente_api(request): if request.method == 'POST': status = request.data['status'] parse = status.split('|') cnpj = parse[0] cliente = get_object_or_404(Cliente, cnpj=cnpj, ativo=False) _check = parse[3] check = _check[:-1] _indice = parse[3] indice = int(_indice[len(parse[3]) - 1:]) if indice < 2: _check = int(check) - indice - int("{:%Y%m%d}".format( datetime.now())) impares = [3, 5, 7, 9] pares = [2, 4, 6, 8] if (int(_check) % 2 == 0 and indice == 0) or (int(_check) % 2 != 0 and indice == 1): if int(_check) % 2 == 0: if cliente.bloqueado: indice = impares[randint(0, 3)] else: indice = pares[randint(0, 3)] else: if cliente.bloqueado: indice = pares[randint(0, 3)] else: indice = impares[randint(0, 3)] items = ['BLOQUEADO', 'DESBLOQUEADO'] status = items[randint(0, 1)] mes = "{:%m}".format(datetime.now()) data = int("{:%Y%m%d}".format(datetime.now())) numero = randint(100000000, 999999999) codigo = data + numero + int(indice) resultado = cnpj + '|' + status + '|mes' + mes + '|' + str( codigo) + str(indice) resultadoJ = {"resultado": resultado} return JsonResponse(resultadoJ) else: content = {"erro no codigo": "chave de verificacao invalida"} return Response(content, status=status.HTTP_404_NOT_FOUND) else: cliente.bloqueado = True cliente.datDesb = datetime.now() cliente.save() content = {"status": "ok"} return Response(content, status=200)
def get_queryset(self): """ queryset returns only case's follow up type filter status filter """ queryset = FollowUp.objects.filter(case__id=self.kwargs['case_id']) status = self.request.query_params.get('status', None) status__not = self.request.query_params.get('status__not', None) type = self.request.query_params.get('type', None) # type if type is not None: queryset = queryset.filter(type=type) # status if status is not None: queryset = queryset.filter(status__in=status.split('-')) if status__not is not None: queryset = queryset.exclude(status__in=status__not.split('-')) return queryset
def get_queryset(self): # tags include_public = self.request.query_params.get("public", "true") include_base = self.request.query_params.get("isBase", "true") include_origin = self.request.query_params.get("origin", "true") # all objects available for user # here we are doing a logic like this: # as long as the model satisfies any of the true conditions, include it # An alternative logic is to exclude the false conditions # queryset = models.ModelRun.objects.filter( # Q(user=self.request.user) | Q(public=True) | Q(isBase=True) # ) # search search_text = self.request.query_params.get("search", False) # sorters sorter = self.request.query_params.get("sorter", False) # filter status = self.request.query_params.get("status", False) scenarios = self.request.query_params.get("scenarios", False) query = None if include_public == "true": query = Q(public=True) if include_base == "true": query = Q(is_base=True) if not query else query | Q(is_base=True) if include_origin == "true": query = (Q(user=self.request.user) if not query else query | Q(user=self.request.user)) if not query: return [] results = models.ModelRun.objects.filter(query) if status: results = results.filter(status__in=status.split(",")) if search_text: query = Q(name__contains=search_text) | Q( description__contains=search_text) results = results.filter(query) if scenarios: scenarios_list = scenarios.split(",") results = results.filter( Q(flow_scenario__in=scenarios_list) | Q(unsat_scenario__in=scenarios_list) | Q(load_scenario__in=scenarios_list) | Q(welltype_scenario__in=scenarios_list)) if sorter: sorter_field, order = sorter.split(",") # check if any malicious injection if hasattr(models.ModelRun, sorter_field): if order == "ascend": return results.order_by(sorter_field) else: return results.order_by("-" + sorter_field) return results.order_by("-id")
def get(self, request): mes = dict () user_id = request.wx_user.id status = request.GET.get('status', None) if status != '0': alist = [] for i in status.split(','): if i == '': continue alist.append(int(i)) try: all_order = OrderInfo.objects.filter(user_id=user_id, is_deleted=False, status__in=alist).order_by('-payment_time') except: mes[ 'code' ] = 400 mes[ 'message' ] = 'select error' mes[ 'order_list' ] = [] else: current_pagnum = request.GET.get ( 'p', 1 ) paginator = Paginator ( all_order, 10 ) # 每页显示几个 posts = paginator.page ( number=int ( current_pagnum ) ) # 这个num就是现实当前第几页 num_pages = paginator.num_pages # 总页数 orderList = list () for order in posts: data = dict() data['out_trade_no'] = order.order_sn data['goodsNumber'] = order.goodsNumber data['subTitle'] = SPU.objects.get(spu_code=order.goods_spu).subTitle data['price'] = order.price data['size'] = order.size data['address'] = {'province':order.address.province , 'city':order.address.city , 'district':order.address.district, 'place': order.address.place, 'mobile':order.address.mobile, 'AcceptPerson':order.address.AcceptPerson } data['total_count'] = order.total_count data['total_amount'] = order.total_amount data['freight'] = order.freight data['status'] = order.status data['goods_color'] = order.goods_color data['wuliu_info'] = order.wuliu_info data['create_time'] = order.payment_time data['image'] = order.image data['title'] = order.goods_name orderList.append(data) mes[ 'code' ] = 200 mes[ 'message' ] = 'select success' mes[ 'order_list' ] = orderList mes['tpage'] = num_pages else: try: all_order = OrderInfo.objects.filter(user_id=user_id, is_deleted=False).order_by('-payment_time') except: mes[ 'code' ] = 400 mes[ 'message' ] = 'select error' mes[ 'order_list' ] = [] else: current_pagnum = request.GET.get ( 'p', 1 ) paginator = Paginator ( all_order, 10 ) # 每页显示几个 posts = paginator.page ( number=int ( current_pagnum ) ) # 这个num就是现实当前第几页 num_pages = paginator.num_pages # 总页数 orderList = list () for order in posts: data = dict() data['out_trade_no'] = order.order_sn data['goodsNumber'] = order.goodsNumber data['subTitle'] = SPU.objects.get(spu_code=order.goods_spu).subTitle data['price'] = order.price data['size'] = order.size data['address'] = {'province':order.address.province , 'city':order.address.city , 'district':order.address.district, 'place': order.address.place, 'mobile':order.address.mobile, 'AcceptPerson':order.address.AcceptPerson } data['total_count'] = order.total_count data['total_amount'] = order.total_amount data['freight'] = order.freight data['status'] = order.status data['goods_color'] = order.goods_color data['wuliu_info'] = order.wuliu_info data['create_time'] = order.payment_time data['image'] = order.image data['title'] = order.goods_name orderList.append(data) mes[ 'code' ] = 200 mes[ 'message' ] = 'select success' mes[ 'order_list' ] = orderList mes['tpage'] = num_pages return Response(mes)
def get_queryset(self): if self.action != 'list': return None in_country = self.request.GET.get('country_ids') status = self.request.GET.get('status', 'approved') search = self.request.GET.get('search') status_list = [] in_progress=False for stat in status.split(','): # Earlier feature to only allow author to view in-progress forms # has been disabled #if stat == 'in-progress': # in_progress = True #else: # status_list.append(stat) status_list.append(stat) countries = Country.objects.all() all_country_list = [] for country in countries: all_country_list.append(country.id) country_list = [] if in_country is not None and in_country != '': # client provided a list of countries to consider for cntry in in_country.split(','): country_list.append(int(cntry)) else: # client did not provide a list - so consider all countries country_list = all_country_list account_id = self.request.user.id station_list = [] form_storage_list = [] tmp_station_list = BorderStation.objects.filter(operating_country__in=country_list) perm_list = UserLocationPermission.objects.filter(account__id=account_id, permission__permission_group=self.get_perm_group_name()).exclude(permission__action='ADD') self.serializer_context = {'perm_list':perm_list} for station in tmp_station_list: if (UserLocationPermission.has_permission_in_list(perm_list, self.get_perm_group_name(), None, station.operating_country.id, station.id)): station_list.append(station) form = Form.current_form(self.get_form_type_name(), station.id) if form is not None and form.storage not in form_storage_list: form_storage_list.append(form.storage) q_filter = self.build_query_filter(status_list, station_list, in_progress, account_id) queryset = None for form_storage in form_storage_list: mod = __import__(form_storage.module_name, fromlist=[form_storage.form_model_name]) form_model = getattr(mod, form_storage.form_model_name) tmp_queryset = form_model.objects.filter(q_filter).only(*self.get_list_field_names()) if search is not None: tmp_queryset = self.filter_key(tmp_queryset, search) if queryset is None: queryset = tmp_queryset else: queryset = queryset.union(tmp_queryset) if queryset is None: queryset = self.get_empty_queryset() return queryset