mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-11-11 20:27:08 -05:00
63 lines
1.5 KiB
PHP
63 lines
1.5 KiB
PHP
<?php namespace App\Models;
|
|
|
|
use Auth;
|
|
|
|
/**
|
|
* Class AccountGatewaySettings
|
|
*/
|
|
class AccountGatewaySettings extends EntityModel
|
|
{
|
|
/**
|
|
* @var array
|
|
*/
|
|
protected $dates = ['updated_at'];
|
|
|
|
/**
|
|
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
|
|
*/
|
|
public function gatewayType()
|
|
{
|
|
return $this->belongsTo('App\Models\GatewayType');
|
|
}
|
|
|
|
/**
|
|
* @param null $context
|
|
* @return mixed
|
|
*/
|
|
public static function createNew($context = null)
|
|
{
|
|
$className = get_called_class();
|
|
$entity = new $className();
|
|
|
|
if ($context) {
|
|
$user = $context instanceof User ? $context : $context->user;
|
|
$account = $context->account;
|
|
} elseif (Auth::check()) {
|
|
$user = Auth::user();
|
|
$account = Auth::user()->account;
|
|
} else {
|
|
Utils::fatalError();
|
|
}
|
|
|
|
$entity->user_id = $user->id;
|
|
$entity->account_id = $account->id;
|
|
|
|
// store references to the original user/account to prevent needing to reload them
|
|
$entity->setRelation('user', $user);
|
|
$entity->setRelation('account', $account);
|
|
|
|
if (method_exists($className, 'trashed')){
|
|
$lastEntity = $className::whereAccountId($entity->account_id)->withTrashed();
|
|
} else {
|
|
$lastEntity = $className::whereAccountId($entity->account_id);
|
|
}
|
|
|
|
return $entity;
|
|
}
|
|
|
|
public function setCreatedAtAttribute($value)
|
|
{
|
|
// to Disable created_at
|
|
}
|
|
}
|