Regions
Forms for creating and modifying region objects
Region Form
- class integreat_cms.cms.forms.regions.region_form.CheckboxSelectMultipleWithDisabled(attrs=None, choices=())[source]
Bases:
CheckboxSelectMultiple
This class adds functionality for disabling certain choices in the
CheckboxSelectMultiple
widget
- class integreat_cms.cms.forms.regions.region_form.RegionForm(*args: Any, **kwargs: Any)[source]
Bases:
CustomModelForm
Form for creating and modifying region objects
Form fields:
name
: Name (CharField
)common_id
: Community identification number (CharField
)slug
: URL parameter (SlugField
)events_enabled
: Activate events (BooleanField
)locations_enabled
: Activate locations (BooleanField
)chat_enabled
: Activate author chat (BooleanField
)push_notifications_enabled
: Activate push notifications (BooleanField
)latitude
: Latitude (FloatField
)longitude
: Longitude (FloatField
)longitude_min
: Minimum longitude (FloatField
)latitude_min
: Minimum latitude (FloatField
)longitude_max
: Maximum longitude (FloatField
)latitude_max
: Maximum latitude (FloatField
)postal_code
: Postal code (CharField
)admin_mail
: Email address of the administrator (EmailField
)statistics_enabled
: Activate statistics (BooleanField
)matomo_id
: Matomo ID (IntegerField
)matomo_token
: Matomo authentication token (CharField
)status
: Status (TypedChoiceField
)page_permissions_enabled
: Activate page-specific permissions (BooleanField
)administrative_division
: Administrative division (TypedChoiceField
)aliases
: Aliases (JSONField
)icon
: Logo (ModelChoiceField
)administrative_division_included
: Include administrative division into name (BooleanField
)offers
: Offers (ModelMultipleChoiceField
)short_urls_enabled
: Activate short urls (BooleanField
)seo_enabled
: Activate SEO section (BooleanField
)custom_prefix
: Custom prefix (CharField
)external_news_enabled
: Enable external news (BooleanField
)timezone
: Timezone (CharField
)fallback_translations_enabled
: Show content in default language as fallback (BooleanField
)summ_ai_enabled
: Activate automatic translations via SUMM.AI (BooleanField
)hix_enabled
: Activate HIX analysis (BooleanField
)mt_renewal_month
: Credits renewal date for foreign language translation (TypedChoiceField
)mt_addon_booked
: Add-on package for foreign languages booked (BooleanField
)mt_midyear_start_month
: Budget year start date for foreign language translation (TypedChoiceField
)integreat_chat_enabled
: Enable Integreat Chat (BooleanField
)zammad_url
: Zammad-URL (URLField
)zammad_access_token
: Zammad access token (CharField
)zammad_chat_handlers
: Zammad chat handlers (CharField
)chat_beta_tester_percentage
: Chat beta tester percentage (IntegerField
)duplicated_region
: Copy languages, pages and media from another region (ModelChoiceField
)duplication_keep_status
: Keep publication status of pages (BooleanField
)duplication_keep_translations
: Copy languages and content translations (BooleanField
)duplication_pbo_behavior
: Page based offers cloning behavior (ChoiceField
)timezone_area
: Timezone area (ChoiceField
)mt_midyear_start_enabled
: Budget year start differs from the renewal date (BooleanField
)zammad_offers
: Zammad forms (ModelMultipleChoiceField
)
- Parameters:
args (Any)
kwargs (Any)
- __init__(*args: Any, **kwargs: Any) None [source]
Initialize region form
- Parameters:
*args (Any) – The supplied arguments
**kwargs (Any) – The supplied keyword arguments
- Return type:
None
- static autofill_bounding_box(cleaned_data: dict[str, Any]) dict[str, Any] [source]
Automatically fill the bounding box coordinates
- clean() dict[str, Any] [source]
Validate form fields which depend on each other, see
django.forms.Form.clean()
- clean_aliases() dict [source]
Validate the aliases field (see Overriding the clean() method).
- Returns:
The valid aliases
- Return type:
- clean_custom_prefix() str [source]
Validate the custom prefix field. (see Overriding the clean() method)
- Returns:
The given prefix or
None
if it is invalid- Return type:
- clean_hix_enabled() bool [source]
Validate the hix_enabled field (see Overriding the clean() method).
- Returns:
The validated field
- Return type:
- clean_slug() str [source]
Validate the slug field (see Overriding the clean() method)
- Returns:
A unique slug based on the input value
- Return type:
- clean_summ_ai_enabled() bool [source]
Validate the summ_ai_enabled field (see Overriding the clean() method)
- Returns:
The validated field whether SUMM.AI is enabled
- Return type:
- clean_zammad_access_token() str [source]
Validate the zammad_access_token field (see Overriding the clean() method). If the value is empty, keep the original one.
- Returns:
The validated field
- Return type:
- clean_zammad_url() str | None [source]
Validate the zammad_url field (see Overriding the clean() method).
- Returns:
The validated field
- Return type:
str | None
- property media[source]
Return all media required to render the widgets on this form.
- integreat_cms.cms.forms.regions.region_form.create_and_replace_links_async(source_region: Region, region: Region) None [source]
Create all links for the latest versions of the region’s page translations, then replace all links in the content. This is run as a background task.
- integreat_cms.cms.forms.regions.region_form.duplicate_imprint(source_region: Region, target_region: Region, only_root: bool = False) None [source]
Function to duplicate the imprint from one region to another.
- integreat_cms.cms.forms.regions.region_form.duplicate_language_tree(source_region: Region, target_region: Region, source_parent: LanguageTreeNode | None = None, target_parent: LanguageTreeNode | None = None, logging_prefix: str = '', only_root: bool = False) None [source]
Function to duplicate the language tree of one region to another.
Usage: duplicate_language_tree(source_region, target_region)
This is a recursive function to walk the whole language tree. It starts at root level with the default parent None. The recursion is necessary because the new nodes need their correct (also duplicated) parent node.
- Parameters:
source_region (Region) – The region from which the language tree should be duplicated
target_region (Region) – The region to which the language tree should be added
source_parent (LanguageTreeNode | None) – The current parent node id of the recursion
target_parent (LanguageTreeNode | None) – The node of the target region which is the duplicate of the source parent node
logging_prefix (str) – recursion level to get a pretty log output
only_root (bool) – Set if only the root node should be copied, not its children
- Return type:
None
- integreat_cms.cms.forms.regions.region_form.duplicate_media(source_region: Region, target_region: Region) None [source]
Function to duplicate all media of one region to another.
- integreat_cms.cms.forms.regions.region_form.duplicate_page_translations(source_page: Page, target_page: Page, logging_prefix: str, keep_status: bool) None [source]
Duplicate all translations of a given source page to a given target page
- integreat_cms.cms.forms.regions.region_form.duplicate_pages(source_region: Region, target_region: Region, source_parent: Page | None = None, target_parent: Page | None = None, logging_prefix: str = '', keep_status: bool = False, offers_to_discard: QuerySet[OfferTemplate] | None = None, only_root: bool = False) None [source]
Function to duplicate all non-archived pages from one region to another
Usage: duplicate_pages(source_region, target_region)
This is a recursive function to walk the whole page tree. It starts at root level with the default parent None. The recursion is necessary because the new pages need their correct (also duplicated) parent page.
- Parameters:
source_region (Region) – The region from which the pages should be duplicated
target_region (Region) – The region to which the pages should be added
source_parent (Page | None) – The current parent page id of the recursion
target_parent (Page | None) – The page of the target region which is the duplicate of the source parent page
logging_prefix (str) – Recursion level to get a pretty log output
keep_status (bool) – Parameter to indicate whether the status of the cloned pages should be kept
offers_to_discard (QuerySet[OfferTemplate] | None) – Offers which might be embedded in the source region, but not in the target region
only_root (bool) – Set if only the root node should be copied, not its children
- Return type:
None
- integreat_cms.cms.forms.regions.region_form.find_links(region: Region) None [source]
Find all link objects in the latest versions of the region’s page translations
- Parameters:
region (Region) – The region which should be scanned for links
- Return type:
None
- integreat_cms.cms.forms.regions.region_form.get_timezone_area_choices() list[tuple[str, str]] [source]
This method generates the options for the first timezone dropdown. It displays the general area of a country or city. Often the continent.
- integreat_cms.cms.forms.regions.region_form.get_timezone_choices() list[tuple[str, str]] [source]
This method generates the options for the second timezone dropdown