check document completed upload before user submitted form
This commit is contained in:
parent
fc981c0604
commit
afd7b7ed38
1 changed files with 13 additions and 10 deletions
|
|
@ -12,7 +12,7 @@ use Session;
|
|||
class ExpenseRepository extends BaseRepository
|
||||
{
|
||||
protected $documentRepo;
|
||||
|
||||
|
||||
// Expenses
|
||||
public function getClassName()
|
||||
{
|
||||
|
|
@ -23,7 +23,7 @@ class ExpenseRepository extends BaseRepository
|
|||
{
|
||||
$this->documentRepo = $documentRepo;
|
||||
}
|
||||
|
||||
|
||||
public function all()
|
||||
{
|
||||
return Expense::scope()
|
||||
|
|
@ -156,20 +156,23 @@ class ExpenseRepository extends BaseRepository
|
|||
$rate = isset($input['exchange_rate']) ? Utils::parseFloat($input['exchange_rate']) : 1;
|
||||
$expense->exchange_rate = round($rate, 4);
|
||||
$expense->amount = round(Utils::parseFloat($input['amount']), 2);
|
||||
|
||||
|
||||
$expense->save();
|
||||
|
||||
// Documents
|
||||
$document_ids = !empty($input['document_ids'])?array_map('intval', $input['document_ids']):array();;
|
||||
foreach ($document_ids as $document_id){
|
||||
$document = Document::scope($document_id)->first();
|
||||
if($document && Auth::user()->can('edit', $document)){
|
||||
$document->invoice_id = null;
|
||||
$document->expense_id = $expense->id;
|
||||
$document->save();
|
||||
// check document completed upload before user submitted form
|
||||
if ($document_id) {
|
||||
$document = Document::scope($document_id)->first();
|
||||
if($document && Auth::user()->can('edit', $document)){
|
||||
$document->invoice_id = null;
|
||||
$document->expense_id = $expense->id;
|
||||
$document->save();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(!empty($input['documents']) && Auth::user()->can('create', ENTITY_DOCUMENT)){
|
||||
// Fallback upload
|
||||
$doc_errors = array();
|
||||
|
|
@ -188,7 +191,7 @@ class ExpenseRepository extends BaseRepository
|
|||
Session::flash('error', implode('<br>',array_map('htmlentities',$doc_errors)));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
foreach ($expense->documents as $document){
|
||||
if(!in_array($document->public_id, $document_ids)){
|
||||
// Not checking permissions; deleting a document is just editing the invoice
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue