Fix on same event multiple times on schedule

fixed code to prevent that situation

Change-Id: Ib231f0eeb7230051f5c50ef344a1f7b83793488c
This commit is contained in:
Sebastian Marcet 2016-10-20 11:59:10 -03:00
parent a214fa2d41
commit f076fd6a7c

View File

@ -213,8 +213,7 @@ class SummitAttendee extends SilverstripeBaseModel
$sql = <<<SQL $sql = <<<SQL
SELECT COUNT(SummitEventID) AS QTY SELECT COUNT(SummitEventID) AS QTY
FROM SummitAttendee_Schedule FROM SummitAttendee_Schedule
INNER JOIN SummitEvent ON SummitEvent.ID = SummitAttendee_Schedule.SummitEventID WHERE SummitAttendeeID = :attendee_id AND SummitEventID = :event_id
WHERE SummitAttendeeID = :attendee_id AND SummitEvent.Published = 1 AND SummitEvent.ID = :event_id
SQL; SQL;
$stmt = $this->prepareRawSQL($sql); $stmt = $this->prepareRawSQL($sql);
@ -236,7 +235,7 @@ SQL;
$query = $this->createQuery("SELECT s from models\summit\SummitAttendeeSchedule s $query = $this->createQuery("SELECT s from models\summit\SummitAttendeeSchedule s
JOIN s.attendee a JOIN s.attendee a
JOIN s.event e JOIN s.event e
WHERE a.id = :attendee_id and e.published = 1 and e.id = :event_id WHERE a.id = :attendee_id and e.id = :event_id
"); ");
return $query return $query
->setParameter('attendee_id', $this->getIdentifier()) ->setParameter('attendee_id', $this->getIdentifier())
@ -246,6 +245,10 @@ SQL;
catch(NoResultException $ex1){ catch(NoResultException $ex1){
return null; return null;
} }
catch(NonUniqueResultException $ex2){
// should never happen
return null;
}
} }
/** /**