Removed my own validation source in favour of Ardent.

This commit is contained in:
James Cole
2014-07-15 17:09:59 +02:00
parent a1fb4bdb60
commit aa36e8b7cf
17 changed files with 212 additions and 163 deletions

View File

@@ -1,9 +1,14 @@
<?php
use LaravelBook\Ardent\Ardent as Ardent;
class Account extends Elegant
class Account extends Ardent
{
/**
* Validation rules.
*
* @var array
*/
public static $rules
= [
'name' => 'required|between:1,100',
@@ -13,6 +18,11 @@ class Account extends Elegant
];
/**
* Factory instructions
*
* @var array
*/
public static $factory
= [
'name' => 'string',
@@ -21,11 +31,21 @@ class Account extends Elegant
'active' => '1'
];
/**
* Account type.
*
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
public function accountType()
{
return $this->belongsTo('AccountType');
}
/**
* User
*
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
public function user()
{
return $this->belongsTo('User');
@@ -42,11 +62,20 @@ class Account extends Elegant
{
$date = is_null($date) ? new \Carbon\Carbon : $date;
return floatval($this->transactions()
->leftJoin('transaction_journals', 'transaction_journals.id', '=', 'transactions.transaction_journal_id')
->where('transaction_journals.date', '<=', $date->format('Y-m-d'))->sum('transactions.amount'));
return floatval(
$this->transactions()
->leftJoin(
'transaction_journals', 'transaction_journals.id', '=', 'transactions.transaction_journal_id'
)
->where('transaction_journals.date', '<=', $date->format('Y-m-d'))->sum('transactions.amount')
);
}
/**
* Transactions.
*
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function transactions()
{
return $this->hasMany('Transaction');

View File

@@ -9,7 +9,6 @@ class Component extends Firefly\Database\SingleTableInheritanceEntity
'user_id' => 'exists:users,id|required',
'name' => 'required|between:1,255',
'class' => 'required',
'component_type_id' => 'required|exists:component_types,id'
];
protected $table = 'components';
protected $subclassField = 'class';

View File

@@ -1,18 +0,0 @@
<?php
use \Illuminate\Database\Eloquent\Model as Eloquent;
class Elegant extends Eloquent
{
public static $rules = [];
public $validator;
public function isValid()
{
$validator = Validator::make(
$this->toArray(),
$this::$rules
);
$this->validator = $validator;
return $validator->passes();
}
}

View File

@@ -1,19 +1,23 @@
<?php
class Preference extends Elegant
use LaravelBook\Ardent\Ardent;
class Preference extends Ardent
{
public static $rules
= [
'user_id' => 'required|exists:user,id',
'user_id' => 'required|exists:users,id',
'name' => 'required|between:1,255',
'data' => 'required'
];
public static $factory = [
'user_id' => 'factory|User',
'name' => 'string',
'data' => 'string'
];
public static $factory
= [
'user_id' => 'factory|User',
'name' => 'string',
'data' => 'string'
];
public function user()
{

View File

@@ -1,14 +1,16 @@
<?php
use LaravelBook\Ardent\Ardent;
class Transaction extends Elegant
class Transaction extends Ardent
{
public static $rules
= [
'account_id' => 'numeric|required|exists:accounts,id',
'transaction_journal_id' => 'numeric|required|exists:transaction_journals,id',
'description' => 'between:1,255',
'amount' => 'required|between:-65536,65536',
'amount' => 'required|between:-65536,65536|not_in:0,0.00',
];
public static $factory

View File

@@ -1,15 +1,17 @@
<?php
use LaravelBook\Ardent\Ardent;
class TransactionJournal extends Elegant
class TransactionJournal extends Ardent
{
public static $rules
= [
'transaction_type_id' => 'required|exists:transaction_types,id',
'transaction_currency_id' => 'required|exists:transaction_currencies,id',
'description' => 'between:1,255',
'date' => 'date',
'description' => 'required|between:1,255',
'date' => 'required|date',
'completed' => 'required|between:0,1'
];

View File

@@ -4,8 +4,10 @@ use Illuminate\Auth\Reminders\RemindableInterface;
use Illuminate\Auth\Reminders\RemindableTrait;
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\UserTrait;
use LaravelBook\Ardent\Ardent;
class User extends Elegant implements UserInterface, RemindableInterface
class User extends Ardent implements UserInterface, RemindableInterface
{
use UserTrait, RemindableTrait;
@@ -22,7 +24,7 @@ class User extends Elegant implements UserInterface, RemindableInterface
public static $factory
= [
'email' => 'email',
'password' => 'string',
'password' => 'string|60',
'migrated' => '0'
];