mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-05-24 02:14:21 -04:00
Fixes for purchase order to expense
This commit is contained in:
parent
771cfed8f6
commit
44ec3fdd50
@ -101,16 +101,12 @@ class InvoiceSum
|
||||
private function calculateCustomValues()
|
||||
{
|
||||
|
||||
// $this->total_taxes += $this->valuerTax($this->invoice->custom_surcharge1, $this->invoice->custom_surcharge_tax1);
|
||||
$this->total_custom_values += $this->valuer($this->invoice->custom_surcharge1);
|
||||
|
||||
// $this->total_taxes += $this->valuerTax($this->invoice->custom_surcharge2, $this->invoice->custom_surcharge_tax2);
|
||||
$this->total_custom_values += $this->valuer($this->invoice->custom_surcharge2);
|
||||
|
||||
// $this->total_taxes += $this->valuerTax($this->invoice->custom_surcharge3, $this->invoice->custom_surcharge_tax3);
|
||||
$this->total_custom_values += $this->valuer($this->invoice->custom_surcharge3);
|
||||
|
||||
// $this->total_taxes += $this->valuerTax($this->invoice->custom_surcharge4, $this->invoice->custom_surcharge_tax4);
|
||||
$this->total_custom_values += $this->valuer($this->invoice->custom_surcharge4);
|
||||
|
||||
$this->total += $this->total_custom_values;
|
||||
@ -155,7 +151,7 @@ class InvoiceSum
|
||||
*/
|
||||
private function calculateBalance()
|
||||
{
|
||||
//$this->invoice->balance = $this->balance($this->getTotal(), $this->invoice);
|
||||
|
||||
$this->setCalculatedAttributes();
|
||||
|
||||
return $this;
|
||||
@ -174,22 +170,6 @@ class InvoiceSum
|
||||
{
|
||||
$this->total += $this->total_taxes;
|
||||
|
||||
// if (is_numeric($this->invoice->custom_value1)) {
|
||||
// $this->total += $this->invoice->custom_value1;
|
||||
// }
|
||||
|
||||
// if (is_numeric($this->invoice->custom_value2)) {
|
||||
// $this->total += $this->invoice->custom_value2;
|
||||
// }
|
||||
|
||||
// if (is_numeric($this->invoice->custom_value3)) {
|
||||
// $this->total += $this->invoice->custom_value3;
|
||||
// }
|
||||
|
||||
// if (is_numeric($this->invoice->custom_value4)) {
|
||||
// $this->total += $this->invoice->custom_value4;
|
||||
// }
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
|
@ -367,6 +367,10 @@ class PurchaseOrderController extends BaseController
|
||||
|
||||
$purchase_order = $this->purchase_order_repository->save($request->all(), $purchase_order);
|
||||
|
||||
$purchase_order = $purchase_order->service()
|
||||
->triggeredActions($request)
|
||||
->save();
|
||||
|
||||
event(new PurchaseOrderWasUpdated($purchase_order, $purchase_order->company, Ninja::eventVars(auth()->user() ? auth()->user()->id : null)));
|
||||
|
||||
return $this->itemResponse($purchase_order);
|
||||
|
@ -42,9 +42,6 @@ class StoreExpenseRequest extends Request
|
||||
if(!empty($this->client_id))
|
||||
$rules['client_id'] = 'bail|sometimes|exists:clients,id,company_id,'.auth()->user()->company()->id;
|
||||
|
||||
if(!empty($this->purchase_order_id))
|
||||
$rules['purchase_order_id'] = 'bail|sometimes|exists:purchase_orders,id,company_id,'.auth()->user()->company()->id;
|
||||
|
||||
return $this->globalRules($rules);
|
||||
}
|
||||
|
||||
@ -62,10 +59,6 @@ class StoreExpenseRequest extends Request
|
||||
$input['currency_id'] = (string)auth()->user()->company()->settings->currency_id;
|
||||
}
|
||||
|
||||
if (array_key_exists('purchase_order_id', $input) && is_string($input['purchase_order_id'])) {
|
||||
$input['purchase_order_id'] = $this->decodePrimaryKey($input['purchase_order_id']);
|
||||
}
|
||||
|
||||
if(array_key_exists('color', $input) && is_null($input['color']))
|
||||
$input['color'] = '';
|
||||
|
||||
|
@ -28,13 +28,25 @@ class PurchaseOrderExpense
|
||||
{
|
||||
|
||||
$expense = ExpenseFactory::create($this->purchase_order->company_id, $this->purchase_order->user_id);
|
||||
$expense->amount = $this->purchase_order->amount;
|
||||
|
||||
$expense->amount = $this->purchase_order->uses_inclusive_taxes ? $this->purchase_order->amount : ($this->purchase_order->amount - $this->purchase_order->total_taxes);
|
||||
|
||||
$expense->date = now();
|
||||
$expense->vendor_id = $this->purchase_order->vendor_id;
|
||||
$expense->public_notes = $this->purchase_order->public_notes;
|
||||
$expense->purchase_order_id = $this->purchase_order->id;
|
||||
$expense->uses_inclusive_taxes = $this->purchase_order->uses_inclusive_taxes;
|
||||
$expense->calculate_tax_by_amount = true;
|
||||
|
||||
$tax_map = $this->purchase_order->calc()->getTaxMap();
|
||||
|
||||
$expense->tax_amount1 = $this->purchase_order->total_taxes;
|
||||
$expense->tax_name1 = ctrans("texts.tax");
|
||||
|
||||
$expense->save();
|
||||
|
||||
$this->purchase_order->expense_id = $expense->id;
|
||||
$this->purchase_order->save();
|
||||
|
||||
return $expense;
|
||||
|
||||
}
|
||||
|
@ -130,6 +130,9 @@ class PurchaseOrderService
|
||||
{
|
||||
$this->markSent();
|
||||
|
||||
if($this->purchase_order->expense()->exists())
|
||||
return $this;
|
||||
|
||||
$expense = (new PurchaseOrderExpense($this->purchase_order))->run();
|
||||
|
||||
return $expense;
|
||||
|
Loading…
x
Reference in New Issue
Block a user