mirror of
				https://gitlab.com/Chill-Projet/chill-bundles.git
				synced 2025-11-04 11:18:25 +00:00 
			
		
		
		
	Compare commits
	
		
			1 Commits
		
	
	
		
			280-add-mi
			...
			453-bug-cs
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 36dfce6613 | 
							
								
								
									
										6
									
								
								.changes/unreleased/Fixed-20251029-143836.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								.changes/unreleased/Fixed-20251029-143836.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
kind: Fixed
 | 
			
		||||
body: 'Fix: export actions and their results in csv even when action does not have any goals attached to it.'
 | 
			
		||||
time: 2025-10-29T14:38:36.195220844+01:00
 | 
			
		||||
custom:
 | 
			
		||||
    Issue: "453"
 | 
			
		||||
    SchemaChange: No schema change
 | 
			
		||||
@@ -42,28 +42,41 @@ final readonly class SocialActionCSVExportService
 | 
			
		||||
        $csv->insertOne($headers);
 | 
			
		||||
 | 
			
		||||
        foreach ($actions as $action) {
 | 
			
		||||
            if ($action->getGoals()->isEmpty() && $action->getResults()->isEmpty() && $action->getEvaluations()->isEmpty()) {
 | 
			
		||||
            $hasGoals = !$action->getGoals()->isEmpty();
 | 
			
		||||
            $hasResults = !$action->getResults()->isEmpty();
 | 
			
		||||
            $hasEvaluations = !$action->getEvaluations()->isEmpty();
 | 
			
		||||
 | 
			
		||||
            // If action has no goals, results, or evaluations, insert a single row
 | 
			
		||||
            if (!$hasGoals && !$hasResults && !$hasEvaluations) {
 | 
			
		||||
                $csv->insertOne($this->formatRow($action));
 | 
			
		||||
                continue;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            foreach ($action->getGoals() as $goal) {
 | 
			
		||||
                if ($goal->getResults()->isEmpty()) {
 | 
			
		||||
                    $csv->insertOne($this->formatRow($action, $goal));
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                foreach ($goal->getResults() as $goalResult) {
 | 
			
		||||
                    $csv->insertOne($this->formatRow($action, $goal, $goalResult));
 | 
			
		||||
            // Process goals and their results
 | 
			
		||||
            if ($hasGoals) {
 | 
			
		||||
                foreach ($action->getGoals() as $goal) {
 | 
			
		||||
                    if ($goal->getResults()->isEmpty()) {
 | 
			
		||||
                        $csv->insertOne($this->formatRow($action, $goal));
 | 
			
		||||
                    } else {
 | 
			
		||||
                        foreach ($goal->getResults() as $goalResult) {
 | 
			
		||||
                            $csv->insertOne($this->formatRow($action, $goal, $goalResult));
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            foreach ($action->getResults() as $result) {
 | 
			
		||||
                if ($result->getGoals()->isEmpty()) {
 | 
			
		||||
            // Process results that are linked to this action (regardless of whether they have goals elsewhere)
 | 
			
		||||
            if ($hasResults && !$hasGoals) {
 | 
			
		||||
                foreach ($action->getResults() as $result) {
 | 
			
		||||
                    $csv->insertOne($this->formatRow($action, null, null, $result));
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            foreach ($action->getEvaluations() as $evaluation) {
 | 
			
		||||
                $csv->insertOne($this->formatRow($action, evaluation: $evaluation));
 | 
			
		||||
            // Process evaluations
 | 
			
		||||
            if ($hasEvaluations) {
 | 
			
		||||
                foreach ($action->getEvaluations() as $evaluation) {
 | 
			
		||||
                    $csv->insertOne($this->formatRow($action, evaluation: $evaluation));
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user