Home Context-Sensitive Help System

What is it?

The Help Links system automatically connects application pages with corresponding documentation sections. When you are on a page with configured help, a purple help button (?) appears in the header.

Clicking the button opens the relevant documentation in a new tab, allowing you to quickly get detailed information about the page functionality.

How it works

Step 1: Route Detection

When you open a page, the system detects its Symfony route (e.g., app_property_adjustments_index for the adjustments list page).

Step 2: Database Lookup

The system searches the help_links table for a record for this route. If an active link is found, it retrieves the documentation path (e.g., /adjustments/service-provider).

Step 3: Button Display

If a link is found and active, a purple help button with a question mark icon is displayed in the page header.

Step 4: Opening Documentation

When you click the button, the corresponding library section (e.g., /library/adjustments/service-provider) opens in a new browser tab.

Where is the button?

The help button is located in the page header, usually to the right of the property menu button, before indicators and action buttons. Here's how it looks:

Which pages are supported?

The Help Links system is configured for all main application modules. The help button is available on pages:

  • Balance Adjustments (create, view, edit)
  • Rental Contracts
  • Documents
  • Expenses
  • Payments
  • Penalties
  • Repair Compensations
  • Communications
  • Counters
  • Violations
  • Landlord's Property
  • Messages
  • Contract Negotiations
  • Commercial Proposals
  • Photos and Videos

API for Managing Links

The system provides a REST API for programmatic management of help links. All data modification operations (create, update, delete) are available only to administrators.

GET /api/v1/help-links

Get a list of all help links with the ability to filter by activity status.

Query Parameters

  • is_active - Filter by activity status (0 or 1)

Response Example

[
  {
    "id": 1,
    "route_name": "app_property_adjustments_index",
    "library_path": "/adjustments/service-provider",
    "full_library_url": "/library/adjustments/service-provider",
    "is_active": true
  }
]

GET /api/v1/help-links/by-route/{routeName}

Get a help link for a specific Symfony route.

Request Example

GET /api/v1/help-links/by-route/app_property_adjustments_index

Response Example

{
  "id": 1,
  "route_name": "app_property_adjustments_index",
  "library_path": "/adjustments/service-provider",
  "full_library_url": "/library/adjustments/service-provider",
  "is_active": true
}

POST /api/v1/help-links

Create a new help link.

Note: This operation is available only to users with ROLE_ADMIN role.

Request Body

{
  "route_name": "app_property_adjustments_index",
  "library_path": "/adjustments/service-provider",
  "is_active": true
}

PUT /api/v1/help-links/{id}

Update an existing help link.

Note: This operation is available only to users with ROLE_ADMIN role.

DELETE /api/v1/help-links/{id}

Delete a help link.

Important: Note: This operation is available only to users with ROLE_ADMIN role.

Swagger Documentation

Full interactive API documentation with the ability to test requests is available in Swagger UI:

Open Swagger Documentation