performedOn($submission) ->withProperties(JsonCanonicalizer::canonicalize([ 'binding_count' => count($result->applications), 'succeeded' => $result->successCount(), 'failed' => $result->failureCount(), 'apply_status' => $result->applyStatus()->value, 'person_provisioned' => $result->provisionedSubjectType === 'person', 'subject_type' => $result->provisionedSubjectType, 'subject_id' => $result->provisionedSubjectId, ])) ->log('form_submission.bindings_pass_completed'); $parentActivityId = $passActivity instanceof Activity ? (string) $passActivity->id : null; foreach ($result->applications as $application) { $properties = [ 'parent_activity_id' => $parentActivityId, 'binding_id' => $application->bindingId, 'target_entity' => $application->targetEntity, 'target_attribute' => $application->targetAttribute, 'success' => $application->success, 'old_value' => $application->oldValue, 'new_value' => $application->newValue, 'source_submission_id' => (string) $submission->id, ]; if (! $application->success) { $properties['error_class'] = $application->exceptionClass; $properties['error_message'] = $application->exceptionMessage; } activity() ->performedOn($submission) ->withProperties(JsonCanonicalizer::canonicalize($properties)) ->log('form_submission.binding_applied'); } } }