Issue #1567 : Add a long_event computed field to an event
The actual long_event implementation is only done for search and long_event is a parameter of the search request. This change is needed for the the front-end to know if an event is a long_event everywhere an event is received. The computed field (Ecto virtual field) is set after the Ecto request with the function with_virtual_fields(). with_virtual_fields() handles cases where there is an event, a list of events and a paginated list of events returned.
This commit is contained in:
@@ -66,6 +66,7 @@ defmodule Mobilizon.Events.Event do
|
||||
participants: [Actor.t()],
|
||||
contacts: [Actor.t()],
|
||||
language: String.t(),
|
||||
long_event: boolean,
|
||||
metadata: [EventMetadata.t()]
|
||||
}
|
||||
|
||||
@@ -89,7 +90,8 @@ defmodule Mobilizon.Events.Event do
|
||||
:picture_id,
|
||||
:physical_address_id,
|
||||
:attributed_to_id,
|
||||
:language
|
||||
:language,
|
||||
:long_event
|
||||
]
|
||||
@attrs @required_attrs ++ @optional_attrs
|
||||
|
||||
@@ -102,6 +104,7 @@ defmodule Mobilizon.Events.Event do
|
||||
field(:slug, :string)
|
||||
field(:description, :string)
|
||||
field(:ends_on, :utc_datetime)
|
||||
field(:long_event, :boolean, virtual: true, default: nil)
|
||||
field(:title, :string)
|
||||
field(:status, EventStatus, default: :confirmed)
|
||||
field(:draft, :boolean, default: false)
|
||||
|
||||
Reference in New Issue
Block a user