示例#1
0
def includeme(config):
    # Manager View
    config.add_route('holidays', '/holidays')
    config.add_view(AdminHolidayView,
                    route_name="holidays",
                    renderer="holidays.mako",
                    permission="manage")
    # User views
    # Here we use the users traversal to provide acl checks
    config.add_route('user_holidays',
                     '/user/{id:\d+}/holidays',
                     traverse="/users/{id}")
    config.add_route('user_holiday',
                     '/user/{id:\d+}/holidays/{lid:\d+}',
                     traverse="/users/{id}")

    config.add_view(user_holidays_index,
                    route_name="user_holidays",
                    renderer="user_holidays.mako",
                    permission="edit")

    config.add_view(holidays_json,
                    route_name='user_holidays',
                    xhr=True,
                    renderer="json")
    add_rest_views(config,
                   "user_holiday",
                   RestHoliday,
                   view_rights='add',
                   add_rights='add')
    config.add_view(make_redirect_view("user_holidays"),
                    route_name="user_holiday")
示例#2
0
def includeme(config):
    # Manager View
    config.add_route(
            'holidays',
            '/holidays')
    config.add_view(AdminHolidayView,
                    route_name="holidays",
                    renderer="holidays.mako",
                    permission="manage")
    # User views
    # Here we use the users traversal to provide acl checks
    config.add_route(
            'user_holidays',
            '/user/{id:\d+}/holidays',
            traverse="/users/{id}")
    config.add_route(
            'user_holiday',
            '/user/{id:\d+}/holidays/{lid:\d+}',
            traverse="/users/{id}")

    config.add_view(user_holidays_index,
                    route_name="user_holidays",
                    renderer="user_holidays.mako",
                    permission="edit")

    config.add_view(holidays_json,
                    route_name='user_holidays',
                    xhr=True,
                    renderer="json")
    add_rest_views(config, "user_holiday", RestHoliday,
            view_rights='add',
            add_rights='add')
    config.add_view(
            make_redirect_view("user_holidays"),
            route_name="user_holiday")
示例#3
0
def includeme(config):
    add_routes(config)
    # Manager View
    config.add_view(
        AdminHolidayView,
        route_name="holidays",
        renderer="holidays.mako",
        permission="admin.holidays",
    )
    # User views
    config.add_view(
        user_holidays_index,
        route_name="user_holidays",
        renderer="user_holidays.mako",
        permission="list.holidays",
    )

    config.add_view(
        holidays_json,
        route_name='user_holidays',
        xhr=True,
        renderer="json",
        permission='list.holidays',
    )
    add_rest_views(
        config,
        "user_holiday",
        RestHoliday,
        edit_rights="edit.holiday",
        view_rights='list.holidays',
        add_rights='add.holiday',
        delete_rights="edit.holiday",
    )
    config.add_view(
        make_redirect_view("user_holidays"),
        route_name="user_holiday",
    )
示例#4
0
def includeme(config):
    add_routes(config)
    # Manager View
    config.add_view(
        AdminHolidayView,
        route_name="holidays",
        renderer="holidays.mako",
        permission="admin_holidays",
    )
    # User views
    config.add_view(
        user_holidays_index,
        route_name="user_holidays",
        renderer="user_holidays.mako",
        permission="list_holidays",
    )

    config.add_view(
        holidays_json,
        route_name='user_holidays',
        xhr=True,
        renderer="json",
        permission='list_holidays',
    )
    add_rest_views(
        config,
        "user_holiday",
        RestHoliday,
        edit_rights="edit_holiday",
        view_rights='list_holidays',
        add_rights='add_holiday',
    )
    config.add_view(
        make_redirect_view("user_holidays"),
        route_name="user_holiday",
    )
示例#5
0
def add_views(config):
    """
    Add views to the current configuration
    """
    add_rest_views(
        config,
        factory=EstimationRestView,
        route_name='/api/v1/estimations/{id}',
        collection_route_name='/api/v1/estimations',
        edit_rights='edit.estimation',
        view_rights='view.estimation',
        delete_rights='delete.estimation',
    )

    # Form configuration view
    config.add_view(
        EstimationRestView,
        attr='form_config',
        route_name='/api/v1/estimations/{id}',
        renderer='json',
        request_param="form_config",
        permission='edit.estimation',
        xhr=True,
    )

    # Status View
    config.add_view(
        EstimationStatusRestView,
        route_name="/api/v1/estimations/{id}",
        request_param='action=status',
        permission="edit.estimation",
        request_method='POST',
        renderer="json",
    )
    config.add_view(
        EstimationSignedStatusRestView,
        route_name="/api/v1/estimations/{id}",
        request_param='action=signed_status',
        permission="set_signed_status.estimation",
        request_method='POST',
        renderer="json",
    )

    # Task linegroup views
    add_rest_views(
        config,
        route_name="/api/v1/estimations/{eid}/task_line_groups/{id}",
        collection_route_name="/api/v1/estimations/{id}/task_line_groups",
        factory=TaskLineGroupRestView,
        view_rights="view.estimation",
        add_rights="edit.estimation",
        edit_rights='edit.estimation',
        delete_rights='edit.estimation',
    )
    config.add_view(
        TaskLineGroupRestView,
        route_name="/api/v1/estimations/{id}/task_line_groups",
        attr='post_load_groups_from_catalog_view',
        request_param="action=load_from_catalog",
        request_method='POST',
        renderer='json',
        permission='edit.estimation',
        xhr=True,
    )
    # Task line views
    add_rest_views(
        config,
        route_name="/api/v1/estimations/{eid}/"
        "task_line_groups/{tid}/task_lines/{id}",
        collection_route_name="/api/v1/estimations/{eid}/"
        "task_line_groups/{id}/task_lines",
        factory=TaskLineRestView,
        view_rights="view.estimation",
        add_rights="edit.estimation",
        edit_rights='edit.estimation',
        delete_rights='edit.estimation',
    )
    config.add_view(
        TaskLineRestView,
        route_name="/api/v1/estimations/{eid}/task_line_groups/{id}/task_lines",
        attr='post_load_lines_from_catalog_view',
        request_param="action=load_from_catalog",
        request_method='POST',
        renderer='json',
        permission='edit.estimation',
        xhr=True,
    )
    # Discount line views
    add_rest_views(
        config,
        route_name="/api/v1/estimations/{eid}/discount_lines/{id}",
        collection_route_name="/api/v1/estimations/{id}/discount_lines",
        factory=DiscountLineRestView,
        view_rights="view.estimation",
        add_rights="edit.estimation",
        edit_rights='edit.estimation',
        delete_rights='edit.estimation',
    )
    config.add_view(
        DiscountLineRestView,
        route_name="/api/v1/estimations/{id}/discount_lines",
        attr='post_percent_discount_view',
        request_param="action=insert_percent",
        request_method='POST',
        renderer='json',
        permission='edit.estimation',
        xhr=True,
    )
    # Payment lines views
    add_rest_views(
        config,
        route_name="/api/v1/estimations/{eid}/payment_lines/{id}",
        collection_route_name="/api/v1/estimations/{id}/payment_lines",
        factory=PaymentLineRestView,
        view_rights="view.estimation",
        add_rights="edit.estimation",
        edit_rights='edit.estimation',
        delete_rights='edit.estimation',
    )
    # File requirements views
    add_rest_views(
        config,
        route_name="/api/v1/estimations/{eid}/file_requirements/{id}",
        collection_route_name="/api/v1/estimations/{id}/file_requirements",
        factory=TaskFileRequirementRestView,
        collection_view_rights="view.estimation",
        view_rights="view.indicator",
    )
    config.add_view(
        TaskFileRequirementRestView,
        route_name="/api/v1/estimations/{eid}/file_requirements/{id}",
        attr="validation_status",
        permission="valid.indicator",
        request_method="POST",
        request_param="action=validation_status",
        renderer='json',
        xhr=True,
    )
示例#6
0
def add_views(config):
    """
    Add rest api views
    """
    add_rest_views(
        config,
        factory=RestExpenseSheetView,
        route_name="/api/v1/expenses/{id}",
        collection_route_name="/api/v1/expenses",
        view_rights="view.expensesheet",
        add_rights="add.expensesheet",
        edit_rights="edit.expensesheet",
        delete_rights="delete.expensesheet",
    )

    # Form configuration view
    config.add_view(
        RestExpenseSheetView,
        attr='form_config',
        route_name='/api/v1/expenses/{id}',
        renderer='json',
        request_param="form_config",
        permission='view.expensesheet',
        xhr=True,
    )

    # Status view
    config.add_view(
        RestExpenseSheetStatusView,
        route_name='/api/v1/expenses/{id}',
        request_param='action=status',
        permission="view.expensesheet",
        request_method='POST',
        renderer="json",
    )

    # Status view
    config.add_view(
        RestExpenseSheetJustifiedStatusView,
        route_name='/api/v1/expenses/{id}',
        request_param='action=justified_status',
        permission="view.expensesheet",
        request_method='POST',
        renderer="json",
    )

    # Line views
    add_rest_views(
        config,
        factory=RestExpenseLineView,
        route_name="/api/v1/expenses/{id}/lines/{lid}",
        collection_route_name="/api/v1/expenses/{id}/lines",
        view_rights="view.expensesheet",
        add_rights="edit.expensesheet",
        edit_rights="edit.expensesheet",
        delete_rights="edit.expensesheet",
    )
    config.add_view(
        RestExpenseLineView,
        attr='duplicate',
        route_name="/api/v1/expenses/{id}/lines/{lid}",
        request_param='action=duplicate',
        permission="edit.expensesheet",
        request_method='POST',
        renderer="json",
    )

    # Km Line views
    add_rest_views(
        config,
        factory=RestExpenseKmLineView,
        route_name="/api/v1/expenses/{id}/kmlines/{lid}",
        collection_route_name="/api/v1/expenses/{id}/kmlines",
        view_rights="view.expensesheet",
        add_rights="edit.expensesheet",
        edit_rights="edit.expensesheet",
        delete_rights="edit.expensesheet",
    )
    config.add_view(
        RestExpenseKmLineView,
        attr='duplicate',
        route_name="/api/v1/expenses/{id}/kmlines/{lid}",
        request_param='action=duplicate',
        permission="edit.expensesheet",
        request_method='POST',
        renderer="json",
    )
    # BookMarks
    add_rest_views(
        config,
        factory=RestBookMarkView,
        route_name="/api/v1/bookmarks/{id}",
        collection_route_name="/api/v1/bookmarks",
        view_rights="view",
        add_rights="view",
        edit_rights='view',
        delete_rights="view",
    )
示例#7
0
def includeme(config):
    """
        Add module's views
    """
    add_routes(config)

    for i in range(2):
        index = i + 1
        route_name = 'company_customers_import_step%d' % index
        path = '/company/{id:\d+}/customers/import/%d' % index
        config.add_route(route_name, path, traverse='/companies/{id}')

    config.add_view(
        CustomerAdd,
        route_name='company_customers',
        renderer='customer_edit.mako',
        request_method='POST',
        permission='add_customer',
    )

    config.add_view(
        CustomerAdd,
        route_name='company_customers',
        renderer='customer_edit.mako',
        request_param='action=add',
        permission='add_customer',
    )

    config.add_view(
        CustomersListView,
        route_name='company_customers',
        renderer='customers.mako',
        request_method='GET',
        permission='list_customers',
    )

    config.add_view(
        CustomersCsv,
        route_name='customers.csv',
        request_method='GET',
        permission='list_customers',
    )

    config.add_view(
        CustomerEdit,
        route_name='customer',
        renderer='customer_edit.mako',
        request_param='action=edit',
        permission='edit_customer',
    )

    config.add_view(
        customer_view,
        route_name='customer',
        renderer='customer.mako',
        request_method='GET',
        permission='view_customer',
    )
    config.add_view(
        customer_delete,
        route_name="customer",
        request_param="action=delete",
        permission='delete_customer',
    )
    config.add_view(
        customer_archive,
        route_name="customer",
        request_param="action=archive",
        permission='edit_customer',
    )

    config.add_view(
        CustomerImportStep1,
        route_name="company_customers_import_step1",
        permission="add_customer",
        renderer="base/formpage.mako",
    )

    config.add_view(
        CustomerImportStep2,
        route_name="company_customers_import_step2",
        permission="add_customer",
        renderer="base/formpage.mako",
    )

    add_rest_views(
        config,
        factory=CustomerRestView,
        route_name="/api/v1/customers/{id}",
        collection_route_name="/api/v1/companies/{id}/customers",
        view_rights="view_customer",
        edit_rights="edit_customer",
        add_rights="add_customer",
        delete_rights="delete_customer",
        collection_view_rights="list_customers",
    )
示例#8
0
def add_cancelinvoice_views(config):
    """
    Add cancelinvoice related views to the current configuration

    :param obj config: The current Pyramid configuration
    """
    add_rest_views(
        config,
        factory=CancelInvoiceRestView,
        route_name='/api/v1/cancelinvoices/{id}',
        collection_route_name='/api/v1/cancelinvoices',
        edit_rights='edit.cancelinvoice',
        view_rights='view.cancelinvoice',
        delete_rights='delete.cancelinvoice',
    )

    # Form configuration view
    config.add_view(
        CancelInvoiceRestView,
        attr='form_config',
        route_name='/api/v1/cancelinvoices/{id}',
        renderer='json',
        request_param="form_config",
        permission='edit.cancelinvoice',
        xhr=True,
    )

    # Status View
    config.add_view(
        CancelInvoiceStatusRestView,
        route_name="/api/v1/cancelinvoices/{id}",
        request_param='action=status',
        permission="edit.cancelinvoice",
        request_method='POST',
        renderer="json",
    )

    # Task linegroup views
    add_rest_views(
        config,
        route_name="/api/v1/cancelinvoices/{eid}/task_line_groups/{id}",
        collection_route_name="/api/v1/cancelinvoices/{id}/task_line_groups",
        factory=TaskLineGroupRestView,
        view_rights="view.cancelinvoice",
        add_rights="edit.cancelinvoice",
        edit_rights='edit.cancelinvoice',
        delete_rights='edit.cancelinvoice',
    )
    config.add_view(
        TaskLineGroupRestView,
        route_name="/api/v1/cancelinvoices/{id}/task_line_groups",
        attr='post_load_groups_from_catalog_view',
        request_param="action=load_from_catalog",
        request_method='POST',
        renderer='json',
        permission='edit.cancelinvoice',
        xhr=True,
    )
    # Task line views
    add_rest_views(
        config,
        route_name="/api/v1/cancelinvoices/{eid}/"
        "task_line_groups/{tid}/task_lines/{id}",
        collection_route_name="/api/v1/cancelinvoices/{eid}/"
        "task_line_groups/{id}/task_lines",
        factory=TaskLineRestView,
        view_rights="view.cancelinvoice",
        add_rights="edit.cancelinvoice",
        edit_rights='edit.cancelinvoice',
        delete_rights='edit.cancelinvoice',
    )
    config.add_view(
        TaskLineRestView,
        route_name="/api/v1/cancelinvoices/{eid}/task_line_groups/{id}/"
        "task_lines",
        attr='post_load_lines_from_catalog_view',
        request_param="action=load_from_catalog",
        request_method='POST',
        renderer='json',
        permission='edit.cancelinvoice',
        xhr=True,
    )
示例#9
0
def includeme(config):
    """
        Declare all the routes and views related to this module
    """
    # Routes
    traverse = '/companies/{id}'

    config.add_route("expenses", "/expenses")

    config.add_route("company_expenses",
            "/company/{id}/expenses",
            traverse=traverse)

    config.add_route("user_expenses",
            "/company/{id}/{uid}/expenses",
            traverse=traverse)

    traverse = "/expenses/{id}"

    config.add_route(
        "expensesheet",
        "/expenses/{id:\d+}",
        traverse=traverse
    )
    config.add_route("expensejson",
            "/expenses/{id:\d+}.json",
            traverse=traverse)
    config.add_route("expensexlsx",
            "/expenses/{id:\d+}.xlsx",
            traverse=traverse)
    config.add_route("expenselines",
            "/expenses/{id:\d+}/lines",
            traverse=traverse)
    config.add_route("expenseline",
            "/expenses/{id:\d+}/lines/{lid}",
            traverse=traverse)
    config.add_route("expensekmlines",
            "/expenses/{id:\d+}/kmlines",
            traverse=traverse)
    config.add_route("expensekmline",
            "/expenses/{id:\d+}/kmlines/{lid}",
            traverse=traverse)

    config.add_route("bookmark", "/bookmarks/{id:\d+}")
    config.add_route("bookmarks", "/bookmarks")

    #views
    config.add_view(ExpenseList,
        route_name="expenses",
        permission="admin",
        renderer="treasury/admin_expenses.mako")

    config.add_view(company_expenses_view,
        route_name="company_expenses",
        renderer="treasury/expenses.mako",
        permission="edit")

    config.add_view(expenses_access_view,
        route_name="user_expenses",
        permission="edit")

    config.add_view(ExpenseSheetView,
        route_name="expensesheet",
        renderer="treasury/expense.mako")

    config.add_view(expensesheet_json_view,
        route_name="expensejson",
        xhr=True,
        renderer="json")

    # Xls export
    config.add_view(
        make_excel_view(excel_filename, XlsExpense),
        route_name="expensexlsx"
    )

    # Rest interface
    redirect_to_expense = make_redirect_view("expensesheet")
    add_rest_views(config, "expenseline", RestExpenseLine)
    config.add_view(redirect_to_expense, route_name="expenseline")
    config.add_view(redirect_to_expense, route_name="expenselines")
    add_rest_views(config, "expensekmline", RestExpenseKmLine)
    config.add_view(redirect_to_expense, route_name="expensekmline")
    config.add_view(redirect_to_expense, route_name="expensekmlines")

    # Since the edition of bookmarks is done directly on the current user model
    # View rights are sufficient to access those views
    add_rest_views(config, "bookmark", RestBookMarks, edit_rights='view')


    # V1 Rest Api
    config.add_route("expenselinev1s", "/api/v1/expenses")
    config.add_route("expenselinev1", "/api/v1/expenses/{id}",
            traverse='expenselines/{id}')
    config.add_route("expenseoptionsv1", "/api/v1/expenseoptions")

    add_rest_views(config, "expenselinev1", Expensev1)
    config.add_view(
        expense_optionsv1,
        route_name="expenseoptionsv1",
        renderer="json"
    )

    config.add_view(
        FileUploadView,
        route_name="expensesheet",
        renderer='base/formpage.mako',
        permission='view',
        request_param='action=attach_file',
    )
示例#10
0
def add_views(config):
    """
    Add views to the current configuration
    """
    add_rest_views(
        config,
        factory=EstimationRestView,
        route_name='/api/v1/estimations/{id}',
        collection_route_name='/api/v1/estimations',
        edit_rights='edit.estimation',
        view_rights='view.estimation',
        delete_rights='delete.estimation',
    )

    # Form configuration view
    config.add_view(
        EstimationRestView,
        attr='form_config',
        route_name='/api/v1/estimations/{id}',
        renderer='json',
        request_param="form_config",
        permission='edit.estimation',
        xhr=True,
    )

    # Status View
    config.add_view(
        EstimationStatusRestView,
        route_name="/api/v1/estimations/{id}",
        request_param='action=status',
        permission="edit.estimation",
        request_method='POST',
        renderer="json",
    )
    config.add_view(
        EstimationSignedStatusRestView,
        route_name="/api/v1/estimations/{id}",
        request_param='action=signed_status',
        permission="set_signed_status.estimation",
        request_method='POST',
        renderer="json",
    )

    # Task linegroup views
    add_rest_views(
        config,
        route_name="/api/v1/estimations/{eid}/task_line_groups/{id}",
        collection_route_name="/api/v1/estimations/{id}/task_line_groups",
        factory=TaskLineGroupRestView,
        view_rights="view.estimation",
        add_rights="edit.estimation",
        edit_rights='edit.estimation',
        delete_rights='edit.estimation',
    )
    config.add_view(
        TaskLineGroupRestView,
        route_name="/api/v1/estimations/{id}/task_line_groups",
        attr='post_load_groups_from_catalog_view',
        request_param="action=load_from_catalog",
        request_method='POST',
        renderer='json',
        permission='edit.estimation',
        xhr=True,
    )
    # Task line views
    add_rest_views(
        config,
        route_name="/api/v1/estimations/{eid}/"
        "task_line_groups/{tid}/task_lines/{id}",
        collection_route_name="/api/v1/estimations/{eid}/"
        "task_line_groups/{id}/task_lines",
        factory=TaskLineRestView,
        view_rights="view.estimation",
        add_rights="edit.estimation",
        edit_rights='edit.estimation',
        delete_rights='edit.estimation',
    )
    config.add_view(
        TaskLineRestView,
        route_name="/api/v1/estimations/{eid}/task_line_groups/{id}/task_lines",
        attr='post_load_lines_from_catalog_view',
        request_param="action=load_from_catalog",
        request_method='POST',
        renderer='json',
        permission='edit.estimation',
        xhr=True,
    )
    # Discount line views
    add_rest_views(
        config,
        route_name="/api/v1/estimations/{eid}/discount_lines/{id}",
        collection_route_name="/api/v1/estimations/{id}/discount_lines",
        factory=DiscountLineRestView,
        view_rights="view.estimation",
        add_rights="edit.estimation",
        edit_rights='edit.estimation',
        delete_rights='edit.estimation',
    )
    config.add_view(
        DiscountLineRestView,
        route_name="/api/v1/estimations/{id}/discount_lines",
        attr='post_percent_discount_view',
        request_param="action=insert_percent",
        request_method='POST',
        renderer='json',
        permission='edit.estimation',
        xhr=True,
    )
    # Payment lines views
    add_rest_views(
        config,
        route_name="/api/v1/estimations/{eid}/payment_lines/{id}",
        collection_route_name="/api/v1/estimations/{id}/payment_lines",
        factory=PaymentLineRestView,
        view_rights="view.estimation",
        add_rights="edit.estimation",
        edit_rights='edit.estimation',
        delete_rights='edit.estimation',
    )
    # File requirements views
    add_rest_views(
        config,
        route_name="/api/v1/estimations/{eid}/file_requirements/{id}",
        collection_route_name="/api/v1/estimations/{id}/file_requirements",
        factory=TaskFileRequirementRestView,
        collection_view_rights="view.estimation",
        view_rights="view.indicator",
    )
    config.add_view(
        TaskFileRequirementRestView,
        route_name="/api/v1/estimations/{eid}/file_requirements/{id}",
        attr="validation_status",
        permission="valid.indicator",
        request_method="POST",
        request_param="action=validation_status",
        renderer='json',
        xhr=True,
    )
示例#11
0
def includeme(config):
    """
        Declare all the routes and views related to this module
    """
    add_routes(config)

    config.add_view(
        ExpenseList,
        route_name="expenses",
        permission="admin_expense",
        renderer="treasury/admin_expenses.mako",
    )

    config.add_view(
        company_expenses_view,
        route_name="company_expenses",
        renderer="treasury/expenses.mako",
        permission="list_expenses",
    )

    config.add_view(
        expenses_access_view,
        route_name="user_expenses",
        permission="add_expense",
    )

    config.add_view(
        ExpenseSheetView,
        route_name="expensesheet",
        renderer="treasury/expense.mako",
        permission="view_expense",
    )

    config.add_view(
        ExpenseStatusView,
        route_name="expensesheet",
        request_param='action=status',
        permission="edit_expense",
        renderer="base/formpage.mako",
    )

    config.add_view(
        expensesheet_json_view,
        route_name="expensejson",
        xhr=True,
        renderer="json",
        permission="view_expense",
    )

    # Xls export
    config.add_view(
        make_excel_view(excel_filename, XlsExpense),
        route_name="expensexlsx",
        permission="view_expense",
    )
    # File attachment
    config.add_view(
        FileUploadView,
        route_name="expensesheet",
        renderer='base/formpage.mako',
        permission='add_file',
        request_param='action=attach_file',
    )

    # Rest interface
    redirect_to_expense = make_redirect_view("expensesheet")
    add_rest_views(
        config,
        "expenseline",
        RestExpenseLine,
        view_rights="view_expense",
        add_rights="edit_expense",
        edit_rights="edit_expense",
    )
    config.add_view(redirect_to_expense, route_name="expenseline")
    config.add_view(redirect_to_expense, route_name="expenselines")

    add_rest_views(
        config,
        "expensekmline",
        RestExpenseKmLine,
        view_rights="view_expense",
        add_rights="edit_expense",
        edit_rights="edit_expense",
    )
    config.add_view(redirect_to_expense, route_name="expensekmline")
    config.add_view(redirect_to_expense, route_name="expensekmlines")

    add_rest_views(
        config,
        "bookmark",
        RestBookMarks,
        view_rights="list_expenses",
        add_rights="add_expense",
        edit_rights='add_expense',
    )
示例#12
0
def includeme(config):
    """
        Declare all the routes and views related to this module
    """
    add_routes(config)

    config.add_view(
        ExpenseList, route_name="expenses", permission="admin_expense", renderer="treasury/admin_expenses.mako"
    )

    config.add_view(
        company_expenses_view,
        route_name="company_expenses",
        renderer="treasury/expenses.mako",
        permission="list_expenses",
    )

    config.add_view(expenses_access_view, route_name="user_expenses", permission="add_expense")

    config.add_view(
        ExpenseSheetView, route_name="expensesheet", renderer="treasury/expense.mako", permission="view_expense"
    )

    config.add_view(
        ExpenseStatusView,
        route_name="expensesheet",
        request_param="action=status",
        permission="edit_expense",
        renderer="base/formpage.mako",
    )

    config.add_view(
        expensesheet_json_view, route_name="expensejson", xhr=True, renderer="json", permission="view_expense"
    )

    # Xls export
    config.add_view(make_excel_view(excel_filename, XlsExpense), route_name="expensexlsx", permission="view_expense")
    # File attachment
    config.add_view(
        FileUploadView,
        route_name="expensesheet",
        renderer="base/formpage.mako",
        permission="add_file",
        request_param="action=attach_file",
    )

    # Rest interface
    redirect_to_expense = make_redirect_view("expensesheet")
    add_rest_views(
        config,
        "expenseline",
        RestExpenseLine,
        view_rights="view_expense",
        add_rights="edit_expense",
        edit_rights="edit_expense",
    )
    config.add_view(redirect_to_expense, route_name="expenseline")
    config.add_view(redirect_to_expense, route_name="expenselines")

    add_rest_views(
        config,
        "expensekmline",
        RestExpenseKmLine,
        view_rights="view_expense",
        add_rights="edit_expense",
        edit_rights="edit_expense",
    )
    config.add_view(redirect_to_expense, route_name="expensekmline")
    config.add_view(redirect_to_expense, route_name="expensekmlines")

    add_rest_views(
        config,
        "bookmark",
        RestBookMarks,
        view_rights="list_expenses",
        add_rights="add_expense",
        edit_rights="add_expense",
    )
示例#13
0
def add_views(config):
    """
    Add rest api views
    """
    add_rest_views(
        config,
        factory=RestExpenseSheetView,
        route_name="/api/v1/expenses/{id}",
        collection_route_name="/api/v1/expenses",
        view_rights="view.expensesheet",
        add_rights="add.expensesheet",
        edit_rights="edit.expensesheet",
        delete_rights="delete.expensesheet",
    )

    # Form configuration view
    config.add_view(
        RestExpenseSheetView,
        attr='form_config',
        route_name='/api/v1/expenses/{id}',
        renderer='json',
        request_param="form_config",
        permission='view.expensesheet',
        xhr=True,
    )

    # Status view
    config.add_view(
        RestExpenseSheetStatusView,
        route_name='/api/v1/expenses/{id}',
        request_param='action=status',
        permission="view.expensesheet",
        request_method='POST',
        renderer="json",
    )

    # Status view
    config.add_view(
        RestExpenseSheetJustifiedStatusView,
        route_name='/api/v1/expenses/{id}',
        request_param='action=justified_status',
        permission="view.expensesheet",
        request_method='POST',
        renderer="json",
    )

    # Line views
    add_rest_views(
        config,
        factory=RestExpenseLineView,
        route_name="/api/v1/expenses/{id}/lines/{lid}",
        collection_route_name="/api/v1/expenses/{id}/lines",
        view_rights="view.expensesheet",
        add_rights="edit.expensesheet",
        edit_rights="edit.expensesheet",
        delete_rights="edit.expensesheet",
    )
    config.add_view(
        RestExpenseLineView,
        attr='duplicate',
        route_name="/api/v1/expenses/{id}/lines/{lid}",
        request_param='action=duplicate',
        permission="edit.expensesheet",
        request_method='POST',
        renderer="json",
    )

    # Km Line views
    add_rest_views(
        config,
        factory=RestExpenseKmLineView,
        route_name="/api/v1/expenses/{id}/kmlines/{lid}",
        collection_route_name="/api/v1/expenses/{id}/kmlines",
        view_rights="view.expensesheet",
        add_rights="edit.expensesheet",
        edit_rights="edit.expensesheet",
        delete_rights="edit.expensesheet",
    )
    config.add_view(
        RestExpenseKmLineView,
        attr='duplicate',
        route_name="/api/v1/expenses/{id}/kmlines/{lid}",
        request_param='action=duplicate',
        permission="edit.expensesheet",
        request_method='POST',
        renderer="json",
    )
    # BookMarks
    add_rest_views(
        config,
        factory=RestBookMarkView,
        route_name="/api/v1/bookmarks/{id}",
        collection_route_name="/api/v1/bookmarks",
        view_rights="view",
        add_rights="view",
        edit_rights='view',
        delete_rights="view",
    )