Skip to content

Commit 3682457

Browse files
committed
[spalenque] - #13019 * fix bugs on videos page
1 parent 1daca99 commit 3682457

10 files changed

Lines changed: 52 additions & 26 deletions

File tree

openstack/code/ConferencePage.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@ class ConferencePage extends Page
4949
);
5050

5151
static $has_one = array(
52-
'Summit' => 'Summit'
52+
'Summit' => 'Summit',
53+
'SummitImage' => 'BetterImage'
5354
);
5455

5556
function getCMSFields()
@@ -63,6 +64,9 @@ function getCMSFields()
6364
$SummitDropDownField = new DropdownField("SummitID", "Summit", $summits->map("ID", "Name"));
6465
$fields->addFieldToTab('Root.Main', $SummitDropDownField);
6566

67+
$SummitImageField = new UploadField('SummitImage','Summit Image');
68+
$fields->addFieldToTab('Root.Main', $SummitImageField);
69+
6670
//Google Conversion Tracking params
6771
$fields->addFieldToTab("Root.GoogleConversionTracking",new TextField("GAConversionId","Conversion Id","994798451"));
6872
$fields->addFieldToTab("Root.GoogleConversionTracking",new TextField("GAConversionLanguage","Conversion Language","en"));

summit-video-app/code/SummitVideoAppBackend.php

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -377,19 +377,30 @@ protected function createVideoJSON(PresentationVideo $v)
377377
];
378378
}
379379

380+
private function getSummitImage(Summit $s) {
381+
$image = null;
382+
383+
if ($page = SummitPage::get()->filter('SummitID', $s->ID)->first()) {
384+
$image = $page->SummitImage()->Image();
385+
} else if ($page = ConferencePage::get()->filter('SummitID', $s->ID)->first()) {
386+
$image = $page->SummitImage();
387+
}
388+
389+
$image_url = 'summit-video-app/production/images/placeholder-image.jpg';
390+
391+
if($image && $image->exists() && Director::fileExists($image->Filename)) {
392+
$image_url = $image->CroppedImage(263, 148)->URL;
393+
}
394+
395+
return $image_url;
396+
}
380397

381398
/**
382399
* @param Summit $s
383400
* @return array
384401
*/
385402
protected function createSummitJSON(Summit $s)
386403
{
387-
$page = SummitPage::get()->filter('SummitID', $s->ID)->first();
388-
$image = null;
389-
if ($page) {
390-
$image = $page->SummitImage()->Image();
391-
}
392-
393404
$tracks = array_map(function ($t) {
394405
return [
395406
'id' => $t->ID,
@@ -426,9 +437,7 @@ protected function createSummitJSON(Summit $s)
426437
'Processed' => true,
427438
'PresentationID' => $s->Presentations()->column('ID')
428439
])->count(),
429-
'imageURL' => ($image && $image->exists() && Director::fileExists($image->Filename)) ?
430-
$image->CroppedImage(263, 148)->URL :
431-
'summit-video-app/production/images/placeholder-image.jpg',
440+
'imageURL' => $this->getSummitImage($s),
432441
'slug' => $s->Slug,
433442
'tracks' => $tracks
434443
];
@@ -444,6 +453,7 @@ protected function createSpeakerJSON(PresentationSpeaker $s)
444453
return [
445454
'id' => $s->ID,
446455
'name' => $s->getName(),
456+
'slug' => singleton('SiteTree')->generateURLSegment($s->getName()),
447457
'jobTitle' => $s->Title,
448458
'imageURL' => ($s->Photo()->exists() && Director::fileExists($s->Photo()->Filename)) ?
449459
$s->Photo()->CroppedImage(263, 148)->URL :

summit-video-app/ui/source/js/components/containers/SpeakerItem.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ const SpeakerItem = ({
1515
imageHeight={148}
1616
title={`${speaker.name} (${speaker.videoCount} videos)`}
1717
subtitle={speaker.jobTitle || ''}
18-
link={URL.create(`speakers/${speaker.id}`)}
18+
link={URL.create(`speakers/${speaker.id}/${speaker.slug}`)}
1919
onItemClicked={onItemClicked}
2020
/>
2121
);

summit-video-app/ui/source/js/components/pages/Featured.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ class Featured extends React.Component {
4545
<div className="container">
4646
<div className="row">
4747
<div className="col-sm-12">
48-
<RouterLink link={`video/${featuredVideo.id}`}>
48+
<RouterLink link={`${featuredVideo.summit.slug}/${featuredVideo.slug}`}>
4949
<div className='featured-video'>
5050
<h3>Don't Miss</h3>
5151
<FeatureImagePanel

summit-video-app/ui/source/js/components/pages/Search.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ class Search extends React.Component {
3636

3737
return (
3838
<VideoPanel
39-
title={`Videos matching title "${term}"`}
39+
title={`Videos matching "${term}"`}
4040
videos={this.props.videos}
4141
/>
4242
);

summit-video-app/ui/source/js/components/pages/SpeakerDetail.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ class SpeakerDetail extends React.Component {
4949
<div className="row">
5050
<div className="col-sm-12 video-breadcrumbs">
5151
<RouterLink link='speakers'>All speakers</RouterLink> >
52-
<a href="#" className="active">{this.props.speaker.name}</a>
52+
{this.props.speaker.name}
5353
</div>
5454
</div>
5555
<div className="row">

summit-video-app/ui/source/js/components/pages/SummitDetail.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ class SummitDetail extends React.Component {
4747
<div className="container">
4848
<div className="row">
4949
<div className="col-sm-12 video-breadcrumbs">
50-
<RouterLink link='summits'>All summits</RouterLink> >
51-
<a href="#" className="active">{this.props.summit.title}</a>
50+
<RouterLink link='summits'>All summits</RouterLink> >
51+
{this.props.summit.title}
5252
</div>
5353
</div>
5454
<div className="row">

summit-video-app/ui/source/js/reducers/childVideoReducers.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,8 @@ export const summitVideos = (
8282
) => {
8383
switch(action.type) {
8484
case 'REQUEST_SUMMIT_VIDEOS':
85-
if( (action.payload.summit && !state.summit) ||
86-
(state.summit && +state.summit.slug !== +action.payload.summit)
85+
if( (action.payload.id && !state.summit) ||
86+
(state.summit && state.summit.slug !== action.payload.id)
8787
) {
8888
return {
8989
summit: null,
@@ -132,8 +132,8 @@ export const tagVideos = (
132132
) => {
133133
switch(action.type) {
134134
case 'REQUEST_TAG_VIDEOS':
135-
if( (action.payload.tag && !state.tag) ||
136-
(state.tag && +state.tag.tag !== +action.payload.tag)
135+
if( (action.payload.id && !state.tag) ||
136+
(state.tag && state.tag.tag !== action.payload.id)
137137
) {
138138
return {
139139
tag: null,
@@ -181,8 +181,8 @@ export const trackVideos = (
181181
) => {
182182
switch(action.type) {
183183
case 'REQUEST_TRACK_VIDEOS':
184-
if( (action.payload.track && !state.track) ||
185-
(state.track && +state.track.slug !== +action.payload.track)
184+
if( (action.payload.id && !state.track) ||
185+
(state.track && state.track.slug !== action.payload.id)
186186
) {
187187
return {
188188
track: null,
@@ -231,8 +231,8 @@ export const speakerVideos = (
231231
) => {
232232
switch(action.type) {
233233
case 'REQUEST_SPEAKER_VIDEOS':
234-
if( (action.payload.speaker && !state.speaker) ||
235-
(state.speaker && +state.speaker.id !== +action.payload.speaker)
234+
if( (action.payload.id && !state.speaker) ||
235+
(state.speaker && +state.speaker.id !== +action.payload.id)
236236
) {
237237
return {
238238
speaker: null,

summit-video-app/ui/source/less/style.less

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -680,7 +680,7 @@ ul.search-tabs {
680680
a {
681681
font-size: 10px;
682682
text-transform: uppercase;
683-
color: @darkblue;
683+
color: #428bca;
684684
margin: 0 5px;
685685
&.active {
686686
color: @projectblue;

summit/code/pages/SummitHomePage.php

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,19 @@ public function getCMSFields() {
1717
return $fields;
1818
}
1919

20-
private static $allowed_children = array ('SummitOverviewPage', 'SummitFutureLanding', 'SummitStaticAboutBostonPage', 'SummitBostonLanding', 'RedirectorPage', 'SummitHighlightsPage', 'SummitStaticAboutPage', 'SummitStaticSponsorPage', 'SummitNewStaticAboutPage');
20+
private static $allowed_children = array (
21+
'SummitOverviewPage',
22+
'SummitFutureLanding',
23+
'SummitStaticAboutBostonPage',
24+
'SummitBostonLanding',
25+
'RedirectorPage',
26+
'SummitHighlightsPage',
27+
'SummitStaticAboutPage',
28+
'SummitStaticSponsorPage',
29+
'SummitNewStaticAboutPage',
30+
'SummitPage',
31+
'ConferencePage'
32+
);
2133

2234
private static $default_child = "SummitOverviewPage";
2335

0 commit comments

Comments
 (0)