{"version":3,"sources":["webpack:///src/app/data/repository/help-repository.ts","webpack:///src/app/services/professionel.service.ts","webpack:///src/app/config/config.ts","webpack:///src/app/services/organisation.service.ts","webpack:///src/app/data/model/aide.model.ts","webpack:///src/app/usecases/commande-use-case.ts","webpack:///src/app/data/entity/organisation.entity.ts","webpack:///src/environments/environment.ts","webpack:///src/app/views/aide/aide.component.ts","webpack:///src/app/views/aide/aide.component.html","webpack:///src/app/views/attribution/new-attribution/new-attribution.component.ts","webpack:///src/app/views/attribution/new-attribution/new-attribution.component.html","webpack:///src/app/data/repository/login.repository.ts","webpack:///src/app/usecases/login-use-case.ts","webpack:///src/app/views/attribution/preview-attributions/preview-attribution.component.html","webpack:///src/app/views/attribution/preview-attributions/preview-attribution.component.ts","webpack:///src/app/data/entity/beneficiaire.entity.ts","webpack:///src/app/data/repository/dashboard-repository.ts","webpack:///src/app/usecases/beneficiaire-use-case.ts","webpack:///src/app/views/components/navigation/navigation.component.ts","webpack:///src/app/views/components/navigation/navigation.component.html","webpack:///src/app/helpers/helpers.ts","webpack:///src/app/views/beneficiaire-status/beneficiaire-status.component.html","webpack:///src/app/views/beneficiaire-status/beneficiaire-status.component.ts","webpack:///src/app/guard/auth-guard.ts","webpack:///src/app/views/login/login.component.ts","webpack:///src/app/views/login/login.component.html","webpack:///node_modules/moment/locale sync ^\\.\\/.*$","webpack:///src/app/views/beneficiaire/components/loaded-beneficiaire-popup/loaded-beneficiaire-popup.component.ts","webpack:///src/app/views/beneficiaire/components/loaded-beneficiaire-popup/loaded-beneficiaire-popup.component.html","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/routes/routes.ts","webpack:///src/app/data/datasource/remote-datasource/help-rds.ts","webpack:///src/app/data/datasource/remote-datasource/login.rds.ts","webpack:///src/app/views/beneficiaire/components/one-beneficiaire-popup/one-beneficiaire-popup.component.ts","webpack:///src/app/views/beneficiaire/components/one-beneficiaire-popup/one-beneficiaire-popup.component.html","webpack:///src/app/views/components/header/header.component.ts","webpack:///src/app/views/components/header/header.component.html","webpack:///src/app/app.module.ts","webpack:///src/app/data/model/commande.model.ts","webpack:///src/app/data/model/beneficiaireTable.model.ts","webpack:///src/app/services/file.service.ts","webpack:///src/app/data/repository/commande.repository.ts","webpack:///src/app/views/attribution/attribution.component.ts","webpack:///src/app/views/attribution/attribution.component.html","webpack:///src/app/data/datasource/remote-datasource/commande.rds.ts","webpack:///src/app/pipe/format-number.pipe.ts","webpack:///src/app/services/token-response.service.ts","webpack:///src/app/views/dashboard/dashboard.component.ts","webpack:///src/app/views/dashboard/dashboard.component.html","webpack:///src/app/views/beneficiaire/beneficiaire.component.ts","webpack:///src/app/views/beneficiaire/beneficiaire.component.html","webpack:///src/app/services/beneficiaire.service.ts","webpack:///src/app/usecases/dashboard-use-case.ts","webpack:///src/app/data/repository/beneficiaire.repository.ts","webpack:///src/app/services/routing.service.ts","webpack:///src/app/data/datasource/remote-datasource/dashboard-rds.ts","webpack:///src/app/data/datasource/remote-datasource/beneficiaire-rds.ts","webpack:///src/app/data/entity/professionnel.entity.ts","webpack:///src/app/app-routing.module.ts","webpack:///src/app/data/entity/token-response.entity.ts","webpack:///src/app/data/model/step.model.ts","webpack:///src/app/usecases/help-use-case.ts","webpack:///src/main.ts","webpack:///$_lazy_route_resource lazy namespace object"],"names":["HelpRepository","helpRDS","help","sendData","ProfessionelService","professionnel","prof","next","professionel","JSON","parse","localStorage","getItem","conf","ipAddr","app","headers","headersWithToken","Authorization","OrganisationService","organisation","org","AideModel","email","sujet","description","CommandeUseCase","commandeRepository","id","list","pipe","commandeModels","console","log","latest","commandeModel","attributions","montant","commission","montantTotal","tauxCommission","dateExecution","totalTickets","reduce","total","user","nombre_ticket","commandeToSave","Date","organisationId","organisationNom","organisationEmail","create","OrganisationEntity","adresse","organisationNumber","logo","taux","typeTaux","prixUnitaireTicket","param","environment","production","AideComponent","formBuilder","professionelService","organisationService","helpUseCase","isLoadingSendData","isSendDataSuccessNotification","isSendDataFailedNotification","getProfessionnel","value","getLocalStorageProfessionnel","getOrganisation","getLocalStorageOrganisation","subscribe","_data","formAide","group","required","valid","formData","execute","result","descriptionInput","nativeElement","subjectInput","messages","severity","summary","detail","err","validateAllFormFields","formGroup","Object","keys","controls","forEach","field","control","get","markAsTouched","onlySelf","NewAttributionComponent","messageService","confirmationService","commandeUseCase","fileService","routingService","beneficiaireRDS","sommeTotale","sommeGlobale","attributionsUsers","donneesCsv","regex","clonedAttributions","isLoading","elementIndex","prix_unitaire","getOrganisationBeneficiaire","beneficiairesOrganisation","minDate","now","toISOString","split","amount","event","status","target","files","length","reader","FileReader","readAsText","onload","e","delimiter","includes","checkFile","data","index","attribution","nom","prenoms","push","getMontantPlusCommission","typeCheck","entries","element","undefined","trim","test","Number","isInteger","newAttribution","confirm","message","header","icon","accept","filter","val","onSommeChange","addBeneficiaire","createCommande","users","price","isValid","getCommission","rejectVisible","acceptLabel","redirect","add","key","life","error","downloadCsvModelAttribution","LoginRepository","loginRds","password","login","LoginUseCase","loginRepository","tokenResponseService","userModel","toProfessionelEntity","toOrganisationEntity","access","toTokenResponseEntity","access_token","expires_in","setItem","stringify","setProfessionnel","setOrganisation","PreviewAttributionComponent","config","unshift","BeneficiaireEntity","prenom","telephone","dateNaissance","DashboardRepository","dashboardRDS","getData","BeneficiaireUseCase","beneficiaireRepository","beneficiaires","createAll","NavigationComponent","router","url","navigateByUrl","logout","formatNumber","toString","replace","getAccessTokenFromCokie","document","cookie","acc","curr","pair","checkDuplicateValues","_arrayItems","valueArr","map","item","some","idx","indexOf","checkIfUsersInTheOrganisation","organisationUsers","beneficiaire","checkIfBeneficiairesInTheOrganisation","organisationBeneficiaires","checkIfBeneficiaireIsInTheOrganisation","beneficiaireEmail","checkIfUserIsMineur","_dateNaissance","diff","getHeadersWithAccessToken","getAccessToken","getJwt","updateCookies","token","time","getTime","expireTime","setTime","toUTCString","deleteAllCookies","cookies","eqPos","name","substr","searchByBool","createCookie","accessToken","expires","deconnexion","clear","isIncorrectPrice","isSmallerThan","limit","isNotMultipleOf","multiple","BeneficiaireStatusComponent","beneficiaireService","dashboardUseCase","activatedRoute","isLoadingBeneficiaires","getBeneficiaires","getLocalStorageBeneficiaires","paramMap","getBeneficiairesByStatus","AuthGuard","state","LoginComponent","loginUseCase","isLoadingConnexion","form","username","minLength","unAuthorized","errors","webpackContext","req","webpackContextResolve","__webpack_require__","o","Error","code","webpackContextKeys","resolve","module","exports","LoadedBeneficiairePopupComponent","ref","beneficiaireUseCase","isSavingBeneficiaires","listToSave","civilite","toLowerCase","date_naissance","response","close","type","erreurMessage","statusText","reject","AppComponent","title","routes","path","component","canActivate","HelpRDS","http","post","LoginRDS","OneBeneficiairePopupComponent","fb","erreurServeur","donneesForm","regex_date","compose","pattern","isMineur","mineurError","closeMethod","refreshList","setErrors","alreadyExist","reset","handleValider","HeaderComponent","fullName","AppModule","CommandeModel","numero","date","organisationName","professionnelEmail","factureId","factureStatus","csvUrl","devisUrl","factureUrl","steps","BeneficiaireTable","beneficiaireNom","beneficiairePrenom","beneficiaireDateNaissance","FileService","headerCsv","csv","convertToCsv","downloadCsvFile","objArray","headerList","array","str","row","slice","i","line","head","csvData","filename","blob","Blob","dwldLink","createElement","URL","createObjectURL","isSafariBrowser","navigator","userAgent","setAttribute","style","visibility","body","appendChild","click","removeChild","window","open","CommandeRepository","commandeRDS","commande","AttributionComponent","dialogService","selectedItem","width","contentStyle","overflow","baseZIndex","CommandeRDS","FormatNumberPipe","TokenResponseService","tokenResponse","DashboardComponent","countPendingAttribution","countProgressAttribution","countActiveBeneficiaire","countAllBeneficiaire","isLoadingDashboard","latestCommande","downloadFile","mDate","locale","startOf","fromNow","BeneficiaireComponent","civilites","queryParams","params","openAddOneBeneficiaire","donneesCSV","refAddMultiple","onClose","refAddOne","downloadCsvModelBeneficiaire","BeneficiaireService","DashboardUseCase","dashboardRepository","beneficiaireModels","beneficiairesEntities","beneficiaireModel","beneficiaireEntity","toBeneficiaireEntity","addBeneficiaires","BeneficiaireRepository","RoutingService","DashboardRDS","BeneficiaireRDS","observe","ProfessionelEntity","professionnelId","firstName","lastName","roleName","AppRoutingModule","forRoot","relativeLinkResolution","TokenResponseEntity","refresh_token","token_type","scope","jti","StepModel","HelpUseCase","helpRepository","bootstrapModule","webpackEmptyAsyncContext","Promise","then"],"mappings":"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","file":"main-es5.js","sourcesContent":["import { AideModel } from \"./../model/aide.model\";\nimport { HelpRDS } from \"./../datasource/remote-datasource/help-rds\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs/internal/Observable\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class HelpRepository {\n constructor(private helpRDS: HelpRDS) {}\n\n sendData(help: AideModel): Observable {\n return this.helpRDS.sendData(help);\n }\n}\n","import { ProfessionelEntity } from \"../data/entity/professionnel.entity\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { Injectable } from \"@angular/core\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class ProfessionelService {\n private professionnel: BehaviorSubject =\n new BehaviorSubject(null);\n\n constructor() {}\n\n setProfessionnel(prof: ProfessionelEntity): void {\n this.professionnel.next(prof);\n }\n\n getProfessionnel(): BehaviorSubject {\n return this.professionnel;\n }\n\n getLocalStorageProfessionnel() {\n const professionel = JSON.parse(localStorage.getItem(\"professionnel\"));\n this.professionnel.next(professionel);\n }\n}\n","import { HttpHeaders } from \"@angular/common/http\";\nexport const conf = {\n // samaFils: \"http://localhost:8585\",\n // ipAddr: \"http://194.163.138.23:8055\",\n ipAddr: \"https://painaveclait.link:61015\",\n app: \"professionnel\",\n // ipAddrTest: \"http://localhost:8055\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n }),\n headersWithToken: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n Authorization: \"\",\n }),\n};\n","import { Injectable } from \"@angular/core\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { OrganisationEntity } from \"../data/entity/organisation.entity\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class OrganisationService {\n private organisation: BehaviorSubject =\n new BehaviorSubject(null);\n\n constructor() {}\n\n setOrganisation(org: OrganisationEntity): void {\n this.organisation.next(org);\n }\n\n getOrganisation(): BehaviorSubject {\n return this.organisation;\n }\n\n getLocalStorageOrganisation() {\n const organisation = JSON.parse(localStorage.getItem(\"organisation\"));\n this.organisation.next(organisation);\n }\n}\n","export class AideModel {\n public email: string;\n public organisation: string;\n public sujet: string;\n public description: string;\n\n constructor(\n email: string,\n organisation: string,\n sujet: string,\n description: string\n ) {\n this.email = email;\n this.organisation = organisation;\n this.sujet = sujet;\n this.description = description;\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { CommandeRepository } from \"../data/repository/commande.repository\";\nimport { Observable } from \"rxjs\";\nimport { AttributionUserModel } from \"../data/model/attribution-user.model\";\nimport { CommandeModel } from \"../data/model/commande.model\";\nimport { StepModel } from \"../data/model/step.model\";\nimport { tap } from \"rxjs/operators\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class CommandeUseCase {\n constructor(private commandeRepository: CommandeRepository) {}\n\n list(id: string): Observable {\n return this.commandeRepository.list(id).pipe(\n tap((commandeModels: CommandeModel[]) => {\n console.log(\"commandeModels\");\n console.log(commandeModels);\n })\n );\n }\n\n latest(id: string): Observable {\n return this.commandeRepository.latest(id).pipe(\n tap((commandeModel: CommandeModel) => {\n console.log(\"commandeModel\");\n console.log(commandeModel);\n })\n );\n }\n\n execute(\n attributions: AttributionUserModel[],\n montant: number,\n commission,\n montantTotal,\n tauxCommission: number,\n dateExecution: string\n ): Observable {\n const organisation = JSON.parse(localStorage.getItem(\"organisation\"));\n const professionnel = JSON.parse(localStorage.getItem(\"professionnel\"));\n\n const totalTickets = attributions.reduce(\n (total, user) => total + user.nombre_ticket,\n 0\n );\n const commandeToSave = new CommandeModel(\n \"\",\n new Date(),\n new Date(dateExecution),\n montant,\n commission,\n tauxCommission,\n montantTotal,\n organisation.organisationId,\n organisation.organisationNom,\n organisation.organisationEmail,\n professionnel.email,\n \"\",\n \"\",\n totalTickets,\n \"\",\n \"\",\n \"\",\n [\n new StepModel(\"validation devis\", true),\n new StepModel(\"paiement\", false),\n new StepModel(\"debut attribution\", false),\n new StepModel(\"fin attribution\", false),\n ],\n attributions\n );\n console.log(commandeToSave);\n return this.commandeRepository.create(commandeToSave);\n }\n}\n","import { UserModel } from \"../model/user.model\";\n\nexport class OrganisationEntity {\n organisationId: string;\n organisationNom: string;\n adresse: string;\n organisationNumber: string;\n organisationEmail: string;\n logo: string;\n taux: number;\n typeTaux: string;\n prixUnitaireTicket: number;\n\n constructor(\n organisationId: string,\n organisationNom: string,\n adresse: string,\n organisationNumber: string,\n organisationEmail: string,\n logo: string,\n taux: number,\n typeTaux: string,\n prixUnitaireTicket: number\n ) {\n this.organisationId = organisationId;\n this.organisationNom = organisationNom;\n this.adresse = adresse;\n this.organisationNumber = organisationNumber;\n this.organisationEmail = organisationEmail;\n this.logo = logo;\n this.taux = taux;\n this.typeTaux = typeTaux;\n this.prixUnitaireTicket = prixUnitaireTicket;\n }\n\n static toOrganisationEntity(param: UserModel): OrganisationEntity {\n return new OrganisationEntity(\n param.organisation.organisationId,\n param.organisation.organisationNom,\n param.organisation.adresse,\n param.organisation.organisationNumber,\n param.organisation.organisationEmail,\n param.organisation.logo,\n param.organisation.taux,\n param.organisation.typeTaux,\n param.organisation.prixUnitaireTicket\n );\n }\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { HelpUseCase } from \"./../../usecases/help-use-case\";\nimport { OrganisationService } from \"./../../services/organisation.service\";\nimport { OrganisationEntity } from \"./../../data/entity/organisation.entity\";\nimport { ProfessionelEntity } from \"./../../data/entity/professionnel.entity\";\nimport { ProfessionelService } from \"./../../services/professionel.service\";\nimport { Component, OnInit, ViewChild } from \"@angular/core\";\nimport {\n FormBuilder,\n FormControl,\n FormGroup,\n Validators,\n} from \"@angular/forms\";\nimport { AideModel } from \"src/app/data/model/aide.model\";\nimport { Message } from \"primeng/api\";\n\n@Component({\n selector: \"app-aide\",\n templateUrl: \"./aide.component.html\",\n styleUrls: [\"./aide.component.css\"],\n})\nexport class AideComponent implements OnInit {\n user: ProfessionelEntity;\n organisation: OrganisationEntity;\n formAide: FormGroup;\n isLoadingSendData: boolean = false;\n isSendDataSuccessNotification: boolean = false;\n isSendDataFailedNotification: boolean = false;\n messages: Message[];\n @ViewChild(\"description\", { static: false }) descriptionInput;\n @ViewChild(\"subject\", { static: false }) subjectInput;\n\n constructor(\n private formBuilder: FormBuilder,\n private professionelService: ProfessionelService,\n private organisationService: OrganisationService,\n private helpUseCase: HelpUseCase\n ) {}\n\n ngOnInit() {\n if (this.professionelService.getProfessionnel().value == null) {\n this.professionelService.getLocalStorageProfessionnel();\n }\n\n if (this.organisationService.getOrganisation().value == null) {\n this.organisationService.getLocalStorageOrganisation();\n }\n\n this.professionelService\n .getProfessionnel()\n .subscribe((_data: ProfessionelEntity) => {\n this.user = _data;\n });\n\n this.organisationService\n .getOrganisation()\n .subscribe((_data: OrganisationEntity) => {\n this.organisation = _data;\n });\n\n this.formAide = this.formBuilder.group({\n email: [this.user ? this.user.email : \"\", [Validators.required]],\n organisation: [\n this.user ? this.organisation.organisationNom : \"\",\n [Validators.required],\n ],\n sujet: [\"\", [Validators.required]],\n description: [\"\", [Validators.required]],\n });\n }\n\n submitForm() {\n this.isLoadingSendData = true;\n this.isSendDataSuccessNotification = false;\n this.isSendDataFailedNotification = false;\n\n if (this.formAide.valid) {\n const formData = this.formAide.value;\n this.helpUseCase\n .execute(\n new AideModel(\n formData.email,\n formData.organisation,\n formData.sujet,\n formData.description\n )\n )\n .subscribe(\n (result) => {\n this.isLoadingSendData = false;\n this.isSendDataSuccessNotification = true;\n this.isSendDataFailedNotification = false;\n // this.formAide.reset();\n this.descriptionInput.nativeElement.value = \"\";\n this.subjectInput.nativeElement.value = \"\";\n this.messages = [\n {\n severity: \"success\",\n summary: \"\",\n detail: \"Message envoyé avec succès...\",\n },\n ];\n },\n (err: any) => {\n this.isLoadingSendData = false;\n this.isSendDataFailedNotification = true;\n this.isSendDataSuccessNotification = false;\n this.messages = [\n {\n severity: \"error\",\n summary: \"\",\n detail: \"Message non envoyé...\",\n },\n ];\n }\n );\n } else {\n this.isLoadingSendData = false;\n this.validateAllFormFields(this.formAide);\n }\n }\n\n validateAllFormFields(formGroup: FormGroup) {\n Object.keys(formGroup.controls).forEach((field) => {\n const control = formGroup.get(field);\n if (control instanceof FormControl) {\n control.markAsTouched({ onlySelf: true });\n } else if (control instanceof FormGroup) {\n this.validateAllFormFields(control);\n }\n });\n }\n}\n","\n
\n \n
\n

Hatwork Account Manager

\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n \n Obligatoire *\n \n \n
\n\n
\n \n \n Obligatoire *\n \n \n
\n\n
\n \n \n Obligatoire *\n \n \n
\n\n
\n \n \n Obligatoire *\n \n \n
\n\n \n \n \n
\n
\n
\n
\n","import { AttributionUserModel } from \"./../../../data/model/attribution-user.model\";\nimport { RoutingService } from \"./../../../services/routing.service\";\nimport { OrganisationEntity } from \"./../../../data/entity/organisation.entity\";\nimport { FileService } from \"./../../../services/file.service\";\nimport { Component, OnInit, ViewEncapsulation } from \"@angular/core\";\nimport { csvToJson } from \"csvtojson-converter\";\nimport {\n checkDuplicateValues,\n checkIfUsersInTheOrganisation,\n isIncorrectPrice,\n isNotMultipleOf,\n isSmallerThan,\n} from \"src/app/helpers/helpers\";\nimport { ConfirmationService, Message, MessageService } from \"primeng/api\";\nimport { CommandeUseCase } from \"../../../usecases/commande-use-case\";\nimport { BeneficiaireRDS } from \"../../../data/datasource/remote-datasource/beneficiaire-rds\";\nimport { BeneficiaireModel } from \"../../../data/model/beneficiaire.model\";\nimport { StepModel } from \"src/app/data/model/step.model\";\nimport { CommandeModel } from \"src/app/data/model/commande.model\";\nimport { log } from \"console\";\n\n@Component({\n selector: \"app-new-attribution\",\n templateUrl: \"./new-attribution.component.html\",\n styleUrls: [\"./new-attribution.component.css\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class NewAttributionComponent implements OnInit {\n status: string;\n sommeTotale: number = 0;\n taux: number = 0;\n typeTaux: string;\n sommeGlobale: number = 0;\n attributionsUsers: AttributionUserModel[] = [];\n donneesCsv: AttributionUserModel[] = [];\n regex = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,10})+$/;\n clonedAttributions: { [s: string]: AttributionUserModel } = {};\n beneficiairesOrganisation: BeneficiaireModel[];\n organisationId: string;\n isLoading: boolean = false;\n elementIndex: number = 1;\n messages: Message[];\n prix_unitaire: number = 0;\n minDate: string;\n dateExecution: string;\n isValid: string;\n\n constructor(\n private messageService: MessageService,\n private confirmationService: ConfirmationService,\n private commandeUseCase: CommandeUseCase,\n private fileService: FileService,\n private routingService: RoutingService,\n private beneficiaireRDS: BeneficiaireRDS\n ) {}\n\n ngOnInit() {\n const organisation: OrganisationEntity = JSON.parse(\n localStorage.getItem(\"organisation\")\n );\n this.organisationId = organisation.organisationId;\n this.taux = organisation.taux;\n this.typeTaux = organisation.typeTaux;\n this.prix_unitaire = organisation.prixUnitaireTicket;\n this.beneficiaireRDS\n .getOrganisationBeneficiaire(this.organisationId)\n .subscribe((result) => {\n console.log(result);\n this.beneficiairesOrganisation = result;\n });\n\n this.minDate = this.minDate = new Date(Date.now() + 3600 * 1000 * 24)\n .toISOString()\n .split(\"T\")[0];\n }\n\n public getCommission(amount: number): number {\n return this.typeTaux == \"percentage\"\n ? amount * (this.taux / 100)\n : this.taux;\n }\n\n public getMontantPlusCommission(amount: number): number {\n return this.typeTaux == \"percentage\"\n ? amount + amount * (this.taux / 100)\n : amount + this.taux;\n }\n\n public onFileChange(event): void {\n this.attributionsUsers = [];\n this.sommeGlobale = 0;\n this.sommeTotale = 0;\n this.elementIndex = 1;\n this.status = \"progress\";\n\n const target: DataTransfer = event.target;\n if (target.files.length > 0) {\n const reader: FileReader = new FileReader();\n reader.readAsText(target.files[0]);\n\n reader.onload = (e: any) => {\n const delimiter = \",\";\n this.donneesCsv = csvToJson(reader.result, delimiter);\n\n if (this.donneesCsv.length !== 0) {\n if (\n Object.keys(this.donneesCsv[0]).includes(\"nom\") &&\n Object.keys(this.donneesCsv[0]).includes(\"prenoms\") &&\n Object.keys(this.donneesCsv[0]).includes(\"email\") &&\n Object.keys(this.donneesCsv[0]).includes(\"nombre_ticket\")\n ) {\n if (this.checkFile(\"donneesCsv\") === \"loaded\") {\n console.log(\"after load csv...\");\n\n console.log(\"csv loaded...\");\n console.log(this.donneesCsv);\n\n console.log(\"this.prix_unitaire\");\n console.log(this.prix_unitaire);\n\n this.attributionsUsers = [];\n\n this.donneesCsv.forEach((data, index) => {\n let attribution: AttributionUserModel = {\n id: index,\n nom: data.nom,\n prenoms: data.prenoms,\n email: data.email,\n nombre_ticket: data.nombre_ticket,\n prix_unitaire: data.prix_unitaire,\n };\n console.log(\"attribution\" + index);\n console.log(attribution);\n\n this.attributionsUsers.push(attribution);\n });\n\n console.log(\"this.attributionsUsers\");\n console.log(this.attributionsUsers);\n\n this.sommeTotale = this.attributionsUsers.reduce(\n (total, user) =>\n total + user.nombre_ticket * this.prix_unitaire,\n 0\n );\n this.sommeGlobale = this.sommeGlobale =\n this.getMontantPlusCommission(this.sommeTotale);\n }\n } else {\n this.status = \"failed\";\n this.messages = [\n {\n severity: \"error\",\n summary: \"\",\n detail: \"Fichier non conforme...\",\n },\n ];\n }\n } else {\n this.status = \"empty\";\n this.messages = [\n {\n severity: \"error\",\n summary: \"\",\n detail: \"Aucun bénéficiaire dans le tableau...\",\n },\n ];\n }\n };\n }\n event.target.value = null;\n }\n\n checkFile(typeCheck: string) {\n this.beneficiaireRDS\n .getOrganisationBeneficiaire(this.organisationId)\n .subscribe((result) => {\n this.beneficiairesOrganisation = result;\n });\n\n if (typeCheck === \"donneesCsv\") {\n for (const [index, element] of this.donneesCsv.entries()) {\n if (\n element.nom === null ||\n element.nom === undefined ||\n element.nom.trim() === \"\"\n ) {\n this.status = \"error_nom\";\n this.messages = [\n {\n severity: \"error\",\n summary: \"\",\n detail: \"Vérifiez les noms des bénéficiaires...\",\n },\n ];\n break;\n }\n\n if (\n element.prenoms === null ||\n element.prenoms === undefined ||\n element.prenoms.trim() === \"\"\n ) {\n this.status = \"error_prenoms\";\n this.messages = [\n {\n severity: \"error\",\n summary: \"\",\n detail: \"Vérifiez les prénoms des bénéficiaires...\",\n },\n ];\n break;\n }\n\n if (\n element.email === null ||\n element.email === undefined ||\n element.email.trim() === \"\" ||\n !this.regex.test(element.email)\n ) {\n this.status = \"error_email\";\n this.messages = [\n {\n severity: \"error\",\n summary: \"\",\n detail: \"Erreur, vérifiez les emails des bénéficiaires...\",\n },\n ];\n break;\n }\n\n if (\n element.nombre_ticket === null ||\n element.nombre_ticket === undefined ||\n !Number.isInteger(element.nombre_ticket) ||\n element.nombre_ticket <= 0\n ) {\n this.status = \"error_nombre_ticket\";\n this.messages = [\n {\n severity: \"error\",\n summary: \"\",\n detail:\n \"Vérifiez les nombres de ticket attribués des bénéficiaires...\",\n },\n ];\n break;\n }\n\n this.donneesCsv[index].id = this.elementIndex;\n this.elementIndex++;\n }\n\n if (checkDuplicateValues(this.donneesCsv)) {\n this.status = \"error_doublon_email\";\n this.messages = [\n {\n severity: \"error\",\n summary: \"\",\n detail: \"Erreur doublon, vérifiez les emails des bénéficiaires...\",\n },\n ];\n }\n\n if (\n checkIfUsersInTheOrganisation(\n this.beneficiairesOrganisation,\n this.donneesCsv\n ) === \"user_not_found\"\n ) {\n this.status = \"user_not_found\";\n this.messages = [\n {\n severity: \"error\",\n summary: \"\",\n detail:\n \"Un bénéficiaire non répertorié dans l'organisation a été détecté...\",\n },\n ];\n }\n\n this.status = this.status === \"progress\" ? \"loaded\" : this.status;\n\n return this.status;\n } else {\n for (const element of this.attributionsUsers) {\n if (\n element.nom === null ||\n element.nom === undefined ||\n element.nom.trim() === \"\"\n ) {\n this.status = \"error_nom\";\n this.messages = [\n {\n severity: \"error\",\n summary: \"\",\n detail: \"Vérifiez les noms des bénéficiaires...\",\n },\n ];\n break;\n }\n\n if (\n element.prenoms === null ||\n element.prenoms === undefined ||\n element.prenoms.trim() === \"\"\n ) {\n this.status = \"error_prenoms\";\n this.messages = [\n {\n severity: \"error\",\n summary: \"\",\n detail: \"Vérifiez les prénoms des bénéficiaires...\",\n },\n ];\n break;\n }\n\n if (\n element.email === null ||\n element.email === undefined ||\n element.email.trim() === \"\" ||\n !this.regex.test(element.email)\n ) {\n this.status = \"error_email\";\n this.messages = [\n {\n severity: \"error\",\n summary: \"\",\n detail: \"Erreur, vérifiez les emails des bénéficiaires...\",\n },\n ];\n break;\n }\n\n if (\n element.nombre_ticket === null ||\n element.nombre_ticket === undefined ||\n !Number.isInteger(element.nombre_ticket) ||\n element.nombre_ticket <= 0\n ) {\n this.status = \"error_nombre_ticket\";\n this.messages = [\n {\n severity: \"error\",\n summary: \"\",\n detail:\n \"Vérifiez les nombres de ticket attribués des bénéficiaires...\",\n },\n ];\n break;\n }\n }\n\n if (checkDuplicateValues(this.attributionsUsers)) {\n this.status = \"error_doublon_email\";\n this.messages = [\n {\n severity: \"error\",\n summary: \"\",\n detail: \"Erreur doublon, vérifiez les emails des bénéficiaires...\",\n },\n ];\n }\n\n if (\n checkIfUsersInTheOrganisation(\n this.beneficiairesOrganisation,\n this.attributionsUsers\n ) === \"user_not_found\"\n ) {\n this.status = \"user_not_found\";\n this.messages = [\n {\n severity: \"error\",\n summary: \"\",\n detail:\n \"Un bénéficiaire non répertorié dans l'organisation est a été détecté...\",\n },\n ];\n }\n\n this.status = this.status === \"progress\" ? \"loaded\" : this.status;\n\n return this.status;\n }\n }\n\n addBeneficiaire() {\n const newAttribution = {\n id: this.elementIndex,\n nom: \"\",\n prenoms: \"\",\n email: \"\",\n nombre_ticket: 0,\n prix_unitaire: this.prix_unitaire,\n };\n this.attributionsUsers.push(newAttribution);\n this.elementIndex++;\n }\n\n deleteItem(attribution: AttributionUserModel) {\n this.confirmationService.confirm({\n message: \"Are you sure you want to delete \" + attribution.email + \"?\",\n header: \"Confirm\",\n icon: \"pi pi-exclamation-triangle\",\n accept: () => {\n this.attributionsUsers = this.attributionsUsers.filter(\n (val) => val.id !== attribution.id\n );\n this.onSommeChange();\n },\n });\n }\n\n onRowEditInit(attribution: AttributionUserModel) {\n this.clonedAttributions[attribution.id] = { ...attribution };\n }\n\n onRowEditSave(attribution: AttributionUserModel) {\n delete this.clonedAttributions[attribution.id];\n }\n\n onRowEditCancel(attribution: AttributionUserModel, index: number) {\n this.attributionsUsers[index] = this.clonedAttributions[attribution.id];\n delete this.clonedAttributions[attribution.id];\n this.onSommeChange();\n }\n\n onEndTabAddRow() {\n this.addBeneficiaire();\n }\n\n onSommeChange(prix_unitaire?: number) {\n this.sommeTotale = this.attributionsUsers.reduce(\n (total, user) => total + user.nombre_ticket * this.prix_unitaire,\n 0\n );\n this.sommeGlobale = this.getMontantPlusCommission(this.sommeTotale);\n }\n\n runCommande() {\n console.log(\"prix_unitaire\");\n console.log(this.prix_unitaire);\n\n this.confirmationService.confirm({\n message: \"Voulez-vous vraiment valider la commande ?\",\n header: \"Confirm\",\n icon: \"pi pi-exclamation-triangle\",\n accept: () => {\n this.createCommande(this.attributionsUsers, this.prix_unitaire);\n },\n });\n }\n createCommande(users: AttributionUserModel[], price: number) {\n // console.log(\"attributionsUsers...\");\n // console.log(users);\n\n // console.log(\"prix_unitaire\");\n // console.log(price);\n\n // console.log(\"create commande...\");\n // this.isValid = \"\";\n // this.isLoading = true;\n // console.log(this.dateExecution);\n if (\n isIncorrectPrice(price) ||\n isSmallerThan(price, 1500) ||\n isNotMultipleOf(price, 100)\n ) {\n this.isLoading = false;\n this.isValid = \"not-valid\";\n this.status = \"not_valid\";\n this.messages = [\n {\n severity: \"error\",\n summary: \"\",\n detail: \"Veuiller vérifier la valeur unitaire du ticket...\",\n },\n ];\n return;\n }\n\n if (this.dateExecution == \"\" || this.dateExecution == undefined) {\n console.log(\"premier test...\");\n this.isLoading = false;\n this.isValid = \"not-valid\";\n this.status = \"not_valid\";\n this.messages = [\n {\n severity: \"error\",\n summary: \"\",\n detail: \"Veuiller remplir la date d'execution...\",\n },\n ];\n return;\n }\n\n let newAttribution: AttributionUserModel[] = [];\n users.forEach((data, index) => {\n let attribution: AttributionUserModel = {\n id: index,\n nom: data.nom,\n prenoms: data.prenoms,\n email: data.email,\n nombre_ticket: data.nombre_ticket,\n prix_unitaire: price,\n };\n console.log(\"attribution\" + index);\n console.log(attribution);\n\n newAttribution.push(attribution);\n });\n\n // console.log(\"attributionsUsers before send...\");\n // console.log(newAttribution);\n\n // console.log(\"prix_unitaire before send...\");\n // console.log(price);\n\n let sommeTotale = newAttribution.reduce(\n (total, user) => total + user.nombre_ticket * user.prix_unitaire,\n 0\n );\n\n // console.log(\"sommeTotale before send...\");\n // console.log(sommeTotale);\n\n let sommeGlobale = this.getMontantPlusCommission(sommeTotale);\n\n // console.log(\"sommeGlobale before send...\");\n // console.log(sommeGlobale);\n\n if (this.validateAllFormFields() === \"loaded\") {\n this.commandeUseCase\n .execute(\n newAttribution,\n sommeTotale,\n this.getCommission(sommeTotale),\n sommeGlobale,\n this.taux,\n this.dateExecution\n )\n .subscribe(\n (result) => {\n if (result) {\n this.isLoading = false;\n this.confirmationService.confirm({\n message: \"Commande créée avec succès\",\n header: \"Confirmation\",\n icon: \"pi pi-check-circle\",\n rejectVisible: false,\n acceptLabel: \"Ok\",\n accept: () => {\n this.routingService.redirect(\"attribution\");\n },\n });\n } else {\n this.isLoading = false;\n this.messageService.add({\n key: \"error_commande\",\n severity: \"error\",\n summary: \"Erreur\",\n detail: \"Erreur réessayer !\",\n life: 3000,\n });\n }\n },\n (error) => {\n this.isLoading = false;\n this.messageService.add({\n key: \"error_commande\",\n severity: \"error\",\n summary: \"Erreur\",\n detail: \"Erreur réessayer !\",\n life: 3000,\n });\n }\n );\n } else {\n this.isLoading = false;\n }\n }\n\n validateAllFormFields() {\n console.log(\"second test\");\n\n this.status = \"progress\";\n\n if (!this.attributionsUsers.length) {\n this.status = \"empty\";\n this.messages = [\n {\n severity: \"error\",\n summary: \"\",\n detail: \"Veuiller ajouter des bénéficiaires...\",\n },\n ];\n return this.status;\n } else {\n return this.checkFile(\"attributionsUsers\");\n }\n }\n\n downloadCsv() {\n this.fileService.downloadCsvModelAttribution();\n }\n}\n","\n\n\n\n\n
\n \n
\n

Hatwork Account Manager

\n \n \n \n \n
\n
\n
\n \n
\n DATE D'EXECUTION\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n
\n \n \n \n Aperçu un modèle de fichier csv\n
\n
\n
\n
\n
\n \n \n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n \n\n
\n \n \n \n \n Nom\n Prenom\n Email\n Nombre Tickets\n \n \n \n \n \n \n \n \n \n \n \n {{ beneficiaire.nom }}\n \n \n \n \n \n \n \n \n \n {{ beneficiaire.prenoms }}\n \n \n \n \n \n \n \n \n \n {{ beneficiaire.email }}\n \n \n \n \n \n \n \n \n \n {{ beneficiaire.nombre_ticket }}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Valeur unitaire du ticket\n \n \n \n \n \n \n {{ prix_unitaire | formatNumber }}\n \n \n \n \n \n Montant à récharger\n {{ sommeTotale | formatNumber }}\n \n \n Commission appliquée\n \n {{ getCommission(sommeTotale) | formatNumber }}\n \n \n \n Total à payer\n \n {{ getMontantPlusCommission(sommeTotale) | formatNumber }}\n \n \n \n \n
\n
\n \n
\n
\n
\n \n
\n\n \n\n \n\n \n\n \n\n \n\n \n
\n \n
\n
\n","import { LoginRDS } from '../datasource/remote-datasource/login.rds';\nimport { Injectable } from \"@angular/core\";\nimport { UserModel } from \"../model/user.model\";\nimport { Observable } from \"rxjs\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class LoginRepository {\n constructor(private loginRds: LoginRDS) {}\n\n login(email: string, password: string): Observable {\n return this.loginRds.login(email, password);\n }\n}\n","import { TokenResponseService } from \"../services/token-response.service\";\nimport { TokenResponseEntity } from \"../data/entity/token-response.entity\";\nimport { OrganisationService } from \"../services/organisation.service\";\nimport { ProfessionelEntity } from \"../data/entity/professionnel.entity\";\nimport { map, tap } from \"rxjs/operators\";\nimport { LoginRepository } from \"../data/repository/login.repository\";\nimport { UserModel } from \"../data/model/user.model\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { ProfessionelService } from \"../services/professionel.service\";\nimport { OrganisationEntity } from \"../data/entity/organisation.entity\";\nimport { createCookie, deleteAllCookies } from \"../helpers/helpers\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class LoginUseCase {\n constructor(\n private loginRepository: LoginRepository,\n private professionelService: ProfessionelService,\n private organisationService: OrganisationService,\n private tokenResponseService: TokenResponseService\n ) {}\n\n execute(email: string, password: string): Observable {\n return this.loginRepository.login(email, password).pipe(\n tap((userModel: any) => {\n console.log(\"userModel\");\n console.log(userModel);\n\n const prof = ProfessionelEntity.toProfessionelEntity(userModel);\n const org = OrganisationEntity.toOrganisationEntity(userModel);\n const access = TokenResponseEntity.toTokenResponseEntity(userModel);\n\n console.log(\"create cookie...\");\n console.log(access.access_token);\n console.log(access.expires_in);\n console.log(org);\n\n createCookie(access.access_token, access.expires_in);\n\n localStorage.setItem(\"professionnel\", JSON.stringify(prof));\n localStorage.setItem(\"organisation\", JSON.stringify(org));\n\n this.professionelService.setProfessionnel(prof);\n this.organisationService.setOrganisation(org);\n })\n );\n }\n}\n","\n\n \n
\n \n \n \n \n \n \n \n
\n
\n \n \n Nom\n Prenom\n Email\n Nombre Tickets\n Montant\n \n \n \n \n \n \n \n \n \n \n \n {{ beneficiaire.nom }}\n \n \n \n \n \n \n \n \n \n {{ beneficiaire.prenoms }}\n \n \n \n \n \n \n \n \n \n {{ beneficiaire.email }}\n \n \n \n \n \n \n \n \n \n {{ beneficiaire.nombre_ticket }}\n \n \n \n \n \n \n \n \n \n {{ beneficiaire.prix_unitaire }}\n \n \n \n \n \n \n \n \n \n \n Total\n {{ sommeTotale }}\n \n \n Total\n {{ sommeTotale }}\n \n \n\n
\n \n
\n","import { Component, OnInit } from \"@angular/core\";\nimport { DynamicDialogConfig } from \"primeng/dynamicdialog\";\nimport { AttributionUserModel } from \"src/app/data/model/attribution-user.model\";\nimport { ConfirmationService, MessageService } from \"primeng/api\";\n\n@Component({\n selector: \"app-preview-attribution\",\n templateUrl: \"./preview-attribution.component.html\",\n styleUrls: [\"./preview-attribution.component.css\"],\n})\nexport class PreviewAttributionComponent implements OnInit {\n attributionsUsers: AttributionUserModel[];\n sommeTotale: number = 0;\n\n constructor(\n public config: DynamicDialogConfig,\n private messageService: MessageService,\n private confirmationService: ConfirmationService\n ) {}\n\n ngOnInit() {\n this.sommeTotale = this.attributionsUsers.reduce(\n (total, user) => total + user.nombre_ticket * user.prix_unitaire,\n 0\n );\n }\n\n addBeneficiaire() {\n const newAttribution = {\n id: 0,\n nom: \"\",\n prenoms: \"\",\n email: \"\",\n nombre_ticket: 0,\n prix_unitaire: 0,\n };\n this.attributionsUsers.unshift(newAttribution);\n }\n deleteItem(attribution: AttributionUserModel) {\n this.confirmationService.confirm({\n message: \"Are you sure you want to delete \" + attribution.email + \"?\",\n header: \"Confirm\",\n icon: \"pi pi-exclamation-triangle\",\n accept: () => {\n this.attributionsUsers = this.attributionsUsers.filter(\n (val) => val.email !== attribution.email\n );\n this.messageService.add({\n severity: \"success\",\n summary: \"Successful\",\n detail: \"Product Deleted\",\n life: 3000,\n });\n },\n });\n }\n onSommeChange() {\n this.sommeTotale = this.attributionsUsers.reduce(\n (total, user) => total + user.nombre_ticket * user.prix_unitaire,\n 0\n );\n }\n}\n","import { BeneficiaireModel } from \"../model/beneficiaire.model\";\nexport class BeneficiaireEntity {\n public id: string;\n public email: string;\n public status: string;\n public nom: string;\n public prenom: string;\n public telephone: string;\n public dateNaissance: Date;\n\n constructor(\n id: string,\n email: string,\n status: string,\n nom: string,\n prenom: string,\n telephone: string,\n dateNaissance: Date\n ) {\n this.id = id;\n this.email = email;\n this.status = status;\n this.nom = nom;\n this.prenom = prenom;\n this.telephone = telephone;\n this.dateNaissance = dateNaissance;\n }\n\n static toBeneficiaireEntity(param: BeneficiaireModel): BeneficiaireEntity {\n return {\n id: param.id,\n email: param.email,\n status: param.status,\n nom: param.nom,\n prenom: param.prenom,\n telephone: param.telephone,\n dateNaissance: param.dateNaissance,\n };\n }\n}\n","import { BeneficiaireModel } from '../model/beneficiaire.model';\nimport { Observable } from \"rxjs\";\nimport { DashboardRDS } from '../datasource/remote-datasource/dashboard-rds';\nimport { Injectable } from \"@angular/core\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class DashboardRepository {\n constructor(private dashboardRDS: DashboardRDS) {}\n\n getData(organisationId: string): Observable {\n return this.dashboardRDS.getData(organisationId);\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport {BeneficiaireRepository} from '../data/repository/beneficiaire.repository';\nimport {BeneficiaireTable} from '../data/model/beneficiaireTable.model';\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class BeneficiaireUseCase {\n constructor(private beneficiaireRepository: BeneficiaireRepository) {}\n\n execute(beneficiaires: BeneficiaireTable[]): Observable {\n return this.beneficiaireRepository.createAll(beneficiaires);\n }\n}\n","import { Component, Input, OnInit } from \"@angular/core\";\nimport { Router } from \"@angular/router\";\nimport { deconnexion } from \"src/app/helpers/helpers\";\n\n@Component({\n selector: \"app-navigation\",\n templateUrl: \"./navigation.component.html\",\n styleUrls: [\"./navigation.component.css\"],\n})\nexport class NavigationComponent implements OnInit {\n constructor(private router: Router) {}\n\n @Input() selectedItem: number;\n\n ngOnInit() {}\n\n public redirect(url: string) {\n this.router.navigateByUrl(url);\n }\n\n public logout() {\n deconnexion();\n this.router.navigateByUrl(\"/\");\n }\n}\n","\n","import { HttpHeaders } from \"@angular/common/http\";\nimport * as moment from \"moment\";\n\nexport let formatNumber = (price: string) => {\n if (price.toString().length > 3) {\n price = price.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \" \");\n }\n return price;\n};\n\nexport function getAccessTokenFromCokie() {\n return document.cookie.split(\"; \").reduce((acc, curr) => {\n const pair = curr.split(\"=\");\n acc[pair[0]] = pair[1];\n return acc;\n }, {});\n}\n\nexport function checkDuplicateValues(_arrayItems: any) {\n let valueArr = _arrayItems.map(function (item) {\n return item.email;\n });\n return valueArr.some(function (item, idx) {\n return valueArr.indexOf(item) != idx;\n });\n}\n\nexport function checkIfUsersInTheOrganisation(\n organisationUsers: any,\n users: any\n) {\n let error = \"\";\n for (const beneficiaire of users) {\n if (!organisationUsers.some((e) => e.email === beneficiaire.email)) {\n error = \"user_not_found\";\n break;\n }\n }\n\n return error;\n}\n\nexport function checkIfBeneficiairesInTheOrganisation(\n organisationBeneficiaires: any,\n beneficiaires: any\n) {\n let error = \"\";\n for (const beneficiaire of beneficiaires) {\n if (organisationBeneficiaires.some((e) => e.email === beneficiaire.email)) {\n error = \"user_found\";\n break;\n }\n }\n\n return error;\n}\n\nexport function checkIfBeneficiaireIsInTheOrganisation(\n organisationBeneficiaires: any,\n beneficiaires: any\n) {\n let error = \"\";\n for (const beneficiaire of beneficiaires) {\n if (\n organisationBeneficiaires.some(\n (e) => e.email === beneficiaire.beneficiaireEmail\n )\n ) {\n error = \"user_found\";\n break;\n }\n }\n\n return error;\n}\n\nexport function checkIfUserIsMineur(_dateNaissance: Date) {\n return moment(new Date()).diff(_dateNaissance, \"years\", false);\n}\n\nexport function getHeadersWithAccessToken(): HttpHeaders {\n return new HttpHeaders({\n \"Content-Type\": \"application/json\",\n Authorization: \"Bearer \" + getAccessTokenFromCokie()[\"jwt\"],\n });\n}\n\nexport function getAccessToken() {\n return \"Bearer \" + getAccessTokenFromCokie()[\"jwt\"];\n}\n\nexport function getJwt() {\n return getAccessTokenFromCokie()[\"jwt\"];\n}\n\nexport function updateCookies(token: string) {\n if (token !== null || token !== undefined) {\n let now = new Date();\n let time = now.getTime();\n let expireTime = time + 1000 * 900;\n now.setTime(expireTime);\n\n document.cookie =\n \"jwt=\" + token + \";expires=\" + now.toUTCString() + \"; path=/\";\n }\n}\n\nexport function deleteAllCookies() {\n let cookies = document.cookie.split(\";\");\n\n for (const element of cookies) {\n let cookie = element;\n let eqPos = cookie.indexOf(\"=\");\n let name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;\n document.cookie = name + \"=;expires=Thu, 01 Jan 1970 00:00:00 GMT\";\n }\n}\n\nexport function searchByBool(value: boolean): string {\n if (value) {\n return \"Payé\";\n } else {\n return \"Echec\";\n }\n}\n\nexport function createCookie(accessToken: string, expires: number) {\n let now = new Date();\n let time = now.getTime();\n let expireTime = time + expires * 1000;\n now.setTime(expireTime);\n\n document.cookie =\n \"jwt=\" + accessToken + \";expires=\" + now.toUTCString() + \"; path=/\";\n}\n\nexport function deconnexion() {\n localStorage.clear();\n localStorage.clear();\n deleteAllCookies();\n}\n\nexport function isIncorrectPrice(price: number): boolean {\n return (\n price === null ||\n price === undefined ||\n !Number.isInteger(price) ||\n price <= 0\n );\n}\n\nexport function isSmallerThan(price: number, limit: number): boolean {\n return price < limit;\n}\n\nexport function isNotMultipleOf(price: number, multiple: number): boolean {\n return price % multiple !== 0;\n}\n","\n
\n \n
\n

Hatwork Account Manager

\n
\n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NomPrenom(s)EmailStatut
{{ beneficiaire.nom }}{{ beneficiaire.prenom }}{{ beneficiaire.email }}\n \n \n \n
\n
\n
\n
\n","import { BeneficiaireEntity } from '../../data/entity/beneficiaire.entity';\nimport { Component, OnInit } from \"@angular/core\";\nimport { ActivatedRoute, ParamMap } from \"@angular/router\";\nimport { BeneficiaireService } from \"src/app/services/beneficiaire.service\";\nimport { DashboardUseCase } from \"src/app/usecases/dashboard-use-case\";\nimport { ProfessionelService } from \"src/app/services/professionel.service\";\n\n@Component({\n selector: \"app-beneficiaire-status\",\n templateUrl: \"./beneficiaire-status.component.html\",\n styleUrls: [\"./beneficiaire-status.component.css\"],\n})\nexport class BeneficiaireStatusComponent implements OnInit {\n beneficiaires: BeneficiaireEntity[];\n isLoadingBeneficiaires: boolean = false;\n\n constructor(\n // private appService: AppService,\n private beneficiaireService: BeneficiaireService,\n private dashboardUseCase: DashboardUseCase,\n private professionelService: ProfessionelService,\n private activatedRoute: ActivatedRoute\n ) {}\n\n ngOnInit() {\n this.isLoadingBeneficiaires = true;\n\n if (this.professionelService.getProfessionnel().value == null) {\n this.professionelService.getLocalStorageProfessionnel();\n }\n\n if (this.beneficiaireService.getBeneficiaires().value == null) {\n this.beneficiaireService.getLocalStorageBeneficiaires();\n }\n\n this.activatedRoute.paramMap.subscribe((paramMap: ParamMap) => {\n this.beneficiaires = this.beneficiaireService.getBeneficiairesByStatus(\n paramMap.get(\"status\")\n );\n this.isLoadingBeneficiaires = false;\n });\n\n // this.activatedRoute.paramMap.subscribe((paramMap: ParamMap) => {\n // this.beneficiaireService\n // .getBeneficiaires()\n // .subscribe((_data: BeneficiaireEntity[]) => {\n // this.beneficiaires = _data.filter(\n // (element) => element.status == paramMap.get(\"status\")\n // );\n // });\n // });\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport {\n CanActivate,\n ActivatedRouteSnapshot,\n RouterStateSnapshot,\n UrlTree,\n Router,\n} from \"@angular/router\";\nimport { Observable } from \"rxjs\";\nimport { getJwt, deconnexion } from \"../helpers/helpers\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class AuthGuard implements CanActivate {\n constructor(private router: Router) {}\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ): boolean {\n const token = getJwt();\n console.log(\"check token guard...\");\n console.log(token);\n\n if (token != null || token != undefined) {\n return true;\n } else {\n deconnexion();\n this.router.navigateByUrl(\"/\");\n return false;\n }\n }\n}\n","import { UserModel } from \"../../data/model/user.model\";\nimport { LoginUseCase } from \"../../usecases/login-use-case\";\nimport { Component, OnInit } from \"@angular/core\";\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\nimport { Router } from \"@angular/router\";\nimport { deconnexion } from \"src/app/helpers/helpers\";\n\n@Component({\n selector: \"app-login\",\n templateUrl: \"./login.component.html\",\n styleUrls: [\"./login.component.css\"],\n})\nexport class LoginComponent implements OnInit {\n form!: FormGroup;\n unAuthorized: boolean;\n isLoadingConnexion: boolean = false;\n\n constructor(\n private formBuilder: FormBuilder,\n private router: Router,\n private loginUseCase: LoginUseCase\n ) {}\n\n ngOnInit() {\n this.form = this.formBuilder.group({\n username: [\"\", [Validators.required, Validators.email]],\n password: [\"\", [Validators.required, Validators.minLength(6)]],\n });\n }\n\n connexion() {\n this.isLoadingConnexion = true;\n this.unAuthorized = false;\n if (this.form.valid) {\n this.loginUseCase\n .execute(this.form.value[\"username\"], this.form.value[\"password\"])\n .subscribe(\n (data: UserModel) => {\n console.log(data);\n this.isLoadingConnexion = false;\n this.router.navigateByUrl(\"/dashboard\");\n },\n (err: any) => {\n this.isLoadingConnexion = false;\n this.unAuthorized = true;\n console.log(err);\n console.log(\"email ou mot de passe incorrect...\");\n }\n );\n } else {\n console.log(this.form.errors);\n this.isLoadingConnexion = false;\n this.unAuthorized = true;\n }\n }\n}\n","
\n
\n
\n
\n

Bienvenue dans votre espace Hatwork Pro !

\n
\n
\n Souriez, vous avez entre les mains le meilleur outil pour motiver vos\n salariés\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
Login ou Mot de passe incorrect...
\n
\n
\n
\n

Se connecter

\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n","var map = {\n\t\"./af\": \"K/tc\",\n\t\"./af.js\": \"K/tc\",\n\t\"./ar\": \"jnO4\",\n\t\"./ar-dz\": \"o1bE\",\n\t\"./ar-dz.js\": \"o1bE\",\n\t\"./ar-kw\": \"Qj4J\",\n\t\"./ar-kw.js\": \"Qj4J\",\n\t\"./ar-ly\": \"HP3h\",\n\t\"./ar-ly.js\": \"HP3h\",\n\t\"./ar-ma\": \"CoRJ\",\n\t\"./ar-ma.js\": \"CoRJ\",\n\t\"./ar-sa\": \"gjCT\",\n\t\"./ar-sa.js\": \"gjCT\",\n\t\"./ar-tn\": \"bYM6\",\n\t\"./ar-tn.js\": \"bYM6\",\n\t\"./ar.js\": \"jnO4\",\n\t\"./az\": \"SFxW\",\n\t\"./az.js\": \"SFxW\",\n\t\"./be\": \"H8ED\",\n\t\"./be.js\": \"H8ED\",\n\t\"./bg\": \"hKrs\",\n\t\"./bg.js\": \"hKrs\",\n\t\"./bm\": \"p/rL\",\n\t\"./bm.js\": \"p/rL\",\n\t\"./bn\": \"kEOa\",\n\t\"./bn-bd\": \"loYQ\",\n\t\"./bn-bd.js\": \"loYQ\",\n\t\"./bn.js\": \"kEOa\",\n\t\"./bo\": \"0mo+\",\n\t\"./bo.js\": \"0mo+\",\n\t\"./br\": \"aIdf\",\n\t\"./br.js\": \"aIdf\",\n\t\"./bs\": \"JVSJ\",\n\t\"./bs.js\": \"JVSJ\",\n\t\"./ca\": \"1xZ4\",\n\t\"./ca.js\": \"1xZ4\",\n\t\"./cs\": \"PA2r\",\n\t\"./cs.js\": \"PA2r\",\n\t\"./cv\": \"A+xa\",\n\t\"./cv.js\": \"A+xa\",\n\t\"./cy\": \"l5ep\",\n\t\"./cy.js\": \"l5ep\",\n\t\"./da\": \"DxQv\",\n\t\"./da.js\": \"DxQv\",\n\t\"./de\": \"tGlX\",\n\t\"./de-at\": \"s+uk\",\n\t\"./de-at.js\": \"s+uk\",\n\t\"./de-ch\": \"u3GI\",\n\t\"./de-ch.js\": \"u3GI\",\n\t\"./de.js\": \"tGlX\",\n\t\"./dv\": \"WYrj\",\n\t\"./dv.js\": \"WYrj\",\n\t\"./el\": \"jUeY\",\n\t\"./el.js\": \"jUeY\",\n\t\"./en-au\": \"Dmvi\",\n\t\"./en-au.js\": \"Dmvi\",\n\t\"./en-ca\": \"OIYi\",\n\t\"./en-ca.js\": \"OIYi\",\n\t\"./en-gb\": \"Oaa7\",\n\t\"./en-gb.js\": \"Oaa7\",\n\t\"./en-ie\": \"4dOw\",\n\t\"./en-ie.js\": \"4dOw\",\n\t\"./en-il\": \"czMo\",\n\t\"./en-il.js\": \"czMo\",\n\t\"./en-in\": \"7C5Q\",\n\t\"./en-in.js\": \"7C5Q\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./en-sg\": \"t+mt\",\n\t\"./en-sg.js\": \"t+mt\",\n\t\"./eo\": \"Zduo\",\n\t\"./eo.js\": \"Zduo\",\n\t\"./es\": \"iYuL\",\n\t\"./es-do\": \"CjzT\",\n\t\"./es-do.js\": \"CjzT\",\n\t\"./es-mx\": \"tbfe\",\n\t\"./es-mx.js\": \"tbfe\",\n\t\"./es-us\": \"Vclq\",\n\t\"./es-us.js\": \"Vclq\",\n\t\"./es.js\": \"iYuL\",\n\t\"./et\": \"7BjC\",\n\t\"./et.js\": \"7BjC\",\n\t\"./eu\": \"D/JM\",\n\t\"./eu.js\": \"D/JM\",\n\t\"./fa\": \"jfSC\",\n\t\"./fa.js\": \"jfSC\",\n\t\"./fi\": \"gekB\",\n\t\"./fi.js\": \"gekB\",\n\t\"./fil\": \"1ppg\",\n\t\"./fil.js\": \"1ppg\",\n\t\"./fo\": \"ByF4\",\n\t\"./fo.js\": \"ByF4\",\n\t\"./fr\": \"nyYc\",\n\t\"./fr-ca\": \"2fjn\",\n\t\"./fr-ca.js\": \"2fjn\",\n\t\"./fr-ch\": \"Dkky\",\n\t\"./fr-ch.js\": \"Dkky\",\n\t\"./fr.js\": \"nyYc\",\n\t\"./fy\": \"cRix\",\n\t\"./fy.js\": \"cRix\",\n\t\"./ga\": \"USCx\",\n\t\"./ga.js\": \"USCx\",\n\t\"./gd\": \"9rRi\",\n\t\"./gd.js\": \"9rRi\",\n\t\"./gl\": \"iEDd\",\n\t\"./gl.js\": \"iEDd\",\n\t\"./gom-deva\": \"qvJo\",\n\t\"./gom-deva.js\": \"qvJo\",\n\t\"./gom-latn\": \"DKr+\",\n\t\"./gom-latn.js\": \"DKr+\",\n\t\"./gu\": \"4MV3\",\n\t\"./gu.js\": \"4MV3\",\n\t\"./he\": \"x6pH\",\n\t\"./he.js\": \"x6pH\",\n\t\"./hi\": \"3E1r\",\n\t\"./hi.js\": \"3E1r\",\n\t\"./hr\": \"S6ln\",\n\t\"./hr.js\": \"S6ln\",\n\t\"./hu\": \"WxRl\",\n\t\"./hu.js\": \"WxRl\",\n\t\"./hy-am\": \"1rYy\",\n\t\"./hy-am.js\": \"1rYy\",\n\t\"./id\": \"UDhR\",\n\t\"./id.js\": \"UDhR\",\n\t\"./is\": \"BVg3\",\n\t\"./is.js\": \"BVg3\",\n\t\"./it\": \"bpih\",\n\t\"./it-ch\": \"bxKX\",\n\t\"./it-ch.js\": \"bxKX\",\n\t\"./it.js\": \"bpih\",\n\t\"./ja\": \"B55N\",\n\t\"./ja.js\": \"B55N\",\n\t\"./jv\": \"tUCv\",\n\t\"./jv.js\": \"tUCv\",\n\t\"./ka\": \"IBtZ\",\n\t\"./ka.js\": \"IBtZ\",\n\t\"./kk\": \"bXm7\",\n\t\"./kk.js\": \"bXm7\",\n\t\"./km\": \"6B0Y\",\n\t\"./km.js\": \"6B0Y\",\n\t\"./kn\": \"PpIw\",\n\t\"./kn.js\": \"PpIw\",\n\t\"./ko\": \"Ivi+\",\n\t\"./ko.js\": \"Ivi+\",\n\t\"./ku\": \"JCF/\",\n\t\"./ku.js\": \"JCF/\",\n\t\"./ky\": \"lgnt\",\n\t\"./ky.js\": \"lgnt\",\n\t\"./lb\": \"RAwQ\",\n\t\"./lb.js\": \"RAwQ\",\n\t\"./lo\": \"sp3z\",\n\t\"./lo.js\": \"sp3z\",\n\t\"./lt\": \"JvlW\",\n\t\"./lt.js\": \"JvlW\",\n\t\"./lv\": \"uXwI\",\n\t\"./lv.js\": \"uXwI\",\n\t\"./me\": \"KTz0\",\n\t\"./me.js\": \"KTz0\",\n\t\"./mi\": \"aIsn\",\n\t\"./mi.js\": \"aIsn\",\n\t\"./mk\": \"aQkU\",\n\t\"./mk.js\": \"aQkU\",\n\t\"./ml\": \"AvvY\",\n\t\"./ml.js\": \"AvvY\",\n\t\"./mn\": \"lYtQ\",\n\t\"./mn.js\": \"lYtQ\",\n\t\"./mr\": \"Ob0Z\",\n\t\"./mr.js\": \"Ob0Z\",\n\t\"./ms\": \"6+QB\",\n\t\"./ms-my\": \"ZAMP\",\n\t\"./ms-my.js\": \"ZAMP\",\n\t\"./ms.js\": \"6+QB\",\n\t\"./mt\": \"G0Uy\",\n\t\"./mt.js\": \"G0Uy\",\n\t\"./my\": \"honF\",\n\t\"./my.js\": \"honF\",\n\t\"./nb\": \"bOMt\",\n\t\"./nb.js\": \"bOMt\",\n\t\"./ne\": \"OjkT\",\n\t\"./ne.js\": \"OjkT\",\n\t\"./nl\": \"+s0g\",\n\t\"./nl-be\": \"2ykv\",\n\t\"./nl-be.js\": \"2ykv\",\n\t\"./nl.js\": \"+s0g\",\n\t\"./nn\": \"uEye\",\n\t\"./nn.js\": \"uEye\",\n\t\"./oc-lnc\": \"Fnuy\",\n\t\"./oc-lnc.js\": \"Fnuy\",\n\t\"./pa-in\": \"8/+R\",\n\t\"./pa-in.js\": \"8/+R\",\n\t\"./pl\": \"jVdC\",\n\t\"./pl.js\": \"jVdC\",\n\t\"./pt\": \"8mBD\",\n\t\"./pt-br\": \"0tRk\",\n\t\"./pt-br.js\": \"0tRk\",\n\t\"./pt.js\": \"8mBD\",\n\t\"./ro\": \"lyxo\",\n\t\"./ro.js\": \"lyxo\",\n\t\"./ru\": \"lXzo\",\n\t\"./ru.js\": \"lXzo\",\n\t\"./sd\": \"Z4QM\",\n\t\"./sd.js\": \"Z4QM\",\n\t\"./se\": \"//9w\",\n\t\"./se.js\": \"//9w\",\n\t\"./si\": \"7aV9\",\n\t\"./si.js\": \"7aV9\",\n\t\"./sk\": \"e+ae\",\n\t\"./sk.js\": \"e+ae\",\n\t\"./sl\": \"gVVK\",\n\t\"./sl.js\": \"gVVK\",\n\t\"./sq\": \"yPMs\",\n\t\"./sq.js\": \"yPMs\",\n\t\"./sr\": \"zx6S\",\n\t\"./sr-cyrl\": \"E+lV\",\n\t\"./sr-cyrl.js\": \"E+lV\",\n\t\"./sr.js\": \"zx6S\",\n\t\"./ss\": \"Ur1D\",\n\t\"./ss.js\": \"Ur1D\",\n\t\"./sv\": \"X709\",\n\t\"./sv.js\": \"X709\",\n\t\"./sw\": \"dNwA\",\n\t\"./sw.js\": \"dNwA\",\n\t\"./ta\": \"PeUW\",\n\t\"./ta.js\": \"PeUW\",\n\t\"./te\": \"XLvN\",\n\t\"./te.js\": \"XLvN\",\n\t\"./tet\": \"V2x9\",\n\t\"./tet.js\": \"V2x9\",\n\t\"./tg\": \"Oxv6\",\n\t\"./tg.js\": \"Oxv6\",\n\t\"./th\": \"EOgW\",\n\t\"./th.js\": \"EOgW\",\n\t\"./tk\": \"Wv91\",\n\t\"./tk.js\": \"Wv91\",\n\t\"./tl-ph\": \"Dzi0\",\n\t\"./tl-ph.js\": \"Dzi0\",\n\t\"./tlh\": \"z3Vd\",\n\t\"./tlh.js\": \"z3Vd\",\n\t\"./tr\": \"DoHr\",\n\t\"./tr.js\": \"DoHr\",\n\t\"./tzl\": \"z1FC\",\n\t\"./tzl.js\": \"z1FC\",\n\t\"./tzm\": \"wQk9\",\n\t\"./tzm-latn\": \"tT3J\",\n\t\"./tzm-latn.js\": \"tT3J\",\n\t\"./tzm.js\": \"wQk9\",\n\t\"./ug-cn\": \"YRex\",\n\t\"./ug-cn.js\": \"YRex\",\n\t\"./uk\": \"raLr\",\n\t\"./uk.js\": \"raLr\",\n\t\"./ur\": \"UpQW\",\n\t\"./ur.js\": \"UpQW\",\n\t\"./uz\": \"Loxo\",\n\t\"./uz-latn\": \"AQ68\",\n\t\"./uz-latn.js\": \"AQ68\",\n\t\"./uz.js\": \"Loxo\",\n\t\"./vi\": \"KSF8\",\n\t\"./vi.js\": \"KSF8\",\n\t\"./x-pseudo\": \"/X5v\",\n\t\"./x-pseudo.js\": \"/X5v\",\n\t\"./yo\": \"fzPg\",\n\t\"./yo.js\": \"fzPg\",\n\t\"./zh-cn\": \"XDpg\",\n\t\"./zh-cn.js\": \"XDpg\",\n\t\"./zh-hk\": \"SatO\",\n\t\"./zh-hk.js\": \"SatO\",\n\t\"./zh-mo\": \"OmwH\",\n\t\"./zh-mo.js\": \"OmwH\",\n\t\"./zh-tw\": \"kOpN\",\n\t\"./zh-tw.js\": \"kOpN\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"RnhZ\";","import { Component, OnInit } from \"@angular/core\";\nimport { DynamicDialogConfig, DynamicDialogRef } from \"primeng/dynamicdialog\";\nimport { BeneficiaireTable } from \"../../../../data/model/beneficiaireTable.model\";\nimport { BeneficiaireUseCase } from \"../../../../usecases/beneficiaire-use-case\";\nimport { ConfirmationService } from \"primeng/api\";\n\n@Component({\n selector: \"app-loaded-beneficiaire-popup\",\n templateUrl: \"./loaded-beneficiaire-popup.component.html\",\n styleUrls: [\"../../beneficiaire.component.css\"],\n})\nexport class LoadedBeneficiairePopupComponent implements OnInit {\n beneficiaires: any[];\n public isSavingBeneficiaires: boolean = false;\n\n constructor(\n public ref: DynamicDialogRef,\n public config: DynamicDialogConfig,\n private beneficiaireUseCase: BeneficiaireUseCase,\n private confirmationService: ConfirmationService\n ) {\n this.beneficiaires = config.data;\n }\n\n ngOnInit() {}\n\n handleValider() {\n this.confirmationService.confirm({\n message:\n \"Vous allez ajouter une liste de bénéficiaire, veuillez confirmer\",\n header: \"Confirmation\",\n icon: \"pi pi-exclamation-triangle\",\n key: \"confirmSaveAllDialog\",\n accept: () => {\n this.isSavingBeneficiaires = true;\n let listToSave: BeneficiaireTable[] = [];\n let organisation = JSON.parse(localStorage.getItem(\"organisation\"));\n\n this.beneficiaires.forEach((element) => {\n listToSave.push(\n new BeneficiaireTable(\n organisation.organisationId,\n element.civilite,\n element.nom,\n element.prenoms,\n element.email.toString().trim().toLowerCase(),\n element.date_naissance\n )\n );\n });\n\n this.beneficiaireUseCase.execute(listToSave).subscribe(\n (response) => {\n this.isSavingBeneficiaires = false;\n if (response.status) {\n this.ref.close({\n type: \"success\",\n message: \"Vous avez ajouté des bénéficiaires avec succès\",\n summary: \"Success\",\n });\n }\n },\n (data) => {\n this.isSavingBeneficiaires = false;\n let erreurMessage: string;\n if (data.status == 401) {\n erreurMessage = \"Votre session a expiré...\";\n } else if (data.status == 409) {\n erreurMessage =\n \"Un ou plusieurs bénéficiaires sont déjà rattachés à une autre entreprise\";\n } else {\n erreurMessage = data.statusText;\n }\n\n this.ref.close({\n type: \"error\",\n message: erreurMessage,\n summary: \"Error\",\n });\n }\n );\n },\n reject: () => {},\n });\n }\n\n handleClose() {\n this.ref.close();\n }\n}\n","\n\n
\n \n
\n\n
\n \n \n \n Civilite\n Nom \n Prenoms \n Email \n \n \n \n \n {{ beneficiaire.civilite }}\n {{ beneficiaire.nom }}\n {{ beneficiaire.prenoms }}\n {{ beneficiaire.email }}\n \n \n \n\n
\n \n\n \n
\n
\n\n","import { Component } from \"@angular/core\";\n\n@Component({\n selector: \"app-root\",\n templateUrl: \"./app.component.html\",\n styleUrls: [\"./app.component.css\"],\n})\nexport class AppComponent {\n title = \"webapp\";\n}\n","\n","import { Routes } from \"@angular/router\";\nimport { BeneficiaireStatusComponent } from \"../views/beneficiaire-status/beneficiaire-status.component\";\nimport { BeneficiaireComponent } from \"../views/beneficiaire/beneficiaire.component\";\nimport { DashboardComponent } from \"../views/dashboard/dashboard.component\";\nimport { LoginComponent } from \"../views/login/login.component\";\nimport { AideComponent } from \"../views/aide/aide.component\";\nimport { AuthGuard } from \"../guard/auth-guard\";\nimport {AttributionComponent} from '../views/attribution/attribution.component';\nimport {NewAttributionComponent} from '../views/attribution/new-attribution/new-attribution.component';\n\nexport const routes: Routes = [\n { path: \"\", component: LoginComponent },\n\n {\n path: \"dashboard\",\n component: DashboardComponent,\n canActivate: [AuthGuard],\n },\n // { path: \"attribution\", component: AttributionComponent },\n {\n path: \"beneficiaire\",\n component: BeneficiaireComponent,\n canActivate: [AuthGuard],\n },\n {\n path: \"beneficiaire/:status\",\n component: BeneficiaireStatusComponent,\n canActivate: [AuthGuard],\n },\n // { path: \"attribution/:status\", component: AttributionStatusComponent },\n // { path: \"payment/history\", component: PaymentHistoryComponent },\n { path: \"aide\", component: AideComponent, canActivate: [AuthGuard] },\n { path: \"attribution\", component: AttributionComponent, canActivate: [AuthGuard] },\n { path: \"attributions/add\", component: NewAttributionComponent },\n];\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs/internal/Observable\";\nimport { conf } from \"src/app/config/config\";\nimport { getHeadersWithAccessToken } from \"src/app/helpers/helpers\";\nimport { AideModel } from \"../../model/aide.model\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class HelpRDS {\n constructor(private http: HttpClient) {}\n\n sendData(help: AideModel): Observable {\n return this.http.post(\n conf.ipAddr + \"/samafils/v1/samafils/help\",\n {\n email: help.email,\n organisation: help.organisation,\n sujet: help.sujet,\n description: help.description,\n },\n { headers: getHeadersWithAccessToken() }\n );\n }\n}\n","import { UserModel } from \"./../../model/user.model\";\nimport { Observable } from \"rxjs\";\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { conf } from \"src/app/config/config\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class LoginRDS {\n constructor(private http: HttpClient) {}\n\n login(email: string, password: string): Observable {\n return this.http.post(\n conf.ipAddr + \"/login/v1/login/professionnel\",\n { email: email, password: password, app: conf.app },\n { headers: conf.headers }\n );\n }\n}\n","import { Component, OnInit } from \"@angular/core\";\nimport { DynamicDialogConfig, DynamicDialogRef } from \"primeng/dynamicdialog\";\nimport { BeneficiaireTable } from \"../../../../data/model/beneficiaireTable.model\";\nimport { BeneficiaireUseCase } from \"../../../../usecases/beneficiaire-use-case\";\nimport { ConfirmationService, MessageService } from \"primeng/api\";\nimport {\n AbstractControl,\n FormBuilder,\n FormControl,\n FormGroup,\n Validators,\n} from \"@angular/forms\";\nimport {\n checkIfBeneficiaireIsInTheOrganisation,\n checkIfUserIsMineur,\n} from \"../../../../helpers/helpers\";\nimport { BeneficiaireEntity } from \"../../../../data/entity/beneficiaire.entity\";\nimport { DashboardUseCase } from \"../../../../usecases/dashboard-use-case\";\nimport { ProfessionelService } from \"../../../../services/professionel.service\";\nimport { BeneficiaireService } from \"../../../../services/beneficiaire.service\";\n\n@Component({\n selector: \"app-one-beneficiaire-popup\",\n templateUrl: \"./one-beneficiaire-popup.component.html\",\n styleUrls: [\"./one-beneficiaire-popup.component.css\"],\n})\nexport class OneBeneficiairePopupComponent implements OnInit {\n erreurServeur = \"\";\n formGroup: FormGroup;\n beneficiaires: BeneficiaireEntity[];\n donneesForm: BeneficiaireTable[] = [];\n isSavingBeneficiaires: boolean = false;\n regex = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,10})+$/;\n regex_date = /^\\d{4}\\-(0[1-9]|1[012])\\-(0[1-9]|[12][0-9]|3[01])$/;\n\n constructor(\n private fb: FormBuilder,\n public ref: DynamicDialogRef,\n public config: DynamicDialogConfig,\n private messageService: MessageService,\n private dashboardUseCase: DashboardUseCase,\n private beneficiaireUseCase: BeneficiaireUseCase,\n private confirmationService: ConfirmationService,\n private professionelService: ProfessionelService,\n private beneficiaireService: BeneficiaireService\n ) {}\n\n ngOnInit() {\n this.formGroup = this.fb.group({\n civilite: [\"\", Validators.required],\n nom: [\"\", Validators.required],\n prenoms: [\"\", Validators.required],\n // date_naissance: [\n // \"\",\n // Validators.compose([\n // Validators.required,\n // Validators.pattern(this.regex_date),\n // this.MineurValidator,\n // ]),\n // ],\n email: [\n \"\",\n Validators.compose([\n Validators.required,\n Validators.pattern(this.regex),\n ]),\n ],\n });\n }\n\n MineurValidator(control: AbstractControl) {\n let isMineur;\n\n if (!control.value) {\n isMineur = null;\n } else {\n isMineur = checkIfUserIsMineur(control.value as Date) < 15;\n }\n\n return isMineur\n ? { mineurError: \"Ce bénéficiaire est un mineur de moins de 15 ans\" }\n : null;\n }\n\n handleValider(closeMethod: string) {\n this.erreurServeur = \"\";\n this.refreshList();\n\n if (this?.formGroup.valid) {\n let organisation = JSON.parse(localStorage.getItem(\"organisation\"));\n this.donneesForm = [\n new BeneficiaireTable(\n organisation.organisationId,\n this.formGroup.controls[\"civilite\"].value,\n this.formGroup.controls[\"nom\"].value,\n this.formGroup.controls[\"prenoms\"].value,\n this.formGroup.controls[\"email\"].value,\n null\n ),\n ];\n\n if (\n checkIfBeneficiaireIsInTheOrganisation(\n this.beneficiaires,\n this.donneesForm\n ) === \"user_found\"\n ) {\n this.formGroup.controls[\"email\"].setErrors({\n alreadyExist: \"error_user_already_exist\",\n });\n } else {\n this.confirmationService.confirm({\n message: \"Vous allez ajouter un bénéficiaire, veuillez confirmer\",\n header: \"Confirmation\",\n icon: \"pi pi-exclamation-triangle\",\n key: \"confirmSaveAllDialog\",\n accept: () => {\n this.isSavingBeneficiaires = true;\n\n this.beneficiaireUseCase.execute(this.donneesForm).subscribe(\n (response) => {\n console.log(\">>> response status <<<\");\n console.log(response);\n\n this.isSavingBeneficiaires = false;\n if (response.status) {\n this.refreshList();\n\n if (closeMethod === \"AndClose\") {\n this.ref.close({\n type: \"success\",\n message: \"Vous avez ajouté un bénéficiaire avec succès\",\n summary: \"Success\",\n });\n } else {\n this.messageService.add({\n key: \"success_beneficiaire\",\n severity: \"success\",\n summary: \"Success\",\n detail: \"Vous avez ajouté un bénéficiaire avec succès\",\n });\n this.formGroup.reset();\n }\n }\n },\n (data) => {\n this.isSavingBeneficiaires = false;\n let erreurMessage: string;\n if (data.status == 401) {\n erreurMessage = \"Votre session a expiré...\";\n } else if (data.status == 409) {\n erreurMessage =\n \"Cet email bénéficiaire est déjà rattaché à une autre entreprise\";\n } else {\n erreurMessage = data.statusText;\n }\n\n this.erreurServeur = erreurMessage;\n }\n );\n },\n reject: () => {},\n });\n }\n } else {\n this.validateAllFormFields(this.formGroup);\n }\n }\n\n validateAllFormFields(formGroup: FormGroup) {\n Object.keys(formGroup.controls).forEach((field) => {\n const control = formGroup.get(field);\n if (control instanceof FormControl) {\n control.markAsTouched({ onlySelf: true });\n } else if (control instanceof FormGroup) {\n this.validateAllFormFields(control);\n }\n });\n }\n\n refreshList() {\n this.dashboardUseCase\n .execute(this.professionelService.getProfessionnel().value.organisationId)\n .subscribe(\n (_data) => {\n console.log(\"refreshing\", _data);\n },\n (err: any) => {\n console.log(err);\n }\n );\n\n this.beneficiaireService\n .getBeneficiaires()\n .subscribe((_data: BeneficiaireEntity[]) => {\n this.beneficiaires = _data;\n });\n }\n}\n","\n\n\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n La civilité est obligatoire.\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n Le nom est obligatoire.\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n Le(s) prénom(s) est obligatoire.\n
\n
\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n
\n \n \n
\n
\n
\n L'email est obligatoire.\n
\n
\n Le format de l'email est incorrect.\n
\n
\n Ce bénéficiaire existe déjà.\n
\n
\n
\n
\n\n
\n \n\n \n
\n
\n
\n\n
\n \n
\n\n
\n
\n {{ erreurServeur }}\n
\n
\n\n","import { ProfessionelService } from \"./../../../services/professionel.service\";\nimport { OrganisationEntity } from \"./../../../data/entity/organisation.entity\";\nimport { OrganisationService } from \"./../../../services/organisation.service\";\nimport { Component, OnInit } from \"@angular/core\";\nimport { Router } from \"@angular/router\";\n\n@Component({\n selector: \"app-header\",\n templateUrl: \"./header.component.html\",\n styleUrls: [\"./header.component.css\"],\n})\nexport class HeaderComponent implements OnInit {\n fullName: string;\n\n constructor(\n private router: Router,\n private organisationService: OrganisationService,\n private professionelService: ProfessionelService\n ) {}\n\n ngOnInit() {\n if (this.organisationService.getOrganisation().value == null) {\n this.organisationService.getLocalStorageOrganisation();\n }\n\n if (this.professionelService.getProfessionnel().value == null) {\n this.professionelService.getLocalStorageProfessionnel();\n }\n\n this.organisationService\n .getOrganisation()\n .subscribe((data: OrganisationEntity) => {\n this.fullName = data.organisationNom;\n });\n }\n}\n","
\n
\n \n
\n
\n
\n","import { BrowserModule } from \"@angular/platform-browser\";\nimport { NgModule } from \"@angular/core\";\nimport { HttpClientModule } from \"@angular/common/http\";\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\n\nimport { AppComponent } from \"./app.component\";\nimport { AppRoutingModule } from \"./app-routing.module\";\nimport { DashboardComponent } from \"./views/dashboard/dashboard.component\";\nimport { AttributionComponent } from \"./views/attribution/attribution.component\";\nimport { HeaderComponent } from \"./views/components/header/header.component\";\nimport { NavigationComponent } from \"./views/components/navigation/navigation.component\";\nimport { LoginComponent } from \"./views/login/login.component\";\nimport { ReactiveFormsModule, FormsModule } from \"@angular/forms\";\nimport { BeneficiaireComponent } from \"./views/beneficiaire/beneficiaire.component\";\nimport { BeneficiaireStatusComponent } from \"./views/beneficiaire-status/beneficiaire-status.component\";\nimport { PreviewAttributionComponent } from \"./views/attribution/preview-attributions/preview-attribution.component\";\nimport { FormatNumberPipe } from \"./pipe/format-number.pipe\";\nimport { AideComponent } from \"./views/aide/aide.component\";\nimport { NewAttributionComponent } from \"./views/attribution/new-attribution/new-attribution.component\";\nimport {\n LoadedBeneficiairePopupComponent\n} from './views/beneficiaire/components/loaded-beneficiaire-popup/loaded-beneficiaire-popup.component';\nimport {\n OneBeneficiairePopupComponent\n} from './views/beneficiaire/components/one-beneficiaire-popup/one-beneficiaire-popup.component';\nimport { ButtonModule } from \"primeng/button\";\nimport { DynamicDialogModule, DialogService } from \"primeng/dynamicdialog\";\nimport { DialogModule } from \"primeng/dialog\";\nimport { ToastModule } from \"primeng/toast\";\nimport { TableModule } from \"primeng/table\";\nimport { ConfirmationService, MessageService } from \"primeng/api\";\nimport { ConfirmDialogModule } from \"primeng/confirmdialog\";\nimport { MatProgressSpinnerModule } from \"@angular/material/progress-spinner\";\nimport { RippleModule } from \"primeng/ripple\";\nimport { MessagesModule } from \"primeng/messages\";\n\n@NgModule({\n declarations: [\n AppComponent,\n DashboardComponent,\n AttributionComponent,\n LoginComponent,\n HeaderComponent,\n NavigationComponent,\n BeneficiaireComponent,\n BeneficiaireStatusComponent,\n FormatNumberPipe,\n AideComponent,\n PreviewAttributionComponent,\n NewAttributionComponent,\n LoadedBeneficiairePopupComponent,\n OneBeneficiairePopupComponent\n ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n ReactiveFormsModule,\n HttpClientModule,\n DynamicDialogModule,\n ToastModule,\n DialogModule,\n ButtonModule,\n BrowserAnimationsModule,\n TableModule,\n FormsModule,\n MatProgressSpinnerModule,\n ConfirmDialogModule,\n RippleModule,\n MessagesModule,\n ],\n providers: [DialogService, ConfirmationService, MessageService],\n bootstrap: [AppComponent],\n})\nexport class AppModule {}\n","import { StepModel } from \"./step.model\";\nimport { AttributionUserModel } from \"./attribution-user.model\";\n\nexport class CommandeModel {\n public numero: string;\n public date: Date;\n public dateExecution: Date;\n public montant: number;\n public commission: number;\n public tauxCommission: number;\n public montantTotal: number;\n public organisationId: string;\n public organisationName: string;\n public organisationEmail: string;\n public professionnelEmail: string;\n public factureId: string;\n public factureStatus: string;\n public totalTickets: number;\n public csvUrl: string;\n public devisUrl: string;\n public factureUrl: string;\n public steps: StepModel[];\n public beneficiaires: AttributionUserModel[];\n\n constructor(\n numero: string,\n date: Date,\n dateExecution: Date,\n montant: number,\n commission: number,\n tauxCommission: number,\n montantTotal: number,\n organisationId: string,\n organisationName: string,\n organisationEmail: string,\n professionnelEmail: string,\n factureId: string,\n factureStatus: string,\n totalTickets: number,\n csvUrl: string,\n devisUrl: string,\n factureUrl: string,\n steps: StepModel[],\n beneficiaires: AttributionUserModel[]\n ) {\n this.numero = numero;\n this.date = date;\n this.dateExecution = dateExecution;\n this.montant = montant;\n this.commission = commission;\n this.tauxCommission = tauxCommission;\n this.montantTotal = montantTotal;\n this.organisationId = organisationId;\n this.organisationName = organisationName;\n this.organisationEmail = organisationEmail;\n this.professionnelEmail = professionnelEmail;\n this.factureId = factureId;\n this.factureStatus = factureStatus;\n this.totalTickets = totalTickets;\n this.csvUrl = csvUrl;\n this.devisUrl = devisUrl;\n this.factureUrl = factureUrl;\n this.steps = steps;\n this.beneficiaires = beneficiaires;\n }\n}\n","export class BeneficiaireTable {\n public beneficiaireId: string;\n public beneficiaireEmail: string;\n public civilite: string;\n public walletTrId: string;\n public organisationId: string;\n public beneficiairePassword: string;\n public beneficiaireStatus: string;\n public beneficiaireNom: string;\n public beneficiairePrenom: string;\n public beneficiaireNumeroTelephone: string;\n public beneficiaireDateNaissance: string;\n\n constructor(\n organisationId: string,\n civilite: string,\n beneficiaireNom: string,\n beneficiairePrenom: string,\n beneficiaireEmail: string,\n beneficiaireDateNaissance: string\n ) {\n this.organisationId = organisationId;\n this.civilite = civilite;\n this.beneficiaireNom = beneficiaireNom;\n this.beneficiairePrenom = beneficiairePrenom;\n this.beneficiaireEmail = beneficiaireEmail;\n this.beneficiaireDateNaissance = beneficiaireDateNaissance;\n }\n}\n","import { Injectable } from \"@angular/core\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class FileService {\n constructor() {}\n\n downloadCsvModelAttribution(): void {\n let headerCsv: string[] = [\n \"nom\",\n \"prenoms\",\n \"email\",\n \"nombre_ticket\"\n ];\n\n let data = [\n {\n nom: \"Doe\",\n prenoms: \"John\",\n email: \"john@doe.co\",\n nombre_ticket: 20\n },\n ];\n let csv: string = this.convertToCsv(data, headerCsv);\n this.downloadCsvFile(csv, \"file\");\n }\n\n downloadCsvModelBeneficiaire(): void {\n let headerCsv: string[] = [\n \"civilite\",\n \"nom\",\n \"prenoms\",\n \"email\"\n ];\n\n let data = [\n {\n civilite: \"Monsieur\",\n nom: \"Doe\",\n prenoms: \"John\",\n email: \"john@doe.com\"\n },\n ];\n let csv: string = this.convertToCsv(data, headerCsv);\n this.downloadCsvFile(csv, \"file\");\n }\n\n private convertToCsv(objArray: any, headerList: string[]): string {\n const array = typeof objArray != \"object\" ? JSON.parse(objArray) : objArray;\n console.log(array);\n\n let str = \"\";\n let row = \"\";\n for (const index in headerList) {\n row += headerList[index] + \",\";\n }\n row = row.slice(0, -1);\n str += row + \"\\r\\n\";\n for (let i = 0; i < array.length; i++) {\n let line = \"\";\n for (const index in headerList) {\n const head = headerList[index];\n line += array[i][head] + \",\";\n }\n line = line.slice(0, -1);\n str += line + \"\\r\\n\";\n }\n return str;\n }\n\n private downloadCsvFile(csvData: any, filename: string): void {\n console.log(csvData);\n const blob = new Blob([\"\\ufeff\" + csvData], {\n type: \"text/csv;charset=utf-8;\",\n });\n const dwldLink = document.createElement(\"a\");\n const url = URL.createObjectURL(blob);\n const isSafariBrowser =\n navigator.userAgent.indexOf(\"Safari\") != -1 &&\n navigator.userAgent.indexOf(\"Chrome\") == -1;\n if (isSafariBrowser) {\n // if Safari open in new window to save file with random filename.\n dwldLink.setAttribute(\"target\", \"_blank\");\n }\n dwldLink.setAttribute(\"href\", url);\n dwldLink.setAttribute(\"download\", filename + \".csv\");\n dwldLink.style.visibility = \"hidden\";\n document.body.appendChild(dwldLink);\n dwldLink.click();\n document.body.removeChild(dwldLink);\n }\n\n downloadFile(url: string) {\n console.log(url);\n window.open(url, \"__blank\");\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { CommandeRDS } from \"../datasource/remote-datasource/commande.rds\";\nimport { CommandeModel } from \"../model/commande.model\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class CommandeRepository {\n constructor(private commandeRDS: CommandeRDS) {}\n\n create(commande: CommandeModel): Observable {\n return this.commandeRDS.create(commande);\n }\n\n list(id: string): Observable {\n return this.commandeRDS.list(id);\n }\n\n latest(id: string): Observable {\n return this.commandeRDS.latest(id);\n }\n}\n","import { CommandeUseCase } from \"./../../usecases/commande-use-case\";\nimport { Component, OnInit } from \"@angular/core\";\nimport * as moment from \"moment\";\nimport { CommandeModel } from \"src/app/data/model/commande.model\";\nimport { Router } from \"@angular/router\";\nimport { DialogService, DynamicDialogRef } from \"primeng/dynamicdialog\";\nimport { PreviewAttributionComponent } from \"./preview-attributions/preview-attribution.component\";\n\n@Component({\n selector: \"app-attribution\",\n templateUrl: \"./attribution.component.html\",\n styleUrls: [\"./attribution.component.css\"],\n})\nexport class AttributionComponent implements OnInit {\n attributions: CommandeModel[];\n selectedItem: string;\n headerCsv: string[] = [\"date\", \"numero\", \"montant\", \"status\"];\n ref: DynamicDialogRef;\n isLoading: boolean = false;\n\n constructor(\n private router: Router,\n public dialogService: DialogService,\n private commandeUseCase: CommandeUseCase\n ) {}\n\n ngOnInit() {\n this.isLoading = true;\n const organisation = JSON.parse(localStorage.getItem(\"organisation\"));\n this.commandeUseCase.list(organisation.organisationId).subscribe(\n (_data: CommandeModel[]) => {\n this.attributions = _data;\n this.isLoading = false;\n },\n (err: any) => {\n console.log(err);\n this.isLoading = false;\n }\n );\n }\n\n slide(id: string): void {\n this.selectedItem = this.selectedItem == id ? undefined : id;\n }\n\n downloadFile(url: string) {\n console.log(url);\n window.open(url, \"__blank\");\n }\n\n createNew() {\n this.router.navigateByUrl(\"/attributions/add\");\n }\n\n createFromOld() {\n //TODO: faire appel vers le service pour recuperer la derniere commande\n // et le passer au component\n this.ref = this.dialogService.open(PreviewAttributionComponent, {\n header: \"Bénéficiaires\",\n width: \"85%\",\n contentStyle: { \"min-height\": \"500px\", overflow: \"auto\" },\n baseZIndex: 10000,\n });\n }\n}\n","\n
\n \n
\n

Hatwork Account Manager

\n \n \n \n \n
\n
\n \n
\n
\n
\n \n \n \n Date\n N° Commande\n Montant\n Status\n Justificatifs\n \n \n \n \n \n {{ attribution.date | date : \"dd/MM/yyyy\" }}\n \n \n {{ attribution.numero }}\n \n \n {{ attribution.montantTotal | formatNumber }}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n
\n
\n","import { Observable } from \"rxjs\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { CommandeModel } from \"../../model/commande.model\";\nimport { conf } from \"src/app/config/config\";\nimport { getHeadersWithAccessToken } from \"src/app/helpers/helpers\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class CommandeRDS {\n constructor(private http: HttpClient) {}\n\n create(commande: CommandeModel): Observable {\n return this.http.post(\n conf.ipAddr + \"/commande/v1/commandes/\",\n commande,\n { headers: getHeadersWithAccessToken() }\n );\n }\n\n list(id: string): Observable {\n return this.http.get(\n conf.ipAddr + \"/commande/v1/commandes/organisation/\" + id,\n { headers: getHeadersWithAccessToken() }\n );\n }\n\n latest(id: string): Observable {\n return this.http.get(\n conf.ipAddr + \"/commande/v1/commandes/latest/\" + id,\n { headers: getHeadersWithAccessToken() }\n );\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\n\n@Pipe({\n name: \"formatNumber\",\n})\nexport class FormatNumberPipe implements PipeTransform {\n transform(price: any): any {\n // if (price.length > 3) {\n // var reg = new RegExp(\"B(?=(d{3})+(?!d)\");\n // price = price.replace(reg, \"$1\");\n // }\n // return price;\n if (price.toString().length > 3) {\n price = price.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \" \");\n }\n return price;\n }\n}\n","import { TokenResponseEntity } from \"../data/entity/token-response.entity\";\nimport { Injectable } from \"@angular/core\";\nimport { BehaviorSubject } from \"rxjs\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class TokenResponseService {\n private tokenResponse: BehaviorSubject =\n new BehaviorSubject(null);\n\n constructor() {}\n\n // setProfessionnel(access: TokenResponseEntity): void {\n // this.tokenResponse.next(access);\n // }\n}\n","import { FileService } from \"./../../services/file.service\";\nimport { CommandeModel } from \"src/app/data/model/commande.model\";\nimport { CommandeUseCase } from \"./../../usecases/commande-use-case\";\nimport { RoutingService } from \"./../../services/routing.service\";\nimport { ProfessionelService } from \"./../../services/professionel.service\";\nimport { DashboardUseCase } from \"./../../usecases/dashboard-use-case\";\nimport { Component, OnInit } from \"@angular/core\";\nimport { Router } from \"@angular/router\";\nimport { BeneficiaireService } from \"src/app/services/beneficiaire.service\";\nimport * as moment from \"moment\";\nimport { MessageService } from \"primeng/api\";\n@Component({\n selector: \"app-dashboard\",\n templateUrl: \"./dashboard.component.html\",\n styleUrls: [\"./dashboard.component.css\"],\n providers: [MessageService],\n})\nexport class DashboardComponent implements OnInit {\n public countPendingAttribution = 0;\n public countProgressAttribution = 0;\n public countActiveBeneficiaire = 0;\n public countAllBeneficiaire = 0;\n public isLoadingDashboard: boolean = false;\n public latestCommande: CommandeModel;\n\n constructor(\n private router: Router,\n private beneficiaireService: BeneficiaireService,\n private dashboardUseCase: DashboardUseCase,\n private professionelService: ProfessionelService,\n private commandeUseCase: CommandeUseCase,\n private routingService: RoutingService,\n private fileService: FileService,\n private messageService: MessageService\n ) {}\n\n ngOnInit() {\n this.isLoadingDashboard = true;\n\n if (this.professionelService.getProfessionnel().value == null) {\n this.professionelService.getLocalStorageProfessionnel();\n }\n\n this.commandeUseCase\n .latest(this.professionelService.getProfessionnel().value.organisationId)\n .subscribe(\n (_data: CommandeModel) => {\n console.log(\"dashboard CommandeModel\");\n this.isLoadingDashboard = false;\n this.latestCommande = _data;\n\n console.log(\"dashboard latestCommande\");\n console.log(this.latestCommande);\n },\n (err: any) => {\n this.isLoadingDashboard = false;\n // console.log(err);\n }\n );\n }\n\n public redirect(url: string) {\n this.routingService.redirect(url);\n }\n\n public downloadFile(url: string) {\n this.fileService.downloadFile(url);\n }\n\n public getRelativeDate(date: any) {\n const mDate = moment(date).locale(\"fr\");\n return mDate.startOf(date).fromNow();\n }\n\n showToast() {\n this.messageService.add({\n severity: \"info\",\n summary: \"Fonctionnalité\",\n detail: \"Fonctionnalité pas encore disponible\",\n });\n }\n}\n","\n
\n \n
\n

Hatwork Account Manager

\n \n \n \n
\n
\n
\n \n
\n
Passer votre première commande.
\n \n
\n \n
\n \n
\n
\n Vous avez une commande en attente de paiement.\n
\n \n
\n \n
\n \n
\n
\n Votre dernière commande a été éffectuée\n {{ getRelativeDate(latestCommande.date) }}\n
\n \n \n
\n
\n
\n \n
\n
Nouvelle commande
\n
Passez votre commande du mois.
\n
\n \n
\n
\n \n
\n
Ajouter un bénéficiaire
\n
\n Rajoutez les nouveaux salariés dans la liste de vos bénéficiaires.\n
\n
\n \n
\n \n
\n
Dernière facture
\n
Téléchargez votre dernière facture.
\n
\n \n
\n \n
\n
Dernier devis
\n
Téléchargez votre dernier devis.
\n \n \n \n
\n
\n","import { BeneficiaireEntity } from \"../../data/entity/beneficiaire.entity\";\nimport { Component, OnInit } from \"@angular/core\";\nimport { BeneficiaireService } from \"src/app/services/beneficiaire.service\";\nimport { DashboardUseCase } from \"src/app/usecases/dashboard-use-case\";\nimport { ProfessionelService } from \"src/app/services/professionel.service\";\nimport { csvToJson } from \"csvtojson-converter\";\nimport { FileService } from \"../../services/file.service\";\nimport { MessageService } from \"primeng/api\";\nimport {\n checkDuplicateValues,\n checkIfBeneficiairesInTheOrganisation,\n checkIfUserIsMineur,\n} from \"../../helpers/helpers\";\nimport { DialogService, DynamicDialogRef } from \"primeng/dynamicdialog\";\nimport { LoadedBeneficiairePopupComponent } from \"./components/loaded-beneficiaire-popup/loaded-beneficiaire-popup.component\";\nimport { OneBeneficiairePopupComponent } from \"./components/one-beneficiaire-popup/one-beneficiaire-popup.component\";\nimport { ActivatedRoute, ParamMap } from \"@angular/router\";\n\n@Component({\n selector: \"app-beneficiaire\",\n templateUrl: \"./beneficiaire.component.html\",\n styleUrls: [\"./beneficiaire.component.css\"],\n})\nexport class BeneficiaireComponent implements OnInit {\n beneficiaires: BeneficiaireEntity[];\n isLoadingBeneficiaires: boolean;\n donneesCSV: any[];\n status: string;\n civilites: string[] = [\"Monsieur\", \"Madame\"];\n regex = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,10})+$/;\n regex_date = /^\\d{4}\\-(0[1-9]|1[012])\\-(0[1-9]|[12][0-9]|3[01])$/;\n refAddOne: DynamicDialogRef;\n refAddMultiple: DynamicDialogRef;\n\n constructor(\n private beneficiaireService: BeneficiaireService,\n private dashboardUseCase: DashboardUseCase,\n private professionelService: ProfessionelService,\n private fileService: FileService,\n private messageService: MessageService,\n public dialogService: DialogService,\n private activatedRoute: ActivatedRoute\n ) {}\n\n ngOnInit() {\n this.isLoadingBeneficiaires = true;\n\n console.log(\"isLoadingBeneficiaires begin...\");\n console.log(this.isLoadingBeneficiaires);\n\n if (this.professionelService.getProfessionnel().value == null) {\n this.professionelService.getLocalStorageProfessionnel();\n }\n\n // const professionel = JSON.parse(localStorage.getItem(\"professionnel\"));\n // console.log(professionel);\n\n this.dashboardUseCase\n .execute(this.professionelService.getProfessionnel().value.organisationId)\n .subscribe(\n (_data) => {\n console.log(\"data loaded...\");\n console.log(_data);\n this.beneficiaires = _data;\n this.isLoadingBeneficiaires = false;\n },\n (err: any) => {\n this.beneficiaires = [];\n this.isLoadingBeneficiaires = false;\n console.log(err);\n }\n );\n\n this.activatedRoute.queryParams.subscribe((params: any) => {\n if (params[\"page\"] == \"add\") {\n this.openAddOneBeneficiaire();\n }\n });\n\n console.log(\"isLoadingBeneficiaires end...\");\n console.log(this.isLoadingBeneficiaires);\n }\n\n public onFileChange(event): void {\n this.status = \"loading\";\n\n const target: DataTransfer = event.target;\n\n if (target.files.length > 0) {\n const reader: FileReader = new FileReader();\n reader.readAsText(target.files[0]);\n\n reader.onload = (e: any) => {\n const delimiter = \",\";\n this.donneesCSV = csvToJson(reader.result, delimiter);\n\n if (this.checkFile() === \"loaded\") {\n this.refAddMultiple = this.dialogService.open(\n LoadedBeneficiairePopupComponent,\n {\n header: \"Ajout des bénéficiaires\",\n data: this.donneesCSV,\n width: \"80%\",\n contentStyle: { overflow: \"auto\" },\n baseZIndex: 10000,\n }\n );\n\n this.refAddMultiple.onClose.subscribe((data) => {\n event.target.value = null;\n if (data != undefined) {\n this.messageService.add({\n severity: data.type,\n summary: data.summary,\n detail: data.message,\n });\n if (data.type === \"success\") {\n this.refreshList();\n }\n }\n });\n }\n };\n }\n event.target.value = null;\n }\n\n public openAddOneBeneficiaire() {\n this.refAddOne = this.dialogService.open(OneBeneficiairePopupComponent, {\n header: \"Nouveau bénéficiaire\",\n width: \"80%\",\n contentStyle: { overflow: \"auto\" },\n baseZIndex: 10000,\n });\n\n this.refAddOne.onClose.subscribe((data) => {\n if (data != undefined) {\n this.messageService.add({\n severity: data.type,\n summary: data.summary,\n detail: data.message,\n });\n }\n this.refreshList();\n });\n }\n\n checkFile() {\n if (this.donneesCSV.length !== 0) {\n if (\n Object.keys(this.donneesCSV[0]).includes(\"civilite\") &&\n Object.keys(this.donneesCSV[0]).includes(\"nom\") &&\n Object.keys(this.donneesCSV[0]).includes(\"prenoms\") &&\n Object.keys(this.donneesCSV[0]).includes(\"email\")\n ) {\n this.dashboardUseCase.execute(\n this.professionelService.getProfessionnel().value.organisationId\n );\n this.beneficiaireService\n .getBeneficiaires()\n .subscribe((_data: BeneficiaireEntity[]) => {\n this.beneficiaires = _data;\n });\n\n for (const element of this.donneesCSV) {\n if (\n element.civilite === null ||\n element.civilite === undefined ||\n element.civilite.trim() === \"\" ||\n !this.civilites.includes(element.civilite)\n ) {\n this.status = \"error_civilite\";\n break;\n }\n\n if (\n element.nom === null ||\n element.nom === undefined ||\n element.nom.trim() === \"\"\n ) {\n this.status = \"error_nom\";\n break;\n }\n\n if (\n element.prenoms === null ||\n element.prenoms === undefined ||\n element.prenoms.trim() === \"\"\n ) {\n this.status = \"error_prenoms\";\n break;\n }\n\n if (\n element.email === null ||\n element.email === undefined ||\n element.email.trim() === \"\" ||\n !this.regex.test(element.email)\n ) {\n this.status = \"error_email\";\n break;\n }\n }\n\n if (checkDuplicateValues(this.donneesCSV)) {\n this.status = \"error_doublon_email\";\n }\n\n if (\n checkIfBeneficiairesInTheOrganisation(\n this.beneficiaires,\n this.donneesCSV\n ) === \"user_found\"\n ) {\n this.status = \"error_user_already_exist\";\n }\n } else {\n this.status = \"failed\";\n }\n } else {\n this.status = \"empty\";\n }\n\n this.status = this.status === \"loading\" ? \"loaded\" : this.status;\n\n return this.status;\n }\n\n refreshList() {\n this.isLoadingBeneficiaires = true;\n\n this.dashboardUseCase\n .execute(this.professionelService.getProfessionnel().value.organisationId)\n .subscribe(\n (_data) => {\n this.isLoadingBeneficiaires = false;\n },\n (err: any) => {\n this.isLoadingBeneficiaires = false;\n }\n );\n\n this.beneficiaireService\n .getBeneficiaires()\n .subscribe((_data: BeneficiaireEntity[]) => {\n this.beneficiaires = _data;\n this.isLoadingBeneficiaires = false;\n });\n }\n\n downloadCsv() {\n this.fileService.downloadCsvModelBeneficiaire();\n }\n}\n","\n\n\n\n
\n \n
\n

Hatwork Account Manager

\n\n \n \n \n\n \n\n \n \n
\n
\n
\n \n \n \n \n
\n
\n\n
\n
\n
\n
\n \n \n \n \n
\n
\n \n \n \n Aperçu un modèle de fichier csv\n
\n
\n
\n
\n
\n \n\n \n \n
\n \n
\n\n
\n Fichier non conforme\n
\n\n
\n Aucun Fichier Sélectionné\n
\n\n
\n Fichier vide\n
\n\n
\n Erreur, vérifiez les emails des bénéficiaires\n
\n\n
\n Erreur doublon, vérifiez les emails des bénéficiaires\n
\n\n
\n Erreur, un ou plusieurs bénéficiaires existent déjà vérifiez votre\n liste\n
\n\n
\n Erreur, vérifiez les dates de naissances des bénéficiaires\n
\n\n
\n Erreur, votre fichier comprend au moins un mineur de moins de 15\n ans\n
\n\n
\n Erreur, vérifiez les civilités des bénéficiaires\n
\n\n
\n Erreur, vérifiez les noms des bénéficiaires\n
\n\n
\n Erreur, vérifiez les prénoms des bénéficiaires\n
\n \n\n \n
\n \n \n \n Nom\n Prenom\n Email\n Statut\n \n \n \n \n \n \n \n \n \n \n {{ beneficiaire.nom }}\n \n \n \n \n \n \n \n \n \n {{ beneficiaire.prenom }}\n \n \n \n \n \n \n \n \n \n {{ beneficiaire.email }}\n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n
\n
\n","import { element } from \"protractor\";\nimport { BeneficiaireEntity } from \"../data/entity/beneficiaire.entity\";\nimport { Injectable } from \"@angular/core\";\nimport { BehaviorSubject } from \"rxjs\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class BeneficiaireService {\n private beneficiaires: BehaviorSubject =\n new BehaviorSubject(null);\n\n constructor() {}\n\n addBeneficiaire(beneficiaire: BeneficiaireEntity): void {\n this.beneficiaires.value.push(beneficiaire);\n }\n\n addBeneficiaires(beneficiaires: BeneficiaireEntity[]): void {\n this.beneficiaires.next(beneficiaires);\n }\n\n getBeneficiairesByStatus(status: string): BeneficiaireEntity[] {\n return this.beneficiaires.value.filter(\n (element: BeneficiaireEntity) => element.status == status\n );\n }\n\n getBeneficiairesByStatusBehaviorSubject(\n status: string\n ): BeneficiaireEntity[] {\n return this.beneficiaires.value.filter(\n (element: BeneficiaireEntity) => element.status == status\n );\n }\n\n getLocalStorageBeneficiaires() {\n const beneficiaires = JSON.parse(localStorage.getItem(\"beneficiaires\"));\n this.beneficiaires.next(beneficiaires);\n }\n\n getBeneficiaires(): BehaviorSubject {\n return this.beneficiaires;\n }\n}\n","import { BeneficiaireEntity } from \"../data/entity/beneficiaire.entity\";\nimport { Observable } from \"rxjs\";\nimport { BeneficiaireModel } from \"../data/model/beneficiaire.model\";\nimport { BeneficiaireService } from \"../services/beneficiaire.service\";\nimport { DashboardRepository } from \"../data/repository/dashboard-repository\";\nimport { Injectable } from \"@angular/core\";\nimport { tap } from \"rxjs/operators\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class DashboardUseCase {\n constructor(\n private dashboardRepository: DashboardRepository,\n private beneficiaireService: BeneficiaireService\n ) {}\n\n execute(organisationId: string): Observable {\n return this.dashboardRepository.getData(organisationId).pipe(\n tap((beneficiaireModels: BeneficiaireModel[]) => {\n console.log(\"beneficiaireModels\");\n console.log(beneficiaireModels);\n let beneficiairesEntities: BeneficiaireEntity[] = [];\n beneficiaireModels.forEach((beneficiaireModel: BeneficiaireModel) => {\n let beneficiaireEntity =\n BeneficiaireEntity.toBeneficiaireEntity(beneficiaireModel);\n beneficiairesEntities.push(beneficiaireEntity);\n });\n // localStorage.setItem(\n // \"beneficiaires\",\n // JSON.stringify(beneficiairesEntities)\n // );\n this.beneficiaireService.addBeneficiaires(beneficiairesEntities);\n })\n );\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport {BeneficiaireRDS} from '../datasource/remote-datasource/beneficiaire-rds';\nimport {BeneficiaireTable} from '../model/beneficiaireTable.model';\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class BeneficiaireRepository {\n constructor(private beneficiaireRDS: BeneficiaireRDS) {}\n\n createAll(beneficiaires: BeneficiaireTable[]): Observable {\n return this.beneficiaireRDS.createAll(beneficiaires);\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { Router } from \"@angular/router\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class RoutingService {\n constructor(private router: Router) {}\n\n public redirect(url: string) {\n this.router.navigateByUrl(url);\n }\n}\n","import { conf } from \"./../../../config/config\";\nimport { BeneficiaireModel } from \"./../../model/beneficiaire.model\";\nimport { Observable } from \"rxjs\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport {\n getAccessTokenFromCokie,\n getHeadersWithAccessToken,\n} from \"src/app/helpers/helpers\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class DashboardRDS {\n constructor(private http: HttpClient) {}\n\n getData(organisationId: string): Observable {\n return this.http.get(\n conf.ipAddr +\n \"/samafils/v1/samafils/beneficiaire/list?id=\" +\n organisationId,\n { headers: getHeadersWithAccessToken() }\n );\n }\n}\n","import { conf } from '../../../config/config';\nimport { BeneficiaireModel } from '../../model/beneficiaire.model';\nimport { Observable } from \"rxjs\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport {\n getHeadersWithAccessToken,\n} from \"src/app/helpers/helpers\";\nimport {BeneficiaireTable} from '../../model/beneficiaireTable.model';\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class BeneficiaireRDS {\n constructor(private http: HttpClient) {}\n\n createAll(beneficiaires: BeneficiaireTable[]): Observable {\n return this.http.post(\n conf.ipAddr + \"/samafils/v1/samafils/beneficiaire/add\",\n beneficiaires,\n { headers: getHeadersWithAccessToken(), observe: \"response\"}\n );\n }\n\n getOrganisationBeneficiaire(organisationId: string): Observable {\n return this.http.get(\n conf.ipAddr +\n \"/samafils/v1/samafils/beneficiaire/list?id=\" +\n organisationId,\n { headers: getHeadersWithAccessToken() }\n );\n }\n}\n","import { UserModel } from \"../model/user.model\";\n\nexport class ProfessionelEntity {\n professionnelId: string;\n firstName: string;\n lastName: string;\n email: string;\n organisationId: string;\n roleName: string;\n status: string;\n\n constructor(\n professionnelId: string,\n firstName: string,\n lastName: string,\n email: string,\n organisationId: string,\n roleName: string,\n status: string\n ) {\n this.professionnelId = professionnelId;\n this.firstName = firstName;\n this.lastName = lastName;\n this.email = email;\n this.organisationId = organisationId;\n this.roleName = roleName;\n this.status = status;\n }\n\n static toProfessionelEntity(param: UserModel): ProfessionelEntity {\n return {\n professionnelId: param.professionnel.professionnelId,\n firstName: param.professionnel.firstName,\n lastName: param.professionnel.lastName,\n email: param.professionnel.email,\n organisationId: param.professionnel.organisationId,\n roleName: param.professionnel.roleName,\n status: param.professionnel.status,\n };\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { RouterModule } from \"@angular/router\";\nimport { routes } from \"./routes/routes\";\n\n@NgModule({\n declarations: [],\n imports: [CommonModule, RouterModule.forRoot(routes, { relativeLinkResolution: 'legacy' })],\n exports: [RouterModule],\n})\nexport class AppRoutingModule {}\n","import { UserModel } from \"../model/user.model\";\n\nexport class TokenResponseEntity {\n public access_token: string;\n public refresh_token: string;\n public token_type: string;\n public expires_in: number;\n public scope: string;\n public jti: string;\n\n constructor(\n access_token: string,\n refresh_token: string,\n token_type: string,\n expires_in: number,\n scope: string,\n jti: string\n ) {\n this.access_token = access_token;\n this.refresh_token = refresh_token;\n this.token_type = token_type;\n this.expires_in = expires_in;\n this.scope = scope;\n this.jti = jti;\n }\n\n static toTokenResponseEntity(param: UserModel): TokenResponseEntity {\n return {\n access_token: param.tokenResponse.access_token,\n refresh_token: param.tokenResponse.refresh_token,\n token_type: param.tokenResponse.token_type,\n expires_in: param.tokenResponse.expires_in,\n scope: param.tokenResponse.scope,\n jti: param.tokenResponse.jti,\n };\n }\n}\n","export class StepModel {\n public name: string;\n public isValid: boolean;\n\n constructor(name: string, isValid: boolean) {\n this.name = name;\n this.isValid = isValid;\n }\n}\n","import { HelpRepository } from \"./../data/repository/help-repository\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs/internal/Observable\";\nimport { AideModel } from \"../data/model/aide.model\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class HelpUseCase {\n constructor(private helpRepository: HelpRepository) {}\n\n execute(help: AideModel): Observable {\n return this.helpRepository.sendData(help);\n }\n}\n","// import 'hammerjs';\nimport { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"zn8P\";"]}