POIs
This package contains all views related to POIs (points of interest)
POI Actions
This module contains view actions for objects related to POIs.
- integreat_cms.cms.views.pois.poi_actions.archive_poi(request: HttpRequest, poi_id: int, region_slug: str, language_slug: str) HttpResponseRedirect [source]
Archive POI object
- Parameters:
- Returns:
A redirection to the
POIListView
- Return type:
HttpResponseRedirect
- integreat_cms.cms.views.pois.poi_actions.auto_complete_address(request: HttpRequest, region_slug: str) JsonResponse [source]
Autocomplete location address and coordinates
- integreat_cms.cms.views.pois.poi_actions.delete_poi(request: HttpRequest, poi_id: int, region_slug: str, language_slug: str) HttpResponseRedirect [source]
Delete POI object
- Parameters:
- Returns:
A redirection to the
POIListView
- Return type:
HttpResponseRedirect
- integreat_cms.cms.views.pois.poi_actions.get_address_from_coordinates(request: HttpRequest, region_slug: str) JsonResponse [source]
Derive address from the coordinates (map pin position)
- integreat_cms.cms.views.pois.poi_actions.restore_poi(request: HttpRequest, poi_id: int, region_slug: str, language_slug: str) HttpResponseRedirect [source]
Restore POI object (set
archived=False
)- Parameters:
- Returns:
A redirection to the
POIListView
- Return type:
HttpResponseRedirect
- integreat_cms.cms.views.pois.poi_actions.view_poi(request: HttpRequest, poi_id: int, region_slug: str, language_slug: str) HttpResponse [source]
View POI object
- Parameters:
- Raises:
Http404 – If user no translation exists for the requested POI and language
- Returns:
A redirection to the
POIListView
- Return type:
HttpResponse
POI Context Mixin
- class integreat_cms.cms.views.pois.poi_context_mixin.POIContextMixin[source]
Bases:
ContextMixin
This mixin provides extra context for language tree views
POI Form Ajax View
- class integreat_cms.cms.views.pois.poi_form_ajax_view.POIFormAjaxView(**kwargs)[source]
Bases:
TemplateView
,POIContextMixin
View for the ajax POI widget
- get(request: HttpRequest, *args: Any, **kwargs: Any) HttpResponse [source]
Render a POI 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 POI form
- Return type:
HttpResponse
- post(request: HttpRequest, *args: Any, **kwargs: Any) HttpResponse [source]
Add a new POI 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_poi_form/_poi_form_widget.html'[source]
Template for ajax POI widget
POI Form View
A view representing an instance of a point of interest. POIs can be created or updated via this view.
- class integreat_cms.cms.views.pois.poi_form_view.POIFormView(**kwargs)[source]
Bases:
TemplateView
,POIContextMixin
,MediaContextMixin
,ContentEditLockMixin
View for editing POIs
- back_url_name: str | None = 'pois'[source]
The url name of the view to show if the user decides to go back (see
ContentEditLockMixin
)
- get(request: HttpRequest, *args: Any, **kwargs: Any) HttpResponse [source]
Render
POIForm
andPOITranslationForm
- 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
- post(request: HttpRequest, *args: Any, **kwargs: Any) HttpResponse [source]
Submit
POIForm
andPOITranslationForm
and savePOI
andPOITranslation
objects- 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
- template_name = 'pois/poi_form.html'[source]
The template to render (see
TemplateResponseMixin
)
POI List View
- class integreat_cms.cms.views.pois.poi_list_view.POIListView(**kwargs)[source]
Bases:
TemplateView
,POIContextMixin
,MachineTranslationContextMixin
View for listing POIs (points of interests)
- archived = False[source]
Whether or not to show archived POIs
- get(request: HttpRequest, *args: Any, **kwargs: Any) HttpResponse [source]
Render POI 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
- post(request: HttpRequest, *args: Any, **kwargs: Any) HttpResponse [source]
Apply the query and filter the rendered pois
- 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
- template = 'pois/poi_list.html'[source]
Template for list of non-archived POIs
- template_archived = 'pois/poi_list_archived.html'[source]
Template for list of archived POIs
- property template_name: str[source]
Select correct HTML template, depending on
archived
flag (seeTemplateResponseMixin
)- Returns:
Path to HTML template
- 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 location
slug (SlugField) – Link to the location. 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
automatic_translation (BooleanField) – Automatic translation. Tick if updating this content should automatically refresh or create its translations.
meta_description (CharField) – Meta description. Describe the location in one or two short sentences. This text will be displayed in the Google search results below the title.
Relationship fields:
- Parameters:
language (
ForeignKey
toLanguage
) – Language (related name:poi_translations
)creator (
ForeignKey
toUser
) – Creator (related name:poi_translations
)poi (
ForeignKey
toPOI
) – Location (related name:translations
)links (
GenericRelation
toLink
) – Links (related name:poi_translation
)
Reverse relationships:
- Parameters:
feedback (Reverse
ForeignKey
fromPOIFeedback
) – All feedback of this location translation (related name ofpoi_translation
)
alias of
POITranslation
POI Version View
- class integreat_cms.cms.views.pois.poi_version_view.POIVersionView(**kwargs)[source]
Bases:
POIContextMixin
,ContentVersionView
View for browsing the POI versions and restoring old POI versions
- back_to_form_label: Promise = 'Back to the poi form'[source]
The label of the “back to form” button
- has_publish_permission() bool [source]
All users who can change POIs also can publish these changes
- Returns:
Whether the user can publish POIs
- Return type:
- model[source]
The current content model (see
SingleObjectMixin
)- Parameters:
id (BigAutoField) – Primary key: ID
created_date (DateTimeField) – Creation date
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
location_on_map (BooleanField) – Show this location on map. Tick if you want to show this location on map
archived (BooleanField) – Archived. Whether or not the location is read-only and hidden in the API.
website (URLField) – Website
email (EmailField) – Email address
phone_number (CharField) – Phone number
temporarily_closed (BooleanField) – Temporarily closed. Whether or not the location 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 location can be made.
opening_hours (JSONField) – Opening hours
barrier_free (BooleanField) – Barrier free. Indicate if the location is barrier free.
Relationship fields:
- Parameters:
region (
ForeignKey
toRegion
) – Region (related name:pois
)icon (
ForeignKey
toMediaFile
) – Icon. The best results are achieved with images in 16:9 aspect ratio. (related name:pois
)category (
ForeignKey
toPOICategory
) – Category (related name:pois
)organization (
ForeignKey
toOrganization
) – Organization. Specify which organization operates this location. (related name:pois
)
Reverse relationships:
- Parameters:
translations (Reverse
ForeignKey
fromPOITranslation
) – All translations of this location (related name ofpoi
)contacts (Reverse
ForeignKey
fromContact
) – All contacts of this location (related name oflocation
)events (Reverse
ForeignKey
fromEvent
) – All events of this location (related name oflocation
)
alias of
POI