@@ -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 ();
0 commit comments