From 0d212ed5eac37aa4ea2917536c483282320aac58 Mon Sep 17 00:00:00 2001 From: mrlemaire Date: Thu, 20 Jun 2024 18:06:19 +0000 Subject: [PATCH] ajout du composant tpe --- package-lock.json | 488 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- src/app/_helpers/auth.guard.ts | 2 +- src/app/_helpers/services/auth.service.ts | 20 +++++++------------- src/app/_helpers/services/storage.service.spec.ts | 16 ++++++++++++++++ src/app/_helpers/services/storage.service.ts | 37 +++++++++++++++++++++++++++++++++++++ src/app/account/auth/login-standard-user/login-standard-user.component.ts | 32 +++++++++++++------------------- src/app/app.routes.ts | 43 ++++++++++++++++++++++++++++++------------- src/app/assistances/assistance/view-service/view-service.component.html | 2 +- src/app/core/layout/main-layout/main-layout.component.html | 6 ++---- src/app/core/layout/navbar/navbar-user/navbar-user.component.scss | 3 +++ src/app/core/layout/navbar/navbar.component.html | 21 +++++++++++++-------- src/app/core/layout/navbar/navbar.component.scss | 11 +++++++++++ src/app/core/layout/navbar/navbar.component.ts | 30 ++++++++++++++++++++++++++++++ src/app/core/layout/sidebar/nav-data.ts | 45 ++++++++++++++++++++++++++++++--------------- src/app/ecommerce/ecommerce.component.html | 1 + src/app/ecommerce/ecommerce.component.scss | 0 src/app/ecommerce/ecommerce.component.spec.ts | 23 +++++++++++++++++++++++ src/app/ecommerce/ecommerce.component.ts | 12 ++++++++++++ src/app/etablissement/etablissement.component.html | 1 + src/app/etablissement/etablissement.component.scss | 0 src/app/etablissement/etablissement.component.spec.ts | 23 +++++++++++++++++++++++ src/app/etablissement/etablissement.component.ts | 12 ++++++++++++ src/app/reversements/reversements.component.ts | 8 +++----- src/app/tpe/create-tpe/create-tpe.component.html | 179 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/app/tpe/create-tpe/create-tpe.component.scss | 44 ++++++++++++++++++++++++++++++++++++++++++++ src/app/tpe/create-tpe/create-tpe.component.spec.ts | 23 +++++++++++++++++++++++ src/app/tpe/create-tpe/create-tpe.component.ts | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/app/tpe/edit-tpe/edit-tpe.component.html | 179 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/app/tpe/edit-tpe/edit-tpe.component.scss | 0 src/app/tpe/edit-tpe/edit-tpe.component.spec.ts | 23 +++++++++++++++++++++++ src/app/tpe/edit-tpe/edit-tpe.component.ts | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/app/tpe/gerer-mes-tpe/gerer-mes-tpe.component.html | 232 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/app/tpe/gerer-mes-tpe/gerer-mes-tpe.component.scss | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/app/tpe/gerer-mes-tpe/gerer-mes-tpe.component.spec.ts | 23 +++++++++++++++++++++++ src/app/tpe/gerer-mes-tpe/gerer-mes-tpe.component.ts | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/app/tpe/groupe-tpe/groupe-tpe.component.html | 180 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/app/tpe/groupe-tpe/groupe-tpe.component.scss | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/app/tpe/groupe-tpe/groupe-tpe.component.spec.ts | 23 +++++++++++++++++++++++ src/app/tpe/groupe-tpe/groupe-tpe.component.ts | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/app/tpe/tpe.component.html | 21 +++++++++++++++++++++ src/app/tpe/tpe.component.scss | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/app/tpe/tpe.component.spec.ts | 23 +++++++++++++++++++++++ src/app/tpe/tpe.component.ts | 24 ++++++++++++++++++++++++ src/app/tpe/tpe.routes.ts | 42 ++++++++++++++++++++++++++++++++++++++++++ src/app/tpe/tpe/view-tpe.component.html | 276 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/app/tpe/tpe/view-tpe.component.scss | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/app/tpe/tpe/view-tpe.component.spec.ts | 22 ++++++++++++++++++++++ src/app/tpe/tpe/view-tpe.component.ts | 230 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/app/tpe/transaction-tpe/transaction-tpe.component.html | 1 + src/app/tpe/transaction-tpe/transaction-tpe.component.scss | 0 src/app/tpe/transaction-tpe/transaction-tpe.component.spec.ts | 23 +++++++++++++++++++++++ src/app/tpe/transaction-tpe/transaction-tpe.component.ts | 12 ++++++++++++ src/app/trafics/transactions/suivi-transaction/suivi-transaction.component.html | 73 +------------------------------------------------------------------------ src/app/utilisateurs/create-users/create-users.component.html | 165 --------------------------------------------------------------------------------------------------------------------------------------------------------------------- src/app/utilisateurs/utilisateurs.component.ts | 12 ------------ src/app/utilisateurs/view-user/view-user.component.html | 2 +- src/assets/scss/core/layouts/_header.scss | 3 ++- src/styles.scss | 6 +++--- 58 files changed, 2474 insertions(+), 821 deletions(-) create mode 100644 src/app/_helpers/services/storage.service.spec.ts create mode 100644 src/app/_helpers/services/storage.service.ts create mode 100644 src/app/ecommerce/ecommerce.component.html create mode 100644 src/app/ecommerce/ecommerce.component.scss create mode 100644 src/app/ecommerce/ecommerce.component.spec.ts create mode 100644 src/app/ecommerce/ecommerce.component.ts create mode 100644 src/app/etablissement/etablissement.component.html create mode 100644 src/app/etablissement/etablissement.component.scss create mode 100644 src/app/etablissement/etablissement.component.spec.ts create mode 100644 src/app/etablissement/etablissement.component.ts create mode 100644 src/app/tpe/create-tpe/create-tpe.component.html create mode 100644 src/app/tpe/create-tpe/create-tpe.component.scss create mode 100644 src/app/tpe/create-tpe/create-tpe.component.spec.ts create mode 100644 src/app/tpe/create-tpe/create-tpe.component.ts create mode 100644 src/app/tpe/edit-tpe/edit-tpe.component.html create mode 100644 src/app/tpe/edit-tpe/edit-tpe.component.scss create mode 100644 src/app/tpe/edit-tpe/edit-tpe.component.spec.ts create mode 100644 src/app/tpe/edit-tpe/edit-tpe.component.ts create mode 100644 src/app/tpe/gerer-mes-tpe/gerer-mes-tpe.component.html create mode 100644 src/app/tpe/gerer-mes-tpe/gerer-mes-tpe.component.scss create mode 100644 src/app/tpe/gerer-mes-tpe/gerer-mes-tpe.component.spec.ts create mode 100644 src/app/tpe/gerer-mes-tpe/gerer-mes-tpe.component.ts create mode 100644 src/app/tpe/groupe-tpe/groupe-tpe.component.html create mode 100644 src/app/tpe/groupe-tpe/groupe-tpe.component.scss create mode 100644 src/app/tpe/groupe-tpe/groupe-tpe.component.spec.ts create mode 100644 src/app/tpe/groupe-tpe/groupe-tpe.component.ts create mode 100644 src/app/tpe/tpe.component.html create mode 100644 src/app/tpe/tpe.component.scss create mode 100644 src/app/tpe/tpe.component.spec.ts create mode 100644 src/app/tpe/tpe.component.ts create mode 100644 src/app/tpe/tpe.routes.ts create mode 100644 src/app/tpe/tpe/view-tpe.component.html create mode 100644 src/app/tpe/tpe/view-tpe.component.scss create mode 100644 src/app/tpe/tpe/view-tpe.component.spec.ts create mode 100644 src/app/tpe/tpe/view-tpe.component.ts create mode 100644 src/app/tpe/transaction-tpe/transaction-tpe.component.html create mode 100644 src/app/tpe/transaction-tpe/transaction-tpe.component.scss create mode 100644 src/app/tpe/transaction-tpe/transaction-tpe.component.spec.ts create mode 100644 src/app/tpe/transaction-tpe/transaction-tpe.component.ts diff --git a/package-lock.json b/package-lock.json index 09a1ae7..95e4bba 100644 --- a/package-lock.json +++ b/package-lock.json @@ -68,8 +68,6 @@ "@biomejs/biome": "^1.6.4", "@types/express": "^4.17.21", "@types/jasmine": "~4.3.5", - "@types/jest": "^29.5.12", - "@types/mocha": "^10.0.6", "@types/node": "^18.19.34", "@typescript-eslint/eslint-plugin": "6.15.0", "@typescript-eslint/parser": "6.15.0", @@ -3494,18 +3492,6 @@ "node": ">=8" } }, - "node_modules/@jest/expect-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", - "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", - "dev": true, - "dependencies": { - "jest-get-type": "^29.6.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, "node_modules/@jest/schemas": { "version": "29.6.3", "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", @@ -3518,93 +3504,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/types/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/types/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/types/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/types/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@jest/types/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/types/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", @@ -5479,46 +5378,12 @@ "@types/node": "*" } }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "dev": true - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, "node_modules/@types/jasmine": { "version": "4.3.6", "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-4.3.6.tgz", "integrity": "sha512-3N0FpQTeiWjm+Oo1WUYWguUS7E6JLceiGTriFrG8k5PU7zRLJCzLcWURU3wjMbZGS//a2/LgjsnO3QxIlwxt9g==", "dev": true }, - "node_modules/@types/jest": { - "version": "29.5.12", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz", - "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==", - "dev": true, - "dependencies": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" - } - }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", @@ -5544,12 +5409,6 @@ "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", "dev": true }, - "node_modules/@types/mocha": { - "version": "10.0.6", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.6.tgz", - "integrity": "sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==", - "dev": true - }, "node_modules/@types/node": { "version": "18.19.34", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.34.tgz", @@ -5631,12 +5490,6 @@ "@types/node": "*" } }, - "node_modules/@types/stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", - "dev": true - }, "node_modules/@types/w3c-web-usb": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/@types/w3c-web-usb/-/w3c-web-usb-1.0.10.tgz", @@ -5651,21 +5504,6 @@ "@types/node": "*" } }, - "node_modules/@types/yargs": { - "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", - "dev": true - }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "6.15.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.15.0.tgz", @@ -7709,21 +7547,6 @@ "node": ">=6.0" } }, - "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "engines": { - "node": ">=8" - } - }, "node_modules/cidr-regex": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/cidr-regex/-/cidr-regex-4.0.3.tgz", @@ -9582,22 +9405,6 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", - "dev": true, - "dependencies": { - "@jest/expect-utils": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, "node_modules/exponential-backoff": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", @@ -11414,280 +11221,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-matcher-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", - "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-matcher-utils/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-matcher-utils/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-matcher-utils/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-matcher-utils/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-matcher-utils/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-matcher-utils/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", - "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-message-util/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-message-util/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-message-util/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-util/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-util/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-util/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-util/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/jest-util/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-worker": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", @@ -15985,27 +15518,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", diff --git a/src/app/_helpers/auth.guard.ts b/src/app/_helpers/auth.guard.ts index 8ff802a..5df8f31 100644 --- a/src/app/_helpers/auth.guard.ts +++ b/src/app/_helpers/auth.guard.ts @@ -30,7 +30,7 @@ export class AuthGuard implements CanActivate { if (isAuthenticated) { return true; } else { - this.router.navigate(['/auth']); + this.router.navigate(['/login']); return false; } } diff --git a/src/app/_helpers/services/auth.service.ts b/src/app/_helpers/services/auth.service.ts index 7792af0..68e6290 100644 --- a/src/app/_helpers/services/auth.service.ts +++ b/src/app/_helpers/services/auth.service.ts @@ -8,6 +8,9 @@ import { environment } from 'src/environments/environment'; providedIn: 'root', }) export class AuthService { + isAuthenticated(): boolean { + return !!sessionStorage.getItem('username'); + } private ApiVerifAuthUrl = `${environment.apiBaseUrl}/api/token/verify/`; private apiURL = `${environment.apiBaseUrl}/user-info/`; @@ -34,13 +37,7 @@ export class AuthService { public errors: any[] = []; constructor(private http: HttpClient) {} - - isAuthenticated(): boolean { - // implémenter la logique pour vérifier si l'utilisateur est authentifié - // cela peut impliquer de vérifier un token dans le localStorage ou sessionStorage - return !!sessionStorage.getItem('username'); - } public verifyToken( token: string // eslint-disable-next-line @typescript-eslint/no-explicit-any @@ -72,9 +69,6 @@ export class AuthService { ) ); } - - // Utilise http.post() pour obtenir un jeton d'authentification à partir de l'endpoint djangorestframework-jwt - // eslint-disable-next-line @typescript-eslint/no-explicit-any public login(username: string, password: string): Observable { const headers = new HttpHeaders({ Accept: 'application/json', @@ -124,13 +118,13 @@ export class AuthService { // Déconnexion de l'utilisateur public logout() { - this.token = ''; - this.token_expires; - this.username = ''; + // sessionStorage.removeItem('username'); + + console.log('deconnxion en cours.................') } // Met à jour les données utilisateur après une connexion réussie ou un rafraîchissement de jeton - public updateData(token: string) { + private updateData(token: string) { this.token = token; this.errors = []; diff --git a/src/app/_helpers/services/storage.service.spec.ts b/src/app/_helpers/services/storage.service.spec.ts new file mode 100644 index 0000000..e7fe5b5 --- /dev/null +++ b/src/app/_helpers/services/storage.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { StorageService } from './storage.service'; + +describe('StorageService', () => { + let service: StorageService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(StorageService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/_helpers/services/storage.service.ts b/src/app/_helpers/services/storage.service.ts new file mode 100644 index 0000000..3357611 --- /dev/null +++ b/src/app/_helpers/services/storage.service.ts @@ -0,0 +1,37 @@ +import { Injectable } from '@angular/core'; + +const USER_KEY = 'auth'; + +@Injectable({ + providedIn: 'root' +}) +export class StorageService { + constructor() {} + + clean(): void { + window.sessionStorage.clear(); + } + + public saveUser(user: any): void { + window.sessionStorage.removeItem(USER_KEY); + window.sessionStorage.setItem(USER_KEY, JSON.stringify(user)); + } + + public getUser(): any { + const user = window.sessionStorage.getItem(USER_KEY); + if (user) { + return JSON.parse(user); + } + + return {}; + } + + public isLoggedIn(): boolean { + const user = window.sessionStorage.getItem(USER_KEY); + if (user) { + return true; + } + + return false; + } +} \ No newline at end of file diff --git a/src/app/account/auth/login-standard-user/login-standard-user.component.ts b/src/app/account/auth/login-standard-user/login-standard-user.component.ts index 5e89fcf..78f3bbb 100644 --- a/src/app/account/auth/login-standard-user/login-standard-user.component.ts +++ b/src/app/account/auth/login-standard-user/login-standard-user.component.ts @@ -12,7 +12,7 @@ import { MatInputModule } from '@angular/material/input'; import { MatButtonModule } from '@angular/material/button'; import { MatIconModule } from '@angular/material/icon'; import { MatCheckboxModule } from '@angular/material/checkbox'; -import { Router, RouterLink, RouterOutlet } from '@angular/router'; +import { Router } from '@angular/router'; import { AuthService } from 'src/app/_helpers/services/auth.service'; @Component({ @@ -31,14 +31,16 @@ import { AuthService } from 'src/app/_helpers/services/auth.service'; ], templateUrl: './login-standard-user.component.html', styleUrls: ['./login-standard-user.component.scss'], - providers: [AuthService, RouterLink, RouterOutlet], + providers: [AuthService], }) export class LoginStandardUserComponent implements OnInit { - router = inject(Router); // eslint-disable-next-line @typescript-eslint/no-explicit-any //authService: any; - constructor(private authService: AuthService) {} + constructor( + private authService: AuthService, + private router: Router + ) {} images = [ { @@ -83,37 +85,29 @@ export class LoginStandardUserComponent implements OnInit { password: '', }; } - login() { console.log('Username:', this.user.username); console.log('Password:', this.user.password); this.authService.login(this.user.username, this.user.password).subscribe( - (response: { status: boolean; data?: any; error?: string }) => { - console.log('currentUser =>', response.data); - console.log('response.status', response.status); + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (response: any) => { + console.log('currentUser=>', response.data); if (response.status) { console.log('Connexion réussie'); - - // Stocker l'username dans une variable ou dans le sessionStorage si nécessaire + // Stocker l'username dans une variable ou dans le localStorage si nécessaire const username = response.data; console.log('userInfos', username); - - try { - sessionStorage.setItem('username', username); - } catch (error) { - console.warn('Could not store username in sessionStorage', error); - } - + sessionStorage.setItem('username', username); // Redirection vers la page admin - console.log('Redirection vers la page admin'); + // this.router.navigate(['/admin']); this.router.navigateByUrl('/admin'); } else { console.error('Échec de la connexion :', response.error); } }, - (error: any) => { + error => { console.error('Erreur lors de la connexion :', error); // Gérer l'erreur de connexion ici } diff --git a/src/app/app.routes.ts b/src/app/app.routes.ts index 36596fe..2bc3aed 100644 --- a/src/app/app.routes.ts +++ b/src/app/app.routes.ts @@ -16,16 +16,20 @@ export const routes: Routes = [ { path: '', component: MainLayoutComponent, - + children: [ - { path: 'admin', component: AdminTestComponent }, + { + path: 'admin', + component: AdminTestComponent, + // canActivate: [AuthGuard], + }, { path: 'transactions', loadChildren: () => import('./trafics/transactions/transaction.routes').then( c => c.transactionsRoutes ), - + // canActivate: [AuthGuard], }, { path: 'integrations', @@ -33,19 +37,21 @@ export const routes: Routes = [ import('./integrations/integration/integration.routes').then( c => c.integrationRoutes ), - }, { path: 'utilisateurs', loadChildren: () => import('./utilisateurs/user.routes').then(c => c.userRoutes), - }, { path: 'assistances', loadChildren: () => import('./assistances/service.routes').then(c => c.userRoutes), - + }, + { + path: 'tpe', + loadChildren: () => + import('./tpe/tpe.routes').then(c => c.tpeRoutes), }, { path: 'reversements', @@ -53,7 +59,6 @@ export const routes: Routes = [ import('./reversements/reversement/reversement.routes').then( c => c.reversementRoutes ), - }, { path: 'dash', @@ -61,7 +66,6 @@ export const routes: Routes = [ import( './admin/dashboards/beasy-dashboard/beasy-dashboard.component' ).then(c => c.BeasyDashboardComponent), - }, { path: 'application-android', @@ -69,7 +73,6 @@ export const routes: Routes = [ import('./application-android/application-android.component').then( c => c.ApplicationAndroidComponent ), - }, { path: 'compte-associe', @@ -77,7 +80,6 @@ export const routes: Routes = [ import('./compte-associe/compte-associe.component').then( c => c.CompteAssocieComponent ), - }, { path: 'utilisateurs', @@ -85,7 +87,6 @@ export const routes: Routes = [ import('./utilisateurs/utilisateurs.component').then( c => c.UtilisateursComponent ), - }, { path: 'facturation', @@ -93,9 +94,25 @@ export const routes: Routes = [ import('./facturation/facturation.component').then( c => c.FacturationComponent ), - // + // canActivate: [AuthGuard], + }, + + { + path: 'etablissement', + loadComponent: () => + import('./etablissement/etablissement.component').then( + c => c.EtablissementComponent + ), + }, + { + path: 'ecommerce', + loadComponent: () => + import('./ecommerce/ecommerce.component').then( + c => c.EcommerceComponent + ), }, - ],canActivate: [AuthGuard], + ], + canActivate: [AuthGuard], }, { path: '**', diff --git a/src/app/assistances/assistance/view-service/view-service.component.html b/src/app/assistances/assistance/view-service/view-service.component.html index 773eb0a..f8117c7 100644 --- a/src/app/assistances/assistance/view-service/view-service.component.html +++ b/src/app/assistances/assistance/view-service/view-service.component.html @@ -25,7 +25,7 @@
- + Filter
- + -
+
diff --git a/src/app/core/layout/navbar/navbar-user/navbar-user.component.scss b/src/app/core/layout/navbar/navbar-user/navbar-user.component.scss index f3e7753..48ab103 100644 --- a/src/app/core/layout/navbar/navbar-user/navbar-user.component.scss +++ b/src/app/core/layout/navbar/navbar-user/navbar-user.component.scss @@ -159,3 +159,6 @@ nav .wrapper ul li:hover a{ pointer-events: none; } + + + diff --git a/src/app/core/layout/navbar/navbar.component.html b/src/app/core/layout/navbar/navbar.component.html index afbf0b4..644ea51 100644 --- a/src/app/core/layout/navbar/navbar.component.html +++ b/src/app/core/layout/navbar/navbar.component.html @@ -1,5 +1,15 @@
+ +
+
+ + + +
    +
    +
    +
    -
    - -
    -
    - +
    + -