Events

This package contains all views related to events

Event Actions

This module contains action methods for events (archive, restore, …)

integreat_cms.cms.views.events.event_actions.archive(request: HttpRequest, event_id: int, region_slug: str, language_slug: str) HttpResponseRedirect[source]

Set archived flag for an event

Parameters:
  • request (HttpRequest) – Object representing the user call

  • event_id (int) – internal id of the event to be archived

  • region_slug (str) – slug of the region which the event belongs to

  • language_slug (str) – current GUI language slug

Returns:

The rendered template response

Return type:

HttpResponseRedirect

integreat_cms.cms.views.events.event_actions.copy(request: HttpRequest, event_id: int, region_slug: str, language_slug: str) HttpResponseRedirect[source]

Duplicates the given event and all of its translations.

Parameters:
  • request (HttpRequest) – Object representing the user call

  • event_id (int) – internal id of the event to be copied

  • region_slug (str) – slug of the region which the event belongs to

  • language_slug (str) – current GUI language slug

Returns:

The rendered template response

Return type:

HttpResponseRedirect

integreat_cms.cms.views.events.event_actions.delete(request: HttpRequest, event_id: int, region_slug: str, language_slug: str) HttpResponseRedirect[source]

Delete a single event

Parameters:
  • request (HttpRequest) – Object representing the user call

  • event_id (int) – internal id of the event to be deleted

  • region_slug (str) – slug of the region which the event belongs to

  • language_slug (str) – current GUI language slug

Returns:

The rendered template response

Return type:

HttpResponseRedirect

integreat_cms.cms.views.events.event_actions.restore(request: HttpRequest, event_id: int, region_slug: str, language_slug: str) HttpResponseRedirect[source]

Remove archived flag for an event

Parameters:
  • request (HttpRequest) – Object representing the user call

  • event_id (int) – internal id of the event to be un-archived

  • region_slug (str) – slug of the region which the event belongs to

  • language_slug (str) – current GUI language slug

Returns:

The rendered template response

Return type:

HttpResponseRedirect

integreat_cms.cms.views.events.event_actions.search_poi_ajax(request: HttpRequest, region_slug: str) HttpResponse[source]

AJAX endpoint for searching POIs

Parameters:
  • request (HttpRequest) – Object representing the user call

  • region_slug (str) – The current regions slug

Returns:

The rendered template response

Return type:

HttpResponse

Event Context Mixin

class integreat_cms.cms.views.events.event_context_mixin.EventContextMixin[source]

Bases: ContextMixin

This mixin provides extra context for event views

__init__()[source]
extra_context = None[source]
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]

Event Form View

class integreat_cms.cms.views.events.event_form_view.EventFormView(**kwargs)[source]

Bases: TemplateView, EventContextMixin, MediaContextMixin, ContentEditLockMixin

Class for rendering the events form

__init__(**kwargs)[source]

Constructor. Called in the URLconf; can contain helpful extra keyword arguments, and other things.

classmethod as_view(**initkwargs)[source]

Main entry point for a request-response process.

back_url_name: str | None = 'events'[source]

The url name of the view to show if the user decides to go back (see ContentEditLockMixin

content_type = None[source]
dispatch(request, *args, **kwargs)[source]
extra_context = {'translation_status': <module 'integreat_cms.cms.constants.translation_status' from '/home/circleci/project/integreat_cms/cms/constants/translation_status.py'>}[source]

The context dict passed to the template (see ContextMixin)

get(request: HttpRequest, *args: Any, **kwargs: Any) HttpResponse[source]

Render event form for HTTP GET requests

Parameters:
  • request (HttpRequest) – Object representing the user call

  • *args (Any) – The supplied arguments

  • **kwargs (Any) – The supplied keyword arguments

Returns:

The rendered template response

Return type:

HttpResponse

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]

get_template_names()[source]

Return a list of template names to be used for the request. Must return a list. May not be called if render_to_response() is overridden.

http_method_names = ['get', 'post', 'put', 'patch', 'delete', 'head', 'options', 'trace'][source]
http_method_not_allowed(request, *args, **kwargs)[source]
options(request, *args, **kwargs)[source]

Handle responding to requests for the OPTIONS HTTP verb.

post(request: HttpRequest, **kwargs: Any) HttpResponse[source]

Save event and ender event form for HTTP POST requests

Parameters:
  • request (HttpRequest) – Object representing the user call

  • **kwargs (Any) – The supplied keyword arguments

Raises:

PermissionDenied – If user does not have the permission to publish events

Returns:

The rendered template response

Return type:

HttpResponse

render_to_response(context, **response_kwargs)[source]

Return a response, using the response_class for this view, with a template rendered with the given context.

Pass response_kwargs to the constructor of the response class.

response_class[source]

alias of TemplateResponse

setup(request, *args, **kwargs)[source]

Initialize attributes shared by all view methods.

template_engine = None[source]
template_name = 'events/event_form.html'[source]

The template to render (see TemplateResponseMixin)

view_is_async = False[source]

Event List View

class integreat_cms.cms.views.events.event_list_view.EventListView(**kwargs)[source]

Bases: TemplateView, EventContextMixin, MachineTranslationContextMixin

View for listing events (either non-archived or archived events depending on archived)

__init__(**kwargs)[source]

Constructor. Called in the URLconf; can contain helpful extra keyword arguments, and other things.

archived = False[source]

Whether or not to show archived events

classmethod as_view(**initkwargs)[source]

Main entry point for a request-response process.

content_type = None[source]
dispatch(request, *args, **kwargs)[source]
extra_context = None[source]
get(request: HttpRequest, *args: Any, **kwargs: Any) HttpResponse[source]

Render events list for HTTP GET requests

Parameters:
  • request (HttpRequest) – Object representing the user call

  • *args (Any) – The supplied arguments

  • **kwargs (Any) – The supplied keyword arguments

Returns:

The rendered template response

Return type:

HttpResponse

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]

get_template_names()[source]

Return a list of template names to be used for the request. Must return a list. May not be called if render_to_response() is overridden.

http_method_names = ['get', 'post', 'put', 'patch', 'delete', 'head', 'options', 'trace'][source]
http_method_not_allowed(request, *args, **kwargs)[source]
options(request, *args, **kwargs)[source]

Handle responding to requests for the OPTIONS HTTP verb.

render_to_response(context, **response_kwargs)[source]

Return a response, using the response_class for this view, with a template rendered with the given context.

Pass response_kwargs to the constructor of the response class.

response_class[source]

alias of TemplateResponse

setup(request, *args, **kwargs)[source]

Initialize attributes shared by all view methods.

template_engine = None[source]
template_name = 'events/event_list.html'[source]

Template for list of non-archived events

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) – Title of the event

  • slug (SlugField) – Event link. 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.

Relationship fields:

Parameters:

Reverse relationships:

Parameters:

feedback (Reverse ForeignKey from EventFeedback) – All feedback of this event translation (related name of event_translation)

alias of EventTranslation

view_is_async = False[source]

Event Version View

class integreat_cms.cms.views.events.event_version_view.EventVersionView(**kwargs)[source]

Bases: EventContextMixin, ContentVersionView

View for browsing the event versions and restoring old event versions

__init__(**kwargs)[source]

Constructor. Called in the URLconf; can contain helpful extra keyword arguments, and other things.

classmethod as_view(**initkwargs)[source]

Main entry point for a request-response process.

back_to_form_label: Promise = 'Back to the event form'[source]

The label of the “back to form” button

content_type = None[source]
context_object_name = None[source]
dispatch(request: HttpRequest, *args: Any, **kwargs: Any) HttpResponseRedirect | TemplateResponse[source]

Validate the versions view

Parameters:
  • request (HttpRequest) – The current request

  • *args (Any) – The supplied arguments

  • **kwargs (Any) – The supplied keyword arguments

Raises:

PermissionDenied – If user does not have the permission to edit the specific page

Returns:

The rendered template response

Return type:

HttpResponseRedirect | TemplateResponse

property edit_url: str[source]

The url to the form in the current language

Returns:

The edit url

extra_context = None[source]
get(request, *args, **kwargs)[source]
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]

get_context_object_name(obj)[source]

Get the name to use for the object.

get_login_url()[source]

Override this method to override the login_url attribute.

get_object(queryset=None)[source]

Return the object the view is displaying.

Require self.queryset and a pk or slug argument in the URLconf. Subclasses can override this to return any object.

get_permission_denied_message()[source]

Override this method to override the permission_denied_message attribute.

get_permission_required()[source]

Override this method to override the permission_required attribute. Must return an iterable.

get_queryset()[source]

Filter the content objects by the current region

Raises:

Http404 – HTTP status 404 if the content is not found

Returns:

The rendered template response

Return type:

ContentQuerySet | (EventQuerySet | PageQuerySet)

get_redirect_field_name()[source]

Override this method to override the redirect_field_name attribute.

get_slug_field()[source]

Get the name of a slug field to be used to look up by slug.

get_template_names()[source]

Return a list of template names to be used for the request. Must return a list. May not be called if render_to_response() is overridden.

handle_no_permission()[source]
has_change_permission() bool[source]

Whether the user has the permission to change objects

Returns:

Whether the user can change objects

Return type:

bool

has_permission() bool[source]

Override django.contrib.auth.mixins.PermissionRequiredMixin.has_permission()

Returns:

Whether the current user can access this view

Return type:

bool

has_publish_permission() bool[source]

Whether the user has the permission to publish objects

Returns:

Whether the user can publish objects

Return type:

bool

has_view_permission() bool[source]

Whether the user has the permission to change objects

Returns:

Whether the user can change objects

Return type:

bool

http_method_names = ['get', 'post', 'put', 'patch', 'delete', 'head', 'options', 'trace'][source]
http_method_not_allowed(request, *args, **kwargs)[source]
language: Language | None = None[source]

The current language

login_url = None[source]
model[source]

The current content model (see SingleObjectMixin)

Parameters:

Relationship fields:

Parameters:

Reverse relationships:

Parameters:

translations (Reverse ForeignKey from EventTranslation) – All translations of this event (related name of event)

alias of Event

property model_name: str[source]

The name of this model

Returns:

The name of this model

object: AbstractContentModel | None = None[source]

The current content object (see SingleObjectMixin)

options(request, *args, **kwargs)[source]

Handle responding to requests for the OPTIONS HTTP verb.

permission_denied_message = ''[source]
permission_required = None[source]
property pk_url_kwarg: str[source]

The name of the URLConf keyword argument that contains the primary key. By default, pk_url_kwarg is ‘pk’. See django.views.generic.detail.SingleObjectMixin.pk_url_kwarg.

Returns:

The name of URL kwarg of the id

post(request: HttpRequest, *args: Any, **kwargs: Any) HttpResponseRedirect[source]

Restore a previous revision of a page translation

Parameters:
  • request (HttpRequest) – The current request

  • *args (Any) – The supplied arguments

  • **kwargs (Any) – The supplied keyword arguments

Raises:

PermissionDenied – If user does not have the permission to edit the specific page

Returns:

The rendered template response

Return type:

HttpResponseRedirect

query_pk_and_slug = False[source]
queryset = None[source]
raise_exception = False[source]
redirect_field_name = 'next'[source]
render_to_response(context, **response_kwargs)[source]

Return a response, using the response_class for this view, with a template rendered with the given context.

Pass response_kwargs to the constructor of the response class.

response_class[source]

alias of TemplateResponse

restore_version(restored_version: Any) None[source]

Restore the given version

Parameters:

restored_version (Any) – The version which should be restored

Return type:

None

selected_version: AbstractContentTranslation | None = None[source]

The currently selected translation version

setup(request, *args, **kwargs)[source]

Initialize attributes shared by all view methods.

slug_field = 'slug'[source]
slug_url_kwarg = 'slug'[source]
template_engine = None[source]
template_name: str = 'content_versions.html'[source]

The template to render (see TemplateResponseMixin)

translations: list[AbstractContentTranslation] = [][source]

All translations of the content object in the current language

property versions_url: str[source]

The url to the form in the current language

Returns:

The edit url

view_is_async = False[source]