Item multiple tax added

This commit is contained in:
Cüneyt Şentürk
2020-12-08 13:30:06 +03:00
parent 02e73f9ebe
commit 032555507b
9 changed files with 123 additions and 5 deletions

View File

@@ -4,6 +4,7 @@ namespace App\Jobs\Common;
use App\Abstracts\Job;
use App\Models\Common\Item;
use App\Jobs\Common\CreateItemTaxes;
class CreateItem extends Job
{
@@ -37,6 +38,8 @@ class CreateItem extends Job
$this->item->attachMedia($media, 'picture');
}
$this->dispatch(new CreateItemTaxes($this->item, $this->request));
});
return $this->item;

View File

@@ -0,0 +1,54 @@
<?php
namespace App\Jobs\Common;
use App\Abstracts\Job;
use App\Models\Common\ItemTax;
class CreateItemTaxes extends Job
{
protected $item;
protected $request;
/**
* Create a new job instance.
*
* @param $item
* @param $request
*/
public function __construct($item, $request)
{
$this->item = $item;
$this->request = $request;
}
/**
* Execute the job.
*
* @return Item
*/
public function handle()
{
\DB::transaction(function () {
// This controller for BC < 2.1
if (!empty($this->request['tax_id'])) {
ItemTax::create([
'company_id' => $this->item->company_id,
'item_id' => $this->item->id,
'tax_id' => $this->request['tax_id']
]);
} else {
foreach ($this->request['tax_ids'] as $tax_id) {
ItemTax::create([
'company_id' => $this->item->company_id,
'item_id' => $this->item->id,
'tax_id' => $tax_id
]);
}
}
});
return $this->item->taxes;
}
}

View File

@@ -28,6 +28,10 @@ class DeleteItem extends Job
$this->authorize();
\DB::transaction(function () {
$this->deleteRelationships($this->item, [
'taxes'
]);
$this->item->delete();
});

View File

@@ -4,6 +4,7 @@ namespace App\Jobs\Common;
use App\Abstracts\Job;
use App\Models\Common\Item;
use App\Jobs\Common\CreateItemTaxes;
class UpdateItem extends Job
{
@@ -39,6 +40,10 @@ class UpdateItem extends Job
$this->item->attachMedia($media, 'picture');
}
$this->deleteRelationships($this->item, ['taxes']);
$this->dispatch(new CreateItemTaxes($this->item, $this->request));
});
return $this->item;