22
33namespace ProcessMaker \Listeners ;
44
5+ use Illuminate \Support \Facades \Auth ;
56use ProcessMaker \Models \Comment ;
67use ProcessMaker \Models \ProcessRequest ;
78use ProcessMaker \Models \ProcessRequestToken ;
@@ -26,11 +27,27 @@ public function onActivityCompleted(ActivityCompletedEvent $event)
2627 $ user_id = $ token ->user ? $ token ->user_id : null ;
2728 $ user_name = $ token ->user ? $ token ->user ->fullname : __ ('The System ' );
2829
30+ // Check the authenticated user
31+ $ executer_user_id = null ;
32+ $ executer_user = __ ('The System ' );
33+ $ user = Auth::user ();
34+ if ($ user ) {
35+ $ executer_user_id = $ user ->id ;
36+ $ executer_user = $ user ->fullname ;
37+ }
38+
2939 if (!is_int ($ token ->process_request_id )) {
3040 return ;
3141 }
3242
33- $ message = ':user has completed the task :task_name ' ;
43+ if (!is_null ($ executer_user_id ) && $ user_id !== $ executer_user_id ) {
44+ $ subject = 'Task Completed by Different User ' ;
45+ $ message = ':executer_user has completed the task :task_name (assigned to: :user) ' ;
46+ } else {
47+ $ subject = 'Task Complete ' ;
48+ $ message = ':user has completed the task :task_name ' ;
49+ }
50+
3451 if ($ token ->is_actionbyemail ) {
3552 $ message = $ message . ' via email ' ;
3653 }
@@ -42,8 +59,8 @@ public function onActivityCompleted(ActivityCompletedEvent $event)
4259 'user_id ' => $ user_id ,
4360 'commentable_type ' => ProcessRequest::class,
4461 'commentable_id ' => $ token ->process_request_id ,
45- 'subject ' => ' Task Complete ' ,
46- 'body ' => __ ($ message , ['user ' => $ user_name , 'task_name ' => $ token ->element_name ]),
62+ 'subject ' => $ subject ,
63+ 'body ' => __ ($ message , ['user ' => $ user_name , 'task_name ' => $ token ->element_name , ' executer_user ' => $ executer_user ]),
4764 'case_number ' => $ caseNumber ,
4865 ]);
4966 }
0 commit comments