Files
firefly-iii/app/Models/Rule.php

77 lines
1.6 KiB
PHP
Raw Normal View History

2016-01-11 21:28:29 +01:00
<?php
/**
* Rule.php
2016-04-01 16:44:46 +02:00
* Copyright (C) 2016 thegrumpydictator@gmail.com
2016-01-11 21:28:29 +01: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-11 21:28:29 +01:00
*/
declare(strict_types = 1);
2016-01-11 21:28:29 +01:00
namespace FireflyIII\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
2016-01-13 16:05:39 +01:00
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
2016-01-11 21:28:29 +01:00
2016-11-18 20:06:08 +01:00
/**
* Class Rule
*
* @package FireflyIII\Models
*/
2016-01-11 21:28:29 +01:00
class Rule extends Model
{
use SoftDeletes;
2016-01-15 23:12:52 +01:00
2016-01-11 21:28:29 +01:00
/**
2016-08-26 06:44:24 +02:00
* @param Rule $value
*
* @return Rule
2016-01-11 21:28:29 +01:00
*/
2016-08-26 06:44:24 +02:00
public static function routeBinder(Rule $value)
2016-01-11 21:28:29 +01:00
{
2016-09-16 12:07:45 +02:00
if (auth()->check()) {
2016-09-16 12:15:58 +02:00
if ($value->user_id == auth()->user()->id) {
2016-08-26 06:44:24 +02:00
return $value;
}
}
throw new NotFoundHttpException;
2016-01-11 21:28:29 +01:00
}
/**
2016-08-26 06:44:24 +02:00
* @return \Illuminate\Database\Eloquent\Relations\HasMany
2016-01-11 21:28:29 +01:00
*/
2016-08-26 06:44:24 +02:00
public function ruleActions()
2016-01-11 21:28:29 +01:00
{
2016-08-26 06:44:24 +02:00
return $this->hasMany('FireflyIII\Models\RuleAction');
2016-01-11 21:28:29 +01:00
}
/**
2016-08-26 06:44:24 +02:00
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
2016-01-11 21:28:29 +01:00
*/
2016-08-26 06:44:24 +02:00
public function ruleGroup()
2016-01-11 21:28:29 +01:00
{
2016-08-26 06:44:24 +02:00
return $this->belongsTo('FireflyIII\Models\RuleGroup');
2016-01-11 21:28:29 +01:00
}
/**
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function ruleTriggers()
{
return $this->hasMany('FireflyIII\Models\RuleTrigger');
}
2016-01-13 16:05:39 +01:00
/**
2016-08-26 06:44:24 +02:00
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
2016-01-13 16:05:39 +01:00
*/
2016-08-26 06:44:24 +02:00
public function user()
2016-01-13 16:05:39 +01:00
{
2016-08-26 06:44:24 +02:00
return $this->belongsTo('FireflyIII\User');
2016-01-13 16:05:39 +01:00
}
2016-01-11 21:28:29 +01:00
}