diff --git a/app/Classes/General/Eloquent/Filters/IssuerIn.php b/app/Classes/General/Eloquent/Filters/IssuerIn.php new file mode 100644 index 00000000..f8958842 --- /dev/null +++ b/app/Classes/General/Eloquent/Filters/IssuerIn.php @@ -0,0 +1,20 @@ +whereIn('issuer', $value); + } + +} \ No newline at end of file diff --git a/app/Classes/Modules/Addresses/ControllersLogic/UpdateAddressLogic.php b/app/Classes/Modules/Addresses/ControllersLogic/UpdateAddressLogic.php index aa7b4434..805bc7ac 100644 --- a/app/Classes/Modules/Addresses/ControllersLogic/UpdateAddressLogic.php +++ b/app/Classes/Modules/Addresses/ControllersLogic/UpdateAddressLogic.php @@ -6,6 +6,7 @@ namespace App\Classes\Modules\Addresses\ControllersLogic; use App\Classes\General\Abstracts\AbstractControllerLogic; use App\Classes\Modules\Addresses\Services\UpdatesAddress; use App\Classes\Modules\Addresses\Services\FetchesAddress; +use App\Classes\Modules\Addresses\Services\FetchesDistrict; use App\Classes\Modules\Addresses\Standards\Rules\CanUpdateAddress; use App\Classes\Modules\Addresses\DataTransferObjects\AddressObject; use App\Http\Resources\AddressResource; @@ -35,17 +36,22 @@ class UpdateAddressLogic extends AbstractControllerLogic /** @var FetchesAddress */ private $fetchesAddress; + /** @var FetchesDistrict */ + private $fetchesDistrict; + /** * UpdateAddressLogic constructor. * @param CanUpdateAddress $canUpdateAddress * @param UpdatesAddress $updatesAddress * @param FetchesAddress $fetchesAddress + * @param FetchesDistrict $fetchesDistrict */ - public function __construct(CanUpdateAddress $canUpdateAddress, UpdatesAddress $updatesAddress, FetchesAddress $fetchesAddress) + public function __construct(CanUpdateAddress $canUpdateAddress, UpdatesAddress $updatesAddress, FetchesAddress $fetchesAddress, FetchesDistrict $fetchesDistrict) { $this->canUpdateAddress = $canUpdateAddress; $this->updatesAddress = $updatesAddress; $this->fetchesAddress = $fetchesAddress; + $this->fetchesDistrict = $fetchesDistrict; } @@ -58,7 +64,9 @@ class UpdateAddressLogic extends AbstractControllerLogic { try { - $object = new AddressObject($request->input('company_id'), $request->input('street_one'), $request->input('street_two'), $request->input('city'), $request->input('state'), $request->input('post_code'), $request->input('country'), $request->input('default'), $request->input('billing')); + $district = $this->fetchesDistrict->execute(['id' => $request->input('district_id')]); + $object = new AddressObject($request->input('street_one'), $request->input('street_two'), $district->country_id, $district->state_id, $district->id, $request->input('post_code')); + //$object = new AddressObject($request->input('company_id'), $request->input('street_one'), $request->input('street_two'), $request->input('city'), $request->input('state'), $request->input('post_code'), $request->input('country'), $request->input('default'), $request->input('billing')); $this->canUpdateAddress->passes($object); diff --git a/app/Classes/Modules/Addresses/Services/UpdatesAddress.php b/app/Classes/Modules/Addresses/Services/UpdatesAddress.php index 76ba4d15..907edc73 100644 --- a/app/Classes/Modules/Addresses/Services/UpdatesAddress.php +++ b/app/Classes/Modules/Addresses/Services/UpdatesAddress.php @@ -17,15 +17,15 @@ class UpdatesAddress extends AbstractUpdateRecord */ public function execute(Address $model, AddressObject $object) { - $model->company_id = $object->getCompanyId(); + //$model->company_id = $object->getCompanyId(); $model->street_one = $object->getStreetOne(); $model->street_two = $object->getStreetTwo(); - $model->city = $object->getCity(); - $model->state = $object->getState(); - $model->post_code = $object->getPostCode(); - $model->country = $object->getCountry(); - $model->default = $object->getDefault(); - $model->billing = $object->getBilling(); + $model->district_id = $object->getDistrictId(); + $model->state_id = $object->getStateId(); + $model->postcode = $object->getPostCode(); + $model->country_id = $object->getCountryId(); + //$model->default = $object->getDefault(); + //$model->billing = $object->getBilling(); return $this->handler($model); diff --git a/resources/assets/vue/components/address/elements/AddressComponent.vue b/resources/assets/vue/components/address/elements/AddressComponent.vue index 589213f2..df0062e6 100644 --- a/resources/assets/vue/components/address/elements/AddressComponent.vue +++ b/resources/assets/vue/components/address/elements/AddressComponent.vue @@ -12,7 +12,7 @@
- {{address.street_one}} {{address.street_two}} {{address.city}} {{address.state}} {{address.post_code}} {{address.country}} + {{address.street_one}} {{address.street_two}} {{address.city}} {{address.state.name}} {{address.post_code}} {{address.country.name}}
@@ -20,7 +20,7 @@
-
+
-
+
-
-
-
+
+
+
- +
- Default Address + Default Address
+ +
\ No newline at end of file diff --git a/resources/assets/vue/components/address/elements/AddressModalComponent.vue b/resources/assets/vue/components/address/elements/AddressModalComponent.vue new file mode 100644 index 00000000..0304eb2f --- /dev/null +++ b/resources/assets/vue/components/address/elements/AddressModalComponent.vue @@ -0,0 +1,54 @@ + + + diff --git a/resources/assets/vue/components/address/forms/AddressFormComponent.vue b/resources/assets/vue/components/address/forms/AddressFormComponent.vue index 809165a1..a201f4e5 100644 --- a/resources/assets/vue/components/address/forms/AddressFormComponent.vue +++ b/resources/assets/vue/components/address/forms/AddressFormComponent.vue @@ -39,7 +39,8 @@
- + +
@@ -56,20 +57,36 @@ required: true }, type: { + //Npte: type 1 = create, type 2 = update set default, type 3 = update address type: Number, default: 1 }, + addressData: { + type: Object, + default: {}, + required:false + }, }, watch: { 'id': function() { this.parameters.company_id = this.id; + }, + 'addressData': function() { + this.resetForm(); + this.parameters = { + company_id: this.id, + street_one: this.addressData.street_one, + street_two: this.addressData.street_two, + district_id: this.addressData.district.id, + post_code: this.addressData.post_code, + } } }, data() { return { parameters : { company_id: this.id, - street_one: '', + street_one: '', street_two: '', district_id: '', post_code: '', @@ -87,11 +104,23 @@ }, methods:{ submitForm(){ - this.submit((this.route('api.address.create')), 'post', 'bookingDetailSection', true, true) + if(this.type==3){ + this.submit((this.route('api.address.update',this.addressData.id)), 'put', 'bookingDetailSection', true, true) + }else { + this.submit((this.route('api.address.create')), 'post', 'bookingDetailSection', true, true) + } + }, + closeForm(){ + this.$root.$emit('updateAddressForm', {}, false); }, successHandler(response){ - this.type !== 2 ? this.$emit('updateDefaultAddress', response.payload.data) : this.$emit('createdAddress', response.payload.data); - this.resetForm(); + if(this.type==3){ + this.closeForm(); + this.$store.dispatch('reloadList', {'name': "addresslist"}); + }else { + this.type !== 2 ? this.$emit('updateDefaultAddress', response.payload.data) : this.$emit('createdAddress', response.payload.data); + this.resetForm(); + } } } } diff --git a/resources/assets/vue/components/companies/elements/CompanyDetailsComponent.vue b/resources/assets/vue/components/companies/elements/CompanyDetailsComponent.vue index 3fc57ff1..b258a4f0 100644 --- a/resources/assets/vue/components/companies/elements/CompanyDetailsComponent.vue +++ b/resources/assets/vue/components/companies/elements/CompanyDetailsComponent.vue @@ -1,13 +1,6 @@