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