def ListProductsHistory(request, pk): context = {} prod_obj = get_object_or_404(Product, pk=pk) api = ApiDomains() url = api.product + "/" + "history" #url = 'https://94q78vev60.execute-api.us-east-1.amazonaws.com/Prod/intellidataProductAPI/history' payload = {'ident': prod_obj.productid} resp = requests.get(url, params=payload) print(resp.status_code) obj = get_object_or_404(APICodes, http_response_code=resp.status_code) status_message = obj.http_response_message mesg = str(resp.status_code) + " - " + status_message if resp.status_code != 200: # This means something went wrong. #raise ApiError('GET /tasks/ {}'.format(resp.status_code)) #raise APIError(resp.status_code) message = {'messages': mesg} return render(request, "messages.html", context=message) else: json_data = [] dict_data = [] obj_data = [] json_data = resp.json() #print(json_data[0]) #print(json_data[1]) for ix in range(len(json_data)): obj = Product() #dict_data.append(json.loads(json_data[ix])) obj.pk = int(json_data[ix]["LOCAL_ID"]) obj.productid = json_data[ix]["PRODUCT_ID"] obj.name = json_data[ix]["NAME"] obj.type = json_data[ix]["TYPE"] obj.coverage_limit = json_data[ix]["COVERAGE_LIMIT"] obj.price_per_1000_units = json_data[ix]["RATE"] obj.product_date = json_data[ix]["CREATE_DATE"] obj.description = json_data[ix]["DESCRIPTION"] obj.description_html = misaka.html(obj.description) #obj.photo = json_data[ix]["PHOTO"] obj.creator = User.objects.get(pk=int(json_data[ix]["CREATOR"])) obj.create_date = json_data[ix]["CREATE_DATE"] obj.backend_SOR_connection = json_data[ix]["CONNECTION"] obj.response = json_data[ix]["RESPONSE"] obj.record_status = json_data[ix]["RECORD_STATUS"] obj.commit_indicator = json_data[ix]["COMMIT_INDICATOR"] obj_data.append(obj) context = {'object_list': obj_data} return render(request, "products/product_list.html", context=context)
def get_queryset(self, **kwargs): # new query = self.request.GET.get('q', None) object_list = Product.objects.filter( Q(productid__icontains=query) | Q(name__icontains=query) | Q(type__icontains=query) | Q(description__icontains=query)) #change start for remote SearchProductsForm if not object_list: api = ApiDomains() url = api.product + "/" + "refresh" #url = 'https://94q78vev60.execute-api.us-east-1.amazonaws.com/Prod/intellidataProductAPI/history' payload = {'ident': query} resp = requests.get(url, params=payload) print(resp.status_code) obj = get_object_or_404(APICodes, http_response_code=resp.status_code) status_message = obj.http_response_message mesg = str(resp.status_code) + " - " + status_message if resp.status_code != 200: # This means something went wrong. #raise ApiError('GET /tasks/ {}'.format(resp.status_code)) #raise APIError(resp.status_code) #message={'messages':mesg} #return render(self.request, "messages.html", context=message) print("Status Code: " + str(resp.status_code)) else: json_data = [] json_data = resp.json() obj_data = [] obj1 = Product() #OVERRIDE THE OBJECT WITH API data obj1.pk = int(json_data["LOCAL_ID"]) obj1.productid = json_data["PRODUCT_ID"] obj1.name = json_data["NAME"] obj1.type = json_data["TYPE"] obj1.coverage_limit = json_data["COVERAGE_LIMIT"] obj1.price_per_1000_units = json_data["RATE"] obj1.product_date = json_data["CREATE_DATE"] obj1.description = json_data["DESCRIPTION"] obj1.description_html = misaka.html(obj1.description) #obj1.photo = json_data["PHOTO"] obj1.creator = User.objects.get(pk=int(json_data["CREATOR"])) #obj.crerator = get_object_or_404(User, pk=obj.creatorid) obj1.create_date = json_data["CREATE_DATE"] obj1.backend_SOR_connection = "Disconnected" obj1.response = "Pulled From Backend" obj1.commit_indicator = json_data["COMMIT_INDICATOR"] obj1.record_status = json_data["RECORD_STATUS"] obj1.save() #obj_data.append(obj1) #print(obj_data) #context = {'object_list':obj_data} #return render(self.request, "products/product_search_list.html", context=context) object_remote_list = Product.objects.filter(productid=query) print(object_remote_list) return object_remote_list else: #change end for remote SearchProductsForm return object_list
def RefreshProduct(request, pk): # fetch the object related to passed id context = {} prod_obj = get_object_or_404(Product, pk=pk) api = ApiDomains() url = api.product + "/" + "refresh" #url = 'https://94q78vev60.execute-api.us-east-1.amazonaws.com/Prod/intellidataProductAPI/history' payload = {'ident': prod_obj.productid} resp = requests.get(url, params=payload) print(resp.status_code) obj = get_object_or_404(APICodes, http_response_code=resp.status_code) status_message = obj.http_response_message mesg = str(resp.status_code) + " - " + status_message if resp.status_code != 200: # This means something went wrong. #raise ApiError('GET /tasks/ {}'.format(resp.status_code)) #raise APIError(resp.status_code) message = {'messages': mesg} return render(request, "messages.html", context=message) else: json_data = [] json_data = resp.json() obj1 = Product() #OVERRIDE THE OBJECT WITH API data obj1.pk = int(json_data["LOCAL_ID"]) obj1.productid = json_data["PRODUCT_ID"] obj1.name = json_data["NAME"] obj1.type = json_data["TYPE"] obj1.coverage_limit = json_data["COVERAGE_LIMIT"] obj1.price_per_1000_units = json_data["RATE"] obj1.product_date = json_data["CREATE_DATE"] obj1.description = json_data["DESCRIPTION"] obj1.description_html = misaka.html(obj1.description) #obj1.photo = json_data["PHOTO"] obj1.creator = User.objects.get(pk=int(json_data["CREATOR"])) #obj.crerator = get_object_or_404(User, pk=obj.creatorid) obj1.create_date = json_data["CREATE_DATE"] obj1.backend_SOR_connection = "Disconnected" obj1.response = json_data["RESPONSE"] obj1.commit_indicator = json_data["COMMIT_INDICATOR"] obj1.record_status = json_data["RECORD_STATUS"] #Log events event = Event() event.EventTypeCode = "PRR" event.EventSubjectId = obj1.productid event.EventSubjectName = obj1.name event.EventTypeReason = "Product refreshed from ODS" event.source = "Online Transaction" event.creator = obj1.creator event.save() obj1.save() context = {'product_details': obj1} return render(request, "products/product_detail.html", context=context)