Add field to charge an expense to a user #130

This commit is contained in:
Nabeel Shahzad
2018-03-06 17:15:42 -06:00
parent dad923489b
commit c7925db0e7
4 changed files with 18 additions and 6 deletions

View File

@@ -16,6 +16,7 @@ class CreateExpensesTable extends Migration
$table->string('name');
$table->unsignedInteger('amount');
$table->unsignedTinyInteger('type');
$table->boolean('charge_to_user')->nullable()->default(false);
$table->boolean('multiplier')->nullable()->default(0);
$table->boolean('active')->nullable()->default(true);

View File

@@ -24,6 +24,7 @@ class ExpenseListener
'type' => ExpenseType::FLIGHT,
'amount' => 15000, # $150
'transaction_group' => '',
'charge_to_user' => true|false
]);*/
return $expenses;

View File

@@ -18,17 +18,19 @@ class Expense extends BaseModel
'amount',
'type',
'multiplier',
'charge_to_user',
'ref_class',
'ref_class_id',
'active',
];
public static $rules = [
'active' => 'boolean',
'airline_id' => 'integer',
'amount' => 'float',
'multiplier' => 'bool',
'type' => 'integer',
'active' => 'boolean',
'airline_id' => 'integer',
'amount' => 'float',
'type' => 'integer',
'multiplier' => 'bool',
'charge_to_user' => 'bool',
];
/**

View File

@@ -173,8 +173,16 @@ class PirepFinanceService extends BaseService
}
$debit = Money::createFromAmount($expense->amount);
# If the expense is marked to charge it to a user (only applicable to Flight)
# then change the journal to the user's to debit there
$journal = $pirep->airline->journal;
if ($expense->charge_to_user) {
$journal = $pirep->user->journal;
}
$this->journalRepo->post(
$pirep->airline->journal,
$journal,
null,
$debit,
$pirep,