def copyurl(request,clip): url = clip.url if request.is_ajax() or request.method == 'GET': if form.is_valid(): return HttpResponse("url") else: return HttpResponse("Fail")
def project_new(request, user_id): user = User.objects.get(pk=user_id) if request.method == 'POST': if request.is_ajax(): project_name = request.POST.get('project_name') start_date = request.POST.get('start_date') end_date = request.POST.get('end_date') response_data = {} project = Project(name=project_name, start_date=start_date, end_date=end_date, user=user) project.save() response_data['project_name'] = project.name response_data['start_date'] = project.start_date response_data['end_date'] = project.end_date response_data['user_id'] = user.id return JsonResponse(response_data) # def project_new(request): # if request.method == "POST": # form = ProjectForm(request.POST or None) # if form.is_valid(): # project = form.save(commit=False) # project.user = request.user # project.save() # return HttpResponseRedirect('/login/') # else: # form = ProjectForm() # return render(request, 'projects/home.html', {'form':form})
def index(request, template='broadcast/broadcasts_home.html', page_template='broadcast/broadcast_template.html'): user_info = {} trends = get_trending_hasgtags() broadcasts = Broadcast.objects.order_by('pk').reverse().select_subclasses() user_info['mentions'] = TextBroadcast.objects.filter( Q(message__icontains='@' + str(request.user))).order_by("-message") user_info['mention_count'] = user_info['mentions'].count() try: users = CustomUser.objects.order_by('?').exclude( followee__follower=request.user).exclude(pk=request.user.id) except: users = None context = { 'broadcasts': broadcasts, 'trends': trends, 'user_info': user_info, 'page_template': page_template, 'users': users, } if request.is_ajax(): template = page_template return render_to_response(template, context, context_instance=RequestContext(request))
def get_customer_id(request): if request.is_ajax(): customer_name = request.GET['form-0-name'] customer_id = Customer.objects.get(name = customer_name).id data = {'customer_id':customer_id,} return HttpResponse(json.dumps(data), content_type='application/json') return HttpResponse("/")
def view_user_name(request,user_id): user = get_object_or_404(CustomUser,username=user_id) broadcasts = Broadcast.objects.filter(user=user).order_by('pk').reverse().select_subclasses() if request.is_ajax(): return render_to_response(template_name='broadcast/broadcast_template.html',context={'user':user,'broadcasts':broadcasts}, context_instance=RequestContext(request)) return render(request,'app/user/user_profile.html',{'user':user,'broadcasts':broadcasts},)
def view_user_name(request,user_id): user = get_object_or_404(CustomUser,username=user_id) broadcasts = Broadcast.objects.filter(user=user).order_by('pk').reverse().select_subclasses() if request.is_ajax(): return render_to_response(template_name='broadcast/broadcast_template.html',context={'user':user,'broadcasts':broadcasts}, context_instance=RequestContext(request)) return render(request,'app/user/user_profile.html',{'user':user,'broadcasts':broadcasts},)
def poetry_related(request, src=None): ''' @summary: Returns related poetry mix @src: Source of access. It is being used to manipulate the context/templates. eg. src='public_url' means this view is being accessed using some public url. ''' if request.is_ajax() is False: raise PermissionDenied template = "repository/include/list/poetry.html" ## # Check the parameters passed in the URL and process accordingly id = request.GET.get('id', None) #mix = request.GET.get('mix', 'related') mix1_count = 5 # Creator's random poetry mix2_count = 5 # Other random poetry mix3_count = 5 # Related poetry based on tags(keywords) try: ref_poetry = Poetry.objects.get(pk=id) except: print "ERR:: Poetry.DoesNotExist or ValueError for id", id data = {} data['status'] = 404 data['contenthtml'] = '' return JsonResponse(data) # Select `mix1_count` random poetry by creator of `ref_poetry` q_objects = Q() q_objects &= Q(date_published__isnull=False) q_objects &= Q(creator_id=ref_poetry.creator_id) id_list = Poetry.objects.filter(q_objects).exclude(pk=id).values_list('id', flat=True) count = len(id_list) mix1_count = mix1_count if count > mix1_count else count mix1_ids = random.sample(id_list, mix1_count) # Select `mix2_count` random poetry by other creators q_objects = Q() q_objects &= Q(date_published__isnull=False) q_objects &= ~Q(creator_id=ref_poetry.creator_id) id_list = Poetry.objects.filter(q_objects).values_list('id', flat=True) count = len(id_list) mix2_count = mix2_count if count > mix2_count else count mix2_ids = random.sample(id_list, mix2_count) ids = mix1_ids + mix2_ids obj_list = Poetry.objects.filter(pk__in=ids) data = {} data['status'] = 200 data['contenthtml'] = render_to_string(template, {'items': obj_list, 'request': request}) return JsonResponse(data)
def autocompleteModel(request): if request.is_ajax(): keyword = request.POST.get('inputSearch') courses = Course.objects.filter(name__icontains=keyword) results = map(lambda x: (x.name, '#'), courses) data = json.dumps(list(results)) else: data = 'fail' mimetype = 'application/json' return HttpResponse(data, mimetype)
def confirm_gift(request): print "IN CONFIRM GIFT" if request.POST and request.is_ajax(): print "Request was post" item_id = request.POST['item_id'] match = Exchange.objects.get(id=item_id) id = request.user.id print "ID", id profile = Profile.objects.get(id=id) match.giver = profile match.save() return HttpResponseRedirect('/exchange/participate/dashboard') else: return HttpResponseRedirect('/exchange/participate/dashboard')
def dynamic_dropdown(request): if request.is_ajax(): todo_items = ['Mow Lawn', 'Buy Groceries', ] # print(todo_items) com_name = request.GET.get('Item') name_email_list = Contact.objects.filter(account_company_name__company_name__contains=com_name).values_list( 'name', 'email') name_email_list = [i[0] + '(' + i[1] + ')' for i in name_email_list] project_list = Project.objects.filter(account_company_name__company_name__contains=com_name, status__exact='active').values_list('name') project_list = [i[0] for i in project_list] data = json.dumps({'contact_list': name_email_list, 'project_list': project_list}) return HttpResponse(data, content_type='application/json') else: raise Http404
def get(self, request, *args, **kwargs): # Check the parameters passed in the URL and process accordingly # Prepare the cancel_url for 'Cancel button' to be passed with the context self.cancel_url = request.GET.get('cancel', '/') if request.is_ajax(): self.template_name = self.ajax_template_name if kwargs.get('pk', None) is None: # Create get_params = dict([(key,value) for key,value in request.GET.iteritems()]) form = self.form_class(initial=get_params) else: # Update self.obj = get_object_or_404(self.model, pk=kwargs.get('pk', None)) form = self.form_class(instance=self.obj) return render(request, self.template_name, {'form': form, 'cancel_url': self.cancel_url, 'item_type': self.item_type})
def get_places(request): if request.is_ajax(): q = request.GET.get('term', '') places = Items.objects.filter( Q(name__contains=q) | Q(brand__contains=q)) print(places) results = [] for pl in places: place_json = {} place_json = pl.name + ' ' + pl.brand results.append(place_json) data = json.dumps(results) print(data) else: data = 'fail' mimetype = 'application/json' return HttpResponse(data, mimetype)
def index(request, template='broadcast/broadcasts_home.html', page_template='broadcast/broadcast_template.html'): broadcasts = Broadcast.objects.order_by('pk').reverse().select_subclasses() try: users = CustomUser.objects.order_by('?').exclude( followee__follower=request.user).exclude(pk=request.user.id) except: users = None context = { 'broadcasts': broadcasts, 'page_template': page_template, 'users': users, } if request.is_ajax(): template = page_template # return render( template, context, context=RequestContext(request)) return render(request, template, context)
def artist_view(request, username): if username in [account.username for account in Account.objects.all()]: artist = Artist.objects.get(account=Account.objects.get( username=username)) artist_songs = Song.objects.filter(artist=artist) artist_collections = Collection.objects.filter(artist=artist) users_of_followers = [ follower.by.account for follower in Follower.objects.filter(of=artist) ] if request.method == 'POST': if request.is_ajax(): if 'action' in request.POST: if request.POST.get('action') == 'song-visibility': song_slug = request.POST.get('song_slug') song = get_object_or_404( Song.objects.filter(artist=artist), slug=song_slug) song.is_public = not song.is_public song.save() return JsonResponse({}) if request.POST.get('action') == 'follow': user_artist = Artist.objects.get(account=request.user) try: follower = Follower.objects.get(of=artist, by=user_artist) follower.delete() return JsonResponse({ 'follow': False, "new_num_followers": artist.num_followers }) except: follower = Follower.objects.create(of=artist, by=user_artist) follower.save() return JsonResponse({ 'follow': True, "new_num_followers": artist.num_followers }) if request.POST.get('action') == 'play': song_slug = request.POST.get('song_slug') song = get_object_or_404( Song.objects.filter(artist=artist), slug=song_slug) song.plays += 1 song.save() return JsonResponse({'plays': song.plays}) else: collection_slug = request.POST.get('collection_slug') song_slug = request.POST.get('song_slug') if collection_slug and song_slug: collection = get_object_or_404( Collection.objects.filter(artist=artist), slug=collection_slug) song = get_object_or_404( Song.objects.filter(artist=artist), slug=song_slug) try: track = CollectionTrack.objects.get( collection=collection, song=song) track.delete() except: track = CollectionTrack.objects.create( collection=collection, song=song) track.save() else: raise Http404('User not found') return render( request, 'audiodist/artist.html', { 'artist': artist, 'songs': artist_songs, 'collections': artist_collections, 'tracks': CollectionTrack.objects.all(), 'is_authorized': request.user == artist.account, 'is_user_following': request.user in users_of_followers })
def poetry_related(request, src=None): ''' @summary: Returns related poetry mix @src: Source of access. It is being used to manipulate the context/templates. eg. src='public_url' means this view is being accessed using some public url. ''' if request.is_ajax() is False: raise PermissionDenied template = "repository/include/list/poetry.html" ## # Check the parameters passed in the URL and process accordingly id = request.GET.get('id', None) continuation = request.GET.get('continuation', None) #mix = request.GET.get('mix', 'related') mix1_count = 5 # Creator's random poetry mix2_count = 5 # Other random poetry mix3_count = 5 # Related poetry based on tags(keywords) try: ref_poetry = Poetry.objects.get(pk=id) except: print "ERR:: Poetry.DoesNotExist or ValueError for id", id data = {} data['status'] = 404 data['contenthtml'] = '' return JsonResponse(data) # Decode the value of `continuation` exclude_ids = [] if continuation: exclude_ids = continuation.split("i") exclude_ids.append(id) # Select `mix1_count` random poetry by creator of `ref_poetry` q_objects = Q() q_objects &= Q(date_published__isnull=False) q_objects &= Q(creator_id=ref_poetry.creator_id) try: id_list = Poetry.objects.filter(q_objects).exclude( pk__in=exclude_ids).values_list('id', flat=True) except: # Chances of exceptions.ValueError, in case if exclude_ids has non integer values print("ERROR: ajax.poetry_related: unexpected error 1:", sys.exc_info()[0]) id_list = [] count = len(id_list) mix1_count = mix1_count if count > mix1_count else count mix1_ids = random.sample(id_list, mix1_count) # Select `mix2_count` random poetry by other creators q_objects = Q() q_objects &= Q(date_published__isnull=False) q_objects &= ~Q(creator_id=ref_poetry.creator_id) id_list = Poetry.objects.filter(q_objects).values_list('id', flat=True) count = len(id_list) mix2_count = mix2_count if count > mix2_count else count mix2_ids = random.sample(id_list, mix2_count) ids = mix1_ids + mix2_ids obj_list = Poetry.objects.filter(pk__in=ids) # Encode the values into the `continuation` if not continuation: continuation = "i".join([str(i) for i in ids]) data = {} data['status'] = 200 data['continuation'] = continuation data['contenthtml'] = render_to_string(template, { 'items': obj_list, 'request': request }) return JsonResponse(data)
def post(self, request, *args, **kwargs): # Check the parameters passed in the URL and process accordingly # Prepare the cancel_url for 'Cancel button' to be passed with the context self.cancel_url = request.POST.get('cancel', '/') # Prepare the next_url for redirection after successful operation self.next_url = request.GET.get('next', None) if request.is_ajax(): self.template_name = self.ajax_template_name if kwargs.get('pk', None) is None: # Create instance = self.model() else: # Update instance = self.model.objects.get(id=kwargs.get('pk', None)) add = instance.id is None form = self.form_class(request.POST, request.FILES, instance=instance) if form.is_valid(): try: change_message = None if add else self.construct_change_message(form) obj = form.save(self.request.user, commit=False) if not obj.pk: obj.added_by = self.request.user obj.modified_by = self.request.user obj.date_modified = timezone.now() obj.save() # Without this next line the M2M fields won't be saved. form.save_m2m() ## # Send signal to log the action from activity.signals import sig_action from activity.models import VERBS if add: verb = VERBS['ADDITION'] t = obj.date_added else: verb = VERBS['CHANGE'] t = obj.date_modified sig_action.send(self.request.user, timestamp = t, verb = verb, content_type = ContentType.objects.get_for_model(obj), object_id = obj.pk, object_repr = obj.name, change_message = change_message, public=True) # Response for AJAX request if request.is_ajax(): # Create JSON response and send res = {} res['result'] = 'success' res['url'] = obj.get_absolute_url() return JsonResponse(res) messages.success(request, 'Changes on item %s are successful! '%obj.name) self.next_url = self.next_url if self.next_url else obj.get_absolute_url() return HttpResponseRedirect(self.next_url) except: print ("Error: Unexpected error:", sys.exc_info()[0]) for frame in traceback.extract_tb(sys.exc_info()[2]): fname,lineno,fn,text = frame print ("DBG:: Error in %s on line %d" % (fname, lineno)) # Add non_field_errors to the form to convey the message form.add_error(None, "Unexpected error occured! Checking the fields may help.") if request.is_ajax(): # Create JSON response alongwith the rendered form and send res = {} res['result'] = 'failure' res['data'] = render_to_string(self.template_name, {'form': form}) return JsonResponse(res) return render(request, self.template_name, {'form': form, 'cancel_url': self.cancel_url, 'item_type': self.item_type})
def login_success(request): """ Redirects users based on whether they are in the admins group """ value = False global data global project_name_list a = api.getprojectsSTB() b = api.getprojectsHGW() if request.is_ajax(): print("ajax") data = json.loads(request.POST.get('json_items')) bugs = json.loads(request.POST.get('json_bugs')) for i in data: if (Project.objects.filter(name=i[1]).exists()): oneProject = Project.objects.get(name=i[1]) if (Test_Plan.objects.filter(project=oneProject, name=i[2], platform=i[3], cycle=i[4]).exists()): oneTest = Test_Plan.objects.get(project=oneProject, name=i[2], platform=i[3], cycle=i[4]) oneTest.update_test_Plan( i[0], i[5], i[6], i[7], i[8], i[9], i[10], i[11], i[12], i[13], i[14], i[15], i[16], i[17], i[18], i[19], i[20], i[21], i[22], i[23], i[24], i[25], i[26], i[27], i[28], i[29], i[30], i[31], i[32], i[33], i[34], i[35], i[36], i[37], i[38], i[39], i[40], i[41], i[42], i[43], i[44]) else: date = datetime.strptime(i[45], '%Y-%m-%d') oneTestplan = Test_Plan( reviwed=i[0], project=oneProject, name=i[2], platform=i[3], cycle=i[4], version=i[5], state=i[6], preview_state=i[7], assigned_total=i[8], not_executed_total=i[9], not_executed_total_pr=i[10], passed_total=i[11], passed_total_pr=i[12], failed_total=i[13], failed_total_pr=i[14], blocked_total=i[15], blocked_total_pr=i[16], assigned_manual=i[17], not_executed_manual=i[18], not_executed_manual_pr=i[19], passed_manual=i[20], passed_manual_pr=i[21], failed_manual=i[22], failed_manual_pr=i[23], blocked_manual=i[24], blocked_manual_pr=i[25], assigned_automated=i[26], not_executed_automated=i[27], not_executed_automated_pr=i[28], passed_automated=i[29], passed_automated_pr=i[30], failed_automated=i[31], failed_automated_pr=i[32], blocked_automated=i[33], blocked_automated_pr=i[34], number_of_bug_up_to_date=i[35], number_of_critical_bug_up_to_date=i[36], number_of_major_bug_up_to_date=i[37], number_of_medium_bug_up_to_date=i[38], number_of_minor_bug_up_to_date=i[39], number_of_bug=i[40], number_of_critical_bug=i[41], number_of_major_bug=i[42], number_of_medium_bug=i[43], number_of_minor_bug=i[44], xdate=date) #print(oneTestplan) savedTestplan = oneTestplan.save_TestPlan() else: oneProject = Project(name=i[1], projectID=api.getIDNameFromProjectName( i[1])) savedProject = oneProject.save_project() date = datetime.strptime(i[45], '%Y-%m-%d') print(i) oneTestplan = Test_Plan( reviwed=i[0], project=oneProject, name=i[2], platform=i[3], cycle=i[4], version=i[5], state=i[6], preview_state=i[7], assigned_total=i[8], not_executed_total=i[9], not_executed_total_pr=i[10], passed_total=i[11], passed_total_pr=i[12], failed_total=i[13], failed_total_pr=i[14], blocked_total=i[15], blocked_total_pr=i[16], assigned_manual=i[17], not_executed_manual=i[18], not_executed_manual_pr=i[19], passed_manual=i[20], passed_manual_pr=i[21], failed_manual=i[22], failed_manual_pr=i[23], blocked_manual=i[24], blocked_manual_pr=i[25], assigned_automated=i[26], not_executed_automated=i[27], not_executed_automated_pr=i[28], passed_automated=i[29], passed_automated_pr=i[30], failed_automated=i[31], failed_automated_pr=i[32], blocked_automated=i[33], blocked_automated_pr=i[34], number_of_bug_up_to_date=i[35], number_of_critical_bug_up_to_date=i[36], number_of_major_bug_up_to_date=i[37], number_of_medium_bug_up_to_date=i[38], number_of_minor_bug_up_to_date=i[39], number_of_bug=i[40], number_of_critical_bug=i[41], number_of_major_bug=i[42], number_of_medium_bug=i[43], number_of_minor_bug=i[44], xdate=date) #print(oneTestplan) savedTestplan = oneTestplan.save_TestPlan() for j in bugs: #print(j) testplan = Test_Plan.objects.get(name=j[0], platform=j[8], cycle=j[6]) oneBug = Bug(test_plan=testplan, bugID=j[1], description=j[2], state=j[3], priority=j[4], severity=j[5], test_Cases_Affected=j[9], remove_Duplicate=j[10], external_ID=j[11]) oneBug.save_Bug() return HttpResponse("OK") if request.POST.get("final_view"): project_name_list = [] final_dic = [] final_dic_bug = [] bugs = [] final_dic_bugs = [] projects = [] for key, value in request.POST.items(): #print("key "+key+"value "+value) if key == "start_date": start_date = value if key == "end_date": end_date = value if key == "projects": projects = value.split(",") if not projects: return (final_view(request)) for i in projects: try: project = Project.objects.get(name=i) project_name_list.append(project) except: pass print(i) test_plans = Test_Plan.objects.all().filter( project=project, xdate__range=[start_date, end_date], reviwed=True) for j in test_plans: bug = Bug.objects.all().filter(test_plan=j) dictionaries_bug = [obj.as_dict() for obj in bug] final_dic_bug = dictionaries_bug + final_dic_bug dictionaries = [obj.as_dict() for obj in test_plans] final_dic = dictionaries + final_dic final_dic_bugs = final_dic_bug + final_dic_bugs bugs_final = json.dumps({"data": final_dic_bugs}) data = json.dumps({"data": final_dic}) classification = Test_Classification.objects.all() dictionaries_class = [obj.as_dict() for obj in classification] class_final = json.dumps({"data": dictionaries_class}) print(bugs_final) print(data) project_name_list.sort(key=lambda Project: Project.name.lower()) # abreviation abr = Short_Name.objects.all().order_by('name') dictionaries_abr = [obj.as_dict() for obj in abr] abr_final = json.dumps({"data": dictionaries_abr}) return render(request, 'final_view_result.html', context={ 'projects_list': project_name_list, 'projects_content': data, 'projects_bugs': bugs_final, 'test_classification': class_final, 'abbreviation': abr_final }) if request.POST.get("sava_button"): print("save button") if request.POST.get("stop"): value = True print("STOP") if request.POST.get("report_generator"): # <view logic> project_content = [] project_name_list = [] prj_list = [] test_list = [] bugs_list = [] for key, value in request.POST.items(): if (key == "start_day"): start_day = value if (key == "end_day"): end_day = value print("start_day :" + start_day + " end_day :" + end_day) for key, value in request.POST.items(): if value == True: break if key.isdigit() and value == "on": print(key, value) projectName = api.getProjectNameFromId(key) oneProject = Project(name=projectName, projectID=key) #savedProject = oneProject.save_project() prj_list.append(oneProject) project_name_list.append(oneProject) print(oneProject.projectID) ElasticProject = api.Project(key, start_day, end_day) for i in ElasticProject.testPlans: for a in i.testCases: oneTestplan = Test_Plan( project=oneProject, name=a.testPlanName, platform=a.plateformName, cycle=a.buildName, version=a.version_used, state=a.state, preview_state=a.previewState, assigned_total=a.numberOfTotalAssigned, passed_total=a.numberOfTotalPassed, not_executed_total=a.numberOfTotalNotExecuted, failed_total=a.numberOfTotalFailed, blocked_total=a.numberOfTotalBlocked, passed_total_pr=a.numberOfTotalPassed_pr, not_executed_total_pr=a. numberOfTotalNotExecuted_pr, failed_total_pr=a.numberOfTotalFailed_pr, blocked_total_pr=a.numberOfTotalBlocked_pr, assigned_manual=a.numberOfAssignedManualTests, passed_manual=a.numberOfPassedManualTests, not_executed_manual=a.numberOfManualNotExecuted, failed_manual=a.numberOfFailedManualTests, blocked_manual=a.numberOfBlockedManualTests, passed_manual_pr=a.numberOfPassedManualTests_pr, not_executed_manual_pr=a. numberOfManualNotExecuted_pr, failed_manual_pr=a.numberOfFailedManualTests_pr, blocked_manual_pr=a.numberOfBlockedManualTests_pr, assigned_automated=a. numberOfAssignedAutomatedTests, passed_automated=a.numberOfPassedAutomatedTests, not_executed_automated=a. numberOfAutomatedNotExecuted, failed_automated=a.numberOfFailedAutomatedTests, blocked_automated=a.numberOfBlockedAutomatedTests, passed_automated_pr=a. numberOfPassedAutomatedTests_pr, not_executed_automated_pr=a. numberOfAutomatedNotExecuted_pr, failed_automated_pr=a. numberOfFailedAutomatedTests_pr, blocked_automated_pr=a. numberOfBlockedAutomatedTests_pr, number_of_bug_up_to_date=a.numberofbugsUpToDate, number_of_critical_bug_up_to_date=a. numberOfCriticalBugsUpToDate, number_of_major_bug_up_to_date=a. numberOfMajorBugsUpToDate, number_of_medium_bug_up_to_date=a. numberOfMediumBugsUpToDate, number_of_minor_bug_up_to_date=a. numberOfMinorBugsUpToDate, number_of_bug=a.numberofbugs, number_of_critical_bug=a.numberOfCriticalBugs, number_of_major_bug=a.numberOfMajorBugs, number_of_medium_bug=a.numberOfMediumBugs, number_of_minor_bug=a.numberOfMinorBugs, xdate=a.date) #savedTestplan = oneTestplan.save_TestPlan() print(oneTestplan.platform) print(Test_Plan.objects.all().filter( project=oneProject, name=oneTestplan.name).count()) if (Project.objects.all().filter( projectID=oneProject.projectID).exists()): project = Project.objects.get( projectID=oneProject.projectID) #print(Test_Plan.objects.all().filter(project=project,name=oneTestplan.name,platform=oneTestplan.platform,cycle=oneTestplan.cycle,version=oneTestplan.version).exists()) if (Test_Plan.objects.all().filter( project=project, name=oneTestplan.name, platform=oneTestplan.platform, cycle=oneTestplan.cycle).exists()): print("Exissst") extraTest = Test_Plan.objects.get( project=project, name=oneTestplan.name, platform=oneTestplan.platform, cycle=oneTestplan.cycle) oneTestplan.reviwed = extraTest.reviwed test_list.append(oneTestplan) for j in a.bugs: #print(j.bugId) oneBug = Bug( test_plan=oneTestplan, bugID=j.bugId, description=j.description, state=j.state, priority=j.priority, severity=j.severity, test_Cases_Affected=j.testcaseaffected, remove_Duplicate=j.remove_duplicate, external_ID=j.externalId) #oneBug.save_Bug() bugs_list.append(oneBug) dictionaries = [obj.as_dict() for obj in test_list] dictionaries_bugs = [obj.as_dict() for obj in bugs_list] bugs_final = json.dumps({"data": dictionaries_bugs}) data = json.dumps({"data": dictionaries}) print(data) print(bugs_final) classification = Test_Classification.objects.all() dictionaries_class = [obj.as_dict() for obj in classification] class_final = json.dumps({"data": dictionaries_class}) print(class_final) if len(project_name_list) == 0: message = 'Please Select a project' return render(request, 'design_view.html', context={ 'projectsHGW': b, 'projectsSTB': a, 'message': message }) start = json.dumps({"data": start_day}) end = json.dumps({"data": end_day}) project_name_list.sort(key=lambda Project: Project.name.lower()) # abreviation abr = Short_Name.objects.all().order_by('name') dictionaries_abr = [obj.as_dict() for obj in abr] abr_final = json.dumps({"data": dictionaries_abr}) return render(request, 'design_view_result.html', context={ 'projects_list': project_name_list, 'projects_content': data, 'projects_bugs': bugs_final, 'test_classification': class_final, 'start': start, 'end': end, 'abbreviation': abr_final }) else: if request.user.groups.filter(name="admins").exists(): return (design_view(request)) else: return (final_view(request))