Skip to content

Commit a360108

Browse files
committed
fix: issue on submitter presentation numbers
1 parent ffc1f99 commit a360108

File tree

2 files changed

+15
-12
lines changed

2 files changed

+15
-12
lines changed

app/Models/Foundation/Main/Member.php

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2710,15 +2710,16 @@ public function getAcceptedPresentations
27102710
if($filter->hasFilter("is_speaker")){
27112711
$value = to_boolean($filter->getValue("is_speaker")[0]);
27122712
if($value)
2713-
$extraWhere .= " AND spk.member = :member_id";
2713+
$extraWhere .= " AND ( spk.member = :member_id OR mod.member = :member_id)";
27142714
else
2715-
$extraWhere .= " AND spk.member <> :member_id";
2715+
$extraWhere .= " AND ( (spk.member <> :member_id OR spk.member IS NULL) AND (mod.member <> :member_id OR mod.member IS NULL) )";
27162716
}
27172717
}
27182718
$query = $this->createQuery(sprintf("
2719-
SELECT p from models\summit\Presentation p
2719+
SELECT DISTINCT p from models\summit\Presentation p
27202720
JOIN p.summit s
27212721
LEFT JOIN p.speakers a_spk
2722+
LEFT JOIN p.moderator mod
27222723
LEFT JOIN a_spk.speaker spk
27232724
JOIN p.created_by cb
27242725
LEFT JOIN p.selection_plan sel_p
@@ -2904,15 +2905,16 @@ public function getAlternatePresentations
29042905
if($filter->hasFilter("is_speaker")){
29052906
$value = to_boolean($filter->getValue("is_speaker")[0]);
29062907
if($value)
2907-
$extraWhere .= " AND spk.member = :member_id";
2908+
$extraWhere .= " AND ( spk.member = :member_id OR mod.member = :member_id)";
29082909
else
2909-
$extraWhere .= " AND spk.member <> :member_id";
2910+
$extraWhere .= " AND ( (spk.member <> :member_id OR spk.member IS NULL) AND (mod.member <> :member_id OR mod.member IS NULL) )";
29102911
}
29112912
}
29122913

29132914
$query = $this->createQuery("
2914-
SELECT p from models\summit\Presentation p
2915+
SELECT DISTINCT p from models\summit\Presentation p
29152916
JOIN p.summit s
2917+
LEFT JOIN p.moderator mod
29162918
LEFT JOIN p.speakers a_spk
29172919
LEFT JOIN a_spk.speaker spk
29182920
JOIN p.created_by cb
@@ -3060,14 +3062,15 @@ public function getRejectedPresentations
30603062
if($filter->hasFilter("is_speaker")){
30613063
$value = to_boolean($filter->getValue("is_speaker")[0]);
30623064
if($value)
3063-
$extraWhere .= " AND spk.member = :member_id";
3065+
$extraWhere .= " AND ( spk.member = :member_id OR mod.member = :member_id)";
30643066
else
3065-
$extraWhere .= " AND spk.member <> :member_id";
3067+
$extraWhere .= " AND ( (spk.member <> :member_id OR spk.member IS NULL) AND (mod.member <> :member_id OR mod.member IS NULL) )";
30663068
}
30673069
}
30683070

3069-
$query = $this->createQuery("SELECT p from models\summit\Presentation p
3070-
JOIN p.summit s
3071+
$query = $this->createQuery("SELECT DISTINCT p from models\summit\Presentation p
3072+
JOIN p.summit s
3073+
LEFT JOIN p.moderator mod
30713074
LEFT JOIN p.speakers a_spk
30723075
LEFT JOIN a_spk.speaker spk
30733076
LEFT JOIN p.materials m

app/Repositories/Summit/DoctrineMemberRepository.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -397,14 +397,14 @@ protected function getFilterMappings()
397397
SELECT __p61.id FROM models\summit\Presentation __p61
398398
JOIN __p61.created_by __c61 WITH __c61 = e.id
399399
JOIN __p61.speakers __pspk61
400-
JOIN __pspk61.speaker __spk61 WITH __spk61.member = e.id
400+
JOIN __pspk61.speaker __spk61 WITH __spk61.member = e.id OR __spk61.member is null
401401
WHERE __p61.summit = :summit
402402
)
403403
AND
404404
NOT EXISTS (
405405
SELECT __p62.id FROM models\summit\Presentation __p62
406406
JOIN __p62.created_by __c62 WITH __c62 = e.id
407-
JOIN __p62.moderator __md62 WITH __md62.member = e.id
407+
JOIN __p62.moderator __md62 WITH __md62.member = e.id OR __md62.member is null
408408
WHERE __p62.summit = :summit
409409
))'
410410
),

0 commit comments

Comments
 (0)