diff --git a/app/Classes/General/Eloquent/Filters/DoesNotHaveTransactionType.php b/app/Classes/General/Eloquent/Filters/DoesNotHaveTransactionType.php
index 3568ac3b..486819bf 100644
--- a/app/Classes/General/Eloquent/Filters/DoesNotHaveTransactionType.php
+++ b/app/Classes/General/Eloquent/Filters/DoesNotHaveTransactionType.php
@@ -2,6 +2,7 @@
namespace App\Classes\General\Eloquent\Filters;
+use Carbon\Carbon;
use Illuminate\Database\Eloquent\Builder;
class DoesNotHaveTransactionType implements Filter
@@ -15,6 +16,8 @@ class DoesNotHaveTransactionType implements Filter
{
return $builder->whereDoesntHave('transactions', function (Builder $query) use($value) {
$query->where('type', $value);
+ })->whereHas('containers', function ($query){
+ return $query->whereDate('loading_date', '>=', Carbon::parse('08-08-2022'));
});
}
}
\ No newline at end of file
diff --git a/app/Classes/General/Eloquent/Filters/SegmentIdIn.php b/app/Classes/General/Eloquent/Filters/SegmentIdIn.php
new file mode 100644
index 00000000..de66a61f
--- /dev/null
+++ b/app/Classes/General/Eloquent/Filters/SegmentIdIn.php
@@ -0,0 +1,20 @@
+whereIn('segment_id', $value);
+ }
+
+}
\ No newline at end of file
diff --git a/app/Classes/Modules/Companies/Services/AssignsCompanyToSegment.php b/app/Classes/Modules/Companies/Services/AssignsCompanyToSegment.php
index 81b6e964..9c54d401 100644
--- a/app/Classes/Modules/Companies/Services/AssignsCompanyToSegment.php
+++ b/app/Classes/Modules/Companies/Services/AssignsCompanyToSegment.php
@@ -4,6 +4,7 @@ namespace App\Classes\Modules\Companies\Services;
use App\Classes\Exceptions\MalformedRequestException;
use App\Classes\General\Eloquent\AbstractUpdateRecord;
+use App\Classes\ValueObjects\Constants\BusinessType;
use App\Models\Company;
use App\Models\Segment;
use Illuminate\Database\QueryException;
@@ -19,8 +20,9 @@ class AssignsCompanyToSegment extends AbstractUpdateRecord
public function execute(Company $company, Segment $segment)
{
try {
-
- $company->segments()->attach($segment);
+ $companyModule = $company->companyModules()->where('type', BusinessType::IMPORTER)->first();
+ $connection = $companyModule->connections()->where('inviter_reference', 'CIEF');
+ $connection->segments()->attach($segment);
return $company;
diff --git a/app/Classes/ValueObjects/Constants/TransactionDetailType.php b/app/Classes/ValueObjects/Constants/TransactionDetailType.php
index b3e1541c..aa9e835c 100644
--- a/app/Classes/ValueObjects/Constants/TransactionDetailType.php
+++ b/app/Classes/ValueObjects/Constants/TransactionDetailType.php
@@ -4,9 +4,9 @@ namespace App\Classes\ValueObjects\Constants;
final class TransactionDetailType {
- public const SHIPPING_FEE = 'Shipping Fee';
+ public const SHIPPING_FEE = 'X1 Freight Service Charge';
- public const OVER_WEIGHT_CHARGES = 'Over weight charges';
+ public const OVER_WEIGHT_CHARGES = 'Overweight Charges';
public const CUSTOM_CHARGES = 'Custom charges';
}
diff --git a/app/Http/Controllers/Companies/AssignCompanyConnectionToConnectionSegmentController.php b/app/Http/Controllers/Companies/AssignCompanyConnectionToConnectionSegmentController.php
index fab9e692..e22c554f 100644
--- a/app/Http/Controllers/Companies/AssignCompanyConnectionToConnectionSegmentController.php
+++ b/app/Http/Controllers/Companies/AssignCompanyConnectionToConnectionSegmentController.php
@@ -10,7 +10,7 @@ class AssignCompanyConnectionToConnectionSegmentController
{
/**
* @param Request $request
- * @param AssignCompanyToSegmentLogic $logic
+ * @param AssignCompanyConnectionToConnectionSegmentLogic $logic
* @return JsonResponse
*/
public function assign(Request $request, AssignCompanyConnectionToConnectionSegmentLogic $logic): JsonResponse {
diff --git a/app/Http/Resources/CompanyModuleResource.php b/app/Http/Resources/CompanyModuleResource.php
index 13f4eb6a..22a0557d 100644
--- a/app/Http/Resources/CompanyModuleResource.php
+++ b/app/Http/Resources/CompanyModuleResource.php
@@ -47,6 +47,7 @@ class CompanyModuleResource extends JsonResource
'remarks' => RemarkResource::collection($this->remarks),
'marking' => $marking,
'warehouseCharges' => array_key_exists($this->id, $segmentConstant) ? $segmentConstant[$this->id] : null,
+ 'connections' => $this->connections,
];
}
diff --git a/app/Http/Resources/CompanyResource.php b/app/Http/Resources/CompanyResource.php
index 8e27ab73..899a9405 100644
--- a/app/Http/Resources/CompanyResource.php
+++ b/app/Http/Resources/CompanyResource.php
@@ -27,6 +27,7 @@ class CompanyResource extends JsonResource
'type' => (int) $this->type,
'business_type' => (int) $this->business_type,
'status' => (int) $this->status,
+ 'segments' => SegmentResource::collection($companyModule->connections()->first()->segments),
'contact' => new ContactResource ($this->when($this->has('contacts'), $this->contacts->first())),
'employee' => new UserResource($companyModule->employees()->first()),
'company_module' => new CompanyModuleResource($companyModule),
diff --git a/database/seeders/SegmentsTableSeeder.php b/database/seeders/SegmentsTableSeeder.php
index 72545884..807441c7 100644
--- a/database/seeders/SegmentsTableSeeder.php
+++ b/database/seeders/SegmentsTableSeeder.php
@@ -15,12 +15,7 @@ class SegmentsTableSeeder extends Seeder
'id' => 1,
'company_module_id' => 1,
'name' => 'Default Segment',
- ],
- [
- 'id' => 2,
- 'company_module_id' => 2,
- 'name' => 'Normal Member',
- ],
+ ]
]
);
}
diff --git a/resources/assets/vue/components/companies/elements/CustomerProfileComponent.vue b/resources/assets/vue/components/companies/elements/CustomerProfileComponent.vue
index 512fa04d..8b0b6625 100644
--- a/resources/assets/vue/components/companies/elements/CustomerProfileComponent.vue
+++ b/resources/assets/vue/components/companies/elements/CustomerProfileComponent.vue
@@ -30,6 +30,32 @@
+
+
+
+
+
+
+
+
+
+ {{segment.name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/assets/vue/components/companies/forms/AssignSegmentFormComponent.vue b/resources/assets/vue/components/companies/forms/AssignSegmentFormComponent.vue
new file mode 100644
index 00000000..ba9d7a22
--- /dev/null
+++ b/resources/assets/vue/components/companies/forms/AssignSegmentFormComponent.vue
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+
+
+
Assign Segment
+
Select a segment to {{parameters.name}}
+
+
+
+
+ {{error}}
+
+
+
+
+
+
+
+
+
+
+
+
+
Not Now
+
+
+
Assign Segment
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/resources/assets/vue/components/companies/forms/DetachSegmentFormComponent.vue b/resources/assets/vue/components/companies/forms/DetachSegmentFormComponent.vue
new file mode 100644
index 00000000..7e87816d
--- /dev/null
+++ b/resources/assets/vue/components/companies/forms/DetachSegmentFormComponent.vue
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+ {{error}}
+
+
+
+
+
+
+
Are you Sure?
+
Are you sure you want to detach custom from {{this.item.name}} segment?
+
+
+
+
+
Cancel
+
+
+
Remove Segment
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/resources/assets/vue/components/paymentsBilling/elements/AdminPaymentsBillingComponent.vue b/resources/assets/vue/components/paymentsBilling/elements/AdminPaymentsBillingComponent.vue
index f67da627..4c2c0ab8 100644
--- a/resources/assets/vue/components/paymentsBilling/elements/AdminPaymentsBillingComponent.vue
+++ b/resources/assets/vue/components/paymentsBilling/elements/AdminPaymentsBillingComponent.vue
@@ -9,6 +9,7 @@