| 
									
										
										
										
											2016-01-13 15:10:49 +01:00
										 |  |  | <?php | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * ClearBudget.php | 
					
						
							| 
									
										
										
										
											2016-04-01 16:44:46 +02:00
										 |  |  |  * Copyright (C) 2016 thegrumpydictator@gmail.com | 
					
						
							| 
									
										
										
										
											2016-01-13 15:10:49 +01:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2016-10-05 06:52:15 +02:00
										 |  |  |  * This software may be modified and distributed under the terms of the | 
					
						
							|  |  |  |  * Creative Commons Attribution-ShareAlike 4.0 International License. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * See the LICENSE file for details. | 
					
						
							| 
									
										
										
										
											2016-01-13 15:10:49 +01:00
										 |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-20 12:41:23 +02:00
										 |  |  | declare(strict_types = 1); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-13 15:10:49 +01:00
										 |  |  | namespace FireflyIII\Rules\Actions; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | use FireflyIII\Models\RuleAction; | 
					
						
							|  |  |  | use FireflyIII\Models\TransactionJournal; | 
					
						
							| 
									
										
										
										
											2016-09-21 20:12:04 +02:00
										 |  |  | use Log; | 
					
						
							| 
									
										
										
										
											2016-01-13 15:10:49 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * Class ClearBudget | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * @package FireflyIII\Rules\Action | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | class ClearBudget implements ActionInterface | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     private $action; | 
					
						
							| 
									
										
										
										
											2016-02-17 19:56:05 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-13 15:10:49 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * TriggerInterface constructor. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2016-03-14 20:53:56 +01:00
										 |  |  |      * @param RuleAction $action | 
					
						
							| 
									
										
										
										
											2016-01-13 15:10:49 +01:00
										 |  |  |      */ | 
					
						
							| 
									
										
										
										
											2016-02-17 19:56:05 +01:00
										 |  |  |     public function __construct(RuleAction $action) | 
					
						
							| 
									
										
										
										
											2016-01-13 15:10:49 +01:00
										 |  |  |     { | 
					
						
							| 
									
										
										
										
											2016-03-14 20:53:56 +01:00
										 |  |  |         $this->action = $action; | 
					
						
							| 
									
										
										
										
											2016-01-13 15:10:49 +01:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2016-02-17 19:56:05 +01:00
										 |  |  |      * @param TransactionJournal $journal | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2016-01-13 15:10:49 +01:00
										 |  |  |      * @return bool | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2016-04-05 22:00:03 +02:00
										 |  |  |     public function act(TransactionJournal $journal): bool | 
					
						
							| 
									
										
										
										
											2016-01-13 15:10:49 +01:00
										 |  |  |     { | 
					
						
							| 
									
										
										
										
											2016-02-17 19:56:05 +01:00
										 |  |  |         $journal->budgets()->detach(); | 
					
						
							| 
									
										
										
										
											2016-09-21 20:12:04 +02:00
										 |  |  |         Log::debug(sprintf('RuleAction ClearBudget removed all budgets from journal %d.', $journal->id)); | 
					
						
							| 
									
										
										
										
											2016-01-13 15:10:49 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |         return true; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2016-01-28 21:50:20 +01:00
										 |  |  | } |