WIP: MK/conditional_fields
#175
Draft
marius.klein
wants to merge 7 commits from MK/conditional_fields into main
@ -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