コード例 #1
0
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")
コード例 #2
0
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})
コード例 #3
0
ファイル: views.py プロジェクト: tanveerahmad1517/twitter
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))
コード例 #4
0
ファイル: invoices.py プロジェクト: ngcw/parcelhub
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("/")
コード例 #5
0
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},)
コード例 #6
0
ファイル: views.py プロジェクト: othreecodes/MY-RIDE
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},)
コード例 #7
0
ファイル: ajax.py プロジェクト: embryonic/poetry
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)
コード例 #8
0
ファイル: views.py プロジェクト: VuVanDuc/test_deploy
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)
コード例 #9
0
ファイル: views.py プロジェクト: arcalinea/possibility-space
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')
コード例 #10
0
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
コード例 #11
0
ファイル: writers.py プロジェクト: manish207/poetry
 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})
コード例 #12
0
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)
コード例 #13
0
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)
コード例 #14
0
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
        })
コード例 #15
0
ファイル: ajax.py プロジェクト: manish207/poetry
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)
コード例 #16
0
ファイル: writers.py プロジェクト: manish207/poetry
 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})
コード例 #17
0
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))