check document completed upload before user submitted form

This commit is contained in:
Hillel Coren 2016-05-25 21:44:06 +03:00
parent fc981c0604
commit afd7b7ed38

View File

@ -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