diff --git a/app/Classes/Modules/Accounts/DataTransferObjects/UserInvitationObject.php b/app/Classes/Modules/Accounts/DataTransferObjects/UserInvitationObject.php
index ac1adc3..e8c8041 100644
--- a/app/Classes/Modules/Accounts/DataTransferObjects/UserInvitationObject.php
+++ b/app/Classes/Modules/Accounts/DataTransferObjects/UserInvitationObject.php
@@ -54,5 +54,13 @@ class UserInvitationObject
return $this->hash;
}
+ /**
+ * @param null|string $hash
+ */
+ public function setHash(?string $hash): void
+ {
+ $this->hash = $hash;
+ }
+
}
\ No newline at end of file
diff --git a/app/Classes/Modules/Accounts/Services/CreatesUserInvitation.php b/app/Classes/Modules/Accounts/Services/CreatesUserInvitation.php
index 91399f6..1c899ff 100644
--- a/app/Classes/Modules/Accounts/Services/CreatesUserInvitation.php
+++ b/app/Classes/Modules/Accounts/Services/CreatesUserInvitation.php
@@ -6,6 +6,7 @@ namespace App\Classes\Modules\Accounts\Services;
use App\Classes\common;
use App\Classes\Modules\Accounts\DataTransferObjects\UserInvitationObject;
use App\Classes\Modules\Accounts\Exceptions\InvitationAlreadyExistsException;
+use App\Classes\Modules\ControllerLogic\Exceptions\ResourceConflictException;
use App\Models\UserInvitation;
final class CreatesUserInvitation
@@ -27,17 +28,21 @@ final class CreatesUserInvitation
/**
* @param UserInvitationObject $object
* @return UserInvitation|null
+ * @throws ResourceConflictException
*/
public function execute(UserInvitationObject $object): ?UserInvitation {
- $model = $this->repository->create([
- 'email' => $object->getInviteeEmail(),
- 'hash' => $object->getHash(),
- 'role_id' => $object->getRole(),
- 'sender_id' => auth()->user()->getAuthIdentifier(),
- 'is_complete' => false,
- ]);
- return $model;
+
+
+ $this->repository->email = $object->getInviteeEmail();
+ $this->repository->hash = $object->getHash();
+ $this->repository->role_id = $object->getRole();
+ $this->repository->sender_id = auth()->user()->getAuthIdentifier();
+ $this->repository->is_complete = false;
+
+ $this->repository->save();
+
+ return $this->repository;
}
diff --git a/app/Classes/Modules/Accounts/Services/ListUserAccount.php b/app/Classes/Modules/Accounts/Services/ListsUserAccount.php
similarity index 83%
rename from app/Classes/Modules/Accounts/Services/ListUserAccount.php
rename to app/Classes/Modules/Accounts/Services/ListsUserAccount.php
index 5df19b0..4ecd5de 100644
--- a/app/Classes/Modules/Accounts/Services/ListUserAccount.php
+++ b/app/Classes/Modules/Accounts/Services/ListsUserAccount.php
@@ -12,7 +12,7 @@ namespace App\Classes\Modules\Accounts\Services;
use App\Models\User;
use App\Http\Resources\User as UserResource;
-class ListUserAccount
+class ListsUserAccount
{
/** @var User */
private $repository;
@@ -29,7 +29,8 @@ class ListUserAccount
public function execute()
{
- $user = $this->repository->get();
+ /** @var User $user */
+ $user = $this->repository->paginate(10);
return UserResource::collection($user);
}
diff --git a/app/Classes/Modules/Accounts/Validation/CanSendAccountInvitation.php b/app/Classes/Modules/Accounts/Validation/CanSendAccountInvitation.php
new file mode 100644
index 0000000..3e7b972
--- /dev/null
+++ b/app/Classes/Modules/Accounts/Validation/CanSendAccountInvitation.php
@@ -0,0 +1,39 @@
+repository = $repository;
+ }
+
+ /**
+ * @param UserInvitationObject $object
+ * @return bool
+ */
+ public function execute(UserInvitationObject $object){
+
+ return true;
+ }
+
+}
\ No newline at end of file
diff --git a/app/Classes/Modules/Accounts/Validation/InvitationAlreadyExists.php b/app/Classes/Modules/Accounts/Validation/InvitationAlreadyExists.php
new file mode 100644
index 0000000..4f98016
--- /dev/null
+++ b/app/Classes/Modules/Accounts/Validation/InvitationAlreadyExists.php
@@ -0,0 +1,43 @@
+repository = $repository;
+ }
+
+ /**
+ * @param UserInvitationObject $object
+ * @return bool
+ * @throws ResourceConflictException
+ */
+ public function execute(UserInvitationObject $object){
+
+ // ensure that there is not already an invitation for the email
+ $existingInvitations = $this->repository->where('email', $object->getInviteeEmail())->first();
+
+ if ($existingInvitations) {
+ throw new ResourceConflictException("An existing invitation already exists for the email {$object->getInviteeEmail()}");
+ }
+
+
+ return true;
+ }
+
+}
\ No newline at end of file
diff --git a/app/Classes/Modules/Companies/Exceptions/CannotListCompanyOrderCategoryException.php b/app/Classes/Modules/Companies/Exceptions/CannotListCompanyOrderCategoryException.php
new file mode 100644
index 0000000..90bb6c9
--- /dev/null
+++ b/app/Classes/Modules/Companies/Exceptions/CannotListCompanyOrderCategoryException.php
@@ -0,0 +1,15 @@
+repository = $repository;
+ }
+
+
+ /**
+ * @param int $id
+ * @return \Illuminate\Http\Resources\Json\AnonymousResourceCollection
+ * @throws CannotListCompanyOrderCategoryException
+ */
+ public function execute(int $id){
+
+ try {
+ /** @var Order $orders */
+ $orders = $this->repository->where('company_id', $id)
+ ->onlyTrashed()->get();
+
+ return OrderResource::collection($orders);
+
+ } catch (\Exception $exception){
+ throw new CannotListCompanyOrderCategoryException($exception->getMessage());
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/app/Classes/Modules/Companies/Services/ListsCompanyCompleteOrders.php b/app/Classes/Modules/Companies/Services/ListsCompanyCompleteOrders.php
new file mode 100644
index 0000000..1513ee3
--- /dev/null
+++ b/app/Classes/Modules/Companies/Services/ListsCompanyCompleteOrders.php
@@ -0,0 +1,43 @@
+repository = $repository;
+ }
+
+ /**
+ * @param int $id
+ * @return \Illuminate\Http\Resources\Json\AnonymousResourceCollection
+ * @throws CannotListCompanyOrderCategoryException
+ */
+ public function execute(int $id){
+
+ try {
+ /** @var Order $orders */
+ $orders = $this->repository->where('company_id', $id)
+ ->where('complete', true)->get();
+
+ return OrderResource::collection($orders);
+
+ } catch (\Exception $exception){
+ throw new CannotListCompanyOrderCategoryException($exception->getMessage());
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/app/Classes/Modules/Companies/Services/ListsCompanyOrdersCategory.php b/app/Classes/Modules/Companies/Services/ListsCompanyOrdersCategory.php
new file mode 100644
index 0000000..8cff3a1
--- /dev/null
+++ b/app/Classes/Modules/Companies/Services/ListsCompanyOrdersCategory.php
@@ -0,0 +1,40 @@
+repository = $repository;
+ }
+
+ public function execute(int $id, array $category){
+
+ try {
+ /** @var Order $orders */
+ $orders = $this->repository->where('company_id', $id)
+ ->whereIn('current_step', $category)->get();
+
+ return OrderResource::collection($orders);
+ } catch (\Exception $exception){
+ throw new CannotListCompanyOrderCategoryException($exception->getMessage());
+ }
+
+
+ }
+
+}
\ No newline at end of file
diff --git a/app/Classes/Modules/ControllersLogic/Accounts/RegistrationInvitationLogic.php b/app/Classes/Modules/ControllersLogic/Accounts/CreateAccountInvitationLogic.php
similarity index 52%
rename from app/Classes/Modules/ControllersLogic/Accounts/RegistrationInvitationLogic.php
rename to app/Classes/Modules/ControllersLogic/Accounts/CreateAccountInvitationLogic.php
index f7fe392..a84f4a3 100644
--- a/app/Classes/Modules/ControllersLogic/Accounts/RegistrationInvitationLogic.php
+++ b/app/Classes/Modules/ControllersLogic/Accounts/CreateAccountInvitationLogic.php
@@ -5,36 +5,35 @@ namespace App\Classes\Modules\ControllersLogic\Accounts;
use App\Classes\Modules\Accounts\DataTransferObjects\UserInvitationObject;
use App\Classes\Modules\Accounts\Services\CreatesUserInvitation;
+use App\Classes\Modules\Accounts\Validation\CanSendAccountInvitation;
use App\Classes\Modules\ControllerLogic\Exceptions\InternalServerErrorException;
use App\Classes\Modules\ControllerLogic\Exceptions\ResourceConflictException;
use App\Classes\ValueObjects\Constants\HttpStatus;
use App\Events\Accounts\UserInvited;
-use App\Models\UserInvitation;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
-class RegistrationInvitationLogic
+class CreateAccountInvitationLogic
{
- /** @var UserInvitation */
- private $repository;
-
/** @var CreatesUserInvitation */
private $createUserInvitation;
+ /** @var CanSendAccountInvitation */
+ private $canSendAccountInvitation;
+
/**
- * RegistrationInvitationLogic constructor.
- * @param UserInvitation $repository
+ * CreateAccountInvitationLogic constructor.
* @param CreatesUserInvitation $createUserInvitation
+ * @param CanSendAccountInvitation $canSendAccountInvitation
*/
- public function __construct(
- UserInvitation $repository,
- CreatesUserInvitation $createUserInvitation
- ) {
- $this->repository = $repository;
+ public function __construct(CreatesUserInvitation $createUserInvitation, CanSendAccountInvitation $canSendAccountInvitation)
+ {
$this->createUserInvitation = $createUserInvitation;
+ $this->canSendAccountInvitation = $canSendAccountInvitation;
}
+
/**
* @param Request $request
* @return JsonResponse
@@ -44,23 +43,18 @@ class RegistrationInvitationLogic
try {
- // the email doesn't exist in the database, so create the user
$object = new UserInvitationObject($request->get('role_id'), $request->get('email'));
- // ensure that there is not already an invitation for the email
- $existingInvitations = $this->repository->where('email', $object->getInviteeEmail())->get();
+ if($this->canSendAccountInvitation->execute($object)){
- if ($existingInvitations->count() !== 0) {
- throw new ResourceConflictException("An existing invitation already exists for the email {$object->getInviteeEmail()}");
+
+ $invitation = $this->createUserInvitation->execute($object);
+
+ event(new UserInvited($invitation));
+
+ return new JsonResponse("Invitation have been sent!", HttpStatus::RESOURCE_CREATED);
}
- $invitation = $this->createUserInvitation->execute($object);
-
- // dispatch event for user invited
- event(new UserInvited($invitation));
-
- return new JsonResponse("Invitation have been sent!", HttpStatus::RESOURCE_CREATED);
-
} catch (ResourceConflictException $exception) {
throw new InternalServerErrorException("Failed to send user invitation because {$exception->getMessage()}");
}
diff --git a/app/Classes/Modules/ControllersLogic/Accounts/CreateUserLogic.php b/app/Classes/Modules/ControllersLogic/Accounts/CreateUserLogic.php
new file mode 100644
index 0000000..8c99404
--- /dev/null
+++ b/app/Classes/Modules/ControllersLogic/Accounts/CreateUserLogic.php
@@ -0,0 +1,41 @@
+createsUserAccount = $createsUserAccount;
+ }
+
+ /**
+ * @param Request $request
+ * @return \App\Models\User|null
+ * @throws \App\Classes\Modules\Accounts\Exceptions\CannotCreateOrderException
+ */
+ public function execute(Request $request){
+ // the email doesn't exist in the database, so create the user
+ $object = new UserObject($request->get('first_name'), $request->get('last_name'),
+ $request->get('email'), $request->get('password'), 0, true);
+
+
+ return $this->createsUserAccount->execute($object);
+ }
+
+}
\ No newline at end of file
diff --git a/app/Classes/Modules/ControllersLogic/Accounts/ListUserAccountLogic.php b/app/Classes/Modules/ControllersLogic/Accounts/ListUserAccountLogic.php
index a35f5aa..d6aa88f 100644
--- a/app/Classes/Modules/ControllersLogic/Accounts/ListUserAccountLogic.php
+++ b/app/Classes/Modules/ControllersLogic/Accounts/ListUserAccountLogic.php
@@ -1,26 +1,20 @@
listUserAccount = $listUserAccount;
}
diff --git a/app/Classes/Modules/ControllersLogic/Companies/ListCompanyOrderLogic.php b/app/Classes/Modules/ControllersLogic/Companies/ListCompanyOrderLogic.php
new file mode 100644
index 0000000..aa65564
--- /dev/null
+++ b/app/Classes/Modules/ControllersLogic/Companies/ListCompanyOrderLogic.php
@@ -0,0 +1,68 @@
+fetchCompanyOrderCategorySteps = $fetchCompanyOrderCategorySteps;
+ $this->listsCompanyCompleteOrders = $listsCompanyCompleteOrders;
+ $this->listCompanyCancelledOrders = $listCompanyCancelledOrders;
+ $this->listCompanyOrdersCategory = $listCompanyOrdersCategory;
+ }
+
+
+ /**
+ * @param int $id
+ * @param string $category
+ * @return \Illuminate\Http\Resources\Json\AnonymousResourceCollection
+ * @throws InternalServerErrorException
+ */
+ public function execute(int $id, string $category){
+ try {
+ switch ($category){
+ case OrderSteps::COMPANY_COMPLETE_CATEGORY:
+ return $this->listsCompanyCompleteOrders->execute($id);
+ case OrderSteps::COMPANY_CANCEL_CATEGORY:
+ return $this->listCompanyCancelledOrders->execute($id);
+ default:
+ return $this->listCompanyOrdersCategory->execute($id, $this->fetchCompanyOrderCategorySteps->execute($category));
+
+ }
+ } catch (CannotListCompanyOrderCategoryException $exception){
+ throw new InternalServerErrorException('Cannot list company\'s order in category because'.$exception);
+ }
+
+ }
+
+}
\ No newline at end of file
diff --git a/app/Classes/Modules/ControllersLogic/Orders/ConfirmOrderLogic.php b/app/Classes/Modules/ControllersLogic/Orders/ConfirmOrderLogic.php
index 9812c7f..bdf78ad 100644
--- a/app/Classes/Modules/ControllersLogic/Orders/ConfirmOrderLogic.php
+++ b/app/Classes/Modules/ControllersLogic/Orders/ConfirmOrderLogic.php
@@ -2,7 +2,7 @@
namespace App\Classes\Modules\ControllersLogic\Orders;
-use App\Classes\Modules\Accounts\Exceptions\CannotConfirmOrderException;
+use App\Classes\Modules\Accounts\Exceptions\CannotListCompanyOrdersException;
use App\Classes\Modules\ControllerLogic\Exceptions\InternalServerErrorException;
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
use App\Classes\Modules\Orders\Services\ConfirmsOrder;
@@ -66,7 +66,7 @@ class ConfirmOrderLogic
return new JsonResponse("Order has been confirmed", HttpStatus::OK);
- } catch (CannotConfirmOrderException $exception){
+ } catch (CannotListCompanyOrdersException $exception){
throw new InternalServerErrorException("Failed to confirm order because {$exception->getMessage()}");
}
}
diff --git a/app/Classes/Modules/ControllersLogic/Warehouses/ListWarehouseOrderLogic.php b/app/Classes/Modules/ControllersLogic/Warehouses/ListWarehouseOrderLogic.php
new file mode 100644
index 0000000..43524fe
--- /dev/null
+++ b/app/Classes/Modules/ControllersLogic/Warehouses/ListWarehouseOrderLogic.php
@@ -0,0 +1,61 @@
+fetchOrderCategorySteps = $fetchOrderCategorySteps;
+ $this->listOrdersCategory = $listOrdersCategory;
+ $this->listCompleteOrders = $listCompleteOrders;
+ }
+
+
+ /**
+ * @param int $id
+ * @param string $category
+ * @return \Illuminate\Http\Resources\Json\AnonymousResourceCollection
+ * @throws InternalServerErrorException
+ */
+ public function execute(int $id, string $category){
+ try {
+ switch ($category){
+ case OrderSteps::WAREHOUSE_COMPLETE_CATEGORY:
+ return $this->listCompleteOrders->execute($id, $this->fetchOrderCategorySteps->execute($category));
+ default:
+ return $this->listOrdersCategory->execute($id, $this->fetchOrderCategorySteps->execute($category));
+
+ }
+
+ } catch (CannotListCompanyOrderCategoryException $exception){
+ throw new InternalServerErrorException('Cannot list warehouse\'s orders in '.$category.' category because'.$exception);
+ }
+
+ }
+
+}
\ No newline at end of file
diff --git a/app/Classes/Modules/Orders/Services/Processors/ConfirmsOrder.php b/app/Classes/Modules/Orders/Services/Processors/ConfirmsOrder.php
index dd78f23..d8bfd55 100644
--- a/app/Classes/Modules/Orders/Services/Processors/ConfirmsOrder.php
+++ b/app/Classes/Modules/Orders/Services/Processors/ConfirmsOrder.php
@@ -4,7 +4,7 @@ namespace App\Classes\Modules\Orders\Services\Processors;
use App\Classes\Constants;
-use App\Classes\Modules\Accounts\Exceptions\CannotConfirmOrderException;
+use App\Classes\Modules\Accounts\Exceptions\CannotListCompanyOrdersException;
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
use App\Classes\Modules\Orders\DataTransferObjects\StepObject;
use App\Classes\Modules\Orders\Services\CreatesOrderSteps;
diff --git a/app/Classes/Modules/Warehouses/Services/FetchWarehouseOrderCategorySteps.php b/app/Classes/Modules/Warehouses/Services/FetchWarehouseOrderCategorySteps.php
new file mode 100644
index 0000000..eb3e15e
--- /dev/null
+++ b/app/Classes/Modules/Warehouses/Services/FetchWarehouseOrderCategorySteps.php
@@ -0,0 +1,24 @@
+repository = $repository;
+ }
+
+ public function execute(int $id, array $category){
+
+ try {
+ /** @var Order $orders */
+ $orders = $this->repository->where('warehouse_id', $id)
+ ->whereIn('current_step', $category)
+ ->orWhere('complete', true)->get();
+
+ return OrderResource::collection($orders);
+ } catch (\Exception $exception){
+ throw new CannotListCompanyOrderCategoryException($exception->getMessage());
+ }
+
+
+ }
+
+}
\ No newline at end of file
diff --git a/app/Classes/Modules/Warehouses/Services/ListsWarehouseOrdersCategory.php b/app/Classes/Modules/Warehouses/Services/ListsWarehouseOrdersCategory.php
new file mode 100644
index 0000000..f027c57
--- /dev/null
+++ b/app/Classes/Modules/Warehouses/Services/ListsWarehouseOrdersCategory.php
@@ -0,0 +1,40 @@
+repository = $repository;
+ }
+
+ public function execute(int $id, array $category){
+
+ try {
+ /** @var Order $orders */
+ $orders = $this->repository->where('warehouse_id', $id)
+ ->whereIn('current_step', $category)->get();
+
+ return OrderResource::collection($orders);
+ } catch (\Exception $exception){
+ throw new CannotListCompanyOrderCategoryException($exception->getMessage());
+ }
+
+
+ }
+
+}
\ No newline at end of file
diff --git a/app/Classes/ValueObjects/Constants/OrderSteps.php b/app/Classes/ValueObjects/Constants/OrderSteps.php
new file mode 100644
index 0000000..6e4893e
--- /dev/null
+++ b/app/Classes/ValueObjects/Constants/OrderSteps.php
@@ -0,0 +1,55 @@
+ 'Administrator',
1 => 'Administrator',
2 => 'Importer',
diff --git a/app/Events/Accounts/UserEvent.php b/app/Events/Accounts/UserEvent.php
index df520b5..c683b2b 100644
--- a/app/Events/Accounts/UserEvent.php
+++ b/app/Events/Accounts/UserEvent.php
@@ -3,4 +3,5 @@
namespace App\Events\Accounts;
interface UserEvent {
+ public function getData();
}
diff --git a/app/Events/Accounts/UserInvited.php b/app/Events/Accounts/UserInvited.php
index 6311974..c827beb 100644
--- a/app/Events/Accounts/UserInvited.php
+++ b/app/Events/Accounts/UserInvited.php
@@ -21,7 +21,7 @@ class UserInvited implements UserEvent {
/**
* @return UserInvitation
*/
- public function getInvitation(): UserInvitation
+ public function getData(): UserInvitation
{
return $this->invitation;
}
diff --git a/app/Http/Controllers/Account/CreateUserController.php b/app/Http/Controllers/Account/CreateUserController.php
new file mode 100644
index 0000000..6d9b361
--- /dev/null
+++ b/app/Http/Controllers/Account/CreateUserController.php
@@ -0,0 +1,16 @@
+execute($request);
+
+ }
+
+}
\ No newline at end of file
diff --git a/app/Http/Controllers/Account/InviteUserController.php b/app/Http/Controllers/Account/InviteUserController.php
index 71e29a4..52a9a84 100644
--- a/app/Http/Controllers/Account/InviteUserController.php
+++ b/app/Http/Controllers/Account/InviteUserController.php
@@ -2,7 +2,7 @@
namespace App\Http\Controllers\Account;
-use App\Classes\Modules\ControllersLogic\Accounts\RegistrationInvitationLogic;
+use App\Classes\Modules\ControllersLogic\Accounts\CreateAccountInvitationLogic;
use App\Http\Controllers\Controller;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
@@ -11,11 +11,11 @@ class InviteUserController extends Controller
{
/**
* @param Request $request
- * @param RegistrationInvitationLogic $logic
+ * @param CreateAccountInvitationLogic $logic
* @return JsonResponse
* @throws \App\Classes\Modules\ControllerLogic\Exceptions\InternalServerErrorException
*/
- public function invite(Request $request, RegistrationInvitationLogic $logic): JsonResponse {
+ public function invite(Request $request, CreateAccountInvitationLogic $logic): JsonResponse {
return $logic->execute($request);
}
}
diff --git a/app/Http/Controllers/Account/ListUserController.php b/app/Http/Controllers/Account/ListUserController.php
index ad2d280..d9ec1e9 100644
--- a/app/Http/Controllers/Account/ListUserController.php
+++ b/app/Http/Controllers/Account/ListUserController.php
@@ -1,14 +1,7 @@
execute($id, $category);
+
+ }
+
+}
\ No newline at end of file
diff --git a/app/Http/Controllers/Orders/OrderController.php b/app/Http/Controllers/Orders/OrderController.php
index 36fbc88..ac31725 100644
--- a/app/Http/Controllers/Orders/OrderController.php
+++ b/app/Http/Controllers/Orders/OrderController.php
@@ -25,6 +25,12 @@ class OrderController extends Controller
return OrderResource::collection($orders);
}
+ public function listWarehouseOrders(String $id){
+ $orders = Order::where('warehouse', $id)->orderBy('created_at', 'DESC')
+ ->paginate(100);
+ return OrderResource::collection($orders);
+ }
+
public function updateStep(String $orderId, Request $request, UpdateOrderStepLogic $logic){
return $logic->execute($orderId, $request);
// return (new UpdateOrderStepLogic())->execute($orderId, $request) ? 200 : 408;
diff --git a/app/Http/Controllers/Warehouses/WarehouseOrderController.php b/app/Http/Controllers/Warehouses/WarehouseOrderController.php
new file mode 100644
index 0000000..911bb21
--- /dev/null
+++ b/app/Http/Controllers/Warehouses/WarehouseOrderController.php
@@ -0,0 +1,24 @@
+execute($id, $category);
+
+ }
+
+}
\ No newline at end of file
diff --git a/app/Http/Resources/User.php b/app/Http/Resources/User.php
index 82cecbf..5fcb8ea 100644
--- a/app/Http/Resources/User.php
+++ b/app/Http/Resources/User.php
@@ -2,8 +2,8 @@
namespace App\Http\Resources;
-use App\Classes\Constants;
use App\Classes\ValueObjects\Constants\UserRoles;
+use Carbon\Carbon;
use Illuminate\Http\Resources\Json\JsonResource;
class User extends JsonResource
@@ -18,8 +18,8 @@ class User extends JsonResource
{
return [
'full_name' => $this->first_name.' '.$this->last_name,
- 'role' => UserRoles::ROLES_ID[$this->role_id],
- 'created_at' => $this->created_at
+ 'role' => UserRoles::ROLES_NAMES[$this->role_id],
+ 'created_at' =>Carbon::parse($this->created_at)->format('d/m/Y')
];
}
}
diff --git a/config/mail.php b/config/mail.php
index 95280a1..719bc4e 100644
--- a/config/mail.php
+++ b/config/mail.php
@@ -57,7 +57,7 @@ return [
'from' => [
'address' => env('MAIL_FROM_ADDRESS', 'noreply@izyim.com'),
- 'name' => env('MAIL_FROM_NAME', 'No Reply'),
+ 'name' => env('MAIL_FROM_NAME', 'IZYIM'),
],
/*
diff --git a/package.json b/package.json
index efd4ca3..cc22426 100644
--- a/package.json
+++ b/package.json
@@ -33,6 +33,7 @@
"magnific-popup": "^1.1.0",
"metrojs": "^0.9.77",
"modernizr": "^3.5.0",
+ "noty": "^3.2.0-beta",
"owl.carousel": "^2.3.3",
"pretty-checkbox": "^3.0.3",
"select2": "^4.0.6-rc.1",
@@ -42,9 +43,7 @@
"twitter-bootstrap-wizard": "^1.2.0",
"typeahead.js": "^0.11.1",
"vue-avatar": "^2.1.7",
- "vue-select": "^2.5.1",
- "vue-slide-up-down": "^1.4.1",
- "vuejs-datepicker": "^1.5.4"
+ "vue-slide-up-down": "^1.4.1"
},
"devDependencies": {
"axios": "^0.18",
@@ -104,6 +103,7 @@
"./node_modules/magnific-popup/dist/jquery.magnific-popup.js",
"./node_modules/jquery-validation/dist/jquery.validate.js",
"./node_modules/bootstrap-tagsinput/dist/bootstrap-tagsinput.js",
+ "./node_modules/noty/lib/noty.js",
"./node_modules/vue/dist/vue.min.js",
"./node_modules/switchery-npm/index.js"
],
@@ -123,7 +123,12 @@
"./node_modules/magnific-popup/dist/magnific-popup.css",
"./node_modules/pretty-checkbox/dist/pretty-checkbox.css",
"./node_modules/bootstrap-tagsinput/dist/bootstrap-tagsinput.css",
+ "./node_modules/noty/lib/noty.css",
+ "./node_modules/noty/lib/themes/relax.css",
+ "./node_modules/noty/lib/themes/bootstrap-v4.css",
+ "./node_modules/noty/lib/themes/metroui.css",
"./node_modules/bootstrap/dist/css/bootstrap.min.css"
+
],
"vendorFonts": [
"./node_modules/font-awesome/fonts/**/*"
diff --git a/resources/assets/js/scripts.js b/resources/assets/js/scripts.js
index 2a3dfb7..d000e65 100644
--- a/resources/assets/js/scripts.js
+++ b/resources/assets/js/scripts.js
@@ -28,6 +28,4 @@ $(function() {
$('.singleLightBox').magnificPopup({
type: 'image'
});
-
- $('.datepicker').datepicker();
});
\ No newline at end of file
diff --git a/resources/assets/js/validation.js b/resources/assets/js/validation.js
index 6f22ce5..147759a 100644
--- a/resources/assets/js/validation.js
+++ b/resources/assets/js/validation.js
@@ -38,5 +38,15 @@ $(function() {
onfocusout: false
});
+ $("#form-company").validate({
+ rules: {
+ marking: true
+ },
+ messages: {
+ marking: "this field is required"
+ },
+ onfocusout: false
+ });
+
});
diff --git a/resources/assets/sass/modules/_layout.scss b/resources/assets/sass/modules/_layout.scss
index 9777866..6b37535 100644
--- a/resources/assets/sass/modules/_layout.scss
+++ b/resources/assets/sass/modules/_layout.scss
@@ -2064,6 +2064,17 @@ padding-right: 30px;
}
}
}
+.noty_bar {
+ .noty_body {
+ padding: 15px;
+ padding-bottom: 10px;
+ }
+ .noty_buttons {
+ padding: 15px;
+ padding-top: 0;
+ padding-bottom: 0;
+ }
+}
@keyframes slideDown {
diff --git a/resources/assets/vue/app.js b/resources/assets/vue/app.js
index 8138fc7..d2260bd 100644
--- a/resources/assets/vue/app.js
+++ b/resources/assets/vue/app.js
@@ -7,16 +7,12 @@
window.Vue = require('vue');
-import Avatar from 'vue-avatar'
+import Avatar from 'vue-avatar';
Vue.component('user-avatar', Avatar);
import SlideUpDown from 'vue-slide-up-down';
Vue.component('slide-up-down', SlideUpDown);
-import Datepicker from 'vuejs-datepicker';
-Vue.component('datepicker', Datepicker);
-
-
/**
* Next, we will create a fresh Vue application instance and attach it to
* the page. Then, you may begin adding components to this application
@@ -30,6 +26,7 @@ Vue.component('modal-component', require('./components/common/ModalComponent.vue
Vue.component('confirm-modal-component', require('./components/common/ConfirmModalComponent.vue'));
Vue.component('warning-message-component', require('./components/common/WarningMessageComponent.vue'));
Vue.component('accounts-search-component', require('./components/common/AccountsSearchComponent.vue'));
+Vue.component('date-picker-component', require('./components/common/DatePickerComponent.vue'))
//form elements
Vue.component('file-selector', require('./components/form_elements/FileSelectorComponent.vue'));
@@ -37,7 +34,8 @@ Vue.component('select-component', require('./components/form_elements/SelectComp
Vue.component('address-component', require('./components/form_elements/AddressComponent.vue'));
//lists
-Vue.component('accounts-list-component', require('./components/account/lists/AccountsListComponenet.vue'));
+Vue.component('accounts-list-component', require('./components/account/lists/AccountsListComponent.vue'));
+
Vue.component('companies-list-component', require('./components/company/lists/CompaniesListComponenet.vue'));
Vue.component('address-book-list-component', require('./components/company/lists/AddressListComponenet.vue'));
@@ -49,7 +47,8 @@ Vue.component('warehouses-list-component', require('./components/warehouse/lists
Vue.component('orders-list-component', require('./components/order/lists/OrdersListComponenet.vue'));
//elements
-Vue.component('account-component', require('./components/account/elements/AccountComponenet.vue'));
+
+Vue.component('account-component', require('./components/account/elements/AccountComponent.vue'));
Vue.component('company-profile-component', require('./components/company/elements/CompanyProfileComponenet.vue'));
Vue.component('company-summary-component', require('./components/company/elements/CompanySummaryComponenet.vue'));
@@ -82,7 +81,14 @@ Vue.component('contact-form-component', require('./components/contact/forms/Cont
Vue.component('warehouse-form-component', require('./components/warehouse/forms/WarehouseFormComponent.vue'));
-Vue.component('order-form-component', require('./components/order/forms/OrderFormComponent'));
+Vue.component('order-form-component', require('./components/order/forms/OrderFormComponent.vue'));
+
+Vue.component('create-account-form-component', require('./components/account/forms/CreateAccountFormComponent.vue'));
+
+
+
+Vue.component('notification-component', require('./components/common/NotificationComponent.vue'));
+Vue.component('company-error-notification-component', require('./components/company/notifications/CompanyErrorComponent.vue'));
window.Event = new Vue();
diff --git a/resources/assets/vue/components/account/elements/AccountComponenet.vue b/resources/assets/vue/components/account/elements/AccountComponenet.vue
deleted file mode 100644
index 83a5818..0000000
--- a/resources/assets/vue/components/account/elements/AccountComponenet.vue
+++ /dev/null
@@ -1,128 +0,0 @@
-
- {{this.company.name}}Create User
+