@@ -2656,16 +2656,26 @@ public function getAcceptedPresentations
26562656 {
26572657 $ extraWhere .= " AND mut.id NOT IN (:media_upload_type_id) " ;
26582658 }
2659+ if ($ filter ->hasFilter ("is_speaker " )){
2660+ $ value = to_boolean ($ filter ->getValue ("is_speaker " )[0 ]);
2661+ if ($ value )
2662+ $ extraWhere .= " AND spk.member = :member_id " ;
2663+ else
2664+ $ extraWhere .= " AND spk.member <> :member_id " ;
2665+ }
26592666 }
2660- $ query = $ this ->createQuery (sprintf ("SELECT p from models\summit\Presentation p
2661- JOIN p.summit s
2662- JOIN p.created_by cb
2663- LEFT JOIN p.selection_plan sel_p
2664- LEFT JOIN p.materials m
2665- LEFT JOIN models\summit\PresentationMediaUpload pmu WITH pmu.id = m.id
2667+ $ query = $ this ->createQuery (sprintf ("
2668+ SELECT p from models\summit\Presentation p
2669+ JOIN p.summit s
2670+ LEFT JOIN p.speakers a_spk
2671+ LEFT JOIN a_spk.speaker spk
2672+ JOIN p.created_by cb
2673+ LEFT JOIN p.selection_plan sel_p
2674+ LEFT JOIN p.materials m
2675+ LEFT JOIN models\summit\PresentationMediaUpload pmu WITH pmu.id = m.id
26662676 LEFT JOIN pmu.media_upload_type mut
26672677 JOIN p.type t
2668- JOIN p.category cat
2678+ JOIN p.category cat
26692679 LEFT JOIN p.selected_presentations ssp
26702680 LEFT JOIN ssp.list sspl
26712681 WHERE s.id = :summit_id
@@ -2713,7 +2723,21 @@ public function getAcceptedPresentations
27132723 $ v = $ filter ->getValue ("has_not_media_upload_with_type " );
27142724 $ query = $ query ->setParameter ("media_upload_type_id " , $ v );
27152725 }
2726+ if ($ filter ->hasFilter ("is_speaker " )){
2727+ $ query ->setParameter ("member_id " , $ this ->id );
2728+ }
27162729 }
2730+
2731+ Log::debug
2732+ (
2733+ sprintf
2734+ (
2735+ "Member::getAcceptedPresentations id %s query %s " ,
2736+ $ this ->id ,
2737+ $ query ->getDQL ()
2738+ )
2739+ );
2740+
27172741 return $ query ->getResult ();
27182742 }
27192743
@@ -2745,11 +2769,26 @@ public function hasAcceptedPresentations
27452769 (
27462770 Summit $ summit ,
27472771 ?Filter $ filter = null
2748- )
2772+ ): bool
27492773 {
27502774 return count ($ this ->getAcceptedPresentations ($ summit , $ filter )) > 0 ;
27512775 }
27522776
2777+ /**
2778+ * @param Summit $summit
2779+ * @param Filter|null $filter
2780+ * @return int
2781+ */
2782+ public function getAcceptedPresentationsCount
2783+ (
2784+ Summit $ summit ,
2785+ ?Filter $ filter = null
2786+ ):int
2787+ {
2788+ return count ($ this ->getAcceptedPresentations ($ summit , $ filter ));
2789+ }
2790+
2791+
27532792 /**
27542793 * @param Summit $summit
27552794 * @param Filter|null $filter
@@ -2759,11 +2798,26 @@ public function hasAlternatePresentations
27592798 (
27602799 Summit $ summit ,
27612800 ?Filter $ filter = null
2762- )
2801+ ): bool
27632802 {
27642803 return count ($ this ->getAlternatePresentations ($ summit , $ filter )) > 0 ;
27652804 }
27662805
2806+
2807+ /**
2808+ * @param Summit $summit
2809+ * @param Filter|null $filter
2810+ * @return int
2811+ */
2812+ public function getAlternatePresentationsCount
2813+ (
2814+ Summit $ summit ,
2815+ ?Filter $ filter = null
2816+ ):int
2817+ {
2818+ return count ($ this ->getAlternatePresentations ($ summit , $ filter ));
2819+ }
2820+
27672821 /**
27682822 * @param Summit $summit
27692823 * @param Filter|null $filter
@@ -2796,19 +2850,29 @@ public function getAlternatePresentations
27962850 {
27972851 $ extraWhere .= " AND mut.id NOT IN (:media_upload_type_id) " ;
27982852 }
2853+ if ($ filter ->hasFilter ("is_speaker " )){
2854+ $ value = to_boolean ($ filter ->getValue ("is_speaker " )[0 ]);
2855+ if ($ value )
2856+ $ extraWhere .= " AND spk.member = :member_id " ;
2857+ else
2858+ $ extraWhere .= " AND spk.member <> :member_id " ;
2859+ }
27992860 }
28002861
2801- $ query = $ this ->createQuery ("SELECT p from models\summit\Presentation p
2802- JOIN p.summit s
2803- JOIN p.created_by cb
2804- LEFT JOIN p.selection_plan sel_p
2805- LEFT JOIN p.materials m
2806- LEFT JOIN models\summit\PresentationMediaUpload pmu WITH pmu.id = m.id
2807- LEFT JOIN pmu.media_upload_type mut
2808- JOIN p.type t
2809- JOIN p.category cat
2810- WHERE s.id = :summit_id
2811- AND cb.id = :submitter_id " . $ extraWhere );
2862+ $ query = $ this ->createQuery ("
2863+ SELECT p from models\summit\Presentation p
2864+ JOIN p.summit s
2865+ LEFT JOIN p.speakers a_spk
2866+ LEFT JOIN a_spk.speaker spk
2867+ JOIN p.created_by cb
2868+ JOIN p.selection_plan sel_p
2869+ LEFT JOIN p.materials m
2870+ LEFT JOIN models\summit\PresentationMediaUpload pmu WITH pmu.id = m.id
2871+ LEFT JOIN pmu.media_upload_type mut
2872+ JOIN p.type t
2873+ JOIN p.category cat
2874+ WHERE s.id = :summit_id
2875+ AND cb.id = :submitter_id " . $ extraWhere );
28122876
28132877 $ query
28142878 ->setParameter ('summit_id ' , $ summit ->getId ())
@@ -2837,10 +2901,23 @@ public function getAlternatePresentations
28372901 $ v = $ filter ->getValue ("has_not_media_upload_with_type " );
28382902 $ query = $ query ->setParameter ("media_upload_type_id " , $ v );
28392903 }
2904+ if ($ filter ->hasFilter ("is_speaker " )){
2905+ $ query ->setParameter ("member_id " , $ this ->id );
2906+ }
28402907 }
28412908
28422909 $ presentations = $ query ->getResult ();
28432910
2911+ Log::debug
2912+ (
2913+ sprintf
2914+ (
2915+ "Member::getAlternatePresentations id %s query %s " ,
2916+ $ this ->id ,
2917+ $ query ->getDQL ()
2918+ )
2919+ );
2920+
28442921 foreach ($ presentations as $ p ) {
28452922 if ($ p ->getSelectionStatus () == Presentation::SelectionStatus_Alternate) {
28462923 $ alternate_presentations [] = $ p ;
@@ -2878,11 +2955,25 @@ public function hasRejectedPresentations
28782955 (
28792956 Summit $ summit ,
28802957 ?Filter $ filter = null
2881- )
2958+ ): bool
28822959 {
28832960 return count ($ this ->getRejectedPresentations ($ summit , $ filter )) > 0 ;
28842961 }
28852962
2963+ /**
2964+ * @param Summit $summit ,
2965+ * @param Filter|null $filter
2966+ * @return int
2967+ */
2968+ public function getRejectedPresentationsCount
2969+ (
2970+ Summit $ summit ,
2971+ ?Filter $ filter = null
2972+ ):int
2973+ {
2974+ return count ($ this ->getRejectedPresentations ($ summit , $ filter ));
2975+ }
2976+
28862977 /**
28872978 * @param Summit $summit ,
28882979 * @param Filter|null $filter
@@ -2915,20 +3006,29 @@ public function getRejectedPresentations
29153006 {
29163007 $ extraWhere .= " AND mut.id NOT IN (:media_upload_type_id) " ;
29173008 }
3009+ if ($ filter ->hasFilter ("is_speaker " )){
3010+ $ value = to_boolean ($ filter ->getValue ("is_speaker " )[0 ]);
3011+ if ($ value )
3012+ $ extraWhere .= " AND spk.member = :member_id " ;
3013+ else
3014+ $ extraWhere .= " AND spk.member <> :member_id " ;
3015+ }
29183016 }
29193017
29203018 $ query = $ this ->createQuery ("SELECT p from models\summit\Presentation p
2921- JOIN p.summit s
2922- LEFT JOIN p.selection_plan sel_p
2923- LEFT JOIN p.materials m
2924- LEFT JOIN models\summit\PresentationMediaUpload pmu WITH pmu.id = m.id
2925- LEFT JOIN pmu.media_upload_type mut
2926- JOIN p.type t
2927- JOIN p.category cat
3019+ JOIN p.summit s
3020+ LEFT JOIN p.speakers a_spk
3021+ LEFT JOIN a_spk.speaker spk
3022+ LEFT JOIN p.materials m
3023+ LEFT JOIN models\summit\PresentationMediaUpload pmu WITH pmu.id = m.id
3024+ LEFT JOIN pmu.media_upload_type mut
3025+ LEFT JOIN p.selection_plan sel_p
3026+ JOIN p.type t
3027+ JOIN p.category cat
29283028 JOIN p.created_by cb
29293029 WHERE s.id = :summit_id
2930- AND p.published = 0
2931- AND cb.id = :submitter_id " . $ extraWhere );
3030+ AND p.published = 0
3031+ AND cb.id = :submitter_id " . $ extraWhere );
29323032
29333033 $ query
29343034 ->setParameter ('summit_id ' , $ summit ->getId ())
@@ -2957,10 +3057,23 @@ public function getRejectedPresentations
29573057 $ v = $ filter ->getValue ("has_not_media_upload_with_type " );
29583058 $ query = $ query ->setParameter ("media_upload_type_id " , $ v );
29593059 }
3060+ if ($ filter ->hasFilter ("is_speaker " )){
3061+ $ query ->setParameter ("member_id " , $ this ->id );
3062+ }
29603063 }
29613064
29623065 $ presentations = $ query ->getResult ();
29633066
3067+ Log::debug
3068+ (
3069+ sprintf
3070+ (
3071+ "Member::getRejectedPresentations id %s query %s " ,
3072+ $ this ->id ,
3073+ $ query ->getDQL ()
3074+ )
3075+ );
3076+
29643077 foreach ($ presentations as $ p ) {
29653078 if ($ p ->getSelectionStatus () == Presentation::SelectionStatus_Unaccepted) {
29663079 $ rejected_presentations [] = $ p ;
0 commit comments