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:
  • request (HttpRequest) – The current request

  • poi_id (int) – The id of the POI which should be archived

  • region_slug (str) – The slug of the current region

  • language_slug (str) – The slug of the current language

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

Parameters:
  • request (HttpRequest) – The current request

  • region_slug (str) – The slug of the current region

Raises:

Http404 – If no location was found for the given address

Returns:

The address and coordinates of the location

Return type:

JsonResponse

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:
  • request (HttpRequest) – The current request

  • poi_id (int) – The id of the POI which should be deleted

  • region_slug (str) – The slug of the current region

  • language_slug (str) – The slug of the current language

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)

Parameters:
  • request (HttpRequest) – The current request

  • region_slug (str) – The slug of the current region

Raises:

Http404 – If no address was found for the given coordinates

Returns:

The address of the location

Return type:

JsonResponse

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:
  • request (HttpRequest) – The current request

  • poi_id (int) – The id of the POI which should be restored

  • region_slug (str) – The slug of the current region

  • language_slug (str) – The slug of the current language

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:
  • request (HttpRequest) – The current request

  • poi_id (int) – The id of the POI which should be viewed

  • region_slug (str) – The slug of the current region

  • language_slug (str) – The slug of the current language

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

get_context_data(**kwargs: Any) dict[str, Any][source]

Returns a dictionary representing the template context (see get_context_data()).

Parameters:

**kwargs (Any) – The given keyword arguments

Returns:

The template context

Return type:

dict[str, Any]

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 = 'events/_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 and POITranslationForm

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 and POITranslationForm and save POI and POITranslation 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 (see TemplateResponseMixin)

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 (CharField) – 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:

Reverse relationships:

Parameters:

feedback (Reverse ForeignKey from POIFeedback) – All feedback of this location translation (related name of poi_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:

bool

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:

Reverse relationships:

Parameters:

alias of POI