mirror of
				https://github.com/firefly-iii/firefly-iii.git
				synced 2025-11-03 20:55:05 +00:00 
			
		
		
		
	Offload stuff to repositories for rules and rule groups, see issue #185
This commit is contained in:
		@@ -7,6 +7,8 @@ namespace FireflyIII\Repositories\RuleGroup;
 | 
			
		||||
use Auth;
 | 
			
		||||
use FireflyIII\Models\Rule;
 | 
			
		||||
use FireflyIII\Models\RuleGroup;
 | 
			
		||||
use FireflyIII\User;
 | 
			
		||||
use Illuminate\Database\Eloquent\Relations\HasMany;
 | 
			
		||||
use Illuminate\Support\Collection;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@@ -73,6 +75,33 @@ class RuleGroupRepository implements RuleGroupRepositoryInterface
 | 
			
		||||
        return intval($entry);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @param User $user
 | 
			
		||||
     *
 | 
			
		||||
     * @return Collection
 | 
			
		||||
     */
 | 
			
		||||
    public function getRuleGroupsWithRules(User $user): Collection
 | 
			
		||||
    {
 | 
			
		||||
        return $user->ruleGroups()
 | 
			
		||||
                    ->orderBy('active', 'DESC')
 | 
			
		||||
                    ->orderBy('order', 'ASC')
 | 
			
		||||
                    ->with(
 | 
			
		||||
                        [
 | 
			
		||||
                            'rules'              => function (HasMany $query) {
 | 
			
		||||
                                $query->orderBy('active', 'DESC');
 | 
			
		||||
                                $query->orderBy('order', 'ASC');
 | 
			
		||||
 | 
			
		||||
                            },
 | 
			
		||||
                            'rules.ruleTriggers' => function (HasMany $query) {
 | 
			
		||||
                                $query->orderBy('order', 'ASC');
 | 
			
		||||
                            },
 | 
			
		||||
                            'rules.ruleActions'  => function (HasMany $query) {
 | 
			
		||||
                                $query->orderBy('order', 'ASC');
 | 
			
		||||
                            },
 | 
			
		||||
                        ]
 | 
			
		||||
                    )->get();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @param RuleGroup $ruleGroup
 | 
			
		||||
     *
 | 
			
		||||
@@ -203,5 +232,4 @@ class RuleGroupRepository implements RuleGroupRepositoryInterface
 | 
			
		||||
 | 
			
		||||
        return $ruleGroup;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user