Skip to content

Commit a25d728

Browse files
authored
Merge pull request #8498 from ProcessMaker/FOUR-26201
FOUR-26201 It is not possible to start a case from the launchpad if the process contains an Email Start Event
2 parents 88b177c + a45be38 commit a25d728

1 file changed

Lines changed: 11 additions & 5 deletions

File tree

ProcessMaker/Http/Controllers/Api/ProcessController.php

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -336,14 +336,20 @@ public function startEvents(Request $request, Process $process)
336336
$currentUser = Auth::user();
337337
foreach ($process->start_events as $event) {
338338
if (count($event['eventDefinitions']) === 0) {
339+
$isEmailStartEvent = false;
340+
339341
if (array_key_exists('config', $event)) {
340-
$webEntry = json_decode($event['config'])->web_entry;
342+
$config = json_decode($event['config']);
343+
$webEntry = $config->web_entry ?? null;
341344
$event['webEntry'] = $webEntry;
345+
346+
$isEmailStartEvent = is_object($config) && property_exists($config, 'email_start');
342347
}
343-
if (
344-
$this->checkUserCanStartProcess($event, $currentUser->id, $process, $request) ||
345-
Auth::user()->is_administrator
346-
) {
348+
349+
$canStart = $this->checkUserCanStartProcess($event, $currentUser->id, $process, $request);
350+
$isAdmin = Auth::user()->is_administrator;
351+
352+
if (($canStart || $isAdmin) && !$isEmailStartEvent) {
347353
$startEvents[] = $event;
348354
}
349355
}

0 commit comments

Comments
 (0)