Skip to content

Commit 418112e

Browse files
committed
[spalenque] - #12930 * remove relation between page and sponsors and use summit-sponsor
1 parent 1bcc847 commit 418112e

8 files changed

Lines changed: 21 additions & 59 deletions

File tree

summit/code/infrastructure/active_records/Sponsor.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ class Sponsor extends DataObject implements ISponsor
2626
(
2727
'Company' => 'Company',
2828
'SponsorshipType' => 'SponsorshipType',
29-
'SponsorPage' => 'SummitSponsorPage',
3029
'Summit' => 'Summit'
3130
);
3231

summit/code/infrastructure/active_records/Summit.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ final class Summit extends DataObject implements ISummit
7777
'SummitPackages' => 'SummitPackage',
7878
'SummitAddOns' => 'SummitAddOn',
7979
'WIFIConnections' => 'SummitWIFIConnection',
80+
'Sponsors' => 'Sponsor'
8081
];
8182

8283
/**
@@ -1361,7 +1362,7 @@ public function isVotingOpen()
13611362
/**
13621363
* @return ICompany[]
13631364
*/
1364-
public function Sponsors()
1365+
public function EventSponsors()
13651366
{
13661367
$query = <<<SQL
13671368
SELECT DISTINCT C.* FROM SummitEvent_Sponsors S

summit/code/migrations/SummitSponsorsMigration.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,12 @@ function doUp()
5151

5252
foreach ($sponsors as $sponsor) {
5353
$sponsor_exists = Sponsor::get()
54-
->filter(array('SponsorPageID' => $sponsor['SummitSponsorPageID'], 'CompanyID' => $sponsor['CompanyID']))
54+
->filter(array('SummitID' => $sponsor['SummitID'], 'CompanyID' => $sponsor['CompanyID']))
5555
->count();
5656

5757
if (!$sponsor_exists) {
5858
$new_sponsor = new Sponsor();
5959
$new_sponsor->CompanyID = $sponsor['CompanyID'];
60-
$new_sponsor->SponsorPageID = $sponsor['SummitSponsorPageID'];
6160
$new_sponsor->SubmitPageUrl = $sponsor['SubmitPageUrl'];
6261
$new_sponsor->SummitID = $sponsor['SummitID'];
6362
$sponsorship_type = SponsorshipType::get()->filter('Name',$sponsor['SponsorshipType'])->first();

summit/code/models/ISummit.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ public function isVotingOpen();
190190
/**
191191
* @return ICompany[]
192192
*/
193-
public function Sponsors();
193+
public function EventSponsors();
194194

195195
/**
196196
* @param $date

summit/code/pages/SummitSponsorPage.php

Lines changed: 14 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,7 @@ class SummitSponsorPage extends SummitPage
4040

4141
private static $has_many = [
4242
'AttendeesByRegion' => 'SummitPieDataItemRegion',
43-
'AttendeesByRoles' => 'SummitPieDataItemRole',
44-
'Sponsors' => 'Sponsor'
43+
'AttendeesByRoles' => 'SummitPieDataItemRole'
4544
];
4645

4746
private static $has_one = [
@@ -97,7 +96,7 @@ public function getCMSFields()
9796
$fields->addFieldsToTab("Root.Images&Files", [$upload_0,$upload_1,$prospectusField,$contractField]);
9897

9998
// sponsors
100-
$companies = new GridField('Sponsors', 'Sponsors', $this->Sponsors(), GridFieldConfig_RelationEditor::create(PHP_INT_MAX));
99+
$companies = new GridField('Sponsors', 'Sponsors', $this->Summit()->Sponsors(), GridFieldConfig_RelationEditor::create(PHP_INT_MAX));
101100
$companies->getConfig()->removeComponentsByType('GridFieldEditButton');
102101
$companies->getConfig()->removeComponentsByType('GridFieldAddNewButton');
103102
$companies->getConfig()->removeComponentsByType('GridFieldAddExistingAutocompleter');
@@ -171,15 +170,15 @@ function onAfterWrite()
171170
{
172171
parent::onAfterWrite();
173172
//update all relationships with sponsors
174-
foreach ($this->Sponsors() as $sponsor) {
173+
foreach ($this->Summit()->Sponsors() as $sponsor) {
175174
if (isset($_REQUEST["SponsorshipType_{$sponsor->ID}"])) {
176175
$type = $_REQUEST["SponsorshipType_{$sponsor->ID}"];
177-
$sql = "UPDATE Sponsor SET SponsorshipTypeID ='{$type}' WHERE CompanyID={$sponsor->CompanyID} AND SponsorPageID={$this->ID};";
176+
$sql = "UPDATE Sponsor SET SponsorshipTypeID ='{$type}' WHERE CompanyID={$sponsor->CompanyID} AND SummitID={$this->Summit()->ID};";
178177
DB::query($sql);
179178
}
180179
if (isset($_REQUEST["SubmitPageUrl_{$sponsor->ID}"])) {
181180
$page_url = $_REQUEST["SubmitPageUrl_{$sponsor->ID}"];
182-
$sql = "UPDATE Sponsor SET SubmitPageUrl ='{$page_url}' WHERE CompanyID={$sponsor->CompanyID} AND SponsorPageID={$this->ID};";
181+
$sql = "UPDATE Sponsor SET SubmitPageUrl ='{$page_url}' WHERE CompanyID={$sponsor->CompanyID} AND SummitID={$this->Summit()->ID};";
183182
DB::query($sql);
184183
}
185184
}
@@ -265,17 +264,21 @@ public function getAudienceCountriesRepresented()
265264
* @return bool
266265
*/
267266
public function HasSponsors(){
268-
return $this->StartupSponsors()->Count() > 0 || $this->HeadlineSponsors()->Count() > 0
269-
|| $this->PremierSponsors()->Count() > 0 || $this->EventSponsors()->Count() > 0 || $this->ExhibitorSponsors()->Count() > 0
270-
|| $this->InKindSponsors()->Count() > 0 || $this->SpotlightSponsors()->Count() > 0
271-
|| $this->MediaSponsors()->Count() > 0;
267+
foreach ($this->getSponsorshipTypes() as $type) {
268+
if ($this->getSponsorsByType($type)) return true;
269+
}
270+
271+
return false;
272272
}
273273

274274
public function getSponsorsByType($type)
275275
{
276276
$page_id = $this->ID;
277277
$page = SummitSponsorPage::get()->byID($page_id);
278-
$res = $page->Sponsors()->leftJoin('SponsorshipType', 'SponsorshipType.ID = Sponsor.SponsorshipTypeID')->where("SponsorshipType.Name='{$type}'");
278+
$res = $page->Summit()->Sponsors()
279+
->leftJoin('SponsorshipType', 'SponsorshipType.ID = Sponsor.SponsorshipTypeID')
280+
->where("SponsorshipType.Name='{$type}'");
281+
279282
return $res;
280283
}
281284

@@ -284,46 +287,6 @@ public function getSponsorshipTypes()
284287
return SponsorshipType::get()->sort('Order');
285288
}
286289

287-
public function StartupSponsors()
288-
{
289-
return $this->getSponsorsByType("Startup");
290-
}
291-
292-
public function HeadlineSponsors()
293-
{
294-
return $this->getSponsorsByType("Headline");
295-
}
296-
297-
public function PremierSponsors()
298-
{
299-
return $this->getSponsorsByType("Premier");
300-
}
301-
302-
public function EventSponsors()
303-
{
304-
return $this->getSponsorsByType("Event");
305-
}
306-
307-
public function ExhibitorSponsors()
308-
{
309-
return $this->getSponsorsByType("Exhibitor");
310-
}
311-
312-
public function InKindSponsors()
313-
{
314-
return $this->getSponsorsByType("InKind");
315-
}
316-
317-
public function SpotlightSponsors()
318-
{
319-
return $this->getSponsorsByType("Spotlight");
320-
}
321-
322-
public function MediaSponsors()
323-
{
324-
return $this->getSponsorsByType("Media");
325-
}
326-
327290
public function CrowdImageUrl(){
328291
if($this->CrowdImage()->exists()){
329292
return $this->CrowdImage()->getURL();

summit/templates/Layout/SummitAppSchedPage.ss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939

4040
<% cached 'frontend_schedule_page', $Summit.ID, $Summit.LastEdited %>
4141

42-
<% loop $Summit.Sponsors %>
42+
<% loop $Summit.EventSponsors %>
4343
summit.sponsors[{$ID}] =
4444
{
4545
id: {$ID},

summit/templates/Layout/SummitAppSchedPage_globalSearchResults.ss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
<% end_with %>
5656
<% end_if %>
5757

58-
<% loop $Top.Summit.Sponsors %>
58+
<% loop $Top.Summit.EventSponsors %>
5959
summit.sponsors[{$ID}] =
6060
{
6161
id: {$ID},

summit/templates/Layout/SummitAppSpeakerPage.ss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@
104104
<% end_with %>
105105
<% end_if %>
106106

107-
<% loop $Top.Summit.Sponsors %>
107+
<% loop $Top.Summit.EventSponsors %>
108108
summit.sponsors[{$ID}] =
109109
{
110110
id: {$ID},

0 commit comments

Comments
 (0)