From 5878c96c3a0d349c8822d97a23a2be25dc95d9b5 Mon Sep 17 00:00:00 2001 From: Sevan Nerse Date: Fri, 26 Feb 2021 17:16:48 +0300 Subject: [PATCH] this makes possible adding extra attributes to models --- app/Abstracts/Model.php | 15 +++++++++++++- app/Events/Common/ModelCreated.php | 24 ---------------------- app/Imports/Banking/Transactions.php | 7 +------ app/Imports/Banking/Transfers.php | 7 +------ app/Imports/Common/Sheets/Items.php | 7 +------ app/Imports/Purchases/Payments.php | 7 +------ app/Imports/Purchases/Sheets/BillItems.php | 7 +------ app/Imports/Purchases/Sheets/Bills.php | 7 +------ app/Imports/Purchases/Vendors.php | 7 +------ app/Imports/Sales/Customers.php | 7 +------ app/Imports/Sales/Revenues.php | 7 +------ app/Imports/Sales/Sheets/InvoiceItems.php | 7 +------ app/Imports/Sales/Sheets/Invoices.php | 7 +------ app/Imports/Settings/Categories.php | 7 +------ app/Models/Common/Company.php | 15 +++++++++++++- app/Models/Setting/Setting.php | 15 +++++++++++++- 16 files changed, 54 insertions(+), 99 deletions(-) delete mode 100644 app/Events/Common/ModelCreated.php diff --git a/app/Abstracts/Model.php b/app/Abstracts/Model.php index 1ba1b25c6..fe9b12678 100644 --- a/app/Abstracts/Model.php +++ b/app/Abstracts/Model.php @@ -21,10 +21,23 @@ abstract class Model extends Eloquent 'enabled' => 'boolean', ]; - public $extras = [ + public $allAttributes = [ // ]; + /** + * Create a new Eloquent model instance. + * + * @param array $attributes + * @return void + */ + public function __construct(array $attributes = []) + { + $this->allAttributes = $attributes; + + parent::__construct($attributes); + } + public static function observe($classes) { parent::observe($classes); diff --git a/app/Events/Common/ModelCreated.php b/app/Events/Common/ModelCreated.php deleted file mode 100644 index de7d71ea5..000000000 --- a/app/Events/Common/ModelCreated.php +++ /dev/null @@ -1,24 +0,0 @@ -model = $model; - $this->attributes = $attributes; - } -} diff --git a/app/Imports/Banking/Transactions.php b/app/Imports/Banking/Transactions.php index 31c48c802..03d86d35a 100644 --- a/app/Imports/Banking/Transactions.php +++ b/app/Imports/Banking/Transactions.php @@ -3,7 +3,6 @@ namespace App\Imports\Banking; use App\Abstracts\Import; -use App\Events\Common\ModelCreated; use App\Http\Requests\Banking\Transaction as Request; use App\Models\Banking\Transaction as Model; @@ -11,11 +10,7 @@ class Transactions extends Import { public function model(array $row) { - $model = new Model($row); - - event(new ModelCreated($model, $row)); - - return $model; + return new Model($row); } public function map($row): array diff --git a/app/Imports/Banking/Transfers.php b/app/Imports/Banking/Transfers.php index 480742f91..4a6b13b9f 100644 --- a/app/Imports/Banking/Transfers.php +++ b/app/Imports/Banking/Transfers.php @@ -3,7 +3,6 @@ namespace App\Imports\Banking; use App\Abstracts\Import; -use App\Events\Common\ModelCreated; use App\Models\Banking\Transaction; use App\Models\Banking\Transfer as Model; use App\Models\Setting\Category; @@ -16,11 +15,7 @@ class Transfers extends Import public function model(array $row) { - $model = new Model($row); - - event(new ModelCreated($model, $row)); - - return $model; + return new Model($row); } public function map($row): array diff --git a/app/Imports/Common/Sheets/Items.php b/app/Imports/Common/Sheets/Items.php index e58d38a6e..53fa519df 100644 --- a/app/Imports/Common/Sheets/Items.php +++ b/app/Imports/Common/Sheets/Items.php @@ -3,7 +3,6 @@ namespace App\Imports\Common\Sheets; use App\Abstracts\Import; -use App\Events\Common\ModelCreated; use App\Http\Requests\Common\Item as Request; use App\Models\Common\Item as Model; @@ -11,11 +10,7 @@ class Items extends Import { public function model(array $row) { - $model = new Model($row); - - event(new ModelCreated($model, $row)); - - return $model; + return new Model($row); } public function map($row): array diff --git a/app/Imports/Purchases/Payments.php b/app/Imports/Purchases/Payments.php index 649ce9f6e..f35932ffd 100644 --- a/app/Imports/Purchases/Payments.php +++ b/app/Imports/Purchases/Payments.php @@ -3,7 +3,6 @@ namespace App\Imports\Purchases; use App\Abstracts\Import; -use App\Events\Common\ModelCreated; use App\Http\Requests\Banking\Transaction as Request; use App\Models\Banking\Transaction as Model; @@ -11,11 +10,7 @@ class Payments extends Import { public function model(array $row) { - $model = new Model($row); - - event(new ModelCreated($model, $row)); - - return $model; + return new Model($row); } public function map($row): array diff --git a/app/Imports/Purchases/Sheets/BillItems.php b/app/Imports/Purchases/Sheets/BillItems.php index 13b231a58..885b3d3ce 100644 --- a/app/Imports/Purchases/Sheets/BillItems.php +++ b/app/Imports/Purchases/Sheets/BillItems.php @@ -3,7 +3,6 @@ namespace App\Imports\Purchases\Sheets; use App\Abstracts\Import; -use App\Events\Common\ModelCreated; use App\Http\Requests\Document\DocumentItem as Request; use App\Models\Document\Document; use App\Models\Document\DocumentItem as Model; @@ -12,11 +11,7 @@ class BillItems extends Import { public function model(array $row) { - $model = new Model($row); - - event(new ModelCreated($model, $row)); - - return $model; + return new Model($row); } public function map($row): array diff --git a/app/Imports/Purchases/Sheets/Bills.php b/app/Imports/Purchases/Sheets/Bills.php index b69d1ba2f..b8e177be7 100644 --- a/app/Imports/Purchases/Sheets/Bills.php +++ b/app/Imports/Purchases/Sheets/Bills.php @@ -3,7 +3,6 @@ namespace App\Imports\Purchases\Sheets; use App\Abstracts\Import; -use App\Events\Common\ModelCreated; use App\Http\Requests\Document\Document as Request; use App\Models\Document\Document as Model; use Illuminate\Support\Str; @@ -12,11 +11,7 @@ class Bills extends Import { public function model(array $row) { - $model = new Model($row); - - event(new ModelCreated($model, $row)); - - return $model; + return new Model($row); } public function map($row): array diff --git a/app/Imports/Purchases/Vendors.php b/app/Imports/Purchases/Vendors.php index 10002e397..93a8130a6 100644 --- a/app/Imports/Purchases/Vendors.php +++ b/app/Imports/Purchases/Vendors.php @@ -3,7 +3,6 @@ namespace App\Imports\Purchases; use App\Abstracts\Import; -use App\Events\Common\ModelCreated; use App\Http\Requests\Common\Contact as Request; use App\Models\Common\Contact as Model; @@ -11,11 +10,7 @@ class Vendors extends Import { public function model(array $row) { - $model = new Model($row); - - event(new ModelCreated($model, $row)); - - return $model; + return new Model($row); } public function map($row): array diff --git a/app/Imports/Sales/Customers.php b/app/Imports/Sales/Customers.php index cfba9619f..52140ca4c 100644 --- a/app/Imports/Sales/Customers.php +++ b/app/Imports/Sales/Customers.php @@ -3,7 +3,6 @@ namespace App\Imports\Sales; use App\Abstracts\Import; -use App\Events\Common\ModelCreated; use App\Http\Requests\Common\Contact as Request; use App\Models\Common\Contact as Model; @@ -11,11 +10,7 @@ class Customers extends Import { public function model(array $row) { - $model = new Model($row); - - event(new ModelCreated($model, $row)); - - return $model; + return new Model($row); } public function map($row): array diff --git a/app/Imports/Sales/Revenues.php b/app/Imports/Sales/Revenues.php index ff9442a4f..babc5e92a 100644 --- a/app/Imports/Sales/Revenues.php +++ b/app/Imports/Sales/Revenues.php @@ -3,7 +3,6 @@ namespace App\Imports\Sales; use App\Abstracts\Import; -use App\Events\Common\ModelCreated; use App\Http\Requests\Banking\Transaction as Request; use App\Models\Banking\Transaction as Model; @@ -11,11 +10,7 @@ class Revenues extends Import { public function model(array $row) { - $model = new Model($row); - - event(new ModelCreated($model, $row)); - - return $model; + return new Model($row); } public function map($row): array diff --git a/app/Imports/Sales/Sheets/InvoiceItems.php b/app/Imports/Sales/Sheets/InvoiceItems.php index 154133026..36f068cd1 100644 --- a/app/Imports/Sales/Sheets/InvoiceItems.php +++ b/app/Imports/Sales/Sheets/InvoiceItems.php @@ -3,7 +3,6 @@ namespace App\Imports\Sales\Sheets; use App\Abstracts\Import; -use App\Events\Common\ModelCreated; use App\Http\Requests\Document\DocumentItem as Request; use App\Models\Document\Document; use App\Models\Document\DocumentItem as Model; @@ -12,11 +11,7 @@ class InvoiceItems extends Import { public function model(array $row) { - $model = new Model($row); - - event(new ModelCreated($model, $row)); - - return $model; + return new Model($row); } public function map($row): array diff --git a/app/Imports/Sales/Sheets/Invoices.php b/app/Imports/Sales/Sheets/Invoices.php index b3c58bafe..89c997505 100644 --- a/app/Imports/Sales/Sheets/Invoices.php +++ b/app/Imports/Sales/Sheets/Invoices.php @@ -3,7 +3,6 @@ namespace App\Imports\Sales\Sheets; use App\Abstracts\Import; -use App\Events\Common\ModelCreated; use App\Http\Requests\Document\Document as Request; use App\Models\Document\Document as Model; use Illuminate\Support\Str; @@ -12,11 +11,7 @@ class Invoices extends Import { public function model(array $row) { - $model = new Model($row); - - event(new ModelCreated($model, $row)); - - return $model; + return new Model($row); } public function map($row): array diff --git a/app/Imports/Settings/Categories.php b/app/Imports/Settings/Categories.php index 529e1c000..7443c09d3 100644 --- a/app/Imports/Settings/Categories.php +++ b/app/Imports/Settings/Categories.php @@ -3,7 +3,6 @@ namespace App\Imports\Settings; use App\Abstracts\Import; -use App\Events\Common\ModelCreated; use App\Http\Requests\Setting\Category as Request; use App\Models\Setting\Category as Model; @@ -11,11 +10,7 @@ class Categories extends Import { public function model(array $row) { - $model = new Model($row); - - event(new ModelCreated($model, $row)); - - return $model; + return new Model($row); } public function rules(): array diff --git a/app/Models/Common/Company.php b/app/Models/Common/Company.php index 18f47c48b..1224d24a2 100644 --- a/app/Models/Common/Company.php +++ b/app/Models/Common/Company.php @@ -28,7 +28,7 @@ class Company extends Eloquent 'enabled' => 'boolean', ]; - public $extras = [ + public $allAttributes = [ // ]; @@ -39,6 +39,19 @@ class Company extends Eloquent */ public $sortable = ['name', 'domain', 'email', 'enabled', 'created_at']; + /** + * Create a new Eloquent model instance. + * + * @param array $attributes + * @return void + */ + public function __construct(array $attributes = []) + { + $this->allAttributes = $attributes; + + parent::__construct($attributes); + } + public static function boot() { parent::boot(); diff --git a/app/Models/Setting/Setting.php b/app/Models/Setting/Setting.php index 80f2366a2..b908a93c9 100644 --- a/app/Models/Setting/Setting.php +++ b/app/Models/Setting/Setting.php @@ -20,12 +20,25 @@ class Setting extends Eloquent */ protected $fillable = ['company_id', 'key', 'value']; - public $extras = [ + public $allAttributes = [ // ]; public $timestamps = false; + /** + * Create a new Eloquent model instance. + * + * @param array $attributes + * @return void + */ + public function __construct(array $attributes = []) + { + $this->allAttributes = $attributes; + + parent::__construct($attributes); + } + public function company() { return $this->belongsTo('App\Models\Common\Company');