Issue 7: Organiser page initial version

This commit is contained in:
Luis Carneiro 2016-03-21 19:10:40 +00:00
parent 5411a6cdea
commit be25664247
11 changed files with 148 additions and 67 deletions

View File

@ -22,4 +22,6 @@ MAIL_USERNAME=
GOOGLE_ANALYTICS_ID=
TWITTER_WIDGET_ID=
LOG=single

View File

@ -4,6 +4,7 @@ namespace App\Http\Controllers;
use App\Models\Organiser;
use View;
use Carbon\Carbon;
class OrganiserViewController extends Controller
{
@ -11,10 +12,15 @@ class OrganiserViewController extends Controller
{
$organiser = Organiser::findOrFail($organiser_id);
$upcoming_events = $organiser->events()->where('end_date', '>=', Carbon::now())->get();
$past_events = $organiser->events()->where('end_date', '<', Carbon::now())->get();
$data = [
'organiser' => $organiser,
'tickets' => $organiser->events()->orderBy('created_at', 'desc')->get(),
'is_embedded' => 0,
'organiser' => $organiser,
'tickets' => $organiser->events()->orderBy('created_at', 'desc')->get(),
'is_embedded' => 0,
'upcoming_events' => $upcoming_events,
'past_events' => $past_events
];
return View::make('Public.ViewOrganiser.OrganiserPage', $data);

View File

@ -34,4 +34,7 @@ return [
'secret' => '',
],
'twitter' => [
'widget_id' => env('TWITTER_WIDGET_ID'),
]
];

View File

@ -55,10 +55,21 @@ section h1 {
text-align: center;
font-weight: 100;
padding: 20px 0 20px 0;
color: #ffffff;
border: none;
background-color: transparent;
margin-bottom: 0;
margin-top: 20px;
color:#fff !important;
background-color: #AF5050 !important;
}
.organiser_logo {
max-width: 150px;
margin: 0 auto;
}
.organiser_logo .thumbnail {
background-color: transparent;
border: none;
}
}
@ -347,4 +358,25 @@ Small devices (tablets, 768px and up)
.rrssb-buttons.large-format li a {
border-radius: 0;
}
/*
-----------------------------------------------------
Event Listing
-----------------------------------------------------
*/
.event-listing {
.event .panel {
min-height: 140px;
}
.event_flyer {
text-align: center;
}
.event_flyer img {
max-height: 140px;
max-width: 100%;
}
}

View File

@ -0,0 +1,31 @@
<div class="panel event-listing">
<div class="panel-heading">
<h3 class="panel-title">
{{ $panel_title }}
</h3>
</div>
<div class="panel-body">
<div class="row">
@foreach($events as $event)
<div class="col-sm-12 col-md-6 event">
<div class="panel widget">
<div class="table-layout nm">
<div class="col-xs-4 event_flyer">
<img src="{{$event->images->first()['image_path'] ? URL::to($event->images->first()['image_path']) : 'http://placehold.it/200'}}" >
</div>
<div class="col-xs-8 valign-middle">
<div class="panel-body">
<h5 class="ellipsis semibold mt0 mb5">
<a title="{{{$event->title}}}" href="{{$event->event_url}}">{{{$event->title}}}</a>
</h5>
<p class="ellipsis text-muted mb5"><i class="ico-clock mr5"></i> {{{ $event->start_date->toDayDateTimeString() }}}</p>
<p class="text-muted nm"><i class="ico-location2 mr5"></i> {{{$event->venue_name}}}</p>
</div>
</div>
</div>
</div>
</div>
@endforeach
</div>
</div>
</div>

View File

@ -6,7 +6,7 @@
<img alt="{{$event->organiser->name}}" src="{{asset($event->organiser->full_logo_path)}}" property="logo">
</div>
<h3 property="name">
{{$event->organiser->name}}
{!!HTML::link('/o/'.$event->organiser->id, $event->organiser->name, array('id' => $event->organiser->id))!!}
</h3>
<p property="description">

View File

@ -36,6 +36,14 @@
</head>
<body class="attendize">
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_GB/sdk.js#xfbml=1&version=v2.5";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
<div id="organiser_page_wrap">
@yield('content')
</div>

View File

@ -1,48 +1,34 @@
<section class="container">
<style>
.event .panel {
min-height: 140px;
}
.event_flyer {
text-align: center;
}
.event_flyer img {
max-height: 140px;
max-width: 100%;
}
</style>
<div class="panel">
<div class="panel-heading">
<h3 class="panel-title">
Upcoming Events
</h3>
<div class="row">
<div class="col-xs-12 col-md-8">
@include('Public.ViewEvent.Partials.EventListingPanel',
array(
'panel_title' => 'Upcoming Events',
'events' => $upcoming_events
)
)
@include('Public.ViewEvent.Partials.EventListingPanel',
array(
'panel_title' => 'Past Events',
'events' => $past_events
)
)
</div>
<div class="panel-body">
<div class="row">
@foreach($organiser->events as $event)
<div class="col-sm-12 col-md-6 event">
<div class="panel widget">
<div class="table-layout nm">
<div class="col-xs-4 event_flyer">
<img src="{{$event->images->first()['image_path'] ? URL::to($event->images->first()['image_path']) : 'http://placehold.it/200'}}" >
</div>
<div class="col-xs-8 valign-middle">
<div class="panel-body">
<h5 class="ellipsis semibold mt0 mb5">
<a title="{{{$event->title}}}" href="{{$event->event_url}}">{{{$event->title}}}</a>
</h5>
<p class="ellipsis text-muted mb5"><i class="ico-clock mr5"></i> {{{ $event->start_date->toDayDateTimeString() }}}</p>
<p class="text-muted nm"><i class="ico-location2 mr5"></i> {{{$event->venue_name}}}</p>
</div>
</div>
</div>
</div>
</div>
@endforeach
</div>
<div class="col-xs-6 col-md-4">
@if ($organiser->facebook)
@include('Shared.Partials.FacebookTimelinePanel',
array(
'facebook_account' => $organiser->facebook
)
)
@endif
@if ($organiser->twitter)
@include('Shared.Partials.TwitterTimelinePanel',
array(
'twitter_account' => $organiser->facebook
)
)
@endif
</div>
</div>
</section>

View File

@ -1,21 +1,3 @@
<style>
.organiser_logo {
max-width: 150px;
margin: 0 auto;
}
.organiser_logo .thumbnail {
background-color: transparent;
border: none;
}
#intro {
margin-top: 20px;
color:#fff !important;
background-color: #AF5050 !important;
}
</style>
<section id="intro" class="container">
<div class="row">
<div class="col-md-12">
@ -25,6 +7,9 @@
</div>
</div>
<h1>{{$organiser->name}}</h1>
<div class="description">
{!! $organiser->about !!}
</div>
</div>
</div>
</section>

View File

@ -0,0 +1,21 @@
<div class="panel">
<div class="panel-heading">
<h3 class="panel-title">
Facebook feed
</h3>
</div>
<div class="panel-body">
<div class="row">
<div class="fb-page" data-href="https://www.facebook.com/{{$facebook_account}}"
data-tabs="timeline" data-small-header="false"
data-adapt-container-width="true"
data-hide-cover="false" data-show-facepile="true">
<div class="fb-xfbml-parse-ignore">
<blockquote cite="https://www.facebook.com/facebook">
<a href="https://www.facebook.com/{{$facebook_account}}">Facebook</a>
</blockquote>
</div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,7 @@
<div class="panel">
<a class="twitter-timeline" href="https://twitter.com/{{ $twitter_account }}"
data-widget-id="{{ config('services.twitter.widget_id') }}"
data-screen-name="{{ $twitter_account }}">
Tweets by @ {{ $twitter_account }}</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
</div>