@@ -35,14 +35,20 @@ public function handle()
35
35
return 0 ;
36
36
}
37
37
}
38
- $ query = FormIntegration::whereIn ('integration_id ' , ['email ' , 'submission_confirmation ' ]);
38
+ $ query = FormIntegration::whereIn ('integration_id ' , ['email ' , 'submission_confirmation ' ])
39
+ ->whereHas ('form ' );
39
40
$ totalCount = $ query ->count ();
40
41
$ progressBar = $ this ->output ->createProgressBar ($ totalCount );
41
42
$ progressBar ->start ();
42
43
43
- $ query ->chunk (100 , function ($ integrations ) use ($ progressBar ) {
44
+ $ query ->with ( ' form ' )-> chunk (100 , function ($ integrations ) use ($ progressBar ) {
44
45
foreach ($ integrations as $ integration ) {
45
- $ this ->updateIntegration ($ integration );
46
+ try {
47
+ $ this ->updateIntegration ($ integration );
48
+ } catch (\Exception $ e ) {
49
+ $ this ->error ('Error updating integration ' . $ integration ->id . '. Error: ' . $ e ->getMessage ());
50
+ ray ($ e );
51
+ }
46
52
$ progressBar ->advance ();
47
53
}
48
54
});
@@ -55,6 +61,9 @@ public function handle()
55
61
56
62
public function updateIntegration (FormIntegration $ integration )
57
63
{
64
+ if (!$ integration ->form ) {
65
+ return ;
66
+ }
58
67
$ existingData = $ integration ->data ;
59
68
if ($ integration ->integration_id === 'email ' ) {
60
69
$ integration ->data = [
@@ -69,7 +78,7 @@ public function updateIntegration(FormIntegration $integration)
69
78
} elseif ($ integration ->integration_id === 'submission_confirmation ' ) {
70
79
$ integration ->integration_id = 'email ' ;
71
80
$ integration ->data = [
72
- 'send_to ' => $ this ->getMentionHtml ($ integration ->form_id ),
81
+ 'send_to ' => $ this ->getMentionHtml ($ integration ->form ),
73
82
'sender_name ' => $ existingData ->notification_sender ,
74
83
'subject ' => $ existingData ->notification_subject ,
75
84
'email_content ' => $ existingData ->notification_body ,
@@ -81,15 +90,14 @@ public function updateIntegration(FormIntegration $integration)
81
90
return $ integration ->save ();
82
91
}
83
92
84
- private function getMentionHtml ($ formId )
93
+ private function getMentionHtml (Form $ form )
85
94
{
86
- $ emailField = $ this ->getRespondentEmail ($ formId );
95
+ $ emailField = $ this ->getRespondentEmail ($ form );
87
96
return $ emailField ? '<span mention-field-id=" ' . $ emailField ['id ' ] . '" mention-field-name=" ' . $ emailField ['name ' ] . '" mention-fallback="" contenteditable="false" mention="true"> ' . $ emailField ['name ' ] . '</span> ' : '' ;
88
97
}
89
98
90
- private function getRespondentEmail ($ formId )
99
+ private function getRespondentEmail (Form $ form )
91
100
{
92
- $ form = Form::find ($ formId );
93
101
$ emailFields = collect ($ form ->properties )->filter (function ($ field ) {
94
102
$ hidden = $ field ['hidden ' ] ?? false ;
95
103
return !$ hidden && $ field ['type ' ] == 'email ' ;
0 commit comments