Places
This package contains all views related to places
Place Actions
This module contains view actions for objects related to places.
- integreat_cms.cms.views.places.place_actions.archive_place(request: HttpRequest, place_id: int, region_slug: str, language_slug: str) HttpResponseRedirect[source]
Archive place object
- Parameters:
- Returns:
A redirection to the
PlaceListView- Return type:
HttpResponseRedirect
- integreat_cms.cms.views.places.place_actions.auto_complete_address(request: HttpRequest, region_slug: str) JsonResponse[source]
Autocomplete place address and coordinates
- integreat_cms.cms.views.places.place_actions.copy_place(request: HttpRequest, place_id: int, region_slug: str, language_slug: str) HttpResponseRedirect[source]
Duplicates the given event and all of its translations.
- Parameters:
- Returns:
The rendered template response
- Return type:
HttpResponseRedirect
- integreat_cms.cms.views.places.place_actions.delete_place(request: HttpRequest, place_id: int, region_slug: str, language_slug: str) HttpResponseRedirect[source]
Delete place object
- Parameters:
- Returns:
A redirection to the
PlaceListView- Return type:
HttpResponseRedirect
- integreat_cms.cms.views.places.place_actions.get_address_from_coordinates(request: HttpRequest, region_slug: str) JsonResponse[source]
Derive address from the coordinates (map pin position)
- integreat_cms.cms.views.places.place_actions.restore_place(request: HttpRequest, place_id: int, region_slug: str, language_slug: str) HttpResponseRedirect[source]
Restore place object (set
archived=False)- Parameters:
- Returns:
A redirection to the
PlaceListView- Return type:
HttpResponseRedirect
- integreat_cms.cms.views.places.place_actions.view_place(request: HttpRequest, place_id: int, region_slug: str, language_slug: str) HttpResponse[source]
View place object
- Parameters:
- Raises:
Http404 – If user no translation exists for the requested place and language
- Returns:
A redirection to the
PlaceListView- Return type:
HttpResponse
Place Context Mixin
- class integreat_cms.cms.views.places.place_context_mixin.PlaceContextMixin[source]
Bases:
ContextMixinThis mixin provides extra context for language tree views
- get_context_data(**kwargs: Any) dict[str, Any][source]
Returns a dictionary representing the template context (see
get_context_data()).
Place Form Ajax View
- class integreat_cms.cms.views.places.place_form_ajax_view.PlaceFormAjaxView(**kwargs)[source]
Bases:
TemplateView,PlaceContextMixinView for the ajax place widget
- get(request: HttpRequest, *args: Any, **kwargs: Any) HttpResponse[source]
Render a place form widget template
- Parameters:
request (HttpRequest) – The current request
*args (Any) – The supplied arguments
**kwargs (Any) – The supplied keyword arguments
- Returns:
The html template of a place form
- Return type:
HttpResponse
- post(request: HttpRequest, *args: Any, **kwargs: Any) HttpResponse[source]
Add a new place to the database
- Parameters:
request (HttpRequest) – The current request
*args (Any) – The supplied arguments
**kwargs (Any) – The supplied keyword arguments
- Raises:
Http404 – If no language for the given language slug was found
- Returns:
A status message, either a success or an error message
- Return type:
HttpResponse
- template = 'ajax_place_form/_place_form_widget.html'[source]
Template for ajax place widget
Place Form View
A view representing an instance of a place. Places can be created or updated via this view.
- class integreat_cms.cms.views.places.place_form_view.PlaceFormView(**kwargs)[source]
Bases:
TemplateView,PlaceContextMixin,MediaContextMixin,ContentEditLockMixinView for editing places
- adjust_status_of_dependent_translations(place_translation_form: PlaceTranslationForm, language: Language, region: Region) None[source]
Change the status of all dependent translations of the place according to the status of the current translation.
- Parameters:
place_translation_form (PlaceTranslationForm)
language (Language)
region (Region)
- Return type:
None
- back_url_name: str | None = 'places'[source]
The url name of the view to show if the user decides to go back (see
ContentEditLockMixin)
- check_if_place_is_locked(request: HttpRequest, place: Place | None) bool[source]
Check if the content is locked for editing.
- get(request: HttpRequest, *args: Any, **kwargs: Any) HttpResponse[source]
Render
PlaceFormandPlaceTranslationForm- Parameters:
request (HttpRequest) – The current request
*args (Any) – The supplied arguments
**kwargs (Any) – The supplied keyword arguments
- Returns:
The rendered template response
- Return type:
HttpResponse
- is_qualified_for_save(request: HttpRequest, place_form: PlaceForm, place_translation_form: PlaceTranslationForm) bool[source]
Checks whether the current request should proceed with saving the page and translation.
- Parameters:
request (HttpRequest)
place_form (PlaceForm)
place_translation_form (PlaceTranslationForm)
- Return type:
- post(request: HttpRequest, *args: Any, **kwargs: Any) HttpResponse[source]
Submit
PlaceFormandPlaceTranslationFormand savePlaceandPlaceTranslationobjects- Parameters:
request (HttpRequest) – The current request
*args (Any) – The supplied arguments
**kwargs (Any) – The supplied keyword arguments
- Returns:
The rendered template response
- Return type:
HttpResponse
- set_success_messages(is_edit: bool, request: HttpRequest, place_translation_form: PlaceTranslationForm, place_form: PlaceForm) None[source]
Show success messages after saving the place and PlaceTranslation forms.
- Parameters:
is_edit (bool)
request (HttpRequest)
place_translation_form (PlaceTranslationForm)
place_form (PlaceForm)
- Return type:
None
- show_slug_changed_message(request: HttpRequest, language: Language, region: Any, user_slug: str, place_translation_form: PlaceTranslationForm) None[source]
Shows a message to the user if the slug they provided was not unique and therefore changed.
- Parameters:
request (HttpRequest)
language (Language)
region (Any)
user_slug (str)
place_translation_form (PlaceTranslationForm)
- Return type:
None
- template_name = 'places/place_form.html'[source]
The template to render (see
TemplateResponseMixin)
Place List View
- class integreat_cms.cms.views.places.place_list_view.PlaceListView(**kwargs)[source]
Bases:
TemplateView,PlaceContextMixin,MachineTranslationContextMixin,FilterSortMixin,PaginationMixinView for listing places
- archived = False[source]
Whether or not to show archived places
- get(request: HttpRequest, *args: Any, **kwargs: Any) HttpResponse[source]
Render place list
- Parameters:
request (HttpRequest) – The current request
*args (Any) – The supplied arguments
**kwargs (Any) – The supplied keyword arguments
- Returns:
The rendered template response
- Return type:
HttpResponse
- get_filtered_sorted_queryset(queryset: QuerySet) QuerySet[source]
Annotate sort keys that match what the user actually sees in the list:
_sort_titleand_sort_status: latest translation (any version, including auto-saves) in the language slug from the URL — this is the translation rendered byplace_list_row.html._sort_statusranks status values by workflow order (AUTO_SAVE, DRAFT, REVIEW, PUBLIC) instead of by the lexicographic order of the choice keys, which has no relation to the localized labels shown._sort_category_name: name of the category in the active backend (UI) language, mirroring howPlaceCategory.__str__renders the column.
- Parameters:
queryset (QuerySet)
- Return type:
QuerySet
- template_name = 'places/place_list.html'[source]
Template for list of non-archived and archived places
- translation_model[source]
The translation model of this list view (used to determine whether machine translations are permitted)
- Parameters:
id (BigAutoField) – Primary key: ID
title (TruncatingCharField) – Name of the place
slug (SlugField) – Link to the place. String identifier without spaces and special characters. Unique per region and language. Leave blank to generate unique parameter from title.
status (CharField) – Status
content (TextField) – Description
currently_in_translation (BooleanField) – Currently in translation. Flag to indicate a translation is being updated by an external translator
machine_translated (BooleanField) – Machine translated. Flag to indicate whether a translations is machine translated
version (PositiveIntegerField) – Revision
minor_edit (BooleanField) – Minor edit. Tick if this change does not require an update of translations in other languages.
last_updated (DateTimeField) – Modification date
published_at (DateTimeField) – Publication date
automatic_translation (BooleanField) – Automatic translation. Tick if updating this content should automatically refresh or create its translations.
meta_description (CharField) – Meta description. Describe the place in one or two short sentences. This text will be displayed in the Google search results below the title.
Relationship fields:
- Parameters:
language (
ForeignKeytoLanguage) – Language (related name:place_translations)creator (
ForeignKeytoUser) – Creator (related name:place_translations)place (
ForeignKeytoPlace) – Place (related name:translations)links (
GenericRelationtoLink) – Links (related name:place_translation)
Reverse relationships:
- Parameters:
feedback (Reverse
ForeignKeyfromPlaceFeedback) – All feedback of this place translation (related name ofplace_translation)
alias of
PlaceTranslation
Place Version View
- class integreat_cms.cms.views.places.place_version_view.PlaceVersionView(**kwargs)[source]
Bases:
PlaceContextMixin,ContentVersionViewView for browsing the place versions and restoring old place versions
- back_to_form_label = 'Back to the place form'[source]
The label of the “back to form” button
- has_publish_permission() bool[source]
All users who can change places also can publish these changes
- Returns:
Whether the user can publish places
- Return type:
- model[source]
The current content model (see
SingleObjectMixin)- Parameters:
id (BigAutoField) – Primary key: ID
created_date (DateTimeField) – Creation date
do_not_translate_title (BooleanField) – Do not translate the title. Tick if you do not want to translate the title by automatic translation.
address (CharField) – Street and house number
postcode (CharField) – Postal code
city (CharField) – City
country (CharField) – Country
latitude (FloatField) – Latitude. The latitude coordinate
longitude (FloatField) – Longitude. The longitude coordinate
place_on_map (BooleanField) – Show this place on map. Tick if you want to show this place on map
archived (BooleanField) – Archived. Whether or not the place is read-only and hidden in the API.
temporarily_closed (BooleanField) – Temporarily closed. Whether or not the place is temporarily closed. The opening hours remain and are only hidden.
appointment_url (URLField) – Appointment link. Link to an external website where an appointment for this place can be made.
opening_hours (JSONField) – Opening hours
barrier_free (BooleanField) – Barrier free. Indicate if the place is barrier free.
Relationship fields:
- Parameters:
region (
ForeignKeytoRegion) – Region (related name:places)icon (
ForeignKeytoMediaFile) – Icon. The best results are achieved with images in 16:9 aspect ratio. (related name:places)category (
ForeignKeytoPlaceCategory) – Category (related name:places)organization (
ForeignKeytoOrganization) – Organization. Specify which organization operates this place. (related name:places)
Reverse relationships:
- Parameters:
translations (Reverse
ForeignKeyfromPlaceTranslation) – All translations of this place (related name ofplace)contacts (Reverse
ForeignKeyfromContact) – All contacts of this place (related name ofplace)events (Reverse
ForeignKeyfromEvent) – All events of this place (related name ofplace)
alias of
Place