Skip to content

Commit 43667ec

Browse files
committed
Added new payload param
test_email_recipient ( email ) to endpoints * PUT api/v1/summits/{id}/attendees/all/send * PUT api/v1/summits/{id}/registration-invitations/all/send Change-Id: I56a6b75b2fee8e8c8007edbf90fdbc21cff83798
1 parent fc84056 commit 43667ec

19 files changed

Lines changed: 242 additions & 54 deletions

app/Http/Controllers/Apis/Protected/Summit/OAuth2SummitAttendeesApiController.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -892,6 +892,7 @@ public function send($summit_id)
892892
GenericSummitAttendeeEmail::EVENT_SLUG,
893893
]),
894894
'attendees_ids' => 'sometimes|int_array',
895+
'test_email_recipient' => 'sometimes|email',
895896
]);
896897

897898
if ($validation->fails()) {

app/Http/Controllers/Apis/Protected/Summit/OAuth2SummitRegistrationInvitationApiController.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -391,6 +391,7 @@ public function send($summit_id)
391391
ReInviteSummitRegistrationEmail::EVENT_SLUG,
392392
]),
393393
'invitations_ids' => 'sometimes|int_array',
394+
'test_email_recipient' => 'sometimes|email',
394395
]);
395396

396397
if ($validation->fails()) {

app/Jobs/Emails/PresentationSubmissions/SelectionProcess/PresentationSpeakerSelectionProcessAcceptedOnlyEmail.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public function __construct
5050
Summit $summit,
5151
?SummitRegistrationPromoCode $promo_code,
5252
PresentationSpeaker $speaker,
53-
?string $test_email_recipient,
53+
?string $test_email_recipient,
5454
SpeakersAnnouncementEmailConfigDTO $speaker_announcement_email_config,
5555
?string $confirmation_token = null,
5656
?Filter $filter = null

app/Jobs/Emails/Registration/Attendees/GenericSummitAttendeeEmail.php

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@ final class GenericSummitAttendeeEmail extends AbstractSummitAttendeeTicketEmail
2929
public $tries = 5;
3030

3131
/**
32-
* SummitAttendeeAllTicketsEditionEmail constructor.
3332
* @param SummitAttendee $attendee
33+
* @param string|null $test_email_recipient
3434
*/
35-
public function __construct(SummitAttendee $attendee)
35+
public function __construct(SummitAttendee $attendee, ?string $test_email_recipient = null)
3636
{
3737
$payload = [];
3838
$tickets = [];
@@ -122,6 +122,21 @@ public function __construct(SummitAttendee $attendee)
122122
Log::debug(sprintf("GenericSummitAttendeeEmail::__construct payload %s template %s",
123123
json_encode($payload), $template_identifier));
124124

125+
if (!empty($test_email_recipient)) {
126+
Log::debug
127+
(
128+
sprintf
129+
(
130+
"GenericSummitAttendeeEmail::__construct replacing original email %s by %s and clearing cc field",
131+
$payload[IMailTemplatesConstants::owner_email],
132+
$test_email_recipient
133+
)
134+
);
135+
136+
$payload[IMailTemplatesConstants::owner_email] = $test_email_recipient;
137+
$payload[IMailTemplatesConstants::cc_email] = '';
138+
}
139+
125140
parent::__construct($payload, $template_identifier, $payload[IMailTemplatesConstants::owner_email] );
126141
}
127142

@@ -139,19 +154,19 @@ public static function getEmailTemplateSchema(): array{
139154
$payload[IMailTemplatesConstants::summit_logo]['type'] = 'string';
140155
$payload[IMailTemplatesConstants::summit_virtual_site_url]['type'] = 'string';
141156
$payload[IMailTemplatesConstants::summit_marketing_site_url]['type'] = 'string';
142-
$payload[IMailTemplatesConstants::summit_marketing_site_oauth2_client_id]['type'] = 'int';
157+
$payload[IMailTemplatesConstants::summit_marketing_site_oauth2_client_id]['type'] = 'string';
143158
$payload[IMailTemplatesConstants::summit_marketing_site_oauth2_scopes]['type'] = 'string';
144159
$payload[IMailTemplatesConstants::raw_summit_virtual_site_url]['type'] = 'string';
145160
$payload[IMailTemplatesConstants::raw_summit_marketing_site_url]['type'] = 'string';
146-
$payload[IMailTemplatesConstants::summit_virtual_site_oauth2_client_id]['type'] = 'int';
147-
$payload[IMailTemplatesConstants::support_email]['type'] = 'int';
161+
$payload[IMailTemplatesConstants::summit_virtual_site_oauth2_client_id]['type'] = 'string';
162+
$payload[IMailTemplatesConstants::support_email]['type'] = 'string';
148163

149164
$promo_code_schema = [];
150165
$promo_code_schema['type'] = 'object';
151166
$promo_code_schema['properties'][IMailTemplatesConstants::code]['type'] = 'string';
152167
$promo_code_schema['properties'][IMailTemplatesConstants::is_discount]['type'] = 'bool';
153168
$promo_code_schema['properties'][IMailTemplatesConstants::discount_amount]['type'] = 'string';
154-
$promo_code_schema['properties'][IMailTemplatesConstants::discount_rate]['type'] = 'float';
169+
$promo_code_schema['properties'][IMailTemplatesConstants::discount_rate]['type'] = 'string';
155170

156171
$ticket_schema = [];
157172
$ticket_schema['type'] = 'object';

app/Jobs/Emails/Registration/Attendees/InviteAttendeeTicketEditionMail.php

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,9 @@ class InviteAttendeeTicketEditionMail extends AbstractSummitAttendeeTicketEmail
2525
/**
2626
* @param SummitAttendeeTicket $ticket
2727
* @param array $payload
28+
* @param string|null $test_email_recipient
2829
*/
29-
public function __construct(SummitAttendeeTicket $ticket, array $payload = [])
30+
public function __construct(SummitAttendeeTicket $ticket, array $payload = [], ?string $test_email_recipient = null)
3031
{
3132

3233
Log::debug("InviteAttendeeTicketEditionMail::__construct");
@@ -116,7 +117,23 @@ public function __construct(SummitAttendeeTicket $ticket, array $payload = [])
116117

117118
Log::debug(sprintf("InviteAttendeeTicketEditionMail::__construct payload %s template %s", json_encode($payload), $template_identifier));
118119

119-
parent::__construct($payload, $template_identifier, $payload[IMailTemplatesConstants::owner_email] );
120+
if (!empty($test_email_recipient)) {
121+
Log::debug
122+
(
123+
sprintf
124+
(
125+
"InviteAttendeeTicketEditionMail::__construct replacing original email %s by %s and clearing cc field",
126+
$payload[IMailTemplatesConstants::owner_email],
127+
$test_email_recipient
128+
)
129+
);
130+
131+
$payload[IMailTemplatesConstants::owner_email] = $test_email_recipient;
132+
$payload[IMailTemplatesConstants::cc_email] = '';
133+
134+
}
135+
136+
parent::__construct($payload, $template_identifier, $payload[IMailTemplatesConstants::owner_email]);
120137
}
121138

122139
/**
@@ -140,21 +157,21 @@ public static function getEmailTemplateSchema(): array{
140157
$payload[IMailTemplatesConstants::summit_marketing_site_url]['type'] = 'string';
141158
$payload[IMailTemplatesConstants::raw_summit_virtual_site_url]['type'] = 'string';
142159
$payload[IMailTemplatesConstants::raw_summit_marketing_site_url]['type'] = 'string';
143-
$payload[IMailTemplatesConstants::summit_virtual_site_oauth2_client_id]['type'] = 'int';
144-
$payload[IMailTemplatesConstants::summit_marketing_site_oauth2_client_id]['type'] = 'int';
160+
$payload[IMailTemplatesConstants::summit_virtual_site_oauth2_client_id]['type'] = 'string';
161+
$payload[IMailTemplatesConstants::summit_marketing_site_oauth2_client_id]['type'] = 'string';
145162
$payload[IMailTemplatesConstants::summit_marketing_site_oauth2_scopes]['type'] = 'string';
146163
$payload[IMailTemplatesConstants::ticket_number]['type'] = 'string';
147164
$payload[IMailTemplatesConstants::ticket_type_name]['type'] = 'string';
148-
$payload[IMailTemplatesConstants::ticket_raw_amount]['type'] = 'float';
165+
$payload[IMailTemplatesConstants::ticket_raw_amount]['type'] = 'string';
149166
$payload[IMailTemplatesConstants::ticket_currency]['type'] = 'string';
150167
$payload[IMailTemplatesConstants::ticket_currency_symbol]['type'] = 'string';
151-
$payload[IMailTemplatesConstants::ticket_discount]['type'] = 'float';
152-
$payload[IMailTemplatesConstants::ticket_taxes]['type'] = 'float';
153-
$payload[IMailTemplatesConstants::ticket_amount]['type'] = 'float';
168+
$payload[IMailTemplatesConstants::ticket_discount]['type'] = 'string';
169+
$payload[IMailTemplatesConstants::ticket_taxes]['type'] = 'string';
170+
$payload[IMailTemplatesConstants::ticket_amount]['type'] = 'string';
154171
$payload[IMailTemplatesConstants::need_details]['type'] = 'bool';
155172
$payload[IMailTemplatesConstants::promo_code]['type'] = 'string';
156-
$payload[IMailTemplatesConstants::promo_code_discount_rate]['type'] = 'float';
157-
$payload[IMailTemplatesConstants::promo_code_discount_amount]['type'] = 'float';
173+
$payload[IMailTemplatesConstants::promo_code_discount_rate]['type'] = 'string';
174+
$payload[IMailTemplatesConstants::promo_code_discount_amount]['type'] = 'string';
158175
$payload[IMailTemplatesConstants::support_email]['type'] = 'string';
159176
$payload[IMailTemplatesConstants::message]['type'] = 'string';
160177

app/Jobs/Emails/Registration/Attendees/SummitAttendeeAllTicketsEditionEmail.php

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,14 @@
2626
class SummitAttendeeAllTicketsEditionEmail extends AbstractSummitAttendeeTicketEmail
2727
{
2828
/**
29-
* SummitAttendeeAllTicketsEditionEmail constructor.
3029
* @param SummitAttendee $attendee
30+
* @param string|null $test_email_recipient
3131
*/
32-
public function __construct(SummitAttendee $attendee)
32+
public function __construct
33+
(
34+
SummitAttendee $attendee,
35+
?string $test_email_recipient = null
36+
)
3337
{
3438
$payload = [];
3539
$tickets = [];
@@ -119,6 +123,21 @@ public function __construct(SummitAttendee $attendee)
119123

120124
$payload[IMailTemplatesConstants::manage_orders_url] = sprintf("%s/a/my-tickets", $summit->getMarketingSiteUrl());
121125

126+
if (!empty($test_email_recipient)) {
127+
Log::debug
128+
(
129+
sprintf
130+
(
131+
"SummitAttendeeAllTicketsEditionEmail::__construct replacing original email %s by %s and clearing cc field",
132+
$payload[IMailTemplatesConstants::owner_email],
133+
$test_email_recipient
134+
)
135+
);
136+
137+
$payload[IMailTemplatesConstants::owner_email] = $test_email_recipient;
138+
$payload[IMailTemplatesConstants::cc_email] = '';
139+
140+
}
122141
parent::__construct($payload, $template_identifier, $payload[IMailTemplatesConstants::owner_email] );
123142
}
124143

@@ -137,20 +156,20 @@ public static function getEmailTemplateSchema(): array{
137156
$payload[IMailTemplatesConstants::summit_logo]['type'] = 'string';
138157
$payload[IMailTemplatesConstants::summit_virtual_site_url]['type'] = 'string';
139158
$payload[IMailTemplatesConstants::summit_marketing_site_url]['type'] = 'string';
140-
$payload[IMailTemplatesConstants::summit_marketing_site_oauth2_client_id]['type'] = 'int';
159+
$payload[IMailTemplatesConstants::summit_marketing_site_oauth2_client_id]['type'] = 'string';
141160
$payload[IMailTemplatesConstants::summit_marketing_site_oauth2_scopes]['type'] = 'string';
142161
$payload[IMailTemplatesConstants::raw_summit_virtual_site_url]['type'] = 'string';
143162
$payload[IMailTemplatesConstants::raw_summit_marketing_site_url]['type'] = 'string';
144-
$payload[IMailTemplatesConstants::summit_virtual_site_oauth2_client_id]['type'] = 'int';
145-
$payload[IMailTemplatesConstants::support_email]['type'] = 'int';
163+
$payload[IMailTemplatesConstants::summit_virtual_site_oauth2_client_id]['type'] = 'string';
164+
$payload[IMailTemplatesConstants::support_email]['type'] = 'string';
146165
$payload[IMailTemplatesConstants::manage_orders_url]['type'] = 'string';
147166

148167
$promo_code_schema = [];
149168
$promo_code_schema['type'] = 'object';
150169
$promo_code_schema['properties'][IMailTemplatesConstants::code]['type'] = 'string';
151170
$promo_code_schema['properties'][IMailTemplatesConstants::is_discount]['type'] = 'bool';
152171
$promo_code_schema['properties'][IMailTemplatesConstants::discount_amount]['type'] = 'string';
153-
$promo_code_schema['properties'][IMailTemplatesConstants::discount_rate]['type'] = 'float';
172+
$promo_code_schema['properties'][IMailTemplatesConstants::discount_rate]['type'] = 'string';
154173

155174
$ticket_schema = [];
156175
$ticket_schema['type'] = 'object';

app/Jobs/Emails/Registration/Attendees/SummitAttendeeRegistrationIncompleteReminderEmail.php

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,14 @@
2424
class SummitAttendeeRegistrationIncompleteReminderEmail extends AbstractSummitAttendeeTicketEmail
2525
{
2626
/**
27-
* SummitAttendeeRegistrationIncompleteReminderEmail constructor.
2827
* @param SummitAttendee $attendee
28+
* @param string|null $test_email_recipient
2929
*/
30-
public function __construct(SummitAttendee $attendee)
30+
public function __construct
31+
(
32+
SummitAttendee $attendee,
33+
?string $test_email_recipient = null
34+
)
3135
{
3236
$payload = [];
3337
$payload[IMailTemplatesConstants::owner_full_name] = $attendee->getFullName();
@@ -73,6 +77,21 @@ public function __construct(SummitAttendee $attendee)
7377

7478
$payload[IMailTemplatesConstants::manage_orders_url] = sprintf("%s/a/my-tickets", $summit->getMarketingSiteUrl());
7579

80+
if (!empty($test_email_recipient)) {
81+
Log::debug
82+
(
83+
sprintf
84+
(
85+
"SummitAttendeeRegistrationIncompleteReminderEmail::__construct replacing original email %s by %s and clearing cc field",
86+
$payload[IMailTemplatesConstants::owner_email],
87+
$test_email_recipient
88+
)
89+
);
90+
91+
$payload[IMailTemplatesConstants::owner_email] = $test_email_recipient;
92+
$payload[IMailTemplatesConstants::cc_email] = '';
93+
94+
}
7695
parent::__construct($payload, $template_identifier, $payload[IMailTemplatesConstants::owner_email] );
7796
}
7897

@@ -92,7 +111,7 @@ public static function getEmailTemplateSchema(): array{
92111
$payload[IMailTemplatesConstants::summit_marketing_site_url]['type'] = 'string';
93112
$payload[IMailTemplatesConstants::raw_summit_virtual_site_url]['type'] = 'string';
94113
$payload[IMailTemplatesConstants::raw_summit_marketing_site_url]['type'] = 'string';
95-
$payload[IMailTemplatesConstants::summit_marketing_site_oauth2_client_id]['type'] = 'int';
114+
$payload[IMailTemplatesConstants::summit_marketing_site_oauth2_client_id]['type'] = 'string';
96115
$payload[IMailTemplatesConstants::summit_marketing_site_oauth2_scopes]['type'] = 'string';
97116
$payload[IMailTemplatesConstants::support_email]['type'] = 'string';
98117
$payload[IMailTemplatesConstants::manage_orders_url]['type'] = 'string';

app/Jobs/Emails/Registration/Attendees/SummitAttendeeTicketEmail.php

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,9 @@ protected function getEmailEventSlug(): string
3636
/**
3737
* @param SummitAttendeeTicket $ticket
3838
* @param array $payload
39+
* @param string|null $test_email_recipient
3940
*/
40-
public function __construct(SummitAttendeeTicket $ticket, array $payload = [])
41+
public function __construct(SummitAttendeeTicket $ticket, array $payload = [], ?string $test_email_recipient = null)
4142
{
4243
Log::debug("SummitAttendeeTicketEmail::__construct");
4344

@@ -136,6 +137,24 @@ public function __construct(SummitAttendeeTicket $ticket, array $payload = [])
136137

137138
$template_identifier = $this->getEmailTemplateIdentifierFromEmailEvent($summit);
138139
Log::debug(sprintf("SummitAttendeeTicketEmail::__construct payload %s template %s", json_encode($payload), $template_identifier));
140+
141+
if (!empty($test_email_recipient)) {
142+
Log::debug
143+
(
144+
sprintf
145+
(
146+
"SummitAttendeeTicketEmail::__construct replacing original email %s by %s and clearing cc field",
147+
$payload[IMailTemplatesConstants::owner_email],
148+
$test_email_recipient
149+
)
150+
);
151+
152+
$payload[IMailTemplatesConstants::owner_email] = $test_email_recipient;
153+
$owner_email = $test_email_recipient;
154+
$payload[IMailTemplatesConstants::cc_email] = '';
155+
156+
}
157+
139158
parent::__construct($payload, $template_identifier, $owner_email);
140159
}
141160

@@ -154,12 +173,12 @@ public static function getEmailTemplateSchema(): array{
154173
$payload[IMailTemplatesConstants::summit_marketing_site_url]['type'] = 'string';
155174
$payload[IMailTemplatesConstants::raw_summit_virtual_site_url]['type'] = 'string';
156175
$payload[IMailTemplatesConstants::raw_summit_marketing_site_url]['type'] = 'string';
157-
$payload[IMailTemplatesConstants::summit_virtual_site_oauth2_client_id]['type'] = 'int';
158-
$payload[IMailTemplatesConstants::summit_marketing_site_oauth2_client_id]['type'] = 'int';
176+
$payload[IMailTemplatesConstants::summit_virtual_site_oauth2_client_id]['type'] = 'string';
177+
$payload[IMailTemplatesConstants::summit_marketing_site_oauth2_client_id]['type'] = 'string';
159178
$payload[IMailTemplatesConstants::summit_marketing_site_oauth2_scopes]['type'] = 'string';
160179
$payload[IMailTemplatesConstants::ticket_number]['type'] = 'string';
161180
$payload[IMailTemplatesConstants::ticket_type_name]['type'] = 'string';
162-
$payload[IMailTemplatesConstants::ticket_amount]['type'] = 'float';
181+
$payload[IMailTemplatesConstants::ticket_amount]['type'] = 'string';
163182
$payload[IMailTemplatesConstants::ticket_currency]['type'] = 'string';
164183
$payload[IMailTemplatesConstants::ticket_currency_symbol]['type'] = 'string';
165184
$payload[IMailTemplatesConstants::owner_email]['type'] = 'string';

app/Jobs/Emails/Registration/Invitations/InviteSummitRegistrationEmail.php

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,14 @@ class InviteSummitRegistrationEmail extends AbstractEmailJob
2525
{
2626

2727
/**
28-
* InviteSummitRegistrationEmail constructor.
2928
* @param SummitRegistrationInvitation $invitation
29+
* @param string|null $test_email_recipient
3030
*/
31-
public function __construct(SummitRegistrationInvitation $invitation){
31+
public function __construct
32+
(
33+
SummitRegistrationInvitation $invitation,
34+
?string $test_email_recipient = null
35+
){
3236
Log::debug
3337
(
3438
sprintf
@@ -76,6 +80,22 @@ public function __construct(SummitRegistrationInvitation $invitation){
7680

7781
$template_identifier = $this->getEmailTemplateIdentifierFromEmailEvent($summit);
7882

83+
if (!empty($test_email_recipient)) {
84+
Log::debug
85+
(
86+
sprintf
87+
(
88+
"InviteSummitRegistrationEmail::__construct replacing original email %s by %s and clearing cc field",
89+
$payload[IMailTemplatesConstants::owner_email],
90+
$test_email_recipient
91+
)
92+
);
93+
94+
$payload[IMailTemplatesConstants::owner_email] = $test_email_recipient;
95+
$owner_email = $test_email_recipient;
96+
$payload[IMailTemplatesConstants::cc_email] = '';
97+
}
98+
7999
parent::__construct($payload, $template_identifier, $owner_email);
80100
}
81101

app/Jobs/Emails/Registration/Invitations/ReInviteSummitRegistrationEmail.php

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,14 @@
2525
class ReInviteSummitRegistrationEmail extends AbstractEmailJob
2626
{
2727
/**
28-
* InviteSummitRegistrationEmail constructor.
2928
* @param SummitRegistrationInvitation $invitation
29+
* @param string|null $test_email_recipient
3030
*/
31-
public function __construct(SummitRegistrationInvitation $invitation){
31+
public function __construct
32+
(
33+
SummitRegistrationInvitation $invitation,
34+
?string $test_email_recipient = null
35+
){
3236
Log::debug
3337
(
3438
sprintf
@@ -78,6 +82,22 @@ public function __construct(SummitRegistrationInvitation $invitation){
7882

7983
$template_identifier = $this->getEmailTemplateIdentifierFromEmailEvent($summit);
8084

85+
if (!empty($test_email_recipient)) {
86+
Log::debug
87+
(
88+
sprintf
89+
(
90+
"ReInviteSummitRegistrationEmail::__construct replacing original email %s by %s and clearing cc field",
91+
$payload[IMailTemplatesConstants::owner_email],
92+
$test_email_recipient
93+
)
94+
);
95+
96+
$payload[IMailTemplatesConstants::owner_email] = $test_email_recipient;
97+
$owner_email = $test_email_recipient;
98+
$payload[IMailTemplatesConstants::cc_email] = '';
99+
}
100+
81101
parent::__construct($payload, $template_identifier, $owner_email);
82102
}
83103

0 commit comments

Comments
 (0)