iptdevs-design-system 2.7.32 → 2.7.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"iptdevs-design-system.mjs","sources":["../../../design-system/src/lib/components/atoms/aside-button/aside-button.component.ts","../../../design-system/src/lib/components/atoms/button/button.component.ts","../../../design-system/src/lib/components/atoms/checkbox/checkbox.component.ts","../../../design-system/src/lib/components/atoms/datalist/datalist.component.ts","../../../design-system/src/lib/components/atoms/input/input.component.ts","../../../design-system/src/lib/components/atoms/level-button/level-button.component.ts","../../../design-system/src/lib/components/atoms/level-text/level-text.component.ts","../../../design-system/src/lib/components/atoms/loader/loader.component.ts","../../../design-system/src/lib/components/atoms/radio/radio.component.ts","../../../design-system/src/lib/components/atoms/select/select.component.ts","../../../design-system/src/lib/components/atoms/text-link/text-link.component.ts","../../../design-system/src/lib/core/services/service-enviroments.ts","../../../design-system/src/lib/core/services/user-service/user-service.ts","../../../design-system/src/lib/core/services/storage-service/storage-service.ts","../../../design-system/src/lib/core/services/calendar-service/calendar.service.ts","../../../design-system/src/lib/core/utils/base-service/base.service.ts","../../../design-system/src/lib/components/forms/login-form/login-form.component.ts","../../../design-system/src/lib/core/services/parameters-service/parameters.service.ts","../../../design-system/src/lib/components/forms/create-user-form/create-user-form.component.ts","../../../design-system/src/lib/components/forms/create-user-form/create-user-form.component.html","../../../design-system/src/lib/components/molecules/sidenav/sidenav.component.ts","../../../design-system/src/lib/components/material.module.ts","../../../design-system/src/lib/components/components.module.ts","../../../design-system/src/lib/cod/cod-documents-section/cod-documents-section.component.ts","../../../design-system/src/lib/cod/cod-documents-section/cod-documents-section.component.html","../../../design-system/src/lib/cod/logic/local-storage-cod.service.ts","../../../design-system/src/lib/cod/logic/cod-form-controls.ts","../../../design-system/src/lib/core/services/commercial-service/comercial.service.ts","../../../design-system/src/lib/cod/logic/cod-form-steps.ts","../../../design-system/src/lib/core/utils/copies.ts","../../../design-system/src/lib/core/services/copies.service.ts","../../../design-system/src/lib/core/services/course-service/course-service.model.ts","../../../design-system/src/lib/cod/logic/communicator.service.ts","../../../design-system/src/lib/cod/steps/cod-form-step-one/cod-form-step-one.component.ts","../../../design-system/src/lib/cod/steps/cod-form-step-one/cod-form-step-one.component.html","../../../design-system/src/lib/cod/steps/cod-form-step-two/cod-form-step-two.component.ts","../../../design-system/src/lib/cod/steps/cod-form-step-two/cod-form-step-two.component.html","../../../design-system/src/lib/cod/steps/cod-form-step-three/cod-form-step-three.component.ts","../../../design-system/src/lib/cod/steps/cod-form-step-three/cod-form-step-three.component.html","../../../design-system/src/lib/cod/logic/calculate-quotes.service.ts","../../../design-system/src/lib/cod/steps/cod-form-step-four/cod-form-step-four.component.ts","../../../design-system/src/lib/cod/steps/cod-form-step-four/cod-form-step-four.component.html","../../../design-system/src/lib/cod/steps/cod-form-step-five/cod-form-step-five.component.ts","../../../design-system/src/lib/cod/steps/cod-form-step-five/cod-form-step-five.component.html","../../../design-system/src/lib/cod/cod-form/cod-form.component.ts","../../../design-system/src/lib/cod/cod-form/cod-form.component.html","../../../design-system/src/lib/cod/cod.module.ts","../../../design-system/src/lib/core/utils/route-service/route.service.ts","../../../design-system/src/lib/core/services/switch-service/switch.service.ts","../../../design-system/src/lib/core/services/test-service/test.service.ts","../../../design-system/src/lib/core/services/marketing-service/marketing-service.ts","../../../design-system/src/lib/core/services/budget-service/budget-service.ts","../../../design-system/src/lib/core/services/classroom-service/classroom-service.service.ts","../../../design-system/src/lib/core/services/activity-service/activity.service.ts","../../../design-system/src/lib/core/services/academic-service/academic.service.ts","../../../design-system/src/lib/core/services/attendance-service/attendance.service.ts","../../../design-system/src/lib/core/services/certificate-service/certificate.service.ts","../../../design-system/src/lib/core/services/ekt-service/userekt.service.ts","../../../design-system/src/lib/core/core.module.ts","../../../design-system/src/lib/design-system.module.ts","../../../design-system/src/lib/core/services/notes-service/notes.service.ts","../../../design-system/src/lib/core/services/student-service/student.service.ts","../../../design-system/src/lib/core/services/commercial-service/validators.ts","../../../design-system/src/lib/core/models/session/session.model.ts","../../../design-system/src/lib/core/models/user/user-rs.model.ts","../../../design-system/src/public-api.ts","../../../design-system/src/iptdevs-design-system.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'ipt-aside-button',\r\n template: `\r\n <div [ngSwitch]=\"buttonActive\">\r\n <a *ngSwitchCase=\"0\" class=\"flex-item-menu__link\" (click)=\"clickAction()\">\r\n <img src=\"{{ icon }}\" alt=\"icon_url\" />\r\n <p>{{ text }}</p>\r\n </a>\r\n\r\n <a *ngSwitchCase=\"1\" class=\"flex-item-menu__link flex-item-active\" (click)=\"clickAction()\">\r\n <img src=\"{{ icon }}\" alt=\"icon_url\" />\r\n <p>{{ text }}</p>\r\n </a>\r\n </div>\r\n `,\r\n styleUrls: ['./aside-button.css']\r\n})\r\n\r\nexport class AsideButtonComponent {\r\n @Input() icon!: string;\r\n @Input() text!: string;\r\n @Input() buttonActive?: boolean;\r\n @Output() isClicked = new EventEmitter<boolean>();\r\n\r\n clickAction() {\r\n this.isClicked.emit(true);\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ipt-button',\r\n template: `<button *ngIf=\"isEnabled\"\r\n type=\"{{ buttonType }}\"\r\n (click)=\"onClick.emit($event)\"\r\n [ngClass]=\"classes\"\r\n >\r\n {{ label }}\r\n </button>\r\n\r\n <button *ngIf=\"!isEnabled\"\r\n type=\"{{ buttonType }}\"\r\n [ngClass]=\"classes\"\r\n >\r\n {{ label }}\r\n </button>`,\r\n styleUrls: ['./button.css'],\r\n})\r\nexport class ButtonComponent {\r\n\r\n @Input() primary: boolean = false;\r\n @Input() size: 'small' | 'medium' | 'large' = 'medium';\r\n @Input() label: string = 'Button';\r\n @Input() buttonType?: string;\r\n @Input() isEnabled: boolean = true;\r\n\r\n @Output() onClick = new EventEmitter<Event>();\r\n\r\n public get classes(): string[] {\r\n const mode = this.primary && this.isEnabled === true\r\n ? 'ipt-button--primary'\r\n : this.isEnabled === false ? 'ipt-button--primary-disabled'\r\n : 'ipt-button--secondary';\r\n\r\n return ['ipt-button', `ipt-button--${this.size}`, mode];\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\r\nimport { AbstractControl, FormControl } from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: 'ipt-checkbox',\r\n template: `\r\n <label class=\"cont\">\r\n <input\r\n class=\"checkbox\"\r\n [formControl]=\"formControl\"\r\n [checked]=\"checkboxOption\"\r\n (click)=\"onChecked.emit($event)\"\r\n type=\"checkbox\">\r\n <span></span>\r\n </label>\r\n `,\r\n styleUrls: ['./checkbox.css']\r\n})\r\n\r\nexport class CheckboxComponent {\r\n\r\n @Input() checkboxOption: boolean = false;\r\n @Input() set control(value: AbstractControl) {\r\n if (this.formControl !== value) {\r\n this.formControl = value as FormControl;\r\n }\r\n }\r\n\r\n @Output() onChecked = new EventEmitter<Event>();\r\n\r\n formControl!: FormControl;\r\n\r\n}\r\n","import { Component, Input, Output, EventEmitter, ViewChild, SimpleChanges } from '@angular/core';\r\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, NgForm, Validators } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'ipt-datalist',\r\n template: `\r\n <div class=\"input-container\">\r\n <label [ngClass]=\"labelClass\">{{ placeHolder }}</label>\r\n <input\r\n type=\"text\"\r\n class=\"input\"\r\n (click)=\"click($event)\"\r\n [attr.list]=\"datalistId\"\r\n (change)=\"optionChanged($event)\"\r\n [disabled]=\"disabledSel\"\r\n [value]=\"setDataListValue()\"\r\n />\r\n\r\n <datalist id=\"{{ datalistId }}\">\r\n <option *ngFor=\"let item of datalistData; index as i\" [value]=\"item.name\">\r\n {{item.id_card}} {{item.name}}\r\n </option>\r\n </datalist>\r\n </div>\r\n `,\r\n styleUrls: ['./datalist.css'],\r\n})\r\nexport class DatalistComponent {\r\n\r\n @Input() datalistId!: string;\r\n @Input() datalistData!: any[];\r\n @Input() placeHolder!: string;\r\n @Input() validateText!: string;\r\n @Input() initalData!: string;\r\n @Input() disabledSel:boolean = false;\r\n\r\n @Output() isChanged = new EventEmitter<string>();\r\n\r\n clicked: boolean = false;\r\n\r\n constructor(fb: FormBuilder) {\r\n }\r\n\r\n optionChanged(event: any) {\r\n let selectOption = this.datalistData.find(element => element.name == event.target.value);\r\n if (typeof(selectOption) != 'undefined') {\r\n this.isChanged.emit(selectOption.code);\r\n } else {\r\n this.isChanged.emit('-1');\r\n }\r\n }\r\n\r\n click(value: MouseEvent) {\r\n this.clicked = value.isTrusted;\r\n }\r\n\r\n setDataListValue() {\r\n let selectOption = this.datalistData.find(element => element.code == this.initalData);\r\n if (typeof(selectOption) != 'undefined') {\r\n return selectOption.name;\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n public get labelClass(): string {\r\n return this.clicked === false ? 'label' : 'labelUp';\r\n }\r\n}\r\n","import { CurrencyPipe } from '@angular/common';\r\nimport { Component, Input, Output, EventEmitter, ViewChild, OnInit, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, NgForm, Validators } from '@angular/forms';\r\n\r\n\r\n@Component({\r\n selector: 'ipt-input',\r\n template: `\r\n <div class=\"input-container\">\r\n <input *ngIf=\"inputType === 'date'\"\r\n class=\"input\"\r\n type=\"{{ inputType ? 'text' : 'date' }}\"\r\n [formControl]=\"formControl\"\r\n (ngModelChange)=\"selectedDate($event)\"\r\n onfocus=\"this.type='date';\"\r\n onblur=\"javascript: if( !this.value ) this.type='text';\"\r\n uib-datepicker-popup=\"dd/MM/yyyy\"\r\n ng-model=\"inputType\"/>\r\n\r\n <input *ngIf=\"inputType !== 'date' && inputType !== 'time' && !withPipe\"\r\n class=\"input\"\r\n type=\"{{ inputType }}\"\r\n [formControl]=\"formControl\"\r\n [attr.list]=\"list\"/>\r\n\r\n <input *ngIf=\"inputType === 'text' && withPipe\"\r\n class=\"input\"\r\n currencyMask\r\n [options]=\"{ prefix: prefix, thousands: thousands, decimal: decimal, allowNegative: false }\"\r\n type=\"{{ inputType }}\"\r\n [formControl]=\"formControl\"\r\n [attr.list]=\"list\"/>\r\n\r\n <input *ngIf=\"inputType === 'time'\"\r\n class=\"input\"\r\n type=\"time\"\r\n [formControl]=\"formControl\"\r\n [min]=\"'06:00:00'\"\r\n max=\"22:00:00\"\r\n step=\"900\"\r\n autocomplete=\"on\"\r\n value=\"08:00:00\"\r\n (click)=\"click($event)\"\r\n />\r\n\r\n <label [ngClass]=\"{'labelUp': formControl.value !== ''}\">{{ placeHolder }}</label>\r\n\r\n <p *ngIf=\"(formControl.invalid && formControl.value !== '')\">\r\n {{ validateText }}\r\n </p>\r\n </div>\r\n `,\r\n styleUrls: ['./input.css'],\r\n})\r\nexport class InputComponent implements OnInit {\r\n\r\n public codeValue!: string;\r\n data: any[] = [];\r\n formControl!: FormControl;\r\n clicked: boolean = false;\r\n\r\n @Input() inputType!: string;\r\n @Input() placeHolder!: string;\r\n @Input() validateText?: string;\r\n @Input() withPipe?: boolean = false;\r\n @Input() list?: string; //Para el datalist\r\n @Input() iconUrl?: string;\r\n @Input() set control(value: AbstractControl | string) {\r\n if (this.formControl !== value) {\r\n this.formControl = value as FormControl;\r\n }\r\n }\r\n\r\n @Input() prefix: string = '$';\r\n @Input() thousands: string = '.';\r\n @Input() decimal: string = ',';\r\n @Output() dateSelected = new EventEmitter<string>();\r\n\r\n constructor() {}\r\n\r\n\r\n ngOnInit() {}\r\n\r\n selectedDate(evt: string){\r\n this.dateSelected.emit(evt);\r\n }\r\n\r\n click(value: MouseEvent) {\r\n this.clicked = value.isTrusted;\r\n }\r\n\r\n}\r\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ipt-level-button',\r\n template: `\r\n <div [ngSwitch]=\"buttonActive\">\r\n <button\r\n *ngSwitchCase=\"0\"\r\n (click)=\"clickAction()\"\r\n id=\"level\"\r\n class=\"courses\"\r\n >\r\n <p class=\"p-level\">{{ level }}</p>\r\n </button>\r\n\r\n <button\r\n *ngSwitchCase=\"1\"\r\n (click)=\"clickAction()\"\r\n id=\"{{ idColor }}\"\r\n class=\"courses\">\r\n <p class=\"p-level p-level-active\">{{ level }}</p>\r\n </button>\r\n </div>\r\n `,\r\n styleUrls: ['./level-button.css'],\r\n})\r\n\r\nexport class LevelButtonComponent {\r\n\r\n @Input() level!: string;\r\n @Input() buttonActive!: boolean;\r\n @Input() idColor!: string;\r\n @Output() isClicked = new EventEmitter<boolean>();\r\n\r\n clickAction() {\r\n this.isClicked.emit(true);\r\n }\r\n\r\n}\r\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ipt-level-button',\r\n template: `\r\n <p class=\"p-table-course\">{{ level }}: {{ total }}</p>\r\n `,\r\n styleUrls: ['./level-text.css'],\r\n})\r\n\r\nexport class LevelTextComponent {\r\n\r\n @Input() level!: string;\r\n @Input() total!: string;\r\n\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ipt-loader',\r\n template: `\r\n <div [ngClass]=\"{'dialog': isDialog}\">\r\n <div [ngClass]=\"{'loader_container' : isDialog}\">\r\n <span>{{ message }}</span>\r\n <div class=\"container\">\r\n <div class=\"spinner\">\r\n <div class=\"dot\"></div>\r\n <div class=\"dot\"></div>\r\n <div class=\"dot\"></div>\r\n <div class=\"dot\"></div>\r\n <div class=\"dot\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>`,\r\n styleUrls: ['./loader.css']\r\n})\r\nexport class LoaderComponent {\r\n @Input() message: string = '';\r\n @Input() isDialog: boolean = false;\r\n}\r\n\r\n","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\r\nimport { AbstractControl, FormControl } from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: 'ipt-radio',\r\n template: `\r\n <label class=\"cont\">\r\n <input\r\n class=\"radio\"\r\n [formControl]=\"formControl\"\r\n [checked]=\"radioOption\"\r\n (click)=\"onSelected.emit($event)\"\r\n type=\"radio\">\r\n <span></span>\r\n </label>\r\n `,\r\n styleUrls: ['./radio.css']\r\n})\r\n\r\nexport class RadioComponent {\r\n\r\n @Input() radioOption: boolean = false;\r\n @Input() set control(value: AbstractControl) {\r\n if (this.formControl !== value) {\r\n this.formControl = value as FormControl;\r\n }\r\n }\r\n\r\n @Output() onSelected = new EventEmitter<Event>();\r\n\r\n formControl!: FormControl;\r\n\r\n}\r\n","import { Component, Input, Output, EventEmitter, SimpleChanges } from '@angular/core';\r\nimport { AbstractControl, FormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'ipt-select',\r\n template: `\r\n <div class=\"select-container\">\r\n <label [ngClass]=\"labelClass\">{{ defaultText }}</label>\r\n <select\r\n [(ngModel)]=\"binding\"\r\n (ngModelChange)=\"seleccionar($event)\"\r\n (click)=\"click($event)\"\r\n [ngClass]=\"textClass\"\r\n [disabled]=\"disabledSel\">\r\n <option *ngFor=\"let item of data; index as i\" [value]=\"item.code\">\r\n {{ item.name }} {{ item.prefix }}\r\n </option>\r\n </select>\r\n </div>\r\n `,\r\n styleUrls: ['./select.css'],\r\n})\r\nexport class SelectComponent {\r\n\r\n binding: any;\r\n boxShadow: number = 0;\r\n formControl!: FormControl;\r\n clicked: boolean = false;\r\n\r\n @Input() isRequired!: boolean; // temas de validacion\r\n // objeto que me trae el listado\r\n @Input() data!: any[]; // recibe un array de cualquier cosa\r\n @Input() defaultText!: any;\r\n @Input() selectCode!:string;\r\n @Input() disabledSel:boolean = false;\r\n @Input() initialValue!: string;\r\n\r\n @Output() eventSelect = new EventEmitter<string>();\r\n // type viene de otro componente -> indica de que tipo es el arreglo si pregrade, posgrade o modo\r\n @Input() set control(value: AbstractControl) {\r\n if (this.formControl !== value) {\r\n this.formControl = value as FormControl;\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if( changes['data']){\r\n this.setBinding();\r\n }\r\n }\r\n\r\n seleccionar(evt: string){\r\n if (this.eventSelect.emit(evt) !== this.defaultText) {\r\n this.boxShadow = 1;\r\n }\r\n else {\r\n this.boxShadow = 2;\r\n }\r\n }\r\n\r\n private setBinding() {\r\n if(this.initialValue !== '') {\r\n this.binding = this.initialValue;\r\n } else {\r\n this.binding = this.defaultText;\r\n }\r\n }\r\n\r\n click(value: MouseEvent) {\r\n this.clicked = value.isTrusted;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setBinding();\r\n }\r\n\r\n public get textClass(): string {\r\n return this.defaultText === '' ? 'selected' : 'select';\r\n }\r\n\r\n public get labelClass(): string {\r\n return (this.clicked || this.initialValue !== '') ? 'labelUp' : 'label';\r\n }\r\n\r\n}\r\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ipt-text-link',\r\n template: `\r\n <a class=\"text-link\" (click)='isLinkClicked()'>\r\n <p class=\"text-link__paragraph\">\r\n <i class=\"{{icon}}\" aria-hidden=\"true\"></i>\r\n {{text}}\r\n </p>\r\n </a>\r\n `,\r\n styleUrls: ['./text-link.css'],\r\n})\r\n\r\nexport class TextLinkComponent {\r\n\r\n @Input() text!: string;\r\n @Input() blank?: boolean;\r\n @Input() icon?: string;\r\n\r\n @Output() isClicked = new EventEmitter<boolean>();\r\n\r\n\r\n constructor() {\r\n }\r\n\r\n isLinkClicked() {\r\n this.isClicked.emit(true);\r\n }\r\n\r\n}\r\n","import { HttpHeaders } from \"@angular/common/http\";\r\n\r\nexport class IPTGeneralService {\r\n\r\n httpOptions: any;\r\n\r\n baseUrl(): string {\r\n let url = window.location.href;\r\n\r\n if (url.includes('localhost') || url.includes('qa')) {\r\n return 'https://lab.iptdev.com.co/';\r\n } else if ( url.includes('inglesparatodos.edu.co')) {\r\n return 'https://iptdev.com.co/';\r\n } else if ( url.includes('inglesparatodos.us')) {\r\n return 'https://iptdev.com.co/';\r\n } else {\r\n return 'error.com';\r\n }\r\n }\r\n\r\n // construye los headers y params\r\n generateRequestParams(param: any) {\r\n this.httpOptions = {\r\n header: new HttpHeaders(),\r\n params: param,\r\n };\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { RegisterIndexRq, RegisterDashboardRq, UserTokenRq, ForgotPasswordRq, LoginRq, RegisterRq, getStudentRq } from '../../models/user/user-rq.model';\r\nimport { getStrategyByUserCommercialRq } from '../../models/marketing/marketing.model';\r\nimport { IPTGeneralService } from '../service-enviroments';\r\nimport { GetStudentByCodeRq, tokenAdministrativeRq } from '../../models/payment/payment-rq.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UserService extends IPTGeneralService{\r\n private SERVICE_URL = 'users/api/';\r\n\r\n constructor(private http: HttpClient) {\r\n super();\r\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\r\n }\r\n\r\n login(userLogin: LoginRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/login';\r\n this.generateRequestParams(userLogin);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n resetPassword(resetPassword: ForgotPasswordRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'reset/password';\r\n this.generateRequestParams(resetPassword);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n register(user: RegisterRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/create/web';\r\n this.generateRequestParams(user);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n registerIndex(register: RegisterIndexRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/create/marketing';\r\n this.generateRequestParams(register);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n registerDashboard(user: RegisterDashboardRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/create/dashboard';\r\n this.generateRequestParams(user);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getAvailableTeachers(token: UserTokenRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/obtain/teachers';\r\n this.generateRequestParams(token);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getAllAdvisor(userToken: getStrategyByUserCommercialRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/obtain/all/user/commercial';\r\n this.generateRequestParams(userToken);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getByRoleUser(codeRole: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/obtain/by/role/user/' + codeRole;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getUserStatistics(userToken: getStrategyByUserCommercialRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/contact/strategy/statistics';\r\n this.generateRequestParams(userToken);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getRoutesForRole(token: UserTokenRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/routes/role';\r\n this.generateRequestParams(token);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getStudents(token: UserTokenRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/obtain/students';\r\n this.generateRequestParams(token);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getStudent(token: getStudentRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/obtain/student';\r\n this.generateRequestParams(token);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getAllAdministrative(userToken: tokenAdministrativeRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/obtain/all/user/administrative';\r\n this.generateRequestParams(userToken);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n getAllMarketing(userToken: tokenAdministrativeRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/obtain/all/user/marketing';\r\n this.generateRequestParams(userToken);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getStudenbyCode(parans: GetStudentByCodeRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/obtain/student/by/code';\r\n this.generateRequestParams(parans);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Session } from \"../../models/session/session.model\";\r\nimport { UserRs } from \"../../models/user/user-rs.model\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StorageService {\r\n\r\n private localStorageService;\r\n private currentSession : Session | null= null;\r\n\r\n constructor() {\r\n this.localStorageService = localStorage;\r\n this.currentSession = this.loadSessionData();\r\n }\r\n\r\n setCurrentSession(session: Session): void {\r\n this.currentSession = session;\r\n this.localStorageService.setItem('606a7d4e73650b75ebb06972e77d6cc4', JSON.stringify(session));\r\n }\r\n\r\n loadSessionData(): Session | null {\r\n var sessionStr = this.localStorageService.getItem('606a7d4e73650b75ebb06972e77d6cc4');\r\n return (sessionStr) ? <Session> JSON.parse(sessionStr) : null;\r\n }\r\n\r\n getCurrentSession(): Session | null {\r\n return this.currentSession;\r\n }\r\n\r\n removeCurrentSession(): void {\r\n this.localStorageService.removeItem('606a7d4e73650b75ebb06972e77d6cc4');\r\n this.currentSession = null;\r\n }\r\n\r\n getCurrentUser(): UserRs | null {\r\n var session: Session | null = this.getCurrentSession();\r\n return (session && session.user) ? session.user : null;\r\n };\r\n\r\n isAuthenticated(): boolean {\r\n return (this.getCurrentToken() != null) ? true : false;\r\n };\r\n\r\n getCurrentToken(): string | null{\r\n var session = this.getCurrentSession();\r\n return (session && session.token) ? session.token : null;\r\n };\r\n\r\n logout(): void{\r\n this.removeCurrentSession();\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { eventqueryRq } from '../../models/calendar/calendar-rq.models';\r\nimport { AddNewEventRq, AvailabilityQueryRq, AvailabilityQueryRqs, GetEventByDateTimeRq, GetEventsByCourseRq } from '../../models/cronogram/cronogram.models';\r\nimport { Response } from '../../models/response/response.interface';\r\nimport { IPTGeneralService } from '../service-enviroments';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CalendarService extends IPTGeneralService{\r\n private SERVICE_URL = 'calendar/api/'\r\n\r\n constructor(private http: HttpClient) {\r\n super();\r\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\r\n }\r\n\r\n postCreateQueryEvent(params: AvailabilityQueryRq): Observable<Response>{\r\n let serviceUrl = this.SERVICE_URL + 'post/event/create/query';\r\n this.generateRequestParams(params);\r\n return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getEventByIdCalendar(idCalendar: string): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/event/calendar/idcalendar/all/' + idCalendar;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n postEventByDayTime(params: eventqueryRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/event/calendar/idcalendar/by/datetime';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getEventsByCourse(params: GetEventsByCourseRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/event/calendar/idcalendar/by/course';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getEventByDateTime(params: GetEventByDateTimeRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/event/calendar/idcalendar/by/datetime';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getAvailability(params: AvailabilityQueryRqs): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/event/create/query';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n addNewEvent(params: AddNewEventRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/add/event/calendar/by/daytime';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n ObtainUnitsNameCourseType(params: any): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/obtain/unitsname/by/coursetype';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { LoginRq, RegisterDashboardRq } from '../../models/user/user-rq.model';\r\nimport { UserService } from '../../services/user-service/user-service';\r\nimport Swal from 'sweetalert2';\r\nimport { Session } from '../../models/session/session.model';\r\nimport { StorageService } from '../../services/storage-service/storage-service';\r\nimport { AvailabilityQueryRq } from '../../models/cronogram/cronogram.models';\r\nimport { CalendarService } from '../../services/calendar-service/calendar.service';\r\nimport { Response } from '../../models/response/response.interface';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class BaseService {\r\n\r\n constructor(\r\n private userService: UserService,\r\n private storageService: StorageService,\r\n private calendarService: CalendarService\r\n ) {}\r\n\r\n webLogin(user: string, password: string): Promise<boolean>{\r\n let request: LoginRq = {\r\n user: user,\r\n password: password\r\n }\r\n let service = this.userService;\r\n let storage = this.storageService;\r\n let appUser = this.isAnAppUser();\r\n\r\n return new Promise(function(resolve, reject) {\r\n service.login(request).subscribe( response => {\r\n switch (response.message.code) {\r\n case 1:\r\n if(!appUser) {\r\n Swal.fire ({\r\n 'title': '<p style=\"font-family: Poppins\"\">Perfect!</p>',\r\n 'html': '<p style=\"font-family: Poppins\"\">Succesfull login</p>',\r\n 'icon':'success',\r\n });\r\n }\r\n const loginRegisterUser: Session = {\r\n token: response.data.token,\r\n user: response.data,\r\n };\r\n\r\n storage.setCurrentSession(loginRegisterUser);\r\n resolve(true);\r\n break;\r\n case 2:\r\n Swal.fire({\r\n 'title': '<p style=\"font-family: Poppins\"\">Warning!</p>',\r\n 'html': '<p style=\"font-family: Poppins\"\">The data does not correspond to a user registered in our system, please review them.</p>',\r\n 'icon':'warning',\r\n });\r\n\r\n resolve(false);\r\n break;\r\n case 3:\r\n Swal.fire({\r\n 'title': '<p style=\"font-family: Poppins\"\">Error!</p>',\r\n 'html': '<p style=\"font-family: Poppins\"\">The input data does not meet the established parameters.</p>',\r\n 'icon':'error',\r\n });\r\n\r\n resolve(false);\r\n break;\r\n default:\r\n Swal.fire({\r\n 'title': '<p style=\"font-family: Poppins\"\">Error!</p>',\r\n 'html': '<p style=\"font-family: Poppins\"\">An unexpected error has occurred</p>',\r\n 'icon':'error',\r\n });\r\n\r\n resolve(false);\r\n break;\r\n }\r\n reject('Unhandled exception');\r\n });\r\n })\r\n }\r\n\r\n getCronogramAvailability(isTeacher: boolean, code: number, startDate: string, numClass: number, weekDays: any[], startTime: string, endTime: string): Promise<any>{\r\n let request: AvailabilityQueryRq = {\r\n isTeacher: isTeacher,\r\n code: code,\r\n startDate: startDate,\r\n numClass: numClass,\r\n weekDays: weekDays,\r\n startTime: startTime,\r\n endTime: endTime,\r\n };\r\n\r\n let service = this.calendarService;\r\n\r\n return new Promise(function(resolve, reject) {\r\n service.postCreateQueryEvent(request).subscribe( (response: Response) => {\r\n switch (response.message.code) {\r\n case 1:\r\n resolve(response.data);\r\n break\r\n default:\r\n reject('Unhandled exception');\r\n }\r\n reject('Unhandled exception');\r\n });\r\n });\r\n }\r\n\r\n isAnAppUser() {\r\n const userAgent: string = window.navigator.userAgent;\r\n return userAgent.includes('Flutter IPT APP');\r\n }\r\n\r\n getUserRole(): number {\r\n let user = this.storageService.getCurrentUser()?.role;\r\n return user === undefined ? -1 : user;\r\n }\r\n\r\n getUserToken(): string {\r\n let token = this.storageService.getCurrentUser()?.token;\r\n return token === undefined ? '-1' : token;\r\n }\r\n\r\n getUserName(): string {\r\n let user = this.storageService.getCurrentUser();\r\n let response = user === null ? '' : user.name;\r\n return response;\r\n }\r\n\r\n registerUserFromDashboard(registerDashboardRq: RegisterDashboardRq): Promise<boolean>{\r\n let request = registerDashboardRq;\r\n let service = this.userService;\r\n\r\n return new Promise(function(resolve, reject) {\r\n service.registerDashboard(request).subscribe((response) => {\r\n\r\n switch (response.message.code) {\r\n case 1:\r\n Swal.fire ({\r\n 'title': '<p style=\"font-family: Poppins\"\">Perfect!</p>',\r\n 'html': '<p style=\"font-family: Poppins\"\">Sucesfull register!</p>',\r\n 'icon':'success',\r\n });\r\n resolve(true);\r\n break;\r\n case 3:\r\n Swal.fire ({\r\n 'title': '<p style=\"font-family: Poppins\"\">Error!</p>',\r\n 'html': '<p style=\"font-family: Poppins\"\">The input data does not meet the established parameters.</p>',\r\n 'icon':'error',\r\n });\r\n resolve(false);\r\n break;\r\n case 4:\r\n Swal.fire ({\r\n 'title': '<p style=\"font-family: Poppins\">Ups!</p>',\r\n 'html': '<p style=\"font-family: Poppins\">The input data has a high relation with a user that already exists!</p>',\r\n 'icon': 'warning',\r\n });\r\n resolve(false);\r\n break;\r\n default:\r\n Swal.fire ({\r\n 'title': '<p style=\"font-family: Poppins\"\">Error!</p>',\r\n 'html': '<p style=\"font-family: Poppins\"\">An unexpected error has occurred</p>',\r\n 'icon':'error',\r\n });\r\n resolve(false);\r\n break;\r\n }\r\n\r\n reject('Unhandled exception');\r\n });\r\n });\r\n }\r\n\r\n jsonToArray(data: any[]): any[][] {\r\n var response: any[] = [];\r\n data.forEach((element) => {\r\n var object: any[] = [];\r\n for (var clave in element) {\r\n if (element.hasOwnProperty(clave)) {\r\n if (typeof element[clave] == 'object') {\r\n element[clave] = this.subJsonToArray(element[clave]);\r\n }\r\n\r\n object.push(element[clave]);\r\n }\r\n }\r\n response.push(object);\r\n });\r\n return response;\r\n }\r\n\r\n subJsonToArray(data: any[]): string {\r\n var object: string = '';\r\n for (var clave in data) {\r\n if (clave != 'code') {\r\n object += '\\n' + data[clave];\r\n }\r\n }\r\n return object;\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { BaseService } from '../../../core/utils/base-service/base.service';\r\n\r\n@Component({\r\n selector: 'ipt-login-form',\r\n template: `\r\n <div class=\"form-container\">\r\n\r\n <h2 style=\"text-align: center;\">IPT PLATFORM</h2>\r\n <hr>\r\n\r\n <form (ngSubmit)=\"login(loginForm)\" [formGroup]=\"loginForm\">\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Email'\"\r\n [validateText]=\"'Debe ser @inglesparatodos.edu.co'\"\r\n [control]=\"loginForm.controls['email']\"\r\n ></ipt-input>\r\n\r\n <ipt-input\r\n [inputType]=\"'password'\"\r\n [placeHolder]=\"'Password'\"\r\n [control]=\"loginForm.controls['password']\"\r\n ></ipt-input>\r\n </form>\r\n\r\n <div class=\"button-container\">\r\n <ipt-button\r\n [label]=\"'Login'\"\r\n [primary]=\"true\"\r\n [isEnabled]=\"loginForm.valid\"\r\n (onClick)=\"login(loginForm)\"\r\n ></ipt-button>\r\n </div>\r\n\r\n </div>\r\n `,\r\n styleUrls: ['./login-form.css']\r\n})\r\n\r\nexport class LoginFormComponent {\r\n\r\n @Output() isLogged = new EventEmitter<boolean>();\r\n\r\n loginForm!: FormGroup;\r\n\r\n constructor(\r\n fb: FormBuilder,\r\n private baseService: BaseService,\r\n ) {\r\n this.loginForm = fb.group({\r\n email: ['', [Validators.required]],\r\n password: ['', [Validators.required, Validators.minLength(3),Validators.maxLength(15)]],\r\n });\r\n }\r\n\r\n login(data: FormGroup) {\r\n this.baseService.webLogin(data.controls['email'].value, data.controls['password'].value).then((isLogged) =>{\r\n this.isLogged.emit(isLogged);\r\n });\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { IPTGeneralService } from '../service-enviroments';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ParameterService extends IPTGeneralService{\r\n private SERVICE_URL = 'parameters/api/';\r\n\r\n constructor(private http: HttpClient) {\r\n super();\r\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\r\n }\r\n\r\n getIndicatives(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/indicatives';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getCardTypes(country: string): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/id/card/type/country/' + country;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getCountries(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/countries';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getStatesByCountry(country: string): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/state/country/iso/' + country;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getCitiesByState(state: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/cities/state/' + state;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getAllPlans(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/all/plans';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getLevels(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/english/levels';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getAgreements(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/all/agreement';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getAgreementByCategory(typeCategory: any): Observable<any> {\r\n let serviceUrl =\r\n this.SERVICE_URL + 'get/agreement/by/category/' + typeCategory;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getAllClassrooms(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/all/classroom';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getCoursesTypes(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/all/course/type';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getCoursesTypesByPlan(typePlan: any): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/course/by/plan/' + typePlan;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getDegrees(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/all/degrees';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getProgramsByDegree(typeDegree: any): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/programs/by/degree/' + typeDegree;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getMarketingReasons(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/all/mkt/reasons';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getStudyReasons(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/all/study/reasons';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getAcademicUnits(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/academic/units';\r\n return this.http.get(serviceUrl);\r\n }\r\n getStatusContact(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/contact/status/all';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getTypePlan(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/all/plans';\r\n return this.http.get(serviceUrl);\r\n }\r\n getTypePlanDiscount(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/discount/all/plans';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getContactedType(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/contact/contacted/all';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getStatusByCode(codeStatus: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/contact/status/bycode/' + codeStatus;\r\n return this.http.get(serviceUrl);\r\n }\r\n getAllTypeDiscount(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/commercial/typediscounts/all';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getAllCourseModality(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/all/course/modality';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getAllPaymentMethod(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/payment/method/all';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getAllPaymentService(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/payment/services/all';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getAllBanks(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/banks/all';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getAllCampus(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/banks/all';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getCampusByCode(codeCampu: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/campus/by/code/' + codeCampu;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getGenders(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/genders';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getGenderByCode(code: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/gender/code/' + code;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getStratums(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/stratums';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getStratumByCode(code: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/stratum/by/code/' + code;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getCivilStatus(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/civil/status';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getCivilStatusByCode(code: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/civil/status/by/code/' + code;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getMulticulturalisms(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/multiculturalisms';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getMulticulturalismByCode(code: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/multiculturalism/by/code/' + code;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getClassRoomByMod(codeModality: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/all/classroom/by/modality/' + codeModality;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n}\r\n","import { animate, style, transition, trigger } from '@angular/animations';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { RegisterDashboardRq } from '../../../core/models/user/user-rq.model';\r\nimport { ParameterService } from '../../../core/services/parameters-service/parameters.service';\r\nimport { UserService } from '../../../core/services/user-service/user-service';\r\n\r\n@Component({\r\n selector: 'ipt-create-user-form',\r\n templateUrl: './create-user-form.component.html',\r\n styleUrls: ['./create-user-form.component.css'],\r\n animations: [\r\n trigger('fade', [\r\n transition('void => *', [\r\n style({ opacity: 0 }),\r\n animate(200, style({opacity: 1}))\r\n ])\r\n ])\r\n ]\r\n})\r\nexport class CreateUserFormComponent implements OnInit {\r\n @Input() userType!: string;\r\n @Input() visibility: boolean = false;\r\n @Output() userCreated = new EventEmitter<boolean>(false);\r\n @Output() onHide = new EventEmitter<boolean>(false);\r\n\r\n createUserForm!: FormGroup;\r\n phoneNumberIndicatives: any;\r\n idTypes: any;\r\n states: any;\r\n loader: boolean = false;\r\n cities: any;\r\n photo: string = '';\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private parameterService: ParameterService,\r\n private userService: UserService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.initForm();\r\n this.getParameters();\r\n }\r\n\r\n closeModal() {\r\n this.visibility = false;\r\n this.onHide.emit(true);\r\n }\r\n\r\n createUser() {\r\n this.loader = true;\r\n\r\n let request: RegisterDashboardRq = {\r\n name: this.createUserForm.controls['name'].value,\r\n last_name: this.createUserForm.controls['last_name'].value,\r\n id_card_type: this.createUserForm.controls['id_card_type'].value,\r\n id_card: this.createUserForm.controls['id_card'].value,\r\n phone_indicative: this.createUserForm.controls['phone_indicative'].value,\r\n phone_number: this.createUserForm.controls['phone_number'].value,\r\n email: this.createUserForm.controls['email'].value,\r\n city: this.createUserForm.controls['city'].value,\r\n service_hour: this.createUserForm.controls['service_hour'].value,\r\n role: this.createUserForm.controls['role'].value,\r\n password: this.createUserForm.controls['password'].value,\r\n };\r\n\r\n this.userService.registerDashboard(request).subscribe((response) => {\r\n console.log(response.message)\r\n switch (response.message.code) {\r\n case 1:\r\n this.userCreated.emit(true);\r\n this.initForm();\r\n break;\r\n case 2:\r\n throw new Error(\"Los datos ingresados no corresponden a un usuario registrado en nuestro sistema, por favor reviselos.\");\r\n case 3:\r\n throw new Error(\"Los datos ingresados no cumplen los parámetros establecidos\");\r\n default:\r\n break;\r\n }\r\n this.loader = false;\r\n });\r\n }\r\n\r\n getParameters() {\r\n this.parameterService.getIndicatives().subscribe((response: { data: any; }) => {\r\n this.phoneNumberIndicatives = response.data;\r\n });\r\n this.parameterService.getCardTypes('col').subscribe((response: { data: any; }) => {\r\n this.idTypes = response.data;\r\n });\r\n this.parameterService.getStatesByCountry('col').subscribe((response): void => {\r\n this.states = response.data;\r\n });\r\n }\r\n\r\n getRolesOptions(): any {\r\n // Estudiante\r\n if (this.userType === 'student') {\r\n this.setPhoto('student');\r\n return [\r\n { code: '13', name: 'Student' },\r\n ];\r\n }\r\n\r\n // Académico\r\n if (this.userType === 'academic') {\r\n this.setPhoto('academic');\r\n return [\r\n { code: '11', name: 'Teacher PRO' },\r\n { code: '12', name: 'Teacher' },\r\n ];\r\n }\r\n\r\n // Administrativo\r\n if (this.userType === 'administrative') {\r\n this.setPhoto('administrative');\r\n return [\r\n { code: '31', name: 'Administrative Supervisor' },\r\n { code: '32', name: 'Administrative Advisor' },\r\n ];\r\n }\r\n\r\n // Marketing\r\n if (this.userType === 'marketing') {\r\n this.setPhoto('marketing');\r\n return [\r\n { code: '21', name: 'Marketing Supervisor' },\r\n { code: '22', name: 'Marketing Advisor' },\r\n ];\r\n }\r\n\r\n // Comercial\r\n if (this.userType === 'commercial') {\r\n this.setPhoto('commercial');\r\n return [\r\n { code: '41', name: 'Commercial Supervisor' },\r\n { code: '42', name: 'Commercial Advisor' },\r\n ];\r\n }\r\n\r\n // Cartera\r\n if (this.userType === 'treasure') {\r\n this.setPhoto('treasure');\r\n return [\r\n { code: '51', name: 'Treauser Supervisor' },\r\n { code: '52', name: 'Treauser Advisor' },\r\n ];\r\n }\r\n }\r\n\r\n initForm() {\r\n this.createUserForm = this.fb.group({\r\n name: ['',[Validators.required,Validators.minLength(3),Validators.maxLength(32)],],\r\n last_name: ['',[Validators.required,Validators.minLength(5),Validators.maxLength(32),],],\r\n email: ['', [Validators.required, Validators.maxLength(300)]],\r\n id_card_type: ['', [Validators.required]],\r\n id_card: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(20),]],\r\n phone_indicative: ['', [Validators.required]],\r\n city: ['', [Validators.required]],\r\n role: ['', [Validators.required]],\r\n service_hour: ['', [Validators.required]],\r\n phone_number: ['', [Validators.required, Validators.minLength(10), Validators.maxLength(15)]],\r\n password: ['', [Validators.required, Validators.minLength(7), Validators.maxLength(32)]],\r\n re_password: ['', [Validators.required, Validators.minLength(7), Validators.maxLength(32)]],\r\n state: [''],\r\n });\r\n }\r\n\r\n setPhoto(type: string) {\r\n if (type === 'student') this.photo = '../../../assets/user-form-assets/estudiante.jpg'\r\n if (type === 'academic') this.photo = '../../../assets/user-form-assets/academico.png'\r\n if (type === 'administrative') this.photo = '../../../assets/user-form-assets/administrativo.jpg'\r\n if (type === 'marketing') this.photo = '../../../assets/user-form-assets/marketing.jpg'\r\n if (type === 'commercial') this.photo = '../../../assets/user-form-assets/comercial.jpg'\r\n if (type === 'treasure') this.photo = '../../../assets/user-form-assets/administrativo.jpg'\r\n }\r\n\r\n selectRol(role: any) {\r\n if (role !== 'Seleccione el rol') {\r\n this.createUserForm.controls['role'].setValue(role);\r\n } else {\r\n this.createUserForm.controls['role'].setValue(null);\r\n }\r\n }\r\n\r\n selectIndicatives(indicative: any) {\r\n if (indicative !== 'Seleccione el indicativo') {\r\n this.createUserForm.controls['phone_indicative'].setValue(indicative);\r\n } else {\r\n this.createUserForm.controls['phone_indicative'].setValue(null);\r\n }\r\n }\r\n\r\n selectIdType(idType: any) {\r\n if (idType !== 'Ingrese el tipo de documento') {\r\n this.createUserForm.controls['id_card_type'].setValue(idType);\r\n } else {\r\n this.createUserForm.controls['id_card_type'].setValue(null);\r\n }\r\n }\r\n\r\n selectState(state: any) {\r\n if (state !== 'Seleccione el departamento') {\r\n this.createUserForm.controls['state'].setValue(state);\r\n this.parameterService.getCitiesByState(state).subscribe((response) => {\r\n this.cities = response.data;\r\n });\r\n } else {\r\n this.createUserForm.controls['state'].setValue(null);\r\n this.createUserForm.controls['city'].setValue(null);\r\n this.cities = [];\r\n }\r\n }\r\n\r\n selectCity(city: any) {\r\n if (city !== 'Ciudad de residencia') {\r\n this.createUserForm.controls['city'].setValue(city);\r\n } else {\r\n this.createUserForm.controls['city'].setValue(null);\r\n }\r\n }\r\n}\r\n","<main *ngIf=\"visibility\">\r\n <div @fade class=\"modal_container\">\r\n <div class=\"header_modal\">\r\n <h1>Crear usuario de {{ userType | titlecase}}</h1>\r\n <button (click)=\"closeModal()\">x</button>\r\n </div>\r\n <div class=\"grid_container\">\r\n <div>\r\n <form autocomplete=\"off\" [formGroup]=\"createUserForm\">\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Nombre completo'\"\r\n [control]=\"createUserForm.controls['name']\"\r\n [validateText]=\"'Debe ingresar el nombre'\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Apellidos'\"\r\n [control]=\"createUserForm.controls['last_name']\"\r\n [validateText]=\"'Debe ingresar los apellidos'\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Correo electrónico'\"\r\n [control]=\"createUserForm.controls['email']\"\r\n [validateText]=\"'Debe tener dominio @inglesparatodos.edu.co'\"\r\n ></ipt-input>\r\n <ipt-select\r\n [isRequired]=\"true\"\r\n [defaultText]=\"'Seleccione el rol'\"\r\n (eventSelect)=\"selectRol($event)\"\r\n [data]=\"getRolesOptions()\"\r\n ></ipt-select>\r\n <ipt-select\r\n [isRequired]=\"true\"\r\n [data]=\"phoneNumberIndicatives\"\r\n (eventSelect)=\"selectIndicatives($event)\"\r\n [defaultText]=\"'Seleccione el indicativo'\"\r\n ></ipt-select>\r\n <ipt-input\r\n [inputType]=\"'number'\"\r\n [placeHolder]=\"'Número de teléfono'\"\r\n [control]=\"createUserForm.controls['phone_number']\"\r\n [validateText]=\"'Debe ingresar un número de teléfono válido'\"\r\n ></ipt-input>\r\n <ipt-select\r\n [isRequired]=\"true\"\r\n [data]=\"idTypes\"\r\n (eventSelect)=\"selectIdType($event)\"\r\n [defaultText]=\"'Ingrese el tipo de documento'\"\r\n ></ipt-select>\r\n <ipt-input\r\n [inputType]=\"'number'\"\r\n [placeHolder]=\"'Documento de identidad'\"\r\n [control]=\"createUserForm.controls['id_card']\"\r\n [validateText]=\"'Debe ingresar el número de documento'\"\r\n ></ipt-input>\r\n <ipt-select\r\n [isRequired]=\"true\"\r\n (eventSelect)=\"selectState($event)\"\r\n [data]=\"states\"\r\n [defaultText]=\"'Seleccione el departamento'\"\r\n ></ipt-select>\r\n <ipt-select\r\n [isRequired]=\"true\"\r\n (eventSelect)=\"selectCity($event)\"\r\n [data]=\"cities\"\r\n [defaultText]=\"'Ciudad de residencia'\"\r\n ></ipt-select>\r\n <ipt-input *ngIf=\"!(userType === 'student')\"\r\n [inputType]=\"'number'\"\r\n [placeHolder]=\"'Ingrese las horas de servicio'\"\r\n [control]=\"createUserForm.controls['service_hour']\"\r\n [validateText]=\"'Debe ingresar las horas de servicio'\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'password'\"\r\n [placeHolder]=\"'Contraseña'\"\r\n [control]=\"createUserForm.controls['password']\"\r\n >\r\n </ipt-input>\r\n <ipt-input\r\n [inputType]=\"'password'\"\r\n [placeHolder]=\"'Repetir contraseña'\"\r\n [control]=\"createUserForm.controls['re_password']\"\r\n >\r\n </ipt-input>\r\n </form>\r\n\r\n <div class=\"buttons-container\">\r\n <ipt-button\r\n [label]=\"'Crear usuario'\"\r\n [isEnabled]=\"\r\n !loader &&\r\n createUserForm.value['re_password'] ===\r\n createUserForm.value['password']\r\n \"\r\n (onClick)=\"createUser()\"\r\n [primary]=\"true\"\r\n >\r\n </ipt-button>\r\n </div>\r\n </div>\r\n <div [ngStyle]=\"{'background-image': 'url(' + photo + ')'}\" class=\"user_type_image\"></div>\r\n </div>\r\n </div>\r\n</main>\r\n","import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';\r\n\r\nimport { BaseService } from '../../../core/utils/base-service/base.service';\r\nimport { UserTokenRq } from '../../../core/models/user/user-rq.model';\r\nimport { StorageService } from '../../../core/services/storage-service/storage-service';\r\nimport { UserService } from '../../../core/services/user-service/user-service';\r\n\r\n@Component({\r\n selector: 'ipt-sidenav',\r\n template: `\r\n <mat-sidenav #sidenav mode=\"push\" >\r\n <mat-toolbar color=\"primary\" (click)=\"sidenav.toggle()\">\r\n <span style=\"font-size: 15px;\">{{department}}</span>\r\n <span class=\"menu-icon-close\"></span>\r\n </mat-toolbar>\r\n\r\n <mat-nav-list *ngFor=\"let route of routes\">\r\n <nav class=\"flex-container-menu\">\r\n <ipt-aside-button\r\n [buttonActive]=\"this.setPage === route.page\"\r\n [icon]=\"route.icon\"\r\n [text]=\"route.text\"\r\n (isClicked)=\"clickPage(route.page)\"\r\n (click)=\"sidenav.toggle()\"\r\n >\r\n </ipt-aside-button>\r\n </nav>\r\n </mat-nav-list>\r\n </mat-sidenav>\r\n\r\n <mat-toolbar class=\"header\">\r\n <div class=\"menu-container\" (click)=\"sidenav.toggle()\">\r\n <p>Menu</p>\r\n <div class=\"menu-icon\"></div>\r\n </div>\r\n\r\n <img class=\"img-logo\" src=\"http://qa.iptdev.com.co/assets/logos/IPT-logo.png\" alt=\"\" />\r\n\r\n <div class=\"text-container\">\r\n <span class=\"p1\">{{ currentDay }}</span>\r\n <span *ngIf=\"hour >= 0 && hour < 12\" class=\"p2\">\r\n Hey {{ userName }}, Good moorning!\r\n </span>\r\n <p *ngIf=\"hour >= 12 && hour < 18\" class=\"p2\">\r\n Hey {{ userName }}, Good afternoon!\r\n </p>\r\n <p *ngIf=\"hour >= 18 && hour < 24\" class=\"p2\">\r\n Hey {{ userName }}, Good evening!\r\n </p>\r\n </div>\r\n\r\n <div *ngIf=\"!this.appUser\" class=\"logout-container\" (click)=\"logout()\">\r\n <p class=\"logout-button\">Cerrar sesión</p>\r\n <div class=\"photo-logout\"></div>\r\n </div>\r\n </mat-toolbar>\r\n `,\r\n styleUrls: ['./sidenav.css'],\r\n})\r\nexport class SidenavComponent implements OnInit {\r\n @Input() department!: string;\r\n @Input() setPage!: string;\r\n @Input() userName!: string;\r\n @Output() pageChangeEvent = new EventEmitter<string>();\r\n\r\n appUser: boolean = false;\r\n routes: any[] = [];\r\n options: any = { weekday: 'long', month: 'long', day: 'numeric' };\r\n currentDay = new Date().toLocaleDateString('en-EN', this.options);\r\n hour = new Date().getHours();\r\n\r\n constructor(\r\n private userService: UserService,\r\n private baseService: BaseService,\r\n private storageService: StorageService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n let user = this.storageService.getCurrentUser()?.token;\r\n let token: string = user === undefined ? '' : user;\r\n\r\n let request: UserTokenRq = {\r\n token: token,\r\n };\r\n\r\n this.userService.getRoutesForRole(request).subscribe((response) => {\r\n this.routes = response.data;\r\n });\r\n\r\n this.appUser = this.baseService.isAnAppUser();\r\n }\r\n\r\n clickPage(event: string) {\r\n this.pageChangeEvent.emit(event);\r\n }\r\n\r\n logout() {\r\n this.storageService.logout();\r\n this.pageChangeEvent.emit('logout');\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatButtonModule } from '@angular/material/button';\r\n\r\n@NgModule({\r\n exports: [MatSidenavModule, MatToolbarModule, MatIconModule, MatListModule, MatButtonModule],\r\n})\r\nexport class MaterialModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { CommonModule, CurrencyPipe, TitleCasePipe } from '@angular/common';\r\n\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { AsideButtonComponent } from './atoms/aside-button/aside-button.component';\r\nimport { ButtonComponent } from './atoms/button/button.component';\r\nimport { CheckboxComponent } from './atoms/checkbox/checkbox.component';\r\nimport { DatalistComponent } from './atoms/datalist/datalist.component';\r\nimport { InputComponent } from './atoms/input/input.component';\r\nimport { LevelButtonComponent } from './atoms/level-button/level-button.component';\r\nimport { LevelTextComponent } from './atoms/level-text/level-text.component';\r\nimport { LoaderComponent } from './atoms/loader/loader.component';\r\nimport { RadioComponent } from './atoms/radio/radio.component';\r\nimport { SelectComponent } from './atoms/select/select.component';\r\nimport { TextLinkComponent } from './atoms/text-link/text-link.component';\r\n\r\nimport { LoginFormComponent } from './forms/login-form/login-form.component';\r\nimport { CreateUserFormComponent } from './forms/create-user-form/create-user-form.component';\r\n\r\nimport { SidenavComponent } from './molecules/sidenav/sidenav.component';\r\nimport { MaterialModule } from './material.module';\r\nimport { CurrencyMaskModule } from 'ng2-currency-mask';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AsideButtonComponent,\r\n ButtonComponent,\r\n CheckboxComponent,\r\n CreateUserFormComponent,\r\n DatalistComponent,\r\n InputComponent,\r\n LevelButtonComponent,\r\n LevelTextComponent,\r\n LoginFormComponent,\r\n LoaderComponent,\r\n RadioComponent,\r\n SelectComponent,\r\n SidenavComponent,\r\n TextLinkComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n // BrowserModule, // Para evitar doble carga de BrowserModule\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MaterialModule,\r\n CurrencyMaskModule\r\n ],\r\n exports: [\r\n AsideButtonComponent,\r\n ButtonComponent,\r\n CheckboxComponent,\r\n CreateUserFormComponent,\r\n DatalistComponent,\r\n InputComponent,\r\n LevelButtonComponent,\r\n LevelTextComponent,\r\n LoaderComponent,\r\n RadioComponent,\r\n SelectComponent,\r\n TextLinkComponent,\r\n LoginFormComponent,\r\n SidenavComponent,\r\n CurrencyMaskModule\r\n ],\r\n providers: [\r\n CurrencyPipe,\r\n TitleCasePipe\r\n ]\r\n})\r\n\r\nexport class ComponentsModule { }\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'ipt-cod-documents-section',\n templateUrl: './cod-documents-section.component.html',\n styleUrls: ['./cod-documents-section.component.css']\n})\nexport class CodDocumentsSectionComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"container flex flex-column bg-white border-round-2xl p-3 container animate__animated animate__fadeInUp\">\n\n <span class=\"bg-primary p-2 border-round mb-2 w-auto text-lg font-semibold\">Documentos del COD</span>\n\n <div *ngFor=\"let item of [1,2,3,4,5]\" class=\"document_item flex align-items-center p-2 border-round\">\n <span>Documento de identidad</span>\n <div class=\"ml-auto\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\"></button>\n </div>\n </div>\n\n <hr>\n <button pButton pRipple type=\"button\" icon=\"pi pi-plus\" label=\"Agregar\" class=\"p-button-rounded p-button-sm ml-auto mt-2\"></button>\n\n</div>\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LocalStorageCODService {\r\n\r\n constructor() { }\r\n\r\n getCodFormData(step: number, control: string): string | null {\r\n if (step === 1) return localStorage.getItem(`COD FORM - step1(${control})`);\r\n if (step === 2) return localStorage.getItem(`COD FORM - step2(${control})`);\r\n if (step === 3) return localStorage.getItem(`COD FORM - step3(${control})`);\r\n if (step === 4) return localStorage.getItem(`COD FORM - step4(${control})`);\r\n if (step === 5) return localStorage.getItem(`COD FORM - step5(${control})`);\r\n\r\n return null;\r\n }\r\n\r\n setCodFormData(step: number, control: string, value: string) {\r\n if (step === 1) localStorage.setItem(`COD FORM - step1(${control})`, value);\r\n if (step === 2) localStorage.setItem(`COD FORM - step2(${control})`, value);\r\n if (step === 3) localStorage.setItem(`COD FORM - step3(${control})`, value);\r\n if (step === 4) localStorage.setItem(`COD FORM - step4(${control})`, value);\r\n if (step === 5) localStorage.setItem(`COD FORM - step5(${control})`, value);\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject, Observable } from \"rxjs\";\r\n\r\nexport interface Control {\r\n name: string;\r\n required: boolean;\r\n description: string;\r\n}\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CodFormControls {\r\n\r\n public controls: Array<Control[]> = [\r\n [\r\n { name: 'academic_plan', required: true, description: 'Plan académico' },\r\n { name: 'course_type', required: true, description: 'Tipo de curso' },\r\n { name: 'agreement_by_category', required: true, description: 'Convenio' },\r\n { name: 'english_level', required: true, description: 'Nivel de inglés' },\r\n { name: 'availible_courses', required: false, description: 'Cursos disponibles' },\r\n ],\r\n [\r\n { name: 'student_address', required: true, description: 'Dirección del estudiante' },\r\n { name: 'birthdate', required: true, description: 'Fecha de nacimiento del estudiante' },\r\n { name: 'country', required: true, description: 'País' },\r\n { name: 'state', required: true, description: 'Departamento o estado' },\r\n { name: 'city', required: true, description: 'Ciudad de residencia' },\r\n { name: 'student_id_card_type', required: true, description: 'Tipo de documento del estudiante' },\r\n { name: 'student_id_card', required: true, description: 'Documento del estudiante' },\r\n { name: 'student_last_name', required: true, description: 'Apellidos del estudiante' },\r\n { name: 'student_name', required: true, description: 'Nombres del estudiante' },\r\n { name: 'student_email', required: true, description: 'Correo del estudiante' },\r\n { name: 'nickname', required: true, description: 'Alias o nickname' },\r\n { name: 'gender', required: true, description: 'Género' },\r\n { name: 'age', required: true, description: 'Edad' },\r\n { name: 'student_occupation', required: true, description: 'Ocupación del estudiante' },\r\n { name: 'stratum', required: true, description: 'Estrato del estudiante' },\r\n { name: 'grade', required: true, description: 'Grado del estudiante' },\r\n { name: 'civil_status', required: true, description: 'Estado civil del estudiante' },\r\n { name: 'student_phone_indicative', required: true, description: 'Indicativo del estudiante' },\r\n { name: 'student_phone_number', required: true, description: 'Teléfono del estudiante' },\r\n { name: 'password', required: true, description: 'Contraseña del estudiante' },\r\n { name: 're_password', required: true, description: 'Confirmación de contraseña' },\r\n ],\r\n [\r\n { name: 'parent_id_card_type', required: true, description: 'Tipo de documento del acudiente' },\r\n { name: 'parent_id_card', required: true, description: 'Documento del acudiente' },\r\n { name: 'parent_last_name', required: true, description: 'Apellidos del acudiente' },\r\n { name: 'parent_name', required: true, description: 'Nombres del acudiente' },\r\n { name: 'needAtendant', required: true, description: '¿Requiere acudiente?' },\r\n { name: 'parent_phone_indicative', required: true, description: 'Indicativo del acudiente' },\r\n { name: 'parent_occupation', required: true, description: 'Ocupación del acudiente' },\r\n { name: 'parent_address', required: true, description: 'Dirección del acudiente' },\r\n { name: 'parent_phone_number', required: true, description: 'Teléfono del acudiente' }\r\n ],\r\n [\r\n { name: 'payment_date', required: true, description: 'Fecha de pago' },\r\n { name: 'program_price', required: true, description: 'Valor total del programa' },\r\n { name: 'payment_method', required: true, description: 'Método de pago' },\r\n { name: 'quota_times', required: true, description: 'Cantidad de cuotas' },\r\n { name: 'total_price', required: true, description: 'Precio total de la matricula' },\r\n ],\r\n [\r\n { name: 'marketing_reasons', required: true, description: '¿Cómo se enteró del programa?' },\r\n { name: 'observation', required: false, description: 'Observación' },\r\n { name: 'study_reasons', required: true, description: 'Motivo' },\r\n { name: 'terms', required: true, description: 'Términos y condiciones' },\r\n { name: 'disability', required: false, description: 'Discapacidad' },\r\n { name: 'multiculturalism_1', required: false, description: 'Multiculturalismo' },\r\n { name: 'multiculturalism_2', required: false, description: 'Multiculturalismo' },\r\n { name: 'multiculturalism_3', required: false, description: 'Multiculturalismo' },\r\n { name: 'multiculturalism_4', required: false, description: 'Multiculturalismo' },\r\n { name: 'multiculturalism_5', required: false, description: 'Multiculturalismo' },\r\n { name: 'multiculturalism_6', required: false, description: 'Multiculturalismo' },\r\n { name: 'health_regimen', required: true, description: 'Régimen de salud' }\r\n ],\r\n ];\r\n\r\n private $controls = new BehaviorSubject<Array<Control[]>>([]);\r\n\r\n constructor() {}\r\n\r\n getControlValues(): Observable<Array<Control[]>> {\r\n return this.$controls.asObservable();\r\n }\r\n\r\n // Cambiar los valores de los controls, ejemplo: true y false del checkbox\r\n changeValue(step: number, controlName: string, newValue: any) {\r\n const controls: Array<Control[]> = { ...this.controls };\r\n let control = controls[step-1].filter(element => element.name === controlName);\r\n control[0].required = newValue;\r\n\r\n this.$controls.next(controls)\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { GetDiscountCouponsRq } from '../../models/payment/payment-rq.model';\r\nimport { CreateCODRq } from '../../models/cod/cod-rq.model';\r\nimport { IPTGeneralService } from '../service-enviroments';\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class CommercialService extends IPTGeneralService {\r\n\r\n private SERVICE_URL = 'commercial/api/';\r\n\r\n constructor(private http: HttpClient) {\r\n super();\r\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\r\n }\r\n\r\n createCOD(request: CreateCODRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/cod';\r\n this.generateRequestParams(request);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getStudentCodHistory(token: string, student_id_card: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/obtain/cod/history/by/student';\r\n this.generateRequestParams({token, student_id_card});\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getCodHistoryAll(userToken: any): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/obtain/cod/history/all';\r\n this.generateRequestParams(userToken);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getCodHistoryByCourse(request: any): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/obtain/cod/history/by/course';\r\n this.generateRequestParams(request);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getDiscountCoupons(params: GetDiscountCouponsRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/discount/coupon/search';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getCodPricesByAgreement(code: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/cod/prices/by/agreement/' + code;\r\n this.generateRequestParams(code);\r\n return this.http.get(serviceUrl, this.httpOptions);\r\n }\r\n\r\n\r\n}\r\n","import { Observable } from \"rxjs\";\r\nimport { Control } from \"./cod-form-controls\";\r\nimport { LocalStorageCODService } from \"./local-storage-cod.service\";\r\n\r\nexport interface localStorageValues {\r\n control: string,\r\n value: any\r\n}\r\n\r\nexport abstract class CodFormSteps {\r\n\r\n public localStorageCOD = new LocalStorageCODService();\r\n\r\n constructor() {}\r\n\r\n readAndWriteLS(step: number, control: string): localStorageValues {\r\n if (this.localStorageCOD.getCodFormData(step, control)) {\r\n const value = this.localStorageCOD.getCodFormData(step, control);\r\n return { control, value };\r\n } else {\r\n return { control, value: '' }\r\n }\r\n }\r\n\r\n setDataInLocalStorage(step: number, control: string, value: any) {\r\n this.localStorageCOD.setCodFormData(step, control, value);\r\n }\r\n\r\n listenFormChanges(step: number, control: string, obs: Observable<any>) {\r\n obs.subscribe(value => {\r\n this.setDataInLocalStorage(step, control, value);\r\n });\r\n }\r\n\r\n resetLocalStorage(controls: Control[]) {\r\n controls.forEach(control => {\r\n localStorage.removeItem(control.name);\r\n });\r\n }\r\n\r\n}\r\n","const copies: any = {\r\n \"es\": {\r\n \"modal_template\": {\r\n \"inputs\": {\r\n \"city\":\"Ingrese su ciudad de residencia\",\r\n \"country\":\"Ingresa tu pais de residencia\",\r\n \"comments\":\"Ingresa tus comentarios de registro ( Opcional )\",\r\n \"date_of_birth\":\"Ingresa tu fecha de nacimiento\",\r\n \"email\": \"Correo electronico\",\r\n \"id_card\": \"Documento de identidad\",\r\n \"last_name\": \"Apellidos\",\r\n \"name\": \"Nombres\",\r\n \"phone_number\": \"Numero de teléfono\",\r\n \"password\": \"Contraseña\",\r\n \"re_password\": \"Repetir contraseña\",\r\n \"role\": \"Seleccione el rol\",\r\n \"service_hour\": \"Horas de servicio\",\r\n \"id_card_type\":\"Ingresa tu tipo de documento\",\r\n \"phone_indicative\": \"Seleccione su indicativo\",\r\n \"state\":\"Seleccione su departamento\",\r\n \"file\": \"Seleccionar archivo\",\r\n \"contacted_contact\": \"Contactado...\",\r\n \"status_contact\": \"Status\",\r\n \"plan_contact\": \"Tipo Plan\",\r\n \"observations_contact\": \"Observaciones\",\r\n },\r\n \"validators\": {\r\n \"city\":\"Debe ingresar la ciudad de residencia\",\r\n \"country\":\"Debes ingresar el pais de residencia\",\r\n \"date_of_birth\":\"Debes ingrese la fecha de nacimiento\",\r\n \"email\": \"Recuerda usar correos con dominio @inglesparatodos.edu.co\",\r\n \"id_card\": \"Debes ingresar el número de documento.\",\r\n \"last_name\": \"Debes ingresar los apellidos del usuario.\",\r\n \"name\": \"Debes ingresar el nombre del usuario\",\r\n \"phone_number\": \"Debes ingresar un número de teléfono valido\",\r\n \"password\": \"Debe ser de minimo 7 digitos\",\r\n \"re_password\": \"Debe ser de minimo 7 digitos\",\r\n \"role\": \"Debe seleccionar un rol\",\r\n \"service_hour\": \"Debe ingresar las horas de servicio\",\r\n \"id_card_type\":\"Debes ingresar el tipo de documento\",\r\n \"phone_indicative\": \"Debes seleccionar un indicativo\",\r\n \"state\":\"Seleccione el departamento\",\r\n \"id_document\": \"Debe subir un archivo\",\r\n \"agreement_document\": \"Debe subir un archivo\",\r\n \"parent_id_document\": \"Debe subir un archivo\",\r\n \"comfanorte_document\": \"Debe subir un archivo\",\r\n \"contacted_contact\": \"Debe seleccionar forma de contactar cliente\",\r\n \"status_contact\": \"Debe seleccionar un estaus.\",\r\n \"plan_contact\": \"Debe seleccionar un plan\",\r\n \"observariones_contact\": \"Debe llenar el campo observaciones\",\r\n\r\n }\r\n },\r\n \"dashboard_template\": {\r\n \"inputs\": {\r\n \"agreement_by_category\":\"Convenio por categoria\",\r\n \"academic_level\": \"Ingrese el nivel academico ( Pregrado / Posgrado )\",\r\n \"academic_plan\": 'Plan',\r\n \"address\": \"ingrese su direccion\",\r\n \"agreement\": \"ingrese el convenio\",\r\n \"availible_courses\":\"Grupos disponibles\",\r\n \"birthdate\":\"Ingresa tu fecha de nacimiento\",\r\n \"city\":\"Ingrese su ciudad de residencia\",\r\n \"classroom\": \"Grupos Disponibles\",\r\n \"country\":\"Ingresa tu pais de residencia\",\r\n \"course_type\": \"Tipo de plan\",\r\n \"degree\": \"Nivel universitario\",\r\n \"comments\":\"Ingresa tus comentarios de registro ( Opcional )\",\r\n \"email\": \"Correo electronico\",\r\n \"email_ufps\": \"ingresa el correo electronico con dominio ufps.edu.co\",\r\n \"email_unipamplona\": \"Ingresa el correo con dominio unipamplona.edu.co\",\r\n \"financing_value\": \"Valor pagado\",\r\n \"financing_date\": \"Fecha de pago\",\r\n \"financing_responsable\": \"Recibido por\",\r\n \"financing_sales_check\": \"Numero de recibo\",\r\n \"financing_invoice_number\":\"Numero de recibo\",\r\n \"id_cod\": \"Numero de inscripcion\",\r\n \"id_card_type\":\"Ingresa tu tipo de documento\",\r\n \"id_card\": \"Documento de identidad\",\r\n \"id_financing\": \"Consecutivo\",\r\n \"id_payment\": \"Ingrese el número de recibo\",\r\n \"last_name\": \"Apellidos\",\r\n \"name\": \"Ingrese los nombres\",\r\n \"nickname\":\"Nickname\",\r\n \"needAtendant\": \"¿Requiere acudiente?\",\r\n \"marketing_reasons\": \"¿Cómo se entero del programa?\",\r\n \"level\": \"Seleccione el nivel\",\r\n \"observation\": \"Observaciones\",\r\n \"occupation\":\"Ocupacion\",\r\n \"password\": \"Contraseña\",\r\n \"phone_indicative\": \"Seleccione su indicativo\",\r\n \"phone_number\": \"Numero de teléfono\",\r\n \"paymentMethod\": \"Seleccione el metodo de pago\",\r\n \"payment_date\": \"Ingresa la fecha de pago\",\r\n \"program\":\"Ingrese el programa academico\",\r\n \"first_quota_price\": \"Ingrese el valor de la primera cuota\",\r\n \"quota_times\": \"Ingresar el numero de cuotas\",\r\n \"role\": \"Seleccione el rol\",\r\n \"re_password\": \"Repetir contraseña\",\r\n \"re_total_price\": \"Confirmar el valor total de la matricula\",\r\n \"service_hour\": \"Horas de servicio\",\r\n \"semester\": \"Semestre actual\",\r\n \"school_name\": \"Ingrese el nombre del colegio\",\r\n \"school_grade\": \"Grado escolar\",\r\n \"state\":\"Seleccione su departamento\",\r\n \"study_reasons\":\"Motivo\",\r\n \"total_price\": \"Ingrese el monto total de la matricula\",\r\n \"ufps_code\": \"Ingrese el codigo UFPS\",\r\n \"unipamplona_code\": \"Ingresa tu codigo UniPamplona\",\r\n \"type_coupon\":\"Ingrese el tipo de cupon\"\r\n },\r\n \"validators\": {\r\n \"academic_level\": \"Ingrese el nivel academico ( Pregrado / Posgrado )\",\r\n \"academic_plan\": 'Plan',\r\n \"address\": \"Debes ingresar su direccion\",\r\n \"agreement_by_category\":\"Convenio por categoria\",\r\n \"availible_courses\":\"Debes seleccionar el grupo\",\r\n \"birthdate\":\"Debes ingresar tu fecha de nacimiento\",\r\n \"city\":\"Debes ingresar la ciudad de residencia\",\r\n \"classroom\": \"Debe seleccionar los grupos disponibles\",\r\n \"country\":\"Debes ingresar el pais de residencia\",\r\n \"degree\": \"Debe seleccionar el nivel universitario\",\r\n \"email\": \"Recuerda usar correos con dominio @inglesparatodos.edu.co\",\r\n \"email_ufps\": \"ingresa el correo electronico con dominio ufps.edu.co\",\r\n \"email_unipamplona\": \"Ingresa el correo con dominio unipamplona.edu.co\",\r\n \"financing_value\": \"Debe ingresar el valor pagado de la cuota\",\r\n \"financing_date\": \"Debe ingresar la fecha de realizacion del pago\",\r\n \"financing_responsable\": \"Debe ingresar el nombre de quien recibe el pago\",\r\n \"financing_sales_check\": \"Debe ingresar el numero de recibo\",\r\n \"financing_invoice_number\":\"Debes ingresar el numero de recibo\",\r\n \"id_cod\": \"Ingrese el numero de inscripcion\",\r\n \"id_card_type\":\"Debes ingresar el tipo de documento\",\r\n \"id_card\": \"Debes ingresar el número de documento.\",\r\n \"id_payment\": \"Debe ingresar el número de recibo\",\r\n \"last_name\": \"Debes ingresar los apellidos del usuario.\",\r\n \"name\": \"Debes ingresar el nombre del usuario\",\r\n \"nickname\":\"Debes ingresar el nickname\",\r\n \"marketing_reasons\": \"¿Cómo se entero del programa?\",\r\n \"needAtendant\": \"Debes ingresar si requiere o no acudiente\",\r\n \"level\": \"Seleccione el nivel\",\r\n \"observation\": \"Observaciones\",\r\n \"occupation\":\"Debes ingresar la ocupacion\",\r\n \"password\": \"Debe ser de minimo 7 digitos\",\r\n \"paymentMethod\": \"Seleccione el metodo de pago\",\r\n \"payment_date\": \"Debe ingresa la fecha de pago\",\r\n \"phone_number\": \"Debes ingresar un número de teléfono valido\",\r\n \"phone_indicative\": \"Debes seleccionar un indicativo\",\r\n \"first_quota_price\": \"Debe ingresar el valor de la primera cuota\",\r\n \"quota_times\": \"Ingrese un número de cuotas válido\",\r\n \"program\":\"Debe ingresar el programa academico\",\r\n \"role\": \"Debe seleccionar un rol\",\r\n \"re_password\": \"Debe ser de minimo 7 digitos\",\r\n \"re_total_price\": \"Debe confirmar el valor total de la matricula\",\r\n \"semester\": \"Debe ingresar el semestre actual\",\r\n \"service_hour\": \"Debe ingresar las horas de servicio\",\r\n \"school_name\": \"Debe ingresar el nombre del colegio\",\r\n \"school_grade\": \"Debes ingresar el grado actual\",\r\n \"state\":\"Seleccione el departamento\",\r\n \"study_reasons\":\"Motivo\",\r\n \"total_price\": \"Debe ingresar el monto total de la matricula\",\r\n \"ufps_code\": \"Debe ingresar el codigo UFPS\",\r\n \"unipamplona_code\": \"Debes ingresar tu codigo UniPamplona\"\r\n },\r\n },\r\n \"attendant\": {\r\n \"inputs\": {\r\n \"address\": \"ingrese su direccion\",\r\n \"city\":\"Ingrese su ciudad de residencia\",\r\n \"country\":\"Ingresa tu pais de residencia\",\r\n \"id_card_type\":\"Ingresa tu tipo de documento\",\r\n \"id_card\": \"Documento de identidad\",\r\n \"last_name\": \"Apellidos\",\r\n \"name\": \"Ingrese los nombres\",\r\n \"phone_indicative\": \"Seleccione su indicativo\",\r\n \"phone_number\": \"Numero de teléfono\",\r\n \"state\":\"Seleccione su departamento\",\r\n },\r\n \"validators\": {\r\n \"address\": \"Debes ingresar su direccion\",\r\n \"city\":\"Debes ingresar la ciudad de residencia\",\r\n \"country\":\"Debes ingresar el pais de residencia\",\r\n \"id_card_type\":\"Debes ingresar el tipo de documento\",\r\n \"id_card\": \"Debes ingresar el número de documento.\",\r\n \"last_name\": \"Debes ingresar los apellidos del usuario.\",\r\n \"name\": \"Debes ingresar el nombre del usuario\",\r\n \"phone_number\": \"Debes ingresar un número de teléfono valido\",\r\n \"phone_indicative\": \"Debes seleccionar un indicativo\",\r\n \"state\":\"Seleccione el departamento\",\r\n }\r\n },\r\n \"menu\": {\r\n \"field1\": \"Home\",\r\n \"field2\": \"Groups\",\r\n \"field3\": \"Profile\",\r\n \"field5\": \"Score\",\r\n \"field4\": \"Search\",\r\n \"endField\": \"Cerrar Sesión\"\r\n },\r\n \"edit_profile\": {\r\n \"inputs\": {\r\n \"id_card\": \"Documento de identidad\",\r\n \"ufps_code\": \"Código de la universidad\",\r\n \"email\": \"Correo dominio @ufps.edu.co\",\r\n \"last_name\": \"Ingresa tus apellidos\",\r\n \"name\": \"Ingresa tus nombres\",\r\n \"phone\": \"Numero de teléfono\",\r\n },\r\n },\r\n \"en\": {}\r\n }\r\n}\r\n\r\nexport function getCopies(): any {\r\n return copies;\r\n}","import { Injectable } from '@angular/core';\r\nimport { getCopies } from '../utils/copies';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CopiesService {\r\n\r\n constructor() { }\r\n\r\n public copies: any = getCopies();\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { IPTGeneralService } from '../service-enviroments';\r\nimport { CreateCourseRq, EditCourseRq, GetAvailibleCoursesRq, GetCourseByCodeRq, GetCoursesByTeacherRq, GetCoursesRq } from '../../models/course/course-rq.model';\r\nimport { CourseStartDateRq } from '../../models/cronogram/cronogram.models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CourseService extends IPTGeneralService{\r\n private SERVICE_URL = 'academic/api/';\r\n\r\n constructor(private http: HttpClient) {\r\n super();\r\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\r\n }\r\n\r\n createCourse(course: CreateCourseRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/course';\r\n this.generateRequestParams(course);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n editCourse(course: EditCourseRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'put/course';\r\n this.generateRequestParams(course);\r\n return this.http.put(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getAllCourses(params: GetCoursesRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/all/courses';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getCoursesByLevel(params: GetCoursesRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/course/by/level';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getAvailibleCourses( availibleCourses: GetAvailibleCoursesRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/course/for/cod';\r\n this.generateRequestParams(availibleCourses);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getCourseByCode(params: GetCourseByCodeRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/course/by/code';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getCoursesByTeacher(params: GetCoursesByTeacherRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/course/by/teacher';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getFilteredCoursesByTeacher(params: GetCoursesByTeacherRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/course/filtered/by/teacher';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getCoursesByStartDate(params: CourseStartDateRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/course/by/startdate';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n numberClassByCode(idCode: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/coursetype/numclass/by/code/' + idCode;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class CommunicatorService {\r\n private $courseType = new BehaviorSubject<string>('');\r\n private $agreement = new BehaviorSubject<string>('');\r\n\r\n constructor() { }\r\n\r\n getSelectedCourseType(): Observable<string> {\r\n return this.$courseType.asObservable();\r\n }\r\n\r\n setCurrentCourseType(value: string) {\r\n this.$courseType.next(value);\r\n }\r\n\r\n getSelectedAgreement(): Observable<string> {\r\n return this.$agreement.asObservable();\r\n }\r\n\r\n setCurrentAgreement(value: string) {\r\n this.$agreement.next(value);\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { GetAvailibleCoursesRq } from '../../../core/models/course/course-rq.model';\r\nimport { CopiesService } from '../../../core/services/copies.service';\r\nimport { CourseService } from '../../../core/services/course-service/course-service.model';\r\nimport { ParameterService } from '../../../core/services/parameters-service/parameters.service';\r\nimport { BaseService } from '../../../core/utils/base-service/base.service';\r\nimport { CodFormControls } from '../../logic/cod-form-controls';\r\nimport { CodFormSteps, localStorageValues } from '../../logic/cod-form-steps';\r\nimport { CommunicatorService } from '../../logic/communicator.service';\r\n\r\n@Component({\r\n selector: 'app-cod-form-step-one',\r\n templateUrl: './cod-form-step-one.component.html',\r\n styleUrls: ['./cod-form-step-one.component.css'],\r\n})\r\nexport class CodFormStepOneComponent extends CodFormSteps implements OnInit {\r\n @Output() changeStepEvent = new EventEmitter<number>();\r\n\r\n copies: any;\r\n codFormStepOne!: FormGroup;\r\n hasAvailableCourse!: boolean;\r\n\r\n // Parameters\r\n agreements: any;\r\n availibleCourses: any[] = [];\r\n course_type: any;\r\n levels: any;\r\n plans: any;\r\n\r\n // Controls del formulario\r\n controls = new CodFormControls().controls[0];\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private parameterService: ParameterService,\r\n private copiesService: CopiesService,\r\n private baseService: BaseService,\r\n private courseService: CourseService,\r\n private communicatorService: CommunicatorService,\r\n ) {\r\n super();\r\n this.copies = this.copiesService.copies;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getParameters();\r\n this.initForm();\r\n this.startLocalStorageWork();\r\n this.setValuesByLocalStorage()\r\n\r\n this.codFormStepOne.controls['course_type'].valueChanges\r\n .subscribe(value => this.communicatorService.setCurrentCourseType(value));\r\n\r\n this.communicatorService.setCurrentAgreement(this.localStorageCOD.getCodFormData(1, 'agreement_by_category')!);\r\n }\r\n\r\n /* Es necesario recorrer el array de controls de nuestro formulario para:\r\n ✅ Leer el Local Storage y setear los valores\r\n ✅ Subscribirse a los cambios del formulario para setear valores nuevos\r\n\r\n Nota: la clase CodFormSteps() se encarga de toda la lógica de LS con los pasos del formulario del COD\r\n */\r\n startLocalStorageWork() {\r\n this.controls.forEach(control => {\r\n let localStorageValue: localStorageValues = this.readAndWriteLS(1, control.name);\r\n this.codFormStepOne.controls[control.name].setValue(localStorageValue.value);\r\n this.listenFormChanges(1, control.name, this.codFormStepOne.controls[control.name].valueChanges);\r\n });\r\n }\r\n\r\n getParameters() {\r\n this.parameterService.getAllPlans().subscribe((response) => {\r\n this.plans = response.data;\r\n });\r\n this.parameterService.getLevels().subscribe((response) => {\r\n this.levels = response.data;\r\n });\r\n }\r\n\r\n initForm() {\r\n this.codFormStepOne = this.fb.group({\r\n academic_plan: ['', [Validators.required]],\r\n course_type: ['', [Validators.required]],\r\n agreement_by_category: ['', [Validators.required]],\r\n english_level: ['', [Validators.required]],\r\n availible_courses: ['', []],\r\n });\r\n }\r\n\r\n setValuesByLocalStorage() {\r\n const academicPlan = this.codFormStepOne.controls['academic_plan'].value || null;\r\n if (!academicPlan) return;\r\n this.selectAcademicPlan(academicPlan);\r\n\r\n const agreementByCategory = this.codFormStepOne.controls['agreement_by_category'].value || null;\r\n if (!agreementByCategory) return;\r\n this.getAvailibleCourses();\r\n\r\n const englishLevel = this.codFormStepOne.controls['english_level'].value || null;\r\n if (!englishLevel) return;\r\n this.getAvailibleCourses();\r\n }\r\n\r\n sendForm() {\r\n this.codFormStepOne.markAsTouched();\r\n if (this.codFormStepOne.invalid) return;\r\n\r\n // Movernos al paso 2\r\n this.changeStepEvent.emit(1);\r\n }\r\n\r\n resetForm() {\r\n this.resetLocalStorage(this.controls);\r\n this.codFormStepOne.reset();\r\n }\r\n\r\n // Eventos de los selects\r\n selectAcademicPlan(academic_plan: any) {\r\n if (academic_plan !== 'Plan') {\r\n this.codFormStepOne.controls['academic_plan'].setValue(academic_plan);\r\n this.getCourseType(academic_plan);\r\n this.getAgreementByPlan(academic_plan);\r\n } else {\r\n this.codFormStepOne.controls['academic_plan'].setValue(null);\r\n this.codFormStepOne.controls['course_type'].setValue(null);\r\n this.codFormStepOne.controls['agreement_by_category'].setValue(null);\r\n }\r\n }\r\n\r\n getCourseType(plan: number) {\r\n this.parameterService.getCoursesTypesByPlan(plan).subscribe((response) => {\r\n this.course_type = response.data;\r\n });\r\n }\r\n\r\n getAgreementByPlan(plan: number) {\r\n this.parameterService.getAgreementByCategory(plan).subscribe((response) => {\r\n this.agreements = response.data;\r\n });\r\n }\r\n\r\n selectCoursesTypesByPlan(coursesTypes: any) {\r\n if (coursesTypes !== 'Tipo de plan') {\r\n this.codFormStepOne.controls['course_type'].setValue(coursesTypes);\r\n this.getAvailibleCourses();\r\n } else {\r\n this.codFormStepOne.controls['course_type'].setValue(null);\r\n }\r\n }\r\n\r\n selectAgreementByCategory(agreementByCategories: any) {\r\n if (agreementByCategories !== 'Convenio por categoria') {\r\n this.codFormStepOne.controls['agreement_by_category'].setValue(agreementByCategories);\r\n this.communicatorService.setCurrentAgreement(agreementByCategories);\r\n this.getAvailibleCourses();\r\n } else {\r\n this.codFormStepOne.controls['agreement_by_category'].setValue(null);\r\n this.codFormStepOne.controls['school_name'].setValue(null);\r\n }\r\n }\r\n\r\n selectLevel(levels: any) {\r\n if (levels !== 'Nivel de inglés') {\r\n this.codFormStepOne.controls['english_level'].setValue(levels);\r\n this.getAvailibleCourses();\r\n } else {\r\n this.codFormStepOne.controls['english_level'].setValue(null);\r\n }\r\n }\r\n\r\n selectAvailibleCourses(availibleCourses: any) {\r\n if (availibleCourses !== 'Grupos disponibles') {\r\n this.codFormStepOne.controls['availible_courses'].setValue(availibleCourses);\r\n } else {\r\n this.codFormStepOne.controls['availible_courses'].setValue(null);\r\n this.codFormStepOne.controls['agreement_by_category'].setValue(null);\r\n this.codFormStepOne.controls['course_type'].setValue(null);\r\n this.codFormStepOne.controls['english_level'].setValue(null);\r\n }\r\n }\r\n\r\n private validRequest(): boolean {\r\n return (\r\n this.codFormStepOne.controls['english_level'].value != '' &&\r\n this.codFormStepOne.controls['agreement_by_category'].value != '' &&\r\n this.codFormStepOne.controls['course_type'].value != ''\r\n );\r\n }\r\n\r\n getAvailibleCourses() {\r\n this.availibleCourses = [];\r\n if (this.validRequest()) {\r\n let request_availibleCourses: GetAvailibleCoursesRq = {\r\n token: this.baseService.getUserToken(),\r\n english_level: this.codFormStepOne.controls['english_level'].value,\r\n agreement: this.codFormStepOne.controls['agreement_by_category'].value,\r\n course_type: this.codFormStepOne.controls['course_type'].value,\r\n };\r\n this.courseService\r\n .getAvailibleCourses(request_availibleCourses)\r\n .subscribe((response) => {\r\n if (response.data) {\r\n let courses: any[] = response.data;\r\n this.hasAvailableCourse = true;\r\n courses.forEach(course => {\r\n this.availibleCourses.push({\r\n code: course.code,\r\n name: `Curso ${course.modality === 1 ? 'Presencial' : 'Virtual'} ${course.course_type.name} (${course.english_level}) - Teacher ${course.teacher}, Fecha de inicio: ${course.to_start}`\r\n });\r\n })\r\n } else {\r\n this.hasAvailableCourse = false;\r\n this.codFormStepOne.controls['availible_courses'].setValue(\"\");\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","<form [formGroup]=\"codFormStepOne\" class=\"grid\">\r\n <div class=\"col\">\r\n <ipt-select\r\n [initialValue]=\"codFormStepOne.controls['academic_plan'].value\"\r\n [selectCode]=\"codFormStepOne.controls['academic_plan'].value === null? 'Plan': codFormStepOne.controls['academic_plan'].value\"\r\n [defaultText]=\"'Plan'\"\r\n [isRequired]=\"true\"\r\n (eventSelect)=\"selectAcademicPlan($event)\"\r\n [data]=\"plans\"\r\n [control]=\"codFormStepOne.controls['academic_plan']\"\r\n ></ipt-select>\r\n <ipt-select\r\n [initialValue]=\"codFormStepOne.controls['course_type'].value\"\r\n [selectCode]=\"codFormStepOne.controls['course_type'].value === null? 'Tipo de plan': codFormStepOne.controls['course_type'].value\"\r\n [defaultText]=\"'Tipo de plan'\"\r\n [isRequired]=\"true\"\r\n (eventSelect)=\"selectCoursesTypesByPlan($event)\"\r\n [data]=\"course_type\"\r\n [control]=\"codFormStepOne.controls['course_type']\"\r\n ></ipt-select>\r\n </div>\r\n <div class=\"col\">\r\n <ipt-select\r\n [initialValue]=\"codFormStepOne.controls['agreement_by_category'].value\"\r\n [selectCode]=\"codFormStepOne.controls['agreement_by_category'].value === null? 'Convenio por categoria': codFormStepOne.controls['agreement_by_category'].value\"\r\n [defaultText]=\"'Convenio por categoria'\"\r\n [isRequired]=\"true\"\r\n (eventSelect)=\"selectAgreementByCategory($event)\"\r\n [data]=\"agreements\"\r\n [control]=\"codFormStepOne.controls['agreement_by_category']\"\r\n ></ipt-select>\r\n <ipt-select\r\n [initialValue]=\"codFormStepOne.controls['english_level'].value\"\r\n [selectCode]=\"codFormStepOne.controls['english_level'].value === null? 'Nivel de inglés': codFormStepOne.controls['english_level'].value\"\r\n [defaultText]=\"'Nivel de inglés'\"\r\n [isRequired]=\"true\"\r\n (eventSelect)=\"selectLevel($event)\"\r\n [data]=\"levels\"\r\n [control]=\"codFormStepOne.controls['english_level']\"\r\n ></ipt-select>\r\n </div>\r\n <div class=\"col-12\">\r\n <ipt-select\r\n [initialValue]=\"codFormStepOne.controls['availible_courses'].value\"\r\n [selectCode]=\"codFormStepOne.controls['availible_courses'].value === null? 'Grupos disponibles': codFormStepOne.controls['availible_courses'].value\"\r\n [defaultText]=\"'Grupos disponibles'\"\r\n [isRequired]=\"true\"\r\n (eventSelect)=\"selectAvailibleCourses($event)\"\r\n [data]=\"availibleCourses\"\r\n [control]=\"codFormStepOne.controls['availible_courses']\"\r\n ></ipt-select>\r\n </div>\r\n <span *ngIf=\"!hasAvailableCourse\" class=\"mt-1 pl-2 text-red-500\">Todavia no hay cursos con estas características.</span>\r\n</form>\r\n\r\n<div class=\"flex mt-2 align-items-center gap-3\">\r\n <span *ngIf=\"codFormStepOne.invalid && codFormStepOne.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">Faltan campos por llenar.</span>\r\n <button type=\"submit\" class=\"ml-auto p-button-sm\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators, FormControl } from '@angular/forms';\r\nimport { ParameterService } from '../../../core/services/parameters-service/parameters.service';\r\nimport { map, Subscription } from 'rxjs';\r\nimport { CodFormControls } from '../../logic/cod-form-controls';\r\nimport { CodFormSteps, localStorageValues } from '../../logic/cod-form-steps';\r\n\r\n@Component({\r\n selector: 'app-cod-form-step-two',\r\n templateUrl: './cod-form-step-two.component.html',\r\n styleUrls: ['./cod-form-step-two.component.css']\r\n})\r\nexport class CodFormStepTwoComponent extends CodFormSteps implements OnInit {\r\n @Input() initialData?: any;\r\n @Output() changeStepEvent = new EventEmitter<number>();\r\n\r\n codFormStepTwo!: FormGroup;\r\n countrySelected: any;\r\n countries: any;\r\n states: any;\r\n cities: any;\r\n errorMessage: string = 'Faltan campos por llenar.';\r\n hasErrors: boolean = false;\r\n idTypes: any;\r\n indicatives: any;\r\n civilStatus: any;\r\n genders: any[] = [];\r\n stratums: any;\r\n\r\n // Controls del formulario\r\n controls = new CodFormControls().controls[1];\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private parameterService: ParameterService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getParameters();\r\n this.initForm();\r\n this.startLocalStorageWork();\r\n this.validateErrors()\r\n if (this.initialData) this.setDataFromPreviusCod();\r\n\r\n this.selectCountry(this.localStorageCOD.getCodFormData(2, 'country'));\r\n }\r\n\r\n setDataFromPreviusCod() {\r\n this.codFormStepTwo.controls['student_name'].setValue(this.initialData.name);\r\n this.codFormStepTwo.controls['student_last_name'].setValue(this.initialData.last_name);\r\n this.codFormStepTwo.controls['student_id_card_type'].setValue(this.initialData.id_card_type);\r\n this.codFormStepTwo.controls['student_id_card'].setValue(this.initialData.id_card);\r\n this.codFormStepTwo.controls['student_phone_indicative'].setValue(this.initialData.phone_indicative);\r\n this.codFormStepTwo.controls['student_phone_number'].setValue(this.initialData.phone_number);\r\n this.codFormStepTwo.controls['birthdate'].setValue(this.initialData.birthdate);\r\n }\r\n\r\n validateErrors() {\r\n this.codFormStepTwo.valueChanges.subscribe(changes => {\r\n if (this.codFormStepTwo.controls['student_name'].hasError('minlength')) {\r\n this.errorMessage = 'Los nombres deben tener mínimo 3 caracteres';\r\n } else if (this.codFormStepTwo.controls['student_last_name'].hasError('minlength')) {\r\n this.errorMessage = 'Los apellidos deben tener mínimo 5 caracteres';\r\n } else if (this.codFormStepTwo.controls['password'].hasError('minlength')) {\r\n this.errorMessage = 'La contraseña debe tener mínimo 6 caracteres';\r\n } else if (this.codFormStepTwo.controls['password'].value !== this.codFormStepTwo.controls['re_password'].value) {\r\n this.errorMessage = 'Las contraseñas no coinciden';\r\n } else if (this.codFormStepTwo.controls['age'].errors) {\r\n this.errorMessage = 'Fecha de nacimiento no válida';\r\n }\r\n else {\r\n this.errorMessage = 'Faltan campos por llenar';\r\n }\r\n })\r\n }\r\n\r\n startLocalStorageWork() {\r\n this.controls.forEach(control => {\r\n let localStorageValue: localStorageValues = this.readAndWriteLS(2, control.name);\r\n this.codFormStepTwo.controls[control.name].setValue(localStorageValue.value);\r\n this.listenFormChanges(2, control.name, this.codFormStepTwo.controls[control.name].valueChanges);\r\n });\r\n }\r\n\r\n initForm() {\r\n this.codFormStepTwo = this.fb.group({\r\n student_address: ['', [Validators.required], []],\r\n birthdate: ['', [Validators.required], []],\r\n country: ['', [Validators.required], []],\r\n state: ['', [Validators.required], []],\r\n city: ['', [Validators.required], []],\r\n student_id_card_type: ['', [Validators.required], []],\r\n student_id_card: [ '', [Validators.required, Validators.minLength(5), Validators.maxLength(20)]],\r\n student_last_name: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(32)]],\r\n student_name: ['', [Validators.required, Validators.minLength(3), Validators.maxLength(32)]],\r\n student_email: ['', [Validators.required, Validators.email]],\r\n nickname: ['', [Validators.required]],\r\n gender: ['', [Validators.required]],\r\n age: ['', [Validators.required], []],\r\n student_occupation: ['', [Validators.required]],\r\n stratum: ['', [Validators.required]],\r\n grade: ['', [Validators.required]],\r\n civil_status: ['', [Validators.required]],\r\n student_phone_indicative: ['', [Validators.required], []],\r\n student_phone_number: ['', [Validators.required, Validators.minLength(10), Validators.maxLength(15)]],\r\n password: ['', [Validators.required, Validators.minLength(6)]],\r\n re_password: ['', [Validators.required, Validators.minLength(6)]],\r\n });\r\n\r\n // Calcular edad y setear valor\r\n this.codFormStepTwo.controls['birthdate'].valueChanges.subscribe({\r\n next: (change) => {\r\n let today = new Date();\r\n let birthday = new Date(change);\r\n let age = today.getFullYear() - birthday.getFullYear();\r\n let month = today.getMonth() - birthday.getMonth();\r\n\r\n if (month < 0 || (month === 0 && today.getDate() < birthday.getDate())) {\r\n age--;\r\n }\r\n\r\n if (age < 3) {\r\n this.errorMessage = 'Fecha de nacimiento no válida'\r\n this.codFormStepTwo.controls['birthdate'].setErrors({\r\n invalidAge: true\r\n })\r\n } else {\r\n this.codFormStepTwo.controls['birthdate'].setErrors(null);\r\n }\r\n\r\n this.codFormStepTwo.controls['age'].setValue(age);\r\n }\r\n })\r\n }\r\n\r\n getParameters() {\r\n this.parameterService.getCardTypes('col').subscribe((response) => {\r\n this.idTypes = response.data;\r\n });\r\n this.parameterService.getIndicatives().subscribe((response) => {\r\n this.indicatives = response.data;\r\n });\r\n this.parameterService.getCountries().subscribe((response) => {\r\n this.countries = response.data;\r\n });\r\n this.parameterService.getStratums().subscribe((response) => {\r\n this.stratums = response.data;\r\n });\r\n this.parameterService.getCivilStatus().subscribe((response) => {\r\n this.civilStatus = response.data;\r\n });\r\n this.parameterService.getGenders().pipe(\r\n map((response: any) => response.data)\r\n )\r\n .subscribe((genders: any[]) => {\r\n genders.forEach(gender => {\r\n let genderItem = {\r\n code: gender.code,\r\n name: gender.name_spanish\r\n }\r\n this.genders.push(genderItem)\r\n })\r\n })\r\n }\r\n\r\n sendForm() {\r\n this.codFormStepTwo.markAllAsTouched();\r\n if (this.codFormStepTwo.invalid) return;\r\n\r\n // Movernos al paso 3\r\n this.changeStepEvent.emit(2);\r\n }\r\n\r\n getState(state: any) {\r\n this.getCity(state);\r\n }\r\n\r\n getCity(state: any) {\r\n this.parameterService.getCitiesByState(state).subscribe((response) => {\r\n this.cities = response.data;\r\n this.selectCity(this.localStorageCOD.getCodFormData(2, 'city'));\r\n });\r\n }\r\n\r\n // Eventos de los select\r\n selectCountry(country: any) {\r\n if (country !== 'País de residencia') {\r\n this.codFormStepTwo.controls['country'].setValue(country);\r\n let iso = '';\r\n if (country === '1') iso = 'null';\r\n if (country === '2') iso = 'col';\r\n if (country === '3') iso = 'ven';\r\n if (country === '4') iso = 'usa';\r\n this.parameterService.getStatesByCountry(iso).subscribe((response) => {\r\n this.states = response.data;\r\n this.selectState(this.localStorageCOD.getCodFormData(2, 'state'));\r\n });\r\n } else {\r\n this.codFormStepTwo.controls['country'].setValue(null);\r\n }\r\n this.countrySelected = country;\r\n }\r\n\r\n selectState(state: any) {\r\n if (state !== 'Departamento o estado') {\r\n this.codFormStepTwo.controls['state'].setValue(state);\r\n this.getState(state);\r\n } else {\r\n this.codFormStepTwo.controls['state'].setValue(null);\r\n this.codFormStepTwo.controls['city'].setValue(null);\r\n this.cities = [];\r\n }\r\n }\r\n\r\n selectCity(city: any) {\r\n if (city !== 'Ciudad de residencia') {\r\n this.codFormStepTwo.controls['city'].setValue(city);\r\n } else {\r\n this.codFormStepTwo.controls['city'].setValue(null);\r\n }\r\n }\r\n\r\n selectIdType(idType: any) {\r\n if (idType !== 'Tipo de documento') {\r\n this.codFormStepTwo.controls['student_id_card_type'].setValue(idType);\r\n } else {\r\n this.codFormStepTwo.controls['student_id_card_type'].setValue(null);\r\n }\r\n }\r\n\r\n selectIndicatives(indicative: any) {\r\n if (indicative !== 'Indicativo') {\r\n this.codFormStepTwo.controls['student_phone_indicative'].setValue(indicative);\r\n } else {\r\n this.codFormStepTwo.controls['student_phone_indicative'].setValue(null);\r\n }\r\n }\r\n\r\n selectGender(gender: any) {\r\n if (gender !== 'Género') {\r\n this.codFormStepTwo.controls['gender'].setValue(gender);\r\n } else {\r\n this.codFormStepTwo.controls['gender'].setValue(null);\r\n }\r\n }\r\n\r\n selectStratum(stratum: any) {\r\n if (stratum !== 'Estrato') {\r\n this.codFormStepTwo.controls['stratum'].setValue(stratum);\r\n } else {\r\n this.codFormStepTwo.controls['stratum'].setValue(null);\r\n }\r\n }\r\n\r\n selectCivilStatus(civil_status: any) {\r\n if (civil_status !== 'Estado civil') {\r\n this.codFormStepTwo.controls['civil_status'].setValue(civil_status);\r\n } else {\r\n this.codFormStepTwo.controls['civil_status'].setValue(null);\r\n }\r\n }\r\n}\r\n","<form autocomplete=\"off\" [formGroup]=\"codFormStepTwo\" class=\"grid\">\r\n\r\n <div class=\"col\">\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Nombres'\"\r\n [control]=\"codFormStepTwo.controls['student_name']\"\r\n ></ipt-input>\r\n <ipt-select\r\n [initialValue]=\"codFormStepTwo.controls['student_id_card_type'].value\"\r\n [control]=\"codFormStepTwo.controls['student_id_card_type']\"\r\n [selectCode]=\"codFormStepTwo.controls['student_id_card_type'].value === null ? 'Tipo de documento' : codFormStepTwo.controls['student_id_card_type'].value\"\r\n [isRequired]=\"true\"\r\n [data]=\"idTypes\"\r\n (eventSelect)=\"selectIdType($event)\"\r\n [defaultText]=\"'Tipo de documento'\"\r\n ></ipt-select>\r\n <ipt-select\r\n [initialValue]=\"codFormStepTwo.controls['country'].value\"\r\n [control]=\"codFormStepTwo.controls['country']\"\r\n [selectCode]=\"codFormStepTwo.controls['country'].value === null ? 'País de residencia' : codFormStepTwo.controls['country'].value\"\r\n (eventSelect)=\"selectCountry($event)\"\r\n [data]=\"countries\"\r\n [defaultText]=\"'País de residencia'\"\r\n ></ipt-select>\r\n <ipt-select\r\n [initialValue]=\"codFormStepTwo.controls['city'].value\"\r\n [control]=\"codFormStepTwo.controls['city']\"\r\n [selectCode]=\"codFormStepTwo.controls['city'].value === null ? 'Ciudad de residencia' : codFormStepTwo.controls['city'].value\"\r\n (eventSelect)=\"selectCity($event)\"\r\n [data]=\"cities\"\r\n [defaultText]=\"'Ciudad de residencia'\"\r\n ></ipt-select>\r\n <ipt-input\r\n onfocus=\"(this.type='date')\"\r\n [inputType]=\"'date'\"\r\n [control]=\"codFormStepTwo.controls['birthdate']\"\r\n [placeHolder]=\"'Fecha de nacimiento'\"\r\n ></ipt-input>\r\n <ipt-select\r\n [initialValue]=\"codFormStepTwo.controls['gender'].value\"\r\n [control]=\"codFormStepTwo.controls['gender']\"\r\n [data]=\"genders\"\r\n (eventSelect)=\"selectGender($event)\"\r\n [defaultText]=\"'Género'\"\r\n ></ipt-select>\r\n <ipt-select\r\n [initialValue]=\"codFormStepTwo.controls['stratum'].value\"\r\n [control]=\"codFormStepTwo.controls['stratum']\"\r\n [data]=\"stratums\"\r\n (eventSelect)=\"selectStratum($event)\"\r\n [defaultText]=\"'Estrato'\"\r\n ></ipt-select>\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Grado'\"\r\n [control]=\"codFormStepTwo.controls['grade']\"\r\n ></ipt-input>\r\n <ipt-select\r\n [initialValue]=\"codFormStepTwo.controls['student_phone_indicative'].value\"\r\n [control]=\"codFormStepTwo.controls['student_phone_indicative']\"\r\n [data]=\"indicatives\"\r\n (eventSelect)=\"selectIndicatives($event)\"\r\n [defaultText]=\"'Indicativo'\"\r\n ></ipt-select>\r\n <ipt-input\r\n [inputType]=\"'email'\"\r\n [placeHolder]=\"'Correo electrónico'\"\r\n [control]=\"codFormStepTwo.controls['student_email']\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'password'\"\r\n [placeHolder]=\"'Repetir contraseña'\"\r\n [control]=\"codFormStepTwo.controls['re_password']\"\r\n ></ipt-input>\r\n </div>\r\n\r\n <div class=\"col\">\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Apellidos'\"\r\n [control]=\"codFormStepTwo.controls['student_last_name']\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'number'\"\r\n [placeHolder]=\"'Número de documento'\"\r\n [control]=\"codFormStepTwo.controls['student_id_card']\"\r\n ></ipt-input>\r\n <ipt-select\r\n [initialValue]=\"codFormStepTwo.controls['state'].value\"\r\n [control]=\"codFormStepTwo.controls['state']\"\r\n [selectCode]=\"codFormStepTwo.controls['state'].value === null ? 'Departamento o estado' : codFormStepTwo.controls['state'].value\"\r\n [isRequired]=\"true\"\r\n (eventSelect)=\"selectState($event)\"\r\n [data]=\"states\"\r\n [defaultText]=\"'Departamento o estado'\"\r\n ></ipt-select>\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Dirección'\"\r\n [control]=\"codFormStepTwo.controls['student_address']\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'number'\"\r\n [placeHolder]=\"'Edad'\"\r\n [control]=\"codFormStepTwo.controls['age']\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Nickname'\"\r\n [control]=\"codFormStepTwo.controls['nickname']\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Ocupación'\"\r\n [control]=\"codFormStepTwo.controls['student_occupation']\"\r\n ></ipt-input>\r\n <ipt-select\r\n [initialValue]=\"codFormStepTwo.controls['civil_status'].value\"\r\n [control]=\"codFormStepTwo.controls['civil_status']\"\r\n [data]=\"civilStatus\"\r\n (eventSelect)=\"selectCivilStatus($event)\"\r\n [defaultText]=\"'Estado civil'\"\r\n ></ipt-select>\r\n <ipt-input\r\n [inputType]=\"'number'\"\r\n [placeHolder]=\"'Número de teléfono'\"\r\n [control]=\"codFormStepTwo.controls['student_phone_number']\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'password'\"\r\n [placeHolder]=\"'Contraseña'\"\r\n [control]=\"codFormStepTwo.controls['password']\"\r\n ></ipt-input>\r\n </div>\r\n\r\n <div class=\"col-12\"></div>\r\n\r\n</form>\r\n\r\n<div class=\"flex mt-3 align-items-center gap-3\">\r\n <span *ngIf=\"codFormStepTwo.invalid && codFormStepTwo.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span>\r\n <button type=\"submit\" class=\"ml-auto p-button-sm\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\r\n</div>\r\n","import { Component, EventEmitter, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { ParameterService } from '../../../core/services/parameters-service/parameters.service';\r\nimport { CodFormControls } from '../../logic/cod-form-controls';\r\nimport { CodFormSteps, localStorageValues } from '../../logic/cod-form-steps';\r\n\r\n@Component({\r\n selector: 'app-cod-form-step-three',\r\n templateUrl: './cod-form-step-three.component.html',\r\n styleUrls: ['./cod-form-step-three.component.css']\r\n})\r\nexport class CodFormStepThreeComponent extends CodFormSteps implements OnInit {\r\n @Output() changeStepEvent = new EventEmitter<number>();\r\n globalControls = new CodFormControls();\r\n\r\n idTypes: any;\r\n indicatives: any;\r\n codFormStepThree!: FormGroup;\r\n errorMessage: string = 'Faltan campos por llenar.';\r\n needAtendants: any[] = [\r\n { code: '1', name: 'Si requiere acudiente' },\r\n { code: '2', name: 'No requiere acudiente' },\r\n ];\r\n\r\n // Controls del formulario\r\n controls = new CodFormControls().controls[2];\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private parameterService: ParameterService,\r\n private codFormControls: CodFormControls\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getParameters();\r\n this.initForm();\r\n this.startLocalStorageWork();\r\n this.validateErrors();\r\n }\r\n\r\n validateErrors() {\r\n this.codFormStepThree.valueChanges.subscribe(changes => {\r\n if (this.codFormStepThree.controls['parent_name'].hasError('minlength')) {\r\n this.errorMessage = 'Los nombres deben tener mínimo 3 caracteres';\r\n } else if (this.codFormStepThree.controls['parent_last_name'].hasError('minlength')) {\r\n this.errorMessage = 'Los apellidos deben tener mínimo 5 caracteres';\r\n }\r\n else {\r\n this.errorMessage = 'Faltan campos por llenar';\r\n }\r\n })\r\n }\r\n\r\n startLocalStorageWork() {\r\n this.controls.forEach(control => {\r\n let localStorageValue: localStorageValues = this.readAndWriteLS(3, control.name);\r\n this.codFormStepThree.controls[control.name].setValue(localStorageValue.value);\r\n this.listenFormChanges(3, control.name, this.codFormStepThree.controls[control.name].valueChanges);\r\n });\r\n }\r\n\r\n getParameters() {\r\n this.parameterService.getCardTypes('col').subscribe((response) => {\r\n this.idTypes = response.data;\r\n });\r\n this.parameterService.getIndicatives().subscribe((response) => {\r\n this.indicatives = response.data;\r\n });\r\n }\r\n\r\n initForm() {\r\n this.codFormStepThree = this.fb.group({\r\n parent_id_card_type: ['', [Validators.required]],\r\n parent_id_card: ['',[Validators.required,Validators.minLength(5),Validators.maxLength(20),],],\r\n parent_last_name: ['',[Validators.required,Validators.minLength(5),Validators.maxLength(32),],],\r\n parent_name: ['',[Validators.required,Validators.minLength(3),Validators.maxLength(32)],],\r\n needAtendant: ['', [Validators.required], []],\r\n parent_phone_indicative: ['', [Validators.required], []],\r\n parent_occupation: ['', [Validators.required], []],\r\n parent_address: ['', [Validators.required], []],\r\n parent_phone_number: ['',[Validators.required,Validators.minLength(10),Validators.maxLength(15),],],\r\n })\r\n\r\n this.listenNeedAtendantField()\r\n }\r\n\r\n listenNeedAtendantField() {\r\n const control = this.codFormStepThree.get('needAtendant');\r\n control?.valueChanges.subscribe((change) => {\r\n if (change === '1') {\r\n // Poner validaciones\r\n this.codFormStepThree.controls['parent_id_card_type'].setValidators([Validators.required])\r\n this.codFormStepThree.controls['parent_id_card'].setValidators([Validators.required,Validators.minLength(5),Validators.maxLength(20)])\r\n this.codFormStepThree.controls['parent_last_name'].setValidators([Validators.required,Validators.minLength(5),Validators.maxLength(32)])\r\n this.codFormStepThree.controls['parent_name'].setValidators([Validators.required,Validators.minLength(3),Validators.maxLength(32)])\r\n this.codFormStepThree.controls['parent_phone_indicative'].setValidators([Validators.required])\r\n this.codFormStepThree.controls['parent_occupation'].setValidators([Validators.required])\r\n this.codFormStepThree.controls['parent_address'].setValidators([Validators.required])\r\n this.codFormStepThree.controls['parent_phone_number'].setValidators([Validators.required,Validators.minLength(10),Validators.maxLength(15)])\r\n\r\n // Actualizar para que se tomen los cambios\r\n this.updateValueAndValidity();\r\n\r\n // Actualizar los controls globales\r\n this.updateGlobalControls(change)\r\n }\r\n if (change === '2') {\r\n // Quitar las validaciones\r\n this.codFormStepThree.controls['parent_id_card_type'].clearValidators();\r\n this.codFormStepThree.controls['parent_id_card'].clearValidators();\r\n this.codFormStepThree.controls['parent_last_name'].clearValidators();\r\n this.codFormStepThree.controls['parent_name'].clearValidators();\r\n this.codFormStepThree.controls['parent_phone_indicative'].clearValidators();\r\n this.codFormStepThree.controls['parent_occupation'].clearValidators();\r\n this.codFormStepThree.controls['parent_address'].clearValidators();\r\n this.codFormStepThree.controls['parent_phone_number'].clearValidators();\r\n\r\n // Actualizar para que se tomen los cambios\r\n this.updateValueAndValidity();\r\n\r\n // Actualizar los controls globales\r\n this.updateGlobalControls(change)\r\n }\r\n });\r\n }\r\n\r\n updateGlobalControls(change: string) {\r\n let controls = this.controls.filter(control => control.name !== 'needAtendant');\r\n controls.forEach(control => {\r\n if (change === '1') this.codFormControls.changeValue(3, control.name, true)\r\n if (change === '2') this.codFormControls.changeValue(3, control.name, false)\r\n });\r\n }\r\n\r\n updateValueAndValidity() {\r\n this.codFormStepThree.controls['parent_id_card_type'].updateValueAndValidity();\r\n this.codFormStepThree.controls['parent_id_card'].updateValueAndValidity();\r\n this.codFormStepThree.controls['parent_last_name'].updateValueAndValidity();\r\n this.codFormStepThree.controls['parent_name'].updateValueAndValidity();\r\n this.codFormStepThree.controls['parent_phone_indicative'].updateValueAndValidity();\r\n this.codFormStepThree.controls['parent_occupation'].updateValueAndValidity();\r\n this.codFormStepThree.controls['parent_address'].updateValueAndValidity();\r\n this.codFormStepThree.controls['parent_phone_number'].updateValueAndValidity();\r\n }\r\n\r\n needAtendant(): boolean {\r\n return this.codFormStepThree.controls['needAtendant'].value == 1;\r\n }\r\n\r\n sendForm() {\r\n this.codFormStepThree.markAllAsTouched();\r\n if (this.codFormStepThree.controls['needAtendant'].value === '1' && this.codFormStepThree.invalid) return;\r\n\r\n // Movernos al paso 4\r\n this.changeStepEvent.emit(3);\r\n }\r\n\r\n // Eventos de los select\r\n selectNeedAtendant(needAtendant: any) {\r\n if (needAtendant !== 'Requiere acudiente') {\r\n this.codFormStepThree.controls['needAtendant'].setValue(needAtendant);\r\n } else {\r\n this.codFormStepThree.controls['needAtendant'].setValue(null);\r\n }\r\n }\r\n\r\n selectIdTypeParents(value: string) {\r\n if (value !== 'Tipo de documento') {\r\n this.codFormStepThree.controls['parent_id_card_type'].setValue(value);\r\n } else {\r\n this.codFormStepThree.controls['parent_id_card_type'].setValue(null);\r\n }\r\n }\r\n\r\n selectIndicativesParents(value: string) {\r\n if (value !== 'Indicativo') {\r\n this.codFormStepThree.controls['parent_phone_indicative'].setValue(value);\r\n } else {\r\n this.codFormStepThree.controls['parent_phone_indicative'].setValue(null);\r\n }\r\n }\r\n\r\n}\r\n","<form autocomplete=\"off\" [formGroup]=\"codFormStepThree\"class=\"grid\">\r\n <div class=\"col-12\">\r\n <ipt-select\r\n [initialValue]=\"codFormStepThree.controls['needAtendant'].value\"\r\n [control]=\"codFormStepThree.controls['needAtendant']\"\r\n (eventSelect)=\"selectNeedAtendant($event)\"\r\n [data]=\"needAtendants\"\r\n [defaultText]=\"'Requiere acudiente'\"\r\n ></ipt-select>\r\n </div>\r\n\r\n <div *ngIf=\"needAtendant()\" class=\"grid col-12\">\r\n <div class=\"col-12 md:col-6\">\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Nombres'\"\r\n [control]=\"codFormStepThree.controls['parent_name']\"\r\n ></ipt-input>\r\n <ipt-select\r\n [initialValue]=\"codFormStepThree.controls['parent_id_card_type'].value\"\r\n [data]=\"idTypes\"\r\n (eventSelect)=\"selectIdTypeParents($event)\"\r\n [defaultText]=\"'Tipo de documento'\"\r\n [control]=\"codFormStepThree.controls['parent_id_card_type']\"\r\n ></ipt-select>\r\n <ipt-select\r\n [initialValue]=\"codFormStepThree.controls['parent_phone_indicative'].value\"\r\n [data]=\"indicatives\"\r\n (eventSelect)=\"selectIndicativesParents($event)\"\r\n [defaultText]=\"'Indicativo'\"\r\n [control]=\"codFormStepThree.controls['parent_phone_indicative']\"\r\n ></ipt-select>\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Ocupación'\"\r\n [control]=\"codFormStepThree.controls['parent_occupation']\"\r\n ></ipt-input>\r\n </div>\r\n <div class=\"col-12 md:col-6\">\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Apellidos'\"\r\n [control]=\"codFormStepThree.controls['parent_last_name']\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'number'\"\r\n [placeHolder]=\"'Número de documento'\"\r\n [control]=\"codFormStepThree.controls['parent_id_card']\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'number'\"\r\n [placeHolder]=\"'Número de teléfono'\"\r\n [control]=\"codFormStepThree.controls['parent_phone_number']\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Dirección - Oficina'\"\r\n [control]=\"codFormStepThree.controls['parent_address']\"\r\n ></ipt-input>\r\n </div>\r\n </div>\r\n</form>\r\n\r\n<div class=\"flex mt-3 align-items-center gap-3\">\r\n <span *ngIf=\"(codFormStepThree.invalid && codFormStepThree.touched) && needAtendant()\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span>\r\n <button type=\"submit\" class=\"ml-auto p-button-sm\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\r\n</div>\r\n","import { Injectable } from '@angular/core';\r\nimport * as moment from 'moment';\r\nimport Swal from 'sweetalert2';\r\n\r\nexport interface CalculateQuotesParams {\r\n date: Date;\r\n quotaValues: number\r\n quotaTimes: any;\r\n totalPrice: any;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CalculateQuotesService {\r\n\r\n constructor() { }\r\n\r\n calculateQuotes(params: CalculateQuotesParams): any[] {\r\n let dataFinancing: any[] = [];\r\n\r\n let index = 1; // Indicador de cant. de cuotas\r\n\r\n let momentJs = moment(params.date).add('1', 'days');\r\n if (this.validateSunday(momentJs.toDate())) {\r\n Swal.fire({\r\n title: 'Fecha inválida',\r\n text: 'Debe seleccionar un día de la semana diferente al domingo',\r\n icon: 'error'\r\n })\r\n } else {\r\n let quota: any[] = [\r\n index,\r\n Intl.NumberFormat('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n minimumFractionDigits: 0\r\n }).format(Math.round(parseFloat(params.quotaValues.toString()))),\r\n momentJs.format('dddd') + ', ' + momentJs.format('MMMM DD YYYY')\r\n ];\r\n\r\n dataFinancing.push(quota);\r\n\r\n while (index < params.quotaTimes) {\r\n index = index + 1;\r\n\r\n const momentJs = moment(params.date).add(index - 1, 'M');\r\n if (this.validateSunday(momentJs.toDate())) {\r\n momentJs.add(1, 'days');\r\n Swal.fire({\r\n title: 'Querido asesor',\r\n text: 'Hemos ajustado las fechas para que no se asignen en Domingos',\r\n icon: 'info'\r\n })\r\n }\r\n\r\n let row: any[] = [\r\n index,\r\n Intl.NumberFormat('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n minimumFractionDigits: 0,\r\n }).format(Math.round(params.quotaValues)),\r\n momentJs.format('dddd') + ', ' + momentJs.format('MMMM DD YYYY'),\r\n ];\r\n\r\n dataFinancing.push(row);\r\n }\r\n\r\n }\r\n\r\n return dataFinancing;\r\n }\r\n\r\n\r\n validateSunday(date: Date): boolean {\r\n const momentJs = moment(date);\r\n\r\n if (momentJs.isoWeekday() === 7) {\r\n return true;\r\n } else {\r\n return false\r\n }\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport Swal from 'sweetalert2';\r\nimport { filter, map } from 'rxjs';\r\nimport { CodFormSteps, localStorageValues } from '../../logic/cod-form-steps';\r\nimport { CodFormControls } from '../../logic/cod-form-controls';\r\nimport { CalculateQuotesParams, CalculateQuotesService } from '../../logic/calculate-quotes.service';\r\nimport { CommunicatorService } from '../../logic/communicator.service';\r\nimport { CodPrices } from '../../../core/models/commercial/commercial.model';\r\nimport { ParameterService } from '../../../core/services/parameters-service/parameters.service';\r\nimport { CommercialService } from '../../../core/services/commercial-service/comercial.service';\r\n\r\ninterface CourseTypes {\r\n code: number;\r\n name: string;\r\n number_class: number;\r\n academic_plan: number;\r\n updated_at: string;\r\n created_at: string;\r\n}\r\n@Component({\r\n selector: 'app-cod-form-step-four',\r\n templateUrl: './cod-form-step-four.component.html',\r\n styleUrls: ['./cod-form-step-four.component.css'],\r\n})\r\nexport class CodFormStepFourComponent extends CodFormSteps implements OnInit {\r\n @Output() changeStepEvent = new EventEmitter<number>();\r\n @Output() financingData = new EventEmitter<any>();\r\n\r\n codFormStepFour!: FormGroup;\r\n isCalculateQuotesButtonClicked: boolean = false;\r\n errorMessage: string = 'Faltan campos por llenar.';\r\n paymentMethods: any[] = [\r\n { code: '1', name: 'Financiado' },\r\n { code: '2', name: 'Contado' },\r\n ];\r\n dataFinancing: any[] = [];\r\n isFinancing: boolean = false;\r\n isSemestral: boolean = false;\r\n codPrices: CodPrices[] = [];\r\n\r\n // Controls del formulario\r\n controls = new CodFormControls().controls[3];\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private calculateQuotesService: CalculateQuotesService,\r\n private communicatorService: CommunicatorService,\r\n private parameterService: ParameterService,\r\n private codFormControls: CodFormControls,\r\n private commercialService: CommercialService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.initForm();\r\n this.startLocalStorageWork();\r\n this.validateErrors();\r\n this.getCodPricesByAgreement();\r\n this.getValuesOfStepOneComponent();\r\n }\r\n\r\n getValuesOfStepOneComponent() {\r\n // Tipo de curso seleccionado\r\n this.communicatorService.getSelectedCourseType().subscribe(value => {\r\n this.parameterService.getCoursesTypes().pipe(\r\n map( (response: any) => {\r\n const courseTypes: CourseTypes[] = response.data;\r\n return courseTypes.filter( ({ name }) => name.includes('Semestral') )\r\n })\r\n )\r\n .subscribe( (courseTypes: CourseTypes[]) => {\r\n for (let i = 0; i < courseTypes.length; i++) {\r\n if (courseTypes[i].code.toString() === value) {\r\n this.isSemestral = true;\r\n break;\r\n } else {\r\n this.isSemestral = false;\r\n }\r\n }\r\n })\r\n });\r\n\r\n // Convenio seleccionado\r\n this.communicatorService.getSelectedAgreement().subscribe(value => {\r\n this.getCodPricesByAgreement(value);\r\n });\r\n\r\n }\r\n\r\n getCodPricesByAgreement(agreement?: string) {\r\n let agreementSelected: string | null;\r\n\r\n if (agreement) {\r\n agreementSelected = agreement;\r\n } else {\r\n agreementSelected = this.localStorageCOD.getCodFormData(1, 'agreement_by_category')\r\n }\r\n\r\n this.commercialService.getCodPricesByAgreement(Number(agreementSelected)).subscribe({\r\n next: (response: any) => {\r\n if (response.data) {\r\n const codPrices: CodPrices[] = response.data;\r\n this.codPrices = codPrices;\r\n if (this.codFormStepFour.controls['payment_method'].value === '2') {\r\n const aux = this.codPrices.filter(codPrice => codPrice.agreement === Number(agreementSelected))[0];\r\n this.codFormStepFour.controls['program_price'].setValue(aux.normal_price)\r\n }\r\n if (this.codFormStepFour.controls['payment_method'].value === '1') {\r\n const aux = this.codPrices.filter(codPrice => codPrice.agreement === Number(agreementSelected))[0];\r\n this.codFormStepFour.controls['quota_times'].setValue(aux.code)\r\n this.codFormStepFour.controls['program_price'].setValue(aux.normal_price)\r\n }\r\n }\r\n },\r\n error: (err) => console.log(err)\r\n })\r\n }\r\n\r\n validateErrors() {\r\n this.codFormStepFour.valueChanges.subscribe(changes => {\r\n if (this.codFormStepFour.controls['quota_times'].hasError('min')) {\r\n this.errorMessage = 'La cantidad de cuotas mínimas debe ser 1';\r\n } else if (this.codFormStepFour.controls['quota_times'].hasError('max')) {\r\n this.errorMessage = 'La cantidad de cuotas no debe ser superior a 12';\r\n }\r\n else {\r\n this.errorMessage = 'Faltan campos por llenar';\r\n }\r\n })\r\n }\r\n\r\n initForm() {\r\n this.codFormStepFour = this.fb.group({\r\n program_price: [{ value: '', disabled: true }, [Validators.required]],\r\n payment_date: ['', [Validators.required]],\r\n payment_method: ['', [Validators.required]],\r\n quota_times: ['', [Validators.required]],\r\n total_price: [{ value: '', disabled: true }, [Validators.required]],\r\n });\r\n\r\n this.listenPaymentMethodField()\r\n }\r\n\r\n listenPaymentMethodField() {\r\n const control = this.codFormStepFour.get('payment_method');\r\n control?.valueChanges.subscribe((change) => {\r\n // Financiado\r\n if (change === '1') {\r\n // Poner validaciones\r\n this.codFormStepFour.controls['program_price'].setValidators([Validators.required]);\r\n this.codFormStepFour.controls['payment_date'].setValidators([Validators.required]);\r\n this.codFormStepFour.controls['quota_times'].setValidators([Validators.required]);\r\n this.codFormStepFour.controls['total_price'].setValidators([Validators.required]);\r\n\r\n // Actualizar para que se tomen los cambios\r\n this.updateValueAndValidity();\r\n\r\n // Actualizar los controls globales\r\n this.updateGlobalControls(change)\r\n }\r\n\r\n // de contado\r\n if (change === '2') {\r\n // Quitar las validaciones\r\n this.codFormStepFour.controls['program_price'].setValidators([Validators.required]);\r\n this.codFormStepFour.controls['payment_date'].setValidators([Validators.required]);\r\n this.codFormStepFour.controls['quota_times'].clearValidators();\r\n this.codFormStepFour.controls['total_price'].setValidators([Validators.required]);\r\n\r\n // Actualizar para que se tomen los cambios\r\n this.updateValueAndValidity();\r\n\r\n // Actualizar los controls globales\r\n this.updateGlobalControls(change)\r\n }\r\n });\r\n }\r\n\r\n updateGlobalControls(change: string) {\r\n let controls = this.controls.filter(control => control.name !== 'payment_method');\r\n controls.forEach(control => {\r\n if (change === '1') this.codFormControls.changeValue(4, control.name, true)\r\n if (change === '2') {\r\n if (control.name === 'quota_times') this.codFormControls.changeValue(4, control.name, false);\r\n }\r\n });\r\n }\r\n\r\n updateValueAndValidity() {\r\n this.codFormStepFour.controls['program_price'].updateValueAndValidity();\r\n this.codFormStepFour.controls['payment_date'].updateValueAndValidity();\r\n this.codFormStepFour.controls['quota_times'].updateValueAndValidity();\r\n this.codFormStepFour.controls['total_price'].updateValueAndValidity();\r\n }\r\n\r\n startLocalStorageWork() {\r\n this.controls.forEach(control => {\r\n let localStorageValue: localStorageValues = this.readAndWriteLS(4, control.name);\r\n this.codFormStepFour.controls[control.name].setValue(localStorageValue.value);\r\n this.listenFormChanges(4, control.name, this.codFormStepFour.controls[control.name].valueChanges);\r\n });\r\n }\r\n\r\n showTable() {\r\n this.isCalculateQuotesButtonClicked = true;\r\n const total_price = this.codFormStepFour.controls['total_price'].value;\r\n\r\n if ((total_price === 'null') || this.codFormStepFour.invalid) {\r\n Swal.fire({\r\n title: 'Error',\r\n text: 'Debes ingresar el monto total de la matrícula y la cuota inicial',\r\n icon: 'error'\r\n })\r\n\r\n return;\r\n }\r\n\r\n // Calcular cuotas\r\n this.dataFinancing = [];\r\n const quotaValues = this.codPrices.filter(codPrice => codPrice.code === Number(this.codFormStepFour.controls['quota_times'].value))[0].quota_price;\r\n let params: CalculateQuotesParams = {\r\n date: new Date(this.codFormStepFour.controls['payment_date'].value),\r\n quotaValues,\r\n quotaTimes: this.codPrices.filter(codPrice => codPrice.code === Number(this.codFormStepFour.controls['quota_times'].value))[0].fee_number,\r\n totalPrice: this.codFormStepFour.controls['total_price'].value\r\n }\r\n this.dataFinancing = this.calculateQuotesService.calculateQuotes(params);\r\n this.isFinancing = true;\r\n this.financingData.emit(this.dataFinancing);\r\n }\r\n\r\n calculateNewQuotes() {\r\n this.isCalculateQuotesButtonClicked = false;\r\n this.isFinancing = false;\r\n this.financingData.emit(null);\r\n }\r\n\r\n sendForm() {\r\n this.codFormStepFour.markAllAsTouched();\r\n if (this.codFormStepFour.invalid) return;\r\n\r\n // Movernos al paso 5\r\n this.changeStepEvent.emit(4);\r\n }\r\n\r\n isFinanced(): boolean {\r\n return this.codFormStepFour.controls['payment_method'].value == 1;\r\n }\r\n\r\n // Eventos del select\r\n selectPaymentMethod(paymentMethod: any) {\r\n if (paymentMethod !== '') {\r\n this.codFormStepFour.controls['payment_method'].setValue(paymentMethod);\r\n this.getCodPricesByAgreement();\r\n } else {\r\n this.codFormStepFour.controls['payment_method'].setValue(null);\r\n }\r\n }\r\n\r\n selectQuotas(quotas: string) {\r\n if (quotas !== 'Número de cuotas') {\r\n const codPrice: CodPrices[] = this.codPrices.filter(codPrice => codPrice.code === Number(quotas));\r\n this.codFormStepFour.controls['quota_times'].setValue(codPrice[0].code);\r\n this.codFormStepFour.controls['total_price'].setValue(codPrice[0].enrollment);\r\n this.codFormStepFour.controls['program_price'].setValue(codPrice[0].financed_price);\r\n } else {\r\n this.codFormStepFour.controls['quota_times'].setValue(null);\r\n this.codFormStepFour.controls['total_price'].setValue(null);\r\n this.codFormStepFour.controls['program_price'].setValue(null);\r\n }\r\n }\r\n\r\n}\r\n\r\n","<div *ngIf=\"isSemestral\" class=\"m-1 p-2 border-round-lg bg-blue-500 text-white\">\r\n <strong>Nota: </strong>\r\n El tipo de curso seleccionado fue semestral, por lo tanto el estudiante debe pagar matrícula y primera cuota (M&M)\r\n</div>\r\n\r\n<form autocomplete=\"off\" [formGroup]=\"codFormStepFour\" class=\"grid mt-2\">\r\n\r\n <div class=\"col-12\">\r\n <ipt-select\r\n [initialValue]=\"codFormStepFour.controls['payment_method'].value\"\r\n [control]=\"codFormStepFour.controls['payment_method']\"\r\n (eventSelect)=\"selectPaymentMethod($event)\"\r\n [data]=\"paymentMethods\"\r\n [defaultText]=\"'Método de pago'\"\r\n ></ipt-select>\r\n <ipt-select *ngIf=\"isFinanced();\"\r\n [initialValue]=\"codFormStepFour.controls['quota_times'].value\"\r\n [control]=\"codFormStepFour.controls['quota_times']\"\r\n (eventSelect)=\"selectQuotas($event)\"\r\n [defaultText]=\"'Número de cuotas'\"\r\n [data]=\"codPrices\"\r\n [selectCode]=\"codFormStepFour.controls['quota_times'].value === null? 'Número de cuotas': codFormStepFour.controls['quota_times'].value\"\r\n ></ipt-select>\r\n </div>\r\n\r\n <div *ngIf=\"isFinanced();\" class=\"col-12\">\r\n <ipt-input *ngIf=\"isFinanced();\"\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Monto total de la matrícula'\"\r\n [control]=\"codFormStepFour.controls['total_price']\"\r\n [withPipe]=\"true\"\r\n ></ipt-input>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n <ipt-input\r\n [withPipe]=\"true\"\r\n [inputType]=\"'text'\"\r\n [control]=\"codFormStepFour.controls['program_price']\"\r\n [placeHolder]=\"'Valor total del programa'\"\r\n ></ipt-input>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n <ipt-input\r\n onfocus=\"(this.type='date')\"\r\n [inputType]=\"'date'\"\r\n [control]=\"codFormStepFour.controls['payment_date']\"\r\n [placeHolder]=\"'Fecha de pago'\"\r\n ></ipt-input>\r\n </div>\r\n\r\n <!-- Tabla de financiación -->\r\n <div class=\"col-12\" *ngIf=\"isFinancing\">\r\n <p-table\r\n [value]=\"dataFinancing\"\r\n [tableStyle]=\"{'min-width': '100%'}\"\r\n [rowHover]=\"true\"\r\n >\r\n <ng-template pTemplate=\"caption\">\r\n <div class=\"flex align-items-center\">\r\n Cálculo de cuotas\r\n <button pButton class=\"p-button-sm ml-auto\" label=\"Nuevo cálculo\" (click)=\"calculateNewQuotes()\" lab icon=\"pi pi-replay\"></button>\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"header\">\r\n <tr>\r\n <th>#</th>\r\n <th>Valor</th>\r\n <th>Fecha</th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-data>\r\n <tr>\r\n <td>{{ data[0] }}</td>\r\n <td>{{ data[1] }}</td>\r\n <td>{{ data[2] }}</td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </div>\r\n <!-- ---------------------- -->\r\n\r\n</form>\r\n\r\n<div class=\"flex mt-3 align-items-center gap-3\">\r\n <span *ngIf=\"codFormStepFour.invalid && codFormStepFour.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span>\r\n <div class=\"flex ml-auto gap-2\">\r\n <button *ngIf=\"codFormStepFour.controls['payment_method'].value === '1'\" [disabled]=\"isFinancing || codFormStepFour.controls['payment_method'].value !== '1'\"type=\"submit\" class=\"ml-auto p-button-sm p-button-secondary\" (click)=\"showTable()\" pButton label=\"Calcular cuotas\" icon=\"pi pi-sliders-h\"></button>\r\n <button [disabled]=\"!isFinancing && codFormStepFour.controls['payment_method'].value === '1'\" type=\"submit\" class=\"ml-auto p-button-sm\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\r\n </div>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { ParameterService } from '../../../core/services/parameters-service/parameters.service';\r\nimport Swal from 'sweetalert2';\r\nimport { CodFormControls } from '../../logic/cod-form-controls';\r\nimport { CodFormSteps, localStorageValues } from '../../logic/cod-form-steps';\r\n\r\n@Component({\r\n selector: 'app-cod-form-step-five',\r\n templateUrl: './cod-form-step-five.component.html',\r\n styleUrls: ['./cod-form-step-five.component.css']\r\n})\r\nexport class CodFormStepFiveComponent extends CodFormSteps implements OnInit {\r\n @Input() userRole!: number;\r\n @Output() changeStepEvent = new EventEmitter<number>();\r\n @Output() action = new EventEmitter<string>();\r\n\r\n codFormStepFive!: FormGroup;\r\n marketingReasons: any;\r\n studyReasons: any;\r\n errorMessage: string = 'Faltan campos por llenar.';\r\n sendFormMsg!: string;\r\n termsCheckboxStatus: boolean = false;\r\n multiculturalities: any;\r\n\r\n // Controls del formulario\r\n controls = new CodFormControls().controls[4];\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private parameterService: ParameterService,\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getParameters();\r\n this.initForm();\r\n this.startLocalStorageWork();\r\n\r\n this.codFormStepFive.controls['terms'].valueChanges.subscribe(changes => {\r\n this.termsCheckboxStatus = changes;\r\n if (!this.termsCheckboxStatus) this.errorMessage = 'Debe marcar la casilla de términos y condiciones.'\r\n })\r\n\r\n if (this.userRole === 30 || this.userRole === 31 || this.userRole === 32) this.sendFormMsg = 'Editar COD'; // Roles Administrativos\r\n if (this.userRole === 40 || this.userRole === 41 || this.userRole === 42) this.sendFormMsg = 'Crear COD'; // Roles comerciales\r\n }\r\n\r\n getParameters() {\r\n this.parameterService.getMarketingReasons().subscribe((response) => {\r\n this.marketingReasons = response.data;\r\n });\r\n this.parameterService.getStudyReasons().subscribe((response) => {\r\n this.studyReasons = response.data;\r\n });\r\n this.parameterService.getMulticulturalisms().subscribe((response) => {\r\n this.multiculturalities = response.data;\r\n });\r\n }\r\n\r\n initForm() {\r\n this.codFormStepFive = this.fb.group({\r\n marketing_reasons: ['', [Validators.required]],\r\n observation: [''],\r\n study_reasons: ['', [Validators.required]],\r\n terms: [false, [Validators.required]],\r\n disability: [''],\r\n multiculturalism_1: [false, []],\r\n multiculturalism_2: [false, []],\r\n multiculturalism_3: [false, []],\r\n multiculturalism_4: [false, []],\r\n multiculturalism_5: [false, []],\r\n multiculturalism_6: [false, []],\r\n multiculturalism_7: [false, []],\r\n health_regimen: ['', [Validators.required]],\r\n });\r\n\r\n this.codFormStepFive.controls['marketing_reasons'].valueChanges.subscribe(change => {\r\n if (change === '4') {\r\n this.errorMessage = 'Los datos de la persona que refirió al estudiante son requeridos en el campo \"Observaciones\".'\r\n Swal.fire({\r\n title: 'Información',\r\n text: 'Llene en el campo de observaciones los datos de la persona que lo refirió',\r\n icon: 'info'\r\n });\r\n this.codFormStepFive.controls['observation'].setValidators([Validators.required]);\r\n this.codFormStepFive.controls['observation'].updateValueAndValidity();\r\n } else {\r\n this.codFormStepFive.controls['observation'].clearValidators();\r\n this.codFormStepFive.controls['observation'].updateValueAndValidity();\r\n }\r\n })\r\n }\r\n\r\n startLocalStorageWork() {\r\n this.controls.forEach(control => {\r\n let localStorageValue: localStorageValues = this.readAndWriteLS(5, control.name);\r\n\r\n // Solución al bug del checkbox\r\n if (localStorageValue.control === 'terms') {\r\n let nextValue: boolean = localStorageValue.value === 'true' ? true : false;\r\n this.codFormStepFive.controls['terms'].setValue(nextValue);\r\n this.termsCheckboxStatus = nextValue;\r\n }\r\n // -------------------------- //\r\n\r\n this.codFormStepFive.controls[control.name].setValue(localStorageValue.value);\r\n this.listenFormChanges(5, control.name, this.codFormStepFive.controls[control.name].valueChanges);\r\n });\r\n\r\n this.controls.filter(control => control.description === 'Multiculturalismo').forEach(control => {\r\n let localStorageValue: localStorageValues = this.readAndWriteLS(5, control.name);\r\n let nextValue: boolean = localStorageValue.value === 'true' ? true : false;\r\n this.codFormStepFive.controls[control.name].setValue(nextValue);\r\n })\r\n }\r\n\r\n getCheckboxControl(): FormControl {\r\n return this.codFormStepFive.controls['terms'] as FormControl;\r\n }\r\n\r\n sendForm() {\r\n this.codFormStepFive.markAllAsTouched();\r\n if (this.codFormStepFive.invalid || this.termsCheckboxStatus === false) return;\r\n\r\n if (this.userRole === 30 || this.userRole === 31 || this.userRole === 32) this.action.emit('update');\r\n if (this.userRole === 40 || this.userRole === 41 || this.userRole === 42) this.action.emit('create');\r\n\r\n }\r\n\r\n // Eventos del select\r\n selectMarketingReasons(marketingReasons: any) {\r\n if (marketingReasons !== '¿Cómo se enteró del programa?') {\r\n this.codFormStepFive.controls['marketing_reasons'].setValue(marketingReasons);\r\n } else {\r\n this.codFormStepFive.controls['marketing_reasons'].setValue(null);\r\n }\r\n }\r\n\r\n selectStudyReasons(studyReasons: any) {\r\n if (studyReasons !== 'Motivo') {\r\n this.codFormStepFive.controls['study_reasons'].setValue(studyReasons);\r\n } else {\r\n this.codFormStepFive.controls['study_reasons'].setValue(null);\r\n }\r\n }\r\n\r\n\r\n}\r\n","<form autocomplete=\"off\" [formGroup]=\"codFormStepFive\" class=\"grid\">\r\n <div class=\"col-12 md:col-6\">\r\n <ipt-select\r\n [control]=\"codFormStepFive.controls['marketing_reasons']\"\r\n [initialValue]=\"codFormStepFive.controls['marketing_reasons'].value\"\r\n (eventSelect)=\"selectMarketingReasons($event)\"\r\n [data]=\"marketingReasons\"\r\n [defaultText]=\"'¿Cómo se enteró del programa?'\"\r\n ></ipt-select>\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Discapacidad'\"\r\n [control]=\"codFormStepFive.controls['disability']\"\r\n ></ipt-input>\r\n </div>\r\n <div class=\"col-12 md:col-6\">\r\n <ipt-select\r\n [control]=\"codFormStepFive.controls['study_reasons']\"\r\n [initialValue]=\"codFormStepFive.controls['study_reasons'].value\"\r\n (eventSelect)=\"selectStudyReasons($event)\"\r\n [data]=\"studyReasons\"\r\n [defaultText]=\"'Motivo'\"\r\n ></ipt-select>\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Régimen de salud'\"\r\n [control]=\"codFormStepFive.controls['health_regimen']\"\r\n ></ipt-input>\r\n </div>\r\n <div class=\"col-12 mt-4\">\r\n <span class=\"p-float-label\">\r\n <textarea\r\n id=\"float-input\"\r\n rows=\"4\"\r\n cols=\"30\"\r\n pInputTextarea\r\n formControlName=\"observation\"\r\n ></textarea>\r\n <label for=\"float-input\">Observaciones</label>\r\n </span>\r\n <div class=\"flex flex-wrap justify-content-between gap-2\">\r\n <div *ngFor=\"let option of multiculturalities; index as i\" class=\"field-checkbox mt-4 flex align-items-center\">\r\n <mat-checkbox [formControlName]=\"'multiculturalism' + '_' + (i+1)\" class=\"example-margin\"></mat-checkbox>\r\n <label [for]=\"option.code\">{{ option.name }}</label>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 p-4 font-bold\">\r\n <p>\r\n * El estudiante o titular se comprometen a cancelar las cuotas establecidas en este contrato, los\r\n primeros 5 (cinco) días del mes. En caso de querer retirarse, deberá informar por escrito 30\r\n (treinta) días antes y cancelar lo correspondiente hasta la fecha definida de retiro, para poder\r\n obtener su paz y salvo.\r\n </p>\r\n <br><br>\r\n <div class=\"flex gap-2\">\r\n <mat-checkbox formControlName=\"terms\" class=\"example-margin\"></mat-checkbox>\r\n <!-- <p-checkbox [formControl]=\"getCheckboxControl()\"></p-checkbox> -->\r\n <!-- <ipt-checkbox [control]=\"codFormStepFive.controls['terms']\" [checkboxOption]=\"termsCheckboxStatus\"></ipt-checkbox> -->\r\n <p>\r\n DECLARO HABER LEÍDO Y ACEPTO LOS TÉRMINOS Y CONDICIONES DE LAS POLÍTICAS ESTABLECIDAS EN LA\r\n INSTITUCIÓN.\r\n </p>\r\n </div>\r\n </div>\r\n</form>\r\n\r\n<div class=\"flex mt-3 align-items-center gap-3\">\r\n <span *ngIf=\"(codFormStepFive.invalid && codFormStepFive.touched) || (!termsCheckboxStatus && codFormStepFive.touched)\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span>\r\n <button type=\"submit\" class=\"ml-auto p-button-success p-button-sm\" (click)=\"sendForm()\" pButton [label]=\"sendFormMsg\" icon=\"pi pi-check\"></button>\r\n</div>\r\n\r\n","import { Component, Input, OnChanges, SimpleChanges } from '@angular/core';\r\nimport * as moment from 'moment';\r\nimport { Subscription } from 'rxjs';\r\nimport Swal from 'sweetalert2';\r\nimport { CreateCODRq } from '../../core/models/cod/cod-rq.model';\r\nimport { CommercialService } from '../../core/services/commercial-service/comercial.service';\r\nimport { BaseService } from '../../core/utils/base-service/base.service';\r\nimport { CodFormControls, Control } from '../logic/cod-form-controls';\r\nimport { LocalStorageCODService } from '../logic/local-storage-cod.service';\r\n\r\n@Component({\r\n selector: 'ipt-cod-form',\r\n templateUrl: './cod-form.component.html',\r\n styleUrls: []\r\n})\r\nexport class CodFormComponent implements OnChanges {\r\n\r\n @Input() dataFromPreviusCodData?: any;\r\n @Input() codCode?: number;\r\n\r\n subscription?: Subscription;\r\n\r\n private allowedRoles: number[] = [\r\n 30, 31, 32, 40, 41, 42,\r\n ];\r\n\r\n public currentStep: number = 0;\r\n public formTitle: string = 'Formulario para creación del COD';\r\n public userRole: number;\r\n public formSteps: number = 5;\r\n public financingData?: any[];\r\n public isLoading: boolean = false;\r\n public loaderMessage: string = '';\r\n\r\n constructor(\r\n private baseService: BaseService,\r\n private localStorageCOD: LocalStorageCODService,\r\n private codFormControls: CodFormControls,\r\n private commercialService: CommercialService\r\n ) {\r\n this.userRole = this.baseService.getUserRole();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['codCode']) {\r\n this.formTitle = 'Formulario para verificar información del COD';\r\n this.getCodbyCode();\r\n } else {\r\n this.formTitle = 'Formulario para creación del COD';\r\n }\r\n }\r\n\r\n allowedRole(): boolean {\r\n return this.allowedRoles.includes(this.userRole);\r\n }\r\n\r\n getCodbyCode() {\r\n // TODO: Traer COD por código y pintarlo\r\n console.log(this.codCode);\r\n }\r\n\r\n saveFinancingData(data: any[]) {\r\n if (data) {\r\n const dates: string[] = [];\r\n data.forEach(p => {\r\n const date = p[2].split(',')[1];\r\n const formattedDate = new Date(date);\r\n const momentDate = moment(formattedDate).format().split('T')[0];\r\n dates.push(momentDate);\r\n })\r\n this.financingData = dates;\r\n }\r\n }\r\n\r\n getFormAction(action: string) {\r\n if (!this.financingData && this.localStorageCOD.getCodFormData(4, 'payment_method') === '1') {\r\n Swal.fire({\r\n title: 'Querido asesor',\r\n text: 'Debe hacer el cálculo de las cuotas en el paso 4',\r\n icon: 'error'\r\n })\r\n return;\r\n }\r\n const totalData: any[] = [];\r\n\r\n this.subscription = this.codFormControls.getControlValues().subscribe((controls) => {\r\n for (let i = 1; i <= this.formSteps; i++) {\r\n let controlsByStep: Control[] = controls[i-1];\r\n controlsByStep.forEach(control => {\r\n let value = this.localStorageCOD.getCodFormData(i, control.name);\r\n // Cambiar True/False del multiculturalismo 1/0\r\n if (value === 'false' && control.description === 'Multiculturalismo') {\r\n totalData.push({\r\n control: control.name,\r\n isRequired: control.required,\r\n value: '0',\r\n description: control.description\r\n })\r\n } else if (value === 'false' && control.description === 'Multiculturalismo') {\r\n totalData.push({\r\n control: control.name,\r\n isRequired: control.required,\r\n value: '1',\r\n description: control.description\r\n })\r\n } else {\r\n totalData.push({\r\n control: control.name,\r\n isRequired: control.required,\r\n value,\r\n description: control.description\r\n })\r\n }\r\n });\r\n }\r\n\r\n // Validar errores\r\n for (let i = 0; i < totalData.length; i++) {\r\n const element = totalData[i];\r\n if (!element.value && element.isRequired) {\r\n Swal.fire({\r\n title: 'Error',\r\n text: `Revisar el campo: \"${element.description}\"`,\r\n icon: 'error'\r\n });\r\n break;\r\n }\r\n }\r\n\r\n if (action === 'create') this.createCOD(totalData);\r\n if (action === 'update') this.updateCOD(totalData);\r\n })\r\n\r\n this.subscription.unsubscribe();\r\n\r\n }\r\n\r\n updateCOD(totalData: any[]) {\r\n console.log('actualizando COD...');\r\n }\r\n\r\n createCOD(totalData: any[]) {\r\n this.isLoading = true;\r\n this.loaderMessage = 'Creando COD, espere un momento'\r\n\r\n let request: CreateCODRq = this.getCreateCODRq(totalData);\r\n this.commercialService.createCOD(request).subscribe({\r\n next: (response: any) => {\r\n console.log(response);\r\n if (response.message.code === 1) {\r\n this.isLoading = false;\r\n this.loaderMessage = '';\r\n Swal.fire({\r\n title: 'Perfecto!',\r\n text: 'El COD ha sido creado exitosamente.',\r\n icon: 'success'\r\n })\r\n }\r\n },\r\n error: (err: any) => {\r\n console.log(err);\r\n this.isLoading = false;\r\n this.loaderMessage = '';\r\n Swal.fire({\r\n title: 'Error',\r\n text: err.error.text,\r\n icon: 'error'\r\n })\r\n }\r\n })\r\n }\r\n\r\n getCreateCODRq(data: any[]): CreateCODRq {\r\n let request: CreateCODRq = {\r\n token: this.baseService.getUserToken(),\r\n academic_plan: data.filter(data => data.control === 'academic_plan')[0].value,\r\n course_type: data.filter(data => data.control === 'course_type')[0].value,\r\n agreement_by_category: data.filter(data => data.control === 'agreement_by_category')[0].value,\r\n english_level: data.filter(data => data.control === 'english_level')[0].value,\r\n availible_courses: data.filter(data => data.control === 'availible_courses')[0].value,\r\n student_address: data.filter(data => data.control === 'student_address')[0].value,\r\n birthdate: data.filter(data => data.control === 'birthdate')[0].value,\r\n country: data.filter(data => data.control === 'country')[0].value,\r\n state: data.filter(data => data.control === 'state')[0].value,\r\n city: data.filter(data => data.control === 'city')[0].value,\r\n student_id_card_type: data.filter(data => data.control === 'student_id_card_type')[0].value,\r\n student_id_card: data.filter(data => data.control === 'student_id_card')[0].value,\r\n student_last_name: data.filter(data => data.control === 'student_last_name')[0].value,\r\n student_name: data.filter(data => data.control === 'student_name')[0].value,\r\n student_email: data.filter(data => data.control === 'student_email')[0].value,\r\n nickname: data.filter(data => data.control === 'nickname')[0].value,\r\n gender: data.filter(data => data.control === 'gender')[0].value,\r\n age: data.filter(data => data.control === 'age')[0].value,\r\n student_occupation: data.filter(data => data.control === 'student_occupation')[0].value,\r\n stratum: data.filter(data => data.control === 'stratum')[0].value,\r\n grade: data.filter(data => data.control === 'grade')[0].value,\r\n civil_status: data.filter(data => data.control === 'civil_status')[0].value,\r\n student_phone_indicative: data.filter(data => data.control === 'student_phone_indicative')[0].value,\r\n student_phone_number: data.filter(data => data.control === 'student_phone_number')[0].value,\r\n password: data.filter(data => data.control === 'password')[0].value,\r\n re_password: data.filter(data => data.control === 're_password')[0].value,\r\n parent_id_card_type: data.filter(data => data.control === 'parent_id_card_type')[0].value,\r\n parent_id_card: data.filter(data => data.control === 'parent_id_card')[0].value,\r\n parent_last_name: data.filter(data => data.control === 'parent_last_name')[0].value,\r\n parent_name: data.filter(data => data.control === 'parent_name')[0].value,\r\n needAtendant: data.filter(data => data.control === 'needAtendant')[0].value,\r\n parent_phone_indicative: data.filter(data => data.control === 'parent_phone_indicative')[0].value,\r\n parent_occupation: data.filter(data => data.control === 'parent_occupation')[0].value,\r\n parent_address: data.filter(data => data.control === 'parent_address')[0].value,\r\n parent_phone_number: data.filter(data => data.control === 'parent_phone_number')[0].value,\r\n payment_date: data.filter(data => data.control === 'payment_date')[0].value,\r\n program_price: data.filter(data => data.control === 'program_price')[0].value,\r\n payment_method: data.filter(data => data.control === 'payment_method')[0].value,\r\n quota_times: data.filter(data => data.control === 'quota_times')[0].value,\r\n total_price: data.filter(data => data.control === 'total_price')[0].value,\r\n marketing_reasons: data.filter(data => data.control === 'marketing_reasons')[0].value,\r\n observation: data.filter(data => data.control === 'observation')[0].value,\r\n study_reasons: data.filter(data => data.control === 'study_reasons')[0].value,\r\n terms: data.filter(data => data.control === 'terms')[0].value,\r\n disability: data.filter(data => data.control === 'disability')[0].value,\r\n multiculturalism_1: data.filter(data => data.control === 'multiculturalism_1')[0].value,\r\n multiculturalism_2: data.filter(data => data.control === 'multiculturalism_2')[0].value,\r\n multiculturalism_3: data.filter(data => data.control === 'multiculturalism_3')[0].value,\r\n multiculturalism_4: data.filter(data => data.control === 'multiculturalism_4')[0].value,\r\n multiculturalism_5: data.filter(data => data.control === 'multiculturalism_5')[0].value,\r\n multiculturalism_6: data.filter(data => data.control === 'multiculturalism_6')[0].value,\r\n health_regimen: data.filter(data => data.control === 'health_regimen')[0].value,\r\n payment_dates: this.financingData!\r\n }\r\n\r\n return request;\r\n }\r\n\r\n changeStep(step: number) {\r\n this.currentStep = step;\r\n }\r\n\r\n}\r\n","<div *ngIf=\"allowedRole() ; else Unauthorized\" class=\"container flex flex-column bg-white border-round-2xl p-3 container animate__animated animate__fadeInUp\">\r\n\r\n <span class=\"bg-primary p-2 border-round mb-2 w-auto text-lg font-semibold\">{{ formTitle }}</span>\r\n\r\n <p-tabView [activeIndex]=\"currentStep\" (activeIndexChange)=\"currentStep = $event\" [scrollable]=\"true\">\r\n <p-tabPanel leftIcon=\"pi pi-star\" header=\"1. Planes y convenios\">\r\n <app-cod-form-step-one (changeStepEvent)=\"changeStep($event)\" class=\"p-1\"></app-cod-form-step-one>\r\n </p-tabPanel>\r\n <p-tabPanel leftIcon=\"pi pi-id-card\" header=\"2. Datos del estudiante\">\r\n <app-cod-form-step-two [initialData]=\"dataFromPreviusCodData\" (changeStepEvent)=\"changeStep($event)\" class=\"p-1\"></app-cod-form-step-two>\r\n </p-tabPanel>\r\n <p-tabPanel leftIcon=\"pi pi-user-edit\" header=\"3. Datos del acudiente\">\r\n <app-cod-form-step-three (changeStepEvent)=\"changeStep($event)\" class=\"p-1\"></app-cod-form-step-three>\r\n </p-tabPanel>\r\n <p-tabPanel leftIcon=\"pi pi-money-bill\" header=\"4. Valores\">\r\n <app-cod-form-step-four (changeStepEvent)=\"changeStep($event)\" (financingData)=\"saveFinancingData($event)\" class=\"p-1\"></app-cod-form-step-four>\r\n </p-tabPanel>\r\n <p-tabPanel leftIcon=\"pi pi-eye\" header=\"5. Observaciones\">\r\n <app-cod-form-step-five [userRole]=\"userRole\" (changeStepEvent)=\"changeStep($event)\" (action)=\"getFormAction($event)\" class=\"p-1\"></app-cod-form-step-five>\r\n </p-tabPanel>\r\n </p-tabView>\r\n\r\n \r\n</div>\r\n\r\n<ng-template #Unauthorized>\r\n <span class=\"flex justify-content-center font-bold p-2 bg-yellow-200 border-round-lg w-full\">\r\n No tienes los permisos para acceder a esta funcionalidad, comunícate con el desarrollador.\r\n </span>\r\n</ng-template>\r\n\r\n\r\n<ipt-loader *ngIf=\"isLoading\" [isDialog]=\"true\" [message]=\"loaderMessage\"></ipt-loader>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { MessageService } from 'primeng/api';\r\nimport { TabViewModule } from 'primeng/tabview';\r\nimport { ComponentsModule } from '../components/components.module';\r\nimport { CodDocumentsSectionComponent } from './cod-documents-section/cod-documents-section.component';\r\n\r\nimport { CodFormComponent } from './cod-form/cod-form.component';\r\nimport { CodFormStepFiveComponent } from './steps/cod-form-step-five/cod-form-step-five.component';\r\nimport { CodFormStepFourComponent } from './steps/cod-form-step-four/cod-form-step-four.component';\r\nimport { CodFormStepOneComponent } from './steps/cod-form-step-one/cod-form-step-one.component';\r\nimport { CodFormStepThreeComponent } from './steps/cod-form-step-three/cod-form-step-three.component';\r\nimport { CodFormStepTwoComponent } from './steps/cod-form-step-two/cod-form-step-two.component';\r\n\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { TableModule } from 'primeng/table';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { InputTextareaModule } from 'primeng/inputtextarea';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n TabViewModule,\r\n ComponentsModule,\r\n MatCheckboxModule,\r\n ReactiveFormsModule,\r\n TableModule,\r\n ButtonModule,\r\n InputTextareaModule\r\n ],\r\n exports: [\r\n CodFormComponent,\r\n CodDocumentsSectionComponent,\r\n CodFormStepOneComponent,\r\n CodFormStepTwoComponent,\r\n CodFormStepThreeComponent,\r\n CodFormStepFourComponent,\r\n CodFormStepFiveComponent\r\n ],\r\n declarations: [\r\n CodFormComponent,\r\n CodDocumentsSectionComponent,\r\n CodFormStepOneComponent,\r\n CodFormStepTwoComponent,\r\n CodFormStepThreeComponent,\r\n CodFormStepFourComponent,\r\n CodFormStepFiveComponent\r\n ],\r\n providers: [\r\n MessageService\r\n ],\r\n})\r\nexport class CodModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';\r\n@Injectable()\r\nexport class RedirectGuard implements CanActivate {\r\n constructor(private router: Router) {}\r\n\r\n canActivate( route: ActivatedRouteSnapshot, state: RouterStateSnapshot ): boolean {\r\n window.location.href = route.data['externalUrl'];\r\n return true;\r\n }\r\n}\r\n","import { EventEmitter, Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SwitchService {\r\n\r\n constructor() { }\r\n\r\n $modal = new EventEmitter<any>();\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport {\r\n CopyExamRq,\r\n CreateAnswerRq,\r\n CreateQuestionRq,\r\n CreateSectionRq,\r\n CreateSectionWithAllRq,\r\n Exam,\r\n GetAllExamsRq,\r\n GetAllSectionsRq,\r\n GetQuestionsBySectionRq,\r\n getQuestionsBySectionsRq,\r\n UpdateAnswerRq,\r\n UpdateExamRq,\r\n UpdateExamStatusRq,\r\n UpdateQuestionRq,\r\n UpdateQuestionStateRq,\r\n UpdateSectionMediaRq,\r\n UpdateSectionRq,\r\n UpdateSectionStateRq,\r\n} from '../../models/test/test.model';\r\nimport { IPTGeneralService } from '../service-enviroments';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TestService extends IPTGeneralService{\r\n private SERVICE_URL = 'test/api/';\r\n\r\n constructor(private http: HttpClient) {\r\n super();\r\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\r\n }\r\n\r\n // ---------------------- EXÁMENES ---------------------- //\r\n createExam(exam: Exam): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/exam';\r\n this.generateRequestParams(exam);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getAllExams(params: GetAllExamsRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/all/exam';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n updateExam(params: UpdateExamRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'update/exam';\r\n this.generateRequestParams(params);\r\n return this.http.put(serviceUrl, this.httpOptions);\r\n }\r\n\r\n updateExamStatus(params: UpdateExamStatusRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'update/exam/status';\r\n this.generateRequestParams(params);\r\n return this.http.put(serviceUrl, this.httpOptions);\r\n }\r\n\r\n copyExam(params: CopyExamRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'copy/exam';\r\n this.generateRequestParams(params);\r\n return this.http.put(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getExamByCode(code: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/exam/by/code/' + code;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getExamByAuthor(code: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/exams/by/author/' + code;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n // ---------------------- SECCIONES ---------------------- //\r\n createSectionWithAll(params: CreateSectionWithAllRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/section/with/all';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n createSection(params: CreateSectionRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/section';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getAllSections(params: GetAllSectionsRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/all/sections';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n updateSection(params: UpdateSectionRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'update/section';\r\n this.generateRequestParams(params);\r\n return this.http.put(serviceUrl, this.httpOptions);\r\n }\r\n\r\n updateSectionMedia(params: UpdateSectionMediaRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/section/media';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n updateSectionState(params: UpdateSectionStateRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'update/section/state';\r\n this.generateRequestParams(params);\r\n return this.http.put(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getSectionsByExam(code: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/sections/by/exam/' + code;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n // ---------------------- PREGUNTAS ---------------------- //\r\n createQuestion(params: CreateQuestionRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/question';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n updateQuestion(params: UpdateQuestionRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'update/question';\r\n this.generateRequestParams(params);\r\n return this.http.put(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getQuestionsBySections(params: getQuestionsBySectionsRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/questions/by/sections';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getQuestionsBySection(params: GetQuestionsBySectionRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/questions/by/section';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n // ---------------------- RESPUESTAS ---------------------- //\r\n createAnswer(params: CreateAnswerRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/answer';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n updateAnswer(params: UpdateAnswerRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'update/answer';\r\n this.generateRequestParams(params);\r\n return this.http.put(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getAnswersByQuestion(code: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/answers/by/question/' + code;\r\n return this.http.get(serviceUrl, this.httpOptions);\r\n }\r\n\r\n updateQuestionState(params: UpdateQuestionStateRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'update/question/state';\r\n this.generateRequestParams(params);\r\n return this.http.put(serviceUrl, this.httpOptions);\r\n }\r\n\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { getStrategyByUserCommercialRq, CreateObservationsRq } from '../../models/marketing/marketing.model';\r\nimport { IPTGeneralService } from '../service-enviroments';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class MarketingService extends IPTGeneralService{\r\n\r\n private SERVICE_URL = 'commercial/api/';\r\n\r\n constructor(private http: HttpClient) {\r\n super();\r\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\r\n }\r\n\r\n getStrategyByUserCommercial(user: getStrategyByUserCommercialRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/contact/strategy/byaviser';\r\n this.generateRequestParams(user);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getObservationsContact(codeContact: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/contact/observation/strategy/bycode/' + codeContact;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n createObservations(params: CreateObservationsRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/contact/observation/create';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getUserStatistics(userToken: getStrategyByUserCommercialRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/contact/strategy/statistics';\r\n this.generateRequestParams(userToken);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getTopAdviser(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/contact/strategy/topadviser';\r\n return this.http.get(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getMovementStatus(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/contact/strategy/movements/status';\r\n return this.http.get(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getgroupSignupStatus(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/contact/strategy/group/signup';\r\n return this.http.get(serviceUrl, this.httpOptions);\r\n }\r\n\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { getdiscountAllRq, DiscountRq, DiscountUpdateRq } from '../../models/budget/budget.model';\r\nimport { PaymentBillRq } from '../../models/payment/payment-rq.model';\r\nimport { IPTGeneralService } from '../service-enviroments';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BudgetService extends IPTGeneralService{\r\n\r\n private SERVICE_URL = 'budget/api/';\r\n\r\n constructor(private http: HttpClient) {\r\n super();\r\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\r\n }\r\n\r\n getAllDiscount(user: getdiscountAllRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/discounts/coupon/all';\r\n this.generateRequestParams(user);\r\n return this.http.post(serviceUrl,this.httpOptions);\r\n }\r\n createDiscount(params: DiscountRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/discount/coupon/create';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n updateDiscount(params: DiscountUpdateRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/discount/coupon/update';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getPaymentStudentsByCode(codeStudent: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/payment/cod/student/by/code/' + codeStudent;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getPaymentWalletByCampus(codeCampus: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/payment/wallet/by/campus/' + codeCampus;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n paymentBillDues(params: PaymentBillRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/payment/bill/register/dues';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n paymentBillServices(params: PaymentBillRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/payment/bill/register/services';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getPaymentBillAll(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/payment/bill/canceled/all';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getPaymentBillByCode(codePayment: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/payment/bill/canceled/by/code/' + codePayment;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getPaymentBillByStudent(codeStudent: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/payment/bill/canceled/by/student/' + codeStudent;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { ClassroomByIdCalendarRq, ClassroomModalityRq } from '../../models/classroom/classroom-rq.model';\r\n\r\nimport { IPTGeneralService } from '../service-enviroments';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ClassroomService extends IPTGeneralService{\r\n private SERVICE_URL = 'academic/api/';\r\n\r\n constructor(private http: HttpClient) {\r\n super();\r\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\r\n }\r\n\r\n getClassroomsByModality(params: ClassroomModalityRq): Observable<Response> {\r\n let serviceUrl = this.SERVICE_URL + 'post/classroom/by/modality';\r\n this.generateRequestParams(params);\r\n return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getClassroomByIdCalendar(params: ClassroomByIdCalendarRq): Observable<Response> {\r\n let serviceUrl = this.SERVICE_URL + 'post/classroom/by/idcalendar';\r\n this.generateRequestParams(params);\r\n return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { IPTGeneralService } from '../service-enviroments';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ActivityService extends IPTGeneralService{\r\n private SERVICE_URL = 'academic/api/';\r\n\r\n constructor(private http: HttpClient) {\r\n super();\r\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\r\n }\r\n\r\n getActivityByCourse(params: any): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/activities/by/course/code';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getNoticesByCourse(codeCourse: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/notices/by/course/code/' + codeCourse;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getUnitsByActivity(params: any): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/units/by/activity/code';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getElementsByUnit(params: any): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/element/by/unit/code';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getCourseTeacherByToken(params: any): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/course/teacher/by/token';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getAllTypeResource(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/all/type/resource/template';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getAllTypeElement(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/all/type/element/template';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getElementsByUnitNew(params: any): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/element/by/unit/code/new';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n updateCourseByCronogram(params: any): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/update/course/by/code';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getTemplateCourseByCourse(codeCourse: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/template/course/by/course/code/' + codeCourse;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n saveMagnageActivity(params: any): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/manage/activities/by/course/element';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n postNotesActivityH5P(params: any): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/activity/h5p/notes';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getMagnageActivity(params: any): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/template/admin/by/course/element';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getNoteActivityH5P(params: any): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/note/activity/h5p';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { IPTGeneralService } from '../service-enviroments';\r\nimport { GetCourseByTypeRq, GetStudentByCourse, GetLastStudentCodRq } from '../../models/academic/academic.component';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AcademicService extends IPTGeneralService{\r\n private SERVICE_URL = 'academic/api/';\r\n\r\n constructor(private http: HttpClient) {\r\n super();\r\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\r\n }\r\n\r\n getCourseByType(params: GetCourseByTypeRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/course/by/type';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n getStudentByCourse(params: GetStudentByCourse): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/course/students';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n obtainLastStudentCod(params: GetLastStudentCodRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/obtain/last/student/cod/by/student';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getCodGenDataStudent(codeStudent: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/general/data/student/by/code/' + codeStudent;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Response } from '../../models/response/response.interface';\r\nimport { Observable } from 'rxjs';\r\nimport { AddEventByCourseRq, CourseAttendance, GetEventByCodeRq, GetEventsByCourseCodeRq, GetNotAttendancesByCodRq, RegisterNewAttendanceByEventRq } from '../../models/attendance/attendance.interface';\r\nimport { IPTGeneralService } from '../service-enviroments';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AttendanceService extends IPTGeneralService{\r\n private SERVICE_URL = 'academic/api/';\r\n\r\n constructor(private http: HttpClient) {\r\n super();\r\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\r\n }\r\n\r\n addEventByCourseRq(params: AddEventByCourseRq): Observable<Response> {\r\n let serviceUrl = `${this.SERVICE_URL}post/event/by/course`;\r\n this.generateRequestParams(params);\r\n return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getEventsByCourseCode(params: GetEventsByCourseCodeRq): Observable<Response> {\r\n let serviceUrl = `${this.SERVICE_URL}post/obtain/events/by/course_code`;\r\n this.generateRequestParams(params);\r\n return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getEventByCode(params: GetEventByCodeRq): Observable<Response> {\r\n let serviceUrl = `${this.SERVICE_URL}post/obtain/event/by/code`;\r\n this.generateRequestParams(params);\r\n return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n }\r\n\r\n registerNewAttendanceByEvent(params: RegisterNewAttendanceByEventRq): Observable<Response> {\r\n let serviceUrl = `${this.SERVICE_URL}register/attendance/by/event`;\r\n this.generateRequestParams(params);\r\n return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getAttendaceByCourse(courseCode: number): Observable<CourseAttendance> {\r\n let serviceUrl = `${this.SERVICE_URL}post/obtain/attendances/by/course/${courseCode}`;\r\n return this.http.get<CourseAttendance>(serviceUrl);\r\n }\r\n\r\n getCODCodeByStudentCode(studentCode: number) {\r\n let serviceUrl = `${this.SERVICE_URL}get/cod_code/by/student_code/${studentCode}`;\r\n return this.http.get<any>(serviceUrl);\r\n }\r\n\r\n getAttendanceHistoryByStudent(token: string, cod_code: number): Observable<Response> {\r\n let serviceUrl = `${this.SERVICE_URL}post/obtain/attendance/history/by/student`;\r\n this.generateRequestParams({token, cod_code});\r\n return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getAllNotAttendancesByCod(params: GetNotAttendancesByCodRq): Observable<Response> {\r\n let serviceUrl = `${this.SERVICE_URL}get/all/not/attendances/by/cod`;\r\n this.generateRequestParams(params);\r\n return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getNotAttendancesOfLastWeekByCod(params: GetNotAttendancesByCodRq): Observable<Response> {\r\n let serviceUrl = `${this.SERVICE_URL}get/all/not/attendances/lastweek/by/cod`;\r\n this.generateRequestParams(params);\r\n return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { IPTGeneralService } from '../service-enviroments';\r\nimport { GetCertificate } from '../../models/academic/academic.component';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CertificateService extends IPTGeneralService{\r\n private SERVICE_URL = 'certificates/api/';\r\n\r\n constructor(private http: HttpClient) {\r\n super();\r\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\r\n }\r\n\r\n getCertificate(params: GetCertificate): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/kids';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { IPTGeneralService } from '../service-enviroments';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UserEktService extends IPTGeneralService{\r\n private SERVICE_URL = 'ekt/api/';\r\n\r\n constructor(private http: HttpClient) {\r\n super();\r\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\r\n }\r\n\r\n getAllUserEkt(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/all/users/1161419';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getAllAnnouncementByUser(codeUser: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/all/announcement/by/user/' + codeUser;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CourseService } from './services/course-service/course-service.model';\r\nimport { ParameterService } from './services/parameters-service/parameters.service';\r\nimport { RedirectGuard } from './utils/route-service/route.service';\r\nimport { StorageService } from './services/storage-service/storage-service';\r\nimport { SwitchService } from './services/switch-service/switch.service';\r\nimport { UserService } from './services/user-service/user-service';\r\nimport { BaseService } from './utils/base-service/base.service';\r\nimport { TestService } from './services/test-service/test.service';\r\nimport { MarketingService } from './services/marketing-service/marketing-service';\r\nimport { BudgetService } from './services/budget-service/budget-service';\r\nimport { ClassroomService } from './services/classroom-service/classroom-service.service';\r\nimport { ActivityService } from './services/activity-service/activity.service';\r\nimport { CommercialService } from './services/commercial-service/comercial.service';\r\nimport { AcademicService } from './services/academic-service/academic.service';\r\nimport { AttendanceService } from './services/attendance-service/attendance.service';\r\nimport { CalendarService } from './services/calendar-service/calendar.service';\r\nimport { CertificateService } from './services/certificate-service/certificate.service';\r\nimport { UserEktService } from './services/ekt-service/userekt.service';\r\nimport { CopiesService } from './services/copies.service';\r\n\r\n@NgModule({\r\n providers: [\r\n CommercialService,\r\n ParameterService,\r\n CourseService,\r\n StorageService,\r\n UserService,\r\n SwitchService,\r\n RedirectGuard,\r\n BaseService,\r\n TestService,\r\n MarketingService,\r\n ClassroomService,\r\n BudgetService,\r\n ActivityService,\r\n AcademicService,\r\n AttendanceService,\r\n CalendarService,\r\n CertificateService,\r\n UserEktService,\r\n CopiesService\r\n ]\r\n})\r\nexport class CoreModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CurrencyMaskModule } from 'ng2-currency-mask';\r\nimport { CodModule } from './cod/cod.module';\r\n\r\nimport { ComponentsModule } from './components/components.module';\r\nimport { CoreModule } from './core/core.module';\r\n\r\n@NgModule({\r\n imports: [\r\n ComponentsModule,\r\n CoreModule,\r\n CurrencyMaskModule\r\n ],\r\n exports: [\r\n ComponentsModule,\r\n CoreModule,\r\n CurrencyMaskModule,\r\n CodModule\r\n ],\r\n})\r\n\r\nexport class DesignSystemModule { }\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { CreateNewNoteRq, GetNotesByGroupRq, GetNotesByStudentRq, Notes, UpdateStudentNoteRq, calculateFinalNoteRq } from '../../models/notes/notes.interface';\r\nimport { Observable } from 'rxjs';\r\nimport { Response } from '../../models/response/response.interface';\r\nimport { IPTGeneralService } from '../service-enviroments';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NotesService extends IPTGeneralService{\r\n\r\n private SERVICE_URL = 'academic/api/';\r\n\r\n constructor(private http: HttpClient) {\r\n super();\r\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\r\n }\r\n\r\n\r\n getNotesByGroup(params: GetNotesByGroupRq): Observable<Response> {\r\n let serviceUrl = this.SERVICE_URL + 'post/obtain/notes/by/course';\r\n this.generateRequestParams(params);\r\n return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getNotesByStudent(params: GetNotesByStudentRq): Observable<Response> {\r\n let serviceUrl = this.SERVICE_URL + 'post/obtain/notes/by/student';\r\n this.generateRequestParams(params);\r\n return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n }\r\n\r\n createNewNote(params: CreateNewNoteRq): Observable<Response> {\r\n let serviceUrl = this.SERVICE_URL + 'post/create/note';\r\n this.generateRequestParams(params);\r\n return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n }\r\n\r\n updateStudentNote(params: UpdateStudentNoteRq): Observable<Response> {\r\n let serviceUrl = this.SERVICE_URL + 'update/note';\r\n this.generateRequestParams(params);\r\n return this.http.put<Response>(serviceUrl, this.httpOptions);\r\n }\r\n\r\n calculateFinalNote(params: calculateFinalNoteRq): Observable<Response> {\r\n let serviceUrl = this.SERVICE_URL + 'post/calculate/final/note';\r\n this.generateRequestParams(params);\r\n return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n }\r\n\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { GetStudentsByCourseRq } from '../../models/student/student.interface';\r\nimport { IPTGeneralService } from '../service-enviroments';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StudentService extends IPTGeneralService{\r\n\r\n private SERVICE_URL = 'academic/api/';\r\n\r\n constructor(private http: HttpClient) {\r\n super();\r\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\r\n }\r\n\r\n getStudentsByCourse(params: GetStudentsByCourseRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/obtain/students/by/course';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n}\r\n","import { FormControl } from '@angular/forms';\r\n\r\n\r\nexport const validateCoupunts = (control: FormControl) => {\r\n const value: string = control.value.trim();\r\n};\r\n","import { UserRs } from '../user/user-rs.model';\r\n\r\nexport class Session {\r\n token!: string;\r\n user!: UserRs;\r\n}","export class UserRs {\r\n code!: number;\r\n name!: string;\r\n last_name!: string;\r\n nick_name!: string;\r\n email!: string;\r\n email_ipt!: string;\r\n role!: number;\r\n service_hour!: number;\r\n phone_indicative!: number;\r\n phone_number!: number;\r\n gender!: string;\r\n birthdate!: string;\r\n city!: number;\r\n id_card_type!: number;\r\n id_card!: number;\r\n comment?: string;\r\n password!: string;\r\n token!: string;\r\n}\r\n\r\nexport class UserLoginRs {\r\n code!: number;\r\n name!: string;\r\n last_name!: string;\r\n email!: string;\r\n id_card!: string;\r\n id_card_type!: number;\r\n phone_indicative!: number;\r\n phone!: string;\r\n gender!: number;\r\n city!: number;\r\n role!: number;\r\n birthdate!: string;\r\n token!: string;\r\n}\r\n","/*\r\n * Public API Surface of design-system\r\n */\r\n\r\nexport * from \"./lib/design-system.module\"\r\nexport * from \"./lib/components/components.module\"\r\nexport * from \"./lib/core/core.module\"\r\n\r\n// Atomos\r\nexport * from \"./lib/components/atoms/aside-button/aside-button.component\"\r\nexport * from \"./lib/components/atoms/button/button.component\"\r\nexport * from \"./lib/components/atoms/checkbox/checkbox.component\"\r\nexport * from \"./lib/components/atoms/datalist/datalist.component\"\r\nexport * from \"./lib/components/atoms/input/input.component\"\r\nexport * from \"./lib/components/atoms/level-button/level-button.component\"\r\nexport * from \"./lib/components/atoms/level-text/level-text.component\"\r\nexport * from \"./lib/components/atoms/loader/loader.component\"\r\nexport * from \"./lib/components/atoms/radio/radio.component\"\r\nexport * from \"./lib/components/atoms/select/select.component\"\r\nexport * from \"./lib/components/atoms/text-link/text-link.component\"\r\n\r\n// Formularios\r\nexport * from \"./lib/components/forms/login-form/login-form.component\"\r\nexport * from \"./lib/components/molecules/sidenav/sidenav.component\"\r\nexport * from \"./lib/components/forms/create-user-form/create-user-form.component\"\r\n\r\n// Servicios\r\nexport * from \"./lib/core/services/attendance-service/attendance.service\"\r\nexport * from \"./lib/core/services/budget-service/budget-service\"\r\nexport * from \"./lib/core/services/course-service/course-service.model\"\r\nexport * from \"./lib/core/services/calendar-service/calendar.service\"\r\nexport * from \"./lib/core/services/marketing-service/marketing-service\"\r\nexport * from \"./lib/core/services/notes-service/notes.service\"\r\nexport * from \"./lib/core/services/parameters-service/parameters.service\"\r\nexport * from \"./lib/core/services/student-service/student.service\"\r\nexport * from \"./lib/core/services/storage-service/storage-service\"\r\nexport * from \"./lib/core/services/switch-service/switch.service\"\r\nexport * from \"./lib/core/services/test-service/test.service\"\r\nexport * from \"./lib/core/services/user-service/user-service\"\r\nexport * from \"./lib/core/utils/base-service/base.service\"\r\nexport * from \"./lib/core/utils/route-service/route.service\"\r\nexport * from \"./lib/core/services/classroom-service/classroom-service.service\"\r\nexport * from \"./lib/core/services/activity-service/activity.service\"\r\nexport * from \"./lib/core/services/commercial-service/comercial.service\"\r\nexport * from \"./lib/core/services/commercial-service/validators\"\r\nexport * from \"./lib/core/services/academic-service/academic.service\"\r\nexport * from \"./lib/core/services/certificate-service/certificate.service\"\r\nexport * from \"./lib/core/services/ekt-service/userekt.service\"\r\nexport * from \"./lib/core/services/copies.service\"\r\n\r\n// Modelos\r\nexport * from \"./lib/core/models/activities/activities.interface\"\r\nexport * from \"./lib/core/models/attendance/attendance.interface\"\r\nexport * from \"./lib/core/models/budget/budget.model\"\r\nexport * from \"./lib/core/models/cod/cod-rq.model\"\r\nexport * from \"./lib/core/models/calendar/calendar-rq.models\"\r\nexport * from \"./lib/core/models/cronogram/cronogram.models\"\r\nexport * from \"./lib/core/models/course/course-rq.model\"\r\nexport * from \"./lib/core/models/marketing/marketing.model\"\r\nexport * from \"./lib/core/models/notes/notes.interface\"\r\nexport * from \"./lib/core/models/response/response.interface\"\r\nexport * from \"./lib/core/models/session/session.model\"\r\nexport * from \"./lib/core/models/student/student.interface\"\r\nexport * from \"./lib/core/models/table/table-rs.model\"\r\nexport * from \"./lib/core/models/test/test.model\"\r\nexport * from \"./lib/core/models/url/url.model\"\r\nexport * from \"./lib/core/models/user/user-rq.model\"\r\nexport * from \"./lib/core/models/user/user-rs.model\"\r\nexport * from \"./lib/core/models/classroom/classroom-rq.model\"\r\nexport * from \"./lib/core/models/academic/academic.component\"\r\nexport * from \"./lib/core/models/course/courses.model\"\r\nexport * from \"./lib/core/models/payment/payment-rq.model\"\r\nexport * from \"./lib/core/models/commercial/commercial.model\"\r\n\r\n\r\n// Librería para máscara de moneda\r\nexport * from \"./lib/components/components.module\"\r\n\r\n// Modulo del COD\r\nexport * from \"./lib/cod/cod.module\"\r\n\r\n// Componentes del COD\r\nexport * from \"./lib/cod/cod-form/cod-form.component\"\r\nexport * from \"./lib/cod/cod-documents-section/cod-documents-section.component\"\r\n\r\n// Lógica del COD\r\nexport * from \"./lib/cod/logic/calculate-quotes.service\"\r\nexport * from \"./lib/cod/logic/cod-form-controls\"\r\nexport * from \"./lib/cod/logic/cod-form-steps\"\r\nexport * from \"./lib/cod/logic/communicator.service\"\r\nexport * from \"./lib/cod/logic/local-storage-cod.service\"\r\n\r\n// Pasos del COD\r\nexport * from \"./lib/cod/steps/cod-form-step-one/cod-form-step-one.component\"\r\nexport * from \"./lib/cod/steps/cod-form-step-two/cod-form-step-two.component\"\r\nexport * from \"./lib/cod/steps/cod-form-step-three/cod-form-step-three.component\"\r\nexport * from \"./lib/cod/steps/cod-form-step-four/cod-form-step-four.component\"\r\nexport * from \"./lib/cod/steps/cod-form-step-five/cod-form-step-five.component\"\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i1.UserService","i2.StorageService","i3.CalendarService","i2.BaseService","i3.InputComponent","i4.ButtonComponent","i2.ParameterService","i3.UserService","i4.InputComponent","i5.SelectComponent","i6.ButtonComponent","i7","i3.StorageService","i7.AsideButtonComponent","i8","i3.CopiesService","i4.BaseService","i5.CourseService","i6.CommunicatorService","i7.SelectComponent","i9","i4.SelectComponent","i5","i6","i3.CodFormControls","i5.InputComponent","i2.CalculateQuotesService","i3.CommunicatorService","i4.ParameterService","i5.CodFormControls","i6.CommercialService","i8.InputComponent","i10","i12","i3.SelectComponent","i1.BaseService","i2.LocalStorageCODService","i4.CommercialService","i6.CodFormStepOneComponent","i7.CodFormStepTwoComponent","i8.CodFormStepThreeComponent","i9.CodFormStepFourComponent","i10.CodFormStepFiveComponent","i11.LoaderComponent"],"mappings":"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"}
1
+ {"version":3,"file":"iptdevs-design-system.mjs","sources":["../../../design-system/src/lib/components/atoms/aside-button/aside-button.component.ts","../../../design-system/src/lib/components/atoms/button/button.component.ts","../../../design-system/src/lib/components/atoms/checkbox/checkbox.component.ts","../../../design-system/src/lib/components/atoms/datalist/datalist.component.ts","../../../design-system/src/lib/components/atoms/input/input.component.ts","../../../design-system/src/lib/components/atoms/level-button/level-button.component.ts","../../../design-system/src/lib/components/atoms/level-text/level-text.component.ts","../../../design-system/src/lib/components/atoms/loader/loader.component.ts","../../../design-system/src/lib/components/atoms/radio/radio.component.ts","../../../design-system/src/lib/components/atoms/select/select.component.ts","../../../design-system/src/lib/components/atoms/text-link/text-link.component.ts","../../../design-system/src/lib/core/services/service-enviroments.ts","../../../design-system/src/lib/core/services/user-service/user-service.ts","../../../design-system/src/lib/core/services/storage-service/storage-service.ts","../../../design-system/src/lib/core/services/calendar-service/calendar.service.ts","../../../design-system/src/lib/core/utils/base-service/base.service.ts","../../../design-system/src/lib/components/forms/login-form/login-form.component.ts","../../../design-system/src/lib/core/services/parameters-service/parameters.service.ts","../../../design-system/src/lib/components/forms/create-user-form/create-user-form.component.ts","../../../design-system/src/lib/components/forms/create-user-form/create-user-form.component.html","../../../design-system/src/lib/components/molecules/sidenav/sidenav.component.ts","../../../design-system/src/lib/components/material.module.ts","../../../design-system/src/lib/components/components.module.ts","../../../design-system/src/lib/cod/cod-documents-section/cod-documents-section.component.ts","../../../design-system/src/lib/cod/cod-documents-section/cod-documents-section.component.html","../../../design-system/src/lib/cod/logic/local-storage-cod.service.ts","../../../design-system/src/lib/cod/logic/cod-form-controls.ts","../../../design-system/src/lib/core/services/commercial-service/comercial.service.ts","../../../design-system/src/lib/cod/logic/cod-form-steps.ts","../../../design-system/src/lib/core/utils/copies.ts","../../../design-system/src/lib/core/services/copies.service.ts","../../../design-system/src/lib/core/services/course-service/course-service.model.ts","../../../design-system/src/lib/cod/logic/communicator.service.ts","../../../design-system/src/lib/cod/steps/cod-form-step-one/cod-form-step-one.component.ts","../../../design-system/src/lib/cod/steps/cod-form-step-one/cod-form-step-one.component.html","../../../design-system/src/lib/cod/steps/cod-form-step-two/cod-form-step-two.component.ts","../../../design-system/src/lib/cod/steps/cod-form-step-two/cod-form-step-two.component.html","../../../design-system/src/lib/cod/steps/cod-form-step-three/cod-form-step-three.component.ts","../../../design-system/src/lib/cod/steps/cod-form-step-three/cod-form-step-three.component.html","../../../design-system/src/lib/cod/logic/calculate-quotes.service.ts","../../../design-system/src/lib/cod/steps/cod-form-step-four/cod-form-step-four.component.ts","../../../design-system/src/lib/cod/steps/cod-form-step-four/cod-form-step-four.component.html","../../../design-system/src/lib/cod/steps/cod-form-step-five/cod-form-step-five.component.ts","../../../design-system/src/lib/cod/steps/cod-form-step-five/cod-form-step-five.component.html","../../../design-system/src/lib/cod/cod-form/cod-form.component.ts","../../../design-system/src/lib/cod/cod-form/cod-form.component.html","../../../design-system/src/lib/cod/cod.module.ts","../../../design-system/src/lib/core/utils/route-service/route.service.ts","../../../design-system/src/lib/core/services/switch-service/switch.service.ts","../../../design-system/src/lib/core/services/test-service/test.service.ts","../../../design-system/src/lib/core/services/marketing-service/marketing-service.ts","../../../design-system/src/lib/core/services/budget-service/budget-service.ts","../../../design-system/src/lib/core/services/classroom-service/classroom-service.service.ts","../../../design-system/src/lib/core/services/activity-service/activity.service.ts","../../../design-system/src/lib/core/services/academic-service/academic.service.ts","../../../design-system/src/lib/core/services/attendance-service/attendance.service.ts","../../../design-system/src/lib/core/services/certificate-service/certificate.service.ts","../../../design-system/src/lib/core/services/ekt-service/userekt.service.ts","../../../design-system/src/lib/core/core.module.ts","../../../design-system/src/lib/design-system.module.ts","../../../design-system/src/lib/core/services/notes-service/notes.service.ts","../../../design-system/src/lib/core/services/student-service/student.service.ts","../../../design-system/src/lib/core/services/commercial-service/validators.ts","../../../design-system/src/lib/core/models/session/session.model.ts","../../../design-system/src/lib/core/models/user/user-rs.model.ts","../../../design-system/src/public-api.ts","../../../design-system/src/iptdevs-design-system.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'ipt-aside-button',\r\n template: `\r\n <div [ngSwitch]=\"buttonActive\">\r\n <a *ngSwitchCase=\"0\" class=\"flex-item-menu__link\" (click)=\"clickAction()\">\r\n <img src=\"{{ icon }}\" alt=\"icon_url\" />\r\n <p>{{ text }}</p>\r\n </a>\r\n\r\n <a *ngSwitchCase=\"1\" class=\"flex-item-menu__link flex-item-active\" (click)=\"clickAction()\">\r\n <img src=\"{{ icon }}\" alt=\"icon_url\" />\r\n <p>{{ text }}</p>\r\n </a>\r\n </div>\r\n `,\r\n styleUrls: ['./aside-button.css']\r\n})\r\n\r\nexport class AsideButtonComponent {\r\n @Input() icon!: string;\r\n @Input() text!: string;\r\n @Input() buttonActive?: boolean;\r\n @Output() isClicked = new EventEmitter<boolean>();\r\n\r\n clickAction() {\r\n this.isClicked.emit(true);\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ipt-button',\r\n template: `<button *ngIf=\"isEnabled\"\r\n type=\"{{ buttonType }}\"\r\n (click)=\"onClick.emit($event)\"\r\n [ngClass]=\"classes\"\r\n >\r\n {{ label }}\r\n </button>\r\n\r\n <button *ngIf=\"!isEnabled\"\r\n type=\"{{ buttonType }}\"\r\n [ngClass]=\"classes\"\r\n >\r\n {{ label }}\r\n </button>`,\r\n styleUrls: ['./button.css'],\r\n})\r\nexport class ButtonComponent {\r\n\r\n @Input() primary: boolean = false;\r\n @Input() size: 'small' | 'medium' | 'large' = 'medium';\r\n @Input() label: string = 'Button';\r\n @Input() buttonType?: string;\r\n @Input() isEnabled: boolean = true;\r\n\r\n @Output() onClick = new EventEmitter<Event>();\r\n\r\n public get classes(): string[] {\r\n const mode = this.primary && this.isEnabled === true\r\n ? 'ipt-button--primary'\r\n : this.isEnabled === false ? 'ipt-button--primary-disabled'\r\n : 'ipt-button--secondary';\r\n\r\n return ['ipt-button', `ipt-button--${this.size}`, mode];\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\r\nimport { AbstractControl, FormControl } from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: 'ipt-checkbox',\r\n template: `\r\n <label class=\"cont\">\r\n <input\r\n class=\"checkbox\"\r\n [formControl]=\"formControl\"\r\n [checked]=\"checkboxOption\"\r\n (click)=\"onChecked.emit($event)\"\r\n type=\"checkbox\">\r\n <span></span>\r\n </label>\r\n `,\r\n styleUrls: ['./checkbox.css']\r\n})\r\n\r\nexport class CheckboxComponent {\r\n\r\n @Input() checkboxOption: boolean = false;\r\n @Input() set control(value: AbstractControl) {\r\n if (this.formControl !== value) {\r\n this.formControl = value as FormControl;\r\n }\r\n }\r\n\r\n @Output() onChecked = new EventEmitter<Event>();\r\n\r\n formControl!: FormControl;\r\n\r\n}\r\n","import { Component, Input, Output, EventEmitter, ViewChild, SimpleChanges } from '@angular/core';\r\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, NgForm, Validators } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'ipt-datalist',\r\n template: `\r\n <div class=\"input-container\">\r\n <label [ngClass]=\"labelClass\">{{ placeHolder }}</label>\r\n <input\r\n type=\"text\"\r\n class=\"input\"\r\n (click)=\"click($event)\"\r\n [attr.list]=\"datalistId\"\r\n (change)=\"optionChanged($event)\"\r\n [disabled]=\"disabledSel\"\r\n [value]=\"setDataListValue()\"\r\n />\r\n\r\n <datalist id=\"{{ datalistId }}\">\r\n <option *ngFor=\"let item of datalistData; index as i\" [value]=\"item.name\">\r\n {{item.id_card}} {{item.name}}\r\n </option>\r\n </datalist>\r\n </div>\r\n `,\r\n styleUrls: ['./datalist.css'],\r\n})\r\nexport class DatalistComponent {\r\n\r\n @Input() datalistId!: string;\r\n @Input() datalistData!: any[];\r\n @Input() placeHolder!: string;\r\n @Input() validateText!: string;\r\n @Input() initalData!: string;\r\n @Input() disabledSel:boolean = false;\r\n\r\n @Output() isChanged = new EventEmitter<string>();\r\n\r\n clicked: boolean = false;\r\n\r\n constructor(fb: FormBuilder) {\r\n }\r\n\r\n optionChanged(event: any) {\r\n let selectOption = this.datalistData.find(element => element.name == event.target.value);\r\n if (typeof(selectOption) != 'undefined') {\r\n this.isChanged.emit(selectOption.code);\r\n } else {\r\n this.isChanged.emit('-1');\r\n }\r\n }\r\n\r\n click(value: MouseEvent) {\r\n this.clicked = value.isTrusted;\r\n }\r\n\r\n setDataListValue() {\r\n let selectOption = this.datalistData.find(element => element.code == this.initalData);\r\n if (typeof(selectOption) != 'undefined') {\r\n return selectOption.name;\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n public get labelClass(): string {\r\n return this.clicked === false ? 'label' : 'labelUp';\r\n }\r\n}\r\n","import { CurrencyPipe } from '@angular/common';\r\nimport { Component, Input, Output, EventEmitter, ViewChild, OnInit, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, NgForm, Validators } from '@angular/forms';\r\n\r\n\r\n@Component({\r\n selector: 'ipt-input',\r\n template: `\r\n <div class=\"input-container\">\r\n <input *ngIf=\"inputType === 'date'\"\r\n class=\"input\"\r\n type=\"{{ inputType ? 'text' : 'date' }}\"\r\n [formControl]=\"formControl\"\r\n (ngModelChange)=\"selectedDate($event)\"\r\n onfocus=\"this.type='date';\"\r\n onblur=\"javascript: if( !this.value ) this.type='text';\"\r\n uib-datepicker-popup=\"dd/MM/yyyy\"\r\n ng-model=\"inputType\"/>\r\n\r\n <input *ngIf=\"inputType !== 'date' && inputType !== 'time' && !withPipe\"\r\n class=\"input\"\r\n type=\"{{ inputType }}\"\r\n [formControl]=\"formControl\"\r\n [attr.list]=\"list\"/>\r\n\r\n <input *ngIf=\"inputType === 'text' && withPipe\"\r\n class=\"input\"\r\n currencyMask\r\n [options]=\"{ prefix: prefix, thousands: thousands, decimal: decimal, allowNegative: false }\"\r\n type=\"{{ inputType }}\"\r\n [formControl]=\"formControl\"\r\n [attr.list]=\"list\"/>\r\n\r\n <input *ngIf=\"inputType === 'time'\"\r\n class=\"input\"\r\n type=\"time\"\r\n [formControl]=\"formControl\"\r\n [min]=\"'06:00:00'\"\r\n max=\"22:00:00\"\r\n step=\"900\"\r\n autocomplete=\"on\"\r\n value=\"08:00:00\"\r\n (click)=\"click($event)\"\r\n />\r\n\r\n <label [ngClass]=\"{'labelUp': formControl.value !== ''}\">{{ placeHolder }}</label>\r\n\r\n <p *ngIf=\"(formControl.invalid && formControl.value !== '')\">\r\n {{ validateText }}\r\n </p>\r\n </div>\r\n `,\r\n styleUrls: ['./input.css'],\r\n})\r\nexport class InputComponent implements OnInit {\r\n\r\n public codeValue!: string;\r\n data: any[] = [];\r\n formControl!: FormControl;\r\n clicked: boolean = false;\r\n\r\n @Input() inputType!: string;\r\n @Input() placeHolder!: string;\r\n @Input() validateText?: string;\r\n @Input() withPipe?: boolean = false;\r\n @Input() list?: string; //Para el datalist\r\n @Input() iconUrl?: string;\r\n @Input() set control(value: AbstractControl | string) {\r\n if (this.formControl !== value) {\r\n this.formControl = value as FormControl;\r\n }\r\n }\r\n\r\n @Input() prefix: string = '$';\r\n @Input() thousands: string = '.';\r\n @Input() decimal: string = ',';\r\n @Output() dateSelected = new EventEmitter<string>();\r\n\r\n constructor() {}\r\n\r\n\r\n ngOnInit() {}\r\n\r\n selectedDate(evt: string){\r\n this.dateSelected.emit(evt);\r\n }\r\n\r\n click(value: MouseEvent) {\r\n this.clicked = value.isTrusted;\r\n }\r\n\r\n}\r\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ipt-level-button',\r\n template: `\r\n <div [ngSwitch]=\"buttonActive\">\r\n <button\r\n *ngSwitchCase=\"0\"\r\n (click)=\"clickAction()\"\r\n id=\"level\"\r\n class=\"courses\"\r\n >\r\n <p class=\"p-level\">{{ level }}</p>\r\n </button>\r\n\r\n <button\r\n *ngSwitchCase=\"1\"\r\n (click)=\"clickAction()\"\r\n id=\"{{ idColor }}\"\r\n class=\"courses\">\r\n <p class=\"p-level p-level-active\">{{ level }}</p>\r\n </button>\r\n </div>\r\n `,\r\n styleUrls: ['./level-button.css'],\r\n})\r\n\r\nexport class LevelButtonComponent {\r\n\r\n @Input() level!: string;\r\n @Input() buttonActive!: boolean;\r\n @Input() idColor!: string;\r\n @Output() isClicked = new EventEmitter<boolean>();\r\n\r\n clickAction() {\r\n this.isClicked.emit(true);\r\n }\r\n\r\n}\r\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ipt-level-button',\r\n template: `\r\n <p class=\"p-table-course\">{{ level }}: {{ total }}</p>\r\n `,\r\n styleUrls: ['./level-text.css'],\r\n})\r\n\r\nexport class LevelTextComponent {\r\n\r\n @Input() level!: string;\r\n @Input() total!: string;\r\n\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ipt-loader',\r\n template: `\r\n <div [ngClass]=\"{'dialog': isDialog}\">\r\n <div [ngClass]=\"{'loader_container' : isDialog}\">\r\n <span>{{ message }}</span>\r\n <div class=\"container\">\r\n <div class=\"spinner\">\r\n <div class=\"dot\"></div>\r\n <div class=\"dot\"></div>\r\n <div class=\"dot\"></div>\r\n <div class=\"dot\"></div>\r\n <div class=\"dot\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>`,\r\n styleUrls: ['./loader.css']\r\n})\r\nexport class LoaderComponent {\r\n @Input() message: string = '';\r\n @Input() isDialog: boolean = false;\r\n}\r\n\r\n","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\r\nimport { AbstractControl, FormControl } from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: 'ipt-radio',\r\n template: `\r\n <label class=\"cont\">\r\n <input\r\n class=\"radio\"\r\n [formControl]=\"formControl\"\r\n [checked]=\"radioOption\"\r\n (click)=\"onSelected.emit($event)\"\r\n type=\"radio\">\r\n <span></span>\r\n </label>\r\n `,\r\n styleUrls: ['./radio.css']\r\n})\r\n\r\nexport class RadioComponent {\r\n\r\n @Input() radioOption: boolean = false;\r\n @Input() set control(value: AbstractControl) {\r\n if (this.formControl !== value) {\r\n this.formControl = value as FormControl;\r\n }\r\n }\r\n\r\n @Output() onSelected = new EventEmitter<Event>();\r\n\r\n formControl!: FormControl;\r\n\r\n}\r\n","import { Component, Input, Output, EventEmitter, SimpleChanges } from '@angular/core';\r\nimport { AbstractControl, FormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'ipt-select',\r\n template: `\r\n <div class=\"select-container\">\r\n <label [ngClass]=\"labelClass\">{{ defaultText }}</label>\r\n <select\r\n [(ngModel)]=\"binding\"\r\n (ngModelChange)=\"seleccionar($event)\"\r\n (click)=\"click($event)\"\r\n [ngClass]=\"textClass\"\r\n [disabled]=\"disabledSel\">\r\n <option *ngFor=\"let item of data; index as i\" [value]=\"item.code\">\r\n {{ item.name }} {{ item.prefix }}\r\n </option>\r\n </select>\r\n </div>\r\n `,\r\n styleUrls: ['./select.css'],\r\n})\r\nexport class SelectComponent {\r\n\r\n binding: any;\r\n boxShadow: number = 0;\r\n formControl!: FormControl;\r\n clicked: boolean = false;\r\n\r\n @Input() isRequired!: boolean; // temas de validacion\r\n // objeto que me trae el listado\r\n @Input() data!: any[]; // recibe un array de cualquier cosa\r\n @Input() defaultText!: any;\r\n @Input() selectCode!:string;\r\n @Input() disabledSel:boolean = false;\r\n @Input() initialValue!: string;\r\n\r\n @Output() eventSelect = new EventEmitter<string>();\r\n // type viene de otro componente -> indica de que tipo es el arreglo si pregrade, posgrade o modo\r\n @Input() set control(value: AbstractControl) {\r\n if (this.formControl !== value) {\r\n this.formControl = value as FormControl;\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if( changes['data']){\r\n this.setBinding();\r\n }\r\n }\r\n\r\n seleccionar(evt: string){\r\n if (this.eventSelect.emit(evt) !== this.defaultText) {\r\n this.boxShadow = 1;\r\n }\r\n else {\r\n this.boxShadow = 2;\r\n }\r\n }\r\n\r\n private setBinding() {\r\n if(this.initialValue !== '') {\r\n this.binding = this.initialValue;\r\n } else {\r\n this.binding = this.defaultText;\r\n }\r\n }\r\n\r\n click(value: MouseEvent) {\r\n this.clicked = value.isTrusted;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setBinding();\r\n }\r\n\r\n public get textClass(): string {\r\n return this.defaultText === '' ? 'selected' : 'select';\r\n }\r\n\r\n public get labelClass(): string {\r\n return (this.clicked || this.initialValue !== '') ? 'labelUp' : 'label';\r\n }\r\n\r\n}\r\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ipt-text-link',\r\n template: `\r\n <a class=\"text-link\" (click)='isLinkClicked()'>\r\n <p class=\"text-link__paragraph\">\r\n <i class=\"{{icon}}\" aria-hidden=\"true\"></i>\r\n {{text}}\r\n </p>\r\n </a>\r\n `,\r\n styleUrls: ['./text-link.css'],\r\n})\r\n\r\nexport class TextLinkComponent {\r\n\r\n @Input() text!: string;\r\n @Input() blank?: boolean;\r\n @Input() icon?: string;\r\n\r\n @Output() isClicked = new EventEmitter<boolean>();\r\n\r\n\r\n constructor() {\r\n }\r\n\r\n isLinkClicked() {\r\n this.isClicked.emit(true);\r\n }\r\n\r\n}\r\n","import { HttpHeaders } from \"@angular/common/http\";\r\n\r\nexport class IPTGeneralService {\r\n\r\n httpOptions: any;\r\n\r\n baseUrl(): string {\r\n let url = window.location.href;\r\n\r\n if (url.includes('localhost') || url.includes('qa')) {\r\n return 'https://lab.iptdev.com.co/';\r\n } else if ( url.includes('inglesparatodos.edu.co')) {\r\n return 'https://iptdev.com.co/';\r\n } else if ( url.includes('inglesparatodos.us')) {\r\n return 'https://iptdev.com.co/';\r\n } else {\r\n return 'error.com';\r\n }\r\n }\r\n\r\n // construye los headers y params\r\n generateRequestParams(param: any) {\r\n this.httpOptions = {\r\n header: new HttpHeaders(),\r\n params: param,\r\n };\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { RegisterIndexRq, RegisterDashboardRq, UserTokenRq, ForgotPasswordRq, LoginRq, RegisterRq, getStudentRq } from '../../models/user/user-rq.model';\r\nimport { getStrategyByUserCommercialRq } from '../../models/marketing/marketing.model';\r\nimport { IPTGeneralService } from '../service-enviroments';\r\nimport { GetStudentByCodeRq, tokenAdministrativeRq } from '../../models/payment/payment-rq.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UserService extends IPTGeneralService{\r\n private SERVICE_URL = 'users/api/';\r\n\r\n constructor(private http: HttpClient) {\r\n super();\r\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\r\n }\r\n\r\n login(userLogin: LoginRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/login';\r\n this.generateRequestParams(userLogin);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n resetPassword(resetPassword: ForgotPasswordRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'reset/password';\r\n this.generateRequestParams(resetPassword);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n register(user: RegisterRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/create/web';\r\n this.generateRequestParams(user);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n registerIndex(register: RegisterIndexRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/create/marketing';\r\n this.generateRequestParams(register);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n registerDashboard(user: RegisterDashboardRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/create/dashboard';\r\n this.generateRequestParams(user);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getAvailableTeachers(token: UserTokenRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/obtain/teachers';\r\n this.generateRequestParams(token);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getAllAdvisor(userToken: getStrategyByUserCommercialRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/obtain/all/user/commercial';\r\n this.generateRequestParams(userToken);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getByRoleUser(codeRole: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/obtain/by/role/user/' + codeRole;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getUserStatistics(userToken: getStrategyByUserCommercialRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/contact/strategy/statistics';\r\n this.generateRequestParams(userToken);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getRoutesForRole(token: UserTokenRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/routes/role';\r\n this.generateRequestParams(token);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getStudents(token: UserTokenRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/obtain/students';\r\n this.generateRequestParams(token);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getStudent(token: getStudentRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/obtain/student';\r\n this.generateRequestParams(token);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getAllAdministrative(userToken: tokenAdministrativeRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/obtain/all/user/administrative';\r\n this.generateRequestParams(userToken);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n getAllMarketing(userToken: tokenAdministrativeRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/obtain/all/user/marketing';\r\n this.generateRequestParams(userToken);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getStudenbyCode(parans: GetStudentByCodeRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/obtain/student/by/code';\r\n this.generateRequestParams(parans);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Session } from \"../../models/session/session.model\";\r\nimport { UserRs } from \"../../models/user/user-rs.model\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StorageService {\r\n\r\n private localStorageService;\r\n private currentSession : Session | null= null;\r\n\r\n constructor() {\r\n this.localStorageService = localStorage;\r\n this.currentSession = this.loadSessionData();\r\n }\r\n\r\n setCurrentSession(session: Session): void {\r\n this.currentSession = session;\r\n this.localStorageService.setItem('606a7d4e73650b75ebb06972e77d6cc4', JSON.stringify(session));\r\n }\r\n\r\n loadSessionData(): Session | null {\r\n var sessionStr = this.localStorageService.getItem('606a7d4e73650b75ebb06972e77d6cc4');\r\n return (sessionStr) ? <Session> JSON.parse(sessionStr) : null;\r\n }\r\n\r\n getCurrentSession(): Session | null {\r\n return this.currentSession;\r\n }\r\n\r\n removeCurrentSession(): void {\r\n this.localStorageService.removeItem('606a7d4e73650b75ebb06972e77d6cc4');\r\n this.currentSession = null;\r\n }\r\n\r\n getCurrentUser(): UserRs | null {\r\n var session: Session | null = this.getCurrentSession();\r\n return (session && session.user) ? session.user : null;\r\n };\r\n\r\n isAuthenticated(): boolean {\r\n return (this.getCurrentToken() != null) ? true : false;\r\n };\r\n\r\n getCurrentToken(): string | null{\r\n var session = this.getCurrentSession();\r\n return (session && session.token) ? session.token : null;\r\n };\r\n\r\n logout(): void{\r\n this.removeCurrentSession();\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { eventqueryRq } from '../../models/calendar/calendar-rq.models';\r\nimport { AddNewEventRq, AvailabilityQueryRq, AvailabilityQueryRqs, GetEventByDateTimeRq, GetEventsByCourseRq } from '../../models/cronogram/cronogram.models';\r\nimport { Response } from '../../models/response/response.interface';\r\nimport { IPTGeneralService } from '../service-enviroments';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CalendarService extends IPTGeneralService{\r\n private SERVICE_URL = 'calendar/api/'\r\n\r\n constructor(private http: HttpClient) {\r\n super();\r\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\r\n }\r\n\r\n postCreateQueryEvent(params: AvailabilityQueryRq): Observable<Response>{\r\n let serviceUrl = this.SERVICE_URL + 'post/event/create/query';\r\n this.generateRequestParams(params);\r\n return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getEventByIdCalendar(idCalendar: string): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/event/calendar/idcalendar/all/' + idCalendar;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n postEventByDayTime(params: eventqueryRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/event/calendar/idcalendar/by/datetime';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getEventsByCourse(params: GetEventsByCourseRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/event/calendar/idcalendar/by/course';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getEventByDateTime(params: GetEventByDateTimeRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/event/calendar/idcalendar/by/datetime';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getAvailability(params: AvailabilityQueryRqs): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/event/create/query';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n addNewEvent(params: AddNewEventRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/add/event/calendar/by/daytime';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n ObtainUnitsNameCourseType(params: any): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/obtain/unitsname/by/coursetype';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { LoginRq, RegisterDashboardRq } from '../../models/user/user-rq.model';\r\nimport { UserService } from '../../services/user-service/user-service';\r\nimport Swal from 'sweetalert2';\r\nimport { Session } from '../../models/session/session.model';\r\nimport { StorageService } from '../../services/storage-service/storage-service';\r\nimport { AvailabilityQueryRq } from '../../models/cronogram/cronogram.models';\r\nimport { CalendarService } from '../../services/calendar-service/calendar.service';\r\nimport { Response } from '../../models/response/response.interface';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class BaseService {\r\n\r\n constructor(\r\n private userService: UserService,\r\n private storageService: StorageService,\r\n private calendarService: CalendarService\r\n ) {}\r\n\r\n webLogin(user: string, password: string): Promise<boolean>{\r\n let request: LoginRq = {\r\n user: user,\r\n password: password\r\n }\r\n let service = this.userService;\r\n let storage = this.storageService;\r\n let appUser = this.isAnAppUser();\r\n\r\n return new Promise(function(resolve, reject) {\r\n service.login(request).subscribe( response => {\r\n switch (response.message.code) {\r\n case 1:\r\n if(!appUser) {\r\n Swal.fire ({\r\n 'title': '<p style=\"font-family: Poppins\"\">Perfect!</p>',\r\n 'html': '<p style=\"font-family: Poppins\"\">Succesfull login</p>',\r\n 'icon':'success',\r\n });\r\n }\r\n const loginRegisterUser: Session = {\r\n token: response.data.token,\r\n user: response.data,\r\n };\r\n\r\n storage.setCurrentSession(loginRegisterUser);\r\n resolve(true);\r\n break;\r\n case 2:\r\n Swal.fire({\r\n 'title': '<p style=\"font-family: Poppins\"\">Warning!</p>',\r\n 'html': '<p style=\"font-family: Poppins\"\">The data does not correspond to a user registered in our system, please review them.</p>',\r\n 'icon':'warning',\r\n });\r\n\r\n resolve(false);\r\n break;\r\n case 3:\r\n Swal.fire({\r\n 'title': '<p style=\"font-family: Poppins\"\">Error!</p>',\r\n 'html': '<p style=\"font-family: Poppins\"\">The input data does not meet the established parameters.</p>',\r\n 'icon':'error',\r\n });\r\n\r\n resolve(false);\r\n break;\r\n default:\r\n Swal.fire({\r\n 'title': '<p style=\"font-family: Poppins\"\">Error!</p>',\r\n 'html': '<p style=\"font-family: Poppins\"\">An unexpected error has occurred</p>',\r\n 'icon':'error',\r\n });\r\n\r\n resolve(false);\r\n break;\r\n }\r\n reject('Unhandled exception');\r\n });\r\n })\r\n }\r\n\r\n getCronogramAvailability(isTeacher: boolean, code: number, startDate: string, numClass: number, weekDays: any[], startTime: string, endTime: string): Promise<any>{\r\n let request: AvailabilityQueryRq = {\r\n isTeacher: isTeacher,\r\n code: code,\r\n startDate: startDate,\r\n numClass: numClass,\r\n weekDays: weekDays,\r\n startTime: startTime,\r\n endTime: endTime,\r\n };\r\n\r\n let service = this.calendarService;\r\n\r\n return new Promise(function(resolve, reject) {\r\n service.postCreateQueryEvent(request).subscribe( (response: Response) => {\r\n switch (response.message.code) {\r\n case 1:\r\n resolve(response.data);\r\n break\r\n default:\r\n reject('Unhandled exception');\r\n }\r\n reject('Unhandled exception');\r\n });\r\n });\r\n }\r\n\r\n isAnAppUser() {\r\n const userAgent: string = window.navigator.userAgent;\r\n return userAgent.includes('Flutter IPT APP');\r\n }\r\n\r\n getUserRole(): number {\r\n let user = this.storageService.getCurrentUser()?.role;\r\n return user === undefined ? -1 : user;\r\n }\r\n\r\n getUserToken(): string {\r\n let token = this.storageService.getCurrentUser()?.token;\r\n return token === undefined ? '-1' : token;\r\n }\r\n\r\n getUserName(): string {\r\n let user = this.storageService.getCurrentUser();\r\n let response = user === null ? '' : user.name;\r\n return response;\r\n }\r\n\r\n registerUserFromDashboard(registerDashboardRq: RegisterDashboardRq): Promise<boolean>{\r\n let request = registerDashboardRq;\r\n let service = this.userService;\r\n\r\n return new Promise(function(resolve, reject) {\r\n service.registerDashboard(request).subscribe((response) => {\r\n\r\n switch (response.message.code) {\r\n case 1:\r\n Swal.fire ({\r\n 'title': '<p style=\"font-family: Poppins\"\">Perfect!</p>',\r\n 'html': '<p style=\"font-family: Poppins\"\">Sucesfull register!</p>',\r\n 'icon':'success',\r\n });\r\n resolve(true);\r\n break;\r\n case 3:\r\n Swal.fire ({\r\n 'title': '<p style=\"font-family: Poppins\"\">Error!</p>',\r\n 'html': '<p style=\"font-family: Poppins\"\">The input data does not meet the established parameters.</p>',\r\n 'icon':'error',\r\n });\r\n resolve(false);\r\n break;\r\n case 4:\r\n Swal.fire ({\r\n 'title': '<p style=\"font-family: Poppins\">Ups!</p>',\r\n 'html': '<p style=\"font-family: Poppins\">The input data has a high relation with a user that already exists!</p>',\r\n 'icon': 'warning',\r\n });\r\n resolve(false);\r\n break;\r\n default:\r\n Swal.fire ({\r\n 'title': '<p style=\"font-family: Poppins\"\">Error!</p>',\r\n 'html': '<p style=\"font-family: Poppins\"\">An unexpected error has occurred</p>',\r\n 'icon':'error',\r\n });\r\n resolve(false);\r\n break;\r\n }\r\n\r\n reject('Unhandled exception');\r\n });\r\n });\r\n }\r\n\r\n jsonToArray(data: any[]): any[][] {\r\n var response: any[] = [];\r\n data.forEach((element) => {\r\n var object: any[] = [];\r\n for (var clave in element) {\r\n if (element.hasOwnProperty(clave)) {\r\n if (typeof element[clave] == 'object') {\r\n element[clave] = this.subJsonToArray(element[clave]);\r\n }\r\n\r\n object.push(element[clave]);\r\n }\r\n }\r\n response.push(object);\r\n });\r\n return response;\r\n }\r\n\r\n subJsonToArray(data: any[]): string {\r\n var object: string = '';\r\n for (var clave in data) {\r\n if (clave != 'code') {\r\n object += '\\n' + data[clave];\r\n }\r\n }\r\n return object;\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { BaseService } from '../../../core/utils/base-service/base.service';\r\n\r\n@Component({\r\n selector: 'ipt-login-form',\r\n template: `\r\n <div class=\"form-container\">\r\n\r\n <h2 style=\"text-align: center;\">IPT PLATFORM</h2>\r\n <hr>\r\n\r\n <form (ngSubmit)=\"login(loginForm)\" [formGroup]=\"loginForm\">\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Email'\"\r\n [validateText]=\"'Debe ser @inglesparatodos.edu.co'\"\r\n [control]=\"loginForm.controls['email']\"\r\n ></ipt-input>\r\n\r\n <ipt-input\r\n [inputType]=\"'password'\"\r\n [placeHolder]=\"'Password'\"\r\n [control]=\"loginForm.controls['password']\"\r\n ></ipt-input>\r\n </form>\r\n\r\n <div class=\"button-container\">\r\n <ipt-button\r\n [label]=\"'Login'\"\r\n [primary]=\"true\"\r\n [isEnabled]=\"loginForm.valid\"\r\n (onClick)=\"login(loginForm)\"\r\n ></ipt-button>\r\n </div>\r\n\r\n </div>\r\n `,\r\n styleUrls: ['./login-form.css']\r\n})\r\n\r\nexport class LoginFormComponent {\r\n\r\n @Output() isLogged = new EventEmitter<boolean>();\r\n\r\n loginForm!: FormGroup;\r\n\r\n constructor(\r\n fb: FormBuilder,\r\n private baseService: BaseService,\r\n ) {\r\n this.loginForm = fb.group({\r\n email: ['', [Validators.required]],\r\n password: ['', [Validators.required, Validators.minLength(3),Validators.maxLength(15)]],\r\n });\r\n }\r\n\r\n login(data: FormGroup) {\r\n this.baseService.webLogin(data.controls['email'].value, data.controls['password'].value).then((isLogged) =>{\r\n this.isLogged.emit(isLogged);\r\n });\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { IPTGeneralService } from '../service-enviroments';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ParameterService extends IPTGeneralService{\r\n private SERVICE_URL = 'parameters/api/';\r\n\r\n constructor(private http: HttpClient) {\r\n super();\r\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\r\n }\r\n\r\n getIndicatives(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/indicatives';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getCardTypes(country: string): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/id/card/type/country/' + country;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getCountries(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/countries';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getStatesByCountry(country: string): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/state/country/iso/' + country;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getCitiesByState(state: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/cities/state/' + state;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getAllPlans(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/all/plans';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getLevels(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/english/levels';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getAgreements(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/all/agreement';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getAgreementByCategory(typeCategory: any): Observable<any> {\r\n let serviceUrl =\r\n this.SERVICE_URL + 'get/agreement/by/category/' + typeCategory;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getAllClassrooms(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/all/classroom';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getCoursesTypes(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/all/course/type';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getCoursesTypesByPlan(typePlan: any): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/course/by/plan/' + typePlan;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getDegrees(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/all/degrees';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getProgramsByDegree(typeDegree: any): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/programs/by/degree/' + typeDegree;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getMarketingReasons(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/all/mkt/reasons';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getStudyReasons(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/all/study/reasons';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getAcademicUnits(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/academic/units';\r\n return this.http.get(serviceUrl);\r\n }\r\n getStatusContact(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/contact/status/all';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getTypePlan(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/all/plans';\r\n return this.http.get(serviceUrl);\r\n }\r\n getTypePlanDiscount(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/discount/all/plans';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getContactedType(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/contact/contacted/all';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getStatusByCode(codeStatus: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/contact/status/bycode/' + codeStatus;\r\n return this.http.get(serviceUrl);\r\n }\r\n getAllTypeDiscount(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/commercial/typediscounts/all';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getAllCourseModality(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/all/course/modality';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getAllPaymentMethod(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/payment/method/all';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getAllPaymentService(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/payment/services/all';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getAllBanks(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/banks/all';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getAllCampus(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/banks/all';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getCampusByCode(codeCampu: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/campus/by/code/' + codeCampu;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getGenders(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/genders';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getGenderByCode(code: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/gender/code/' + code;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getStratums(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/stratums';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getStratumByCode(code: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/stratum/by/code/' + code;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getCivilStatus(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/civil/status';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getCivilStatusByCode(code: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/civil/status/by/code/' + code;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getMulticulturalisms(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/multiculturalisms';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getMulticulturalismByCode(code: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/multiculturalism/by/code/' + code;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getClassRoomByMod(codeModality: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/all/classroom/by/modality/' + codeModality;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n}\r\n","import { animate, style, transition, trigger } from '@angular/animations';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { RegisterDashboardRq } from '../../../core/models/user/user-rq.model';\r\nimport { ParameterService } from '../../../core/services/parameters-service/parameters.service';\r\nimport { UserService } from '../../../core/services/user-service/user-service';\r\n\r\n@Component({\r\n selector: 'ipt-create-user-form',\r\n templateUrl: './create-user-form.component.html',\r\n styleUrls: ['./create-user-form.component.css'],\r\n animations: [\r\n trigger('fade', [\r\n transition('void => *', [\r\n style({ opacity: 0 }),\r\n animate(200, style({opacity: 1}))\r\n ])\r\n ])\r\n ]\r\n})\r\nexport class CreateUserFormComponent implements OnInit {\r\n @Input() userType!: string;\r\n @Input() visibility: boolean = false;\r\n @Output() userCreated = new EventEmitter<boolean>(false);\r\n @Output() onHide = new EventEmitter<boolean>(false);\r\n\r\n createUserForm!: FormGroup;\r\n phoneNumberIndicatives: any;\r\n idTypes: any;\r\n states: any;\r\n loader: boolean = false;\r\n cities: any;\r\n photo: string = '';\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private parameterService: ParameterService,\r\n private userService: UserService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.initForm();\r\n this.getParameters();\r\n }\r\n\r\n closeModal() {\r\n this.visibility = false;\r\n this.onHide.emit(true);\r\n }\r\n\r\n createUser() {\r\n this.loader = true;\r\n\r\n let request: RegisterDashboardRq = {\r\n name: this.createUserForm.controls['name'].value,\r\n last_name: this.createUserForm.controls['last_name'].value,\r\n id_card_type: this.createUserForm.controls['id_card_type'].value,\r\n id_card: this.createUserForm.controls['id_card'].value,\r\n phone_indicative: this.createUserForm.controls['phone_indicative'].value,\r\n phone_number: this.createUserForm.controls['phone_number'].value,\r\n email: this.createUserForm.controls['email'].value,\r\n city: this.createUserForm.controls['city'].value,\r\n service_hour: this.createUserForm.controls['service_hour'].value,\r\n role: this.createUserForm.controls['role'].value,\r\n password: this.createUserForm.controls['password'].value,\r\n };\r\n\r\n this.userService.registerDashboard(request).subscribe((response) => {\r\n console.log(response.message)\r\n switch (response.message.code) {\r\n case 1:\r\n this.userCreated.emit(true);\r\n this.initForm();\r\n break;\r\n case 2:\r\n throw new Error(\"Los datos ingresados no corresponden a un usuario registrado en nuestro sistema, por favor reviselos.\");\r\n case 3:\r\n throw new Error(\"Los datos ingresados no cumplen los parámetros establecidos\");\r\n default:\r\n break;\r\n }\r\n this.loader = false;\r\n });\r\n }\r\n\r\n getParameters() {\r\n this.parameterService.getIndicatives().subscribe((response: { data: any; }) => {\r\n this.phoneNumberIndicatives = response.data;\r\n });\r\n this.parameterService.getCardTypes('col').subscribe((response: { data: any; }) => {\r\n this.idTypes = response.data;\r\n });\r\n this.parameterService.getStatesByCountry('col').subscribe((response): void => {\r\n this.states = response.data;\r\n });\r\n }\r\n\r\n getRolesOptions(): any {\r\n // Estudiante\r\n if (this.userType === 'student') {\r\n this.setPhoto('student');\r\n return [\r\n { code: '13', name: 'Student' },\r\n ];\r\n }\r\n\r\n // Académico\r\n if (this.userType === 'academic') {\r\n this.setPhoto('academic');\r\n return [\r\n { code: '11', name: 'Teacher PRO' },\r\n { code: '12', name: 'Teacher' },\r\n ];\r\n }\r\n\r\n // Administrativo\r\n if (this.userType === 'administrative') {\r\n this.setPhoto('administrative');\r\n return [\r\n { code: '31', name: 'Administrative Supervisor' },\r\n { code: '32', name: 'Administrative Advisor' },\r\n ];\r\n }\r\n\r\n // Marketing\r\n if (this.userType === 'marketing') {\r\n this.setPhoto('marketing');\r\n return [\r\n { code: '21', name: 'Marketing Supervisor' },\r\n { code: '22', name: 'Marketing Advisor' },\r\n ];\r\n }\r\n\r\n // Comercial\r\n if (this.userType === 'commercial') {\r\n this.setPhoto('commercial');\r\n return [\r\n { code: '41', name: 'Commercial Supervisor' },\r\n { code: '42', name: 'Commercial Advisor' },\r\n ];\r\n }\r\n\r\n // Cartera\r\n if (this.userType === 'treasure') {\r\n this.setPhoto('treasure');\r\n return [\r\n { code: '51', name: 'Treauser Supervisor' },\r\n { code: '52', name: 'Treauser Advisor' },\r\n ];\r\n }\r\n }\r\n\r\n initForm() {\r\n this.createUserForm = this.fb.group({\r\n name: ['',[Validators.required,Validators.minLength(3),Validators.maxLength(32)],],\r\n last_name: ['',[Validators.required,Validators.minLength(5),Validators.maxLength(32),],],\r\n email: ['', [Validators.required, Validators.maxLength(300)]],\r\n id_card_type: ['', [Validators.required]],\r\n id_card: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(20),]],\r\n phone_indicative: ['', [Validators.required]],\r\n city: ['', [Validators.required]],\r\n role: ['', [Validators.required]],\r\n service_hour: ['', [Validators.required]],\r\n phone_number: ['', [Validators.required, Validators.minLength(10), Validators.maxLength(15)]],\r\n password: ['', [Validators.required, Validators.minLength(7), Validators.maxLength(32)]],\r\n re_password: ['', [Validators.required, Validators.minLength(7), Validators.maxLength(32)]],\r\n state: [''],\r\n });\r\n }\r\n\r\n setPhoto(type: string) {\r\n if (type === 'student') this.photo = '../../../assets/user-form-assets/estudiante.jpg'\r\n if (type === 'academic') this.photo = '../../../assets/user-form-assets/academico.png'\r\n if (type === 'administrative') this.photo = '../../../assets/user-form-assets/administrativo.jpg'\r\n if (type === 'marketing') this.photo = '../../../assets/user-form-assets/marketing.jpg'\r\n if (type === 'commercial') this.photo = '../../../assets/user-form-assets/comercial.jpg'\r\n if (type === 'treasure') this.photo = '../../../assets/user-form-assets/administrativo.jpg'\r\n }\r\n\r\n selectRol(role: any) {\r\n if (role !== 'Seleccione el rol') {\r\n this.createUserForm.controls['role'].setValue(role);\r\n } else {\r\n this.createUserForm.controls['role'].setValue(null);\r\n }\r\n }\r\n\r\n selectIndicatives(indicative: any) {\r\n if (indicative !== 'Seleccione el indicativo') {\r\n this.createUserForm.controls['phone_indicative'].setValue(indicative);\r\n } else {\r\n this.createUserForm.controls['phone_indicative'].setValue(null);\r\n }\r\n }\r\n\r\n selectIdType(idType: any) {\r\n if (idType !== 'Ingrese el tipo de documento') {\r\n this.createUserForm.controls['id_card_type'].setValue(idType);\r\n } else {\r\n this.createUserForm.controls['id_card_type'].setValue(null);\r\n }\r\n }\r\n\r\n selectState(state: any) {\r\n if (state !== 'Seleccione el departamento') {\r\n this.createUserForm.controls['state'].setValue(state);\r\n this.parameterService.getCitiesByState(state).subscribe((response) => {\r\n this.cities = response.data;\r\n });\r\n } else {\r\n this.createUserForm.controls['state'].setValue(null);\r\n this.createUserForm.controls['city'].setValue(null);\r\n this.cities = [];\r\n }\r\n }\r\n\r\n selectCity(city: any) {\r\n if (city !== 'Ciudad de residencia') {\r\n this.createUserForm.controls['city'].setValue(city);\r\n } else {\r\n this.createUserForm.controls['city'].setValue(null);\r\n }\r\n }\r\n}\r\n","<main *ngIf=\"visibility\">\r\n <div @fade class=\"modal_container\">\r\n <div class=\"header_modal\">\r\n <h1>Crear usuario de {{ userType | titlecase}}</h1>\r\n <button (click)=\"closeModal()\">x</button>\r\n </div>\r\n <div class=\"grid_container\">\r\n <div>\r\n <form autocomplete=\"off\" [formGroup]=\"createUserForm\">\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Nombre completo'\"\r\n [control]=\"createUserForm.controls['name']\"\r\n [validateText]=\"'Debe ingresar el nombre'\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Apellidos'\"\r\n [control]=\"createUserForm.controls['last_name']\"\r\n [validateText]=\"'Debe ingresar los apellidos'\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Correo electrónico'\"\r\n [control]=\"createUserForm.controls['email']\"\r\n [validateText]=\"'Debe tener dominio @inglesparatodos.edu.co'\"\r\n ></ipt-input>\r\n <ipt-select\r\n [isRequired]=\"true\"\r\n [defaultText]=\"'Seleccione el rol'\"\r\n (eventSelect)=\"selectRol($event)\"\r\n [data]=\"getRolesOptions()\"\r\n ></ipt-select>\r\n <ipt-select\r\n [isRequired]=\"true\"\r\n [data]=\"phoneNumberIndicatives\"\r\n (eventSelect)=\"selectIndicatives($event)\"\r\n [defaultText]=\"'Seleccione el indicativo'\"\r\n ></ipt-select>\r\n <ipt-input\r\n [inputType]=\"'number'\"\r\n [placeHolder]=\"'Número de teléfono'\"\r\n [control]=\"createUserForm.controls['phone_number']\"\r\n [validateText]=\"'Debe ingresar un número de teléfono válido'\"\r\n ></ipt-input>\r\n <ipt-select\r\n [isRequired]=\"true\"\r\n [data]=\"idTypes\"\r\n (eventSelect)=\"selectIdType($event)\"\r\n [defaultText]=\"'Ingrese el tipo de documento'\"\r\n ></ipt-select>\r\n <ipt-input\r\n [inputType]=\"'number'\"\r\n [placeHolder]=\"'Documento de identidad'\"\r\n [control]=\"createUserForm.controls['id_card']\"\r\n [validateText]=\"'Debe ingresar el número de documento'\"\r\n ></ipt-input>\r\n <ipt-select\r\n [isRequired]=\"true\"\r\n (eventSelect)=\"selectState($event)\"\r\n [data]=\"states\"\r\n [defaultText]=\"'Seleccione el departamento'\"\r\n ></ipt-select>\r\n <ipt-select\r\n [isRequired]=\"true\"\r\n (eventSelect)=\"selectCity($event)\"\r\n [data]=\"cities\"\r\n [defaultText]=\"'Ciudad de residencia'\"\r\n ></ipt-select>\r\n <ipt-input *ngIf=\"!(userType === 'student')\"\r\n [inputType]=\"'number'\"\r\n [placeHolder]=\"'Ingrese las horas de servicio'\"\r\n [control]=\"createUserForm.controls['service_hour']\"\r\n [validateText]=\"'Debe ingresar las horas de servicio'\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'password'\"\r\n [placeHolder]=\"'Contraseña'\"\r\n [control]=\"createUserForm.controls['password']\"\r\n >\r\n </ipt-input>\r\n <ipt-input\r\n [inputType]=\"'password'\"\r\n [placeHolder]=\"'Repetir contraseña'\"\r\n [control]=\"createUserForm.controls['re_password']\"\r\n >\r\n </ipt-input>\r\n </form>\r\n\r\n <div class=\"buttons-container\">\r\n <ipt-button\r\n [label]=\"'Crear usuario'\"\r\n [isEnabled]=\"\r\n !loader &&\r\n createUserForm.value['re_password'] ===\r\n createUserForm.value['password']\r\n \"\r\n (onClick)=\"createUser()\"\r\n [primary]=\"true\"\r\n >\r\n </ipt-button>\r\n </div>\r\n </div>\r\n <div [ngStyle]=\"{'background-image': 'url(' + photo + ')'}\" class=\"user_type_image\"></div>\r\n </div>\r\n </div>\r\n</main>\r\n","import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';\r\n\r\nimport { BaseService } from '../../../core/utils/base-service/base.service';\r\nimport { UserTokenRq } from '../../../core/models/user/user-rq.model';\r\nimport { StorageService } from '../../../core/services/storage-service/storage-service';\r\nimport { UserService } from '../../../core/services/user-service/user-service';\r\n\r\n@Component({\r\n selector: 'ipt-sidenav',\r\n template: `\r\n <mat-sidenav #sidenav mode=\"push\" >\r\n <mat-toolbar color=\"primary\" (click)=\"sidenav.toggle()\">\r\n <span style=\"font-size: 15px;\">{{department}}</span>\r\n <span class=\"menu-icon-close\"></span>\r\n </mat-toolbar>\r\n\r\n <mat-nav-list *ngFor=\"let route of routes\">\r\n <nav class=\"flex-container-menu\">\r\n <ipt-aside-button\r\n [buttonActive]=\"this.setPage === route.page\"\r\n [icon]=\"route.icon\"\r\n [text]=\"route.text\"\r\n (isClicked)=\"clickPage(route.page)\"\r\n (click)=\"sidenav.toggle()\"\r\n >\r\n </ipt-aside-button>\r\n </nav>\r\n </mat-nav-list>\r\n </mat-sidenav>\r\n\r\n <mat-toolbar class=\"header\">\r\n <div class=\"menu-container\" (click)=\"sidenav.toggle()\">\r\n <p>Menu</p>\r\n <div class=\"menu-icon\"></div>\r\n </div>\r\n\r\n <img class=\"img-logo\" src=\"http://qa.iptdev.com.co/assets/logos/IPT-logo.png\" alt=\"\" />\r\n\r\n <div class=\"text-container\">\r\n <span class=\"p1\">{{ currentDay }}</span>\r\n <span *ngIf=\"hour >= 0 && hour < 12\" class=\"p2\">\r\n Hey {{ userName }}, Good moorning!\r\n </span>\r\n <p *ngIf=\"hour >= 12 && hour < 18\" class=\"p2\">\r\n Hey {{ userName }}, Good afternoon!\r\n </p>\r\n <p *ngIf=\"hour >= 18 && hour < 24\" class=\"p2\">\r\n Hey {{ userName }}, Good evening!\r\n </p>\r\n </div>\r\n\r\n <div *ngIf=\"!this.appUser\" class=\"logout-container\" (click)=\"logout()\">\r\n <p class=\"logout-button\">Cerrar sesión</p>\r\n <div class=\"photo-logout\"></div>\r\n </div>\r\n </mat-toolbar>\r\n `,\r\n styleUrls: ['./sidenav.css'],\r\n})\r\nexport class SidenavComponent implements OnInit {\r\n @Input() department!: string;\r\n @Input() setPage!: string;\r\n @Input() userName!: string;\r\n @Output() pageChangeEvent = new EventEmitter<string>();\r\n\r\n appUser: boolean = false;\r\n routes: any[] = [];\r\n options: any = { weekday: 'long', month: 'long', day: 'numeric' };\r\n currentDay = new Date().toLocaleDateString('en-EN', this.options);\r\n hour = new Date().getHours();\r\n\r\n constructor(\r\n private userService: UserService,\r\n private baseService: BaseService,\r\n private storageService: StorageService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n let user = this.storageService.getCurrentUser()?.token;\r\n let token: string = user === undefined ? '' : user;\r\n\r\n let request: UserTokenRq = {\r\n token: token,\r\n };\r\n\r\n this.userService.getRoutesForRole(request).subscribe((response) => {\r\n this.routes = response.data;\r\n });\r\n\r\n this.appUser = this.baseService.isAnAppUser();\r\n }\r\n\r\n clickPage(event: string) {\r\n this.pageChangeEvent.emit(event);\r\n }\r\n\r\n logout() {\r\n this.storageService.logout();\r\n this.pageChangeEvent.emit('logout');\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatButtonModule } from '@angular/material/button';\r\n\r\n@NgModule({\r\n exports: [MatSidenavModule, MatToolbarModule, MatIconModule, MatListModule, MatButtonModule],\r\n})\r\nexport class MaterialModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { CommonModule, CurrencyPipe, TitleCasePipe } from '@angular/common';\r\n\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { AsideButtonComponent } from './atoms/aside-button/aside-button.component';\r\nimport { ButtonComponent } from './atoms/button/button.component';\r\nimport { CheckboxComponent } from './atoms/checkbox/checkbox.component';\r\nimport { DatalistComponent } from './atoms/datalist/datalist.component';\r\nimport { InputComponent } from './atoms/input/input.component';\r\nimport { LevelButtonComponent } from './atoms/level-button/level-button.component';\r\nimport { LevelTextComponent } from './atoms/level-text/level-text.component';\r\nimport { LoaderComponent } from './atoms/loader/loader.component';\r\nimport { RadioComponent } from './atoms/radio/radio.component';\r\nimport { SelectComponent } from './atoms/select/select.component';\r\nimport { TextLinkComponent } from './atoms/text-link/text-link.component';\r\n\r\nimport { LoginFormComponent } from './forms/login-form/login-form.component';\r\nimport { CreateUserFormComponent } from './forms/create-user-form/create-user-form.component';\r\n\r\nimport { SidenavComponent } from './molecules/sidenav/sidenav.component';\r\nimport { MaterialModule } from './material.module';\r\nimport { CurrencyMaskModule } from 'ng2-currency-mask';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AsideButtonComponent,\r\n ButtonComponent,\r\n CheckboxComponent,\r\n CreateUserFormComponent,\r\n DatalistComponent,\r\n InputComponent,\r\n LevelButtonComponent,\r\n LevelTextComponent,\r\n LoginFormComponent,\r\n LoaderComponent,\r\n RadioComponent,\r\n SelectComponent,\r\n SidenavComponent,\r\n TextLinkComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n // BrowserModule, // Para evitar doble carga de BrowserModule\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MaterialModule,\r\n CurrencyMaskModule\r\n ],\r\n exports: [\r\n AsideButtonComponent,\r\n ButtonComponent,\r\n CheckboxComponent,\r\n CreateUserFormComponent,\r\n DatalistComponent,\r\n InputComponent,\r\n LevelButtonComponent,\r\n LevelTextComponent,\r\n LoaderComponent,\r\n RadioComponent,\r\n SelectComponent,\r\n TextLinkComponent,\r\n LoginFormComponent,\r\n SidenavComponent,\r\n CurrencyMaskModule\r\n ],\r\n providers: [\r\n CurrencyPipe,\r\n TitleCasePipe\r\n ]\r\n})\r\n\r\nexport class ComponentsModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ipt-cod-documents-section',\r\n templateUrl: './cod-documents-section.component.html',\r\n styleUrls: ['./cod-documents-section.component.css']\r\n})\r\nexport class CodDocumentsSectionComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div class=\"container flex flex-column bg-white border-round-2xl p-3 container animate__animated animate__fadeInUp\">\r\n\r\n <span class=\"bg-primary p-2 border-round mb-2 w-auto text-lg font-semibold\">Documentos del COD</span>\r\n\r\n <div *ngFor=\"let item of [1,2,3,4,5]\" class=\"document_item flex align-items-center p-2 border-round\">\r\n <span>Documento de identidad</span>\r\n <div class=\"ml-auto\">\r\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\"></button>\r\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\"></button>\r\n </div>\r\n </div>\r\n\r\n <hr>\r\n <button pButton pRipple type=\"button\" icon=\"pi pi-plus\" label=\"Agregar\" class=\"p-button-rounded p-button-sm ml-auto mt-2\"></button>\r\n\r\n</div>\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LocalStorageCODService {\r\n\r\n constructor() { }\r\n\r\n getCodFormData(step: number, control: string): string | null {\r\n if (step === 1) return localStorage.getItem(`COD FORM - step1(${control})`);\r\n if (step === 2) return localStorage.getItem(`COD FORM - step2(${control})`);\r\n if (step === 3) return localStorage.getItem(`COD FORM - step3(${control})`);\r\n if (step === 4) return localStorage.getItem(`COD FORM - step4(${control})`);\r\n if (step === 5) return localStorage.getItem(`COD FORM - step5(${control})`);\r\n\r\n return null;\r\n }\r\n\r\n setCodFormData(step: number, control: string, value: string) {\r\n if (step === 1) localStorage.setItem(`COD FORM - step1(${control})`, value);\r\n if (step === 2) localStorage.setItem(`COD FORM - step2(${control})`, value);\r\n if (step === 3) localStorage.setItem(`COD FORM - step3(${control})`, value);\r\n if (step === 4) localStorage.setItem(`COD FORM - step4(${control})`, value);\r\n if (step === 5) localStorage.setItem(`COD FORM - step5(${control})`, value);\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject, Observable } from \"rxjs\";\r\n\r\nexport interface Control {\r\n name: string;\r\n required: boolean;\r\n description: string;\r\n}\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CodFormControls {\r\n\r\n public controls: Array<Control[]> = [\r\n [\r\n { name: 'academic_plan', required: true, description: 'Plan académico' },\r\n { name: 'course_type', required: true, description: 'Tipo de curso' },\r\n { name: 'agreement_by_category', required: true, description: 'Convenio' },\r\n { name: 'english_level', required: true, description: 'Nivel de inglés' },\r\n { name: 'availible_courses', required: false, description: 'Cursos disponibles' },\r\n ],\r\n [\r\n { name: 'student_address', required: true, description: 'Dirección del estudiante' },\r\n { name: 'birthdate', required: true, description: 'Fecha de nacimiento del estudiante' },\r\n { name: 'country', required: true, description: 'País' },\r\n { name: 'state', required: true, description: 'Departamento o estado' },\r\n { name: 'city', required: true, description: 'Ciudad de residencia' },\r\n { name: 'student_id_card_type', required: true, description: 'Tipo de documento del estudiante' },\r\n { name: 'student_id_card', required: true, description: 'Documento del estudiante' },\r\n { name: 'student_last_name', required: true, description: 'Apellidos del estudiante' },\r\n { name: 'student_name', required: true, description: 'Nombres del estudiante' },\r\n { name: 'student_email', required: true, description: 'Correo del estudiante' },\r\n { name: 'nickname', required: true, description: 'Alias o nickname' },\r\n { name: 'gender', required: true, description: 'Género' },\r\n { name: 'age', required: true, description: 'Edad' },\r\n { name: 'student_occupation', required: true, description: 'Ocupación del estudiante' },\r\n { name: 'stratum', required: true, description: 'Estrato del estudiante' },\r\n { name: 'grade', required: true, description: 'Grado del estudiante' },\r\n { name: 'civil_status', required: true, description: 'Estado civil del estudiante' },\r\n { name: 'student_phone_indicative', required: true, description: 'Indicativo del estudiante' },\r\n { name: 'student_phone_number', required: true, description: 'Teléfono del estudiante' },\r\n { name: 'password', required: true, description: 'Contraseña del estudiante' },\r\n { name: 're_password', required: true, description: 'Confirmación de contraseña' },\r\n ],\r\n [\r\n { name: 'parent_id_card_type', required: true, description: 'Tipo de documento del acudiente' },\r\n { name: 'parent_id_card', required: true, description: 'Documento del acudiente' },\r\n { name: 'parent_last_name', required: true, description: 'Apellidos del acudiente' },\r\n { name: 'parent_name', required: true, description: 'Nombres del acudiente' },\r\n { name: 'needAtendant', required: true, description: '¿Requiere acudiente?' },\r\n { name: 'parent_phone_indicative', required: true, description: 'Indicativo del acudiente' },\r\n { name: 'parent_occupation', required: true, description: 'Ocupación del acudiente' },\r\n { name: 'parent_address', required: true, description: 'Dirección del acudiente' },\r\n { name: 'parent_phone_number', required: true, description: 'Teléfono del acudiente' }\r\n ],\r\n [\r\n { name: 'payment_date', required: true, description: 'Fecha de pago' },\r\n { name: 'program_price', required: true, description: 'Valor total del programa' },\r\n { name: 'payment_method', required: true, description: 'Método de pago' },\r\n { name: 'quota_times', required: true, description: 'Cantidad de cuotas' },\r\n { name: 'total_price', required: true, description: 'Precio total de la matricula' },\r\n ],\r\n [\r\n { name: 'marketing_reasons', required: true, description: '¿Cómo se enteró del programa?' },\r\n { name: 'observation', required: false, description: 'Observación' },\r\n { name: 'study_reasons', required: true, description: 'Motivo' },\r\n { name: 'terms', required: true, description: 'Términos y condiciones' },\r\n { name: 'disability', required: false, description: 'Discapacidad' },\r\n { name: 'multiculturalism_1', required: false, description: 'Multiculturalismo' },\r\n { name: 'multiculturalism_2', required: false, description: 'Multiculturalismo' },\r\n { name: 'multiculturalism_3', required: false, description: 'Multiculturalismo' },\r\n { name: 'multiculturalism_4', required: false, description: 'Multiculturalismo' },\r\n { name: 'multiculturalism_5', required: false, description: 'Multiculturalismo' },\r\n { name: 'multiculturalism_6', required: false, description: 'Multiculturalismo' },\r\n { name: 'health_regimen', required: true, description: 'Régimen de salud' }\r\n ],\r\n ];\r\n\r\n private $controls = new BehaviorSubject<Array<Control[]>>([]);\r\n\r\n constructor() {}\r\n\r\n getControlValues(): Observable<Array<Control[]>> {\r\n return this.$controls.asObservable();\r\n }\r\n\r\n // Cambiar los valores de los controls, ejemplo: true y false del checkbox\r\n changeValue(step: number, controlName: string, newValue: any) {\r\n const controls: Array<Control[]> = { ...this.controls };\r\n let control = controls[step-1].filter(element => element.name === controlName);\r\n control[0].required = newValue;\r\n\r\n this.$controls.next(controls)\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { GetDiscountCouponsRq } from '../../models/payment/payment-rq.model';\r\nimport { CreateCODRq } from '../../models/cod/cod-rq.model';\r\nimport { IPTGeneralService } from '../service-enviroments';\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class CommercialService extends IPTGeneralService {\r\n\r\n private SERVICE_URL = 'commercial/api/';\r\n\r\n constructor(private http: HttpClient) {\r\n super();\r\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\r\n }\r\n\r\n createCOD(request: CreateCODRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/cod';\r\n this.generateRequestParams(request);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getStudentCodHistory(token: string, student_id_card: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/obtain/cod/history/by/student';\r\n this.generateRequestParams({token, student_id_card});\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getCodHistoryAll(userToken: any): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/obtain/cod/history/all';\r\n this.generateRequestParams(userToken);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getCodHistoryByCourse(request: any): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/obtain/cod/history/by/course';\r\n this.generateRequestParams(request);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getDiscountCoupons(params: GetDiscountCouponsRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/discount/coupon/search';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getCodPricesByAgreement(code: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/cod/prices/by/agreement/' + code;\r\n this.generateRequestParams(code);\r\n return this.http.get(serviceUrl, this.httpOptions);\r\n }\r\n\r\n\r\n}\r\n","import { Observable } from \"rxjs\";\r\nimport { Control } from \"./cod-form-controls\";\r\nimport { LocalStorageCODService } from \"./local-storage-cod.service\";\r\n\r\nexport interface localStorageValues {\r\n control: string,\r\n value: any\r\n}\r\n\r\nexport abstract class CodFormSteps {\r\n\r\n public localStorageCOD = new LocalStorageCODService();\r\n\r\n constructor() {}\r\n\r\n readAndWriteLS(step: number, control: string): localStorageValues {\r\n if (this.localStorageCOD.getCodFormData(step, control)) {\r\n const value = this.localStorageCOD.getCodFormData(step, control);\r\n return { control, value };\r\n } else {\r\n return { control, value: '' }\r\n }\r\n }\r\n\r\n setDataInLocalStorage(step: number, control: string, value: any) {\r\n this.localStorageCOD.setCodFormData(step, control, value);\r\n }\r\n\r\n listenFormChanges(step: number, control: string, obs: Observable<any>) {\r\n obs.subscribe(value => {\r\n this.setDataInLocalStorage(step, control, value);\r\n });\r\n }\r\n\r\n resetLocalStorage(controls: Control[]) {\r\n controls.forEach(control => {\r\n localStorage.removeItem(control.name);\r\n });\r\n }\r\n\r\n}\r\n","const copies: any = {\r\n \"es\": {\r\n \"modal_template\": {\r\n \"inputs\": {\r\n \"city\":\"Ingrese su ciudad de residencia\",\r\n \"country\":\"Ingresa tu pais de residencia\",\r\n \"comments\":\"Ingresa tus comentarios de registro ( Opcional )\",\r\n \"date_of_birth\":\"Ingresa tu fecha de nacimiento\",\r\n \"email\": \"Correo electronico\",\r\n \"id_card\": \"Documento de identidad\",\r\n \"last_name\": \"Apellidos\",\r\n \"name\": \"Nombres\",\r\n \"phone_number\": \"Numero de teléfono\",\r\n \"password\": \"Contraseña\",\r\n \"re_password\": \"Repetir contraseña\",\r\n \"role\": \"Seleccione el rol\",\r\n \"service_hour\": \"Horas de servicio\",\r\n \"id_card_type\":\"Ingresa tu tipo de documento\",\r\n \"phone_indicative\": \"Seleccione su indicativo\",\r\n \"state\":\"Seleccione su departamento\",\r\n \"file\": \"Seleccionar archivo\",\r\n \"contacted_contact\": \"Contactado...\",\r\n \"status_contact\": \"Status\",\r\n \"plan_contact\": \"Tipo Plan\",\r\n \"observations_contact\": \"Observaciones\",\r\n },\r\n \"validators\": {\r\n \"city\":\"Debe ingresar la ciudad de residencia\",\r\n \"country\":\"Debes ingresar el pais de residencia\",\r\n \"date_of_birth\":\"Debes ingrese la fecha de nacimiento\",\r\n \"email\": \"Recuerda usar correos con dominio @inglesparatodos.edu.co\",\r\n \"id_card\": \"Debes ingresar el número de documento.\",\r\n \"last_name\": \"Debes ingresar los apellidos del usuario.\",\r\n \"name\": \"Debes ingresar el nombre del usuario\",\r\n \"phone_number\": \"Debes ingresar un número de teléfono valido\",\r\n \"password\": \"Debe ser de minimo 7 digitos\",\r\n \"re_password\": \"Debe ser de minimo 7 digitos\",\r\n \"role\": \"Debe seleccionar un rol\",\r\n \"service_hour\": \"Debe ingresar las horas de servicio\",\r\n \"id_card_type\":\"Debes ingresar el tipo de documento\",\r\n \"phone_indicative\": \"Debes seleccionar un indicativo\",\r\n \"state\":\"Seleccione el departamento\",\r\n \"id_document\": \"Debe subir un archivo\",\r\n \"agreement_document\": \"Debe subir un archivo\",\r\n \"parent_id_document\": \"Debe subir un archivo\",\r\n \"comfanorte_document\": \"Debe subir un archivo\",\r\n \"contacted_contact\": \"Debe seleccionar forma de contactar cliente\",\r\n \"status_contact\": \"Debe seleccionar un estaus.\",\r\n \"plan_contact\": \"Debe seleccionar un plan\",\r\n \"observariones_contact\": \"Debe llenar el campo observaciones\",\r\n\r\n }\r\n },\r\n \"dashboard_template\": {\r\n \"inputs\": {\r\n \"agreement_by_category\":\"Convenio por categoria\",\r\n \"academic_level\": \"Ingrese el nivel academico ( Pregrado / Posgrado )\",\r\n \"academic_plan\": 'Plan',\r\n \"address\": \"ingrese su direccion\",\r\n \"agreement\": \"ingrese el convenio\",\r\n \"availible_courses\":\"Grupos disponibles\",\r\n \"birthdate\":\"Ingresa tu fecha de nacimiento\",\r\n \"city\":\"Ingrese su ciudad de residencia\",\r\n \"classroom\": \"Grupos Disponibles\",\r\n \"country\":\"Ingresa tu pais de residencia\",\r\n \"course_type\": \"Tipo de plan\",\r\n \"degree\": \"Nivel universitario\",\r\n \"comments\":\"Ingresa tus comentarios de registro ( Opcional )\",\r\n \"email\": \"Correo electronico\",\r\n \"email_ufps\": \"ingresa el correo electronico con dominio ufps.edu.co\",\r\n \"email_unipamplona\": \"Ingresa el correo con dominio unipamplona.edu.co\",\r\n \"financing_value\": \"Valor pagado\",\r\n \"financing_date\": \"Fecha de pago\",\r\n \"financing_responsable\": \"Recibido por\",\r\n \"financing_sales_check\": \"Numero de recibo\",\r\n \"financing_invoice_number\":\"Numero de recibo\",\r\n \"id_cod\": \"Numero de inscripcion\",\r\n \"id_card_type\":\"Ingresa tu tipo de documento\",\r\n \"id_card\": \"Documento de identidad\",\r\n \"id_financing\": \"Consecutivo\",\r\n \"id_payment\": \"Ingrese el número de recibo\",\r\n \"last_name\": \"Apellidos\",\r\n \"name\": \"Ingrese los nombres\",\r\n \"nickname\":\"Nickname\",\r\n \"needAtendant\": \"¿Requiere acudiente?\",\r\n \"marketing_reasons\": \"¿Cómo se entero del programa?\",\r\n \"level\": \"Seleccione el nivel\",\r\n \"observation\": \"Observaciones\",\r\n \"occupation\":\"Ocupacion\",\r\n \"password\": \"Contraseña\",\r\n \"phone_indicative\": \"Seleccione su indicativo\",\r\n \"phone_number\": \"Numero de teléfono\",\r\n \"paymentMethod\": \"Seleccione el metodo de pago\",\r\n \"payment_date\": \"Ingresa la fecha de pago\",\r\n \"program\":\"Ingrese el programa academico\",\r\n \"first_quota_price\": \"Ingrese el valor de la primera cuota\",\r\n \"quota_times\": \"Ingresar el numero de cuotas\",\r\n \"role\": \"Seleccione el rol\",\r\n \"re_password\": \"Repetir contraseña\",\r\n \"re_total_price\": \"Confirmar el valor total de la matricula\",\r\n \"service_hour\": \"Horas de servicio\",\r\n \"semester\": \"Semestre actual\",\r\n \"school_name\": \"Ingrese el nombre del colegio\",\r\n \"school_grade\": \"Grado escolar\",\r\n \"state\":\"Seleccione su departamento\",\r\n \"study_reasons\":\"Motivo\",\r\n \"total_price\": \"Ingrese el monto total de la matricula\",\r\n \"ufps_code\": \"Ingrese el codigo UFPS\",\r\n \"unipamplona_code\": \"Ingresa tu codigo UniPamplona\",\r\n \"type_coupon\":\"Ingrese el tipo de cupon\"\r\n },\r\n \"validators\": {\r\n \"academic_level\": \"Ingrese el nivel academico ( Pregrado / Posgrado )\",\r\n \"academic_plan\": 'Plan',\r\n \"address\": \"Debes ingresar su direccion\",\r\n \"agreement_by_category\":\"Convenio por categoria\",\r\n \"availible_courses\":\"Debes seleccionar el grupo\",\r\n \"birthdate\":\"Debes ingresar tu fecha de nacimiento\",\r\n \"city\":\"Debes ingresar la ciudad de residencia\",\r\n \"classroom\": \"Debe seleccionar los grupos disponibles\",\r\n \"country\":\"Debes ingresar el pais de residencia\",\r\n \"degree\": \"Debe seleccionar el nivel universitario\",\r\n \"email\": \"Recuerda usar correos con dominio @inglesparatodos.edu.co\",\r\n \"email_ufps\": \"ingresa el correo electronico con dominio ufps.edu.co\",\r\n \"email_unipamplona\": \"Ingresa el correo con dominio unipamplona.edu.co\",\r\n \"financing_value\": \"Debe ingresar el valor pagado de la cuota\",\r\n \"financing_date\": \"Debe ingresar la fecha de realizacion del pago\",\r\n \"financing_responsable\": \"Debe ingresar el nombre de quien recibe el pago\",\r\n \"financing_sales_check\": \"Debe ingresar el numero de recibo\",\r\n \"financing_invoice_number\":\"Debes ingresar el numero de recibo\",\r\n \"id_cod\": \"Ingrese el numero de inscripcion\",\r\n \"id_card_type\":\"Debes ingresar el tipo de documento\",\r\n \"id_card\": \"Debes ingresar el número de documento.\",\r\n \"id_payment\": \"Debe ingresar el número de recibo\",\r\n \"last_name\": \"Debes ingresar los apellidos del usuario.\",\r\n \"name\": \"Debes ingresar el nombre del usuario\",\r\n \"nickname\":\"Debes ingresar el nickname\",\r\n \"marketing_reasons\": \"¿Cómo se entero del programa?\",\r\n \"needAtendant\": \"Debes ingresar si requiere o no acudiente\",\r\n \"level\": \"Seleccione el nivel\",\r\n \"observation\": \"Observaciones\",\r\n \"occupation\":\"Debes ingresar la ocupacion\",\r\n \"password\": \"Debe ser de minimo 7 digitos\",\r\n \"paymentMethod\": \"Seleccione el metodo de pago\",\r\n \"payment_date\": \"Debe ingresa la fecha de pago\",\r\n \"phone_number\": \"Debes ingresar un número de teléfono valido\",\r\n \"phone_indicative\": \"Debes seleccionar un indicativo\",\r\n \"first_quota_price\": \"Debe ingresar el valor de la primera cuota\",\r\n \"quota_times\": \"Ingrese un número de cuotas válido\",\r\n \"program\":\"Debe ingresar el programa academico\",\r\n \"role\": \"Debe seleccionar un rol\",\r\n \"re_password\": \"Debe ser de minimo 7 digitos\",\r\n \"re_total_price\": \"Debe confirmar el valor total de la matricula\",\r\n \"semester\": \"Debe ingresar el semestre actual\",\r\n \"service_hour\": \"Debe ingresar las horas de servicio\",\r\n \"school_name\": \"Debe ingresar el nombre del colegio\",\r\n \"school_grade\": \"Debes ingresar el grado actual\",\r\n \"state\":\"Seleccione el departamento\",\r\n \"study_reasons\":\"Motivo\",\r\n \"total_price\": \"Debe ingresar el monto total de la matricula\",\r\n \"ufps_code\": \"Debe ingresar el codigo UFPS\",\r\n \"unipamplona_code\": \"Debes ingresar tu codigo UniPamplona\"\r\n },\r\n },\r\n \"attendant\": {\r\n \"inputs\": {\r\n \"address\": \"ingrese su direccion\",\r\n \"city\":\"Ingrese su ciudad de residencia\",\r\n \"country\":\"Ingresa tu pais de residencia\",\r\n \"id_card_type\":\"Ingresa tu tipo de documento\",\r\n \"id_card\": \"Documento de identidad\",\r\n \"last_name\": \"Apellidos\",\r\n \"name\": \"Ingrese los nombres\",\r\n \"phone_indicative\": \"Seleccione su indicativo\",\r\n \"phone_number\": \"Numero de teléfono\",\r\n \"state\":\"Seleccione su departamento\",\r\n },\r\n \"validators\": {\r\n \"address\": \"Debes ingresar su direccion\",\r\n \"city\":\"Debes ingresar la ciudad de residencia\",\r\n \"country\":\"Debes ingresar el pais de residencia\",\r\n \"id_card_type\":\"Debes ingresar el tipo de documento\",\r\n \"id_card\": \"Debes ingresar el número de documento.\",\r\n \"last_name\": \"Debes ingresar los apellidos del usuario.\",\r\n \"name\": \"Debes ingresar el nombre del usuario\",\r\n \"phone_number\": \"Debes ingresar un número de teléfono valido\",\r\n \"phone_indicative\": \"Debes seleccionar un indicativo\",\r\n \"state\":\"Seleccione el departamento\",\r\n }\r\n },\r\n \"menu\": {\r\n \"field1\": \"Home\",\r\n \"field2\": \"Groups\",\r\n \"field3\": \"Profile\",\r\n \"field5\": \"Score\",\r\n \"field4\": \"Search\",\r\n \"endField\": \"Cerrar Sesión\"\r\n },\r\n \"edit_profile\": {\r\n \"inputs\": {\r\n \"id_card\": \"Documento de identidad\",\r\n \"ufps_code\": \"Código de la universidad\",\r\n \"email\": \"Correo dominio @ufps.edu.co\",\r\n \"last_name\": \"Ingresa tus apellidos\",\r\n \"name\": \"Ingresa tus nombres\",\r\n \"phone\": \"Numero de teléfono\",\r\n },\r\n },\r\n \"en\": {}\r\n }\r\n}\r\n\r\nexport function getCopies(): any {\r\n return copies;\r\n}","import { Injectable } from '@angular/core';\r\nimport { getCopies } from '../utils/copies';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CopiesService {\r\n\r\n constructor() { }\r\n\r\n public copies: any = getCopies();\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { IPTGeneralService } from '../service-enviroments';\r\nimport { CreateCourseRq, EditCourseRq, GetAvailibleCoursesRq, GetCourseByCodeRq, GetCoursesByTeacherRq, GetCoursesRq } from '../../models/course/course-rq.model';\r\nimport { CourseStartDateRq } from '../../models/cronogram/cronogram.models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CourseService extends IPTGeneralService{\r\n private SERVICE_URL = 'academic/api/';\r\n\r\n constructor(private http: HttpClient) {\r\n super();\r\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\r\n }\r\n\r\n createCourse(course: CreateCourseRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/course';\r\n this.generateRequestParams(course);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n editCourse(course: EditCourseRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'put/course';\r\n this.generateRequestParams(course);\r\n return this.http.put(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getAllCourses(params: GetCoursesRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/all/courses';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getCoursesByLevel(params: GetCoursesRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/course/by/level';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getAvailibleCourses( availibleCourses: GetAvailibleCoursesRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/course/for/cod';\r\n this.generateRequestParams(availibleCourses);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getCourseByCode(params: GetCourseByCodeRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/course/by/code';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getCoursesByTeacher(params: GetCoursesByTeacherRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/course/by/teacher';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getFilteredCoursesByTeacher(params: GetCoursesByTeacherRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/course/filtered/by/teacher';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getCoursesByStartDate(params: CourseStartDateRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/course/by/startdate';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n numberClassByCode(idCode: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/coursetype/numclass/by/code/' + idCode;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class CommunicatorService {\r\n private $courseType = new BehaviorSubject<string>('');\r\n private $agreement = new BehaviorSubject<string>('');\r\n\r\n constructor() { }\r\n\r\n getSelectedCourseType(): Observable<string> {\r\n return this.$courseType.asObservable();\r\n }\r\n\r\n setCurrentCourseType(value: string) {\r\n this.$courseType.next(value);\r\n }\r\n\r\n getSelectedAgreement(): Observable<string> {\r\n return this.$agreement.asObservable();\r\n }\r\n\r\n setCurrentAgreement(value: string) {\r\n this.$agreement.next(value);\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { GetAvailibleCoursesRq } from '../../../core/models/course/course-rq.model';\r\nimport { CopiesService } from '../../../core/services/copies.service';\r\nimport { CourseService } from '../../../core/services/course-service/course-service.model';\r\nimport { ParameterService } from '../../../core/services/parameters-service/parameters.service';\r\nimport { BaseService } from '../../../core/utils/base-service/base.service';\r\nimport { CodFormControls } from '../../logic/cod-form-controls';\r\nimport { CodFormSteps, localStorageValues } from '../../logic/cod-form-steps';\r\nimport { CommunicatorService } from '../../logic/communicator.service';\r\n\r\n@Component({\r\n selector: 'app-cod-form-step-one',\r\n templateUrl: './cod-form-step-one.component.html',\r\n styleUrls: ['./cod-form-step-one.component.css'],\r\n})\r\nexport class CodFormStepOneComponent extends CodFormSteps implements OnInit {\r\n @Output() changeStepEvent = new EventEmitter<number>();\r\n\r\n copies: any;\r\n codFormStepOne!: FormGroup;\r\n hasAvailableCourse!: boolean;\r\n\r\n // Parameters\r\n agreements: any;\r\n availibleCourses: any[] = [];\r\n course_type: any;\r\n levels: any;\r\n plans: any;\r\n\r\n // Controls del formulario\r\n controls = new CodFormControls().controls[0];\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private parameterService: ParameterService,\r\n private copiesService: CopiesService,\r\n private baseService: BaseService,\r\n private courseService: CourseService,\r\n private communicatorService: CommunicatorService,\r\n ) {\r\n super();\r\n this.copies = this.copiesService.copies;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getParameters();\r\n this.initForm();\r\n this.startLocalStorageWork();\r\n this.setValuesByLocalStorage()\r\n\r\n this.codFormStepOne.controls['course_type'].valueChanges\r\n .subscribe(value => this.communicatorService.setCurrentCourseType(value));\r\n\r\n this.communicatorService.setCurrentAgreement(this.localStorageCOD.getCodFormData(1, 'agreement_by_category')!);\r\n }\r\n\r\n /* Es necesario recorrer el array de controls de nuestro formulario para:\r\n ✅ Leer el Local Storage y setear los valores\r\n ✅ Subscribirse a los cambios del formulario para setear valores nuevos\r\n\r\n Nota: la clase CodFormSteps() se encarga de toda la lógica de LS con los pasos del formulario del COD\r\n */\r\n startLocalStorageWork() {\r\n this.controls.forEach(control => {\r\n let localStorageValue: localStorageValues = this.readAndWriteLS(1, control.name);\r\n this.codFormStepOne.controls[control.name].setValue(localStorageValue.value);\r\n this.listenFormChanges(1, control.name, this.codFormStepOne.controls[control.name].valueChanges);\r\n });\r\n }\r\n\r\n getParameters() {\r\n this.parameterService.getAllPlans().subscribe((response) => {\r\n this.plans = response.data;\r\n });\r\n this.parameterService.getLevels().subscribe((response) => {\r\n this.levels = response.data;\r\n });\r\n }\r\n\r\n initForm() {\r\n this.codFormStepOne = this.fb.group({\r\n academic_plan: ['', [Validators.required]],\r\n course_type: ['', [Validators.required]],\r\n agreement_by_category: ['', [Validators.required]],\r\n english_level: ['', [Validators.required]],\r\n availible_courses: ['', []],\r\n });\r\n }\r\n\r\n setValuesByLocalStorage() {\r\n const academicPlan = this.codFormStepOne.controls['academic_plan'].value || null;\r\n if (!academicPlan) return;\r\n this.selectAcademicPlan(academicPlan);\r\n\r\n const agreementByCategory = this.codFormStepOne.controls['agreement_by_category'].value || null;\r\n if (!agreementByCategory) return;\r\n this.getAvailibleCourses();\r\n\r\n const englishLevel = this.codFormStepOne.controls['english_level'].value || null;\r\n if (!englishLevel) return;\r\n this.getAvailibleCourses();\r\n }\r\n\r\n sendForm() {\r\n this.codFormStepOne.markAsTouched();\r\n if (this.codFormStepOne.invalid) return;\r\n\r\n // Movernos al paso 2\r\n this.changeStepEvent.emit(1);\r\n }\r\n\r\n resetForm() {\r\n this.resetLocalStorage(this.controls);\r\n this.codFormStepOne.reset();\r\n }\r\n\r\n // Eventos de los selects\r\n selectAcademicPlan(academic_plan: any) {\r\n if (academic_plan !== 'Plan') {\r\n this.codFormStepOne.controls['academic_plan'].setValue(academic_plan);\r\n this.getCourseType(academic_plan);\r\n this.getAgreementByPlan(academic_plan);\r\n } else {\r\n this.codFormStepOne.controls['academic_plan'].setValue(null);\r\n this.codFormStepOne.controls['course_type'].setValue(null);\r\n this.codFormStepOne.controls['agreement_by_category'].setValue(null);\r\n }\r\n }\r\n\r\n getCourseType(plan: number) {\r\n this.parameterService.getCoursesTypesByPlan(plan).subscribe((response) => {\r\n this.course_type = response.data;\r\n });\r\n }\r\n\r\n getAgreementByPlan(plan: number) {\r\n this.parameterService.getAgreementByCategory(plan).subscribe((response) => {\r\n this.agreements = response.data;\r\n });\r\n }\r\n\r\n selectCoursesTypesByPlan(coursesTypes: any) {\r\n if (coursesTypes !== 'Tipo de plan') {\r\n this.codFormStepOne.controls['course_type'].setValue(coursesTypes);\r\n this.getAvailibleCourses();\r\n } else {\r\n this.codFormStepOne.controls['course_type'].setValue(null);\r\n }\r\n }\r\n\r\n selectAgreementByCategory(agreementByCategories: any) {\r\n if (agreementByCategories !== 'Convenio por categoria') {\r\n this.codFormStepOne.controls['agreement_by_category'].setValue(agreementByCategories);\r\n this.communicatorService.setCurrentAgreement(agreementByCategories);\r\n this.getAvailibleCourses();\r\n } else {\r\n this.codFormStepOne.controls['agreement_by_category'].setValue(null);\r\n this.codFormStepOne.controls['school_name'].setValue(null);\r\n }\r\n }\r\n\r\n selectLevel(levels: any) {\r\n if (levels !== 'Nivel de inglés') {\r\n this.codFormStepOne.controls['english_level'].setValue(levels);\r\n this.getAvailibleCourses();\r\n } else {\r\n this.codFormStepOne.controls['english_level'].setValue(null);\r\n }\r\n }\r\n\r\n selectAvailibleCourses(availibleCourses: any) {\r\n if (availibleCourses !== 'Grupos disponibles') {\r\n this.codFormStepOne.controls['availible_courses'].setValue(availibleCourses);\r\n } else {\r\n this.codFormStepOne.controls['availible_courses'].setValue(null);\r\n this.codFormStepOne.controls['agreement_by_category'].setValue(null);\r\n this.codFormStepOne.controls['course_type'].setValue(null);\r\n this.codFormStepOne.controls['english_level'].setValue(null);\r\n }\r\n }\r\n\r\n private validRequest(): boolean {\r\n return (\r\n this.codFormStepOne.controls['english_level'].value != '' &&\r\n this.codFormStepOne.controls['agreement_by_category'].value != '' &&\r\n this.codFormStepOne.controls['course_type'].value != ''\r\n );\r\n }\r\n\r\n getAvailibleCourses() {\r\n this.availibleCourses = [];\r\n if (this.validRequest()) {\r\n let request_availibleCourses: GetAvailibleCoursesRq = {\r\n token: this.baseService.getUserToken(),\r\n english_level: this.codFormStepOne.controls['english_level'].value,\r\n agreement: this.codFormStepOne.controls['agreement_by_category'].value,\r\n course_type: this.codFormStepOne.controls['course_type'].value,\r\n };\r\n this.courseService\r\n .getAvailibleCourses(request_availibleCourses)\r\n .subscribe((response) => {\r\n if (response.data) {\r\n let courses: any[] = response.data;\r\n this.hasAvailableCourse = true;\r\n courses.forEach(course => {\r\n this.availibleCourses.push({\r\n code: course.code,\r\n name: `Curso ${course.modality === 1 ? 'Presencial' : 'Virtual'} ${course.course_type.name} (${course.english_level}) - Teacher ${course.teacher}, Fecha de inicio: ${course.to_start}`\r\n });\r\n })\r\n } else {\r\n this.hasAvailableCourse = false;\r\n this.codFormStepOne.controls['availible_courses'].setValue(\"\");\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","<form [formGroup]=\"codFormStepOne\" class=\"grid\">\r\n <div class=\"col\">\r\n <ipt-select\r\n [initialValue]=\"codFormStepOne.controls['academic_plan'].value\"\r\n [selectCode]=\"codFormStepOne.controls['academic_plan'].value === null? 'Plan': codFormStepOne.controls['academic_plan'].value\"\r\n [defaultText]=\"'Plan'\"\r\n [isRequired]=\"true\"\r\n (eventSelect)=\"selectAcademicPlan($event)\"\r\n [data]=\"plans\"\r\n [control]=\"codFormStepOne.controls['academic_plan']\"\r\n ></ipt-select>\r\n <ipt-select\r\n [initialValue]=\"codFormStepOne.controls['course_type'].value\"\r\n [selectCode]=\"codFormStepOne.controls['course_type'].value === null? 'Tipo de plan': codFormStepOne.controls['course_type'].value\"\r\n [defaultText]=\"'Tipo de plan'\"\r\n [isRequired]=\"true\"\r\n (eventSelect)=\"selectCoursesTypesByPlan($event)\"\r\n [data]=\"course_type\"\r\n [control]=\"codFormStepOne.controls['course_type']\"\r\n ></ipt-select>\r\n </div>\r\n <div class=\"col\">\r\n <ipt-select\r\n [initialValue]=\"codFormStepOne.controls['agreement_by_category'].value\"\r\n [selectCode]=\"codFormStepOne.controls['agreement_by_category'].value === null? 'Convenio por categoria': codFormStepOne.controls['agreement_by_category'].value\"\r\n [defaultText]=\"'Convenio por categoria'\"\r\n [isRequired]=\"true\"\r\n (eventSelect)=\"selectAgreementByCategory($event)\"\r\n [data]=\"agreements\"\r\n [control]=\"codFormStepOne.controls['agreement_by_category']\"\r\n ></ipt-select>\r\n <ipt-select\r\n [initialValue]=\"codFormStepOne.controls['english_level'].value\"\r\n [selectCode]=\"codFormStepOne.controls['english_level'].value === null? 'Nivel de inglés': codFormStepOne.controls['english_level'].value\"\r\n [defaultText]=\"'Nivel de inglés'\"\r\n [isRequired]=\"true\"\r\n (eventSelect)=\"selectLevel($event)\"\r\n [data]=\"levels\"\r\n [control]=\"codFormStepOne.controls['english_level']\"\r\n ></ipt-select>\r\n </div>\r\n <div class=\"col-12\">\r\n <ipt-select\r\n [initialValue]=\"codFormStepOne.controls['availible_courses'].value\"\r\n [selectCode]=\"codFormStepOne.controls['availible_courses'].value === null? 'Grupos disponibles': codFormStepOne.controls['availible_courses'].value\"\r\n [defaultText]=\"'Grupos disponibles'\"\r\n [isRequired]=\"true\"\r\n (eventSelect)=\"selectAvailibleCourses($event)\"\r\n [data]=\"availibleCourses\"\r\n [control]=\"codFormStepOne.controls['availible_courses']\"\r\n ></ipt-select>\r\n </div>\r\n <span *ngIf=\"!hasAvailableCourse\" class=\"mt-1 pl-2 text-red-500\">Todavia no hay cursos con estas características.</span>\r\n</form>\r\n\r\n<div class=\"flex mt-2 align-items-center gap-3\">\r\n <span *ngIf=\"codFormStepOne.invalid && codFormStepOne.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">Faltan campos por llenar.</span>\r\n <button type=\"submit\" class=\"ml-auto p-button-sm\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators, FormControl } from '@angular/forms';\r\nimport { ParameterService } from '../../../core/services/parameters-service/parameters.service';\r\nimport { map, Subscription } from 'rxjs';\r\nimport { CodFormControls } from '../../logic/cod-form-controls';\r\nimport { CodFormSteps, localStorageValues } from '../../logic/cod-form-steps';\r\n\r\n@Component({\r\n selector: 'app-cod-form-step-two',\r\n templateUrl: './cod-form-step-two.component.html',\r\n styleUrls: ['./cod-form-step-two.component.css']\r\n})\r\nexport class CodFormStepTwoComponent extends CodFormSteps implements OnInit {\r\n @Input() initialData?: any;\r\n @Output() changeStepEvent = new EventEmitter<number>();\r\n\r\n codFormStepTwo!: FormGroup;\r\n countrySelected: any;\r\n countries: any;\r\n states: any;\r\n cities: any;\r\n errorMessage: string = 'Faltan campos por llenar.';\r\n hasErrors: boolean = false;\r\n idTypes: any;\r\n indicatives: any;\r\n civilStatus: any;\r\n genders: any[] = [];\r\n stratums: any;\r\n\r\n // Controls del formulario\r\n controls = new CodFormControls().controls[1];\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private parameterService: ParameterService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getParameters();\r\n this.initForm();\r\n this.startLocalStorageWork();\r\n this.validateErrors()\r\n if (this.initialData) this.setDataFromPreviusCod();\r\n\r\n this.selectCountry(this.localStorageCOD.getCodFormData(2, 'country'));\r\n }\r\n\r\n setDataFromPreviusCod() {\r\n this.codFormStepTwo.controls['student_name'].setValue(this.initialData.name);\r\n this.codFormStepTwo.controls['student_last_name'].setValue(this.initialData.last_name);\r\n this.codFormStepTwo.controls['student_id_card_type'].setValue(this.initialData.id_card_type);\r\n this.codFormStepTwo.controls['student_id_card'].setValue(this.initialData.id_card);\r\n this.codFormStepTwo.controls['student_phone_indicative'].setValue(this.initialData.phone_indicative);\r\n this.codFormStepTwo.controls['student_phone_number'].setValue(this.initialData.phone_number);\r\n this.codFormStepTwo.controls['birthdate'].setValue(this.initialData.birthdate);\r\n }\r\n\r\n validateErrors() {\r\n this.codFormStepTwo.valueChanges.subscribe(changes => {\r\n if (this.codFormStepTwo.controls['student_name'].hasError('minlength')) {\r\n this.errorMessage = 'Los nombres deben tener mínimo 3 caracteres';\r\n } else if (this.codFormStepTwo.controls['student_last_name'].hasError('minlength')) {\r\n this.errorMessage = 'Los apellidos deben tener mínimo 5 caracteres';\r\n } else if (this.codFormStepTwo.controls['password'].hasError('minlength')) {\r\n this.errorMessage = 'La contraseña debe tener mínimo 6 caracteres';\r\n } else if (this.codFormStepTwo.controls['password'].value !== this.codFormStepTwo.controls['re_password'].value) {\r\n this.errorMessage = 'Las contraseñas no coinciden';\r\n } else if (this.codFormStepTwo.controls['age'].errors) {\r\n this.errorMessage = 'Fecha de nacimiento no válida';\r\n }\r\n else {\r\n this.errorMessage = 'Faltan campos por llenar';\r\n }\r\n })\r\n }\r\n\r\n startLocalStorageWork() {\r\n this.controls.forEach(control => {\r\n let localStorageValue: localStorageValues = this.readAndWriteLS(2, control.name);\r\n this.codFormStepTwo.controls[control.name].setValue(localStorageValue.value);\r\n this.listenFormChanges(2, control.name, this.codFormStepTwo.controls[control.name].valueChanges);\r\n });\r\n }\r\n\r\n initForm() {\r\n this.codFormStepTwo = this.fb.group({\r\n student_address: ['', [Validators.required], []],\r\n birthdate: ['', [Validators.required], []],\r\n country: ['', [Validators.required], []],\r\n state: ['', [Validators.required], []],\r\n city: ['', [Validators.required], []],\r\n student_id_card_type: ['', [Validators.required], []],\r\n student_id_card: [ '', [Validators.required, Validators.minLength(5), Validators.maxLength(20)]],\r\n student_last_name: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(32)]],\r\n student_name: ['', [Validators.required, Validators.minLength(3), Validators.maxLength(32)]],\r\n student_email: ['', [Validators.required, Validators.email]],\r\n nickname: ['', [Validators.required]],\r\n gender: ['', [Validators.required]],\r\n age: ['', [Validators.required], []],\r\n student_occupation: ['', [Validators.required]],\r\n stratum: ['', [Validators.required]],\r\n grade: ['', [Validators.required]],\r\n civil_status: ['', [Validators.required]],\r\n student_phone_indicative: ['', [Validators.required], []],\r\n student_phone_number: ['', [Validators.required, Validators.minLength(10), Validators.maxLength(15)]],\r\n password: ['', [Validators.required, Validators.minLength(6)]],\r\n re_password: ['', [Validators.required, Validators.minLength(6)]],\r\n });\r\n\r\n // Calcular edad y setear valor\r\n this.codFormStepTwo.controls['birthdate'].valueChanges.subscribe({\r\n next: (change) => {\r\n let today = new Date();\r\n let birthday = new Date(change);\r\n let age = today.getFullYear() - birthday.getFullYear();\r\n let month = today.getMonth() - birthday.getMonth();\r\n\r\n if (month < 0 || (month === 0 && today.getDate() < birthday.getDate())) {\r\n age--;\r\n }\r\n\r\n if (age < 3) {\r\n this.errorMessage = 'Fecha de nacimiento no válida'\r\n this.codFormStepTwo.controls['birthdate'].setErrors({\r\n invalidAge: true\r\n })\r\n } else {\r\n this.codFormStepTwo.controls['birthdate'].setErrors(null);\r\n }\r\n\r\n this.codFormStepTwo.controls['age'].setValue(age);\r\n }\r\n })\r\n }\r\n\r\n getParameters() {\r\n this.parameterService.getCardTypes('col').subscribe((response) => {\r\n this.idTypes = response.data;\r\n });\r\n this.parameterService.getIndicatives().subscribe((response) => {\r\n this.indicatives = response.data;\r\n });\r\n this.parameterService.getCountries().subscribe((response) => {\r\n this.countries = response.data;\r\n });\r\n this.parameterService.getStratums().subscribe((response) => {\r\n this.stratums = response.data;\r\n });\r\n this.parameterService.getCivilStatus().subscribe((response) => {\r\n this.civilStatus = response.data;\r\n });\r\n this.parameterService.getGenders().pipe(\r\n map((response: any) => response.data)\r\n )\r\n .subscribe((genders: any[]) => {\r\n genders.forEach(gender => {\r\n let genderItem = {\r\n code: gender.code,\r\n name: gender.name_spanish\r\n }\r\n this.genders.push(genderItem)\r\n })\r\n })\r\n }\r\n\r\n sendForm() {\r\n this.codFormStepTwo.markAllAsTouched();\r\n if (this.codFormStepTwo.invalid) return;\r\n\r\n // Movernos al paso 3\r\n this.changeStepEvent.emit(2);\r\n }\r\n\r\n getState(state: any) {\r\n this.getCity(state);\r\n }\r\n\r\n getCity(state: any) {\r\n this.parameterService.getCitiesByState(state).subscribe((response) => {\r\n this.cities = response.data;\r\n this.selectCity(this.localStorageCOD.getCodFormData(2, 'city'));\r\n });\r\n }\r\n\r\n // Eventos de los select\r\n selectCountry(country: any) {\r\n if (country !== 'País de residencia') {\r\n this.codFormStepTwo.controls['country'].setValue(country);\r\n let iso = '';\r\n if (country === '1') iso = 'null';\r\n if (country === '2') iso = 'col';\r\n if (country === '3') iso = 'ven';\r\n if (country === '4') iso = 'usa';\r\n this.parameterService.getStatesByCountry(iso).subscribe((response) => {\r\n this.states = response.data;\r\n this.selectState(this.localStorageCOD.getCodFormData(2, 'state'));\r\n });\r\n } else {\r\n this.codFormStepTwo.controls['country'].setValue(null);\r\n }\r\n this.countrySelected = country;\r\n }\r\n\r\n selectState(state: any) {\r\n if (state !== 'Departamento o estado') {\r\n this.codFormStepTwo.controls['state'].setValue(state);\r\n this.getState(state);\r\n } else {\r\n this.codFormStepTwo.controls['state'].setValue(null);\r\n this.codFormStepTwo.controls['city'].setValue(null);\r\n this.cities = [];\r\n }\r\n }\r\n\r\n selectCity(city: any) {\r\n if (city !== 'Ciudad de residencia') {\r\n this.codFormStepTwo.controls['city'].setValue(city);\r\n } else {\r\n this.codFormStepTwo.controls['city'].setValue(null);\r\n }\r\n }\r\n\r\n selectIdType(idType: any) {\r\n if (idType !== 'Tipo de documento') {\r\n this.codFormStepTwo.controls['student_id_card_type'].setValue(idType);\r\n } else {\r\n this.codFormStepTwo.controls['student_id_card_type'].setValue(null);\r\n }\r\n }\r\n\r\n selectIndicatives(indicative: any) {\r\n if (indicative !== 'Indicativo') {\r\n this.codFormStepTwo.controls['student_phone_indicative'].setValue(indicative);\r\n } else {\r\n this.codFormStepTwo.controls['student_phone_indicative'].setValue(null);\r\n }\r\n }\r\n\r\n selectGender(gender: any) {\r\n if (gender !== 'Género') {\r\n this.codFormStepTwo.controls['gender'].setValue(gender);\r\n } else {\r\n this.codFormStepTwo.controls['gender'].setValue(null);\r\n }\r\n }\r\n\r\n selectStratum(stratum: any) {\r\n if (stratum !== 'Estrato') {\r\n this.codFormStepTwo.controls['stratum'].setValue(stratum);\r\n } else {\r\n this.codFormStepTwo.controls['stratum'].setValue(null);\r\n }\r\n }\r\n\r\n selectCivilStatus(civil_status: any) {\r\n if (civil_status !== 'Estado civil') {\r\n this.codFormStepTwo.controls['civil_status'].setValue(civil_status);\r\n } else {\r\n this.codFormStepTwo.controls['civil_status'].setValue(null);\r\n }\r\n }\r\n}\r\n","<form autocomplete=\"off\" [formGroup]=\"codFormStepTwo\" class=\"grid\">\r\n\r\n <div class=\"col\">\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Nombres'\"\r\n [control]=\"codFormStepTwo.controls['student_name']\"\r\n ></ipt-input>\r\n <ipt-select\r\n [initialValue]=\"codFormStepTwo.controls['student_id_card_type'].value\"\r\n [control]=\"codFormStepTwo.controls['student_id_card_type']\"\r\n [selectCode]=\"codFormStepTwo.controls['student_id_card_type'].value === null ? 'Tipo de documento' : codFormStepTwo.controls['student_id_card_type'].value\"\r\n [isRequired]=\"true\"\r\n [data]=\"idTypes\"\r\n (eventSelect)=\"selectIdType($event)\"\r\n [defaultText]=\"'Tipo de documento'\"\r\n ></ipt-select>\r\n <ipt-select\r\n [initialValue]=\"codFormStepTwo.controls['country'].value\"\r\n [control]=\"codFormStepTwo.controls['country']\"\r\n [selectCode]=\"codFormStepTwo.controls['country'].value === null ? 'País de residencia' : codFormStepTwo.controls['country'].value\"\r\n (eventSelect)=\"selectCountry($event)\"\r\n [data]=\"countries\"\r\n [defaultText]=\"'País de residencia'\"\r\n ></ipt-select>\r\n <ipt-select\r\n [initialValue]=\"codFormStepTwo.controls['city'].value\"\r\n [control]=\"codFormStepTwo.controls['city']\"\r\n [selectCode]=\"codFormStepTwo.controls['city'].value === null ? 'Ciudad de residencia' : codFormStepTwo.controls['city'].value\"\r\n (eventSelect)=\"selectCity($event)\"\r\n [data]=\"cities\"\r\n [defaultText]=\"'Ciudad de residencia'\"\r\n ></ipt-select>\r\n <ipt-input\r\n onfocus=\"(this.type='date')\"\r\n [inputType]=\"'date'\"\r\n [control]=\"codFormStepTwo.controls['birthdate']\"\r\n [placeHolder]=\"'Fecha de nacimiento'\"\r\n ></ipt-input>\r\n <ipt-select\r\n [initialValue]=\"codFormStepTwo.controls['gender'].value\"\r\n [control]=\"codFormStepTwo.controls['gender']\"\r\n [data]=\"genders\"\r\n (eventSelect)=\"selectGender($event)\"\r\n [defaultText]=\"'Género'\"\r\n ></ipt-select>\r\n <ipt-select\r\n [initialValue]=\"codFormStepTwo.controls['stratum'].value\"\r\n [control]=\"codFormStepTwo.controls['stratum']\"\r\n [data]=\"stratums\"\r\n (eventSelect)=\"selectStratum($event)\"\r\n [defaultText]=\"'Estrato'\"\r\n ></ipt-select>\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Grado'\"\r\n [control]=\"codFormStepTwo.controls['grade']\"\r\n ></ipt-input>\r\n <ipt-select\r\n [initialValue]=\"codFormStepTwo.controls['student_phone_indicative'].value\"\r\n [control]=\"codFormStepTwo.controls['student_phone_indicative']\"\r\n [data]=\"indicatives\"\r\n (eventSelect)=\"selectIndicatives($event)\"\r\n [defaultText]=\"'Indicativo'\"\r\n ></ipt-select>\r\n <ipt-input\r\n [inputType]=\"'email'\"\r\n [placeHolder]=\"'Correo electrónico'\"\r\n [control]=\"codFormStepTwo.controls['student_email']\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'password'\"\r\n [placeHolder]=\"'Repetir contraseña'\"\r\n [control]=\"codFormStepTwo.controls['re_password']\"\r\n ></ipt-input>\r\n </div>\r\n\r\n <div class=\"col\">\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Apellidos'\"\r\n [control]=\"codFormStepTwo.controls['student_last_name']\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'number'\"\r\n [placeHolder]=\"'Número de documento'\"\r\n [control]=\"codFormStepTwo.controls['student_id_card']\"\r\n ></ipt-input>\r\n <ipt-select\r\n [initialValue]=\"codFormStepTwo.controls['state'].value\"\r\n [control]=\"codFormStepTwo.controls['state']\"\r\n [selectCode]=\"codFormStepTwo.controls['state'].value === null ? 'Departamento o estado' : codFormStepTwo.controls['state'].value\"\r\n [isRequired]=\"true\"\r\n (eventSelect)=\"selectState($event)\"\r\n [data]=\"states\"\r\n [defaultText]=\"'Departamento o estado'\"\r\n ></ipt-select>\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Dirección'\"\r\n [control]=\"codFormStepTwo.controls['student_address']\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'number'\"\r\n [placeHolder]=\"'Edad'\"\r\n [control]=\"codFormStepTwo.controls['age']\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Nickname'\"\r\n [control]=\"codFormStepTwo.controls['nickname']\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Ocupación'\"\r\n [control]=\"codFormStepTwo.controls['student_occupation']\"\r\n ></ipt-input>\r\n <ipt-select\r\n [initialValue]=\"codFormStepTwo.controls['civil_status'].value\"\r\n [control]=\"codFormStepTwo.controls['civil_status']\"\r\n [data]=\"civilStatus\"\r\n (eventSelect)=\"selectCivilStatus($event)\"\r\n [defaultText]=\"'Estado civil'\"\r\n ></ipt-select>\r\n <ipt-input\r\n [inputType]=\"'number'\"\r\n [placeHolder]=\"'Número de teléfono'\"\r\n [control]=\"codFormStepTwo.controls['student_phone_number']\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'password'\"\r\n [placeHolder]=\"'Contraseña'\"\r\n [control]=\"codFormStepTwo.controls['password']\"\r\n ></ipt-input>\r\n </div>\r\n\r\n <div class=\"col-12\"></div>\r\n\r\n</form>\r\n\r\n<div class=\"flex mt-3 align-items-center gap-3\">\r\n <span *ngIf=\"codFormStepTwo.invalid && codFormStepTwo.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span>\r\n <button type=\"submit\" class=\"ml-auto p-button-sm\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\r\n</div>\r\n","import { Component, EventEmitter, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { ParameterService } from '../../../core/services/parameters-service/parameters.service';\r\nimport { CodFormControls } from '../../logic/cod-form-controls';\r\nimport { CodFormSteps, localStorageValues } from '../../logic/cod-form-steps';\r\n\r\n@Component({\r\n selector: 'app-cod-form-step-three',\r\n templateUrl: './cod-form-step-three.component.html',\r\n styleUrls: ['./cod-form-step-three.component.css']\r\n})\r\nexport class CodFormStepThreeComponent extends CodFormSteps implements OnInit {\r\n @Output() changeStepEvent = new EventEmitter<number>();\r\n globalControls = new CodFormControls();\r\n\r\n idTypes: any;\r\n indicatives: any;\r\n codFormStepThree!: FormGroup;\r\n errorMessage: string = 'Faltan campos por llenar.';\r\n needAtendants: any[] = [\r\n { code: '1', name: 'Si requiere acudiente' },\r\n { code: '2', name: 'No requiere acudiente' },\r\n ];\r\n\r\n // Controls del formulario\r\n controls = new CodFormControls().controls[2];\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private parameterService: ParameterService,\r\n private codFormControls: CodFormControls\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getParameters();\r\n this.initForm();\r\n this.startLocalStorageWork();\r\n this.validateErrors();\r\n }\r\n\r\n validateErrors() {\r\n this.codFormStepThree.valueChanges.subscribe(changes => {\r\n if (this.codFormStepThree.controls['parent_name'].hasError('minlength')) {\r\n this.errorMessage = 'Los nombres deben tener mínimo 3 caracteres';\r\n } else if (this.codFormStepThree.controls['parent_last_name'].hasError('minlength')) {\r\n this.errorMessage = 'Los apellidos deben tener mínimo 5 caracteres';\r\n }\r\n else {\r\n this.errorMessage = 'Faltan campos por llenar';\r\n }\r\n })\r\n }\r\n\r\n startLocalStorageWork() {\r\n this.controls.forEach(control => {\r\n let localStorageValue: localStorageValues = this.readAndWriteLS(3, control.name);\r\n this.codFormStepThree.controls[control.name].setValue(localStorageValue.value);\r\n this.listenFormChanges(3, control.name, this.codFormStepThree.controls[control.name].valueChanges);\r\n });\r\n }\r\n\r\n getParameters() {\r\n this.parameterService.getCardTypes('col').subscribe((response) => {\r\n this.idTypes = response.data;\r\n });\r\n this.parameterService.getIndicatives().subscribe((response) => {\r\n this.indicatives = response.data;\r\n });\r\n }\r\n\r\n initForm() {\r\n this.codFormStepThree = this.fb.group({\r\n parent_id_card_type: ['', [Validators.required]],\r\n parent_id_card: ['',[Validators.required,Validators.minLength(5),Validators.maxLength(20),],],\r\n parent_last_name: ['',[Validators.required,Validators.minLength(5),Validators.maxLength(32),],],\r\n parent_name: ['',[Validators.required,Validators.minLength(3),Validators.maxLength(32)],],\r\n needAtendant: ['', [Validators.required], []],\r\n parent_phone_indicative: ['', [Validators.required], []],\r\n parent_occupation: ['', [Validators.required], []],\r\n parent_address: ['', [Validators.required], []],\r\n parent_phone_number: ['',[Validators.required,Validators.minLength(10),Validators.maxLength(15),],],\r\n })\r\n\r\n this.listenNeedAtendantField()\r\n }\r\n\r\n listenNeedAtendantField() {\r\n const control = this.codFormStepThree.get('needAtendant');\r\n control?.valueChanges.subscribe((change) => {\r\n if (change === '1') {\r\n // Poner validaciones\r\n this.codFormStepThree.controls['parent_id_card_type'].setValidators([Validators.required])\r\n this.codFormStepThree.controls['parent_id_card'].setValidators([Validators.required,Validators.minLength(5),Validators.maxLength(20)])\r\n this.codFormStepThree.controls['parent_last_name'].setValidators([Validators.required,Validators.minLength(5),Validators.maxLength(32)])\r\n this.codFormStepThree.controls['parent_name'].setValidators([Validators.required,Validators.minLength(3),Validators.maxLength(32)])\r\n this.codFormStepThree.controls['parent_phone_indicative'].setValidators([Validators.required])\r\n this.codFormStepThree.controls['parent_occupation'].setValidators([Validators.required])\r\n this.codFormStepThree.controls['parent_address'].setValidators([Validators.required])\r\n this.codFormStepThree.controls['parent_phone_number'].setValidators([Validators.required,Validators.minLength(10),Validators.maxLength(15)])\r\n\r\n // Actualizar para que se tomen los cambios\r\n this.updateValueAndValidity();\r\n\r\n // Actualizar los controls globales\r\n this.updateGlobalControls(change)\r\n }\r\n if (change === '2') {\r\n // Quitar las validaciones\r\n this.codFormStepThree.controls['parent_id_card_type'].clearValidators();\r\n this.codFormStepThree.controls['parent_id_card'].clearValidators();\r\n this.codFormStepThree.controls['parent_last_name'].clearValidators();\r\n this.codFormStepThree.controls['parent_name'].clearValidators();\r\n this.codFormStepThree.controls['parent_phone_indicative'].clearValidators();\r\n this.codFormStepThree.controls['parent_occupation'].clearValidators();\r\n this.codFormStepThree.controls['parent_address'].clearValidators();\r\n this.codFormStepThree.controls['parent_phone_number'].clearValidators();\r\n\r\n // Actualizar para que se tomen los cambios\r\n this.updateValueAndValidity();\r\n\r\n // Actualizar los controls globales\r\n this.updateGlobalControls(change)\r\n }\r\n });\r\n }\r\n\r\n updateGlobalControls(change: string) {\r\n let controls = this.controls.filter(control => control.name !== 'needAtendant');\r\n controls.forEach(control => {\r\n if (change === '1') this.codFormControls.changeValue(3, control.name, true)\r\n if (change === '2') this.codFormControls.changeValue(3, control.name, false)\r\n });\r\n }\r\n\r\n updateValueAndValidity() {\r\n this.codFormStepThree.controls['parent_id_card_type'].updateValueAndValidity();\r\n this.codFormStepThree.controls['parent_id_card'].updateValueAndValidity();\r\n this.codFormStepThree.controls['parent_last_name'].updateValueAndValidity();\r\n this.codFormStepThree.controls['parent_name'].updateValueAndValidity();\r\n this.codFormStepThree.controls['parent_phone_indicative'].updateValueAndValidity();\r\n this.codFormStepThree.controls['parent_occupation'].updateValueAndValidity();\r\n this.codFormStepThree.controls['parent_address'].updateValueAndValidity();\r\n this.codFormStepThree.controls['parent_phone_number'].updateValueAndValidity();\r\n }\r\n\r\n needAtendant(): boolean {\r\n return this.codFormStepThree.controls['needAtendant'].value == 1;\r\n }\r\n\r\n sendForm() {\r\n this.codFormStepThree.markAllAsTouched();\r\n if (this.codFormStepThree.controls['needAtendant'].value === '1' && this.codFormStepThree.invalid) return;\r\n\r\n // Movernos al paso 4\r\n this.changeStepEvent.emit(3);\r\n }\r\n\r\n // Eventos de los select\r\n selectNeedAtendant(needAtendant: any) {\r\n if (needAtendant !== 'Requiere acudiente') {\r\n this.codFormStepThree.controls['needAtendant'].setValue(needAtendant);\r\n } else {\r\n this.codFormStepThree.controls['needAtendant'].setValue(null);\r\n }\r\n }\r\n\r\n selectIdTypeParents(value: string) {\r\n if (value !== 'Tipo de documento') {\r\n this.codFormStepThree.controls['parent_id_card_type'].setValue(value);\r\n } else {\r\n this.codFormStepThree.controls['parent_id_card_type'].setValue(null);\r\n }\r\n }\r\n\r\n selectIndicativesParents(value: string) {\r\n if (value !== 'Indicativo') {\r\n this.codFormStepThree.controls['parent_phone_indicative'].setValue(value);\r\n } else {\r\n this.codFormStepThree.controls['parent_phone_indicative'].setValue(null);\r\n }\r\n }\r\n\r\n}\r\n","<form autocomplete=\"off\" [formGroup]=\"codFormStepThree\"class=\"grid\">\r\n <div class=\"col-12\">\r\n <ipt-select\r\n [initialValue]=\"codFormStepThree.controls['needAtendant'].value\"\r\n [control]=\"codFormStepThree.controls['needAtendant']\"\r\n (eventSelect)=\"selectNeedAtendant($event)\"\r\n [data]=\"needAtendants\"\r\n [defaultText]=\"'Requiere acudiente'\"\r\n ></ipt-select>\r\n </div>\r\n\r\n <div *ngIf=\"needAtendant()\" class=\"grid col-12\">\r\n <div class=\"col-12 md:col-6\">\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Nombres'\"\r\n [control]=\"codFormStepThree.controls['parent_name']\"\r\n ></ipt-input>\r\n <ipt-select\r\n [initialValue]=\"codFormStepThree.controls['parent_id_card_type'].value\"\r\n [data]=\"idTypes\"\r\n (eventSelect)=\"selectIdTypeParents($event)\"\r\n [defaultText]=\"'Tipo de documento'\"\r\n [control]=\"codFormStepThree.controls['parent_id_card_type']\"\r\n ></ipt-select>\r\n <ipt-select\r\n [initialValue]=\"codFormStepThree.controls['parent_phone_indicative'].value\"\r\n [data]=\"indicatives\"\r\n (eventSelect)=\"selectIndicativesParents($event)\"\r\n [defaultText]=\"'Indicativo'\"\r\n [control]=\"codFormStepThree.controls['parent_phone_indicative']\"\r\n ></ipt-select>\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Ocupación'\"\r\n [control]=\"codFormStepThree.controls['parent_occupation']\"\r\n ></ipt-input>\r\n </div>\r\n <div class=\"col-12 md:col-6\">\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Apellidos'\"\r\n [control]=\"codFormStepThree.controls['parent_last_name']\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'number'\"\r\n [placeHolder]=\"'Número de documento'\"\r\n [control]=\"codFormStepThree.controls['parent_id_card']\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'number'\"\r\n [placeHolder]=\"'Número de teléfono'\"\r\n [control]=\"codFormStepThree.controls['parent_phone_number']\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Dirección - Oficina'\"\r\n [control]=\"codFormStepThree.controls['parent_address']\"\r\n ></ipt-input>\r\n </div>\r\n </div>\r\n</form>\r\n\r\n<div class=\"flex mt-3 align-items-center gap-3\">\r\n <span *ngIf=\"(codFormStepThree.invalid && codFormStepThree.touched) && needAtendant()\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span>\r\n <button type=\"submit\" class=\"ml-auto p-button-sm\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\r\n</div>\r\n","import { Injectable } from '@angular/core';\r\nimport * as moment from 'moment';\r\nimport Swal from 'sweetalert2';\r\n\r\nexport interface CalculateQuotesParams {\r\n date: Date;\r\n quotaValues: number\r\n quotaTimes: any;\r\n totalPrice: any;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CalculateQuotesService {\r\n\r\n constructor() { }\r\n\r\n calculateQuotes(params: CalculateQuotesParams): any[] {\r\n let dataFinancing: any[] = [];\r\n\r\n let index = 1; // Indicador de cant. de cuotas\r\n\r\n let momentJs = moment(params.date).add('1', 'days');\r\n if (this.validateSunday(momentJs.toDate())) {\r\n Swal.fire({\r\n title: 'Fecha inválida',\r\n text: 'Debe seleccionar un día de la semana diferente al domingo',\r\n icon: 'error'\r\n })\r\n } else {\r\n let quota: any[] = [\r\n index,\r\n Intl.NumberFormat('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n minimumFractionDigits: 0\r\n }).format(Math.round(parseFloat(params.quotaValues.toString()))),\r\n momentJs.format('dddd') + ', ' + momentJs.format('MMMM DD YYYY')\r\n ];\r\n\r\n dataFinancing.push(quota);\r\n\r\n while (index < params.quotaTimes) {\r\n index = index + 1;\r\n\r\n const momentJs = moment(params.date).add(index - 1, 'M');\r\n if (this.validateSunday(momentJs.toDate())) {\r\n momentJs.add(1, 'days');\r\n Swal.fire({\r\n title: 'Querido asesor',\r\n text: 'Hemos ajustado las fechas para que no se asignen en Domingos',\r\n icon: 'info'\r\n })\r\n }\r\n\r\n let row: any[] = [\r\n index,\r\n Intl.NumberFormat('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n minimumFractionDigits: 0,\r\n }).format(Math.round(params.quotaValues)),\r\n momentJs.format('dddd') + ', ' + momentJs.format('MMMM DD YYYY'),\r\n ];\r\n\r\n dataFinancing.push(row);\r\n }\r\n\r\n }\r\n\r\n return dataFinancing;\r\n }\r\n\r\n\r\n validateSunday(date: Date): boolean {\r\n const momentJs = moment(date);\r\n\r\n if (momentJs.isoWeekday() === 7) {\r\n return true;\r\n } else {\r\n return false\r\n }\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport Swal from 'sweetalert2';\r\nimport { filter, map } from 'rxjs';\r\nimport { CodFormSteps, localStorageValues } from '../../logic/cod-form-steps';\r\nimport { CodFormControls } from '../../logic/cod-form-controls';\r\nimport { CalculateQuotesParams, CalculateQuotesService } from '../../logic/calculate-quotes.service';\r\nimport { CommunicatorService } from '../../logic/communicator.service';\r\nimport { CodPrices } from '../../../core/models/commercial/commercial.model';\r\nimport { ParameterService } from '../../../core/services/parameters-service/parameters.service';\r\nimport { CommercialService } from '../../../core/services/commercial-service/comercial.service';\r\n\r\ninterface CourseTypes {\r\n code: number;\r\n name: string;\r\n number_class: number;\r\n academic_plan: number;\r\n updated_at: string;\r\n created_at: string;\r\n}\r\n@Component({\r\n selector: 'app-cod-form-step-four',\r\n templateUrl: './cod-form-step-four.component.html',\r\n styleUrls: ['./cod-form-step-four.component.css'],\r\n})\r\nexport class CodFormStepFourComponent extends CodFormSteps implements OnInit {\r\n @Output() changeStepEvent = new EventEmitter<number>();\r\n @Output() financingData = new EventEmitter<any>();\r\n\r\n codFormStepFour!: FormGroup;\r\n isCalculateQuotesButtonClicked: boolean = false;\r\n errorMessage: string = 'Faltan campos por llenar.';\r\n paymentMethods: any[] = [\r\n { code: '1', name: 'Financiado' },\r\n { code: '2', name: 'Contado' },\r\n ];\r\n dataFinancing: any[] = [];\r\n isFinancing: boolean = false;\r\n isSemestral: boolean = false;\r\n codPrices: CodPrices[] = [];\r\n\r\n // Controls del formulario\r\n controls = new CodFormControls().controls[3];\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private calculateQuotesService: CalculateQuotesService,\r\n private communicatorService: CommunicatorService,\r\n private parameterService: ParameterService,\r\n private codFormControls: CodFormControls,\r\n private commercialService: CommercialService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.initForm();\r\n this.startLocalStorageWork();\r\n this.validateErrors();\r\n this.getCodPricesByAgreement();\r\n this.getValuesOfStepOneComponent();\r\n }\r\n\r\n getValuesOfStepOneComponent() {\r\n // Tipo de curso seleccionado\r\n this.communicatorService.getSelectedCourseType().subscribe(value => {\r\n this.parameterService.getCoursesTypes().pipe(\r\n map( (response: any) => {\r\n const courseTypes: CourseTypes[] = response.data;\r\n return courseTypes.filter( ({ name }) => name.includes('Semestral') )\r\n })\r\n )\r\n .subscribe( (courseTypes: CourseTypes[]) => {\r\n for (let i = 0; i < courseTypes.length; i++) {\r\n if (courseTypes[i].code.toString() === value) {\r\n this.isSemestral = true;\r\n break;\r\n } else {\r\n this.isSemestral = false;\r\n }\r\n }\r\n })\r\n });\r\n\r\n // Convenio seleccionado\r\n this.communicatorService.getSelectedAgreement().subscribe(value => {\r\n this.getCodPricesByAgreement(value);\r\n });\r\n\r\n }\r\n\r\n getCodPricesByAgreement(agreement?: string) {\r\n let agreementSelected: string | null;\r\n\r\n if (agreement) {\r\n agreementSelected = agreement;\r\n } else {\r\n agreementSelected = this.localStorageCOD.getCodFormData(1, 'agreement_by_category')\r\n }\r\n\r\n this.commercialService.getCodPricesByAgreement(Number(agreementSelected)).subscribe({\r\n next: (response: any) => {\r\n if (response.data) {\r\n const codPrices: CodPrices[] = response.data;\r\n this.codPrices = codPrices;\r\n if (this.codFormStepFour.controls['payment_method'].value === '2') {\r\n const aux = this.codPrices.filter(codPrice => codPrice.agreement === Number(agreementSelected))[0];\r\n this.codFormStepFour.controls['program_price'].setValue(aux.normal_price)\r\n }\r\n if (this.codFormStepFour.controls['payment_method'].value === '1') {\r\n const aux = this.codPrices.filter(codPrice => codPrice.agreement === Number(agreementSelected))[0];\r\n this.codFormStepFour.controls['quota_times'].setValue(aux.code)\r\n this.codFormStepFour.controls['program_price'].setValue(aux.normal_price)\r\n }\r\n }\r\n },\r\n error: (err) => console.log(err)\r\n })\r\n }\r\n\r\n validateErrors() {\r\n this.codFormStepFour.valueChanges.subscribe(changes => {\r\n if (this.codFormStepFour.controls['quota_times'].hasError('min')) {\r\n this.errorMessage = 'La cantidad de cuotas mínimas debe ser 1';\r\n } else if (this.codFormStepFour.controls['quota_times'].hasError('max')) {\r\n this.errorMessage = 'La cantidad de cuotas no debe ser superior a 12';\r\n }\r\n else {\r\n this.errorMessage = 'Faltan campos por llenar';\r\n }\r\n })\r\n }\r\n\r\n initForm() {\r\n this.codFormStepFour = this.fb.group({\r\n program_price: [{ value: '', disabled: true }, [Validators.required]],\r\n payment_date: ['', [Validators.required]],\r\n payment_method: ['', [Validators.required]],\r\n quota_times: ['', [Validators.required]],\r\n total_price: [{ value: '', disabled: true }, [Validators.required]],\r\n });\r\n\r\n this.listenPaymentMethodField()\r\n }\r\n\r\n listenPaymentMethodField() {\r\n const control = this.codFormStepFour.get('payment_method');\r\n control?.valueChanges.subscribe((change) => {\r\n // Financiado\r\n if (change === '1') {\r\n // Poner validaciones\r\n this.codFormStepFour.controls['program_price'].setValidators([Validators.required]);\r\n this.codFormStepFour.controls['payment_date'].setValidators([Validators.required]);\r\n this.codFormStepFour.controls['quota_times'].setValidators([Validators.required]);\r\n this.codFormStepFour.controls['total_price'].setValidators([Validators.required]);\r\n\r\n // Actualizar para que se tomen los cambios\r\n this.updateValueAndValidity();\r\n\r\n // Actualizar los controls globales\r\n this.updateGlobalControls(change)\r\n }\r\n\r\n // de contado\r\n if (change === '2') {\r\n // Quitar las validaciones\r\n this.codFormStepFour.controls['program_price'].setValidators([Validators.required]);\r\n this.codFormStepFour.controls['payment_date'].setValidators([Validators.required]);\r\n this.codFormStepFour.controls['quota_times'].clearValidators();\r\n this.codFormStepFour.controls['total_price'].setValidators([Validators.required]);\r\n\r\n // Actualizar para que se tomen los cambios\r\n this.updateValueAndValidity();\r\n\r\n // Actualizar los controls globales\r\n this.updateGlobalControls(change)\r\n }\r\n });\r\n }\r\n\r\n updateGlobalControls(change: string) {\r\n let controls = this.controls.filter(control => control.name !== 'payment_method');\r\n controls.forEach(control => {\r\n if (change === '1') this.codFormControls.changeValue(4, control.name, true)\r\n if (change === '2') {\r\n if (control.name === 'quota_times') this.codFormControls.changeValue(4, control.name, false);\r\n }\r\n });\r\n }\r\n\r\n updateValueAndValidity() {\r\n this.codFormStepFour.controls['program_price'].updateValueAndValidity();\r\n this.codFormStepFour.controls['payment_date'].updateValueAndValidity();\r\n this.codFormStepFour.controls['quota_times'].updateValueAndValidity();\r\n this.codFormStepFour.controls['total_price'].updateValueAndValidity();\r\n }\r\n\r\n startLocalStorageWork() {\r\n this.controls.forEach(control => {\r\n let localStorageValue: localStorageValues = this.readAndWriteLS(4, control.name);\r\n this.codFormStepFour.controls[control.name].setValue(localStorageValue.value);\r\n this.listenFormChanges(4, control.name, this.codFormStepFour.controls[control.name].valueChanges);\r\n });\r\n }\r\n\r\n showTable() {\r\n this.isCalculateQuotesButtonClicked = true;\r\n const total_price = this.codFormStepFour.controls['total_price'].value;\r\n\r\n if ((total_price === 'null') || this.codFormStepFour.invalid) {\r\n Swal.fire({\r\n title: 'Error',\r\n text: 'Debes ingresar el monto total de la matrícula y la cuota inicial',\r\n icon: 'error'\r\n })\r\n\r\n return;\r\n }\r\n\r\n // Calcular cuotas\r\n this.dataFinancing = [];\r\n const quotaValues = this.codPrices.filter(codPrice => codPrice.code === Number(this.codFormStepFour.controls['quota_times'].value))[0].quota_price;\r\n let params: CalculateQuotesParams = {\r\n date: new Date(this.codFormStepFour.controls['payment_date'].value),\r\n quotaValues,\r\n quotaTimes: this.codPrices.filter(codPrice => codPrice.code === Number(this.codFormStepFour.controls['quota_times'].value))[0].fee_number,\r\n totalPrice: this.codFormStepFour.controls['total_price'].value\r\n }\r\n this.dataFinancing = this.calculateQuotesService.calculateQuotes(params);\r\n this.isFinancing = true;\r\n this.financingData.emit(this.dataFinancing);\r\n }\r\n\r\n calculateNewQuotes() {\r\n this.isCalculateQuotesButtonClicked = false;\r\n this.isFinancing = false;\r\n this.financingData.emit(null);\r\n }\r\n\r\n sendForm() {\r\n this.codFormStepFour.markAllAsTouched();\r\n if (this.codFormStepFour.invalid) return;\r\n\r\n // Movernos al paso 5\r\n this.changeStepEvent.emit(4);\r\n }\r\n\r\n isFinanced(): boolean {\r\n return this.codFormStepFour.controls['payment_method'].value == 1;\r\n }\r\n\r\n // Eventos del select\r\n selectPaymentMethod(paymentMethod: any) {\r\n if (paymentMethod !== '') {\r\n this.codFormStepFour.controls['payment_method'].setValue(paymentMethod);\r\n this.getCodPricesByAgreement();\r\n } else {\r\n this.codFormStepFour.controls['payment_method'].setValue(null);\r\n }\r\n }\r\n\r\n selectQuotas(quotas: string) {\r\n if (quotas !== 'Número de cuotas') {\r\n const codPrice: CodPrices[] = this.codPrices.filter(codPrice => codPrice.code === Number(quotas));\r\n this.codFormStepFour.controls['quota_times'].setValue(codPrice[0].code);\r\n this.codFormStepFour.controls['total_price'].setValue(codPrice[0].enrollment);\r\n this.codFormStepFour.controls['program_price'].setValue(codPrice[0].financed_price);\r\n } else {\r\n this.codFormStepFour.controls['quota_times'].setValue(null);\r\n this.codFormStepFour.controls['total_price'].setValue(null);\r\n this.codFormStepFour.controls['program_price'].setValue(null);\r\n }\r\n }\r\n\r\n}\r\n\r\n","<div *ngIf=\"isSemestral\" class=\"m-1 p-2 border-round-lg bg-blue-500 text-white\">\r\n <strong>Nota: </strong>\r\n El tipo de curso seleccionado fue semestral, por lo tanto el estudiante debe pagar matrícula y primera cuota (M&M)\r\n</div>\r\n\r\n<form autocomplete=\"off\" [formGroup]=\"codFormStepFour\" class=\"grid mt-2\">\r\n\r\n <div class=\"col-12\">\r\n <ipt-select\r\n [initialValue]=\"codFormStepFour.controls['payment_method'].value\"\r\n [control]=\"codFormStepFour.controls['payment_method']\"\r\n (eventSelect)=\"selectPaymentMethod($event)\"\r\n [data]=\"paymentMethods\"\r\n [defaultText]=\"'Método de pago'\"\r\n ></ipt-select>\r\n <ipt-select *ngIf=\"isFinanced();\"\r\n [initialValue]=\"codFormStepFour.controls['quota_times'].value\"\r\n [control]=\"codFormStepFour.controls['quota_times']\"\r\n (eventSelect)=\"selectQuotas($event)\"\r\n [defaultText]=\"'Número de cuotas'\"\r\n [data]=\"codPrices\"\r\n [selectCode]=\"codFormStepFour.controls['quota_times'].value === null? 'Número de cuotas': codFormStepFour.controls['quota_times'].value\"\r\n ></ipt-select>\r\n </div>\r\n\r\n <div *ngIf=\"isFinanced();\" class=\"col-12\">\r\n <ipt-input *ngIf=\"isFinanced();\"\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Monto total de la matrícula'\"\r\n [control]=\"codFormStepFour.controls['total_price']\"\r\n [withPipe]=\"true\"\r\n ></ipt-input>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n <ipt-input\r\n [withPipe]=\"true\"\r\n [inputType]=\"'text'\"\r\n [control]=\"codFormStepFour.controls['program_price']\"\r\n [placeHolder]=\"'Valor total del programa'\"\r\n ></ipt-input>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n <ipt-input\r\n onfocus=\"(this.type='date')\"\r\n [inputType]=\"'date'\"\r\n [control]=\"codFormStepFour.controls['payment_date']\"\r\n [placeHolder]=\"'Fecha de pago'\"\r\n ></ipt-input>\r\n </div>\r\n\r\n <!-- Tabla de financiación -->\r\n <div class=\"col-12\" *ngIf=\"isFinancing\">\r\n <p-table\r\n [value]=\"dataFinancing\"\r\n [tableStyle]=\"{'min-width': '100%'}\"\r\n [rowHover]=\"true\"\r\n >\r\n <ng-template pTemplate=\"caption\">\r\n <div class=\"flex align-items-center\">\r\n Cálculo de cuotas\r\n <button pButton class=\"p-button-sm ml-auto\" label=\"Nuevo cálculo\" (click)=\"calculateNewQuotes()\" lab icon=\"pi pi-replay\"></button>\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"header\">\r\n <tr>\r\n <th>#</th>\r\n <th>Valor</th>\r\n <th>Fecha</th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-data>\r\n <tr>\r\n <td>{{ data[0] }}</td>\r\n <td>{{ data[1] }}</td>\r\n <td>{{ data[2] }}</td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </div>\r\n <!-- ---------------------- -->\r\n\r\n</form>\r\n\r\n<div class=\"flex mt-3 align-items-center gap-3\">\r\n <span *ngIf=\"codFormStepFour.invalid && codFormStepFour.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span>\r\n <div class=\"flex ml-auto gap-2\">\r\n <button *ngIf=\"codFormStepFour.controls['payment_method'].value === '1'\" [disabled]=\"isFinancing || codFormStepFour.controls['payment_method'].value !== '1'\"type=\"submit\" class=\"ml-auto p-button-sm p-button-secondary\" (click)=\"showTable()\" pButton label=\"Calcular cuotas\" icon=\"pi pi-sliders-h\"></button>\r\n <button [disabled]=\"!isFinancing && codFormStepFour.controls['payment_method'].value === '1'\" type=\"submit\" class=\"ml-auto p-button-sm\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\r\n </div>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { ParameterService } from '../../../core/services/parameters-service/parameters.service';\r\nimport Swal from 'sweetalert2';\r\nimport { CodFormControls } from '../../logic/cod-form-controls';\r\nimport { CodFormSteps, localStorageValues } from '../../logic/cod-form-steps';\r\n\r\n@Component({\r\n selector: 'app-cod-form-step-five',\r\n templateUrl: './cod-form-step-five.component.html',\r\n styleUrls: ['./cod-form-step-five.component.css']\r\n})\r\nexport class CodFormStepFiveComponent extends CodFormSteps implements OnInit {\r\n @Input() userRole!: number;\r\n @Output() changeStepEvent = new EventEmitter<number>();\r\n @Output() action = new EventEmitter<string>();\r\n\r\n codFormStepFive!: FormGroup;\r\n marketingReasons: any;\r\n studyReasons: any;\r\n errorMessage: string = 'Faltan campos por llenar.';\r\n sendFormMsg!: string;\r\n termsCheckboxStatus: boolean = false;\r\n multiculturalities: any;\r\n\r\n // Controls del formulario\r\n controls = new CodFormControls().controls[4];\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private parameterService: ParameterService,\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getParameters();\r\n this.initForm();\r\n this.startLocalStorageWork();\r\n\r\n this.codFormStepFive.controls['terms'].valueChanges.subscribe(changes => {\r\n this.termsCheckboxStatus = changes;\r\n if (!this.termsCheckboxStatus) this.errorMessage = 'Debe marcar la casilla de términos y condiciones.'\r\n })\r\n\r\n if (this.userRole === 30 || this.userRole === 31 || this.userRole === 32) this.sendFormMsg = 'Editar COD'; // Roles Administrativos\r\n if (this.userRole === 40 || this.userRole === 41 || this.userRole === 42) this.sendFormMsg = 'Crear COD'; // Roles comerciales\r\n }\r\n\r\n getParameters() {\r\n this.parameterService.getMarketingReasons().subscribe((response) => {\r\n this.marketingReasons = response.data;\r\n });\r\n this.parameterService.getStudyReasons().subscribe((response) => {\r\n this.studyReasons = response.data;\r\n });\r\n this.parameterService.getMulticulturalisms().subscribe((response) => {\r\n this.multiculturalities = response.data;\r\n });\r\n }\r\n\r\n initForm() {\r\n this.codFormStepFive = this.fb.group({\r\n marketing_reasons: ['', [Validators.required]],\r\n observation: [''],\r\n study_reasons: ['', [Validators.required]],\r\n terms: [false, [Validators.required]],\r\n disability: [''],\r\n multiculturalism_1: [false, []],\r\n multiculturalism_2: [false, []],\r\n multiculturalism_3: [false, []],\r\n multiculturalism_4: [false, []],\r\n multiculturalism_5: [false, []],\r\n multiculturalism_6: [false, []],\r\n multiculturalism_7: [false, []],\r\n health_regimen: ['', [Validators.required]],\r\n });\r\n\r\n this.codFormStepFive.controls['marketing_reasons'].valueChanges.subscribe(change => {\r\n if (change === '4') {\r\n this.errorMessage = 'Los datos de la persona que refirió al estudiante son requeridos en el campo \"Observaciones\".'\r\n Swal.fire({\r\n title: 'Información',\r\n text: 'Llene en el campo de observaciones los datos de la persona que lo refirió',\r\n icon: 'info'\r\n });\r\n this.codFormStepFive.controls['observation'].setValidators([Validators.required]);\r\n this.codFormStepFive.controls['observation'].updateValueAndValidity();\r\n } else {\r\n this.codFormStepFive.controls['observation'].clearValidators();\r\n this.codFormStepFive.controls['observation'].updateValueAndValidity();\r\n }\r\n })\r\n }\r\n\r\n startLocalStorageWork() {\r\n this.controls.forEach(control => {\r\n let localStorageValue: localStorageValues = this.readAndWriteLS(5, control.name);\r\n\r\n // Solución al bug del checkbox\r\n if (localStorageValue.control === 'terms') {\r\n let nextValue: boolean = localStorageValue.value === 'true' ? true : false;\r\n this.codFormStepFive.controls['terms'].setValue(nextValue);\r\n this.termsCheckboxStatus = nextValue;\r\n }\r\n // -------------------------- //\r\n\r\n this.codFormStepFive.controls[control.name].setValue(localStorageValue.value);\r\n this.listenFormChanges(5, control.name, this.codFormStepFive.controls[control.name].valueChanges);\r\n });\r\n\r\n this.controls.filter(control => control.description === 'Multiculturalismo').forEach(control => {\r\n let localStorageValue: localStorageValues = this.readAndWriteLS(5, control.name);\r\n let nextValue: boolean = localStorageValue.value === 'true' ? true : false;\r\n this.codFormStepFive.controls[control.name].setValue(nextValue);\r\n })\r\n }\r\n\r\n getCheckboxControl(): FormControl {\r\n return this.codFormStepFive.controls['terms'] as FormControl;\r\n }\r\n\r\n sendForm() {\r\n this.codFormStepFive.markAllAsTouched();\r\n if (this.codFormStepFive.invalid || this.termsCheckboxStatus === false) return;\r\n\r\n if (this.userRole === 30 || this.userRole === 31 || this.userRole === 32) this.action.emit('update');\r\n if (this.userRole === 40 || this.userRole === 41 || this.userRole === 42) this.action.emit('create');\r\n\r\n }\r\n\r\n // Eventos del select\r\n selectMarketingReasons(marketingReasons: any) {\r\n if (marketingReasons !== '¿Cómo se enteró del programa?') {\r\n this.codFormStepFive.controls['marketing_reasons'].setValue(marketingReasons);\r\n } else {\r\n this.codFormStepFive.controls['marketing_reasons'].setValue(null);\r\n }\r\n }\r\n\r\n selectStudyReasons(studyReasons: any) {\r\n if (studyReasons !== 'Motivo') {\r\n this.codFormStepFive.controls['study_reasons'].setValue(studyReasons);\r\n } else {\r\n this.codFormStepFive.controls['study_reasons'].setValue(null);\r\n }\r\n }\r\n\r\n\r\n}\r\n","<form autocomplete=\"off\" [formGroup]=\"codFormStepFive\" class=\"grid\">\r\n <div class=\"col-12 md:col-6\">\r\n <ipt-select\r\n [control]=\"codFormStepFive.controls['marketing_reasons']\"\r\n [initialValue]=\"codFormStepFive.controls['marketing_reasons'].value\"\r\n (eventSelect)=\"selectMarketingReasons($event)\"\r\n [data]=\"marketingReasons\"\r\n [defaultText]=\"'¿Cómo se enteró del programa?'\"\r\n ></ipt-select>\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Discapacidad'\"\r\n [control]=\"codFormStepFive.controls['disability']\"\r\n ></ipt-input>\r\n </div>\r\n <div class=\"col-12 md:col-6\">\r\n <ipt-select\r\n [control]=\"codFormStepFive.controls['study_reasons']\"\r\n [initialValue]=\"codFormStepFive.controls['study_reasons'].value\"\r\n (eventSelect)=\"selectStudyReasons($event)\"\r\n [data]=\"studyReasons\"\r\n [defaultText]=\"'Motivo'\"\r\n ></ipt-select>\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Régimen de salud'\"\r\n [control]=\"codFormStepFive.controls['health_regimen']\"\r\n ></ipt-input>\r\n </div>\r\n <div class=\"col-12 mt-4\">\r\n <span class=\"p-float-label\">\r\n <textarea\r\n id=\"float-input\"\r\n rows=\"4\"\r\n cols=\"30\"\r\n pInputTextarea\r\n formControlName=\"observation\"\r\n ></textarea>\r\n <label for=\"float-input\">Observaciones</label>\r\n </span>\r\n <div class=\"flex flex-wrap justify-content-between gap-2\">\r\n <div *ngFor=\"let option of multiculturalities; index as i\" class=\"field-checkbox mt-4 flex align-items-center\">\r\n <mat-checkbox [formControlName]=\"'multiculturalism' + '_' + (i+1)\" class=\"example-margin\"></mat-checkbox>\r\n <label [for]=\"option.code\">{{ option.name }}</label>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 p-4 font-bold\">\r\n <p>\r\n * El estudiante o titular se comprometen a cancelar las cuotas establecidas en este contrato, los\r\n primeros 5 (cinco) días del mes. En caso de querer retirarse, deberá informar por escrito 30\r\n (treinta) días antes y cancelar lo correspondiente hasta la fecha definida de retiro, para poder\r\n obtener su paz y salvo.\r\n </p>\r\n <br><br>\r\n <div class=\"flex gap-2\">\r\n <mat-checkbox formControlName=\"terms\" class=\"example-margin\"></mat-checkbox>\r\n <!-- <p-checkbox [formControl]=\"getCheckboxControl()\"></p-checkbox> -->\r\n <!-- <ipt-checkbox [control]=\"codFormStepFive.controls['terms']\" [checkboxOption]=\"termsCheckboxStatus\"></ipt-checkbox> -->\r\n <p>\r\n DECLARO HABER LEÍDO Y ACEPTO LOS TÉRMINOS Y CONDICIONES DE LAS POLÍTICAS ESTABLECIDAS EN LA\r\n INSTITUCIÓN.\r\n </p>\r\n </div>\r\n </div>\r\n</form>\r\n\r\n<div class=\"flex mt-3 align-items-center gap-3\">\r\n <span *ngIf=\"(codFormStepFive.invalid && codFormStepFive.touched) || (!termsCheckboxStatus && codFormStepFive.touched)\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span>\r\n <button type=\"submit\" class=\"ml-auto p-button-success p-button-sm\" (click)=\"sendForm()\" pButton [label]=\"sendFormMsg\" icon=\"pi pi-check\"></button>\r\n</div>\r\n\r\n","import { Component, Input, OnChanges, SimpleChanges } from '@angular/core';\r\nimport * as moment from 'moment';\r\nimport { Subscription } from 'rxjs';\r\nimport Swal from 'sweetalert2';\r\nimport { CreateCODRq } from '../../core/models/cod/cod-rq.model';\r\nimport { CommercialService } from '../../core/services/commercial-service/comercial.service';\r\nimport { BaseService } from '../../core/utils/base-service/base.service';\r\nimport { CodFormControls, Control } from '../logic/cod-form-controls';\r\nimport { LocalStorageCODService } from '../logic/local-storage-cod.service';\r\n\r\n@Component({\r\n selector: 'ipt-cod-form',\r\n templateUrl: './cod-form.component.html',\r\n styleUrls: []\r\n})\r\nexport class CodFormComponent implements OnChanges {\r\n\r\n @Input() dataFromPreviusCodData?: any;\r\n @Input() codCode?: number;\r\n\r\n subscription?: Subscription;\r\n\r\n private allowedRoles: number[] = [\r\n 30, 31, 32, 40, 41, 42,\r\n ];\r\n\r\n public currentStep: number = 0;\r\n public formTitle: string = 'Formulario para creación del COD';\r\n public userRole: number;\r\n public formSteps: number = 5;\r\n public financingData?: any[];\r\n public isLoading: boolean = false;\r\n public loaderMessage: string = '';\r\n\r\n constructor(\r\n private baseService: BaseService,\r\n private localStorageCOD: LocalStorageCODService,\r\n private codFormControls: CodFormControls,\r\n private commercialService: CommercialService\r\n ) {\r\n this.userRole = this.baseService.getUserRole();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['codCode']) {\r\n this.formTitle = 'Formulario para verificar información del COD';\r\n this.getCodbyCode();\r\n } else {\r\n this.formTitle = 'Formulario para creación del COD';\r\n }\r\n }\r\n\r\n allowedRole(): boolean {\r\n return this.allowedRoles.includes(this.userRole);\r\n }\r\n\r\n getCodbyCode() {\r\n // TODO: Traer COD por código y pintarlo\r\n console.log(this.codCode);\r\n }\r\n\r\n saveFinancingData(data: any[]) {\r\n if (data) {\r\n const dates: string[] = [];\r\n data.forEach(p => {\r\n const date = p[2].split(',')[1];\r\n const formattedDate = new Date(date);\r\n const momentDate = moment(formattedDate).format().split('T')[0];\r\n dates.push(momentDate);\r\n })\r\n this.financingData = dates;\r\n }\r\n }\r\n\r\n getFormAction(action: string) {\r\n if (!this.financingData && this.localStorageCOD.getCodFormData(4, 'payment_method') === '1') {\r\n Swal.fire({\r\n title: 'Querido asesor',\r\n text: 'Debe hacer el cálculo de las cuotas en el paso 4',\r\n icon: 'error'\r\n })\r\n return;\r\n }\r\n const totalData: any[] = [];\r\n\r\n this.subscription = this.codFormControls.getControlValues().subscribe((controls) => {\r\n for (let i = 1; i <= this.formSteps; i++) {\r\n let controlsByStep: Control[] = controls[i-1];\r\n controlsByStep.forEach(control => {\r\n let value = this.localStorageCOD.getCodFormData(i, control.name);\r\n // Cambiar True/False del multiculturalismo 1/0\r\n if (value === 'false' && control.description === 'Multiculturalismo') {\r\n totalData.push({\r\n control: control.name,\r\n isRequired: control.required,\r\n value: '0',\r\n description: control.description\r\n })\r\n } else if (value === 'false' && control.description === 'Multiculturalismo') {\r\n totalData.push({\r\n control: control.name,\r\n isRequired: control.required,\r\n value: '1',\r\n description: control.description\r\n })\r\n } else {\r\n totalData.push({\r\n control: control.name,\r\n isRequired: control.required,\r\n value,\r\n description: control.description\r\n })\r\n }\r\n });\r\n }\r\n\r\n // Validar errores\r\n for (let i = 0; i < totalData.length; i++) {\r\n const element = totalData[i];\r\n if (!element.value && element.isRequired) {\r\n Swal.fire({\r\n title: 'Error',\r\n text: `Revisar el campo: \"${element.description}\"`,\r\n icon: 'error'\r\n });\r\n break;\r\n }\r\n }\r\n\r\n if (action === 'create') this.createCOD(totalData);\r\n if (action === 'update') this.updateCOD(totalData);\r\n })\r\n\r\n this.subscription.unsubscribe();\r\n\r\n }\r\n\r\n updateCOD(totalData: any[]) {\r\n console.log('actualizando COD...');\r\n }\r\n\r\n createCOD(totalData: any[]) {\r\n this.isLoading = true;\r\n this.loaderMessage = 'Creando COD, espere un momento'\r\n\r\n let request: CreateCODRq = this.getCreateCODRq(totalData);\r\n this.commercialService.createCOD(request).subscribe({\r\n next: (response: any) => {\r\n console.log(response);\r\n if (response.message.code === 1) {\r\n this.isLoading = false;\r\n this.loaderMessage = '';\r\n Swal.fire({\r\n title: 'Perfecto!',\r\n text: 'El COD ha sido creado exitosamente.',\r\n icon: 'success'\r\n })\r\n }\r\n },\r\n error: (err: any) => {\r\n console.log(err);\r\n this.isLoading = false;\r\n this.loaderMessage = '';\r\n Swal.fire({\r\n title: 'Error',\r\n text: err.error.text,\r\n icon: 'error'\r\n })\r\n }\r\n })\r\n }\r\n\r\n getCreateCODRq(data: any[]): CreateCODRq {\r\n let request: CreateCODRq = {\r\n token: this.baseService.getUserToken(),\r\n academic_plan: data.filter(data => data.control === 'academic_plan')[0].value,\r\n course_type: data.filter(data => data.control === 'course_type')[0].value,\r\n agreement_by_category: data.filter(data => data.control === 'agreement_by_category')[0].value,\r\n english_level: data.filter(data => data.control === 'english_level')[0].value,\r\n availible_courses: data.filter(data => data.control === 'availible_courses')[0].value,\r\n student_address: data.filter(data => data.control === 'student_address')[0].value,\r\n birthdate: data.filter(data => data.control === 'birthdate')[0].value,\r\n country: data.filter(data => data.control === 'country')[0].value,\r\n state: data.filter(data => data.control === 'state')[0].value,\r\n city: data.filter(data => data.control === 'city')[0].value,\r\n student_id_card_type: data.filter(data => data.control === 'student_id_card_type')[0].value,\r\n student_id_card: data.filter(data => data.control === 'student_id_card')[0].value,\r\n student_last_name: data.filter(data => data.control === 'student_last_name')[0].value,\r\n student_name: data.filter(data => data.control === 'student_name')[0].value,\r\n student_email: data.filter(data => data.control === 'student_email')[0].value,\r\n nickname: data.filter(data => data.control === 'nickname')[0].value,\r\n gender: data.filter(data => data.control === 'gender')[0].value,\r\n age: data.filter(data => data.control === 'age')[0].value,\r\n student_occupation: data.filter(data => data.control === 'student_occupation')[0].value,\r\n stratum: data.filter(data => data.control === 'stratum')[0].value,\r\n grade: data.filter(data => data.control === 'grade')[0].value,\r\n civil_status: data.filter(data => data.control === 'civil_status')[0].value,\r\n student_phone_indicative: data.filter(data => data.control === 'student_phone_indicative')[0].value,\r\n student_phone_number: data.filter(data => data.control === 'student_phone_number')[0].value,\r\n password: data.filter(data => data.control === 'password')[0].value,\r\n re_password: data.filter(data => data.control === 're_password')[0].value,\r\n parent_id_card_type: data.filter(data => data.control === 'parent_id_card_type')[0].value,\r\n parent_id_card: data.filter(data => data.control === 'parent_id_card')[0].value,\r\n parent_last_name: data.filter(data => data.control === 'parent_last_name')[0].value,\r\n parent_name: data.filter(data => data.control === 'parent_name')[0].value,\r\n needAtendant: data.filter(data => data.control === 'needAtendant')[0].value,\r\n parent_phone_indicative: data.filter(data => data.control === 'parent_phone_indicative')[0].value,\r\n parent_occupation: data.filter(data => data.control === 'parent_occupation')[0].value,\r\n parent_address: data.filter(data => data.control === 'parent_address')[0].value,\r\n parent_phone_number: data.filter(data => data.control === 'parent_phone_number')[0].value,\r\n payment_date: data.filter(data => data.control === 'payment_date')[0].value,\r\n program_price: data.filter(data => data.control === 'program_price')[0].value,\r\n payment_method: data.filter(data => data.control === 'payment_method')[0].value,\r\n quota_times: data.filter(data => data.control === 'quota_times')[0].value,\r\n total_price: data.filter(data => data.control === 'total_price')[0].value,\r\n marketing_reasons: data.filter(data => data.control === 'marketing_reasons')[0].value,\r\n observation: data.filter(data => data.control === 'observation')[0].value,\r\n study_reasons: data.filter(data => data.control === 'study_reasons')[0].value,\r\n terms: data.filter(data => data.control === 'terms')[0].value,\r\n disability: data.filter(data => data.control === 'disability')[0].value,\r\n multiculturalism_1: data.filter(data => data.control === 'multiculturalism_1')[0].value,\r\n multiculturalism_2: data.filter(data => data.control === 'multiculturalism_2')[0].value,\r\n multiculturalism_3: data.filter(data => data.control === 'multiculturalism_3')[0].value,\r\n multiculturalism_4: data.filter(data => data.control === 'multiculturalism_4')[0].value,\r\n multiculturalism_5: data.filter(data => data.control === 'multiculturalism_5')[0].value,\r\n multiculturalism_6: data.filter(data => data.control === 'multiculturalism_6')[0].value,\r\n health_regimen: data.filter(data => data.control === 'health_regimen')[0].value,\r\n payment_dates: this.financingData!\r\n }\r\n\r\n return request;\r\n }\r\n\r\n changeStep(step: number) {\r\n this.currentStep = step;\r\n }\r\n\r\n}\r\n","<div *ngIf=\"allowedRole() ; else Unauthorized\" class=\"container flex flex-column bg-white border-round-2xl p-3 container animate__animated animate__fadeInUp\">\r\n\r\n <span class=\"bg-primary p-2 border-round mb-2 w-auto text-lg font-semibold\">{{ formTitle }}</span>\r\n\r\n <p-tabView [activeIndex]=\"currentStep\" (activeIndexChange)=\"currentStep = $event\" [scrollable]=\"true\">\r\n <p-tabPanel leftIcon=\"pi pi-star\" header=\"1. Planes y convenios\">\r\n <app-cod-form-step-one (changeStepEvent)=\"changeStep($event)\" class=\"p-1\"></app-cod-form-step-one>\r\n </p-tabPanel>\r\n <p-tabPanel leftIcon=\"pi pi-id-card\" header=\"2. Datos del estudiante\">\r\n <app-cod-form-step-two [initialData]=\"dataFromPreviusCodData\" (changeStepEvent)=\"changeStep($event)\" class=\"p-1\"></app-cod-form-step-two>\r\n </p-tabPanel>\r\n <p-tabPanel leftIcon=\"pi pi-user-edit\" header=\"3. Datos del acudiente\">\r\n <app-cod-form-step-three (changeStepEvent)=\"changeStep($event)\" class=\"p-1\"></app-cod-form-step-three>\r\n </p-tabPanel>\r\n <p-tabPanel leftIcon=\"pi pi-money-bill\" header=\"4. Valores\">\r\n <app-cod-form-step-four (changeStepEvent)=\"changeStep($event)\" (financingData)=\"saveFinancingData($event)\" class=\"p-1\"></app-cod-form-step-four>\r\n </p-tabPanel>\r\n <p-tabPanel leftIcon=\"pi pi-eye\" header=\"5. Observaciones\">\r\n <app-cod-form-step-five [userRole]=\"userRole\" (changeStepEvent)=\"changeStep($event)\" (action)=\"getFormAction($event)\" class=\"p-1\"></app-cod-form-step-five>\r\n </p-tabPanel>\r\n </p-tabView>\r\n\r\n \r\n</div>\r\n\r\n<ng-template #Unauthorized>\r\n <span class=\"flex justify-content-center font-bold p-2 bg-yellow-200 border-round-lg w-full\">\r\n No tienes los permisos para acceder a esta funcionalidad, comunícate con el desarrollador.\r\n </span>\r\n</ng-template>\r\n\r\n\r\n<ipt-loader *ngIf=\"isLoading\" [isDialog]=\"true\" [message]=\"loaderMessage\"></ipt-loader>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { MessageService } from 'primeng/api';\r\nimport { TabViewModule } from 'primeng/tabview';\r\nimport { ComponentsModule } from '../components/components.module';\r\nimport { CodDocumentsSectionComponent } from './cod-documents-section/cod-documents-section.component';\r\n\r\nimport { CodFormComponent } from './cod-form/cod-form.component';\r\nimport { CodFormStepFiveComponent } from './steps/cod-form-step-five/cod-form-step-five.component';\r\nimport { CodFormStepFourComponent } from './steps/cod-form-step-four/cod-form-step-four.component';\r\nimport { CodFormStepOneComponent } from './steps/cod-form-step-one/cod-form-step-one.component';\r\nimport { CodFormStepThreeComponent } from './steps/cod-form-step-three/cod-form-step-three.component';\r\nimport { CodFormStepTwoComponent } from './steps/cod-form-step-two/cod-form-step-two.component';\r\n\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { TableModule } from 'primeng/table';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { InputTextareaModule } from 'primeng/inputtextarea';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n TabViewModule,\r\n ComponentsModule,\r\n MatCheckboxModule,\r\n ReactiveFormsModule,\r\n TableModule,\r\n ButtonModule,\r\n InputTextareaModule\r\n ],\r\n exports: [\r\n CodFormComponent,\r\n CodDocumentsSectionComponent,\r\n CodFormStepOneComponent,\r\n CodFormStepTwoComponent,\r\n CodFormStepThreeComponent,\r\n CodFormStepFourComponent,\r\n CodFormStepFiveComponent\r\n ],\r\n declarations: [\r\n CodFormComponent,\r\n CodDocumentsSectionComponent,\r\n CodFormStepOneComponent,\r\n CodFormStepTwoComponent,\r\n CodFormStepThreeComponent,\r\n CodFormStepFourComponent,\r\n CodFormStepFiveComponent\r\n ],\r\n providers: [\r\n MessageService\r\n ],\r\n})\r\nexport class CodModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';\r\n@Injectable()\r\nexport class RedirectGuard implements CanActivate {\r\n constructor(private router: Router) {}\r\n\r\n canActivate( route: ActivatedRouteSnapshot, state: RouterStateSnapshot ): boolean {\r\n window.location.href = route.data['externalUrl'];\r\n return true;\r\n }\r\n}\r\n","import { EventEmitter, Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SwitchService {\r\n\r\n constructor() { }\r\n\r\n $modal = new EventEmitter<any>();\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport {\r\n CopyExamRq,\r\n CreateAnswerRq,\r\n CreateQuestionRq,\r\n CreateSectionRq,\r\n CreateSectionWithAllRq,\r\n Exam,\r\n GetAllExamsRq,\r\n GetAllSectionsRq,\r\n GetQuestionsBySectionRq,\r\n getQuestionsBySectionsRq,\r\n UpdateAnswerRq,\r\n UpdateExamRq,\r\n UpdateExamStatusRq,\r\n UpdateQuestionRq,\r\n UpdateQuestionStateRq,\r\n UpdateSectionMediaRq,\r\n UpdateSectionRq,\r\n UpdateSectionStateRq,\r\n} from '../../models/test/test.model';\r\nimport { IPTGeneralService } from '../service-enviroments';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TestService extends IPTGeneralService{\r\n private SERVICE_URL = 'test/api/';\r\n\r\n constructor(private http: HttpClient) {\r\n super();\r\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\r\n }\r\n\r\n // ---------------------- EXÁMENES ---------------------- //\r\n createExam(exam: Exam): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/exam';\r\n this.generateRequestParams(exam);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getAllExams(params: GetAllExamsRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/all/exam';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n updateExam(params: UpdateExamRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'update/exam';\r\n this.generateRequestParams(params);\r\n return this.http.put(serviceUrl, this.httpOptions);\r\n }\r\n\r\n updateExamStatus(params: UpdateExamStatusRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'update/exam/status';\r\n this.generateRequestParams(params);\r\n return this.http.put(serviceUrl, this.httpOptions);\r\n }\r\n\r\n copyExam(params: CopyExamRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'copy/exam';\r\n this.generateRequestParams(params);\r\n return this.http.put(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getExamByCode(code: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/exam/by/code/' + code;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getExamByAuthor(code: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/exams/by/author/' + code;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n // ---------------------- SECCIONES ---------------------- //\r\n createSectionWithAll(params: CreateSectionWithAllRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/section/with/all';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n createSection(params: CreateSectionRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/section';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getAllSections(params: GetAllSectionsRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/all/sections';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n updateSection(params: UpdateSectionRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'update/section';\r\n this.generateRequestParams(params);\r\n return this.http.put(serviceUrl, this.httpOptions);\r\n }\r\n\r\n updateSectionMedia(params: UpdateSectionMediaRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/section/media';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n updateSectionState(params: UpdateSectionStateRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'update/section/state';\r\n this.generateRequestParams(params);\r\n return this.http.put(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getSectionsByExam(code: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/sections/by/exam/' + code;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n // ---------------------- PREGUNTAS ---------------------- //\r\n createQuestion(params: CreateQuestionRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/question';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n updateQuestion(params: UpdateQuestionRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'update/question';\r\n this.generateRequestParams(params);\r\n return this.http.put(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getQuestionsBySections(params: getQuestionsBySectionsRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/questions/by/sections';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getQuestionsBySection(params: GetQuestionsBySectionRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/questions/by/section';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n // ---------------------- RESPUESTAS ---------------------- //\r\n createAnswer(params: CreateAnswerRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/answer';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n updateAnswer(params: UpdateAnswerRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'update/answer';\r\n this.generateRequestParams(params);\r\n return this.http.put(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getAnswersByQuestion(code: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/answers/by/question/' + code;\r\n return this.http.get(serviceUrl, this.httpOptions);\r\n }\r\n\r\n updateQuestionState(params: UpdateQuestionStateRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'update/question/state';\r\n this.generateRequestParams(params);\r\n return this.http.put(serviceUrl, this.httpOptions);\r\n }\r\n\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { getStrategyByUserCommercialRq, CreateObservationsRq } from '../../models/marketing/marketing.model';\r\nimport { IPTGeneralService } from '../service-enviroments';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class MarketingService extends IPTGeneralService{\r\n\r\n private SERVICE_URL = 'commercial/api/';\r\n\r\n constructor(private http: HttpClient) {\r\n super();\r\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\r\n }\r\n\r\n getStrategyByUserCommercial(user: getStrategyByUserCommercialRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/contact/strategy/byaviser';\r\n this.generateRequestParams(user);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getObservationsContact(codeContact: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/contact/observation/strategy/bycode/' + codeContact;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n createObservations(params: CreateObservationsRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/contact/observation/create';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getUserStatistics(userToken: getStrategyByUserCommercialRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/contact/strategy/statistics';\r\n this.generateRequestParams(userToken);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getTopAdviser(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/contact/strategy/topadviser';\r\n return this.http.get(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getMovementStatus(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/contact/strategy/movements/status';\r\n return this.http.get(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getgroupSignupStatus(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/contact/strategy/group/signup';\r\n return this.http.get(serviceUrl, this.httpOptions);\r\n }\r\n\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { getdiscountAllRq, DiscountRq, DiscountUpdateRq } from '../../models/budget/budget.model';\r\nimport { PaymentBillRq } from '../../models/payment/payment-rq.model';\r\nimport { IPTGeneralService } from '../service-enviroments';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BudgetService extends IPTGeneralService{\r\n\r\n private SERVICE_URL = 'budget/api/';\r\n\r\n constructor(private http: HttpClient) {\r\n super();\r\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\r\n }\r\n\r\n getAllDiscount(user: getdiscountAllRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/discounts/coupon/all';\r\n this.generateRequestParams(user);\r\n return this.http.post(serviceUrl,this.httpOptions);\r\n }\r\n createDiscount(params: DiscountRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/discount/coupon/create';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n updateDiscount(params: DiscountUpdateRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/discount/coupon/update';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getPaymentStudentsByCode(codeStudent: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/payment/cod/student/by/code/' + codeStudent;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getPaymentWalletByCampus(codeCampus: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/payment/wallet/by/campus/' + codeCampus;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n paymentBillDues(params: PaymentBillRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/payment/bill/register/dues';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n paymentBillServices(params: PaymentBillRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/payment/bill/register/services';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getPaymentBillAll(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/payment/bill/canceled/all';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getPaymentBillByCode(codePayment: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/payment/bill/canceled/by/code/' + codePayment;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getPaymentBillByStudent(codeStudent: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/payment/bill/canceled/by/student/' + codeStudent;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { ClassroomByIdCalendarRq, ClassroomModalityRq } from '../../models/classroom/classroom-rq.model';\r\n\r\nimport { IPTGeneralService } from '../service-enviroments';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ClassroomService extends IPTGeneralService{\r\n private SERVICE_URL = 'academic/api/';\r\n\r\n constructor(private http: HttpClient) {\r\n super();\r\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\r\n }\r\n\r\n getClassroomsByModality(params: ClassroomModalityRq): Observable<Response> {\r\n let serviceUrl = this.SERVICE_URL + 'post/classroom/by/modality';\r\n this.generateRequestParams(params);\r\n return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getClassroomByIdCalendar(params: ClassroomByIdCalendarRq): Observable<Response> {\r\n let serviceUrl = this.SERVICE_URL + 'post/classroom/by/idcalendar';\r\n this.generateRequestParams(params);\r\n return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { IPTGeneralService } from '../service-enviroments';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ActivityService extends IPTGeneralService{\r\n private SERVICE_URL = 'academic/api/';\r\n\r\n constructor(private http: HttpClient) {\r\n super();\r\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\r\n }\r\n\r\n getActivityByCourse(params: any): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/activities/by/course/code';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getNoticesByCourse(codeCourse: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/notices/by/course/code/' + codeCourse;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getUnitsByActivity(params: any): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/units/by/activity/code';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getElementsByUnit(params: any): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/element/by/unit/code';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getCourseTeacherByToken(params: any): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/course/teacher/by/token';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getAllTypeResource(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/all/type/resource/template';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getAllTypeElement(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/all/type/element/template';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getElementsByUnitNew(params: any): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/element/by/unit/code/new';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n updateCourseByCronogram(params: any): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/update/course/by/code';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getTemplateCourseByCourse(codeCourse: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/template/course/by/course/code/' + codeCourse;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n saveMagnageActivity(params: any): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/manage/activities/by/course/element';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n postNotesActivityH5P(params: any): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/activity/h5p/notes';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getMagnageActivity(params: any): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/template/admin/by/course/element';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getNoteActivityH5P(params: any): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/note/activity/h5p';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { IPTGeneralService } from '../service-enviroments';\r\nimport { GetCourseByTypeRq, GetStudentByCourse, GetLastStudentCodRq, GetStudentByTeacherRq } from '../../models/academic/academic.component';\r\nimport { UserTokenRq } from '../../models/user/user-rq.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AcademicService extends IPTGeneralService{\r\n private SERVICE_URL = 'academic/api/';\r\n\r\n constructor(private http: HttpClient) {\r\n super();\r\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\r\n }\r\n\r\n getCourseByType(params: GetCourseByTypeRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/course/by/type';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n getStudentByCourse(params: GetStudentByCourse): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/course/students';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n obtainLastStudentCod(params: GetLastStudentCodRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/obtain/last/student/cod/by/student';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getCodGenDataStudent(codeStudent: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/general/data/student/by/code/' + codeStudent;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getAllCoursesInitialized(params: UserTokenRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/all/courses/initialized';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getStudentByTeacher(params: GetStudentByTeacherRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/obtain/students/by/teacher';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Response } from '../../models/response/response.interface';\r\nimport { Observable } from 'rxjs';\r\nimport { AddEventByCourseRq, CourseAttendance, GetEventByCodeRq, GetEventsByCourseCodeRq, GetNotAttendancesByCodRq, RegisterNewAttendanceByEventRq } from '../../models/attendance/attendance.interface';\r\nimport { IPTGeneralService } from '../service-enviroments';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AttendanceService extends IPTGeneralService{\r\n private SERVICE_URL = 'academic/api/';\r\n\r\n constructor(private http: HttpClient) {\r\n super();\r\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\r\n }\r\n\r\n addEventByCourseRq(params: AddEventByCourseRq): Observable<Response> {\r\n let serviceUrl = `${this.SERVICE_URL}post/event/by/course`;\r\n this.generateRequestParams(params);\r\n return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getEventsByCourseCode(params: GetEventsByCourseCodeRq): Observable<Response> {\r\n let serviceUrl = `${this.SERVICE_URL}post/obtain/events/by/course_code`;\r\n this.generateRequestParams(params);\r\n return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getEventByCode(params: GetEventByCodeRq): Observable<Response> {\r\n let serviceUrl = `${this.SERVICE_URL}post/obtain/event/by/code`;\r\n this.generateRequestParams(params);\r\n return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n }\r\n\r\n registerNewAttendanceByEvent(params: RegisterNewAttendanceByEventRq): Observable<Response> {\r\n let serviceUrl = `${this.SERVICE_URL}register/attendance/by/event`;\r\n this.generateRequestParams(params);\r\n return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getAttendaceByCourse(courseCode: number): Observable<CourseAttendance> {\r\n let serviceUrl = `${this.SERVICE_URL}post/obtain/attendances/by/course/${courseCode}`;\r\n return this.http.get<CourseAttendance>(serviceUrl);\r\n }\r\n\r\n getCODCodeByStudentCode(studentCode: number) {\r\n let serviceUrl = `${this.SERVICE_URL}get/cod_code/by/student_code/${studentCode}`;\r\n return this.http.get<any>(serviceUrl);\r\n }\r\n\r\n getAttendanceHistoryByStudent(token: string, cod_code: number): Observable<Response> {\r\n let serviceUrl = `${this.SERVICE_URL}post/obtain/attendance/history/by/student`;\r\n this.generateRequestParams({token, cod_code});\r\n return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getAllNotAttendancesByCod(params: GetNotAttendancesByCodRq): Observable<Response> {\r\n let serviceUrl = `${this.SERVICE_URL}get/all/not/attendances/by/cod`;\r\n this.generateRequestParams(params);\r\n return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getNotAttendancesOfLastWeekByCod(params: GetNotAttendancesByCodRq): Observable<Response> {\r\n let serviceUrl = `${this.SERVICE_URL}get/all/not/attendances/lastweek/by/cod`;\r\n this.generateRequestParams(params);\r\n return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { IPTGeneralService } from '../service-enviroments';\r\nimport { GetCertificate } from '../../models/academic/academic.component';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CertificateService extends IPTGeneralService{\r\n private SERVICE_URL = 'certificates/api/';\r\n\r\n constructor(private http: HttpClient) {\r\n super();\r\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\r\n }\r\n\r\n getCertificate(params: GetCertificate): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/kids';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { IPTGeneralService } from '../service-enviroments';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UserEktService extends IPTGeneralService{\r\n private SERVICE_URL = 'ekt/api/';\r\n\r\n constructor(private http: HttpClient) {\r\n super();\r\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\r\n }\r\n\r\n getAllUserEkt(): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/all/users/1161419';\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n getAllAnnouncementByUser(codeUser: number): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'get/all/announcement/by/user/' + codeUser;\r\n return this.http.get(serviceUrl);\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CourseService } from './services/course-service/course-service.model';\r\nimport { ParameterService } from './services/parameters-service/parameters.service';\r\nimport { RedirectGuard } from './utils/route-service/route.service';\r\nimport { StorageService } from './services/storage-service/storage-service';\r\nimport { SwitchService } from './services/switch-service/switch.service';\r\nimport { UserService } from './services/user-service/user-service';\r\nimport { BaseService } from './utils/base-service/base.service';\r\nimport { TestService } from './services/test-service/test.service';\r\nimport { MarketingService } from './services/marketing-service/marketing-service';\r\nimport { BudgetService } from './services/budget-service/budget-service';\r\nimport { ClassroomService } from './services/classroom-service/classroom-service.service';\r\nimport { ActivityService } from './services/activity-service/activity.service';\r\nimport { CommercialService } from './services/commercial-service/comercial.service';\r\nimport { AcademicService } from './services/academic-service/academic.service';\r\nimport { AttendanceService } from './services/attendance-service/attendance.service';\r\nimport { CalendarService } from './services/calendar-service/calendar.service';\r\nimport { CertificateService } from './services/certificate-service/certificate.service';\r\nimport { UserEktService } from './services/ekt-service/userekt.service';\r\nimport { CopiesService } from './services/copies.service';\r\n\r\n@NgModule({\r\n providers: [\r\n CommercialService,\r\n ParameterService,\r\n CourseService,\r\n StorageService,\r\n UserService,\r\n SwitchService,\r\n RedirectGuard,\r\n BaseService,\r\n TestService,\r\n MarketingService,\r\n ClassroomService,\r\n BudgetService,\r\n ActivityService,\r\n AcademicService,\r\n AttendanceService,\r\n CalendarService,\r\n CertificateService,\r\n UserEktService,\r\n CopiesService\r\n ]\r\n})\r\nexport class CoreModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CurrencyMaskModule } from 'ng2-currency-mask';\r\nimport { CodModule } from './cod/cod.module';\r\n\r\nimport { ComponentsModule } from './components/components.module';\r\nimport { CoreModule } from './core/core.module';\r\n\r\n@NgModule({\r\n imports: [\r\n ComponentsModule,\r\n CoreModule,\r\n CurrencyMaskModule\r\n ],\r\n exports: [\r\n ComponentsModule,\r\n CoreModule,\r\n CurrencyMaskModule,\r\n CodModule\r\n ],\r\n})\r\n\r\nexport class DesignSystemModule { }\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { CreateNewNoteRq, GetNotesByGroupRq, GetNotesByStudentRq, Notes, UpdateStudentNoteRq, calculateFinalNoteRq } from '../../models/notes/notes.interface';\r\nimport { Observable } from 'rxjs';\r\nimport { Response } from '../../models/response/response.interface';\r\nimport { IPTGeneralService } from '../service-enviroments';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NotesService extends IPTGeneralService{\r\n\r\n private SERVICE_URL = 'academic/api/';\r\n\r\n constructor(private http: HttpClient) {\r\n super();\r\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\r\n }\r\n\r\n\r\n getNotesByGroup(params: GetNotesByGroupRq): Observable<Response> {\r\n let serviceUrl = this.SERVICE_URL + 'post/obtain/notes/by/course';\r\n this.generateRequestParams(params);\r\n return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n }\r\n\r\n getNotesByStudent(params: GetNotesByStudentRq): Observable<Response> {\r\n let serviceUrl = this.SERVICE_URL + 'post/obtain/notes/by/student';\r\n this.generateRequestParams(params);\r\n return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n }\r\n\r\n createNewNote(params: CreateNewNoteRq): Observable<Response> {\r\n let serviceUrl = this.SERVICE_URL + 'post/create/note';\r\n this.generateRequestParams(params);\r\n return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n }\r\n\r\n updateStudentNote(params: UpdateStudentNoteRq): Observable<Response> {\r\n let serviceUrl = this.SERVICE_URL + 'update/note';\r\n this.generateRequestParams(params);\r\n return this.http.put<Response>(serviceUrl, this.httpOptions);\r\n }\r\n\r\n calculateFinalNote(params: calculateFinalNoteRq): Observable<Response> {\r\n let serviceUrl = this.SERVICE_URL + 'post/calculate/final/note';\r\n this.generateRequestParams(params);\r\n return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n }\r\n\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { GetStudentsByCourseRq } from '../../models/student/student.interface';\r\nimport { IPTGeneralService } from '../service-enviroments';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StudentService extends IPTGeneralService{\r\n\r\n private SERVICE_URL = 'academic/api/';\r\n\r\n constructor(private http: HttpClient) {\r\n super();\r\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\r\n }\r\n\r\n getStudentsByCourse(params: GetStudentsByCourseRq): Observable<any> {\r\n let serviceUrl = this.SERVICE_URL + 'post/obtain/students/by/course';\r\n this.generateRequestParams(params);\r\n return this.http.post(serviceUrl, this.httpOptions);\r\n }\r\n\r\n}\r\n","import { FormControl } from '@angular/forms';\r\n\r\n\r\nexport const validateCoupunts = (control: FormControl) => {\r\n const value: string = control.value.trim();\r\n};\r\n","import { UserRs } from '../user/user-rs.model';\r\n\r\nexport class Session {\r\n token!: string;\r\n user!: UserRs;\r\n}","export class UserRs {\r\n code!: number;\r\n name!: string;\r\n last_name!: string;\r\n nick_name!: string;\r\n email!: string;\r\n email_ipt!: string;\r\n role!: number;\r\n service_hour!: number;\r\n phone_indicative!: number;\r\n phone_number!: number;\r\n gender!: string;\r\n birthdate!: string;\r\n city!: number;\r\n id_card_type!: number;\r\n id_card!: number;\r\n comment?: string;\r\n password!: string;\r\n token!: string;\r\n}\r\n\r\nexport class UserLoginRs {\r\n code!: number;\r\n name!: string;\r\n last_name!: string;\r\n email!: string;\r\n id_card!: string;\r\n id_card_type!: number;\r\n phone_indicative!: number;\r\n phone!: string;\r\n gender!: number;\r\n city!: number;\r\n role!: number;\r\n birthdate!: string;\r\n token!: string;\r\n}\r\n","/*\r\n * Public API Surface of design-system\r\n */\r\n\r\nexport * from \"./lib/design-system.module\"\r\nexport * from \"./lib/components/components.module\"\r\nexport * from \"./lib/core/core.module\"\r\n\r\n// Atomos\r\nexport * from \"./lib/components/atoms/aside-button/aside-button.component\"\r\nexport * from \"./lib/components/atoms/button/button.component\"\r\nexport * from \"./lib/components/atoms/checkbox/checkbox.component\"\r\nexport * from \"./lib/components/atoms/datalist/datalist.component\"\r\nexport * from \"./lib/components/atoms/input/input.component\"\r\nexport * from \"./lib/components/atoms/level-button/level-button.component\"\r\nexport * from \"./lib/components/atoms/level-text/level-text.component\"\r\nexport * from \"./lib/components/atoms/loader/loader.component\"\r\nexport * from \"./lib/components/atoms/radio/radio.component\"\r\nexport * from \"./lib/components/atoms/select/select.component\"\r\nexport * from \"./lib/components/atoms/text-link/text-link.component\"\r\n\r\n// Formularios\r\nexport * from \"./lib/components/forms/login-form/login-form.component\"\r\nexport * from \"./lib/components/molecules/sidenav/sidenav.component\"\r\nexport * from \"./lib/components/forms/create-user-form/create-user-form.component\"\r\n\r\n// Servicios\r\nexport * from \"./lib/core/services/attendance-service/attendance.service\"\r\nexport * from \"./lib/core/services/budget-service/budget-service\"\r\nexport * from \"./lib/core/services/course-service/course-service.model\"\r\nexport * from \"./lib/core/services/calendar-service/calendar.service\"\r\nexport * from \"./lib/core/services/marketing-service/marketing-service\"\r\nexport * from \"./lib/core/services/notes-service/notes.service\"\r\nexport * from \"./lib/core/services/parameters-service/parameters.service\"\r\nexport * from \"./lib/core/services/student-service/student.service\"\r\nexport * from \"./lib/core/services/storage-service/storage-service\"\r\nexport * from \"./lib/core/services/switch-service/switch.service\"\r\nexport * from \"./lib/core/services/test-service/test.service\"\r\nexport * from \"./lib/core/services/user-service/user-service\"\r\nexport * from \"./lib/core/utils/base-service/base.service\"\r\nexport * from \"./lib/core/utils/route-service/route.service\"\r\nexport * from \"./lib/core/services/classroom-service/classroom-service.service\"\r\nexport * from \"./lib/core/services/activity-service/activity.service\"\r\nexport * from \"./lib/core/services/commercial-service/comercial.service\"\r\nexport * from \"./lib/core/services/commercial-service/validators\"\r\nexport * from \"./lib/core/services/academic-service/academic.service\"\r\nexport * from \"./lib/core/services/certificate-service/certificate.service\"\r\nexport * from \"./lib/core/services/ekt-service/userekt.service\"\r\nexport * from \"./lib/core/services/copies.service\"\r\n\r\n// Modelos\r\nexport * from \"./lib/core/models/activities/activities.interface\"\r\nexport * from \"./lib/core/models/attendance/attendance.interface\"\r\nexport * from \"./lib/core/models/budget/budget.model\"\r\nexport * from \"./lib/core/models/cod/cod-rq.model\"\r\nexport * from \"./lib/core/models/calendar/calendar-rq.models\"\r\nexport * from \"./lib/core/models/cronogram/cronogram.models\"\r\nexport * from \"./lib/core/models/course/course-rq.model\"\r\nexport * from \"./lib/core/models/marketing/marketing.model\"\r\nexport * from \"./lib/core/models/notes/notes.interface\"\r\nexport * from \"./lib/core/models/response/response.interface\"\r\nexport * from \"./lib/core/models/session/session.model\"\r\nexport * from \"./lib/core/models/student/student.interface\"\r\nexport * from \"./lib/core/models/table/table-rs.model\"\r\nexport * from \"./lib/core/models/test/test.model\"\r\nexport * from \"./lib/core/models/url/url.model\"\r\nexport * from \"./lib/core/models/user/user-rq.model\"\r\nexport * from \"./lib/core/models/user/user-rs.model\"\r\nexport * from \"./lib/core/models/classroom/classroom-rq.model\"\r\nexport * from \"./lib/core/models/academic/academic.component\"\r\nexport * from \"./lib/core/models/course/courses.model\"\r\nexport * from \"./lib/core/models/payment/payment-rq.model\"\r\nexport * from \"./lib/core/models/commercial/commercial.model\"\r\n\r\n\r\n// Librería para máscara de moneda\r\nexport * from \"./lib/components/components.module\"\r\n\r\n// Modulo del COD\r\nexport * from \"./lib/cod/cod.module\"\r\n\r\n// Componentes del COD\r\nexport * from \"./lib/cod/cod-form/cod-form.component\"\r\nexport * from \"./lib/cod/cod-documents-section/cod-documents-section.component\"\r\n\r\n// Lógica del COD\r\nexport * from \"./lib/cod/logic/calculate-quotes.service\"\r\nexport * from \"./lib/cod/logic/cod-form-controls\"\r\nexport * from \"./lib/cod/logic/cod-form-steps\"\r\nexport * from \"./lib/cod/logic/communicator.service\"\r\nexport * from \"./lib/cod/logic/local-storage-cod.service\"\r\n\r\n// Pasos del COD\r\nexport * from \"./lib/cod/steps/cod-form-step-one/cod-form-step-one.component\"\r\nexport * from \"./lib/cod/steps/cod-form-step-two/cod-form-step-two.component\"\r\nexport * from \"./lib/cod/steps/cod-form-step-three/cod-form-step-three.component\"\r\nexport * from \"./lib/cod/steps/cod-form-step-four/cod-form-step-four.component\"\r\nexport * from \"./lib/cod/steps/cod-form-step-five/cod-form-step-five.component\"\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i1.UserService","i2.StorageService","i3.CalendarService","i2.BaseService","i3.InputComponent","i4.ButtonComponent","i2.ParameterService","i3.UserService","i4.InputComponent","i5.SelectComponent","i6.ButtonComponent","i7","i3.StorageService","i7.AsideButtonComponent","i8","i3.CopiesService","i4.BaseService","i5.CourseService","i6.CommunicatorService","i7.SelectComponent","i9","i4.SelectComponent","i5","i6","i3.CodFormControls","i5.InputComponent","i2.CalculateQuotesService","i3.CommunicatorService","i4.ParameterService","i5.CodFormControls","i6.CommercialService","i8.InputComponent","i10","i12","i3.SelectComponent","i1.BaseService","i2.LocalStorageCODService","i4.CommercialService","i6.CodFormStepOneComponent","i7.CodFormStepTwoComponent","i8.CodFormStepThreeComponent","i9.CodFormStepFourComponent","i10.CodFormStepFiveComponent","i11.LoaderComponent"],"mappings":"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"}