示例#1
0
def set_sort_mode(user, app_name, sort_mode):
    app_param = get_app_params(user, app_name)
    if not app_param:
        return

    app_param.sort = sort_mode
    app_param.save()
示例#2
0
def toggle_sort_dir(user, app_name):
    app_param = get_app_params(user, app_name)
    if not app_param:
        return

    app_param.reverse = not app_param.reverse
    app_param.save()
示例#3
0
def set_aside_visible(user, app_name, visible):
    app_param = get_app_params(user, app_name)
    if not app_param:
        return

    app_param.aside = visible
    app_param.save()
示例#4
0
def item2_form(request, pk):
    app_param = get_app_params(request.user, app_name)
    if (app_param.restriction == EMPL_INFO):
        set_article_kind(request.user, app_name, '', pk)
    if (app_param.restriction == DEP_HIST):
        set_article_kind(request.user, app_name, '', pk)
        set_restriction(request.user, app_name, DEP_INFO)
    return HttpResponseRedirect(
        reverse('v2_wage:main') + extract_get_params(request))
示例#5
0
def goto(request):  # Опуститься в указанную папку
    set_article_visible(request.user, app_name, False)
    app_param = get_app_params(request.user, app_name)
    prefix = ''
    if app_param.content:
        prefix = app_param.content + '/'
    query = get_name_from_request(request)
    if query:
        set_content(request.user, app_name, prefix + query)
    return HttpResponseRedirect(
        reverse('v2_photo:main') + extract_get_params(request))
示例#6
0
def set_article_kind(user, app_name, article_kind, article_id=0):
    app_param = get_app_params(user, app_name)
    if not app_param:
        return

    app_param.kind = article_kind
    app_param.art_id = article_id
    if not article_id:
        app_param.article = False
    else:
        app_param.article = True
        app_param.aside = False
    app_param.save()
示例#7
0
def set_restriction(user, app_name, restriction, lst_id=0):
    app_param = get_app_params(user, app_name)
    if not app_param:
        return

    app_param.restriction = restriction
    if (restriction == 'list') and lst_id:
        if Lst.objects.filter(user=user.id, app=app_name, id=lst_id).exists():
            app_param.lst = Lst.objects.filter(user=user.id,
                                               app=app_name,
                                               id=lst_id).get()
    app_param.aside = False
    app_param.save()
示例#8
0
def one(request):  # Просмотр одной фотографии, заданной именем файла
    name = get_name_from_request(request)
    if name:
        dirs = name.split('/')
        sub_name = dirs[-1:][0]
        if (len(dirs) > 1):
            sub_path = name[:len(name) - len(sub_name) - 1]
        else:
            sub_path = ''
        pk = get_photo_id(request.user, sub_path, sub_name)
        if pk:
            set_article_kind(request.user, app_name, '', pk)
            set_article_visible(request.user, app_name, False)
            return HttpResponseRedirect(reverse('v2_photo:one'))
    app_param = get_app_params(request.user, app_name)
    return do_main(request, 'one', app_param.art_id)
示例#9
0
def item_form(request, pk):
    app_param = get_app_params(request.user, app_name)
    if (app_param.restriction == EMPL_LIST):
        set_restriction(request.user, app_name, EMPL_INFO)
        item = Employee.objects.filter(id=pk).get()
        item.set_active()
        set_article_kind(request.user, app_name, '', item.id)
    elif (app_param.restriction == DEP_LIST):
        set_restriction(request.user, app_name, DEP_HIST)
        item = Depart.objects.filter(id=pk).get()
        item.set_active()
        set_article_kind(request.user, app_name, '', item.id)
    elif (app_param.restriction == DEP_INFO):
        set_restriction(request.user, app_name, DEP_HIST)
        set_article_kind(request.user, app_name, '', pk)
    else:
        set_article_kind(request.user, app_name, '', pk)
    return HttpResponseRedirect(
        reverse('v2_wage:main') + extract_get_params(request))
示例#10
0
def rise(request, level):  # Подняться на указанный уровень вверх
    set_article_visible(request.user, app_name, False)
    if not level:
        set_content(request.user, app_name, '')
    else:
        app_param = get_app_params(request.user, app_name)
        crumbs = app_param.content.split('/')
        new_rest = ''
        cur_level = 1
        for crumb in crumbs:
            new_rest += crumb
            if (cur_level < level):
                new_rest += '/'
                cur_level += 1
            else:
                break
        set_content(request.user, app_name, new_rest)

    return HttpResponseRedirect(
        reverse('v2_photo:main') + extract_get_params(request))
示例#11
0
def get_base_context_ext(request,
                         app_name,
                         content_kind,
                         title,
                         article_enabled=True):
    context = {}
    context['app_name'] = get_app_name(app_name)
    context['restriction'] = None
    app_param = None
    title_1 = title_2 = url = ''
    if title and (len(title) > 0):
        title_1 = title[0]
    if title and (len(title) > 1):
        title_2 = title[1]
    if request:
        app_param = get_app_params(request.user, app_name)
        if app_param:
            if (app_param.content != content_kind) and (app_name != 'photo'):
                app_param.content = content_kind
                app_param.save()
            context['aside_visible'] = (
                (not article_enabled) or
                (not app_param.article)) and app_param.aside
            context['article_visible'] = app_param.article and article_enabled
            context['restriction'] = app_param.restriction
            context['sort_dir'] = not app_param.reverse
            context['list_id'] = 0
            url = app_param.restriction
            if (app_param.restriction == 'list') and app_param.lst:
                lst = Lst.objects.filter(user=request.user.id,
                                         id=app_param.lst.id).get()
                title_1 = ''
                title_2 = lst.name
                context['list_id'] = lst.id
                url = 'list/' + str(lst.id)

    if not title_1 and not title_2:
        context['title'] = ''
    if title_1 and not title_2:
        context['title'] = _(title_1).capitalize()
    if not title_1 and title_2:
        context['title'] = title_2
    if title_1 and title_2:
        context['title'] = '{} [{}]'.format(_(title_1).capitalize(), title_2)

    context['please_correct_one'] = _('Please correct the error below.')
    context['please_correct_all'] = _('Please correct the errors below.')

    context['complete_icon'] = 'v2/todo/icon/complete.png'
    context['uncomplete_icon'] = 'v2/todo/icon/uncomplete.png'

    apps = []
    for app in APPS:
        if (app in ('store', 'trip', 'apart', 'wage',
                    'health')) and (request.user.username != 'ruslan.ok'):
            continue
        if (app == 'admin') and (request.user.username != 'admin'):
            continue
        if (app == 'profile') and (request.user.username == 'demouser'):
            continue
        apps.append({
            'href': APPS[app][1],
            'icon': 'v2/rok/icon/' + APPS[app][0] + '.png',
            'name': get_main_menu_item(app)
        })
    context['apps'] = apps

    set_aside_visible(request.user, app_name, False)
    if url:
        save_last_visited(request.user, app_name + '/' + url, app_name,
                          title_1, title_2)
    return app_param, context
示例#12
0
def main(request):
    app_param = get_app_params(request.user, app_name)
    if (app_param.restriction not in ALL_RESTRICTIONS):
        return set_restriction_and_redirect(request, PER)

    if not Period.objects.filter(user=request.user.id, active=True).exists():
        if (app_param.restriction != PER):
            return set_restriction_and_redirect(request, PER)

    period = None
    if Period.objects.filter(user=request.user.id, active=True).exists():
        period = Period.objects.filter(user=request.user.id, active=True).get()

    if (app_param.restriction in EMPL_ASIDE):
        if not Employee.objects.filter(user=request.user.id,
                                       active=True).exists():
            return set_restriction_and_redirect(request, EMPL_LIST)

    employee = None
    if Employee.objects.filter(user=request.user.id, active=True).exists():
        employee = Employee.objects.filter(user=request.user.id,
                                           active=True).get()

    if (app_param.restriction == DEP_HIST):
        if not Depart.objects.filter(user=request.user.id,
                                     active=True).exists():
            return set_restriction_and_redirect(request, DEP_LIST)

    depart = None
    if Depart.objects.filter(user=request.user.id, active=True).exists():
        depart = Depart.objects.filter(user=request.user.id, active=True).get()

    if process_common_commands(request, app_name):
        return HttpResponseRedirect(
            reverse('v2_wage:main') + extract_get_params(request))

    # For converting the string representation of dates, in particular in item_info
    locale.setlocale(locale.LC_CTYPE, request.LANGUAGE_CODE)
    locale.setlocale(locale.LC_TIME, request.LANGUAGE_CODE)

    if (request.method == 'POST'):
        if ('item-add' in request.POST):
            if (app_param.restriction == PER):
                item_id = add_period(request)
            if (app_param.restriction == POST):
                item_id = add_post(request)
            if (app_param.restriction == TITLE):
                item_id = add_pay_title(request)
            if (app_param.restriction == DEP_LIST):
                item_id = add_department(request)
            if (app_param.restriction in (DEP_HIST, DEP_INFO)):
                item_id = add_dep_hist(request, depart)
            if (app_param.restriction == EMPL_LIST):
                item_id = add_employee(request)
            if (app_param.restriction == ACC):
                item_id = add_payment(request, period, employee, 0)
            if (app_param.restriction == PAY):
                item_id = add_payment(request, period, employee, 1)
            if (app_param.restriction == APP):
                item_id = add_appoint(request, period, employee)
            if (app_param.restriction == EDUC):
                item_id = add_education(request, period, employee)
            if (app_param.restriction == CHLD):
                item_id = add_child(request, period, employee)
            if (app_param.restriction == SUR):
                item_id = add_surname(request, period, employee)
            return HttpResponseRedirect(
                reverse('v2_wage:item_form', args=[item_id]))
        if ('item-in-list-select' in request.POST) and (app_param.restriction
                                                        == PER):
            pk = request.POST['item-in-list-select']
            if pk:
                set_active(request.user.id, pk)
                return HttpResponseRedirect(
                    reverse('v2_wage:item_form', args=[pk]) +
                    extract_get_params(request))

    app_param, context = get_base_context_ext(
        request, app_name, 'main',
        get_title(app_param.restriction, employee, depart))

    redirect = False

    if app_param.article:
        valid_article = False
        if (app_param.restriction == PER):
            valid_article = Period.objects.filter(
                id=app_param.art_id, user=request.user.id).exists()
        if (app_param.restriction == POST):
            valid_article = Post.objects.filter(id=app_param.art_id,
                                                user=request.user.id).exists()
        if (app_param.restriction == TITLE):
            valid_article = PayTitle.objects.filter(
                id=app_param.art_id, user=request.user.id).exists()
        if (app_param.restriction == DEP_HIST):
            valid_article = DepHist.objects.filter(id=app_param.art_id,
                                                   depart=depart.id).exists()
        if (app_param.restriction == DEP_INFO):
            valid_article = Depart.objects.filter(
                id=app_param.art_id, user=request.user.id).exists()
        if (app_param.restriction == EMPL_INFO):
            valid_article = Employee.objects.filter(
                id=app_param.art_id, user=request.user.id).exists()
        if (app_param.restriction == ACC):
            valid_article = Payment.objects.filter(id=app_param.art_id,
                                                   employee=employee.id,
                                                   period=period.id,
                                                   direct=0).exists()
        if (app_param.restriction == PAY):
            valid_article = Payment.objects.filter(id=app_param.art_id,
                                                   employee=employee.id,
                                                   period=period.id,
                                                   direct=1).exists()
        if (app_param.restriction == APP):
            valid_article = Appoint.objects.filter(
                id=app_param.art_id, employee=employee.id).exists()
        if (app_param.restriction == EDUC):
            valid_article = Education.objects.filter(
                id=app_param.art_id, employee=employee.id).exists()
        if (app_param.restriction == CHLD):
            valid_article = Child.objects.filter(
                id=app_param.art_id, employee=employee.id).exists()
        if (app_param.restriction == SUR):
            valid_article = FioHist.objects.filter(
                id=app_param.art_id, employee=employee.id).exists()
        if (app_param.restriction == REPORT):
            valid_article = True

        if valid_article:
            if (app_param.restriction == PER):
                item = get_object_or_404(
                    Period.objects.filter(id=app_param.art_id,
                                          user=request.user.id))
                disable_delete = item.active or EmplPer.objects.filter(period = item.id).exists() or \
                                                Payment.objects.filter(period = item.id).exists()
                redirect = edit_item(request, context, app_param.restriction,
                                     period, employee, depart, item,
                                     disable_delete)
            if (app_param.restriction == POST):
                item = get_object_or_404(
                    Post.objects.filter(id=app_param.art_id,
                                        user=request.user.id))
                disable_delete = Appoint.objects.filter(post=item.id).exists()
                redirect = edit_item(request, context, app_param.restriction,
                                     period, employee, depart, item,
                                     disable_delete)
            if (app_param.restriction == TITLE):
                item = get_object_or_404(
                    PayTitle.objects.filter(id=app_param.art_id,
                                            user=request.user.id))
                disable_delete = Payment.objects.filter(title=item.id).exists()
                redirect = edit_item(request, context, app_param.restriction,
                                     period, employee, depart, item,
                                     disable_delete)
            if (app_param.restriction == DEP_HIST):
                item = get_object_or_404(
                    DepHist.objects.filter(id=app_param.art_id,
                                           depart=depart.id))
                redirect = edit_item(request, context, app_param.restriction,
                                     period, employee, depart, item, False)
            if (app_param.restriction == DEP_INFO):
                item = get_object_or_404(
                    Depart.objects.filter(id=app_param.art_id,
                                          user=request.user.id))
                disable_delete = DepHist.objects.filter(depart = item.id).exists() or \
                                 DepHist.objects.filter(node = item.id).exists() or \
                                 Appoint.objects.filter(depart = item.id).exists()
                redirect = edit_item(request, context, app_param.restriction,
                                     period, employee, depart, item,
                                     disable_delete)
            if (app_param.restriction == EMPL_INFO):
                item = get_object_or_404(
                    Employee.objects.filter(id=app_param.art_id,
                                            user=request.user.id))
                disable_delete = FioHist.objects.filter(employee = item.id).exists() or \
                                 Child.objects.filter(employee = item.id).exists() or \
                                 Appoint.objects.filter(employee = item.id).exists() or \
                                 Education.objects.filter(employee = item.id).exists() or \
                                 Payment.objects.filter(employee = item.id).exists()
                redirect = edit_item(request, context, app_param.restriction,
                                     period, employee, depart, item,
                                     disable_delete)
            if (app_param.restriction == ACC):
                item = get_object_or_404(
                    Payment.objects.filter(id=app_param.art_id,
                                           employee=employee.id,
                                           period=period.id,
                                           direct=0))
                redirect = edit_item(request, context, app_param.restriction,
                                     period, employee, depart, item, False)
            if (app_param.restriction == PAY):
                item = get_object_or_404(
                    Payment.objects.filter(id=app_param.art_id,
                                           employee=employee.id,
                                           period=period.id,
                                           direct=1))
                redirect = edit_item(request, context, app_param.restriction,
                                     period, employee, depart, item, False)
            if (app_param.restriction == APP):
                item = get_object_or_404(
                    Appoint.objects.filter(id=app_param.art_id,
                                           employee=employee.id))
                redirect = edit_item(request, context, app_param.restriction,
                                     period, employee, depart, item, False)
            if (app_param.restriction == EDUC):
                item = get_object_or_404(
                    Education.objects.filter(id=app_param.art_id,
                                             employee=employee.id))
                redirect = edit_item(request, context, app_param.restriction,
                                     period, employee, depart, item, False)
            if (app_param.restriction == CHLD):
                item = get_object_or_404(
                    Child.objects.filter(id=app_param.art_id,
                                         employee=employee.id))
                redirect = edit_item(request, context, app_param.restriction,
                                     period, employee, depart, item, False)
            if (app_param.restriction == SUR):
                item = get_object_or_404(
                    FioHist.objects.filter(id=app_param.art_id,
                                           employee=employee.id))
                redirect = edit_item(request, context, app_param.restriction,
                                     period, employee, depart, item, False)
        else:
            set_article_visible(request.user, app_name, False)
            redirect = True

    if (request.method == 'POST'):
        if ('total-save' in request.POST):
            total_save(request, context, period, employee)
    else:
        check_empl_per(request.user, context, app_param, period, employee)

    if redirect:
        return HttpResponseRedirect(
            reverse('v2_wage:main') + extract_get_params(request))

    fixes = []
    if (app_param.restriction in EMPL_ASIDE):
        fixes.append(
            Fix(PER,
                _('periods').capitalize(), 'v2/todo/icon/planned.png',
                'periods/', len(Period.objects.filter(user=request.user.id))))
        fixes.append(
            Fix(EMPL_LIST,
                _('employees').capitalize(),
                'v2/rok/icon/user.png', 'employees/',
                len(Employee.objects.filter(user=request.user.id))))
        fixes.append(
            Fix(EMPL_INFO,
                _('totals').capitalize(), 'v2/todo/icon/myday.png', 'total/',
                None))
        fixes.append(
            Fix(
                ACC,
                _('accruals').capitalize(), 'v2/todo/icon/myday.png',
                'accrual/',
                len(
                    Payment.objects.filter(employee=employee.id,
                                           period=period.id,
                                           direct=0))))
        fixes.append(
            Fix(
                PAY,
                _('pays').capitalize(), 'v2/todo/icon/myday.png', 'payment/',
                len(
                    Payment.objects.filter(employee=employee.id,
                                           period=period.id,
                                           direct=1))))
        fixes.append(
            Fix(APP,
                _('appointments').capitalize(), 'v2/todo/icon/myday.png',
                'appoint/', len(Appoint.objects.filter(employee=employee.id))))
        fixes.append(
            Fix(EDUC,
                _('educations').capitalize(), 'v2/todo/icon/myday.png',
                'education/',
                len(Education.objects.filter(employee=employee.id))))
        fixes.append(
            Fix(SUR,
                _('surnames').capitalize(), 'v2/todo/icon/myday.png',
                'surname/', len(FioHist.objects.filter(employee=employee.id))))
        fixes.append(
            Fix(CHLD,
                _('children').capitalize(), 'v2/todo/icon/myday.png', 'child/',
                len(Child.objects.filter(employee=employee.id))))
    elif (app_param.restriction in (DEP_HIST, DEP_INFO)):
        fixes.append(
            Fix(DEP_LIST,
                _('departments').capitalize(),
                'v2/rok/icon/home.png', 'departments/',
                len(Depart.objects.filter(user=request.user.id))))
        fixes.append(
            Fix(DEP_HIST,
                _('department history').capitalize(), 'v2/rok/icon/home.png',
                'dep_hist/', len(DepHist.objects.filter(depart=depart.id))))
    else:
        fixes.append(
            Fix(PER,
                _('periods').capitalize(), 'v2/todo/icon/planned.png',
                'periods/', len(Period.objects.filter(user=request.user.id))))
        fixes.append(
            Fix(EMPL_LIST,
                _('employees').capitalize(),
                'v2/rok/icon/user.png', 'employees/',
                len(Employee.objects.filter(user=request.user.id))))
        fixes.append(
            Fix(DEP_LIST,
                _('departments').capitalize(),
                'v2/rok/icon/home.png', 'departments/',
                len(Depart.objects.filter(user=request.user.id))))
        fixes.append(
            Fix(POST,
                _('posts').capitalize(), 'v2/rok/icon/work.png', 'posts/',
                len(Post.objects.filter(user=request.user.id))))
        fixes.append(
            Fix(TITLE,
                _('pay titles').capitalize(), 'v2/rok/icon/edit.png',
                'pay_titles/',
                len(PayTitle.objects.filter(user=request.user.id))))
        fixes.append(
            Fix(REPORT,
                _('reports').capitalize(), 'v2/rok/icon/news.png', 'reports/',
                1))

    context['fix_list'] = fixes
    context['without_lists'] = True
    context['hide_important'] = True
    if period:
        context['title_info'] = period.name()

    if (app_param.restriction in HIDE_ITEM_INPUT):
        context['hide_add_item_input'] = True
    if (app_param.restriction not in SHOW_SELECTOR):
        context['hide_selector'] = True
    if (app_param.restriction in ADD_ENTITY):
        context['add_item_placeholder'] = ADD_ENTITY[
            app_param.restriction].capitalize()
    if (app_param.restriction == EMPL_INFO):
        context['list_id'] = employee.id
    if (app_param.restriction == DEP_HIST):
        context['list_id'] = depart.id

    query = None
    page_number = 1
    if (request.method == 'GET'):
        query = request.GET.get('q')
        page_number = request.GET.get('page')
    context['search_info'] = get_search_info(query)
    data = filtered_sorted_list(request.user, app_param, period, employee,
                                depart, query)
    context['search_qty'] = len(data)
    context['search_data'] = query and (len(data) > 0)

    if (app_param.restriction == EMPL_LIST):
        context['ed_item'] = employee

    if (app_param.restriction == EMPL_LIST):
        groups = []
        for item in data:
            grp_id, grp_name = get_grp_name(item, period.dBeg)
            group = find_group(groups, request.user, app_name, grp_id,
                               grp_name)
            group.items.append(item)
        context['item_groups'] = sorted(groups,
                                        key=lambda group: group.grp.grp_id)
        context['page_obj'] = data

    paginator = Paginator(data, items_per_page)
    page_obj = paginator.get_page(page_number)
    context['page_obj'] = paginator.get_page(page_number)
    template = loader.get_template('v2_wage/' + app_param.restriction +
                                   '.html')
    return HttpResponse(template.render(context, request))
示例#13
0
def set_content(user, app_name, content):
    app_param = get_app_params(user, app_name)
    if app_param:
        app_param.content = content
        app_param.save()
示例#14
0
def main(request):
    app_param = get_app_params(request.user, app_name)
    if (app_param.restriction != PERS) and (app_param.restriction != TRIP):
        set_restriction(request.user, app_name, TRIP)
        return HttpResponseRedirect(
            reverse('v2_trip:main') + extract_get_params(request))

    if process_common_commands(request, app_name):
        return HttpResponseRedirect(
            reverse('v2_trip:main') + extract_get_params(request))

    form = None
    if (request.method == 'POST'):
        if ('item-add' in request.POST):
            if (app_param.restriction == TRIP):
                item_id = trip_add(request)
            if (app_param.restriction == PERS):
                item_id = pers_add(request)
            return HttpResponseRedirect(
                reverse('v2_trip:item_form', args=[item_id]))
        if ('trip-count' in request.POST):
            do_count(request)
            return HttpResponseRedirect(reverse('v2_trip:main'))
        if ('item-in-list-select' in request.POST) and (app_param.restriction
                                                        == PERS):
            pk = request.POST['item-in-list-select']
            if pk:
                set_active(request.user.id, pk)
                return HttpResponseRedirect(
                    reverse('v2_trip:item_form', args=[pk]))

    app_param, context = get_base_context_ext(request, app_name, 'main',
                                              (app_param.restriction, ))

    redirect = False

    if app_param.article:
        valid_article = False
        if (app_param.restriction == TRIP):
            valid_article = Trip.objects.filter(id=app_param.art_id,
                                                user=request.user.id).exists()
        if (app_param.restriction == PERS):
            valid_article = Person.objects.filter(
                id=app_param.art_id, user=request.user.id).exists()
        if valid_article:
            if (app_param.restriction == TRIP):
                redirect = get_trip_article(request, context, app_param.art_id)
            if (app_param.restriction == PERS):
                redirect = get_pers_article(request, context, app_param.art_id)
        else:
            set_article_visible(request.user, app_name, False)
            redirect = True

    if redirect:
        return HttpResponseRedirect(
            reverse('v2_trip:main') + extract_get_params(request))

    fixes = []
    fixes.append(
        Fix(PERS,
            _('persons').capitalize(), 'v2/rok/icon/user.png', 'persons/',
            len(Person.objects.filter(user=request.user.id))))
    fixes.append(
        Fix(TRIP,
            _('trips').capitalize(), 'v2/rok/icon/car.png', 'trips/',
            len(Trip.objects.filter(user=request.user.id))))
    context['fix_list'] = fixes
    context['without_lists'] = True
    context['hide_important'] = True
    context['title_info'] = trip_summary(request.user.id, False)
    if (app_param.restriction == PERS):
        context['add_item_placeholder'] = _('add person').capitalize()
    if (app_param.restriction == TRIP):
        context['hide_add_item_input'] = True
        context['complete_icon'] = 'v2/rok/icon/car.png'
        context['uncomplete_icon'] = 'v2/rok/icon/cost.png'
        context['today'] = int(datetime.today().strftime('%w'))

    query = None
    if request.method == 'GET':
        query = request.GET.get('q')
    context['search_info'] = get_search_info(query)
    data = filtered_sorted_list(request.user, app_param.restriction, query)
    context['search_qty'] = len(data)
    context['search_data'] = query and (len(data) > 0)
    page_number = 1
    if (request.method == 'GET'):
        page_number = request.GET.get('page')
    paginator = Paginator(data, items_per_page)
    page_obj = paginator.get_page(page_number)
    context['page_obj'] = paginator.get_page(page_number)

    template = loader.get_template(get_template_file(app_param.restriction))
    return HttpResponse(template.render(context, request))