1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2024-11-28 09:24:24 +01:00

cancel and sold out badge in event list

Public event list prompte cancelled and sold out badge for more clarity
to the public users.

Correction for « sold_out » test in home, show and public list. 0
subscriber with 0 free_place should be a free entry case and it appears
to be sold out.

Another error occurs (negative free place)  if an admin change the
number of free places or decide to go free entry with an event.

Home and public list better display with access and price separate.
This commit is contained in:
siteswapjuggler 2017-09-24 21:51:58 +02:00
parent cda13540f9
commit 70cf6ebfa8
7 changed files with 64 additions and 25 deletions

View File

@ -50,7 +50,7 @@
<td style="vertical-align:middle">
<span class="ng-binding" ng-if="event.nb_total_places > 0">{{ event.nb_total_places - event.nb_free_places }} / {{ event.nb_total_places }}</span>
<span class="badge font-sbold cancelled" ng-if="event.nb_total_places < 0" translate>{{ 'cancelled' }}</span>
<span class="badge font-sbold cancelled" ng-if="event.nb_total_places == -1" translate>{{ 'cancelled' }}</span>
<span class="badge font-sbold" ng-if="!event.nb_total_places" translate>{{ 'free_entry' }}</span>
</td>
@ -72,4 +72,4 @@
<div class="col-lg-12 text-center">
<a class="btn btn-warning" ng-click="loadMoreEvents()" ng-if="paginateActive" translate>{{ 'load_the_next_events' }}</a>
</div>
</div>
</div>

View File

@ -55,13 +55,22 @@
<h3 class="m-n" ng-show="onSingleDay(event)">{{event.start_date | amDateFormat:'L'}}</h3>
<h3 class="m-n" ng-hide="onSingleDay(event)">{{event.start_date | amDateFormat:'L'}} <span class="text-sm font-thin" translate> {{ 'to_date' }} </span> {{event.end_date | amDateFormat:'L'}}</h3>
<h6 class="m-n" ng-if="!event.amount" translate>{{ 'free_admission' }}</h6>
<h6 class="m-n" ng-if="event.amount">{{ 'full_price_' | translate }} {{event.amount | currency}} <span ng-repeat="price in event.prices">/ {{ price.category.name }} {{price.amount | currency}}</span></h6>
<div>
<span class="text-black-light text-xs" ng-if="event.event_themes[0]"><i class="fa fa-tags" aria-hidden="true"></i> {{event.event_themes[0].name}}</span>
<span class="text-black-light text-xs" ng-if="event.age_range"><i class="fa fa-users" aria-hidden="true"></i> {{event.age_range.name}}</span>
</div>
<div>
<span class="text-black-light text-xs" ng-if="event.nb_free_places > 0">{{event.nb_free_places}} {{ 'still_available' | translate }}</span>
<span class="text-black-light text-xs" ng-if="event.nb_total_places > 0 && event.nb_free_places <= 0" translate>{{ 'sold_out' }}</span>
<span class="text-black-light text-xs" ng-if="event.nb_total_places == -1" translate>{{ 'cancelled' }}</span>
<span class="text-black-light text-xs" ng-if="!event.nb_total_places" translate>{{ 'free_entry' }}</span>
</div>
</div>
<!-- Event Image -->
<div class="pull-right crop-155">
<img class="pull-right" ng-src="{{event.event_image_small}}" title="{{event.title}}" ng-if="event.event_image">

View File

@ -98,7 +98,8 @@
<div class="text-sm m-b" ng-if="event.nb_total_places">
<div ng-if="event.nb_free_places > 0">{{ 'tickets_still_availables' | translate }} <span class="font-sbold">{{event.nb_free_places}}</span></div>
<div ng-if="event.nb_free_places == 0"><span class="badge font-sbold" translate>{{ 'sold_out' }}</span></div>
<div ng-if="event.nb_total_places > 0 && event.nb_free_places <= 0"><span class="badge font-sbold" translate>{{ 'sold_out' }}</span></div>
<div ng-if="event.nb_total_places == -1"><span class="badge font-sbold" translate>{{ 'cancelled' }}</span></div>
</div>
<div class="text-sm m-b" ng-if="!event.nb_total_places">
<div><span class="badge font-sbold" translate>{{ 'free_entry' }}</span></div>

View File

@ -116,18 +116,26 @@
<span ng-if="event.all_day == 'false'">{{ 'from_time_to_time' | translate:{START:(event.start_date | amDateFormat:'LT'), END:(event.end_date | amDateFormat:'LT')} }}</span>
</h6>
</div>
<div class="col-sm-12 row m-b">
<i class="fa fa-bookmark red col-xs-1 padder-icon"></i>
<h6 class="m-n col-xs-10">
<span ng-if="!event.nb_total_places" translate>{{ 'free_entry' }}</span>
<span ng-if="event.nb_total_places && event.amount == 0" translate>{{ 'free_admission' }}</span>
<span ng-if="event.amount > 0">{{event.amount | currency}} {{ 'full_price' | translate }}</span>
<div ng-if="event.nb_free_places == 0"><span class="badge font-sbold bg-red" translate>{{ 'event_full' }}</span></div>
</h6>
</div>
</div>
<div class="row">
<div class="col-sm-6 row m-b-sm">
<i class="fa fa-user red col-xs-3 padder-icon"></i>
<h6 class="m-n col-xs-9 ">
<span ng-if="event.nb_free_places > 0">{{ 'still_available' | translate }} {{event.nb_free_places}}</span>
<span ng-if="!event.nb_total_places" translate>{{ 'free_entry' }}</span>
<span ng-if="event.nb_total_places > 0 && event.nb_free_places <= 0" translate>{{ 'event_full' }}</span>
</h6>
</div>
<div class="col-sm-6 row m-b-sm">
<i class="fa fa-bookmark red col-xs-3 padder-icon"></i>
<h6 class="m-n col-xs-9">
<span ng-if="event.amount == 0" translate>{{ 'free_admission' }}</span>
<span ng-if="event.amount > 0">{{ 'full_price' | translate }} {{event.amount | currency}}</span>
</h6>
</div>
</div>
<div class="text-center clearfix ">
<div class="btn btn-lg btn-warning bg-white b-2x rounded m-t-sm m-b-sm upper text-sm width-70" ui-sref="app.public.events_show({id: event.id})" ><span translate>{{ 'consult' }}</span></div>
</div>

View File

@ -134,6 +134,7 @@ en:
free_admission: "Free admission"
full_price: "Full price"
event_full: "Event full"
still_available: "Available place(s)"
projects_list:
# projects gallery
@ -228,6 +229,11 @@ en:
the_fablab_s_events: "The Fablab's events"
all_categories: "All categories"
for_all: "For all"
sold_out: "Sold Out"
cancelled: "Cancelled"
free_admission: "Free admission"
still_available: "available place(s)"
free_entry: "Free entry"
events_show:
# details and booking of an event
@ -240,6 +246,7 @@ en:
tickets_still_availables: "Tickets still available:"
sold_out: "Sold out."
free_entry: "Free entry"
cancelled: "Cancelled"
ticket: "{NUMBER, plural, one{ticket} other{tickets}}" # messageFormat interpolation
make_a_gift_of_this_reservation: "Make a gift of this reservation"
you_can_find_your_reservation_s_details_on_your_: "You can find your reservation's details on your"
@ -274,4 +281,4 @@ en:
the_space_cant_be_deleted_because_it_is_already_reserved_by_some_users: "Unable to delete this space, because it is already reserved by some users."
characteristics: "Characteristics"
files_to_download: "Files to download"
projects_using_the_space: "Projects using the space"
projects_using_the_space: "Projects using the space"

View File

@ -127,13 +127,14 @@ fr:
# résumé des prochains évènements sur la page d'acceuil
fablab_s_next_events: "Les prochains évènements du Fab Lab"
every_events: "Tous les évènements"
from_date_to_date: "Du {{START}} au {{END}}" # angular interpolation
on_the_date: "Le {{DATE}}" # angular interpolation
from_time_to_time: "De {{START}} à {{END}}" # angular interpolation
free_entry: "Entrée libre"
from_date_to_date: "du {{START}} au {{END}}" # angular interpolation
on_the_date: "le {{DATE}}" # angular interpolation
from_time_to_time: "de {{START}} à {{END}}" # angular interpolation
free_entry: "Accès libre"
free_admission: "Entrée gratuite"
full_price: "Plein tarif"
full_price: "Plein tarif : "
event_full: "Événement complet"
still_available: "Place(s) disponible(s) :"
projects_list:
# galerie des projets
@ -230,6 +231,11 @@ fr:
the_fablab_s_events: "Les évènements du Fab Lab"
all_categories: "Toutes les catégories"
for_all: "Tout public"
sold_out: "Complet"
cancelled: "Annulé"
free_admission: "Gratuit"
still_available: "place(s) disponible(s)"
free_entry: "Accès libre"
events_show:
# détails d'un événement et réservation
@ -240,8 +246,9 @@ fr:
ending: "Fin :"
opening_hours: "Horaires :"
tickets_still_availables: "Places encore disponibles :"
sold_out: "Événement complet."
free_entry: "Entrée libre"
sold_out: "Événement complet"
free_entry: "Accès libre"
cancelled: "Annulé"
ticket: "{NUMBER, plural, =0{place} one{place} other{places}}" # messageFormat interpolation
make_a_gift_of_this_reservation: "Offrir cette réservation"
you_can_find_your_reservation_s_details_on_your_: "Vous pouvez retrouver le détail de votre réservation sur votre"

View File

@ -127,13 +127,14 @@ pt:
# next events summary on the home page
fablab_s_next_events: "Próximos eventos do FabLab"
every_events: "Todos Eventos"
from_date_to_date: "De {{START}} até {{END}}" # angular interpolation
on_the_date: "Em {{DATE}}" # angular interpolation
from_date_to_date: "De {{START}} até {{END}}" # angular interpolation
on_the_date: "Em {{DATE}}" # angular interpolation
from_time_to_time: "Das {{START}} até {{END}}" # angular interpolation
free_entry: "Entrada franca"
free_admission: "Admissão grátis"
full_price: "Valor inteira"
event_full: "Evento lotado"
still_available: "Available place(s)" # traduction_missing
projects_list:
# projects gallery
@ -228,6 +229,11 @@ pt:
the_fablab_s_events: "Eventos do Fablab"
all_categories: "Todas categorias"
for_all: "Para todos"
sold_out: "Esgotado."
cancelled: "Cancelled" #translation_missing
free_admission: "Admissão grátis"
still_available: "available place(s)" #translation_missing
free_entry: "Entrada franca"
events_show:
# details and booking of an event
@ -240,6 +246,7 @@ pt:
tickets_still_availables: "Tickets ainda disponíveis:"
sold_out: "Esgotado."
free_entry: "Entrada franca"
cancelled: "Cancelled" #translation_missing
ticket: "{NUMBER, plural, one{ticket} other{tickets}}" # messageFormat interpolation
make_a_gift_of_this_reservation: "Doe esta reserva"
you_can_find_your_reservation_s_details_on_your_: "Você pode encontrar detalhes da sua reserva em seu"
@ -274,4 +281,4 @@ pt:
the_space_cant_be_deleted_because_it_is_already_reserved_by_some_users: "Impossível remover este espaço, pois ele já foi reservado por alguns usuários."
characteristics: "Características"
files_to_download: "Arquivo para download"
projects_using_the_space: "Projetos usando espaço"
projects_using_the_space: "Projetos usando espaço"