forked from potsda.mn/mobilizon
Fix event stats participants / going incoherent
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
parent
fe14d2ed25
commit
e030eab93d
|
@ -63,11 +63,11 @@
|
||||||
$tc(
|
$tc(
|
||||||
"{available}/{capacity} available places",
|
"{available}/{capacity} available places",
|
||||||
participation.event.options.maximumAttendeeCapacity -
|
participation.event.options.maximumAttendeeCapacity -
|
||||||
(participation.event.participantStats.going - 1),
|
participation.event.participantStats.participant,
|
||||||
{
|
{
|
||||||
available:
|
available:
|
||||||
participation.event.options.maximumAttendeeCapacity -
|
participation.event.options.maximumAttendeeCapacity -
|
||||||
(participation.event.participantStats.going - 1),
|
participation.event.participantStats.participant,
|
||||||
capacity: participation.event.options.maximumAttendeeCapacity,
|
capacity: participation.event.options.maximumAttendeeCapacity,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
|
@ -174,11 +174,11 @@
|
||||||
$tc(
|
$tc(
|
||||||
"{available}/{capacity} available places",
|
"{available}/{capacity} available places",
|
||||||
event.options.maximumAttendeeCapacity -
|
event.options.maximumAttendeeCapacity -
|
||||||
(event.participantStats.going - 1),
|
event.participantStats.participant,
|
||||||
{
|
{
|
||||||
available:
|
available:
|
||||||
event.options.maximumAttendeeCapacity -
|
event.options.maximumAttendeeCapacity -
|
||||||
(event.participantStats.going - 1),
|
event.participantStats.participant,
|
||||||
capacity: event.options.maximumAttendeeCapacity,
|
capacity: event.options.maximumAttendeeCapacity,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
@ -186,8 +186,8 @@
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else>
|
||||||
{{
|
{{
|
||||||
$tc("No one is going to this event", event.participantStats.going - 1, {
|
$tc("No one is going to this event", event.participantStats.participant, {
|
||||||
going: event.participantStats.going - 1,
|
going: event.participantStats.participant,
|
||||||
})
|
})
|
||||||
}}
|
}}
|
||||||
</span>
|
</span>
|
||||||
|
@ -197,10 +197,12 @@
|
||||||
{{
|
{{
|
||||||
$tc(
|
$tc(
|
||||||
"{available}/{capacity} available places",
|
"{available}/{capacity} available places",
|
||||||
event.options.maximumAttendeeCapacity - event.participantStats.going,
|
event.options.maximumAttendeeCapacity -
|
||||||
|
event.participantStats.participant,
|
||||||
{
|
{
|
||||||
available:
|
available:
|
||||||
event.options.maximumAttendeeCapacity - event.participantStats.going,
|
event.options.maximumAttendeeCapacity -
|
||||||
|
event.participantStats.participant,
|
||||||
capacity: event.options.maximumAttendeeCapacity,
|
capacity: event.options.maximumAttendeeCapacity,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
@ -208,8 +210,8 @@
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else>
|
||||||
{{
|
{{
|
||||||
$tc("No one is going to this event", event.participantStats.going, {
|
$tc("No one is going to this event", event.participantStats.participant, {
|
||||||
going: event.participantStats.going,
|
going: event.participantStats.participant,
|
||||||
})
|
})
|
||||||
}}
|
}}
|
||||||
</span>
|
</span>
|
||||||
|
|
|
@ -107,24 +107,31 @@ defmodule Mobilizon.GraphQL.Resolvers.Event do
|
||||||
{:ok, %{total: 0, elements: []}}
|
{:ok, %{total: 0, elements: []}}
|
||||||
end
|
end
|
||||||
|
|
||||||
def stats_participants_going(%EventParticipantStats{} = stats, _args, _resolution) do
|
|
||||||
{:ok, stats.participant + stats.moderator + stats.administrator + stats.creator}
|
|
||||||
end
|
|
||||||
|
|
||||||
def stats_participants(
|
def stats_participants(
|
||||||
%Event{participant_stats: %EventParticipantStats{} = stats, id: event_id} = _event,
|
%Event{participant_stats: %EventParticipantStats{} = stats, id: event_id} = _event,
|
||||||
_args,
|
_args,
|
||||||
%{context: %{current_user: %User{id: user_id} = _user}} = _resolution
|
%{context: %{current_user: %User{id: user_id} = _user}} = _resolution
|
||||||
) do
|
) do
|
||||||
going = stats.participant + stats.moderator + stats.administrator + stats.creator
|
|
||||||
|
|
||||||
if Events.is_user_moderator_for_event?(user_id, event_id) do
|
if Events.is_user_moderator_for_event?(user_id, event_id) do
|
||||||
{:ok, Map.put(stats, :going, going)}
|
{:ok,
|
||||||
|
Map.put(
|
||||||
|
stats,
|
||||||
|
:going,
|
||||||
|
stats.participant + stats.moderator + stats.administrator + stats.creator
|
||||||
|
)}
|
||||||
else
|
else
|
||||||
{:ok, %{going: going}}
|
{:ok, %{participant: stats.participant}}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def stats_participants(
|
||||||
|
%Event{participant_stats: %EventParticipantStats{participant: participant}},
|
||||||
|
_args,
|
||||||
|
_resolution
|
||||||
|
) do
|
||||||
|
{:ok, %EventParticipantStats{participant: participant}}
|
||||||
|
end
|
||||||
|
|
||||||
def stats_participants(_event, _args, _resolution) do
|
def stats_participants(_event, _args, _resolution) do
|
||||||
{:ok, %EventParticipantStats{}}
|
{:ok, %EventParticipantStats{}}
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue