add documentation in the development manual
parent
97b33fc513
commit
0e0496e104
@ -0,0 +1,119 @@
|
||||
Customization Guide
|
||||
=================
|
||||
|
||||
This guide explains how to customize the Kompass application using configuration files and templates.
|
||||
|
||||
Configuration Files
|
||||
-----------------
|
||||
|
||||
The application uses two main configuration files:
|
||||
|
||||
* ``settings.toml``: Contains core application settings
|
||||
* ``text.toml``: Contains customizable text content
|
||||
|
||||
settings.toml
|
||||
~~~~~~~~~~~~
|
||||
|
||||
The ``settings.toml`` file contains all core configuration settings organized in sections:
|
||||
|
||||
.. code-block:: toml
|
||||
|
||||
[section]
|
||||
name = "Your Section Name"
|
||||
street = "Street Address"
|
||||
town = "12345 Town"
|
||||
# ... other section details
|
||||
|
||||
[LJP]
|
||||
contribution_per_day = 25
|
||||
tax = 0.1
|
||||
|
||||
[finance]
|
||||
allowance_per_day = 22
|
||||
max_night_cost = 11
|
||||
|
||||
Key sections include:
|
||||
|
||||
* ``[section]``: Organization details
|
||||
* ``[LJP]``: Youth leadership program settings
|
||||
* ``[finance]``: Financial configurations
|
||||
* ``[misc]``: Miscellaneous application settings
|
||||
* ``[mail]``: Email configuration
|
||||
* ``[database]``: Database connection details
|
||||
|
||||
Customizing Model Fields
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The ``[custom_model_fields]`` section in ``settings.toml`` allows you to customize which fields are visible in the admin interface:
|
||||
|
||||
.. code-block:: toml
|
||||
|
||||
[custom_model_fields]
|
||||
# Format: applabel_modelname.fields = ['field1', 'field2']
|
||||
# applabel_modelname.exclude = ['field3', 'field4']
|
||||
|
||||
# Example: Show only specific fields
|
||||
members_emergencycontact.fields = ['prename', 'lastname', 'phone_number']
|
||||
|
||||
# Example: Exclude specific fields
|
||||
members_member.exclude = ['ticket_no', 'dav_badge_no']
|
||||
|
||||
There are two ways to customize fields:
|
||||
|
||||
1. Using ``fields``: Explicitly specify which fields should be shown
|
||||
- Only listed fields will be visible
|
||||
- Overrides any existing field configuration
|
||||
- Order of fields is preserved as specified
|
||||
|
||||
2. Using ``exclude``: Specify which fields should be hidden
|
||||
- All fields except the listed ones will be visible
|
||||
- Adds to any existing exclusions
|
||||
- Original field order is maintained
|
||||
|
||||
Field customization applies to:
|
||||
- Django admin views
|
||||
- Admin forms
|
||||
- Model admin fieldsets
|
||||
|
||||
.. note::
|
||||
Custom forms must be modified manually as they are not affected by this configuration.
|
||||
|
||||
Text Content
|
||||
-----------
|
||||
|
||||
The ``text.toml`` file allows customization of application text content:
|
||||
|
||||
.. code-block:: toml
|
||||
|
||||
[emails]
|
||||
welcome_subject = "Welcome to {section_name}"
|
||||
welcome_body = """
|
||||
Dear {name},
|
||||
Welcome to our organization...
|
||||
"""
|
||||
|
||||
[messages]
|
||||
success_registration = "Registration successful!"
|
||||
|
||||
Templates
|
||||
---------
|
||||
|
||||
Template Customization
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
You can override any template by placing a custom version in your project's templates directory:
|
||||
|
||||
1. Create a directory structure matching the original template path
|
||||
2. Place your custom template file with the same name
|
||||
3. Django will use your custom template instead of the default
|
||||
|
||||
Example directory structure::
|
||||
|
||||
templates/
|
||||
└── members/
|
||||
└── registration_form.tex
|
||||
└── startpage/
|
||||
└── contact.html
|
||||
└── impressum_content.html
|
||||
|
||||
|
||||
Loading…
Reference in New Issue