def get_servicedesk_tickets(request):
    status = request.GET.get('status')
    priority = request.GET.get('priority')
    type = request.GET.get('type')
    search = request.GET.get('search')
    count = request.GET.get('count') or BY_DEFAULT_RECORDS_PER_PAGE
    page_details = {}
    feedback_obects = get_feedbacks(request.user, status, priority, type, search)
    paginator = Paginator(feedback_obects, count)
    page = request.GET.get('page', 1)
    feedbacks = paginator.page(page)
    page_details['total_objects'] = paginator.count
    page_details['from'] = feedbacks.start_index()
    page_details['to'] = feedbacks.end_index()
    brand_departments = get_brand_departments()
    department_sub_categories= get_subcategories()
    training_material = get_model('Service').objects.filter(service_type__name=Services.SERVICE_DESK)
    if len(training_material)>0:
        training_material = training_material[0].training_material_url
    else:
        training_material = None

    return render(request, 'service-desk/tickets.html', {"feedbacks" : feedbacks,
                                          "status": utils.get_list_from_set(FEEDBACK_STATUS),
                                          "types": utils.get_list_from_set(FEEDBACK_TYPE),
                                          "priorities": utils.get_list_from_set(DEMO_PRIORITY),
                                          "pagination_links": PAGINATION_LINKS,
                                          "page_details": page_details,
                                          "departments": brand_departments,
                                          "department_sub_categories" : department_sub_categories, 
                                          "record_showing_counts": RECORDS_PER_PAGE,
                                          "training_material" : training_material,
                                          "filter_params": {'status': status, 'priority': priority, 'type': type,
                                                            'count': str(count), 'search': search}}
                                        )
def service_desk(request):
    status = request.GET.get('status')
    priority = request.GET.get('priority')
    type = request.GET.get('type')
    search = request.GET.get('search')
    count = request.GET.get('count') or BY_DEFAULT_RECORDS_PER_PAGE
    page_details = {}
    feedback_obects = get_feedbacks(request.user, status, priority, type, search)
    paginator = Paginator(feedback_obects, count)
    page = request.GET.get('page', 1)
    feedbacks = paginator.page(page)
    page_details['total_objects'] = paginator.count
    page_details['from'] = feedbacks.start_index()
    page_details['to'] = feedbacks.end_index()
    groups = utils.stringify_groups(request.user)
    brand_departments = get_brand_departments()
    training_material = get_model('Service').objects.filter(service_type__name=Services.SERVICE_DESK)
    department_sub_categories= get_subcategories()
    if len(training_material)>0:
        training_material = training_material[0].training_material_url
    else:
        training_material = None
    if request.method == 'GET':
        template = 'portal/feedback_details.html'
        data = None
        if request.user.groups.filter(name=Roles.DEALERS).exists():
            data = get_model('ServiceAdvisor').objects.active_under_dealer(request.user)
        else:
            data = get_model('ServiceAdvisor').objects.active_under_asc(request.user)
        dealer_asc_details = get_model('UserProfile').objects.get(user__username=request.user)
        return render(request, template, {"feedbacks" : feedbacks,
                                          'active_menu': 'support',
                                          "data": data, 'groups': groups,
                                          "status": utils.get_list_from_set(FEEDBACK_STATUS),
                                          "pagination_links": PAGINATION_LINKS,
                                          "page_details": page_details,
                                          "departments": brand_departments,
                                          "department_sub_categories" : department_sub_categories,
                                          "record_showing_counts": RECORDS_PER_PAGE,
                                          "types": utils.get_list_from_set(FEEDBACK_TYPE),
                                          "priorities": utils.get_list_from_set(DEMO_PRIORITY),
                                          "training_material" : training_material,
                                          "dealer_asc" : dealer_asc_details,
                                          "filter_params": {'status': status, 'priority': priority, 'type': type,
                                                            'count': str(count), 'search': search}}
                                        )
    else:
        return HttpResponseBadRequest()