mirror of
https://github.com/LaCasemate/fab-manager.git
synced 2025-02-11 05:54:15 +01:00
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.
97 lines
4.7 KiB
Plaintext
97 lines
4.7 KiB
Plaintext
<section class="heading b-b">
|
|
<div class="row no-gutter b-b">
|
|
<div class="col-xs-2 col-sm-2 col-md-1">
|
|
<section class="heading-btn">
|
|
<a href="#" ng-click="backPrevLocation($event)"><i class="fa fa-long-arrow-left "></i></a>
|
|
</section>
|
|
</div>
|
|
<div class="col-xs-10 col-sm-10 col-md-8 b-l b-r-md">
|
|
<section class="heading-title">
|
|
<h1 translate>{{ 'the_fablab_s_events' }}</h1>
|
|
</section>
|
|
</div>
|
|
|
|
<div class="col-xs-12 col-sm-12 col-md-3 b-t hide-b-md" ng-if="isAuthorized(['admin'])">
|
|
<section class="heading-actions wrapper">
|
|
<a class="btn btn-lg btn-warning bg-white b-2x rounded m-t-sm upper text-sm" ui-sref="app.admin.events_new" role="button" translate>{{ 'add_an_event' }}</a>
|
|
</section>
|
|
</div>
|
|
</div>
|
|
|
|
<section class="m-lg">
|
|
|
|
<div class="row m-b-md">
|
|
<div class="col-md-3 m-b" ng-show="categories.length > 0">
|
|
<select ng-model="filters.category_id" ng-change="filterEvents()" class="form-control" ng-options="c.id as c.name for c in categories">
|
|
<option value="" translate>{{ 'all_categories' }}</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="col-md-3 m-b" ng-show="themes.length > 0">
|
|
<select ng-model="filters.theme_id" ng-change="filterEvents()" class="form-control" ng-options="t.id as t.name for t in themes">
|
|
<option value="" translate>{{ 'all_themes' }}</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="col-md-3 m-b" ng-show="ageRanges.length > 0">
|
|
<select ng-model="filters.age_range_id" ng-change="filterEvents()" class="form-control" ng-options="a.id as a.name for a in ageRanges">
|
|
<option value="" translate>{{ 'for_all' }}</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
|
|
<div ng-repeat="month in monthOrder">
|
|
<h1>{{month.split(',')[0]}}, {{month.split(',')[1]}}</h1>
|
|
|
|
<div class="row" ng-repeat="event in (eventsGroupByMonth[month].length/3 | array)">
|
|
|
|
<div class="col-xs-12 col-sm-6 col-md-4" ng-repeat="event in eventsGroupByMonth[month].slice(3*$index, 3*$index + 3)" ng-click="showEvent(event)">
|
|
|
|
|
|
<a class="block bg-white img-full p-sm p-l-m box-h-m event b b-light-dark m-t-sm" ui-sref="app.public.events_show({id: event.id})">
|
|
<div class="pull-left half-w m-t-n-sm">
|
|
<h5 class="text-xs">{{event.category.name}}</h5>
|
|
<h4 class="m-n text-sm clear l-n">{{event.title}}</h4>
|
|
<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">
|
|
<img class="pull-right img-responsive" src="data:image/png;base64," data-src="holder.js/100%x100%/text:/font:FontAwesome/icon" bs-holder ng-if="!event.event_image">
|
|
</div>
|
|
|
|
</a>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-lg-12 text-center m-t-md">
|
|
<a class="btn btn-warning" ng-click="loadMoreEvents()" ng-hide="noMoreResults" translate>{{ 'load_the_next_events' }}</a>
|
|
</div>
|
|
</div>
|
|
|
|
</section>
|
|
</section>
|
|
|
|
|