{"version":3,"sources":["../node_modules/pdfjs-dist/build sync","components/Routes/renderroutes.js","components/Public/Individual/Dashboard/WelcomeContent.js","components/Public/Individual/Dashboard/License.js","components/Shared/Grid/GenericGridAction.js","components/Shared/Grid/GenericGridStatus.js","components/Shared/Grid/GenericGrid.js","components/Public/Individual/Dashboard/PendingApplications.js","components/Public/Individual/Dashboard/Profile.js","components/Shared/Badge/GenericBadge.js","components/Shared/GenericComponents/LoadingSpinner.js","components/Public/Individual/Dashboard/RecentUpdateItem.js","components/Public/Individual/Dashboard/RecentUpdates.js","services/authheader.js","services/Public/dashboard.service.js","fakeapi.js","services/Shared/codeTable.service.js","components/Shared/GenericComponents/RedStar.js","components/Shared/RadioButton/YesNoRadioOption.js","components/Public/Individual/Dashboard/EditLockedContactInfoModal.jsx","components/Public/Individual/Dashboard/TemporaryInformationCard.jsx","components/Public/Individual/Dashboard/DashboardPage.js","services/Public/shoppingCart.service.js","components/Shared/Card/ShoppingCart.jsx","components/Shared/Card/Information.js","services/Public/Renewal/renewal.service.js","components/Shared/InformationContent/GeneralInformation.js","components/Public/Individual/ShoppingCart/ShoppingCartPage.jsx","components/Public/Individual/ShoppingCart/PaymentSuccessPage.jsx","components/Public/Individual/ShoppingCart/PaymentFailedPage.jsx","components/Public/Individual/ShoppingCart/PaymentErrorPage.jsx","services/Shared/askLola.service.js","components/Shared/Comments/ViolationIssueCommentItem.js","components/Shared/Comments/AskLolaComment.js","components/Shared/HelperFunctions.js","components/Shared/AskLola/AskLolaPage.js","services/contact.service.js","components/Shared/UserProfile/UserProfilePage.js","components/Shared/Card/InvoiceHistory.jsx","services/Shared/invoice.service.js","components/Shared/InvoiceHistory/InvoiceHistoryPage.jsx","services/Internal/Recent/recentQueue.service.js","services/Shared/redirectToSection.service.js","components/Shared/Redirect/RedirectToSection.jsx","components/Shared/GenericComponents/Address.js","components/Shared/Card/Contact/MailingAddress.js","components/Shared/GenericComponents/PhoneNumberMask.jsx","components/Shared/Card/Contact/PersonalInformation.js","components/Shared/Card/Contact/PublicAddress.js","components/Public/Individual/Contact/ContactPage.js","services/Public/Application/application.service.js","fakeCodeTable.js","components/Public/Individual/Applications/Applications.js","components/Public/Individual/Renewals/Renewals.js","services/Public/Reinstatement/reinstatement.service.js","components/Public/Individual/Reinstatements/Reinstatements.js","services/Shared/cpdReq.service.js","services/Shared/attachment.service.js","components/Shared/Grid/GenericAttachmentGrid.js","components/Public/Individual/CPDLocker/AddEditCoursesModal.js","components/Shared/Grid/GenericPagination.js","components/Public/Individual/CPDLocker/Courses.js","components/Shared/Upload/DocumentUpload.js","components/Public/Individual/CPDLocker/BulkCourseUpload.jsx","components/Public/Individual/CPDLocker/CpdRequirementsPage.js","services/supervisingProfessional.service.js","components/Public/Individual/SupervisingProfessional/SupervisingProfessionalDocumentUpload.jsx","components/Public/Individual/SupervisingProfessional/SupervisingProfessionalPage.jsx","components/Shared/Card/Invoice.jsx","components/Public/Individual/ShoppingCart/InvoicePage.jsx","components/Shared/Sections/Section.js","components/Public/Individual/Applications/PLS/Index/Information.js","services/Public/Application/PLS/plsApplication.service.js","services/Shared/issues.service.js","components/Public/Individual/Applications/PLS/Index/Index.js","components/Shared/FormAction/FormActionButtons.js","components/Shared/InformationContent/PlsInformation.js","services/Public/Application/PLS/contact.service.js","components/Shared/Comments/ViolationIssueComment.js","services/Shared/changeLog.service.js","components/Shared/Card/Issues.js","components/Public/Individual/Applications/PLS/ContactInformation/ContactInformationPage.js","components/Public/Individual/Applications/PLS/Education/EducationRecords.js","components/Public/Individual/Applications/PLS/Education/EducationPage.js","components/Shared/Modal/AddEditPersonalReferenceModal.js","components/Shared/Card/References.js","services/Public/Application/PLS/personalReferences.service.js","components/Public/Individual/Applications/PLS/PersonalReferences/PersonalReferencesPage.js","services/Public/Application/PLS/violation.service.js","components/Shared/Card/Violations.jsx","components/Public/Individual/Applications/PLS/Violations/Violations.js","components/Shared/Card/EmploymentLicensure.js","services/Public/Application/PLS/employment.service.js","components/Public/Individual/Applications/PLS/Employment/EmploymentPage.js","components/Public/Individual/Applications/PLS/Quizzes/QuizzesPage.js","services/Public/Application/PLS/experience.service.js","components/Public/Individual/Applications/PLS/Experience/ExperienceRecordModal.jsx","services/Public/Reinstatement/PLS/experience.service.js","components/Shared/Card/Experience.js","components/Public/Individual/Applications/PLS/Experience/ExperiencePage.jsx","components/Shared/Card/Acknowledgement.js","components/Public/Individual/Applications/PLS/Acknowledgement/AcknowledgementPage.js","components/Shared/Card/ReviewPdf.js","components/Public/Individual/Applications/PLS/Review/ReviewPage.js","services/Public/Reinstatement/PLS/contact.service.js","services/Public/Reinstatement/PLS/plsReinstatement.service.js","components/Public/Individual/Reinstatements/PLS/ContactInformation/ContactInformationPage.js","components/Public/Individual/Reinstatements/PLS/Quizzes/QuizzesPage.js","components/Public/Individual/Reinstatements/PLS/CpdRequirements/Courses.js","components/Public/Individual/Reinstatements/PLS/CpdRequirements/CpdRequirementsPage.js","components/Public/Individual/Reinstatements/PLS/Index/Index.js","components/Public/Individual/Reinstatements/PLS/Acknowledgement/AcknowledgementPage.js","services/Public/Reinstatement/PLS/employment.service.js","components/Public/Individual/Reinstatements/PLS/Employment/EmploymentPage.js","services/Public/Reinstatement/PLS/personalReference.service.js","components/Public/Individual/Reinstatements/PLS/PersonalReferences/PersonalReferencesPage.js","components/Shared/Card/DisclosureAuthorization.js","components/Public/Individual/Reinstatements/PLS/Disclosure/DisclosurePage.js","services/Public/Reinstatement/PLS/violation.service.js","components/Public/Individual/Reinstatements/PLS/Violations/Violations.js","components/Public/Individual/Reinstatements/PLS/Experience/ExperienceRecordModal.jsx","components/Public/Individual/Reinstatements/PLS/Experience/ExperiencePage.jsx","components/Public/Individual/Reinstatements/PLS/Review/ReviewPage.js","services/Public/Renewal/PLS/contact.service.js","services/Public/Renewal/PLS/plsRenewal.service.js","components/Public/Individual/Renewals/PLS/ContactInformation/ContactInformationPage.js","services/Public/Renewal/PLS/cpdRequirements.service.js","components/Shared/Modal/LockedRenewalModal.jsx","components/Public/Individual/Renewals/PLS/CpdRequirements/QuizzesPage.js","components/Public/Individual/Renewals/PLS/CpdRequirements/Courses.js","components/Public/Individual/Renewals/PLS/CpdRequirements/CpdRequirementsPage.js","services/Public/Renewal/PLS/violation.service.js","components/Public/Individual/Renewals/PLS/Violations/Violations.js","components/Public/Individual/Renewals/PLS/Privacy/JournalPrivacyCard.js","services/Public/Renewal/PLS/privacy.service.js","components/Public/Individual/Renewals/PLS/Privacy/Privacy.js","components/Public/Individual/Renewals/PLS/Index/Information.js","components/Public/Individual/Renewals/PLS/Index/Index.js","components/Public/Individual/Renewals/PLS/Acknowledgement/AcknowledgementPage.js","components/Public/Individual/Renewals/PLS/Review/ReviewPage.js","services/Public/Renewal/PLS/licenseStatus.service.js","components/Public/Individual/Renewals/PLS/LicenseStatus/LicenseStatus.js","components/Public/Individual/Renewals/PLS/LicenseStatus/LicenseStatusPage.js","components/Public/Individual/Applications/PE/Index/Information.jsx","services/Public/Application/PE/peApplication.service.js","components/Public/Individual/Applications/PE/Index/Index.jsx","components/Shared/InformationContent/PeInformation.js","services/Public/Application/PE/contact.service.js","components/Public/Individual/Applications/PE/ContactInformation/ContactInformationPage.jsx","services/Public/Application/PE/education.service.js","components/Public/Individual/Applications/PE/Education/EducationRecords.jsx","services/Public/Application/PLS/education.service.js","components/Shared/Modal/AddEditEducationRecordsModal.js","components/Public/Individual/Applications/PE/Education/EducationPage.jsx","services/Public/Application/PE/personalReferences.service.js","components/Public/Individual/Applications/PE/PersonalReferences/PersonalReferencesPage.jsx","services/Public/Application/PE/experience.service.js","components/Public/Individual/Applications/PE/Experience/ExperienceRecordModal.jsx","components/Public/Individual/Applications/PE/Experience/ExperiencePage.jsx","services/Public/Application/PE/violation.service.js","components/Public/Individual/Applications/PE/Violations/Violations.jsx","components/Public/Individual/Applications/PE/Quizzes/QuizzesPage.jsx","services/Public/Application/PE/coopExperience.service.js","components/Public/Individual/Applications/PE/CoopExperiences/CoopExperiencePage.jsx","services/Public/Application/PE/residency.service.js","components/Public/Individual/Applications/PE/Residency/ResidencyPage.jsx","services/Public/Application/PE/employment.service.js","components/Public/Individual/Applications/PE/Employment/EmploymentPage.jsx","components/Public/Individual/Applications/PE/Acknowledgement/AcknowledgementPage.jsx","components/Public/Individual/Applications/PE/Review/ReviewPage.jsx","services/Public/Renewal/PE/peRenewal.service.js","components/Public/Individual/Renewals/PE/Index/Information.jsx","components/Public/Individual/Renewals/PE/Index/Index.jsx","services/Public/Renewal/PE/contact.service.js","components/Public/Individual/Renewals/PE/ContactInformation/ContactInformationPage.jsx","components/Public/Individual/Renewals/PE/LicenseStatus/LicenseStatus.jsx","services/Public/Renewal/PE/licenseStatus.service.js","components/Public/Individual/Renewals/PE/LicenseStatus/LicenseStatusPage.jsx","services/Public/Renewal/PE/cpdRequirements.service.js","components/Public/Individual/Renewals/PE/CpdRequirements/QuizzesPage.jsx","components/Public/Individual/Renewals/PE/CpdRequirements/Courses.jsx","components/Public/Individual/Renewals/PE/CpdRequirements/CpdRequirementsPage.jsx","services/Public/Renewal/PE/design.service.js","components/Public/Individual/Renewals/PE/Design/BuildingDesignPage.jsx","services/Public/Renewal/PE/violation.service.js","components/Public/Individual/Renewals/PE/Violations/Violations.jsx","components/Public/Individual/Renewals/PE/Privacy/JournalPrivacyCard.jsx","services/Public/Renewal/PE/privacy.service.js","components/Public/Individual/Renewals/PE/Privacy/Privacy.jsx","components/Public/Individual/Renewals/PE/Acknowledgement/AcknowledgementPage.jsx","components/Public/Individual/Renewals/PE/Review/ReviewPage.jsx","services/Public/Reinstatement/PE/peReinstatement.service.js","components/Public/Individual/Reinstatements/PE/Index/Index.jsx","services/Public/Reinstatement/PE/contact.service.js","components/Public/Individual/Reinstatements/PE/ContactInformation/ContactInformationPage.jsx","services/Public/Reinstatement/PE/design.service.js","components/Public/Individual/Reinstatements/PE/Design/BuildingDesignPage.jsx","services/Public/Reinstatement/PE/employment.service.js","components/Public/Individual/Reinstatements/PE/Employment/EmploymentPage.jsx","services/Public/Reinstatement/PE/violation.service.js","components/Public/Individual/Reinstatements/PE/Violations/Violations.jsx","components/Public/Individual/Reinstatements/PE/Quizzes/QuizzesPage.jsx","components/Public/Individual/Reinstatements/PE/CpdRequirements/Courses.jsx","components/Public/Individual/Reinstatements/PE/CpdRequirements/CpdRequirementsPage.jsx","services/Public/Reinstatement/PE/personalReference.service.js","components/Public/Individual/Reinstatements/PE/PersonalReferences/PersonalReferencesPage.jsx","services/Public/Reinstatement/PE/experience.service.js","components/Public/Individual/Reinstatements/PE/Experience/ExperienceRecordModal.jsx","components/Public/Individual/Reinstatements/PE/Experience/ExperiencePage.jsx","components/Public/Individual/Reinstatements/PE/Disclosure/DisclosurePage.jsx","components/Public/Individual/Reinstatements/PE/Acknowledgement/AcknowledgementPage.jsx","components/Public/Individual/Reinstatements/PE/Review/ReviewPage.jsx","services/Public/Application/LSI/lsiApplication.service.js","components/Shared/InformationContent/LsiInformation.js","components/Public/Individual/Applications/LSI/Index/Index.js","services/Public/Application/LSI/contact.service.js","components/Public/Individual/Applications/LSI/ContactInformation/ContactInformationPage.js","components/Public/Individual/Applications/LSI/Education/EducationRecords.js","components/Public/Individual/Applications/LSI/Education/EducationPage.js","components/Public/Individual/Applications/LSI/Recommendation/Recommendation.js","services/Public/Application/LSI/recommendation.service.js","components/Public/Individual/Applications/LSI/Recommendation/AddEditRecommendationModal.js","components/Public/Individual/Applications/LSI/Recommendation/RecommendationPage.js","services/Public/Application/LSI/violation.service.js","components/Public/Individual/Applications/LSI/Violations/ViolationsPage.js","services/Public/Application/LSI/examination.service.js","components/Public/Individual/Applications/LSI/ExaminationVerification/ExaminationVerificationPage.js","components/Public/Individual/Applications/LSI/Acknowledgement/AcknowledgementPage.js","components/Public/Individual/Applications/LSI/Review/ReviewPage.js","services/Public/Renewal/LSI/contact.service.js","services/Public/Renewal/LSI/lsiRenewal.service.js","components/Public/Individual/Renewals/LSI/ContactInformation/ContactInformationPage.jsx","services/Public/Renewal/LSI/violation.service.js","components/Public/Individual/Renewals/LSI/Violations/ViolationsPage.jsx","components/Public/Individual/Renewals/LSI/Privacy/JournalPrivacyCard.jsx","services/Public/Renewal/LSI/privacy.service.js","components/Public/Individual/Renewals/LSI/Privacy/PrivacyPage.jsx","components/Public/Individual/Renewals/LSI/Index/Index.jsx","components/Public/Individual/Renewals/LSI/Acknowledgement/AcknowledgementPage.jsx","components/Public/Individual/Renewals/LSI/Review/ReviewPage.jsx","services/Public/Reinstatement/LSI/lsiReinstatement.service.js","components/Public/Individual/Reinstatements/LSI/Index/Index.jsx","services/Public/Reinstatement/LSI/contact.service.js","components/Public/Individual/Reinstatements/LSI/ContactInformation/ContactInformationPage.jsx","components/Public/Individual/Reinstatements/LSI/Education/EducationRecords.jsx","components/Public/Individual/Reinstatements/LSI/Education/EducationPage.jsx","services/Public/Reinstatement/LSI/examination.service.js","components/Public/Individual/Reinstatements/LSI/ExaminationVerification/ExaminationVerificationPage.jsx","services/Public/Reinstatement/LSI/violation.service.js","components/Public/Individual/Reinstatements/LSI/Violations/Violations.jsx","components/Public/Individual/Reinstatements/LSI/Acknowledgement/AcknowledgementPage.jsx","components/Public/Individual/Reinstatements/LSI/Review/ReviewPage.jsx","services/Public/Application/EI/eiApplication.service.js","components/Shared/InformationContent/EiInformation.js","components/Public/Individual/Applications/EI/Index/Index.jsx","services/Public/Application/EI/contact.service.js","components/Public/Individual/Applications/EI/ContactInformation/ContactInformationPage.jsx","services/Public/Application/EI/education.service.js","components/Public/Individual/Applications/EI/Education/EducationRecords.jsx","components/Public/Individual/Applications/EI/Education/EducationPage.jsx","components/Public/Individual/Applications/EI/Recommendation/Recommendation.jsx","services/Public/Application/EI/recommendation.service.js","components/Public/Individual/Applications/EI/Recommendation/AddEditRecommendationModal.jsx","components/Public/Individual/Applications/EI/Recommendation/RecommendationPage.jsx","services/Public/Application/EI/experience.service.js","components/Public/Individual/Applications/EI/Experience/ExperienceRecordModal.jsx","components/Public/Individual/Applications/EI/Experience/ExperiencePage.jsx","services/Public/Application/EI/violation.service.js","components/Public/Individual/Applications/EI/Violations/ViolationsPage.jsx","services/Public/Application/EI/examination.service.js","components/Public/Individual/Applications/EI/ExaminationVerification/ExaminationVerificationPage.jsx","components/Public/Individual/Applications/EI/Acknowledgement/AcknowledgementPage.jsx","components/Public/Individual/Applications/EI/Review/ReviewPage.jsx","services/Public/Renewal/EI/contact.service.js","services/Public/Renewal/EI/eiRenewal.service.js","components/Public/Individual/Renewals/EI/ContactInformation/ContactInformationPage.jsx","services/Public/Renewal/EI/violation.service.js","components/Public/Individual/Renewals/EI/Violations/ViolationsPage.jsx","components/Public/Individual/Renewals/EI/Privacy/JournalPrivacyCard.jsx","services/Public/Renewal/EI/privacy.service.js","components/Public/Individual/Renewals/EI/Privacy/PrivacyPage.jsx","components/Public/Individual/Renewals/EI/Index/Index.jsx","components/Public/Individual/Renewals/EI/Acknowledgement/AcknowledgementPage.jsx","components/Public/Individual/Renewals/EI/Review/ReviewPage.jsx","services/Public/Reinstatement/EI/eiReinstatement.service.js","components/Public/Individual/Reinstatements/EI/Index/Index.jsx","services/Public/Reinstatement/EI/contact.service.js","components/Public/Individual/Reinstatements/EI/ContactInformation/ContactInformationPage.jsx","components/Public/Individual/Reinstatements/EI/Education/EducationRecords.jsx","components/Public/Individual/Reinstatements/EI/Education/EducationPage.jsx","services/Public/Reinstatement/EI/examination.service.js","components/Public/Individual/Reinstatements/EI/ExaminationVerification/ExaminationVerificationPage.jsx","services/Public/Reinstatement/EI/violation.service.js","components/Public/Individual/Reinstatements/EI/Violations/Violations.jsx","components/Public/Individual/Reinstatements/EI/Acknowledgement/AcknowledgementPage.jsx","components/Public/Individual/Reinstatements/EI/Review/ReviewPage.jsx","components/Routes/individualroutes.js","components/Public/Individual/Sidebar/Sidebar.js","services/notification.service.js","components/Public/Individual/TopNavbar/Notifications.js","components/Public/Individual/TopNavbar/ShoppingCart/ShoppingCartButton.js","services/auth.service.js","components/Public/Individual/TopNavbar/TopNavbar.js","components/Public/Main/Individual.js","services/Shared/recentUpdate.service.js","services/Internal/Application/application.service.js","services/Internal/Application/VF/vfApplication.service.js","services/Internal/Reinstatement/VF/vfReinstatement.service.js","services/Internal/Renewal/VF/vfRenewal.service.js","services/Internal/Queue/queue.service.js","services/Internal/Reinstatement/reinstatement.service.js","services/Internal/Renewal/renewal.service.js","components/Internal/Dashboard/RecentUpdateItem.js","components/Internal/Dashboard/RecentUpdates.js","services/Internal/Staff/dashboardInformation.service.js","components/Internal/Dashboard/TopCards.js","components/Internal/Dashboard/DashboardPage.js","services/Internal/Staff/entity.service.js","components/Internal/Queue/GridSearch.js","components/Internal/Queue/AllTasksGrid.js","components/Internal/Queue/MyTasksGrid.js","components/Internal/Queue/UnassignedTasksGrid.js","components/Internal/Queue/ClosedTasksGrid.js","components/Internal/Queue/DeclinedTasksGrid.js","components/Internal/Queue/QueuePage.js","services/Internal/Search/search.service.js","components/Internal/Search/EntitySearchGrid.jsx","components/Internal/Search/EntitySearchPage.jsx","services/Internal/Credential/credential.service.js","components/Internal/Credential/Shared/CommentsCard.jsx","components/Internal/Credential/Shared/DocumentUploadsCard.jsx","services/Internal/Credential/additionalInformation.service.js","components/Internal/Credential/Shared/AdditionalInformation/AdditionalEngineeringInformationForm.jsx","components/Internal/Credential/Shared/AdditionalInformation/AdditionalSurveyorInformationForm.jsx","components/Internal/Credential/Shared/AdditionalInformation/AdditionalInformationPage.jsx","components/Internal/Credential/Shared/CredentialHistoryTable.jsx","services/Internal/Credential/educationTab.service.js","components/Internal/Credential/Shared/Education/EducationTabModal.jsx","components/Internal/Credential/Shared/Education/EducationPage.jsx","services/Internal/generalEntityInfo.service.js","components/Internal/Credential/Shared/EntityInformationPage.jsx","components/Internal/Credential/Shared/EntityAttachments.jsx","services/Internal/Credential/examTab.service.js","components/Internal/Credential/Shared/Exams/ExamsTabModal.jsx","components/Internal/Credential/Shared/Exams/ExamsPage.jsx","services/Internal/Credential/feeTransactionTab.service.js","components/Shared/GenericComponents/CurrencyMask.jsx","services/Internal/Revenue/payment.service.js","components/Internal/Shared/PaymentInfoModal.jsx","components/Internal/Credential/Shared/FeeTransactionPage.jsx","components/Internal/Credential/Shared/Warnings/WarningModal.jsx","components/Internal/Credential/Shared/Warnings/WarningsPage.jsx","components/Internal/Credential/Shared/TopInformationCard.jsx","components/Internal/Credential/Shared/Credential/LegacyCredentialForm.jsx","components/Internal/Credential/Firm/FirmCredentialForm.jsx","components/Internal/Credential/Firm/EditFirmCredentialModal.jsx","components/Internal/Credential/Firm/LegacyWgCredentialForm.jsx","components/Internal/Credential/Firm/LegacyFirmCredentialModal.jsx","components/Internal/Credential/Firm/CredentialCard.jsx","components/Internal/Credential/Firm/EditFirmGeneralInformationModal.jsx","components/Internal/Credential/Firm/GeneralInfoCard.jsx","components/Internal/Credential/Firm/EditSupervisedByModal.jsx","components/Internal/Credential/Firm/SupervisedByTable.jsx","components/Internal/Credential/Firm/SupervisedByCard.jsx","services/Internal/Recent/recentContacts.service.js","components/Internal/Credential/Firm/CredentialPage.jsx","components/Internal/Credential/Individual/CpdLockerCard.jsx","components/Internal/Credential/Individual/Credential/EiCredentialForm.jsx","components/Internal/Credential/Individual/Credential/LsiCredentialForm.jsx","components/Internal/Credential/Individual/Credential/PeCredentialForm.jsx","components/Internal/Credential/Individual/Credential/PlsCrendentialForm.jsx","components/Internal/Credential/Individual/Credential/EditCredentialModal.jsx","components/Internal/Credential/Individual/Credential/LegacyPeCredentialForm.jsx","components/Internal/Credential/Individual/Credential/LegacyPlsCredentialForm.jsx","components/Internal/Credential/Individual/Credential/LegacyCredentialModal.jsx","components/Internal/Credential/Individual/CredentialCard.jsx","components/Internal/Credential/Individual/AddEditEmploymentModal.jsx","components/Internal/Credential/Individual/EmploymentCard.jsx","components/Internal/Credential/Individual/EditIndGeneralInformationModal.jsx","components/Internal/Credential/Individual/GeneralInfoCard.jsx","components/Internal/Credential/Individual/SupervisesTable.jsx","components/Internal/Credential/Individual/EditSupervisesModal.jsx","components/Internal/Credential/Individual/SupervisesCard.jsx","components/Internal/Credential/Individual/CredentialPage.jsx","components/Internal/History/AllRecentContacts.jsx","components/Internal/History/AllRecentQueue.jsx","components/Internal/History/ContactChangeLog.jsx","components/Internal/History/CredentialChangeLog.jsx","components/Internal/Shared/ReassignButton.jsx","components/Internal/Shared/InternalTaskInfo.jsx","components/Internal/Shared/FormEntityInformation.jsx","components/Internal/Applications/PLS/Sections.js","services/Internal/Application/PLS/contact.service.js","components/Internal/Applications/PLS/ContactInformation/ContactInformationPage.js","components/Internal/Applications/PLS/Education/EducationRecords.js","components/Internal/Applications/PLS/Education/EducationPage.js","services/Internal/Application/PLS/personalReferences.service.js","components/Shared/Modal/ExternalFormModal.jsx","components/Internal/Applications/PLS/PersonalReferences/PersonalReferencesPage.js","services/Internal/Application/PLS/violation.service.js","components/Internal/Applications/PLS/Violations/Violations.js","services/Internal/Application/PLS/employment.service.js","components/Internal/Applications/PLS/Employment/EmploymentPage.js","components/Internal/Applications/PLS/Quizzes/QuizzesPage.js","services/Internal/Application/PLS/experience.service.js","components/Internal/Applications/PLS/Experience/ExperienceRecordModal.jsx","components/Internal/Applications/PLS/Experience/ExperiencePage.jsx","components/Internal/Applications/PLS/Acknowledgement/AcknowledgementPage.js","components/Internal/Applications/PLS/Review/ReviewPage.js","services/Internal/Application/PLS/boardApproval.service.js","components/Internal/Applications/PLS/BoardApproval/BoardApproval.js","components/Internal/Applications/PLS/BoardApproval/BoardApprovalModal.js","components/Internal/Applications/PLS/BoardApproval/BoardApprovalPage.js","components/Internal/Reinstatements/PLS/Sections.js","services/Internal/Reinstatement/PLS/contact.service.js","components/Internal/Reinstatements/PLS/ContactInformation/ContactInformationPage.js","services/Internal/Reinstatement/PLS/employment.service.js","components/Internal/Reinstatements/PLS/Employment/EmploymentPage.js","services/Internal/Reinstatement/PLS/violation.service.js","components/Internal/Reinstatements/PLS/Violations/Violations.js","components/Internal/Reinstatements/PLS/Quizzes/QuizzesPage.js","components/Internal/Reinstatements/PLS/CpdRequirements/Courses.js","components/Internal/Reinstatements/PLS/CpdRequirements/CpdRequirementsPage.js","services/Internal/Reinstatement/PLS/personalReference.service.js","components/Internal/Reinstatements/PLS/PersonalReferences/PersonalReferencesPage.js","components/Internal/Reinstatements/PLS/Experience/ExperienceRecordModal.jsx","services/Internal/Reinstatement/PLS/experience.service.js","components/Internal/Reinstatements/PLS/Experience/ExperiencePage.jsx","components/Internal/Reinstatements/PLS/Disclosure/DisclosurePage.js","components/Internal/Reinstatements/PLS/Acknowledgement/AcknowledgementPage.js","components/Internal/Reinstatements/PLS/Review/ReviewPage.js","services/Internal/Reinstatement/PLS/boardApproval.service.js","components/Internal/Reinstatements/PLS/BoardApproval/BoardApproval.js","components/Internal/Reinstatements/PLS/BoardApproval/BoardApprovalModal.js","components/Internal/Reinstatements/PLS/BoardApproval/BoardApprovalPage.js","components/Internal/Renewals/PLS/Sections.js","services/Internal/Renewal/PLS/contact.service.js","components/Internal/Renewals/PLS/ContactInformation/ContactInformationPage.js","services/Internal/Renewal/PLS/licenseStatus.service.js","components/Internal/Renewals/PLS/LicenseStatus/LicenseStatus.js","components/Internal/Renewals/PLS/LicenseStatus/LicenseStatusPage.js","services/Internal/Renewal/PLS/cpdRequirements.service.js","components/Internal/Renewals/PLS/CpdRequirements/QuizzesPage.js","components/Internal/Renewals/PLS/CpdRequirements/Courses.js","components/Internal/Renewals/PLS/CpdRequirements/CpdRequirementsPage.js","services/Internal/Renewal/PLS/violation.service.js","components/Internal/Renewals/PLS/Violations/Violations.js","components/Internal/Renewals/PLS/Privacy/JournalPrivacyCard.js","services/Internal/Renewal/PLS/privacy.service.js","components/Internal/Renewals/PLS/Privacy/Privacy.js","components/Internal/Renewals/PLS/Acknowledgement/AcknowledgementPage.js","components/Internal/Renewals/PLS/Review/ReviewPage.jsx","services/Internal/Application/LSI/lsiApplication.service.js","components/Internal/Applications/LSI/Index/Index.jsx","components/Internal/Applications/LSI/ContactInformation/ContactInformationPage.jsx","components/Internal/Applications/LSI/Education/EducationRecords.jsx","components/Internal/Applications/LSI/Education/EducationPage.jsx","components/Internal/Applications/LSI/Violations/ViolationsPage.jsx","services/Internal/Application/LSI/examination.service.js","components/Internal/Applications/LSI/ExaminationVerification/ExaminationVerificationPage.jsx","components/Internal/Applications/LSI/Recommendation/Recommendation.jsx","components/Internal/Applications/LSI/Recommendation/AddEditRecommendationModal.jsx","components/Internal/Applications/LSI/Recommendation/RecommendationPage.jsx","components/Internal/Applications/LSI/Acknowledgement/AcknowledgementPage.jsx","components/Internal/Applications/LSI/Review/ReviewPage.jsx","services/Internal/Application/LSI/boardApproval.service.js","components/Internal/Applications/LSI/BoardApproval/BoardApproval.jsx","components/Internal/Applications/LSI/BoardApproval/BoardApprovalModal.jsx","components/Internal/Applications/LSI/BoardApproval/BoardApprovalPage.jsx","services/Internal/Renewal/LSI/lsiRenewal.service.js","components/Internal/Renewals/LSI/Index/Index.jsx","services/Internal/Renewal/LSI/contact.service.js","components/Internal/Renewals/LSI/ContactInformation/ContactInformationPage.jsx","components/Internal/Renewals/LSI/Violations/ViolationsPage.jsx","components/Internal/Renewals/LSI/Privacy/JournalPrivacyCard.jsx","services/Internal/Renewal/LSI/privacy.service.js","components/Internal/Renewals/LSI/Privacy/PrivacyPage.jsx","components/Internal/Renewals/LSI/Acknowledgement/AcknowledgementPage.jsx","components/Internal/Renewals/LSI/Review/ReviewPage.jsx","services/Internal/Application/PE/boardApproval.service.js","components/Internal/Renewals/LSI/BoardApproval/BoardApproval.jsx","components/Internal/Renewals/LSI/BoardApproval/BoardApprovalModal.jsx","services/Internal/Renewal/LSI/boardApproval.service.js","components/Internal/Renewals/LSI/BoardApproval/BoardApprovalPage.jsx","services/Internal/Reinstatement/LSI/lsiReinstatement.service.js","components/Internal/Reinstatements/LSI/Index/Index.jsx","components/Internal/Reinstatements/LSI/ContactInformation/ContactInformationPage.jsx","components/Internal/Reinstatements/LSI/Education/EducationRecords.jsx","components/Internal/Reinstatements/LSI/Education/EducationPage.jsx","services/Internal/Reinstatement/LSI/examination.service.js","components/Internal/Reinstatements/LSI/ExaminationVerification/ExaminationVerification.jsx","services/Internal/Reinstatement/LSI/violation.service.js","components/Internal/Reinstatements/LSI/Violations/Violations.jsx","components/Internal/Reinstatements/LSI/Acknowledgment/AcknowledgmentPage.jsx","components/Internal/Reinstatements/LSI/Review/ReviewPage.jsx","services/Internal/Reinstatement/PE/boardApproval.service.js","components/Internal/Reinstatements/LSI/BoardApproval/BoardApproval.jsx","services/Internal/Reinstatement/LSI/boardApproval.service.js","components/Internal/Reinstatements/LSI/BoardApproval/BoardApprovalModal.jsx","components/Internal/Reinstatements/LSI/BoardApproval/BoardApprovalPage.jsx","components/Shared/InformationContent/VFInformation.js","components/Internal/Applications/VF/Index.jsx","services/Internal/Application/VF/contact.service.js","components/Shared/Card/Contact/FirmInformation.jsx","components/Internal/Applications/VF/ContactInformation/ContactInformationPage.jsx","services/Internal/Application/VF/violation.service.js","components/Internal/Applications/VF/Violations/ViolationsPage.jsx","components/Shared/Card/SupervisingProfessional.jsx","components/Internal/Applications/VF/SupervisingProfessional/SupervisingProfessionalPage.jsx","services/Internal/Application/VF/unlicensedActivity.service.js","components/Shared/Card/FirmUnlicensedActivity.jsx","components/Internal/Applications/VF/UnlicensedActivity/UnlicensedActivityPage.jsx","components/Shared/Card/WaiverCertificate.jsx","components/Internal/Applications/VF/WaiverCertificate/WaiverCertificatePage.jsx","components/Shared/Card/FirmAcknowledgement.jsx","components/Internal/Applications/VF/Acknowledgement/AcknowledgementPage.jsx","components/Internal/Applications/VF/Review/ReviewPage.jsx","services/Internal/Application/VF/boardApproval.service.js","components/Internal/Applications/VF/BoardApproval/BoardStaffChecklist.jsx","components/Internal/Applications/VF/BoardApproval/BoardApproval.jsx","components/Internal/Applications/VF/BoardApproval/BoardApprovalModal.jsx","components/Internal/Applications/VF/BoardApproval/BoardApprovalPage.jsx","components/Internal/Reinstatements/VF/Index.jsx","services/Internal/Reinstatement/VF/contact.service.js","components/Internal/Reinstatements/VF/ContactInformation/ContactInformationPage.jsx","services/Internal/Reinstatement/VF/violation.service.js","components/Internal/Reinstatements/VF/Violations/ViolationsPage.jsx","components/Internal/Reinstatements/VF/SupervisingProfessional/SupervisingProfessionalPage.jsx","services/Internal/Reinstatement/VF/unlicensedActivity.service.js","components/Internal/Reinstatements/VF/UnlicensedActivity/UnlicensedActivityPage.jsx","components/Internal/Reinstatements/VF/WaiverCertificate/WaiverCertificatePage.jsx","components/Internal/Reinstatements/VF/Acknowledgement/AcknowledgementPage.jsx","components/Internal/Reinstatements/VF/Review/ReviewPage.jsx","services/Internal/Reinstatement/VF/boardApproval.service.js","components/Internal/Reinstatements/VF/BoardApproval/BoardStaffChecklist.jsx","components/Internal/Reinstatements/VF/BoardApproval/BoardApproval.js","components/Internal/Reinstatements/VF/BoardApproval/BoardApprovalModal.js","components/Internal/Reinstatements/VF/BoardApproval/BoardApprovalPage.jsx","components/Internal/Renewals/VF/Index.jsx","services/Internal/Renewal/VF/contact.service.js","components/Internal/Renewals/VF/ContactInformation/ContactInformationPage.jsx","services/Internal/Renewal/VF/violation.service.js","components/Internal/Renewals/VF/Violations/ViolationsPage.jsx","components/Internal/Renewals/VF/SupervisingProfessional/SupervisingProfessionalPage.jsx","components/Internal/Renewals/VF/Acknowledgement/AcknowledgementPage.jsx","components/Internal/Renewals/VF/WaiverCertificate/WaiverCertificatePage.jsx","components/Internal/Renewals/VF/Review/ReviewPage.jsx","services/Internal/Application/EF/efApplication.service.js","components/Shared/InformationContent/EFInformation.js","components/Internal/Applications/EF/Index.jsx","services/Internal/Application/EF/contact.service.js","components/Internal/Applications/EF/ContactInformation/ContactInformationPage.jsx","services/Internal/Application/EF/violation.service.js","components/Internal/Applications/EF/Violations/ViolationsPage.jsx","components/Internal/Applications/EF/SupervisingProfessional/SupervisingProfessionalPage.jsx","services/Internal/Application/EF/unlicensedActivity.service.js","components/Internal/Applications/EF/UnlicensedActivity/UnlicensedActivityPage.jsx","components/Internal/Applications/EF/WaiverCertificate/WaiverCertificatePage.jsx","components/Internal/Applications/EF/Acknowledgement/AcknowledgementPage.jsx","components/Internal/Applications/EF/Review/ReviewPage.jsx","services/Internal/Application/EF/boardApproval.service.js","components/Internal/Applications/EF/BoardApproval/BoardStaffChecklist.jsx","components/Internal/Applications/EF/BoardApproval/BoardApproval.jsx","components/Internal/Applications/EF/BoardApproval/BoardApprovalModal.jsx","components/Internal/Applications/EF/BoardApproval/BoardApprovalPage.jsx","services/Internal/Reinstatement/EF/efReinstatement.service.js","components/Internal/Reinstatements/EF/Index.jsx","services/Internal/Reinstatement/EF/contact.service.js","components/Internal/Reinstatements/EF/ContactInformation/ContactInformationPage.jsx","services/Internal/Reinstatement/EF/violation.service.js","components/Internal/Reinstatements/EF/Violations/ViolationsPage.jsx","components/Internal/Reinstatements/EF/SupervisingProfessional/SupervisingProfessionalPage.jsx","services/Internal/Reinstatement/EF/unlicensedActivity.service.js","components/Internal/Reinstatements/EF/UnlicensedActivity/UnlicensedActivityPage.jsx","components/Internal/Reinstatements/EF/WaiverCertificate/WaiverCertificatePage.jsx","components/Internal/Reinstatements/EF/Acknowledgement/AcknowledgementPage.jsx","components/Internal/Reinstatements/EF/Review/ReviewPage.jsx","services/Internal/Reinstatement/EF/boardApproval.service.js","components/Internal/Reinstatements/EF/BoardApproval/BoardStaffChecklist.jsx","components/Internal/Reinstatements/EF/BoardApproval/BoardApproval.js","components/Internal/Reinstatements/EF/BoardApproval/BoardApprovalModal.js","components/Internal/Reinstatements/EF/BoardApproval/BoardApprovalPage.jsx","services/Internal/Renewal/EF/efRenewal.service.js","components/Internal/Renewals/EF/Index.jsx","services/Internal/Renewal/EF/contact.service.js","components/Internal/Renewals/EF/ContactInformation/ContactInformationPage.jsx","services/Internal/Renewal/EF/violation.service.js","components/Internal/Renewals/EF/Violations/ViolationsPage.jsx","components/Internal/Renewals/EF/SupervisingProfessional/SupervisingProfessionalPage.jsx","components/Internal/Renewals/EF/Acknowledgement/AcknowledgementPage.jsx","components/Internal/Renewals/EF/WaiverCertificate/WaiverCertificatePage.jsx","components/Internal/Renewals/EF/Review/ReviewPage.jsx","components/Internal/Applications/PE/Index/Information.jsx","services/Internal/Application/PE/peApplication.service.js","components/Internal/Applications/PE/Index/Index.jsx","components/Internal/Applications/PE/ContactInformation/ContactInformationPage.jsx","components/Internal/Applications/PE/Education/EducationRecords.jsx","components/Internal/Applications/PE/Education/EducationPage.jsx","services/Internal/Application/PE/personalReferences.service.js","components/Internal/Applications/PE/PersonalReferences/PersonalReferencesPage.jsx","components/Internal/Applications/PE/Experience/ExperienceRecordModal.jsx","services/Internal/Application/PE/experience.service.js","components/Internal/Applications/PE/Experience/ExperiencePage.jsx","services/Internal/Application/PE/violation.service.js","components/Internal/Applications/PE/Violations/Violations.jsx","components/Internal/Applications/PE/Quizzes/QuizzesPage.jsx","components/Internal/Applications/PE/CoopExperiences/CoopExperiencePage.jsx","services/Internal/Application/PE/residency.service.js","components/Internal/Applications/PE/Residency/ResidencyPage.jsx","services/Internal/Application/PE/employment.service.js","components/Internal/Applications/PE/Employment/EmploymentPage.jsx","components/Internal/Applications/PE/Acknowledgement/AcknowledgementPage.jsx","components/Internal/Applications/PE/Review/ReviewPage.jsx","components/Internal/Applications/PE/BoardApproval/BoardApproval.js","components/Internal/Applications/PE/BoardApproval/BoardApprovalModal.js","components/Internal/Applications/PE/BoardApproval/BoardApprovalPage.js","services/Internal/Renewal/PE/peRenewal.service.js","components/Internal/Renewals/PE/Index/Index.jsx","components/Internal/Renewals/PE/ContactInformation/ContactInformationPage.jsx","components/Internal/Renewals/PE/LicenseStatus/LicenseStatus.jsx","components/Internal/Renewals/PE/LicenseStatus/LicenseStatusPage.jsx","components/Internal/Renewals/PE/CpdRequirements/QuizzesPage.jsx","components/Internal/Renewals/PE/CpdRequirements/Courses.jsx","components/Internal/Renewals/PE/CpdRequirements/CpdRequirementsPage.jsx","services/Internal/Renewal/PE/design.service.js","components/Internal/Renewals/PE/Design/BuildingDesignPage.jsx","components/Internal/Renewals/PE/Violations/Violations.jsx","components/Internal/Renewals/PE/Privacy/JournalPrivacyCard.jsx","services/Internal/Renewal/PE/privacy.service.js","components/Internal/Renewals/PE/Privacy/Privacy.jsx","components/Internal/Renewals/PE/Acknowledgement/AcknowledgementPage.jsx","components/Internal/Renewals/PE/Review/ReviewPage.jsx","services/Internal/Reinstatement/PE/peReinstatement.service.js","components/Internal/Reinstatements/PE/Index/Index.jsx","services/Internal/Reinstatement/PE/contact.service.js","components/Internal/Reinstatements/PE/ContactInformation/ContactInformationPage.jsx","services/Internal/Reinstatement/PE/design.service.js","components/Internal/Reinstatements/PE/Design/BuildingDesignPage.jsx","services/Internal/Reinstatement/PE/employment.service.js","components/Internal/Reinstatements/PE/Employment/EmploymentPage.jsx","services/Internal/Reinstatement/PE/violation.service.js","components/Internal/Reinstatements/PE/Violations/Violations.jsx","components/Internal/Reinstatements/PE/Quizzes/QuizzesPage.jsx","components/Internal/Reinstatements/PE/CpdRequirements/Courses.jsx","components/Internal/Reinstatements/PE/CpdRequirements/CpdRequirementsPage.jsx","services/Internal/Reinstatement/PE/personalReference.service.js","components/Internal/Reinstatements/PE/PersonalReferences/PersonalReferencesPage.jsx","components/Internal/Reinstatements/PE/Experience/ExperienceRecordModal.jsx","services/Internal/Reinstatement/PE/experience.service.js","components/Internal/Reinstatements/PE/Experience/ExperiencePage.jsx","components/Internal/Reinstatements/PE/Disclosure/DisclosurePage.jsx","components/Internal/Reinstatements/PE/Acknowledgement/AcknowledgementPage.jsx","components/Internal/Reinstatements/PE/Review/ReviewPage.jsx","components/Internal/Reinstatements/PE/BoardApproval/BoardApproval.js","components/Internal/Reinstatements/PE/BoardApproval/BoardApprovalModal.js","components/Internal/Reinstatements/PE/BoardApproval/BoardApprovalPage.js","services/Internal/Application/EI/eiApplication.service.js","components/Internal/Applications/EI/Index/Index.jsx","services/Internal/Application/EI/contact.service.js","components/Internal/Applications/EI/ContactInformation/ContactInformationPage.jsx","services/Internal/Application/EI/education.service.js","components/Internal/Applications/EI/Education/EducationRecords.jsx","components/Internal/Applications/EI/Education/EducationPage.jsx","components/Internal/Applications/EI/Recommendation/Recommendation.jsx","services/Internal/Application/EI/recommendation.service.js","components/Internal/Applications/EI/Recommendation/AddEditRecommendationModal.jsx","components/Internal/Applications/EI/Recommendation/RecommendationPage.jsx","services/Internal/Application/EI/experience.service.js","components/Internal/Applications/EI/Experience/ExperienceRecordModal.jsx","components/Internal/Applications/EI/Experience/ExperiencePage.jsx","services/Internal/Application/EI/violation.service.js","components/Internal/Applications/EI/Violations/ViolationsPage.jsx","services/Internal/Application/EI/examination.service.js","components/Internal/Applications/EI/ExaminationVerification/ExaminationVerificationPage.jsx","components/Internal/Applications/EI/Acknowledgement/AcknowledgementPage.jsx","components/Internal/Applications/EI/Review/ReviewPage.jsx","components/Internal/Applications/EI/BoardApproval/BoardApproval.jsx","components/Internal/Applications/EI/BoardApproval/BoardApprovalModal.jsx","services/Internal/Application/EI/boardApproval.service.js","components/Internal/Applications/EI/BoardApproval/BoardApprovalPage.jsx","services/Internal/Renewal/EI/contact.service.js","services/Internal/Renewal/EI/eiRenewal.service.js","components/Internal/Renewals/EI/ContactInformation/ContactInformationPage.jsx","services/Internal/Renewal/EI/violation.service.js","components/Internal/Renewals/EI/Violations/ViolationsPage.jsx","components/Internal/Renewals/EI/Privacy/JournalPrivacyCard.jsx","services/Internal/Renewal/EI/privacy.service.js","components/Internal/Renewals/EI/Privacy/PrivacyPage.jsx","components/Internal/Renewals/EI/Index/Index.jsx","components/Internal/Renewals/EI/Acknowledgement/AcknowledgementPage.jsx","components/Internal/Renewals/EI/Review/ReviewPage.jsx","components/Internal/Renewals/EI/BoardApproval/BoardApproval.jsx","components/Internal/Renewals/EI/BoardApproval/BoardApprovalModal.jsx","services/Internal/Renewal/EI/boardApproval.service.js","components/Internal/Renewals/EI/BoardApproval/BoardApprovalPage.jsx","services/Internal/Reinstatement/EI/eiReinstatement.service.js","components/Internal/Reinstatements/EI/Index/Index.jsx","components/Internal/Reinstatements/EI/ContactInformation/ContactInformationPage.jsx","components/Internal/Reinstatements/EI/Education/EducationRecords.jsx","components/Internal/Reinstatements/EI/Education/EducationPage.jsx","services/Internal/Reinstatement/EI/examination.service.js","components/Internal/Reinstatements/EI/ExaminationVerification/ExaminationVerification.jsx","services/Internal/Reinstatement/EI/violation.service.js","components/Internal/Reinstatements/EI/Violations/Violations.jsx","components/Internal/Reinstatements/EI/Acknowledgment/AcknowledgmentPage.jsx","components/Internal/Reinstatements/EI/Review/ReviewPage.jsx","services/Internal/Reinstatement/EI/boardApproval.service.js","components/Internal/Reinstatements/EI/BoardApproval/BoardApproval.jsx","components/Internal/Reinstatements/EI/BoardApproval/BoardApprovalModal.jsx","components/Internal/Reinstatements/EI/BoardApproval/BoardApprovalPage.jsx","components/Internal/Revenue/PaymentSearch/PaymentSearchGrid.jsx","components/Internal/Revenue/PaymentSearch/PaymentSearchPage.jsx","services/Internal/Revenue/batch.service.js","components/Internal/Revenue/BatchSearchPage.jsx","components/Internal/Revenue/CreateBatch/AddPaymentModal.jsx","components/Internal/Revenue/CreateBatch/CreateBatchPage.jsx","components/Internal/Revenue/DailyRefundSearchPage.jsx","components/Internal/Revenue/DailyPaymentsByAccountPage.jsx","components/Internal/Revenue/Invoice/AddLineItem.jsx","components/Internal/Revenue/Invoice/InvoicePage.jsx","components/Internal/Revenue/Invoice/CreateInvoicePage.jsx","components/Internal/Revenue/Invoice/InvoiceSearchPage.jsx","components/Routes/internalroutes.js","components/Internal/SideNav/RecentContacts.jsx","components/Internal/SideNav/RecentQueue.jsx","components/Internal/SideNav/SideNav.js","components/Internal/TopNav/Notifications.js","components/Internal/TopNav/TopNav.js","components/Internal/Main/Main.js","components/Login/LoginPage.jsx","components/Login/Register/IndividualForm.js","components/Login/Register/FirmForm.js","components/Login/Register/RegisterNewMemberForm.js","components/Login/Register/RegisterNewMemberPage.js","components/Login/Register/RegisterSuccessPage.jsx","components/Public/Firm/Dashboard/WelcomeContent.js","components/Public/Firm/Dashboard/License.js","components/Public/Firm/Dashboard/PendingApplications.js","components/Public/Firm/Dashboard/Profile.js","components/Public/Firm/Dashboard/RecentUpdateItem.js","components/Public/Firm/Dashboard/RecentUpdates.js","components/Public/Firm/Dashboard/EditLockedContactInfoModal.jsx","components/Public/Firm/Dashboard/TemporaryInformationCard.jsx","components/Public/Firm/Dashboard/DashboardPage.js","components/Public/Firm/ShoppingCart/ShoppingCartPage.jsx","components/Public/Firm/ShoppingCart/PaymentSuccessPage.jsx","components/Public/Firm/ShoppingCart/PaymentFailedPage.jsx","components/Public/Firm/ShoppingCart/PaymentErrorPage.jsx","components/Public/Firm/Contact/ContactPage.jsx","components/Public/Firm/Applications/Applications.jsx","components/Public/Firm/Renewal/Renewals.jsx","components/Public/Firm/Reinstatement/Reinstatements.jsx","components/Public/Firm/SupervisingProfessional/AddNewSupervisingProfessionalModal.jsx","components/Public/Firm/SupervisingProfessional/SupervisingProfessionalPage.jsx","components/Public/Firm/ShoppingCart/InvoicePage.jsx","services/Public/Application/VF/vfApplication.service.js","components/Public/Firm/Applications/VF/Index/Index.jsx","services/Public/Application/VF/contact.service.js","components/Public/Firm/Applications/VF/ContactInformation/ContactInformationPage.jsx","components/Public/Firm/Applications/VF/SupervisingProfessional/SupervisingProfessionalPage.jsx","services/Public/Application/VF/unlicensedActivity.service.js","components/Public/Firm/Applications/VF/UnlicensedActivity/UnlicensedActivityPage.jsx","services/Public/Application/VF/violation.service.js","components/Public/Firm/Applications/VF/Violations/ViolationsPage.jsx","components/Public/Firm/Applications/VF/WaiverCertificate/WaiverCertificatePage.jsx","components/Public/Firm/Applications/VF/Acknowledgement/AcknowledgementPage.jsx","components/Public/Firm/Applications/VF/Review/ReviewPage.jsx","services/Public/Renewal/VF/vfRenewal.service.js","components/Public/Firm/Renewal/VF/Index/Index.jsx","services/Public/Renewal/VF/contact.service.js","components/Public/Firm/Renewal/VF/ContactInformation/ContactInformationPage.jsx","services/Public/Renewal/VF/violation.service.js","components/Public/Firm/Renewal/VF/Violations/ViolationsPage.jsx","components/Public/Firm/Renewal/VF/SupervisingProfessional/SupervisingProfessionalPage.jsx","components/Public/Firm/Renewal/VF/WaiverCertificate/WaiverCertificatePage.jsx","components/Public/Firm/Renewal/VF/Acknowledgement/AcknowledgementPage.jsx","components/Public/Firm/Renewal/VF/Review/ReviewPage.jsx","services/Public/Reinstatement/VF/vfReinstatement.service.js","components/Public/Firm/Reinstatement/VF/Index/Index.jsx","services/Public/Reinstatement/VF/contact.service.js","components/Public/Firm/Reinstatement/VF/ContactInformation/ContactInformationPage.jsx","components/Public/Firm/Reinstatement/VF/SupervisingProfessional/SupervisingProfessionalPage.jsx","services/Public/Reinstatement/VF/unlicensedActivity.service.js","components/Public/Firm/Reinstatement/VF/UnlicensedActivity/UnlicensedActivityPage.jsx","services/Public/Reinstatement/VF/violation.service.js","components/Public/Firm/Reinstatement/VF/Violations/ViolationsPage.jsx","components/Public/Firm/Reinstatement/VF/WaiverCertificate/WaiverCertificatePage.jsx","components/Public/Firm/Reinstatement/VF/Acknowledgement/AcknowledgementPage.jsx","components/Public/Firm/Reinstatement/VF/Review/ReviewPage.jsx","services/Public/Application/EF/efApplication.service.js","components/Public/Firm/Applications/EF/Index/Index.jsx","services/Public/Application/EF/contact.service.js","components/Public/Firm/Applications/EF/ContactInformation/ContactInformationPage.jsx","components/Public/Firm/Applications/EF/SupervisingProfessional/SupervisingProfessionalPage.jsx","services/Public/Application/EF/unlicensedActivity.service.js","components/Public/Firm/Applications/EF/UnlicensedActivity/UnlicensedActivityPage.jsx","services/Public/Application/EF/violation.service.js","components/Public/Firm/Applications/EF/Violations/ViolationsPage.jsx","components/Public/Firm/Applications/EF/WaiverCertificate/WaiverCertificatePage.jsx","components/Public/Firm/Applications/EF/Acknowledgement/AcknowledgementPage.jsx","components/Public/Firm/Applications/EF/Review/ReviewPage.jsx","services/Public/Renewal/EF/efRenewal.service.js","components/Public/Firm/Renewal/EF/Index/Index.jsx","services/Public/Renewal/EF/contact.service.js","components/Public/Firm/Renewal/EF/ContactInformation/ContactInformationPage.jsx","components/Public/Firm/Renewal/EF/SupervisingProfessional/SupervisingProfessionalPage.jsx","services/Public/Renewal/EF/violation.service.js","components/Public/Firm/Renewal/EF/Violations/ViolationsPage.jsx","components/Public/Firm/Renewal/EF/WaiverCertificate/WaiverCertificatePage.jsx","components/Public/Firm/Renewal/EF/Acknowledgement/AcknowledgementPage.jsx","components/Public/Firm/Renewal/EF/Review/ReviewPage.jsx","services/Public/Reinstatement/EF/efReinstatement.service.js","components/Public/Firm/Reinstatement/EF/Index/Index.jsx","services/Public/Reinstatement/EF/contact.service.js","components/Public/Firm/Reinstatement/EF/ContactInformation/ContactInformationPage.jsx","components/Public/Firm/Reinstatement/EF/SupervisingProfessional/SupervisingProfessionalPage.jsx","services/Public/Reinstatement/EF/unlicensedActivity.service.js","components/Public/Firm/Reinstatement/EF/UnlicensedActivity/UnlicensedActivityPage.jsx","services/Public/Reinstatement/EF/violation.service.js","components/Public/Firm/Reinstatement/EF/Violations/ViolationsPage.jsx","components/Public/Firm/Reinstatement/EF/WaiverCertificate/WaiverCertificatePage.jsx","components/Public/Firm/Reinstatement/EF/Acknowledgement/AcknowledgementPage.jsx","components/Public/Firm/Reinstatement/EF/Review/ReviewPage.jsx","components/Routes/firmroutes.js","components/Public/Firm/Sidebar/Sidebar.js","components/Public/Firm/TopNavbar/Notifications.js","components/Public/Firm/TopNavbar/ShoppingCart/ShoppingCartButton.js","components/Public/Firm/TopNavbar/TopNavbar.js","components/Public/Main/Firm.js","helpers/enums.js","components/Login/ForgotPassword.js","components/Login/ForgotPasswordSuccess.js","components/Login/ForgotUserId.jsx","components/Login/ForgotUserIdSuccess.jsx","components/Public/Main/Main.js","components/Shared/CustomReducer.js","ClearCache.js","App.js","registerServiceWorker.js","components/Shared/GenericComponents/ScrollToTop.js","index.js","images/LAPELS-LOLA-Logo.png"],"names":["webpackEmptyContext","req","e","Error","code","keys","resolve","module","exports","id","RouteWithSubRoutes","route","path","exact","render","props","component","routes","RenderRoutes","map","i","key","WelcomeContent","className","Panel","header","shaded","defaultExpanded","collapsible","bordered","href","License","data","needsRenewal","renew","needsReinstatement","reinstate","superProMarkup","supervisingProfessionals","item","Fragment","Row","Col","lg","md","name","credentialNumber","Card","Header","Title","certificationNumber","style","float","Button","as","Link","to","variant","Body","licenseStatus","firstIssuanceDate","Date","toLocaleDateString","expirationDate","reinstatementDate","GenericGridAction","actionName","actionUrl","action","onClick","GenericGridStatus","status","extraInfo","markUp","data-status","GenericGrid","columns","theadStyle","tStyle","names","length","push","headers","index","rows","prop","p","command","c","actionText","Table","hover","PendingApplications","schema","Profile","profileInfo","credentials","pendingApps","licenses","undefined","hasPendingApps","lolaNumber","userName","email","GenericBadge","toLowerCase","Badge","LoadingSpinner","display","justifyContent","RecentUpdateItem","useState","loading","setIsLoading","useEffect","List","Item","issueId","window","open","goToPage","date","updateOwner","text","isClosed","sm","RecentUpdates","updates","postUpdate","loader","useRef","ref","authHeader","user","JSON","parse","localStorage","getItem","message","Authorization","CONTACTURL","process","getIndividualDashboard","a","axios","get","getFirmDashboard","postIndividualLockedContactInformation","post","postFirmLockedContactInformation","getIndividualLockedContactInformation","getFirmLockedContactInformation","loremParagraphs","faker","lorem","paragraphs","titleData","suffixData","yesNoData","PICKERCACHEURL","getStates","params","codeTableType","then","response","sort","b","state","localeCompare","filter","getCountries","country","x","y","getFirmTypes","firmType","organizationType","getSchools","school","city","getDegrees","degree","getEmploymentTypes","employmentType","getBoardMembers","boardMemeber","firstName","middleName","lastName","credentialSuffix","getCredStatus","credStatus","getCodeViolationAnswers","applicationTypeId","answers","getReinstatementCodeViolationAnswers","credentialtypeid","getRenewalCodeViolationAnswers","getPaymentTypes","paymentType","getFeeDefinitions","feeDefinition","getInternalStatuses","internalStatus","getCredStatusReason","credentialStatusId","statusReason","getContacts","contact","formattedName","lolanumber","formattedLicenseNumber","getVfCredentials","cred","formatedName","getEfCredentials","getVfCredential","getEfCredential","getRenewingintolist","renewalId","emailPhonePrivacy","label","value","journalDropdown","subscribeDropdown","RedStar","color","YesNoRadioOption","FormGroup","controlId","FormControl","plaintext","readOnly","isReadOnly","radioName","inline","onChange","handleChange","accepter","RadioGroup","Radio","EditLockedContactInfoModal","dateOfBirth","birthCity","birthCountry","recordModel","setRecordModel","countries","setCountries","modaldata","Schema","Types","StringType","ObjectType","model","BooleanType","Model","isRequired","Modal","animation","size","aria-labelledby","centered","backdrop","keyboard","Form","fluid","formValue","onSubmit","validation","event","validationObject","check","hasError","includes","isUsCitizen","Swal","fire","title","icon","showCancelButton","confirmButtonColor","cancelButtonColor","confirmButtonText","result","isConfirmed","dataToTransmit","dashboardService","onHide","ControlLabel","type","InputPicker","placeholder","block","Footer","form","TemporaryInformationCard","DashboardPage","publicDashboardModel","setPublicDashboardModel","hasLoaded","setHasLoaded","showModal","setShowModal","modalData","setModalData","AuthService","pendingApplications","obj","pendingApplicationStatus","show","recentUpdates","SHOPPINGCARTURL","ONLINEPAYMENTURL","getShoppingCart","addToShoppingCart","parentId","feeDefinitionId","getShoppingCartData","deleteItemFromShoppingCart","shoppingCartItemId","postMailPayment","postOnlinePayment","postOnlinePaymentToken","token","postFailOnlinePayment","r","postAutoRenewalPdfs","autoApprovedRenewalIds","ShoppingCart","gridData","setGridData","wordWrap","autoHeight","Column","flexGrow","HeaderCell","Cell","rowData","feeDefinitionDescription","credentialType","feeAmount","toLocaleString","currency","width","dataKey","generalLedgerDescription","Icon","shoppingCartService","refreshGrid","cursor","submitElectronicPayment","submitByMail","Information","content","isQuiz","INDIVIDUALRENEWAL","FIRMRENEWAL","getPendingRenewals","getRenewalBanner","getHistoricalRenewals","getIndividualRenewal","wasHeldForCpd","wasHeldForBuildingDesign","wasHeldForSupervisingProfessional","createRenewal","credentialTypeId","credentialId","validateRenewal","catch","res","getFirmPendingRenewals","getFirmHistoricalRenewals","getFirmRenewal","createFirmRenewal","validateFirmRenewal","GetFirmGeneralContactInformationInstructions","GetAppInstruction","setFakeData","GetReinstateInstruction","GetRenewalInstruction","banner","setBanner","renewalService","dangerouslySetInnerHTML","__html","GetCartInstructions","ShoppingCartPage","blocking","setBlocking","useHistory","dispatch","useDispatch","refreshToken","useSelector","payload","total","reduce","currentValue","document","location","html","PaymentSuccessPage","hasFinished","setHasFinished","urlSearchParams","URLSearchParams","search","Object","fromEntries","entries","didOpen","showLoading","RenewalIds","close","allowOutsideClick","textAlign","height","PaymentFailedPage","PaymentErrorPage","ASKLOLAURL","ViolationIssueCommentItem","person","commentDate","comment","AskLolaComment","comments","issueClosed","askLolaId","issueComments","updateIssueComments","commentBox","updateCommentBox","commentsMarkup","dateCrte","commentAdd","askLolaService","InputGroup","aria-label","aria-describedby","target","onKeyPress","disabled","Append","sort_by","field","reverse","primer","nestedValue","AskLolaPage","isInternal","questions","setQuestions","issuesMarkup","askLolaResponses","input","inputAttributes","autocapitalize","showLoaderOnConfirm","isLoading","inputValidator","UserProfilePage","currentPassword","newPassword","confirmNewPassword","userProfileModel","setUserProfileModel","addRule","val","test","contactService","isSuccess","error","errors","join","checkTrigger","InvoiceHistory","isIndividual","navigateToInvoice","invoiceDate","invoiceNumber","amountPaid","paidDate","amountDue","INVOICEURL","getInvoice","createInvoice","entityId","addLineItem","editLineItem","getInvoiceHistory","getEntityInfo","getEntityLicenseInfo","invoiceId","deleteLineItem","lineItemId","deleteInvoice","InvoicePage","invoiceService","RECENTQUEUEURL","getRecentQueue","getRecentQueueById","getAllRecentQueue","updateRecentQueue","recentQueue","REDIRECTURL","sectionParentTypeId","sectionId","parentTypeId","RedirectToSection","linkPrefix","redirectToSectionService","vm","taskTypeId","navigateAndSetCurrentApplication","navigateAndSetCurrentRenewal","navigateAndSetCurrentReinstatement","parentCredTypeId","baseLink","sectionIds","link","getAppSection","recentQueueService","appTypeId","stringify","parseInt","setItem","currentSectionId","section","getRenewalSection","getReinstatementSection","Address","countryValue","setCountryValue","states","setStates","loadedDropDowns","setLoadedDropDowns","boundValues","hideRequired","errorMessage","showErrors","countryName","streetAddress","componentClass","addressName","cityName","stateName","searchBy","userInput","dataItem","startsWith","provinceRegion","stateProvinceRegionName","postalCode","postalCodeName","MailingAddress","isUserEditable","contactInfoLink","PhoneNumberMask","rest","onValueChange","values","formattedValue","PersonalInformation","isForApp","isNonUsBirthState","isPeByComity","showVisaGreenCardError","isExternal","tabIndex","NumberFormat","format","displayType","mask","SelectPicker","searchable","Input","maxLength","PublicAddress","copyFromMailing","ContactInformationPage","ContactService","setFormModel","dayjs","altEmail","alternateEmailAddress","emailAddress","primaryEmail","primaryEmailAddress","cellPhoneNum","cellPhone","phoneNumber","workPhoneNum","workPhone","homePhoneNum","homePhone","myNceesNumber","replace","formModel","setShowVisaGreenCardError","NumberType","pattern","isEmail","addressModel","tabPane","setTabPane","submitData","Tabs","activeKey","transition","onSelect","selected","Tab","eventKey","visaGreenCardNumber","trim","hasErrors","mailingAddress","publicAddress","getElementsByName","scrollIntoView","behavior","mailingAddressValidationObject","publicAddressValidationObject","marginTop","INDIVIDUALAPP","FIRMAPP","getPendingApplications","getIndividualApplication","applicationId","getHistoricalApplications","getFirmPendingApplications","getFirmApplication","createApplication","deleteDraft","validateApplication","submitApplication","getFirmHistoricalApplications","createFirmApplication","deleteFirmDraft","validateFirmApplication","submitFirmApplication","codeApplicationType","applicationType","abbreviation","Applications","showDropDown","setShowDropDown","applications","setApplications","hasLoadedHistorical","setHasLoadedHistorical","historicalRecords","setHistoricalRecords","currentAppTypeIds","setCurrentAppTypeIds","hasLsiCred","setHasLsiCred","currentCredentialTypes","setCurrentCredentialTypes","applicationDropDown","DropdownButton","ButtonGroup","Dropdown","IndividualService","navigateAndSetCurrentApp","refreshApplicationGrid","apps","sortedApps","dateSubmitted","creds","forEach","prefix","sections","sectionType","credential","dateActioned","Renewals","credentialList","setCredentialList","setUpRoutes","createAndSetCurrentApp","INDIVIDUALREINSTATEMENT","FIRMREINSTATEMENT","getPendingReinstatements","getHistoricalReinstatements","getIndividualReinstatement","reinstatementId","createReinstatement","validateReinstatement","submitReinstatement","getFirmPendingReinstatements","getFirmHistoricalReinstatements","getFirmReinstatement","createFirmReinstatement","validateFirmReinstatement","submitFirmReinstatement","Reinstatements","reinstatementService","CPDURL","ATTACHMENTURL","allowLegacy","documentTypeId","formData","FormData","append","blobFile","attachmentId","responseType","String","downloadUrl","URL","createObjectURL","Blob","createElement","fileName","slice","indexOf","lastIndexOf","setAttribute","body","appendChild","click","remove","isByComity","isByExam","attachmentSection","docTypeDisplayName","docTypeId","GenericAttachmentGrid","deleteFileCallback","isSync","hasType","hideActions","find","hideDelete","attachmentType","isNaN","file","attachmentService","timestamp","AddEditCoursesModal","bsCustomFileInput","init","blockUi","setBlockUi","isValid","setIsValid","deleted","userCrte","instructor","area","hours","classType","description","files","filesForDisplay","courseModel","setCourseModel","areas","setAreas","validateFileSizeLimit","newFiles","currentFileSize","prev","current","DateType","ArrayType","formDataAppender","passedKey","closeButton","isModalAdd","courseRecord","courseDate","toISOString","courseTitle","cpdReqService","InputNumber","scrollable","min","Uploader","listType","onUpload","fileListVisible","multiple","accept","fileKey","Message","GenericPagination","dataLength","displayLength","page","setDisplayLength","setPage","discludeAllLength","defaultDisplayLength","setDefaultDisplayLength","defaultPage","setDefaultPage","Pagination","lengthMenu","activePage","onChangePage","onChangeLength","Courses","filteredData","coursesModel","v","start","openModal","headerHeight","minwidth","verticalAlign","padding","legacy","findIndex","tempModel","setCoursesModel","removeFile","textDecoration","openFile","tempData","modalType","deleteRecord","DocumentUpload","attachmentTypes","setAttachmentTypes","setAttachmentType","isUploading","setIsUploading","attachmentTypeDropdown","setAttachmentTypeDropdown","refreshData","updateFormData","isSpLocker","sortedData","uploadDate","documentType","fileLink","isExternalUpload","setHasFiles","attachmentTypeIds","warningMessage","fileUploadTitle","draggable","lineHeight","BulkCourseUpload","CpdRequirementsPage","modalShow","setModalShow","setIsModalAdd","userInfo","EntityId","temp","attachments","shapedData","SUPERVISINGPROFESSIONALURL","supervisingProfessionalId","isAccepted","isOwner","relationshipId","firmEntityId","professionalFormattedLicenseNumber","SupervisingProfessionalDocumentUpload","SupervisingProfessionalPage","setSupervisingProfessionals","supervisingProfessionalService","codeVerificationStatus","verificationStatus","changeOwnership","finally","firmFormattedName","firmFormattedLicenseNumber","alignItems","checked","sentDate","responseDate","toUpperCase","Invoice","printLoading","setPrintLoading","setData","entity","setEntity","licenseData","setLicenseData","componentRef","licenseInfo","Image","src","seal","lineItems","feeType","totalAmount","paidAmount","datePaid","balance","trigger","onBeforeGetContent","onAfterPrint","invoiceData","setInvoiceData","licenseNumbers","setLicenseNumbers","currentInvoiceId","licenseResponse","Section","badge","sectionTitle","sectionContent","getSections","electronicSignature","hasReferences","hasMyNceesExperience","hasMyNceesEducation","hasAnsacDegree","hasFourYearDegree","ISSUESURL","closed","Index","setSections","selector","currentApplicationTypeId","appType","issuesService","currentApplicationId","currentRoutes","issues","openIssueCount","ListGroup","FormActionButtons","showSectionComplete","isComplete","isCompleteCallback","htmlFor","backToSectionLink","submitFormName","GetAppInformationContent","GetRenewalInformationContent","fontStyle","GetReinstatementInformationContent","listStyleType","PLSAPPLICATIONURL","certDisplayName","ViolationIssueComment","IssueService","CHANGELOGURL","sectionTypeId","Issues","setIsComplete","changeLog","updateIssues","changeLogData","updateChangeLogData","updateIssuesList","getChangeLogData","ChangeLogService","CurrentId","SectionId","defaultChecked","toggleStatus","currentTarget","currentIssue","inputValue","issueResponses","BodyText","minWidth","dateMod","appId","sectionData","setSectionData","applicationService","isForSubmit","certificateName","el","EducationRecord","xs","handleMyNceesEducationChange","textWrap","handleShowQuestion3","sectionDataId","hasFiles","EducationPage","AddEditPersonalReferenceModal","address","parentType","addressType","county","firstOccasionFirmAddress","secondOccasionFirmAddress","membersOfSameFirm","notMembersOfSameFirmExplanation","dateFromFirstOccasion","dateToFirstOccasion","firstOccasionFirmName","firstOccasionPosition","firstOccasionReferencePosition","dateToSecondOccasion","dateFromSecondOccasion","secondOccasionFirmName","secondOccasionPosition","secondOccasionReferencePosition","referenceModel","setReferenceModel","setShowErrors","onsave","updategrid","validateAddress","References","hideReferencesGrid","setHideReferencesGrid","griddata","downloadPersonalReferences","verificationStatusId","handleAction","openVerifierModal","emailReference","deleteRow","getPersonalReferences","postPersonalReference","sendPersonalReferenceEmail","referenceId","PersonalReferencesPage","updateGridData","personalReferenceService","signatureResponse","updateGrid","handleSave","ErrorMessage","children","ViolationQuestion","rowValue","rowIndex","showFormErrors","answer","errorMsg","setErrorMsg","violationExplanation","codeViolationQuestion","hasExplanation","explanationErrorMsg","setExplanationErrorMsg","question","explanationText","ViolationQuestionControl","setAnswers","handleInputChange","nextAnswers","handleChangeAnswers","Violations","downloadViolations","showAdditionalFields","showBlukViolationExplanation","hideSignature","setShowFormErrors","signature","yesAnswerExplanation","store","ViolationService","initialFormData","dataTransfer","EmploymentLicensure","option","setOption","firmNumber","clearFirmNumber","setCreds","contactLoading","setContactLoading","licenseNumber","cleanable","onOpen","onSearch","renderMenu","menu","spin","EmploymentPage","employedBy","licensedFirmType","employmentService","firmIsLicensed","firmIsNotLicensed","soleProprietor","unemployed","employedByName","QuizzesPage","PEAPPLICATIONURL","experienceId","AddEditExperienceRecordsModal","dateFrom","dateTo","employerName","employerPosition","employerEmail","employerPhone","verifierName","verifierPosition","verifierEmail","verifierPhone","position","acceptableDescription","emailAddresses","contactEmailAddress","emailAddressParentType","emailAddressType","phoneNumbers","contactPhoneNumber","phoneParentType","phoneType","employmentTypes","setEmploymentTypes","experienceService","backgroundColor","PLSREINSTATEMENTURL","PEREINSTATEMENTURL","Experience","hideExperienceGrid","setHideExperienceGrid","isEi","downloadExperiences","reinstatementExperienceService","emailVerifier","ExperiencePage","proptitle","Acknowledgement","AcknowledgementPage","ReviewPdf","urlProps","url","ReviewPage","hasIssues","setHasIssues","violationIssuesHtml","setViolationIssuesHtml","allSections","setAllSections","plsApplicationService","navigateToPage","hasCpd","DisclosureAuthorization","DisclosurePage","dateSigned","violationService","versionNumber","isOverFiveYears","setIsOverFiveYears","plsReinstatementService","LockedRenewalModal","metCpd","setMetCpd","hasCpdInMyNcees","setHasCpdInMyNcees","isNonActiveToActive","year1Number","year2Number","notMetCpdReason","showLockedRenewalModal","setShowLockedRenewalModal","setIsNonActiveToActive","setIsRequired","isLicenseStatusSet","setIsLicenseStatusSet","currentDate","yearBase","getMonth","getDate","getFullYear","year1","year1Hours","year2","year2Hours","hasCpc","notMetCPDReason","carryoverExplanation","cpdRequirementsService","notRequiredSubmit","isForSubmiit","generalRenewalService","wasHeld","JournalPrivacyCard","Privacy","receiveMethod","journalEmail","journalMail","journalDoNotSend","privacyService","Instructions","plsRenewalService","renewingToId","LicenseStatus","plsRenewalLicenseStatuses","LicenseStatusPage","setPlsRenewalLicenseStatuses","renewingTo","licenseStatusService","credentialStatus","isActiveMilitary","baseStationed","isActiveMilitarySpouse","spouseBaseStationed","validationModel","reloadGrid","EducationService","hideGrid","attendanceStartDate","attendanceEndDate","graduationDate","AddEditEducationRecordsModal","schools","setSchools","degrees","setDegrees","didGraduate","major","hideGrids","setHideGrids","setReloadGrid","CoopExperiencePage","hasCoopExperience","months","years","setModel","coopExperienceService","ResidencyPage","peApplicationService","residencyService","TagPicker","peRenewalLicenseStatuses","hasloaded","setPeRenewalLicenseStatuses","requirementsNotMetReasonData","isRetiredToActive","setIsRetiredToActive","PERENEWALURL","BuildingDesignPage","isLicenseStatusNonactiveToActive","setIsLicenseStatusNonactiveToActive","isBuildingdesignRequired","setIsBuildingdesignRequired","hasLaBuildingDesign","hasSafetyCodeHours","peRenewalService","designService","causedApplicationHold","peReinstatementService","LSIAPPLICATIONURL","Recommendation","getRecommendations","postRecommendation","sendRecommendationEmail","recommendationId","AddEditRecommendationModal","recommendationModel","setRecommendationModel","RecommendationPage","recommendationService","ExaminationVerification","jurisdictionState","dateOfExam","examinationService","lsiApplicationService","lsiRenewalService","lsiReinstatementService","EIAPPLICATIONURL","eiApplicationService","eiRenewalService","EIREINSTATEMENTURL","eiReinstatementService","INDIVIDUAL_ROUTES","InvoiceHistoryPage","ContactPage","Sidebar","React","setActiveKey","Sidenav","logo","Nav","NOTIFICATIONURL","notificationId","Notification","notifications","setNotifications","removeNotification","notificationService","notification","placement","noCaret","panel","notificationPanel","marginLeft","borderRadius","background","zIndex","pointerEvents","ShoppingCartButton","numberOfItems","setNumberOfItems","setTotal","amount","ShoppingCartService","history","decimalScale","fixedDecimalScale","API_AUTH_URL","logout","removeItem","getCurrentUser","expireDate","username","password","roles","jwt","Array","isArray","TopNavBar","FormattedName","Navbar","pullRight","PublicIndividual","Container","Content","plsGetSection","plsPostSection","plsPostSectionHasRef","plsPostSectionHasExperience","plsMarkSectionComplete","complete","postStaffApproval","isApproved","postApplicationPdf","plsPostEducationSection","vfGetSection","vfPostSection","vfPostSectionHasWordOffering","hasWordOfferingProfessionalServices","vfPostSectionHasFirmSubmittedSupervisingProfessional","hasFirmSubmittedSupervisingProfessional","vfMarkSectionComplete","postReinstatementPdf","postRenewalPdf","QUEUEURL","getMyPendingTasks","taskType","getAllTasks","getUnassignedTasks","getClosedTasks","getDeclinedTasks","postAssignTask","taskId","userId","reassignTask","saveInternalTaskStatusAndComments","internalStatusId","getInternalTaskStatusAndComments","getTaskId","getWhoAssigned","getAssignmentHistory","getApplicationTypes","INTERNALREINSTATEMENT","plsPostSectionHasCpd","submitRenewal","getDashboardNumbers","TopCards","individual","firm","reinstatements","setReinstatements","renewals","setRenewals","individualLicenses","setIndividualLicenses","firmLicenses","setFirmLicenses","setAskLola","setCases","staticInformationService","pendingIndividualApplications","pendingFirmApplications","pendingIndividualReinstatements","pendingFirmReinstatements","pendingIndividualRenewals","pendingFirmRenewals","askLolaUnanswered","enforcementCases","border","borderRight","borderTop","recentUpdate","setRecentUpdate","recentUpdateService","isForAssignment","GridSearch","statuses","setStatuses","showAdvancedSearch","setShowAdvancedSearch","employeeList","setEmployeeList","applicationTypes","setApplicationTypes","propsIsActive","entityService","self","queueService","hasInternalStatusSearch","searchModel","setSearchModel","handleSearch","hasAdvancedSearch","clearSearchModel","AllTasksGrid","viewItemCallback","sortColumn","setSortColumn","sortType","setSortType","gridLoading","setGridLoading","organizationName","assignedTo","dateSubmittedBegin","dateSubmittedEnd","onSortColumn","handleSortColumn","fixed","sortable","MyTasksGrid","staffList","inputOptions","inputPlaceholder","UnassignedTasksGrid","hasGridLoad","setHasGridLoad","reassignResult","didClose","ClosedTasksGrid","DeclinedTasksGrid","QueuePage","gridType","setGridType","hasUnassignedPermission","setHasUnassignedPermission","blockUI","toggleBlockUi","viewItem","firmApplicationService","firmReinstatementService","firmRenewalService","EntitySearchGrid","setIsSearchingCallback","currentPageCache","displayLengthCache","entityType","navigateToEntity","federalId","nceesNumber","EntitySearchPage","credentialStatusReason","firmName","phone","stateProvince","credType","setCredType","credStaus","setCredStaus","credReason","setCredReason","isSearching","setIsSearching","inputType","setInputType","searchCache","cacheSearch","split","fedId","searchService","AutoComplete","newSearchModel","correctedText","onFocus","onBlur","FIRMCREDENTIALURL","INDCREDENTIALURL","COMMENTURL","getFirmGeneralInfo","postFirmGeneralInfo","getFirmCredentialInfo","getFirmCredentialIds","updateEfCredential","updateVfCredential","updatePlsCredential","updatePeCredential","updateLegacyPlsCredential","updateLegacyPeCredential","updateLsiCredential","updateEiCredential","updateTpCredential","updateCpdCredential","updateWgCredential","activatefirmpendingcredential","activateindpendingcredential","createLegacyPlsCredential","createLegacyPeCredential","createLegacyWgCredential","getIndGeneralInfo","postIndGeneralInfo","createComment","updateComment","commentId","deleteComment","getComments","removePendingSupervisingProfessional","getFirmSupervisedBy","getIndSupervises","individualEntityId","updateRelationshipStatus","getIndividualCredentialInfo","getWorkHistoryData","createWorkHistory","updateWorkHistory","deleteWorkHistory","getCredHistory","credId","getEntityCredHistory","checkHasPending","getPendingCreds","CommentsCard","updateComments","updateCommentGrid","updateData","credentialService","staffMember","commentText","DocumentUploadsCard","console","log","getData","INDIVIDUALURL","getEngineeringAdditionalInfo","getSurveyingAdditionalInfo","postEngineeringAdditionalInfo","postSurveyingAdditionalInfo","AdditionalEngineeringInformationForm","active","engineeringModel","setEngineeringModel","isAct2","setIsAct2","isByEndorsement","setIsByEndorsement","examDiscipline","setExamDiscipline","appDiscipline","setAppDiscipline","additionalStructurals","setAdditionalStructurals","firstExamDiscipline","peDiscipline","examAdditionalStructural","additionalInformationService","eiCertificationDate","feExamDate","peExamDate","peLicenseDate","peExamDiscipline2RegistrationDate","peExamDiscipline3RegistrationDate","peExamDiscipline4RegistrationDate","additionalStructuralExamDate1","additionalStructuralExamDate2","stateSearch","Toggle","AdditionalSurveyorInformationForm","surveyModel","setSurveyModel","lsiCertDate","fsExamDate","plsExamDate","plsLicenseDate","oralExamDate","laLawsExamDate","AdditionalInformationPage","activeSection","setActiveSection","CredentialHistoryTable","updateTableWithEntityId","activeCredentialId","updateTable","pendingOnly","isLegacy","preventDefault","viewRecord","showLicenseNumber","previousExpirationDate","lastActionDate","userLastActioned","getEducations","saveEducation","deleteEducation","EducationTabModal","legacyDatesAttended","legacyDegreeOrSpecialty","schoolStatus","educationTabService","year","month","WARNINGURL","getWarnings","createWarning","updateWarning","deleteWarning","warningId","EntityInformationPage","generalInfoModel","setGeneralInfoModel","generalEntityInfoService","entityInfo","EntityAttachments","checkedRows","setCheckedRows","docTypes","setDocTypes","selectedDocTypes","setSelectedDocTypes","laserficheId","Set","handleCheck","downloadSelected","Promise","all","setTimeout","Checkbox","indeterminate","checkedKeys","some","getExams","saveExam","deleteExam","ExamsTabModal","exams","setExams","examStatuses","setExamStatuses","examDate","examTabService","ExamsPage","FIRMURL","getInvoices","getRefunds","CurrencyMask","thousandSeparator","floatValue","PAYMENTURL","REFUNDURL","getPayment","createPayment","deletePayment","paymentId","updatePayment","allocatePayment","deallocatePayment","getPaymentsForInvoice","getInvoicesForPayment","createRefund","searchDailyRefunds","beginDate","endDate","searchPayments","searchInvoice","searchPaymentsByAccount","contactEntityId","downloadPaymentSummary","PaymentInfoModal","refreshInvoicesRefunds","paymentTypes","setPaymentTypes","refundList","setRefundList","invoiceList","setInvoiceList","showRefund","setShowRefund","paymentInfoModel","setPaymentInfoModel","refundModel","setRefundModel","reloadPaymentModel","paymentService","refundAmount","refundReason","nicAuthCode","remitter","refundValidationModel","max","availableAmount","invoiceDisplayLength","setInvoiceDisplayLength","invoicePage","setInvoicePage","getInvoiceData","batchId","isInUsersOpenBatch","isOnline","refundDate","EditInvoiceTransactionFee","lineItemModel","setLineItemModel","feeDefinitions","setFeeDefinitions","fee","invoiceAmount","invoiceLineItemId","responsse","FeeTransactionPage","refundData","setRefundData","invoiceHasLoaded","setInvoiceHasLoaded","refundHasLoaded","setRefundHasLoaded","currentPaymentId","setCurrentPaymentId","editModalShow","setEditModalShow","currentRowData","setCurrentRowData","feeTransactionTabService","glAccount","paymentAmount","paymentDate","reason","WarningModal","issueTypes","setIssueTypes","issueType","clearedDate","effectiveDate","clearedBy","issue","suppressLicensePrint","warningModel","setWarningModel","isCreate","WarningsPage","setWarningNumber","warningHasLoaded","setWarningHasLoaded","warningData","setWarningData","TopInformationCard","warningNumber","warningTitle","paddingRight","paddingLeft","LegacyCredentialForm","setFormData","applicationDate","statusLabel","statusReasonLabel","licenseTypePrefix","credentialStatuses","wgOnlyStatuses","formId","saveSuccess","editMode","FirmCredentialForm","certificateSentDate","updateSupervisedCardCallback","EditFirmCredential","updatedCred","updateCardData","nextReinstatementDate","setDate","updateCommentCardCallback","LegacyWgCredentialForm","approvedBy","userMod","setCredStatus","LegacyFirmCredentialModal","hideLegacyModal","CredentialCard","selectedTab","setSelectedTab","legacyModalShow","setLegacyModalShow","hasPending","setHasPending","fontSize","InputMask","EditFirmGeneralInformation","genInfoFormData","setGenInfoFormData","genInfoFormDataCache","setGenInfoFormDataCache","firmTypes","setFirmTypes","mailingAddressStreet","mailingAddressCity","mailingAddressState","mailingAddressStateProvidence","mailingAddressPostalCode","mailingAddressCountry","publicAddressStreet","publicAddressCity","publicAddressState","publicAddressStateProvidence","publicAddressPostalCode","publicAddressCountry","companyEmail","businessPhone","toString","companyWebsite","contactName","domicileFirmState","domicileState","dateFormed","dateOfFormation","servicesDesc","additionalInformation","journalSubscription","pressReleases","webinar","inputHasError","cacheInputVal","formInputVal","conditionalValidation","saveDataCallback","GeneralInfoCard","updateCard","setAddress","addressComponents","EditSupervisedByModal","individualCreds","setIndividualCreds","individualCredLoading","setIndividualCredLoading","selectedValue","supervisingProfessionalModel","setSupervisingProfessionalModel","professionalCredentialId","SupervisedByTable","entityid","professionalFirstName","professionalFormattedName","professionalEntityId","openAddEditModal","SupervisedByCard","setUpdateTable","individualCredential","ownerOfFirm","RECENTCONTACTSURL","getRecentContacts","getAllRecentContacts","updateRecentContacts","recentContact","CredentialPage","setEntityId","updateSupervisedCard","setUpdateSupervisedCard","updateCommentCard","setUpdateCommentCard","isFirm","entityName","recentContactService","CpdLockerCard","bulkDisplayLength","setBulkDisplayLength","bulkPage","setBulkPage","bulkData","setBulkData","filteredBulkData","EiCredentialForm","LsiCredentialForm","PeCredentialForm","updateSupervisesCardCallback","PlsCredentialForm","EditCredentialModal","LegacyPeCredentialForm","LegacyPlsCredentialForm","LegacyCredentialModal","license","legacyCredentials","licenseType","selectedLicenseType","setSelectedLicenseType","modalHide","setLegacyCredentials","legacyPrefixes","AddEditEmployementModal","startDate","occupation","organization","EmploymentCard","EditIndGeneralInformation","maidenName","suffix","dateOfDeath","birthState","nonUsBirthState","alternateEmail","mobilePhoneNum","citizenshipCountry","vals","mobilePhone","SupervisesTable","firmFormattedtName","EditSupervisesModal","SupervisesCard","updateSupervisesCard","setUpdateSupervisesCard","AllRecentContacts","dateLastAccessed","AllRecentQueue","ContactChangeLogForEntity","contactAuditTrail","setContactAuditTrail","contactAuditTrailHasLoaded","setContactAuditTrailHasLoaded","changeLogService","refreshChangeLog","affixHeader","parentName","fieldName","oldValue","newValue","CredentialChangeLogForEntity","credentialAuditTrail","setCredentialAuditTrail","credentialAuditTrailHasLoaded","setCredentialAuditTrailHasLoaded","formattedCredential","ReassignButton","refreshInternalStatus","refreshEmployeeList","InternalTaskInfo","justLicensed","setTaskId","initTaskId","FormEntityInformation","formType","currentSection","lolaNum","entityInformation","setEntityInformation","marginRight","showSectionButton","setShowSectionButton","setJustLicensed","setEntityInfo","currentAppId","currentEntityID","currentApplicationEntityId","currentAppTypeId","sectionResponse","element","staffReviewComplete","sendStaffApproval","setIsUserEditable","appData","pdfjs","GlobalWorkerOptions","workerSrc","version","ExternalFormModal","numPages","setNumPages","httpHeaders","setFile","zoom","onLoadSuccess","from","renderAnnotationLayer","renderTextLayer","pageNumber","scale","verifierModalShow","setVerifierModalShow","verifierId","setVerifierId","verifierExperienceId","setVerifierExperienceId","BoardApproval","setFiles","dateSent","dateReceived","boardMember","boardMemberDecision","boardApprovalService","BoardApprovalModal","boardMemebers","setBoardMembers","approvalModel","setApprovalModel","boardMemberResponse","BoardApprovalPage","boardApproval","examsVerifiedInMyNcees","education","additionalComments","boardApprovalSectionId","setBoardApprovalSectionId","appointmentYear","expirationYear","representation","boardStaffApprovalId","filesLoading","Sections","reinstatementData","renewalData","isCompleteCallBack","question1","publicApplicationService","lsiGetSection","lsiPostSection","lsiMarkSectionComplete","internalRenewalService","publicRenewalService","lsiPostSectionHasMyNceesEducation","publicreinstatementService","FirmInformation","orgType","phoneNum","markSectionResponse","SupervisingProfessional","supervisingLockerHasLoaded","setSupervisingLockerHasLoaded","bg","supervisingProfessionalLink","isRenewal","UnlicensedActivity","UnlicensedActivityPage","hasUnlicensedActivity","explanation","unlicensedActivityService","WavierCertificate","waiverTitle","isApp","uploadTitle","WaiverCertificatePage","vfApplicationService","BoardStaffChecklist","isFirmVerifiedBySecretaryOfState","areFirmSupervisingProfessionalsVerified","areFirmRequiredSupervisingProfessionalQuizzesSubmitted","areFirmDisciplinaryActionsChecked","vfReinstatementService","vfRenewalService","efGetSection","efPostSection","efPostSectionHasWordOffering","efPostSectionHasFirmSubmittedSupervisingProfessional","efMarkSectionComplete","credInfo","setCredInfo","efApplicationService","efReinstatementService","efRenewalService","info","peGetSection","pePostSection","pePostSectionHasRef","pePostSectionHasCpd","pePostSectionHasExperience","peMarkSectionComplete","eiGetSection","eiPostSection","eiMarkSectionComplete","eiPostSectionHasMyNceesEducation","PaymentSearchGrid","setPaymentId","setShow","PaymentSearchPage","setPaymentType","contacts","setContacts","paymentStartDate","paymentEndDate","checkNumber","amountMin","amountMax","dateCrteBegin","dateCrteEnd","authorizationNumber","labelKey","renderMenuItem","renderValue","selectedElement","BATCHURL","getBatchInfo","createBatch","checkBatchOpened","hasOpenedBatchForDay","closeBatch","openBatch","searchBatch","BatchSearchPage","statusType","setStatusType","searchResults","setSearchResults","batchStatus","employee","batchService","batchOwnerName","batchDate","batchItemCount","batchAmount","AddPaymentModal","addPaymentTypes","setAddPaymentTypes","entityDetails","paymentModel","setPaymentModel","CreateBatchPage","lastOpenedBy","batchInfo","setBatchInfo","paymentData","setPaymentData","batchActionShow","setBatchActionShow","payments","DailyRefundSearchPage","glCodes","paymentLolaNumber","paymentFormattedName","stateCode","refundUserFormattedName","DailyPaymentsByAccountPage","isDownloading","setIsDownloading","summary","pdfData","setPdfData","searchResultSummary","setSearchResultsSummary","contactEntityName","tempSummary","grandTotalAmount","grandTotalItems","itemsCount","generalLedgerId","margin","paymentAllocationAmount","paymentEntityId","paymentAllocationDate","AddLineItem","setCurrentInvoiceId","setPayments","invoice","setInvoice","reloadInvoice","reloadPayments","shouldReload","maxWidth","canAddLineItem","isAllocatedToInvoice","CreateInvoicePage","newInvoice","setNewInvoice","InvoiceSearchPage","INTERNAL_ROUTES","ContactChangeLog","CredentialChangeLog","RecentContacts","recentContactList","setRecentContactList","updateSelector","refreshRecentContacts","updateContacts","checkForUpdate","addEventListener","removeEventListener","paddingBottom","RecentQueue","recentQueueList","setRecentQueueList","refreshRecentQueue","SideNav","checkBatch","TopNav","MainInternal","recentQueueId","LoginPage","setState","userOrPassIncorrect","setUserOrPassIncorrect","sendDetailsToServer","handleLogin","jwt_decode","resMessage","mixin","toast","showConfirmButton","timer","timerProgressBar","stopTimer","resumeTimer","Img","alt","checkAsync","role","preConfirm","showValidationMessage","IndividualForm","social","confirmSocial","confirmEmail","stateProvinceRegion","confirmPassword","showPass","toggleShowPass","match","alert","errorPlacement","FirmForm","fein","formationDate","website","isURL","RegisterNewMemberForm","radioState","setRadioState","paddingTop","RegisterNewMemberPage","flexDirection","RegisterSuccessPage","sectionsLink","AddNewSupervisingProfessionalModal","licenseNum","professionalEmailAddress","showAddNewButton","setShowAddNewButton","question2","question3","question4","FIRM_ROUTES","Firm","INDIVIDUAL","FIRM","STAFF","ADMINISTRATOR","ForgotPassword","setUserId","showAccountRecoverEmail","setShowAccountRecoverEmail","validated","noValidate","checkValidity","stopPropagation","Group","Control","required","Feedback","ForgotPasswordSuccess","ForgotUserId","firmCreds","setFirmCreds","ForgotUserIdSuccess","Main","setLoggedIn","userType","setUserType","loggedIn","Enums","pathContains","sendToLogin","pathArray","pathname","withClearCache","ClearCacheComponent","Component","isLatestBuildDate","setIsLatestBuildDate","fetch","now","json","meta","latestDate","momLatestDateTime","momCurrentDateTime","isAfter","buildDateGreaterThan","buildDate","packageJson","refreshCacheAndReload","offline","caches","delete","reload","interceptors","use","err","reject","persistConfig","storage","storageSession","blacklist","userConfig","rootReducer","combineReducers","persistReducer","reducer","persistedReducer","createStore","persistor","persistStore","App","isLocalhost","Boolean","hostname","registerValidSW","swUrl","navigator","serviceWorker","register","registration","onupdatefound","installingWorker","installing","onstatechange","controller","ScrollToTop","useLocation","scrollTo","rootElement","getElementById","ReactDOM","StrictMode","origin","ready","unregister","checkValidServiceWorker","registerServiceWorker"],"mappings":"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","file":"static/js/main.062119a3.chunk.js","sourcesContent":["function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 180;","import React from \"react\"\r\nimport { Route, Switch } from \"react-router-dom\"\r\n\r\nfunction RouteWithSubRoutes(route) {\r\n return (\r\n }\r\n />\r\n );\r\n}\r\n\r\nexport default function RenderRoutes({ routes }) {\r\n return (\r\n \r\n {routes.map((route, i) => {\r\n return \r\n })}\r\n

Not Found! (add not found component here)

} />\r\n
\r\n )\r\n}","import React from 'react';\r\nimport { Card } from 'react-bootstrap'\r\nimport { Panel } from 'rsuite';\r\n\r\nfunction WelcomeContent() {\r\n\r\n return (\r\n
\r\n \r\n\r\n
\r\n\r\n Complete your Profile:\r\n
    \r\n
  • Click on \"Update contact information\" in the left menu to ensure your contact information is entered and updated. New registrants or new applicants will need to complete this first before starting an application.
  • \r\n
\r\n\r\n
\r\n\r\n Online Applications:\r\n
    \r\n
  • Application for first-time EI certification in Louisiana
  • \r\n
  • Application for Licensure as a Professional Engineer by Examination
  • \r\n
      \r\n
    • This application is for an applicant seeking an initial PE license.
    • \r\n
    • NOTE: PE Applicants wanting to apply for a license by examination in Louisiana must meet ALL the following requirements before applying:
    • \r\n
        \r\n
      • You have graduated with a BS degree from an EAC/ABET accredited program; or meet the educational requirements.
      • \r\n
      • You have obtained the requisite four years of verified progressive engineering experience subsequent to meeting the educational requirements.
      • \r\n
      • Passed the NCEES PE Exam.
      • \r\n
      • You must have established a NCEES record.
      • \r\n
      • If you have not met all of the above requirements, contact staff at applications@lapels.com.
      • \r\n
      \r\n
    \r\n
  • Application for Licensure as a Professional Engineer by Comity with NCEES record
  • \r\n
      \r\n
    • \r\n This application is for an applicant with a license in another jurisdiction and seeking a comity PE license.\r\n
    • \r\n
    \r\n
  • To apply for firm licensure, sign out from this individual account and sign back in with your firm user ID and password. If you have not yet registered your firm, click \"Register\" at https://lola.lapels.com and select the \"Firm\" option to create a new account.
  • \r\n \r\n\r\n
\r\n\r\n\r\n Online Renewals/Reinstatements\r\n \r\n
    \r\n
  • Licenses/certifications expiring in March may begin renewing in February. Those expiring in September may begin renewing in August.
  • \r\n
  • Once licenses/certifications have expired, licensees may apply to reinstate.
  • \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default WelcomeContent;","import React from 'react';\r\nimport { Card, Row, Col, Container, Button } from 'react-bootstrap'\r\nimport { Link } from 'react-router-dom';\r\nfunction License({ data }) {\r\n const needsRenewal = data.renew;\r\n const needsReinstatement = data.reinstate;\r\n let superProMarkup = data.supervisingProfessionals ? data.supervisingProfessionals.map((item, i) => {\r\n return (\r\n \r\n \r\n Supervising Professional\r\n {item.name} | {item.credentialNumber}\r\n \r\n \r\n )\r\n }) : \"\";\r\n return (\r\n
\r\n \r\n \r\n \r\n {data.certificationNumber}\r\n \r\n {needsRenewal &&\r\n \r\n }\r\n {needsReinstatement &&\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n License Status\r\n {data.licenseStatus}\r\n \r\n \r\n First Issuance Date\r\n {data.firstIssuanceDate ? new Date(data.firstIssuanceDate).toLocaleDateString() : null}\r\n \r\n \r\n Expiration Date\r\n {data.expirationDate ? new Date(data.expirationDate).toLocaleDateString() : null}\r\n \r\n \r\n Reinstatement Date\r\n {data.reinstatementDate ? new Date(data.reinstatementDate).toLocaleDateString() : null}\r\n \r\n {superProMarkup}\r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nexport default License;","import React from 'react';\r\nimport { Col } from 'react-bootstrap';\r\nimport * as FaIcons from 'react-icons/fa';\r\nimport { Link } from 'react-router-dom';\r\n\r\n// action url is javascript function\r\nfunction GenericGridAction({ actionName, actionUrl }) {\r\n let action = \"\";\r\n switch (actionName) {\r\n case \"Add\":\r\n break;\r\n case \"Edit\":\r\n action = \r\n break;\r\n case \"Delete\":\r\n action = \r\n break;\r\n case \"Start\":\r\n case \"Continue\":\r\n case \"View\":\r\n if (actionUrl == \"\") {\r\n action = actionName;\r\n }\r\n else\r\n action = {actionName}\r\n break;\r\n default:\r\n action = {actionName}\r\n break;\r\n }\r\n return (\r\n action\r\n )\r\n}\r\n\r\nexport default GenericGridAction;","import React from 'react';\r\n\r\n// action url is javascript function\r\nfunction GenericGridStatus({ status, extraInfo }) {\r\n let markUp = \"\";\r\n if (status) {\r\n markUp = {status};\r\n if (extraInfo)\r\n markUp = <>{status} {extraInfo};\r\n }\r\n\r\n return (\r\n markUp\r\n )\r\n}\r\n\r\nexport default GenericGridStatus;","import React from \"react\"\r\nimport Table from 'react-bootstrap/Table'\r\nimport GenericGridAction from './GenericGridAction'\r\nimport GenericGridStatus from \"./GenericGridStatus\";\r\n\r\n// Will take in a json as data and use a 2D array for the columns\r\nfunction GenericGrid({ columns, data, theadStyle, tStyle }) {\r\n let names = [];\r\n let props = [];\r\n for (var i = 0; i < columns.length; i++) {\r\n names.push(columns[i][0]);\r\n props.push(columns[i][1]);\r\n }\r\n let headers = {names.map((key, index) => { return {key} })};\r\n let rows = data.map((item, i) => {\r\n return (\r\n {props.map((prop, p) => {\r\n return (prop == \"actions\" && item[prop]) ?\r\n {item[prop].map((command, c) => {\r\n if (command.actionText)\r\n return \r\n else\r\n return \r\n })}\r\n :\r\n (\r\n ((prop == \"status\" || prop == \"licStatus\") && item[prop]) ? \r\n \r\n :\r\n {item[prop]}\r\n )\r\n })}\r\n )\r\n })\r\n\r\n return (\r\n \r\n \r\n {headers}\r\n \r\n {rows}\r\n
\r\n );\r\n}\r\n\r\nexport default GenericGrid;","import React from 'react';\r\nimport { Card, Row, Col, Container, Button } from 'react-bootstrap'\r\nimport { Link } from 'react-router-dom';\r\nimport GenericGrid from '../../../Shared/Grid/GenericGrid';\r\nfunction PendingApplications({ data, schema }) {\r\n const pendingAppSchema = [\r\n ['License Type', 'licenseType'],\r\n ['Status', 'pendingApplicationStatus']\r\n ]\r\n return (\r\n
\r\n \r\n \r\n \r\n Pending Applications\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nexport default PendingApplications;","import React from 'react';\r\nimport { Card, Button, Row, Container, Col } from 'react-bootstrap'\r\nimport License from './License';\r\nimport PendingApplications from './PendingApplications';\r\n\r\nfunction Profile({ profileInfo, credentials, pendingApps}) {\r\n let licenses = credentials !== undefined ? credentials.map((item, i) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }) : null;\r\n\r\n const hasPendingApps = pendingApps.length > 0;\r\n\r\n return (\r\n
\r\n \r\n
Profile
\r\n \r\n \r\n \r\n Name\r\n {profileInfo.name}\r\n \r\n \r\n LOLA #\r\n {profileInfo.lolaNumber}\r\n \r\n \r\n UserID\r\n {profileInfo.userName}\r\n \r\n \r\n Email Address\r\n {profileInfo.email}\r\n \r\n {hasPendingApps &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n {licenses}\r\n \r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Profile;","import React from 'react'\r\nimport { Badge } from 'react-bootstrap';\r\n\r\nfunction GenericBadge(props) {\r\n let variant = \"danger\";\r\n switch (props.status.toLowerCase()) {\r\n case \"expired\":\r\n case \"licensing\":\r\n case \"declined\":\r\n case \"issue\":\r\n variant = \"danger\";\r\n break;\r\n case \"pending\":\r\n case \"enforcement\":\r\n variant = \"warning\";\r\n break;\r\n case \"active\":\r\n case \"complete\":\r\n case \"verified\":\r\n case \"applications\":\r\n case \"approved\":\r\n variant = \"success\";\r\n break;\r\n case 'incomplete':\r\n case 'board/staff':\r\n case 'reviewed':\r\n case 'license':\r\n case 'hold':\r\n variant = \"secondary\";\r\n }\r\n return (\r\n {props.status}\r\n )\r\n}\r\n\r\nexport default GenericBadge","import React from 'react'\r\n\r\nfunction LoadingSpinner() {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default LoadingSpinner;","import React, { useEffect } from 'react';\r\nimport { useState } from 'react';\r\nimport { Container, Row, Button, Col } from 'react-bootstrap'\r\nimport { Link } from 'react-router-dom';\r\nimport { List } from 'rsuite';\r\nimport GenericBadge from '../../../Shared/Badge/GenericBadge';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\n\r\nfunction RecentUpdateItem({ data }) {\r\n const [loading, setIsLoading] = useState(false);\r\n useEffect(() => {\r\n setIsLoading(false);\r\n }, [])\r\n const goToPage = (data) => {\r\n if (data.issueId) {\r\n setIsLoading(true);\r\n window.open(\"individual/redirectToSection?issueId=\" + data.issueId, \"_self\");\r\n setIsLoading(false);\r\n }\r\n }\r\n return (\r\n { goToPage(data) }} className=\"recentUpdateItem\">\r\n {loading ? : <>\r\n \r\n
{data.name}
\r\n {new Date(data.date).toLocaleDateString()}\r\n
\r\n Message in   \r\n {data.text}\r\n {data.isClosed && CLOSED}\r\n {!data.isClosed && OPEN}\r\n \r\n }\r\n
\r\n\r\n )\r\n}\r\n\r\nexport default RecentUpdateItem;","import React, { useEffect, useState, useRef } from 'react';\r\nimport { Card, Col, ListGroup, Row } from 'react-bootstrap'\r\nimport { List } from 'rsuite';\r\nimport RecentUpdateItem from './RecentUpdateItem';\r\n\r\nfunction RecentUpdates({ updates }) {\r\n const [postUpdate, setPostUpdate] = useState(updates);\r\n const [page, setPage] = useState(1);\r\n const loader = useRef(null);\r\n\r\n\r\n const handleObserver = (entities) => {\r\n const target = entities[0];\r\n if (target.isIntersecting) {\r\n setPage((page) => page + 1)\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
Recent Updates (click to review)
\r\n \r\n
\r\n {postUpdate.length > 0 ?\r\n \r\n {postUpdate.map((item, index) => {\r\n return \r\n })}\r\n \r\n :\r\n \r\n

No Recent Updates

\r\n
\r\n }\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default RecentUpdates;","export default function authHeader() {\r\n const user = JSON.parse(localStorage.getItem(\"user\"));\r\n\r\n if (user && user.message) {\r\n return { Authorization: `Bearer ${user.message}` };\r\n } else {\r\n return {};\r\n }\r\n}","import axios from \"axios\";\r\nimport authHeader from '../authheader'\r\n\r\nconst GETINDIVIDUAL = process.env.REACT_APP_APIURL + \"/api/Individual\";\r\nconst GETFIRM = process.env.REACT_APP_APIURL + \"/api/Firm\";\r\nconst CONTACTURL = process.env.REACT_APP_APIURL + \"/api/Contact\";\r\n\r\nconst getIndividualDashboard = async () => {\r\n return axios.get(`${GETINDIVIDUAL}/dashboard`, { headers: authHeader() });\r\n};\r\nconst getFirmDashboard = async () => {\r\n return axios.get(`${GETFIRM}/dashboard`, { headers: authHeader() });\r\n};\r\n\r\nconst postIndividualLockedContactInformation = async (data) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/Contact/updateindividualmigratation`, data, { headers: authHeader() });\r\n}\r\nconst postFirmLockedContactInformation = async (data) => {\r\n return axios.post(`${CONTACTURL}/updatefirmmigratation`, data, { headers: authHeader() });\r\n}\r\nconst getIndividualLockedContactInformation = async () => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/Contact/individualmigrationupdate`, { headers: authHeader() });\r\n}\r\nconst getFirmLockedContactInformation = async () => {\r\n return axios.get(`${CONTACTURL}/firmmigrationupdate`, { headers: authHeader() });\r\n}\r\n\r\nexport default {\r\n getIndividualDashboard,\r\n getFirmDashboard,\r\n postIndividualLockedContactInformation,\r\n postFirmLockedContactInformation,\r\n getIndividualLockedContactInformation,\r\n getFirmLockedContactInformation\r\n\r\n}","import faker from 'faker'\r\n\r\n//this is needed for the login page\r\nexport const fetchUsers = async () => ([...new Array(1000)].map(() => ({\r\n id: faker.random.uuid(),\r\n username: faker.internet.userName(),\r\n name: `${faker.name.firstName()} ${faker.name.lastName()}`\r\n})));\r\n\r\nexport const authenticateResponse = async () => ({\r\n id: 1,\r\n firstName: faker.name.firstName(),\r\n lastName: faker.name.lastName(),\r\n userName: faker.internet.userName(),\r\n token: \"auth token\"\r\n})\r\n\r\nexport const login = async (username, password) => ({\r\n message: null,\r\n isSuccess: true,\r\n errors: null\r\n})\r\n\r\n\r\nexport const address = async () => ({\r\n id: faker.random.uuid(),\r\n streetAddress: faker.address.streetAddress()\r\n})\r\n\r\nexport const getSections = async () => ([\r\n {\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Complete this section providing all required contact information.\",\r\n status: \"2 Issues\",\r\n link: faker.internet.url()\r\n },\r\n {\r\n sectionTitle: \"Education\",\r\n sectionContent: \"Complete this section listing all colleges and universities attended where a degree was conferred.\",\r\n status: \"Complete\",\r\n link: faker.internet.url()\r\n },\r\n {\r\n sectionTitle: \"Personal References\",\r\n sectionContent: \"Complete this section listing all personal references.\",\r\n link: faker.internet.url()\r\n },\r\n {\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n link: faker.internet.url()\r\n },\r\n {\r\n sectionTitle: \"Employment (By Comity ONLY)\",\r\n sectionContent: \"Verify Louisiana Employment Firm licensure\",\r\n link: faker.internet.url()\r\n },\r\n {\r\n sectionTitle: \"Quizzes\",\r\n sectionContent: \"Quiz content here\",\r\n link: faker.internet.url()\r\n },\r\n {\r\n sectionTitle: \"Experience\",\r\n sectionContent: \"Total experience record summary\",\r\n link: faker.internet.url()\r\n },\r\n {\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Electronically sign (type your name) and date.\",\r\n link: faker.internet.url()\r\n }\r\n])\r\nexport const getPlsAppSections = async () => ([\r\n {\r\n sectionTitle: \"Contact Info\",\r\n sectionContent: \"Complete this section providing all required contact information.\",\r\n link: \"/individual/plsApp/contactInformation\"\r\n },\r\n {\r\n sectionTitle: \"Education\",\r\n sectionContent: \"Complete this section listing all colleges and universities attended where a degree was conferred.\",\r\n link: \"/individual/plsApp/educationRecord\"\r\n },\r\n {\r\n sectionTitle: \"Personal References\",\r\n sectionContent: \"Complete this section listing all personal references.\",\r\n link: \"/individual/plsApp/personalReferences\"\r\n },\r\n {\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n link: \"/individual/plsApp/violations\"\r\n },\r\n {\r\n sectionTitle: \"Employment\",\r\n sectionContent: \"Verify Louisiana Employment Firm licensure.\",\r\n link: \"/individual/plsApp/employment\"\r\n },\r\n {\r\n sectionTitle: \"Quizzes\",\r\n sectionContent: \"Quiz content here.\",\r\n link: \"/individual/plsApp/quizzes\"\r\n },\r\n {\r\n sectionTitle: \"Experience\",\r\n sectionContent: \"Total experience record summary.\",\r\n link: \"/individual/plsApp/experience\"\r\n },\r\n {\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Electronically sign (type your name) and date.\",\r\n link: \"/individual/plsApp/acknowledgement\"\r\n },\r\n {\r\n sectionTitle: \"Review\",\r\n sectionContent: 'Review your answers. If you need to change an answer, click the \"Section\" above to go back to the appropriate section',\r\n link: \"/individual/plsApp/review\"\r\n }\r\n])\r\n\r\nexport const getPlsReinstatementPersonalReferencesGridData = async () => ([...new Array(4)].map(() => {\r\n var isSameFirm = faker.random.boolean();\r\n return {\r\n id: faker.random.uuid(),\r\n name: `${faker.name.firstName()} ${faker.name.lastName()}`,\r\n address: faker.address.streetAddress(),\r\n city: faker.address.city(),\r\n country: faker.address.country(),\r\n state: faker.address.stateAbbr(),\r\n stateProvinceRegion: faker.address.stateAbbr(),\r\n postalCode: faker.address.zipCode(),\r\n email: faker.internet.email(),\r\n isSameFirm: isSameFirm,\r\n comments: isSameFirm ? '' : faker.lorem.paragraph(),\r\n modalType: \"Edit\",\r\n verificationStatus: faker.random.number() % 2 ? \"pending\" : faker.random.number() % 3 ? \"verified\" : \"\",\r\n firstOccasion: {\r\n firmName: isSameFirm ? faker.company.companyName() : '',\r\n dateRange: isSameFirm ? [faker.date.past(), faker.date.future()] : [],\r\n firmAddress: isSameFirm ? faker.address.streetAddress() : '',\r\n titleOfPosition: isSameFirm ? faker.name.jobTitle() : '',\r\n referencesPosition: isSameFirm ? faker.name.jobTitle() : '',\r\n },\r\n secondOccasion: {\r\n firmName: isSameFirm ? faker.company.companyName() : '',\r\n dateRange: isSameFirm ? [faker.date.past(), faker.date.future()] : [],\r\n firmAddress: isSameFirm ? faker.address.streetAddress() : '',\r\n titleOfPosition: isSameFirm ? faker.name.jobTitle() : '',\r\n referencesPosition: isSameFirm ? faker.name.jobTitle() : '',\r\n }\r\n }\r\n}))\r\nexport const getPlsReinstatementPersonalReferenceModalData = async () => {\r\n var isSameFirm = faker.random.boolean();\r\n\r\n return {\r\n id: faker.random.uuid(),\r\n name: `${faker.name.firstName()} ${faker.name.lastName()}`,\r\n address: faker.address.streetAddress(),\r\n city: faker.address.city(),\r\n state: faker.address.stateAbbr(),\r\n stateProvinceRegion: faker.address.stateAbbr(),\r\n postalCode: faker.address.zipCode(),\r\n email: faker.internet.email(),\r\n isSameFirm: isSameFirm,\r\n comments: isSameFirm ? '' : faker.lorem.paragraph(),\r\n modalType: \"Edit\",\r\n firstOccasion: {\r\n firmName: isSameFirm ? faker.company.companyName() : '',\r\n dateRange: isSameFirm ? [faker.date.past(), faker.date.future()] : [],\r\n firmAddress: isSameFirm ? faker.address.streetAddress() : '',\r\n titleOfPosition: isSameFirm ? faker.name.jobTitle() : '',\r\n referencesPosition: isSameFirm ? faker.name.jobTitle() : '',\r\n },\r\n secondOccasion: {\r\n firmName: isSameFirm ? faker.company.companyName() : '',\r\n dateRange: isSameFirm ? [faker.date.past(), faker.date.future()] : [],\r\n firmAddress: isSameFirm ? faker.address.streetAddress() : '',\r\n titleOfPosition: isSameFirm ? faker.name.jobTitle() : '',\r\n referencesPosition: isSameFirm ? faker.name.jobTitle() : '',\r\n }\r\n }\r\n}\r\nexport const getPlsReinstatementExperienceModalData = async () => (\r\n {\r\n id: faker.random.uuid(),\r\n title: faker.name.jobTitle(),\r\n employerName: `${faker.name.firstName()} ${faker.name.lastName()}`,\r\n employerAddress: faker.address.streetAddress(),\r\n location: `${faker.address.city()}, ${faker.address.stateAbbr()}`,\r\n description: faker.lorem.paragraph(),\r\n referenceInfo: faker.lorem.paragraph(),\r\n referenceReasoning: faker.lorem.paragraph(),\r\n employmentType: \"Non-Engineering/Non-Surveying\",\r\n dateRange: [faker.date.past(), faker.date.future()],\r\n modalType: \"Edit\"\r\n }\r\n)\r\n\r\nexport const getPlsAppPersonalReferencesGridData = async () => ([...new Array(15)].map(() => ({\r\n id: faker.random.uuid(),\r\n name: `${faker.name.firstName()} ${faker.name.lastName()}`,\r\n currentAddress: faker.address.streetAddress(),\r\n cityState: `${faker.address.city()}, ${faker.address.stateAbbr()}`,\r\n zip: faker.address.zipCode(),\r\n email: faker.internet.email(),\r\n verificationStatus: faker.random.number() % 2 ? \"pending\" : faker.random.number() % 3 ? \"verified\" : \"\"\r\n})))\r\n\r\nexport const getPlsReinstatementCoursesGridData = async () => ([...new Array(15)].map(() => ({\r\n id: faker.random.uuid(),\r\n dateEarned: faker.date.past().toLocaleDateString(),\r\n sponsor: faker.company.companyName(),\r\n descriptionOfActivity: faker.lorem.sentence(),\r\n type: faker.random.number() % 6,\r\n documentationReceived: \"Certificate\",\r\n hours: faker.random.number(),\r\n files: faker.system.fileName()\r\n})))\r\n\r\nexport const getPlsReinstatementExperienceGridData = async () => ([...new Array(15)].map(() => ({\r\n id: faker.random.uuid(),\r\n title: faker.name.jobTitle(),\r\n employerName: `${faker.name.firstName()} ${faker.name.lastName()}`,\r\n referenceAddress: faker.address.streetAddress(),\r\n referenceCountry: faker.address.country(),\r\n referenceCity: faker.address.city(),\r\n referenceState: faker.address.stateAbbr(),\r\n referenceStateProvinceRegion: faker.address.stateAbbr(),\r\n referencePostalCode: faker.address.zipCode(),\r\n employerAddress: faker.address.streetAddress(),\r\n employerCountry: faker.address.country(),\r\n employerCity: faker.address.city(),\r\n employerState: faker.address.stateAbbr(),\r\n employerStateProvinceRegion: faker.address.stateAbbr(),\r\n employerPostalCode: faker.address.zipCode(),\r\n location: faker.address.city(),\r\n description: faker.lorem.paragraph(),\r\n referenceReasoning: faker.lorem.paragraph(),\r\n employmentType: employmentTypeData[faker.random.number() % 5].value,\r\n date: `${faker.date.past().toLocaleDateString()} - ${faker.date.future().toLocaleDateString()}`,\r\n})))\r\n\r\nexport const getPlsAppEducationGridData = async () => ([...new Array(15)].map(() => (\r\n {\r\n id: faker.random.uuid(),\r\n institution: `${faker.address.state()} State University`,\r\n state: faker.address.state(),\r\n date: `${faker.date.past().toLocaleDateString()} - ${faker.date.future().toLocaleDateString()}`,\r\n gradDate: faker.date.past().toLocaleDateString(),\r\n major: faker.address.city(),\r\n degree: degreeTypeData[faker.random.number() % 5].value,\r\n graduated: faker.random.boolean(),\r\n })))\r\n\r\n\r\nexport const getPeReinstatementPersonalReferencesGridData = async () => ([...new Array(15)].map(() => ({\r\n id: faker.random.uuid(),\r\n name: `${faker.name.firstName()} ${faker.name.lastName()}`,\r\n email: faker.internet.email(),\r\n country: faker.address.country(),\r\n address: faker.address.streetAddress(),\r\n city: faker.address.city(),\r\n state: faker.address.stateAbbr(),\r\n stateProvinceRegion: faker.address.stateAbbr(),\r\n postalCode: faker.address.zipCode(),\r\n verificationStatus: faker.random.number() % 2 ? \"pending\" : faker.random.number() % 3 ? \"verified\" : \"\"\r\n})))\r\n\r\nexport const getPeAppPersonalReferencesGridData = async () => ([...new Array(15)].map(() => ({\r\n id: faker.random.uuid(),\r\n name: `${faker.name.firstName()} ${faker.name.lastName()}`,\r\n currentAddress: faker.address.streetAddress(),\r\n cityState: `${faker.address.city()}, ${faker.address.stateAbbr()}`,\r\n zip: faker.address.zipCode(),\r\n email: faker.internet.email(),\r\n verificationStatus: faker.random.number() % 2 ? \"pending\" : faker.random.number() % 3 ? \"verified\" : \"\"\r\n})))\r\n\r\nexport const getPeReinstatementCoursesGridData = async () => ([...new Array(15)].map(() => ({\r\n id: faker.random.uuid(),\r\n dateEarned: faker.date.past().toLocaleDateString(),\r\n sponsor: faker.company.companyName(),\r\n descriptionOfActivity: faker.lorem.sentence(),\r\n type: faker.name.jobType(),\r\n documentationReceived: \"Certificate\",\r\n hours: faker.random.number(),\r\n files: faker.system.fileName()\r\n})))\r\n\r\nexport const getRevenuePendingBatchGridData = async () => ([...new Array(15)].map(() => ({\r\n id: faker.random.uuid(),\r\n batchId: faker.random.uuid(),\r\n user: `${faker.name.firstName()} ${faker.name.lastName()}`,\r\n count: faker.random.number(),\r\n amount: faker.random.number(),\r\n batchDate: `${faker.date.past().toLocaleDateString()}`\r\n})))\r\n\r\nexport const loremParagraphs = async () => (faker.lorem.paragraphs())\r\n\r\nexport const countryData = ([\r\n {\r\n \"label\": \"Afghanistan\", \"value\": {\r\n \"id\": 3,\r\n \"code\": \"AF\",\r\n \"country\": \"Afghanistan\"\r\n }\r\n },\r\n { \"label\": \"Åland Islands\", \"value\": \"Åland Islands\" },\r\n { \"label\": \"Albania\", \"value\": \"Albania\" },\r\n { \"label\": \"Algeria\", \"value\": \"Algeria\" },\r\n { \"label\": \"American Samoa\", \"value\": \"American Samoa\" },\r\n { \"label\": \"Andorra\", \"value\": \"Andorra\" },\r\n { \"label\": \"Angola\", \"value\": \"Angola\" },\r\n { \"label\": \"Anguilla\", \"value\": \"Anguilla\" },\r\n { \"label\": \"Antarctica\", \"value\": \"Antarctica\" },\r\n { \"label\": \"Antigua and Barbuda\", \"value\": \"Antigua and Barbuda\" },\r\n { \"label\": \"Argentina\", \"value\": \"Argentina\" },\r\n { \"label\": \"Armenia\", \"value\": \"Armenia\" },\r\n { \"label\": \"Aruba\", \"value\": \"Aruba\" },\r\n { \"label\": \"Australia\", \"value\": \"Australia\" },\r\n { \"label\": \"Austria\", \"value\": \"Austria\" },\r\n { \"label\": \"Azerbaijan\", \"value\": \"Azerbaijan\" },\r\n { \"label\": \"Bahamas\", \"value\": \"Bahamas\" },\r\n { \"label\": \"Bahrain\", \"value\": \"Bahrain\" },\r\n { \"label\": \"Bangladesh\", \"value\": \"Bangladesh\" },\r\n { \"label\": \"Barbados\", \"value\": \"Barbados\" },\r\n { \"label\": \"Belarus\", \"value\": \"Belarus\" },\r\n { \"label\": \"Belgium\", \"value\": \"Belgium\" },\r\n { \"label\": \"Belize\", \"value\": \"Belize\" },\r\n { \"label\": \"Benin\", \"value\": \"Benin\" },\r\n { \"label\": \"Bermuda\", \"value\": \"Bermuda\" },\r\n { \"label\": \"Bhutan\", \"value\": \"Bhutan\" },\r\n { \"label\": \"Bolivia\", \"value\": \"Bolivia\" },\r\n { \"label\": \"Bosnia and Herzegovina\", \"value\": \"Bosnia and Herzegovina\" },\r\n { \"label\": \"Botswana\", \"value\": \"Botswana\" },\r\n { \"label\": \"Bouvet Island\", \"value\": \"Bouvet Island\" },\r\n { \"label\": \"Brazil\", \"value\": \"Brazil\" },\r\n { \"label\": \"British Indian Ocean Territory\", \"value\": \"British Indian Ocean Territory\" },\r\n { \"label\": \"Brunei Darussalam\", \"value\": \"Brunei Darussalam\" },\r\n { \"label\": \"Bulgaria\", \"value\": \"Bulgaria\" },\r\n { \"label\": \"Burkina Faso\", \"value\": \"Burkina Faso\" },\r\n { \"label\": \"Burundi\", \"value\": \"Burundi\" },\r\n { \"label\": \"Cambodia\", \"value\": \"Cambodia\" },\r\n { \"label\": \"Cameroon\", \"value\": \"Cameroon\" },\r\n { \"label\": \"Canada\", \"value\": \"Canada\" },\r\n { \"label\": \"Cape Verde\", \"value\": \"Cape Verde\" },\r\n { \"label\": \"Cayman Islands\", \"value\": \"Cayman Islands\" },\r\n { \"label\": \"Central African Republic\", \"value\": \"Central African Republic\" },\r\n { \"label\": \"Chad\", \"value\": \"Chad\" },\r\n { \"label\": \"Chile\", \"value\": \"Chile\" },\r\n { \"label\": \"China\", \"value\": \"China\" },\r\n { \"label\": \"Christmas Island\", \"value\": \"Christmas Island\" },\r\n { \"label\": \"Cocos (Keeling) Islands\", \"value\": \"Cocos (Keeling) Islands\" },\r\n { \"label\": \"Colombia\", \"value\": \"Colombia\" },\r\n { \"label\": \"Comoros\", \"value\": \"Comoros\" },\r\n { \"label\": \"Congo\", \"value\": \"Congo\" },\r\n { \"label\": \"Congo, The Democratic Republic of The\", \"value\": \"Congo, The Democratic Republic of The\" },\r\n { \"label\": \"Cook Islands\", \"value\": \"Cook Islands\" },\r\n { \"label\": \"Costa Rica\", \"value\": \"Costa Rica\" },\r\n { \"label\": \"Cote D'ivoire\", \"value\": \"Cote D'ivoire\" },\r\n { \"label\": \"Croatia\", \"value\": \"Croatia\" },\r\n { \"label\": \"Cuba\", \"value\": \"Cuba\" },\r\n { \"label\": \"Cyprus\", \"value\": \"Cyprus\" },\r\n { \"label\": \"Czech Republic\", \"value\": \"Czech Republic\" },\r\n { \"label\": \"Denmark\", \"value\": \"Denmark\" },\r\n { \"label\": \"Djibouti\", \"value\": \"Djibouti\" },\r\n { \"label\": \"Dominica\", \"value\": \"Dominica\" },\r\n { \"label\": \"Dominican Republic\", \"value\": \"Dominican Republic\" },\r\n { \"label\": \"Ecuador\", \"value\": \"Ecuador\" },\r\n { \"label\": \"Egypt\", \"value\": \"Egypt\" },\r\n { \"label\": \"El Salvador\", \"value\": \"El Salvador\" },\r\n { \"label\": \"Equatorial Guinea\", \"value\": \"Equatorial Guinea\" },\r\n { \"label\": \"Eritrea\", \"value\": \"Eritrea\" },\r\n { \"label\": \"Estonia\", \"value\": \"Estonia\" },\r\n { \"label\": \"Ethiopia\", \"value\": \"Ethiopia\" },\r\n { \"label\": \"Falkland Islands (Malvinas)\", \"value\": \"Falkland Islands (Malvinas)\" },\r\n { \"label\": \"Faroe Islands\", \"value\": \"Faroe Islands\" },\r\n { \"label\": \"Fiji\", \"value\": \"Fiji\" },\r\n { \"label\": \"Finland\", \"value\": \"Finland\" },\r\n { \"label\": \"France\", \"value\": \"France\" },\r\n { \"label\": \"French Guiana\", \"value\": \"French Guiana\" },\r\n { \"label\": \"French Polynesia\", \"value\": \"French Polynesia\" },\r\n { \"label\": \"French Southern Territories\", \"value\": \"French Southern Territories\" },\r\n { \"label\": \"Gabon\", \"value\": \"Gabon\" },\r\n { \"label\": \"Gambia\", \"value\": \"Gambia\" },\r\n { \"label\": \"Georgia\", \"value\": \"Georgia\" },\r\n { \"label\": \"Germany\", \"value\": \"Germany\" },\r\n { \"label\": \"Ghana\", \"value\": \"Ghana\" },\r\n { \"label\": \"Gibraltar\", \"value\": \"Gibraltar\" },\r\n { \"label\": \"Greece\", \"value\": \"Greece\" },\r\n { \"label\": \"Greenland\", \"value\": \"Greenland\" },\r\n { \"label\": \"Grenada\", \"value\": \"Grenada\" },\r\n { \"label\": \"Guadeloupe\", \"value\": \"Guadeloupe\" },\r\n { \"label\": \"Guam\", \"value\": \"Guam\" },\r\n { \"label\": \"Guatemala\", \"value\": \"Guatemala\" },\r\n { \"label\": \"Guernsey\", \"value\": \"Guernsey\" },\r\n { \"label\": \"Guinea\", \"value\": \"Guinea\" },\r\n { \"label\": \"Guinea-bissau\", \"value\": \"Guinea-bissau\" },\r\n { \"label\": \"Guyana\", \"value\": \"Guyana\" },\r\n { \"label\": \"Haiti\", \"value\": \"Haiti\" },\r\n { \"label\": \"Heard Island and Mcdonald Islands\", \"value\": \"Heard Island and Mcdonald Islands\" },\r\n { \"label\": \"Holy See (Vatican City State)\", \"value\": \"Holy See (Vatican City State)\" },\r\n { \"label\": \"Honduras\", \"value\": \"Honduras\" },\r\n { \"label\": \"Hong Kong\", \"value\": \"Hong Kong\" },\r\n { \"label\": \"Hungary\", \"value\": \"Hungary\" },\r\n { \"label\": \"Iceland\", \"value\": \"Iceland\" },\r\n { \"label\": \"India\", \"value\": \"India\" },\r\n { \"label\": \"Indonesia\", \"value\": \"Indonesia\" },\r\n { \"label\": \"Iran, Islamic Republic of\", \"value\": \"Iran, Islamic Republic of\" },\r\n { \"label\": \"Iraq\", \"value\": \"Iraq\" },\r\n { \"label\": \"Ireland\", \"value\": \"Ireland\" },\r\n { \"label\": \"Isle of Man\", \"value\": \"Isle of Man\" },\r\n { \"label\": \"Israel\", \"value\": \"Israel\" },\r\n { \"label\": \"Italy\", \"value\": \"Italy\" },\r\n { \"label\": \"Jamaica\", \"value\": \"Jamaica\" },\r\n { \"label\": \"Japan\", \"value\": \"Japan\" },\r\n { \"label\": \"Jersey\", \"value\": \"Jersey\" },\r\n { \"label\": \"Jordan\", \"value\": \"Jordan\" },\r\n { \"label\": \"Kazakhstan\", \"value\": \"Kazakhstan\" },\r\n { \"label\": \"Kenya\", \"value\": \"Kenya\" },\r\n { \"label\": \"Kiribati\", \"value\": \"Kiribati\" },\r\n { \"label\": \"Korea, Democratic People's Republic of\", \"value\": \"Korea, Democratic People's Republic of\" },\r\n { \"label\": \"Korea, Republic of\", \"value\": \"Korea, Republic of\" },\r\n { \"label\": \"Kuwait\", \"value\": \"Kuwait\" },\r\n { \"label\": \"Kyrgyzstan\", \"value\": \"Kyrgyzstan\" },\r\n { \"label\": \"Lao People's Democratic Republic\", \"value\": \"Lao People's Democratic Republic\" },\r\n { \"label\": \"Latvia\", \"value\": \"Latvia\" },\r\n { \"label\": \"Lebanon\", \"value\": \"Lebanon\" },\r\n { \"label\": \"Lesotho\", \"value\": \"Lesotho\" },\r\n { \"label\": \"Liberia\", \"value\": \"Liberia\" },\r\n { \"label\": \"Libyan Arab Jamahiriya\", \"value\": \"Libyan Arab Jamahiriya\" },\r\n { \"label\": \"Liechtenstein\", \"value\": \"Liechtenstein\" },\r\n { \"label\": \"Lithuania\", \"value\": \"Lithuania\" },\r\n { \"label\": \"Luxembourg\", \"value\": \"Luxembourg\" },\r\n { \"label\": \"Macao\", \"value\": \"Macao\" },\r\n { \"label\": \"Macedonia, The Former Yugoslav Republic of\", \"value\": \"Macedonia, The Former Yugoslav Republic of\" },\r\n { \"label\": \"Madagascar\", \"value\": \"Madagascar\" },\r\n { \"label\": \"Malawi\", \"value\": \"Malawi\" },\r\n { \"label\": \"Malaysia\", \"value\": \"Malaysia\" },\r\n { \"label\": \"Maldives\", \"value\": \"Maldives\" },\r\n { \"label\": \"Mali\", \"value\": \"Mali\" },\r\n { \"label\": \"Malta\", \"value\": \"Malta\" },\r\n { \"label\": \"Marshall Islands\", \"value\": \"Marshall Islands\" },\r\n { \"label\": \"Martinique\", \"value\": \"Martinique\" },\r\n { \"label\": \"Mauritania\", \"value\": \"Mauritania\" },\r\n { \"label\": \"Mauritius\", \"value\": \"Mauritius\" },\r\n { \"label\": \"Mayotte\", \"value\": \"Mayotte\" },\r\n { \"label\": \"Mexico\", \"value\": \"Mexico\" },\r\n { \"label\": \"Micronesia, Federated States of\", \"value\": \"Micronesia, Federated States of\" },\r\n { \"label\": \"Moldova, Republic of\", \"value\": \"Moldova, Republic of\" },\r\n { \"label\": \"Monaco\", \"value\": \"Monaco\" },\r\n { \"label\": \"Mongolia\", \"value\": \"Mongolia\" },\r\n { \"label\": \"Montenegro\", \"value\": \"Montenegro\" },\r\n { \"label\": \"Montserrat\", \"value\": \"Montserrat\" },\r\n { \"label\": \"Morocco\", \"value\": \"Morocco\" },\r\n { \"label\": \"Mozambique\", \"value\": \"Mozambique\" },\r\n { \"label\": \"Myanmar\", \"value\": \"Myanmar\" },\r\n { \"label\": \"Namibia\", \"value\": \"Namibia\" },\r\n { \"label\": \"Nauru\", \"value\": \"Nauru\" },\r\n { \"label\": \"Nepal\", \"value\": \"Nepal\" },\r\n { \"label\": \"Netherlands\", \"value\": \"Netherlands\" },\r\n { \"label\": \"Netherlands Antilles\", \"value\": \"Netherlands Antilles\" },\r\n { \"label\": \"New Caledonia\", \"value\": \"New Caledonia\" },\r\n { \"label\": \"New Zealand\", \"value\": \"New Zealand\" },\r\n { \"label\": \"Nicaragua\", \"value\": \"Nicaragua\" },\r\n { \"label\": \"Niger\", \"value\": \"Niger\" },\r\n { \"label\": \"Nigeria\", \"value\": \"Nigeria\" },\r\n { \"label\": \"Niue\", \"value\": \"Niue\" },\r\n { \"label\": \"Norfolk Island\", \"value\": \"Norfolk Island\" },\r\n { \"label\": \"Northern Mariana Islands\", \"value\": \"Northern Mariana Islands\" },\r\n { \"label\": \"Norway\", \"value\": \"Norway\" },\r\n { \"label\": \"Oman\", \"value\": \"Oman\" },\r\n { \"label\": \"Pakistan\", \"value\": \"Pakistan\" },\r\n { \"label\": \"Palau\", \"value\": \"Palau\" },\r\n { \"label\": \"Palestinian Territory, Occupied\", \"value\": \"Palestinian Territory, Occupied\" },\r\n { \"label\": \"Panama\", \"value\": \"Panama\" },\r\n { \"label\": \"Papua New Guinea\", \"value\": \"Papua New Guinea\" },\r\n { \"label\": \"Paraguay\", \"value\": \"Paraguay\" },\r\n { \"label\": \"Peru\", \"value\": \"Peru\" },\r\n { \"label\": \"Philippines\", \"value\": \"Philippines\" },\r\n { \"label\": \"Pitcairn\", \"value\": \"Pitcairn\" },\r\n { \"label\": \"Poland\", \"value\": \"Poland\" },\r\n { \"label\": \"Portugal\", \"value\": \"Portugal\" },\r\n { \"label\": \"Puerto Rico\", \"value\": \"Puerto Rico\" },\r\n { \"label\": \"Qatar\", \"value\": \"Qatar\" },\r\n { \"label\": \"Reunion\", \"value\": \"Reunion\" },\r\n { \"label\": \"Romania\", \"value\": \"Romania\" },\r\n { \"label\": \"Russian Federation\", \"value\": \"Russian Federation\" },\r\n { \"label\": \"Rwanda\", \"value\": \"Rwanda\" },\r\n { \"label\": \"Saint Helena\", \"value\": \"Saint Helena\" },\r\n { \"label\": \"Saint Kitts and Nevis\", \"value\": \"Saint Kitts and Nevis\" },\r\n { \"label\": \"Saint Lucia\", \"value\": \"Saint Lucia\" },\r\n { \"label\": \"Saint Pierre and Miquelon\", \"value\": \"Saint Pierre and Miquelon\" },\r\n { \"label\": \"Saint Vincent and The Grenadines\", \"value\": \"Saint Vincent and The Grenadines\" },\r\n { \"label\": \"Samoa\", \"value\": \"Samoa\" },\r\n { \"label\": \"San Marino\", \"value\": \"San Marino\" },\r\n { \"label\": \"Sao Tome and Principe\", \"value\": \"Sao Tome and Principe\" },\r\n { \"label\": \"Saudi Arabia\", \"value\": \"Saudi Arabia\" },\r\n { \"label\": \"Senegal\", \"value\": \"Senegal\" },\r\n { \"label\": \"Serbia\", \"value\": \"Serbia\" },\r\n { \"label\": \"Seychelles\", \"value\": \"Seychelles\" },\r\n { \"label\": \"Sierra Leone\", \"value\": \"Sierra Leone\" },\r\n { \"label\": \"Singapore\", \"value\": \"Singapore\" },\r\n { \"label\": \"Slovakia\", \"value\": \"Slovakia\" },\r\n { \"label\": \"Slovenia\", \"value\": \"Slovenia\" },\r\n { \"label\": \"Solomon Islands\", \"value\": \"Solomon Islands\" },\r\n { \"label\": \"Somalia\", \"value\": \"Somalia\" },\r\n { \"label\": \"South Africa\", \"value\": \"South Africa\" },\r\n { \"label\": \"South Georgia and The South Sandwich Islands\", \"value\": \"South Georgia and The South Sandwich Islands\" },\r\n { \"label\": \"Spain\", \"value\": \"Spain\" },\r\n { \"label\": \"Sri Lanka\", \"value\": \"Sri Lanka\" },\r\n { \"label\": \"Sudan\", \"value\": \"Sudan\" },\r\n { \"label\": \"Suriname\", \"value\": \"Suriname\" },\r\n { \"label\": \"Svalbard and Jan Mayen\", \"value\": \"Svalbard and Jan Mayen\" },\r\n { \"label\": \"Swaziland\", \"value\": \"Swaziland\" },\r\n { \"label\": \"Sweden\", \"value\": \"Sweden\" },\r\n { \"label\": \"Switzerland\", \"value\": \"Switzerland\" },\r\n { \"label\": \"Syrian Arab Republic\", \"value\": \"Syrian Arab Republic\" },\r\n { \"label\": \"Taiwan, Province of China\", \"value\": \"Taiwan, Province of China\" },\r\n { \"label\": \"Tajikistan\", \"value\": \"Tajikistan\" },\r\n { \"label\": \"Tanzania, United Republic of\", \"value\": \"Tanzania, United Republic of\" },\r\n { \"label\": \"Thailand\", \"value\": \"Thailand\" },\r\n { \"label\": \"Timor-leste\", \"value\": \"Timor-leste\" },\r\n { \"label\": \"Togo\", \"value\": \"Togo\" },\r\n { \"label\": \"Tokelau\", \"value\": \"Tokelau\" },\r\n { \"label\": \"Tonga\", \"value\": \"Tonga\" },\r\n { \"label\": \"Trinidad and Tobago\", \"value\": \"Trinidad and Tobago\" },\r\n { \"label\": \"Tunisia\", \"value\": \"Tunisia\" },\r\n { \"label\": \"Turkey\", \"value\": \"Turkey\" },\r\n { \"label\": \"Turkmenistan\", \"value\": \"Turkmenistan\" },\r\n { \"label\": \"Turks and Caicos Islands\", \"value\": \"Turks and Caicos Islands\" },\r\n { \"label\": \"Tuvalu\", \"value\": \"Tuvalu\" },\r\n { \"label\": \"Uganda\", \"value\": \"Uganda\" },\r\n { \"label\": \"Ukraine\", \"value\": \"Ukraine\" },\r\n { \"label\": \"United Arab Emirates\", \"value\": \"United Arab Emirates\" },\r\n { \"label\": \"United Kingdom\", \"value\": \"United Kingdom\" },\r\n { \"label\": \"United States\", \"value\": \"United States\" },\r\n { \"label\": \"United States Minor Outlying Islands\", \"value\": \"United States Minor Outlying Islands\" },\r\n { \"label\": \"Uruguay\", \"value\": \"Uruguay\" },\r\n { \"label\": \"Uzbekistan\", \"value\": \"Uzbekistan\" },\r\n { \"label\": \"Vanuatu\", \"value\": \"Vanuatu\" },\r\n { \"label\": \"Venezuela\", \"value\": \"Venezuela\" },\r\n { \"label\": \"Viet Nam\", \"value\": \"Viet Nam\" },\r\n { \"label\": \"Virgin Islands, British\", \"value\": \"Virgin Islands, British\" },\r\n { \"label\": \"Virgin Islands, U.S.\", \"value\": \"Virgin Islands, U.S.\" },\r\n { \"label\": \"Wallis and Futuna\", \"value\": \"Wallis and Futuna\" },\r\n { \"label\": \"Western Sahara\", \"value\": \"Western Sahara\" },\r\n { \"label\": \"Yemen\", \"value\": \"Yemen\" },\r\n { \"label\": \"Zambia\", \"value\": \"Zambia\" },\r\n { \"label\": \"Zimbabwe\", \"value\": \"Zimbabwe\" }\r\n]);\r\n\r\nexport const stateData = (\r\n [\r\n { \"label\": \"Alabama\", \"value\": \"AL\" },\r\n { \"label\": \"Alaska\", \"value\": \"Alaska\" },\r\n { \"label\": \"Arizona\", \"value\": \"Arizona\" },\r\n { \"label\": \"Arkansas\", \"value\": \"Arkansas\" },\r\n { \"label\": \"California\", \"value\": \"California\" },\r\n { \"label\": \"Colorado\", \"value\": \"Colorado\" },\r\n { \"label\": \"Connecticut\", \"value\": \"Connecticut\" },\r\n { \"label\": \"Delaware\", \"value\": \"Delaware\" },\r\n { \"label\": \"District Of Columbia\", \"value\": \"District Of Columbia\" },\r\n { \"label\": \"Florida\", \"value\": \"Florida\" },\r\n { \"label\": \"Georgia\", \"value\": \"Georgia\" },\r\n { \"label\": \"Hawaii\", \"value\": \"Hawaii\" },\r\n { \"label\": \"Idaho\", \"value\": \"Idaho\" },\r\n { \"label\": \"Illinois\", \"value\": \"Illinois\" },\r\n { \"label\": \"Indiana\", \"value\": \"Indiana\" },\r\n { \"label\": \"Iowa\", \"value\": \"Iowa\" },\r\n { \"label\": \"Kansas\", \"value\": \"Kansas\" },\r\n { \"label\": \"Kentucky\", \"value\": \"Kentucky\" },\r\n { \"label\": \"Louisiana\", \"value\": \"Louisiana\" },\r\n { \"label\": \"Maine\", \"value\": \"Maine\" },\r\n { \"label\": \"Maryland\", \"value\": \"Maryland\" },\r\n { \"label\": \"Massachusetts\", \"value\": \"Massachusetts\" },\r\n { \"label\": \"Michigan\", \"value\": \"Michigan\" },\r\n { \"label\": \"Minnesota\", \"value\": \"Minnesota\" },\r\n { \"label\": \"Mississippi\", \"value\": \"Mississippi\" },\r\n { \"label\": \"Missouri\", \"value\": \"Missouri\" },\r\n { \"label\": \"Montana\", \"value\": \"Montana\" },\r\n { \"label\": \"Nebraska\", \"value\": \"Nebraska\" },\r\n { \"label\": \"Nevada\", \"value\": \"Nevada\" },\r\n { \"label\": \"New Hampshire\", \"value\": \"New Hampshire\" },\r\n { \"label\": \"New Jersey\", \"value\": \"New Jersey\" },\r\n { \"label\": \"New Mexico\", \"value\": \"New Mexico\" },\r\n { \"label\": \"New York\", \"value\": \"New York\" },\r\n { \"label\": \"North Carolina\", \"value\": \"North Carolina\" },\r\n { \"label\": \"North Dakota\", \"value\": \"North Dakota\" },\r\n { \"label\": \"Ohio\", \"value\": \"Ohio\" },\r\n { \"label\": \"Oklahoma\", \"value\": \"Oklahoma\" },\r\n { \"label\": \"Oregon\", \"value\": \"Oregon\" },\r\n { \"label\": \"Pennsylvania\", \"value\": \"Pennsylvania\" },\r\n { \"label\": \"Rhode Island\", \"value\": \"Rhode Island\" },\r\n { \"label\": \"South Carolina\", \"value\": \"South Carolina\" },\r\n { \"label\": \"South Dakota\", \"value\": \"South Dakota\" },\r\n { \"label\": \"Tennessee\", \"value\": \"Tennessee\" },\r\n { \"label\": \"Texas\", \"value\": \"Texas\" },\r\n { \"label\": \"Utah\", \"value\": \"Utah\" },\r\n { \"label\": \"Vermont\", \"value\": \"Vermont\" },\r\n { \"label\": \"Virginia\", \"value\": \"Virginia\" },\r\n { \"label\": \"Washington\", \"value\": \"Washington\" },\r\n { \"label\": \"West Virginia\", \"value\": \"West Virginia\" },\r\n { \"label\": \"Wisconsin\", \"value\": \"Wisconsin\" },\r\n { \"label\": \"Wyoming\", \"value\": \"Wyoming\" },\r\n ]);\r\n\r\nexport const plsReinstatementPersonalInformationTitleData = ([\r\n { \"label\": \"Mr.\", \"value\": \"Mr.\" },\r\n { \"label\": \"Mrs.\", \"value\": \"Mrs.\" },\r\n { \"label\": \"Ms.\", \"value\": \"Ms.\" },\r\n { \"label\": \"Dr.\", \"value\": \"Dr.\" }\r\n]);\r\nexport const titleData = ([\r\n { \"label\": \"Mr.\", \"value\": \"Mr.\" },\r\n { \"label\": \"Mrs.\", \"value\": \"Mrs.\" },\r\n { \"label\": \"Ms.\", \"value\": \"Ms.\" },\r\n { \"label\": \"Dr.\", \"value\": \"Dr.\" }\r\n]);\r\nexport const suffixData = ([\r\n { \"label\": \"D.Eng\", \"value\": \"D.Eng\" },\r\n { \"label\": \"II\", \"value\": \"II\" },\r\n { \"label\": \"II, Ph.D.\", \"value\": \"II, Ph.D.\" },\r\n { \"label\": \"III\", \"value\": \"III\" },\r\n { \"label\": \"III, Ph.D.\", \"value\": \"III, Ph.D.\" },\r\n { \"label\": \"IV\", \"value\": \"IV\" },\r\n { \"label\": \"IV, Ph.D.\", \"value\": \"IV, Ph.D.\" },\r\n { \"label\": \"Jr.\", \"value\": \"Jr.\" },\r\n { \"label\": \"Jr., Ph.D.\", \"value\": \"Jr., Ph.D.\" },\r\n { \"label\": \"Ph.D.\", \"value\": \"Ph.D.\" },\r\n { \"label\": \"Sr.\", \"value\": \"Sr.\" },\r\n { \"label\": \"Sr., Ph.D.\", \"value\": \"Sr., Ph.D.\" },\r\n]);\r\n\r\nexport const yesNoData = ([\r\n { \"label\": \"Yes\", \"value\": true },\r\n { \"label\": \"No\", \"value\": false }\r\n])\r\n\r\nexport const plsReinstatementPersonalInformationSuffixData = ([\r\n { \"label\": \"D.Eng\", \"value\": \"D.Eng\" },\r\n { \"label\": \"II\", \"value\": \"II\" },\r\n { \"label\": \"II, Ph.D.\", \"value\": \"II, Ph.D.\" },\r\n { \"label\": \"III\", \"value\": \"III\" },\r\n { \"label\": \"III, Ph.D.\", \"value\": \"III, Ph.D.\" },\r\n { \"label\": \"IV\", \"value\": \"IV\" },\r\n { \"label\": \"IV, Ph.D.\", \"value\": \"IV, Ph.D.\" },\r\n { \"label\": \"Jr.\", \"value\": \"Jr.\" },\r\n { \"label\": \"Jr., Ph.D.\", \"value\": \"Jr., Ph.D.\" },\r\n { \"label\": \"Ph.D.\", \"value\": \"Ph.D.\" },\r\n { \"label\": \"Sr.\", \"value\": \"Sr.\" },\r\n { \"label\": \"Sr., Ph.D.\", \"value\": \"Sr., Ph.D.\" },\r\n]);\r\nexport const employmentTypeData = ([\r\n { \"label\": \"Non-Engineering/Non-Surveying\", \"value\": \"Non-Engineering/Non-Surveying\" },\r\n { \"label\": \"Engineering/Surveying Experience Prior to FE/FS Exam\", \"value\": \"Engineering/Surveying Experience Prior to FE/FS Exam\" },\r\n { \"label\": \"Engineering/Surveying Subsequent to FE/FS Exam and Prior to PE/PS Exam\", \"value\": \"Engineering/Surveying Subsequent to FE/FS Exam and Prior to PE/PS Exam\" },\r\n { \"label\": \"Engineering/Surveying Subsequent to PE/PS Exam\", \"value\": \"Engineering/Surveying Subsequent to PE/PS Exam\" },\r\n { \"label\": \"Academic Engagement\", \"value\": \"Academic Engagement\" },\r\n\r\n])\r\nexport const degreeTypeData = ([\r\n { \"label\": \"Associate's Degree\", \"value\": \"Associate's Degree\" },\r\n { \"label\": \"Bachelor's Degree\", \"value\": \"Bachelor's Degree\" },\r\n { \"label\": \"Master's Degree\", \"value\": \"Master's Degree\" },\r\n { \"label\": \"Doctoral Degree\", \"value\": \"Doctoral Degree\" },\r\n { \"label\": \"Non Degree\", \"value\": \"Non Degree\" },\r\n\r\n])\r\nexport const plsRenewalLicenseStatuses = ([\r\n { \"label\": \"Active\", \"value\": \"Active\" },\r\n { \"label\": \"Active - New License\", \"value\": \"Active - New License\" },\r\n { \"label\": \"Inactive\", \"value\": \"Inactive\" },\r\n])\r\n\r\nexport const getInternalDashboardPendingTasksGridData = async () => ([...new Array(15)].map(() => ({\r\n id: faker.random.uuid(),\r\n invoiceNum: `${2020}-${faker.random.number() % 999}`,\r\n applicant: faker.name.findName(),\r\n applicationType: faker.random.boolean() ? \"Engineering Intern\" : \"Professional Engineer\",\r\n dateCreated: faker.date.past().toLocaleDateString(),\r\n dateSubmitted: faker.date.past().toLocaleDateString(),\r\n status: faker.random.boolean() ? \"In Review\" : \"Pending\"\r\n})))\r\nexport const getInternalMyPendingTasksGridData = async () => ([...new Array(15)].map(() => ({\r\n id: faker.random.uuid(),\r\n invoiceNum: `${2020}-${faker.random.number() % 999}`,\r\n applicant: faker.name.findName(),\r\n applicationType: faker.random.boolean() ? \"Engineering Intern\" : \"Professional Engineer\",\r\n dateCreated: faker.date.past().toLocaleDateString(),\r\n dateSubmitted: faker.date.past().toLocaleDateString(),\r\n status: \"Pending\"\r\n})))\r\nexport const getInternalClosedTasksGridData = async () => ([...new Array(15)].map(() => ({\r\n id: faker.random.uuid(),\r\n invoiceNum: `${2020}-${faker.random.number() % 999}`,\r\n applicant: faker.name.findName(),\r\n applicationType: faker.random.boolean() ? \"Engineering Intern\" : \"Professional Engineer\",\r\n dateCreated: faker.date.past().toLocaleDateString(),\r\n dateSubmitted: faker.date.past().toLocaleDateString(),\r\n status: \"Closed\"\r\n})))\r\nexport const getInternalUnassignedTasksGridData = async () => ([...new Array(15)].map(() => ({\r\n id: faker.random.uuid(),\r\n invoiceNum: `${2020}-${faker.random.number() % 999}`,\r\n applicant: faker.name.findName(),\r\n applicationType: faker.random.boolean() ? \"Engineering Intern\" : \"Professional Engineer\",\r\n dateCreated: faker.date.past().toLocaleDateString(),\r\n dateSubmitted: faker.date.past().toLocaleDateString(),\r\n status: \"Pending\"\r\n})))\r\nexport const getEmployeeList = async () => ([...new Array(15)].map(() => (\r\n faker.name.findName()\r\n)))\r\nexport const getInternalAllTasksGridData = async () => ([...new Array(15)].map(() => ({\r\n id: faker.random.uuid(),\r\n invoiceNum: `${2020}-${faker.random.number() % 999}`,\r\n applicant: faker.name.findName(),\r\n applicationType: faker.random.boolean() ? \"Engineering Intern\" : \"Professional Engineer\",\r\n dateCreated: faker.date.past().toLocaleDateString(),\r\n dateSubmitted: faker.date.past().toLocaleDateString(),\r\n status: \"Pending\"\r\n})))\r\nexport const getInsititutions = ([\r\n { \"label\": \"Louisiana State University\", \"value\": \"Louisiana State University\" },\r\n { \"label\": \"Xavier University\", \"value\": \"Xavier University\" },\r\n { \"label\": \"Harvard Community College\", \"value\": \"Harvard Community College\" },\r\n { \"label\": \"Loyola University\", \"value\": \"Loyola University\" },\r\n { \"label\": \"Tulane University\", \"value\": \"Tulane University\" }\r\n])","import axios from \"axios\";\r\nimport authHeader from '../authheader'\r\n\r\nconst PICKERCACHEURL = process.env.REACT_APP_APIURL + \"/api/PickerCache\";\r\n\r\nconst getCodeTableId = () => {\r\n return axios.get(`${PICKERCACHEURL}/availblecodetable`)\r\n}\r\n\r\nexport const getStates = () => {\r\n var codeTableType = 17;\r\n return axios.get(`${PICKERCACHEURL}/statecountry`, { params: { codeTableType } }).then((response) => {\r\n return response.data.sort((a, b) => a.state.localeCompare(b.state)).filter(state => state.state !== \"A Not Applicable\").map(state => { return { \"label\": state.state, \"value\": { ...state } } })\r\n });\r\n}\r\n\r\nexport const getCountries = () => {\r\n var codeTableType = 11;\r\n return axios.get(`${PICKERCACHEURL}/statecountry`, { params: { codeTableType } }).then((response) => {\r\n return response.data.sort((a, b) => a.country.localeCompare(b.country))\r\n .sort(function (x, y) { return x.country == \"United States\" ? -1 : y.country == \"United States\" ? 1 : 0; })\r\n .map(country => { return { \"label\": country.country, \"value\": { ...country } } })\r\n });\r\n}\r\n\r\nexport const getFirmTypes = () => {\r\n return axios.get(`${PICKERCACHEURL}/organizationtypes`).then((response) => {\r\n return response.data.map(firmType => { return { \"label\": firmType.organizationType, \"value\": { id: firmType.id, code: firmType.organizationType } } })\r\n });\r\n}\r\n\r\nexport const getSchools = () => {\r\n var codeTableType = 15;\r\n return axios.get(`${PICKERCACHEURL}/lookup`, { headers: authHeader(), params: { codeTableType } }).then((response) => {\r\n return response.data.map(school => { return { \"label\": `${school.name} (${school.city})`, \"value\": { ...school } } })\r\n });\r\n}\r\nexport const getStatuses = () => {\r\n var codeTableType = 16;\r\n return axios.get(`${PICKERCACHEURL}/lookup`, { headers: authHeader(), params: { codeTableType } }).then((response) => {\r\n return response.data.map(status => { return { \"label\": `${status.schoolStatus}`, \"value\": { ...status } } })\r\n });\r\n}\r\n\r\nexport const getDegrees = () => {\r\n var codeTableType = 12;\r\n return axios.get(`${PICKERCACHEURL}/lookup`, { headers: authHeader(), params: { codeTableType } }).then((response) => {\r\n return response.data.map(degree => { return { \"label\": degree.degree, \"value\": { ...degree } } })\r\n });\r\n}\r\nexport const getEmploymentTypes = () => {\r\n var codeTableType = 1;\r\n return axios.get(`${PICKERCACHEURL}/lookup`, { headers: authHeader(), params: { codeTableType } }).then((response) => {\r\n return response.data.map(employmentType => { return { \"label\": employmentType.employmentType, \"value\": { ...employmentType } } })\r\n });\r\n}\r\nexport const getBoardMembers = () => {\r\n var codeTableType = 10;\r\n return axios.get(`${PICKERCACHEURL}/lookup`, { headers: authHeader(), params: { codeTableType } }).then((response) => {\r\n return response.data.map(boardMemeber => { return { \"label\": `${boardMemeber.firstName} ${boardMemeber.middleName} ${boardMemeber.lastName}, ${boardMemeber.credentialSuffix}`, \"value\": { ...boardMemeber } } })\r\n });\r\n}\r\n\r\nexport const getAreas = () => {\r\n var codeTableType = 19;\r\n return axios.get(`${PICKERCACHEURL}/lookup`, { headers: authHeader(), params: { codeTableType } }).then((response) => {\r\n return response.data.map(area => { return { \"label\": `${area.area}`, \"value\": { ...area } } })\r\n });\r\n}\r\n\r\nexport const getCourses = (schoolId) => {\r\n var codeTableType = 20;\r\n return axios.get(`${PICKERCACHEURL}/courses`, { headers: authHeader(), params: { schoolId } }).then((response) => {\r\n return response.data.map(course => { return { \"label\": `${course.courseNumber} (${course.description})`, \"value\": { courseNumber: course.courseNumber, description: course.description, id: course.id, schoolId: course.schoolId } } })\r\n });\r\n}\r\n\r\nexport const getCourseClassifications = () => {\r\n var codeTableType = 21;\r\n return axios.get(`${PICKERCACHEURL}/lookup`, { headers: authHeader(), params: { codeTableType } }).then((response) => {\r\n return response.data.map(classification => { return { \"label\": `${classification.courseClassification}`, \"value\": { ...classification } } })\r\n });\r\n}\r\n\r\nexport const getCredStatus = () => {\r\n var codeTableType = 22;\r\n return axios.get(`${PICKERCACHEURL}/lookup`, { headers: authHeader(), params: { codeTableType } }).then((response) => {\r\n return response.data.map(credStatus => { return { \"label\": `${credStatus.status}`, \"value\": { ...credStatus } } })\r\n });\r\n}\r\n\r\nexport const getIssueTypes = () => {\r\n var codeTableType = 23;\r\n return axios.get(`${PICKERCACHEURL}/lookup`, { headers: authHeader(), params: { codeTableType } }).then((response) => {\r\n return response.data.map(issueType => { return { \"label\": `${issueType.issueType}`, \"value\": { ...issueType } } })\r\n });\r\n}\r\n\r\nexport const getAttachmentTypes = () => {\r\n var codeTableType = 24;\r\n return axios.get(`${PICKERCACHEURL}/lookup`, { headers: authHeader(), params: { codeTableType } }).then((response) => {\r\n return response.data.map(attachmentType => { return { \"label\": `${attachmentType.laserficheDocumentType}`, \"value\": { ...attachmentType } } })\r\n });\r\n}\r\n\r\nexport const getFirstExamDiscipline = () => {\r\n var codeTableType = 25;\r\n return axios.get(`${PICKERCACHEURL}/lookup`, { headers: authHeader(), params: { codeTableType } }).then((response) => {\r\n return response.data.map(firstExamDiscipline => { return { \"label\": `${firstExamDiscipline.peDiscipline}`, \"value\": { ...firstExamDiscipline } } })\r\n });\r\n}\r\n\r\nexport const getExamDiscipline = () => {\r\n var codeTableType = 26;\r\n return axios.get(`${PICKERCACHEURL}/lookup`, { headers: authHeader(), params: { codeTableType } }).then((response) => {\r\n return response.data.map(examDiscipline => { return { \"label\": `${examDiscipline.examDiscipline}`, \"value\": { ...examDiscipline } } })\r\n });\r\n}\r\n\r\nexport const getEngineerExamDiscipline = () => {\r\n var codeTableType = 35;\r\n return axios.get(`${PICKERCACHEURL}/lookup`, { headers: authHeader(), params: { codeTableType } }).then((response) => {\r\n return response.data.map(examDiscipline => { return { \"label\": `${examDiscipline.examDiscipline}`, \"value\": { ...examDiscipline } } })\r\n });\r\n}\r\n\r\nexport const getSurveyingExamDiscipline = () => {\r\n var codeTableType = 36;\r\n return axios.get(`${PICKERCACHEURL}/lookup`, { headers: authHeader(), params: { codeTableType } }).then((response) => {\r\n return response.data.map(examDiscipline => { return { \"label\": `${examDiscipline.examDiscipline}`, \"value\": { ...examDiscipline } } })\r\n });\r\n}\r\n\r\nexport const getCodeViolationAnswers = (applicationTypeId) => {\r\n return axios.get(`${PICKERCACHEURL}/appviolationquestionsbyapptype`, { headers: authHeader(), params: { applicationTypeId } }).then((response) => {\r\n return response.data.map(answers => { return { \"id\": 0, \"violationId\": 0, \"applicationId\": 0, \"entityId\": 0, \"codeViolationQuestion\": { ...answers }, \"answer\": null, \"userCrte\": null } })\r\n });\r\n}\r\nexport const getReinstatementCodeViolationAnswers = (credentialtypeid) => {\r\n return axios.get(`${PICKERCACHEURL}/reinstatementviolationquestionsbycredtype`, { headers: authHeader(), params: { credentialtypeid } }).then((response) => {\r\n return response.data.map(answers => { return { \"id\": 0, \"violationId\": 0, \"reinstatementId\": 0, \"entityId\": 0, \"codeViolationQuestion\": { ...answers }, \"answer\": null, \"userCrte\": null } })\r\n });\r\n}\r\nexport const getRenewalCodeViolationAnswers = (credentialtypeid) => {\r\n return axios.get(`${PICKERCACHEURL}/renewalviolationquestionsbycredtype`, { headers: authHeader(), params: { credentialtypeid } }).then((response) => {\r\n return response.data.map(answers => { return { \"id\": 0, \"violationId\": 0, \"renewalId\": 0, \"entityId\": 0, \"codeViolationQuestion\": { ...answers }, \"answer\": null, \"userCrte\": null } })\r\n });\r\n}\r\n\r\n\r\n\r\nexport const getPaymentTypes = () => {\r\n var codeTableType = 27;\r\n return axios.get(`${PICKERCACHEURL}/lookup`, { headers: authHeader(), params: { codeTableType } }).then((response) => {\r\n return response.data.map(paymentType => { return { \"label\": `${paymentType.paymentType}`, \"value\": { ...paymentType } } })\r\n });\r\n}\r\nexport const getBatchStatusType = () => {\r\n var codeTableType = 28;\r\n return axios.get(`${PICKERCACHEURL}/lookup`, { headers: authHeader(), params: { codeTableType } }).then((response) => {\r\n return response.data.map(statusType => { return { \"label\": `${statusType.batchStatus}`, \"value\": `${statusType.batchStatus}` } })\r\n });\r\n}\r\n\r\nexport const getFeeDefinitions = () => {\r\n var codeTableType = 29;\r\n return axios.get(`${PICKERCACHEURL}/lookup`, { headers: authHeader(), params: { codeTableType } }).then((response) => {\r\n return response.data.map(feeDefinition => { return { \"label\": `${feeDefinition.feeDefinition}`, \"value\": { ...feeDefinition } } })\r\n });\r\n}\r\nexport const getCredTypes = () => {\r\n var codeTableType = 30;\r\n return axios.get(`${PICKERCACHEURL}/lookup`, { headers: authHeader(), params: { codeTableType } }).then((response) => {\r\n return response.data.map(credType => { return { \"label\": `${credType.credentialType}`, \"value\": { ...credType } } })\r\n });\r\n}\r\nexport const getInternalStatuses = () => {\r\n var codeTableType = 31;\r\n return axios.get(`${PICKERCACHEURL}/lookup`, { headers: authHeader(), params: { codeTableType } }).then((response) => {\r\n return response.data.map(status => { return { \"label\": `${status.internalStatus}`, \"value\": { ...status } } })\r\n });\r\n}\r\nexport const getAdditionalStructurals = () => {\r\n var codeTableType = 32;\r\n return axios.get(`${PICKERCACHEURL}/lookup`, { headers: authHeader(), params: { codeTableType } }).then((response) => {\r\n return response.data.map(data => { return { \"label\": `${data.examAdditionalStructural}`, \"value\": { ...data } } })\r\n });\r\n}\r\nexport const getExams = () => {\r\n var codeTableType = 33;\r\n return axios.get(`${PICKERCACHEURL}/lookup`, { headers: authHeader(), params: { codeTableType } }).then((response) => {\r\n return response.data.map(exam => { return { \"label\": `${exam.officialTitle}`, \"value\": { ...exam } } })\r\n });\r\n}\r\nexport const getExamStatuses = () => {\r\n var codeTableType = 34;\r\n return axios.get(`${PICKERCACHEURL}/lookup`, { headers: authHeader(), params: { codeTableType } }).then((response) => {\r\n return response.data.map(status => { return { \"label\": `${status.status}`, \"value\": { ...status } } })\r\n });\r\n}\r\nexport const getCredStatusReason = (credentialStatusId) => {\r\n return axios.get(`${PICKERCACHEURL}/credentialstatusreasons`, { headers: authHeader(), params: { credentialStatusId } }).then((response) => {\r\n return response.data.map(statusReason => { return { \"label\": `${statusReason.statusReason}`, \"value\": { ...statusReason } } })\r\n });\r\n}\r\n\r\nexport const getAllCredentials = (credentialNumber) => {\r\n return axios.get(`${PICKERCACHEURL}/allcredentials`, { headers: authHeader(), params: { credentialNumber } }).then((response) => {\r\n if (response.data)\r\n return response.data.map(cred => { return { \"label\": `(${cred.formattedLicenseNumber}) ${cred.formattedName}`, \"value\": `(${cred.formattedLicenseNumber}) ${cred.formattedName}` } })\r\n });\r\n}\r\nexport const getContacts = (name) => {\r\n return axios.get(`${PICKERCACHEURL}/allcontactsbyname`, { headers: authHeader(), params: { name } }).then((response) => {\r\n if (response.data) {\r\n return response.data.map(contact => { return { \"label\": `${contact.formattedName} | ${contact.lolanumber} ${contact.formattedLicenseNumber ? \"| \" + contact.formattedLicenseNumber : \"\"}`, \"name\": `${contact.name}`, \"value\": { ...contact } } })\r\n }\r\n });\r\n}\r\n\r\nexport const getVfCredentials = (credentialNumber) => {\r\n return axios.get(`${PICKERCACHEURL}/vfcredential`, { headers: authHeader(), params: { credentialNumber } }).then((response) => {\r\n if (response.data)\r\n return response.data.map(cred => { return { \"label\": `(${cred.formattedLicenseNumber}) ${cred.formatedName}`, \"value\": { ...cred } } })\r\n });\r\n}\r\nexport const getEfCredentials = (credentialNumber) => {\r\n return axios.get(`${PICKERCACHEURL}/efcredential`, { headers: authHeader(), params: { credentialNumber } }).then((response) => {\r\n if (response.data)\r\n return response.data.map(cred => { return { \"label\": `(${cred.formattedLicenseNumber}) ${cred.formatedName}`, \"value\": { ...cred } } })\r\n });\r\n}\r\nexport const getVfCredential = (credentialNumber) => {\r\n return axios.get(`${PICKERCACHEURL}/vfcredential`, { headers: authHeader(), params: { credentialNumber } }).then((response) => {\r\n if (response.data.length)\r\n return { \"label\": `(${response.data[0].formattedLicenseNumber}) ${response.data[0].formatedName}`, \"value\": { ...response.data[0] } }\r\n });\r\n}\r\nexport const getEfCredential = (credentialNumber) => {\r\n return axios.get(`${PICKERCACHEURL}/efcredential`, { headers: authHeader(), params: { credentialNumber } }).then((response) => {\r\n if (response.data.length)\r\n return { \"label\": `(${response.data[0].formattedLicenseNumber}) ${response.data[0].formatedName}`, \"value\": { ...response.data[0] } }\r\n });\r\n}\r\nexport const getFirmCredential = (credentialNumber) => {\r\n return axios.get(`${PICKERCACHEURL}/firmcredential`, { headers: authHeader(), params: { credentialNumber } }).then((response) => {\r\n if (response.data.length)\r\n return response.data.map(cred => { return { \"label\": `(${cred.formattedLicenseNumber}) ${cred.formatedName}`, \"value\": `(${cred.formattedLicenseNumber}) ${cred.formatedName}` } })\r\n });\r\n}\r\nexport const getIndividualCredentials = (credentialNumber) => {\r\n return axios.get(`${PICKERCACHEURL}/individualcredential`, { headers: authHeader(), params: { credentialNumber } }).then((response) => {\r\n if (response.data)\r\n return response.data.map(cred => { return { \"label\": `(${cred.formattedLicenseNumber}) ${cred.formattedName}`, \"value\": `(${cred.formattedLicenseNumber}) ${cred.formattedName}` } })\r\n });\r\n}\r\nexport const getIndividualCredentialsInternal = (credentialNumber, firmEntityId) => {\r\n return axios.get(`${PICKERCACHEURL}/individualcredential`, { headers: authHeader(), params: { credentialNumber, firmEntityId } }).then((response) => {\r\n if (response.data)\r\n return response.data.map(cred => { return { \"label\": `(${cred.formattedLicenseNumber}) ${cred.formattedName}`, \"value\": { ...cred } } })\r\n });\r\n}\r\n\r\nexport const getIndividualCredentialsOnEdit = (formattedLicenseNumber) => {\r\n return axios.get(`${PICKERCACHEURL}/individualcredentialbyformattedlicensenumber`, { headers: authHeader(), params: { formattedLicenseNumber } }).then((response) => {\r\n if (response.data)\r\n return { \"label\": `(${response.data.formattedLicenseNumber}) ${response.data.formattedName}`, \"value\": { ...response.data } }\r\n });\r\n}\r\nexport const getRenewingintolist = (renewalId) => {\r\n return axios.get(`${PICKERCACHEURL}/renewingintolist`, { headers: authHeader(), params: { renewalId } }).then((response) => {\r\n if (response.data)\r\n return response.data.map(data => { return { \"label\": `${data.code}`, \"value\": { ...data } } })\r\n });\r\n}\r\n\r\nexport const emailPhonePrivacy = [\r\n { label: 'Yes, keep private', value: true },\r\n { label: 'No, share when requested', value: false }\r\n];\r\nexport const journalDropdown = [\r\n { label: 'Do Not Send', value: 'do not send' },\r\n { label: 'Email', value: 'email' },\r\n { label: 'Mail', value: 'mail' }\r\n];\r\nexport const subscribeDropdown = [\r\n { label: 'Subscribe', value: true },\r\n { label: 'Unsubscribe', value: false },\r\n];\r\n\r\n","import React from 'react'\r\n\r\nfunction RedStar() {\r\n return (\r\n *\r\n )\r\n}\r\nexport default RedStar","import React from \"react\"\r\nimport { FormGroup, RadioGroup, Radio, FormControl } from \"rsuite\";\r\n\r\nfunction YesNoRadioOption(props) {\r\n return(\r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n )\r\n}\r\n\r\nexport default YesNoRadioOption","import React, { useState, useEffect } from 'react';\r\nimport { Modal, Row, Col, Button } from 'react-bootstrap'\r\nimport { InputPicker, SelectPicker, Form, ControlLabel, Schema, FormControl, FormGroup, InputNumber } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport { titleData } from '../../../../fakeapi'\r\nimport dashboardService from '../../../../services/Public/dashboard.service';\r\nimport { getCountries } from '../../../../services/Shared/codeTable.service'\r\nimport RedStar from '../../../Shared/GenericComponents/RedStar';\r\nimport YesNoRadioOption from '../../../Shared/RadioButton/YesNoRadioOption';\r\n\r\n\r\nfunction EditLockedContactInfoModal(props) {\r\n const [recordModel, setRecordModel] = useState({\r\n dateOfBirth: null,\r\n birthCity: '',\r\n birthCountry: null\r\n })\r\n const [countries, setCountries] = useState([])\r\n\r\n useEffect(() => {\r\n getCountries().then(setCountries);\r\n setRecordModel(props.modaldata);\r\n }, [props.modaldata])\r\n\r\n const { StringType, ObjectType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n dateOfBirth: StringType().isRequired('This field is required.'),\r\n birthCity: StringType().isRequired('This field is required.'),\r\n birthCountry: ObjectType().isRequired('This field is required.'),\r\n })\r\n const formSubmit = (validation, event) => {\r\n //Do validation check and submit\r\n var validationObject = model.check(recordModel);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n if (key.includes(\"citizenshipCountry\")) {\r\n if (recordModel.isUsCitizen)\r\n continue;\r\n }\r\n return;\r\n }\r\n }\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to update this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, Save it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n var dataToTransmit = { ...recordModel };//do mapping if needed\r\n dashboardService.postIndividualLockedContactInformation(dataToTransmit).then((response) => {\r\n if (response.data) {\r\n props.onHide();\r\n\r\n }\r\n })\r\n }\r\n })\r\n\r\n }\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n Required Contact Information\r\n \r\n \r\n \r\n
setRecordModel(recordModel)} onSubmit={formSubmit} >\r\n {props.modaldata.dateOfBirth == null &&\r\n \r\n \r\n \r\n \r\n \r\n Date of Birth \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {(props.modaldata.birthCity == null || props.modaldata.birthCity == '') &&\r\n \r\n \r\n \r\n \r\n \r\n City of Birth \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }{props.modaldata.birthCountry == null &&\r\n \r\n \r\n \r\n \r\n \r\n Country of Birth \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default EditLockedContactInfoModal;","import React from 'react'\r\nimport { Card } from 'react-bootstrap'\r\n\r\nfunction TemporaryInformationCard({ display }) {\r\n return (<>\r\n {display &&\r\n <>\r\n \r\n \r\n

\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n }\r\n )\r\n}\r\nexport default TemporaryInformationCard","import React, { useState } from 'react';\r\nimport WelcomeContent from './WelcomeContent';\r\nimport Profile from './Profile';\r\nimport RecentUpdates from './RecentUpdates';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useEffect } from 'react';\r\nimport AuthService from '../../../../services/Public/dashboard.service'\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\nimport EditLockedContactInfoModal from './EditLockedContactInfoModal';\r\nimport TemporaryInformationCard from './TemporaryInformationCard';\r\n\r\nfunction DashboardPage(props) {\r\n const [publicDashboardModel, setPublicDashboardModel] = useState({});\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [showModal, setShowModal] = useState(false);\r\n const [modalData, setModalData] = useState({});\r\n useEffect(() => {\r\n AuthService.getIndividualDashboard().then((response) => {\r\n response.data.pendingApplications = response.data.pendingApplications.map(obj => ({ ...obj, pendingApplicationStatus: obj.status }));\r\n setPublicDashboardModel(response.data);\r\n setHasLoaded(true);\r\n AuthService.getIndividualLockedContactInformation().then((data) => {\r\n if (data.data ?? false) {\r\n setModalData(data.data)\r\n setShowModal(true);\r\n }\r\n })\r\n });\r\n\r\n }, [])\r\n return (\r\n \r\n { hasLoaded ?\r\n \r\n

Dashboard

\r\n \r\n setShowModal(false)} />\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
: \r\n }\r\n
\r\n )\r\n}\r\nexport default DashboardPage;","import axios from \"axios\";\r\nimport authHeader from '../authheader'\r\n\r\nconst SHOPPINGCARTURL = process.env.REACT_APP_APIURL + \"/api/ShoppingCart\";\r\nconst ONLINEPAYMENTURL = process.env.REACT_APP_APIURL + \"/api/OnlinePayment\";\r\n\r\nconst getShoppingCart = async () => {\r\n return axios.get(`${SHOPPINGCARTURL}/summary`, { headers: authHeader() });\r\n}\r\n\r\nconst getShoppingCartData = async () => {\r\n return axios.get(`${SHOPPINGCARTURL}`, { headers: authHeader() });\r\n}\r\n\r\nconst addToShoppingCart = (parentId, feeDefinitionId) => {\r\n return axios.post(`${SHOPPINGCARTURL}/addtocart`, null, { headers: authHeader(), params: { parentId, feeDefinitionId } });\r\n}\r\n\r\nconst deleteItemFromShoppingCart = (shoppingCartItemId, feeDefinitionId, parentId) => {\r\n return axios.post(`${SHOPPINGCARTURL}/deleteitem`, null, { headers: authHeader(), params: { shoppingCartItemId, feeDefinitionId, parentId } });\r\n}\r\nconst postMailPayment = () => {\r\n return axios.post(`${SHOPPINGCARTURL}/preparemailpayment`, null, { headers: authHeader() });\r\n}\r\nconst postOnlinePayment = () => {\r\n return axios.post(`${ONLINEPAYMENTURL}/postonlinepaymentredirecturl`, null, { headers: authHeader() });\r\n}\r\nconst postOnlinePaymentToken = (token) => {\r\n return axios.post(`${ONLINEPAYMENTURL}/postprocessonlinepayment`, null, { headers: authHeader(), params: { token} });\r\n}\r\nconst postAutoRenewalPdfs = (autoApprovedRenewalIds) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/Reports/AutoAttachRenewalPdfs`, autoApprovedRenewalIds , { headers: authHeader()});\r\n}\r\nconst postFailOnlinePayment = (token, r) => {\r\n return axios.post(`${ONLINEPAYMENTURL}/postfailonlinepayment`, null, { headers: authHeader(), params: { token, r } });\r\n}\r\n\r\nexport default {\r\n getShoppingCart,\r\n addToShoppingCart,\r\n getShoppingCartData,\r\n deleteItemFromShoppingCart,\r\n postMailPayment,\r\n postOnlinePayment,\r\n postOnlinePaymentToken,\r\n postFailOnlinePayment,\r\n postAutoRenewalPdfs\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { Card, Row, Col, Button } from 'react-bootstrap'\r\nimport { Icon, Table } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport shoppingCartService from '../../../services/Public/shoppingCart.service';\r\n\r\nfunction ShoppingCart(props) {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [gridData, setGridData] = useState([]);\r\n\r\n useEffect(() => {\r\n setGridData(props.gridData)\r\n setHasLoaded(true);\r\n }, [props.gridData])\r\n\r\n\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
Cart Total
\r\n \r\n
\r\n
\r\n \r\n {hasLoaded &&\r\n <>\r\n \r\n \r\n \r\n License\r\n \r\n {rowData => { return (rowData.id > 0 ? (rowData.feeDefinition.feeDefinitionDescription) : {rowData.feeDefinition.credentialType}) }}\r\n \r\n \r\n \r\n Price\r\n \r\n {rowData => {\r\n return (rowData.id > 0 ? (rowData.feeDefinition.feeAmount.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n })) : {rowData.feeDefinition.feeAmount.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n })}) }}\r\n \r\n \r\n \r\n \r\n \r\n {rowData => {\r\n if (rowData.id > 0 && rowData.feeDefinition.generalLedgerDescription != \"Delinquent Fees\") {\r\n function handleDelete() {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n //shopping cart service to delete\r\n shoppingCartService.deleteItemFromShoppingCart(rowData.id, rowData.feeDefinition.id, rowData.parentId).then((response) => {\r\n props.refreshGrid();\r\n });\r\n }\r\n })\r\n }\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n }}\r\n \r\n \r\n
\r\n {gridData.length > 0 &&\r\n <>\r\n
Payment Method
\r\n
\r\n   \r\n \r\n \r\n }\r\n \r\n }\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\n\r\nexport default ShoppingCart;","import React from 'react';\r\nimport { Card } from 'react-bootstrap'\r\n\r\nfunction Information({content, isQuiz}) {\r\n return (\r\n \r\n
{isQuiz && Quiz }Requirements/Information
\r\n \r\n { content}\r\n \r\n
\r\n )\r\n}\r\nexport default Information","import axios from \"axios\";\r\nimport authHeader from '../../authheader'\r\n\r\nconst INDIVIDUALRENEWAL = process.env.REACT_APP_APIURL + \"/api/IndividualRenewal\";\r\nconst FIRMRENEWAL = process.env.REACT_APP_APIURL + \"/api/FirmRenewal\";\r\nconst SHOPPINGCART = process.env.REACT_APP_APIURL + \"/api/ShoppingCart\";\r\n\r\nconst getPendingRenewals = async () => {\r\n return axios.get(`${INDIVIDUALRENEWAL}/pendingrenewals`, { headers: authHeader() });\r\n};\r\nconst getRenewalBanner = async () => {\r\n return axios.get(`${INDIVIDUALRENEWAL}/getrenewalbannertext`, { headers: authHeader() });;\r\n};\r\nconst getHistoricalRenewals = async () => {\r\n return axios.get(`${INDIVIDUALRENEWAL}/historicalrenewals`, { headers: authHeader() });\r\n};\r\nconst getIndividualRenewal = async (renewalId) => {\r\n return axios.get(`${INDIVIDUALRENEWAL}/renewal`, { headers: authHeader(), params: { renewalId } });;\r\n};\r\nconst wasHeldForCpd = async (renewalId) => {\r\n return axios.get(`${INDIVIDUALRENEWAL}/wasHeldForCpd`, { headers: authHeader(), params: { renewalId } });;\r\n};\r\nconst wasHeldForBuildingDesign = async (renewalId) => {\r\n return axios.get(`${INDIVIDUALRENEWAL}/wasHeldForBuildingDesign`, { headers: authHeader(), params: { renewalId } });;\r\n};\r\nconst wasHeldForSupervisingProfessional= async (renewalId) => {\r\n return axios.get(`${FIRMRENEWAL}/washeldforsp`, { headers: authHeader(), params: { renewalId } });;\r\n};\r\nconst createRenewal = (credentialTypeId, credentialId) => {\r\n return axios.post(`${INDIVIDUALRENEWAL}/create`, null, { headers: authHeader(), params: { credentialTypeId, credentialId } })\r\n .then((response) => {\r\n return response;\r\n });\r\n}\r\n\r\nconst validateRenewal = (renewalId) => {\r\n return axios.post(`${INDIVIDUALRENEWAL}/validate`, null, { headers: authHeader(), params: { renewalId } })\r\n .then((response) => {\r\n return response;\r\n }).catch((res) => {\r\n });\r\n}\r\n\r\n\r\nconst getFirmPendingRenewals = async () => {\r\n return axios.get(`${FIRMRENEWAL}/pendingrenewals`, { headers: authHeader() });;\r\n};\r\nconst getFirmHistoricalRenewals = async () => {\r\n return axios.get(`${FIRMRENEWAL}/historicalrenewals`, { headers: authHeader() });;\r\n};\r\nconst getFirmRenewal = async (renewalId) => {\r\n return axios.get(`${FIRMRENEWAL}/renewal`, { headers: authHeader(), params: { renewalId } });;\r\n};\r\n\r\nconst createFirmRenewal = (credentialTypeId, credentialId) => {\r\n return axios.post(`${FIRMRENEWAL}/create`, null, { headers: authHeader(), params: { credentialTypeId, credentialId } })\r\n .then((response) => {\r\n return response;\r\n });\r\n}\r\n\r\nconst validateFirmRenewal = (renewalId) => {\r\n return axios.post(`${FIRMRENEWAL}/validate`, null, { headers: authHeader(), params: { renewalId } })\r\n .then((response) => {\r\n return response;\r\n }).catch((res) => {\r\n });\r\n}\r\n\r\n\r\nexport default {\r\n getPendingRenewals,\r\n getHistoricalRenewals,\r\n getIndividualRenewal,\r\n createRenewal,\r\n validateRenewal,\r\n getFirmPendingRenewals,\r\n getFirmHistoricalRenewals,\r\n getFirmRenewal,\r\n createFirmRenewal,\r\n validateFirmRenewal,\r\n wasHeldForCpd,\r\n wasHeldForBuildingDesign,\r\n wasHeldForSupervisingProfessional,\r\n getRenewalBanner\r\n \r\n}","import { loremParagraphs } from \"../../../fakeapi\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Button } from \"react-bootstrap\";\r\nimport renewalService from \"../../../services/Public/Renewal/renewal.service\";\r\nimport * as dayjs from \"dayjs\";\r\n\r\nexport const GetGeneralContactInformationInstructions = () => {\r\n return (\r\n
    \r\n
  • Information already in the system will appear in the fields below. You can make changes, and they will take effect once the application is complete and payment is accepted
  • \r\n
  • Mandatory fields are indicated with \"*\" (asterisk) to the left of the field
  • \r\n
  • Louisiana Revised Statute 37:23 requires that every application by an individual for a professional license, permit or certificate shall require the applicant's social security number.\r\n Disclosure of your social security number is mandatory for this purpose and for the purpose of establishing, modifying or enforcing family and child support obligations and locating an individual who is under an obligation to pay family or child support under La. R.S. 46:236.1.1, et seq.\r\n Failure to provide your social security number for these mandatory purposes will result in the denial of your licensure, permit or certificatef application.\r\n Disclosure of your social security number is voluntary for disclosure to other state regulatory agencies, testing and examination vendors, law enforcement agencies, and other private federations and associations involved in professional regulation.\r\n Such disclosure is for identification purposes only. Your social security number will not be released for any other purpose not provided by law.
  • \r\n
\r\n );\r\n}\r\n\r\nexport const GetFirmGeneralContactInformationInstructions = () => {\r\n return (\r\n
    \r\n
  • Information already in the system will appear in the fields below. You can make changes, and they will take effect once the application is complete and payment is accepted
  • \r\n
  • Mandatory fields are indicated with \"*\" (asterisk) to the left of the field
  • \r\n
\r\n );\r\n}\r\n\r\nexport const GetAppInstruction = () => {\r\n const [fakeData, setFakeData] = useState(\"\");\r\n useEffect(() => {\r\n loremParagraphs().then(setFakeData);\r\n }, [])\r\n\r\n return (\r\n <>\r\n\r\n\r\n
Select the Start a New Application button below and update all required information.
\r\n Please read carefully the “Requirements/Information” card at the top of each section. You must complete each section before you can submit to LAPELS staff for review.\r\n
    \r\n
  • \r\n If additional information is requested to complete your application, you must respond within one year of the date you were first notified.\r\n
  • \r\n
  • \r\n After one year with no response, your application will expire and no further action will be taken by the Board.\r\n
  • \r\n
  • \r\n After one year you will have to complete a new application if you want to pursue licensure in Louisiana.\r\n
  • \r\n
\r\n\r\n \r\n );\r\n}\r\nexport const GetReinstateInstruction = () => {\r\n const [fakeData, setFakeData] = useState(\"\");\r\n useEffect(() => {\r\n loremParagraphs().then(setFakeData);\r\n }, [])\r\n\r\n return (\r\n <>\r\n
Please read carefully the “Requirements/Information” card at the top of each section. You must complete each section before you can submit to LAPELS staff for review.
\r\n\r\n
    \r\n
  • Apply to reinstate your expired EI/LSI certification, or your expired PE/PLS license.
  • \r\n
  • There are two applications for PLS/PE licensure reinstatement:
  • \r\n
      \r\n
    • Application if expired more than 120 days but less than 5 years
    • \r\n
    • Application if expired more than 5 years
    • \r\n
    \r\n
  • The type of reinstatement application that appears on the next page will be automatically selected based on your license expiration date.
  • \r\n
\r\n\r\n \r\n );\r\n}\r\n\r\nexport const GetRenewalInstruction = () => {\r\n const [banner, setBanner] = useState()\r\n useEffect(() => {\r\n renewalService.getRenewalBanner().then((response) => {\r\n if (response.data) {\r\n setBanner(response.data)\r\n }\r\n })\r\n }, [])\r\n\r\n return (\r\n <>\r\n
Select the Start button below and update all required information.
\r\n Please read carefully the “Requirements/Information” card at the top of each section. You must complete each section before you can submit your renewal.\r\n

\r\n {banner &&\r\n
\r\n
\r\n }\r\n \r\n );\r\n}\r\n\r\nexport const GetSupervisingProfessionalIndividualInstructions = () => {\r\n return (<>\r\n The full text of the Licensure Law and the Rules of the Board are available from the Board's website at https://www.lapels.com/lawsrules.html.\r\n
\r\n

§2305. Supervising Professional

\r\n
    \r\n
  1. \r\n Each firm licensed with the board shall designate one or more supervising professionals. Each supervising professional shall be a licensed professional:\r\n
  2. \r\n
      \r\n
    • \r\n a. whose primary employment is with the firm on a full-time basis; or\r\n
    • \r\n
    • \r\n b. whose secondary employment is with the firm, provided the supervising professional is an owner of the firm.\r\n
    • \r\n
    \r\n
  3. \r\n The supervising professionals of an engineering firm shall be professional engineers. The supervising professionals of a land surveying firm shall be professional land surveyors.\r\n
  4. \r\n
  5. \r\n The responsibilities of a supervising professional include:\r\n
  6. \r\n
      \r\n
    • a. renewal of the firm’s license and notification to the board of any change in the firm’s supervising professionals;
    • \r\n
    • b. institution of and adherence to policies of the firm that are in accordance with the licensure law and the rules of the board; and
    • \r\n
    • c. ensuring that all professional services provided by the firm are performed by or under the responsible charge of licensed professionals.
    • \r\n
    \r\n\r\n
  7. \r\n Nothing herein shall prohibit a supervising professional from also being in responsible charge of professional services provided by the firm.\r\n
  8. \r\n
  9. A failure to comply with any of the provisions of this Chapter may subject both the licensed firm and the supervising professional to disciplinary action by the board.\r\n
  10. \r\n\r\n\r\n
\r\n\r\n\r\n

\r\n I acknowledge my responsibility to keep my SP locker current. I further understand that failure to comply with such requirements of any false statements made by me, on behalf of the firm, could be cause for disciplinary action. I acknowledge my responsibility to inform the Board, in writing, within thirty (30) days of any change of my employment or supervising professional status with the firm.\r\n

\r\n\r\n\r\n

Please complete the information as requested. If you have any questions, please email cande@lapels.com.

\r\n
\r\n

If at any time you would like to be removed from the firm below, click the “Inactivate” button to remove yourself as SP of the firm. After doing so, notifications will be the sent to your registered email,\r\n the firm’s registered email, and cande@lapels.com that you have removed yourself as SP of the firm below.

\r\n \r\n );\r\n}\r\n\r\nexport const GetSupervisingProfessionalFirmInstructions = () => {\r\n return (<>\r\n

Under the provisions of Louisiana Administrative Code, Title 46, Part LXI, Chapter 23, all professional services in the State of Louisiana shall be executed by or under the\r\n responsible charge of a licensed Professional Engineer or Professional Land Surveyor who is designated by the firm as a supervising professional. Such licensed professional\r\n shall be an active employee of the firm (a)whose primary employments with the firm on a full-time basis or (b) whose secondary employment is with the firm, the supervising\r\n professional is an owner of the firm. Such licensed professional shall be licensed in Louisiana and in the same profession as the firm (e.g., a Professional Engineer in an\r\n engineering firm)\r\n

\r\n
\r\n

Please complete the information as requested. LAPELS does not accept handwritten forms. If you have any questions, please email cande@lapels.com.

\r\n \r\n );\r\n}\r\n\r\nexport const GetCartInstructions = () => {\r\n return (<>\r\n

Online

\r\n

Your online payment will include a payment processing fee. A breakdown of the fees associated with all online payments is listed below:

\r\n
    \r\n
  • Payment via credit/debit card: $2.00 service fee + ((License fee + $2.00 service)* .025)
  • \r\n
  • Payment via ACH/E-Check: $3.00 service fee
  • \r\n
  • Checks and money orders have no service fee.
  • \r\n
\r\n

Mail-In

\r\n Print off invoice below and mail to LAPELS. Mail-in process.\r\n \r\n );\r\n}\r\n\r\nexport const GetInvoiceInstructions = () => {\r\n return (<>\r\n

Need language

\r\n \r\n );\r\n}","import React, { useState } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useEffect } from 'react';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ShoppingCart from '../../../Shared/Card/ShoppingCart';\r\nimport Information from '../../../Shared/Card/Information';\r\nimport shoppingCartService from '../../../../services/Public/shoppingCart.service';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { GetCartInstructions } from '../../../Shared/InformationContent/GeneralInformation';\r\nimport Swal from 'sweetalert2';\r\nimport { useHistory } from 'react-router-dom';\r\nimport BlockUi from 'react-block-ui';\r\n\r\nfunction ShoppingCartPage() {\r\n const [blocking, setBlocking] = useState(false);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [gridData, setGridData] = useState([]);\r\n const { push } = useHistory();\r\n var dispatch = useDispatch();\r\n var refreshToken = useSelector(x => x.refreshToken);\r\n useEffect(() => {\r\n refreshGrid();\r\n }, [])\r\n\r\n function refreshGrid() {\r\n shoppingCartService.getShoppingCartData().then((response) => {\r\n dispatch({ type: \"PERSIST_CURRENT_REFRESH\", payload: refreshToken + 1 });\r\n if (response.data.length > 0) {\r\n var total = response.data.reduce(function (total, currentValue) {\r\n return total + currentValue.feeDefinition.feeAmount;\r\n }, 0)\r\n response.data.push({ feeDefinition: { credentialType: 'Total', feeAmount: total }, id: 0 });\r\n }\r\n setGridData(response.data);\r\n\r\n setHasLoaded(true);\r\n });\r\n }\r\n const submitByMail = () => {\r\n Swal.fire({\r\n title: 'Confirm Mail-In Method',\r\n html: \"Are you sure you want to pay by Mail-In? Your application will not be reviewed until payment is received. Your application could take additional time to process.\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3b3',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continue'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n shoppingCartService.postMailPayment().then((response) => {\r\n dispatch({ type: \"PERSIST_INVOICE_ID\", payload: response.data.id });\r\n dispatch({ type: \"PERSIST_CURRENT_REFRESH\", payload: refreshToken + 1 });\r\n push('/individual/invoice');\r\n })\r\n }\r\n })\r\n }\r\n const submitElectronicPayment = () => {\r\n setBlocking(true);\r\n shoppingCartService.postOnlinePayment().then((response) => {\r\n if (response.data)\r\n document.location.href = response.data;\r\n })\r\n }\r\n return (\r\n \r\n { hasLoaded ?\r\n \r\n

Cart

\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
: \r\n }\r\n
\r\n )\r\n}\r\nexport default ShoppingCartPage;","import React, { useEffect, useState } from 'react'\r\nimport { Button, Card } from 'react-bootstrap';\r\nimport { FaCheckCircle } from 'react-icons/fa';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Swal from 'sweetalert2';\r\nimport shoppingCartService from '../../../../services/Public/shoppingCart.service';\r\n\r\nfunction PaymentSuccessPage() {\r\n const [hasFinished, setHasFinished] = useState(false);\r\n const { push } = useHistory()\r\n var dispatch = useDispatch();\r\n var refreshToken = useSelector(x => x.refreshToken);\r\n useEffect(() => {\r\n const urlSearchParams = new URLSearchParams(window.location.search);\r\n const params = Object.fromEntries(urlSearchParams.entries());\r\n Swal.fire({\r\n title: `Processing`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n shoppingCartService.postOnlinePaymentToken(params.token).then((response) => {\r\n if (response.data) {\r\n dispatch({ type: \"PERSIST_CURRENT_REFRESH\", payload: refreshToken + 1 });\r\n var dataToTransmit = {\r\n RenewalIds: response.data.autoApprovedRenewalIds\r\n }\r\n shoppingCartService.postAutoRenewalPdfs(dataToTransmit).then((data) => {\r\n if (data) {\r\n Swal.close()\r\n setHasFinished(true)\r\n }\r\n })\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n\r\n }, [])\r\n const returnToDash = () => {\r\n push('/individual')\r\n }\r\n return (\r\n <>\r\n {hasFinished ?\r\n \r\n \r\n <>\r\n \r\n

Your Payment was Successful

\r\n
Thank you for your payment. An automated payment receipt has been sent to your registered email.
\r\n \r\n \r\n
\r\n
\r\n : <>\r\n }\r\n \r\n );\r\n}\r\n\r\nexport default PaymentSuccessPage;","import React from 'react'\r\nimport { useState } from 'react';\r\nimport { useEffect } from 'react';\r\nimport { Button, Card } from 'react-bootstrap';\r\nimport { FaTimes } from 'react-icons/fa';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport shoppingCartService from '../../../../services/Public/shoppingCart.service';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\n\r\nfunction PaymentFailedPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory()\r\n var dispatch = useDispatch();\r\n var refreshToken = useSelector(x => x.refreshToken);\r\n useEffect(() => {\r\n const urlSearchParams = new URLSearchParams(window.location.search);\r\n const params = Object.fromEntries(urlSearchParams.entries());\r\n shoppingCartService.postFailOnlinePayment(params.token, params.r).then((response) => {\r\n if (response.data) {\r\n dispatch({ type: \"PERSIST_CURRENT_REFRESH\", payload: refreshToken + 1 });\r\n setHasLoaded(true)\r\n }\r\n })\r\n }, [])\r\n\r\n const returnToCart = () => {\r\n push('/individual/shoppingcart')\r\n }\r\n return (\r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n

\r\n \r\n

Payment Failed

\r\n

\r\n
Looks like we encountered an error. Please try again. If you continue to have issues, try another payment method.
\r\n \r\n : \r\n }\r\n
\r\n
\r\n\r\n );\r\n}\r\n\r\nexport default PaymentFailedPage;","import React, { useEffect, useState } from 'react'\r\nimport { Button, Card } from 'react-bootstrap';\r\nimport { FaTimes } from 'react-icons/fa';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Swal from 'sweetalert2';\r\nimport shoppingCartService from '../../../../services/Public/shoppingCart.service';\r\n\r\nfunction PaymentErrorPage() {\r\n const [hasFinished, setHasFinished] = useState(true);\r\n const { push } = useHistory()\r\n var dispatch = useDispatch();\r\n var refreshToken = useSelector(x => x.refreshToken);\r\n useEffect(() => {\r\n\r\n dispatch({ type: \"PERSIST_CURRENT_REFRESH\", payload: refreshToken + 1 });\r\n\r\n\r\n }, [])\r\n const returnToDash = () => {\r\n push('/individual')\r\n }\r\n return (\r\n <>\r\n {hasFinished ?\r\n \r\n \r\n <>\r\n \r\n

An Error has Occured

\r\n
There was an error trying to process your shopping cart. Please contact LAPELS to resolve this issue.
\r\n \r\n \r\n
\r\n
\r\n : <>\r\n }\r\n \r\n );\r\n}\r\n\r\nexport default PaymentErrorPage;","import axios from \"axios\";\r\nimport authHeader from \"../authheader\";\r\n\r\nconst ASKLOLAURL = process.env.REACT_APP_APIURL + \"/api/AskLola\";\r\n\r\nconst getAskLola = () => {\r\n return axios.get(`${ASKLOLAURL}/asklola`, { headers: authHeader() });\r\n}\r\n\r\nconst createAskLola = (text) => {\r\n //return axios.post(`${ASKLOLAURL}/createasklola`, { headers: authHeader(), params: { text } });\r\n return axios.post(`${ASKLOLAURL}/createasklola`, null, { headers: authHeader(), params: { text } });\r\n}\r\n\r\nconst updateAskLola = (data) => {\r\n var header = authHeader();\r\n return axios.post(`${ASKLOLAURL}/updateasklola`, data, { headers: { ...header } });\r\n}\r\n\r\nexport default {\r\n getAskLola,\r\n createAskLola,\r\n updateAskLola\r\n}","import React from 'react'\r\nimport { Row, Col } from 'react-bootstrap'\r\nfunction ViolationIssueCommentItem(props) {\r\n return (\r\n <>\r\n \r\n \r\n {props.person}\r\n \r\n \r\n \r\n \r\n Commented on {props.commentDate}\r\n \r\n \r\n \r\n \r\n

{props.comment}

\r\n \r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default ViolationIssueCommentItem;","import React, { useState } from 'react';\r\nimport ViolationIssueCommentItem from './ViolationIssueCommentItem';\r\nimport { Row, Col, InputGroup, FormControl, Button } from 'react-bootstrap';\r\nimport askLolaService from '../../../services/Shared/askLola.service';\r\n\r\nfunction AskLolaComment({ comments, issueClosed, askLolaId }) {\r\n const [issueComments, updateIssueComments] = useState(comments);\r\n const [commentBox, updateCommentBox] = useState(\"\");\r\n const commentsMarkup = issueComments.map((item, i) => {\r\n return \r\n })\r\n const commentAdd = () => {\r\n if (commentBox) {\r\n askLolaService.updateAskLola({ askLolaId: askLolaId, text: commentBox }).then((response) => {\r\n if (response.data) {\r\n updateIssueComments([...issueComments, response.data]);\r\n updateCommentBox(\"\");\r\n }\r\n });\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
Messages
\r\n
\r\n {commentsMarkup}\r\n \r\n \r\n \r\n updateCommentBox(e.target.value)}\r\n onKeyPress={event => {\r\n if (event.key === \"Enter\") {\r\n commentAdd();\r\n }\r\n }}\r\n disabled={issueClosed ? \"disabled\" : \"\"}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nexport default AskLolaComment;","export function flattenObject(oldObject) {\r\n const newObject = {};\r\n\r\n flattenHelper(oldObject, newObject, '');\r\n\r\n return newObject;\r\n}\r\n\r\nfunction flattenHelper(currentObject, newObject, previousKeyName) {\r\n for (let key in currentObject) {\r\n let value = currentObject[key];\r\n\r\n if (!value || value.constructor !== Object) {\r\n if (previousKeyName == null || previousKeyName == '') {\r\n newObject[key] = value;\r\n } else {\r\n if (key == null || key == '') {\r\n newObject[previousKeyName] = value;\r\n } else {\r\n newObject[previousKeyName + key.charAt(0).toUpperCase() + key.substring(1)] = value;\r\n }\r\n }\r\n } else {\r\n if (previousKeyName == null || previousKeyName == '') {\r\n flattenHelper(value, newObject, key);\r\n } else {\r\n flattenHelper(value, newObject, previousKeyName + key);\r\n }\r\n }\r\n }\r\n}\r\nexport function sort_by(field, reverse, primer, nestedValue) {\r\n const key = primer ?\r\n function (x) {\r\n return primer(x[field])\r\n }\r\n : nestedValue ?\r\n function (x) {\r\n return x[field]?.[nestedValue] ?? '';\r\n }\r\n : function (x) {\r\n return x[field] ?? '';\r\n };\r\n reverse = !reverse ? 1 : -1;\r\n return function (a, b) {\r\n return a = key(a), b = key(b), reverse * ((a > b) - (b > a));\r\n }\r\n}\r\n","import React, { useState } from 'react';\r\nimport { useEffect } from 'react';\r\nimport { Card, Row, Col, Button } from 'react-bootstrap'\r\nimport Swal from 'sweetalert2';\r\nimport askLolaService from '../../../services/Shared/askLola.service';\r\nimport AskLolaComment from '../Comments/AskLolaComment';\r\nimport { sort_by } from '../HelperFunctions';\r\n\r\nfunction AskLolaPage({ isInternal }) {\r\n const [questions, setQuestions] = useState([]);\r\n useEffect(() => {\r\n refreshGrid();\r\n }, [])\r\n\r\n const refreshGrid = () => {\r\n askLolaService.getAskLola().then((response) => {\r\n var data = response.data.sort(sort_by(\"dateCrte\",true));\r\n setQuestions(data);\r\n })\r\n }\r\n\r\n const addQuestion = () => {\r\n Swal.fire({\r\n title: 'Ask a question about LOLA',\r\n input: 'textarea',\r\n inputAttributes: {\r\n autocapitalize: 'off'\r\n },\r\n showCancelButton: true,\r\n confirmButtonText: 'Submit',\r\n showLoaderOnConfirm: true,\r\n allowOutsideClick: () => !Swal.isLoading(),\r\n inputValidator: (value) => {\r\n return !value && 'Please enter a question.'\r\n }\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n if (result.value) {\r\n askLolaService.createAskLola(result.value).then((response) => {\r\n if (response.status == 200) {\r\n refreshGrid();\r\n Swal.fire(\r\n 'Question Successfully Submitted!',\r\n `You submitted this question: ${result.value}`,\r\n 'success'\r\n )\r\n }\r\n else {\r\n Swal.fire(\r\n 'Question Failed to Submit!',\r\n `Failed to submit new question!`,\r\n 'warning'\r\n )\r\n }\r\n });\r\n }\r\n }\r\n })\r\n }\r\n\r\n const issuesMarkup = questions.map((item, i) => {\r\n return
\r\n \r\n \r\n
{item.formattedName}
\r\n \r\n
\r\n \r\n \r\n Question created on {new Date(item.dateCrte).toLocaleString()}\r\n \r\n \r\n \r\n \r\n {item.text}\r\n \r\n \r\n
\r\n
\r\n
\r\n });\r\n\r\n return (\r\n \r\n \r\n
Ask LOLA\r\n {!isInternal &&\r\n \r\n }\r\n
\r\n
\r\n \r\n {issuesMarkup}\r\n \r\n
\r\n )\r\n}\r\nexport default AskLolaPage;","import axios from \"axios\";\r\nimport authHeader from './authheader.js'\r\n\r\nconst CONTACTURL = process.env.REACT_APP_APIURL + \"/api/Contact\";\r\n\r\nconst getContactInformation = () => {\r\n return axios.get(CONTACTURL, { headers: authHeader() });\r\n}\r\nconst postContactInformation = (data) => {\r\n return axios.post(`${CONTACTURL}/updatecontact`, data, { headers: authHeader() });\r\n}\r\nconst getFirmContactInformation = () => {\r\n return axios.get(`${CONTACTURL}/getfirmcontact`, { headers: authHeader() });\r\n}\r\nconst postFirmContactInformation = (data) => {\r\n return axios.post(`${CONTACTURL}/updatefirmcontact`, data, { headers: authHeader() });\r\n}\r\n\r\nconst changePassword = (data) => {\r\n return axios.post(`${CONTACTURL}/changepassword`, data, { headers: authHeader() });\r\n}\r\nconst checkPassword = (currentPassword) => {\r\n return axios.post(`${CONTACTURL}/checkpassword`, null, { headers: authHeader(), params: { currentPassword } });\r\n}\r\nexport default {\r\n getContactInformation,\r\n postContactInformation,\r\n getFirmContactInformation,\r\n postFirmContactInformation,\r\n changePassword,\r\n checkPassword\r\n}","import React from 'react'\r\nimport { useState } from 'react';\r\nimport { Button, Card, Col, Container, Row } from 'react-bootstrap'\r\nimport { ControlLabel, Form, FormControl, FormGroup, Schema } from 'rsuite'\r\nimport Swal from 'sweetalert2';\r\nimport contactService from '../../../services/contact.service';\r\n\r\n\r\nfunction UserProfilePage() {\r\n const [userProfileModel, setUserProfileModel] = useState({\r\n currentPassword: \"\",\r\n newPassword: \"\",\r\n confirmNewPassword: \"\",\r\n })\r\n\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n currentPassword: StringType().isRequired(\"This field is required\"),\r\n // For some reason rsuite will keep calling this even with check trigger set to none\r\n //currentPassword: StringType().isRequired(\"This field is required\").addRule((val, data) => {\r\n // return checkCurrentPassword(val);\r\n //}, \"Current password is incorrect\"),\r\n newPassword: StringType().isRequired(\"This field is required\").addRule((val, data) => {\r\n return /^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$ %^&*\\-_]).{8,}$/.test(val);\r\n }, \"Password requires a minimum of 8 characters using upper and lower case letters, and at least 1 number and 1 symbol\"),\r\n confirmNewPassword: StringType().addRule((val, data) => {\r\n if (val !== data.newPassword) {\r\n return false;\r\n }\r\n return true;\r\n }, \"Does not match new password\").isRequired(\"This field is required\")\r\n })\r\n const checkCurrentPassword = (passwordValue) => {\r\n contactService.checkPassword(passwordValue).then((response) => {\r\n return new Promise(resolve => {\r\n resolve(response.data.isSuccess);\r\n });\r\n })\r\n }\r\n\r\n const formSubmit = (validation, event) => {\r\n if (validation) {\r\n contactService.changePassword(userProfileModel).then((response) => {\r\n if (response.data.isSuccess) {\r\n // Swal to tell them its changed\r\n Swal.fire(\"Saved!\", response.data.message, 'success');\r\n setUserProfileModel({\r\n currentPassword: \"\",\r\n newPassword: \"\",\r\n confirmNewPassword: \"\",\r\n })\r\n }\r\n else {\r\n // Swal using response.Message\r\n Swal.fire(\"Failed to Change Password!\", response.data.message, 'error');\r\n }\r\n }).catch((error) => {\r\n var errors = \"\";\r\n if (error.response.data.errors?.length > 0) {\r\n errors = \"
\" + error.response.data.errors.join(\"
\");\r\n }\r\n Swal.fire(\"Failed to Change Password!\", error.response.data.message + errors, 'error');\r\n });\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n
Update User Profile
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n setUserProfileModel(value)}\r\n onSubmit={formSubmit}>\r\n \r\n Current Password\r\n \r\n \r\n \r\n New Password\r\n \r\n \r\n \r\n Re-Type New Password\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default UserProfilePage;","import React, { useEffect, useState } from 'react';\r\nimport { Card, Row, Col, Button } from 'react-bootstrap'\r\nimport { useDispatch } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Icon, Table } from 'rsuite';\r\nimport LoadingSpinner from '../GenericComponents/LoadingSpinner';\r\n\r\n// requires isInternal, gridData\r\nfunction InvoiceHistory(props) {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [gridData, setGridData] = useState([]);\r\n var dispatch = useDispatch();\r\n const { push } = useHistory();\r\n useEffect(() => {\r\n setGridData(props.gridData)\r\n setHasLoaded(true);\r\n }, [props.gridData])\r\n\r\n const navigateToInvoice = (rowData) => {\r\n dispatch({ type: \"PERSIST_INVOICE_ID\", payload: rowData.id });\r\n push(props.isIndividual ? \"/individual/invoice\" : \"/firm/invoice\");\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {rowData => (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n Invoice Date\r\n \r\n {rowData => (rowData.invoiceDate ? new Date(rowData.invoiceDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Invoice #\r\n \r\n {rowData => (rowData.invoiceNumber)}\r\n \r\n \r\n \r\n Total\r\n \r\n {rowData => (rowData.total.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n })) }\r\n \r\n \r\n \r\n Amount Paid\r\n \r\n {rowData => (rowData.amountPaid.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n }))}\r\n \r\n \r\n \r\n Paid Date\r\n \r\n {rowData => (rowData.paidDate ? new Date(rowData.paidDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Amount Due\r\n \r\n {rowData => (rowData.amountDue.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n }))}\r\n \r\n
\r\n : \r\n }\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\n\r\nexport default InvoiceHistory;","import axios from \"axios\";\r\nimport authHeader from \"../authheader\";\r\n\r\nconst INVOICEURL = process.env.REACT_APP_APIURL + \"/api/Invoice\";\r\n\r\nconst getInvoiceHistory = () => {\r\n return axios.get(`${INVOICEURL}/invoicehistory`, { headers: authHeader() });\r\n}\r\nconst getEntityInfo = (entityId) => {\r\n return axios.get(`${INVOICEURL}/getentityinfoforinvoice`, { headers: authHeader(), params: { entityId} });\r\n}\r\nconst getEntityLicenseInfo = (entityId, invoiceId) => {\r\n return axios.get(`${INVOICEURL}/getentitylicenseinfoforinvoice`, { headers: authHeader(), params: { entityId, invoiceId} });\r\n}\r\nconst getInvoice = async (id) => {\r\n return axios.get(`${INVOICEURL}`, { headers: authHeader(), params: { id } });\r\n}\r\nconst createInvoice = async (entityId) => {\r\n return axios.post(`${INVOICEURL}/createinvoice`, null, { headers: authHeader(), params: { entityId } });\r\n}\r\nconst addLineItem = async (data) => {\r\n return axios.post(`${INVOICEURL}/addlineitem`, data, { headers: authHeader() });\r\n}\r\nconst editLineItem = async (data) => {\r\n return axios.post(`${INVOICEURL}/editlineitem`, data, { headers: authHeader() });\r\n}\r\nconst deleteLineItem = async (lineItemId) => {\r\n return axios.post(`${INVOICEURL}/deletelineitem`, null, { headers: authHeader(), params: { lineItemId } });\r\n}\r\nconst deleteInvoice = async (invoiceId) => {\r\n return axios.post(`${INVOICEURL}/deleteinvoice`, null, { headers: authHeader(), params: { invoiceId } });\r\n}\r\nexport default {\r\n getInvoiceHistory,\r\n getInvoice,\r\n getEntityInfo,\r\n getEntityLicenseInfo,\r\n createInvoice,\r\n addLineItem,\r\n deleteLineItem,\r\n deleteInvoice,\r\n editLineItem\r\n}","import React, { useState } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useEffect } from 'react';\r\nimport InvoiceHistory from '../Card/InvoiceHistory';\r\nimport invoiceService from '../../../services/Shared/invoice.service';\r\n\r\nfunction InvoicePage({ isIndividual }) {\r\n const [gridData, setGridData] = useState([]);\r\n useEffect(() => {\r\n invoiceService.getInvoiceHistory().then((response) => {\r\n setGridData(response.data);\r\n })\r\n }, [])\r\n\r\n return (\r\n \r\n

Invoice History

\r\n \r\n\r\n
\r\n )\r\n}\r\nexport default InvoicePage;","import axios from \"axios\";\r\nimport authHeader from '../../authheader.js'\r\n\r\n\r\nconst RECENTQUEUEURL = process.env.REACT_APP_APIURL + \"/api/RecentQueue\";\r\n\r\nconst getRecentQueue = async () => {\r\n return axios.get(`${RECENTQUEUEURL}/getrecentqueue`, { headers: authHeader() });\r\n};\r\nconst getRecentQueueById = async (id) => {\r\n return axios.get(`${RECENTQUEUEURL}/getrecentqueuebyid`, { headers: authHeader(), params: { id } });\r\n};\r\nconst getAllRecentQueue = async () => {\r\n return axios.get(`${RECENTQUEUEURL}/getallrecentqueue`, { headers: authHeader() });\r\n};\r\nconst updateRecentQueue = (recentQueue) => {\r\n return axios.post(`${RECENTQUEUEURL}/updaterecentqueue`, recentQueue, { headers: authHeader() });\r\n}\r\n\r\nexport default {\r\n getRecentQueue,\r\n getRecentQueueById,\r\n getAllRecentQueue,\r\n updateRecentQueue\r\n\r\n}","import axios from \"axios\";\r\nimport authHeader from \"../authheader\";\r\n\r\nconst REDIRECTURL = process.env.REACT_APP_APIURL + \"/api/Redirection\";\r\n\r\nconst getSectionData = (sectionParentTypeId, sectionId) => {\r\n return axios.get(`${REDIRECTURL}/getsectiondata`, { headers: authHeader(), params: { sectionParentTypeId, sectionId } });\r\n}\r\nconst getSectionDataFromIssueId = (issueId) => {\r\n return axios.get(`${REDIRECTURL}/getsectiondatafromissueid`, { headers: authHeader(), params: { issueId } });\r\n}\r\nconst getTaskData = (parentTypeId, parentId) => {\r\n return axios.get(`${REDIRECTURL}/gettaskdata`, { headers: authHeader(), params: { parentTypeId, parentId } });\r\n}\r\n\r\nexport default {\r\n getSectionData,\r\n getSectionDataFromIssueId,\r\n getTaskData\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport recentQueueService from '../../../services/Internal/Recent/recentQueue.service';\r\nimport redirectToSectionService from '../../../services/Shared/redirectToSection.service';\r\nimport LoadingSpinner from '../GenericComponents/LoadingSpinner';\r\n\r\nfunction RedirectToSection(props) {\r\n const { push } = useHistory();\r\n const dispatch = useDispatch();\r\n const isInternal = props.linkPrefix == \"internal\";\r\n\r\n\r\n useEffect(() => {\r\n const urlSearchParams = new URLSearchParams(window.location.search);\r\n const params = Object.fromEntries(urlSearchParams.entries());\r\n\r\n /*\r\n * Example:\r\n * We get a sectionParentTypeId of 1 and sectionId of 13\r\n * We look into the Application.Section table for ID 13\r\n * that section is where we have to go so we will fill the session storage with all relevant information\r\n * then we push to the section\r\n */\r\n if (params.sectionParentTypeId && params.sectionId) {\r\n redirectToSectionService.getSectionData(params.sectionParentTypeId, params.sectionId).then((data) => {\r\n var vm = data.data;\r\n switch (vm.taskTypeId) {\r\n case 1://Application\r\n navigateAndSetCurrentApplication(vm);\r\n break;\r\n case 2://Renewal\r\n navigateAndSetCurrentRenewal(vm);\r\n break;\r\n case 3://Reinstatement\r\n navigateAndSetCurrentReinstatement(vm);\r\n break;\r\n default:\r\n }\r\n })\r\n }\r\n else if (params.issueId) {\r\n redirectToSectionService.getSectionDataFromIssueId(params.issueId).then((data) => {\r\n var vm = data.data;\r\n switch (vm.taskTypeId) {\r\n case 1://Application\r\n navigateAndSetCurrentApplication(vm);\r\n break;\r\n case 2://Renewal\r\n navigateAndSetCurrentRenewal(vm);\r\n break;\r\n case 3://Reinstatement\r\n navigateAndSetCurrentReinstatement(vm);\r\n break;\r\n default:\r\n }\r\n\r\n })\r\n }\r\n else if (params.parentTypeId && params.parentId) {\r\n redirectToSectionService.getTaskData(params.parentTypeId, params.parentId).then((data) => {\r\n var vm = data.data;\r\n switch (vm.taskTypeId) {\r\n case 1://Application\r\n navigateAndSetCurrentApplication(vm);\r\n break;\r\n case 2://Renewal\r\n navigateAndSetCurrentRenewal(vm);\r\n break;\r\n case 3://Reinstatement\r\n navigateAndSetCurrentReinstatement(vm);\r\n break;\r\n default:\r\n }\r\n })\r\n }\r\n else {\r\n //Show an error message with redirect back to home button?\r\n }\r\n }, [])\r\n\r\n const navigateAndSetCurrentApplication = (data) => {\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: data.parentId });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ENTITY_ID\", payload: data.entityId });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_TYPE_ID\", payload: data.parentCredTypeId });\r\n var baseLink = `/${props.linkPrefix}/`;\r\n switch (data.parentCredTypeId) {\r\n case 1:\r\n baseLink += \"eiapp/\";\r\n break;\r\n case 2:\r\n baseLink += \"lsiapp/\";\r\n break;\r\n case 3:\r\n case 4:\r\n baseLink += \"peapp/\";\r\n break;\r\n case 5:\r\n case 6:\r\n baseLink += \"plsApp/\";\r\n break;\r\n case 7:\r\n baseLink += \"efapp/\";\r\n break;\r\n case 8:\r\n baseLink += \"vfApp/\";\r\n break;\r\n }\r\n var routes = [];\r\n if (data?.sectionIds?.length) {\r\n for (var i = 0; i < data.sectionIds.length; i++) {\r\n let sectionId = data.sectionIds[i]\r\n var link = baseLink;\r\n link += getAppSection(sectionId);\r\n\r\n routes.push({ sectionId: sectionId, route: link })\r\n }\r\n dispatch({ type: \"PERSIST_CURRENT_ROUTE\", payload: routes })\r\n }\r\n if (isInternal) {\r\n recentQueueService.updateRecentQueue({\r\n entityId: data.entityId,\r\n parentId: data.parentId,\r\n parentTypeId: 2, //application, i hate this\r\n appTypeId: data.parentCredTypeId,\r\n routes: JSON.stringify(routes)\r\n }).then((data) => {\r\n var token = parseInt(localStorage.getItem('updateRecentQueue')) ? parseInt(localStorage.getItem('updateRecentQueue')) : 0;\r\n localStorage.setItem('updateRecentQueue', token + 1)\r\n dispatch({ type: \"PERSIST_CURRENT_RECENT_QUEUE\", payload: parseInt(localStorage.getItem('updateRecentQueue')) });\r\n })\r\n }\r\n push(baseLink + getAppSection(data.currentSectionId));\r\n }\r\n const getAppSection = (sectionId) => {\r\n var section = \"\";\r\n switch (sectionId) {\r\n case 0:\r\n section = \"sections\"\r\n break;\r\n case 1:\r\n section = \"contactInformation\"\r\n break;\r\n case 2:\r\n if (isInternal)\r\n section = \"education\"\r\n else\r\n section = \"educationrecord\"\r\n break;\r\n case 3:\r\n section = \"personalReferences\"\r\n break;\r\n case 4:\r\n section = \"violations\"\r\n break;\r\n case 5:\r\n section = \"employment\"\r\n break;\r\n case 6:\r\n section = \"quizzes\"\r\n break;\r\n case 7:\r\n section = \"experience\"\r\n break;\r\n case 8:\r\n section = \"acknowledgement\"\r\n break;\r\n case 9:\r\n section = \"review\"\r\n break;\r\n case 10:\r\n section = \"boardApproval\"\r\n break;\r\n case 11:\r\n if (isInternal)\r\n section = \"examinationVerification\"\r\n else\r\n section = \"examination\"\r\n break;\r\n case 12:\r\n section = \"recommendation\";\r\n break;\r\n case 13:\r\n section = \"waiver\";\r\n break;\r\n case 14:\r\n section = \"supervisingProfessional\";\r\n break;\r\n case 15:\r\n section = \"unlicensedActivity\";\r\n break;\r\n case 16:\r\n section = \"coopexperience\";\r\n break;\r\n case 17:\r\n section = \"residency\";\r\n break;\r\n default:\r\n break;\r\n }\r\n return section;\r\n }\r\n\r\n const navigateAndSetCurrentRenewal = (data) => {\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: data.parentId });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ENTITY_ID\", payload: data.entityId });\r\n var baseLink = `/${props.linkPrefix}/`;\r\n switch (data.parentCredTypeId) {\r\n case 1:\r\n baseLink += \"efrenewal/\";\r\n break;\r\n case 2:\r\n baseLink += \"vfRenewal/\";\r\n break;\r\n case 3:\r\n baseLink += \"eirenewal/\";\r\n break;\r\n case 4:\r\n baseLink += \"lsirenewal/\";\r\n break;\r\n case 5:\r\n baseLink += \"plsRenewal/\";\r\n break;\r\n case 6:\r\n baseLink += \"perenewal/\";\r\n break;\r\n }\r\n var routes = [];\r\n if (data?.sectionIds?.length) {\r\n for (var i = 0; i < data.sectionIds.length; i++) {\r\n let sectionId = data.sectionIds[i]\r\n var link = baseLink;\r\n link += getRenewalSection(sectionId);\r\n routes.push({ sectionId: sectionId, route: link })\r\n }\r\n dispatch({ type: \"PERSIST_CURRENT_ROUTE\", payload: routes })\r\n }\r\n if (isInternal) {\r\n recentQueueService.updateRecentQueue({\r\n entityId: data.entityId,\r\n parentId: data.parentId,\r\n parentTypeId: 3, //renewal, i hate this\r\n appTypeId: data.parentCredTypeId,\r\n routes: JSON.stringify(routes)\r\n }).then((data) => {\r\n var token = parseInt(localStorage.getItem('updateRecentQueue')) ? parseInt(localStorage.getItem('updateRecentQueue')) : 0;\r\n localStorage.setItem('updateRecentQueue', token + 1)\r\n dispatch({ type: \"PERSIST_CURRENT_RECENT_QUEUE\", payload: parseInt(localStorage.getItem('updateRecentQueue')) });\r\n })\r\n }\r\n push(baseLink + getRenewalSection(data.currentSectionId));\r\n }\r\n const getRenewalSection = (sectionId) => {\r\n var section = \"\";\r\n switch (sectionId) {\r\n case 0:\r\n section = \"sections\"\r\n break;\r\n case 1:\r\n section = \"contactInformation\"\r\n break;\r\n case 2:\r\n section = \"licenseStatus\"\r\n break;\r\n case 3:\r\n section = \"cpdRequirements\"\r\n break;\r\n case 4:\r\n section = \"violations\"\r\n break;\r\n case 5:\r\n section = \"supervisingprofessional\"\r\n break;\r\n case 6:\r\n section = \"privacy\"\r\n break;\r\n case 7:\r\n section = \"acknowledgement\"\r\n break;\r\n case 8:\r\n section = \"review\"\r\n break;\r\n case 9:\r\n section = \"waiver\"\r\n break;\r\n case 10:\r\n section = \"design\"\r\n break;\r\n default:\r\n }\r\n return section;\r\n }\r\n\r\n const navigateAndSetCurrentReinstatement = (data) => {\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: data.parentId });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ENTITY_ID\", payload: data.entityId });\r\n var baseLink = `/${props.linkPrefix}/`;\r\n switch (data.parentCredTypeId) {\r\n case 1:\r\n baseLink += \"efreinstatement/\";\r\n break;\r\n case 2:\r\n baseLink += \"vfReinstatement/\";\r\n break;\r\n case 3:\r\n baseLink += \"eiReinstatement/\";\r\n break;\r\n case 4:\r\n baseLink += \"lsiReinstatement/\";\r\n break;\r\n case 5:\r\n baseLink += \"plsReinstatement/\";\r\n break;\r\n case 6:\r\n baseLink += \"pereinstatement/\";\r\n break;\r\n }\r\n var routes = [];\r\n if (data?.sectionIds?.length) {\r\n for (var i = 0; i < data.sectionIds.length; i++) {\r\n let sectionId = data.sectionIds[i]\r\n var link = baseLink;\r\n link += getReinstatementSection(sectionId);\r\n routes.push({ sectionId: sectionId, route: link })\r\n }\r\n dispatch({ type: \"PERSIST_CURRENT_ROUTE\", payload: routes })\r\n }\r\n if (isInternal) {\r\n recentQueueService.updateRecentQueue({\r\n entityId: data.entityId,\r\n parentId: data.parentId,\r\n parentTypeId: 1, //reinstatement, i hate this\r\n appTypeId: data.parentCredTypeId,\r\n routes: JSON.stringify(routes)\r\n }).then((data) => {\r\n var token = parseInt(localStorage.getItem('updateRecentQueue')) ? parseInt(localStorage.getItem('updateRecentQueue')) : 0;\r\n localStorage.setItem('updateRecentQueue', token + 1)\r\n dispatch({ type: \"PERSIST_CURRENT_RECENT_QUEUE\", payload: parseInt(localStorage.getItem('updateRecentQueue')) });\r\n })\r\n }\r\n push(baseLink + getReinstatementSection(data.currentSectionId));\r\n }\r\n const getReinstatementSection = (sectionId) => {\r\n var section = \"\";\r\n switch (sectionId) {\r\n case 0:\r\n section = \"sections\"\r\n break;\r\n case 1:\r\n section = \"contactInformation\"\r\n break;\r\n case 2:\r\n section = \"employment\"\r\n break;\r\n case 3:\r\n section = \"violations\"\r\n break;\r\n case 4:\r\n section = \"quizzes\"\r\n break;\r\n case 5:\r\n section = \"cpdRequirements\"\r\n break;\r\n case 6:\r\n section = \"personalReferences\"\r\n break;\r\n case 7:\r\n section = \"experience\"\r\n break;\r\n case 8:\r\n section = \"disclosure\"\r\n break;\r\n case 9:\r\n section = \"acknowledgement\"\r\n break;\r\n case 10:\r\n section = \"review\"\r\n break;\r\n case 11:\r\n section = \"boardApproval\"\r\n break;\r\n case 12:\r\n section = \"waiver\"\r\n break;\r\n case 13:\r\n section = \"supervisingProfessional\"\r\n break;\r\n case 14:\r\n section = \"unlicensedActivity\"\r\n break;\r\n case 15:\r\n section = \"design\"\r\n break;\r\n case 16:\r\n section = \"education\"\r\n break;\r\n case 17:\r\n section = \"examination\"\r\n break;\r\n default:\r\n break;\r\n }\r\n return section;\r\n }\r\n\r\n return (
\r\n

Please Wait

\r\n \r\n
);\r\n}\r\nexport default RedirectToSection;\r\n\r\n","import React, { useState } from 'react'\r\nimport { useEffect } from 'react';\r\nimport { Col, Row } from 'react-bootstrap'\r\nimport { ControlLabel, FormControl, FormGroup, InputPicker } from 'rsuite'\r\nimport { getCountries, getStates } from '../../../services/Shared/codeTable.service'\r\nimport RedStar from './RedStar';\r\n\r\nfunction Address(props) {\r\n const [countryValue, setCountryValue] = useState();\r\n const [countries, setCountries] = useState([])\r\n const [states, setStates] = useState([])\r\n const [loadedDropDowns, setLoadedDropDowns] = useState(false);\r\n useEffect(() => {\r\n if (!loadedDropDowns) {\r\n getCountries().then(setCountries);\r\n getStates().then(setStates);\r\n setLoadedDropDowns(true);\r\n }\r\n setCountryValue(props.boundValues?.country?.country);\r\n }, [props])\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n Country {!props.hideRequired && }\r\n \r\n \r\n \r\n \r\n { setCountryValue(value) }}\r\n readOnly={props.readOnly}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Address {!props.hideRequired && }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n City {!props.hideRequired && }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n countryValue === \"United States\" &&\r\n \r\n \r\n \r\n \r\n State {!props.hideRequired && }\r\n \r\n \r\n \r\n { if (label.toLowerCase().startsWith(userInput.toLowerCase()) || !userInput) return true; }}\r\n readOnly={props.readOnly}/>\r\n \r\n \r\n \r\n }\r\n {\r\n countryValue !== \"United States\" &&\r\n \r\n \r\n \r\n \r\n State/Province/Region {!props.hideRequired && }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n Zip/Postal Code {!props.hideRequired && }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\nexport default Address;","import React from 'react'\r\nimport { Button, Card, Col, Row } from 'react-bootstrap'\r\nimport { Link } from 'react-router-dom';\r\nimport Address from '../../GenericComponents/Address';\r\nfunction MailingAddress({ isReadOnly, boundValues, isUserEditable, contactInfoLink}) {\r\n return (\r\n \r\n \r\n \r\n \r\n
Verify Mailing Address
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n\r\n \r\n
\r\n\r\n );\r\n}\r\nexport default MailingAddress;","import React from 'react'\r\nimport NumberFormat from 'react-number-format';\r\n\r\nconst PhoneNumberMask = ({ onChange, ...rest }) => {\r\n return (\r\n {\r\n const { formattedValue, value } = values;\r\n onChange(value)\r\n }}\r\n />\r\n );\r\n};\r\nexport default PhoneNumberMask;","import React, { useState } from 'react'\r\nimport { Button, Card, Col, Row } from 'react-bootstrap';\r\nimport { ControlLabel, FormControl, FormGroup, Input, InputPicker, SelectPicker } from 'rsuite';\r\nimport { titleData, suffixData } from '../../../../fakeapi'\r\nimport NumberFormat from 'react-number-format';\r\nimport RedStar from '../../GenericComponents/RedStar';\r\nimport YesNoRadioOption from '../../RadioButton/YesNoRadioOption';\r\nimport { getCountries, getStates } from '../../../../services/Shared/codeTable.service'\r\nimport { Link } from 'react-router-dom';\r\nimport { useEffect } from 'react';\r\nimport PhoneNumberMask from '../../GenericComponents/PhoneNumberMask';\r\n\r\nconst InputMask = ({ onChange, ...rest }) => {\r\n return (\r\n {\r\n onChange(event.target.value);\r\n }}\r\n />\r\n );\r\n};\r\n\r\nfunction PersonalInformation({ isUserEditable, isForApp, isReadOnly, isNonUsBirthState, isPeByComity, showVisaGreenCardError, isExternal }) {\r\n const [countries, setCountries] = useState([])\r\n const [states, setStates] = useState([])\r\n\r\n useEffect(() => {\r\n getCountries().then(setCountries);\r\n getStates().then(setStates);\r\n }, [])\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n
Personal Information
\r\n \r\n {(isReadOnly && isUserEditable) &&\r\n \r\n \r\n \r\n NOTE: By clicking the Update Contact Information button, the Update Contact Information section will open in a new tab. After you save your changes in this new tab, close this tab and refresh your page to continue your application, renewal, or reinstatement.\r\n \r\n \r\n \r\n \r\n }\r\n
\r\n\r\n\r\n
\r\n \r\n {isExternal ? <>\r\n {isForApp ?\r\n \r\n \r\n \r\n \r\n \r\n If approved, full name displayed on certificate?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n :\r\n \r\n \r\n \r\n \r\n \r\n Name\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n Maiden Name (if different from last name)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Date of Birth \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n : <>\r\n \r\n \r\n \r\n \r\n \r\n Title \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n First Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Middle Name (birth name)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Last Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Maiden Name (if different from last name)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Suffix\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {isForApp &&\r\n \r\n \r\n \r\n \r\n \r\n If approved, full name displayed on certificate?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n Date of Birth \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n City of Birth \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {isNonUsBirthState ?\r\n \r\n \r\n \r\n \r\n State/Province/Region\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n :\r\n \r\n \r\n \r\n \r\n State of Birth\r\n \r\n \r\n \r\n \r\n { if (label.toLowerCase().startsWith(userInput.toLowerCase()) || !userInput) return true; }}\r\n tabIndex=\"-1\"\r\n plaintext />\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n Country of Birth \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n SSN \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Email Address \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n MyNCEES#\r\n \r\n \r\n \r\n \r\n {\r\n isReadOnly\r\n ?\r\n \r\n :\r\n \r\n }\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Alternate Email Address\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n Mobile Phone \r\n \r\n \r\n \r\n \r\n {\r\n isReadOnly\r\n ?\r\n \r\n :\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Work Phone\r\n \r\n \r\n \r\n \r\n {\r\n isReadOnly\r\n ?\r\n \r\n :\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Home Phone\r\n \r\n \r\n \r\n \r\n {\r\n isReadOnly\r\n ?\r\n \r\n :\r\n \r\n }\r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n Are you a U.S. Citizen? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Visa/Green Card No.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n If No, what country?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {isPeByComity &&\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n Active military stationed in Louisiana\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n I am stationed at (select one)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Spouse of active military stationed in Louisiana\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n They are stationed at (select one)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n Additional Information\r\n
\r\n Max 1000 characters including spaces\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\nexport default PersonalInformation;","import React from 'react'\r\nimport { Button, Card, Col, Row } from 'react-bootstrap'\r\nimport { Link } from 'react-router-dom';\r\nimport Address from '../../GenericComponents/Address';\r\nfunction PublicAddress({ isReadOnly, boundValues, isUserEditable, copyFromMailing, contactInfoLink}) {\r\n return (\r\n \r\n \r\n\r\n\r\n \r\n\r\n \r\n \r\n
Verify Public Address
\r\n \r\n {(isReadOnly && isUserEditable) &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n {(copyFromMailing) &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n \r\n

* THIS ADDRESS WILL BE POSTED ON THE WEBSITE

\r\n \r\n\r\n
\r\n
\r\n\r\n );\r\n}\r\nexport default PublicAddress;","import React, { useEffect, useState } from 'react'\r\nimport { Button, Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { Form, Schema } from 'rsuite';\r\nimport { GetGeneralContactInformationInstructions } from '../../../Shared/InformationContent/GeneralInformation'\r\nimport Information from '../../../Shared/Card/Information';\r\nimport Swal from 'sweetalert2';\r\nimport ContactService from '../../../../services/contact.service';\r\nimport MailingAddress from '../../../Shared/Card/Contact/MailingAddress';\r\nimport PersonalInformation from '../../../Shared/Card/Contact/PersonalInformation';\r\nimport PublicAddress from '../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\nimport dayjs from 'dayjs';\r\n\r\nfunction ContactInformationPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n useEffect(() => {\r\n ContactService.getContactInformation().then((response) => {\r\n var data = response.data;\r\n setFormModel({\r\n ...data,\r\n dateOfBirth: data.dateOfBirth != null ? dayjs(data.dateOfBirth).format('YYYY-MM-DD') : null,\r\n altEmail: data.alternateEmailAddress?.emailAddress,\r\n primaryEmail: data.primaryEmailAddress?.emailAddress,\r\n cellPhoneNum: data.cellPhone?.phoneNumber,\r\n workPhoneNum: data.workPhone?.phoneNumber,\r\n homePhoneNum: data.homePhone?.phoneNumber,\r\n myNceesNumber: data.myNceesNumber != null ? data.myNceesNumber.replace(/[^\\d]*/g, \"\") : null,\r\n })\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n const [formModel, setFormModel] = useState({})\r\n const [showVisaGreenCardError, setShowVisaGreenCardError] = useState(false);\r\n\r\n const { StringType, BooleanType, ObjectType, NumberType } = Schema.Types;\r\n\r\n const model = Schema.Model({\r\n title: StringType().isRequired('This field is required.'),\r\n firstName: StringType().isRequired('This field is required.'),\r\n lastName: StringType().isRequired('This field is required.'),\r\n myNceesNumber: NumberType().pattern(/^[0-9]{7}/, \"Please enter a valid My Ncees Number\"),\r\n cellPhoneNum: StringType().isRequired('This field is required.').pattern(/^([(]\\d{3}[)][ ]\\d{3}[-]\\d{4})|[0-9]{10}/, \"Please enter a valid Phone Number\"),\r\n dateOfBirth: StringType().isRequired('This field is required.'),\r\n birthCity: StringType().isRequired('This field is required.'),\r\n birthCountry: ObjectType().isRequired('This field is required.'),\r\n isUsCitizen: BooleanType().isRequired('This field is required.'),\r\n primaryEmail: StringType().isRequired('This field is required').isEmail('Please enter a valid email')\r\n });\r\n const addressModel = Schema.Model({\r\n streetAddress: StringType().isRequired('This field is required.'),\r\n country: ObjectType().isRequired('This field is required.'),\r\n city: StringType().isRequired('This field is required.'),\r\n postalCode: StringType().isRequired('This field is required.'),\r\n state: ObjectType().isRequired('This field is required.'),\r\n provinceRegion: StringType().isRequired('This field is required.'),\r\n })\r\n\r\n const [tabPane, setTabPane] = useState(\"personalInformation\")\r\n\r\n const copyFromMailing = () => {\r\n setFormModel({\r\n ...formModel,\r\n publicAddress: formModel.mailingAddress == null ? {\r\n ...formModel.publicAddress,\r\n country: null,\r\n streetAddress: '',\r\n city: '',\r\n postalCode: '',\r\n state: null,\r\n provinceRegion: '',\r\n } : {\r\n ...formModel.publicAddress,\r\n country: formModel.mailingAddress?.country,\r\n streetAddress: formModel.mailingAddress?.streetAddress,\r\n city: formModel.mailingAddress?.city,\r\n postalCode: formModel.mailingAddress?.postalCode,\r\n state: formModel.mailingAddress?.state,\r\n provinceRegion: formModel.mailingAddress?.provinceRegion,\r\n }\r\n })\r\n }\r\n\r\n const formSubmit = (validation, event) => {\r\n setShowVisaGreenCardError(false);\r\n var hasErrors = false;\r\n setFormModel({ ...formModel, mailingAddress: { ...formModel.mailingAddress, showErrors: true }, publicAddress: { ...formModel.publicAddress, showErrors: true } });\r\n var validationObject = model.check(formModel);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n document.getElementsByName(key)[0].scrollIntoView({ behavior: 'smooth', block: 'center' })\r\n hasErrors = true;\r\n setTabPane(\"personalInformation\")\r\n return;\r\n }\r\n }\r\n if (!formModel.isUsCitizen && (!formModel.visaGreenCardNumber || !formModel.visaGreenCardNumber.trim()))\r\n {\r\n setShowVisaGreenCardError(true);\r\n hasErrors = true;\r\n return;\r\n }\r\n if (!formModel.mailingAddress) {\r\n hasErrors = true;\r\n setTabPane(\"mailingAddress\")\r\n }\r\n else {\r\n var mailingAddressValidationObject = addressModel.check(formModel.mailingAddress);\r\n for (const key in mailingAddressValidationObject) {\r\n if (mailingAddressValidationObject[key].hasError) {\r\n if (!(key.includes(\"provinceRegion\") && formModel.mailingAddress.country?.country === \"United States\") &&\r\n !(key.includes(\"state\") && formModel.mailingAddress.country?.country !== \"United States\")) {\r\n setTabPane(\"mailingAddress\")\r\n document.getElementsByName(key)[0].scrollIntoView({ behavior: 'smooth', block: 'center' })\r\n hasErrors = true;\r\n return;\r\n }\r\n }\r\n }\r\n if (!formModel.publicAddress) {\r\n hasErrors = true;\r\n setTabPane(\"publicAddress\")\r\n }\r\n else {\r\n var publicAddressValidationObject = addressModel.check(formModel.publicAddress);\r\n for (const key in publicAddressValidationObject) {\r\n if (publicAddressValidationObject[key].hasError) {\r\n if (!(key.includes(\"provinceRegion\") && formModel.publicAddress.country?.country === \"United States\") &&\r\n !(key.includes(\"state\") && formModel.publicAddress.country?.country !== \"United States\")) {\r\n setTabPane(\"publicAddress\")\r\n document.getElementsByName(key)[0].scrollIntoView({ behavior: 'smooth', block: 'center' })\r\n hasErrors = true;\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (!hasErrors) {\r\n submitData();\r\n }\r\n //if i have gotten here then no real errors\r\n //navigate to errors\r\n\r\n }\r\n\r\n const submitData = () => {\r\n var dataToTransmit = {\r\n ...formModel,\r\n alternateEmailAddress: { ...formModel.alternateEmailAddress, emailAddress: formModel.altEmail },\r\n primaryEmailAddress: { ...formModel.primaryEmailAddress, emailAddress: formModel.primaryEmail },\r\n cellPhone: { ...formModel.cellPhone, phoneNumber: formModel.cellPhoneNum == '' ? null : formModel.cellPhoneNum },\r\n homePhone: { ...formModel.homePhone, phoneNumber: formModel.homePhoneNum == '' ? null : formModel.homePhoneNum },\r\n workPhone: { ...formModel.workPhone, phoneNumber: formModel.workPhoneNum == '' ? null : formModel.workPhoneNum },\r\n };\r\n ContactService.postContactInformation(dataToTransmit).then((response) => {\r\n if (response.data?.entityId)\r\n Swal.fire(\"Success!\", \"You have successfully saved your contact information.\", \"success\");\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n Contact Information\r\n

Contact

\r\n \r\n
\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
{\r\n setFormModel(formModel);\r\n if (!formModel.isUsCitizen && (!formModel.visaGreenCardNumber || !formModel.visaGreenCardNumber.trim())) {\r\n setShowVisaGreenCardError(true);\r\n }\r\n else { setShowVisaGreenCardError(false) };\r\n }} onSubmit={formSubmit} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n { copyFromMailing() }} boundValues={formModel.publicAddress} />\r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import axios from \"axios\";\r\nimport authHeader from '../../authheader'\r\n\r\nconst INDIVIDUALAPP = process.env.REACT_APP_APIURL + \"/api/IndividualApplication\";\r\nconst FIRMAPP = process.env.REACT_APP_APIURL + \"/api/FirmApplication\";\r\n\r\nconst getPendingApplications = async () => {\r\n return axios.get(`${INDIVIDUALAPP}/pendingApplications`, { headers: authHeader() });;\r\n};\r\nconst getIndividualApplication = async (applicationId) => {\r\n return axios.get(`${INDIVIDUALAPP}/application`, { headers: authHeader(), params: { applicationId } });;\r\n};\r\nconst getHistoricalApplications = async () => {\r\n return axios.get(`${INDIVIDUALAPP}/historicalapplications`, { headers: authHeader() });;\r\n};\r\nconst createApplication = (applicationTypeId) => {\r\n return axios.post(`${INDIVIDUALAPP}/create`, null, { headers: authHeader(), params: { applicationTypeId } })\r\n .then((response) => {\r\n return response;\r\n });\r\n}\r\nconst deleteDraft = (applicationId) => {\r\n return axios.post(`${INDIVIDUALAPP}/deletedraft`, null, { headers: authHeader(), params: { applicationId } })\r\n .then((response) => {\r\n return response;\r\n });\r\n}\r\nconst validateApplication = (applicationId) => {\r\n return axios.post(`${INDIVIDUALAPP}/validate`, null, { headers: authHeader(), params: { applicationId } })\r\n .then((response) => {\r\n return response;\r\n }).catch((res) => {\r\n });\r\n}\r\nconst submitApplication = (applicationId) => {\r\n return axios.post(`${INDIVIDUALAPP}/submit`, null, { headers: authHeader(), params: { applicationId } })\r\n .then((response) => {\r\n return response;\r\n }).catch((res) => {\r\n });\r\n}\r\n\r\nconst getFirmPendingApplications = async () => {\r\n return axios.get(`${FIRMAPP}/pendingapplications`, { headers: authHeader() });;\r\n};\r\nconst getFirmApplication = async (applicationId) => {\r\n return axios.get(`${FIRMAPP}/application`, { headers: authHeader(), params: { applicationId } });;\r\n};\r\nconst getFirmHistoricalApplications = async () => {\r\n return axios.get(`${FIRMAPP}/historicalapplications`, { headers: authHeader() });;\r\n};\r\n\r\nconst createFirmApplication = (applicationTypeId) => {\r\n return axios.post(`${FIRMAPP}/create`, null, { headers: authHeader(), params: { applicationTypeId } })\r\n .then((response) => {\r\n return response;\r\n });\r\n}\r\nconst deleteFirmDraft = (applicationId) => {\r\n return axios.post(`${FIRMAPP}/deletedraft`, null, { headers: authHeader(), params: { applicationId } })\r\n .then((response) => {\r\n return response;\r\n });\r\n}\r\nconst validateFirmApplication = (applicationId) => {\r\n return axios.post(`${FIRMAPP}/validate`, null, { headers: authHeader(), params: { applicationId } })\r\n .then((response) => {\r\n return response;\r\n }).catch((res) => {\r\n });\r\n}\r\nconst submitFirmApplication = (applicationId) => {\r\n return axios.post(`${FIRMAPP}/submit`, null, { headers: authHeader(), params: { applicationId } })\r\n .then((response) => {\r\n return response;\r\n }).catch((res) => {\r\n });\r\n}\r\n\r\nexport default {\r\n getPendingApplications,\r\n getIndividualApplication,\r\n getHistoricalApplications,\r\n createApplication,\r\n deleteDraft,\r\n validateApplication,\r\n submitApplication,\r\n getFirmPendingApplications,\r\n getFirmHistoricalApplications,\r\n createFirmApplication,\r\n deleteFirmDraft,\r\n validateFirmApplication,\r\n submitFirmApplication,\r\n getFirmApplication\r\n}","export const codeApplicationType = [\r\n {\r\n id: 1,\r\n applicationType: \"Engineer Intern\",\r\n abbreviation: \"EI\"\r\n },\r\n {\r\n id: 2,\r\n applicationType: \"Land Surveyor Intern\",\r\n abbreviation: \"LSI\"\r\n },\r\n {\r\n id: 3,\r\n applicationType: \"Professional Engineer By Comity\",\r\n abbreviation: \"PE\"\r\n },\r\n {\r\n id: 4,\r\n applicationType: \"Professional Engineer By Exam\",\r\n abbreviation: \"PE\"\r\n },\r\n {\r\n id: 5,\r\n applicationType: \"Professional Land Surveyor By Comity\",\r\n abbreviation: \"PLS\"\r\n },\r\n {\r\n id: 6,\r\n applicationType: \"Professional Land Surveyor By Exam\",\r\n abbreviation: \"PLS\"\r\n },\r\n {\r\n id: 7,\r\n applicationType: \"Engineering Firm\",\r\n abbreviation: \"EF\"\r\n },\r\n {\r\n id: 8,\r\n applicationType: \"Surveying Firm\",\r\n abbreviation: \"VF\"\r\n },\r\n];","import React, { useState } from 'react';\r\nimport { Container, Row, Col, Card, DropdownButton, Dropdown, ButtonGroup, Button } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useEffect } from 'react';\r\nimport IndividualService from '../../../../services/Public/Application/application.service'\r\nimport { Table } from 'rsuite';\r\nimport { codeApplicationType } from '../../../../fakeCodeTable';\r\nimport { useDispatch } from 'react-redux';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Swal from 'sweetalert2';\r\nimport Information from '../../../Shared/Card/Information';\r\nimport { GetAppInstruction } from '../../../Shared/InformationContent/GeneralInformation';\r\n\r\nfunction Applications() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [showDropDown, setShowDropDown] = useState(true);\r\n const [applications, setApplications] = useState([]);\r\n\r\n const [hasLoadedHistorical, setHasLoadedHistorical] = useState(false);\r\n const [historicalRecords, setHistoricalRecords] = useState([]);\r\n\r\n const [currentAppTypeIds, setCurrentAppTypeIds] = useState([]);\r\n const [hasLsiCred, setHasLsiCred] = useState(false);\r\n const [currentCredentialTypes, setCurrentCredentialTypes] = useState([]);\r\n const { push } = useHistory();\r\n const dispatch = useDispatch();\r\n const createApplication = (id) => {\r\n IndividualService.createApplication(id).then((response) => {\r\n if (response.status == 200) {\r\n IndividualService.getIndividualApplication(response.data).then((response) => {\r\n navigateAndSetCurrentApp(response.data)\r\n })\r\n }\r\n else {\r\n //give an alert of the fail\r\n }\r\n })\r\n\r\n }\r\n let applicationDropDown =\r\n \r\n {\r\n codeApplicationType.map((item, i) => {\r\n if (!currentAppTypeIds.includes(item.abbreviation) &&\r\n !currentCredentialTypes.includes(item.abbreviation) &&\r\n (item.id != \"6\" || (item.id == \"6\" && hasLsiCred)) &&\r\n (item.id != \"7\" && item.id != \"8\"))\r\n return ( createApplication(item.id)}> {item.applicationType} ({item.abbreviation}))\r\n })\r\n }\r\n ;\r\n\r\n useEffect(() => {\r\n refreshApplicationGrid();\r\n IndividualService.getHistoricalApplications().then((response) => {\r\n if (response.data?.apps.length) {\r\n\r\n var sortedApps = response.data.apps.sort((a, b) => {\r\n return new Date(b.dateSubmitted) - new Date(a.dateSubmitted)\r\n });\r\n setHistoricalRecords({ creds: response.data.creds, apps: sortedApps });\r\n }\r\n setHasLoadedHistorical(true)\r\n });\r\n }, [])\r\n const refreshApplicationGrid = () => {\r\n setHasLoaded(false);\r\n IndividualService.getPendingApplications().then((response) => {\r\n setApplications(response.data?.apps)\r\n var test = response.data?.creds?.forEach(val => {\r\n if (val.credentialType.id == 4 && (val.status.status == 'Active' || val.status.status == 'Expired')) {\r\n setHasLsiCred(true);\r\n }\r\n })\r\n setCurrentAppTypeIds(response.data?.apps.map(x => x.applicationType?.abbreviation)); // Will need to get user certifications later to be part of this to filter out\r\n setCurrentCredentialTypes(response.data?.creds?.map(x => x.credentialType?.prefix)); // Will need to get user certifications later to be part of this to filter out\r\n if (response.data?.apps?.length + response.data?.creds?.length == 4) //ind currently has 4 app types, if this increases we need to increase this number\r\n setShowDropDown(false);\r\n else\r\n setShowDropDown(true);\r\n setHasLoaded(true);\r\n })\r\n }\r\n\r\n const deleteDraft = (rowData) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n IndividualService.deleteDraft(rowData.id).then((response) => {\r\n refreshApplicationGrid();\r\n })\r\n }\r\n })\r\n }\r\n const navigateAndSetCurrentApp = (rowData) => {\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: rowData.id });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_TYPE_ID\", payload: rowData.applicationType.id });\r\n if (rowData?.sections?.length) {\r\n var route = [];\r\n var baseLink = \"/individual\";\r\n switch (rowData?.applicationType?.id) {\r\n case 1:\r\n baseLink += \"/eiapp/\";\r\n break;\r\n case 2:\r\n baseLink += \"/lsiapp/\";\r\n break;\r\n case 3:\r\n case 4:\r\n baseLink += \"/peapp/\";\r\n break;\r\n case 5:\r\n case 6:\r\n baseLink += \"/plsapp/\";\r\n break;\r\n }\r\n for (var i = 0; i < rowData.sections.length; i++) {\r\n var link = baseLink;\r\n let sectionId = rowData.sections[i].sectionType.id\r\n switch (sectionId) {\r\n case 1:\r\n link += \"contactInformation\"\r\n break;\r\n case 2:\r\n link += \"educationRecord\"\r\n break;\r\n case 3:\r\n link += \"personalReferences\"\r\n break;\r\n case 4:\r\n link += \"violations\"\r\n break;\r\n case 5:\r\n link += \"employment\"\r\n break;\r\n case 6:\r\n link += \"quizzes\"\r\n break;\r\n case 7:\r\n link += \"experience\"\r\n break;\r\n case 8:\r\n link += \"acknowledgement\"\r\n break;\r\n case 9:\r\n link += \"review\"\r\n break;\r\n case 11:\r\n link += \"examination\"\r\n break;\r\n case 12:\r\n link += \"recommendation\"\r\n break;\r\n case 16:\r\n link += \"coopexperience\"\r\n break;\r\n case 17:\r\n link += \"residency\"\r\n break;\r\n default:\r\n break;\r\n }\r\n route.push({ sectionId: rowData.sections[i].sectionType.id, route: link })\r\n }\r\n\r\n }\r\n\r\n dispatch({ type: \"PERSIST_CURRENT_ROUTE\", payload: route })\r\n var sectionsLink = baseLink + \"sections\";\r\n push(sectionsLink);\r\n }\r\n\r\n return (\r\n
\r\n\r\n \r\n

Applications

\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {hasLoaded && showDropDown &&\r\n \r\n
\r\n {applicationDropDown}\r\n
\r\n }\r\n
\r\n
\r\n \r\n {hasLoaded ?\r\n \r\n \r\n \r\n \r\n \r\n {rowData => (\r\n <>\r\n \r\n {rowData.status?.status === \"Draft\" &&\r\n \r\n }\r\n \r\n )}\r\n \r\n \r\n\r\n \r\n \r\n Application Type\r\n \r\n \r\n {rowData => (rowData.applicationType?.type)}\r\n \r\n \r\n \r\n \r\n Date Created\r\n \r\n \r\n {rowData => (rowData.dateCrte ? new Date(rowData.dateCrte).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Date Submitted\r\n \r\n \r\n {rowData => (rowData.dateSubmitted ? new Date(rowData.dateSubmitted).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Review Status\r\n \r\n \r\n {rowData => (rowData.status?.status)}\r\n \r\n \r\n\r\n
: \r\n }\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
Historical Applications
\r\n \r\n {hasLoadedHistorical ?\r\n \r\n \r\n \r\n Application Type\r\n \r\n \r\n {rowData => (rowData.applicationType?.type)}\r\n \r\n \r\n \r\n \r\n License Status\r\n \r\n \r\n {rowData => {\r\n var cred = historicalRecords.creds.filter(x => x.applicationId == rowData.id);\r\n if (cred[0].credential)\r\n return (cred[0].credential.status?.status)\r\n }}\r\n \r\n \r\n \r\n \r\n Expiration Date\r\n \r\n \r\n {rowData => {\r\n var cred = historicalRecords.creds.filter(x => x.applicationId == rowData.id);\r\n if (cred[0].credential)\r\n return (cred[0].credential.expirationDate ? new Date(cred[0].credential.expirationDate).toLocaleDateString() : '')\r\n }}\r\n \r\n \r\n \r\n \r\n Date Created\r\n \r\n \r\n {rowData => (rowData.dateCrte ? new Date(rowData.dateCrte).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Date Submitted\r\n \r\n \r\n {rowData => (rowData.dateSubmitted ? new Date(rowData.dateSubmitted).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Date Approved/Declined\r\n \r\n \r\n {rowData => {\r\n var cred = historicalRecords.creds.filter(x => x.applicationId == rowData.id);\r\n if (cred.length)\r\n return (cred[0].dateActioned ? new Date(cred[0].dateActioned).toLocaleDateString() : '')\r\n }}\r\n \r\n \r\n \r\n \r\n Review Status\r\n \r\n \r\n {rowData => (rowData.status?.status)}\r\n \r\n \r\n\r\n
: \r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default Applications;","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, Card, Button } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useDispatch } from 'react-redux';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Table } from 'rsuite';\r\nimport renewalService from '../../../../services/Public/Renewal/renewal.service';\r\nimport Swal from 'sweetalert2';\r\nimport Information from '../../../Shared/Card/Information';\r\nimport { GetRenewalInstruction } from '../../../Shared/InformationContent/GeneralInformation';\r\n\r\nfunction Renewals() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [credentialList, setCredentialList] = useState([]);\r\n\r\n const [hasLoadedHistorical, setHasLoadedHistorical] = useState(false);\r\n const [historicalRecords, setHistoricalRecords] = useState([]);\r\n\r\n const { push } = useHistory();\r\n const dispatch = useDispatch();\r\n\r\n const navigateAndSetCurrentApp = (rowData) => {\r\n var credentialTypeId = rowData.credential?.credentialType?.id;\r\n if (credentialTypeId === 5 ||\r\n credentialTypeId === 4 ||\r\n credentialTypeId === 3 ||\r\n credentialTypeId === 6) {\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: rowData.renewalId });\r\n if (rowData?.sections?.length) {\r\n setUpRoutes(rowData.sections, credentialTypeId);\r\n }\r\n if (credentialTypeId === 5)\r\n push(\"/individual/plsRenewal/sections\");\r\n else if (credentialTypeId === 3)\r\n push(\"/individual/eirenewal/sections\");\r\n else if (credentialTypeId === 4)\r\n push(\"/individual/lsiRenewal/sections\");\r\n else if (credentialTypeId === 6)\r\n push(\"/individual/peRenewal/sections\");\r\n }\r\n else {\r\n Swal.fire(\"Not Implemented!\");\r\n }\r\n }\r\n const setUpRoutes = (sections, credentialTypeId) => {\r\n var route = [];\r\n for (var i = 0; i < sections.length; i++) {\r\n let sectionId = sections[i].sectionType.id\r\n var link = \"\";\r\n if (credentialTypeId === 5)\r\n link = \"/individual/plsRenewal/\";\r\n else if (credentialTypeId === 4)\r\n link = \"/individual/lsiRenewal/\";\r\n else if (credentialTypeId === 3)\r\n link = \"/individual/eirenewal/\";\r\n else if (credentialTypeId === 6)\r\n link = \"/individual/peRenewal/\";\r\n switch (sectionId) {\r\n case 1:\r\n link += \"contactInformation\"\r\n break;\r\n case 2:\r\n link += \"licenseStatus\"\r\n break;\r\n case 3:\r\n link += \"cpdRequirements\"\r\n break;\r\n case 4:\r\n link += \"violations\"\r\n break;\r\n case 6:\r\n link += \"privacy\"\r\n break;\r\n case 7:\r\n link += \"acknowledgement\"\r\n break;\r\n case 8:\r\n link += \"review\"\r\n break;\r\n case 10:\r\n link += \"design\"\r\n break;\r\n default:\r\n }\r\n route.push({ sectionId: sections[i].sectionType.id, route: link })\r\n }\r\n dispatch({ type: \"PERSIST_CURRENT_ROUTE\", payload: route })\r\n }\r\n\r\n const createAndSetCurrentApp = (rowData) => {\r\n var credentialTypeId = rowData.credential?.credentialType?.id;\r\n if (credentialTypeId === 5 ||\r\n credentialTypeId === 4 ||\r\n credentialTypeId === 3 ||\r\n credentialTypeId === 6) {\r\n renewalService.createRenewal(rowData.credential.credentialType.id, rowData.credential.id).then((response) => {\r\n renewalService.getIndividualRenewal(response.data).then((data) => {\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: response.data });\r\n setUpRoutes(data.data.sections, credentialTypeId);\r\n if (credentialTypeId === 4)\r\n push(\"/individual/lsiRenewal/sections\");\r\n else if (credentialTypeId === 3)\r\n push(\"/individual/eirenewal/sections\");\r\n else if (credentialTypeId === 5)\r\n push(\"/individual/plsRenewal/sections\");\r\n else if (credentialTypeId === 6)\r\n push(\"/individual/peRenewal/sections\");\r\n })\r\n })\r\n }\r\n else {\r\n Swal.fire(\"Not Implemented!\");\r\n }\r\n }\r\n useEffect(() => {\r\n renewalService.getPendingRenewals().then((response) => {\r\n if (response.data.length) {\r\n setCredentialList(response.data);\r\n }\r\n setHasLoaded(true);\r\n });\r\n renewalService.getHistoricalRenewals().then((response) => {\r\n if (response.data.length)\r\n setHistoricalRecords(response.data.sort((a, b) => { return new Date(b.dateSubmitted) - new Date(a.dateSubmitted) }));\r\n setHasLoadedHistorical(true);\r\n })\r\n }, [])\r\n return (\r\n
\r\n \r\n

Renewals

\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
Renew a license
\r\n \r\n {hasLoaded ?\r\n \r\n \r\n \r\n \r\n \r\n {rowData => (\r\n )}\r\n \r\n \r\n \r\n \r\n License\r\n \r\n \r\n {rowData => (rowData.credential?.formattedLicenseNumber)}\r\n \r\n \r\n \r\n \r\n Expiration Date\r\n \r\n \r\n {rowData => (rowData.credential?.expirationDate ? new Date(rowData.credential?.expirationDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Date Created\r\n \r\n \r\n {rowData => (rowData.dateCrte ? new Date(rowData.dateCrte).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Date Submitted\r\n \r\n \r\n {rowData => (rowData.dateSubmitted ? new Date(rowData.dateSubmitted).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n License Status\r\n \r\n \r\n {rowData => (rowData.credential?.status?.status)}\r\n \r\n \r\n \r\n \r\n Review Status\r\n \r\n \r\n {rowData => (rowData.status?.status)}\r\n \r\n \r\n\r\n
: \r\n }\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
Historical Renewals
\r\n \r\n {hasLoadedHistorical ?\r\n \r\n {/**/}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* {rowData => (*/}\r\n {/* */}\r\n {/* )}*/}\r\n {/* */}\r\n {/**/}\r\n \r\n \r\n License\r\n \r\n \r\n {rowData => (rowData.credential?.formattedLicenseNumber)}\r\n \r\n \r\n \r\n \r\n License Status\r\n \r\n \r\n {rowData => (rowData.credential?.status?.status)}\r\n \r\n \r\n \r\n \r\n Expiration Date\r\n \r\n \r\n {rowData => (rowData.credential?.expirationDate ? new Date(rowData.credential?.expirationDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Date Created\r\n \r\n \r\n {rowData => (rowData.dateCrte ? new Date(rowData.dateCrte).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Date Submitted\r\n \r\n \r\n {rowData => (rowData.dateSubmitted ? new Date(rowData.dateSubmitted).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Date Approved/Declined\r\n \r\n \r\n {rowData => (rowData.dateActioned ? new Date(rowData.dateActioned).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Review Status\r\n \r\n \r\n {rowData => (rowData.status?.status)}\r\n \r\n \r\n\r\n
: \r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default Renewals;","import axios from \"axios\";\r\nimport authHeader from '../../authheader'\r\n\r\nconst INDIVIDUALREINSTATEMENT = process.env.REACT_APP_APIURL + \"/api/IndividualReinstatement\";\r\nconst FIRMREINSTATEMENT = process.env.REACT_APP_APIURL + \"/api/FirmReinstatement\";\r\n\r\nconst getPendingReinstatements = async () => {\r\n return axios.get(`${INDIVIDUALREINSTATEMENT}/pendingreinstatements`, { headers: authHeader() });;\r\n};\r\nconst getHistoricalReinstatements = async () => {\r\n return axios.get(`${INDIVIDUALREINSTATEMENT}/historicalreinstatements`, { headers: authHeader() });;\r\n};\r\nconst getIndividualReinstatement = async (reinstatementId) => {\r\n return axios.get(`${INDIVIDUALREINSTATEMENT}/reinstatement`, { headers: authHeader(), params: { reinstatementId } });;\r\n};\r\n\r\nconst createReinstatement = (credentialTypeId, credentialId) => {\r\n return axios.post(`${INDIVIDUALREINSTATEMENT}/create`, null, { headers: authHeader(), params: { credentialTypeId, credentialId } })\r\n .then((response) => {\r\n return response;\r\n });\r\n}\r\n\r\nconst validateReinstatement = (reinstatementId) => {\r\n return axios.post(`${INDIVIDUALREINSTATEMENT}/validate`, null, { headers: authHeader(), params: { reinstatementId } })\r\n .then((response) => {\r\n return response;\r\n }).catch((res) => {\r\n });\r\n}\r\nconst submitReinstatement = (reinstatementId) => {\r\n return axios.post(`${INDIVIDUALREINSTATEMENT}/submit`, null, { headers: authHeader(), params: { reinstatementId } })\r\n .then((response) => {\r\n return response;\r\n }).catch((res) => {\r\n });\r\n}\r\n\r\nconst getFirmPendingReinstatements = async () => {\r\n return axios.get(`${FIRMREINSTATEMENT}/pendingreinstatements`, { headers: authHeader() });;\r\n};\r\nconst getFirmHistoricalReinstatements = async () => {\r\n return axios.get(`${FIRMREINSTATEMENT}/historicalreinstatements`, { headers: authHeader() });;\r\n};\r\nconst getFirmReinstatement = async (reinstatementId) => {\r\n return axios.get(`${FIRMREINSTATEMENT}/reinstatement`, { headers: authHeader(), params: { reinstatementId } });;\r\n};\r\n\r\nconst createFirmReinstatement = (credentialTypeId, credentialId) => {\r\n return axios.post(`${FIRMREINSTATEMENT}/create`, null, { headers: authHeader(), params: { credentialTypeId, credentialId } })\r\n .then((response) => {\r\n return response;\r\n });\r\n}\r\n\r\nconst validateFirmReinstatement = (reinstatementId) => {\r\n return axios.post(`${FIRMREINSTATEMENT}/validate`, null, { headers: authHeader(), params: { reinstatementId } })\r\n .then((response) => {\r\n return response;\r\n }).catch((res) => {\r\n });\r\n}\r\nconst submitFirmReinstatement = (reinstatementId) => {\r\n return axios.post(`${FIRMREINSTATEMENT}/submit`, null, { headers: authHeader(), params: { reinstatementId } })\r\n .then((response) => {\r\n return response;\r\n }).catch((res) => {\r\n });\r\n}\r\n\r\nexport default {\r\n getPendingReinstatements,\r\n getHistoricalReinstatements,\r\n getIndividualReinstatement,\r\n createReinstatement,\r\n validateReinstatement,\r\n submitReinstatement,\r\n getFirmPendingReinstatements,\r\n getFirmHistoricalReinstatements,\r\n getFirmReinstatement,\r\n createFirmReinstatement,\r\n validateFirmReinstatement,\r\n submitFirmReinstatement\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, Card, Button } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useDispatch } from 'react-redux';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Table } from 'rsuite';\r\nimport reinstatementService from '../../../../services/Public/Reinstatement/reinstatement.service';\r\nimport Swal from 'sweetalert2';\r\nimport Information from '../../../Shared/Card/Information';\r\nimport { GetReinstateInstruction } from '../../../Shared/InformationContent/GeneralInformation';\r\n\r\nfunction Reinstatements() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [credentialList, setCredentialList] = useState([]);\r\n\r\n const [hasLoadedHistorical, setHasLoadedHistorical] = useState(false);\r\n const [historicalRecords, setHistoricalRecords] = useState([]);\r\n\r\n const { push } = useHistory();\r\n const dispatch = useDispatch();\r\n\r\n const navigateAndSetCurrentApp = (rowData) => {\r\n var credentialTypeId = rowData.credential?.credentialType?.id;\r\n if (credentialTypeId === 5 || credentialTypeId === 6 || credentialTypeId == 3 || credentialTypeId == 4) {\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: rowData.reinstatementId });\r\n if (rowData?.sections?.length) {\r\n setUpRoutes(rowData.sections);\r\n }\r\n if (credentialTypeId === 5)\r\n push(\"/individual/plsReinstatement/sections\");\r\n else if (credentialTypeId === 6)\r\n push(\"/individual/peReinstatement/sections\");\r\n else if (credentialTypeId === 3)\r\n push(\"/individual/eiReinstatement/sections\");\r\n else if (credentialTypeId === 4)\r\n push(\"/individual/lsiReinstatement/sections\");\r\n }\r\n else {\r\n Swal.fire(\"Not implemented\");\r\n }\r\n }\r\n\r\n const setUpRoutes = (sections, credentialTypeId) => {\r\n var route = [];\r\n for (var i = 0; i < sections.length; i++) {\r\n let sectionId = sections[i].sectionType.id\r\n var link = \"\";\r\n if (credentialTypeId === 5)\r\n link = \"/individual/plsReinstatement/\";\r\n else if (credentialTypeId === 6)\r\n link = \"/individual/peReinstatement/\";\r\n else if (credentialTypeId === 3)\r\n link = \"/individual/eiReinstatement/\";\r\n else if (credentialTypeId === 4)\r\n link = \"/individual/lsiReinstatement/\";\r\n switch (sectionId) {\r\n case 1:\r\n link += \"contactInformation\"\r\n break;\r\n case 2:\r\n link += \"employment\"\r\n break;\r\n case 3:\r\n link += \"violations\"\r\n break;\r\n case 4:\r\n link += \"quizzes\"\r\n break;\r\n case 5:\r\n link += \"cpdRequirements\"\r\n break;\r\n case 6:\r\n link += \"personalReferences\"\r\n break;\r\n case 7:\r\n link += \"experience\"\r\n break;\r\n case 8:\r\n link += \"disclosure\"\r\n break;\r\n case 9:\r\n link += \"acknowledgement\"\r\n break;\r\n case 10:\r\n link += \"review\"\r\n break;\r\n case 15:\r\n link += \"design\"\r\n break;\r\n case 16:\r\n link += \"education\"\r\n break;\r\n case 17:\r\n link += \"examination\"\r\n break;\r\n default:\r\n }\r\n route.push({ sectionId: sections[i].sectionType.id, route: link })\r\n }\r\n dispatch({ type: \"PERSIST_CURRENT_ROUTE\", payload: route })\r\n }\r\n\r\n const createAndSetCurrentApp = (rowData) => {\r\n var credentialTypeId = rowData.credential?.credentialType?.id;\r\n if (credentialTypeId === 5 || credentialTypeId === 6 || credentialTypeId === 3 || credentialTypeId === 4) {\r\n reinstatementService.createReinstatement(rowData.credential.credentialType.id, rowData.credential.id).then((response) => {\r\n reinstatementService.getIndividualReinstatement(response.data).then((data) => {\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: response.data });\r\n setUpRoutes(data.data.sections, credentialTypeId);\r\n if (credentialTypeId === 5)\r\n push(\"/individual/plsReinstatement/sections\");\r\n else if (credentialTypeId === 6)\r\n push(\"/individual/peReinstatement/sections\");\r\n else if (credentialTypeId === 3)\r\n push(\"/individual/eiReinstatement/sections\");\r\n else if (credentialTypeId === 4)\r\n push(\"/individual/lsiReinstatement/sections\");\r\n })\r\n })\r\n }\r\n else {\r\n Swal.fire(\"Not implemented\");\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n reinstatementService.getPendingReinstatements().then((response) => {\r\n if (response.data.length)\r\n setCredentialList(response.data);\r\n setHasLoaded(true);\r\n })\r\n reinstatementService.getHistoricalReinstatements().then((response) => {\r\n if (response.data.length)\r\n setHistoricalRecords(response.data.sort((a, b) => { return new Date(b.dateSubmitted) - new Date(a.dateSubmitted) }));\r\n setHasLoadedHistorical(true);\r\n })\r\n }, [])\r\n\r\n return (\r\n
\r\n \r\n

Reinstatements

\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
Reinstate a license
\r\n \r\n {hasLoaded ?\r\n \r\n \r\n \r\n \r\n \r\n {rowData => ()}\r\n \r\n \r\n \r\n \r\n License\r\n \r\n \r\n {rowData => (rowData.credential?.formattedLicenseNumber)}\r\n \r\n \r\n \r\n \r\n Expiration Date\r\n \r\n \r\n {rowData => (rowData.credential?.expirationDate ? new Date(rowData.credential?.expirationDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Date Created\r\n \r\n \r\n {rowData => (rowData.dateCrte ? new Date(rowData.dateCrte).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Date Submitted\r\n \r\n \r\n {rowData => (rowData.dateSubmitted ? new Date(rowData.dateSubmitted).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n License Status\r\n \r\n \r\n {rowData => (rowData.credential?.status?.status)}\r\n \r\n \r\n \r\n \r\n Review Status\r\n \r\n \r\n {rowData => (rowData.status?.status)}\r\n \r\n \r\n\r\n
: \r\n }\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
Historical Reinstatements
\r\n \r\n {hasLoadedHistorical ?\r\n \r\n \r\n \r\n License\r\n \r\n \r\n {rowData => (rowData.credential?.formattedLicenseNumber)}\r\n \r\n \r\n \r\n \r\n License Status\r\n \r\n \r\n {rowData => (rowData.credential?.status?.status)}\r\n \r\n \r\n \r\n \r\n Expiration Date\r\n \r\n \r\n {rowData => (rowData.credential?.expirationDate ? new Date(rowData.credential?.expirationDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Date Created\r\n \r\n \r\n {rowData => (rowData.dateCrte ? new Date(rowData.dateCrte).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Date Submitted\r\n \r\n \r\n {rowData => (rowData.dateSubmitted ? new Date(rowData.dateSubmitted).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Date Approved/Declined\r\n \r\n \r\n {rowData => (rowData.dateActioned ? new Date(rowData.dateActioned).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Review Status\r\n \r\n \r\n {rowData => (rowData.status?.status)}\r\n \r\n \r\n\r\n
: \r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default Reinstatements;","import axios from \"axios\";\r\nimport authHeader from '../authheader'\r\n\r\nconst CPDURL = process.env.REACT_APP_APIURL + \"/api/ProfessionalDevelopment\";\r\n\r\nconst getCpd = (entityId) => {\r\n return axios.get(`${CPDURL}`, { headers: authHeader(), params: { entityId } });\r\n}\r\n\r\nconst postCreateCpd = (data) => {\r\n var header = authHeader();\r\n header['Content-Type'] = 'multipart/form-data';\r\n return axios.post(`${CPDURL}/cpd`, data, { headers: { ...header }});\r\n}\r\n\r\nconst postUpdateCpd = (data) => {\r\n var header = authHeader();\r\n header['Content-Type'] = 'multipart/form-data';\r\n return axios.post(`${CPDURL}/cpdupdate`, data, { headers: { ...header } });\r\n}\r\n\r\nexport default {\r\n getCpd,\r\n postCreateCpd,\r\n postUpdateCpd\r\n}","import axios from \"axios\";\r\nimport authHeader from '../authheader'\r\n\r\nconst ATTACHMENTURL = process.env.REACT_APP_APIURL + \"/api/Attachment\";\r\nconst GETFILEURL = process.env.REACT_APP_APIURL + \"/api/Attachment/file\"\r\nconst ATTACHMENTTYPES = \"audio/*,video/*,image/*,application/pdf,application/vnd.ms-excel,application/vnd.ms-powerpoint,.doc,.docx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document\"\r\n\r\nconst getFiles = (parentId, parentTypeId, allowLegacy = false) => {\r\n return axios.get(`${ATTACHMENTURL}/files`, { headers: authHeader(), params: { parentId, parentTypeId, allowLegacy } });\r\n}\r\nconst getFilesForEntity = (entityId) => {\r\n return axios.get(`${ATTACHMENTURL}/filesforentity`, { headers: authHeader(), params: { entityId } });\r\n}\r\nconst getFilesForExternalSp = () => {\r\n return axios.get(`${ATTACHMENTURL}/filesforexternalsp`, { headers: authHeader() });\r\n}\r\nconst postFile = (data, parentTypeId, parentId, documentTypeId, entityId = 0) => {\r\n var header = authHeader();\r\n header['Content-Type'] = 'multipart/form-data';\r\n var formData = new FormData();\r\n if (data.length) {\r\n for (var i = 0; i < data.length; i++) {\r\n formData.append(`files`, data[i].blobFile, data[i].name);\r\n }\r\n }\r\n else\r\n formData.append(`files`, data.blobFile, data.name);\r\n return axios.post(ATTACHMENTURL, formData, { headers: { ...header }, params: { parentTypeId, parentId, documentTypeId, entityId } });\r\n}\r\nconst deleteFile = (attachmentId) => {\r\n return axios.post(`${ATTACHMENTURL}/deletefile`, null, { headers: authHeader(), params: { id: attachmentId } });\r\n}\r\nconst openFile = (attachmentId) => {\r\n axios.get(`${ATTACHMENTURL}/file`, { headers: authHeader(), params: { id: attachmentId }, responseType: 'arraybuffer' }).then((response) => {\r\n var name = new String(response.headers['content-disposition']);\r\n const downloadUrl = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = downloadUrl;\r\n var fileName = name.slice(name.indexOf('filename=') + 9, name.lastIndexOf(';')).replace(/^[\"'](.+(?=[\"']$))[\"']$/, '$1');\r\n link.setAttribute('download', fileName);\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n });\r\n}\r\n\r\n//This Method will be used to call the buiness to retrieve all the doc types that are allowed for a section\r\n//Not every param will always have a value due to some attachments not having a section as a parent type\r\nconst getDocTypes = (parentTypeId, credentialTypeId, sectionId, isByComity, isByExam, attachmentSection) => {\r\n return axios.get(`${ATTACHMENTURL}/getdoctypes`, { headers: authHeader(), params: { parentTypeId, credentialTypeId, sectionId, isByComity, isByExam, attachmentSection } }).then((response) => {\r\n return response.data.map(data => { return { \"label\": `${data.docTypeDisplayName}`, \"value\": data.docTypeId } })\r\n });\r\n\r\n}\r\nconst getAllDocTypes = (isIndividual) => {\r\n return axios.get(`${ATTACHMENTURL}/getalldoctypes`, { headers: authHeader(), params: { isIndividual } }).then((response) => {\r\n return response.data.map(data => { return { \"label\": `${data.docTypeDisplayName}`, \"value\": data.docTypeId } })\r\n });\r\n\r\n}\r\nconst getFileData = (attachmentId) => {\r\n return axios.get(`${ATTACHMENTURL}/file`, { headers: authHeader(), params: { id: attachmentId }, responseType: 'arraybuffer' });\r\n}\r\n\r\n\r\n\r\nexport default {\r\n getFiles,\r\n postFile,\r\n deleteFile,\r\n openFile,\r\n GETFILEURL,\r\n ATTACHMENTTYPES,\r\n getFilesForExternalSp,\r\n getDocTypes,\r\n getAllDocTypes,\r\n getFilesForEntity,\r\n getFileData\r\n}","import React from \"react\"\r\nimport { Button } from \"react-bootstrap\";\r\nimport Table from 'react-bootstrap/Table'\r\nimport * as FaIcons from 'react-icons/fa';\r\nimport attachmentService from \"../../../services/Shared/attachment.service\";\r\n\r\n// Will need function for deleting later on the trash icon\r\nfunction GenericAttachmentGrid({ data, theadStyle, tStyle, deleteFileCallback, isSync }) {\r\n var hasType = false;\r\n var hideActions = data.find(item => item.hideDelete == false || item.hideDelete == undefined);\r\n let rows = data.map((item, i) => {\r\n if (item.attachmentType) {\r\n hasType = true;\r\n }\r\n return (\r\n \r\n {(isSync || isNaN(item.id)) ?\r\n {item.file} :\r\n }\r\n {item.timestamp}\r\n {item.attachmentType &&\r\n {item.attachmentType}\r\n }\r\n {!item.hideDelete && { deleteFileCallback(item.id) }} />}\r\n \r\n )\r\n })\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {hasType &&\r\n \r\n }\r\n {hideActions &&\r\n \r\n }\r\n \r\n \r\n \r\n {rows}\r\n \r\n
FileDate | TimestampTypeAction(s)
\r\n );\r\n}\r\n\r\nexport default GenericAttachmentGrid;","import bsCustomFileInput from 'bs-custom-file-input';\r\nimport React from 'react'\r\nimport { useState, useEffect } from 'react'\r\nimport { Button, Row, Col, Modal, } from 'react-bootstrap'\r\nimport { ControlLabel, Form, FormControl, FormGroup, InputNumber, Schema, SelectPicker, Uploader, Message } from 'rsuite'\r\nimport Swal from 'sweetalert2';\r\nimport attachmentService from '../../../../services/Shared/attachment.service';\r\nimport { getAreas } from '../../../../services/Shared/codeTable.service';\r\nimport cpdReqService from '../../../../services/Shared/cpdReq.service';\r\nimport RedStar from '../../../Shared/GenericComponents/RedStar';\r\nimport GenericAttachmentGrid from '../../../Shared/Grid/GenericAttachmentGrid';\r\nimport BlockUi from 'react-block-ui';\r\nimport 'react-block-ui/style.css';\r\n\r\nfunction AddEditCoursesModal(props) {\r\n bsCustomFileInput.init();\r\n const [blockUi, setBlockUi] = useState(false);\r\n const [isValid, setIsValid] = useState(true);\r\n const [courseModel, setCourseModel] = useState({\r\n id: 0,\r\n date: null,\r\n dateCrte: null,\r\n deleted: false,\r\n userCrte: \"\",\r\n title: \"\",\r\n instructor: \"\",\r\n area: null,\r\n hours: \"\",\r\n classType: null,\r\n description: \"\",\r\n files: [],\r\n filesForDisplay: []\r\n })\r\n const [areas, setAreas] = useState([])\r\n\r\n const handleChange = (val, e) => {\r\n if (!e) {\r\n var newFiles = courseModel.files;\r\n if (!newFiles.includes(val)) {\r\n newFiles.push(val);\r\n }\r\n setCourseModel({ ...courseModel, files: [...newFiles] })\r\n validateFileSizeLimit();\r\n }\r\n };\r\n\r\n const validateFileSizeLimit = (newFiles) => {\r\n var fileSizeLimit = 78643200;\r\n \r\n var currentFileSize = newFiles != null ?\r\n newFiles.map(file => file?.blobFile?.size ?? 0).reduce((prev, current) => prev + current, 0) :\r\n courseModel.files.map(file => file?.blobFile?.size ?? 0).reduce((prev, current) => prev + current, 0);\r\n if (currentFileSize > fileSizeLimit) {\r\n setIsValid(false);\r\n }\r\n else {\r\n setIsValid(true);\r\n }\r\n }\r\n\r\n const deleteFile = (id) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n var newFiles = courseModel.files.filter(x => x.fileKey != id);\r\n setCourseModel({ ...courseModel, files: [...newFiles] });\r\n validateFileSizeLimit(newFiles);\r\n }\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n setCourseModel(props.modaldata);\r\n getAreas().then(setAreas);\r\n }, [props.modaldata])\r\n\r\n const { StringType, ObjectType, NumberType, DateType, ArrayType } = Schema.Types;\r\n const model = Schema.Model({\r\n date: DateType().isRequired('This field is required.'),\r\n title: StringType().isRequired('This field is required.'),\r\n instructor: StringType().isRequired('This field is required.'),\r\n area: ObjectType().isRequired('This field is required.'),\r\n classType: ObjectType().isRequired('This field is required.'),\r\n hours: NumberType().isRequired('This field is required.'),\r\n classType: ObjectType().isRequired('This field is required.'),\r\n description: StringType().isRequired('This field is required.'),\r\n\r\n })\r\n\r\n\r\n const formSubmit = (validation, event) => {\r\n if (validation && !props.isModalAdd || (validation && (props.isModalAdd && courseModel.files.length > 0))) {\r\n var formData = new FormData();\r\n var courseRecord = {\r\n area: courseModel.area,\r\n classType: courseModel.classType,\r\n courseDate: (new Date(courseModel.date)).toISOString(),\r\n courseTitle: courseModel.title,\r\n description: courseModel.description,\r\n hours: courseModel.hours,\r\n entityId: props.entityId,\r\n id: courseModel.id,\r\n instructor: courseModel.instructor,\r\n dateCrte: courseModel.dateCrte,\r\n userCrte: courseModel.userCrte,\r\n deleted: courseModel.deleted\r\n }\r\n formDataAppender('courseRecord', courseRecord, formData);\r\n for (var i = 0; i < courseModel.files.length; i++) {\r\n formData.append('files', courseModel.files[i].blobFile);\r\n }\r\n\r\n setBlockUi(true);\r\n if (props.isModalAdd) {\r\n cpdReqService.postCreateCpd(formData).then((response) => {\r\n props.refreshGrid();\r\n props.onHide();\r\n setBlockUi(false);\r\n });\r\n }\r\n else // Edit\r\n {\r\n cpdReqService.postUpdateCpd(formData).then((response) => {\r\n props.refreshGrid();\r\n props.onHide();\r\n setBlockUi(false);\r\n });\r\n }\r\n }\r\n }\r\n\r\n const formDataAppender = (passedKey, model, formData) => {\r\n for (let key in model) {\r\n if (typeof (model[key]) === 'object') {\r\n formDataAppender(`${passedKey}.${key}`, model[key], formData); // Recursive key for objects\r\n }\r\n else {\r\n if (passedKey)\r\n formData.append(`${passedKey}.${key}`, model[key]);\r\n else\r\n formData.append(`${key}`, model[key]);\r\n }\r\n }\r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n CPD Course Locker\r\n \r\n \r\n \r\n
setCourseModel(courseModel)} onSubmit={formSubmit}>\r\n \r\n \r\n \r\n \r\n Date (MM/DD/YYYY) \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Course Title \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Instructor \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Area \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Hours \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Class Type \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Description/Learning Objectives \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Document/Certificates of Completion  \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {courseModel?.files?.length > 0 &&\r\n
\r\n
\r\n {\r\n return {\r\n id: value.fileKey,\r\n timestamp: new Date().toLocaleDateString(),\r\n file: value.blobFile.name\r\n }\r\n })}\r\n isSync={true}\r\n tStyle=\"table-bordered\"\r\n name=\"filesForDisplay\" />\r\n
\r\n }\r\n \r\n
\r\n
\r\n
\r\n {isValid ? \"\" : }\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nexport default AddEditCoursesModal;","import React, { useState } from 'react'\r\nimport { Table } from 'rsuite'\r\n\r\nfunction GenericPagination({ dataLength, displayLength, page, setDisplayLength, setPage, discludeAllLength }) {\r\n const [defaultDisplayLength, setDefaultDisplayLength] = useState(20);\r\n const [defaultPage, setDefaultPage] = useState(1);\r\n const handleChangePage = (dataKey) => {\r\n if (!page) {\r\n setDefaultPage(dataKey);\r\n }\r\n setPage(dataKey);\r\n }\r\n const handleChangeLength = (dataKey) => {\r\n if (!(page && displayLength)) {\r\n setDefaultPage(1);\r\n setDefaultDisplayLength(dataKey);\r\n }\r\n setPage(1);\r\n setDisplayLength(dataKey);\r\n }\r\n return (\r\n \r\n )\r\n}\r\nexport default GenericPagination;","import * as dayjs from 'dayjs';\r\nimport React from 'react'\r\nimport { useState } from 'react'\r\nimport { Button, Card, Row, Col, } from 'react-bootstrap'\r\nimport { Icon, Table } from 'rsuite'\r\nimport Swal from 'sweetalert2';\r\nimport attachmentService from '../../../../services/Shared/attachment.service';\r\nimport cpdReqService from '../../../../services/Shared/cpdReq.service';\r\nimport GenericPagination from '../../../Shared/Grid/GenericPagination';\r\n\r\nfunction Courses(props) {\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n const getData = () => {\r\n\r\n return props.coursesModel.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const filteredData = getData();\r\n const formDataAppender = (passedKey, model, formData) => {\r\n for (let key in model) {\r\n if (typeof (model[key]) === 'object') {\r\n formDataAppender(`${passedKey}.${key}`, model[key], formData); // Recursive key for objects\r\n }\r\n else {\r\n if (passedKey)\r\n formData.append(`${passedKey}.${key}`, model[key]);\r\n else\r\n formData.append(`${key}`, model[key]);\r\n }\r\n }\r\n }\r\n\r\n const removeFile = (item, rowData) => {\r\n Swal.fire({\r\n title: 'Are you sure you want to delete this file?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n attachmentService.deleteFile(item.id).then((response) => {\r\n if (response.status == 200) {\r\n var index = props.coursesModel.findIndex(x => x.id == rowData.id);\r\n var tempModel = props.coursesModel;\r\n tempModel[index].files = tempModel[index].files.filter(x => x.id !== item.id);\r\n props.setCoursesModel([...tempModel]);\r\n }\r\n });\r\n }\r\n })\r\n }\r\n\r\n const openFile = (item) => {\r\n attachmentService.openFile(item.id);\r\n }\r\n\r\n const deleteRecord = (courseModel) => {\r\n var formData = new FormData();\r\n var courseRecord = {\r\n area: courseModel.area,\r\n classType: courseModel.classType,\r\n courseDate: (new Date(courseModel.date)).toISOString(),\r\n courseTitle: courseModel.title,\r\n description: courseModel.description,\r\n hours: courseModel.hours,\r\n entityId: props.entityId,\r\n id: courseModel.id,\r\n instructor: courseModel.instructor,\r\n dateCrte: courseModel.dateCrte,\r\n userCrte: courseModel.userCrte,\r\n deleted: true\r\n }\r\n formDataAppender('courseRecord', courseRecord, formData);\r\n for (var i = 0; i < courseModel.files.length; i++) {\r\n formData.append('files', courseModel.files[i].blobFile);\r\n }\r\n\r\n cpdReqService.postUpdateCpd(formData).then((response) => {\r\n if (response.status == 200) {\r\n props.setCoursesModel([...props.coursesModel.filter(x => x.id !== courseModel.id)]);\r\n }\r\n });\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n
Individual Course Records
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Document\r\n \r\n {rowData => {\r\n return (<>\r\n {rowData.files.map((item, i) => {\r\n return (\r\n \r\n {!item.legacy && }\r\n \r\n \r\n )\r\n })}\r\n \r\n )\r\n }}\r\n \r\n \r\n \r\n Date\r\n \r\n {\r\n rowData => {\r\n return ({dayjs(rowData.date).format(\"MM/DD/YYYY\")})\r\n }\r\n }\r\n \r\n \r\n \r\n Course Title\r\n \r\n \r\n \r\n Area\r\n \r\n {\r\n rowData => {\r\n return ({rowData.area.area})\r\n }\r\n }\r\n \r\n \r\n \r\n Hours\r\n \r\n \r\n \r\n \r\n \r\n {rowData => {\r\n function handleAction() {\r\n var tempData = { ...rowData, modalType: 'Edit' }\r\n props.openModal(tempData);\r\n }\r\n function handleDelete() {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n deleteRecord(rowData);\r\n }\r\n })\r\n }\r\n var showValues = !rowData.files.find(val => val.legacy);\r\n return (\r\n showValues &&\r\n \r\n   \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default Courses\r\n\r\n","import React from 'react'\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport { useState } from 'react';\r\nimport GenericAttachmentGrid from '../Grid/GenericAttachmentGrid';\r\nimport attachmentService from '../../../services/Shared/attachment.service';\r\nimport { FormControl, InputPicker, Uploader } from 'rsuite';\r\nimport { useEffect } from 'react';\r\nimport Swal from 'sweetalert2';\r\nimport LoadingSpinner from '../GenericComponents/LoadingSpinner';\r\nimport { sort_by } from '../HelperFunctions';\r\n\r\nfunction DocumentUpload(props) {\r\n const [attachmentTypes, setAttachmentTypes] = useState([]);\r\n const [attachmentType, setAttachmentType] = useState();\r\n const [hasLoaded, setHasLoaded] = useState();\r\n const [isUploading, setIsUploading] = useState(false);\r\n const [attachmentTypeDropdown, setAttachmentTypeDropdown] = useState();\r\n const attachmentTypeChange = (e) => {\r\n setAttachmentType(e);\r\n setAttachmentTypeDropdown(e);\r\n }\r\n\r\n useEffect(() => {\r\n if (props.isIndividual !== undefined) {\r\n attachmentService.getAllDocTypes(props.isIndividual).then((data) => {\r\n setAttachmentTypes(data);\r\n });\r\n } else {\r\n attachmentService.getDocTypes(props.parentTypeId, props.credentialTypeId, props.sectionId, (props.appTypeId == 3 || props.appTypeId == 5), (props.appTypeId == 4 || props.appTypeId == 6), props.attachmentSection).then((data) => {\r\n setAttachmentTypes(data);\r\n if (data.length == 1) {\r\n setAttachmentType(data[0].value);\r\n }\r\n }\r\n );\r\n }\r\n }, [])\r\n\r\n useEffect(() => { refreshGrid(); }\r\n , [attachmentTypes])\r\n\r\n useEffect(() => { refreshGrid(); }\r\n , [props.refreshData])\r\n\r\n const [formData, updateFormData] = useState({\r\n files: [],\r\n filesForDisplay: [],\r\n loading: false,\r\n });\r\n\r\n const refreshGrid = () => {\r\n setHasLoaded(false)\r\n updateFormData({\r\n ...formData,\r\n loading: true,\r\n })\r\n if (props.isSpLocker) {\r\n attachmentService.getFilesForExternalSp().then((data) => {\r\n var tempData = [];\r\n var sortedData = data.data.sort(sort_by('uploadDate', true));\r\n for (var i = 0; i < sortedData.length; i++) {\r\n tempData.push({\r\n id: sortedData[i].id,\r\n timestamp: new Date(sortedData[i].uploadDate).toLocaleDateString(),\r\n file: sortedData[i].fileName,\r\n attachmentType: sortedData[i].documentType,\r\n fileLink: '',\r\n hideDelete: sortedData[i].isExternalUpload\r\n });\r\n }\r\n updateFormData({\r\n filesForDisplay: tempData,\r\n files: [],\r\n loading: false,\r\n })\r\n setHasLoaded(true)\r\n })\r\n }\r\n else {\r\n\r\n attachmentService.getFiles(props.parentId, props.parentTypeId, props.allowLegacy).then((data) => {\r\n if (props.setHasFiles) {\r\n if (data.data.length > 0) {\r\n props.setHasFiles(true);\r\n }\r\n else {\r\n props.setHasFiles(false);\r\n }\r\n }\r\n var attachmentTypeIds = attachmentTypes.map((attachmentType, index) => {\r\n return attachmentType.value;\r\n })\r\n var tempData = [];\r\n var sortedData = data?.data.sort(sort_by('uploadDate', true));\r\n tempData = sortedData?.filter(tempData => attachmentTypeIds.includes(tempData.documentTypeId)).map((tempData, index) => {\r\n return {\r\n id: tempData.id,\r\n timestamp: new Date(tempData.uploadDate).toLocaleDateString(),\r\n file: tempData.fileName,\r\n attachmentType: tempData.documentType,\r\n fileLink: '',\r\n hideDelete: tempData.legacy\r\n };\r\n })\r\n updateFormData({\r\n filesForDisplay: tempData,\r\n files: [],\r\n loading: false,\r\n })\r\n setHasLoaded(true)\r\n })\r\n }\r\n }\r\n\r\n const deleteFile = (id) => {\r\n if (props.isUserEditable) {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n attachmentService.deleteFile(id).then((response) => {\r\n refreshGrid();\r\n })\r\n }\r\n })\r\n }\r\n }\r\n\r\n const handleChange = (val, e) => {\r\n setIsUploading(true);\r\n if (!e) {\r\n updateFormData({\r\n ...formData,\r\n loading: true,\r\n })\r\n attachmentService.postFile(val, props.parentTypeId, props.parentId, attachmentType, props.entityId).then((response) => {\r\n setIsUploading(false);\r\n refreshGrid();\r\n if (attachmentTypes.length > 1) { // Only clear attachment type when there is a dropdown list of attachments on post\r\n setAttachmentType(\"\");\r\n setAttachmentTypeDropdown(\"\");\r\n }\r\n })\r\n }\r\n };\r\n\r\n return (\r\n
\r\n {\r\n isUploading &&\r\n
\r\n }\r\n \r\n {props.warningMessage ?\r\n \r\n {props.fileUploadTitle ? (<>{props.fileUploadTitle} {props.warningMessage}) : <>File Upload {props.warningMessage}}\r\n \r\n :\r\n \r\n {props.fileUploadTitle ? {props.fileUploadTitle}  : File Upload }\r\n \r\n }\r\n\r\n \r\n {attachmentTypes.length > 1 &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n {!isUploading ?\r\n \r\n \r\n
Click or Drag files to this area to upload
\r\n \r\n \r\n
\r\n :\r\n \r\n }\r\n \r\n \r\n {hasLoaded ?\r\n formData.filesForDisplay.length > 0 &&\r\n
\r\n
\r\n \r\n
\r\n :\r\n \r\n }\r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default DocumentUpload;","import React from 'react';\r\nimport { Card } from 'react-bootstrap';\r\nimport { Form } from 'rsuite';\r\nimport DocumentUpload from '../../../Shared/Upload/DocumentUpload';\r\n\r\nfunction BulkCourseUpload(props) {\r\n\r\n return (\r\n\r\n \r\n \r\n
Record Uploads (Logs and Certificates)
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default BulkCourseUpload;","import React, { useState } from 'react'\r\nimport { useEffect } from 'react';\r\nimport { Badge, Card, Container } from 'react-bootstrap'\r\nimport { useSelector } from 'react-redux';\r\nimport cpdReqService from '../../../../services/Shared/cpdReq.service';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\nimport AddEditCoursesModal from './AddEditCoursesModal';\r\nimport Courses from './Courses'\r\nimport dayjs from 'dayjs';\r\nimport BulkCourseUpload from './BulkCourseUpload';\r\n\r\nfunction CpdRequirementsPage() {\r\n const [modalShow, setModalShow] = useState(false);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [modalData, setModalData] = useState();\r\n const [isModalAdd, setIsModalAdd] = useState(true);\r\n const [coursesModel, setCoursesModel] = useState([]);\r\n const entityId = useSelector(x => x.userInfo.EntityId);\r\n useEffect(() => {\r\n refreshGrid();\r\n }, [])\r\n const refreshGrid = () => {\r\n setHasLoaded(false);\r\n cpdReqService.getCpd(entityId).then((response) => {\r\n setCoursesModel(response.data.map(courseRecord => {\r\n var temp = courseRecord.courseRecord;\r\n return {\r\n area: temp.area,\r\n classType: temp.classType,\r\n date: temp.courseDate != null ? dayjs(temp.courseDate).format('YYYY-MM-DD') : null,\r\n title: temp.courseTitle,\r\n description: temp.description,\r\n hours: temp.hours,\r\n id: temp.id,\r\n instructor: temp.instructor,\r\n files: [...courseRecord.attachments]\r\n }\r\n }));\r\n setHasLoaded(true);\r\n });\r\n }\r\n const openAddEditModal = (values) => {\r\n if (values.id) {\r\n var shapedData = { ...values, date: values.date != null ? dayjs(values.date).format('YYYY-MM-DD') : null }\r\n shapedData.files = []; // Cleared for fakesync\r\n setModalData(shapedData);\r\n setIsModalAdd(false);\r\n }\r\n else {\r\n setModalData({\r\n id: 0,\r\n date: null,\r\n dateCrte: null,\r\n deleted: false,\r\n userCrte: \"\",\r\n title: \"\",\r\n instructor: \"\",\r\n area: null,\r\n hours: \"\",\r\n classType: null,\r\n description: \"\",\r\n files: [],\r\n filesForDisplay: []\r\n });\r\n setIsModalAdd(true);\r\n }\r\n setModalShow(true);\r\n }\r\n return (\r\n
\r\n \r\n

\r\n CPD Locker\r\n

\r\n \r\n \r\n
\r\n Requirements/Information\r\n
\r\n
\r\n \r\n

\r\n Once you have obtained the requisite CPD hours earned in the previous two calendar years, download the LAPELS CPD Log found here

\r\n\r\n Upload your CPD log and all certificates of completion substantiating the hours earned to the CPD locker below.\r\n
\r\n
\r\n Use the \"Records Uploads (Logs and Certificates)\" window to upload your logs and certificates from the past two calendar years in one PDF file. Upload separate logs for each calendar year.\r\n The uploaded certificates must be in the same order as entered in each log and included in the same PDF.\r\n
\r\n
\r\n Use the \"Individual Course Records\" window to upload your future certificates individually.\r\n This is available to you year-round for your convenience to upload certificates after completing courses, functions, etc.\r\n\r\n


\r\n\r\n CPD Requirements for Engineers and Surveyors:\r\n
\r\n
\r\n A Professional Land Surveyor (PLS) must complete 8 CPD hours each calendar year (January - December). Of the 8 hours, one hour must be in the Standards of Practice, and one hour must be in Professional Ethics.\r\n In the event you have earned more than 8 CPD hours in a calendar year, you may carry over a maximum of 7 CPD hours to the next calendar year. You may not earn more than 8 CPD hours in a calendar day.\r\n
\r\n
\r\n A Professional Engineer (PE) must complete 15 CPD hours each calendar year (January - December). Of the 15 hours, one hour must be in Professional Ethics. If you design buildings or building systems, of the 15 hours, four hours must be in life safety/ADA compliance.\r\n In the event you have earned more than 15 CPD hours in a calendar year, you may carry over a maximum of 7 CPD hours to the next calendar year. You may not earn more than 8 CPD hours in a calendar day.\r\n
\r\n
\r\n A PE/PLS dual licensee must complete 15 CPD hours each calendar year (January - December). Of the 15 hours, five hours must be earned in each profession, one hour must be in Professional Ethics, and one hour must be in the Standards of Practice. If you design buildings or building systems, of the 15 hours, four hours must be in life safety/ADA compliance.\r\n In the event you have earned more than 15 CPD hours in a calendar year, you may carry over a maximum of 7 CPD hours to the next calendar year. You may not earn more than 8 CPD hours in a calendar day.\r\n
\r\n
\r\n

\r\n Partial CPD Hours must be in quarter hour increments (such as .25, .5, .75) to be considered acceptable credit.\r\n
\r\n
\r\n
\r\n \r\n
\r\n setModalShow(false)} entityId={entityId} isModalAdd={isModalAdd} refreshGrid={refreshGrid} />\r\n {hasLoaded ?\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default CpdRequirementsPage","import axios from \"axios\";\r\nimport authHeader from './authheader.js'\r\n\r\nconst SUPERVISINGPROFESSIONALURL = process.env.REACT_APP_APIURL + \"/api/SupervisingProfessional\";\r\nconst RELATIONSHIPURL = process.env.REACT_APP_APIURL + \"/api/Relationship\";\r\n\r\nconst getSupervisingProfessional = () => {\r\n return axios.get(`${SUPERVISINGPROFESSIONALURL}/getsupervisingprofessionalfirms`, { headers: authHeader() });\r\n}\r\nconst postSupervisingProfessional = (supervisingProfessionalId, isAccepted) => {\r\n return axios.post(`${SUPERVISINGPROFESSIONALURL}/updatesupervisingprofessional`, null, { headers: authHeader(), params: { supervisingProfessionalId, isAccepted } });\r\n}\r\nconst getFirmSupervisingProfessional = () => {\r\n return axios.get(`${SUPERVISINGPROFESSIONALURL}/getsupervisingprofessionals`, { headers: authHeader() });\r\n}\r\nconst getSupervisingProfessionalsByLicenseType = (entityId, prefix) => {\r\n return axios.get(`${SUPERVISINGPROFESSIONALURL}/getsupervisingprofessionalsbylicensetype`, { headers: authHeader(), params: { entityId, prefix } });\r\n}\r\nconst postFirmSupervisingProfessional = (formattedLicenseNumber, isOwner) => {\r\n return axios.post(`${SUPERVISINGPROFESSIONALURL}/createfirmsupervisingprofessional`, null, { headers: authHeader(), params: { formattedLicenseNumber, isOwner } });\r\n}\r\nconst deleteSupervisingProfessional = (relationshipId, supervisingProfessionalId) => {\r\n return axios.post(`${SUPERVISINGPROFESSIONALURL}/deletesupervisingprofessional`, null, { headers: authHeader(), params: { relationshipId, supervisingProfessionalId } });\r\n}\r\nconst inactivateSupervisingProfessional = (relationshipId, supervisingProfessionalId) => {\r\n return axios.post(`${SUPERVISINGPROFESSIONALURL}/inactivatesupervisingprofessional`, null, { headers: authHeader(), params: { relationshipId, supervisingProfessionalId } });\r\n}\r\n\r\nconst inactivateSupervisingProfessionalAsIndividual = (relationshipId, supervisingProfessionalId) => {\r\n return axios.post(`${SUPERVISINGPROFESSIONALURL}/selfinactivatesupervisingprofessional`, null, { headers: authHeader(), params: { relationshipId, supervisingProfessionalId } });\r\n}\r\nconst postFirmSupervisingProfessionalInternal = (relationshipId, isOwner) => {\r\n return axios.post(`${RELATIONSHIPURL}/updatesprelationshipforfirm`, null, { headers: authHeader(), params: { relationshipId, isOwner } });\r\n}\r\nconst createFirmSupervisingProfessionalInternal = (firmEntityId, isOwner, professionalFormattedLicenseNumber) => {\r\n return axios.post(`${RELATIONSHIPURL}/createactivesprelationshipforfirm`, null, { headers: authHeader(), params: { firmEntityId, isOwner, professionalFormattedLicenseNumber } });\r\n}\r\nconst changeSupervisingProfessionalOwnership = (relationshipId, supervisingProfessionalId) => {\r\n return axios.post(`${SUPERVISINGPROFESSIONALURL}/changesupervisingprofessionalownership`, null, { headers: authHeader(), params: { relationshipId, supervisingProfessionalId } });\r\n}\r\nexport default {\r\n getSupervisingProfessional,\r\n postSupervisingProfessional,\r\n getFirmSupervisingProfessional,\r\n postFirmSupervisingProfessional,\r\n deleteSupervisingProfessional,\r\n inactivateSupervisingProfessional,\r\n getSupervisingProfessionalsByLicenseType,\r\n postFirmSupervisingProfessionalInternal,\r\n createFirmSupervisingProfessionalInternal,\r\n changeSupervisingProfessionalOwnership,\r\n inactivateSupervisingProfessionalAsIndividual\r\n}","import React from 'react';\r\nimport { Card } from 'react-bootstrap';\r\nimport { Form, } from 'rsuite';\r\nimport DocumentUpload from '../../../Shared/Upload/DocumentUpload';\r\n\r\nfunction SupervisingProfessionalDocumentUpload() {\r\n return (\r\n <>\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default SupervisingProfessionalDocumentUpload;","import React, { useState, useEffect } from 'react'\r\nimport { Button, Card, Container } from 'react-bootstrap';\r\nimport { Table } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport supervisingProfessionalService from '../../../../services/supervisingProfessional.service';\r\nimport GenericBadge from '../../../Shared/Badge/GenericBadge';\r\nimport Information from '../../../Shared/Card/Information';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetSupervisingProfessionalIndividualInstructions } from '../../../Shared/InformationContent/GeneralInformation';\r\nimport SupervisingProfessionalDocumentUpload from './SupervisingProfessionalDocumentUpload';\r\n\r\nfunction SupervisingProfessionalPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [supervisingProfessionals, setSupervisingProfessionals] = useState([]);\r\n const declineSupervisingProfessional = (value) => {\r\n supervisingProfessionalService.postSupervisingProfessional(value.supervisingProfessionalId, false).then((data) => {\r\n if (data.data) {\r\n refreshGrid();\r\n } else {\r\n Swal.fire(\"Error\", \"Failed to update status.\", \"error\")\r\n }\r\n });\r\n }\r\n const acceptSupervisingProfessional = (value) => {\r\n supervisingProfessionalService.postSupervisingProfessional(value.supervisingProfessionalId, true).then((data) => {\r\n if (data.data) {\r\n refreshGrid();\r\n } else {\r\n Swal.fire(\"Error\", \"Failed to update status.\", \"error\")\r\n }\r\n })\r\n }\r\n useEffect(() => {\r\n refreshGrid();\r\n setHasLoaded(true);\r\n }, [])\r\n const refreshGrid = () => {\r\n supervisingProfessionalService.getSupervisingProfessional().then((data) => {\r\n var filteredData = data.data.filter(x => x.codeVerificationStatus?.verificationStatus != \"Inactive\");\r\n setSupervisingProfessionals(filteredData);\r\n }\r\n );\r\n }\r\n const changeOwnership = (values) => {\r\n var text = values.isOwner ? \"This will change the supervising professional to an employee of the firm.\" : \"This will change the supervising professional to an owner of the firm.\";\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: text,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n setHasLoaded(false)\r\n supervisingProfessionalService.changeSupervisingProfessionalOwnership(values.relationshipId, values.supervisingProfessionalId)\r\n .then(() => { refreshGrid(); setHasLoaded(true) })\r\n .catch((error) => { if (error?.response?.data) { Swal.fire(\"Error!\", error?.response?.data, 'error') } })\r\n .finally(() => setHasLoaded(true));\r\n }\r\n })\r\n }\r\n const inactivateSupervisingProfessional = (values) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"By choosing to inactivate this supervising professional, this record will be removed from your supervising professional locker.  Would you like to continue?\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n setHasLoaded(false)\r\n supervisingProfessionalService.inactivateSupervisingProfessionalAsIndividual(values.relationshipId, values.supervisingProfessionalId)\r\n .then(() => { refreshGrid(); setHasLoaded(true) })\r\n .catch((error) => { if (error?.response?.data) { Swal.fire(\"Error!\", error?.response?.data, 'error') } })\r\n .finally(() => setHasLoaded(true));\r\n // Some service that removes it + refresh when it's good\r\n }\r\n })\r\n }\r\n return (\r\n
\r\n \r\n

Supervising Professional

\r\n \r\n
\r\n \r\n
\r\n \r\n Supervising Professional Status\r\n \r\n {hasLoaded ?\r\n \r\n \r\n \r\n Firm Name\r\n \r\n \r\n {rowData => (rowData.firmFormattedName)}\r\n \r\n \r\n \r\n \r\n Firm License #\r\n \r\n \r\n {rowData => (rowData.firmFormattedLicenseNumber)}\r\n \r\n \r\n \r\n \r\n SP Employee/Owner Status (click to update)\r\n \r\n \r\n {\r\n rowData => (
\r\n \r\n  \r\n \r\n  \r\n \r\n
)\r\n }\r\n
\r\n
\r\n \r\n \r\n Received Date\r\n \r\n \r\n {rowData => (rowData.sentDate ? new Date(rowData.sentDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Response Date\r\n \r\n \r\n {rowData => (rowData.responseDate ? new Date(rowData.responseDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Verification Status\r\n \r\n {rowData => (rowData.codeVerificationStatus.verificationStatus ? : '')}\r\n \r\n \r\n \r\n \r\n \r\n {rowData => (rowData.codeVerificationStatus?.verificationStatus == \"Pending\" ?\r\n <>\r\n \r\n \r\n :\r\n (rowData.codeVerificationStatus?.verificationStatus == \"Active\" &&\r\n <>\r\n \r\n )\r\n )}\r\n \r\n \r\n
: \r\n }\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\nexport default SupervisingProfessionalPage","import React, { useEffect, useRef, useState } from 'react';\r\nimport BlockUi from 'react-block-ui';\r\nimport { Card, Row, Col, Button, Image, Container } from 'react-bootstrap'\r\nimport { FaPrint } from 'react-icons/fa';\r\nimport ReactToPrint from 'react-to-print';\r\nimport { Table } from 'rsuite';\r\nimport seal from '../../../images/LAPELS-LOLA-Logo.png'\r\n\r\nfunction Invoice(props) {\r\n const [printLoading, setPrintLoading] = useState(false);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [data, setData] = useState([]);\r\n const [entity, setEntity] = useState({});\r\n const [licenseData, setLicenseData] = useState();\r\n const componentRef = useRef();\r\n useEffect(() => {\r\n setData(props.data);\r\n setEntity(props.entity)\r\n setLicenseData(props.licenseInfo.join(\", \"))\r\n setHasLoaded(true);\r\n }, [props.data])\r\n\r\n const applicationMarkup = () => {\r\n return (\r\n data.lineItems.map((item) => {\r\n if (item.feeDefinition.feeType.id == 2)\r\n return (<>{item.feeDefinition.feeDefinitionDescription}
);\r\n })\r\n );\r\n }\r\n return (\r\n
\r\n \r\n \r\n \r\n {hasLoaded &&\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {entity?.formattedName}
\r\n {entity?.mailingAddress?.streetAddress}
\r\n {entity?.mailingAddress?.city}, {entity?.mailingAddress?.state?.code} {entity?.mailingAddress?.postalCode}

\r\n {applicationMarkup()}\r\n {licenseData?.length > 0\r\n ? <>License #: {licenseData}
\r\n : <>\r\n }\r\n LOLA #: {entity?.lolaNumber}

\r\n Invoice #{data.id}
\r\n Invoice Date: {new Date(data.dateCrte).toLocaleDateString()}\r\n \r\n
\r\n \r\n \r\n
LAPELS
\r\n 8550 United Plaza Boulevard, Suite 903
\r\n Baton Rouge, LA 70809-2296
\r\n (225) 925-6291\r\n \r\n
\r\n \r\n \r\n \r\n Description\r\n \r\n {rowData => (rowData.feeDefinition.feeDefinitionDescription)}\r\n \r\n \r\n \r\n Price\r\n \r\n {rowData => (rowData.feeDefinition.feeAmount.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n }))}\r\n \r\n
\r\n\r\n \r\n \r\n TOTAL\r\n \r\n {data.totalAmount?.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n AMOUNT PAID\r\n \r\n \r\n {data.paidAmount?.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n })}\r\n\r\n \r\n \r\n \r\n \r\n \r\n PAID DATE\r\n \r\n \r\n {data.datePaid ? new Date(data.datePaid).toLocaleDateString() : ''}\r\n \r\n \r\n \r\n \r\n \r\n AMOUNT DUE\r\n \r\n \r\n {data.balance?.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n })}\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n ()}\r\n content={() => componentRef.current}\r\n onBeforeGetContent={() => { setPrintLoading(true) }}\r\n onAfterPrint={() => { setPrintLoading(false) }}\r\n />\r\n\r\n \r\n \r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\n\r\nexport default Invoice;","import React, { useState } from 'react';\r\nimport { Container, Row, Col, Card } from 'react-bootstrap';\r\nimport { useEffect } from 'react';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Invoice from '../../../Shared/Card/Invoice';\r\nimport { useSelector } from 'react-redux';\r\nimport invoiceService from '../../../../services/Shared/invoice.service';\r\n\r\nfunction InvoicePage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [invoiceData, setInvoiceData] = useState([]);\r\n const [entity, setEntity] = useState({});\r\n const [licenseNumbers, setLicenseNumbers] = useState([]);\r\n const invoiceId = useSelector(x => x.currentInvoiceId);\r\n useEffect(() => {\r\n invoiceService.getInvoice(invoiceId).then((response) => {\r\n setInvoiceData(response.data);\r\n invoiceService.getEntityInfo(response.data.entityId).then((data) => {\r\n setEntity(data.data);\r\n invoiceService.getEntityLicenseInfo(response.data.entityId, invoiceId).then((licenseResponse) => {\r\n setLicenseNumbers([...licenseResponse.data]);\r\n setHasLoaded(true);\r\n })\r\n })\r\n })\r\n }, [])\r\n\r\n return (\r\n \r\n {hasLoaded ?\r\n \r\n

Invoice

\r\n \r\n \r\n \r\n Requirements\r\n

Select the Print button below to print the invoice and mail with payment to the following address:

\r\n

Please make your check payable to: LAPELS

\r\n
\r\n Please send this invoice with your check to:
\r\n LAPELS
\r\n 8550 United Plaza Boulevard, Suite 903
\r\n Baton Rouge, LA 70809-2296
\r\n\r\n
\r\n

Please also send in a LAPELS PAYMENT AUTHORIZATION FORM along with your invoice if paying by credit card or ACH. https://www.lapels.com/payments.html

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n
: \r\n }\r\n
\r\n )\r\n}\r\nexport default InvoicePage;","import React from 'react';\r\nimport { Row, Col } from 'react-bootstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport GenericBadge from '../Badge/GenericBadge';\r\n\r\nfunction Section({ data }) {\r\n const badge = data.status ?\r\n \r\n
\r\n \r\n
\r\n \r\n :\r\n \"\";\r\n\r\n return (\r\n
\r\n \r\n \r\n
{data.sectionTitle}
\r\n

{data.sectionContent}

\r\n \r\n { badge }\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Section;","import React from 'react';\r\nimport { Card } from 'react-bootstrap'\r\nfunction Information() {\r\n return (\r\n
\r\n \r\n
Requirements/Information
\r\n \r\n \r\n
    \r\n\r\n
  • Most of this information may be included in your NCEES records.
  • \r\n
  • If you do not have an NCEES record, you must provide all required documents. Please know this may add 2-3 weeks to the application process.
  • \r\n
  • Complete all required sections of the application; incomplete applications are only kept on file for one year.
  • \r\n
  • Fields marked with an asterisk * are required.
  • \r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Information;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst plsGetSection = (applicationId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/IndividualPlsApplication/section`, { headers: authHeader(), params: { applicationId, sectionId } });\r\n}\r\nconst plsPostSection = (applicationId, sectionId, electronicSignature) => {\r\n\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPlsApplication/signsection`, null, { headers: authHeader(), params: { applicationId, sectionId, electronicSignature } });\r\n}\r\nconst plsPostSectionHasRef = (applicationId, sectionId, hasReferences) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPlsApplication/setsectionhasreferences`, null, { headers: authHeader(), params: { applicationId, sectionId, hasReferences } });\r\n}\r\n//const plsPostSectionHasMyNceesEducation = (applicationId, sectionId, hasMyNceesEducation) => {\r\n// return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPlsApplication/setsectionhasmynceeseducation`, null, { headers: authHeader(), params: { applicationId, sectionId, hasMyNceesEducation } });\r\n//}\r\n\r\nconst plsPostSectionHasExperience = (applicationId, sectionId, hasMyNceesExperience) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPlsApplication/setsectionhasmynceesexperience`, null, { headers: authHeader(), params: { applicationId, sectionId, hasMyNceesExperience } });\r\n}\r\n\r\nconst plsPostEducationSection = (applicationId, sectionId, hasMyNceesEducation, hasAnsacDegree, hasFourYearDegree) =>\r\n{\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPlsApplication/seteducationsection`, null, { headers: authHeader(), params: { applicationId, sectionId, hasMyNceesEducation, hasAnsacDegree, hasFourYearDegree } });\r\n}\r\n\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Complete this section providing all required contact information.\",\r\n },\r\n {\r\n id: 2,\r\n sectionTitle: \"Education\",\r\n sectionContent: \"Complete this section listing all colleges and universities attended where a degree was conferred.\",\r\n },\r\n {\r\n id: 3,\r\n sectionTitle: \"Personal References\",\r\n sectionContent: \"Complete this section listing all personal references.\",\r\n },\r\n {\r\n id: 4,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 5,\r\n sectionTitle: \"Employment\",\r\n sectionContent: \"Verify Louisiana Employment Firm licensure\",\r\n },\r\n {\r\n id: 6,\r\n sectionTitle: \"Quizzes\",\r\n sectionContent: \"Upload the confirmation for Online Laws and Rules, the Online Professionalism & Ethics and the Online Louisiana Standards of Practice for Boundary Surveys quizzes.\",\r\n },\r\n {\r\n id: 7,\r\n sectionTitle: \"Experience Record\",\r\n sectionContent: \"Include a GRAND TOTAL of all experience\",\r\n },\r\n {\r\n id: 8,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Electronically sign (type your name) and date.\",\r\n },\r\n {\r\n id: 9,\r\n sectionTitle: \"Review\",\r\n sectionContent: 'Review your answers. If you need to change an answer, click the \"Section\" above to go back to the appropriate section',\r\n }\r\n])\r\n\r\nexport default {\r\n plsGetSection,\r\n plsPostSection,\r\n plsPostSectionHasRef,\r\n //plsPostSectionHasMyNceesEducation,\r\n plsPostSectionHasExperience,\r\n plsPostEducationSection\r\n}","import axios from \"axios\";\r\nimport authHeader from '../authheader'\r\n\r\nconst ISSUESURL = process.env.REACT_APP_APIURL + \"/api/Issue\";\r\n\r\n// Due to the way the code tables were made, we reinstatement and renewals are flip flopped so we are remapping this here for now\r\nconst getIssues = (type, sectionId) => {\r\n var parentTypeId = 0;\r\n switch (type) {\r\n case 1:\r\n parentTypeId = 1;\r\n break;\r\n case 2:\r\n parentTypeId = 3;\r\n break;\r\n case 3:\r\n parentTypeId = 2;\r\n default:\r\n }\r\n return axios.get(`${ISSUESURL}/issues`, { headers: authHeader(), params: { parentTypeId, sectionId } });\r\n}\r\n\r\nconst postIssue = (text, type, sectionId) => {\r\n var parentTypeId = 0;\r\n switch (type) {\r\n case 1:\r\n parentTypeId = 1;\r\n break;\r\n case 2:\r\n parentTypeId = 3;\r\n break;\r\n case 3:\r\n parentTypeId = 2;\r\n default:\r\n }\r\n return axios.post(`${ISSUESURL}/issue`, null, { headers: authHeader(), params: { parentTypeId, sectionId, text} });\r\n}\r\n\r\nconst updateIssue = (issueId, text, type, sectionId) => {\r\n var parentTypeId = 0;\r\n switch (type) {\r\n case 1:\r\n parentTypeId = 1;\r\n break;\r\n case 2:\r\n parentTypeId = 3;\r\n break;\r\n case 3:\r\n parentTypeId = 2;\r\n default:\r\n }\r\n return axios.post(`${ISSUESURL}/updateissue`, null, { headers: authHeader(), params: { issueId, parentTypeId, sectionId, text } });\r\n}\r\n\r\nconst getIssuesForSections = (parentTypeId, id) => {\r\n return axios.get(`${ISSUESURL}/issuesforsections`, { headers: authHeader(), params: { parentTypeId, id } });\r\n}\r\n\r\nconst postIssueComment = (issueId, text, type) => {\r\n return axios.post(`${ISSUESURL}/issueresponse`, null, { headers: authHeader(), params: { issueId, text } });\r\n}\r\n\r\nconst toggleIssue = (type, issueId, closed) => {\r\n if (closed)\r\n return axios.post(`${ISSUESURL}/closeissue`,null, { headers: authHeader(), params: { issueId } });\r\n else\r\n return axios.post(`${ISSUESURL}/reopenissue`,null, { headers: authHeader(), params: { issueId } });\r\n\r\n}\r\n\r\nexport default {\r\n getIssues,\r\n postIssue,\r\n postIssueComment,\r\n toggleIssue,\r\n getIssuesForSections,\r\n updateIssue\r\n}","import React, { useState, useEffect} from 'react';\r\nimport { Container, Row, Col, ListGroup} from 'react-bootstrap';\r\nimport Section from '../../../../../Shared/Sections/Section';\r\nimport Information from './Information';\r\nimport { getSections } from \"../../../../../../services/Public/Application/PLS/plsApplication.service\";\r\nimport { useSelector } from 'react-redux';\r\nimport issuesService from '../../../../../../services/Shared/issues.service';\r\n\r\nfunction Index() {\r\n const [sections, setSections] = useState(null);\r\n const selector = useSelector(x => x);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 5 ? \"By Comity\" : appTypeId == 6 ? \"By Exam\" : \"\";\r\n useEffect(() => {\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(1, selector.currentApplicationId).then((data) => {\r\n setSections(selector.currentRoutes != null ? selector.currentRoutes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route;\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n })\r\n });\r\n }, [])\r\n\r\n return (\r\n
\r\n \r\n Professional Land Surveyor Application {appType}\r\n

Professional Land Surveyor

\r\n \r\n \r\n \r\n
\r\n \r\n \r\n

Sections to Complete

\r\n \r\n {sections } \r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default Index;","import React from 'react'\r\nimport { Button, Col, Container, Row } from 'react-bootstrap';\r\nimport { Link } from 'react-router-dom';\r\nfunction FormActionButtons(props) {\r\n\r\n return (\r\n \r\n \r\n {props.showSectionComplete === true ?\r\n \r\n  \r\n   \r\n \r\n {\r\n props.submitFormName ?\r\n \r\n :\r\n \r\n }\r\n \r\n :\r\n \r\n
\r\n \r\n {\r\n props.submitFormName ?\r\n \r\n :\r\n \r\n }\r\n
\r\n \r\n }\r\n
\r\n
\r\n );\r\n}\r\n\r\n\r\nexport default FormActionButtons;","import { loremParagraphs } from \"../../../fakeapi\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport RedStar from \"../GenericComponents/RedStar\";\r\n\r\nexport const GetAppInformationContent = (page) => {\r\n const [fakeData, setFakeData] = useState(\"\");\r\n const [type, setType] = useState(\"application\");\r\n useEffect(() => {\r\n loremParagraphs().then(setFakeData);\r\n }, [])\r\n\r\n switch (page) {\r\n case \"contact\":\r\n return (\r\n
    \r\n
  • Information already in the system will appear in the fields below. You can make changes, and they will take effect once the application is complete and payment is accepted
  • \r\n
  • Mandatory fields are indicated with \"\" (asterisk) to the left of the field
  • \r\n
  • Louisiana Revised Statute 31:23 requires that every application by an individual for a professional license, permit or certificate shall require the applicant's social security number.\r\n Disclosure of your social security number is mandatory for this purpose and for the purpose of establishing, modifying or enforcing family and child support obligations and locating an individual who is under an obligation to pay family or child support under La. R.S. 46:236.1.1, et seq.\r\n Failure to provide your social security number for these mandatory purposes will result in the denial of your licensure, permit or certificate application.\r\n Disclosure of your social security number is voluntary for disclosure to other state regulatory agencies, testing and examination vendors, law enforcement agencies, and other private federations and associations involved in professional regulation.\r\n Such disclosure is for identification purposes only. Your social security number will not be released for any other purpose not provided by law.
  • \r\n
  • Complete the following sections
  • \r\n
      \r\n
    • Personal Information
    • \r\n
    • Verify Mailing Address
    • \r\n
    • Verify Public Address
    • \r\n
    • Ensure you add \"lapels.com\" to your \"Safe Senders\" list in your email application and/or (if applicable) in your network firewall.
    • \r\n
    \r\n
\r\n );\r\n break;\r\n case \"education\":\r\n return (\r\n
    \r\n {/*
  • If you select No, Indicate each college or university in chronological order where a degree was conferred or is in progress, or where you have completed surveying coursework. Include the time spent at each institution and if graduated, the date conferred, the degree received, the date received, and the major as shown on your transcripts.
  • */}\r\n
  • Please have your transcripts verified on your MyNCEES account.
  • \r\n {/*
  • If your school is not listed below, please send an email to cande@lapels.com with your school's information so it can be added to the list.
  • */}\r\n
\r\n )\r\n break;\r\n case \"employment\":\r\n return (\r\n
    \r\n
  • Please indicate your employment status in Louisiana below.
  • \r\n
\r\n\r\n )\r\n break;\r\n case \"experience\":\r\n return (\r\n
    \r\n
  • If you have NCEES records, please authorize NCEES to transmit your records to LAPELS;
  • \r\n
  • If you do not have a NCEES record, you must complete the sections below.
  • \r\n
      \r\n
    • Please note, ALL TIME SINCE GRADUATION WITH A BS DEGREE MUST BE DOCUMENTED; You must include military, illness, unemployment or time spent completing an additional college degree, etc., on an Experience Record entry.
    • \r\n
    \r\n\r\n
  • Any time gaps will result in an incomplete application. Applicant must comply with LAPELS rule 1505 (C) Land Surveying Work Experience
  • \r\n
  • Please make sure all surveying experience is verified including at least 4 years verified by a licensed PLS.
  • \r\n
      \r\n
    • NOTE: The verifer needs to be licensed during the time period they are verifying.
    • \r\n
    \r\n
\r\n )\r\n break;\r\n case \"personalReference\":\r\n return (\r\n <>\r\n

\r\n If you select no, please attest below to rule 1701 (B):\r\n
\r\n
\r\n LAPELS rule §1701 (B): Applications for licensure as a professional engineer or professional land surveyor shall be completed on\r\n the most current forms developed by the board. The application shall contain statements showing the applicant's qualifications, and\r\n the names and addresses of five personal references who recommend the applicant for licensure. None of the five personal references\r\n can be an immediate family member or business associate of the applicant. For purposes of this §1701.B, immediate family member is\r\n defined as a spouse, child, spouse of a child, sibling, spouse of a sibling, sibling of a spouse, parent, parent of a spouse,\r\n stepparent or stepchild. For purposes of this §1701.B, business associate is defined as a subordinate of the applicant, or a\r\n consultant or contractor who provides goods or services to the applicant or to a business, entity or agency in which the applicant\r\n is an owner, member, officer, director, trustee, partner, principal, manager, employee, associate, consultant or contractor...\r\n Three or more of the five personal references furnished by an applicant\r\n for licensure as a professional land surveyor shall be professional land surveyors holding valid licenses to engage in the practice of\r\n land surveying issued to them by proper authority of a state, territory, or possession of the United States, or the District of Columbia.\r\n Applicants for licensure as a professional engineer or professional land surveyor must also successfully complete the board’s Louisiana\r\n laws and rules quiz and Louisiana ethics and professionalism quiz prior to licensure. Additionally, applicants for licensure as a\r\n professional land surveyor must successfully complete the board’s Louisiana standards of practice for boundary surveys quiz prior to licensure.\r\n\r\n

\r\n

\r\n Five verified references are required - 3 of the 5 must have an active PLS license.\r\n

\r\n \r\n )\r\n break;\r\n case \"quiz\":\r\n return (\r\n
    \r\n
  • You must complete the online quizzes, with a minimum score of 90%:
  • \r\n
      \r\n
    • Louisiana Laws and Rules Quiz
    • \r\n
    • Louisiana Professionalism and Ethics Quiz
    • \r\n
    • Louisiana Standards of Practice for Boundary Surveys Quiz
    • \r\n
    \r\n
  • Quizzes can be found here: https://www.lapels.com/quiz
  • \r\n
  • You will receive a certificate by email once you have achieved the requisite score.
  • \r\n
  • You must upload each certificate below.
  • \r\n
  • Select each quiz type from the dropdown below and click \"Upload\".
  • \r\n
\r\n\r\n )\r\n break;\r\n case \"review\":\r\n return (\r\n <>\r\n
    \r\n
  • Click Validate to see if there are any issues within the {type} that you provided.
  • \r\n
  • If there are issues, please correct the issue in the respective section(s) by clicking the “Back to Sections” button below.
  • \r\n
  • Then return to the Review section to validate again.
  • \r\n
  • You will not be allowed to submit until all issues are corrected.
  • \r\n
\r\n

\r\n Once the {type} is validated successfully, additional buttons will appear:\r\n

    \r\n
  • Select “Download PDF” to download a copy of your {type} for your records
  • \r\n
  • Select “Submit Application” to add your {type} to the cart and see payment options.
  • \r\n
\r\n

\r\n\r\n

You will not have direct access to this review page after completing the {type} and submitting payment. To request a copy, please contact LAPELS staff.

\r\n \r\n )\r\n break;\r\n case \"violations\":\r\n return (\r\n

\r\n In the case of answering “Yes” to the question below about unauthorized or unlicensed practice (Question #1), explain in detail the facts surrounding such practicing or offering to practice surveying in Louisiana and submit a list of all projects/jobs on which you offered to provide or provided surveying services in Louisiana during such period.\r\n Such list should include, for each such project/job, offer date, start date, completion date, client name, project/job name, project/job location and project/job descriptions. Upload additional pages if necessary.\r\n
\r\n
\r\n In the case of answering “Yes” to any of the questions below other than the question about unauthorized or unlicensed practice, provide the date(s) and pertinent facts of the case(s) or proceeding(s), including the final disposition (even if the information was previously provided to the Board).\r\n Upload additional pages if necessary.\r\n

\r\n )\r\n case \"acknowledgement\":\r\n return (\r\n <>\r\n

\r\n I, the applicant named in this application, have read the contents hereof, and to the best of my knowledge, information and belief the\r\n statements and information in this application are true and correct in substance and effect and are made in good faith. I have not\r\n omitted any information requested in this application. I am aware that such an omission or untrue response may constitute fraud or deceit,\r\n material misstatement, perjury or the giving of false or forged evidence under Louisiana Revised Statutes 37:698 and 37:700. I understand\r\n and agree that any responses verifying my education, personal references, and experience shall be considered privileged and confidential\r\n and that this information was not reviewed by me nor will it be available for my inspection or review in the future.\r\n

\r\n
    \r\n
  • It is your responsibility to check your LOLA account frequently for any pending issues. Ensure you add \"lapels.com\" to your \"Safe Senders\" list in your email application and/or (if applicable) in your network firewall.
  • \r\n
  • Once we receive a complete application, with no pending issues, process time may take 6-8 weeks.
  • \r\n
\r\n \r\n )\r\n default:\r\n return (\r\n <>\r\n {\r\n //
This is sample text
\r\n //{fakeData}\r\n }\r\n \r\n )\r\n break;\r\n }\r\n}\r\n\r\nexport const GetRenewalInformationContent = (page) => {\r\n const [fakeData, setFakeData] = useState(\"\");\r\n const [type, setType] = useState(\"renewal\");\r\n useEffect(() => {\r\n loremParagraphs().then(setFakeData);\r\n }, [])\r\n\r\n switch (page) {\r\n case \"contact\":\r\n return (\r\n
    \r\n
  • Information already in the system will appear in the fields below. You can make changes, and they will take effect once the application is complete and payment is accepted
  • \r\n
  • Mandatory fields are indicated with \"\" (asterisk) to the left of the field
  • \r\n
  • Louisiana Revised Statute 37:23 requires that every application by an individual for a professional license, permit or certificate shall require the applicant's social security number.\r\n Disclosure of your social security number is mandatory for this purpose and for the purpose of establishing, modifying or enforcing family and child support obligations and locating an individual who is under an obligation to pay family or child support under La. R.S. 46:236.1.1, et seq.\r\n Failure to provide your social security number for these mandatory purposes will result in the denial of your licensure, permit or certificate application.\r\n Disclosure of your social security number is voluntary for disclosure to other state regulatory agencies, testing and examination vendors, law enforcement agencies, and other private federations and associations involved in professional regulation.\r\n Such disclosure is for identification purposes only. Your social security number will not be released for any other purpose not provided by law.
  • \r\n
  • Complete the following sections
  • \r\n
      \r\n
    • Personal Information – ensure you put LAPELS emails on your safe sender list
    • \r\n
    • Verify Mailing Address
    • \r\n
    • Verify Public Address
    • \r\n
    \r\n
\r\n );\r\n case \"cpdRequirements\":\r\n return (\r\n

\r\n CPD Requirements for Engineers and Surveyors:\r\n
\r\n
\r\n A Professional Land Surveyor (PLS) must complete 8 CPD hours each calendar year (January - December). Of the 8 hours, one hour must be in the Standards of Practice, and one hour must be in Professional Ethics. In the event you have earned more than 8 CPD hours in a calendar year, you may carry over a maximum of 7 CPD hours to the next calendar year. You may not earn more than 8 CPD hours in a calendar day.\r\n
\r\n
\r\n A Professional Engineer (PE) must complete 15 CPD hours each calendar year (January - December). Of the 15 hours, one hour must be in Professional Ethics. If you design buildings or building systems, of the 15 hours, four hours must be in life safety/ADA compliance. In the event you have earned more than 15 CPD hours in a calendar year, you may carry over a maximum of 7 CPD hours to the next calendar year. You may not earn more than 8 CPD hours in a calendar day.\r\n
\r\n
\r\n A PE/PLS dual licensee must complete 15 CPD hours each calendar year (January - December). Of the 15 hours, five hours must be earned in each profession, one hour must be in Professional Ethics, and one hour must be in the Standards of Practice. If you design buildings or building systems, of the 15 hours, four hours must be in life safety/ADA compliance. In the event you have earned more than 15 CPD hours in a calendar year, you may carry over a maximum of 7 CPD hours to the next calendar year. You may not earn more than 8 CPD hours in a calendar day.\r\n
\r\n
\r\n Partial CPD Hours must be in quarter hour increments (such as .25, .5, .75) to be considered acceptable credit.\r\n
\r\n
\r\n The LAPELS CPD Locker is available at any time to upload your CPD activity log and complementary certificates of completion.\r\n

\r\n\r\n\r\n );\r\n case \"licenseStatus\":\r\n return (\r\n

\r\n 2103. Licensure and Certification Status\r\n
\r\n  A. The board has established the following licensure statuses for licensees.
\r\n   Active Status - the licensure status which exists for a licensee of the board who has complied with all the licensure and licensure renewal requirements of the board and who has elected to be in this status on his/her biennial licensure renewal form.
\r\n   Expired Status - the licensure status which exists for a licensee of the board who has failed to properly renew licensure as required in R.S. 37:697. A licensee in an expired status cannot practice or offer to practice engineering or land surveying in Louisiana.
\r\n   Inactive Status - the licensure status which exists for an individual licensee of the board who has chosen not to practice or offer to practice engineering and/or land surveying in Louisiana and who has elected to be in this status on his/her biennial licensure renewal form. A licensee in an inactive status can represent himself/herself to the public as a P.E. inactive or a P.L.S. inactive, as applicable, but cannot otherwise practice or offer to practice engineering and/or land surveying in Louisiana.
\r\n   Retired Status - the licensure status which exists for an individual licensee of the board who has chosen not to practice or offer to practice engineering and/or land surveying in Louisiana and who has elected to be in this status on his/her biennial licensure renewal form. To qualify for the retired status, the licensee must be at least 70 years of age or have been a licensee of the board for at least 35 years. Unless the licensee is granted a waiver by the board, the renewal fee for the retired status shall be one-half of the current renewal fee for the active status. A licensee qualified for the retired status may be granted a waiver of this renewal fee if the licensee is at least 70 years of age, has been a licensee of the board for at least 35 years continuously, has never been subject to disciplinary action in any jurisdiction, has never committed any of the offenses described in R.S. 37:698(A)(3), (4) or (5), and is of good character and reputation. A licensee in a retired status can represent himself/herself to the public as a P.E. retired or a P.L.S. retired, as applicable, but cannot otherwise practice or offer to practice engineering and/or land surveying in Louisiana.
\r\n

\r\n )\r\n case \"violations\":\r\n return (\r\n

\r\n If the answer to any of these questions is \"Yes\", provide the date(s) and pertinent facts of the case(s) or proceeding(s) including the final disposition (even if the information was previously provided to the Board). Upload additional pages if necessary.\r\n

\r\n )\r\n case \"privacy\":\r\n return (\r\n

You can choose below how your privacy options are setup. Please indicate how you would like LAPELS to send you information or share it with third parties/vendors

\r\n )\r\n case \"acknowledgement\":\r\n return (\r\n <>\r\n

\r\n I have read the Rules for Professional Engineers and Surveyors (LAC Title 46, Part LXI), and I agree to conduct my professional affairs in\r\n accordance with these rules.\r\n

\r\n \r\n )\r\n case \"review\":\r\n return (\r\n <>\r\n
    \r\n
  • Click Validate to see if there are any issues within the {type} that you provided.
  • \r\n
  • If there are issues, please correct the issue in the respective section(s) by clicking the “Back to Sections” button below.
  • \r\n
  • Then return to the Review section to validate again.
  • \r\n
  • You will not be allowed to submit until all issues are corrected.
  • \r\n
\r\n

\r\n Once the {type} is validated successfully, additional buttons will appear:\r\n

    \r\n
  • Select “Download PDF” to download a copy of your {type} for your records
  • \r\n
  • Select “Submit Renewal” to add your {type} to the cart and see payment options.
  • \r\n
\r\n

\r\n\r\n

You will not have direct access to this review page after completing the {type} and submitting payment. To request a copy, please contact LAPELS staff.

\r\n \r\n )\r\n break;\r\n default:\r\n return (\r\n <>\r\n
  • Read all of the instructions within each section of the renewal.
  • \r\n
  • Complete all required sections.
  • \r\n
\r\n \r\n )\r\n break;\r\n }\r\n}\r\n\r\nexport const GetReinstatementInformationContent = (page) => {\r\n const [fakeData, setFakeData] = useState(\"\");\r\n const [type, setType] = useState(\"reinstatement\");\r\n useEffect(() => {\r\n loremParagraphs().then(setFakeData);\r\n }, [])\r\n\r\n switch (page) {\r\n case \"contact\":\r\n return (\r\n
    \r\n
  • Information already in the system will appear in the fields below. You can make changes by selecting the “Update Contact Information” link.
  • \r\n
  • Mandatory fields are indicated with an ‘*’ (asterisk).
  • \r\n
  • Louisiana Revised Statute 37:23 requires that every application for a professional license, permit or certificate shall require the applicant’s\r\n social security number. Disclosure of your social security is mandatory for this purpose and for the purpose of establishing, modifying or\r\n enforcing family and child support obligations and locating an individual who is under an obligation to pay family or child support.\r\n Failure to provide your social security number for these mandatory purposes will result in the denial of your license or certification.\r\n Your social security number will not be released for any other purpose not provided by law.\r\n
  • \r\n
  • Complete the following sections
  • \r\n
      \r\n
    • Personal Information – ensure you put LAPELS emails on your safe sender list
    • \r\n
    • Verify Mailing Address
    • \r\n
    • Verify Public Address
    • \r\n
    \r\n
)\r\n break;\r\n case \"employment\":\r\n return (\r\n <>\r\n ***YOU MUST COMPLETE THIS SECTION. INITIAL THE FIRM OPTION BELOW WHICH WILL BEST DESCRIBE YOUR EMPLOYMENT IN LOUISIANA***\r\n

Please be advised that LA R. S. 37:689 requires firms practicing or offering to practice engineering\r\n or surveying in the state of Louisiana to be licensed by the Board prior to offering such services.\r\n

\r\n
\r\n

\r\n To apply for firm licensure, sign out from this individual account and sign back in with your firm user ID and password. If you have not yet registered your firm, click \"Register\" at https://lola.lapels.com and select the \"Firm\" option to create a new account\r\n

\r\n
\r\n

\r\n Here is the link to Chapter 23 from the LAPELS Rules that addresses firm licensure and supervising professional requirements: http://www.lapels.com/docs/Applications/firm/Chapter_23_Firms.pdf\r\n

\r\n \r\n )\r\n break;\r\n case \"experience\":\r\n return (\r\n
    \r\n
  • If you have a MyNCEES account and you are a record holder, please authorize NCEES to release your records to LAPELS.
  • \r\n
  • If you are not a MyNCEES record holder, you will need to contact MyNCEES to set up an account. If you have any questions, please contact LAPELS staff at applications@lapels.com
  • \r\n
  • Submit with your application ten (10) years of work experience dated from oldest to newest.
  • \r\n
  • Please note, ALL TIME SINCE GRADUATION WITH A BS DEGREE MUST BE DOCUMENTED; You must include military, illness, unemployment or time spent completing an additional college degree, etc., on an Experience Record entry.
  • \r\n
  • Please refer to LAPELS rule 1507 for Co-op experience, before meeting the educational requirement. Note: co-op experience must be reflected on your transcript and there is no provision for engineering internships while you are still in school
  • \r\n
  • Any time gaps will result in an incomplete application. Applicant must comply with LAPELS rule 1505 (C) Land Surveying Work Experience
  • \r\n
\r\n )\r\n break;\r\n case \"experience5year\":\r\n return (\r\n
    \r\n
  • If you have a NCEES record, please authorize NCEES to release your records to LAPELS.
  • \r\n
  • If you do not have a NCEES record, you must complete the sections below.
  • \r\n
  • Submit with your application the last ten (10) years of work experience.
  • \r\n
\r\n )\r\n break;\r\n case \"landing\":\r\n return (\r\n
    \r\n
  • There are two applications for PLS licensure reinstatement:
  • \r\n
      \r\n
    • Application if expired more than 120 days but less than 5 years
    • \r\n
    • Application if expired more than 5 years
    • \r\n
    \r\n
  • The type of reinstatement application that appears on the next page will be automatically selected based on your license expiration date.
  • \r\n
\r\n );\r\n case \"personalReference\":\r\n return (\r\n <>\r\n

\r\n If you select no, please attest below to rule 1701 (B):\r\n

\r\n

LAPELS rule §1701 (B): Applications for licensure as a professional engineer or professional land surveyor shall be completed on the most current forms developed by the board.\r\n The application shall contain statements showing the applicant's qualifications, and the names and addresses of five personal references who recommend the applicant for licensure.\r\n None of the five personal references can be an immediate family member or business associate of the applicant. For purposes of this §1701.B,\r\n immediate family member is defined as a spouse, child, spouse of a child, sibling, spouse of a sibling, sibling of a spouse, parent, parent of a spouse,\r\n stepparent or stepchild. For purposes of this §1701.B, business associate is defined as a subordinate of the applicant,\r\n or a consultant or contractor who provides goods or services to the applicant or to a business, entity or agency in which the applicant is an owner,\r\n member, officer, director, trustee, partner, principal, manager, employee, associate, consultant or contractor...\r\n Three or more of the five personal references furnished by an applicant for licensure as a professional land surveyor shall be professional\r\n land surveyors holding valid licenses to engage in the practice of land surveying issued to them by proper authority of a state, territory, or possession of the United States,\r\n or the District of Columbia.\r\n Applicants for licensure as a professional engineer or professional land surveyor must also successfully complete the board’s Louisiana laws and rules quiz and\r\n Louisiana ethics and professionalism quiz prior to licensure. Additionally, applicants for licensure as a professional land surveyor must successfully complete\r\n the board’s Louisiana standards of practice for boundary surveys quiz prior to licensure.

\r\n

\r\n Five verified references are required - 3 of the 5 must have an active PLS license.\r\n

\r\n \r\n )\r\n break;\r\n case \"quiz\":\r\n return (\r\n <>\r\n
    \r\n
  • You must complete the online quizzes, with a minimum score of 90%:
  • \r\n
      \r\n
    • Louisiana Laws and Rules Quiz
    • \r\n
    • Louisiana Professionalism and Ethics Quiz
    • \r\n
    • Louisiana Standards of Practice for Boundary Surveys Quiz
    • \r\n
    \r\n
  • Quizzes can be found here: https://www.lapels.com/quiz
  • \r\n
  • You will receive a certificate by email once you have achieved the requisite score.
  • \r\n
  • You must take a screenshot of each certificate and upload the attachment below.
  • \r\n
\r\n \r\n )\r\n break;\r\n case \"sections\":\r\n return (\r\n <>\r\n
NOTE: Reinstatements are subject to revision and modification at any time.
\r\n
    \r\n
  • Read all of the instructions before you begin.
  • \r\n
  • Complete all required sections of the application; incomplete applications will not be processed.
  • \r\n
\r\n \r\n );\r\n case \"cpdRequirements\":\r\n return (\r\n <>\r\n

\r\n §3121. CPD Reinstatement
\r\n A. To become reinstated to an active status, a licensee in\r\n an expired, inactive, or retired status must have earned all PDHs which he/she would have been required to earn if\r\n he/she had been in an active status during the previous two\r\n calendar years as provided in §3105.\r\n

\r\n\r\n
    \r\n
  • PE:
  • \r\n
  • Professional Engineering must submit an approved log showing a total of 30 PDHs, of which two (2) must be in professional ethics, along with the certificates substantiating the PDHs claimed for the period of two (2) years prior to the date of this application.If you design buildings or building systems in Louisiana, of the 30 hours, eight (8) hours must be in life safety/ADA compliance.
  • \r\n
  • PLS:
  • \r\n
  • Professional Land Surveyors must submit an approved log showing a total of 16 PDHs, of which two (2) must be in professional ethics and two (2) must be in the standards of practice for boundary surveys in Louisiana, along with the certificates substantiating the PDHs claimed for the period of two (2) years prior to the date of this application.
  • \r\n
  • DUAL LICENSEES (PE/PLS):
  • \r\n
  • Professional Engineers and Surveyors wishing to apply to reinstate both licenses must submit an approved log showing a total of 30 PDHs which were earned within the past two (2) years from the date of this application, along with the certificates substantiating the PDHs. Of the 30 PDHs, two (2) must be in professional ethics, ten (10) of the hours must be earned in each profession, and two (2) must be in the standards of practice. If you design buildings or building systems in Louisiana, of the 30 hours, eight (8) hours must be in life safety/ADA compliance.
  • \r\n
\r\n\r\n\r\n\r\n \r\n );\r\n case \"disclosure\":\r\n return (\r\n

\r\n As part of the application process, the Louisiana Professional Engineering and Land Surveying Board (LAPELS) will obtain a consumer report, which I understand may include information regarding my credit worthiness, credit standing, credit capacity, character, general reputation, personal characteristics, or mode of living.\r\n

\r\n );\r\n case \"violations\":\r\n return (\r\n

\r\n In the case of answering “Yes” to the question below about unauthorized or unlicensed practice (Question #1), explain in detail the facts surrounding such practicing or offering to practice engineering in Louisiana and submit a list of all projects/jobs on which you offered to provide or provided engineering services in Louisiana during such period.\r\n Such list should include, for each such project/job, offer date, start date, completion date, client name, project/job name, project/job location and project/job descriptions. Upload additional pages if necessary.\r\n
\r\n
\r\n In the case of answering “Yes” to any of the questions below other than the question about unauthorized or unlicensed practice, provide the date(s) and pertinent facts of the case(s) or proceeding(s), including the final disposition (even if the information was previously provided to the Board).\r\n Upload additional pages if necessary.\r\n

\r\n );\r\n case \"acknowledgement\":\r\n return (\r\n <>\r\n

I, the applicant named in this application, have read the contents hereof, and to the best of my knowledge, information and believe the statements and information in this application are true and correct in substance and effect and are made in good faith. I have not omitted any information requested in this application. I am aware that such an omission or untrue response may constitute fraud or deceit, material misstatement, perjury or the giving of false or forged evidence under Louisiana Revised Statutes 37:698 and 37:700. I understand and agree that any responses verifying my education, personal references, and experience shall be considered privileged and confidential and that this information was not reviewed by me nor will it be available for my inspection or review in the future.

\r\n
    \r\n
  • It is your responsibility to check your LOLA account frequently for any pending issues. Ensure you add \"lapels.com\" to your \"Safe Senders\" list in your email application and/or (if applicable) in your network firewall.
  • \r\n
  • Once we receive a complete application, with no pending issues, process time may take 6-8 weeks.
  • \r\n
\r\n \r\n );\r\n case \"review\":\r\n return (\r\n <>\r\n
    \r\n
  • Click Validate to see if there are any issues within the {type} that you provided.
  • \r\n
  • If there are issues, please correct the issue in the respective section(s) by clicking the “Back to Sections” button below.
  • \r\n
  • Then return to the Review section to validate again.
  • \r\n
  • You will not be allowed to submit until all issues are corrected.
  • \r\n
\r\n

\r\n Once the {type} is validated successfully, additional buttons will appear:\r\n

    \r\n
  • Select “Download PDF” to download a copy of your {type} for your records
  • \r\n
  • Select “Submit Reinstatement” to add your {type} to the cart and see payment options.
  • \r\n
\r\n

\r\n\r\n

You will not have direct access to this review page after completing the {type} and submitting payment. To request a copy, please contact LAPELS staff.

\r\n \r\n )\r\n break;\r\n default:\r\n return (\r\n <>\r\n {\r\n //
This is sample text
\r\n //{fakeData}\r\n }\r\n \r\n )\r\n break;\r\n }\r\n}","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PLSAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualPlsApplication\";\r\n\r\nconst getContactInformation = (applicationId) => {\r\n return axios.get(`${PLSAPPLICATIONURL}/contactinformation`, { headers: authHeader(), params: {applicationId} });\r\n}\r\nconst postContactInformation = (applicationId, certDisplayName) => {\r\n return axios.post(`${PLSAPPLICATIONURL}/contactinformation`, null, { headers: authHeader(), params: { applicationId, certDisplayName } });\r\n}\r\nexport default {\r\n getContactInformation,\r\n postContactInformation\r\n}","import React, { useState } from 'react';\r\nimport ViolationIssueCommentItem from './ViolationIssueCommentItem';\r\nimport { Row, Col, InputGroup, FormControl, Button } from 'react-bootstrap';\r\nimport IssueService from '../../../services/Shared/issues.service';\r\n\r\nfunction ViolationIssueComment({ comments, issueClosed, issueId, type, isUserEditable }) {\r\n const [issueComments, updateIssueComments] = useState(comments);\r\n const [commentBox, updateCommentBox] = useState(\"\");\r\n const commentsMarkup = issueComments.map((item, i) => {\r\n return \r\n })\r\n const commentAdd = () => {\r\n if (commentBox) {\r\n IssueService.postIssueComment(issueId, commentBox, type).then((response) => {\r\n if (response.data) {\r\n updateIssueComments([...issueComments, response.data]);\r\n updateCommentBox(\"\");\r\n }\r\n });\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
Messages
\r\n
\r\n {commentsMarkup}\r\n \r\n \r\n \r\n updateCommentBox(e.target.value)}\r\n onKeyPress={event => {\r\n if (event.key === \"Enter\") {\r\n commentAdd();\r\n }\r\n }}\r\n disabled={(issueClosed || !isUserEditable) ? \"disabled\" : \"\"}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nexport default ViolationIssueComment;","import axios from \"axios\";\r\nimport authHeader from '../authheader'\r\n\r\nconst CHANGELOGURL = process.env.REACT_APP_APIURL + \"/api/ChangeLog\";\r\n\r\nconst getChangeLogData = (parentTypeId, parentId, sectionTypeId) => {\r\n return axios.get(`${CHANGELOGURL}/changelogentries`, { headers: authHeader(), params: { parentTypeId, parentId, sectionTypeId } });\r\n}\r\nconst getContactChangeLogData = (entityId) => {\r\n return axios.get(`${CHANGELOGURL}/contactchangelog`, { headers: authHeader(), params: { entityId } });\r\n}\r\nconst getCredentialChangeLogData = (entityId) => {\r\n return axios.get(`${CHANGELOGURL}/credentialchangelog`, { headers: authHeader(), params: { entityId } });\r\n}\r\n\r\nexport default {\r\n getChangeLogData,\r\n getContactChangeLogData,\r\n getCredentialChangeLogData\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Card, Row, Col, Button } from 'react-bootstrap'\r\nimport Swal from 'sweetalert2';\r\nimport ViolationIssueComment from '../Comments/ViolationIssueComment';\r\nimport IssueService from '../../../services/Shared/issues.service';\r\nimport ChangeLogService from '../../../services/Shared/changeLog.service';\r\nimport { Table } from 'rsuite';\r\nimport { sort_by } from '../HelperFunctions';\r\nimport { FaEdit} from 'react-icons/fa';\r\n\r\nfunction Issues({ type, sectionId, isInternal, setIsComplete, changeLog, isUserEditable }) {\r\n // sectionId is the section.id\r\n //type: 1-> Application, 2-> Reinstatement, 3-> Renewal\r\n const [issues, updateIssues] = useState([]);\r\n const [changeLogData, updateChangeLogData] = useState([]);\r\n\r\n useEffect(() => {\r\n updateIssuesList()\r\n }, [sectionId])\r\n\r\n const updateIssuesList = () => {\r\n if (sectionId)\r\n IssueService.getIssues(type, sectionId).then((response) => {\r\n if (response.data) {\r\n updateIssues(response.data);\r\n getChangeLogData()\r\n }\r\n })\r\n }\r\n\r\n const getChangeLogData = () => {\r\n if (changeLog) {\r\n ChangeLogService.getChangeLogData(type, changeLog.CurrentId, changeLog.SectionId).then((response) => {\r\n\r\n updateChangeLogData(response.data.sort(sort_by(\"dateMod\", true)))\r\n })\r\n }\r\n }\r\n\r\n const addIssue = () => {\r\n Swal.fire({\r\n title: 'Add issue for applicant here',\r\n input: 'textarea',\r\n inputAttributes: {\r\n autocapitalize: 'off'\r\n },\r\n showCancelButton: true,\r\n confirmButtonText: 'Add Issue',\r\n showLoaderOnConfirm: true,\r\n allowOutsideClick: () => !Swal.isLoading(),\r\n inputValidator: (value) => {\r\n return !value && 'Please enter an issue.'\r\n }\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n IssueService.postIssue(result.value, type, sectionId).then((response) => {\r\n if (response.data) {\r\n updateIssuesList()\r\n setIsComplete(false);\r\n Swal.fire(\r\n 'Issue Successfully Submitted!',\r\n `You submitted this issue: ${result.value}!`,\r\n 'success'\r\n )\r\n }\r\n });\r\n }\r\n })\r\n }\r\n const updateIssue = (issueId, currentIssue) => {\r\n Swal.fire({\r\n title: 'Update issue for applicant here',\r\n input: 'textarea',\r\n inputAttributes: {\r\n autocapitalize: 'off'\r\n },\r\n inputValue: currentIssue,\r\n showCancelButton: true,\r\n confirmButtonText: 'Edit Issue',\r\n showLoaderOnConfirm: true,\r\n allowOutsideClick: () => !Swal.isLoading(),\r\n inputValidator: (value) => {\r\n return !value && 'Please enter an issue.'\r\n }\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n IssueService.updateIssue(issueId, result.value, type, sectionId).then((response) => {\r\n if (response.data) {\r\n updateIssuesList()\r\n setIsComplete(false);\r\n Swal.fire(\r\n 'Issue Successfully Changed!',\r\n `You changed this issue from ${currentIssue} to ${result.value}!`,\r\n 'success'\r\n )\r\n }\r\n });\r\n }\r\n })\r\n }\r\n const toggleStatus = (event) => {\r\n var id = event.value;\r\n IssueService.toggleIssue(type, id, event.checked).then((response) => {\r\n if (response.data) {\r\n updateIssuesList();\r\n setIsComplete(false);\r\n }\r\n });\r\n }\r\n const issuesMarkup = issues.map((item, i) => {\r\n return (
\r\n \r\n \r\n
{item.formattedName}
\r\n \r\n \r\n
\r\n {isInternal ?\r\n <>\r\n  \r\n \r\n \r\n :\r\n <>\r\n {item.closed &&\r\n \r\n }\r\n \r\n }\r\n
\r\n \r\n
\r\n \r\n \r\n Issue created on {new Date(item.dateCrte).toLocaleString()}  \r\n {(!item.closed && isInternal) && updateIssue(item.id, item.text)} className={'issueEditIcon'} />}\r\n \r\n \r\n \r\n \r\n \r\n {item.text}\r\n \r\n \r\n
\r\n
\r\n
)\r\n });\r\n\r\n\r\n return (\r\n <>\r\n {((!isInternal && issues.length) || isInternal) ?\r\n <>\r\n {(changeLog != null) &&\r\n\r\n \r\n \r\n
{changeLog.Header}
\r\n
\r\n \r\n {changeLog.BodyText}\r\n
\r\n\r\n \r\n \r\n \r\n Date | Time\r\n \r\n {rowData => (new Date(rowData.dateMod).toLocaleString())}\r\n \r\n \r\n \r\n Field\r\n \r\n \r\n \r\n \r\n \r\n Old Value\r\n \r\n \r\n \r\n \r\n \r\n New Value\r\n \r\n \r\n \r\n \r\n \r\n User\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n }\r\n < Card className=\"w-100\" >\r\n \r\n \r\n \r\n
Issue(s) - For each issue below, you MUST add a comment and click “Submit” so staff knows that you responded. Do NOT respond to staff via email. Changes will NOT be saved until you click “Next Section”.\r\n
\r\n \r\n \r\n {(isInternal && isUserEditable) && }\r\n \r\n
\r\n
\r\n \r\n {issues.length ?\r\n <>\r\n {issuesMarkup}\r\n \r\n :
No Issues
\r\n }\r\n
\r\n \r\n \r\n :\r\n \"\"\r\n }\r\n \r\n )\r\n}\r\n\r\n\r\nexport default Issues;","import React, { useEffect, useState } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { Form } from 'rsuite';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/PlsInformation'\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { useHistory } from 'react-router-dom';\r\nimport PersonalInformation from '../../../../../Shared/Card/Contact/PersonalInformation';\r\nimport MailingAddress from '../../../../../Shared/Card/Contact/MailingAddress';\r\nimport PublicAddress from '../../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport applicationService from '../../../../../../services/Public/Application/PLS/plsApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport contactService from '../../../../../../services/Public/Application/PLS/contact.service';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport dayjs from 'dayjs';\r\n\r\nfunction ContactInformationPage() {\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const { push } = useHistory();\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 5 ? \"By Comity\" : appTypeId == 6 ? \"By Exam\" : \"\";\r\n const [formModel, setFormModel] = useState({});\r\n const [tabPane, setTabPane] = useState(\"personalInformation\")\r\n const [sectionData, setSectionData] = useState({});\r\n\r\n useEffect(() => {\r\n contactService.getContactInformation(appId).then((response) => {\r\n var data = response.data;\r\n\r\n setFormModel({\r\n ...data,\r\n dateOfBirth: data.dateOfBirth != null ? dayjs(data.dateOfBirth).format('YYYY-MM-DD') : null,\r\n altEmail: data.alternateEmailAddress?.emailAddress,\r\n primaryEmail: data.primaryEmailAddress?.emailAddress,\r\n cellPhoneNum: data.cellPhone?.phoneNumber,\r\n workPhoneNum: data.workPhone?.phoneNumber,\r\n homePhoneNum: data.homePhone?.phoneNumber\r\n })\r\n applicationService.plsGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n }, [])\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n submitData(true);\r\n }\r\n }\r\n\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n contactService.postContactInformation(appId, formModel.certificateName).then((response) => {\r\n if (isForSubmit && response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n }) \r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Land Surveyor Application {appType}\r\n

Contact

\r\n \r\n
\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)} onSubmit={formSubmit} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import React, { useEffect } from 'react';\r\nimport { Card, Row, Col, Button } from 'react-bootstrap'\r\nimport { FormControl, Icon, Uploader } from 'rsuite';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport YesNoRadioOption from '../../../../../Shared/RadioButton/YesNoRadioOption';\r\nimport RedStar from '../../../../../Shared/GenericComponents/RedStar';\r\nimport attachmentService from '../../../../../../services/Shared/attachment.service';\r\nimport GenericAttachmentGrid from '../../../../../Shared/Grid/GenericAttachmentGrid';\r\nimport DocumentUpload from '../../../../../Shared/Upload/DocumentUpload';\r\n\r\nfunction EducationRecord(props) {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
Education Records
\r\n \r\n
\r\n
\r\n \r\n

\r\n I have my education verified in MyNCEES account.\r\n

\r\n \r\n \r\n \r\n \r\n {props.hasMyNceesEducation == false &&\r\n \r\n You must create a MyNCEES account at ncees.org (https://account.ncees.org/login\r\n ), and have your transcript sent directly to NCEES. If you already have a MyNCEES account, you must have your education verified by NCEES\r\n \r\n }\r\n \r\n {(props.hasMyNceesEducation == true || props.hasMyNceesEducation == false) &&\r\n <>\r\n
\r\n

\r\n I have a ANSAC/ABET-accredited Geomatics degree.\r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {props.hasAnsacDegree == false &&\r\n <>\r\n
\r\n

\r\n I have a 4-year degree with approved 30 hours of surveying courses.\r\n

\r\n \r\n \r\n \r\n \r\n {props.hasFourYearDegree == true && // yes\r\n \r\n \r\n
    \r\n
  • Have all transcripts sent directly from your institutions to your MyNCEES
  • \r\n
  • Download the Approved Surveying Course \r\n list and the Course Evaluation Form from our website.\r\n
  • \r\n
  • In the event that you have not obtained Surveying Courses from our approved list, you must provide Syllabi for all courses that you want reviewed.
  • \r\n
\r\n
\r\n \r\n }\r\n {props.hasFourYearDegree == false && // no\r\n \r\n \r\n You may proceed to complete the application, but without 30 hours, you are not eligible for licensure in Louisiana. Contact staff at applications@lapels.com\r\n \r\n \r\n }\r\n
\r\n {props.hasFourYearDegree == true &&\r\n <>\r\n \r\n {!props.hasFiles &&\r\n
\r\n At least one attachment is required.\r\n
\r\n }\r\n \r\n }\r\n \r\n }\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\nexport default EducationRecord;","import React, { useEffect, useState } from 'react';\r\nimport { Container } from 'react-bootstrap';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport EducationRecord from './EducationRecords';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/PlsInformation';\r\nimport { useSelector } from 'react-redux';\r\nimport applicationService from '../../../../../../services/Public/Application/PLS/plsApplication.service';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction EducationPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [hasFiles, setHasFiles] = useState(false);\r\n const { push } = useHistory();\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 5 ? \"By Comity\" : appTypeId == 6 ? \"By Exam\" : \"\";\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 2;\r\n const [sectionData, setSectionData] = useState({});\r\n useEffect(() => {\r\n applicationService.plsGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n const { BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasMyNceesEducation: BooleanType().isRequired('This field is required.'),\r\n hasAnsacDegree: BooleanType().isRequired('This field is required.'),\r\n hasFourYearDegree: BooleanType().isRequired('This field is required.')\r\n });\r\n\r\n const submitForm = () => {\r\n if (!sectionData.isUserEditable)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n else {\r\n var validationObject = model.check(sectionData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n if (key == \"hasFourYearDegree\" && sectionData.hasAnsacDegree == true) {\r\n continue;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n }\r\n if (sectionData.hasFourYearDegree && !hasFiles) {\r\n return;\r\n }\r\n applicationService.plsPostEducationSection(appId, sectionId, sectionData.hasMyNceesEducation, sectionData.hasAnsacDegree, sectionData.hasFourYearDegree).then(() => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n }\r\n return (\r\n
\r\n \r\n Professional Land Surveyor Application {appType}\r\n

Education

\r\n \r\n
\r\n {hasLoaded ? <> setSectionData(data)}\r\n >\r\n \r\n
\r\n \r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default EducationPage;","import { useState, useEffect } from 'react'\r\nimport { Button, Card, Col, Modal, Row } from 'react-bootstrap'\r\nimport React from 'react'\r\nimport { ControlLabel, Schema, Form, FormControl, FormGroup, Input, Radio, RadioGroup } from 'rsuite'\r\nimport RedStar from '../../Shared/GenericComponents/RedStar';\r\nimport Address from '../../Shared/GenericComponents/Address';\r\n\r\n\r\nfunction AddEditPersonalReferenceModal(props) {\r\n const [referenceModel, setReferenceModel] = useState(\r\n {\r\n address: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: 0,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n firstOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: 0,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n secondOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: 0,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n reinstatementId: 0,\r\n dateCrte: null,\r\n deleted: false,\r\n email: \"\",\r\n entityId: 0,\r\n id: 0,\r\n name: \"\",\r\n userCrte: \"\",\r\n verificationStatus: null,\r\n membersOfSameFirm: null,\r\n notMembersOfSameFirmExplanation: '',\r\n dateFromFirstOccasion: null,\r\n dateToFirstOccasion: null,\r\n firstOccasionFirmName: '',\r\n firstOccasionPosition: '',\r\n firstOccasionReferencePosition: '',\r\n dateToSecondOccasion: null,\r\n dateFromSecondOccasion: null,\r\n secondOccasionFirmName: '',\r\n secondOccasionPosition: '',\r\n secondOccasionReferencePosition: '',\r\n modalType: \"Add\"\r\n })\r\n const [showErrors, setShowErrors] = useState(false);\r\n\r\n useEffect(() => {\r\n setReferenceModel(props.modaldata);\r\n }, [props.modaldata])\r\n\r\n const { StringType, ObjectType, ArrayType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n name: StringType().isRequired('This field is required.'),\r\n email: StringType().isRequired('This field is required.').isEmail('Enter in a valid Email'),\r\n membersOfSameFirm: BooleanType().isRequired('This field is required.'),\r\n notMembersOfSameFirmExplanation: StringType().isRequired('This field is required.'),\r\n firstOccasionFirmName: StringType().isRequired(\"This field is required\"),\r\n firstOccasionPosition: StringType().isRequired(\"This field is required\"),\r\n firstOccasionReferencePosition: StringType().isRequired(\"This field is required\"),\r\n dateToFirstOccasion: StringType().isRequired('This field is required'),\r\n dateFromFirstOccasion: StringType().isRequired('This field is required')\r\n })\r\n\r\n const addressModel = Schema.Model({\r\n streetAddress: StringType().isRequired('This field is required.'),\r\n country: ObjectType().isRequired('This field is required.'),\r\n city: StringType().isRequired('This field is required.'),\r\n postalCode: StringType().isRequired('This field is required.'),\r\n state: ObjectType().isRequired('This field is required.'),\r\n provinceRegion: StringType().isRequired('This field is required.'),\r\n })\r\n\r\n const validateAddress = (validationObject, model) => {\r\n var hasErrors = false;\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n var stateCountryValidation = (key.includes(\"provinceRegion\") && model.address?.country?.country !== \"United States\") ||\r\n (key === \"state\" && model.address?.country?.country === \"United States\");\r\n if (stateCountryValidation) {\r\n hasErrors = true;\r\n }\r\n else if (key !== \"state\" && key !== \"provinceRegion\") {\r\n hasErrors = true;\r\n }\r\n }\r\n }\r\n return hasErrors;\r\n }\r\n\r\n const formSubmit = (validation, event) => {\r\n setShowErrors(true);\r\n let hasErrors = false;\r\n var validationObject = model.check(referenceModel);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n if ((\r\n (key.includes(\"Occasion\") || !key.includes(\"notMembersOfSameFirmExplanation\")) && referenceModel.membersOfSameFirm)\r\n || (!referenceModel.membersOfSameFirm && !key.includes(\"Occasion\"))) {\r\n hasErrors = true;\r\n return;\r\n }\r\n }\r\n }\r\n if (!hasErrors) {\r\n var addressValidationObject = addressModel.check(referenceModel.address);\r\n hasErrors = validateAddress(addressValidationObject, referenceModel);\r\n }\r\n\r\n if (!hasErrors) {\r\n submitData();\r\n }\r\n }\r\n const handleMembersOfSameFirmChange = (value) => {\r\n if (value) {\r\n setReferenceModel({\r\n ...referenceModel,\r\n membersOfSameFirm: value,\r\n notMembersOfSameFirmExplanation: null,\r\n firstOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: referenceModel.entityId,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n secondOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: referenceModel.entityId,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n })\r\n }\r\n else {\r\n setReferenceModel({\r\n ...referenceModel,\r\n membersOfSameFirm: value,\r\n firstOccasionFirmAddress: null,\r\n secondOccasionFirmAddress: null,\r\n dateFromFirstOccasion: null,\r\n dateToFirstOccasion: null,\r\n firstOccasionFirmName: null,\r\n firstOccasionPosition: '',\r\n firstOccasionReferencePosition: null,\r\n dateToSecondOccasion: null,\r\n dateFromSecondOccasion: null,\r\n secondOccasionFirmName: null,\r\n secondOccasionPosition: null,\r\n secondOccasionReferencePosition: null,\r\n })\r\n }\r\n }\r\n const submitData = () => {\r\n var dataToTransmit = {\r\n ...referenceModel,\r\n id: referenceModel.id === '' ? 0 : referenceModel.id,\r\n dateToFirstOccasion: referenceModel.dateToFirstOccasion ? new Date(referenceModel.dateToFirstOccasion) : null,\r\n dateFromFirstOccasion: referenceModel.dateFromFirstOccasion ? new Date(referenceModel.dateFromFirstOccasion) : null,\r\n dateToSecondOccasion: referenceModel.dateToSecondOccasion ? new Date(referenceModel.dateToSecondOccasion) : null,\r\n dateFromSecondOccasion: referenceModel.dateFromSecondOccasion ? new Date(referenceModel.dateFromSecondOccasion) : null,\r\n\r\n dateCrte: new Date()\r\n };\r\n delete dataToTransmit.modalType;\r\n props.onsave(dataToTransmit).then((response) => {\r\n if (response.data.id) {\r\n props.updategrid();\r\n setShowErrors(false);\r\n props.onHide();\r\n }\r\n }).catch((response) => {\r\n })\r\n }\r\n return (\r\n \r\n \r\n \r\n {referenceModel.modalType} a Reference\r\n \r\n \r\n \r\n
setReferenceModel(referenceModel)} onSubmit={formSubmit} fluid>\r\n \r\n \r\n \r\n \r\n \r\n Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Email \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
{ setReferenceModel({ ...referenceModel, address: { ...value } }) }}\r\n id=\"addressForm\"\r\n >\r\n
\r\n \r\n
\r\n
setReferenceModel(referenceModel)} fluid>\r\n

\r\n Have you been members of the same firm?\r\n

\r\n
\r\n \r\n Yes\r\n No\r\n \r\n \r\n {referenceModel.membersOfSameFirm === true &&\r\n
\r\n \r\n
First Occasion
\r\n \r\n
setReferenceModel(data)} fluid>\r\n \r\n \r\n \r\n \r\n \r\n Firm Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Date From \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Date To \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Applicant's Position \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Reference's Position \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
{ setReferenceModel({ ...referenceModel, firstOccasionFirmAddress: { ...value } }) }}\r\n id=\"firstOccassionAddressForm\">\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
Second Occasion
\r\n \r\n
setReferenceModel(data)} fluid>\r\n \r\n \r\n \r\n \r\n \r\n Firm Name\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Date From\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Date To\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Applicant's Position\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Reference's Position\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
{ setReferenceModel({ ...referenceModel, secondOccasionFirmAddress: { ...value } }) }}\r\n id=\"secondOccassionAddressForm\">\r\n
\r\n \r\n \r\n \r\n
\r\n }\r\n {referenceModel.membersOfSameFirm === false &&\r\n
setReferenceModel(referenceModel)} fluid>\r\n
\r\n \r\n \r\n If not, please state how you know each other (include dates) \r\n \r\n \r\n \r\n
\r\n
}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default AddEditPersonalReferenceModal;","import React, { useState, useEffect } from 'react'\r\nimport { Badge, Button, Card, Col, Row } from 'react-bootstrap'\r\nimport { FormControl, Icon, Table } from 'rsuite'\r\nimport GenericBadge from '../../Shared/Badge/GenericBadge';\r\nimport RedStar from '../../Shared/GenericComponents/RedStar';\r\nimport YesNoRadioOption from '../../Shared/RadioButton/YesNoRadioOption';\r\n\r\nfunction References(props) {\r\n const [hideReferencesGrid, setHideReferencesGrid] = useState();\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [gridData, setGridData] = useState([]);\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n\r\n const handleChangePage = (dataKey) => {\r\n setPage(dataKey);\r\n }\r\n const handleChangeLength = (dataKey) => {\r\n setPage(1);\r\n setDisplayLength(dataKey);\r\n }\r\n\r\n useEffect(() => {\r\n setHideReferencesGrid(props.hasReferences ?? true);\r\n setGridData(props.griddata)\r\n setHasLoaded(true);\r\n }, [props.griddata])\r\n\r\n const getData = () => {\r\n return gridData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const filteredData = getData();\r\n const handleMyNceesReferencesChange = (val) => {\r\n setHideReferencesGrid(val);\r\n }\r\n\r\n return (\r\n
\r\n\r\n \r\n \r\n \r\n \r\n
References
\r\n \r\n {\r\n (!props.isReadOnly && hideReferencesGrid === false && !props.isInternal && (gridData.length > 0 || props.appType == \"reinstatement\")) &&\r\n \r\n }\r\n {\r\n props.isInternal && props.downloadPersonalReferences &&\r\n \r\n }\r\n
\r\n\r\n
\r\n \r\n

\r\n I have personal references listed in MyNCEES account.\r\n

\r\n
\r\n \r\n {(hideReferencesGrid === false && hasLoaded)\r\n &&\r\n
\r\n {(props.appType == \"reinstatement\" || gridData.length > 0) ? <>\r\n You will be required to send each personal reference form for verification.\r\n
\r\n \r\n \r\n \r\n Name\r\n \r\n \r\n \r\n \r\n \r\n Current Mailing Address\r\n \r\n {rowData => (rowData.address.streetAddress)}\r\n \r\n \r\n \r\n City/State\r\n \r\n {rowData => (`${rowData.address.city}, ${rowData.address.state?.code ?? rowData.address.provinceRegion}`)}\r\n \r\n \r\n \r\n Zip\r\n \r\n {rowData => (rowData.address.postalCode)}\r\n \r\n \r\n \r\n Email\r\n \r\n \r\n \r\n \r\n \r\n Verification Status\r\n \r\n {rowData => (rowData.verificationStatus ? : '')}\r\n \r\n\r\n \r\n \r\n \r\n \r\n {rowData => {\r\n const verificationStatusId = rowData.verificationStatus?.id;\r\n function handleAction() {\r\n if (!props.isReadOnly) {\r\n var tempData = { ...rowData, modalType: 'Edit' }\r\n props.openModal(tempData);\r\n }\r\n }\r\n function openVerifierModal() {\r\n props.openVerifierModal(rowData.id);\r\n }\r\n if (verificationStatusId > 1) {\r\n if (verificationStatusId == 4 && props.isInternal) {\r\n return (\r\n   \r\n \r\n )\r\n // \r\n // { props.emailReference(rowData) }} style={{ cursor: \"pointer\" }} />   \r\n //   \r\n // { props.deleteRow(rowData) }} style={{ cursor: \"pointer\" }} />\r\n // \r\n //);\r\n }\r\n }\r\n else {\r\n return (\r\n \r\n { props.emailReference(rowData) }} style={{ cursor: \"pointer\" }} />   \r\n   \r\n { props.deleteRow(rowData) }} style={{ cursor: \"pointer\" }} />\r\n \r\n );\r\n }\r\n }}\r\n \r\n \r\n\r\n
\r\n \r\n :\r\n Personal references are not accepted from applicants. Please have personal references verified on your MyNCEES account for application processing. If you have any questions, please contact LAPELS staff at applications@lapels.com\r\n }\r\n
}\r\n
\r\n

\r\n \"I attest that the personal references listed in my application are in compliance with rule 1701.B.\"\r\n

\r\n
\r\n\r\n\r\n \r\n \r\n
Electronic Signature of Applicant:
\r\n (Type full name)\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default References\r\n","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PLSAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualPlsApplication\";\r\n\r\nconst getPersonalReferences = (applicationId) => {\r\n return axios.get(`${PLSAPPLICATIONURL}/personalreferences`, { headers: authHeader(), params: {applicationId} });\r\n}\r\nconst postPersonalReference = (data) => {\r\n return axios.post(`${PLSAPPLICATIONURL}/personalreference`, data, { headers: authHeader() });\r\n}\r\n\r\nconst sendPersonalReferenceEmail = (referenceId) => {\r\n return axios.post(`${PLSAPPLICATIONURL}/sendreferenceemail`, null, { headers: authHeader(), params:{referenceId} });\r\n}\r\n\r\nexport default {\r\n getPersonalReferences,\r\n postPersonalReference,\r\n sendPersonalReferenceEmail\r\n}","import React, { useState, useEffect } from 'react'\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Container } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useSelector } from 'react-redux';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons'\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/PlsInformation';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport AddEditPersonalReferenceModal from '../../../../../Shared/Modal/AddEditPersonalReferenceModal';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport References from '../../../../../Shared/Card/References';\r\n\r\nimport personalReferenceService from '../../../../../../services/Public/Application/PLS/personalReferences.service'\r\nimport applicationService from '../../../../../../services/Public/Application/PLS/plsApplication.service';\r\nimport Swal from 'sweetalert2';\r\nimport dayjs from 'dayjs';\r\n\r\nfunction PersonalReferencesPage() {\r\n const { push } = useHistory();\r\n const [modalShow, setModalShow] = useState(false);\r\n const [hasLoaded, setHasLoaded] = useState(true);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const applicationId = useSelector(x => x.currentApplicationId);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 5 ? \"By Comity\" : appTypeId == 6 ? \"By Exam\" : \"\";\r\n const sectionId = 3;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [modalData, setModalData] = useState({\r\n address: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: 0,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n firstOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: 0,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n secondOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: 0,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n applicationId: 0,\r\n dateCrte: null,\r\n deleted: false,\r\n email: \"\",\r\n entityId: 0,\r\n id: 0,\r\n name: \"\",\r\n userCrte: \"\",\r\n verificationStatus: null,\r\n membersOfSameFirm: null,\r\n notMembersOfSameFirmExplanation: '',\r\n dateFromFirstOccasion: null,\r\n dateToFirstOccasion: null,\r\n firstOccasionFirmName: '',\r\n firstOccasionPosition: '',\r\n firstOccasionReferencePosition: '',\r\n dateToSecondOccasion: null,\r\n dateFromSecondOccasion: null,\r\n secondOccasionFirmName: '',\r\n secondOccasionPosition: '',\r\n secondOccasionReferencePosition: '',\r\n modalType: \"Add\"\r\n });\r\n const [gridData, setGridData] = useState([]);\r\n const [sectionData, setSectionData] = useState({});\r\n\r\n useEffect(() => {\r\n setHasLoaded(false)\r\n applicationService.plsGetSection(applicationId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n updateGridData();\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n\r\n\r\n const updateGridData = () => {\r\n personalReferenceService.getPersonalReferences(applicationId).then((response) => {\r\n setGridData(response.data);\r\n });\r\n }\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.'),\r\n hasReferences: BooleanType().isRequired('This field is required.')\r\n });\r\n const openAddEditModal = (values) => {\r\n if (values.id) {\r\n var data = {\r\n ...values,\r\n dateToFirstOccasion: values.dateToFirstOccasion ? dayjs(values.dateToFirstOccasion).format('YYYY-MM') : null,\r\n dateFromFirstOccasion: values.dateFromFirstOccasion ? dayjs(values.dateFromFirstOccasion).format('YYYY-MM') : null,\r\n dateToSecondOccasion: values.dateToSecondOccasion ? dayjs(values.dateToSecondOccasion).format('YYYY-MM') : null,\r\n dateFromSecondOccasion: values.dateFromSecondOccasion ? dayjs(values.dateFromSecondOccasion).format('YYYY-MM') : null,\r\n modalType: \"Edit\"\r\n }\r\n setModalData(data);\r\n }\r\n else {\r\n setModalData({\r\n address: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: entityId,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n firstOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: entityId,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n secondOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: entityId,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n applicationId: applicationId,\r\n dateCrte: null,\r\n deleted: false,\r\n email: \"\",\r\n entityId: entityId,\r\n id: 0,\r\n name: \"\",\r\n userCrte: \"\",\r\n verificationStatus: null,\r\n membersOfSameFirm: null,\r\n notMembersOfSameFirmExplanation: '',\r\n dateFromFirstOccasion: null,\r\n dateToFirstOccasion: null,\r\n firstOccasionFirmName: '',\r\n firstOccasionPosition: '',\r\n firstOccasionReferencePosition: '',\r\n dateToSecondOccasion: null,\r\n dateFromSecondOccasion: null,\r\n secondOccasionFirmName: '',\r\n secondOccasionPosition: '',\r\n secondOccasionReferencePosition: '',\r\n modalType: \"Add\"\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (validation) {\r\n applicationService.plsPostSection(applicationId, sectionId, sectionData.electronicSignature).then((signatureResponse) => {\r\n applicationService.plsPostSectionHasRef(applicationId, sectionId, sectionData.hasReferences).then((response) => {\r\n if (response.data && signatureResponse.data) // If both return something it's good to go\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n });\r\n });\r\n }\r\n }\r\n }\r\n\r\n const formSave = (event) => {\r\n applicationService.plsPostSection(applicationId, sectionId, sectionData.electronicSignature).then(() => {\r\n applicationService.plsPostSectionHasRef(applicationId, sectionId, sectionData.hasReferences).then(() => {\r\n Swal.fire(\"Saved!\");\r\n })\r\n });\r\n }\r\n\r\n const deleteRow = (rowData) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n personalReferenceService.postPersonalReference({ ...rowData, deleted: true }).then((response) => {\r\n updateGridData();\r\n })\r\n }\r\n })\r\n }\r\n const emailReference = (rowData) => {\r\n personalReferenceService.sendPersonalReferenceEmail(rowData.id).then((response) => {\r\n if (response.data) {\r\n Swal.fire(`You have successfully sent an email to ${rowData.name} at ${rowData.email}!`);\r\n updateGridData();\r\n }\r\n else\r\n Swal.fire(`Failed to send email: ${response.data.message}`);\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Land Surveyor Application {appType}\r\n

References

\r\n \r\n
\r\n

\r\n Personal References\r\n

\r\n {hasLoaded ? <>\r\n setModalShow(false)}\r\n onsave={personalReferenceService.postPersonalReference}\r\n />\r\n { setSectionData(data) }}\r\n onSubmit={formSubmit} >\r\n\r\n \r\n\r\n
\r\n \r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default PersonalReferencesPage\r\n","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PLSAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualPlsApplication\";\r\n\r\nconst getViolation = (applicationId) => {\r\n return axios.get(`${PLSAPPLICATIONURL}/violation`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postViolation = (data) => {\r\n return axios.post(`${PLSAPPLICATIONURL}/violation`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getViolation,\r\n postViolation\r\n}","import React, { useState } from 'react';\r\nimport { useEffect } from 'react';\r\nimport { Button, Card, Col, Row } from 'react-bootstrap';\r\nimport { ControlLabel, FormControl, FormGroup, Radio, RadioGroup, Uploader } from 'rsuite';\r\nimport RedStar from '../GenericComponents/RedStar';\r\nimport DocumentUpload from '../Upload/DocumentUpload';\r\n\r\nconst ErrorMessage = ({ children }) => {children};\r\n\r\n\r\nconst ViolationQuestion = ({ rowValue = {}, onChange, rowIndex, showFormErrors, isReadOnly, props }) => {\r\n const [errorMsg, setErrorMsg] = useState((rowValue.answer === true || rowValue.answer === false) ? \"\" : \"This field is required.\");\r\n const [explanationErrorMsg, setExplanationErrorMsg] = useState((!rowValue.violationExplanation && rowValue.codeViolationQuestion.hasExplanation) ? \"This field is required.\" : \"\");\r\n const handleChangeAnswer = value => {\r\n if (value === true || value === false)//undefined check\r\n setErrorMsg(\"\");\r\n onChange(rowIndex, { ...rowValue, answer: value });\r\n };\r\n const handleExplainationChange = value => {\r\n if (value) {\r\n setExplanationErrorMsg(\"\");\r\n }\r\n else {\r\n setExplanationErrorMsg(\"This field is required.\");\r\n }\r\n onChange(rowIndex, { ...rowValue, violationExplanation: value });\r\n }\r\n return (\r\n <>\r\n

\r\n {rowValue.codeViolationQuestion.question} \r\n
\r\n \r\n \r\n Yes\r\n No\r\n \r\n {showFormErrors ? {errorMsg} : null}\r\n \r\n {(rowValue.codeViolationQuestion.hasExplanation && rowValue.answer === true) ?\r\n <>\r\n

{rowValue.codeViolationQuestion.explanationText}

\r\n \r\n \r\n {showFormErrors ? {explanationErrorMsg} : null}\r\n \r\n \r\n \r\n : \"\"}\r\n

\r\n \r\n );\r\n};\r\nconst ViolationQuestionControl = ({ value = [], onChange, showFormErrors, isReadOnly, props }) => {\r\n const [answers, setAnswers] = useState(value);\r\n useEffect(() => { setAnswers(value) }, [value])\r\n const handleChangeAnswers = nextAnswers => {\r\n setAnswers(nextAnswers);\r\n onChange(nextAnswers);\r\n };\r\n const handleInputChange = (rowIndex, value) => {\r\n const nextAnswers = [...answers];\r\n nextAnswers[rowIndex] = value;\r\n handleChangeAnswers(nextAnswers);\r\n };\r\n return (\r\n <>\r\n {answers.map((rowValue, index) => (\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nfunction Violations(props) {\r\n return (\r\n \r\n \r\n \r\n \r\n
Violations
\r\n \r\n {props.downloadViolations &&\r\n \r\n \r\n \r\n }\r\n
\r\n
\r\n \r\n \r\n {props.showAdditionalFields ?\r\n <>\r\n

If the answer to any of these questions is \"Yes\", provide the date and the pertinent facts of the case or proceeding including its final disposition. Upload\r\n additional pages if necessary.

\r\n \r\n \r\n \r\n\r\n \r\n \r\n :\r\n null} {props.showBlukViolationExplanation ?\r\n <>\r\n

{props.showBlukViolationExplanation}

\r\n \r\n \r\n \r\n\r\n \r\n \r\n :\r\n null}\r\n {!props.hideSignature &&\r\n <>\r\n
\r\n\r\n DISCLOSURE\r\n

As part of the application process, the Louisiana Professional Engineering and Land Surveying Board (LAPELS) will obtain a consumer report, which I understand may\r\n include information regarding my credit worthiness, credit standing, credit capacity, character, general reputation, personal characteristics, or mode of living.\r\n

\r\n
\r\n AUTHORIZATION\r\n

\r\n During the application process and at any time during the tenure of my licensure with LAPELS, I hereby authorize First Advantage, on behalf of\r\n LAPELS, to procure a consumer report which I understand may include information regarding my credit worthiness, credit standing, credit capacity, character,\r\n general reputation, personal characteristics, or mode of living. This report may be compiled with information from credit bureaus, court record repositories, departments of\r\n motor vehicles, past or present employers and educational institutions, governmental occupational licensing or registration entities, business or personal references,\r\n and any other source required to verify information that I have voluntarily supplied. I understand that I may request a complete and accurate disclosure of the nature\r\n and scope of the background verification and a written summary of consumer rights; to the extent such investigation includes information bearing on my character, general\r\n reputation, personal characteristics or mode of living.\r\n

\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n Electronic Signature of Applicant:\r\n
\r\n (type your name)\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport { useSelector } from 'react-redux';\r\nimport ViolationService from '../../../../../../services/Public/Application/PLS/violation.service';\r\nimport applicationService from '../../../../../../services/Public/Application/PLS/plsApplication.service';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/PlsInformation';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { getCodeViolationAnswers } from '../../../../../../services/Shared/codeTable.service';\r\nimport GenericViolations from '../../../../../Shared/Card/Violations';\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 5 ? \"By Comity\" : appTypeId == 6 ? \"By Exam\" : \"\";\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n\r\n const sectionId = 4;\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n signature: StringType().isRequired('This field is required.'),\r\n yesAnswerExplanation: StringType().isRequired('This field is required.'),\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n applicationService.plsGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n ViolationService.getViolation(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, issues: formData.issues, files: formData.files, filesForDisplay: formData.filesForDisplay, signature: response.data.electronicSignature });\r\n }\r\n else {\r\n getCodeViolationAnswers(appTypeId).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n signature: undefined,\r\n yesAnswerExplanation: \"\",\r\n files: [],\r\n filesForDisplay: [],\r\n issues: []\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true) >= 0;\r\n\r\n const handleSubmit = (val, event) => {\r\n setShowFormErrors(true)\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n if (formData.signature) {\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, applicationId: store.currentApplicationId, entityId: store.userInfo.EntityId };\r\n ViolationService.postViolation(dataTransfer).then((response) => {\r\n applicationService.plsPostSection(store.currentApplicationId, sectionId, formData.signature).then((response) => {\r\n if (response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n })\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n Professional Land Surveyor Application {appType}\r\n

Violations

\r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import React, { useState, useEffect } from 'react'\r\nimport { Card, Row, Col } from 'react-bootstrap'\r\nimport { ControlLabel, FormGroup, FormControl, RadioGroup, Radio, Input, InputPicker, AutoComplete, Icon } from 'rsuite';\r\nimport { getEfCredentials, getVfCredentials } from '../../../services/Shared/codeTable.service';\r\nimport RedStar from '../GenericComponents/RedStar';\r\n\r\nfunction EmploymentLicensure({ type = \"VF\", isReadOnly, option, setOption, firmNumber, clearFirmNumber }) {\r\n const [creds, setCreds] = useState();\r\n const [contactLoading, setContactLoading] = useState(false);\r\n useEffect(() => {\r\n if (firmNumber?.licenseNumber)\r\n if (type == \"VF\") {\r\n getVfCredentials(firmNumber.licenseNumber).then(setCreds);\r\n }\r\n else {\r\n getEfCredentials(firmNumber.licenseNumber).then(setCreds);\r\n }\r\n }, [firmNumber])\r\n const updateCreds = (value) => {\r\n setContactLoading(true)\r\n if (type == \"VF\")\r\n getVfCredentials(value).then(setCreds);\r\n else if (type == \"EF\")\r\n getEfCredentials(value).then(setCreds);\r\n setContactLoading(false);\r\n }\r\n const test = () => {\r\n clearFirmNumber();\r\n }\r\n return (\r\n \r\n
Employment Licensure
\r\n \r\n \r\n \r\n \r\n If approved for licensure in Louisiana, I will be employed by:\r\n setOption(x)} readOnly={isReadOnly}>\r\n A firm that is currently licensed in Louisiana. If firm has an expired status, please select second option.\r\n {option == \"licensed\" &&\r\n {\r\n if (contactLoading) {\r\n return (\r\n

\r\n Loading...\r\n

\r\n );\r\n }\r\n return menu;\r\n }}\r\n readOnly={isReadOnly} />\r\n }\r\n A firm that is not licensed or expired in Louisiana. I understand a firm application or reinstate firm application must be submitted within three weeks of receiving or reinstating a Louisiana license.\r\n {option == \"unlicensed\" &&\r\n <>\r\n \r\n \r\n \r\n \r\n }\r\n I am a Sole Proprietor. In the comment box below, please list the name you will be practicing under in the state of Louisiana if approved.\r\n {option == \"soleProprietor\" &&\r\n \r\n 2301.C. Unless otherwise provided, sole proprietorships which are not legal entities, and which bear the full name of the owner who is a licensed professional are exempt from the application of this Chapter. Such sole proprietorships are not required to be licensed as engineering or land surveying firms with the board. Sole proprietorships which are not legal entities, and which do not bear the full name of the owner who is a licensed professional must be licensed with the board as an engineering or land surveying firm and must comply with all the provisions of this Chapter. For purposes of this §2301.C, legal entities is defined as domestic or foreign partnerships, associations, cooperatives, ventures, corporations, limited liability companies, limited liability partnerships, or other entities.\r\n \r\n }\r\n I will be seeking employment if approved for licensure in the state of Louisiana.\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n Comments:\r\n \r\n \r\n
\r\n
\r\n\r\n )\r\n}\r\nexport default EmploymentLicensure","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PLSAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualPlsApplication\";\r\n\r\nconst getEmployment = (applicationId) => {\r\n return axios.get(`${PLSAPPLICATIONURL}/employment`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postEmployment = (data) => {\r\n return axios.post(`${PLSAPPLICATIONURL}/employment`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getEmployment,\r\n postEmployment\r\n}","import React, { useState, useEffect } from 'react'\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/PlsInformation';\r\nimport EmploymentLicensure from '../../../../../Shared/Card/EmploymentLicensure';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport applicationService from '../../../../../../services/Public/Application/PLS/plsApplication.service';\r\nimport employmentService from '../../../../../../services/Public/Application/PLS/employment.service';\r\nimport { getVfCredential } from '../../../../../../services/Shared/codeTable.service';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction EmploymentPage() {\r\n const [sectionData, setSectionData] = useState({});\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const { StringType, ObjectType } = Schema.Types;\r\n const [option, setOption] = useState();\r\n const routes = useSelector(x => x.currentRoutes);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 5 ? \"By Comity\" : appTypeId == 6 ? \"By Exam\" : \"\";\r\n const sectionId = 5;\r\n const store = useSelector(x => x);\r\n const [formModel, setFormModel] = useState({\r\n id: 0,\r\n employedBy: '',\r\n licensedFirmType: '',\r\n firmNumber: null,\r\n comment: '',\r\n signature: ''\r\n })\r\n const model = Schema.Model({\r\n licensedFirmType: StringType().isRequired('This field is required'),\r\n comment: StringType().isRequired('This field is required'),\r\n employedBy: StringType().isRequired('This field is required'),\r\n firmNumber: ObjectType().isRequired(\"This field is required\"),\r\n });\r\n\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n employmentService.getEmployment(store.currentApplicationId).then((response) => {\r\n applicationService.plsGetSection(store.currentApplicationId, sectionId).then((data) => {\r\n setSectionData(data.data);\r\n if (response.data) {\r\n var licensedFirmType = \"\";\r\n if (response.data.firmIsLicensed)\r\n licensedFirmType = \"licensed\";\r\n else if (response.data.firmIsNotLicensed)\r\n licensedFirmType = \"unlicensed\";\r\n else if (response.data.soleProprietor)\r\n licensedFirmType = \"soleProprietor\";\r\n else if (response.data.unemployed)\r\n licensedFirmType = \"unemployed\"\r\n if (response.data.credentialId) {\r\n getVfCredential(response.data.credentialId).then((cred) => {\r\n setFormModel({\r\n id: response.data.id,\r\n employedBy: response.data.employedByName,\r\n firmNumber: cred?.value,\r\n comment: response.data.comment,\r\n licensedFirmType: licensedFirmType,\r\n });\r\n setOption(licensedFirmType);\r\n })\r\n }\r\n else {\r\n setFormModel({\r\n id: response.data.id,\r\n employedBy: response.data.employedByName,\r\n firmNumber: response.data.credentialId,\r\n comment: response.data.comment,\r\n licensedFirmType: licensedFirmType,\r\n });\r\n setOption(licensedFirmType);\r\n }\r\n }\r\n })\r\n })\r\n setHasLoaded(true);\r\n }, [])\r\n const clearFirmNumber = () => {\r\n setFormModel({ ...formModel, firmNumber: null });\r\n }\r\n const formSubmit = (validation, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var hasErrors = false;\r\n var validationObject = model.check(formModel);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n if (key === \"firmNumber\" && formModel.licensedFirmType === \"licensed\") {\r\n hasErrors = true;\r\n return\r\n }\r\n else if (key === \"employedBy\" && formModel.licensedFirmType === \"unlicensed\") {\r\n hasErrors = true;\r\n return\r\n }\r\n else if (key === \"comment\" && formModel.licensedFirmType === \"soleProprietor\") {\r\n hasErrors = true;\r\n return\r\n }\r\n else if (key === \"licensedFirmType\" || key === \"signature\") {\r\n hasErrors = true;\r\n return\r\n }\r\n }\r\n }\r\n if (!hasErrors) {\r\n submitData(true);\r\n }\r\n }\r\n }\r\n\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n var dataTransfer = {\r\n id: formModel.id,\r\n applicationId: store.currentApplicationId,\r\n comment: formModel.comment === \"\" ? null : formModel.comment,\r\n credentialId: formModel.firmNumber ? formModel.firmNumber.licenseNumber : null,\r\n employedByName: formModel.employedBy === \"\" ? null : formModel.employedBy,\r\n entityId: store.userInfo.EntityId,\r\n firmIsLicensed: formModel.licensedFirmType ? formModel.licensedFirmType == \"licensed\" ? true : false : null,\r\n firmIsNotLicensed: formModel.licensedFirmType ? formModel.licensedFirmType == \"unlicensed\" ? true : false : null,\r\n soleProprietor: formModel.licensedFirmType ? formModel.licensedFirmType == \"soleProprietor\" ? true : false : null,\r\n unemployed: formModel.licensedFirmType ? formModel.licensedFirmType == \"unemployed\" ? true : false : null\r\n };\r\n employmentService.postEmployment(dataTransfer).then((response) => {\r\n if (response.data && isForSubmit) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data) {\r\n var licensedFirmType = \"\";\r\n if (response.data.firmIsLicensed)\r\n licensedFirmType = \"licensed\";\r\n else if (response.data.firmIsNotLicensed)\r\n licensedFirmType = \"unlicensed\";\r\n else if (response.data.soleProprietor)\r\n licensedFirmType = \"soleProprietor\";\r\n else if (response.data.unemployed)\r\n licensedFirmType = \"unemployed\"\r\n if (response.data.credentialId) {\r\n getVfCredential(response.data.credentialId).then((cred) => {\r\n setFormModel({\r\n id: response.data.id,\r\n employedBy: response.data.employedByName,\r\n firmNumber: cred,\r\n comment: response.data.comment,\r\n licensedFirmType: licensedFirmType,\r\n });\r\n setOption(licensedFirmType);\r\n Swal.fire(\"Saved!\");\r\n })\r\n }\r\n else {\r\n setFormModel({\r\n id: response.data.id,\r\n employedBy: response.data.employedByName,\r\n firmNumber: response.data.credentialId,\r\n comment: response.data.comment,\r\n licensedFirmType: licensedFirmType,\r\n });\r\n setOption(licensedFirmType);\r\n Swal.fire(\"Saved!\");\r\n }\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Land Surveyor Application {appType}\r\n

Employment

\r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default EmploymentPage","import React, { useEffect, useState } from 'react'\r\nimport { Card, Container } from 'react-bootstrap'\r\nimport { Form, Schema } from 'rsuite'\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons'\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/PlsInformation';\r\nimport applicationService from '../../../../../../services/Public/Application/PLS/plsApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport DocumentUpload from '../../../../../Shared/Upload/DocumentUpload';\r\n\r\nfunction QuizzesPage() {\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const [hasFiles, setHasFiles] = useState(false);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 5 ? \"By Comity\" : appTypeId == 6 ? \"By Exam\" : \"\";\r\n const sectionId = 6;\r\n useEffect(() => {\r\n applicationService.plsGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data)\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n\r\n const { push } = useHistory();\r\n //const attachmentTypes = [\r\n // {\r\n // \"label\": \"Quiz - Laws and Rules (New License)\", \"value\": 5\r\n // },\r\n // {\r\n // \"label\": \"Quiz - Ethics (New License)\", \"value\": 6\r\n // },\r\n // {\r\n // \"label\": \"Quiz - Standards of Practice (New License)\", \"value\": 9\r\n // }\r\n //]\r\n\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n // e is the result of the validation\r\n if (hasFiles) {\r\n // do form post\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n }\r\n return (\r\n
\r\n \r\n Professional Land Surveyor Application {appType}\r\n

Quizzes

\r\n \r\n
\r\n {hasLoaded ?\r\n
{/*This is to make sure validation is triggered and form does nothing else*/}\r\n \r\n \r\n
Document Uploads
\r\n
\r\n \r\n \r\n {!hasFiles &&
Please select at least 1 file.
}\r\n
\r\n
\r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default QuizzesPage;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PLSAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualPlsApplication\";\r\nconst PEAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeApplication\";\r\n\r\nconst getExperienceRecords = (applicationId) => {\r\n return axios.get(`${PLSAPPLICATIONURL}/experiencerecords`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postExperienceRecord = (data) => {\r\n return axios.post(`${PLSAPPLICATIONURL}/experiencerecord`, data, { headers: authHeader() });\r\n}\r\nconst sendVerifierEmail = (experienceId) => {\r\n return axios.post(`${PLSAPPLICATIONURL}/sendexperienceverificationemail`, null, { headers: authHeader(), params: { experienceId } });\r\n}\r\nconst peGetExperienceRecords = (applicationId) => {\r\n return axios.get(`${PEAPPLICATIONURL}/experiencerecords`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst pePostExperienceRecord = (data) => {\r\n return axios.post(`${PEAPPLICATIONURL}/experiencerecord`, data, { headers: authHeader() });\r\n}\r\nconst peSendVerifierEmail = (experienceId) => {\r\n return axios.post(`${PEAPPLICATIONURL}/sendexperienceverificationemail`, null, { headers: authHeader(), params: { experienceId } });\r\n}\r\nexport default {\r\n getExperienceRecords,\r\n postExperienceRecord,\r\n sendVerifierEmail,\r\n peGetExperienceRecords,\r\n pePostExperienceRecord,\r\n peSendVerifierEmail\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Modal, Row, Col, Button } from 'react-bootstrap'\r\nimport NumberFormat from 'react-number-format';\r\nimport { Input, SelectPicker, Form, ControlLabel, Schema, FormControl, FormGroup, Icon } from 'rsuite';\r\nimport experienceService from '../../../../../../services/Public/Application/PLS/experience.service';\r\n//import reinstatementExperienceService from '../../../../../../services/Public/Reinstatement/PLS/experience.service';\r\nimport { getEmploymentTypes } from '../../../../../../services/Shared/codeTable.service';\r\nimport PhoneNumberMask from '../../../../../Shared/GenericComponents/PhoneNumberMask';\r\nimport RedStar from '../../../../../Shared/GenericComponents/RedStar';\r\n\r\nconst InputMask = ({ onChange, ...rest }) => {\r\n return (\r\n {\r\n onChange(event.target.value);\r\n }}\r\n />\r\n );\r\n};\r\n\r\nfunction AddEditExperienceRecordsModal(props) {\r\n const [recordModel, setRecordModel] = useState({\r\n applicationId: 0,\r\n comments: \"\",\r\n dateCrte: null,\r\n dateFrom: null,\r\n dateTo: null,\r\n deleted: false,\r\n employerName: \"\",\r\n employerPosition: \"\",\r\n employerEmail: \"\",\r\n employerPhone: \"\",\r\n verifierName: \"\",\r\n verifierPosition: \"\",\r\n verifierEmail: \"\",\r\n verifierPhone: \"\",\r\n employmentType: null,\r\n entityId: 0,\r\n id: 0,\r\n userCrte: \"\",\r\n position: \"\",\r\n location: \"\",\r\n description: \"\",\r\n acceptableDescription: \"\",\r\n //showErrors: false,\r\n emailAddresses: [\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 10,\r\n emailAddressParentType: \"Application Experience Employer\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 11,\r\n emailAddressParentType: \"Application Experience Verifier\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n phoneNumbers: [\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 10,\r\n phoneParentType: \"Application Experience Employer\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 11,\r\n phoneParentType: \"Application Experience Verifier\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n modalType: \"Add\"\r\n })\r\n const [employmentTypes, setEmploymentTypes] = useState([])\r\n useEffect(() => {\r\n getEmploymentTypes().then(setEmploymentTypes);\r\n setRecordModel(props.modaldata);\r\n }, [props.modaldata])\r\n\r\n const { StringType, ObjectType, NumberType } = Schema.Types;\r\n const model = Schema.Model({\r\n position: StringType().isRequired('This field is required.'),\r\n employerName: StringType().isRequired('This field is required.'),\r\n employerPosition: StringType().isRequired('This field is required.'),\r\n employerPhone: NumberType().pattern(/^[0-9]{10}/, \"Please enter a valid Phone Number\").isRequired(\"This field is required.\"),\r\n employerEmail: StringType().isRequired('This field is required.').isEmail(\"Enter a valid email\"),\r\n verifierName: StringType().isRequired('This field is required.'),\r\n verifierPosition: StringType().isRequired('This field is required.'),\r\n verifierPhone: NumberType().pattern(/^[0-9]{10}/, \"Please enter a valid Phone Number\").isRequired(\"This field is required.\"),\r\n verifierEmail: StringType().isRequired('This field is required.').isEmail(\"Enter a valid email\"),\r\n\r\n location: StringType().isRequired('This field is required.'),\r\n description: StringType().isRequired('This field is required.'),\r\n acceptableDescription: StringType().isRequired('This field is required.'),\r\n employmentType: ObjectType().isRequired('This field is required.'),\r\n dateFrom: StringType().isRequired('This field is required.'),\r\n dateTo: StringType().isRequired('This field is required.')\r\n })\r\n\r\n const formSubmit = (validation, event) => {\r\n var hasErrors = false;\r\n var validationObject = model.check(recordModel);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n hasErrors = true;\r\n return;\r\n }\r\n }\r\n if (!hasErrors) {\r\n submitData();\r\n }\r\n\r\n }\r\n const submitData = () => {\r\n var dataToTransmit = {\r\n ...recordModel,\r\n phoneNumbers: [\r\n {\r\n ...recordModel.phoneNumbers[0],\r\n contactPhoneNumber: recordModel.employerPhone\r\n },\r\n {\r\n ...recordModel.phoneNumbers[1],\r\n contactPhoneNumber: recordModel.verifierPhone\r\n }\r\n ],\r\n emailAddresses: [\r\n {\r\n ...recordModel.emailAddresses[0],\r\n contactEmailAddress: recordModel.employerEmail\r\n\r\n },\r\n {\r\n ...recordModel.emailAddresses[1],\r\n contactEmailAddress: recordModel.verifierEmail\r\n }\r\n ],\r\n dateFrom: new Date(recordModel.dateFrom),\r\n dateTo: new Date(recordModel.dateTo),\r\n id: recordModel.id === '' ? 0 : recordModel.id,\r\n };\r\n\r\n\r\n delete dataToTransmit.modalType;\r\n delete dataToTransmit.verifierEmail;\r\n delete dataToTransmit.verifierPhone;\r\n delete dataToTransmit.employerPhone;\r\n delete dataToTransmit.employerEmail;\r\n //delete dataToTransmit.showErrors;\r\n //if (props.appType === \"reinstatement\") {\r\n // reinstatementExperienceService.postExperienceRecord(dataToTransmit).then((response) => {\r\n // if (response.data.id) {\r\n // props.updateGrid();\r\n // props.onHide();\r\n // }\r\n // })\r\n //}\r\n //else {\r\n experienceService.postExperienceRecord(dataToTransmit).then((response) => {\r\n if (response.data.id) {\r\n props.updateGrid();\r\n props.onHide();\r\n }\r\n })\r\n //}\r\n }\r\n return (\r\n \r\n \r\n \r\n {recordModel.modalType} an Experience Record\r\n \r\n \r\n \r\n
setRecordModel(recordModel)} onSubmit={formSubmit} >\r\n \r\n \r\n \r\n \r\n \r\n Title of Position \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Location of Assignment/Engagement \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Description of Assignment \r\n \r\n indicate character of work and degree of responsibility \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n If not a licensed professional engineer/surveyor, explain why the experience should be considered acceptable. Otherwise, enter N/A. \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Employment Type \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Date From \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Date To \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n Employer Information \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Title \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Phone \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Email \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n Verifier Information \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Title \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Phone \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Email \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default AddEditExperienceRecordsModal;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PLSREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/IndividualPlsReinstatement\";\r\nconst PEREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeReinstatement\";\r\n\r\nconst getExperienceRecords = (reinstatementId) => {\r\n return axios.get(`${PLSREINSTATEMENTURL}/experiencerecords`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postExperienceRecord = (data) => {\r\n return axios.post(`${PLSREINSTATEMENTURL}/experiencerecord`, data, { headers: authHeader() });\r\n}\r\nconst sendVerifierEmail = (experienceId) => {\r\n return axios.post(`${PLSREINSTATEMENTURL}/sendexperienceverificationemail`, null, { headers: authHeader(), params: { experienceId } });\r\n}\r\nconst peGetExperienceRecords = (reinstatementId) => {\r\n return axios.get(`${PEREINSTATEMENTURL}/experiencerecords`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst pePostExperienceRecord = (data) => {\r\n return axios.post(`${PEREINSTATEMENTURL}/experiencerecord`, data, { headers: authHeader() });\r\n}\r\nconst peSendVerifierEmail = (experienceId) => {\r\n return axios.post(`${PEREINSTATEMENTURL}/sendexperienceverificationemail`, null, { headers: authHeader(), params: { experienceId } });\r\n}\r\nexport default {\r\n getExperienceRecords,\r\n postExperienceRecord,\r\n sendVerifierEmail,\r\n peGetExperienceRecords,\r\n pePostExperienceRecord,\r\n peSendVerifierEmail\r\n}","import dayjs from 'dayjs';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Card, Row, Col, Button } from 'react-bootstrap'\r\nimport { Icon, Table } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport experienceService from '../../../services/Public/Application/PLS/experience.service';\r\nimport reinstatementExperienceService from '../../../services/Public/Reinstatement/PLS/experience.service';\r\nimport GenericBadge from '../Badge/GenericBadge';\r\nimport RedStar from '../GenericComponents/RedStar';\r\nimport YesNoRadioOption from '../RadioButton/YesNoRadioOption';\r\n\r\n\r\nfunction Experience(props) {\r\n const [hideExperienceGrid, setHideExperienceGrid] = useState();\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [gridData, setGridData] = useState([]);\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n\r\n const handleChangePage = (dataKey) => {\r\n setPage(dataKey);\r\n }\r\n const handleChangeLength = (dataKey) => {\r\n setPage(1);\r\n setDisplayLength(dataKey);\r\n }\r\n\r\n useEffect(() => {\r\n if (props.isEi)\r\n setHideExperienceGrid(!props.hasMyNceesExperience ?? false);\r\n else\r\n setHideExperienceGrid(props.hasMyNceesExperience ?? true);\r\n setGridData(props.griddata)\r\n setHasLoaded(true);\r\n }, [props.griddata])\r\n\r\n const getData = () => {\r\n return gridData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const handleMyNceesExperienceChange = (val) => {\r\n if (props.isEi)\r\n setHideExperienceGrid(!val);\r\n else\r\n setHideExperienceGrid(val);\r\n }\r\n\r\n const filteredData = getData();\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
Experience Records
\r\n \r\n {(!props.isReadOnly && hideExperienceGrid == false && !props.isInternal && (props.appType === \"reinstatement\" || props.isEi || gridData.length > 0)) &&\r\n \r\n \r\n \r\n }\r\n {\r\n props.isInternal && props.downloadExperiences &&\r\n \r\n }\r\n
\r\n
\r\n \r\n

\r\n {props.isEi ?\r\n <>\r\n Have you been conferred in a Non-EAC/ABET undergrad degree that has not been coupled with\r\n a Master's Degree from a College or University with an EAC/ABET Bachelors program?\r\n \r\n :\r\n <>\r\n I have experience records listed in MyNCEES account.\r\n \r\n }\r\n

\r\n
\r\n \r\n {(hideExperienceGrid === false && hasLoaded) &&\r\n <>\r\n {(props.appType === \"reinstatement\" || props.isEi || gridData.length > 0) ? <>\r\n \r\n \r\n \r\n Title\r\n \r\n \r\n \r\n \r\n \r\n Employer Name\r\n \r\n \r\n \r\n \r\n \r\n Employment Type\r\n \r\n {rowData => (rowData.employmentType?.employmentType)}\r\n \r\n \r\n \r\n Dates From/To\r\n \r\n {rowData => (`${dayjs(rowData.dateFrom).format('MMM YYYY')} - ${dayjs(rowData.dateTo).format('MMM YYYY')}`)}\r\n \r\n \r\n \r\n Sent Date\r\n \r\n {rowData => (rowData.sentDate ? new Date(rowData.sentDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Response Date\r\n \r\n {rowData => (rowData.responseDate ? new Date(rowData.responseDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Verification Status\r\n \r\n {rowData => (rowData.verificationStatus ? : '')}\r\n \r\n {!props.isReadOnly &&\r\n \r\n \r\n \r\n \r\n {rowData => {\r\n const verificationStatusId = rowData.verificationStatus?.id;\r\n function handleAction() {\r\n props.openModal({ ...rowData });\r\n }\r\n function openVerifierModal() {\r\n props.openVerifierModal(rowData.id);\r\n }\r\n function emailVerifier(rowData) {\r\n if (props.appType === \"reinstatement\") {\r\n if (props.type == \"PE\")\r\n reinstatementExperienceService.peSendVerifierEmail(rowData.id).then((response) => {\r\n if (response.data) {\r\n var verifierEmail = rowData.emailAddresses.find(x => x.emailAddressParentType?.id == 11 || x.emailAddressParentType?.id == 13);\r\n Swal.fire(`You have successfully sent an email to ${rowData.verifierName} at ${verifierEmail.contactEmailAddress}!`);\r\n props.updateGrid();\r\n }\r\n else\r\n Swal.fire(`Failed to send email: ${response.data.message}`);\r\n })\r\n else {\r\n reinstatementExperienceService.sendVerifierEmail(rowData.id).then((response) => {\r\n if (response.data) {\r\n var verifierEmail = rowData.emailAddresses.find(x => x.emailAddressParentType?.id == 11 || x.emailAddressParentType?.id == 13);\r\n Swal.fire(`You have successfully sent an email to ${rowData.verifierName} at ${verifierEmail.contactEmailAddress}!`);\r\n props.updateGrid();\r\n }\r\n else\r\n Swal.fire(`Failed to send email: ${response.data.message}`);\r\n })\r\n }\r\n }\r\n else {\r\n if (props.type == \"PE\")\r\n experienceService.peSendVerifierEmail(rowData.id).then((response) => {\r\n if (response.data) {\r\n var verifierEmail = rowData.emailAddresses.find(x => x.emailAddressParentType?.id == 11 || x.emailAddressParentType?.id == 13);\r\n Swal.fire(`You have successfully sent an email to ${rowData.verifierName} at ${verifierEmail.contactEmailAddress}!`);\r\n props.updateGrid();\r\n }\r\n else\r\n Swal.fire(`Failed to send email: ${response.data.message}`);\r\n })\r\n else {\r\n experienceService.sendVerifierEmail(rowData.id).then((response) => {\r\n if (response.data) {\r\n var verifierEmail = rowData.emailAddresses.find(x => x.emailAddressParentType?.id == 11 || x.emailAddressParentType?.id == 13);\r\n Swal.fire(`You have successfully sent an email to ${rowData.verifierName} at ${verifierEmail.contactEmailAddress}!`);\r\n props.updateGrid();\r\n }\r\n else\r\n Swal.fire(`Failed to send email: ${response.data.message}`);\r\n })\r\n }\r\n }\r\n }\r\n function handleDelete() {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n if (props.appType === \"reinstatement\") {\r\n reinstatementExperienceService.postExperienceRecord({ ...rowData, deleted: true }).then((response) => {\r\n if (response.data)\r\n props.updateGrid();\r\n })\r\n }\r\n else {\r\n experienceService.postExperienceRecord({ ...rowData, deleted: true }).then((response) => {\r\n if (response.data)\r\n props.updateGrid();\r\n })\r\n }\r\n }\r\n })\r\n }\r\n if (verificationStatusId > 1) {\r\n if (verificationStatusId == 4 && props.isInternal) {\r\n return (\r\n \r\n   \r\n \r\n \r\n );\r\n }\r\n }\r\n else {\r\n return (\r\n \r\n { emailVerifier(rowData) }} style={{ cursor: \"pointer\" }} />   \r\n   \r\n \r\n \r\n );\r\n }\r\n\r\n }\r\n }\r\n \r\n \r\n }\r\n
\r\n \r\n :\r\n Experience records are not accepted from applicants. Please have experience records verified on your MyNCEES account for application processing. If you have any questions, please contact LAPELS staff at applications@lapels.com\r\n }\r\n \r\n }\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\n\r\nexport default Experience;","import React, { useEffect, useState } from 'react'\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport {GetAppInformationContent } from '../../../../../Shared/InformationContent/PlsInformation';\r\nimport AddEditExperienceRecordsModal from './ExperienceRecordModal';\r\nimport Experience from '../../../../../Shared/Card/Experience';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport applicationService from '../../../../../../services/Public/Application/PLS/plsApplication.service';\r\nimport experienceService from '../../../../../../services/Public/Application/PLS/experience.service';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport dayjs from 'dayjs';\r\n\r\nfunction ExperiencePage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n\r\n const [modalShow, setModalShow] = useState(false);\r\n const [gridData, setGridData] = useState([]);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 5 ? \"By Comity\" : appTypeId == 6 ? \"By Exam\" : \"\";\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 7;\r\n const [modalData, setModalData] = useState({});\r\n useEffect(() => {\r\n setHasLoaded(false)\r\n applicationService.plsGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n updateGridData();\r\n setHasLoaded(true)\r\n })\r\n }, [])\r\n const { BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasMyNceesExperience: BooleanType().isRequired('This field is required.')\r\n });\r\n const openAddEditModal = (values) => {\r\n if (values.id) {\r\n setModalData(\r\n {\r\n ...values,\r\n verifierEmail: values.emailAddresses[1].contactEmailAddress,\r\n verifierPhone: values.phoneNumbers[1].contactPhoneNumber,\r\n employerEmail: values.emailAddresses[0].contactEmailAddress,\r\n employerPhone: values.phoneNumbers[0].contactPhoneNumber,\r\n dateFrom: values.dateFrom ? dayjs(values.dateFrom).format('YYYY-MM') : null,\r\n dateTo: values.dateTo ? dayjs(values.dateTo).format('YYYY-MM') : null,\r\n modalType: 'Edit'\r\n });\r\n }\r\n else {\r\n setModalData({\r\n applicationId: appId,\r\n comments: \"\",\r\n dateCrte: null,\r\n dateFrom: null,\r\n dateTo: null,\r\n deleted: false,\r\n employerName: \"\",\r\n employerPosition: \"\",\r\n verifierName: \"\",\r\n verifierPosition: '',\r\n verifierEmail: \"\",\r\n verifierPhone: \"\",\r\n employerEmail: \"\",\r\n employerPhone: \"\",\r\n employmentType: null,\r\n entityId: entityId,\r\n id: 0,\r\n userCrte: \"\",\r\n position: \"\",\r\n location: \"\",\r\n description: \"\",\r\n acceptableDescription: \"\",\r\n emailAddresses: [\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 10,\r\n emailAddressParentType: \"Application Experience Employer\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 11,\r\n emailAddressParentType: \"Application Experience Verifier\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n phoneNumbers: [\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 10,\r\n phoneParentType: \"Application Experience Employer\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 11,\r\n phoneParentType: \"Application Experience Verifier\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n modalType: \"Add\"\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n const { push } = useHistory();\r\n\r\n const handleSubmit = (validation, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (validation) {\r\n applicationService.plsPostSectionHasExperience(appId, sectionId, sectionData.hasMyNceesExperience).then((response) => {\r\n if (response.data) // If both return something it's good to go\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n });\r\n }\r\n }\r\n }\r\n const updateGridData = () => {\r\n experienceService.getExperienceRecords(appId).then((response) => {\r\n setGridData(response.data)\r\n });\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Land Surveyor Application {appType}\r\n

Experience

\r\n \r\n
\r\n {hasLoaded ? <>\r\n {modalShow &&\r\n setModalShow(false)} proptitle=\"Add\" />\r\n }\r\n
setSectionData(data)}>\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ExperiencePage","import React from 'react'\r\nimport { Card, Row, Col } from 'react-bootstrap'\r\nimport { FormControl } from 'rsuite'\r\nimport RedStar from '../GenericComponents/RedStar'\r\n\r\nfunction Acknowledgement(props) {\r\n return (\r\n \r\n
Acknowledgement
\r\n \r\n
    \r\n
  • \r\n I certify that all information provided in this online {props.appType} is true and correct to the best of my knowledge, information and belief.\r\n
  • \r\n
  • \r\n I am aware that an omission or untrue response may constitute fraud, deceit, material misstatement, perjury or the giving of false or forged evidence under Louisiana Revised Statutes 37:698 and 37:700\r\n
  • \r\n\r\n
  • \r\n IMPORTANT: Payments are non-refundable. If you believe that you will be reimbursed for your fee, verify this BEFORE proceeding further\r\n
  • \r\n
  • \r\n If you are unsure about getting reimbursed by your firm, please stop the application process here and come back after you verify. Your answers will be saved.\r\n
  • \r\n
\r\n
\r\n \r\n \r\n
Electronic Signature of Applicant:
\r\n (Type full name)\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default Acknowledgement","import React, { useEffect, useState } from 'react'\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Acknowledgement from '../../../../../Shared/Card/Acknowledgement';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/PlsInformation';\r\nimport applicationService from '../../../../../../services/Public/Application/PLS/plsApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction AcknowledgementPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false)\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 5 ? \"By Comity\" : appTypeId == 6 ? \"By Exam\" : \"\";\r\n const sectionId = 8;\r\n const [formModel, setFormModel] = useState({})\r\n useEffect(() => {\r\n applicationService.plsGetSection(appId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!formModel.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n applicationService.plsPostSection(appId, sectionId, formModel.electronicSignature).then((response) => {\r\n if (isForSubmit && response.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Land Surveyor Application {appType}\r\n

Acknowledgement

\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react';\r\nimport { useRef } from 'react';\r\nimport Swal from 'sweetalert2';\r\nimport { Button } from 'react-bootstrap';\r\nimport { FaFile, FaPrint } from 'react-icons/fa';\r\nimport authHeader from \"../../../services/authheader\";\r\nimport axios from \"axios\";\r\nimport './ReviewPdf.css';\r\n\r\n\r\nfunction ReviewPdf(props) {\r\n const downloadPdf = () => {\r\n var urlProps = {};\r\n switch (props.parentTypeId) {\r\n case 1: // Application\r\n urlProps = {\r\n url: process.env.REACT_APP_APIURL + \"/Reports/ApplicationPdf?applicationId=\" + props.id,\r\n name: \"ApplicationPdf.pdf\"\r\n }\r\n break;\r\n case 2: // Reinstatement\r\n urlProps = {\r\n url: process.env.REACT_APP_APIURL + \"/Reports/ReinstatementPdf?reinstatementId=\" + props.id,\r\n name: \"ReinstatementPdf.pdf\"\r\n }\r\n break;\r\n case 3: // Renewal\r\n urlProps = {\r\n url: process.env.REACT_APP_APIURL + \"/Reports/RenewalPdf?renewalId=\" + props.id,\r\n name: \"RenewalPdf.pdf\"\r\n }\r\n break;\r\n }\r\n Swal.fire({\r\n title: 'Generating PDF',\r\n didOpen: () => {\r\n Swal.showLoading();\r\n axios.post(urlProps.url, null, { headers: authHeader(), responseType: 'arraybuffer' }).then((response) => {\r\n var name = new String(response.headers['content-disposition']);\r\n const downloadUrl = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = downloadUrl;\r\n link.setAttribute('download', urlProps.name);\r\n document.body.appendChild(link);\r\n Swal.close()\r\n link.click();\r\n link.remove();\r\n });\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default ReviewPdf;","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/PlsInformation';\r\nimport applicationService from '../../../../../../services/Public/Application/application.service';\r\nimport plsApplicationService, { getSections } from '../../../../../../services/Public/Application/PLS/plsApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../../Shared/Card/ReviewPdf';\r\nimport { List } from 'rsuite';\r\nimport shoppingCartService from '../../../../../../services/Public/shoppingCart.service';\r\nimport Swal from 'sweetalert2';\r\n\r\nfunction ReviewPage() {\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const [hasIssues, setHasIssues] = useState(true)\r\n const { push } = useHistory();\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 5 ? \"By Comity\" : appTypeId == 6 ? \"By Exam\" : \"\";\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const sectionId = 9;\r\n const [allSections, setAllSections] = useState([]);\r\n const [sectionData, setSectionData] = useState({});\r\n useEffect(() => {\r\n getSections().then(setAllSections);\r\n plsApplicationService.plsGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n })\r\n }, [])\r\n\r\n const navigateToPage = (sectionId) => {\r\n push(routes.filter(x => x.sectionId == (sectionId))[0].route)\r\n }\r\n const validateApplication = () => {\r\n setHasLoaded(false);\r\n applicationService.validateApplication(appId).then((response) => {\r\n let errors = response.data.map((error, i) => {\r\n return { navigateToPage(error.sectionId) }}>\r\n Error{error.errors.length > 1 ? 's' : ''} in {allSections.filter(x => x.id == error.sectionId)[0].sectionTitle}: {error.errors.join(', ')}\r\n \r\n })\r\n if (response.data?.length)\r\n setViolationIssuesHtml(\r\n \r\n {errors}\r\n \r\n )\r\n else {\r\n setViolationIssuesHtml('')\r\n setHasIssues(false);\r\n Swal.fire(\"Validation Successful\", `Your application passed all validation checks. You may now download a PDF version to keep for your records.`, 'success')\r\n }\r\n setHasLoaded(true);\r\n })\r\n }\r\n const submitApplication = () => {\r\n setHasLoaded(false);\r\n applicationService.getIndividualApplication(appId).then((response) => {\r\n shoppingCartService.addToShoppingCart(appId, response.data.applicationType.id == 5 ? 10 : 9).then((data) => {\r\n if (data.data) { push('/individual/shoppingcart'); }\r\n\r\n })\r\n })\r\n\r\n //applicationService.submitApplication(appId).then((data) => {\r\n // if (data.data?.length) {\r\n // setHasIssues(true);\r\n // let errors = data.data.map((error, i) => {\r\n // return { navigateToPage(error.sectionId) }}>\r\n // Error{error.errors.length > 1 ? 's' : ''} in {allSections.filter(x => x.id == error.sectionId)[0].sectionTitle}: {error.errors.join(', ')}\r\n // \r\n // })\r\n // setViolationIssuesHtml(\r\n // \r\n // {errors}\r\n // \r\n // )\r\n // setHasLoaded(true);\r\n // }\r\n // else {\r\n // setHasIssues(false);\r\n // setViolationIssuesHtml(\"\")\r\n // plsApplicationService.plsGetSection(appId, sectionId).then((response) => {\r\n // setSectionData(response.data);\r\n // setHasLoaded(true);\r\n // })\r\n // }\r\n //})\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Land Surveyor Application {appType}\r\n

Review

\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {sectionData.isUserEditable ?\r\n : \r\n }\r\n {hasLoaded ?\r\n <>\r\n {\r\n (!hasIssues && sectionData.isUserEditable) && <>\r\n \r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n {violationIssuesHtml}\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PLSREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/IndividualPlsReinstatement\";\r\n\r\nconst getContactInformation = (reinstatementId) => {\r\n return axios.get(`${PLSREINSTATEMENTURL}/contactinformation`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nexport default {\r\n getContactInformation\r\n}","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst plsGetSection = (reinstatementId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/IndividualPlsReinstatement/section`, { headers: authHeader(), params: { reinstatementId, sectionId } });\r\n}\r\nconst plsPostSection = (reinstatementId, sectionId, electronicSignature) => {\r\n\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPlsReinstatement/signsection`, null, { headers: authHeader(), params: { reinstatementId, sectionId, electronicSignature } });\r\n}\r\nconst plsPostSectionHasRef = (reinstatementId, sectionId, hasReferences) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPlsReinstatement/setsectionhasreferences`, null, { headers: authHeader(), params: { reinstatementId, sectionId, hasReferences } });\r\n}\r\nconst plsPostSectionHasCpd = (reinstatementId, sectionId, hasCpd) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPlsReinstatement/setsectionhascpd`, null, { headers: authHeader(), params: { reinstatementId, sectionId, hasCpd } });\r\n}\r\nconst plsPostSectionHasExperience = (reinstatementId, sectionId, hasMyNceesExperience) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPlsReinstatement/setsectionhasmynceesexperience`, null, { headers: authHeader(), params: { reinstatementId, sectionId, hasMyNceesExperience } });\r\n}\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Ensure your contact information, including your mailing and public addresses are up to date. Ensure you put LAPELS emails on your safe sender list.\",\r\n },\r\n {\r\n id: 2,\r\n sectionTitle: \"Employment\",\r\n sectionContent: \"Verify Louisiana Employment Firm licensure\",\r\n },\r\n {\r\n id: 3,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 4,\r\n sectionTitle: \"Quizzes\",\r\n sectionContent: \"Upload the confirmation for Online Laws and Rules, the Online Professionalism & Ethics and the Online Louisiana Standards of Practice for Boundary Surveys quizzes.\",\r\n },\r\n {\r\n id: 5,\r\n sectionTitle: \"CPD Requirements\",\r\n sectionContent: \"Verify CPD requirements for Active status for each of the calendar years.\",\r\n },\r\n {\r\n id: 6,\r\n sectionTitle: \"Personal References\",\r\n sectionContent: \"Complete this section listing all personal references.\",\r\n },\r\n {\r\n id: 7,\r\n sectionTitle: \"Experience Record\",\r\n sectionContent: \"Include a GRAND TOTAL of all experience\",\r\n },\r\n {\r\n id: 8,\r\n sectionTitle: \"Disclosure\",\r\n sectionContent: \"Authorize LAPELS staff to procure a consumer report.\",\r\n },\r\n {\r\n id: 9,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Electronically sign (type your name) and date.\",\r\n }\r\n ,\r\n {\r\n id: 10,\r\n sectionTitle: \"Review\",\r\n sectionContent: 'Review your answers. If you need to change an answer, click the \"Section\" above to go back to the appropriate section',\r\n }\r\n])\r\n\r\nexport default {\r\n plsGetSection,\r\n plsPostSection,\r\n plsPostSectionHasRef,\r\n plsPostSectionHasCpd,\r\n plsPostSectionHasExperience\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { Form } from 'rsuite';\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Swal from 'sweetalert2';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport { GetAppInformationContent, GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/PlsInformation'\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport PersonalInformation from '../../../../../Shared/Card/Contact/PersonalInformation';\r\nimport MailingAddress from '../../../../../Shared/Card/Contact/MailingAddress';\r\nimport PublicAddress from '../../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\n\r\nimport contactService from '../../../../../../services/Public/Reinstatement/PLS/contact.service';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/PLS/plsReinstatement.service';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport dayjs from 'dayjs';\r\n\r\nfunction ContactInformationPage() {\r\n\r\n const { push } = useHistory();\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [formModel, setFormModel] = useState({});\r\n const [tabPane, setTabPane] = useState(\"personalInformation\")\r\n const [sectionData, setSectionData] = useState({});\r\n useEffect(() => {\r\n contactService.getContactInformation(appId).then((response) => {\r\n var data = response.data;\r\n\r\n setFormModel({\r\n ...data,\r\n dateOfBirth: data.dateOfBirth != null ? dayjs(data.dateOfBirth).format('YYYY-MM-DD') : null,\r\n altEmail: data.alternateEmailAddress?.contactEmailAddress,\r\n primaryEmail: data.primaryEmailAddress?.contactEmailAddress,\r\n cellPhoneNum: data.cellPhone?.contactPhoneNumber,\r\n workPhoneNum: data.workPhone?.contactPhoneNumber,\r\n homePhoneNum: data.homePhone?.contactPhoneNumber\r\n })\r\n reinstatementService.plsGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n }, [])\r\n\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!sectionData?.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n submitData(true);\r\n }\r\n }\r\n\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n\r\n if (isForSubmit) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n Swal.fire(\"Saved!\");\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Land Surveyor Reinstatement\r\n

Contact

\r\n \r\n
\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)} onSubmit={formSubmit} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n {\r\n hasLoaded &&\r\n <>\r\n
\r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import React, { useEffect, useState } from 'react'\r\nimport { Card, Container } from 'react-bootstrap'\r\nimport { Form, Schema } from 'rsuite'\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons'\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/PlsInformation';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/PLS/plsReinstatement.service';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport DocumentUpload from '../../../../../Shared/Upload/DocumentUpload';\r\n\r\nfunction QuizzesPage() {\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [hasFiles, setHasFiles] = useState(false);\r\n const sectionId = 4;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [sectionData, setSectionData] = useState({});\r\n useEffect(() => {\r\n reinstatementService.plsGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data)\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n\r\n const { push } = useHistory();\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n // e is the result of the validation\r\n if (hasFiles) {\r\n // do form post\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n }\r\n //const attachmentTypes = [\r\n // {\r\n // \"label\": \"Quiz - Laws and Rules\", \"value\": 15\r\n // },\r\n // {\r\n // \"label\": \"Quiz - Ethics\", \"value\": 16\r\n // },\r\n // {\r\n // \"label\": \"Quiz - Standards of Practice\", \"value\": 17\r\n // }\r\n //]\r\n return (\r\n
\r\n \r\n Professional Land Surveyor Reinstatement\r\n

Quizzes

\r\n \r\n
\r\n {hasLoaded ?\r\n
{/*This is to make sure validation is triggered and form does nothing else*/}\r\n \r\n \r\n
Document Uploads
\r\n
\r\n \r\n \r\n {!hasFiles &&
Please select at least 1 file.
}\r\n
\r\n
\r\n
\r\n \r\n \r\n : \r\n }\r\n\r\n
\r\n
\r\n )\r\n}\r\nexport default QuizzesPage;","import React from 'react'\r\nimport { Card, Row, Col, Badge, } from 'react-bootstrap'\r\nimport { FormControl } from 'rsuite'\r\nimport RedStar from '../../../../../Shared/GenericComponents/RedStar'\r\nimport DocumentUpload from '../../../../../Shared/Upload/DocumentUpload';\r\n\r\nfunction Courses(props) {\r\n return (\r\n \r\n \r\n
Courses
\r\n
\r\n \r\n
\r\n CPD Records must include the LAPELS approved CPD log with all certificates/proof of attendance uploaded in the section below.\r\n You may also choose to upload your CPD documentation in your NCEES CPC locker at ncees.org.\r\n
\r\n Course records must cover the last 24 months prior to starting this reinstatement application.\r\n }\r\n setHasFiles={props.setHasFiles}\r\n />\r\n {!props.hasFiles &&
Please upload at least 1 file.
}\r\n
\r\n
\r\n

\r\n The CPD credits listed herein are true and correct, and accurately state the professional development hours I have earned.\r\n

\r\n
\r\n \r\n \r\n
Electronic Signature of Applicant:
\r\n (Type full name)\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default Courses\r\n\r\n","import React, { useState, useEffect } from 'react'\r\nimport { Container } from 'react-bootstrap'\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/PLS/plsReinstatement.service';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons'\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/PlsInformation';\r\nimport Courses from './Courses'\r\n\r\nfunction CpdRequirementsPage() {\r\n const { push } = useHistory();\r\n const [formModel, setFormModel] = useState({\r\n electronicSignature: \"\",\r\n hasCpd: ''\r\n });\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [hasFiles, setHasFiles] = useState(false);\r\n const sectionId = 5;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.'),\r\n });\r\n useEffect(() => {\r\n reinstatementService.plsGetSection(reinstatementId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n const formSubmit = (validation, event) => {\r\n if (!formModel.isUserEditable) {\r\n push(routes[routes.map(function (x) { return x.sectionId }).indexOf(sectionId) + 1].route)\r\n }\r\n else {\r\n if (validation && hasFiles) {\r\n submitData(true);\r\n }\r\n }\r\n }\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n const submitData = (isForSubmit) => {\r\n reinstatementService.plsPostSection(reinstatementId, sectionId, formModel.electronicSignature).then((response) => {\r\n if (isForSubmit && response.data.id) {\r\n push(routes[routes.map(function (x) { return x.sectionId }).indexOf(sectionId) + 1].route)\r\n }\r\n else if (response.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n else {\r\n Swal.fire(\"Error saving cpd\")\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Land Surveyor Reinstatement\r\n

\r\n CPD Requirements\r\n

\r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit} fluid>\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default CpdRequirementsPage","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, ListGroup } from 'react-bootstrap';\r\nimport Section from '../../../../../Shared/Sections/Section';\r\nimport { getSections } from '../../../../../../services/Public/Reinstatement/PLS/plsReinstatement.service';\r\nimport { useSelector } from 'react-redux';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/PlsInformation';\r\nimport issuesService from '../../../../../../services/Shared/issues.service';\r\n\r\nfunction Index() {\r\n const [sections, setSections] = useState(null);\r\n const selector = useSelector(x => x);\r\n useEffect(() => {\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(3, selector.currentApplicationId).then((data) => {\r\n setSections(selector.currentRoutes != null ? selector.currentRoutes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route;\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n })\r\n });\r\n }, [])\r\n\r\n return (\r\n
\r\n \r\n Professional Land Surveyor Reinstatement\r\n

Reinstatement

\r\n \r\n \r\n \r\n
\r\n \r\n \r\n

Sections to Complete

\r\n \r\n {sections}\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default Index;","import React, { useState, useEffect } from 'react'\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container, Row, Col, Card } from 'react-bootstrap';\r\nimport { Form, FormControl, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Acknowledgement from '../../../../../Shared/Card/Acknowledgement';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/PlsInformation';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/PLS/plsReinstatement.service';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport RedStar from '../../../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction AcknowledgementPage() {\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const sectionId = 9;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [formModel, setFormModel] = useState({})\r\n useEffect(() => {\r\n reinstatementService.plsGetSection(reinstatementId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n setHasLoaded(true)\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!formModel.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n const submitData = (isForSubmit) => {\r\n reinstatementService.plsPostSection(reinstatementId, sectionId, formModel.electronicSignature).then((response) => {\r\n if (isForSubmit && response.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n Professional Land Surveyor Reinstatement\r\n

Acknowledgement

\r\n {hasLoaded ?\r\n <>\r\n \r\n
Requirements/Information/Acknowledgement
\r\n \r\n

I, the applicant named in this application, have read the contents hereof, and to the best of my knowledge, information and believe the statements and information in this application are true and correct in substance and effect and are made in good faith. I have not omitted any information requested in this application. I am aware that such an omission or untrue response may constitute fraud or deceit, material misstatement, perjury or the giving of false or forged evidence under Louisiana Revised Statutes 37:698 and 37:700. I understand and agree that any responses verifying my education, personal references, and experience shall be considered privileged and confidential and that this information was not reviewed by me nor will it be available for my inspection or review in the future.

\r\n
\r\n
    \r\n
  • It is your responsibility to check your LOLA account frequently for any pending issues. Ensure you add \"lapels.com\" to your \"Safe Senders\" list in your email application and/or (if applicable) in your network firewall.
  • \r\n
  • Once we receive a complete application, with no pending issues, process time may take 6-8 weeks.
  • \r\n
  • \r\n I certify that all information provided in this online reinstatement is true and correct to the best of my knowledge, information and belief.\r\n
  • \r\n
  • \r\n I am aware that an omission or untrue response may constitute fraud, deceit, material misstatement, perjury or the giving of false or forged evidence under Louisiana Revised Statutes 37:698 and 37:700\r\n
  • \r\n\r\n
  • \r\n IMPORTANT: Payments are non-refundable. If you believe that you will be reimbursed for your fee, verify this BEFORE proceeding further\r\n
  • \r\n
  • \r\n If you are unsure about getting reimbursed by your firm, please stop the application process here and come back after you verify. Your answers will be saved.\r\n
  • \r\n
\r\n
\r\n \r\n \r\n
Electronic Signature of Applicant:
\r\n (Type full name)\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n : \r\n }\r\n\r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PLSREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/IndividualPlsReinstatement\";\r\n\r\nconst getEmployment = (reinstatementId) => {\r\n return axios.get(`${PLSREINSTATEMENTURL}/employment`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postEmployment = (data) => {\r\n return axios.post(`${PLSREINSTATEMENTURL}/employment`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getEmployment,\r\n postEmployment\r\n}","import React, { useState, useEffect } from 'react'\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent, GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/PlsInformation';\r\nimport EmploymentLicensure from '../../../../../Shared/Card/EmploymentLicensure';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/PLS/plsReinstatement.service';\r\nimport employmentService from '../../../../../../services/Public/Reinstatement/PLS/employment.service';\r\nimport { getVfCredential } from '../../../../../../services/Shared/codeTable.service';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction EmploymentPage() {\r\n const [sectionData, setSectionData] = useState({});\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const { StringType, ObjectType } = Schema.Types;\r\n const [option, setOption] = useState();\r\n const sectionId = 2;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const store = useSelector(x => x);\r\n const [formModel, setFormModel] = useState({\r\n id: 0,\r\n reinstatementId: store.currentApplicationId,\r\n employedBy: '',\r\n licensedFirmType: '',\r\n firmNumber: null,\r\n comment: ''\r\n })\r\n const model = Schema.Model({\r\n licensedFirmType: StringType().isRequired('This field is required'),\r\n comment: StringType().isRequired('This field is required'),\r\n firmNumber: ObjectType().isRequired('This field is required'),\r\n employedBy: StringType().isRequired('This field is required')\r\n });\r\n\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n employmentService.getEmployment(store.currentApplicationId).then((response) => {\r\n reinstatementService.plsGetSection(store.currentApplicationId, sectionId).then((data) => {\r\n setSectionData(data.data);\r\n if (response.data) {\r\n var licensedFirmType = \"\";\r\n if (response.data.firmIsLicensed)\r\n licensedFirmType = \"licensed\";\r\n else if (response.data.firmIsNotLicensed)\r\n licensedFirmType = \"unlicensed\";\r\n else if (response.data.soleProprietor)\r\n licensedFirmType = \"soleProprietor\";\r\n else if (response.data.unemployed)\r\n licensedFirmType = \"unemployed\"\r\n if (response.data.credentialId) {\r\n getVfCredential(response.data.credentialId).then((cred) => {\r\n setFormModel({\r\n id: response.data.id,\r\n employedBy: response.data.employedByName,\r\n firmNumber: cred?.value,\r\n comment: response.data.comment,\r\n licensedFirmType: licensedFirmType\r\n });\r\n setOption(licensedFirmType);\r\n })\r\n }\r\n else {\r\n setFormModel({\r\n id: response.data.id,\r\n employedBy: response.data.employedByName,\r\n firmNumber: response.data.credentialId,\r\n comment: response.data.comment,\r\n licensedFirmType: licensedFirmType\r\n });\r\n setOption(licensedFirmType);\r\n }\r\n }\r\n setHasLoaded(true);\r\n })\r\n })\r\n\r\n }, [])\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var hasErrors = false;\r\n var validationObject = model.check(formModel);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n if (key === \"firmNumber\" && formModel.licensedFirmType === \"licensed\") {\r\n hasErrors = true;\r\n return\r\n }\r\n else if (key === \"employedBy\" && formModel.licensedFirmType === \"unlicensed\") {\r\n hasErrors = true;\r\n return\r\n }\r\n else if (key === \"comment\" && formModel.licensedFirmType === \"soleProprietor\") {\r\n hasErrors = true;\r\n return\r\n }\r\n else if (key === \"licensedFirmType\") {\r\n hasErrors = true;\r\n return\r\n }\r\n }\r\n }\r\n if (!hasErrors) {\r\n submitData(true);\r\n }\r\n }\r\n }\r\n const formSave = (event) => {\r\n var didSave = submitData();\r\n if (didSave) {\r\n //display saved message\r\n }\r\n else {\r\n //display error message\r\n }\r\n }\r\n const clearFirmNumber = () => {\r\n setFormModel({ ...formModel, firmNumber: null });\r\n }\r\n const submitData = (isForSubmit) => {\r\n var dataTransfer = {\r\n id: formModel.id,\r\n reinstatementId: store.currentApplicationId,\r\n comment: formModel.comment,\r\n credentialId: formModel.firmNumber ? formModel.firmNumber.licenseNumber : null,\r\n employedByName: formModel.employedBy,\r\n entityId: store.userInfo.EntityId,\r\n firmIsLicensed: formModel.licensedFirmType ? formModel.licensedFirmType == \"licensed\" ? true : false : null,\r\n firmIsNotLicensed: formModel.licensedFirmType ? formModel.licensedFirmType == \"unlicensed\" ? true : false : null,\r\n soleProprietor: formModel.licensedFirmType ? formModel.licensedFirmType == \"soleProprietor\" ? true : false : null,\r\n unemployed: formModel.licensedFirmType ? formModel.licensedFirmType == \"unemployed\" ? true : false : null\r\n };\r\n employmentService.postEmployment(dataTransfer).then((response) => {\r\n reinstatementService.plsPostSection(store.currentApplicationId, sectionId, formModel.signature).then((data) => {\r\n if (response.data && isForSubmit) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data) {\r\n var licensedFirmType = \"\";\r\n if (response.data.firmIsLicensed)\r\n licensedFirmType = \"licensed\";\r\n else if (response.data.firmIsNotLicensed)\r\n licensedFirmType = \"unlicensed\";\r\n else if (response.data.soleProprietor)\r\n licensedFirmType = \"soleProprietor\";\r\n else if (response.data.unemployed)\r\n licensedFirmType = \"unemployed\"\r\n if (response.data.credentialId) {\r\n getVfCredential(response.data.credentialId).then((cred) => {\r\n setFormModel({\r\n id: response.data.id,\r\n employedBy: response.data.employedByName,\r\n firmNumber: cred,\r\n comment: response.data.comment,\r\n licensedFirmType: licensedFirmType\r\n });\r\n setOption(licensedFirmType);\r\n Swal.fire(\"Saved!\");\r\n })\r\n }\r\n else {\r\n setFormModel({\r\n id: response.data.id,\r\n employedBy: response.data.employedByName,\r\n firmNumber: response.data.credentialId,\r\n comment: response.data.comment,\r\n licensedFirmType: licensedFirmType\r\n });\r\n setOption(licensedFirmType);\r\n Swal.fire(\"Saved!\");\r\n }\r\n\r\n }\r\n })\r\n });\r\n //post formData to api\r\n //return bool didSave\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Land Surveyor Reinstatement\r\n

Employment

\r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default EmploymentPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PLSAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualPlsReinstatement\";\r\n\r\nconst getPersonalReferences = (reinstatementId) => {\r\n return axios.get(`${PLSAPPLICATIONURL}/personalreferences`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postPersonalReference = (data) => {\r\n return axios.post(`${PLSAPPLICATIONURL}/personalreference`, data, { headers: authHeader() });\r\n}\r\nconst sendPersonalReferenceEmail = (referenceId) => {\r\n return axios.post(`${PLSAPPLICATIONURL}/sendreferenceemail`, null, { headers: authHeader(), params: { referenceId } });\r\n}\r\nexport default {\r\n getPersonalReferences,\r\n postPersonalReference,\r\n sendPersonalReferenceEmail\r\n}","import React, { useState, useEffect } from 'react'\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Container } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useSelector } from 'react-redux';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons'\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/PlsInformation';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport AddEditPersonalReferenceModal from '../../../../../Shared/Modal/AddEditPersonalReferenceModal';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport References from '../../../../../Shared/Card/References';\r\n\r\nimport personalReferenceService from '../../../../../../services/Public/Reinstatement/PLS/personalReference.service'\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/PLS/plsReinstatement.service'\r\nimport Swal from 'sweetalert2';\r\nimport dayjs from 'dayjs';\r\n\r\nfunction PersonalReferencesPage() {\r\n const { push } = useHistory();\r\n const [modalShow, setModalShow] = useState(false);\r\n const [hasLoaded, setHasLoaded] = useState(true);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 6;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [modalData, setModalData] = useState({\r\n address: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: 0,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n firstOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: 0,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n secondOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: 0,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n reinstatementId: 0,\r\n dateCrte: null,\r\n deleted: false,\r\n email: \"\",\r\n entityId: 0,\r\n id: 0,\r\n name: \"\",\r\n userCrte: \"\",\r\n verificationStatus: null,\r\n membersOfSameFirm: null,\r\n notMembersOfSameFirmExplanation: '',\r\n dateFromFirstOccasion: null,\r\n dateToFirstOccasion: null,\r\n firstOccasionFirmName: '',\r\n firstOccasionPosition: '',\r\n firstOccasionReferencePosition: '',\r\n dateToSecondOccasion: null,\r\n dateFromSecondOccasion: null,\r\n secondOccasionFirmName: '',\r\n secondOccasionPosition: '',\r\n secondOccasionReferencePosition: '',\r\n modalType: \"Add\"\r\n });\r\n const [gridData, setGridData] = useState([]);\r\n const [sectionData, setSectionData] = useState({});\r\n\r\n useEffect(() => {\r\n setHasLoaded(false)\r\n reinstatementService.plsGetSection(reinstatementId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n updateGridData();\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n\r\n\r\n const updateGridData = () => {\r\n personalReferenceService.getPersonalReferences(reinstatementId).then((response) => {\r\n setGridData(response.data);\r\n });\r\n }\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.'),\r\n hasReferences: BooleanType().isRequired('This field is required.')\r\n });\r\n const openAddEditModal = (values) => {\r\n if (values.id) {\r\n var data = {\r\n ...values,\r\n dateToFirstOccasion: values.dateToFirstOccasion ? dayjs(values.dateToFirstOccasion).format('YYYY-MM') : null,\r\n dateFromFirstOccasion: values.dateFromFirstOccasion ? dayjs(values.dateFromFirstOccasion).format('YYYY-MM') : null,\r\n dateToSecondOccasion: values.dateToSecondOccasion ? dayjs(values.dateToSecondOccasion).format('YYYY-MM') : null,\r\n dateFromSecondOccasion: values.dateFromSecondOccasion ? dayjs(values.dateFromSecondOccasion).format('YYYY-MM') : null,\r\n modalType: \"Edit\"\r\n }\r\n setModalData(data);\r\n }\r\n else {\r\n setModalData({\r\n address: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: entityId,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n firstOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: entityId,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n secondOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: entityId,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n reinstatementId: reinstatementId,\r\n dateCrte: null,\r\n deleted: false,\r\n email: \"\",\r\n entityId: entityId,\r\n id: 0,\r\n name: \"\",\r\n userCrte: \"\",\r\n verificationStatus: null,\r\n membersOfSameFirm: null,\r\n notMembersOfSameFirmExplanation: '',\r\n dateFromFirstOccasion: null,\r\n dateToFirstOccasion: null,\r\n firstOccasionFirmName: '',\r\n firstOccasionPosition: '',\r\n firstOccasionReferencePosition: '',\r\n dateToSecondOccasion: null,\r\n dateFromSecondOccasion: null,\r\n secondOccasionFirmName: '',\r\n secondOccasionPosition: '',\r\n secondOccasionReferencePosition: '',\r\n modalType: \"Add\"\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (validation) {\r\n reinstatementService.plsPostSection(reinstatementId, sectionId, sectionData.electronicSignature).then((signatureResponse) => {\r\n reinstatementService.plsPostSectionHasRef(reinstatementId, sectionId, sectionData.hasReferences).then((response) => {\r\n if (response.data && signatureResponse.data) // If both return something it's good to go\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n });\r\n });\r\n }\r\n }\r\n }\r\n\r\n const formSave = (event) => {\r\n reinstatementService.plsPostSection(reinstatementId, sectionId, sectionData.electronicSignature).then(() => {\r\n reinstatementService.plsPostSectionHasRef(reinstatementId, sectionId, sectionData.hasReferences).then(() => {\r\n Swal.fire(\"Saved!\")\r\n })\r\n });\r\n }\r\n\r\n const deleteRow = (rowData) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n personalReferenceService.postPersonalReference({ ...rowData, deleted: true }).then((response) => {\r\n updateGridData();\r\n })\r\n }\r\n })\r\n }\r\n\r\n const emailReference = (rowData) => {\r\n personalReferenceService.sendPersonalReferenceEmail(rowData.id).then((response) => {\r\n if (response.data) {\r\n Swal.fire(`You have successfully sent an email to ${rowData.name} at ${rowData.email}!`);\r\n updateGridData();\r\n }\r\n else\r\n Swal.fire(`Failed to send email: ${response.data.message}`);\r\n })\r\n }\r\n\r\n\r\n return (\r\n
\r\n \r\n Professional Land Surveyor Reinstatement\r\n

References

\r\n \r\n
\r\n

\r\n Personal References\r\n

\r\n {hasLoaded ? <>\r\n setModalShow(false)}\r\n onsave={personalReferenceService.postPersonalReference}\r\n />\r\n { setSectionData(data) }}\r\n onSubmit={formSubmit} >\r\n\r\n \r\n\r\n
\r\n \r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default PersonalReferencesPage\r\n","import React from 'react';\r\nimport { Card, Row, Col, Button } from 'react-bootstrap'\r\nimport { FormGroup, FormControl, ControlLabel } from 'rsuite';\r\nimport NumberFormat from 'react-number-format';\r\nimport * as FaIcons from 'react-icons/fa';\r\nimport RedStar from '../GenericComponents/RedStar';\r\n\r\nfunction DisclosureAuthorization({isInternal}) {\r\n return (\r\n
\r\n \r\n
Authorization
\r\n \r\n

During the application process and at any time during the tenure of my licensure with LAPELS, I hereby authorize First Advantage,\r\n on behalf of LAPELS, to procure a consumer report which I understand may include information regarding my credit worthiness, credit standing, credit capacity,\r\n character, general reputation, personal characteristics, or mode of living. This report may be compiled with information from credit bureaus, court record repositories,\r\n departments of motor vehicles, past or present employers and educational institutions, governmental occupational licensing or registration entities, business or personal references,\r\n and any other source required to verify information that I have voluntarily supplied. I understand that I may request a complete and accurate disclosure of the nature and\r\n scope of the background verification and a written summary of consumer rights; to the extent such investigation includes information bearing on my character, general reputation, personal characteristics or mode of living.

\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n Electronic Signature of Applicant:\r\n
\r\n (type your name)\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {isInternal &&\r\n <>\r\n *Fields below will appear on printouts generated by internal LAPELS staff\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Date\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Date of Birth\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Social Security Number\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n }\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default DisclosureAuthorization;","import React, { useState, useEffect } from 'react';\r\nimport { Container } from 'react-bootstrap'\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport { useHistory } from 'react-router-dom';\r\nimport DisclosureAuthorization from '../../../../../Shared/Card/DisclosureAuthorization';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/PlsInformation';\r\nimport { useSelector } from 'react-redux';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/PLS/plsReinstatement.service';\r\nimport Swal from 'sweetalert2';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport dayjs from 'dayjs';\r\n\r\nfunction DisclosurePage() {\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const sectionId = 8;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [formModel, setFormModel] = useState({})\r\n useEffect(() => {\r\n reinstatementService.plsGetSection(reinstatementId, sectionId).then((response) => {\r\n setFormModel({\r\n ...response.data,\r\n dateOfBirth: response.data.dateOfBirth != null ? dayjs(response.data.dateOfBirth).format('YYYY-MM-DD') : null,\r\n dateSigned: response.data.dateSigned != null ? dayjs(response.data.dateSigned).format('YYYY-MM-DD') : null\r\n });\r\n setHasLoaded(true)\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!formModel.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n const submitData = (isForSubmit) => {\r\n reinstatementService.plsPostSection(reinstatementId, sectionId, formModel.electronicSignature).then((response) => {\r\n if (isForSubmit && response.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Land Surveyor Reinstatement\r\n
\r\n

Disclosure

\r\n
\r\n \r\n
\r\n { hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default DisclosurePage;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PLSREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/IndividualPlsReinstatement\";\r\n\r\nconst getViolation = (reinstatementId) => {\r\n return axios.get(`${PLSREINSTATEMENTURL}/violation`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postViolation = (data) => {\r\n return axios.post(`${PLSREINSTATEMENTURL}/violation`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getViolation,\r\n postViolation\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/PLS/plsReinstatement.service';\r\nimport violationService from '../../../../../../services/Public/Reinstatement/PLS/violation.service';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/PlsInformation';\r\nimport { getReinstatementCodeViolationAnswers } from '../../../../../../services/Shared/codeTable.service';\r\nimport GenericViolations from '../../../../../Shared/Card/Violations';\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 3;\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n signature: StringType().isRequired('This field is required.'),\r\n yesAnswerExplanation: StringType().isRequired('This field is required.'),\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n reinstatementService.plsGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n violationService.getViolation(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, issues: formData.issues, files: formData.files, filesForDisplay: formData.filesForDisplay, signature: response.data.electronicSignature });\r\n }\r\n else {\r\n getReinstatementCodeViolationAnswers(5).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n signature: undefined,\r\n yesAnswerExplanation: \"\",\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true && x.codeViolationQuestion.versionNumber < 3) >= 0;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n\r\n\r\n //Verison 3+ violations\r\n const showBlukViolationExplanation = formData?.answers?.findIndex(x => x.answer == true && !x.codeViolationQuestion.hasExplanation && x.codeViolationQuestion.versionNumber >= 3) >= 0 ?\r\n `If the answer to question number 2-${formData.answers[0].codeViolationQuestion.versionNumber == 3 ? '6' : '5'} is \"Yes\", provide the date and the pertinent facts of the case or proceeding including its final disposition. Upload additional pages if necessary` : \"\";\r\n\r\n\r\n const handleSubmit = (val, event) => {\r\n setShowFormErrors(true)\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n if (validationObject[key].hasError && (showBlukViolationExplanation && key.includes(\"yesAnswerExplanation\"))) {\r\n return;\r\n }\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer === true && x.codeViolationQuestion.hasExplanation && !x.violationExplanation) >= 0) {//undefined check\r\n return;\r\n }\r\n\r\n if (formData.signature) {\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, reinstatementId: store.currentApplicationId, entityId: store.userInfo.EntityId };\r\n violationService.postViolation(dataTransfer).then((response) => {\r\n reinstatementService.plsPostSection(store.currentApplicationId, sectionId, formData.signature).then((response) => {\r\n if (response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n })\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n Professional Land Surveyor Reinstatement\r\n

Violations

\r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import React, { useState, useEffect } from 'react';\r\nimport { Modal, Row, Col, Button } from 'react-bootstrap'\r\nimport NumberFormat from 'react-number-format';\r\nimport { Input, SelectPicker, Form, ControlLabel, Schema, FormControl, FormGroup, Icon } from 'rsuite';\r\nimport experienceService from '../../../../../../services/Public/Reinstatement/PLS/experience.service';\r\n//import reinstatementExperienceService from '../../../../../../services/Public/Reinstatement/PLS/experience.service';\r\nimport { getEmploymentTypes } from '../../../../../../services/Shared/codeTable.service';\r\nimport PhoneNumberMask from '../../../../../Shared/GenericComponents/PhoneNumberMask';\r\nimport RedStar from '../../../../../Shared/GenericComponents/RedStar';\r\n\r\nconst InputMask = ({ onChange, ...rest }) => {\r\n return (\r\n {\r\n onChange(event.target.value);\r\n }}\r\n />\r\n );\r\n};\r\n\r\nfunction AddEditExperienceRecordsModal(props) {\r\n const [recordModel, setRecordModel] = useState({\r\n reinstatementId: 0,\r\n comments: \"\",\r\n dateCrte: null,\r\n dateFrom: null,\r\n dateTo: null,\r\n deleted: false,\r\n employerName: \"\",\r\n employerPosition: \"\",\r\n employerEmail: \"\",\r\n employerPhone: \"\",\r\n verifierName: \"\",\r\n verifierPosition: \"\",\r\n verifierEmail: \"\",\r\n verifierPhone: \"\",\r\n employmentType: null,\r\n entityId: 0,\r\n id: 0,\r\n userCrte: \"\",\r\n position: \"\",\r\n location: \"\",\r\n description: \"\",\r\n acceptableDescription: \"\",\r\n //showErrors: false,\r\n emailAddresses: [\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 10,\r\n emailAddressParentType: \"Application Experience Employer\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 11,\r\n emailAddressParentType: \"Application Experience Verifier\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n phoneNumbers: [\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 10,\r\n phoneParentType: \"Application Experience Employer\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 11,\r\n phoneParentType: \"Application Experience Verifier\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n modalType: \"Add\"\r\n })\r\n const [employmentTypes, setEmploymentTypes] = useState([])\r\n useEffect(() => {\r\n getEmploymentTypes().then(setEmploymentTypes);\r\n setRecordModel(props.modaldata);\r\n }, [props.modaldata])\r\n\r\n const { StringType, ObjectType, NumberType } = Schema.Types;\r\n const model = Schema.Model({\r\n position: StringType().isRequired('This field is required.'),\r\n employerName: StringType().isRequired('This field is required.'),\r\n employerPosition: StringType().isRequired('This field is required.'),\r\n employerPhone: NumberType().pattern(/^[0-9]{10}/, \"Please enter a valid Phone Number\").isRequired(\"This field is required.\"),\r\n employerEmail: StringType().isRequired('This field is required.').isEmail(\"Enter a valid email\"),\r\n verifierName: StringType().isRequired('This field is required.'),\r\n verifierPosition: StringType().isRequired('This field is required.'),\r\n verifierPhone: NumberType().pattern(/^[0-9]{10}/, \"Please enter a valid Phone Number\").isRequired(\"This field is required.\"),\r\n verifierEmail: StringType().isRequired('This field is required.').isEmail(\"Enter a valid email\"),\r\n\r\n location: StringType().isRequired('This field is required.'),\r\n description: StringType().isRequired('This field is required.'),\r\n acceptableDescription: StringType().isRequired('This field is required.'),\r\n employmentType: ObjectType().isRequired('This field is required.'),\r\n dateFrom: StringType().isRequired('This field is required.'),\r\n dateTo: StringType().isRequired('This field is required.')\r\n })\r\n\r\n const formSubmit = (validation, event) => {\r\n var hasErrors = false;\r\n var validationObject = model.check(recordModel);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n hasErrors = true;\r\n return;\r\n }\r\n }\r\n if (!hasErrors) {\r\n submitData();\r\n }\r\n\r\n }\r\n const submitData = () => {\r\n var dataToTransmit = {\r\n ...recordModel,\r\n phoneNumbers: [\r\n {\r\n ...recordModel.phoneNumbers[0],\r\n contactPhoneNumber: recordModel.employerPhone\r\n },\r\n {\r\n ...recordModel.phoneNumbers[1],\r\n contactPhoneNumber: recordModel.verifierPhone\r\n }\r\n ],\r\n emailAddresses: [\r\n {\r\n ...recordModel.emailAddresses[0],\r\n contactEmailAddress: recordModel.employerEmail\r\n\r\n },\r\n {\r\n ...recordModel.emailAddresses[1],\r\n contactEmailAddress: recordModel.verifierEmail\r\n }\r\n ],\r\n dateFrom: new Date(recordModel.dateFrom),\r\n dateTo: new Date(recordModel.dateTo),\r\n id: recordModel.id === '' ? 0 : recordModel.id,\r\n };\r\n\r\n\r\n delete dataToTransmit.modalType;\r\n delete dataToTransmit.verifierEmail;\r\n delete dataToTransmit.verifierPhone;\r\n delete dataToTransmit.employerPhone;\r\n delete dataToTransmit.employerEmail;\r\n //delete dataToTransmit.showErrors;\r\n //if (props.appType === \"reinstatement\") {\r\n // reinstatementExperienceService.postExperienceRecord(dataToTransmit).then((response) => {\r\n // if (response.data.id) {\r\n // props.updateGrid();\r\n // props.onHide();\r\n // }\r\n // })\r\n //}\r\n //else {\r\n experienceService.postExperienceRecord(dataToTransmit).then((response) => {\r\n if (response.data.id) {\r\n props.updateGrid();\r\n props.onHide();\r\n }\r\n })\r\n //}\r\n }\r\n return (\r\n \r\n \r\n \r\n {recordModel.modalType} an Experience Record\r\n \r\n \r\n \r\n
setRecordModel(recordModel)} onSubmit={formSubmit} >\r\n \r\n \r\n \r\n \r\n \r\n Title of Position \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Location of Assignment/Engagement \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Description of Assignment \r\n \r\n indicate character of work and degree of responsibility \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n If not a licensed professional engineer/surveyor, explain why the experience should be considered acceptable. Otherwise, enter N/A. \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Employment Type \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Date From \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Date To \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n Employer Information \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Title \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Phone \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Email \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n Verifier Information \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Title \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Phone \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Email \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default AddEditExperienceRecordsModal;","import React, { useEffect, useState } from 'react'\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport {GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/PlsInformation';\r\nimport AddEditExperienceRecordsModal from './ExperienceRecordModal';\r\nimport Experience from '../../../../../Shared/Card/Experience';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/PLS/plsReinstatement.service';\r\nimport experienceService from '../../../../../../services/Public/Reinstatement/PLS/experience.service';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport dayjs from 'dayjs';\r\n\r\nfunction ExperiencePage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n\r\n const [modalShow, setModalShow] = useState(false);\r\n const [gridData, setGridData] = useState([]);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const [isOverFiveYears, setIsOverFiveYears] = useState(false);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 7;\r\n const [modalData, setModalData] = useState({});\r\n useEffect(() => {\r\n setHasLoaded(false)\r\n reinstatementService.plsGetSection(appId, sectionId).then((response) => {\r\n setIsOverFiveYears(response.data.isOverFiveYears);\r\n setSectionData(response.data);\r\n updateGridData();\r\n setHasLoaded(true)\r\n })\r\n }, [])\r\n const { BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasMyNceesExperience: BooleanType().isRequired('This field is required.')\r\n });\r\n const openAddEditModal = (values) => {\r\n if (values.id) {\r\n setModalData(\r\n {\r\n ...values,\r\n verifierEmail: values.emailAddresses[1].contactEmailAddress,\r\n verifierPhone: values.phoneNumbers[1].contactPhoneNumber,\r\n employerEmail: values.emailAddresses[0].contactEmailAddress,\r\n employerPhone: values.phoneNumbers[0].contactPhoneNumber,\r\n dateFrom: values.dateFrom ? dayjs(values.dateFrom).format('YYYY-MM') : null,\r\n dateTo: values.dateTo ? dayjs(values.dateTo).format('YYYY-MM') : null,\r\n modalType: 'Edit'\r\n });\r\n }\r\n else {\r\n setModalData({\r\n reinstatementId: appId,\r\n comments: \"\",\r\n dateCrte: null,\r\n dateFrom: null,\r\n dateTo: null,\r\n deleted: false,\r\n employerName: \"\",\r\n employerPosition: \"\",\r\n verifierName: \"\",\r\n verifierPosition: '',\r\n verifierEmail: \"\",\r\n verifierPhone: \"\",\r\n employerEmail: \"\",\r\n employerPhone: \"\",\r\n employmentType: null,\r\n entityId: entityId,\r\n id: 0,\r\n userCrte: \"\",\r\n position: \"\",\r\n location: \"\",\r\n description: \"\",\r\n acceptableDescription: \"\",\r\n emailAddresses: [\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 12,\r\n emailAddressParentType: \"Reinstatement Experience Employer\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 13,\r\n emailAddressParentType: \"Reinstatement Experience Verifier\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n phoneNumbers: [\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 12,\r\n phoneParentType: \"Reinstatement Experience Employer\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 13,\r\n phoneParentType: \"Reinstatement Experience Verifier\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n modalType: \"Add\"\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n const { push } = useHistory();\r\n\r\n const handleSubmit = (validation, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (validation) {\r\n reinstatementService.plsPostSectionHasExperience(appId, sectionId, sectionData.hasMyNceesExperience).then((response) => {\r\n if (response.data) // If both return something it's good to go\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n });\r\n }\r\n }\r\n }\r\n const updateGridData = () => {\r\n experienceService.getExperienceRecords(appId).then((response) => {\r\n setGridData(response.data)\r\n });\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Land Surveyor Reinstatement\r\n

Experience

\r\n \r\n
\r\n {hasLoaded ? <>\r\n {modalShow &&\r\n setModalShow(false)} proptitle=\"Add\" />\r\n }\r\n
setSectionData(data)}>\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ExperiencePage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { List } from 'rsuite';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/PlsInformation';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../../Shared/Card/ReviewPdf';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/reinstatement.service';\r\nimport plsReinstatementService, { getSections } from '../../../../../../services/Public/Reinstatement/PLS/plsReinstatement.service';\r\nimport shoppingCartService from '../../../../../../services/Public/shoppingCart.service';\r\nimport Swal from 'sweetalert2';\r\n\r\nfunction ReviewPage() {\r\n const [hasIssues, setHasIssues] = useState(true)\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const { push } = useHistory();\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [allSections, setAllSections] = useState([]);\r\n const [sectionData, setSectionData] = useState({});\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const sectionId = 10;\r\n\r\n useEffect(() => {\r\n getSections().then(setAllSections);\r\n plsReinstatementService.plsGetSection(reinstatementId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n })\r\n }, [])\r\n const navigateToPage = (sectionId) => {\r\n push(routes.filter(x => x.sectionId == (sectionId))[0].route)\r\n }\r\n const validateReinstatement = () => {\r\n setHasLoaded(false);\r\n reinstatementService.validateReinstatement(reinstatementId).then((response) => {\r\n let errors = response.data.map((error, i) => {\r\n return { navigateToPage(error.sectionId) }}>\r\n Error{error.errors.length > 1 ? 's' : ''} in {allSections.filter(x => x.id == error.sectionId)[0].sectionTitle}: {error.errors.join(', ')}\r\n \r\n })\r\n if (response.data?.length)\r\n setViolationIssuesHtml(\r\n \r\n {errors}\r\n \r\n )\r\n else {\r\n setViolationIssuesHtml('')\r\n setHasIssues(false);\r\n Swal.fire(\"Validation Successful\", `Your reinstatement passed all validation checks. You may now download a PDF version to keep for your records.`, 'success')\r\n }\r\n setHasLoaded(true);\r\n })\r\n }\r\n const submitReinstatement = () => {\r\n setHasLoaded(false);\r\n shoppingCartService.addToShoppingCart(reinstatementId, 17).then((data) => {\r\n if (data.data) { push('/individual/shoppingcart'); }\r\n\r\n })\r\n\r\n //reinstatementService.submitReinstatement(reinstatementId).then((data) => {\r\n // if (data.data?.length) {\r\n // setHasIssues(true);\r\n // let errors = data.data.map((error, i) => {\r\n // return { navigateToPage(error.sectionId) }}>\r\n // Error{error.errors.length > 1 ? 's' : ''} in {allSections.filter(x => x.id == error.sectionId)[0].sectionTitle}: {error.errors.join(', ')}\r\n // \r\n // })\r\n // setViolationIssuesHtml(\r\n // \r\n // {errors}\r\n // \r\n // )\r\n // setHasLoaded(true);\r\n // }\r\n // else {\r\n // setHasIssues(false);\r\n // setViolationIssuesHtml(\"\")\r\n // plsReinstatementService.plsGetSection(reinstatementId, sectionId).then((response) => {\r\n // setSectionData(response.data);\r\n // setHasLoaded(true);\r\n // })\r\n // }\r\n //})\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Land Surveyor Reinstatement\r\n

Review

\r\n \r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n
\r\n {sectionData.isUserEditable ?\r\n : \r\n }\r\n {\r\n (!hasIssues && sectionData.isUserEditable) && <>\r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n\r\n {violationIssuesHtml}\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PLSRENEWALURL = process.env.REACT_APP_APIURL + \"/api/IndividualPlsRenewal\";\r\n\r\nconst getContactInformation = (renewalId) => {\r\n return axios.get(`${PLSRENEWALURL}/contactinformation`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nexport default {\r\n getContactInformation\r\n}","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst plsGetSection = (renewalId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/IndividualPlsRenewal/section`, { headers: authHeader(), params: { renewalId, sectionId } });\r\n}\r\nconst plsPostSection = (renewalId, sectionId, electronicSignature) => {\r\n\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPlsRenewal/signsection`, null, { headers: authHeader(), params: { renewalId, sectionId, electronicSignature } });\r\n}\r\nconst plsPostSectionHasRef = (renewalId, sectionId, hasReferences) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPlsRenewal/setsectionhasreferences`, null, { headers: authHeader(), params: { renewalId, sectionId, hasReferences } });\r\n}\r\nconst plsPostSectionHasCpd = (renewalId, sectionId, hasCpd) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPlsRenewal/setsectionhascpd`, null, { headers: authHeader(), params: { renewalId, sectionId, hasCpd } });\r\n}\r\n\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Ensure your contact information, including your mailing and public addresses are up to date. Ensure you put LAPELS emails on your safe sender list.\",\r\n },\r\n {\r\n id: 2,\r\n sectionTitle: \"License Status\",\r\n sectionContent: \"Verify the staus of your license.\",\r\n },\r\n {\r\n id: 3,\r\n sectionTitle: \"CPD Requirements\",\r\n sectionContent: \"Verify CPD requirements for Active status for each of the calendar years.\",\r\n },\r\n {\r\n id: 4,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 5,\r\n sectionTitle: \"Supervising Professional\",\r\n sectionContent: \"Certify if you are a supervising professional on behalf of a firm.\",\r\n },\r\n {\r\n id: 6,\r\n sectionTitle: \"Journal & Phone Privacy Options\",\r\n sectionContent: \"Verify your subscription and distribution options.\",\r\n },\r\n {\r\n id: 7,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Electronically sign (type your name) and date.\",\r\n },\r\n {\r\n id: 8,\r\n sectionTitle: \"Review\",\r\n sectionContent: \"Review certificate renewal.\",\r\n }\r\n])\r\n\r\nexport default {\r\n plsGetSection,\r\n plsPostSection,\r\n plsPostSectionHasRef,\r\n plsPostSectionHasCpd\r\n}","import React, { useState } from 'react'\r\nimport {Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { Form } from 'rsuite';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/PlsInformation';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport contactService from '../../../../../../services/Public/Renewal/PLS/contact.service';\r\nimport renewalService from '../../../../../../services/Public/Renewal/PLS/plsRenewal.service';\r\nimport { useSelector } from 'react-redux';\r\nimport { useEffect } from 'react';\r\nimport Swal from 'sweetalert2';\r\nimport PersonalInformation from '../../../../../Shared/Card/Contact/PersonalInformation';\r\nimport MailingAddress from '../../../../../Shared/Card/Contact/MailingAddress';\r\nimport PublicAddress from '../../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport dayjs from 'dayjs';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction ContactInformationPage() {\r\n\r\n const { push } = useHistory();\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [formModel, setFormModel] = useState({});\r\n const [tabPane, setTabPane] = useState(\"personalInformation\")\r\n const [sectionData, setSectionData] = useState({});\r\n\r\n useEffect(() => {\r\n contactService.getContactInformation(renewalId).then((response) => {\r\n var data = response.data;\r\n\r\n setFormModel({\r\n ...data,\r\n dateOfBirth: data.dateOfBirth != null ? dayjs(data.dateOfBirth).format('YYYY-MM-DD') : null,\r\n altEmail: data.alternateEmailAddress?.contactEmailAddress,\r\n primaryEmail: data.primaryEmailAddress?.contactEmailAddress,\r\n cellPhoneNum: data.cellPhone?.contactPhoneNumber,\r\n workPhoneNum: data.workPhone?.contactPhoneNumber,\r\n homePhoneNum: data.homePhone?.contactPhoneNumber\r\n })\r\n renewalService.plsGetSection(renewalId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n }, [])\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!sectionData?.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n submitData(true);\r\n }\r\n }\r\n\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n\r\n if (isForSubmit) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n Swal.fire(\"Saved!\");\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Land Surveyor Renewal\r\n

Contact

\r\n \r\n
\r\n \r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)} onSubmit={formSubmit} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PLSRENEWALURL = process.env.REACT_APP_APIURL + \"/api/IndividualPlsRenewal\";\r\n\r\nconst getCpdRequirements = (renewalId) => {\r\n return axios.get(`${PLSRENEWALURL}/cpd`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nconst postCpdRequirements = (data) => {\r\n return axios.post(`${PLSRENEWALURL}/cpd`, data, { headers: authHeader() });\r\n}\r\nconst isCpdRequired = (renewalId) => {\r\n return axios.get(`${PLSRENEWALURL}/iscpdrequired`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nconst isNonActiveToActive = (renewalId) => {\r\n return axios.get(`${PLSRENEWALURL}/isnonactivetoactive`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nexport default {\r\n getCpdRequirements,\r\n postCpdRequirements,\r\n isCpdRequired,\r\n isNonActiveToActive\r\n}","import React from 'react'\r\nimport { Button, Modal } from 'react-bootstrap';\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nfunction LockedRenewalModal(props) {\r\n const { push } = useHistory();\r\n const routes = useSelector(x => x.currentRoutes);\r\n return (\r\n \r\n \r\n \r\n Renewal Locked\r\n \r\n \r\n \r\n {props.sectionId == 3 &&\r\n
Once you obtain your CPD hours, download and complete the CPD Log form located here: https://www.lapels.com/CPD.html. You must upload your completed log and certificates of completion into your CPD locker in LOLA.

If you have questions, contact CandE@lapels.com
\r\n }\r\n {props.sectionId == 10 &&\r\n
If you have not met this requirement, you may not proceed with the online renewal. Once you obtain the hours, contact CandE@lapels.com; or you can renew into Inactive status.
\r\n }\r\n {props.sectionId == 5 &&\r\n
To complete your firm renewal, you must designate a Professional Surveyor in active status for a Surveying Firm or a Professional Engineer in active status for an Engineering Firm as your Supervising Professional.\r\n

\r\n Your SP must meet the requirements in 2305 (A) (1) (a-b):
\r\n  a. Primary employment is with the firm, provided the supervising professional works for the firm for a 12-month average of at least 30 hours per week or 130 hours per month, OR
\r\n  b. Employment is with the firm, provided the supervising professional has at least a 25 percent ownership interest in the firm\r\n
\r\n }\r\n
\r\n \r\n \r\n \r\n \r\n );\r\n}\r\nexport default LockedRenewalModal;","import React, { useEffect, useState } from 'react'\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/PlsInformation';\r\nimport { Card } from 'react-bootstrap';\r\nimport DocumentUpload from '../../../../../Shared/Upload/DocumentUpload';\r\n\r\nfunction QuizzesPage(props) {\r\n //const attachmentTypes = [\r\n // {\r\n // \"label\": \"Quiz - Laws and Rules\", \"value\": 12\r\n // },\r\n // {\r\n // \"label\": \"Quiz - Ethics\", \"value\": 13\r\n // },\r\n // {\r\n // \"label\": \"Quiz - Standards of Practice\", \"value\": 14\r\n // }\r\n //]\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}\r\nexport default QuizzesPage;","import React, { useEffect } from 'react'\r\nimport { useState } from 'react'\r\nimport { Card, Row, Col, Badge, } from 'react-bootstrap'\r\nimport { ControlLabel, FormControl, FormGroup, HelpBlock, InputNumber, SelectPicker, Uploader } from 'rsuite'\r\nimport RedStar from '../../../../../Shared/GenericComponents/RedStar'\r\nimport YesNoRadioOption from '../../../../../Shared/RadioButton/YesNoRadioOption'\r\nimport DocumentUpload from '../../../../../Shared/Upload/DocumentUpload'\r\nimport QuizzesPage from './QuizzesPage'\r\nfunction Courses(props) {\r\n\r\n const [metCpd, setMetCpd] = useState();\r\n const [hasCpdInMyNcees, setHasCpdInMyNcees] = useState();\r\n\r\n useEffect(() => {\r\n setMetCpd(props.metCpd);\r\n setHasCpdInMyNcees(props.hasCpdInMyNcees);\r\n }, [props])\r\n\r\n const requirementsNotMetReasonData =\r\n [\r\n {\r\n label: \"New License - Licensees are exempt from the CPD requirements during the calendar year in which they are initially licensed.\", value: { id: 1, notMetCpdReason: \"New License - Licensees are exempt from the CPD requirements during the calendar year in which they are initially licensed.\" }\r\n },\r\n {\r\n label: \"Newly Reinstated - Licensees are exempt from the CPD requirements during the calendar year in which they are newly reinstated.\", value: { id: 8, notMetCpdReason: \"Newly Reinstated - Licensees are exempt from the CPD requirements during the calendar year in which they are newly reinstated.\" }\r\n },\r\n {\r\n label: \"Inactive - Refer to Rule 2103 (A). By selecting this option, you are confirming that you are not offering or providing engineering/land surveying services in Louisiana.\", value: { id: 2, notMetCpdReason: \"Inactive - Refer to Rule 2103 (A). By selecting this option, you are confirming that you are not offering or providing engineering/land surveying services in Louisiana.\" }\r\n },\r\n {\r\n label: \"Medical reasons - Refer to Rule 3109 (A) (3). (FILE UPLOAD REQUIRED)\", value: { id: 4, notMetCpdReason: \"Medical reasons - Refer to Rule 3109 (A) (3).\" }\r\n },\r\n {\r\n label: \"I am not in compliance with earning the requisite hours for this renewal - LAPELS staff will notify you of your next steps.\", value: { id: 7, notMetCpdReason: \"I am not in compliance with earning the requisite hours for this renewal - LAPELS staff will notify you of your next steps.\" }\r\n },\r\n {\r\n label: \"I served on Active Duty in the U.S. military for a period of time exceeding 180 consecutive days in a calendar year - you must provide deployment documentation to be reviewed prior to being approved. (FILE UPLOAD REQUIRED)\", value: { id: 10, notMetCpdReason: \"I served on Active Duty in the U.S. military for a period of time exceeding 180 consecutive days in a calendar year - you must provide deployment documentation to be reviewed prior to being approved.\" }\r\n },\r\n {\r\n label: \"I worked in a location for more than 180 days in a calendar year where compliance with the CPD requirements is impractical due to location, working hours, mail restrictions, etc. - Refer to Rule 3109 (A) (4). (FILE UPLOAD REQUIRED)\", value: { id: 9, notMetCpdReason: \"I worked in a location for more than 180 days in a calendar year where compliance with the CPD requirements is impractical due to location, working hours, mail restrictions, etc. - Refer to Rule 3109 (A) (4).\" }\r\n },\r\n ];\r\n\r\n return (\r\n \r\n \r\n
CPD Requirements
\r\n
\r\n \r\n {props.isNonActiveToActive ?\r\n <>\r\n

§3121. CPD Reactivation

\r\n
    \r\n
  1. To become reactivated to an active status, a licensee in an expired, inactive, or retired status must have earned all PDHs which he/she would have been required to earn if he/she had been in an active status during the previous two calendar years as provided in §3105.
  2. \r\n
\r\n

Do you have a NCEES CPC locker?

\r\n \r\n {hasCpdInMyNcees ?\r\n

Please have NCEES release your CPC Locker to LAPELS (https://ncees.org/ncees-service/cpc-tracking/)

\r\n :\r\n hasCpdInMyNcees != null &&\r\n <>

You must complete the LAPELS Approved Activity Log outlining all PDHs claimed for the period of 24 months prior to the date of this reactivation,\r\n along with copies of all supporting documentation substantiating the PDHs claimed and complementing the dates and information on your PDH Activity log. Download the log to your computer, complete, save, and upload as one file below with your certificates.\r\n List your PDHs in chronological order on the log, and place on top of your certificates of completion.


\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n\r\n : <>\r\n

\r\n I have met the CPD requirements for Active status for calendar years {props.year1Number} and {props.year2Number}, and understand that, if I am selected for an audit,\r\n I will be required to provide my Professional Development Hour (PDH) Activity Log and all supporting documentation to validate completion of all CPD requirements.\r\n I further understand that failure to comply with such requirements or any false statements made by me could be cause for disciplinary action.\r\n
\r\n
\r\n NOTE: Licensees are exempt from the CPD requirements during the calendar year in which they are initially licensed.\r\n\r\n

\r\n
\r\n \r\n\r\n {metCpd === false &&\r\n\r\n <>\r\n \r\n \r\n \r\n Please submit the reason why you have not met the requirements. Refer to the board rules here when selecting your exemption: https://www.lapels.com/LawsRules.html. \r\n \r\n \r\n \r\n \r\n\r\n
\r\n\r\n (use ONLY for CPD exemption documentation, NOT for CPD logs or certificates)}\r\n fileUploadTitle={\"CPD File Upload\"}\r\n />\r\n \r\n }\r\n
\r\n

\r\n How many CPD hours did you earn in each calendar year? (enter a number below for each year)\r\n

\r\n
\r\n \r\n \r\n \r\n {props.year1Number}\r\n \r\n \r\n \r\n \r\n \r\n {props.year2Number}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Explain Carry-over Hours, or reason(s) for CPD non-compliance\r\n \r\n \r\n \r\n\r\n \r\n\r\n
\r\n

\r\n The CPD hours listed herein are true and correct, and accurately state the professional development hours I have earned. I understand that I must make available all supporting documentation if requested by the Board.\r\n

\r\n
\r\n \r\n \r\n
Electronic Signature of Applicant:
\r\n (Type full name)\r\n \r\n \r\n
\r\n \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Courses\r\n\r\n","import React, { useState } from 'react'\r\nimport { useEffect } from 'react';\r\nimport { Card, Container } from 'react-bootstrap'\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport cpdRequirementsService from '../../../../../../services/Public/Renewal/PLS/cpdRequirements.service';\r\nimport renewalService from '../../../../../../services/Public/Renewal/PLS/plsRenewal.service';\r\nimport generalRenewalService from '../../../../../../services/Public/Renewal/renewal.service';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons'\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/PlsInformation';\r\nimport LockedRenewalModal from '../../../../../Shared/Modal/LockedRenewalModal';\r\nimport Courses from './Courses'\r\n\r\nfunction CpdRequirementsPage() {\r\n const { push } = useHistory();\r\n const [showLockedRenewalModal, setShowLockedRenewalModal] = useState(false);\r\n const [isNonActiveToActive, setIsNonActiveToActive] = useState(false);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [isRequired, setIsRequired] = useState(true);\r\n const [isLicenseStatusSet, setIsLicenseStatusSet] = useState(true);\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const [sectionData, setSectionData] = useState({});\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const sectionId = 3;\r\n const routes = useSelector(x => x.currentRoutes);\r\n\r\n const changeLogData = {\r\n Header: \"CPD Change History\",\r\n BodyText: \"The information below displays all changes made to the CPD section. It allows our staff to track any irregularities and find process breakdowns so that we can make improvements to our system.\",\r\n CurrentId: renewalId,\r\n SectionId: sectionId\r\n };\r\n const currentDate = new Date();\r\n var yearBase = (currentDate.getMonth() == 0 && currentDate.getDate() < 30) ? currentDate.getFullYear() - 1 : currentDate.getFullYear(); //LAPELS-379\r\n const [formModel, setFormModel] = useState({\r\n id: 0,\r\n renewalId: renewalId,\r\n entityId: entityId,\r\n year1: (yearBase - 2),\r\n year1Hours: null,\r\n year2: (yearBase - 1),\r\n year2Hours: null,\r\n metCpd: null,\r\n hasCpc: null,\r\n notMetCPDReason: null,\r\n carryoverExplanation: \"\",\r\n userCrte: \"\",\r\n dateCrte: new Date(),\r\n deleted: false,\r\n hasCpdInMyNcees: null,\r\n electronicSignature: \"\",\r\n });\r\n useEffect(() => {\r\n cpdRequirementsService.isNonActiveToActive(renewalId).then((response) => {\r\n if (response.data) {\r\n setIsNonActiveToActive(true);\r\n }\r\n })\r\n renewalService.plsGetSection(renewalId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n cpdRequirementsService.isCpdRequired(renewalId).then((result) => {//if result is null, no status was chosen\r\n if (result.data) {\r\n cpdRequirementsService.getCpdRequirements(renewalId).then((data) => {\r\n if (data.data) {\r\n setFormModel({ ...data.data, electronicSignature: response.data.electronicSignature })\r\n }\r\n setHasLoaded(true);\r\n })\r\n }\r\n else if (result.data === false) {\r\n setIsRequired(false)\r\n setHasLoaded(true)\r\n }\r\n else {\r\n setIsLicenseStatusSet(false)\r\n setHasLoaded(true)\r\n }\r\n })\r\n })\r\n }, [])\r\n\r\n const { StringType, BooleanType, NumberType, ObjectType } = Schema.Types;\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.'),\r\n metCpd: BooleanType().isRequired('This field is required.'),\r\n notMetCPDReason: ObjectType().isRequired('This field is required'),\r\n hasCpdInMyNcees: BooleanType().isRequired(\"This field is required.\"),\r\n year1Hours: NumberType().isRequired(\"This field is required.\"),\r\n year2Hours: NumberType().isRequired(\"This field is required.\")\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var hasErrors = false;\r\n var validationObject = model.check(formModel);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n if (!isNonActiveToActive) {\r\n if (key === \"electronicSignature\") {\r\n hasErrors = true;\r\n return;\r\n }\r\n if (key === \"metCpd\" && formModel.metCpd === null) {\r\n hasErrors = true;\r\n return;\r\n }\r\n if (key === \"notMetCPDReason\" && formModel.metCpd === false) {\r\n hasErrors = true;\r\n return;\r\n }\r\n if (key === \"year1Hours\" || key == \"year2Hours\")\r\n {\r\n hasErrors = true;\r\n return;\r\n }\r\n }\r\n else {\r\n if (key === \"hasCpdInMyNcees\" && formModel.hasCpdInMyNcees === null) {\r\n hasErrors = true;\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n if (!hasErrors) {\r\n submitData(true);\r\n }\r\n }\r\n }\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n const notRequiredSubmit = (event) => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n const submitData = (isForSubmiit) => {\r\n var dataToTransmit = { ...formModel, year1Hours: formModel.year1Hours === '' ? null : formModel.year1Hours, year2Hours: formModel.year2Hours === '' ? null : formModel.year2Hours };\r\n renewalService.plsPostSection(renewalId, sectionId, formModel.electronicSignature).then((data) => {\r\n generalRenewalService.wasHeldForCpd(renewalId).then((wasHeld) => {\r\n cpdRequirementsService.postCpdRequirements(dataToTransmit).then((response) => {\r\n if (response.data.id) {\r\n if (data.data) {\r\n if (isForSubmiit) {\r\n //WO 271\r\n //if (response.data.metCpd == false) {\r\n // if (wasHeld.data) {\r\n // push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n // } else {\r\n // setShowLockedRenewalModal(true);\r\n // }\r\n //}\r\n //else {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n //}\r\n }\r\n else\r\n Swal.fire(\"Saved!\");\r\n }\r\n }\r\n })\r\n })\r\n })\r\n }\r\n\r\n\r\n return (\r\n
\r\n \r\n Professional Land Surveyor Renewal\r\n

\r\n CPD Requirements\r\n

\r\n \r\n setShowLockedRenewalModal(false)} />\r\n
\r\n {hasLoaded ? !isLicenseStatusSet ?\r\n
\r\n \r\n \r\n
CPD Requirements
\r\n
\r\n \r\n Please go back and choose a license status to renew into before completing this section. You may access that section by clicking the \"Back to Sections\" button at the bottom of the page.\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n : isRequired ?\r\n
setFormModel(formModel)} onSubmit={formSubmit} fluid>\r\n \r\n
\r\n \r\n \r\n :\r\n
\r\n \r\n \r\n
CPD Requirements
\r\n
\r\n \r\n Due to the license status chosen at the beginning of this renewal, this section is not required. You may click \"Next Section\" to continue your renewal.\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default CpdRequirementsPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PLSRENEWALURL = process.env.REACT_APP_APIURL + \"/api/IndividualPlsRenewal\";\r\n\r\nconst getViolation = (renewalId) => {\r\n return axios.get(`${PLSRENEWALURL}/violation`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nconst postViolation = (data) => {\r\n return axios.post(`${PLSRENEWALURL}/violation`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getViolation,\r\n postViolation\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { Container } from 'react-bootstrap';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport renewalService from '../../../../../../services/Public/Renewal/PLS/plsRenewal.service';\r\nimport violationService from '../../../../../../services/Public/Renewal/PLS/violation.service';\r\nimport { useSelector } from 'react-redux';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/PlsInformation';\r\nimport { getRenewalCodeViolationAnswers } from '../../../../../../services/Shared/codeTable.service';\r\nimport GenericViolations from '../../../../../Shared/Card/Violations';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const { push } = useHistory();\r\n const sectionId = 4;\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n\r\n const [formData, updateFormData] = useState({\r\n renewalId: renewalId,\r\n dateCrte: new Date(),\r\n entityId: entityId,\r\n id: 0,\r\n userCrte: \"\",\r\n yesAnswerExplanation: \"\"\r\n });\r\n\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n renewalService.plsGetSection(renewalId, sectionId).then((response) => {\r\n violationService.getViolation(renewalId).then((data) => {\r\n if (data.data) {\r\n\r\n updateFormData(data.data);\r\n }\r\n else {\r\n getRenewalCodeViolationAnswers(5).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n\r\n }, [])\r\n\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n yesAnswerExplanation: StringType().isRequired('This field is required.')\r\n });\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true) >= 0;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n\r\n\r\n\r\n const handleSubmit = (val, event) => {\r\n setShowFormErrors(true)\r\n if (!sectionData.isUserEditable) {\r\n push(routes.filter(x => x.sectionId == (sectionId + 2))[0].route)\r\n }\r\n else {\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n violationService.postViolation(formData).then((response) => {\r\n if (response.data.id) {\r\n push(routes.filter(x => x.sectionId == (sectionId + 2))[0].route)\r\n }\r\n\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Land Surveyor Renewal\r\n

Violations

\r\n \r\n
{hasLoaded ?\r\n
\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import React from 'react';\r\nimport { Card } from 'react-bootstrap'\r\nimport { FormGroup, RadioGroup, FormControl, Radio} from 'rsuite'\r\nimport RedStar from '../../../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction JournalPrivacyCard() {\r\n return (\r\n
\r\n \r\n
Journal & Privacy (Professional)
\r\n \r\n

Please send me the Louisiana Engineer & Land Surveyor Journal via:

\r\n
\r\n \r\n \r\n Email\r\n Mail\r\n Do Not Send\r\n \r\n \r\n

Do you want your email address(es) and telephone number(s), which you have provided us, to be kept private and not made available to vendors requesting rosters for distribution\r\n of engineering/land surveying CPD information or to other third parties?

\r\n
\r\n \r\n \r\n Yes, keep private\r\n No, share when requested\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default JournalPrivacyCard;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PLSNOTIFICATIONPREFERENCEURL = process.env.REACT_APP_APIURL + \"/api/NotificationPreferences\";\r\n\r\n\r\nconst getPrivacyData = () => {\r\n return axios.get(`${PLSNOTIFICATIONPREFERENCEURL}/journalandprivacy`, { headers: authHeader() });\r\n}\r\nconst postPrivacyData = (data) => {\r\n return axios.post(`${PLSNOTIFICATIONPREFERENCEURL}/journalandprivacy`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getPrivacyData,\r\n postPrivacyData\r\n}","import React, { useState } from 'react'\r\nimport { Container } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport JournalPrivacyCard from './JournalPrivacyCard';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport { useEffect } from 'react';\r\nimport privacyService from '../../../../../../services/Public/Renewal/PLS/privacy.service';\r\nimport Swal from 'sweetalert2';\r\nimport renewalService from '../../../../../../services/Public/Renewal/PLS/plsRenewal.service';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/PlsInformation';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\n\r\nfunction Privacy() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const { push } = useHistory();\r\n const sectionId = 6;\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n emailPhonePrivacy: BooleanType().isRequired('This field is required.'),\r\n receiveMethod: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const [formData, updateFormData] = useState({\r\n id: 0,\r\n entityId: entityId,\r\n emailPhonePrivacy: null,\r\n journalEmail: null,\r\n journalMail: null,\r\n journalDoNotSend: null,\r\n userCrte: \"\",\r\n dateCrte: new Date(),\r\n deleted: false,\r\n receiveMethod: \"\"\r\n });\r\n\r\n useEffect(() => {\r\n renewalService.plsGetSection(renewalId, sectionId).then((data) => {\r\n setSectionData(data.data)\r\n privacyService.getPrivacyData().then((response) => {\r\n if (response.data) {\r\n updateFormData({\r\n ...response.data,\r\n receiveMethod: response.data.journalEmail\r\n ? \"email\"\r\n : response.data.journalMail\r\n ? \"mail\"\r\n : response.data.journalDoNotSend\r\n ? \"none\"\r\n : null\r\n })\r\n }\r\n setHasLoaded(true);\r\n })\r\n })\r\n }, [])\r\n\r\n const handleSubmit = (val, event) => {\r\n\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n if (val) {\r\n submitData(true);\r\n }\r\n }\r\n const handleSave = () => {\r\n submitData();\r\n }\r\n const submitData = (isForSubmit) => {\r\n var dataToTransmit = {\r\n ...formData,\r\n journalEmail: formData.receiveMethod === \"email\" ? true : null,\r\n journalMail: formData.receiveMethod === \"mail\" ? true : null,\r\n journalDoNotSend: formData.receiveMethod === \"none\" ? true : null,\r\n }\r\n\r\n privacyService.postPrivacyData(dataToTransmit).then((response) => {\r\n if (response.data.id) {\r\n if (isForSubmit)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n else\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n }\r\n return (\r\n
\r\n \r\n Professional Land Surveyor Renewal\r\n

Journal & Privacy Option

\r\n \r\n
\r\n {hasLoaded ?\r\n
\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Privacy;","import React, { useState } from 'react';\r\nimport { useEffect } from 'react';\r\nimport { Card } from 'react-bootstrap'\r\nimport { loremParagraphs } from '../../../../../../fakeapi';\r\nfunction Instructions() {\r\n const [data, setData] = useState(\"\");\r\n useEffect(() => {\r\n loremParagraphs().then(setData)\r\n }, [])\r\n return (\r\n
\r\n \r\n
Requirements/Information
\r\n \r\n
    \r\n
  • Read all of the instructions within each section of the renewal.
  • \r\n
  • Complete all required sections.
  • \r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Instructions;","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, ListGroup } from 'react-bootstrap';\r\nimport { useSelector } from 'react-redux';\r\nimport { getSections } from '../../../../../../services/Public/Renewal/PLS/plsRenewal.service';\r\nimport Section from '../../../../../Shared/Sections/Section';\r\nimport Information from './Information';\r\nimport issuesService from '../../../../../../services/Shared/issues.service';\r\n\r\nfunction Index() {\r\n const [sections, setSections] = useState(null);\r\n const selector = useSelector(x => x);\r\n useEffect(() => {\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(2, selector.currentApplicationId).then((data) => {\r\n setSections(selector.currentRoutes != null ? selector.currentRoutes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route;\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n })\r\n });\r\n }, [])\r\n return (\r\n
\r\n \r\n

Professional Land Surveyor Renewal

\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n

Sections to Complete

\r\n \r\n {sections}\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default Index;","import React, { useState } from 'react'\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Acknowledgement from '../../../../../Shared/Card/Acknowledgement';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/PlsInformation';\r\nimport { useSelector } from 'react-redux';\r\nimport renewalService from '../../../../../../services/Public/Renewal/PLS/plsRenewal.service';\r\nimport { useEffect } from 'react';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\n\r\nfunction AcknowledgementPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false)\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const sectionId = 7;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const [formModel, setFormModel] = useState({})\r\n useEffect(() => {\r\n renewalService.plsGetSection(renewalId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!formModel.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n const submitData = (isForSubmit) => {\r\n renewalService.plsPostSection(renewalId, sectionId, formModel.electronicSignature).then((response) => {\r\n if (isForSubmit && response.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Land Surveyor Renewal\r\n

Acknowledgement

\r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { Form, List, Schema } from 'rsuite';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/PlsInformation';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../../Shared/Card/ReviewPdf';\r\nimport renewalService from '../../../../../../services/Public/Renewal/renewal.service';\r\nimport plsRenewalService, { getSections } from '../../../../../../services/Public/Renewal/PLS/plsRenewal.service';\r\nimport shoppingCartService from '../../../../../../services/Public/shoppingCart.service';\r\nimport Swal from 'sweetalert2';\r\n\r\nfunction ReviewPage() {\r\n const [hasIssues, setHasIssues] = useState(true)\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const { push } = useHistory();\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [allSections, setAllSections] = useState([]);\r\n const [sectionData, setSectionData] = useState({});\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const sectionId = 8;\r\n\r\n useEffect(() => {\r\n getSections().then(setAllSections);\r\n plsRenewalService.plsGetSection(renewalId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n })\r\n }, [])\r\n const navigateToPage = (sectionId) => {\r\n push(routes.filter(x => x.sectionId == (sectionId))[0].route)\r\n }\r\n const validateRenewal = () => {\r\n setHasLoaded(false);\r\n renewalService.validateRenewal(renewalId).then((response) => {\r\n let errors = response.data.map((error, i) => {\r\n return { navigateToPage(error.sectionId) }}>\r\n Error{error.errors.length > 1 ? 's' : ''} in {allSections.filter(x => x.id == error.sectionId)[0].sectionTitle}: {error.errors.join(', ')}\r\n \r\n })\r\n if (response.data?.length)\r\n setViolationIssuesHtml(\r\n \r\n {errors}\r\n \r\n )\r\n else {\r\n setViolationIssuesHtml('')\r\n setHasIssues(false);\r\n Swal.fire(\"Validation Successful\", `Your renewal passed all validation checks. You may now download a PDF version to keep for your records.`, 'success')\r\n }\r\n setHasLoaded(true);\r\n })\r\n }\r\n const submitRenewal = () => {\r\n setHasLoaded(false);\r\n shoppingCartService.addToShoppingCart(renewalId, 6).then((data) => {\r\n if (data.data) { push('/individual/shoppingcart'); }\r\n\r\n })\r\n\r\n //renewalService.submitRenewal(renewalId).then((data) => {\r\n\r\n // if (data.data?.length) {\r\n // setHasIssues(true);\r\n // let errors = data.data.map((error, i) => {\r\n // return { navigateToPage(error.sectionId) }}>\r\n // Error{error.errors.length > 1 ? 's' : ''} in {allSections.filter(x => x.id == error.sectionId)[0].sectionTitle}: {error.errors.join(', ')}\r\n // \r\n // })\r\n // setViolationIssuesHtml(\r\n // \r\n // {errors}\r\n // \r\n // )\r\n // setHasLoaded(true);\r\n // }\r\n // else {\r\n // setHasIssues(false);\r\n // setViolationIssuesHtml(\"\")\r\n // plsRenewalService.plsGetSection(renewalId, sectionId).then((response) => {\r\n // setSectionData(response.data);\r\n // setHasLoaded(true);\r\n // })\r\n // }\r\n //})\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Land Surveyor Renewal\r\n

Review

\r\n \r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n
\r\n {sectionData.isUserEditable ?\r\n : \r\n }\r\n {\r\n (!hasIssues && sectionData.isUserEditable) &&\r\n <>\r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n {violationIssuesHtml}\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PLSRENEWALURL = process.env.REACT_APP_APIURL + \"/api/IndividualPlsRenewal\";\r\n\r\nconst getLicenseStatus = (renewalId) => {\r\n return axios.get(`${PLSRENEWALURL}/licensestatus`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nconst postLicenseStatus = (renewalId, renewingToId) => {\r\n return axios.post(`${PLSRENEWALURL}/licensestatus`, null, { headers: authHeader(), params: {renewalId, renewingToId} });\r\n}\r\nexport default {\r\n getLicenseStatus,\r\n postLicenseStatus\r\n}","import React from 'react';\r\nimport { useEffect } from 'react';\r\nimport { Card } from 'react-bootstrap'\r\nimport { FormControl, SelectPicker, Table } from 'rsuite';\r\nimport RedStar from '../../../../../Shared/GenericComponents/RedStar';\r\nimport licenseStatusService from '../../../../../../services/Public/Renewal/PLS/licenseStatus.service'\r\nimport { useState } from 'react';\r\nfunction LicenseStatus(props) {\r\n return (\r\n
\r\n \r\n
Your License Status
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Credential\r\n \r\n \r\n \r\n \r\n \r\n Credential Status\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n I am renewing into the following status:\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default LicenseStatus;","import React, { useState } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport LicenseStatus from './LicenseStatus';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport { useEffect } from 'react';\r\nimport licenseStatusService from '../../../../../../services/Public/Renewal/PLS/licenseStatus.service';\r\nimport renewalService from '../../../../../../services/Public/Renewal/PLS/plsRenewal.service';\r\nimport Swal from 'sweetalert2';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/PlsInformation';\r\nimport { getRenewingintolist } from '../../../../../../services/Shared/codeTable.service';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nfunction LicenseStatusPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 2;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [sectionData, setSectionData] = useState({});\r\n const [plsRenewalLicenseStatuses, setPlsRenewalLicenseStatuses] = useState([]);\r\n\r\n const [formModel, setFormModel] = useState({\r\n gridData: [],\r\n renewingTo: \"\"\r\n })\r\n const { ObjectType } = Schema.Types;\r\n const model = Schema.Model({\r\n renewingTo: ObjectType().isRequired(\"This field is required.\")\r\n });\r\n\r\n useEffect(() => {\r\n getRenewingintolist(renewalId).then(setPlsRenewalLicenseStatuses);\r\n renewalService.plsGetSection(renewalId, sectionId).then((data) => {\r\n setSectionData(data.data);\r\n licenseStatusService.getLicenseStatus(renewalId).then((response) => {\r\n setFormModel({\r\n gridData: [{ credential: response.data?.credential?.formattedLicenseNumber, credentialStatus: response.data?.credential?.status?.status }],\r\n renewingTo: response.data.renewingTo ? { id: response.data.renewingTo.id, code: response.data.renewingTo.renewingTo } : null\r\n })\r\n setHasLoaded(true);\r\n })\r\n })\r\n}, [])\r\n\r\nconst formSubmit = (validation, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n}\r\n\r\nconst formSave = (event) => {\r\n submitData();\r\n}\r\n\r\nconst submitData = (isForSubmit) => {\r\n licenseStatusService.postLicenseStatus(renewalId, formModel.renewingTo.id).then((response) => {\r\n if (response.data) {\r\n if (isForSubmit)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n else\r\n Swal.fire(\"Saved!\")\r\n }\r\n })\r\n}\r\n\r\nreturn (\r\n
\r\n \r\n Professional Land Surveyor Renewal\r\n

License Status

\r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n
\r\n \r\n \r\n \r\n :\r\n \r\n }\r\n
\r\n
\r\n)\r\n}\r\nexport default LicenseStatusPage;","import React from 'react';\r\nimport { Card } from 'react-bootstrap'\r\nfunction Information() {\r\n return (\r\n
\r\n \r\n
Requirements/Information
\r\n \r\n \r\n
    \r\n \r\n
  • Most of this information may be included in your NCEES records.
  • \r\n
  • If you do not have a NCEES record, you must provide all required documents. Please know this may add 2-3 weeks to the application process.
  • \r\n
  • Complete all required sections of the application; incomplete applications are only kept on file for one year.
  • \r\n
  • Fields marked with an asterisk * are required.
  • \r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Information;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst peGetSection = (applicationId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/IndividualPeApplication/section`, { headers: authHeader(), params: { applicationId, sectionId } });\r\n}\r\nconst pePostSection = (applicationId, sectionId, electronicSignature) => {\r\n\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPeApplication/signsection`, null, { headers: authHeader(), params: { applicationId, sectionId, electronicSignature } });\r\n}\r\nconst pePostSectionHasRef = (applicationId, sectionId, hasReferences) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPeApplication/setsectionhasreferences`, null, { headers: authHeader(), params: { applicationId, sectionId, hasReferences } });\r\n}\r\nconst pePostSectionHasMyNceesEducation = (applicationId, sectionId, hasMyNceesEducation) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPeApplication/setsectionhasmynceeseducation`, null, { headers: authHeader(), params: { applicationId, sectionId, hasMyNceesEducation } });\r\n}\r\n\r\nconst pePostSectionHasExperience = (applicationId, sectionId, hasMyNceesExperience) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPeApplication/setsectionhasmynceesexperience`, null, { headers: authHeader(), params: { applicationId, sectionId, hasMyNceesExperience } });\r\n}\r\n\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Complete this section providing all required contact information.\",\r\n },\r\n {\r\n id: 2,\r\n sectionTitle: \"Education\",\r\n sectionContent: \"Complete this section listing all colleges and universities attended where a degree was conferred.\",\r\n },\r\n {\r\n id: 3,\r\n sectionTitle: \"Personal References\",\r\n sectionContent: \"Complete this section listing all personal references.\",\r\n },\r\n {\r\n id: 4,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 5,\r\n sectionTitle: \"Employment\",\r\n sectionContent: \"Verify Louisiana Employment Firm licensure\",\r\n },\r\n {\r\n id: 17,\r\n sectionTitle: \"Residency\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 7,\r\n sectionTitle: \"Experience Record\",\r\n sectionContent: \"Include a GRAND TOTAL of all experience\",\r\n },\r\n {\r\n id: 6,\r\n sectionTitle: \"Quizzes\",\r\n sectionContent: \"Upload the confirmation for Online Laws and Rules, the Online Professionalism & Ethics and the Online Louisiana Standards of Practice for Boundary Surveys quizzes.\",\r\n },\r\n {\r\n id: 16,\r\n sectionTitle: \"Co-op Experience\",\r\n sectionContent: \"Complete this section listing all co-op experience.\",\r\n },\r\n {\r\n id: 8,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Electronically sign (type your name) and date.\",\r\n },\r\n {\r\n id: 9,\r\n sectionTitle: \"Review\",\r\n sectionContent: 'Review your answers. If you need to change an answer, click the \"Section\" above to go back to the appropriate section',\r\n }\r\n])\r\n\r\nexport default {\r\n peGetSection,\r\n pePostSection,\r\n pePostSectionHasRef,\r\n pePostSectionHasMyNceesEducation,\r\n pePostSectionHasExperience\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, ListGroup } from 'react-bootstrap';\r\nimport Section from '../../../../../Shared/Sections/Section';\r\nimport Information from './Information';\r\nimport { getSections } from \"../../../../../../services/Public/Application/PE/peApplication.service\";\r\nimport { useSelector } from 'react-redux';\r\nimport issuesService from '../../../../../../services/Shared/issues.service';\r\n\r\nfunction Index() {\r\n const [sections, setSections] = useState(null);\r\n const selector = useSelector(x => x);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 3 ? \"By Comity\" : appTypeId == 4 ? \"By Exam\" : \"\";\r\n useEffect(() => {\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(1, selector.currentApplicationId).then((data) => {\r\n setSections(selector.currentRoutes != null ? selector.currentRoutes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n })\r\n })\r\n }, [])\r\n\r\n return (\r\n
\r\n \r\n Professional Engineer Application {appType}\r\n

Professional Engineer

\r\n \r\n \r\n \r\n
\r\n \r\n \r\n

Sections to Complete

\r\n \r\n {sections}\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default Index;","import { loremParagraphs } from \"../../../fakeapi\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport RedStar from \"../GenericComponents/RedStar\";\r\n\r\nexport const GetAppInformationContent = (page) => {\r\n const [fakeData, setFakeData] = useState(\"\");\r\n const [type, setType] = useState(\"application\");\r\n useEffect(() => {\r\n loremParagraphs().then(setFakeData);\r\n }, [])\r\n\r\n switch (page) {\r\n case \"contact\":\r\n return (\r\n
    \r\n
  • Information already in the system will appear in the fields below. You can make changes, and they will take effect once the application is complete and payment is accepted
  • \r\n
  • Mandatory fields are indicated with \"\" (asterisk) to the left of the field
  • \r\n
  • Louisiana Revised Statute 31:23 requires that every application by an individual for a professional license, permit or certificate shall require the applicant's social security number.\r\n Disclosure of your social security number is mandatory for this purpose and for the purpose of establishing, modifying or enforcing family and child support obligations and locating an individual who is under an obligation to pay family or child support under La. R.S. 46:236.1.1, et seq.\r\n Failure to provide your social security number for these mandatory purposes will result in the denial of your licensure, permit or certificate application.\r\n Disclosure of your social security number is voluntary for disclosure to other state regulatory agencies, testing and examination vendors, law enforcement agencies, and other private federations and associations involved in professional regulation.\r\n Such disclosure is for identification purposes only. Your social security number will not be released for any other purpose not provided by law.
  • \r\n
  • Complete the following sections
  • \r\n
      \r\n
    • Personal Information
    • \r\n
    • Verify Mailing Address
    • \r\n
    • Verify Public Address
    • \r\n
    • Ensure you add \"lapels.com\" to your \"Safe Senders\" list in your email application and/or (if applicable) in your network firewall.
    • \r\n
    \r\n
\r\n );\r\n break;\r\n case \"educationByComity\":\r\n return (\r\n
    \r\n
  • If you have been conferred in a Non-EAC/ABET degree, then you must obtain a credential evlauation through NCEES before submitting this application. If not, your application cannot be processed.
  • \r\n
  • IMPORTANT: If your only degree is a non-EAC/ABET degree, you must submit 8 years of progressive engineering experience at the time of application.
  • \r\n
  • IMPORTANT: If you have coupled your Non-EAC/ABET undergraduate degree with an engineering Master's Degree from a University with EAC/ABET undergraduate program you may only be required 4 years of experience subsequent to your Master's Degree.
  • \r\n
  • IMPORTANT: If your only degree is an Engineering Technology (ETAC-ABET) degree and your initial licensure was after December 31, 1998, you are NOT eligible for PE licensure in Louisiana, and you should not submit an application. This is a state law which the Board may not waive.
  • \r\n
  • IMPORTANT: All decisions are up to the Board's discretion.
  • \r\n
  • We do not issue refunds for application fees.
  • \r\n
\r\n )\r\n break;\r\n case \"educationByExam\":\r\n return (\r\n
    \r\n
  • If you have been conferred in a Non-EAC/ABET degree, then you must obtain a credential evlauation through NCEES before submitting this application. If not, your application cannot be processed.
  • \r\n
  • IMPORTANT: If your only degree is a non-EAC/ABET degree, you must submit 8 years of progressive engineering experience at the time of application.
  • \r\n
  • IMPORTANT: If you have coupled your Non-EAC/ABET undergraduate degree with an engineering Master's Degree from a University with EAC/ABET undergraduate program you may only be required 4 years of experience subsequent to your Master's Degree.
  • \r\n
  • IMPORTANT: All information will be reviewed by the Board.
  • \r\n
  • We do not issue refunds for application fees.
  • \r\n
\r\n )\r\n break;\r\n case \"coopExperience\":\r\n return (\r\n

\r\n Co-op Experience. If applicable. This experience must be listed on an experience record form, verified by the person supervising your work. This person must be a PE holding a valid licensure.\r\n
\r\n
\r\n LAPELS Rule 1507(B):\r\n
\r\n
\r\n Up to one year of engineering experience may be obtained prior to graduation, if obtained through a college or university-sponsored co-op program as part of an accredited engineering curriculum approved by the board, and only after completion of the first half of the curriculum. If the co-op program work is full-time work, the amount of credit given is equal to the time worked.\r\n
\r\n
\r\n You DO need to complete an experience record form for co-op experience\r\n

\r\n )\r\n break;\r\n case \"employment\":\r\n return (\r\n
    \r\n
  • Please indicate your employment status in Louisiana below.
  • \r\n
\r\n\r\n )\r\n break;\r\n case \"experience\":\r\n return (\r\n
    \r\n
  • If you have a MyNCEES account and you are a record holder, please authorize NCEES to release your records to LAPELS;
  • \r\n
  • If you are not a MyNCEES record holder, you will need to contact MyNCEES to set up an account. If you have any questions, please contact LAPELS staff at applications@lapels.com
  • \r\n
      \r\n
    • Please note, ALL TIME SINCE GRADUATION WITH A BS DEGREE MUST BE DOCUMENTED; You must include military, illness, unemployment or time spent completing an additional college degree, etc., on an Experience Record entry.
    • \r\n
    \r\n
  • Please refer to LAPELS rule 1507 for Co-op experience, before meeting the educational requirement. Note: co-op experience must be reflected on your transcript and there is no provision for engineering internships while you are still in school
  • \r\n
  • Any time gaps will result in an incomplete application. Applicant must comply with LAPELS rule 1505 (B) (1 and 2) Engineering Work Experience
  • \r\n
\r\n )\r\n break;\r\n case \"personalReference\":\r\n return (\r\n <>\r\n

\r\n If you select no, please attest below to rule 1701 (B):\r\n
\r\n
\r\n LAPELS rule §1701 (B): Applications for licensure as a professional engineer or professional land surveyor shall be completed on\r\n the most current forms developed by the board. The application shall contain statements showing the applicant's qualifications, and\r\n the names and addresses of five personal references who recommend the applicant for licensure. None of the five personal references\r\n can be an immediate family member or business associate of the applicant. For purposes of this §1701.B, immediate family member is\r\n defined as a spouse, child, spouse of a child, sibling, spouse of a sibling, sibling of a spouse, parent, parent of a spouse,\r\n stepparent or stepchild. For purposes of this §1701.B, business associate is defined as a subordinate of the applicant, or a\r\n consultant or contractor who provides goods or services to the applicant or to a business, entity or agency in which the applicant\r\n is an owner, member, officer, director, trustee, partner, principal, manager, employee, associate, consultant or contractor.\r\n Three or more of the five personal references furnished by an applicant for licensure as a professional engineer shall be professional\r\n engineers holding valid licenses to engage in the practice of engineering issued to them by proper authority of a state, territory, or\r\n possession of the United States, or the District of Columbia...\r\n

\r\n

\r\n Five verified references are required - 3 of the 5 must have an active PE license.\r\n

\r\n \r\n )\r\n break;\r\n case \"quiz\":\r\n return (\r\n
    \r\n
  • You must complete the online quizzes, with a minimum score of 90%:
  • \r\n
      \r\n
    • Louisiana Laws and Rules Quiz
    • \r\n
    • Louisiana Professionalism and Ethics Quiz
    • \r\n\r\n
    \r\n
  • Quizzes can be found here: https://www.lapels.com/quiz
  • \r\n
  • You will receive a certificate by email once you have achieved the requisite score.
  • \r\n
  • You must upload each certificate below.
  • \r\n
  • Select each quiz type from the dropdown below and click \"Upload\".
  • \r\n
\r\n\r\n )\r\n break;\r\n case \"review\":\r\n return (\r\n <>\r\n
    \r\n
  • Click Validate to see if there are any issues within the {type} that you provided.
  • \r\n
  • If there are issues, please correct the issue in the respective section(s) by clicking the “Back to Sections” button below.
  • \r\n
  • Then return to the Review section to validate again.
  • \r\n
  • You will not be allowed to submit until all issues are corrected.
  • \r\n
\r\n

\r\n Once the {type} is validated successfully, additional buttons will appear:\r\n

    \r\n
  • Select “Download PDF” to download a copy of your {type} for your records
  • \r\n
  • Select “Submit Application” to add your {type} to the cart and see payment options.
  • \r\n
\r\n

\r\n\r\n

You will not have direct access to this review page after completing the {type} and submitting payment. To request a copy, please contact LAPELS staff.

\r\n \r\n )\r\n break;\r\n case \"violations\":\r\n return (\r\n

\r\n In the case of answering “Yes” to the question below about unauthorized or unlicensed practice (Question #1), explain in detail the facts surrounding such practicing or offering to practice engineering in Louisiana and submit a list of all projects/jobs on which you offered to provide or provided engineering services in Louisiana during such period.\r\n Such list should include, for each such project/job, offer date, start date, completion date, client name, project/job name, project/job location and project/job descriptions. Upload additional pages if necessary.\r\n
\r\n
\r\n In the case of answering “Yes” to any of the questions below other than the question about unauthorized or unlicensed practice, provide the date(s) and pertinent facts of the case(s) or proceeding(s), including the final disposition (even if the information was previously provided to the Board).\r\n Upload additional pages if necessary.\r\n

\r\n )\r\n case \"acknowledgement\":\r\n return (\r\n <>\r\n

\r\n I, the applicant named in this application, have read the contents hereof, and to the best of my knowledge, information and belief the\r\n statements and information in this application are true and correct in substance and effect and are made in good faith. I have not\r\n omitted any information requested in this application. I am aware that such an omission or untrue response may constitute fraud or deceit,\r\n material misstatement, perjury or the giving of false or forged evidence under Louisiana Revised Statutes 37:698 and 37:700. I understand\r\n and agree that any responses verifying my education, personal references, and experience shall be considered privileged and confidential\r\n and that this information was not reviewed by me nor will it be available for my inspection or review in the future.\r\n

\r\n
    \r\n
  • It is your responsibility to check your LOLA account frequently for any pending issues. Ensure you add \"lapels.com\" to your \"Safe Senders\" list in your email application and/or (if applicable) in your network firewall.
  • \r\n
  • Once we receive a complete application, with no pending issues, process time may take 6-8 weeks.
  • \r\n
\r\n \r\n )\r\n default:\r\n return (\r\n <>\r\n {\r\n //
This is sample text
\r\n //{fakeData}\r\n }\r\n \r\n )\r\n break;\r\n }\r\n}\r\n\r\nexport const GetRenewalInformationContent = (page) => {\r\n const [fakeData, setFakeData] = useState(\"\");\r\n const [type, setType] = useState(\"renewal\");\r\n useEffect(() => {\r\n loremParagraphs().then(setFakeData);\r\n }, [])\r\n\r\n switch (page) {\r\n case \"contact\":\r\n return (\r\n
    \r\n
  • Information already in the system will appear in the fields below. You can make changes, and they will take effect once the application is complete and payment is accepted
  • \r\n
  • Mandatory fields are indicated with \"\" (asterisk) to the left of the field
  • \r\n
  • Louisiana Revised Statute 31:23 requires that every application by an individual for a professional license, permit or certificate shall require the applicant's social security number.\r\n Disclosure of your social security number is mandatory for this purpose and for the purpose of establishing, modifying or enforcing family and child support obligations and locating an individual who is under an obligation to pay family or child support under La. R.S. 46:236.1.1, et seq.\r\n Failure to provide your social security number for these mandatory purposes will result in the denial of your licensure, permit or certificate application.\r\n Disclosure of your social security number is voluntary for disclosure to other state regulatory agencies, testing and examination vendors, law enforcement agencies, and other private federations and associations involved in professional regulation.\r\n Such disclosure is for identification purposes only. Your social security number will not be released for any other purpose not provided by law.
  • \r\n
  • Complete the following sections
  • \r\n
      \r\n
    • Personal Information
    • \r\n
    • Verify Mailing Address
    • \r\n
    • Verify Public Address
    • \r\n
    • Ensure you add \"lapels.com\" to your \"Safe Senders\" list in your email application and/or (if applicable) in your network firewall.
    • \r\n
    \r\n
\r\n );\r\n case \"cpdRequirements\":\r\n return (\r\n

\r\n CPD Requirements for Engineers and Surveyors:\r\n
\r\n
\r\n A Professional Land Surveyor (PLS) must complete 8 CPD hours each calendar year (January - December). Of the 8 hours, one hour must be in the Standards of Practice, and one hour must be in Professional Ethics. In the event you have earned more than 8 CPD hours in a calendar year, you may carry over a maximum of 7 CPD hours to the next calendar year. You may not earn more than 8 CPD hours in a calendar day.\r\n
\r\n
\r\n A Professional Engineer (PE) must complete 15 CPD hours each calendar year (January - December). Of the 15 hours, one hour must be in Professional Ethics. If you design buildings or building systems, of the 15 hours, four hours must be in life safety/ADA compliance. In the event you have earned more than 15 CPD hours in a calendar year, you may carry over a maximum of 7 CPD hours to the next calendar year. You may not earn more than 8 CPD hours in a calendar day.\r\n
\r\n
\r\n A PE/PLS dual licensee must complete 15 CPD hours each calendar year (January - December). Of the 15 hours, five hours must be earned in each profession, one hour must be in Professional Ethics, and one hour must be in the Standards of Practice. If you design buildings or building systems, of the 15 hours, four hours must be in life safety/ADA compliance. In the event you have earned more than 15 CPD hours in a calendar year, you may carry over a maximum of 7 CPD hours to the next calendar year. You may not earn more than 8 CPD hours in a calendar day.\r\n
\r\n
\r\n Partial CPD Hours must be in quarter hour increments (such as .25, .5, .75) to be considered acceptable credit.\r\n
\r\n
\r\n The LAPELS CPD Locker is available at any time to upload your CPD activity log and complementary certificates of completion.\r\n

\r\n\r\n );\r\n case \"licenseStatus\":\r\n return (\r\n

\r\n 2103. Licensure and Certification Status\r\n
\r\n  A. The board has established the following licensure statuses for licensees.
\r\n   Active Status - the licensure status which exists for a licensee of the board who has complied with all the licensure and licensure renewal requirements of the board and who has elected to be in this status on his/her biennial licensure renewal form.
\r\n   Expired Status - the licensure status which exists for a licensee of the board who has failed to properly renew licensure as required in R.S. 37:697. A licensee in an expired status cannot practice or offer to practice engineering or land surveying in Louisiana.
\r\n   Inactive Status - the licensure status which exists for an individual licensee of the board who has chosen not to practice or offer to practice engineering and/or land surveying in Louisiana and who has elected to be in this status on his/her biennial licensure renewal form. A licensee in an inactive status can represent himself/herself to the public as a P.E. inactive or a P.L.S. inactive, as applicable, but cannot otherwise practice or offer to practice engineering and/or land surveying in Louisiana.
\r\n   Retired Status - the licensure status which exists for an individual licensee of the board who has chosen not to practice or offer to practice engineering and/or land surveying in Louisiana and who has elected to be in this status on his/her biennial licensure renewal form. To qualify for the retired status, the licensee must be at least 70 years of age or have been a licensee of the board for at least 35 years. Unless the licensee is granted a waiver by the board, the renewal fee for the retired status shall be one-half of the current renewal fee for the active status. A licensee qualified for the retired status may be granted a waiver of this renewal fee if the licensee is at least 70 years of age, has been a licensee of the board for at least 35 years continuously, has never been subject to disciplinary action in any jurisdiction, has never committed any of the offenses described in R.S. 37:698(A)(3), (4) or (5), and is of good character and reputation. A licensee in a retired status can represent himself/herself to the public as a P.E. retired or a P.L.S. retired, as applicable, but cannot otherwise practice or offer to practice engineering and/or land surveying in Louisiana.\r\n
\r\n

\r\n )\r\n case \"violations\":\r\n return (\r\n

\r\n If the answer to any of these questions is \"Yes\", provide the date(s) and pertinent facts of the case(s) or proceeding(s) including the final disposition (even if the information was previously provided to the Board). Upload additional pages if necessary.\r\n

\r\n )\r\n case \"privacy\":\r\n return (\r\n

You can choose below how your privacy options are setup. Please indicate how you would like LAPELS to send you information or share it with third parties/vendors

\r\n )\r\n case \"acknowledgement\":\r\n return (\r\n <>\r\n

\r\n I have read the Rules for Professional Engineers and Surveyors (LAC Title 46, Part LXI), and I agree to conduct my professional affairs in\r\n accordance with these rules.\r\n

\r\n \r\n )\r\n case \"review\":\r\n return (\r\n <>\r\n
    \r\n
  • Click Validate to see if there are any issues within the {type} that you provided.
  • \r\n
  • If there are issues, please correct the issue in the respective section(s) by clicking the “Back to Sections” button below.
  • \r\n
  • Then return to the Review section to validate again.
  • \r\n
  • You will not be allowed to submit until all issues are corrected.
  • \r\n
\r\n

\r\n Once the {type} is validated successfully, additional buttons will appear:\r\n

    \r\n
  • Select “Download PDF” to download a copy of your {type} for your records
  • \r\n
  • Select “Submit Renewal” to add your {type} to the cart and see payment options.
  • \r\n
\r\n

\r\n\r\n

You will not have direct access to this review page after completing the {type} and submitting payment. To request a copy, please contact LAPELS staff.

\r\n \r\n )\r\n break;\r\n default:\r\n return (\r\n <>\r\n
  • Read all of the instructions within each section of the renewal.
  • \r\n
  • Complete all required sections.
  • \r\n
\r\n \r\n )\r\n break;\r\n }\r\n}\r\n\r\nexport const GetReinstatementInformationContent = (page) => {\r\n const [fakeData, setFakeData] = useState(\"\");\r\n const [type, setType] = useState(\"reinstatement\");\r\n useEffect(() => {\r\n loremParagraphs().then(setFakeData);\r\n }, [])\r\n\r\n switch (page) {\r\n case \"contact\":\r\n return (\r\n
    \r\n
  • Information already in the system will appear in the fields below. You can make changes, and they will take effect once the application is complete and payment is accepted
  • \r\n
  • Mandatory fields are indicated with \"\" (asterisk) to the left of the field
  • \r\n
  • Louisiana Revised Statute 31:23 requires that every application by an individual for a professional license, permit or certificate shall require the applicant's social security number.\r\n Disclosure of your social security number is mandatory for this purpose and for the purpose of establishing, modifying or enforcing family and child support obligations and locating an individual who is under an obligation to pay family or child support under La. R.S. 46:236.1.1, et seq.\r\n Failure to provide your social security number for these mandatory purposes will result in the denial of your licensure, permit or certificate application.\r\n Disclosure of your social security number is voluntary for disclosure to other state regulatory agencies, testing and examination vendors, law enforcement agencies, and other private federations and associations involved in professional regulation.\r\n Such disclosure is for identification purposes only. Your social security number will not be released for any other purpose not provided by law.
  • \r\n
  • Complete the following sections
  • \r\n
      \r\n
    • Personal Information
    • \r\n
    • Verify Mailing Address
    • \r\n
    • Verify Public Address
    • \r\n
    • Ensure you add \"lapels.com\" to your \"Safe Senders\" list in your email application and/or (if applicable) in your network firewall.
    • \r\n
    \r\n
)\r\n break;\r\n case \"review\":\r\n return (\r\n <>\r\n
    \r\n
  • Click Validate to see if there are any issues within the {type} that you provided.
  • \r\n
  • If there are issues, please correct the issue in the respective section(s) by clicking the “Back to Sections” button below.
  • \r\n
  • Then return to the Review section to validate again.
  • \r\n
  • You will not be allowed to submit until all issues are corrected.
  • \r\n
\r\n

\r\n Once the {type} is validated successfully, additional buttons will appear:\r\n

    \r\n
  • Select “Download PDF” to download a copy of your {type} for your records
  • \r\n
  • Select “Submit Reinstatement” to add your {type} to the cart and see payment options.
  • \r\n
\r\n

\r\n\r\n

You will not have direct access to this review page after completing the {type} and submitting payment. To request a copy, please contact LAPELS staff.

\r\n \r\n )\r\n break;\r\n case \"employment\":\r\n return (\r\n <>\r\n ***YOU MUST COMPLETE THIS SECTION. INITIAL THE FIRM OPTION BELOW WHICH WILL BEST DESCRIBE YOUR EMPLOYMENT IN LOUISIANA***\r\n

Please be advised that LA R. S. 37:689 requires firms practicing or offering to practice engineering\r\n or surveying in the state of Louisiana to be licensed by the Board prior to offering such services.\r\n

\r\n
\r\n

\r\n To apply for firm licensure, sign out from this individual account and sign back in with your firm user ID and password. If you have not yet registered your firm, click \"Register\" at https://lola.lapels.com and select the \"Firm\" option to create a new account.\r\n

\r\n
\r\n

\r\n Here is the link to Chapter 23 from the LAPELS Rules that addresses firm licensure and supervising professional requirements: https://www.lapels.com/docs/Applications/firm/Chapter_23_Firms.pdf.\r\n

\r\n \r\n )\r\n break;\r\n case \"experience\":\r\n return (\r\n
    \r\n
  • If you have a MyNCEES account and you are a record holder, please authorize NCEES to release your records to LAPELS.
  • \r\n
  • If you are not a MyNCEES record holder, you will need to contact MyNCEES to set up an account. If you have any questions, please contact LAPELS staff at applications@lapels.com
  • \r\n
  • Submit with your application ten (10) years of work experience dated from oldest to newest.
  • \r\n
  • Please note, ALL TIME SINCE GRADUATION WITH A BS DEGREE MUST BE DOCUMENTED; You must include military, illness, unemployment or time spent completing an additional college degree, etc., on an Experience Record entry.
  • \r\n
  • Please refer to LAPELS rule 1507 for Co-op experience, before meeting the educational requirement. Note: co-op experience must be reflected on your transcript and there is no provision for engineering internships while you are still in school
  • \r\n
  • Any time gaps will result in an incomplete application. Applicant must comply with LAPELS rule 1505 (B) (1 and 2) Engineering Work Experience
  • \r\n
\r\n )\r\n break;\r\n case \"experience5year\":\r\n return (\r\n
    \r\n
  • If you have a NCEES record, please authorize NCEES to release your records to LAPELS.
  • \r\n
  • If you do not have a NCEES record, you must complete the sections below.
  • \r\n
  • Submit with your application the last ten (10) years of work experience.
  • \r\n
\r\n )\r\n break;\r\n case \"landing\":\r\n return (\r\n
    \r\n
  • There are two applications for PE licensure reinstatement:
  • \r\n
      \r\n
    • Application if expired more than 120 days but less than 5 years
    • \r\n
    • Application if expired more than 5 years
    • \r\n
    \r\n
  • The type of reinstatement application that appears on the next page will be automatically selected based on your license expiration date.
  • \r\n
\r\n );\r\n case \"personalReference\":\r\n return (\r\n <>\r\n

\r\n If you select no, please attest below to rule 1701 (B):\r\n

\r\n

LAPELS rule §1701 (B): Applications for licensure as a professional engineer or professional land surveyor shall be completed on the most current forms developed by the board.\r\n The application shall contain statements showing the applicant's qualifications, and the names and addresses of five personal references who recommend the applicant for licensure.\r\n None of the five personal references can be an immediate family member or business associate of the applicant. For purposes of this §1701.B,\r\n immediate family member is defined as a spouse, child, spouse of a child, sibling, spouse of a sibling, sibling of a spouse, parent, parent of a spouse, stepparent or stepchild.\r\n For purposes of this §1701.B, business associate is defined as a subordinate of the applicant, or a consultant or contractor who provides goods or services to the applicant or to a business,\r\n entity or agency in which the applicant is an owner, member, officer, director, trustee, partner, principal, manager, employee, associate, consultant or contractor.\r\n Three or more of the five personal references furnished by an applicant for licensure as a professional engineer shall be professional engineers holding valid licenses to\r\n engage in the practice of engineering issued to them by proper authority of a state, territory, or possession of the United States, or the District of Columbia...

\r\n

\r\n Five verified references are required - 3 of the 5 must have an active PE license.\r\n

\r\n \r\n )\r\n break;\r\n case \"quiz\":\r\n return (\r\n <>\r\n
    \r\n
  • You must complete the online quizzes, with a minimum score of 90%:
  • \r\n
      \r\n
    • Louisiana Laws and Rules Quiz
    • \r\n
    • Louisiana Professionalism and Ethics Quiz
    • \r\n
    \r\n
  • Quizzes can be found here: https://www.lapels.com/quiz
  • \r\n
  • You will receive a certificate by email once you have achieved the requisite score.
  • \r\n
  • You must take a screenshot of each certificate and upload the attachment below.
  • \r\n
\r\n \r\n )\r\n break;\r\n case \"sections\":\r\n return (\r\n <>\r\n
NOTE: Reinstatements are subject to revision and modification at any time.
\r\n
    \r\n
  • Read all of the instructions before you begin.
  • \r\n
  • Complete all required sections of the application; incomplete applications will not be processed.
  • \r\n
\r\n \r\n );\r\n case \"cpdRequirements\":\r\n return (\r\n <>\r\n

\r\n §3121. CPD Reinstatement
\r\n A. To become reinstated to an active status, a licensee in\r\n an expired, inactive, or retired status must have earned all PDHs which he/she would have been required to earn if\r\n he/she had been in an active status during the previous two\r\n calendar years as provided in §3105.\r\n

\r\n\r\n
    \r\n
  • PE:
  • \r\n
  • Professional Engineering must submit an approved log showing a total of 30 PDHs, of which two (2) must be in professional ethics, along with the certificates substantiating the PDHs claimed for the period of two (2) years prior to the date of this application. If you design buildings or building systems in Louisiana, of the 30 hours, eight (8) hours must be in life safety/ADA compliance.
  • \r\n
  • PLS:
  • \r\n
  • Professional Land Surveyors must submit an approved log showing a total of 16 PDHs, of which two (2) must be in professional ethics and two (2) must be in the standards of practice for boundary surveys in Louisiana, along with the certificates substantiating the PDHs claimed for the period of two (2) years prior to the date of this application.
  • \r\n
  • DUAL LICENSEES (PE/PLS):
  • \r\n
  • Professional Engineers and Surveyors wishing to apply to reinstate both licenses must submit an approved log showing a total of 30 PDHs which were earned within the past two (2) years from the date of this application, along with the certificates substantiating the PDHs. Of the 30 PDHs, two (2) must be in professional ethics, ten (10) of the hours must be earned in each profession, and two (2) must be in the standards of practice. If you design buildings or building systems in Louisiana, of the 30 hours, eight (8) hours must be in life safety/ADA compliance.
  • \r\n
\r\n\r\n\r\n\r\n\r\n\r\n \r\n );\r\n case \"disclosure\":\r\n return (\r\n

\r\n As part of the application process, the Louisiana Professional Engineering and Land Surveying Board (LAPELS) will obtain a consumer report, which I understand may include information regarding my credit worthiness, credit standing, credit capacity, character, general reputation, personal characteristics, or mode of living.\r\n

\r\n );\r\n case \"violations\":\r\n return (\r\n

\r\n In the case of answering “Yes” to the question below about unauthorized or unlicensed practice (Question #1), explain in detail the facts surrounding such practicing or offering to practice engineering in Louisiana and submit a list of all projects/jobs on which you offered to provide or provided engineering services in Louisiana during such period.\r\n Such list should include, for each such project/job, offer date, start date, completion date, client name, project/job name, project/job location and project/job descriptions. Upload additional pages if necessary.\r\n
\r\n
\r\n In the case of answering “Yes” to any of the questions below other than the question about unauthorized or unlicensed practice, provide the date(s) and pertinent facts of the case(s) or proceeding(s), including the final disposition (even if the information was previously provided to the Board).\r\n Upload additional pages if necessary.\r\n

\r\n );\r\n case \"acknowledgement\":\r\n return (\r\n <>\r\n

I, the applicant named in this application, have read the contents hereof, and to the best of my knowledge, information and believe the statements and information in this application are true and correct in substance and effect and are made in good faith. I have not omitted any information requested in this application. I am aware that such an omission or untrue response may constitute fraud or deceit, material misstatement, perjury or the giving of false or forged evidence under Louisiana Revised Statutes 37:698 and 37:700. I understand and agree that any responses verifying my education, personal references, and experience shall be considered privileged and confidential and that this information was not reviewed by me nor will it be available for my inspection or review in the future.

\r\n
    \r\n
  • It is your responsibility to check your LOLA account frequently for any pending issues. Ensure you add \"lapels.com\" to your \"Safe Senders\" list in your email application and/or (if applicable) in your network firewall.
  • \r\n
  • Once we receive a complete application, with no pending issues, process time may take 6-8 weeks.
  • \r\n
\r\n \r\n );\r\n default:\r\n return (\r\n <>\r\n {\r\n //
This is sample text
\r\n //{fakeData}\r\n }\r\n \r\n )\r\n break;\r\n }\r\n}","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PEAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeApplication\";\r\n\r\nconst getContactInformation = (applicationId) => {\r\n return axios.get(`${PEAPPLICATIONURL}/contactinformation`, { headers: authHeader(), params: {applicationId} });\r\n}\r\nconst postContactInformation = (applicationId, certDisplayName, isActiveMilitary, baseStationed, isActiveMilitarySpouse, spouseBaseStationed) => {\r\n return axios.post(`${PEAPPLICATIONURL}/contactinformation`, null, { headers: authHeader(), params: { applicationId, certDisplayName, isActiveMilitary, baseStationed, isActiveMilitarySpouse, spouseBaseStationed } });\r\n}\r\nexport default {\r\n getContactInformation,\r\n postContactInformation\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/PeInformation'\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { useHistory } from 'react-router-dom';\r\nimport PersonalInformation from '../../../../../Shared/Card/Contact/PersonalInformation';\r\nimport MailingAddress from '../../../../../Shared/Card/Contact/MailingAddress';\r\nimport PublicAddress from '../../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport applicationService from '../../../../../../services/Public/Application/PE/peApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport contactService from '../../../../../../services/Public/Application/PE/contact.service';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport dayjs from 'dayjs';\r\n\r\nfunction ContactInformationPage() {\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const { push } = useHistory();\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 3 ? \"By Comity\" : appTypeId == 4 ? \"By Exam\" : \"\";\r\n const [formModel, setFormModel] = useState({});\r\n const [tabPane, setTabPane] = useState(\"personalInformation\")\r\n const [sectionData, setSectionData] = useState({});\r\n\r\n useEffect(() => {\r\n contactService.getContactInformation(appId).then((response) => {\r\n var data = response.data;\r\n\r\n setFormModel({\r\n ...data,\r\n dateOfBirth: data.dateOfBirth != null ? dayjs(data.dateOfBirth).format('YYYY-MM-DD') : null,\r\n altEmail: data.alternateEmailAddress?.emailAddress,\r\n primaryEmail: data.primaryEmailAddress?.emailAddress,\r\n cellPhoneNum: data.cellPhone?.phoneNumber,\r\n workPhoneNum: data.workPhone?.phoneNumber,\r\n homePhoneNum: data.homePhone?.phoneNumber,\r\n isActiveMilitary: data.isActiveMilitary == \"True\" ? true : data.isActiveMilitary == \"False\" ? false : null,\r\n isActiveMilitarySpouse: data.isActiveMilitarySpouse == \"True\" ? true : data.isActiveMilitarySpouse == \"False\" ? false : null,\r\n })\r\n applicationService.peGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n }, [])\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (appTypeId == 3 && validation)\r\n submitData(true);\r\n else if (appTypeId == 4)\r\n submitData(true);\r\n }\r\n }\r\n const { BooleanType } = Schema.Types;\r\n const validationModel = Schema.Model({\r\n isActiveMilitary: BooleanType().isRequired(\"This field is required.\"),\r\n isActiveMilitarySpouse: BooleanType().isRequired(\"This field is required.\"),\r\n })\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n contactService.postContactInformation(appId, formModel.certificateName, formModel.isActiveMilitary, formModel.baseStationed, formModel.isActiveMilitarySpouse, formModel.spouseBaseStationed).then((response) => {\r\n if (isForSubmit && response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Engineer Application {appType}\r\n

Contact

\r\n \r\n
\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)} onSubmit={formSubmit} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PEAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeApplication\";\r\n\r\nconst getEducationRecords = (applicationId) => {\r\n return axios.get(`${PEAPPLICATIONURL}/educationrecords`, { headers: authHeader(), params:{ applicationId} });\r\n}\r\nconst getApprovedCourseRecords = (applicationId) => {\r\n return axios.get(`${PEAPPLICATIONURL}/approvedcompletedcourses`, { headers: authHeader(), params:{ applicationId} });\r\n}\r\nconst getNonApprovedCourseRecords = (applicationId) => {\r\n return axios.get(`${PEAPPLICATIONURL}/notapprovedcompletedcourses`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postEducationRecord = (data) => {\r\n return axios.post(`${PEAPPLICATIONURL}/educationrecord`, data, { headers: authHeader() });\r\n}\r\nconst postApprovedCourseRecord = (data) => {\r\n return axios.post(`${PEAPPLICATIONURL}/approvedcompletedcourse`, data, { headers: authHeader() });\r\n}\r\nconst postNonApprovedCourseRecord = (data) => {\r\n return axios.post(`${PEAPPLICATIONURL}/notapprovedcompletedcourse`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getEducationRecords,\r\n getNonApprovedCourseRecords,\r\n getApprovedCourseRecords,\r\n postEducationRecord,\r\n postApprovedCourseRecord,\r\n postNonApprovedCourseRecord\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Card, Row, Col, Button } from 'react-bootstrap'\r\nimport { Icon, Table } from 'rsuite';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport EducationService from '../../../../../../services/Public/Application/PE/education.service'\r\nimport Swal from 'sweetalert2';\r\nimport dayjs from 'dayjs';\r\nimport YesNoRadioOption from '../../../../../Shared/RadioButton/YesNoRadioOption';\r\nimport RedStar from '../../../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction EducationRecord(props) {\r\n\r\n\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [gridData, setGridData] = useState([]);\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n\r\n const handleChangePage = (dataKey) => {\r\n setPage(dataKey);\r\n }\r\n const handleChangeLength = (dataKey) => {\r\n setPage(1);\r\n setDisplayLength(dataKey);\r\n }\r\n useEffect(() => {\r\n reloadGrid();\r\n }, [props.reloadGrid])\r\n const reloadGrid = () => {\r\n setHasLoaded(false);\r\n EducationService.getEducationRecords(props.applicationId).then((response) => {\r\n setGridData(response.data)\r\n setHasLoaded(true);\r\n });\r\n }\r\n const getData = () => {\r\n return gridData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const filteredData = getData();\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
Education Records
\r\n \r\n {(!props.isReadOnly && props.hideGrid == false && gridData.length > 0) &&\r\n \r\n \r\n \r\n }\r\n
\r\n
\r\n \r\n

\r\n I have education transcript(s) verified in MyNCEES record.\r\n

\r\n
\r\n \r\n {(props.hideGrid === false) &&\r\n <>\r\n {hasLoaded ?\r\n <>\r\n {\r\n gridData.length > 0 ?\r\n <>\r\n Transcript(s) need to be verified in MyNCEES. Transcript(s) are not accepted from applicants.\r\n
\r\n
\r\n \r\n \r\n \r\n Institution\r\n \r\n {rowData => (rowData.school.name)}\r\n \r\n \r\n \r\n Dates From/To\r\n \r\n {rowData => (`${dayjs(rowData.attendanceStartDate).format('MMM YYYY')} - ${dayjs(rowData.attendanceEndDate).format('MMM YYYY')}`)}\r\n \r\n \r\n \r\n Graduation Date\r\n \r\n {rowData => (`${rowData.graduationDate ? new Date(rowData.graduationDate).toLocaleDateString() : ''}`)}\r\n \r\n \r\n \r\n Major\r\n \r\n \r\n \r\n \r\n \r\n Degree\r\n \r\n {rowData => (`${rowData.degree ? rowData.degree.degree : ''}`)}\r\n \r\n {\r\n !props.isReadOnly &&\r\n \r\n \r\n \r\n \r\n {rowData => {\r\n function handleAction() {\r\n\r\n props.openModal(rowData);\r\n }\r\n function handleDelete() {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n EducationService.postEducationRecord({ ...rowData, deleted: true }).then((response) => {\r\n reloadGrid();\r\n })\r\n }\r\n })\r\n }\r\n return (\r\n \r\n   \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n }\r\n
\r\n \r\n :\r\n Transcript(s) are not accepted from applicants. Please have transcript(s) verified on your MyNCEES account for application processing. If you have any questions, please contact LAPELS staff at applications@lapels.com\r\n }\r\n : }\r\n \r\n }\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\nexport default EducationRecord;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PLSAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualPlsApplication\";\r\n\r\nconst getEducationRecords = (applicationId) => {\r\n return axios.get(`${PLSAPPLICATIONURL}/educationrecords`, { headers: authHeader(), params:{ applicationId} });\r\n}\r\nconst getApprovedCourseRecords = (applicationId) => {\r\n return axios.get(`${PLSAPPLICATIONURL}/approvedcompletedcourses`, { headers: authHeader(), params:{ applicationId} });\r\n}\r\nconst getNonApprovedCourseRecords = (applicationId) => {\r\n return axios.get(`${PLSAPPLICATIONURL}/notapprovedcompletedcourses`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postEducationRecord = (data) => {\r\n return axios.post(`${PLSAPPLICATIONURL}/educationrecord`, data, { headers: authHeader() });\r\n}\r\nconst postApprovedCourseRecord = (data) => {\r\n return axios.post(`${PLSAPPLICATIONURL}/approvedcompletedcourse`, data, { headers: authHeader() });\r\n}\r\nconst postNonApprovedCourseRecord = (data) => {\r\n return axios.post(`${PLSAPPLICATIONURL}/notapprovedcompletedcourse`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getEducationRecords,\r\n getNonApprovedCourseRecords,\r\n getApprovedCourseRecords,\r\n postEducationRecord,\r\n postApprovedCourseRecord,\r\n postNonApprovedCourseRecord\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Modal, Row, Col, Button } from 'react-bootstrap'\r\nimport { InputPicker, SelectPicker, Form, ControlLabel, Schema, FormControl, FormGroup } from 'rsuite';\r\nimport RedStar from '../GenericComponents/RedStar';\r\nimport YesNoRadioOption from '../RadioButton/YesNoRadioOption';\r\nimport { getSchools, getDegrees } from '../../../services/Shared/codeTable.service'\r\nimport EducationService from '../../../services/Public/Application/PLS/education.service'\r\n\r\nfunction AddEditEducationRecordsModal(props) {\r\n const [schools, setSchools] = useState([]);\r\n const [degrees, setDegrees] = useState([]);\r\n \r\n const [recordModel, setRecordModel] = useState({\r\n applicationId :'',\r\n attendanceEndDate: null,\r\n attendanceStartDate: null,\r\n dateCrte: null,\r\n degree: null,\r\n deleted: false,\r\n didGraduate:'',\r\n entityId: '',\r\n graduationDate:null,\r\n id:0,\r\n major: '',\r\n school: null,\r\n userCrte: '',\r\n modalType: \"Add\"\r\n })\r\n\r\n useEffect(() => {\r\n getSchools().then(setSchools);\r\n getDegrees().then(setDegrees);\r\n setRecordModel({\r\n ...props.modaldata\r\n });\r\n\r\n }, [props.modaldata])\r\n\r\n const { StringType, ObjectType, ArrayType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n school: ObjectType().isRequired('This field is required.'),\r\n attendanceStartDate: StringType().isRequired('This field is required.'),\r\n attendanceEndDate: StringType().isRequired('This field is required.'),\r\n didGraduate: BooleanType().isRequired('This field is required.'),\r\n graduationDate: StringType().isRequired('This field is required.'),\r\n degree: ObjectType().isRequired('This field is required.'),\r\n })\r\n const formSubmit = (validation, event) => {\r\n var validationObject = model.check(recordModel);\r\n for (const key in validationObject) {\r\n if (recordModel.didGraduate === false) {\r\n if (validationObject[key].hasError && !(key.includes(\"graduationDate\") || key.includes(\"degree\"))) {\r\n return;\r\n }\r\n }\r\n }\r\n if (recordModel.didGraduate === false || (validation && recordModel.didGraduate === true)) {\r\n submitData();\r\n }\r\n }\r\n const submitData = () => {\r\n var dataToTransmit = {\r\n ...recordModel,\r\n id: recordModel.id === '' ? 0 : recordModel.id,\r\n attendanceEndDate: new Date(recordModel.attendanceEndDate),\r\n attendanceStartDate: new Date(recordModel.attendanceStartDate)\r\n };\r\n delete dataToTransmit.modalType;\r\n var didSave = false;\r\n EducationService.postEducationRecord(dataToTransmit).then((response) => {\r\n if (response.data.id) {\r\n props.updateGrid();\r\n props.onHide();\r\n }\r\n }).catch((response) => {\r\n })\r\n //post formData to api\r\n //return bool didSave\r\n \r\n }\r\n const handleDidGraduateChange = (value) => {\r\n if (!value) {\r\n setRecordModel({\r\n ...recordModel, graduationDate: null, degree: null, didGraduate: value\r\n })\r\n }\r\n } \r\n return (\r\n \r\n \r\n \r\n {recordModel.modalType} an Education Record\r\n \r\n \r\n \r\n
setRecordModel(recordModel)} onSubmit={formSubmit} >\r\n \r\n \r\n \r\n \r\n \r\n Institution Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Date From \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Date To \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Did you graduate? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {recordModel.didGraduate &&\r\n <>\r\n \r\n \r\n \r\n \r\n Graduation Date \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Degree \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n Major\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default AddEditEducationRecordsModal;","import React, { useEffect, useState } from 'react';\r\nimport { Container } from 'react-bootstrap';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport EducationRecord from './EducationRecords';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/PeInformation';\r\nimport AddEditEducationRecordsModal from '../../../../../Shared/Modal/AddEditEducationRecordsModal';\r\nimport { useSelector } from 'react-redux';\r\nimport applicationService from '../../../../../../services/Public/Application/PE/peApplication.service';\r\nimport educationService from '../../../../../../services/Public/Application/PE/education.service';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport dayjs from 'dayjs';\r\n\r\nfunction EducationPage() {\r\n const [hideGrids, setHideGrids] = useState(true);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [modalShow, setModalShow] = useState(false);\r\n const [modalData, setModalData] = useState({});\r\n const { push } = useHistory();\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 3 ? \"By Comity\" : appTypeId == 4 ? \"By Exam\" : \"\";\r\n const sectionId = 2;\r\n const [sectionData, setSectionData] = useState({});\r\n useEffect(() => {\r\n setHasLoaded(false)\r\n applicationService.peGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHideGrids(response.data.hasMyNceesEducation ?? true);\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n const { BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasMyNceesEducation: BooleanType().isRequired('This field is required.')\r\n });\r\n const handleMyNceesEducationChange = (val) => {\r\n setHideGrids(val);\r\n }\r\n const openModal = (values) => {\r\n if (values.id) {\r\n setModalData(\r\n {\r\n ...values,\r\n attendanceEndDate: values.attendanceEndDate ? dayjs(values.attendanceEndDate).format('YYYY-MM') : null,\r\n attendanceStartDate: values.attendanceStartDate ? dayjs(values.attendanceStartDate).format('YYYY-MM') : null,\r\n graduationDate: values.graduationDate ? dayjs(values.graduationDate).format('YYYY-MM-DD') : null,\r\n modalType: 'Edit'\r\n });\r\n }\r\n else {\r\n setModalData({\r\n applicationId: appId,\r\n attendanceEndDate: null,\r\n attendanceStartDate: null,\r\n dateCrte: new Date(),\r\n degree: null,\r\n deleted: false,\r\n didGraduate: '',\r\n entityId: entityId,\r\n graduationDate: null,\r\n id: '',\r\n major: '',\r\n school: null,\r\n userCrte: '',\r\n modalType: \"Add\"\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n\r\n const [reloadGrid, setReloadGrid] = useState(1);\r\n\r\n const submitForm = (validation, event) => {\r\n if (!sectionData.isUserEditable)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n else {\r\n if (validation) {\r\n applicationService.pePostSectionHasMyNceesEducation(appId, sectionId, sectionData.hasMyNceesEducation).then(() => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n }\r\n }\r\n return (\r\n
\r\n \r\n Professional Engineer Application {appType}\r\n

Education

\r\n \r\n
\r\n {hasLoaded ? <>\r\n {\r\n modalShow &&\r\n { var data = 1 + reloadGrid; setReloadGrid(data) }} modaldata={modalData} show={modalShow} onHide={() => setModalShow(false)} proptitle=\"Add\" />\r\n }\r\n \r\n setSectionData(data)}\r\n >\r\n \r\n \r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default EducationPage;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PEAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeApplication\";\r\n\r\nconst getPersonalReferences = (applicationId) => {\r\n return axios.get(`${PEAPPLICATIONURL}/personalreferences`, { headers: authHeader(), params: {applicationId} });\r\n}\r\nconst postPersonalReference = (data) => {\r\n return axios.post(`${PEAPPLICATIONURL}/personalreference`, data, { headers: authHeader() });\r\n}\r\n\r\nconst sendPersonalReferenceEmail = (referenceId) => {\r\n return axios.post(`${PEAPPLICATIONURL}/sendreferenceemail`, null, { headers: authHeader(), params:{referenceId} });\r\n}\r\n\r\nexport default {\r\n getPersonalReferences,\r\n postPersonalReference,\r\n sendPersonalReferenceEmail\r\n}","import React, { useState, useEffect } from 'react'\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Container } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useSelector } from 'react-redux';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons'\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/PeInformation';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport AddEditPersonalReferenceModal from '../../../../../Shared/Modal/AddEditPersonalReferenceModal';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport References from '../../../../../Shared/Card/References';\r\n\r\nimport personalReferenceService from '../../../../../../services/Public/Application/PE/personalReferences.service'\r\nimport applicationService from '../../../../../../services/Public/Application/PE/peApplication.service';\r\nimport Swal from 'sweetalert2';\r\nimport dayjs from 'dayjs';\r\n\r\nfunction PersonalReferencesPage() {\r\n const { push } = useHistory();\r\n const [modalShow, setModalShow] = useState(false);\r\n const [hasLoaded, setHasLoaded] = useState(true);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const applicationId = useSelector(x => x.currentApplicationId);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 3 ? \"By Comity\" : appTypeId == 4 ? \"By Exam\" : \"\";\r\n const sectionId = 3;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [modalData, setModalData] = useState({\r\n address: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: 0,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n firstOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: 0,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n secondOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: 0,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n applicationId: 0,\r\n dateCrte: null,\r\n deleted: false,\r\n email: \"\",\r\n entityId: 0,\r\n id: 0,\r\n name: \"\",\r\n userCrte: \"\",\r\n verificationStatus: null,\r\n membersOfSameFirm: null,\r\n notMembersOfSameFirmExplanation: '',\r\n dateFromFirstOccasion: null,\r\n dateToFirstOccasion: null,\r\n firstOccasionFirmName: '',\r\n firstOccasionPosition: '',\r\n firstOccasionReferencePosition: '',\r\n dateToSecondOccasion: null,\r\n dateFromSecondOccasion: null,\r\n secondOccasionFirmName: '',\r\n secondOccasionPosition: '',\r\n secondOccasionReferencePosition: '',\r\n modalType: \"Add\"\r\n });\r\n const [gridData, setGridData] = useState([]);\r\n const [sectionData, setSectionData] = useState({});\r\n\r\n useEffect(() => {\r\n setHasLoaded(false)\r\n applicationService.peGetSection(applicationId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n updateGridData();\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n\r\n\r\n const updateGridData = () => {\r\n personalReferenceService.getPersonalReferences(applicationId).then((response) => {\r\n setGridData(response.data);\r\n });\r\n }\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.'),\r\n hasReferences: BooleanType().isRequired('This field is required.')\r\n });\r\n const openAddEditModal = (values) => {\r\n if (values.id) {\r\n var data = {\r\n ...values,\r\n dateToFirstOccasion: values.dateToFirstOccasion ? dayjs(values.dateToFirstOccasion).format('YYYY-MM') : null,\r\n dateFromFirstOccasion: values.dateFromFirstOccasion ? dayjs(values.dateFromFirstOccasion).format('YYYY-MM') : null,\r\n dateToSecondOccasion: values.dateToSecondOccasion ? dayjs(values.dateToSecondOccasion).format('YYYY-MM') : null,\r\n dateFromSecondOccasion: values.dateFromSecondOccasion ? dayjs(values.dateFromSecondOccasion).format('YYYY-MM') : null,\r\n modalType: \"Edit\"\r\n }\r\n setModalData(data);\r\n }\r\n else {\r\n setModalData({\r\n address: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: entityId,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n firstOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: entityId,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n secondOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: entityId,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n applicationId: applicationId,\r\n dateCrte: null,\r\n deleted: false,\r\n email: \"\",\r\n entityId: entityId,\r\n id: 0,\r\n name: \"\",\r\n userCrte: \"\",\r\n verificationStatus: null,\r\n membersOfSameFirm: null,\r\n notMembersOfSameFirmExplanation: '',\r\n dateFromFirstOccasion: null,\r\n dateToFirstOccasion: null,\r\n firstOccasionFirmName: '',\r\n firstOccasionPosition: '',\r\n firstOccasionReferencePosition: '',\r\n dateToSecondOccasion: null,\r\n dateFromSecondOccasion: null,\r\n secondOccasionFirmName: '',\r\n secondOccasionPosition: '',\r\n secondOccasionReferencePosition: '',\r\n modalType: \"Add\"\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (validation) {\r\n applicationService.pePostSection(applicationId, sectionId, sectionData.electronicSignature).then((signatureResponse) => {\r\n applicationService.pePostSectionHasRef(applicationId, sectionId, sectionData.hasReferences).then((response) => {\r\n if (response.data && signatureResponse.data) // If both return something it's good to go\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n });\r\n });\r\n }\r\n }\r\n }\r\n\r\n const formSave = (event) => {\r\n applicationService.pePostSection(applicationId, sectionId, sectionData.electronicSignature).then(() => {\r\n applicationService.pePostSectionHasRef(applicationId, sectionId, sectionData.hasReferences).then(() => {\r\n Swal.fire(\"Saved!\");\r\n })\r\n });\r\n }\r\n\r\n const deleteRow = (rowData) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n personalReferenceService.postPersonalReference({ ...rowData, deleted: true }).then((response) => {\r\n updateGridData();\r\n })\r\n }\r\n })\r\n }\r\n const emailReference = (rowData) => {\r\n personalReferenceService.sendPersonalReferenceEmail(rowData.id).then((response) => {\r\n if (response.data) {\r\n Swal.fire(`You have successfully sent an email to ${rowData.name} at ${rowData.email}!`);\r\n updateGridData();\r\n }\r\n else\r\n Swal.fire(`Failed to send email: ${response.data.message}`);\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Engineer Application {appType}\r\n

References

\r\n \r\n
\r\n

\r\n Personal References\r\n

\r\n {hasLoaded ? <>\r\n setModalShow(false)}\r\n onsave={personalReferenceService.postPersonalReference}\r\n />\r\n { setSectionData(data) }}\r\n onSubmit={formSubmit} >\r\n\r\n \r\n\r\n
\r\n \r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default PersonalReferencesPage\r\n","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PEAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeApplication\";\r\n\r\nconst getExperienceRecords = (applicationId) => {\r\n return axios.get(`${PEAPPLICATIONURL}/experiencerecords`, { headers: authHeader(), params: { applicationId} });\r\n}\r\nconst postExperienceRecord = (data) => {\r\n return axios.post(`${PEAPPLICATIONURL}/experiencerecord`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getExperienceRecords,\r\n postExperienceRecord\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Modal, Row, Col, Button } from 'react-bootstrap'\r\nimport NumberFormat from 'react-number-format';\r\nimport { Input, SelectPicker, Form, ControlLabel, Schema, FormControl, FormGroup, Icon } from 'rsuite';\r\nimport experienceService from '../../../../../../services/Public/Application/PE/experience.service';\r\n//import reinstatementExperienceService from '../../../../../../services/Public/Reinstatement/PLS/experience.service';\r\nimport { getEmploymentTypes } from '../../../../../../services/Shared/codeTable.service';\r\nimport PhoneNumberMask from '../../../../../Shared/GenericComponents/PhoneNumberMask';\r\nimport RedStar from '../../../../../Shared/GenericComponents/RedStar';\r\n\r\nconst InputMask = ({ onChange, ...rest }) => {\r\n return (\r\n {\r\n onChange(event.target.value);\r\n }}\r\n />\r\n );\r\n};\r\n\r\nfunction AddEditExperienceRecordsModal(props) {\r\n const [recordModel, setRecordModel] = useState({\r\n applicationId: 0,\r\n comments: \"\",\r\n dateCrte: null,\r\n dateFrom: null,\r\n dateTo: null,\r\n deleted: false,\r\n employerName: \"\",\r\n employerPosition: \"\",\r\n employerEmail: \"\",\r\n employerPhone: \"\",\r\n verifierName: \"\",\r\n verifierPosition: \"\",\r\n verifierEmail: \"\",\r\n verifierPhone: \"\",\r\n employmentType: null,\r\n entityId: 0,\r\n id: 0,\r\n userCrte: \"\",\r\n position: \"\",\r\n location: \"\",\r\n description: \"\",\r\n acceptableDescription: \"\",\r\n //showErrors: false,\r\n emailAddresses: [\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 10,\r\n emailAddressParentType: \"Application Experience Employer\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 11,\r\n emailAddressParentType: \"Application Experience Verifier\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n phoneNumbers: [\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 10,\r\n phoneParentType: \"Application Experience Employer\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 11,\r\n phoneParentType: \"Application Experience Verifier\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n modalType: \"Add\"\r\n })\r\n const [employmentTypes, setEmploymentTypes] = useState([])\r\n useEffect(() => {\r\n getEmploymentTypes().then(setEmploymentTypes);\r\n setRecordModel(props.modaldata);\r\n }, [props.modaldata])\r\n\r\n const { StringType, ObjectType, NumberType } = Schema.Types;\r\n const model = Schema.Model({\r\n position: StringType().isRequired('This field is required.'),\r\n employerName: StringType().isRequired('This field is required.'),\r\n employerPosition: StringType().isRequired('This field is required.'),\r\n employerPhone: NumberType().pattern(/^[0-9]{10}/, \"Please enter a valid Phone Number\").isRequired(\"This field is required.\"),\r\n employerEmail: StringType().isRequired('This field is required.').isEmail(\"Enter a valid email\"),\r\n verifierName: StringType().isRequired('This field is required.'),\r\n verifierPosition: StringType().isRequired('This field is required.'),\r\n verifierPhone: NumberType().pattern(/^[0-9]{10}/, \"Please enter a valid Phone Number\").isRequired(\"This field is required.\"),\r\n verifierEmail: StringType().isRequired('This field is required.').isEmail(\"Enter a valid email\"),\r\n\r\n location: StringType().isRequired('This field is required.'),\r\n description: StringType().isRequired('This field is required.'),\r\n acceptableDescription: StringType().isRequired('This field is required.'),\r\n employmentType: ObjectType().isRequired('This field is required.'),\r\n dateFrom: StringType().isRequired('This field is required.'),\r\n dateTo: StringType().isRequired('This field is required.')\r\n })\r\n\r\n const formSubmit = (validation, event) => {\r\n var hasErrors = false;\r\n var validationObject = model.check(recordModel);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n hasErrors = true;\r\n return;\r\n }\r\n }\r\n if (!hasErrors) {\r\n submitData();\r\n }\r\n\r\n }\r\n const submitData = () => {\r\n var dataToTransmit = {\r\n ...recordModel,\r\n phoneNumbers: [\r\n {\r\n ...recordModel.phoneNumbers[0],\r\n contactPhoneNumber: recordModel.employerPhone\r\n },\r\n {\r\n ...recordModel.phoneNumbers[1],\r\n contactPhoneNumber: recordModel.verifierPhone\r\n }\r\n ],\r\n emailAddresses: [\r\n {\r\n ...recordModel.emailAddresses[0],\r\n contactEmailAddress: recordModel.employerEmail\r\n\r\n },\r\n {\r\n ...recordModel.emailAddresses[1],\r\n contactEmailAddress: recordModel.verifierEmail\r\n }\r\n ],\r\n dateFrom: new Date(recordModel.dateFrom),\r\n dateTo: new Date(recordModel.dateTo),\r\n id: recordModel.id === '' ? 0 : recordModel.id,\r\n };\r\n\r\n\r\n delete dataToTransmit.modalType;\r\n delete dataToTransmit.verifierEmail;\r\n delete dataToTransmit.verifierPhone;\r\n delete dataToTransmit.employerPhone;\r\n delete dataToTransmit.employerEmail;\r\n //delete dataToTransmit.showErrors;\r\n //if (props.appType === \"reinstatement\") {\r\n // reinstatementExperienceService.postExperienceRecord(dataToTransmit).then((response) => {\r\n // if (response.data.id) {\r\n // props.updateGrid();\r\n // props.onHide();\r\n // }\r\n // })\r\n //}\r\n //else {\r\n experienceService.postExperienceRecord(dataToTransmit).then((response) => {\r\n if (response.data.id) {\r\n props.updateGrid();\r\n props.onHide();\r\n }\r\n })\r\n //}\r\n }\r\n return (\r\n \r\n \r\n \r\n {recordModel.modalType} an Experience Record\r\n \r\n \r\n \r\n
setRecordModel(recordModel)} onSubmit={formSubmit} >\r\n \r\n \r\n \r\n \r\n \r\n Title of Position \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Location of Assignment/Engagement \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Description of Assignment \r\n \r\n indicate character of work and degree of responsibility \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n If not a licensed professional engineer/surveyor, explain why the experience should be considered acceptable. Otherwise, enter N/A. \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Employment Type \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Date From \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Date To \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n Employer Information \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Title \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Phone \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Email \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n Verifier Information \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Title \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Phone \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Email \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default AddEditExperienceRecordsModal;","import React, { useEffect, useState } from 'react'\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport {GetAppInformationContent } from '../../../../../Shared/InformationContent/PeInformation';\r\nimport AddEditExperienceRecordsModal from './ExperienceRecordModal';\r\nimport Experience from '../../../../../Shared/Card/Experience';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport applicationService from '../../../../../../services/Public/Application/PE/peApplication.service';\r\nimport experienceService from '../../../../../../services/Public/Application/PE/experience.service';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport dayjs from 'dayjs';\r\n\r\nfunction ExperiencePage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n\r\n const [modalShow, setModalShow] = useState(false);\r\n const [gridData, setGridData] = useState([]);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 3 ? \"By Comity\" : appTypeId == 4 ? \"By Exam\" : \"\";\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 7;\r\n const [modalData, setModalData] = useState({});\r\n useEffect(() => {\r\n setHasLoaded(false)\r\n applicationService.peGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n updateGridData();\r\n setHasLoaded(true)\r\n })\r\n }, [])\r\n const { BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasMyNceesExperience: BooleanType().isRequired('This field is required.')\r\n });\r\n const openAddEditModal = (values) => {\r\n if (values.id) {\r\n setModalData(\r\n {\r\n ...values,\r\n verifierEmail: values.emailAddresses[1].contactEmailAddress,\r\n verifierPhone: values.phoneNumbers[1].contactPhoneNumber,\r\n employerEmail: values.emailAddresses[0].contactEmailAddress,\r\n employerPhone: values.phoneNumbers[0].contactPhoneNumber,\r\n dateFrom: values.dateFrom ? dayjs(values.dateFrom).format('YYYY-MM') : null,\r\n dateTo: values.dateTo ? dayjs(values.dateTo).format('YYYY-MM') : null,\r\n modalType: 'Edit'\r\n });\r\n }\r\n else {\r\n setModalData({\r\n applicationId: appId,\r\n comments: \"\",\r\n dateCrte: null,\r\n dateFrom: null,\r\n dateTo: null,\r\n deleted: false,\r\n employerName: \"\",\r\n employerPosition: \"\",\r\n verifierName: \"\",\r\n verifierPosition: '',\r\n verifierEmail: \"\",\r\n verifierPhone: \"\",\r\n employerEmail: \"\",\r\n employerPhone: \"\",\r\n employmentType: null,\r\n entityId: entityId,\r\n id: 0,\r\n userCrte: \"\",\r\n position: \"\",\r\n location: \"\",\r\n description: \"\",\r\n acceptableDescription: \"\",\r\n emailAddresses: [\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 10,\r\n emailAddressParentType: \"Application Experience Employer\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 11,\r\n emailAddressParentType: \"Application Experience Verifier\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n phoneNumbers: [\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 10,\r\n phoneParentType: \"Application Experience Employer\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 11,\r\n phoneParentType: \"Application Experience Verifier\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n modalType: \"Add\"\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n const { push } = useHistory();\r\n\r\n const handleSubmit = (validation, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (validation) {\r\n applicationService.pePostSectionHasExperience(appId, sectionId, sectionData.hasMyNceesExperience).then((response) => {\r\n if (response.data) // If both return something it's good to go\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n });\r\n }\r\n }\r\n }\r\n const updateGridData = () => {\r\n experienceService.getExperienceRecords(appId).then((response) => {\r\n setGridData(response.data)\r\n });\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Engineer Application {appType}\r\n

Experience

\r\n \r\n
\r\n {hasLoaded ? <>\r\n {modalShow &&\r\n setModalShow(false)} proptitle=\"Add\" />\r\n }\r\n
setSectionData(data)}>\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ExperiencePage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PEAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeApplication\";\r\n\r\nconst getViolation = (applicationId) => {\r\n return axios.get(`${PEAPPLICATIONURL}/violation`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postViolation = (data) => {\r\n return axios.post(`${PEAPPLICATIONURL}/violation`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getViolation,\r\n postViolation\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport { useSelector } from 'react-redux';\r\nimport ViolationService from '../../../../../../services/Public/Application/PE/violation.service';\r\nimport applicationService from '../../../../../../services/Public/Application/PE/peApplication.service';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Swal from 'sweetalert2';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/PeInformation';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { getCodeViolationAnswers } from '../../../../../../services/Shared/codeTable.service';\r\nimport GenericViolations from '../../../../../Shared/Card/Violations';\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 3 ? \"By Comity\" : appTypeId == 4 ? \"By Exam\" : \"\";\r\n const sectionId = 4;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n signature: StringType().isRequired('This field is required.'),\r\n yesAnswerExplanation: StringType().isRequired('This field is required.'),\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n applicationService.peGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n ViolationService.getViolation(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, issues: formData.issues, files: formData.files, filesForDisplay: formData.filesForDisplay, signature: response.data.electronicSignature });\r\n }\r\n else {\r\n getCodeViolationAnswers(appTypeId).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n signature: undefined,\r\n yesAnswerExplanation: \"\",\r\n files: [],\r\n filesForDisplay: [],\r\n issues: []\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true) >= 0;\r\n\r\n const handleSubmit = (val, event) => {\r\n setShowFormErrors(true)\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n if (formData.signature) {\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, applicationId: store.currentApplicationId, entityId: store.userInfo.EntityId };\r\n ViolationService.postViolation(dataTransfer).then((response) => {\r\n applicationService.pePostSection(store.currentApplicationId, sectionId, formData.signature).then((response) => {\r\n if (response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n })\r\n });\r\n }\r\n }\r\n }\r\n }\r\n const formSave = () => {\r\n var dataTransfer = { ...formData, applicationId: store.currentApplicationId, entityId: store.userInfo.EntityId };\r\n ViolationService.postViolation(dataTransfer).then((response) => {\r\n updateFormData({ ...response.data, signature: formData.signature });\r\n applicationService.pePostSection(store.currentApplicationId, sectionId, formData.signature).then((response) => {\r\n Swal.fire(\"Saved!\")\r\n })\r\n });\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n Professional Engineer Application {appType}\r\n

Violations

\r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import React, { useEffect, useState } from 'react'\r\nimport { Card, Container } from 'react-bootstrap'\r\nimport { Form, Schema } from 'rsuite'\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons'\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/PeInformation';\r\nimport applicationService from '../../../../../../services/Public/Application/PE/peApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport DocumentUpload from '../../../../../Shared/Upload/DocumentUpload';\r\n\r\nfunction QuizzesPage() {\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const [hasFiles, setHasFiles] = useState(false);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 3 ? \"By Comity\" : appTypeId == 4 ? \"By Exam\" : \"\";\r\n const sectionId = 6;\r\n useEffect(() => {\r\n applicationService.peGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data)\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n\r\n const { push } = useHistory();\r\n //const attachmentTypes = [\r\n // {\r\n // \"label\": \"Quiz - Laws and Rules (New License)\", \"value\": 5\r\n // },\r\n // {\r\n // \"label\": \"Quiz - Ethics (New License)\", \"value\": 6\r\n // }\r\n //]\r\n\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n // e is the result of the validation\r\n if (hasFiles) {\r\n // do form post\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n }\r\n const handleSave = () => {\r\n Swal.fire(\"Saved!\")\r\n }\r\n return (\r\n
\r\n \r\n Professional Engineer Application {appType}\r\n

Quizzes

\r\n \r\n
\r\n {hasLoaded ?\r\n
{/*This is to make sure validation is triggered and form does nothing else*/}\r\n \r\n \r\n
Document Uploads
\r\n
\r\n \r\n \r\n {!hasFiles &&
Please select at least 1 file.
}\r\n
\r\n
\r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default QuizzesPage;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PEAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeApplication\";\r\n\r\nconst getCoopExperience = (applicationId) => {\r\n return axios.get(`${PEAPPLICATIONURL}/coopexperience`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postCoopExperience = (data) => {\r\n return axios.post(`${PEAPPLICATIONURL}/coopexperience`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getCoopExperience,\r\n postCoopExperience\r\n}","import React, { useEffect } from 'react'\r\nimport { useState } from 'react';\r\nimport { Card, Col, Container, Row } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { ControlLabel, Form, FormControl, FormGroup, Schema } from 'rsuite';\r\nimport coopExperienceService from '../../../../../../services/Public/Application/PE/coopExperience.service';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport RedStar from '../../../../../Shared/GenericComponents/RedStar';\r\nimport applicationService from '../../../../../../services/Public/Application/PE/peApplication.service';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/PeInformation';\r\nimport YesNoRadioOption from '../../../../../Shared/RadioButton/YesNoRadioOption';\r\nimport Swal from 'sweetalert2';\r\nimport { useSelector } from 'react-redux';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nfunction CoopExperiencePage() {\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const [model, setModel] = useState({\r\n hasCoopExperience: '',\r\n months: '',\r\n years: '',\r\n entityId: entityId,\r\n applicationId: appId\r\n });\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const routes = useSelector(x => x.currentRoutes);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 3 ? \"By Comity\" : appTypeId == 4 ? \"By Exam\" : \"\";\r\n const sectionId = 16;\r\n const [sectionData, setSectionData] = useState({});\r\n\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n applicationService.peGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n coopExperienceService.getCoopExperience(appId).then((data) => {\r\n if (data.data)\r\n setModel({\r\n ...data.data,\r\n years: !data.data.years ? '' : data.data.years,\r\n months: !data.data.months ? '' : data.data.months\r\n });\r\n })\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n\r\n const { BooleanType } = Schema.Types;\r\n const validationModel = Schema.Model({\r\n hasCoopExperience: BooleanType().isRequired('This field is required.')\r\n\r\n });\r\n\r\n const formSubmit = (val, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (val) {\r\n var dataToTransmit = {\r\n ...model,\r\n years: model.years == \"\" ? 0 : model.years,\r\n months: model.months == \"\" ? 0 : model.months,\r\n }\r\n coopExperienceService.postCoopExperience(dataToTransmit).then((response) => {\r\n if (response.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n }\r\n }\r\n\r\n return (\r\n \r\n Professional Engineer Application { appType}\r\n

Co-op Experience

\r\n \r\n
{hasLoaded ? \r\n
\r\n \r\n \r\n
Co-op Experience
\r\n
\r\n \r\n I have Co-op Experience listed on my transcript\r\n \r\n {model.hasCoopExperience === true &&\r\n <>\r\n
\r\n \r\n \r\n TOTAL OF CO-OP EXPERIENCE:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n
\r\n
\r\n
\r\n \r\n \r\n : }\r\n
\r\n );\r\n}\r\nexport default CoopExperiencePage;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PEAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeApplication\";\r\n\r\nconst getResidency = (applicationId) => {\r\n return axios.get(`${PEAPPLICATIONURL}/residency`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postResidency = (data) => {\r\n return axios.post(`${PEAPPLICATIONURL}/residency`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getResidency,\r\n postResidency\r\n}","import React, { useEffect } from 'react'\r\nimport { useState } from 'react'\r\nimport { Card, Container } from 'react-bootstrap'\r\nimport { useSelector } from 'react-redux'\r\nimport { useHistory } from 'react-router-dom'\r\nimport { Form, FormControl, Schema, TagPicker } from 'rsuite'\r\nimport peApplicationService from '../../../../../../services/Public/Application/PE/peApplication.service'\r\nimport residencyService from '../../../../../../services/Public/Application/PE/residency.service'\r\nimport { getStates } from '../../../../../../services/Shared/codeTable.service'\r\nimport Information from '../../../../../Shared/Card/Information'\r\nimport Issues from '../../../../../Shared/Card/Issues'\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons'\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner'\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/PeInformation'\r\n\r\nfunction ResidencyPage() {\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 3 ? \"By Comity\" : appTypeId == 4 ? \"By Exam\" : \"\";\r\n const [model, setModel] = useState({\r\n applicationId: appId,\r\n entityId: entityId,\r\n states: ''\r\n })\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const { push } = useHistory();\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 17;\r\n const [states, setStates] = useState([])\r\n const [sectionData, setSectionData] = useState({})\r\n useEffect(() => {\r\n peApplicationService.peGetSection(appId, sectionId).then((response) => {\r\n getStates().then(setStates);\r\n setSectionData(response.data);\r\n residencyService.getResidency(appId).then((data) => {\r\n if (data.data)\r\n setModel(data.data)\r\n setHasLoaded(true);\r\n })\r\n })\r\n }, [])\r\n\r\n const { ArrayType } = Schema.Types;\r\n const validationModel = Schema.Model({\r\n states: ArrayType().isRequired('This field is required.')\r\n })\r\n const formSubmit = (val, event) => {\r\n if (!sectionData.isUserEditable)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n else if (val) {\r\n residencyService.postResidency(model).then((response) => { \r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n }\r\n return (\r\n \r\n Professional Engineer Application {appType}\r\n

Residency

\r\n \r\n
{hasLoaded ?\r\n
\r\n \r\n \r\n
Residency
\r\n
\r\n \r\n What state(s) do you currently hold an active license in? Select all choices below that are applicable.\r\n { if (label.toLowerCase().startsWith(userInput.toLowerCase()) || !userInput) return true; }}\r\n name=\"states\"\r\n />\r\n \r\n
\r\n \r\n \r\n : }\r\n
\r\n );\r\n}\r\nexport default ResidencyPage;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PEAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeApplication\";\r\n\r\nconst getEmployment = (applicationId) => {\r\n return axios.get(`${PEAPPLICATIONURL}/employment`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postEmployment = (data) => {\r\n return axios.post(`${PEAPPLICATIONURL}/employment`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getEmployment,\r\n postEmployment\r\n}","import React, { useState, useEffect } from 'react'\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/PeInformation';\r\nimport EmploymentLicensure from '../../../../../Shared/Card/EmploymentLicensure';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport applicationService from '../../../../../../services/Public/Application/PE/peApplication.service';\r\nimport employmentService from '../../../../../../services/Public/Application/PE/employment.service';\r\nimport { getEfCredential } from '../../../../../../services/Shared/codeTable.service';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction EmploymentPage() {\r\n const [sectionData, setSectionData] = useState({});\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const { StringType, ObjectType } = Schema.Types;\r\n const [option, setOption] = useState();\r\n const sectionId = 5;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 3 ? \"By Comity\" : appTypeId == 4 ? \"By Exam\" : \"\";\r\n const store = useSelector(x => x);\r\n const [formModel, setFormModel] = useState({\r\n id: 0,\r\n applicationId: store.currentApplicationId,\r\n employedBy: '',\r\n licensedFirmType: '',\r\n firmNumber: null,\r\n comment: '',\r\n signature: ''\r\n })\r\n const model = Schema.Model({\r\n licensedFirmType: StringType().isRequired('This field is required'),\r\n comment: StringType().isRequired('This field is required'),\r\n firmNumber: ObjectType().isRequired('This field is required'),\r\n employedBy: StringType().isRequired('This field is required')\r\n });\r\n\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n employmentService.getEmployment(store.currentApplicationId).then((response) => {\r\n applicationService.peGetSection(store.currentApplicationId, sectionId).then((data) => {\r\n setSectionData(data.data);\r\n if (response.data) {\r\n var licensedFirmType = \"\";\r\n if (response.data.firmIsLicensed)\r\n licensedFirmType = \"licensed\";\r\n else if (response.data.firmIsNotLicensed)\r\n licensedFirmType = \"unlicensed\";\r\n else if (response.data.soleProprietor)\r\n licensedFirmType = \"soleProprietor\";\r\n else if (response.data.unemployed)\r\n licensedFirmType = \"unemployed\"\r\n if (response.data.credentialId) {\r\n getEfCredential(response.data.credentialId).then((cred) => {\r\n setFormModel({\r\n id: response.data.id,\r\n employedBy: response.data.employedByName,\r\n firmNumber: cred?.value,\r\n comment: response.data.comment,\r\n licensedFirmType: licensedFirmType,\r\n signature: data.data.electronicSignature\r\n });\r\n setOption(licensedFirmType);\r\n })\r\n }\r\n else {\r\n setFormModel({\r\n id: response.data.id,\r\n employedBy: response.data.employedByName,\r\n firmNumber: response.data.credentialId,\r\n comment: response.data.comment,\r\n licensedFirmType: licensedFirmType,\r\n signature: data.data.electronicSignature\r\n });\r\n setOption(licensedFirmType);\r\n }\r\n }\r\n setHasLoaded(true);\r\n })\r\n })\r\n \r\n }, [])\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var hasErrors = false;\r\n var validationObject = model.check(formModel);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n if (key === \"firmNumber\" && formModel.licensedFirmType === \"licensed\") {\r\n hasErrors = true;\r\n return\r\n }\r\n else if (key === \"employedBy\" && formModel.licensedFirmType === \"unlicensed\") {\r\n hasErrors = true;\r\n return\r\n }\r\n else if (key === \"comment\" && formModel.licensedFirmType === \"soleProprietor\") {\r\n hasErrors = true;\r\n return\r\n }\r\n else if (key === \"licensedFirmType\" || key === \"signature\") {\r\n hasErrors = true;\r\n return\r\n }\r\n }\r\n }\r\n if (!hasErrors) {\r\n submitData(true);\r\n }\r\n }\r\n }\r\n const clearFirmNumber = () => {\r\n setFormModel({ ...formModel, firmNumber: null });\r\n }\r\n const submitData = (isForSubmit) => {\r\n var dataTransfer = {\r\n id: formModel.id,\r\n applicationId: store.currentApplicationId,\r\n comment: formModel.comment,\r\n credentialId: formModel.firmNumber ? formModel.firmNumber.licenseNumber : null,\r\n employedByName: formModel.employedBy,\r\n entityId: store.userInfo.EntityId,\r\n firmIsLicensed: formModel.licensedFirmType ? formModel.licensedFirmType == \"licensed\" ? true : false : null,\r\n firmIsNotLicensed: formModel.licensedFirmType ? formModel.licensedFirmType == \"unlicensed\" ? true : false : null,\r\n soleProprietor: formModel.licensedFirmType ? formModel.licensedFirmType == \"soleProprietor\" ? true : false : null,\r\n unemployed: formModel.licensedFirmType ? formModel.licensedFirmType == \"unemployed\" ? true : false : null\r\n };\r\n employmentService.postEmployment(dataTransfer).then((response) => {\r\n applicationService.pePostSection(store.currentApplicationId, sectionId, formModel.signature).then((data) => {\r\n if (response.data && isForSubmit) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data) {\r\n var licensedFirmType = \"\";\r\n if (response.data.firmIsLicensed)\r\n licensedFirmType = \"licensed\";\r\n else if (response.data.firmIsNotLicensed)\r\n licensedFirmType = \"unlicensed\";\r\n else if (response.data.soleProprietor)\r\n licensedFirmType = \"soleProprietor\";\r\n else if (response.data.unemployed)\r\n licensedFirmType = \"unemployed\"\r\n if (response.data.credentialId) {\r\n getEfCredential(response.data.credentialId).then((cred) => {\r\n setFormModel({\r\n id: response.data.id,\r\n employedBy: response.data.employedByName,\r\n firmNumber: cred,\r\n comment: response.data.comment,\r\n licensedFirmType: licensedFirmType,\r\n signature: data.data.electronicSignature\r\n });\r\n setOption(licensedFirmType);\r\n Swal.fire(\"Saved!\");\r\n })\r\n }\r\n else {\r\n setFormModel({\r\n id: response.data.id,\r\n employedBy: response.data.employedByName,\r\n firmNumber: response.data.credentialId,\r\n comment: response.data.comment,\r\n licensedFirmType: licensedFirmType,\r\n signature: data.data.electronicSignature\r\n });\r\n setOption(licensedFirmType);\r\n Swal.fire(\"Saved!\");\r\n }\r\n\r\n }\r\n })\r\n });\r\n //post formData to api\r\n //return bool didSave\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Engineering Application {appType}\r\n

Employment

\r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default EmploymentPage","import React, { useEffect, useState } from 'react'\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Acknowledgement from '../../../../../Shared/Card/Acknowledgement';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/PeInformation';\r\nimport applicationService from '../../../../../../services/Public/Application/PE/peApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction AcknowledgementPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false)\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 3 ? \"By Comity\" : appTypeId == 4 ? \"By Exam\" : \"\";\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 8;\r\n const [formModel, setFormModel] = useState({})\r\n useEffect(() => {\r\n applicationService.peGetSection(appId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!formModel.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n }\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n const submitData = (isForSubmit) => {\r\n applicationService.pePostSection(appId, sectionId, formModel.electronicSignature).then((response) => {\r\n if (isForSubmit && response.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Engineer Application {appType}\r\n

Acknowledgement

\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/PeInformation';\r\nimport applicationService from '../../../../../../services/Public/Application/application.service';\r\nimport peApplicationService, { getSections } from '../../../../../../services/Public/Application/PE/peApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../../Shared/Card/ReviewPdf';\r\nimport { List } from 'rsuite';\r\nimport shoppingCartService from '../../../../../../services/Public/shoppingCart.service';\r\nimport Swal from 'sweetalert2';\r\n\r\nfunction ReviewPage() {\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const [hasIssues, setHasIssues] = useState(true)\r\n const { push } = useHistory();\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 3 ? \"By Comity\" : appTypeId == 4 ? \"By Exam\" : \"\";\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const sectionId = 9;\r\n const [allSections, setAllSections] = useState([]);\r\n const [sectionData, setSectionData] = useState({});\r\n useEffect(() => {\r\n getSections().then(setAllSections);\r\n peApplicationService.peGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n })\r\n }, [])\r\n\r\n const navigateToPage = (sectionId) => {\r\n push(routes.filter(x => x.sectionId == (sectionId))[0].route)\r\n }\r\n const validateApplication = () => {\r\n setHasLoaded(false);\r\n applicationService.validateApplication(appId).then((response) => {\r\n let errors = response.data.map((error, i) => {\r\n return { navigateToPage(error.sectionId) }}>\r\n Error{error.errors.length > 1 ? 's' : ''} in {allSections.filter(x => x.id == error.sectionId)[0].sectionTitle}: {error.errors.join(', ')}\r\n \r\n })\r\n if (response.data?.length)\r\n setViolationIssuesHtml(\r\n \r\n {errors}\r\n \r\n )\r\n else {\r\n setViolationIssuesHtml('')\r\n setHasIssues(false);\r\n Swal.fire(\"Validation Successful\", `Your application passed all validation checks. You may now download a PDF version to keep for your records.`, 'success')\r\n }\r\n setHasLoaded(true);\r\n })\r\n }\r\n const submitApplication = () => {\r\n setHasLoaded(false);\r\n applicationService.getIndividualApplication(appId).then((response) => {\r\n shoppingCartService.addToShoppingCart(appId, response.data.applicationType.id == 3 ? 8 : 7).then((data) => {\r\n if (data.data) { push('/individual/shoppingcart'); }\r\n\r\n })\r\n })\r\n\r\n\r\n //applicationService.submitApplication(appId).then((data) => {\r\n // if (data.data?.length) {\r\n // setHasIssues(true);\r\n // let errors = data.data.map((error, i) => {\r\n // return { navigateToPage(error.sectionId) }}>\r\n // Error{error.errors.length > 1 ? 's' : ''} in {allSections.filter(x => x.id == error.sectionId)[0].sectionTitle}: {error.errors.join(', ')}\r\n // \r\n // })\r\n // setViolationIssuesHtml(\r\n // \r\n // {errors}\r\n // \r\n // )\r\n // setHasLoaded(true);\r\n // }\r\n // else {\r\n // setHasIssues(false);\r\n // setViolationIssuesHtml(\"\")\r\n // peApplicationService.peGetSection(appId, sectionId).then((response) => {\r\n // setSectionData(response.data);\r\n // setHasLoaded(true);\r\n // })\r\n // }\r\n //})\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Engineer Application {appType}\r\n

Review

\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {sectionData.isUserEditable ?\r\n : \r\n }\r\n {hasLoaded ?\r\n <>\r\n {\r\n (!hasIssues && sectionData.isUserEditable) &&\r\n <>\r\n \r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n {violationIssuesHtml}\r\n\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst peGetSection = (renewalId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/IndividualPeRenewal/section`, { headers: authHeader(), params: { renewalId, sectionId } });\r\n}\r\nconst pePostSection = (renewalId, sectionId, electronicSignature) => {\r\n\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPeRenewal/signsection`, null, { headers: authHeader(), params: { renewalId, sectionId, electronicSignature } });\r\n}\r\nconst pePostSectionHasRef = (renewalId, sectionId, hasReferences) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPeRenewal/setsectionhasreferences`, null, { headers: authHeader(), params: { renewalId, sectionId, hasReferences } });\r\n}\r\nconst pePostSectionHasCpd = (renewalId, sectionId, hasCpd) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPeRenewal/setsectionhascpd`, null, { headers: authHeader(), params: { renewalId, sectionId, hasCpd } });\r\n}\r\n\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Ensure your contact information, including your mailing and public addresses are up to date. Ensure you put LAPELS emails on your safe sender list.\",\r\n },\r\n {\r\n id: 2,\r\n sectionTitle: \"License Status\",\r\n sectionContent: \"Verify the staus of your license.\",\r\n },\r\n {\r\n id: 3,\r\n sectionTitle: \"CPD Requirements\",\r\n sectionContent: \"Verify CPD requirements for Active status for each of the calendar years.\",\r\n },\r\n {\r\n id: 10,\r\n sectionTitle: \"Building Design \",\r\n sectionContent: \"Complete this section verifing your building design experience.\",\r\n },\r\n {\r\n id: 4,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 5,\r\n sectionTitle: \"Supervising Professional\",\r\n sectionContent: \"Certify if you are a supervising professional on behalf of a firm.\",\r\n },\r\n {\r\n id: 6,\r\n sectionTitle: \"Journal & Phone Privacy Options\",\r\n sectionContent: \"Verify your subscription and distribution options.\",\r\n },\r\n {\r\n id: 7,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Electronically sign (type your name) and date.\",\r\n },\r\n {\r\n id: 8,\r\n sectionTitle: \"Review\",\r\n sectionContent: \"Review certificate renewal.\",\r\n }\r\n])\r\n\r\nexport default {\r\n peGetSection,\r\n pePostSection,\r\n pePostSectionHasRef,\r\n pePostSectionHasCpd\r\n}","import React, { useState } from 'react';\r\nimport { Card } from 'react-bootstrap'\r\nfunction Instructions() {\r\n return (\r\n
\r\n \r\n
Requirements/Information
\r\n \r\n
    \r\n
  • Read all of the instructions within each section of the renewal.
  • \r\n
  • Complete all required sections.
  • \r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Instructions;","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, ListGroup } from 'react-bootstrap';\r\nimport { useSelector } from 'react-redux';\r\nimport { getSections } from '../../../../../../services/Public/Renewal/PE/peRenewal.service';\r\nimport Section from '../../../../../Shared/Sections/Section';\r\nimport Information from './Information';\r\nimport issuesService from '../../../../../../services/Shared/issues.service';\r\n\r\nfunction Index() {\r\n const [sections, setSections] = useState(null);\r\n const selector = useSelector(x => x);\r\n useEffect(() => {\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(2, selector.currentApplicationId).then((data) => {\r\n setSections(selector.currentRoutes != null ? selector.currentRoutes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n })\r\n })\r\n }, [])\r\n return (\r\n
\r\n \r\n

Professional Engineer Renewal

\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n

Sections to Complete

\r\n \r\n {sections}\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default Index;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PERENEWALURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeRenewal\";\r\n\r\nconst getContactInformation = (renewalId) => {\r\n return axios.get(`${PERENEWALURL}/contactinformation`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nexport default {\r\n getContactInformation\r\n}","import React, { useState } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { Form } from 'rsuite';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/PeInformation';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport contactService from '../../../../../../services/Public/Renewal/PE/contact.service';\r\nimport renewalService from '../../../../../../services/Public/Renewal/PE/peRenewal.service';\r\nimport { useSelector } from 'react-redux';\r\nimport { useEffect } from 'react';\r\nimport Swal from 'sweetalert2';\r\nimport PersonalInformation from '../../../../../Shared/Card/Contact/PersonalInformation';\r\nimport MailingAddress from '../../../../../Shared/Card/Contact/MailingAddress';\r\nimport PublicAddress from '../../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport dayjs from 'dayjs';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction ContactInformationPage() {\r\n\r\n const { push } = useHistory();\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [formModel, setFormModel] = useState({});\r\n const [tabPane, setTabPane] = useState(\"personalInformation\")\r\n const [sectionData, setSectionData] = useState({});\r\n\r\n useEffect(() => {\r\n contactService.getContactInformation(renewalId).then((response) => {\r\n var data = response.data;\r\n\r\n setFormModel({\r\n ...data,\r\n dateOfBirth: data.dateOfBirth != null ? dayjs(data.dateOfBirth).format('YYYY-MM-DD') : null,\r\n altEmail: data.alternateEmailAddress?.contactEmailAddress,\r\n primaryEmail: data.primaryEmailAddress?.contactEmailAddress,\r\n cellPhoneNum: data.cellPhone?.contactPhoneNumber,\r\n workPhoneNum: data.workPhone?.contactPhoneNumber,\r\n homePhoneNum: data.homePhone?.contactPhoneNumber\r\n })\r\n renewalService.peGetSection(renewalId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n }, [])\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!sectionData?.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n submitData(true);\r\n }\r\n }\r\n\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n\r\n if (isForSubmit) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n Swal.fire(\"Saved!\");\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Engineer Renewal\r\n

Contact

\r\n \r\n
\r\n\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)} onSubmit={formSubmit} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import React from 'react';\r\nimport { Card } from 'react-bootstrap'\r\nimport { FormControl, SelectPicker, Table } from 'rsuite';\r\nimport RedStar from '../../../../../Shared/GenericComponents/RedStar';\r\nfunction LicenseStatus(props) {\r\n \r\n return (\r\n
\r\n \r\n
Your License Status
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Credential\r\n \r\n \r\n \r\n \r\n \r\n Credential Status\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n I am renewing into the following status:\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default LicenseStatus;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PERENEWALURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeRenewal\";\r\n\r\nconst getLicenseStatus = (renewalId) => {\r\n return axios.get(`${PERENEWALURL}/licensestatus`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nconst postLicenseStatus = (renewalId, renewingToId) => {\r\n return axios.post(`${PERENEWALURL}/licensestatus`, null, { headers: authHeader(), params: {renewalId, renewingToId} });\r\n}\r\nexport default {\r\n getLicenseStatus,\r\n postLicenseStatus\r\n}","import React, { useState } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport LicenseStatus from './LicenseStatus';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport { useEffect } from 'react';\r\nimport licenseStatusService from '../../../../../../services/Public/Renewal/PE/licenseStatus.service';\r\nimport renewalService from '../../../../../../services/Public/Renewal/PE/peRenewal.service';\r\nimport Swal from 'sweetalert2';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/PeInformation';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport { getRenewingintolist } from '../../../../../../services/Shared/codeTable.service';\r\nfunction LicenseStatusPage() {\r\n const [hasloaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 2;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [sectionData, setSectionData] = useState({});\r\n const [peRenewalLicenseStatuses, setPeRenewalLicenseStatuses] = useState([]);\r\n\r\n const [formModel, setFormModel] = useState({\r\n gridData: [],\r\n renewingTo: \"\"\r\n })\r\n const { ObjectType } = Schema.Types;\r\n const model = Schema.Model({\r\n renewingTo: ObjectType().isRequired(\"This field is required.\")\r\n });\r\n\r\n useEffect(() => {\r\n getRenewingintolist(renewalId).then(setPeRenewalLicenseStatuses);\r\n renewalService.peGetSection(renewalId, sectionId).then((data) => {\r\n setSectionData(data.data);\r\n licenseStatusService.getLicenseStatus(renewalId).then((response) => {\r\n setFormModel({\r\n gridData: [{ credential: response.data?.credential?.formattedLicenseNumber, credentialStatus: response.data?.credential?.status?.status }],\r\n renewingTo: response.data.renewingTo ? { id: response.data.renewingTo.id, code: response.data.renewingTo.renewingTo } : null\r\n })\r\n setHasLoaded(true);\r\n })\r\n })\r\n }, [])\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n }\r\n\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n licenseStatusService.postLicenseStatus(renewalId, formModel.renewingTo.id).then((response) => {\r\n if (response.data) {\r\n if (isForSubmit)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n else \r\n Swal.fire(\"Saved!\")\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Engineer Renewal\r\n

License Status

\r\n \r\n
\r\n {hasloaded ? \r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default LicenseStatusPage;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PERENEWALURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeRenewal\";\r\n\r\nconst getCpdRequirements = (renewalId) => {\r\n return axios.get(`${PERENEWALURL}/cpd`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nconst postCpdRequirements = (data) => {\r\n return axios.post(`${PERENEWALURL}/cpd`, data, { headers: authHeader() });\r\n}\r\nconst isCpdRequired = (renewalId) => {\r\n return axios.get(`${PERENEWALURL}/iscpdrequired`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nconst isRetiredToActive = (renewalId) => {\r\n return axios.get(`${PERENEWALURL}/isretiredtoactive`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nconst isNonActiveToActive = (renewalId) => {\r\n return axios.get(`${PERENEWALURL}/isnonactivetoactive`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nexport default {\r\n getCpdRequirements,\r\n postCpdRequirements,\r\n isCpdRequired,\r\n isRetiredToActive,\r\n isNonActiveToActive\r\n}","import React, { useEffect, useState } from 'react'\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/PeInformation';\r\nimport { Card } from 'react-bootstrap';\r\nimport DocumentUpload from '../../../../../Shared/Upload/DocumentUpload';\r\n\r\nfunction QuizzesPage(props) {\r\n //const attachmentTypes = [\r\n // {\r\n // \"label\": \"Quiz - Laws and Rules\", \"value\": 12\r\n // },\r\n // {\r\n // \"label\": \"Quiz - Ethics\", \"value\": 13\r\n // }\r\n //]\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}\r\nexport default QuizzesPage;","import React, { useEffect } from 'react'\r\nimport { useState } from 'react'\r\nimport { Card, Row, Col, Badge, } from 'react-bootstrap'\r\nimport { ControlLabel, FormControl, FormGroup, HelpBlock, InputNumber, SelectPicker, Uploader } from 'rsuite'\r\nimport RedStar from '../../../../../Shared/GenericComponents/RedStar'\r\nimport YesNoRadioOption from '../../../../../Shared/RadioButton/YesNoRadioOption'\r\nimport DocumentUpload from '../../../../../Shared/Upload/DocumentUpload'\r\nimport QuizzesPage from './QuizzesPage'\r\nfunction Courses(props) {\r\n const [metCpd, setMetCpd] = useState();\r\n const [hasCpdInMyNcees, setHasCpdInMyNcees] = useState();\r\n\r\n useEffect(() => {\r\n setMetCpd(props.metCpd);\r\n setHasCpdInMyNcees(props.hasCpdInMyNcees);\r\n }, [props])\r\n\r\n const requirementsNotMetReasonData = !props.isRetiredToActive ?\r\n [\r\n {\r\n label: \"New License - Licensees are exempt from the CPD requirements during the calendar year in which they are initially licensed.\", value: { id: 1, notMetCpdReason: \"New License - Licensees are exempt from the CPD requirements during the calendar year in which they are initially licensed.\" }\r\n },\r\n {\r\n label: \"Newly Reinstated - Licensees are exempt from the CPD requirements during the calendar year in which they are newly reinstated.\", value: { id: 8, notMetCpdReason: \"Newly Reinstated - Licensees are exempt from the CPD requirements during the calendar year in which they are newly reinstated.\" }\r\n },\r\n {\r\n label: \"Inactive - Refer to Rule 2103 (A). By selecting this option, you are confirming that you are not offering or providing engineering/land surveying services in Louisiana.\", value: { id: 2, notMetCpdReason: \"Inactive - Refer to Rule 2103 (A). By selecting this option, you are confirming that you are not offering or providing engineering/land surveying services in Louisiana.\" }\r\n },\r\n {\r\n label: \"Medical reasons - Refer to Rule 3109 (A) (3). (FILE UPLOAD REQUIRED)\", value: { id: 4, notMetCpdReason: \"Medical reasons - Refer to Rule 3109 (A) (3).\" }\r\n },\r\n {\r\n label: \"I am not in compliance with earning the requisite hours for this renewal - LAPELS staff will notify you of your next steps.\", value: { id: 7, notMetCpdReason: \"I am not in compliance with earning the requisite hours for this renewal - LAPELS staff will notify you of your next steps\" }\r\n },\r\n {\r\n label: \"I served on Active Duty in the U.S. military for a period of time exceeding 180 consecutive days in a calendar year - you must provide deployment documentation to be reviewed prior to being approved. (FILE UPLOAD REQUIRED)\", value: { id: 10, notMetCpdReason: \"I served on Active Duty in the U.S. military for a period of time exceeding 180 consecutive days in a calendar year - you must provide deployment documentation to be reviewed prior to being approved.\" }\r\n },\r\n {\r\n label: \"I worked in a location for more than 180 days in a calendar year where compliance with the CPD requirements is impractical due to location, working hours, mail restrictions, etc. - Refer to Rule 3109 (A) (4). (FILE UPLOAD REQUIRED)\", value: { id: 9, notMetCpdReason: \"I worked in a location for more than 180 days in a calendar year where compliance with the CPD requirements is impractical due to location, working hours, mail restrictions, etc. - Refer to Rule 3109 (A) (4).\" }\r\n },\r\n ]\r\n :\r\n [\r\n {\r\n label: \"New License - Licensees are exempt from the CPD requirements during the calendar year in which they are initially licensed.\", value: { id: 1, notMetCpdReason: \"New License - Licensees are exempt from the CPD requirements during the calendar year in which they are initially licensed.\" }\r\n },\r\n {\r\n label: \"Newly Reinstated - Licensees are exempt from the CPD requirements during the calendar year in which they are newly reinstated.\", value: { id: 8, notMetCpdReason: \"Newly Reinstated - Licensees are exempt from the CPD requirements during the calendar year in which they are newly reinstated.\" }\r\n },\r\n {\r\n label: \"Inactive - Refer to Rule 2103 (A). By selecting this option, you are confirming that you are not offering or providing engineering/land surveying services in Louisiana.\", value: { id: 2, notMetCpdReason: \"Inactive - Refer to Rule 2103 (A). By selecting this option, you are confirming that you are not offering or providing engineering/land surveying services in Louisiana.\" }\r\n },\r\n {\r\n label: \"Medical reasons - Refer to Rule 3109 (A) (3). (FILE UPLOAD REQUIRED)\", value: { id: 4, notMetCpdReason: \"Medical reasons - Refer to Rule 3109 (A) (3).\" }\r\n },\r\n {\r\n label: \"I am not in compliance with earning the requisite hours for this renewal - LAPELS staff will notify you of your next steps.\", value: { id: 7, notMetCpdReason: \"I am not in compliance with earning the requisite hours for this renewal - LAPELS staff will notify you of your next steps.\" }\r\n },\r\n {\r\n label: \"I served on Active Duty in the U.S. military for a period of time exceeding 180 consecutive days in a calendar year - you must provide deployment documentation to be reviewed prior to being approved. (FILE UPLOAD REQUIRED)\", value: { id: 10, notMetCpdReason: \"I served on Active Duty in the U.S. military for a period of time exceeding 180 consecutive days in a calendar year - you must provide deployment documentation to be reviewed prior to being approved.\" }\r\n },\r\n {\r\n label: \"I worked in a location for more than 180 days in a calendar year where compliance with the CPD requirements is impractical due to location, working hours, mail restrictions, etc. - Refer to Rule 3109 (A) (4). (FILE UPLOAD REQUIRED)\", value: { id: 9, notMetCpdReason: \"I worked in a location for more than 180 days in a calendar year where compliance with the CPD requirements is impractical due to location, working hours, mail restrictions, etc. - Refer to Rule 3109 (A) (4).\" }\r\n },\r\n { label: \"Other\", value: { id: 6, notMetCpdReason: \"Other\" } }\r\n ];\r\n\r\n return (\r\n \r\n \r\n
CPD Requirements
\r\n
\r\n \r\n {props.isNonActiveToActive ?\r\n <>\r\n

§3121. CPD Reactivation

\r\n
    \r\n
  1. To become reactivated to an active status, a licensee in an expired, inactive, or retired status must have earned all PDHs which he/she would have been required to earn if he/she had been in an active status during the previous two calendar years as provided in §3105.
  2. \r\n
\r\n

Do you have a NCEES CPC locker?

\r\n \r\n {hasCpdInMyNcees ?\r\n

Please have NCEES release your CPC Locker to LAPELS (https://ncees.org/ncees-service/cpc-tracking/)

\r\n :\r\n hasCpdInMyNcees != null &&\r\n <>

You must complete the LAPELS Approved Activity Log outlining all PDHs claimed for the period of 24 months prior to the date of this reactivation,\r\n along with copies of all supporting documentation substantiating the PDHs claimed and complementing the dates and information on your PDH Activity log. Download the log to your computer, complete, save, and upload as one file below with your certificates.\r\n List your PDHs in chronological order on the log, and place on top of your certificates of completion.


\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n\r\n :\r\n <>\r\n

\r\n I have met the CPD requirements for Active status for calendar years {props.year1Number} and {props.year2Number}, and understand that, if I am selected for an audit,\r\n I will be required to provide my Professional Development Hour (PDH) Activity Log and all supporting documentation to validate completion of all CPD requirements.\r\n I further understand that failure to comply with such requirements or any false statements made by me could be cause for disciplinary action.\r\n
\r\n
\r\n NOTE: Licensees are exempt from the CPD requirements during the calendar year in which they are initially licensed.\r\n\r\n

\r\n
\r\n \r\n\r\n {metCpd === false &&\r\n\r\n <>\r\n \r\n \r\n \r\n Please submit the reason why you have not met the requirements. Refer to the board rules here when selecting your exemption: https://www.lapels.com/LawsRules.html. \r\n \r\n \r\n \r\n \r\n
\r\n\r\n (use ONLY for CPD exemption documentation, NOT for CPD logs or certificates)}\r\n fileUploadTitle={\"CPD File Upload\"}\r\n />\r\n \r\n }\r\n\r\n\r\n
\r\n

\r\n How many CPD hours did you earn in each calendar year? (enter a number below for each year)\r\n

\r\n
\r\n \r\n \r\n \r\n {props.year1Number}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.year2Number}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Explain Carry-over Hours, or reason(s) for CPD non-compliance\r\n \r\n \r\n \r\n\r\n \r\n
\r\n

\r\n The CPD hours listed herein are true and correct, and accurately state the professional development hours I have earned. I understand that I must make available all supporting documentation if requested by the Board.\r\n

\r\n
\r\n \r\n \r\n
Electronic Signature of Applicant:
\r\n (Type full name)\r\n \r\n \r\n
\r\n \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Courses\r\n\r\n","import React, { useState } from 'react'\r\nimport { useEffect } from 'react';\r\nimport { Card, Container } from 'react-bootstrap'\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport cpdRequirementsService from '../../../../../../services/Public/Renewal/PE/cpdRequirements.service';\r\nimport renewalService from '../../../../../../services/Public/Renewal/PE/peRenewal.service';\r\nimport attachmentService from '../../../../../../services/Shared/attachment.service';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons'\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/PeInformation';\r\nimport LockedRenewalModal from '../../../../../Shared/Modal/LockedRenewalModal';\r\nimport Courses from './Courses';\r\nimport generalRenewalService from '../../../../../../services/Public/Renewal/renewal.service';\r\n\r\n\r\nfunction CpdRequirementsPage() {\r\n const { push } = useHistory();\r\n const [showLockedRenewalModal, setShowLockedRenewalModal] = useState(false);\r\n const [isRetiredToActive, setIsRetiredToActive] = useState(false);\r\n const [isNonActiveToActive, setIsNonActiveToActive] = useState(false);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [isRequired, setIsRequired] = useState(true);\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const [sectionData, setSectionData] = useState({});\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const sectionId = 3;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [isLicenseStatusSet, setIsLicenseStatusSet] = useState(true);\r\n\r\n const changeLogData = {\r\n Header: \"CPD Change History\",\r\n BodyText: \"The information below displays all changes made to the CPD section. It allows our staff to track any irregularities and find process breakdowns so that we can make improvements to our system.\",\r\n CurrentId: renewalId,\r\n SectionId: sectionId\r\n };\r\n const currentDate = new Date();\r\n var yearBase = (currentDate.getMonth() == 0 && currentDate.getDate() < 30) ? currentDate.getFullYear() - 1 : currentDate.getFullYear(); //LAPELS-379\r\n const [formModel, setFormModel] = useState({\r\n id: 0,\r\n renewalId: renewalId,\r\n entityId: entityId,\r\n year1: (yearBase - 2),\r\n year1Hours: null,\r\n year2: (yearBase - 1),\r\n year2Hours: null,\r\n metCpd: null,\r\n hasCpc: null,\r\n notMetCPDReason: null,\r\n carryoverExplanation: \"\",\r\n userCrte: \"\",\r\n dateCrte: new Date(),\r\n deleted: false,\r\n hasCpdInMyNcees: null,\r\n electronicSignature: \"\",\r\n });\r\n useEffect(() => {\r\n cpdRequirementsService.isRetiredToActive(renewalId).then((response) => {\r\n if (response.data) {\r\n setIsRetiredToActive(true);\r\n }\r\n })\r\n cpdRequirementsService.isNonActiveToActive(renewalId).then((response) => {\r\n if (response.data) {\r\n setIsNonActiveToActive(true);\r\n }\r\n })\r\n renewalService.peGetSection(renewalId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n cpdRequirementsService.isCpdRequired(renewalId).then((result) => {\r\n if (result.data) {\r\n cpdRequirementsService.getCpdRequirements(renewalId).then((data) => {\r\n if (data.data) {\r\n setFormModel({ ...data.data, electronicSignature: response.data.electronicSignature })\r\n }\r\n setHasLoaded(true);\r\n })\r\n }\r\n else if (result.data === false) {\r\n setIsRequired(false)\r\n setHasLoaded(true)\r\n }\r\n else {\r\n setIsLicenseStatusSet(false)\r\n setHasLoaded(true)\r\n }\r\n })\r\n })\r\n }, [])\r\n\r\n const { StringType, BooleanType, NumberType, ObjectType } = Schema.Types;\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.'),\r\n metCpd: BooleanType().isRequired('This field is required.'),\r\n notMetCPDReason: ObjectType().isRequired('This field is required'),\r\n hasCpdInMyNcees: BooleanType().isRequired(\"This field is required.\"),\r\n year1Hours: NumberType().isRequired(\"This field is required.\"),\r\n year2Hours: NumberType().isRequired(\"This field is required.\")\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var hasErrors = false;\r\n var validationObject = model.check(formModel);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n if (!isNonActiveToActive) {\r\n if (key === \"electronicSignature\") {\r\n hasErrors = true;\r\n return\r\n }\r\n if (key === \"metCpd\" && formModel.metCpd === null) {\r\n hasErrors = true;\r\n return\r\n }\r\n if (key === \"notMetCPDReason\" && formModel.metCpd === false) {\r\n hasErrors = true;\r\n return\r\n }\r\n if (key === \"year1Hours\" || key == \"year2Hours\") {\r\n hasErrors = true;\r\n return;\r\n }\r\n }\r\n else {\r\n if (key === \"hasCpdInMyNcees\" && formModel.hasCpdInMyNcees === null)\r\n {\r\n hasErrors = true;\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n if (!hasErrors) {\r\n submitData(true);\r\n }\r\n }\r\n }\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n const notRequiredSubmit = (event) => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n const submitData = (isForSubmiit) => {\r\n var dataToTransmit = { ...formModel, year1Hours: formModel.year1Hours === '' ? null : formModel.year1Hours, year2Hours: formModel.year2Hours === '' ? null : formModel.year2Hours };\r\n renewalService.pePostSection(renewalId, sectionId, formModel.electronicSignature).then((data) => {\r\n generalRenewalService.wasHeldForCpd(renewalId).then((wasHeld) => {\r\n cpdRequirementsService.postCpdRequirements(dataToTransmit).then((response) => {\r\n if (response.data.id) {\r\n if (data.data) {\r\n if (isForSubmiit) {\r\n //WO 271\r\n //if (response.data.metCpd == false) {\r\n // if (wasHeld.data) {\r\n // push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n // } else {\r\n // setShowLockedRenewalModal(true);\r\n // }\r\n //}\r\n //else {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n //}\r\n }\r\n else\r\n Swal.fire(\"Saved!\");\r\n }\r\n }\r\n })\r\n })\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Engineer Renewal\r\n

\r\n CPD Requirements\r\n

\r\n \r\n setShowLockedRenewalModal(false)} />\r\n
{hasLoaded ? !isLicenseStatusSet ?\r\n
\r\n \r\n \r\n
CPD Requirements
\r\n
\r\n \r\n Please go back and choose a license status to renew into before completing this section. You may access that section by clicking the \"Back to Sections\" button at the bottom of the page.\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n : isRequired ?\r\n
setFormModel(formModel)} onSubmit={formSubmit} fluid>\r\n \r\n
\r\n \r\n \r\n :\r\n
\r\n \r\n \r\n
CPD Requirements
\r\n
\r\n \r\n Due to the license status chosen at the beginning of this renewal, this section is not required. You may click \"Next Section\" to continue your renewal.\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default CpdRequirementsPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PERENEWALURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeRenewal\";\r\n\r\nconst getBuildingDesign = (renewalId) => {\r\n return axios.get(`${PERENEWALURL}/buildingdesign`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nconst postBuildingDesign = (data) => {\r\n return axios.post(`${PERENEWALURL}/buildingdesign`, data, { headers: authHeader() });\r\n}\r\nconst isBuildingDesignRequired = (renewalId) => {\r\n return axios.get(`${PERENEWALURL}/isbuildingdesignrequired`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nconst isNonactiveToActive = (renewalId) => {\r\n return axios.get(`${PERENEWALURL}/isnonactivetoactive`, { headers: authHeader(), params: { renewalId } });\r\n}\r\n\r\nexport default {\r\n getBuildingDesign,\r\n postBuildingDesign,\r\n isBuildingDesignRequired,\r\n isNonactiveToActive\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, Card } from 'react-bootstrap';\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport designService from '../../../../../../services/Public/Renewal/PE/design.service';\r\nimport peRenewalService from '../../../../../../services/Public/Renewal/PE/peRenewal.service';\r\nimport renewalService from '../../../../../../services/Public/Renewal/renewal.service';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport RedStar from '../../../../../Shared/GenericComponents/RedStar';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/PeInformation';\r\nimport LockedRenewalModal from '../../../../../Shared/Modal/LockedRenewalModal';\r\nimport YesNoRadioOption from '../../../../../Shared/RadioButton/YesNoRadioOption';\r\n\r\nfunction BuildingDesignPage() {\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const [isLicenseStatusSet, setIsLicenseStatusSet] = useState(true);\r\n const [isLicenseStatusNonactiveToActive, setIsLicenseStatusNonactiveToActive] = useState(false);\r\n const [showLockedRenewalModal, setShowLockedRenewalModal] = useState(false);\r\n const year1 = new Date().getFullYear() - 2;\r\n const year2 = new Date().getFullYear() - 1;\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [isBuildingdesignRequired, setIsBuildingdesignRequired] = useState(true);\r\n const [model, setModel] = useState({\r\n hasLaBuildingDesign: '',\r\n hasSafetyCodeHours: null,\r\n renewalId: renewalId,\r\n entityId: entityId\r\n });\r\n const { push } = useHistory();\r\n const sectionId = 10;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [sectionData, setSectionData] = useState({});\r\n useEffect(() => {\r\n peRenewalService.peGetSection(renewalId, sectionId).then((data) => {\r\n setSectionData(data.data);\r\n designService.isBuildingDesignRequired(renewalId).then((result) => {//if result is null, no status was chosen\r\n if (result.data) {\r\n designService.getBuildingDesign(renewalId).then((response) => {\r\n if (response.data)\r\n setModel({\r\n ...response.data\r\n })\r\n designService.isNonactiveToActive(renewalId).then((status) => setIsLicenseStatusNonactiveToActive(status.data));\r\n setHasLoaded(true)\r\n })\r\n }\r\n else if (result.data === false) {\r\n setIsBuildingdesignRequired(false)\r\n setHasLoaded(true)\r\n }\r\n else {\r\n setIsLicenseStatusSet(false)\r\n setHasLoaded(true)\r\n }\r\n })\r\n })\r\n }, [])\r\n const { BooleanType } = Schema.Types;\r\n const validationModel = Schema.Model({\r\n hasLaBuildingDesign: BooleanType().isRequired(\"This field is required.\"),\r\n hasSafetyCodeHours: BooleanType().isRequired(\"This field is required.\")\r\n });\r\n const notRequiredSubmit = (event) => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n const formSubmit = (val, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (val || model.hasLaBuildingDesign == false) {\r\n var dataToTransmit = { ...model };\r\n if (model.hasLaBuildingDesign == false) {\r\n dataToTransmit = { ...model, hasSafetyCodeHours: null };\r\n }\r\n renewalService.wasHeldForBuildingDesign(renewalId).then((wasHeld) => {\r\n designService.postBuildingDesign(dataToTransmit).then((response) => {\r\n\r\n if (response.data) {\r\n\r\n if (response.data.causedApplicationHold === true) {\r\n if (wasHeld.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n } else {\r\n setShowLockedRenewalModal(true);\r\n }\r\n }\r\n else {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n }\r\n })\r\n })\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Engineer Renewal\r\n

Building Design

\r\n \r\n setShowLockedRenewalModal(false)} />\r\n
{hasLoaded ? !isLicenseStatusSet ?\r\n
\r\n \r\n \r\n
Building Design in Louisiana
\r\n
\r\n \r\n Please go back and choose a license status to renew into before completing this section. You may access that section by clicking the \"Back to Sections\" button at the bottom of the page.\r\n \r\n
\r\n
\r\n \r\n \r\n : isBuildingdesignRequired ?\r\n
\r\n \r\n
Building Design in Louisiana
\r\n \r\n {isLicenseStatusNonactiveToActive ?\r\n

Have you designed buildings or building systems in Louisiana since your license was no longer in Active status?

:\r\n

Have you designed buildings or building systems in Louisiana since your last renewal?

}\r\n {/*

Have you designed buildings or building systems in Louisiana since your last renewal?

*/}\r\n \r\n {model.hasLaBuildingDesign == true &&\r\n <>\r\n
\r\n
Safety Code Hours
\r\n

Do you have 4 PDH’s of Life Safety Code, building codes, and/or Americans with Disabilities Act Accessibility Guidelines per calendar year(s) when you designed buildings or buildings systems in Louisiana?

\r\n \r\n \r\n }\r\n
\r\n
\r\n
\r\n \r\n \r\n :
\r\n \r\n \r\n
Building Design in Louisiana
\r\n
\r\n \r\n Due to the license status chosen at the beginning of this renewal, this section is not required. You may click \"Next Section\" to continue your renewal.\r\n \r\n
\r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default BuildingDesignPage;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PERENEWALURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeRenewal\";\r\n\r\nconst getViolation = (renewalId) => {\r\n return axios.get(`${PERENEWALURL}/violation`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nconst postViolation = (data) => {\r\n return axios.post(`${PERENEWALURL}/violation`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getViolation,\r\n postViolation\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { Container } from 'react-bootstrap';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport renewalService from '../../../../../../services/Public/Renewal/PE/peRenewal.service';\r\nimport violationService from '../../../../../../services/Public/Renewal/PE/violation.service';\r\nimport { useSelector } from 'react-redux';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/PeInformation';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport { getRenewalCodeViolationAnswers } from '../../../../../../services/Shared/codeTable.service';\r\nimport GenericViolations from '../../../../../Shared/Card/Violations';\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const { push } = useHistory();\r\n const sectionId = 4;\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n\r\n const [formData, updateFormData] = useState({\r\n renewalId: renewalId,\r\n dateCrte: new Date(),\r\n entityId: entityId,\r\n id: 0,\r\n userCrte: \"\",\r\n yesAnswerExplanation: \"\"\r\n });\r\n\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n renewalService.peGetSection(renewalId, sectionId).then((response) => {\r\n violationService.getViolation(renewalId).then((data) => {\r\n if (data.data) {\r\n\r\n updateFormData(data.data);\r\n }\r\n else {\r\n getRenewalCodeViolationAnswers(6).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n\r\n }, [])\r\n\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n yesAnswerExplanation: StringType().isRequired('This field is required.')\r\n });\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true) >= 0;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n\r\n const handleSubmit = (val, event) => {\r\n setShowFormErrors(true)\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n violationService.postViolation(formData).then((response) => {\r\n if (response.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Engineer Renewal\r\n

Violations

\r\n \r\n
{hasLoaded ?\r\n
\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import React from 'react';\r\nimport { Card } from 'react-bootstrap'\r\nimport { FormGroup, RadioGroup, FormControl, Radio} from 'rsuite'\r\nimport RedStar from '../../../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction JournalPrivacyCard() {\r\n return (\r\n
\r\n \r\n
Journal & Privacy (Professional)
\r\n \r\n

Please send me the Louisiana Engineer & Land Surveyor Journal via:

\r\n
\r\n \r\n \r\n Email\r\n Mail\r\n Do Not Send\r\n \r\n \r\n

Do you want your email address(es) and telephone number(s), which you have provided us, to be kept private and not made available to vendors requesting rosters for distribution\r\n of engineering/land surveying CPD information or to other third parties?

\r\n
\r\n \r\n \r\n Yes, keep private\r\n No, share when requested\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default JournalPrivacyCard;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PENOTIFICATIONPREFERENCEURL = process.env.REACT_APP_APIURL + \"/api/NotificationPreferences\";\r\n\r\n\r\nconst getPrivacyData = () => {\r\n return axios.get(`${PENOTIFICATIONPREFERENCEURL}/journalandprivacy`, { headers: authHeader() });\r\n}\r\nconst postPrivacyData = (data) => {\r\n return axios.post(`${PENOTIFICATIONPREFERENCEURL}/journalandprivacy`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getPrivacyData,\r\n postPrivacyData\r\n}","import React, { useState } from 'react'\r\nimport { Container } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport JournalPrivacyCard from './JournalPrivacyCard';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport { useEffect } from 'react';\r\nimport privacyService from '../../../../../../services/Public/Renewal/PE/privacy.service';\r\nimport Swal from 'sweetalert2';\r\nimport renewalService from '../../../../../../services/Public/Renewal/PE/peRenewal.service';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/PeInformation';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction Privacy() {\r\n const [sectionData, setSectionData] = useState({});\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const { push } = useHistory();\r\n const sectionId = 6;\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n emailPhonePrivacy: BooleanType().isRequired('This field is required.'),\r\n receiveMethod: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const [formData, updateFormData] = useState({\r\n id: 0,\r\n entityId: entityId,\r\n emailPhonePrivacy: null,\r\n journalEmail: null,\r\n journalMail: null,\r\n journalDoNotSend: null,\r\n userCrte: \"\",\r\n dateCrte: new Date(),\r\n deleted: false,\r\n receiveMethod: \"\"\r\n });\r\n\r\n useEffect(() => {\r\n renewalService.peGetSection(renewalId, sectionId).then((data) => {\r\n setSectionData(data.data)\r\n privacyService.getPrivacyData().then((response) => {\r\n if (response.data) {\r\n updateFormData({\r\n ...response.data,\r\n receiveMethod: response.data.journalEmail\r\n ? \"email\"\r\n : response.data.journalMail\r\n ? \"mail\"\r\n : response.data.journalDoNotSend\r\n ? \"none\"\r\n : null\r\n })\r\n }\r\n setHasLoaded(true);\r\n })\r\n })\r\n }, [])\r\n\r\n const handleSubmit = (val, event) => {\r\n\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n if (val) {\r\n submitData(true);\r\n }\r\n }\r\n const handleSave = () => {\r\n submitData();\r\n }\r\n const submitData = (isForSubmit) => {\r\n var dataToTransmit = {\r\n ...formData,\r\n journalEmail: formData.receiveMethod === \"email\" ? true : null,\r\n journalMail: formData.receiveMethod === \"mail\" ? true : null,\r\n journalDoNotSend: formData.receiveMethod === \"none\" ? true : null,\r\n }\r\n\r\n privacyService.postPrivacyData(dataToTransmit).then((response) => {\r\n if (response.data.id) {\r\n if (isForSubmit)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n else\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n }\r\n return (\r\n
\r\n \r\n Professional Engineer Renewal\r\n

Journal & Privacy Option

\r\n \r\n
\r\n { hasLoaded ? \r\n
\r\n \r\n
\r\n \r\n \r\n :\r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Privacy;","import React, { useEffect, useState } from 'react'\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Acknowledgement from '../../../../../Shared/Card/Acknowledgement';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/PeInformation';\r\nimport renewalService from '../../../../../../services/Public/Renewal/PE/peRenewal.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction AcknowledgementPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false)\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 7;\r\n const [formModel, setFormModel] = useState({})\r\n useEffect(() => {\r\n renewalService.peGetSection(appId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!formModel.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n }\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n const submitData = (isForSubmit) => {\r\n renewalService.pePostSection(appId, sectionId, formModel.electronicSignature).then((response) => {\r\n if (isForSubmit && response.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Engineer Renewal\r\n

Acknowledgement

\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { Form, List, Schema } from 'rsuite';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/PeInformation';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../../Shared/Card/ReviewPdf';\r\nimport renewalService from '../../../../../../services/Public/Renewal/renewal.service';\r\nimport peRenewalService, { getSections } from '../../../../../../services/Public/Renewal/PE/peRenewal.service';\r\nimport shoppingCartService from '../../../../../../services/Public/shoppingCart.service';\r\nimport Swal from 'sweetalert2';\r\n\r\nfunction ReviewPage() {\r\n const [hasIssues, setHasIssues] = useState(true)\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const { push } = useHistory();\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [allSections, setAllSections] = useState([]);\r\n const [sectionData, setSectionData] = useState({});\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const sectionId = 8;\r\n\r\n useEffect(() => {\r\n getSections().then(setAllSections);\r\n peRenewalService.peGetSection(renewalId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n })\r\n }, [])\r\n const navigateToPage = (sectionId) => {\r\n push(routes.filter(x => x.sectionId == (sectionId))[0].route)\r\n }\r\n const validateRenewal = () => {\r\n setHasLoaded(false);\r\n renewalService.validateRenewal(renewalId).then((response) => {\r\n let errors = response.data.map((error, i) => {\r\n return { navigateToPage(error.sectionId) }}>\r\n Error{error.errors.length > 1 ? 's' : ''} in {allSections.filter(x => x.id == error.sectionId)[0].sectionTitle}: {error.errors.join(', ')}\r\n \r\n })\r\n if (response.data?.length)\r\n setViolationIssuesHtml(\r\n \r\n {errors}\r\n \r\n )\r\n else {\r\n setViolationIssuesHtml('')\r\n setHasIssues(false);\r\n Swal.fire(\"Validation Successful\", `Your renewal passed all validation checks. You may now download a PDF version to keep for your records.`, 'success')\r\n }\r\n setHasLoaded(true);\r\n })\r\n }\r\n const submitRenewal = () => {\r\n setHasLoaded(false);\r\n shoppingCartService.addToShoppingCart(renewalId, 5).then((data) => {\r\n if (data.data) { push('/individual/shoppingcart'); }\r\n\r\n })\r\n\r\n //renewalService.submitRenewal(renewalId).then((data) => {\r\n\r\n // if (data.data?.length) {\r\n // setHasIssues(true);\r\n // let errors = data.data.map((error, i) => {\r\n // return { navigateToPage(error.sectionId) }}>\r\n // Error{error.errors.length > 1 ? 's' : ''} in {allSections.filter(x => x.id == error.sectionId)[0].sectionTitle}: {error.errors.join(', ')}\r\n // \r\n // })\r\n // setViolationIssuesHtml(\r\n // \r\n // {errors}\r\n // \r\n // )\r\n // setHasLoaded(true);\r\n // }\r\n // else {\r\n // setHasIssues(false);\r\n // setViolationIssuesHtml(\"\")\r\n // peRenewalService.peGetSection(renewalId, sectionId).then((response) => {\r\n // setSectionData(response.data);\r\n // setHasLoaded(true);\r\n // })\r\n // }\r\n //})\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Engineer Renewal\r\n

Review

\r\n \r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n
\r\n {sectionData.isUserEditable ?\r\n : \r\n }\r\n\r\n {\r\n (!hasIssues && sectionData.isUserEditable) &&\r\n <>\r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n {violationIssuesHtml}\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst peGetSection = (reinstatementId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/IndividualPeReinstatement/section`, { headers: authHeader(), params: { reinstatementId, sectionId } });\r\n}\r\nconst pePostSection = (reinstatementId, sectionId, electronicSignature) => {\r\n\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPeReinstatement/signsection`, null, { headers: authHeader(), params: { reinstatementId, sectionId, electronicSignature } });\r\n}\r\nconst pePostSectionHasRef = (reinstatementId, sectionId, hasReferences) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPeReinstatement/setsectionhasreferences`, null, { headers: authHeader(), params: { reinstatementId, sectionId, hasReferences } });\r\n}\r\nconst pePostSectionHasCpd = (reinstatementId, sectionId, hasCpd) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPeReinstatement/setsectionhascpd`, null, { headers: authHeader(), params: { reinstatementId, sectionId, hasCpd } });\r\n}\r\nconst pePostSectionHasExperience = (reinstatementId, sectionId, hasMyNceesExperience) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPeReinstatement/setsectionhasmynceesexperience`, null, { headers: authHeader(), params: { reinstatementId, sectionId, hasMyNceesExperience } });\r\n}\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Ensure your contact information, including your mailing and public addresses are up to date. Ensure you put LAPELS emails on your safe sender list.\",\r\n },\r\n {\r\n id: 15,\r\n sectionTitle: \"Building Design \",\r\n sectionContent: \"Complete this section verifing your building design experience.\",\r\n },\r\n {\r\n id: 2,\r\n sectionTitle: \"Employment\",\r\n sectionContent: \"Verify Louisiana Employment Firm licensure\",\r\n },\r\n {\r\n id: 3,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 4,\r\n sectionTitle: \"Quizzes\",\r\n sectionContent: \"Upload the confirmation for Online Laws and Rules, the Online Professionalism & Ethics and the Online Louisiana Standards of Practice for Boundary Surveys quizzes.\",\r\n },\r\n {\r\n id: 5,\r\n sectionTitle: \"CPD Requirements\",\r\n sectionContent: \"Verify CPD requirements for Active status for each of the calendar years.\",\r\n },\r\n {\r\n id: 6,\r\n sectionTitle: \"Personal References\",\r\n sectionContent: \"Complete this section listing all personal references.\",\r\n },\r\n {\r\n id: 7,\r\n sectionTitle: \"Experience Record\",\r\n sectionContent: \"Include a GRAND TOTAL of all experience\",\r\n },\r\n {\r\n id: 8,\r\n sectionTitle: \"Disclosure\",\r\n sectionContent: \"Authorize LAPELS staff to procure a consumer report.\",\r\n },\r\n {\r\n id: 9,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Electronically sign (type your name) and date.\",\r\n }\r\n ,\r\n {\r\n id: 10,\r\n sectionTitle: \"Review\",\r\n sectionContent: 'Review your answers. If you need to change an answer, click the \"Section\" above to go back to the appropriate section',\r\n }\r\n])\r\n\r\nexport default {\r\n peGetSection,\r\n pePostSection,\r\n pePostSectionHasRef,\r\n pePostSectionHasCpd,\r\n pePostSectionHasExperience\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, ListGroup } from 'react-bootstrap';\r\nimport Section from '../../../../../Shared/Sections/Section';\r\nimport { getSections } from '../../../../../../services/Public/Reinstatement/PE/peReinstatement.service';\r\nimport { useSelector } from 'react-redux';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/PeInformation';\r\nimport issuesService from '../../../../../../services/Shared/issues.service';\r\n\r\nfunction Index() {\r\n const [sections, setSections] = useState(null);\r\n const selector = useSelector(x => x);\r\n useEffect(() => {\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(3, selector.currentApplicationId).then((data) => {\r\n setSections(selector.currentRoutes != null ? selector.currentRoutes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route;\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n });\r\n })\r\n }, [])\r\n\r\n return (\r\n
\r\n \r\n Professional Engineer Reinstatement\r\n

Reinstatement

\r\n \r\n \r\n \r\n
\r\n \r\n \r\n

Sections to Complete

\r\n \r\n {sections}\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default Index;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PEREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeReinstatement\";\r\n\r\nconst getContactInformation = (reinstatementId) => {\r\n return axios.get(`${PEREINSTATEMENTURL}/contactinformation`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nexport default {\r\n getContactInformation\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { Form } from 'rsuite';\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Swal from 'sweetalert2';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport { GetAppInformationContent, GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/PeInformation'\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport PersonalInformation from '../../../../../Shared/Card/Contact/PersonalInformation';\r\nimport MailingAddress from '../../../../../Shared/Card/Contact/MailingAddress';\r\nimport PublicAddress from '../../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\n\r\nimport contactService from '../../../../../../services/Public/Reinstatement/PE/contact.service';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/PE/peReinstatement.service';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport dayjs from 'dayjs';\r\n\r\nfunction ContactInformationPage() {\r\n\r\n const { push } = useHistory();\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [formModel, setFormModel] = useState({});\r\n const [tabPane, setTabPane] = useState(\"personalInformation\")\r\n const [sectionData, setSectionData] = useState({});\r\n useEffect(() => {\r\n contactService.getContactInformation(appId).then((response) => {\r\n var data = response.data;\r\n\r\n setFormModel({\r\n ...data,\r\n dateOfBirth: data.dateOfBirth != null ? dayjs(data.dateOfBirth).format('YYYY-MM-DD') : null,\r\n altEmail: data.alternateEmailAddress?.contactEmailAddress,\r\n primaryEmail: data.primaryEmailAddress?.contactEmailAddress,\r\n cellPhoneNum: data.cellPhone?.contactPhoneNumber,\r\n workPhoneNum: data.workPhone?.contactPhoneNumber,\r\n homePhoneNum: data.homePhone?.contactPhoneNumber\r\n })\r\n reinstatementService.peGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n }, [])\r\n\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!sectionData?.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n submitData(true);\r\n }\r\n }\r\n\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n\r\n if (isForSubmit) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n Swal.fire(\"Saved!\");\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Engineer Reinstatement\r\n

Contact

\r\n \r\n
\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)} onSubmit={formSubmit} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n {\r\n hasLoaded &&\r\n <>\r\n
\r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PEREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeReinstatement\";\r\n\r\nconst getBuildingDesign = (reinstatementId) => {\r\n return axios.get(`${PEREINSTATEMENTURL}/buildingdesign`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postBuildingDesign = (data) => {\r\n return axios.post(`${PEREINSTATEMENTURL}/buildingdesign`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getBuildingDesign,\r\n postBuildingDesign\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, Card } from 'react-bootstrap';\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport designService from '../../../../../../services/Public/Reinstatement/PE/design.service';\r\nimport peReinstatementService from '../../../../../../services/Public/Reinstatement/PE/peReinstatement.service';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport RedStar from '../../../../../Shared/GenericComponents/RedStar';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/PeInformation';\r\nimport YesNoRadioOption from '../../../../../Shared/RadioButton/YesNoRadioOption';\r\n\r\nfunction BuildingDesignPage() {\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const [model, setModel] = useState({\r\n hasLaBuildingDesign: '',\r\n hasSafetyCodeHours: null,\r\n reinstatementId: reinstatementId,\r\n entityId: entityId\r\n });\r\n const { push } = useHistory();\r\n const sectionId = 15;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [sectionData, setSectionData] = useState({});\r\n useEffect(() => {\r\n peReinstatementService.peGetSection(reinstatementId, sectionId).then((data) => {\r\n setSectionData(data.data);\r\n designService.getBuildingDesign(reinstatementId).then((response) => {\r\n if (response.data)\r\n setModel({\r\n ...response.data\r\n })\r\n })\r\n })\r\n }, [])\r\n const { BooleanType } = Schema.Types;\r\n const validationModel = Schema.Model({\r\n hasLaBuildingDesign: BooleanType().isRequired(\"This field is required.\"),\r\n hasSafetyCodeHours: BooleanType().isRequired(\"This field is required.\")\r\n });\r\n const formSubmit = (val, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (val || model.hasLaBuildingDesign == false) {\r\n designService.postBuildingDesign(model).then((response) => {\r\n if (response.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Engineer Reinstatement\r\n

Building Design

\r\n \r\n
\r\n
\r\n \r\n
Building Design in Louisiana
\r\n \r\n

Have you designed buildings or building systems in Louisiana since your license was no longer in active status?

\r\n \r\n {model.hasLaBuildingDesign == true &&\r\n <>\r\n
\r\n
Safety Code Hours
\r\n

Do you have 4 PDH’s of Life Safety Code, building codes, and/or Americans with Disabilities Act Accessibility Guidelines per calendar year(s) when you designed buildings or buildings systems in Louisiana?

\r\n \r\n \r\n }\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default BuildingDesignPage;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PEREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeReinstatement\";\r\n\r\nconst getEmployment = (reinstatementId) => {\r\n return axios.get(`${PEREINSTATEMENTURL}/employment`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postEmployment = (data) => {\r\n return axios.post(`${PEREINSTATEMENTURL}/employment`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getEmployment,\r\n postEmployment\r\n}","import React, { useState, useEffect } from 'react'\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent, GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/PeInformation';\r\nimport EmploymentLicensure from '../../../../../Shared/Card/EmploymentLicensure';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/PE/peReinstatement.service';\r\nimport employmentService from '../../../../../../services/Public/Reinstatement/PE/employment.service';\r\nimport { getEfCredential, getVfCredential } from '../../../../../../services/Shared/codeTable.service';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction EmploymentPage() {\r\n const [sectionData, setSectionData] = useState({});\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const { StringType, ObjectType } = Schema.Types;\r\n const [option, setOption] = useState();\r\n const sectionId = 2;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const store = useSelector(x => x);\r\n const [formModel, setFormModel] = useState({\r\n id: 0,\r\n reinstatementId: store.currentApplicationId,\r\n employedBy: '',\r\n licensedFirmType: '',\r\n firmNumber: null,\r\n comment: '',\r\n signature: ''\r\n })\r\n const model = Schema.Model({\r\n licensedFirmType: StringType().isRequired('This field is required'),\r\n comment: StringType().isRequired('This field is required'),\r\n firmNumber: ObjectType().isRequired('This field is required'),\r\n employedBy: StringType().isRequired('This field is required')\r\n });\r\n\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n employmentService.getEmployment(store.currentApplicationId).then((response) => {\r\n reinstatementService.peGetSection(store.currentApplicationId, sectionId).then((data) => {\r\n setSectionData(data.data);\r\n if (response.data) {\r\n var licensedFirmType = \"\";\r\n if (response.data.firmIsLicensed)\r\n licensedFirmType = \"licensed\";\r\n else if (response.data.firmIsNotLicensed)\r\n licensedFirmType = \"unlicensed\";\r\n else if (response.data.soleProprietor)\r\n licensedFirmType = \"soleProprietor\";\r\n else if (response.data.unemployed)\r\n licensedFirmType = \"unemployed\"\r\n if (response.data.credentialId) {\r\n getEfCredential(response.data.credentialId).then((cred) => {\r\n setFormModel({\r\n id: response.data.id,\r\n employedBy: response.data.employedByName,\r\n firmNumber: cred?.value,\r\n comment: response.data.comment,\r\n licensedFirmType: licensedFirmType,\r\n signature: data.data.electronicSignature\r\n });\r\n setOption(licensedFirmType);\r\n })\r\n }\r\n else {\r\n setFormModel({\r\n id: response.data.id,\r\n employedBy: response.data.employedByName,\r\n firmNumber: response.data.credentialId,\r\n comment: response.data.comment,\r\n licensedFirmType: licensedFirmType,\r\n signature: data.data.electronicSignature\r\n });\r\n setOption(licensedFirmType);\r\n }\r\n }\r\n setHasLoaded(true);\r\n })\r\n })\r\n \r\n }, [])\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var hasErrors = false;\r\n var validationObject = model.check(formModel);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n if (key === \"firmNumber\" && formModel.licensedFirmType === \"licensed\") {\r\n hasErrors = true;\r\n return\r\n }\r\n else if (key === \"employedBy\" && formModel.licensedFirmType === \"unlicensed\") {\r\n hasErrors = true;\r\n return\r\n }\r\n else if (key === \"comment\" && formModel.licensedFirmType === \"soleProprietor\") {\r\n hasErrors = true;\r\n return\r\n }\r\n else if (key === \"licensedFirmType\" || key === \"signature\") {\r\n hasErrors = true;\r\n return\r\n }\r\n }\r\n }\r\n if (!hasErrors) {\r\n submitData(true);\r\n }\r\n }\r\n }\r\n const clearFirmNumber = () => {\r\n setFormModel({ ...formModel, firmNumber: null });\r\n }\r\n const formSave = (event) => {\r\n var didSave = submitData();\r\n if (didSave) {\r\n //display saved message\r\n }\r\n else {\r\n //display error message\r\n }\r\n }\r\n const submitData = (isForSubmit) => {\r\n var dataTransfer = {\r\n id: formModel.id,\r\n reinstatementId: store.currentApplicationId,\r\n comment: formModel.comment,\r\n credentialId: formModel.firmNumber ? formModel.firmNumber.licenseNumber : null,\r\n employedByName: formModel.employedBy,\r\n entityId: store.userInfo.EntityId,\r\n firmIsLicensed: formModel.licensedFirmType ? formModel.licensedFirmType == \"licensed\" ? true : false : null,\r\n firmIsNotLicensed: formModel.licensedFirmType ? formModel.licensedFirmType == \"unlicensed\" ? true : false : null,\r\n soleProprietor: formModel.licensedFirmType ? formModel.licensedFirmType == \"soleProprietor\" ? true : false : null,\r\n unemployed: formModel.licensedFirmType ? formModel.licensedFirmType == \"unemployed\" ? true : false : null\r\n };\r\n employmentService.postEmployment(dataTransfer).then((response) => {\r\n reinstatementService.pePostSection(store.currentApplicationId, sectionId, formModel.signature).then((data) => {\r\n if (response.data && isForSubmit) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data) {\r\n var licensedFirmType = \"\";\r\n if (response.data.firmIsLicensed)\r\n licensedFirmType = \"licensed\";\r\n else if (response.data.firmIsNotLicensed)\r\n licensedFirmType = \"unlicensed\";\r\n else if (response.data.soleProprietor)\r\n licensedFirmType = \"soleProprietor\";\r\n else if (response.data.unemployed)\r\n licensedFirmType = \"unemployed\"\r\n if (response.data.credentialId) {\r\n getVfCredential(response.data.credentialId).then((cred) => {\r\n setFormModel({\r\n id: response.data.id,\r\n employedBy: response.data.employedByName,\r\n firmNumber: cred,\r\n comment: response.data.comment,\r\n licensedFirmType: licensedFirmType,\r\n signature: data.data.electronicSignature\r\n });\r\n setOption(licensedFirmType);\r\n Swal.fire(\"Saved!\");\r\n })\r\n }\r\n else {\r\n setFormModel({\r\n id: response.data.id,\r\n employedBy: response.data.employedByName,\r\n firmNumber: response.data.credentialId,\r\n comment: response.data.comment,\r\n licensedFirmType: licensedFirmType,\r\n signature: data.data.electronicSignature\r\n });\r\n setOption(licensedFirmType);\r\n Swal.fire(\"Saved!\");\r\n }\r\n\r\n }\r\n })\r\n });\r\n //post formData to api\r\n //return bool didSave\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Engineer Reinstatement\r\n

Employment

\r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default EmploymentPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PEREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeReinstatement\";\r\n\r\nconst getViolation = (reinstatementId) => {\r\n return axios.get(`${PEREINSTATEMENTURL}/violation`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postViolation = (data) => {\r\n return axios.post(`${PEREINSTATEMENTURL}/violation`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getViolation,\r\n postViolation\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/PE/peReinstatement.service';\r\nimport violationService from '../../../../../../services/Public/Reinstatement/PE/violation.service';\r\nimport Swal from 'sweetalert2';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/PeInformation';\r\nimport { getReinstatementCodeViolationAnswers } from '../../../../../../services/Shared/codeTable.service';\r\nimport IndividualViolations from '../../../../../Shared/Card/Violations';\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 3;\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n signature: StringType().isRequired('This field is required.'),\r\n yesAnswerExplanation: StringType().isRequired('This field is required.'),\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n reinstatementService.peGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n violationService.getViolation(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, issues: formData.issues, files: formData.files, filesForDisplay: formData.filesForDisplay, signature: response.data.electronicSignature });\r\n }\r\n else {\r\n getReinstatementCodeViolationAnswers(6).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n signature: undefined,\r\n yesAnswerExplanation: \"\",\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true && x.codeViolationQuestion.versionNumber < 3) >= 0;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n\r\n //Verison 3+ violations\r\n const showBlukViolationExplanation = formData?.answers?.findIndex(x => x.answer == true && !x.codeViolationQuestion.hasExplanation && x.codeViolationQuestion.versionNumber >= 3) >= 0 ?\r\n `If the answer to question number 2-${formData.answers[0].codeViolationQuestion.versionNumber == 3 ? '6' : '5'} is \"Yes\", provide the date and the pertinent facts of the case or proceeding including its final disposition. Upload additional pages if necessary` : \"\";\r\n\r\n\r\n const handleSubmit = (val, event) => {\r\n setShowFormErrors(true)\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n if (validationObject[key].hasError && (showBlukViolationExplanation && key.includes(\"yesAnswerExplanation\"))) {\r\n return;\r\n }\r\n\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer === true && x.codeViolationQuestion.hasExplanation && !x.violationExplanation) >= 0) {//undefined check\r\n return;\r\n }\r\n\r\n if (formData.signature) {\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, reinstatementId: store.currentApplicationId, entityId: store.userInfo.EntityId };\r\n violationService.postViolation(dataTransfer).then((response) => {\r\n reinstatementService.pePostSection(store.currentApplicationId, sectionId, formData.signature).then((response) => {\r\n if (response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n })\r\n });\r\n }\r\n }\r\n }\r\n }\r\n const formSave = () => {\r\n var dataTransfer = { ...formData, reinstatementId: store.currentApplicationId, entityId: store.userInfo.EntityId };\r\n violationService.postViolation(dataTransfer).then((response) => {\r\n updateFormData({ ...response.data, signature: formData.signature });\r\n reinstatementService.pePostSection(store.currentApplicationId, sectionId, formData.signature).then((response) => {\r\n Swal.fire(\"Saved!\")\r\n })\r\n });\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n Professional Engineer Reinstatement\r\n

Violations

\r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import React, { useEffect, useState } from 'react'\r\nimport { Card, Container } from 'react-bootstrap'\r\nimport { Form, Schema } from 'rsuite'\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons'\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/PeInformation';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/PE/peReinstatement.service';\r\nimport Swal from 'sweetalert2';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport DocumentUpload from '../../../../../Shared/Upload/DocumentUpload';\r\n\r\nfunction QuizzesPage() {\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [hasFiles, setHasFiles] = useState(false);\r\n const sectionId = 4;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [sectionData, setSectionData] = useState({});\r\n useEffect(() => {\r\n reinstatementService.peGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data)\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n\r\n const { push } = useHistory();\r\n\r\n const handleSave = () => {\r\n Swal.fire(\"Saved!\")\r\n }\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n // e is the result of the validation\r\n if (hasFiles) {\r\n // do form post\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n }\r\n //const attachmentTypes = [\r\n // {\r\n // \"label\": \"Quiz - Laws and Rules\", \"value\": 15\r\n // },\r\n // {\r\n // \"label\": \"Quiz - Ethics\", \"value\": 16\r\n // }\r\n \r\n //]\r\n return (\r\n
\r\n \r\n Professional Engineer Reinstatement\r\n

Quizzes

\r\n \r\n
\r\n {hasLoaded ?\r\n
{/*This is to make sure validation is triggered and form does nothing else*/}\r\n \r\n \r\n
Document Uploads
\r\n
\r\n \r\n \r\n {!hasFiles &&
Please select at least 1 file.
}\r\n
\r\n
\r\n
\r\n \r\n \r\n : \r\n }\r\n\r\n
\r\n
\r\n )\r\n}\r\nexport default QuizzesPage;","import React from 'react'\r\nimport { Card, Row, Col, Badge, } from 'react-bootstrap'\r\nimport { FormControl } from 'rsuite'\r\nimport RedStar from '../../../../../Shared/GenericComponents/RedStar'\r\nimport DocumentUpload from '../../../../../Shared/Upload/DocumentUpload';\r\n\r\nfunction Courses(props) {\r\n return (\r\n \r\n \r\n
Courses
\r\n
\r\n \r\n
\r\n CPD Records must include the LAPELS approved CPD log with all certificates/proof of attendance uploaded in the section below.\r\n You may also choose to upload your CPD documentation in your NCEES CPC locker at ncees.org.\r\n
\r\n Course records must cover the last 24 months prior to starting this reinstatement application.\r\n }\r\n setHasFiles={props.setHasFiles}\r\n />\r\n {!props.hasFiles &&
Please upload at least 1 file.
}\r\n
\r\n
\r\n

\r\n The CPD credits listed herein are true and correct, and accurately state the professional development hours I have earned.\r\n

\r\n
\r\n \r\n \r\n
Electronic Signature of Applicant:
\r\n (Type full name)\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default Courses\r\n\r\n","import React, { useState, useEffect } from 'react'\r\nimport { Container } from 'react-bootstrap'\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/PE/peReinstatement.service';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons'\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/PeInformation';\r\nimport Courses from './Courses'\r\n\r\nfunction CpdRequirementsPage() {\r\n const { push } = useHistory();\r\n const [formModel, setFormModel] = useState({\r\n electronicSignature: \"\",\r\n });\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [hasFiles, setHasFiles] = useState(false);\r\n const sectionId = 5;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.'),\r\n });\r\n\r\n useEffect(() => {\r\n reinstatementService.peGetSection(reinstatementId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n setHasLoaded(true);\r\n })\r\n }, []);\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!formModel.isUserEditable) {\r\n push(routes[routes.map(function (x) { return x.sectionId }).indexOf(sectionId) + 1].route)\r\n }\r\n else {\r\n if (validation && hasFiles) {\r\n submitData(true);\r\n }\r\n }\r\n }\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n const submitData = (isForSubmit) => {\r\n reinstatementService.pePostSection(reinstatementId, sectionId, formModel.electronicSignature).then((response) => {\r\n if (isForSubmit && response.data.id) {\r\n push(routes[routes.map(function (x) { return x.sectionId }).indexOf(sectionId) + 1].route)\r\n }\r\n else if (response.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n else {\r\n Swal.fire(\"Error saving cpd\")\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Engineer Reinstatement\r\n

\r\n CPD Requirements\r\n

\r\n \r\n
\r\n { hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit} fluid>\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default CpdRequirementsPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PEAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeReinstatement\";\r\n\r\nconst getPersonalReferences = (reinstatementId) => {\r\n return axios.get(`${PEAPPLICATIONURL}/personalreferences`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postPersonalReference = (data) => {\r\n return axios.post(`${PEAPPLICATIONURL}/personalreference`, data, { headers: authHeader() });\r\n}\r\nconst sendPersonalReferenceEmail = (referenceId) => {\r\n return axios.post(`${PEAPPLICATIONURL}/sendreferenceemail`, null, { headers: authHeader(), params: { referenceId } });\r\n}\r\nexport default {\r\n getPersonalReferences,\r\n postPersonalReference,\r\n sendPersonalReferenceEmail\r\n}","import React, { useState, useEffect } from 'react'\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Container } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useSelector } from 'react-redux';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons'\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/PeInformation';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport AddEditPersonalReferenceModal from '../../../../../Shared/Modal/AddEditPersonalReferenceModal';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport References from '../../../../../Shared/Card/References';\r\n\r\nimport personalReferenceService from '../../../../../../services/Public/Reinstatement/PE/personalReference.service'\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/PE/peReinstatement.service'\r\nimport Swal from 'sweetalert2';\r\nimport dayjs from 'dayjs';\r\n\r\nfunction PersonalReferencesPage() {\r\n const { push } = useHistory();\r\n const [modalShow, setModalShow] = useState(false);\r\n const [hasLoaded, setHasLoaded] = useState(true);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 6;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [modalData, setModalData] = useState({\r\n address: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: 0,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n firstOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: 0,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n secondOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: 0,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n reinstatementId: 0,\r\n dateCrte: null,\r\n deleted: false,\r\n email: \"\",\r\n entityId: 0,\r\n id: 0,\r\n name: \"\",\r\n userCrte: \"\",\r\n verificationStatus: null,\r\n membersOfSameFirm: null,\r\n notMembersOfSameFirmExplanation: '',\r\n dateFromFirstOccasion: null,\r\n dateToFirstOccasion: null,\r\n firstOccasionFirmName: '',\r\n firstOccasionPosition: '',\r\n firstOccasionReferencePosition: '',\r\n dateToSecondOccasion: null,\r\n dateFromSecondOccasion: null,\r\n secondOccasionFirmName: '',\r\n secondOccasionPosition: '',\r\n secondOccasionReferencePosition: '',\r\n modalType: \"Add\"\r\n });\r\n const [gridData, setGridData] = useState([]);\r\n const [sectionData, setSectionData] = useState({});\r\n\r\n useEffect(() => {\r\n setHasLoaded(false)\r\n reinstatementService.peGetSection(reinstatementId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n updateGridData();\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n\r\n\r\n const updateGridData = () => {\r\n personalReferenceService.getPersonalReferences(reinstatementId).then((response) => {\r\n setGridData(response.data);\r\n });\r\n }\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.'),\r\n hasReferences: BooleanType().isRequired('This field is required.')\r\n });\r\n const openAddEditModal = (values) => {\r\n if (values.id) {\r\n var data = {\r\n ...values,\r\n dateToFirstOccasion: values.dateToFirstOccasion ? dayjs(values.dateToFirstOccasion).format('YYYY-MM') : null,\r\n dateFromFirstOccasion: values.dateFromFirstOccasion ? dayjs(values.dateFromFirstOccasion).format('YYYY-MM') : null,\r\n dateToSecondOccasion: values.dateToSecondOccasion ? dayjs(values.dateToSecondOccasion).format('YYYY-MM') : null,\r\n dateFromSecondOccasion: values.dateFromSecondOccasion ? dayjs(values.dateFromSecondOccasion).format('YYYY-MM') : null,\r\n modalType: \"Edit\"\r\n }\r\n setModalData(data);\r\n }\r\n else {\r\n setModalData({\r\n address: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: entityId,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n firstOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: entityId,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n secondOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: entityId,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n reinstatementId: reinstatementId,\r\n dateCrte: null,\r\n deleted: false,\r\n email: \"\",\r\n entityId: entityId,\r\n id: 0,\r\n name: \"\",\r\n userCrte: \"\",\r\n verificationStatus: null,\r\n membersOfSameFirm: null,\r\n notMembersOfSameFirmExplanation: '',\r\n dateFromFirstOccasion: null,\r\n dateToFirstOccasion: null,\r\n firstOccasionFirmName: '',\r\n firstOccasionPosition: '',\r\n firstOccasionReferencePosition: '',\r\n dateToSecondOccasion: null,\r\n dateFromSecondOccasion: null,\r\n secondOccasionFirmName: '',\r\n secondOccasionPosition: '',\r\n secondOccasionReferencePosition: '',\r\n modalType: \"Add\"\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (validation) {\r\n reinstatementService.pePostSection(reinstatementId, sectionId, sectionData.electronicSignature).then((signatureResponse) => {\r\n reinstatementService.pePostSectionHasRef(reinstatementId, sectionId, sectionData.hasReferences).then((response) => {\r\n if (response.data && signatureResponse.data) // If both return something it's good to go\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n });\r\n });\r\n }\r\n }\r\n }\r\n\r\n const formSave = (event) => {\r\n reinstatementService.pePostSection(reinstatementId, sectionId, sectionData.electronicSignature).then(() => {\r\n reinstatementService.pePostSectionHasRef(reinstatementId, sectionId, sectionData.hasReferences).then(() => {\r\n Swal.fire(\"Saved!\")\r\n })\r\n });\r\n }\r\n\r\n const deleteRow = (rowData) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n personalReferenceService.postPersonalReference({ ...rowData, deleted: true }).then((response) => {\r\n updateGridData();\r\n })\r\n }\r\n })\r\n }\r\n\r\n const emailReference = (rowData) => {\r\n personalReferenceService.sendPersonalReferenceEmail(rowData.id).then((response) => {\r\n if (response.data) {\r\n Swal.fire(`You have successfully sent an email to ${rowData.name} at ${rowData.email}!`);\r\n updateGridData();\r\n }\r\n else\r\n Swal.fire(`Failed to send email: ${response.data.message}`);\r\n })\r\n }\r\n\r\n\r\n return (\r\n
\r\n \r\n Professional Land Surveyor Reinstatement\r\n

References

\r\n \r\n
\r\n

\r\n Personal References\r\n

\r\n {hasLoaded ? <>\r\n setModalShow(false)}\r\n onsave={personalReferenceService.postPersonalReference}\r\n />\r\n { setSectionData(data) }}\r\n onSubmit={formSubmit} >\r\n\r\n \r\n\r\n
\r\n \r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default PersonalReferencesPage\r\n","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PEREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeReinstatement\";\r\n\r\nconst getExperienceRecords = (reinstatementId) => {\r\n return axios.get(`${PEREINSTATEMENTURL}/experiencerecords`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postExperienceRecord = (data) => {\r\n return axios.post(`${PEREINSTATEMENTURL}/experiencerecord`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getExperienceRecords,\r\n postExperienceRecord\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Modal, Row, Col, Button } from 'react-bootstrap'\r\nimport NumberFormat from 'react-number-format';\r\nimport { Input, SelectPicker, Form, ControlLabel, Schema, FormControl, FormGroup, Icon } from 'rsuite';\r\nimport experienceService from '../../../../../../services/Public/Reinstatement/PE/experience.service';\r\n//import reinstatementExperienceService from '../../../../../../services/Public/Reinstatement/PLS/experience.service';\r\nimport { getEmploymentTypes } from '../../../../../../services/Shared/codeTable.service';\r\nimport PhoneNumberMask from '../../../../../Shared/GenericComponents/PhoneNumberMask';\r\nimport RedStar from '../../../../../Shared/GenericComponents/RedStar';\r\n\r\nconst InputMask = ({ onChange, ...rest }) => {\r\n return (\r\n {\r\n onChange(event.target.value);\r\n }}\r\n />\r\n );\r\n};\r\n\r\nfunction AddEditExperienceRecordsModal(props) {\r\n const [recordModel, setRecordModel] = useState({\r\n applicationId: 0,\r\n comments: \"\",\r\n dateCrte: null,\r\n dateFrom: null,\r\n dateTo: null,\r\n deleted: false,\r\n employerName: \"\",\r\n employerPosition: \"\",\r\n employerEmail: \"\",\r\n employerPhone: \"\",\r\n verifierName: \"\",\r\n verifierPosition: \"\",\r\n verifierEmail: \"\",\r\n verifierPhone: \"\",\r\n employmentType: null,\r\n entityId: 0,\r\n id: 0,\r\n userCrte: \"\",\r\n position: \"\",\r\n location: \"\",\r\n description: \"\",\r\n acceptableDescription: \"\",\r\n //showErrors: false,\r\n emailAddresses: [\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 10,\r\n emailAddressParentType: \"Application Experience Employer\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 11,\r\n emailAddressParentType: \"Application Experience Verifier\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n phoneNumbers: [\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 10,\r\n phoneParentType: \"Application Experience Employer\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 11,\r\n phoneParentType: \"Application Experience Verifier\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n modalType: \"Add\"\r\n })\r\n const [employmentTypes, setEmploymentTypes] = useState([])\r\n useEffect(() => {\r\n getEmploymentTypes().then(setEmploymentTypes);\r\n setRecordModel(props.modaldata);\r\n }, [props.modaldata])\r\n\r\n const { StringType, ObjectType, NumberType } = Schema.Types;\r\n const model = Schema.Model({\r\n position: StringType().isRequired('This field is required.'),\r\n employerName: StringType().isRequired('This field is required.'),\r\n employerPosition: StringType().isRequired('This field is required.'),\r\n employerPhone: NumberType().pattern(/^[0-9]{10}/, \"Please enter a valid Phone Number\").isRequired(\"This field is required.\"),\r\n employerEmail: StringType().isRequired('This field is required.').isEmail(\"Enter a valid email\"),\r\n verifierName: StringType().isRequired('This field is required.'),\r\n verifierPosition: StringType().isRequired('This field is required.'),\r\n verifierPhone: NumberType().pattern(/^[0-9]{10}/, \"Please enter a valid Phone Number\").isRequired(\"This field is required.\"),\r\n verifierEmail: StringType().isRequired('This field is required.').isEmail(\"Enter a valid email\"),\r\n\r\n location: StringType().isRequired('This field is required.'),\r\n description: StringType().isRequired('This field is required.'),\r\n acceptableDescription: StringType().isRequired('This field is required.'),\r\n employmentType: ObjectType().isRequired('This field is required.'),\r\n dateFrom: StringType().isRequired('This field is required.'),\r\n dateTo: StringType().isRequired('This field is required.')\r\n })\r\n\r\n const formSubmit = (validation, event) => {\r\n var hasErrors = false;\r\n var validationObject = model.check(recordModel);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n hasErrors = true;\r\n return;\r\n }\r\n }\r\n if (!hasErrors) {\r\n submitData();\r\n }\r\n\r\n }\r\n const submitData = () => {\r\n var dataToTransmit = {\r\n ...recordModel,\r\n phoneNumbers: [\r\n {\r\n ...recordModel.phoneNumbers[0],\r\n contactPhoneNumber: recordModel.employerPhone\r\n },\r\n {\r\n ...recordModel.phoneNumbers[1],\r\n contactPhoneNumber: recordModel.verifierPhone\r\n }\r\n ],\r\n emailAddresses: [\r\n {\r\n ...recordModel.emailAddresses[0],\r\n contactEmailAddress: recordModel.employerEmail\r\n\r\n },\r\n {\r\n ...recordModel.emailAddresses[1],\r\n contactEmailAddress: recordModel.verifierEmail\r\n }\r\n ],\r\n dateFrom: new Date(recordModel.dateFrom),\r\n dateTo: new Date(recordModel.dateTo),\r\n id: recordModel.id === '' ? 0 : recordModel.id,\r\n };\r\n\r\n\r\n delete dataToTransmit.modalType;\r\n delete dataToTransmit.verifierEmail;\r\n delete dataToTransmit.verifierPhone;\r\n delete dataToTransmit.employerPhone;\r\n delete dataToTransmit.employerEmail;\r\n //delete dataToTransmit.showErrors;\r\n //if (props.appType === \"reinstatement\") {\r\n // reinstatementExperienceService.postExperienceRecord(dataToTransmit).then((response) => {\r\n // if (response.data.id) {\r\n // props.updateGrid();\r\n // props.onHide();\r\n // }\r\n // })\r\n //}\r\n //else {\r\n experienceService.postExperienceRecord(dataToTransmit).then((response) => {\r\n if (response.data.id) {\r\n props.updateGrid();\r\n props.onHide();\r\n }\r\n })\r\n //}\r\n }\r\n return (\r\n \r\n \r\n \r\n {recordModel.modalType} an Experience Record\r\n \r\n \r\n \r\n
setRecordModel(recordModel)} onSubmit={formSubmit} >\r\n \r\n \r\n \r\n \r\n \r\n Title of Position \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Location of Assignment/Engagement \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Description of Assignment \r\n \r\n indicate character of work and degree of responsibility \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n If not a licensed professional engineer/surveyor, explain why the experience should be considered acceptable. Otherwise, enter N/A. \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Employment Type \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Date From \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Date To \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n Employer Information \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Title \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Phone \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Email \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n Verifier Information \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Title \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Phone \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Email \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default AddEditExperienceRecordsModal;","import React, { useEffect, useState } from 'react'\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport {GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/PeInformation';\r\nimport AddEditExperienceRecordsModal from './ExperienceRecordModal';\r\nimport Experience from '../../../../../Shared/Card/Experience';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/PE/peReinstatement.service';\r\nimport experienceService from '../../../../../../services/Public/Reinstatement/PE/experience.service';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport dayjs from 'dayjs';\r\n\r\nfunction ExperiencePage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n\r\n const [modalShow, setModalShow] = useState(false);\r\n const [gridData, setGridData] = useState([]);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [isOverFiveYears, setIsOverFiveYears] = useState(false);\r\n const sectionId = 7;\r\n const [modalData, setModalData] = useState({});\r\n useEffect(() => {\r\n setHasLoaded(false)\r\n reinstatementService.peGetSection(appId, sectionId).then((response) => {\r\n setIsOverFiveYears(response.data.isOverFiveYears);\r\n setSectionData(response.data);\r\n updateGridData();\r\n setHasLoaded(true)\r\n })\r\n }, [])\r\n const { BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasMyNceesExperience: BooleanType().isRequired('This field is required.')\r\n });\r\n const openAddEditModal = (values) => {\r\n if (values.id) {\r\n setModalData(\r\n {\r\n ...values,\r\n verifierEmail: values.emailAddresses[1].contactEmailAddress,\r\n verifierPhone: values.phoneNumbers[1].contactPhoneNumber,\r\n employerEmail: values.emailAddresses[0].contactEmailAddress,\r\n employerPhone: values.phoneNumbers[0].contactPhoneNumber,\r\n dateFrom: values.dateFrom ? dayjs(values.dateFrom).format('YYYY-MM') : null,\r\n dateTo: values.dateTo ? dayjs(values.dateTo).format('YYYY-MM') : null,\r\n modalType: 'Edit'\r\n });\r\n }\r\n else {\r\n setModalData({\r\n reinstatementId: appId,\r\n comments: \"\",\r\n dateCrte: null,\r\n dateFrom: null,\r\n dateTo: null,\r\n deleted: false,\r\n employerName: \"\",\r\n employerPosition: \"\",\r\n verifierName: \"\",\r\n verifierPosition: '',\r\n verifierEmail: \"\",\r\n verifierPhone: \"\",\r\n employerEmail: \"\",\r\n employerPhone: \"\",\r\n employmentType: null,\r\n entityId: entityId,\r\n id: 0,\r\n userCrte: \"\",\r\n position: \"\",\r\n location: \"\",\r\n description: \"\",\r\n acceptableDescription: \"\",\r\n emailAddresses: [\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 12,\r\n emailAddressParentType: \"Reinstatement Experience Employer\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 13,\r\n emailAddressParentType: \"Reinstatement Experience Verifier\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n phoneNumbers: [\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 12,\r\n phoneParentType: \"Reinstatement Experience Employer\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 13,\r\n phoneParentType: \"Reinstatement Experience Verifier\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n modalType: \"Add\"\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n const { push } = useHistory();\r\n\r\n const handleSubmit = (validation, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (validation) {\r\n reinstatementService.pePostSectionHasExperience(appId, sectionId, sectionData.hasMyNceesExperience).then((response) => {\r\n if (response.data) // If both return something it's good to go\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n });\r\n }\r\n }\r\n }\r\n const updateGridData = () => {\r\n experienceService.getExperienceRecords(appId).then((response) => {\r\n setGridData(response.data)\r\n });\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Engineer Reinstatement\r\n

Experience

\r\n \r\n
\r\n {hasLoaded ? <>\r\n {modalShow &&\r\n setModalShow(false)} proptitle=\"Add\" />\r\n }\r\n
setSectionData(data)}>\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ExperiencePage","import React, { useState, useEffect } from 'react';\r\nimport { Container } from 'react-bootstrap'\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport { useHistory } from 'react-router-dom';\r\nimport DisclosureAuthorization from '../../../../../Shared/Card/DisclosureAuthorization';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/PeInformation';\r\nimport { useSelector } from 'react-redux';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/PE/peReinstatement.service';\r\nimport Swal from 'sweetalert2';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport dayjs from 'dayjs';\r\n\r\nfunction DisclosurePage() {\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const sectionId = 8;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [formModel, setFormModel] = useState({})\r\n useEffect(() => {\r\n reinstatementService.peGetSection(reinstatementId, sectionId).then((response) => {\r\n setFormModel({\r\n ...response.data,\r\n dateOfBirth: response.data.dateOfBirth != null ? dayjs(response.data.dateOfBirth).format('YYYY-MM-DD') : null,\r\n dateSigned: response.data.dateSigned != null ? dayjs(response.data.dateSigned).format('YYYY-MM-DD') : null\r\n });\r\n setHasLoaded(true)\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!formModel.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n const submitData = (isForSubmit) => {\r\n reinstatementService.pePostSection(reinstatementId, sectionId, formModel.electronicSignature).then((response) => {\r\n if (isForSubmit && response.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Engineer Reinstatement\r\n
\r\n

Disclosure

\r\n
\r\n \r\n
\r\n { hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default DisclosurePage;","import React, { useState, useEffect } from 'react'\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container, Row, Col, Card } from 'react-bootstrap';\r\nimport { Form, FormControl, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/PE/peReinstatement.service';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport RedStar from '../../../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction AcknowledgementPage() {\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const sectionId = 9;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [formModel, setFormModel] = useState({})\r\n useEffect(() => {\r\n reinstatementService.peGetSection(reinstatementId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n setHasLoaded(true)\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!formModel.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n const submitData = (isForSubmit) => {\r\n reinstatementService.pePostSection(reinstatementId, sectionId, formModel.electronicSignature).then((response) => {\r\n if (isForSubmit && response.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n Professional Engineer Reinstatement\r\n

Acknowledgement

\r\n {hasLoaded ?\r\n <>\r\n \r\n
Requirements/Information/Acknowledgement
\r\n \r\n

I, the applicant named in this application, have read the contents hereof, and to the best of my knowledge, information and believe the statements and information in this application are true and correct in substance and effect and are made in good faith. I have not omitted any information requested in this application. I am aware that such an omission or untrue response may constitute fraud or deceit, material misstatement, perjury or the giving of false or forged evidence under Louisiana Revised Statutes 37:698 and 37:700. I understand and agree that any responses verifying my education, personal references, and experience shall be considered privileged and confidential and that this information was not reviewed by me nor will it be available for my inspection or review in the future.

\r\n
\r\n
    \r\n
  • It is your responsibility to check your LOLA account frequently for any pending issues. Ensure you add \"lapels.com\" to your \"Safe Senders\" list in your email application and/or (if applicable) in your network firewall.
  • \r\n
  • Once we receive a complete application, with no pending issues, process time may take 6-8 weeks.
  • \r\n
  • \r\n I certify that all information provided in this online reinstatement is true and correct to the best of my knowledge, information and belief.\r\n
  • \r\n
  • \r\n I am aware that an omission or untrue response may constitute fraud, deceit, material misstatement, perjury or the giving of false or forged evidence under Louisiana Revised Statutes 37:698 and 37:700\r\n
  • \r\n\r\n
  • \r\n IMPORTANT: Payments are non-refundable. If you believe that you will be reimbursed for your fee, verify this BEFORE proceeding further\r\n
  • \r\n
  • \r\n If you are unsure about getting reimbursed by your firm, please stop the application process here and come back after you verify. Your answers will be saved.\r\n
  • \r\n
\r\n
\r\n \r\n \r\n
Electronic Signature of Applicant:
\r\n (Type full name)\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n : \r\n }\r\n\r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { List } from 'rsuite';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/PeInformation';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../../Shared/Card/ReviewPdf';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/reinstatement.service';\r\nimport peReinstatementService, { getSections } from '../../../../../../services/Public/Reinstatement/PE/peReinstatement.service';\r\nimport shoppingCartService from '../../../../../../services/Public/shoppingCart.service';\r\nimport Swal from 'sweetalert2';\r\n\r\nfunction ReviewPage() {\r\n const [hasIssues, setHasIssues] = useState(true)\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const { push } = useHistory();\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [allSections, setAllSections] = useState([]);\r\n const [sectionData, setSectionData] = useState({});\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const sectionId = 10;\r\n\r\n useEffect(() => {\r\n getSections().then(setAllSections);\r\n peReinstatementService.peGetSection(reinstatementId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n })\r\n }, [])\r\n const navigateToPage = (sectionId) => {\r\n push(routes.filter(x => x.sectionId == (sectionId))[0].route)\r\n }\r\n const validateReinstatement = () => {\r\n setHasLoaded(false);\r\n reinstatementService.validateReinstatement(reinstatementId).then((response) => {\r\n let errors = response.data.map((error, i) => {\r\n return { navigateToPage(error.sectionId) }}>\r\n Error{error.errors.length > 1 ? 's' : ''} in {allSections.filter(x => x.id == error.sectionId)[0].sectionTitle}: {error.errors.join(', ')}\r\n \r\n })\r\n if (response.data?.length)\r\n setViolationIssuesHtml(\r\n \r\n {errors}\r\n \r\n )\r\n else {\r\n setViolationIssuesHtml('')\r\n setHasIssues(false);\r\n Swal.fire(\"Validation Successful\", `Your reinstatement passed all validation checks. You may now download a PDF version to keep for your records.`, 'success')\r\n }\r\n setHasLoaded(true);\r\n })\r\n }\r\n const submitReinstatement = () => {\r\n setHasLoaded(false);\r\n shoppingCartService.addToShoppingCart(reinstatementId, 18).then((data) => {\r\n if (data.data) { push('/individual/shoppingcart'); }\r\n\r\n })\r\n\r\n //reinstatementService.submitReinstatement(reinstatementId).then((data) => {\r\n // if (data.data?.length) {\r\n // setHasIssues(true);\r\n // let errors = data.data.map((error, i) => {\r\n // return { navigateToPage(error.sectionId) }}>\r\n // Error{error.errors.length > 1 ? 's' : ''} in {allSections.filter(x => x.id == error.sectionId)[0].sectionTitle}: {error.errors.join(', ')}\r\n // \r\n // })\r\n // setViolationIssuesHtml(\r\n // \r\n // {errors}\r\n // \r\n // )\r\n // setHasLoaded(true);\r\n // }\r\n // else {\r\n // setHasIssues(false);\r\n // setViolationIssuesHtml(\"\")\r\n // peReinstatementService.peGetSection(reinstatementId, sectionId).then((response) => {\r\n // setSectionData(response.data);\r\n // setHasLoaded(true);\r\n // })\r\n // }\r\n //})\r\n }\r\n\r\n return (\r\n
\r\n \r\n Professional Engineer Reinstatement\r\n

Review

\r\n \r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n
\r\n {sectionData.isUserEditable ?\r\n : \r\n }\r\n {\r\n (!hasIssues && sectionData.isUserEditable) && <>\r\n \r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n {violationIssuesHtml}\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst lsiGetSection = (applicationId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/IndividualLsiApplication/section`, { headers: authHeader(), params: { applicationId, sectionId } });\r\n}\r\nconst lsiPostSection = (applicationId, sectionId, electronicSignature) => {\r\n\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualLsiApplication/signsection`, null, { headers: authHeader(), params: { applicationId, sectionId, electronicSignature } });\r\n}\r\n\r\n//const lsiPostSectionHasMyNceesEducation = (applicationId, sectionId, hasMyNceesEducation) => {\r\n// return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualLsiApplication/setsectionhasmynceeseducation`, null, { headers: authHeader(), params: { applicationId, sectionId, hasMyNceesEducation } });\r\n//}\r\n\r\nconst lsiPostEducationSection = (applicationId, sectionId, hasMyNceesEducation, hasAnsacDegree, hasFourYearDegree) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualLsiApplication/seteducationsection`, null, { headers: authHeader(), params: { applicationId, sectionId, hasMyNceesEducation, hasAnsacDegree, hasFourYearDegree } });\r\n}\r\n\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Complete this section providing all required contact information.\",\r\n },\r\n {\r\n id: 2,\r\n sectionTitle: \"Education\",\r\n sectionContent: \"Complete this section listing all colleges and universities attended where a degree was conferred.\",\r\n },\r\n {\r\n id: 4,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 11,\r\n sectionTitle: \"Examination Verification in Louisiana or Other Jurisdictions\",\r\n sectionContent: \"This must be uploaded to your MyNCEES account.\",\r\n },\r\n {\r\n id: 12,\r\n sectionTitle: \"Recommendation\",\r\n sectionContent: \"You must be recommended for certification by a licensed Professional Surveyor.\",\r\n },\r\n {\r\n id: 8,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Electronically sign (type your name) and date.\",\r\n },\r\n {\r\n id: 9,\r\n sectionTitle: \"Review\",\r\n sectionContent: 'Review your answers. If you need to change an answer, click the \"Section\" above to go back to the appropriate section',\r\n }\r\n])\r\n\r\nexport default {\r\n lsiGetSection,\r\n lsiPostSection,\r\n lsiPostEducationSection\r\n //lsiPostSectionHasMyNceesEducation\r\n}","import { loremParagraphs } from \"../../../fakeapi\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport RedStar from \"../GenericComponents/RedStar\";\r\n\r\nexport const GetAppInformationContent = (page) => {\r\n const [fakeData, setFakeData] = useState(\"\");\r\n const [type, setType] = useState(\"application\");\r\n useEffect(() => {\r\n loremParagraphs().then(setFakeData);\r\n }, [])\r\n\r\n switch (page) {\r\n case \"contact\":\r\n return (\r\n
\r\n
\r\n
    \r\n
  • Information already in the system will appear in the fields below. You can make changes, and they will take effect once the application is complete and payment is accepted
  • \r\n
  • Mandatory fields are indicated with \"\" (asterisk) to the left of the field
  • \r\n
  • Louisiana Revised Statute 31:23 requires that every application by an individual for a professional license, permit or certificate shall require the applicant's social security number.\r\n Disclosure of your social security number is mandatory for this purpose and for the purpose of establishing, modifying or enforcing family and child support obligations and locating an individual who is under an obligation to pay family or child support under La. R.S. 46:236.1.1, et seq.\r\n Failure to provide your social security number for these mandatory purposes will result in the denial of your licensure, permit or certificate application.\r\n Disclosure of your social security number is voluntary for disclosure to other state regulatory agencies, testing and examination vendors, law enforcement agencies, and other private federations and associations involved in professional regulation.\r\n Such disclosure is for identification purposes only. Your social security number will not be released for any other purpose not provided by law.
  • \r\n
  • Complete the following sections
  • \r\n
      \r\n
    • Personal Information – ensure you put LAPELS emails on your safe sender list
    • \r\n
    • Verify Mailing Address
    • \r\n
    • Verify Public Address
    • \r\n
    \r\n
\r\n
\r\n
\r\n\r\n );\r\n break;\r\n case \"education\":\r\n return (\r\n
\r\n\r\n
\r\n

The following Board Rules apply to your LSI certification (download the Board Rules from here: (https://www.lapels.com/docs/Laws_and_Rules/Board_Rules.pdf)

\r\n

\r\n §105. Definitions\r\n
\r\n Accredited Land Surveying Curriculum ― a curriculum approved by ANSAC/ABET, EAC/ABET or ETAC/ABET as a land surveying or geomatics academic program that satisfies the academic requirements for the practice of land surveying at the professional level.\r\n

\r\n
\r\n

\r\n §907. Land Surveyor Intern Certification\r\n
\r\n A. The requirements for certification as a land surveyor intern under the two alternatives provided in the licensure law are as follows:
\r\n   1. the applicant for certification as a land surveyor intern shall be a graduate holding a baccalaureate degree from a curriculum of four years or more who has completed at least 30 semester credit hours, or the equivalent, in land surveying, mapping, and real property courses approved by the board, who is of good character and reputation, who has passed the examination required by the board in the fundamentals of land surveying, who was recommended for certification by a professional land surveyor holding a valid license to engage in the practice of land surveying issued to him/her by proper authority of a state, territory, or possession of the United States, or the District of Columbia, who has submitted an application for certification in accordance with the requirements of R.S. 37:694, and who\r\n was duly certified as a land surveyor intern by the board; or\r\n
\r\n   2. the applicant for certification as a land surveyor intern shall be an individual certified by the board as a land surveyor in training or a land surveyor intern on or before January 1, 1995.\r\n

\r\n
\r\n

\r\n §1107. Land Surveying, Mapping and Real Property Courses\r\n
\r\n A. To qualify for certification as a land surveyor intern pursuant to §907.A.1, the “30 semester credit hours, or the equivalent, in land surveying, mapping, and real property courses approved by the board” shall include:
\r\n   1. 15 semester credit hours, or the equivalent, with a grade of “C-” or better in land surveying courses, at least three of which shall be in boundary surveying;
\r\n   2. three semester credit hours, or the equivalent, with a grade of “C-” or better in mapping courses;
\r\n   3. three semester credit hours, or the equivalent, with a grade of “C-” or better in real property courses; and
\r\n   4. nine semester credit hours, or the equivalent, with a grade of “C-” or better in either land surveying or mapping courses.
\r\n\r\n B. The mapping courses referenced in Subsection A shall not include more than six semester credit hours, or the equivalent, in drafting, graphics, or computer-aided design (CAD).
\r\n\r\n C. The real property courses referenced in Subsection A must cover subject matter germane to land surveying applications as they apply to real property, such as real property principles and real property law.
\r\n

\r\n {/* */}\r\n {/*

Indicate each college or university in chronological order where a degree was conferred or in progress, or where you have completed surveying coursework. Include the time spent at each institution and if graduated, the date conferred, the degree received, and the major as shown on your transcripts.

*/}\r\n {/*

We do not issue refunds for application fees.

*/}\r\n {/*
*/}\r\n {/* */}\r\n {/*

Indicate each college or university in chronological order where a degree was conferred or in progress, or where you have completed surveying coursework. Include the time spent at each institution and if graduated, the date conferred, the degree received, and the major as shown on your transcripts.

*/}\r\n {/*

We do not issue refunds for application fees.

*/}\r\n {/*

If your school is not listed below, please send an email to applications@lapels.com with your course information so it can be added to the list.

*/}\r\n
\r\n
\r\n )\r\n break;\r\n case \"recommendation\":\r\n return (\r\n
\r\n
\r\n\r\n

You must be recommended for certification by a US Professional Surveyor holding an active license.

\r\n

After adding a recommender, please click the send icon(paper airplane) next to the record in the table. The recommender will receive a request by email from LOLA to verify or decline your request. Once your recommender makes a decision, you will be notified by email of the result.

\r\n\r\n
\r\n
\r\n\r\n )\r\n break;\r\n case \"review\":\r\n return (\r\n <>\r\n
    \r\n
  • Click Validate to see if there are any issues within the {type} that you provided.
  • \r\n
  • If there are issues, please correct the issue in the respective section(s) by clicking the “Back to Sections” button below.
  • \r\n
  • Then return to the Review section to validate again.
  • \r\n
  • You will not be allowed to submit until all issues are corrected.
  • \r\n
\r\n

\r\n Once the {type} is validated successfully, additional buttons will appear:\r\n

    \r\n
  • Select “Download PDF” to download a copy of your {type} for your records
  • \r\n
  • Select “Submit Application” to add your {type} to the cart and see payment options.
  • \r\n
\r\n

\r\n\r\n

You will not have direct access to this review page after completing the {type} and submitting payment. To request a copy, please contact LAPELS staff.

\r\n \r\n )\r\n break;\r\n case \"violations\":\r\n return (\r\n

\r\n In the case of answering “Yes” to the question below about unauthorized or unlicensed practice (Question #1), explain in detail the facts surrounding such practicing or offering to practice surveying in Louisiana and submit a list of all projects/jobs on which you offered to provide or provided surveying services in Louisiana during such period.\r\n Such list should include, for each such project/job, offer date, start date, completion date, client name, project/job name, project/job location and project/job descriptions. Upload additional pages if necessary.\r\n
\r\n
\r\n In the case of answering “Yes” to any of the questions below other than the question about unauthorized or unlicensed practice, provide the date(s) and pertinent facts of the case(s) or proceeding(s), including the final disposition (even if the information was previously provided to the Board).\r\n Upload additional pages if necessary.\r\n

\r\n )\r\n case \"acknowledgement\":\r\n return (\r\n

\r\n\r\n

\r\n )\r\n case \"index\":\r\n return (\r\n <>\r\n
\r\n
\r\n

NOTE: Applications are subject to revision and modification at any time. In order to ensure timely processing, please verify that you are submitting the most current version of our application form.


\r\n
    \r\n
  • \r\n Read all of the instructions before you begin\r\n
  • \r\n
  • Much of this information may be included in your MY NCEES account
  • \r\n
  • If you do not have a MY NCEES account, you must provide all required documents.
  • \r\n\r\n
  • Complete all required sections of the application; incomplete applications will not be processed.
  • \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n )\r\n break;\r\n case \"exam\":\r\n return (\r\n
\r\n
\r\n\r\n

Fundamentals Exam (FS) is required

\r\n

Needs to be verified on your MyNCEES ID account.

\r\n\r\n
\r\n
\r\n )\r\n default:\r\n return (\r\n <>\r\n
\r\n \r\n \r\n )\r\n break;\r\n }\r\n}\r\nexport const GetRenewalInformationContent = (page) => {\r\n const [fakeData, setFakeData] = useState(\"\");\r\n const [type, setType] = useState(\"renewal\");\r\n useEffect(() => {\r\n loremParagraphs().then(setFakeData);\r\n }, [])\r\n\r\n switch (page) {\r\n case \"contact\":\r\n return (\r\n
    \r\n
  • Information already in the system will appear in the fields below. You can make changes, and they will take effect once the application is complete and payment is accepted
  • \r\n
  • Mandatory fields are indicated with \"\" (asterisk) to the left of the field
  • \r\n
  • Louisiana Revised Statute 37:23 requires that every application by an individual for a professional license, permit or certificate shall require the applicant's social security number.\r\n Disclosure of your social security number is mandatory for this purpose and for the purpose of establishing, modifying or enforcing family and child support obligations and locating an individual who is under an obligation to pay family or child support under La. R.S. 46:236.1.1, et seq.\r\n Failure to provide your social security number for these mandatory purposes will result in the denial of your licensure, permit or certificate application.\r\n Disclosure of your social security number is voluntary for disclosure to other state regulatory agencies, testing and examination vendors, law enforcement agencies, and other private federations and associations involved in professional regulation.\r\n Such disclosure is for identification purposes only. Your social security number will not be released for any other purpose not provided by law.
  • \r\n
  • Complete the following sections
  • \r\n
      \r\n
    • Personal Information – ensure you put LAPELS emails on your safe sender list
    • \r\n
    • Verify Mailing Address
    • \r\n
    • Verify Public Address
    • \r\n
    \r\n
\r\n );\r\n case \"cpdRequirements\":\r\n return (\r\n
    \r\n
  • A PLS must complete 8 CPD hours each calendar year (January – December);
  • \r\n
  • Of the 8 hours, one hour must be in the Standards of Practice and one hour must be in Professional Ethics
  • \r\n
      \r\n
    • In the event you have earned more than 8 CPD hours in a calendar year, you may carry over a maximum of 7 CPD hours to the next calendar year
    • \r\n
    • You may not earn more than 8 hours in a calendar da;
    • \r\n
    \r\n\r\n
  • A PE must complete 15 CPD hours each calendar year (January – December)
  • \r\n
  • Of the 15 hours, one hour must be in Professional Ethics;
  • \r\n
      \r\n
    • If you design buildings or building systems, of the 15 hours, four hours must be in life safety/ADA compliance
    • \r\n
    • In the event you have earned more than 15 CPD hours in a calendar year, you may carry over a maximum of 7 CPD hours to the next calendar year
    • \r\n
    • You may not earn more than 8 hours in a calendar day
    • \r\n
    \r\n\r\n
  • A Dual Licensee must complete 15 CPD hours each calendar year (January – December)
  • \r\n
  • Of the 15 hours, five hours must be in earned in each profession, one hour must be in Professional Ethics and one hour must be in the Standards of Practice and two must be in life safety/ADA
  • \r\n
      \r\n
    • If you design buildings or building systems, of the 15 hours, four hours must be in life safety/ADA compliance
    • \r\n
    • In the event you have earned more than 15 CPD hours in a calendar year, you may carry over a maximum of 7 CPD hours to the next calendar year
    • \r\n
    • You may not earn more than 8 hours in a calendar day
    • \r\n
    \r\n
);\r\n case \"licenseStatus\":\r\n return (\r\n
    \r\n
  • Active: Individual has complied with the licensure and licensure renewal requirements (including CPD) of the Board and may offer and/or provide professional services in Louisiana.
  • \r\n\r\n
  • Inactive: Individual has chosen not to offer and/or provide professional services in Louisiana and has indicated that fact on his/her licensure renewal. Individual can represent himself/herself to the public as a P.E. Inactive, or a P.L.S. Inactive, but cannot otherwise offer and/or provide professional services in Louisiana. CPD Requirements do not apply.
  • \r\n\r\n
  • Retired (Normal): Individual has chosen not to offer and/or provide professional services in Louisiana and\r\n has indicated that fact on his/her licensure renewal. Individual must be at least 70 years\r\n of age or have been a licensee of the Board for at least 35 years. Unless individual is\r\n granted a waiver by the Board, the renewal fee is one-half of the current renewal fee for\r\n the active status. Individual can represent himself/herself to the public as a P.E. Retired,\r\n or a P.L.S. Retired, but cannot otherwise offer and/or provide professional services in\r\n Louisiana. CPD requirements do not apply.
  • \r\n\r\n
  • Retired (Waiver Granted): Individual is qualified for the retired status and has been granted a waiver of the renewal\r\n fee by the Board. An individual qualified for the retired status may be granted a waiver\r\n of the renewal fee if all criteria below are met:\r\n
      \r\n
    • individual is at least 70 years of age;
    • \r\n
    • individual has been a licensee of the Board for at least 35 years continuously;
    • \r\n
    • individual has never been subject to disciplinary action in any jurisdiction;
    • \r\n
    • individual has never committed any of the offenses described in La. R.S. 37:698(A)(3), (4) or (5);
    • \r\n
    • individual is of good character and reputation.
    • \r\n
    • Individual can represent himself/herself to the public as a P.E. Retired, or a P.L.S.\r\n Retired, but cannot otherwise offer and/or provide professional services in Louisiana.\r\n CPD requirements do not apply.
    • \r\n
    • If you wish to apply for this status based on the above criteria, download and complete the Retired Professionals (PE/PLS) Renewal Invoice. Once completed, you can mail\r\n in this invoice to LAPELS, or email cande@lapels.com.
    • \r\n
  • \r\n
\r\n )\r\n case \"violations\":\r\n return (\r\n

\r\n If the answer to any of these questions is \"Yes\", provide the date(s) and pertinent facts of the case(s) or proceeding(s) including the final disposition (even if the information was previously provided to the Board). Upload additional pages if necessary.\r\n

\r\n )\r\n case \"privacy\":\r\n return (\r\n

You can choose below how your privacy options are setup. Please indicate how you would like LAPELS to send you information or share it with third parties/vendors

\r\n )\r\n case \"acknowledgement\":\r\n return (\r\n <>\r\n

\r\n I have read the Rules for Professional Engineers and Surveyors (LAC Title 46, Part LXI), and I agree to conduct my professional affairs in\r\n accordance with these rules.\r\n

\r\n \r\n )\r\n case \"review\":\r\n return (\r\n <>\r\n
    \r\n
  • Click Validate to see if there are any issues within the {type} that you provided.
  • \r\n
  • If there are issues, please correct the issue in the respective section(s) by clicking the “Back to Sections” button below.
  • \r\n
  • Then return to the Review section to validate again.
  • \r\n
  • You will not be allowed to submit until all issues are corrected.
  • \r\n
\r\n

\r\n Once the {type} is validated successfully, additional buttons will appear:\r\n

    \r\n
  • Select “Download PDF” to download a copy of your {type} for your records
  • \r\n
  • Select “Submit Renewal” to add your {type} to the cart and see payment options.
  • \r\n
\r\n

\r\n\r\n

You will not have direct access to this review page after completing the {type} and submitting payment. To request a copy, please contact LAPELS staff.

\r\n \r\n )\r\n break;\r\n default:\r\n return (\r\n <>\r\n
  • Read all of the instructions within each section of the renewal.
  • \r\n
  • Complete all required sections.
  • \r\n
\r\n \r\n )\r\n break;\r\n }\r\n}\r\nexport const GetReinstatementInformationContent = (page) => {\r\n switch (page) {\r\n case \"contact\":\r\n return (\r\n
    \r\n
  • Information already in the system will appear in the fields below. You can make changes, and they will take effect once the application is complete and payment is accepted
  • \r\n
  • Mandatory fields are indicated with \"\" (asterisk) to the left of the field
  • \r\n
  • Louisiana Revised Statute 31:23 requires that every application by an individual for a professional license, permit or certificate shall require the applicant's social security number.\r\n Disclosure of your social security number is mandatory for this purpose and for the purpose of establishing, modifying or enforcing family and child support obligations and locating an individual who is under an obligation to pay family or child support under La. R.S. 46:236.1.1, et seq.\r\n Failure to provide your social security number for these mandatory purposes will result in the denial of your licensure, permit or certificate application.\r\n Disclosure of your social security number is voluntary for disclosure to other state regulatory agencies, testing and examination vendors, law enforcement agencies, and other private federations and associations involved in professional regulation.\r\n Such disclosure is for identification purposes only. Your social security number will not be released for any other purpose not provided by law.
  • \r\n
  • Complete the following sections
  • \r\n
      \r\n
    • Personal Information
    • \r\n
    • Verify Mailing Address
    • \r\n
    • Verify Public Address
    • \r\n
    • Ensure you add \"lapels.com\" to your \"Safe Senders\" list in your email application and/or (if applicable) in your network firewall.
    • \r\n
    \r\n
\r\n );\r\n case \"violations\":\r\n return (\r\n

\r\n In the case of answering “Yes” to the question below about unauthorized or unlicensed practice (Question #1), explain in detail the facts surrounding such practicing or offering to practice engineering in Louisiana and submit a list of all projects/jobs on which you offered to provide or provided engineering services in Louisiana during such period.\r\n Such list should include, for each such project/job, offer date, start date, completion date, client name, project/job name, project/job location and project/job descriptions. Upload additional pages if necessary.\r\n
\r\n
\r\n In the case of answering “Yes” to any of the questions below other than the question about unauthorized or unlicensed practice, provide the date(s) and pertinent facts of the case(s) or proceeding(s), including the final disposition (even if the information was previously provided to the Board).\r\n Upload additional pages if necessary.\r\n

\r\n )\r\n case \"acknowledgement\":\r\n return (\r\n

\r\n Fields marked with an asterisk * are required.\r\n

\r\n )\r\n case \"education\":\r\n return (\r\n

\r\n All transcripts must be verified in your NCEES record for EI/LSI reinstatement application processing.\r\n

\r\n )\r\n case \"exam\":\r\n return (\r\n
\r\n
\r\n\r\n

Fundamentals Exam (FLS) is required

\r\n

Needs to be verified on your MyNCEES ID account.

\r\n\r\n
\r\n
\r\n )\r\n case \"review\":\r\n return (\r\n <>\r\n
    \r\n
  • Click Validate to see if there are any issues within the reinstatement that you provided.
  • \r\n
  • If there are issues, please correct the issue in the respective section(s) by clicking the “Back to Sections” button below.
  • \r\n
  • Then return to the Review section to validate again.
  • \r\n
  • You will not be allowed to submit until all issues are corrected.
  • \r\n
\r\n

\r\n Once the reinstatment is validated successfully, additional buttons will appear:\r\n

    \r\n
  • Select “Download PDF” to download a copy of your reinstatement for your records
  • \r\n
  • Select “Submit Reinstatement” to add your reinstatement to the cart and see payment options.
  • \r\n
\r\n

\r\n\r\n

You will not have direct access to this review page after completing the reinstatement and submitting payment. To request a copy, please contact LAPELS staff.

\r\n \r\n )\r\n break;\r\n default:\r\n return (\r\n <>\r\n NOTE: Reinstatements are subject to revision and modification at any time.\r\n
  • Read all of the instructions within each section of the reinstatement.
  • \r\n
  • Complete all required sections.
  • \r\n
\r\n \r\n )\r\n break;\r\n }\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, ListGroup } from 'react-bootstrap';\r\nimport Section from '../../../../../Shared/Sections/Section';\r\nimport { getSections } from \"../../../../../../services/Public/Application/LSI/lsiApplication.service\";\r\nimport { useSelector } from 'react-redux';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/LsiInformation';\r\nimport issuesService from '../../../../../../services/Shared/issues.service';\r\n\r\nfunction Index() {\r\n const [sections, setSections] = useState(null);\r\n const selector = useSelector(x => x);\r\n useEffect(() => {\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(1, selector.currentApplicationId).then((data) => {\r\n setSections(selector.currentRoutes != null ? selector.currentRoutes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n })\r\n })\r\n }, [])\r\n\r\n return (\r\n
\r\n \r\n Land Surveyor Intern Application\r\n

Land Surveyor Intern

\r\n \r\n \r\n \r\n
\r\n \r\n \r\n

Sections to Complete

\r\n \r\n {sections}\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default Index;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst LSIAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualLsiApplication\";\r\n\r\nconst getContactInformation = (applicationId) => {\r\n return axios.get(`${LSIAPPLICATIONURL}/contactinformation`, { headers: authHeader(), params: {applicationId} });\r\n}\r\nconst postContactInformation = (applicationId, certDisplayName) => {\r\n return axios.post(`${LSIAPPLICATIONURL}/contactinformation`, null, { headers: authHeader(), params: { applicationId, certDisplayName } });\r\n}\r\nexport default {\r\n getContactInformation,\r\n postContactInformation\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { Form } from 'rsuite';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/LsiInformation'\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { useHistory } from 'react-router-dom';\r\nimport PersonalInformation from '../../../../../Shared/Card/Contact/PersonalInformation';\r\nimport MailingAddress from '../../../../../Shared/Card/Contact/MailingAddress';\r\nimport PublicAddress from '../../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport applicationService from '../../../../../../services/Public/Application/LSI/lsiApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport contactService from '../../../../../../services/Public/Application/LSI/contact.service';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport dayjs from 'dayjs';\r\n\r\nfunction ContactInformationPage() {\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const { push } = useHistory();\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const [formModel, setFormModel] = useState({});\r\n const [tabPane, setTabPane] = useState(\"personalInformation\")\r\n const [sectionData, setSectionData] = useState({});\r\n\r\n useEffect(() => {\r\n contactService.getContactInformation(appId).then((response) => {\r\n var data = response.data;\r\n\r\n setFormModel({\r\n ...data,\r\n dateOfBirth: data.dateOfBirth != null ? dayjs(data.dateOfBirth).format('YYYY-MM-DD') : null,\r\n altEmail: data.alternateEmailAddress?.emailAddress,\r\n primaryEmail: data.primaryEmailAddress?.emailAddress,\r\n cellPhoneNum: data.cellPhone?.phoneNumber,\r\n workPhoneNum: data.workPhone?.phoneNumber,\r\n homePhoneNum: data.homePhone?.phoneNumber\r\n })\r\n applicationService.lsiGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n }, [])\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n submitData(true);\r\n }\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n contactService.postContactInformation(appId, formModel.certificateName).then((response) => {\r\n if (isForSubmit && response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n Land Surveyor Intern Application\r\n

Contact

\r\n \r\n
\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)} onSubmit={formSubmit} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import React from 'react';\r\nimport { Card, Row, Col } from 'react-bootstrap'\r\nimport { FormControl, Uploader } from 'rsuite';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport YesNoRadioOption from '../../../../../Shared/RadioButton/YesNoRadioOption';\r\nimport RedStar from '../../../../../Shared/GenericComponents/RedStar';\r\nimport GenericAttachmentGrid from '../../../../../Shared/Grid/GenericAttachmentGrid';\r\nimport attachmentService from '../../../../../../services/Shared/attachment.service';\r\nimport DocumentUpload from '../../../../../Shared/Upload/DocumentUpload';\r\n\r\nfunction EducationRecord(props) {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
Education Records
\r\n \r\n
\r\n
\r\n \r\n

\r\n I have my education verified in MyNCEES account.\r\n

\r\n \r\n \r\n \r\n \r\n {props.hasMyNceesEducation == false &&\r\n \r\n You must create a MyNCEES account at ncees.org (https://account.ncees.org/login\r\n ), and have your transcript sent directly to NCEES. If you already have a MyNCEES account, you must have your education verified by NCEES\r\n \r\n }\r\n \r\n {(props.hasMyNceesEducation == true || props.hasMyNceesEducation == false) &&\r\n <>\r\n
\r\n

\r\n I have a ANSAC/ABET-accredited Geomatics degree.\r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {props.hasAnsacDegree == false &&\r\n <>\r\n
\r\n

\r\n I have a 4-year degree with approved 30 hours of surveying courses.\r\n

\r\n \r\n \r\n \r\n \r\n {props.hasFourYearDegree == true && // yes\r\n \r\n \r\n
    \r\n
  • Have all transcripts sent directly from your institutions to your MyNCEES
  • \r\n
  • Download the Approved Surveying Course \r\n list and the Course Evaluation Form from our website.\r\n
  • \r\n
  • In the event that you have not obtained Surveying Courses from our approved list, you must provide Syllabi for all courses that you want reviewed.
  • \r\n
\r\n
\r\n \r\n }\r\n {props.hasFourYearDegree == false && // no\r\n \r\n \r\n You may proceed to complete the application, but without 30 hours, you are not eligible for licensure in Louisiana. Contact staff at applications@lapels.com\r\n \r\n \r\n }\r\n
\r\n {props.hasFourYearDegree == true &&\r\n <>\r\n \r\n {!props.hasFiles &&\r\n
\r\n At least one attachment is required.\r\n
\r\n }\r\n \r\n }\r\n \r\n }\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\nexport default EducationRecord;","import React, { useEffect, useState } from 'react';\r\nimport { Container } from 'react-bootstrap';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport EducationRecord from './EducationRecords';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/LsiInformation';\r\nimport { useSelector } from 'react-redux';\r\nimport applicationService from '../../../../../../services/Public/Application/LSI/lsiApplication.service';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction EducationPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [hasFiles, setHasFiles] = useState(false);\r\n const { push } = useHistory();\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 2;\r\n const [sectionData, setSectionData] = useState({});\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n applicationService.lsiGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n const { BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasMyNceesEducation: BooleanType().isRequired('This field is required.'),\r\n hasAnsacDegree: BooleanType().isRequired('This field is required.'),\r\n hasFourYearDegree: BooleanType().isRequired('This field is required.')\r\n });\r\n\r\n const submitForm = (validation, event) => {\r\n if (!sectionData.isUserEditable)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n else {\r\n var validationObject = model.check(sectionData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n if (key == \"hasFourYearDegree\" && sectionData.hasAnsacDegree == true) {\r\n continue;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n }\r\n if (sectionData.hasFourYearDegree && !hasFiles) {\r\n return;\r\n }\r\n applicationService.lsiPostEducationSection(appId, sectionId, sectionData.hasMyNceesEducation, sectionData.hasAnsacDegree, sectionData.hasFourYearDegree).then(() => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n })\r\n }\r\n }\r\n return (\r\n
\r\n \r\n Land Surveyor Intern Application\r\n

Education

\r\n \r\n
\r\n {hasLoaded ? <>\r\n setSectionData(data)}\r\n >\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default EducationPage;","import React, { useState, useEffect } from 'react';\r\nimport { Button, Card, Row, Col } from 'react-bootstrap';\r\nimport { Icon, Table } from 'rsuite';\r\nimport GenericBadge from '../../../../../Shared/Badge/GenericBadge';\r\nimport GenericPagination from '../../../../../Shared/Grid/GenericPagination';\r\n\r\nfunction Recommendation(props) {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [gridData, setGridData] = useState([]);\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n\r\n useEffect(() => {\r\n setGridData(props.griddata)\r\n setHasLoaded(true);\r\n }, [props.griddata])\r\n\r\n const getData = () => {\r\n return gridData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const filteredData = getData();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n
Professional Land Surveyors
\r\n \r\n {\r\n (!props.isReadOnly) &&\r\n \r\n }\r\n
\r\n
\r\n \r\n {(hasLoaded)\r\n &&\r\n
\r\n \r\n \r\n \r\n Full Name\r\n \r\n \r\n {\r\n rowData => \r\n `${rowData.firstName} ${rowData.lastName}`\r\n \r\n }\r\n \r\n \r\n \r\n \r\n Email\r\n \r\n \r\n \r\n \r\n \r\n Sent Date\r\n \r\n {rowData => (rowData.sentDate ? new Date(rowData.sentDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Response Date\r\n \r\n {rowData => (rowData.responseDate ? new Date(rowData.responseDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Verification Status\r\n \r\n {rowData => (rowData.verificationStatus ? : '')}\r\n \r\n {(!props.isReadOnly && filteredData.filter(value => (!value.verificationStatus || value.verificationStatus?.id === 1)).length) &&\r\n \r\n \r\n \r\n \r\n {rowData => {\r\n const verificationStatusId = rowData.verificationStatus?.id;\r\n function handleAction() {\r\n var tempData = { ...rowData, modalType: 'Edit' }\r\n props.openModal(tempData);\r\n }\r\n return (!(verificationStatusId > 1) &&\r\n \r\n { props.emailReference(rowData) }} style={{ cursor: \"pointer\" }} />   \r\n   \r\n { props.deleteRow(rowData) }} style={{ cursor: \"pointer\" }} />\r\n \r\n );\r\n }}\r\n \r\n \r\n }\r\n
\r\n \r\n
}\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Recommendation","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst LSIAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualLsiApplication\";\r\n\r\nconst getRecommendations = (applicationId) => {\r\n return axios.get(`${LSIAPPLICATIONURL}/recommendations`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postRecommendation = (data) => {\r\n return axios.post(`${LSIAPPLICATIONURL}/recommendation`, data, { headers: authHeader() });\r\n}\r\n\r\nconst sendRecommendationEmail = (recommendationId) => {\r\n return axios.post(`${LSIAPPLICATIONURL}/sendrecommendationemail`, null, { headers: authHeader(), params: { recommendationId } });\r\n}\r\n\r\nexport default {\r\n getRecommendations,\r\n postRecommendation,\r\n sendRecommendationEmail\r\n}","import { useState, useEffect } from 'react'\r\nimport { Button, Col, Modal, Row } from 'react-bootstrap'\r\nimport React from 'react'\r\nimport { ControlLabel, Schema, Form, FormControl, FormGroup } from 'rsuite'\r\nimport RedStar from '../../../../../Shared/GenericComponents/RedStar'\r\n\r\n\r\nfunction AddEditRecommendationModal(props) {\r\n const [recommendationModel, setRecommendationModel] = useState(\r\n {\r\n applicationId: 0,\r\n dateCrte: null,\r\n deleted: false,\r\n email: \"\",\r\n entityId: 0,\r\n id: 0,\r\n firstName: \"\",\r\n lastName: \"\",\r\n userCrte: \"\",\r\n verificationStatus: null,\r\n modalType: \"Add\"\r\n })\r\n const [showErrors, setShowErrors] = useState(false);\r\n\r\n useEffect(() => {\r\n setRecommendationModel(props.modaldata);\r\n }, [props.modaldata])\r\n\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n firstName: StringType().isRequired(\"This field is required.\"),\r\n lastName: StringType().isRequired('This field is required.'),\r\n email: StringType().isRequired('This field is required.').isEmail('Enter in a valid Email')\r\n })\r\n \r\n const submitData = (validation, event) => {\r\n if (validation) {\r\n var dataToTransmit = {\r\n ...recommendationModel,\r\n id: recommendationModel.id === '' ? 0 : recommendationModel.id,\r\n dateCrte: new Date()\r\n };\r\n delete dataToTransmit.modalType;\r\n props.onsave(dataToTransmit).then((response) => {\r\n if (response.data.id) {\r\n props.updategrid();\r\n setShowErrors(false);\r\n props.onHide();\r\n }\r\n }).catch((response) => {\r\n })\r\n }\r\n }\r\n return (\r\n \r\n \r\n \r\n {recommendationModel.modalType} a Recommendation\r\n \r\n \r\n \r\n
setRecommendationModel(recommendationModel)} onSubmit={submitData} fluid>\r\n \r\n \r\n \r\n \r\n \r\n First Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Last Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Email \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default AddEditRecommendationModal;","import React, { useState, useEffect} from 'react';\r\nimport { Container } from 'react-bootstrap';\r\nimport { Form } from 'rsuite';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/LsiInformation';\r\n\r\nimport Recommendation from './Recommendation';\r\n\r\nimport recommendationService from '../../../../../../services/Public/Application/LSI/recommendation.service'\r\nimport applicationService from '../../../../../../services/Public/Application/LSI/lsiApplication.service';\r\nimport Swal from 'sweetalert2';\r\nimport AddEditRecommendationModal from './AddEditRecommendationModal';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction RecommendationPage() {\r\n const { push } = useHistory();\r\n const [modalShow, setModalShow] = useState(false);\r\n const [hasLoaded, setHasLoaded] = useState(true);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const applicationId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 12; // Revisit\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [modalData, setModalData] = useState({\r\n applicationId: 0,\r\n dateCrte: null,\r\n deleted: false,\r\n email: \"\",\r\n entityId: 0,\r\n id: 0,\r\n firstName: \"\",\r\n lastName: \"\",\r\n sentDate: null,\r\n responseDate: null,\r\n userCrte: \"\",\r\n verificationStatus: null,\r\n modalType: \"Add\"\r\n });\r\n const [gridData, setGridData] = useState([]);\r\n const [sectionData, setSectionData] = useState({});\r\n\r\n useEffect(() => {\r\n setHasLoaded(false)\r\n applicationService.lsiGetSection(applicationId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n updateGridData();\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n\r\n\r\n const updateGridData = () => {\r\n recommendationService.getRecommendations(applicationId).then((response) => {\r\n setGridData(response.data);\r\n });\r\n }\r\n const openAddEditModal = (values) => {\r\n if (values.id) {\r\n var data = {\r\n ...values,\r\n modalType: \"Edit\"\r\n }\r\n setModalData(data);\r\n }\r\n else {\r\n setModalData({\r\n applicationId: applicationId,\r\n dateCrte: null,\r\n deleted: false,\r\n email: \"\",\r\n entityId: entityId,\r\n id: 0,\r\n firstName: \"\",\r\n lastName: \"\",\r\n sentDate: null,\r\n responseDate: null,\r\n userCrte: \"\",\r\n verificationStatus: null,\r\n modalType: \"Add\"\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (validation) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n }\r\n }\r\n\r\n const deleteRow = (rowData) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n recommendationService.postRecommendation({ ...rowData, deleted: true }).then((response) => {\r\n updateGridData();\r\n })\r\n }\r\n })\r\n }\r\n const emailReference = (rowData) => {\r\n recommendationService.sendRecommendationEmail(rowData.id).then((response) => {\r\n if (response.data) {\r\n Swal.fire(`You have successfully sent an email to ${rowData.firstName} ${rowData.lastName} at ${rowData.email}!`);\r\n updateGridData();\r\n }\r\n else\r\n Swal.fire(`Failed to send email: ${response.data.message}`);\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n Land Surveyor Intern Application\r\n

Recommendations

\r\n \r\n
\r\n {hasLoaded ? <>\r\n setModalShow(false)}\r\n onsave={recommendationService.postRecommendation}\r\n />\r\n { setSectionData(data) }}\r\n onSubmit={formSubmit} >\r\n \r\n
\r\n \r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default RecommendationPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst LSIAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualLsiApplication\";\r\n\r\nconst getViolation = (applicationId) => {\r\n return axios.get(`${LSIAPPLICATIONURL}/violation`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postViolation = (data) => {\r\n return axios.post(`${LSIAPPLICATIONURL}/violation`, data, { headers: authHeader() });\r\n}\r\nconst downloadViolationFile = (applicationId) => {\r\n axios.get(`${process.env.REACT_APP_APIURL}/Reports/GetApplicationViolationsForm`, { headers: authHeader(), params: { applicationId }, responseType: 'arraybuffer' }).then((response) => {\r\n var name = new String(response.headers['content-disposition']);\r\n const downloadUrl = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = downloadUrl;\r\n link.setAttribute('download', name.slice(name.indexOf('filename=') + 9, name.lastIndexOf(';')));\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n });\r\n}\r\nexport default {\r\n getViolation,\r\n postViolation,\r\n downloadViolationFile\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport { useSelector } from 'react-redux';\r\nimport ViolationService from '../../../../../../services/Public/Application/LSI/violation.service';\r\nimport applicationService from '../../../../../../services/Public/Application/LSI/lsiApplication.service';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/LsiInformation';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { getCodeViolationAnswers } from '../../../../../../services/Shared/codeTable.service';\r\nimport GenericViolations from '../../../../../Shared/Card/Violations';\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 4;\r\n\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n signature: undefined,\r\n yesAnswerExplanation: \"\",\r\n files: [],\r\n filesForDisplay: [],\r\n issues: []\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true) >= 0;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n signature: StringType().isRequired('This field is required.'),\r\n yesAnswerExplanation: StringType().isRequired('This field is required.'),\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n applicationService.lsiGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n ViolationService.getViolation(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, issues: formData.issues, files: formData.files, filesForDisplay: formData.filesForDisplay, signature: response.data.electronicSignature });\r\n }\r\n else {\r\n getCodeViolationAnswers(2).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n\r\n }, [])\r\n\r\n const handleSubmit = (val, event) => {\r\n setShowFormErrors(true)\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n if (formData.signature) {\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, applicationId: store.currentApplicationId, entityId: store.userInfo.EntityId };\r\n ViolationService.postViolation(dataTransfer).then((response) => {\r\n applicationService.lsiPostSection(store.currentApplicationId, sectionId, formData.signature).then((response) => {\r\n if (response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n })\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n Land Surveyor Intern Application\r\n

Violations

\r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst LSIAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualLsiApplication\";\r\n\r\nconst getExamination = (applicationId) => {\r\n return axios.get(`${LSIAPPLICATIONURL}/examinationverification`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postExamination = (data) => {\r\n return axios.post(`${LSIAPPLICATIONURL}/examinationverification`, data, { headers: authHeader() });\r\n}\r\n\r\n\r\nexport default {\r\n getExamination,\r\n postExamination\r\n}","import React, { useState, useEffect } from 'react'\r\nimport { Card, Col, Container, Row } from 'react-bootstrap';\r\nimport { ControlLabel, Form, FormControl, InputPicker, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport { getStates } from '../../../../../../services/Shared/codeTable.service'\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport applicationService from '../../../../../../services/Public/Application/LSI/lsiApplication.service';\r\nimport examinationService from '../../../../../../services/Public/Application/LSI/examination.service'\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/LsiInformation';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport dayjs from 'dayjs';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction ExaminationVerification() {\r\n const [states, setStates] = useState([])\r\n const routes = useSelector(x => x.currentRoutes);\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const sectionId = 11;\r\n const [formModel, setFormModel] = useState({\r\n id: 0,\r\n applicationId: appId,\r\n entityId: entityId,\r\n jurisdictionState: null,\r\n dateOfExam: null,\r\n userCrte: \"\",\r\n dateCrte: new Date(),\r\n deleted: false\r\n });\r\n const [sectionData, setSectionData] = useState({});\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const { StringType, ObjectType } = Schema.Types;\r\n const model = Schema.Model({\r\n jurisdictionState: ObjectType().isRequired('This field is required.'),\r\n dateOfExam: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n getStates().then(setStates);\r\n examinationService.getExamination(appId).then((response) => {\r\n if (response.data) {\r\n setFormModel({\r\n ...response.data,\r\n dateOfExam: response.data.dateOfExam != null ? dayjs(response.data.dateOfExam).format('YYYY-MM-DD') : null\r\n });\r\n }\r\n applicationService.lsiGetSection(appId, sectionId).then((data) => {\r\n setSectionData(data.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n }, [])\r\n const formSubmit = (validation, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (validation) {\r\n //setFormModel({ ...formModel, dateOfExam: dayjs(formModel.dateOfExam).format('MM-dd-yyyy')})\r\n examinationService.postExamination(formModel).then((response) => {\r\n if (response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n\r\n }\r\n })\r\n }\r\n }\r\n }\r\n return (\r\n \r\n Land Surveyor Intern Application\r\n

Examination

\r\n \r\n
\r\n {hasLoaded ?\r\n
\r\n \r\n \r\n Fundamentals Exam (FS)\r\n \r\n \r\n \r\n \r\n Jurisdiction\r\n \r\n \r\n { if (label.toLowerCase().startsWith(userInput.toLowerCase()) || !userInput) return true; }}\r\n />\r\n \r\n \r\n \r\n \r\n Date\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n );\r\n}\r\nexport default ExaminationVerification","import React, { useEffect, useState } from 'react'\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Acknowledgement from '../../../../../Shared/Card/Acknowledgement';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/LsiInformation';\r\nimport applicationService from '../../../../../../services/Public/Application/LSI/lsiApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction AcknowledgementPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false)\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 8; // Revisit\r\n const [formModel, setFormModel] = useState({})\r\n useEffect(() => {\r\n applicationService.lsiGetSection(appId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!formModel.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n }\r\n const submitData = (isForSubmit) => {\r\n applicationService.lsiPostSection(appId, sectionId, formModel.electronicSignature).then((response) => {\r\n if (isForSubmit && response.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n Land Surveyor Intern Application\r\n

Acknowledgement

\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/LsiInformation';\r\nimport applicationService from '../../../../../../services/Public/Application/application.service';\r\nimport lsiApplicationService, { getSections } from '../../../../../../services/Public/Application/LSI/lsiApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../../Shared/Card/ReviewPdf';\r\nimport { List } from 'rsuite';\r\nimport shoppingCartService from '../../../../../../services/Public/shoppingCart.service';\r\nimport Swal from 'sweetalert2';\r\n\r\nfunction ReviewPage() {\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const [hasIssues, setHasIssues] = useState(true)\r\n const { push } = useHistory();\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const sectionId = 9;\r\n const [allSections, setAllSections] = useState([]);\r\n const [sectionData, setSectionData] = useState({});\r\n useEffect(() => {\r\n getSections().then(setAllSections);\r\n lsiApplicationService.lsiGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n })\r\n }, [])\r\n\r\n const navigateToPage = (sectionId) => {\r\n push(routes.filter(x => x.sectionId == (sectionId))[0].route)\r\n }\r\n const validateApplication = () => {\r\n setHasLoaded(false);\r\n applicationService.validateApplication(appId).then((response) => {\r\n let errors = response.data.map((error, i) => {\r\n return { navigateToPage(error.sectionId) }}>\r\n Error{error.errors.length > 1 ? 's' : ''} in {allSections.filter(x => x.id == error.sectionId)[0].sectionTitle}: {error.errors.join(', ')}\r\n \r\n })\r\n if (response.data?.length)\r\n setViolationIssuesHtml(\r\n \r\n {errors}\r\n \r\n )\r\n else {\r\n setViolationIssuesHtml('')\r\n setHasIssues(false);\r\n Swal.fire(\"Validation Successful\", `Your application passed all validation checks. You may now download a PDF version to keep for your records.`, 'success')\r\n }\r\n setHasLoaded(true);\r\n })\r\n }\r\n const submitApplication = () => {\r\n setHasLoaded(false);\r\n shoppingCartService.addToShoppingCart(appId, 1).then((data) => {\r\n if (data.data) { push('/individual/shoppingcart'); }\r\n\r\n })\r\n\r\n //applicationService.submitApplication(appId).then((data) => {\r\n // if (data.data?.length) {\r\n // setHasIssues(true);\r\n // let errors = data.data.map((error, i) => {\r\n // return { navigateToPage(error.sectionId) }}>\r\n // Error{error.errors.length > 1 ? 's' : ''} in {allSections.filter(x => x.id == error.sectionId)[0].sectionTitle}: {error.errors.join(', ')}\r\n // \r\n // })\r\n // setViolationIssuesHtml(\r\n // \r\n // {errors}\r\n // \r\n // )\r\n // setHasLoaded(true);\r\n // }\r\n // else {\r\n // setHasIssues(false);\r\n // setViolationIssuesHtml(\"\")\r\n // lsiApplicationService.lsiGetSection(appId, sectionId).then((response) => {\r\n // setSectionData(response.data);\r\n // setHasLoaded(true);\r\n // })\r\n // }\r\n //})\r\n }\r\n\r\n return (\r\n
\r\n \r\n Land Surveyor Intern Application\r\n

Review

\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {sectionData.isUserEditable ?\r\n : \r\n }\r\n {hasLoaded ?\r\n <>\r\n {\r\n (!hasIssues && sectionData.isUserEditable) &&\r\n <>\r\n \r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n {violationIssuesHtml}\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst LSIRENEWALURL = process.env.REACT_APP_APIURL + \"/api/IndividualLsiRenewal\";\r\n\r\nconst getContactInformation = (renewalId) => {\r\n return axios.get(`${LSIRENEWALURL}/contactinformation`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nexport default {\r\n getContactInformation\r\n}","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst lsiGetSection = (renewalId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/IndividualLsiRenewal/section`, { headers: authHeader(), params: { renewalId, sectionId } });\r\n}\r\nconst lsiPostSection = (renewalId, sectionId, electronicSignature) => {\r\n\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualLsiRenewal/signsection`, null, { headers: authHeader(), params: { renewalId, sectionId, electronicSignature } });\r\n}\r\n\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Complete this section providing all required contact information.\",\r\n },\r\n {\r\n id: 4,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 6,\r\n sectionTitle: \"Journal & Phone Privacy Options\",\r\n sectionContent: \"Verify your subscription and distribution options.\",\r\n },\r\n {\r\n id: 7,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Electronically sign (type your name) and date.\",\r\n },\r\n {\r\n id: 8,\r\n sectionTitle: \"Review\",\r\n sectionContent: 'Review your answers. If you need to change an answer, click the \"Section\" above to go back to the appropriate section',\r\n }\r\n])\r\n\r\nexport default {\r\n lsiGetSection,\r\n lsiPostSection\r\n}","import React, { useState } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { Form } from 'rsuite';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/LsiInformation';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport contactService from '../../../../../../services/Public/Renewal/LSI/contact.service';\r\nimport renewalService from '../../../../../../services/Public/Renewal/LSI/lsiRenewal.service';\r\nimport { useSelector } from 'react-redux';\r\nimport { useEffect } from 'react';\r\nimport Swal from 'sweetalert2';\r\nimport PersonalInformation from '../../../../../Shared/Card/Contact/PersonalInformation';\r\nimport MailingAddress from '../../../../../Shared/Card/Contact/MailingAddress';\r\nimport PublicAddress from '../../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport dayjs from 'dayjs';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction ContactInformationPage() {\r\n\r\n const { push } = useHistory();\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [formModel, setFormModel] = useState({});\r\n const [tabPane, setTabPane] = useState(\"personalInformation\")\r\n const [sectionData, setSectionData] = useState({});\r\n\r\n useEffect(() => {\r\n contactService.getContactInformation(renewalId).then((response) => {\r\n var data = response.data;\r\n\r\n setFormModel({\r\n ...data,\r\n dateOfBirth: data.dateOfBirth != null ? dayjs(data.dateOfBirth).format('YYYY-MM-DD') : null,\r\n altEmail: data.alternateEmailAddress?.contactEmailAddress,\r\n primaryEmail: data.primaryEmailAddress?.contactEmailAddress,\r\n cellPhoneNum: data.cellPhone?.contactPhoneNumber,\r\n workPhoneNum: data.workPhone?.contactPhoneNumber,\r\n homePhoneNum: data.homePhone?.contactPhoneNumber\r\n })\r\n renewalService.lsiGetSection(renewalId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n }, [])\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!sectionData?.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n submitData(true);\r\n }\r\n }\r\n\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n\r\n if (isForSubmit) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n Swal.fire(\"Saved!\");\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n Land Surveyor Intern Renewal\r\n

Contact

\r\n \r\n
\r\n\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)} onSubmit={formSubmit} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n {hasLoaded && }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst LSIRENEWALURL = process.env.REACT_APP_APIURL + \"/api/IndividualLsiRenewal\";\r\n\r\nconst getViolation = (renewalId) => {\r\n return axios.get(`${LSIRENEWALURL}/violation`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nconst postViolation = (data) => {\r\n return axios.post(`${LSIRENEWALURL}/violation`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getViolation,\r\n postViolation\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { Container } from 'react-bootstrap';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport renewalService from '../../../../../../services/Public/Renewal/LSI/lsiRenewal.service';\r\nimport violationService from '../../../../../../services/Public/Renewal/LSI/violation.service';\r\nimport { useSelector } from 'react-redux';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/LsiInformation';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport { getRenewalCodeViolationAnswers } from '../../../../../../services/Shared/codeTable.service';\r\nimport GenericViolations from '../../../../../Shared/Card/Violations';\r\n\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const { push } = useHistory();\r\n const sectionId = 4;\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n\r\n const [formData, updateFormData] = useState({\r\n renewalId: renewalId,\r\n dateCrte: new Date(),\r\n entityId: entityId,\r\n id: 0,\r\n userCrte: \"\",\r\n yesAnswerExplanation: \"\"\r\n });\r\n\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n renewalService.lsiGetSection(renewalId, sectionId).then((response) => {\r\n violationService.getViolation(renewalId).then((data) => {\r\n if (data.data) {\r\n\r\n updateFormData(data.data);\r\n }\r\n else {\r\n getRenewalCodeViolationAnswers(4).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n\r\n }, [])\r\n\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n yesAnswerExplanation: StringType().isRequired('This field is required.')\r\n });\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true) >= 0;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n\r\n\r\n const handleSubmit = (val, event) => {\r\n setShowFormErrors(true)\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n violationService.postViolation(formData).then((response) => {\r\n if (response.data.id) {\r\n push(routes.filter(x => x.sectionId == (sectionId + 2))[0].route)\r\n }\r\n\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n Land Surveyor Intern Renewal\r\n

Violations

\r\n \r\n
\r\n {hasLoaded ?\r\n
\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import React from 'react';\r\nimport { Card } from 'react-bootstrap'\r\nimport { FormGroup, RadioGroup, FormControl, Radio } from 'rsuite'\r\nimport RedStar from '../../../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction JournalPrivacyCard() {\r\n return (\r\n
\r\n \r\n
Journal & Privacy (Professional)
\r\n \r\n

Please send me the Louisiana Engineer & Land Surveyor Journal via:

\r\n
\r\n \r\n \r\n Email\r\n Mail\r\n Do Not Send\r\n \r\n \r\n

Do you want your email address(es) and telephone number(s), which you have provided us, to be kept private and not made available to vendors requesting rosters for distribution\r\n of engineering/land surveying CPD information or to other third parties?

\r\n
\r\n \r\n \r\n Yes, keep private\r\n No, share when requested\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default JournalPrivacyCard;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst LSINOTIFICATIONPREFERENCEURL = process.env.REACT_APP_APIURL + \"/api/NotificationPreferences\";\r\n\r\n\r\nconst getPrivacyData = (entityId) => {\r\n return axios.get(`${LSINOTIFICATIONPREFERENCEURL}/journalandprivacy`, { headers: authHeader(), params: { entityId } });\r\n}\r\nconst postPrivacyData = (data) => {\r\n return axios.post(`${LSINOTIFICATIONPREFERENCEURL}/journalandprivacy`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getPrivacyData,\r\n postPrivacyData\r\n}","import React, { useState } from 'react'\r\nimport { Container } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport JournalPrivacyCard from './JournalPrivacyCard';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport { useEffect } from 'react';\r\nimport privacyService from '../../../../../../services/Public/Renewal/LSI/privacy.service';\r\nimport Swal from 'sweetalert2';\r\nimport renewalService from '../../../../../../services/Public/Renewal/LSI/lsiRenewal.service';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/LsiInformation';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction Privacy() {\r\n const [sectionData, setSectionData] = useState({});\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const { push } = useHistory();\r\n const sectionId = 6;\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n emailPhonePrivacy: BooleanType().isRequired('This field is required.'),\r\n receiveMethod: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const [formData, updateFormData] = useState({\r\n id: 0,\r\n entityId: entityId,\r\n emailPhonePrivacy: null,\r\n journalEmail: null,\r\n journalMail: null,\r\n journalDoNotSend: null,\r\n userCrte: \"\",\r\n dateCrte: new Date(),\r\n deleted: false,\r\n receiveMethod: \"\"\r\n });\r\n\r\n useEffect(() => {\r\n renewalService.lsiGetSection(renewalId, sectionId).then((data) => {\r\n setSectionData(data.data)\r\n privacyService.getPrivacyData().then((response) => {\r\n if (response.data) {\r\n updateFormData({\r\n ...response.data,\r\n receiveMethod: response.data.journalEmail\r\n ? \"email\"\r\n : response.data.journalMail\r\n ? \"mail\"\r\n : response.data.journalDoNotSend\r\n ? \"none\"\r\n : null\r\n })\r\n }\r\n setHasLoaded(true);\r\n })\r\n })\r\n }, [])\r\n\r\n const handleSubmit = (val, event) => {\r\n\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n if (val) {\r\n submitData(true);\r\n }\r\n }\r\n const handleSave = () => {\r\n submitData();\r\n }\r\n const submitData = (isForSubmit) => {\r\n var dataToTransmit = {\r\n ...formData,\r\n journalEmail: formData.receiveMethod === \"email\" ? true : null,\r\n journalMail: formData.receiveMethod === \"mail\" ? true : null,\r\n journalDoNotSend: formData.receiveMethod === \"none\" ? true : null,\r\n }\r\n\r\n privacyService.postPrivacyData(dataToTransmit).then((response) => {\r\n if (response.data.id) {\r\n if (isForSubmit)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n else\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n }\r\n return (\r\n
\r\n \r\n Land Surveyor Intern Renewal\r\n

Journal & Privacy Option

\r\n \r\n
\r\n { hasLoaded ?\r\n
\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Privacy;","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, ListGroup } from 'react-bootstrap';\r\nimport { useSelector } from 'react-redux';\r\nimport { getSections } from '../../../../../../services/Public/Renewal/LSI/lsiRenewal.service';\r\nimport issuesService from '../../../../../../services/Shared/issues.service';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/LsiInformation';\r\nimport Section from '../../../../../Shared/Sections/Section';\r\n\r\nfunction Index() {\r\n const [sections, setSections] = useState(null);\r\n const selector = useSelector(x => x);\r\n useEffect(() => {\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(2, selector.currentApplicationId).then((data) => {\r\n setSections(selector.currentRoutes != null ? selector.currentRoutes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n })\r\n })\r\n }, [])\r\n return (\r\n
\r\n \r\n

Land Surveyor Intern Renewal

\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n

Sections to Complete

\r\n \r\n {sections}\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default Index;","import React, { useEffect, useState } from 'react'\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Acknowledgement from '../../../../../Shared/Card/Acknowledgement';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/LsiInformation';\r\nimport renewalService from '../../../../../../services/Public/Renewal/LSI/lsiRenewal.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction AcknowledgementPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false)\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 7; // Revisit\r\n const [formModel, setFormModel] = useState({})\r\n useEffect(() => {\r\n renewalService.lsiGetSection(renewalId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!formModel.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n renewalService.lsiPostSection(renewalId, sectionId, formModel.electronicSignature).then((response) => {\r\n if (isForSubmit && response.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n Land Surveyor Intern Renewal\r\n

Acknowledgement

\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/LsiInformation';\r\nimport renewalService from '../../../../../../services/Public/Renewal/renewal.service';\r\nimport lsiRenewalService, { getSections } from '../../../../../../services/Public/Renewal/LSI/lsiRenewal.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../../Shared/Card/ReviewPdf';\r\nimport { List } from 'rsuite';\r\nimport shoppingCartService from '../../../../../../services/Public/shoppingCart.service';\r\nimport Swal from 'sweetalert2';\r\n\r\nfunction ReviewPage() {\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const [hasIssues, setHasIssues] = useState(true)\r\n const { push } = useHistory();\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const sectionId = 8;\r\n const [allSections, setAllSections] = useState([]);\r\n const [sectionData, setSectionData] = useState({});\r\n useEffect(() => {\r\n getSections().then(setAllSections);\r\n lsiRenewalService.lsiGetSection(renewalId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n })\r\n }, [])\r\n\r\n const navigateToPage = (sectionId) => {\r\n push(routes.filter(x => x.sectionId == (sectionId))[0].route)\r\n }\r\n const validateRenewal = () => {\r\n setHasLoaded(false);\r\n renewalService.validateRenewal(renewalId).then((response) => {\r\n let errors = response.data.map((error, i) => {\r\n return { navigateToPage(error.sectionId) }}>\r\n Error{error.errors.length > 1 ? 's' : ''} in {allSections.filter(x => x.id == error.sectionId)[0].sectionTitle}: {error.errors.join(', ')}\r\n \r\n })\r\n if (response.data?.length)\r\n setViolationIssuesHtml(\r\n \r\n {errors}\r\n \r\n )\r\n else {\r\n setViolationIssuesHtml('')\r\n setHasIssues(false);\r\n Swal.fire(\"Validation Successful\", `Your renewal passed all validation checks. You may now download a PDF version to keep for your records.`, 'success')\r\n }\r\n setHasLoaded(true);\r\n })\r\n }\r\n const submitRenewal = () => {\r\n setHasLoaded(false);\r\n shoppingCartService.addToShoppingCart(renewalId, 26).then((data) => {\r\n if (data.data) { push('/individual/shoppingcart'); }\r\n\r\n })\r\n\r\n //renewalService.submitRenewal(renewalId).then((data) => {\r\n // if (data.data?.length) {\r\n // setHasIssues(true);\r\n // let errors = data.data.map((error, i) => {\r\n // return { navigateToPage(error.sectionId) }}>\r\n // Error{error.errors.length > 1 ? 's' : ''} in {allSections.filter(x => x.id == error.sectionId)[0].sectionTitle}: {error.errors.join(', ')}\r\n // \r\n // })\r\n // setViolationIssuesHtml(\r\n // \r\n // {errors}\r\n // \r\n // )\r\n // setHasLoaded(true);\r\n // }\r\n // else {\r\n // setHasIssues(false);\r\n // setViolationIssuesHtml(\"\")\r\n // lsiRenewalService.lsiGetSection(renewalId, sectionId).then((response) => {\r\n // setSectionData(response.data);\r\n // setHasLoaded(true);\r\n // })\r\n // }\r\n //})\r\n }\r\n\r\n return (\r\n
\r\n \r\n Land Surveyor Intern Renewal\r\n

Review

\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {sectionData.isUserEditable ?\r\n : \r\n }\r\n {hasLoaded ?\r\n <>\r\n {\r\n (!hasIssues && sectionData.isUserEditable) &&\r\n <>\r\n \r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n {violationIssuesHtml}\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst lsiGetSection = (reinstatementId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/IndividualLsiReinstatement/section`, { headers: authHeader(), params: { reinstatementId, sectionId } });\r\n}\r\nconst lsiPostSection = (reinstatementId, sectionId, electronicSignature) => {\r\n\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualLsiReinstatement/signsection`, null, { headers: authHeader(), params: { reinstatementId, sectionId, electronicSignature } });\r\n}\r\nconst lsiPostSectionHasMyNceesEducation = (reinstatementId, sectionId, hasMyNceesEducation) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualLsiReinstatement/setsectionhasmynceeseducation`, null, { headers: authHeader(), params: { reinstatementId, sectionId, hasMyNceesEducation } });\r\n}\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Ensure your contact information, including your mailing and public addresses are up to date. Ensure you put LAPELS emails on your safe sender list.\",\r\n },\r\n {\r\n id: 16,\r\n sectionTitle: \"Education\",\r\n sectionContent: \"All transcripts must be verified in your NCEES record for EI/LSI reinstatement application processing.\",\r\n },\r\n {\r\n id: 3,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 17,\r\n sectionTitle: \"Examination Verification in Louisiana or Other Jurisdictions\",\r\n sectionContent: \"This must be uploaded to your MyNCEES account.\",\r\n },\r\n {\r\n id: 9,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Electronically sign (type your name) and date.\",\r\n },\r\n {\r\n id: 10,\r\n sectionTitle: \"Review\",\r\n sectionContent: 'Review your answers. If you need to change an answer, click the \"Section\" above to go back to the appropriate section',\r\n }\r\n])\r\n\r\nexport default {\r\n lsiGetSection,\r\n lsiPostSection,\r\n lsiPostSectionHasMyNceesEducation\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, ListGroup } from 'react-bootstrap';\r\nimport Section from '../../../../../Shared/Sections/Section';\r\nimport { getSections } from '../../../../../../services/Public/Reinstatement/LSI/lsiReinstatement.service';\r\nimport { useSelector } from 'react-redux';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/LsiInformation';\r\nimport issuesService from '../../../../../../services/Shared/issues.service';\r\n\r\nfunction Index() {\r\n const [sections, setSections] = useState(null);\r\n const selector = useSelector(x => x);\r\n useEffect(() => {\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(3, selector.currentApplicationId).then((data) => {\r\n setSections(selector.currentRoutes != null ? selector.currentRoutes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route;\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n });\r\n })\r\n }, [])\r\n\r\n return (\r\n
\r\n \r\n Land Surveyor Intern Reinstatement\r\n

Reinstatement

\r\n \r\n \r\n \r\n
\r\n \r\n \r\n

Sections to Complete

\r\n \r\n {sections}\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default Index;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst LSIREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/IndividualLsiReinstatement\";\r\n\r\nconst getContactInformation = (reinstatementId) => {\r\n return axios.get(`${LSIREINSTATEMENTURL}/contactinformation`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postContactInformation = (reinstatementId, certDisplayName) => {\r\n return axios.post(`${LSIREINSTATEMENTURL}/contactinformation`, null, { headers: authHeader(), params: { reinstatementId, certDisplayName } });\r\n}\r\nexport default {\r\n getContactInformation,\r\n postContactInformation\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { Form } from 'rsuite';\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Swal from 'sweetalert2';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/LsiInformation'\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport PersonalInformation from '../../../../../Shared/Card/Contact/PersonalInformation';\r\nimport MailingAddress from '../../../../../Shared/Card/Contact/MailingAddress';\r\nimport PublicAddress from '../../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\n\r\nimport contactService from '../../../../../../services/Public/Reinstatement/LSI/contact.service';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/LSI/lsiReinstatement.service';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport dayjs from 'dayjs';\r\n\r\nfunction ContactInformationPage() {\r\n\r\n const { push } = useHistory();\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [formModel, setFormModel] = useState({});\r\n const [tabPane, setTabPane] = useState(\"personalInformation\")\r\n const [sectionData, setSectionData] = useState({});\r\n useEffect(() => {\r\n contactService.getContactInformation(appId).then((response) => {\r\n var data = response.data;\r\n\r\n setFormModel({\r\n ...data,\r\n dateOfBirth: data.dateOfBirth != null ? dayjs(data.dateOfBirth).format('YYYY-MM-DD') : null,\r\n altEmail: data.alternateEmailAddress?.contactEmailAddress,\r\n primaryEmail: data.primaryEmailAddress?.contactEmailAddress,\r\n cellPhoneNum: data.cellPhone?.contactPhoneNumber,\r\n workPhoneNum: data.workPhone?.contactPhoneNumber,\r\n homePhoneNum: data.homePhone?.contactPhoneNumber\r\n })\r\n reinstatementService.lsiGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n }, [])\r\n\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!sectionData?.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n submitData(true);\r\n }\r\n }\r\n\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n\r\n if (isForSubmit) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n Swal.fire(\"Saved!\");\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n Land Surveyor Intern Reinstatement\r\n

Contact

\r\n \r\n
\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)} onSubmit={formSubmit} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n {\r\n hasLoaded &&\r\n <>\r\n
\r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import React, { useState, useEffect } from 'react';\r\nimport { Card, Row, Col, Button } from 'react-bootstrap'\r\nimport { Icon } from 'rsuite';\r\nimport YesNoRadioOption from '../../../../../Shared/RadioButton/YesNoRadioOption';\r\nimport RedStar from '../../../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction EducationRecord(props) {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
Education Records
\r\n \r\n
\r\n
\r\n \r\n

\r\n I have education transcript(s) verified in MyNCEES record.\r\n

\r\n
\r\n \r\n {(props.hideGrid === false) &&\r\n \r\n Please go to ncees.org to have transcripts verified. Your application cannot be processed until your are a record holder and transcripts are verified in your MYNCEES account.\r\n \r\n }\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\nexport default EducationRecord;","import React, { useEffect, useState } from 'react';\r\nimport { Container } from 'react-bootstrap';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport EducationRecord from './EducationRecords';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/LsiInformation';\r\nimport { useSelector } from 'react-redux';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/LSI/lsiReinstatement.service';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction EducationPage() {\r\n const [hideGrids, setHideGrids] = useState(true);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 16;\r\n const [sectionData, setSectionData] = useState({});\r\n useEffect(() => {\r\n setHasLoaded(false)\r\n reinstatementService.lsiGetSection(reinstatementId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHideGrids(response.data.hasMyNceesEducation ?? true);\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n const { BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasMyNceesEducation: BooleanType().isRequired('This field is required.')\r\n });\r\n const handleMyNceesEducationChange = (val) => {\r\n setHideGrids(val);\r\n }\r\n\r\n const submitForm = (validation, event) => {\r\n if (!sectionData.isUserEditable)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n else {\r\n if (validation) {\r\n reinstatementService.lsiPostSectionHasMyNceesEducation(reinstatementId, sectionId, sectionData.hasMyNceesEducation).then(() => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n })\r\n }\r\n }\r\n }\r\n return (\r\n
\r\n \r\n Land Surveyor Intern Reinstatement\r\n

Education

\r\n \r\n
\r\n {hasLoaded ? <>\r\n setSectionData(data)}\r\n >\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default EducationPage;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst LSIREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/IndividualLsiReinstatement\";\r\n\r\nconst getExamination = (reinstatementId) => {\r\n return axios.get(`${LSIREINSTATEMENTURL}/examinationverification`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postExamination = (data) => {\r\n return axios.post(`${LSIREINSTATEMENTURL}/examinationverification`, data, { headers: authHeader() });\r\n}\r\n\r\n\r\nexport default {\r\n getExamination,\r\n postExamination\r\n}","import React, { useState, useEffect } from 'react'\r\nimport { Card, Col, Container, Row } from 'react-bootstrap';\r\nimport { ControlLabel, Form, FormControl, InputPicker, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport { getStates } from '../../../../../../services/Shared/codeTable.service'\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/LSI/lsiReinstatement.service';\r\nimport examinationService from '../../../../../../services/Public/Reinstatement/LSI/examination.service'\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/LsiInformation';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport dayjs from 'dayjs';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction ExaminationVerification() {\r\n const [states, setStates] = useState([])\r\n const routes = useSelector(x => x.currentRoutes);\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const sectionId = 17;\r\n const [formModel, setFormModel] = useState({\r\n id: 0,\r\n reinstatementId: reinstatementId,\r\n entityId: entityId,\r\n jurisdictionState: null,\r\n dateOfExam: null,\r\n userCrte: \"\",\r\n dateCrte: new Date(),\r\n deleted: false\r\n });\r\n const [sectionData, setSectionData] = useState({});\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const { StringType, ObjectType } = Schema.Types;\r\n const model = Schema.Model({\r\n jurisdictionState: ObjectType().isRequired('This field is required.'),\r\n dateOfExam: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n getStates().then(setStates);\r\n examinationService.getExamination(reinstatementId).then((response) => {\r\n if (response.data) {\r\n setFormModel({\r\n ...response.data,\r\n dateOfExam: response.data.dateOfExam != null ? dayjs(response.data.dateOfExam).format('YYYY-MM-DD') : null\r\n });\r\n }\r\n reinstatementService.lsiGetSection(reinstatementId, sectionId).then((data) => {\r\n setSectionData(data.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n }, [])\r\n const formSubmit = (validation, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (validation) {\r\n //setFormModel({ ...formModel, dateOfExam: dayjs(formModel.dateOfExam).format('MM-dd-yyyy')})\r\n examinationService.postExamination(formModel).then((response) => {\r\n if (response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n\r\n }\r\n })\r\n }\r\n }\r\n }\r\n return (\r\n \r\n Land Surveyor Intern Reinstatement\r\n

Examination

\r\n \r\n
\r\n
\r\n \r\n \r\n Fundamentals Exam (FLS)\r\n \r\n {hasLoaded ?\r\n \r\n \r\n \r\n Jurisdiction\r\n \r\n \r\n { if (label.toLowerCase().startsWith(userInput.toLowerCase()) || !userInput) return true; }}\r\n />\r\n \r\n \r\n \r\n \r\n Date\r\n \r\n \r\n \r\n \r\n \r\n \r\n : \r\n }\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}\r\nexport default ExaminationVerification","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst LSIREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/IndividualEiReinstatement\";\r\n\r\nconst getViolation = (reinstatementId) => {\r\n return axios.get(`${LSIREINSTATEMENTURL}/violation`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postViolation = (data) => {\r\n return axios.post(`${LSIREINSTATEMENTURL}/violation`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getViolation,\r\n postViolation\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/LSI/lsiReinstatement.service';\r\nimport violationService from '../../../../../../services/Public/Reinstatement/LSI/violation.service';\r\nimport Swal from 'sweetalert2';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/LsiInformation';\r\nimport { getReinstatementCodeViolationAnswers } from '../../../../../../services/Shared/codeTable.service';\r\nimport GenericViolations from '../../../../../Shared/Card/Violations';\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 3;\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n signature: StringType().isRequired('This field is required.'),\r\n yesAnswerExplanation: StringType().isRequired('This field is required.'),\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n reinstatementService.lsiGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n violationService.getViolation(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, issues: formData.issues, files: formData.files, filesForDisplay: formData.filesForDisplay, signature: response.data.electronicSignature });\r\n }\r\n else {\r\n getReinstatementCodeViolationAnswers(4).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n signature: undefined,\r\n yesAnswerExplanation: \"\",\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true && x.codeViolationQuestion.versionNumber < 3) >= 0;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n\r\n //Verison 3+ violations\r\n const showBlukViolationExplanation = formData?.answers?.findIndex(x => x.answer == true && !x.codeViolationQuestion.hasExplanation && x.codeViolationQuestion.versionNumber >= 3) >= 0 ?\r\n `If the answer to question number 2-${formData.answers[0].codeViolationQuestion.versionNumber == 3 ? '6' : '5'} is \"Yes\", provide the date and the pertinent facts of the case or proceeding including its final disposition. Upload additional pages if necessary` : \"\";\r\n\r\n\r\n\r\n const handleSubmit = (val, event) => {\r\n setShowFormErrors(true)\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n if (validationObject[key].hasError && (showBlukViolationExplanation && key.includes(\"yesAnswerExplanation\"))) {\r\n return;\r\n }\r\n\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer === true && x.codeViolationQuestion.hasExplanation && !x.violationExplanation) >= 0) {//undefined check\r\n return;\r\n }\r\n if (formData.signature) {\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, reinstatementId: store.currentApplicationId, entityId: store.userInfo.EntityId };\r\n violationService.postViolation(dataTransfer).then((response) => {\r\n reinstatementService.lsiPostSection(store.currentApplicationId, sectionId, formData.signature).then((response) => {\r\n if (response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n })\r\n });\r\n }\r\n }\r\n }\r\n }\r\n const formSave = () => {\r\n var dataTransfer = { ...formData, reinstatementId: store.currentApplicationId, entityId: store.userInfo.EntityId };\r\n violationService.postViolation(dataTransfer).then((response) => {\r\n updateFormData({ ...response.data, signature: formData.signature });\r\n reinstatementService.lsiPostSection(store.currentApplicationId, sectionId, formData.signature).then((response) => {\r\n Swal.fire(\"Saved!\")\r\n })\r\n });\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n Land Surveyor Intern Reinstatement\r\n

Violations

\r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import React, { useState, useEffect } from 'react'\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container, Row, Col, Card } from 'react-bootstrap';\r\nimport { Form, FormControl, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/LSI/lsiReinstatement.service'\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport RedStar from '../../../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction AcknowledgementPage() {\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const sectionId = 9;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [formModel, setFormModel] = useState({})\r\n useEffect(() => {\r\n reinstatementService.lsiGetSection(reinstatementId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n setHasLoaded(true)\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!formModel.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n const submitData = (isForSubmit) => {\r\n reinstatementService.lsiPostSection(reinstatementId, sectionId, formModel.electronicSignature).then((response) => {\r\n if (isForSubmit && response.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n Land Surveyor Intern Reinstatement\r\n

Acknowledgement

\r\n {hasLoaded ?\r\n <>\r\n \r\n
Acknowledgement
\r\n \r\n

I, the applicant named in this application, have read the contents hereof, and to the best of my knowledge, information and believe the statements and information in this application are true and correct in substance and effect and are made in good faith. I have not omitted any information requested in this application. I am aware that such an omission or untrue response may constitute fraud or deceit, material misstatement, perjury or the giving of false or forged evidence under Louisiana Revised Statutes 37:698 and 37:700. I understand and agree that any responses verifying my education, personal references, and experience shall be considered privileged and confidential and that this information was not reviewed by me nor will it be available for my inspection or review in the future.

\r\n
\r\n
    \r\n
  • It is your responsibility to check your LOLA account frequently for any pending issues. Ensure you add \"lapels.com\" to your \"Safe Senders\" list in your email application and/or (if applicable) in your network firewall.
  • \r\n
  • Once we receive a complete application, with no pending issues, process time may take 6-8 weeks.
  • \r\n
  • \r\n I certify that all information provided in this online reinstatement is true and correct to the best of my knowledge, information and belief.\r\n
  • \r\n
  • \r\n I am aware that an omission or untrue response may constitute fraud, deceit, material misstatement, perjury or the giving of false or forged evidence under Louisiana Revised Statutes 37:698 and 37:700\r\n
  • \r\n\r\n
  • \r\n IMPORTANT: Payments are non-refundable. If you believe that you will be reimbursed for your fee, verify this BEFORE proceeding further\r\n
  • \r\n
  • \r\n If you are unsure about getting reimbursed by your firm, please stop the application process here and come back after you verify. Your answers will be saved.\r\n
  • \r\n
\r\n
\r\n \r\n \r\n
Electronic Signature of Applicant:
\r\n (Type full name)\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n : \r\n }\r\n\r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { List } from 'rsuite';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/LsiInformation';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../../Shared/Card/ReviewPdf';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/reinstatement.service';\r\nimport lsiReinstatementService, { getSections } from '../../../../../../services/Public/Reinstatement/LSI/lsiReinstatement.service';\r\nimport shoppingCartService from '../../../../../../services/Public/shoppingCart.service';\r\nimport Swal from 'sweetalert2';\r\n\r\nfunction ReviewPage() {\r\n const [hasIssues, setHasIssues] = useState(true)\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const { push } = useHistory();\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [allSections, setAllSections] = useState([]);\r\n const [sectionData, setSectionData] = useState({});\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const sectionId = 10;\r\n\r\n useEffect(() => {\r\n getSections().then(setAllSections);\r\n lsiReinstatementService.lsiGetSection(reinstatementId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n })\r\n }, [])\r\n const navigateToPage = (sectionId) => {\r\n push(routes.filter(x => x.sectionId == (sectionId))[0].route)\r\n }\r\n const validateReinstatement = () => {\r\n setHasLoaded(false);\r\n reinstatementService.validateReinstatement(reinstatementId).then((response) => {\r\n let errors = response.data.map((error, i) => {\r\n return { navigateToPage(error.sectionId) }}>\r\n Error{error.errors.length > 1 ? 's' : ''} in {allSections.filter(x => x.id == error.sectionId)[0].sectionTitle}: {error.errors.join(', ')}\r\n \r\n })\r\n if (response.data?.length)\r\n setViolationIssuesHtml(\r\n \r\n {errors}\r\n \r\n )\r\n else {\r\n setViolationIssuesHtml('')\r\n setHasIssues(false);\r\n Swal.fire(\"Validation Successful\", `Your reinstatement passed all validation checks. You may now download a PDF version to keep for your records.`, 'success')\r\n }\r\n setHasLoaded(true);\r\n })\r\n }\r\n const submitReinstatement = () => {\r\n setHasLoaded(false);\r\n shoppingCartService.addToShoppingCart(reinstatementId, 16).then((data) => {\r\n if (data.data) { push('/individual/shoppingcart'); }\r\n\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n Land Surveyor Intern Reinstatement\r\n

Review

\r\n \r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n
\r\n {sectionData.isUserEditable ?\r\n : \r\n }\r\n {\r\n (!hasIssues && sectionData.isUserEditable) && <>\r\n \r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n {violationIssuesHtml}\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst eiGetSection = (applicationId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/IndividualEiApplication/section`, { headers: authHeader(), params: { applicationId, sectionId } });\r\n}\r\nconst eiPostSection = (applicationId, sectionId, electronicSignature) => {\r\n\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualEiApplication/signsection`, null, { headers: authHeader(), params: { applicationId, sectionId, electronicSignature } });\r\n}\r\n\r\nconst eiPostSectionHasMyNceesEducation = (applicationId, sectionId, hasMyNceesEducation) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualEiApplication/setsectionhasmynceeseducation`, null, { headers: authHeader(), params: { applicationId, sectionId, hasMyNceesEducation } });\r\n}\r\n\r\nconst eiPostSectionHasExperience = (applicationId, sectionId, hasMyNceesExperience) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualEiApplication/setsectionhasmynceesexperience`, null, { headers: authHeader(), params: { applicationId, sectionId, hasMyNceesExperience } });\r\n}\r\n\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Complete this section providing all required contact information.\",\r\n },\r\n {\r\n id: 2,\r\n sectionTitle: \"Education\",\r\n sectionContent: \"Complete this section listing all colleges and universities attended where a degree was conferred.\",\r\n },\r\n {\r\n id: 4,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 11,\r\n sectionTitle: \"Examination Verification in Louisiana or Other Jurisdictions\",\r\n sectionContent: \"This must be uploaded to your MyNCEES account.\",\r\n },\r\n {\r\n id: 12,\r\n sectionTitle: \"Recommendation\",\r\n sectionContent: \"You must be recommended for certification by a licensed Professional Engineer.\",\r\n },\r\n {\r\n id: 7,\r\n sectionTitle: \"Experience Record\",\r\n sectionContent: \"Include a GRAND TOTAL of all experience\",\r\n },\r\n {\r\n id: 8,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Electronically sign (type your name) and date.\",\r\n },\r\n {\r\n id: 9,\r\n sectionTitle: \"Review\",\r\n sectionContent: 'Review your answers. If you need to change an answer, click the \"Section\" above to go back to the appropriate section',\r\n }\r\n])\r\n\r\nexport default {\r\n eiGetSection,\r\n eiPostSection,\r\n eiPostSectionHasMyNceesEducation,\r\n eiPostSectionHasExperience\r\n}","import { loremParagraphs } from \"../../../fakeapi\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport RedStar from \"../GenericComponents/RedStar\";\r\n\r\nexport const GetAppInformationContent = (page) => {\r\n const [fakeData, setFakeData] = useState(\"\");\r\n const [type, setType] = useState(\"application\");\r\n useEffect(() => {\r\n loremParagraphs().then(setFakeData);\r\n }, [])\r\n\r\n switch (page) {\r\n case \"contact\":\r\n return (\r\n
\r\n
\r\n\r\n
    \r\n
  • \r\n Information already in the system will appear in the fields below. You are able to make changes, and they will take effect once the application is complete and payment is accepted.\r\n
  • \r\n
  • Louisiana Revised Statute 31:23 requires that every application by an individual for a professional license, permit or certificate shall requre the applicant's social security number. Disclosure of your social security number is mandatory for this purpose and for purposes of establishing, modifying or enforcing family and child support obligations and locating an individual who is under an obligation to pay family or child support under La. R.S. 46:236.1.1, et seq. Failure to provide your social security number for these mandatory purposes will result in the denial of your licensure, permit or certificate application. Disclosure of your social security number is voluntary for disclosure to other state regulatory agencies, testing and examination vendors, law enforcement agencies, and other private federations and associations involved in professional regulation. Such disclosure is for identification purposes only. Your social security number will not be released for any other purpose not provided by law.
  • \r\n
  • Complete the following sections:
  • \r\n
      \r\n
    • Personal Information
    • \r\n
    • Verify Mailing Address
    • \r\n
    • Verify Public Address
    • \r\n
    • Ensure you add \"lapels.com\" to your \"Safe Senders\" list in your email application and/or (if applicable) in your network firewall.
    • \r\n
    \r\n
\r\n
\r\n
\r\n\r\n );\r\n break;\r\n case \"education\":\r\n return (\r\n
\r\n
\r\n \r\n\r\n
    \r\n
  • All transcripts must be verified in your NCEES record for application processing.
  • \r\n
  • If you have been conferred in a Non-EAC/ABET degree, then you must obtain a credential evlauation through NCEES before submitting this application (ncees.org). If not, your application cannot be processed.
  • \r\n\r\n
  • IMPORTANT: If your only degree is a non-EAC/ABET degree, you must submit 4 years of verified engineering experience at the time of application supervised by a US PE.
  • \r\n
  • IMPORTANT: If your only degree is an Engineering Technology (ETAC-ABET) degree, you are NOT eligible for PE licensure in Louisiana, and you should not submit an application. This is a state law which the Board staff nor Board may not waive.
  • \r\n
  • We do not issue refunds for application fees.
  • \r\n
\r\n\r\n
\r\n
\r\n )\r\n break;\r\n case \"experience\":\r\n return (\r\n
\r\n
\r\n\r\n
    \r\n
  • If you mark yes, include four years of progressive engineering experience. Experience should be gained under the supervision of a professional engineer holding a valid license. This supervisor will need to complete a verification of experience form, keeping in mind they need to be licensed during the time they are verifying.
  • \r\n\r\n
  • Please note, ALL TIME SINCE GRADUATION WITH A BS DEGREE MUST BE DOCUMENTED; You must include military, illness, unemployment or time spent completing an additional college degree, etc., on an Experience Record entry.
  • \r\n\r\n
  • Any time gaps will result in an incomplete application.
  • \r\n
\r\n
\r\n\r\n )\r\n break;\r\n case \"recommendation\":\r\n return (\r\n
\r\n
\r\n\r\n

You must be recommended for certification by a US Professional Engineer holding an active license.

\r\n

After adding a recommender, please click the send icon(paper airplane) next to the record in the table. The recommender will receive a request by email from LOLA to verify or decline your request. Once your recommender makes a decision, you will be notified by email of the result.

\r\n\r\n
\r\n
\r\n\r\n )\r\n break;\r\n case \"review\":\r\n return (\r\n <>\r\n
    \r\n
  • Click Validate to see if there are any issues within the {type} that you provided.
  • \r\n
  • If there are issues, please correct the issue in the respective section(s) by clicking the “Back to Sections” button below.
  • \r\n
  • Then return to the Review section to validate again.
  • \r\n
  • You will not be allowed to submit until all issues are corrected.
  • \r\n
\r\n

\r\n Once the {type} is validated successfully, additional buttons will appear:\r\n

    \r\n
  • Select “Download PDF” to download a copy of your {type} for your records
  • \r\n
  • Select “Submit Application” to add your {type} to the cart and see payment options.
  • \r\n
\r\n

\r\n\r\n

You will not have direct access to this review page after completing the {type} and submitting payment. To request a copy, please contact LAPELS staff.

\r\n \r\n )\r\n break;\r\n case \"violations\":\r\n return (\r\n

\r\n In the case of answering “Yes” to the question below about unauthorized or unlicensed practice (Question #1), explain in detail the facts surrounding such practicing or offering to practice engineering in Louisiana and submit a list of all projects/jobs on which you offered to provide or provided engineering services in Louisiana during such period.\r\n Such list should include, for each such project/job, offer date, start date, completion date, client name, project/job name, project/job location and project/job descriptions. Upload additional pages if necessary.\r\n
\r\n
\r\n In the case of answering “Yes” to any of the questions below other than the question about unauthorized or unlicensed practice, provide the date(s) and pertinent facts of the case(s) or proceeding(s), including the final disposition (even if the information was previously provided to the Board).\r\n Upload additional pages if necessary.\r\n

\r\n )\r\n case \"acknowledgement\":\r\n return (\r\n

\r\n Fields marked with an asterisk * are required.\r\n

\r\n )\r\n case \"index\":\r\n return (\r\n <>\r\n
\r\n
\r\n\r\n
    \r\n\r\n
  • Complete all required sections of the application; incomplete applications are only kept on file for one year.
  • \r\n
  • Fields marked with an asterisk * are required.
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
    \r\n
  • Verification of Certification/ Examination
  • \r\n
  • Transcripts must be sent directly to NCEES and verified on your MyNCEES dashboard.
  • \r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n\r\n )\r\n break;\r\n case \"exam\":\r\n return (\r\n
\r\n
\r\n\r\n

Fundamentals Exam (FE) is required

\r\n

Needs to be verified on your MyNCEES ID account.

\r\n\r\n
\r\n
\r\n )\r\n default:\r\n return (\r\n <>\r\n
\r\n \r\n \r\n )\r\n break;\r\n }\r\n}\r\nexport const GetRenewalInformationContent = (page) => {\r\n const [fakeData, setFakeData] = useState(\"\");\r\n const [type, setType] = useState(\"renewal\");\r\n useEffect(() => {\r\n loremParagraphs().then(setFakeData);\r\n }, [])\r\n\r\n switch (page) {\r\n case \"contact\":\r\n return (\r\n
    \r\n
  • Information already in the system will appear in the fields below. You can make changes, and they will take effect once the application is complete and payment is accepted
  • \r\n
  • Mandatory fields are indicated with \"\" (asterisk) to the left of the field
  • \r\n
  • Louisiana Revised Statute 37:23 requires that every application by an individual for a professional license, permit or certificate shall require the applicant's social security number.\r\n Disclosure of your social security number is mandatory for this purpose and for the purpose of establishing, modifying or enforcing family and child support obligations and locating an individual who is under an obligation to pay family or child support under La. R.S. 46:236.1.1, et seq.\r\n Failure to provide your social security number for these mandatory purposes will result in the denial of your licensure, permit or certificate application.\r\n Disclosure of your social security number is voluntary for disclosure to other state regulatory agencies, testing and examination vendors, law enforcement agencies, and other private federations and associations involved in professional regulation.\r\n Such disclosure is for identification purposes only. Your social security number will not be released for any other purpose not provided by law.
  • \r\n
  • Complete the following sections
  • \r\n
      \r\n
    • Personal Information – ensure you put LAPELS emails on your safe sender list
    • \r\n
    • Verify Mailing Address
    • \r\n
    • Verify Public Address
    • \r\n
    \r\n
\r\n );\r\n case \"cpdRequirements\":\r\n return (\r\n
    \r\n
  • A PLS must complete 8 CPD hours each calendar year (January – December);
  • \r\n
  • Of the 8 hours, one hour must be in the Standards of Practice and one hour must be in Professional Ethics
  • \r\n
      \r\n
    • In the event you have earned more than 8 CPD hours in a calendar year, you may carry over a maximum of 7 CPD hours to the next calendar year
    • \r\n
    • You may not earn more than 8 hours in a calendar da;
    • \r\n
    \r\n\r\n
  • A PE must complete 15 CPD hours each calendar year (January – December)
  • \r\n
  • Of the 15 hours, one hour must be in Professional Ethics;
  • \r\n
      \r\n
    • If you design buildings or building systems, of the 15 hours, four hours must be in life safety/ADA compliance
    • \r\n
    • In the event you have earned more than 15 CPD hours in a calendar year, you may carry over a maximum of 7 CPD hours to the next calendar year
    • \r\n
    • You may not earn more than 8 hours in a calendar day
    • \r\n
    \r\n\r\n
  • A Dual Licensee must complete 15 CPD hours each calendar year (January – December)
  • \r\n
  • Of the 15 hours, five hours must be in earned in each profession, one hour must be in Professional Ethics and one hour must be in the Standards of Practice and two must be in life safety/ADA
  • \r\n
      \r\n
    • If you design buildings or building systems, of the 15 hours, four hours must be in life safety/ADA compliance
    • \r\n
    • In the event you have earned more than 15 CPD hours in a calendar year, you may carry over a maximum of 7 CPD hours to the next calendar year
    • \r\n
    • You may not earn more than 8 hours in a calendar day
    • \r\n
    \r\n
);\r\n case \"licenseStatus\":\r\n return (\r\n
    \r\n
  • Active: Individual has complied with the licensure and licensure renewal requirements (including CPD) of the Board and may offer and/or provide professional services in Louisiana.
  • \r\n\r\n
  • Inactive: Individual has chosen not to offer and/or provide professional services in Louisiana and has indicated that fact on his/her licensure renewal. Individual can represent himself/herself to the public as a P.E. Inactive, or a P.L.S. Inactive, but cannot otherwise offer and/or provide professional services in Louisiana. CPD Requirements do not apply.
  • \r\n\r\n
  • Retired (Normal): Individual has chosen not to offer and/or provide professional services in Louisiana and\r\n has indicated that fact on his/her licensure renewal. Individual must be at least 70 years\r\n of age or have been a licensee of the Board for at least 35 years. Unless individual is\r\n granted a waiver by the Board, the renewal fee is one-half of the current renewal fee for\r\n the active status. Individual can represent himself/herself to the public as a P.E. Retired,\r\n or a P.L.S. Retired, but cannot otherwise offer and/or provide professional services in\r\n Louisiana. CPD requirements do not apply.
  • \r\n\r\n
  • Retired (Waiver Granted): Individual is qualified for the retired status and has been granted a waiver of the renewal\r\n fee by the Board. An individual qualified for the retired status may be granted a waiver\r\n of the renewal fee if all criteria below are met:\r\n
      \r\n
    • individual is at least 70 years of age;
    • \r\n
    • individual has been a licensee of the Board for at least 35 years continuously;
    • \r\n
    • individual has never been subject to disciplinary action in any jurisdiction;
    • \r\n
    • individual has never committed any of the offenses described in La. R.S. 37:698(A)(3), (4) or (5);
    • \r\n
    • individual is of good character and reputation.
    • \r\n
    • Individual can represent himself/herself to the public as a P.E. Retired, or a P.L.S.\r\n Retired, but cannot otherwise offer and/or provide professional services in Louisiana.\r\n CPD requirements do not apply.
    • \r\n
    • If you wish to apply for this status based on the above criteria, download and complete the Retired Professionals (PE/PLS) Renewal Invoice. Once completed, you can mail\r\n in this invoice to LAPELS, or email cande@lapels.com.
    • \r\n
  • \r\n
\r\n )\r\n case \"violations\":\r\n return (\r\n

\r\n If the answer to any of these questions is \"Yes\", provide the date(s) and pertinent facts of the case(s) or proceeding(s) including the final disposition (even if the information was previously provided to the Board). Upload additional pages if necessary.\r\n

\r\n )\r\n case \"privacy\":\r\n return (\r\n

You can choose below how your privacy options are setup. Please indicate how you would like LAPELS to send you information or share it with third parties/vendors

\r\n )\r\n case \"acknowledgement\":\r\n return (\r\n <>\r\n

\r\n I have read the Rules for Professional Engineers and Surveyors (LAC Title 46, Part LXI), and I agree to conduct my professional affairs in\r\n accordance with these rules.\r\n

\r\n \r\n )\r\n case \"review\":\r\n return (\r\n <>\r\n
    \r\n
  • Click Validate to see if there are any issues within the {type} that you provided.
  • \r\n
  • If there are issues, please correct the issue in the respective section(s) by clicking the “Back to Sections” button below.
  • \r\n
  • Then return to the Review section to validate again.
  • \r\n
  • You will not be allowed to submit until all issues are corrected.
  • \r\n
\r\n

\r\n Once the {type} is validated successfully, additional buttons will appear:\r\n

    \r\n
  • Select “Download PDF” to download a copy of your {type} for your records
  • \r\n
  • Select “Submit Renewal” to add your {type} to the cart and see payment options.
  • \r\n
\r\n

\r\n\r\n

You will not have direct access to this review page after completing the {type} and submitting payment. To request a copy, please contact LAPELS staff.

\r\n \r\n )\r\n break;\r\n default:\r\n return (\r\n <>\r\n
  • Read all of the instructions within each section of the renewal.
  • \r\n
  • Complete all required sections.
  • \r\n
\r\n \r\n )\r\n break;\r\n }\r\n}\r\n\r\nexport const GetReinstatementInformationContent = (page) => {\r\n switch (page) {\r\n case \"contact\":\r\n return (\r\n
    \r\n
  • Information already in the system will appear in the fields below. You can make changes, and they will take effect once the application is complete and payment is accepted
  • \r\n
  • Mandatory fields are indicated with \"\" (asterisk) to the left of the field
  • \r\n
  • Louisiana Revised Statute 31:23 requires that every application by an individual for a professional license, permit or certificate shall require the applicant's social security number.\r\n Disclosure of your social security number is mandatory for this purpose and for the purpose of establishing, modifying or enforcing family and child support obligations and locating an individual who is under an obligation to pay family or child support under La. R.S. 46:236.1.1, et seq.\r\n Failure to provide your social security number for these mandatory purposes will result in the denial of your licensure, permit or certificate application.\r\n Disclosure of your social security number is voluntary for disclosure to other state regulatory agencies, testing and examination vendors, law enforcement agencies, and other private federations and associations involved in professional regulation.\r\n Such disclosure is for identification purposes only. Your social security number will not be released for any other purpose not provided by law.
  • \r\n
  • Complete the following sections
  • \r\n
      \r\n
    • Personal Information
    • \r\n
    • Verify Mailing Address
    • \r\n
    • Verify Public Address
    • \r\n
    • Ensure you add \"lapels.com\" to your \"Safe Senders\" list in your email application and/or (if applicable) in your network firewall.
    • \r\n
    \r\n
\r\n );\r\n case \"violations\":\r\n return (\r\n

\r\n In the case of answering “Yes” to the question below about unauthorized or unlicensed practice (Question #1), explain in detail the facts surrounding such practicing or offering to practice engineering in Louisiana and submit a list of all projects/jobs on which you offered to provide or provided engineering services in Louisiana during such period.\r\n Such list should include, for each such project/job, offer date, start date, completion date, client name, project/job name, project/job location and project/job descriptions. Upload additional pages if necessary.\r\n
\r\n
\r\n In the case of answering “Yes” to any of the questions below other than the question about unauthorized or unlicensed practice, provide the date(s) and pertinent facts of the case(s) or proceeding(s), including the final disposition (even if the information was previously provided to the Board).\r\n Upload additional pages if necessary.\r\n

\r\n )\r\n case \"acknowledgement\":\r\n return (\r\n

\r\n Fields marked with an asterisk * are required.\r\n

\r\n )\r\n case \"education\":\r\n return (\r\n

\r\n All transcripts must be verified in your NCEES record for EI/LSI reinstatement application processing.\r\n

\r\n )\r\n case \"exam\":\r\n return (\r\n
\r\n
\r\n\r\n

Fundamentals Exam (FE) is required

\r\n

Needs to be verified on your MyNCEES ID account.

\r\n\r\n
\r\n
\r\n )\r\n case \"review\":\r\n return (\r\n <>\r\n
    \r\n
  • Click Validate to see if there are any issues within the reinstatement that you provided.
  • \r\n
  • If there are issues, please correct the issue in the respective section(s) by clicking the “Back to Sections” button below.
  • \r\n
  • Then return to the Review section to validate again.
  • \r\n
  • You will not be allowed to submit until all issues are corrected.
  • \r\n
\r\n

\r\n Once the reinstatment is validated successfully, additional buttons will appear:\r\n

    \r\n
  • Select “Download PDF” to download a copy of your reinstatement for your records
  • \r\n
  • Select “Submit Reinstatement” to add your reinstatement to the cart and see payment options.
  • \r\n
\r\n

\r\n\r\n

You will not have direct access to this review page after completing the reinstatement and submitting payment. To request a copy, please contact LAPELS staff.

\r\n \r\n )\r\n break;\r\n default:\r\n return (\r\n <>\r\n NOTE: Reinstatements are subject to revision and modification at any time.\r\n
  • Read all of the instructions within each section of the reinstatement.
  • \r\n
  • Complete all required sections.
  • \r\n
\r\n \r\n )\r\n break;\r\n }\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, ListGroup } from 'react-bootstrap';\r\nimport Section from '../../../../../Shared/Sections/Section';\r\nimport { getSections } from \"../../../../../../services/Public/Application/EI/eiApplication.service\";\r\nimport { useSelector } from 'react-redux';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/EiInformation';\r\nimport issuesService from '../../../../../../services/Shared/issues.service';\r\n\r\nfunction Index() {\r\n const [sections, setSections] = useState(null);\r\n const selector = useSelector(x => x);\r\n useEffect(() => {\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(1, selector.currentApplicationId).then((data) => {\r\n setSections(selector.currentRoutes != null ? selector.currentRoutes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route;\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n });\r\n })\r\n }, [])\r\n\r\n return (\r\n
\r\n \r\n Engineer Intern Application\r\n

Engineer Intern

\r\n \r\n \r\n \r\n
\r\n \r\n \r\n

Sections to Complete

\r\n \r\n {sections}\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default Index;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EIAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualEiApplication\";\r\n\r\nconst getContactInformation = (applicationId) => {\r\n return axios.get(`${EIAPPLICATIONURL}/contactinformation`, { headers: authHeader(), params: {applicationId} });\r\n}\r\nconst postContactInformation = (applicationId, certDisplayName) => {\r\n return axios.post(`${EIAPPLICATIONURL}/contactinformation`, null, { headers: authHeader(), params: { applicationId, certDisplayName } });\r\n}\r\nexport default {\r\n getContactInformation,\r\n postContactInformation\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { Form } from 'rsuite';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/EiInformation'\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { useHistory } from 'react-router-dom';\r\nimport PersonalInformation from '../../../../../Shared/Card/Contact/PersonalInformation';\r\nimport MailingAddress from '../../../../../Shared/Card/Contact/MailingAddress';\r\nimport PublicAddress from '../../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport applicationService from '../../../../../../services/Public/Application/EI/eiApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport contactService from '../../../../../../services/Public/Application/EI/contact.service';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport dayjs from 'dayjs';\r\n\r\nfunction ContactInformationPage() {\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const { push } = useHistory();\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const [formModel, setFormModel] = useState({});\r\n const [tabPane, setTabPane] = useState(\"personalInformation\")\r\n const [sectionData, setSectionData] = useState({});\r\n\r\n useEffect(() => {\r\n contactService.getContactInformation(appId).then((response) => {\r\n var data = response.data;\r\n\r\n setFormModel({\r\n ...data,\r\n dateOfBirth: data.dateOfBirth != null ? dayjs(data.dateOfBirth).format('YYYY-MM-DD') : null,\r\n altEmail: data.alternateEmailAddress?.emailAddress,\r\n primaryEmail: data.primaryEmailAddress?.emailAddress,\r\n cellPhoneNum: data.cellPhone?.phoneNumber,\r\n workPhoneNum: data.workPhone?.phoneNumber,\r\n homePhoneNum: data.homePhone?.phoneNumber\r\n })\r\n applicationService.eiGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n }, [])\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n submitData(true);\r\n }\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n contactService.postContactInformation(appId, formModel.certificateName).then((response) => {\r\n if (isForSubmit && response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n Engineer Intern Application\r\n

Contact

\r\n \r\n
\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)} onSubmit={formSubmit} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EIAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualEiApplication\";\r\n\r\nconst getEducationRecords = (applicationId) => {\r\n return axios.get(`${EIAPPLICATIONURL}/educationrecords`, { headers: authHeader(), params:{ applicationId} });\r\n}\r\n//const getApprovedCourseRecords = (applicationId) => {\r\n// return axios.get(`${EIAPPLICATIONURL}/approvedcompletedcourses`, { headers: authHeader(), params:{ applicationId} });\r\n//}\r\n//const getNonApprovedCourseRecords = (applicationId) => {\r\n// return axios.get(`${EIAPPLICATIONURL}/notapprovedcompletedcourses`, { headers: authHeader(), params: { applicationId } });\r\n//}\r\nconst postEducationRecord = (data) => {\r\n return axios.post(`${EIAPPLICATIONURL}/educationrecord`, data, { headers: authHeader() });\r\n}\r\n//const postApprovedCourseRecord = (data) => {\r\n// return axios.post(`${EIAPPLICATIONURL}/approvedcompletedcourse`, data, { headers: authHeader() });\r\n//}\r\n//const postNonApprovedCourseRecord = (data) => {\r\n// return axios.post(`${EIAPPLICATIONURL}/notapprovedcompletedcourse`, data, { headers: authHeader() });\r\n//}\r\nexport default {\r\n getEducationRecords,\r\n //getNonApprovedCourseRecords,\r\n //getApprovedCourseRecords,\r\n postEducationRecord,\r\n //postApprovedCourseRecord,\r\n //postNonApprovedCourseRecord\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Card, Row, Col, Button } from 'react-bootstrap'\r\nimport { Icon, Table } from 'rsuite';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport EducationService from '../../../../../../services/Public/Application/EI/education.service'\r\nimport Swal from 'sweetalert2';\r\nimport dayjs from 'dayjs';\r\nimport YesNoRadioOption from '../../../../../Shared/RadioButton/YesNoRadioOption';\r\nimport RedStar from '../../../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction EducationRecord(props) {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [gridData, setGridData] = useState([]);\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n\r\n const handleChangePage = (dataKey) => {\r\n setPage(dataKey);\r\n }\r\n const handleChangeLength = (dataKey) => {\r\n setPage(1);\r\n setDisplayLength(dataKey);\r\n }\r\n useEffect(() => {\r\n reloadGrid();\r\n }, [props.reloadGrid])\r\n const reloadGrid = () => {\r\n setHasLoaded(false);\r\n EducationService.getEducationRecords(props.applicationId).then((response) => {\r\n setGridData(response.data)\r\n setHasLoaded(true);\r\n });\r\n }\r\n const getData = () => {\r\n return gridData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const filteredData = getData();\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
Education Records
\r\n \r\n {(!props.isReadOnly && props.hideGrid == false && gridData.length > 0) &&\r\n \r\n \r\n \r\n }\r\n
\r\n
\r\n \r\n

\r\n I have education transcript(s) verified in MyNCEES record.\r\n

\r\n
\r\n \r\n {(props.hideGrid === false) &&\r\n <>\r\n {hasLoaded ?\r\n <>\r\n {\r\n gridData.length > 0 ?\r\n <>\r\n Please go to ncees.org to have transcripts verified. For assistance you can click on the ‘ask’ message button in your NCEES dashboard.\r\n
\r\n
\r\n \r\n \r\n \r\n Institution\r\n \r\n {rowData => (rowData.school.name)}\r\n \r\n \r\n \r\n Dates From/To\r\n \r\n {rowData => (`${dayjs(rowData.attendanceStartDate).format('MMM YYYY')} - ${dayjs(rowData.attendanceEndDate).format('MMM YYYY')}`)}\r\n \r\n \r\n \r\n Graduation Date\r\n \r\n {rowData => (`${rowData.graduationDate ? new Date(rowData.graduationDate).toLocaleDateString() : ''}`)}\r\n \r\n \r\n \r\n Major\r\n \r\n \r\n \r\n \r\n \r\n Degree\r\n \r\n {rowData => (`${rowData.degree ? rowData.degree.degree : ''}`)}\r\n \r\n {\r\n !props.isReadOnly &&\r\n \r\n \r\n \r\n \r\n {rowData => {\r\n function handleAction() {\r\n\r\n props.openModal(rowData);\r\n }\r\n function handleDelete() {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n EducationService.postEducationRecord({ ...rowData, deleted: true }).then((response) => {\r\n reloadGrid();\r\n })\r\n }\r\n })\r\n }\r\n return (\r\n \r\n   \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n }\r\n
\r\n \r\n :\r\n Transcript(s) are not accepted from applicants. Please have transcript(s) verified on your MyNCEES account for application processing. If you have any questions, please contact LAPELS staff at applications@lapels.com\r\n }\r\n :\r\n }\r\n \r\n }\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\nexport default EducationRecord;","import React, { useEffect, useState } from 'react';\r\nimport { Container } from 'react-bootstrap';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport EducationRecord from './EducationRecords';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/EiInformation';\r\nimport AddEditEducationRecordsModal from '../../../../../Shared/Modal/AddEditEducationRecordsModal';\r\nimport { useSelector } from 'react-redux';\r\nimport applicationService from '../../../../../../services/Public/Application/EI/eiApplication.service';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport dayjs from 'dayjs';\r\n\r\nfunction EducationPage() {\r\n const [hideGrids, setHideGrids] = useState(true);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [modalShow, setModalShow] = useState(false);\r\n const [modalData, setModalData] = useState({});\r\n const { push } = useHistory();\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 2;\r\n const [sectionData, setSectionData] = useState({});\r\n useEffect(() => {\r\n setHasLoaded(false)\r\n applicationService.eiGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHideGrids(response.data.hasMyNceesEducation ?? true);\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n const { BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasMyNceesEducation: BooleanType().isRequired('This field is required.')\r\n });\r\n const handleMyNceesEducationChange = (val) => {\r\n setHideGrids(val);\r\n }\r\n const openModal = (values) => {\r\n if (values.id) {\r\n setModalData(\r\n {\r\n ...values,\r\n attendanceEndDate: values.attendanceEndDate ? dayjs(values.attendanceEndDate).format('YYYY-MM') : null,\r\n attendanceStartDate: values.attendanceStartDate ? dayjs(values.attendanceStartDate).format('YYYY-MM') : null,\r\n graduationDate: values.graduationDate ? dayjs(values.graduationDate).format('YYYY-MM-DD') : null,\r\n modalType: 'Edit'\r\n });\r\n }\r\n else {\r\n setModalData({\r\n applicationId: appId,\r\n attendanceEndDate: null,\r\n attendanceStartDate: null,\r\n dateCrte: new Date(),\r\n degree: null,\r\n deleted: false,\r\n didGraduate: '',\r\n entityId: entityId,\r\n graduationDate: null,\r\n id: '',\r\n major: '',\r\n school: null,\r\n userCrte: '',\r\n modalType: \"Add\"\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n\r\n const [reloadGrid, setReloadGrid] = useState(1);\r\n\r\n const submitForm = (validation, event) => {\r\n if (!sectionData.isUserEditable)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n else {\r\n if (validation) {\r\n applicationService.eiPostSectionHasMyNceesEducation(appId, sectionId, sectionData.hasMyNceesEducation).then(() => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n })\r\n }\r\n }\r\n }\r\n return (\r\n
\r\n \r\n Engineer Intern Application\r\n

Education

\r\n \r\n
\r\n {hasLoaded ? <>\r\n {\r\n modalShow &&\r\n { var data = 1 + reloadGrid; setReloadGrid(data) }} modaldata={modalData} show={modalShow} onHide={() => setModalShow(false)} proptitle=\"Add\" />\r\n }\r\n setSectionData(data)}\r\n >\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default EducationPage;","import React, { useState, useEffect } from 'react';\r\nimport { Button, Card, Row, Col } from 'react-bootstrap';\r\nimport { Icon, Table } from 'rsuite';\r\nimport GenericBadge from '../../../../../Shared/Badge/GenericBadge';\r\nimport GenericPagination from '../../../../../Shared/Grid/GenericPagination';\r\n\r\nfunction Recommendation(props) {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [gridData, setGridData] = useState([]);\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n\r\n useEffect(() => {\r\n setGridData(props.griddata)\r\n setHasLoaded(true);\r\n }, [props.griddata])\r\n\r\n const getData = () => {\r\n return gridData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const filteredData = getData();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n
Professional Engineers
\r\n \r\n {\r\n (!props.isReadOnly) &&\r\n \r\n }\r\n
\r\n
\r\n \r\n {(hasLoaded)\r\n &&\r\n
\r\n \r\n \r\n \r\n Full Name\r\n \r\n \r\n {\r\n rowData => \r\n `${rowData.firstName} ${rowData.lastName}`\r\n \r\n }\r\n \r\n \r\n \r\n \r\n Email\r\n \r\n \r\n \r\n \r\n \r\n Sent Date\r\n \r\n {rowData => (rowData.sentDate ? new Date(rowData.sentDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Response Date\r\n \r\n {rowData => (rowData.responseDate ? new Date(rowData.responseDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Verification Status\r\n \r\n {rowData => (rowData.verificationStatus ? : '')}\r\n \r\n {(!props.isReadOnly && filteredData.filter(value => (!value.verificationStatus || value.verificationStatus?.id === 1)).length) &&\r\n \r\n \r\n \r\n \r\n {rowData => {\r\n const verificationStatusId = rowData.verificationStatus?.id;\r\n function handleAction() {\r\n var tempData = { ...rowData, modalType: 'Edit' }\r\n props.openModal(tempData);\r\n }\r\n return (!(verificationStatusId > 1) &&\r\n \r\n { props.emailReference(rowData) }} style={{ cursor: \"pointer\" }} />   \r\n   \r\n { props.deleteRow(rowData) }} style={{ cursor: \"pointer\" }} />\r\n \r\n );\r\n }}\r\n \r\n \r\n }\r\n
\r\n \r\n
}\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Recommendation","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EIAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualEiApplication\";\r\n\r\nconst getRecommendations = (applicationId) => {\r\n return axios.get(`${EIAPPLICATIONURL}/recommendations`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postRecommendation = (data) => {\r\n return axios.post(`${EIAPPLICATIONURL}/recommendation`, data, { headers: authHeader() });\r\n}\r\n\r\nconst sendRecommendationEmail = (recommendationId) => {\r\n return axios.post(`${EIAPPLICATIONURL}/sendrecommendationemail`, null, { headers: authHeader(), params: { recommendationId } });\r\n}\r\n\r\nexport default {\r\n getRecommendations,\r\n postRecommendation,\r\n sendRecommendationEmail\r\n}","import { useState, useEffect } from 'react'\r\nimport { Button, Col, Modal, Row } from 'react-bootstrap'\r\nimport React from 'react'\r\nimport { ControlLabel, Schema, Form, FormControl, FormGroup } from 'rsuite'\r\nimport RedStar from '../../../../../Shared/GenericComponents/RedStar'\r\n\r\n\r\nfunction AddEditRecommendationModal(props) {\r\n const [recommendationModel, setRecommendationModel] = useState(\r\n {\r\n applicationId: 0,\r\n dateCrte: null,\r\n deleted: false,\r\n email: \"\",\r\n entityId: 0,\r\n id: 0,\r\n firstName: \"\",\r\n lastName: \"\",\r\n userCrte: \"\",\r\n verificationStatus: null,\r\n modalType: \"Add\"\r\n })\r\n const [showErrors, setShowErrors] = useState(false);\r\n\r\n useEffect(() => {\r\n setRecommendationModel(props.modaldata);\r\n }, [props.modaldata])\r\n\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n firstName: StringType().isRequired(\"This field is required.\"),\r\n lastName: StringType().isRequired('This field is required.'),\r\n email: StringType().isRequired('This field is required.').isEmail('Enter in a valid Email')\r\n })\r\n \r\n const submitData = (validation, event) => {\r\n if (validation) {\r\n var dataToTransmit = {\r\n ...recommendationModel,\r\n id: recommendationModel.id === '' ? 0 : recommendationModel.id,\r\n dateCrte: new Date()\r\n };\r\n delete dataToTransmit.modalType;\r\n props.onsave(dataToTransmit).then((response) => {\r\n if (response.data.id) {\r\n props.updategrid();\r\n setShowErrors(false);\r\n props.onHide();\r\n }\r\n }).catch((response) => {\r\n })\r\n }\r\n }\r\n return (\r\n \r\n \r\n \r\n {recommendationModel.modalType} a Recommendation\r\n \r\n \r\n \r\n
setRecommendationModel(recommendationModel)} onSubmit={submitData} fluid>\r\n \r\n \r\n \r\n \r\n \r\n First Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Last Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Email \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default AddEditRecommendationModal;","import React, { useState, useEffect} from 'react';\r\nimport { Container } from 'react-bootstrap';\r\nimport { Form } from 'rsuite';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/EiInformation';\r\n\r\nimport Recommendation from './Recommendation';\r\n\r\nimport recommendationService from '../../../../../../services/Public/Application/EI/recommendation.service'\r\nimport applicationService from '../../../../../../services/Public/Application/EI/eiApplication.service';\r\nimport Swal from 'sweetalert2';\r\nimport AddEditRecommendationModal from './AddEditRecommendationModal';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction RecommendationPage() {\r\n const { push } = useHistory();\r\n const [modalShow, setModalShow] = useState(false);\r\n const [hasLoaded, setHasLoaded] = useState(true);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const applicationId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 12; // Revisit\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [modalData, setModalData] = useState({\r\n applicationId: 0,\r\n dateCrte: null,\r\n deleted: false,\r\n email: \"\",\r\n entityId: 0,\r\n id: 0,\r\n firstName: \"\",\r\n lastName: \"\",\r\n sentDate: null,\r\n responseDate: null,\r\n userCrte: \"\",\r\n verificationStatus: null,\r\n modalType: \"Add\"\r\n });\r\n const [gridData, setGridData] = useState([]);\r\n const [sectionData, setSectionData] = useState({});\r\n\r\n useEffect(() => {\r\n setHasLoaded(false)\r\n applicationService.eiGetSection(applicationId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n updateGridData();\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n\r\n\r\n const updateGridData = () => {\r\n recommendationService.getRecommendations(applicationId).then((response) => {\r\n setGridData(response.data);\r\n });\r\n }\r\n const openAddEditModal = (values) => {\r\n if (values.id) {\r\n var data = {\r\n ...values,\r\n modalType: \"Edit\"\r\n }\r\n setModalData(data);\r\n }\r\n else {\r\n setModalData({\r\n applicationId: applicationId,\r\n dateCrte: null,\r\n deleted: false,\r\n email: \"\",\r\n entityId: entityId,\r\n id: 0,\r\n firstName: \"\",\r\n lastName: \"\",\r\n sentDate: null,\r\n responseDate: null,\r\n userCrte: \"\",\r\n verificationStatus: null,\r\n modalType: \"Add\"\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (validation) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n }\r\n }\r\n\r\n const deleteRow = (rowData) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n recommendationService.postRecommendation({ ...rowData, deleted: true }).then((response) => {\r\n updateGridData();\r\n })\r\n }\r\n })\r\n }\r\n const emailReference = (rowData) => {\r\n recommendationService.sendRecommendationEmail(rowData.id).then((response) => {\r\n if (response.data) {\r\n Swal.fire(`You have successfully sent an email to ${rowData.firstName} ${rowData.lastName} at ${rowData.email}!`);\r\n updateGridData();\r\n }\r\n else\r\n Swal.fire(`Failed to send email: ${response.data.message}`);\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n Engineer Intern Application\r\n

Recommendations

\r\n \r\n
\r\n {hasLoaded ? <>\r\n setModalShow(false)}\r\n onsave={recommendationService.postRecommendation}\r\n />\r\n { setSectionData(data) }}\r\n onSubmit={formSubmit} >\r\n \r\n
\r\n \r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default RecommendationPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EIAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualEiApplication\";\r\n\r\nconst getExperienceRecords = (applicationId) => {\r\n return axios.get(`${EIAPPLICATIONURL}/experiencerecords`, { headers: authHeader(), params: { applicationId} });\r\n}\r\nconst postExperienceRecord = (data) => {\r\n return axios.post(`${EIAPPLICATIONURL}/experiencerecord`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getExperienceRecords,\r\n postExperienceRecord\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Modal, Row, Col, Button } from 'react-bootstrap'\r\nimport NumberFormat from 'react-number-format';\r\nimport { Input, SelectPicker, Form, ControlLabel, Schema, FormControl, FormGroup, Icon } from 'rsuite';\r\nimport experienceService from '../../../../../../services/Public/Application/EI/experience.service';\r\n//import reinstatementExperienceService from '../../../../../../services/Public/Reinstatement/PLS/experience.service';\r\nimport { getEmploymentTypes } from '../../../../../../services/Shared/codeTable.service';\r\nimport PhoneNumberMask from '../../../../../Shared/GenericComponents/PhoneNumberMask';\r\nimport RedStar from '../../../../../Shared/GenericComponents/RedStar';\r\n\r\nconst InputMask = ({ onChange, ...rest }) => {\r\n return (\r\n {\r\n onChange(event.target.value);\r\n }}\r\n />\r\n );\r\n};\r\n\r\nfunction AddEditExperienceRecordsModal(props) {\r\n const [recordModel, setRecordModel] = useState({\r\n applicationId: 0,\r\n comments: \"\",\r\n dateCrte: null,\r\n dateFrom: null,\r\n dateTo: null,\r\n deleted: false,\r\n employerName: \"\",\r\n employerPosition: \"\",\r\n employerEmail: \"\",\r\n employerPhone: \"\",\r\n verifierName: \"\",\r\n verifierPosition: \"\",\r\n verifierEmail: \"\",\r\n verifierPhone: \"\",\r\n employmentType: null,\r\n entityId: 0,\r\n id: 0,\r\n userCrte: \"\",\r\n position: \"\",\r\n location: \"\",\r\n description: \"\",\r\n acceptableDescription: \"\",\r\n //showErrors: false,\r\n emailAddresses: [\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 10,\r\n emailAddressParentType: \"Application Experience Employer\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 11,\r\n emailAddressParentType: \"Application Experience Verifier\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n phoneNumbers: [\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 10,\r\n phoneParentType: \"Application Experience Employer\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 11,\r\n phoneParentType: \"Application Experience Verifier\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n modalType: \"Add\"\r\n })\r\n const [employmentTypes, setEmploymentTypes] = useState([])\r\n useEffect(() => {\r\n getEmploymentTypes().then(setEmploymentTypes);\r\n setRecordModel(props.modaldata);\r\n }, [props.modaldata])\r\n\r\n const { StringType, ObjectType,NumberType } = Schema.Types;\r\n const model = Schema.Model({\r\n position: StringType().isRequired('This field is required.'),\r\n employerName: StringType().isRequired('This field is required.'),\r\n employerPosition: StringType().isRequired('This field is required.'),\r\n employerPhone: NumberType().pattern(/^[0-9]{10}/, \"Please enter a valid Phone Number\").isRequired(\"This field is required.\"),\r\n employerEmail: StringType().isRequired('This field is required.').isEmail(\"Enter a valid email\"),\r\n verifierName: StringType().isRequired('This field is required.'),\r\n verifierPosition: StringType().isRequired('This field is required.'),\r\n verifierPhone: NumberType().pattern(/^[0-9]{10}/, \"Please enter a valid Phone Number\").isRequired(\"This field is required.\"),\r\n verifierEmail: StringType().isRequired('This field is required.').isEmail(\"Enter a valid email\"),\r\n\r\n location: StringType().isRequired('This field is required.'),\r\n description: StringType().isRequired('This field is required.'),\r\n acceptableDescription: StringType().isRequired('This field is required.'),\r\n employmentType: ObjectType().isRequired('This field is required.'),\r\n dateFrom: StringType().isRequired('This field is required.'),\r\n dateTo: StringType().isRequired('This field is required.')\r\n })\r\n\r\n const formSubmit = (validation, event) => {\r\n var hasErrors = false;\r\n var validationObject = model.check(recordModel);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n hasErrors = true;\r\n return;\r\n }\r\n }\r\n if (!hasErrors) {\r\n submitData();\r\n }\r\n\r\n }\r\n const submitData = () => {\r\n var dataToTransmit = {\r\n ...recordModel,\r\n phoneNumbers: [\r\n {\r\n ...recordModel.phoneNumbers[0],\r\n contactPhoneNumber: recordModel.employerPhone\r\n },\r\n {\r\n ...recordModel.phoneNumbers[1],\r\n contactPhoneNumber: recordModel.verifierPhone\r\n }\r\n ],\r\n emailAddresses: [\r\n {\r\n ...recordModel.emailAddresses[0],\r\n contactEmailAddress: recordModel.employerEmail\r\n\r\n },\r\n {\r\n ...recordModel.emailAddresses[1],\r\n contactEmailAddress: recordModel.verifierEmail\r\n }\r\n ],\r\n dateFrom: new Date(recordModel.dateFrom),\r\n dateTo: new Date(recordModel.dateTo),\r\n id: recordModel.id === '' ? 0 : recordModel.id,\r\n };\r\n\r\n\r\n delete dataToTransmit.modalType;\r\n delete dataToTransmit.verifierEmail;\r\n delete dataToTransmit.verifierPhone;\r\n delete dataToTransmit.employerPhone;\r\n delete dataToTransmit.employerEmail;\r\n //delete dataToTransmit.showErrors;\r\n //if (props.appType === \"reinstatement\") {\r\n // reinstatementExperienceService.postExperienceRecord(dataToTransmit).then((response) => {\r\n // if (response.data.id) {\r\n // props.updateGrid();\r\n // props.onHide();\r\n // }\r\n // })\r\n //}\r\n //else {\r\n experienceService.postExperienceRecord(dataToTransmit).then((response) => {\r\n if (response.data.id) {\r\n props.updateGrid();\r\n props.onHide();\r\n }\r\n })\r\n //}\r\n }\r\n return (\r\n \r\n \r\n \r\n {recordModel.modalType} an Experience Record\r\n \r\n \r\n \r\n
setRecordModel(recordModel)} onSubmit={formSubmit} >\r\n \r\n \r\n \r\n \r\n \r\n Title of Position \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Location of Assignment/Engagement \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Description of Assignment \r\n \r\n indicate character of work and degree of responsibility \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n If not a licensed professional engineer/surveyor, explain why the experience should be considered acceptable. Otherwise, enter N/A. \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Employment Type \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Date From \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Date To \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n Employer Information \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Title \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Phone \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Email \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n Verifier Information \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Title \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Phone \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Email \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default AddEditExperienceRecordsModal;","import React, { useEffect, useState } from 'react'\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/EiInformation';\r\nimport AddEditExperienceRecordsModal from './ExperienceRecordModal';\r\nimport Experience from '../../../../../Shared/Card/Experience';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport applicationService from '../../../../../../services/Public/Application/EI/eiApplication.service';\r\nimport experienceService from '../../../../../../services/Public/Application/EI/experience.service';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport dayjs from 'dayjs';\r\n\r\nfunction ExperiencePage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n\r\n const [modalShow, setModalShow] = useState(false);\r\n const [gridData, setGridData] = useState([]);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 7;\r\n const [modalData, setModalData] = useState({});\r\n useEffect(() => {\r\n setHasLoaded(false)\r\n applicationService.eiGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n updateGridData();\r\n setHasLoaded(true)\r\n })\r\n }, [])\r\n const { BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasMyNceesExperience: BooleanType().isRequired('This field is required.')\r\n });\r\n const openAddEditModal = (values) => {\r\n if (values.id) {\r\n setModalData(\r\n {\r\n ...values,\r\n verifierEmail: values.emailAddresses[1].contactEmailAddress,\r\n verifierPhone: values.phoneNumbers[1].contactPhoneNumber,\r\n employerEmail: values.emailAddresses[0].contactEmailAddress,\r\n employerPhone: values.phoneNumbers[0].contactPhoneNumber,\r\n dateFrom: values.dateFrom ? dayjs(values.dateFrom).format('YYYY-MM') : null,\r\n dateTo: values.dateTo ? dayjs(values.dateTo).format('YYYY-MM') : null,\r\n modalType: 'Edit'\r\n });\r\n }\r\n else {\r\n setModalData({\r\n applicationId: appId,\r\n comments: \"\",\r\n dateCrte: null,\r\n dateFrom: null,\r\n dateTo: null,\r\n deleted: false,\r\n employerName: \"\",\r\n employerPosition: \"\",\r\n verifierName: \"\",\r\n verifierPosition: '',\r\n verifierEmail: \"\",\r\n verifierPhone: \"\",\r\n employerEmail: \"\",\r\n employerPhone: \"\",\r\n employmentType: null,\r\n entityId: entityId,\r\n id: 0,\r\n userCrte: \"\",\r\n position: \"\",\r\n location: \"\",\r\n description: \"\",\r\n acceptableDescription: \"\",\r\n emailAddresses: [\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 10,\r\n emailAddressParentType: \"Application Experience Employer\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 11,\r\n emailAddressParentType: \"Application Experience Verifier\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n phoneNumbers: [\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 10,\r\n phoneParentType: \"Application Experience Employer\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 11,\r\n phoneParentType: \"Application Experience Verifier\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n modalType: \"Add\"\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n const { push } = useHistory();\r\n\r\n const handleSubmit = (validation, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (validation) {\r\n applicationService.eiPostSectionHasExperience(appId, sectionId, sectionData.hasMyNceesExperience).then((response) => {\r\n if (response.data) // If both return something it's good to go\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n });\r\n }\r\n }\r\n }\r\n const updateGridData = () => {\r\n experienceService.getExperienceRecords(appId).then((response) => {\r\n setGridData(response.data)\r\n });\r\n }\r\n\r\n return (\r\n
\r\n \r\n Engineer Intern Application\r\n

Experience

\r\n \r\n
\r\n {hasLoaded ? <>\r\n {modalShow &&\r\n setModalShow(false)} proptitle=\"Add\" />\r\n }\r\n
setSectionData(data)}>\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ExperiencePage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EIAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualEiApplication\";\r\n\r\nconst getViolation = (applicationId) => {\r\n return axios.get(`${EIAPPLICATIONURL}/violation`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postViolation = (data) => {\r\n return axios.post(`${EIAPPLICATIONURL}/violation`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getViolation,\r\n postViolation\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport { useSelector } from 'react-redux';\r\nimport ViolationService from '../../../../../../services/Public/Application/EI/violation.service';\r\nimport applicationService from '../../../../../../services/Public/Application/EI/eiApplication.service';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport GenericViolations from '../../../../../Shared/Card/Violations';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/EiInformation';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { getCodeViolationAnswers } from '../../../../../../services/Shared/codeTable.service';\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 4;\r\n\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n answers: [],\r\n signature: undefined,\r\n yesAnswerExplanation: \"\",\r\n files: [],\r\n filesForDisplay: [],\r\n issues: []\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true) >= 0;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n signature: StringType().isRequired('This field is required.'),\r\n yesAnswerExplanation: StringType().isRequired('This field is required.'),\r\n });\r\n\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n applicationService.eiGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n ViolationService.getViolation(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, issues: formData.issues, files: formData.files, filesForDisplay: formData.filesForDisplay, signature: response.data.electronicSignature });\r\n }\r\n else {\r\n getCodeViolationAnswers(1).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n\r\n }, [])\r\n\r\n const handleSubmit = (val, event) => {\r\n setShowFormErrors(true)\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n if (formData.signature) {\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, applicationId: store.currentApplicationId, entityId: store.userInfo.EntityId };\r\n ViolationService.postViolation(dataTransfer).then((response) => {\r\n applicationService.eiPostSection(store.currentApplicationId, sectionId, formData.signature).then((response) => {\r\n if (response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n })\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n Engineer Intern Application\r\n

Violations

\r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EIAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualEiApplication\";\r\n\r\nconst getExamination = (applicationId) => {\r\n return axios.get(`${EIAPPLICATIONURL}/examinationverification`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postExamination = (data) => {\r\n return axios.post(`${EIAPPLICATIONURL}/examinationverification`, data, { headers: authHeader() });\r\n}\r\n\r\n\r\nexport default {\r\n getExamination,\r\n postExamination\r\n}","import React, { useState, useEffect } from 'react'\r\nimport { Card, Col, Container, Row } from 'react-bootstrap';\r\nimport { ControlLabel, Form, FormControl, InputPicker, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport { getStates } from '../../../../../../services/Shared/codeTable.service'\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport applicationService from '../../../../../../services/Public/Application/EI/eiApplication.service';\r\nimport examinationService from '../../../../../../services/Public/Application/EI/examination.service'\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/EiInformation';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport dayjs from 'dayjs';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction ExaminationVerification() {\r\n const [states, setStates] = useState([])\r\n const routes = useSelector(x => x.currentRoutes);\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const sectionId = 11;\r\n const [formModel, setFormModel] = useState({\r\n id: 0,\r\n applicationId: appId,\r\n entityId: entityId,\r\n jurisdictionState: null,\r\n dateOfExam: null,\r\n userCrte: \"\",\r\n dateCrte: new Date(),\r\n deleted: false});\r\n const [sectionData, setSectionData] = useState({});\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const { StringType, ObjectType } = Schema.Types;\r\n const model = Schema.Model({\r\n jurisdictionState: ObjectType().isRequired('This field is required.'),\r\n dateOfExam: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n getStates().then(setStates);\r\n examinationService.getExamination(appId).then((response) => {\r\n if (response.data) {\r\n setFormModel({\r\n ...response.data,\r\n dateOfExam: response.data.dateOfExam != null ? dayjs(response.data.dateOfExam).format('YYYY-MM-DD') : null});\r\n }\r\n applicationService.eiGetSection(appId, sectionId).then((data) => {\r\n setSectionData(data.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n }, [])\r\n const formSubmit = (validation, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (validation) {\r\n //setFormModel({ ...formModel, dateOfExam: dayjs(formModel.dateOfExam).format('MM-dd-yyyy')})\r\n examinationService.postExamination(formModel).then((response) => {\r\n if (response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n\r\n }\r\n })\r\n }\r\n }\r\n }\r\n return (\r\n \r\n Engineer Intern Application\r\n

Examination

\r\n \r\n
\r\n
\r\n \r\n \r\n Fundamentals Exam (FE)\r\n \r\n {hasLoaded ?\r\n \r\n \r\n \r\n Jurisdiction\r\n \r\n \r\n { if (label.toLowerCase().startsWith(userInput.toLowerCase()) || !userInput) return true; }}\r\n />\r\n \r\n \r\n \r\n \r\n Date\r\n \r\n \r\n \r\n \r\n \r\n \r\n : \r\n }\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}\r\nexport default ExaminationVerification","import React, { useEffect, useState } from 'react'\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Acknowledgement from '../../../../../Shared/Card/Acknowledgement';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/EiInformation';\r\nimport applicationService from '../../../../../../services/Public/Application/EI/eiApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction AcknowledgementPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false)\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 8; // Revisit\r\n const [formModel, setFormModel] = useState({})\r\n useEffect(() => {\r\n applicationService.eiGetSection(appId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!formModel.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n }\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n const submitData = (isForSubmit) => {\r\n applicationService.eiPostSection(appId, sectionId, formModel.electronicSignature).then((response) => {\r\n if (isForSubmit && response.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n Engineer Intern Application\r\n

Acknowledgement

\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/EiInformation';\r\nimport applicationService from '../../../../../../services/Public/Application/application.service';\r\nimport eiApplicationService, { getSections } from '../../../../../../services/Public/Application/EI/eiApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../../Shared/Card/ReviewPdf';\r\nimport { List } from 'rsuite';\r\nimport shoppingCartService from '../../../../../../services/Public/shoppingCart.service';\r\nimport Swal from 'sweetalert2';\r\n\r\nfunction ReviewPage() {\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const [hasIssues, setHasIssues] = useState(true)\r\n const { push } = useHistory();\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const sectionId = 9;\r\n const [allSections, setAllSections] = useState([]);\r\n const [sectionData, setSectionData] = useState({});\r\n useEffect(() => {\r\n getSections().then(setAllSections);\r\n eiApplicationService.eiGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n })\r\n }, [])\r\n\r\n const navigateToPage = (sectionId) => {\r\n push(routes.filter(x => x.sectionId == (sectionId))[0].route)\r\n }\r\n const validateApplication = () => {\r\n setHasLoaded(false);\r\n applicationService.validateApplication(appId).then((response) => {\r\n let errors = response.data.map((error, i) => {\r\n return { navigateToPage(error.sectionId) }}>\r\n Error{error.errors.length > 1 ? 's' : ''} in {allSections.filter(x => x.id == error.sectionId)[0].sectionTitle}: {error.errors.join(', ')}\r\n \r\n })\r\n if (response.data?.length)\r\n setViolationIssuesHtml(\r\n \r\n {errors}\r\n \r\n )\r\n else {\r\n setViolationIssuesHtml('')\r\n setHasIssues(false);\r\n Swal.fire(\"Validation Successful\", `Your application passed all validation checks. You may now download a PDF version to keep for your records.`, 'success')\r\n }\r\n setHasLoaded(true);\r\n })\r\n }\r\n const submitApplication = () => {\r\n setHasLoaded(false);\r\n shoppingCartService.addToShoppingCart(appId, 2).then((data) => {\r\n if (data.data) { push('/individual/shoppingcart'); }\r\n\r\n })\r\n\r\n //applicationService.submitApplication(appId).then((data) => {\r\n // if (data.data?.length) {\r\n // setHasIssues(true);\r\n // let errors = data.data.map((error, i) => {\r\n // return { navigateToPage(error.sectionId) }}>\r\n // Error{error.errors.length > 1 ? 's' : ''} in {allSections.filter(x => x.id == error.sectionId)[0].sectionTitle}: {error.errors.join(', ')}\r\n // \r\n // })\r\n // setViolationIssuesHtml(\r\n // \r\n // {errors}\r\n // \r\n // )\r\n // setHasLoaded(true);\r\n // }\r\n // else {\r\n // setHasIssues(false);\r\n // setViolationIssuesHtml(\"\")\r\n // eiApplicationService.eiGetSection(appId, sectionId).then((response) => {\r\n // setSectionData(response.data);\r\n // setHasLoaded(true);\r\n // })\r\n // }\r\n //})\r\n }\r\n\r\n return (\r\n
\r\n \r\n Engineer Intern Application\r\n

Review

\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {sectionData.isUserEditable ?\r\n : \r\n }\r\n\r\n {hasLoaded ?\r\n <>\r\n {\r\n (!hasIssues && sectionData.isUserEditable) &&\r\n <>\r\n \r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n {violationIssuesHtml}\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EIRENEWALURL = process.env.REACT_APP_APIURL + \"/api/IndividualEiRenewal\";\r\n\r\nconst getContactInformation = (renewalId) => {\r\n return axios.get(`${EIRENEWALURL}/contactinformation`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nexport default {\r\n getContactInformation\r\n}","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst eiGetSection = (renewalId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/IndividualEiRenewal/section`, { headers: authHeader(), params: { renewalId, sectionId } });\r\n}\r\nconst eiPostSection = (renewalId, sectionId, electronicSignature) => {\r\n\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualEiRenewal/signsection`, null, { headers: authHeader(), params: { renewalId, sectionId, electronicSignature } });\r\n}\r\n\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Complete this section providing all required contact information.\",\r\n },\r\n {\r\n id: 4,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 6,\r\n sectionTitle: \"Journal & Phone Privacy Options\",\r\n sectionContent: \"Verify your subscription and distribution options.\",\r\n },\r\n {\r\n id: 7,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Electronically sign (type your name) and date.\",\r\n },\r\n {\r\n id: 8,\r\n sectionTitle: \"Review\",\r\n sectionContent: 'Review your answers. If you need to change an answer, click the \"Section\" above to go back to the appropriate section',\r\n }\r\n])\r\n\r\nexport default {\r\n eiGetSection,\r\n eiPostSection\r\n}","import React, { useState } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { Form } from 'rsuite';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/EiInformation';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport contactService from '../../../../../../services/Public/Renewal/EI/contact.service';\r\nimport renewalService from '../../../../../../services/Public/Renewal/EI/eiRenewal.service';\r\nimport { useSelector } from 'react-redux';\r\nimport { useEffect } from 'react';\r\nimport Swal from 'sweetalert2';\r\nimport PersonalInformation from '../../../../../Shared/Card/Contact/PersonalInformation';\r\nimport MailingAddress from '../../../../../Shared/Card/Contact/MailingAddress';\r\nimport PublicAddress from '../../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport dayjs from 'dayjs';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction ContactInformationPage() {\r\n\r\n const { push } = useHistory();\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [formModel, setFormModel] = useState({});\r\n const [tabPane, setTabPane] = useState(\"personalInformation\")\r\n const [sectionData, setSectionData] = useState({});\r\n\r\n useEffect(() => {\r\n contactService.getContactInformation(renewalId).then((response) => {\r\n var data = response.data;\r\n\r\n setFormModel({\r\n ...data,\r\n dateOfBirth: data.dateOfBirth != null ? dayjs(data.dateOfBirth).format('YYYY-MM-DD') : null,\r\n altEmail: data.alternateEmailAddress?.contactEmailAddress,\r\n primaryEmail: data.primaryEmailAddress?.contactEmailAddress,\r\n cellPhoneNum: data.cellPhone?.contactPhoneNumber,\r\n workPhoneNum: data.workPhone?.contactPhoneNumber,\r\n homePhoneNum: data.homePhone?.contactPhoneNumber\r\n })\r\n renewalService.eiGetSection(renewalId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n }, [])\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!sectionData?.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n submitData(true);\r\n }\r\n }\r\n\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n\r\n if (isForSubmit) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n Swal.fire(\"Saved!\");\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n Engineer Intern Renewal\r\n

Contact

\r\n \r\n
\r\n\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)} onSubmit={formSubmit} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EIRENEWALURL = process.env.REACT_APP_APIURL + \"/api/IndividualEiRenewal\";\r\n\r\nconst getViolation = (renewalId) => {\r\n return axios.get(`${EIRENEWALURL}/violation`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nconst postViolation = (data) => {\r\n return axios.post(`${EIRENEWALURL}/violation`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getViolation,\r\n postViolation\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { Container } from 'react-bootstrap';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport renewalService from '../../../../../../services/Public/Renewal/EI/eiRenewal.service';\r\nimport violationService from '../../../../../../services/Public/Renewal/EI/violation.service';\r\nimport { useSelector } from 'react-redux';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/EiInformation';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport { getRenewalCodeViolationAnswers } from '../../../../../../services/Shared/codeTable.service';\r\nimport GenericViolations from '../../../../../Shared/Card/Violations';\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const { push } = useHistory();\r\n const sectionId = 4;\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n\r\n const [formData, updateFormData] = useState({\r\n renewalId: renewalId,\r\n dateCrte: new Date(),\r\n entityId: entityId,\r\n id: 0,\r\n userCrte: \"\",\r\n yesAnswerExplanation: \"\"\r\n });\r\n\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n renewalService.eiGetSection(renewalId, sectionId).then((response) => {\r\n violationService.getViolation(renewalId).then((data) => {\r\n if (data.data) {\r\n\r\n updateFormData(data.data);\r\n }\r\n else {\r\n getRenewalCodeViolationAnswers(3).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n\r\n }, [])\r\n\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n yesAnswerExplanation: StringType().isRequired('This field is required.')\r\n });\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true) >= 0;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n\r\n\r\n const handleSubmit = (val, event) => {\r\n setShowFormErrors(true)\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n violationService.postViolation(formData).then((response) => {\r\n if (response.data.id) {\r\n push(routes.filter(x => x.sectionId == (sectionId + 2))[0].route)\r\n }\r\n\r\n })\r\n }\r\n }\r\n\r\n\r\n\r\n return (\r\n
\r\n \r\n Engineer Intern Renewal\r\n

Violations

\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import React from 'react';\r\nimport { Card } from 'react-bootstrap'\r\nimport { FormGroup, RadioGroup, FormControl, Radio } from 'rsuite'\r\nimport RedStar from '../../../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction JournalPrivacyCard() {\r\n return (\r\n
\r\n \r\n
Journal & Privacy (Professional)
\r\n \r\n

Please send me the Louisiana Engineer & Land Surveyor Journal via:

\r\n
\r\n \r\n \r\n Email\r\n Mail\r\n Do Not Send\r\n \r\n \r\n

Do you want your email address(es) and telephone number(s), which you have provided us, to be kept private and not made available to vendors requesting rosters for distribution\r\n of engineering/land surveying CPD information or to other third parties?

\r\n
\r\n \r\n \r\n Yes, keep private\r\n No, share when requested\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default JournalPrivacyCard;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EINOTIFICATIONPREFERENCEURL = process.env.REACT_APP_APIURL + \"/api/NotificationPreferences\";\r\n\r\n\r\nconst getPrivacyData = () => {\r\n return axios.get(`${EINOTIFICATIONPREFERENCEURL}/journalandprivacy`, { headers: authHeader() });\r\n}\r\nconst postPrivacyData = (data) => {\r\n return axios.post(`${EINOTIFICATIONPREFERENCEURL}/journalandprivacy`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getPrivacyData,\r\n postPrivacyData\r\n}","import React, { useState } from 'react'\r\nimport { Container } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport JournalPrivacyCard from './JournalPrivacyCard';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport { useEffect } from 'react';\r\nimport privacyService from '../../../../../../services/Public/Renewal/EI/privacy.service';\r\nimport Swal from 'sweetalert2';\r\nimport renewalService from '../../../../../../services/Public/Renewal/EI/eiRenewal.service';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/EiInformation';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction Privacy() {\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const { push } = useHistory();\r\n const sectionId = 6;\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n emailPhonePrivacy: BooleanType().isRequired('This field is required.'),\r\n receiveMethod: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const [formData, updateFormData] = useState({\r\n id: 0,\r\n entityId: entityId,\r\n emailPhonePrivacy: null,\r\n journalEmail: null,\r\n journalMail: null,\r\n journalDoNotSend: null,\r\n userCrte: \"\",\r\n dateCrte: new Date(),\r\n deleted: false,\r\n receiveMethod: \"\"\r\n });\r\n\r\n useEffect(() => {\r\n renewalService.eiGetSection(renewalId, sectionId).then((data) => {\r\n setSectionData(data.data)\r\n privacyService.getPrivacyData().then((response) => {\r\n if (response.data) {\r\n updateFormData({\r\n ...response.data,\r\n receiveMethod: response.data.journalEmail\r\n ? \"email\"\r\n : response.data.journalMail\r\n ? \"mail\"\r\n : response.data.journalDoNotSend\r\n ? \"none\"\r\n : null\r\n })\r\n }\r\n })\r\n })\r\n }, [])\r\n\r\n const handleSubmit = (val, event) => {\r\n\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n if (val) {\r\n submitData(true);\r\n }\r\n }\r\n const handleSave = () => {\r\n submitData();\r\n }\r\n const submitData = (isForSubmit) => {\r\n var dataToTransmit = {\r\n ...formData,\r\n journalEmail: formData.receiveMethod === \"email\" ? true : null,\r\n journalMail: formData.receiveMethod === \"mail\" ? true : null,\r\n journalDoNotSend: formData.receiveMethod === \"none\" ? true : null,\r\n }\r\n\r\n privacyService.postPrivacyData(dataToTransmit).then((response) => {\r\n if (response.data.id) {\r\n if (isForSubmit)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n else\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n }\r\n return (\r\n
\r\n \r\n Engineer Intern Renewal\r\n

Journal & Privacy Option

\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default Privacy;","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, ListGroup } from 'react-bootstrap';\r\nimport { useSelector } from 'react-redux';\r\nimport { getSections } from '../../../../../../services/Public/Renewal/EI/eiRenewal.service';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/EiInformation';\r\nimport Section from '../../../../../Shared/Sections/Section';\r\nimport issuesService from '../../../../../../services/Shared/issues.service';\r\n\r\nfunction Index() {\r\n const [sections, setSections] = useState(null);\r\n const selector = useSelector(x => x);\r\n useEffect(() => {\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(2, selector.currentApplicationId).then((data) => {\r\n setSections(selector.currentRoutes != null ? selector.currentRoutes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route;\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n })\r\n })\r\n }, [])\r\n return (\r\n
\r\n \r\n

Engineer Intern Renewal

\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n

Sections to Complete

\r\n \r\n {sections}\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default Index;","import React, { useEffect, useState } from 'react'\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Acknowledgement from '../../../../../Shared/Card/Acknowledgement';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/EiInformation';\r\nimport renewalService from '../../../../../../services/Public/Renewal/EI/eiRenewal.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction AcknowledgementPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false)\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 7; // Revisit\r\n const [formModel, setFormModel] = useState({})\r\n useEffect(() => {\r\n renewalService.eiGetSection(renewalId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!formModel.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n renewalService.eiPostSection(renewalId, sectionId, formModel.electronicSignature).then((response) => {\r\n if (isForSubmit && response.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n Engineer Intern Renewal\r\n

Acknowledgement

\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/EiInformation';\r\nimport renewalService from '../../../../../../services/Public/Renewal/renewal.service';\r\nimport eiRenewalService, { getSections } from '../../../../../../services/Public/Renewal/EI/eiRenewal.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../../Shared/Card/ReviewPdf';\r\nimport { List } from 'rsuite';\r\nimport shoppingCartService from '../../../../../../services/Public/shoppingCart.service';\r\nimport Swal from 'sweetalert2';\r\n\r\nfunction ReviewPage() {\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const [hasIssues, setHasIssues] = useState(true)\r\n const { push } = useHistory();\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const sectionId = 8;\r\n const [allSections, setAllSections] = useState([]);\r\n const [sectionData, setSectionData] = useState({});\r\n useEffect(() => {\r\n getSections().then(setAllSections);\r\n eiRenewalService.eiGetSection(renewalId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n })\r\n }, [])\r\n\r\n const navigateToPage = (sectionId) => {\r\n push(routes.filter(x => x.sectionId == (sectionId))[0].route)\r\n }\r\n const validateRenewal = () => {\r\n setHasLoaded(false);\r\n renewalService.validateRenewal(renewalId).then((response) => {\r\n let errors = response.data.map((error, i) => {\r\n return { navigateToPage(error.sectionId) }}>\r\n Error{error.errors.length > 1 ? 's' : ''} in {allSections.filter(x => x.id == error.sectionId)[0].sectionTitle}: {error.errors.join(', ')}\r\n \r\n })\r\n if (response.data?.length)\r\n setViolationIssuesHtml(\r\n \r\n {errors}\r\n \r\n )\r\n else {\r\n setViolationIssuesHtml('')\r\n setHasIssues(false);\r\n Swal.fire(\"Validation Successful\", `Your renewal passed all validation checks. You may now download a PDF version to keep for your records.`, 'success')\r\n }\r\n setHasLoaded(true);\r\n })\r\n }\r\n const submitRenewal = () => {\r\n setHasLoaded(false);\r\n shoppingCartService.addToShoppingCart(renewalId, 25).then((data) => {\r\n if (data.data) { push('/individual/shoppingcart'); }\r\n\r\n })\r\n\r\n\r\n //renewalService.submitRenewal(renewalId).then((data) => {\r\n // if (data.data?.length) {\r\n // setHasIssues(true);\r\n // let errors = data.data.map((error, i) => {\r\n // return { navigateToPage(error.sectionId) }}>\r\n // Error{error.errors.length > 1 ? 's' : ''} in {allSections.filter(x => x.id == error.sectionId)[0].sectionTitle}: {error.errors.join(', ')}\r\n // \r\n // })\r\n // setViolationIssuesHtml(\r\n // \r\n // {errors}\r\n // \r\n // )\r\n // setHasLoaded(true);\r\n // }\r\n // else {\r\n // setHasIssues(false);\r\n // setViolationIssuesHtml(\"\")\r\n // eiRenewalService.eiGetSection(renewalId, sectionId).then((response) => {\r\n // setSectionData(response.data);\r\n // setHasLoaded(true);\r\n // })\r\n // }\r\n //})\r\n }\r\n\r\n return (\r\n
\r\n \r\n Engineer Intern Renewal\r\n

Review

\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {sectionData.isUserEditable ?\r\n : \r\n }\r\n {hasLoaded ?\r\n <>\r\n {\r\n (!hasIssues && sectionData.isUserEditable) &&\r\n <>\r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n {violationIssuesHtml}\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst eiGetSection = (reinstatementId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/IndividualEiReinstatement/section`, { headers: authHeader(), params: { reinstatementId, sectionId } });\r\n}\r\nconst eiPostSection = (reinstatementId, sectionId, electronicSignature) => {\r\n\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualEiReinstatement/signsection`, null, { headers: authHeader(), params: { reinstatementId, sectionId, electronicSignature } });\r\n}\r\nconst eiPostSectionHasMyNceesEducation = (reinstatementId, sectionId, hasMyNceesEducation) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualEiReinstatement/setsectionhasmynceeseducation`, null, { headers: authHeader(), params: { reinstatementId, sectionId, hasMyNceesEducation } });\r\n}\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Ensure your contact information, including your mailing and public addresses are up to date. Ensure you put LAPELS emails on your safe sender list.\",\r\n },\r\n {\r\n id: 16,\r\n sectionTitle: \"Education\",\r\n sectionContent: \"All transcripts must be verified in your NCEES record for EI/LSI reinstatement application processing.\",\r\n },\r\n {\r\n id: 3,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 17,\r\n sectionTitle: \"Examination Verification in Louisiana or Other Jurisdictions\",\r\n sectionContent: \"This must be uploaded to your MyNCEES account.\",\r\n },\r\n {\r\n id: 9,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Electronically sign (type your name) and date.\",\r\n },\r\n {\r\n id: 10,\r\n sectionTitle: \"Review\",\r\n sectionContent: 'Review your answers. If you need to change an answer, click the \"Section\" above to go back to the appropriate section',\r\n }\r\n])\r\n\r\nexport default {\r\n eiGetSection,\r\n eiPostSection,\r\n eiPostSectionHasMyNceesEducation\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, ListGroup } from 'react-bootstrap';\r\nimport Section from '../../../../../Shared/Sections/Section';\r\nimport { getSections } from '../../../../../../services/Public/Reinstatement/EI/eiReinstatement.service';\r\nimport { useSelector } from 'react-redux';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/EiInformation';\r\nimport issuesService from '../../../../../../services/Shared/issues.service';\r\n\r\nfunction Index() {\r\n const [sections, setSections] = useState(null);\r\n const selector = useSelector(x => x);\r\n useEffect(() => {\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(3, selector.currentApplicationId).then((data) => {\r\n setSections(selector.currentRoutes != null ? selector.currentRoutes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route;\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n });\r\n })\r\n }, [])\r\n\r\n return (\r\n
\r\n \r\n Engineer Intern Reinstatement\r\n

Reinstatement

\r\n \r\n \r\n \r\n
\r\n \r\n \r\n

Sections to Complete

\r\n \r\n {sections}\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default Index;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EIREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/IndividualEiReinstatement\";\r\n\r\nconst getContactInformation = (reinstatementId) => {\r\n return axios.get(`${EIREINSTATEMENTURL}/contactinformation`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postContactInformation = (reinstatementId, certDisplayName) => {\r\n return axios.post(`${EIREINSTATEMENTURL}/contactinformation`, null, { headers: authHeader(), params: { reinstatementId, certDisplayName } });\r\n}\r\n\r\nexport default {\r\n getContactInformation,\r\n postContactInformation\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { Form } from 'rsuite';\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Swal from 'sweetalert2';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/EiInformation'\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport PersonalInformation from '../../../../../Shared/Card/Contact/PersonalInformation';\r\nimport MailingAddress from '../../../../../Shared/Card/Contact/MailingAddress';\r\nimport PublicAddress from '../../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\n\r\nimport contactService from '../../../../../../services/Public/Reinstatement/EI/contact.service';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/EI/eiReinstatement.service';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport dayjs from 'dayjs';\r\n\r\nfunction ContactInformationPage() {\r\n\r\n const { push } = useHistory();\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [formModel, setFormModel] = useState({});\r\n const [tabPane, setTabPane] = useState(\"personalInformation\")\r\n const [sectionData, setSectionData] = useState({});\r\n useEffect(() => {\r\n contactService.getContactInformation(appId).then((response) => {\r\n var data = response.data;\r\n\r\n setFormModel({\r\n ...data,\r\n dateOfBirth: data.dateOfBirth != null ? dayjs(data.dateOfBirth).format('YYYY-MM-DD') : null,\r\n altEmail: data.alternateEmailAddress?.contactEmailAddress,\r\n primaryEmail: data.primaryEmailAddress?.contactEmailAddress,\r\n cellPhoneNum: data.cellPhone?.contactPhoneNumber,\r\n workPhoneNum: data.workPhone?.contactPhoneNumber,\r\n homePhoneNum: data.homePhone?.contactPhoneNumber\r\n })\r\n reinstatementService.eiGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n }, [])\r\n\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!sectionData?.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n submitData(true);\r\n }\r\n }\r\n\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n\r\n if (isForSubmit) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n Swal.fire(\"Saved!\");\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n Engineer Intern Reinstatement\r\n

Contact

\r\n \r\n
\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)} onSubmit={formSubmit} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n {\r\n hasLoaded &&\r\n <>\r\n
\r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import React, { useState, useEffect } from 'react';\r\nimport { Card, Row, Col, Button } from 'react-bootstrap'\r\nimport { Icon } from 'rsuite';\r\nimport YesNoRadioOption from '../../../../../Shared/RadioButton/YesNoRadioOption';\r\nimport RedStar from '../../../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction EducationRecord(props) {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
Education Records
\r\n \r\n\r\n
\r\n
\r\n \r\n

\r\n I have education transcript(s) verified in MyNCEES record.\r\n

\r\n
\r\n \r\n {(props.hideGrid === false) &&\r\n\r\n \r\n Please go to ncees.org to have transcripts verified. Your application cannot be processed until your are a record holder and transcripts are verified in your MYNCEES account.\r\n \r\n }\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\nexport default EducationRecord;","import React, { useEffect, useState } from 'react';\r\nimport { Container } from 'react-bootstrap';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport EducationRecord from './EducationRecords';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/EiInformation';\r\nimport { useSelector } from 'react-redux';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/EI/eiReinstatement.service';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction EducationPage() {\r\n const [hideGrids, setHideGrids] = useState(true);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 16;\r\n const [sectionData, setSectionData] = useState({});\r\n useEffect(() => {\r\n setHasLoaded(false)\r\n reinstatementService.eiGetSection(reinstatementId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHideGrids(response.data.hasMyNceesEducation ?? true);\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n const { BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasMyNceesEducation: BooleanType().isRequired('This field is required.')\r\n });\r\n const handleMyNceesEducationChange = (val) => {\r\n setHideGrids(val);\r\n }\r\n\r\n const submitForm = (validation, event) => {\r\n if (!sectionData.isUserEditable)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n else {\r\n if (validation) {\r\n reinstatementService.eiPostSectionHasMyNceesEducation(reinstatementId, sectionId, sectionData.hasMyNceesEducation).then(() => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n })\r\n }\r\n }\r\n }\r\n return (\r\n
\r\n \r\n Engineer Intern Reinstatement\r\n

Education

\r\n \r\n
\r\n {hasLoaded ? <>\r\n setSectionData(data)}\r\n >\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default EducationPage;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EIREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/IndividualEiReinstatement\";\r\n\r\nconst getExamination = (reinstatementId) => {\r\n return axios.get(`${EIREINSTATEMENTURL}/examinationverification`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postExamination = (data) => {\r\n return axios.post(`${EIREINSTATEMENTURL}/examinationverification`, data, { headers: authHeader() });\r\n}\r\n\r\n\r\nexport default {\r\n getExamination,\r\n postExamination\r\n}","import React, { useState, useEffect } from 'react'\r\nimport { Card, Col, Container, Row } from 'react-bootstrap';\r\nimport { ControlLabel, Form, FormControl, InputPicker, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport { getStates } from '../../../../../../services/Shared/codeTable.service'\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/EI/eiReinstatement.service';\r\nimport examinationService from '../../../../../../services/Public/Reinstatement/EI/examination.service'\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/EiInformation';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport dayjs from 'dayjs';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction ExaminationVerification() {\r\n const [states, setStates] = useState([])\r\n const routes = useSelector(x => x.currentRoutes);\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const sectionId = 17;\r\n const [formModel, setFormModel] = useState({\r\n id: 0,\r\n reinstatementId: reinstatementId,\r\n entityId: entityId,\r\n jurisdictionState: null,\r\n dateOfExam: null,\r\n userCrte: \"\",\r\n dateCrte: new Date(),\r\n deleted: false\r\n });\r\n const [sectionData, setSectionData] = useState({});\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const { StringType, ObjectType } = Schema.Types;\r\n const model = Schema.Model({\r\n jurisdictionState: ObjectType().isRequired('This field is required.'),\r\n dateOfExam: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n getStates().then(setStates);\r\n examinationService.getExamination(reinstatementId).then((response) => {\r\n if (response.data) {\r\n setFormModel({\r\n ...response.data,\r\n dateOfExam: response.data.dateOfExam != null ? dayjs(response.data.dateOfExam).format('YYYY-MM-DD') : null\r\n });\r\n }\r\n reinstatementService.eiGetSection(reinstatementId, sectionId).then((data) => {\r\n setSectionData(data.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n }, [])\r\n const formSubmit = (validation, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (validation) {\r\n //setFormModel({ ...formModel, dateOfExam: dayjs(formModel.dateOfExam).format('MM-dd-yyyy')})\r\n examinationService.postExamination(formModel).then((response) => {\r\n if (response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n\r\n }\r\n })\r\n }\r\n }\r\n }\r\n return (\r\n \r\n Engineer Intern Reinstatement\r\n

Examination

\r\n \r\n
\r\n
\r\n \r\n \r\n Fundamentals Exam (FE)\r\n \r\n {hasLoaded ?\r\n \r\n \r\n \r\n Jurisdiction\r\n \r\n \r\n { if (label.toLowerCase().startsWith(userInput.toLowerCase()) || !userInput) return true; }}\r\n />\r\n \r\n \r\n \r\n \r\n Date\r\n \r\n \r\n \r\n \r\n \r\n \r\n : \r\n }\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}\r\nexport default ExaminationVerification","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EIREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/IndividualEiReinstatement\";\r\n\r\nconst getViolation = (reinstatementId) => {\r\n return axios.get(`${EIREINSTATEMENTURL}/violation`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postViolation = (data) => {\r\n return axios.post(`${EIREINSTATEMENTURL}/violation`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getViolation,\r\n postViolation\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/EI/eiReinstatement.service';\r\nimport violationService from '../../../../../../services/Public/Reinstatement/EI/violation.service';\r\nimport Swal from 'sweetalert2';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/EiInformation';\r\nimport { getReinstatementCodeViolationAnswers } from '../../../../../../services/Shared/codeTable.service';\r\nimport GenericViolations from '../../../../../Shared/Card/Violations';\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 3;\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n signature: StringType().isRequired('This field is required.'),\r\n yesAnswerExplanation: StringType().isRequired('This field is required.'),\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n reinstatementService.eiGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n violationService.getViolation(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, issues: formData.issues, files: formData.files, filesForDisplay: formData.filesForDisplay, signature: response.data.electronicSignature });\r\n }\r\n else {\r\n getReinstatementCodeViolationAnswers(3).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n signature: undefined,\r\n yesAnswerExplanation: \"\",\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true && x.codeViolationQuestion.versionNumber < 3) >= 0;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n\r\n //Verison 3+ violations\r\n const showBlukViolationExplanation = formData?.answers?.findIndex(x => x.answer == true && !x.codeViolationQuestion.hasExplanation && x.codeViolationQuestion.versionNumber >= 3) >= 0 ?\r\n `If the answer to question number 2-${formData.answers[0].codeViolationQuestion.versionNumber == 3 ? '6' : '5'} is \"Yes\", provide the date and the pertinent facts of the case or proceeding including its final disposition. Upload additional pages if necessary` : \"\";\r\n\r\n\r\n const handleSubmit = (val, event) => {\r\n setShowFormErrors(true)\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n if (validationObject[key].hasError && (showBlukViolationExplanation && key.includes(\"yesAnswerExplanation\"))) {\r\n return;\r\n }\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer === true && x.codeViolationQuestion.hasExplanation && !x.violationExplanation) >= 0) {//undefined check\r\n return;\r\n }\r\n if (formData.signature) {\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, reinstatementId: store.currentApplicationId, entityId: store.userInfo.EntityId };\r\n violationService.postViolation(dataTransfer).then((response) => {\r\n reinstatementService.eiPostSection(store.currentApplicationId, sectionId, formData.signature).then((response) => {\r\n if (response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n })\r\n });\r\n }\r\n }\r\n }\r\n }\r\n const formSave = () => {\r\n var dataTransfer = { ...formData, reinstatementId: store.currentApplicationId, entityId: store.userInfo.EntityId };\r\n violationService.postViolation(dataTransfer).then((response) => {\r\n updateFormData({ ...response.data, signature: formData.signature });\r\n reinstatementService.eiPostSection(store.currentApplicationId, sectionId, formData.signature).then((response) => {\r\n Swal.fire(\"Saved!\")\r\n })\r\n });\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n Engineer Intern Reinstatement\r\n

Violations

\r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import React, { useState, useEffect } from 'react'\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container, Row, Col, Card } from 'react-bootstrap';\r\nimport { Form, FormControl, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/EI/eiReinstatement.service'\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport RedStar from '../../../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction AcknowledgementPage() {\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const sectionId = 9;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [formModel, setFormModel] = useState({})\r\n useEffect(() => {\r\n reinstatementService.eiGetSection(reinstatementId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n setHasLoaded(true)\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!formModel.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n const submitData = (isForSubmit) => {\r\n reinstatementService.eiPostSection(reinstatementId, sectionId, formModel.electronicSignature).then((response) => {\r\n if (isForSubmit && response.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n Engineer Intern Reinstatement\r\n

Acknowledgement

\r\n {hasLoaded ?\r\n <>\r\n \r\n
Acknowledgement
\r\n \r\n

I, the applicant named in this application, have read the contents hereof, and to the best of my knowledge, information and believe the statements and information in this application are true and correct in substance and effect and are made in good faith. I have not omitted any information requested in this application. I am aware that such an omission or untrue response may constitute fraud or deceit, material misstatement, perjury or the giving of false or forged evidence under Louisiana Revised Statutes 37:698 and 37:700. I understand and agree that any responses verifying my education, personal references, and experience shall be considered privileged and confidential and that this information was not reviewed by me nor will it be available for my inspection or review in the future.

\r\n
\r\n
    \r\n
  • It is your responsibility to check your LOLA account frequently for any pending issues. Ensure you add \"lapels.com\" to your \"Safe Senders\" list in your email application and/or (if applicable) in your network firewall.
  • \r\n
  • Once we receive a complete application, with no pending issues, process time may take 6-8 weeks.
  • \r\n
  • \r\n I certify that all information provided in this online reinstatement is true and correct to the best of my knowledge, information and belief.\r\n
  • \r\n
  • \r\n I am aware that an omission or untrue response may constitute fraud, deceit, material misstatement, perjury or the giving of false or forged evidence under Louisiana Revised Statutes 37:698 and 37:700\r\n
  • \r\n\r\n
  • \r\n IMPORTANT: Payments are non-refundable. If you believe that you will be reimbursed for your fee, verify this BEFORE proceeding further\r\n
  • \r\n
  • \r\n If you are unsure about getting reimbursed by your firm, please stop the application process here and come back after you verify. Your answers will be saved.\r\n
  • \r\n
\r\n
\r\n \r\n \r\n
Electronic Signature of Applicant:
\r\n (Type full name)\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n : \r\n }\r\n\r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { List } from 'rsuite';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/EiInformation';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../../Shared/Card/ReviewPdf';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/reinstatement.service';\r\nimport eiReinstatementService, { getSections } from '../../../../../../services/Public/Reinstatement/EI/eiReinstatement.service';\r\nimport shoppingCartService from '../../../../../../services/Public/shoppingCart.service';\r\nimport Swal from 'sweetalert2';\r\n\r\nfunction ReviewPage() {\r\n const [hasIssues, setHasIssues] = useState(true)\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const { push } = useHistory();\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [allSections, setAllSections] = useState([]);\r\n const [sectionData, setSectionData] = useState({});\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const sectionId = 10;\r\n\r\n useEffect(() => {\r\n getSections().then(setAllSections);\r\n eiReinstatementService.eiGetSection(reinstatementId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n })\r\n }, [])\r\n const navigateToPage = (sectionId) => {\r\n push(routes.filter(x => x.sectionId == (sectionId))[0].route)\r\n }\r\n const validateReinstatement = () => {\r\n setHasLoaded(false);\r\n reinstatementService.validateReinstatement(reinstatementId).then((response) => {\r\n let errors = response.data.map((error, i) => {\r\n return { navigateToPage(error.sectionId) }}>\r\n Error{error.errors.length > 1 ? 's' : ''} in {allSections.filter(x => x.id == error.sectionId)[0].sectionTitle}: {error.errors.join(', ')}\r\n \r\n })\r\n if (response.data?.length)\r\n setViolationIssuesHtml(\r\n \r\n {errors}\r\n \r\n )\r\n else {\r\n setViolationIssuesHtml('')\r\n setHasIssues(false);\r\n Swal.fire(\"Validation Successful\", `Your reinstatement passed all validation checks. You may now download a PDF version to keep for your records.`, 'success')\r\n }\r\n setHasLoaded(true);\r\n })\r\n }\r\n const submitReinstatement = () => {\r\n setHasLoaded(false);\r\n shoppingCartService.addToShoppingCart(reinstatementId, 15).then((data) => {\r\n if (data.data) { push('/individual/shoppingcart'); }\r\n\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n Engineer Intern Reinstatement\r\n

Review

\r\n \r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n
\r\n {sectionData.isUserEditable ?\r\n : \r\n }\r\n {\r\n (!hasIssues && sectionData.isUserEditable) && <>\r\n \r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n {violationIssuesHtml}\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import React from 'react';\r\nimport RenderRoutes from \"./renderroutes\"\r\nimport DashboardPage from \"./../Public/Individual/Dashboard/DashboardPage\"\r\nimport ShoppingCartPage from \"./../Public/Individual/ShoppingCart/ShoppingCartPage\"\r\nimport PaymentSuccessPage from \"./../Public/Individual/ShoppingCart/PaymentSuccessPage\"\r\nimport PaymentFailedPage from \"./../Public/Individual/ShoppingCart/PaymentFailedPage\"\r\nimport PaymentErrorPage from \"./../Public/Individual/ShoppingCart/PaymentErrorPage\"\r\nimport AskLolaPage from \"../Shared/AskLola/AskLolaPage\"\r\nimport UserProfilePage from \"../Shared/UserProfile/UserProfilePage\"\r\nimport InvoiceHistoryPage from '../Shared/InvoiceHistory/InvoiceHistoryPage';\r\nimport RedirectToSection from '../Shared/Redirect/RedirectToSection';\r\n\r\nimport ContactPage from \"./../Public/Individual/Contact/ContactPage\";\r\nimport Applications from \"./../Public/Individual/Applications/Applications\"\r\nimport Renewals from \"./../Public/Individual/Renewals/Renewals\";\r\nimport Reinstatements from \"./../Public/Individual/Reinstatements/Reinstatements\";\r\nimport CpdRequirementsPage from \"./../Public/Individual/CPDLocker/CpdRequirementsPage\"\r\nimport SupervisingProfessionalPage from \"./../Public/Individual/SupervisingProfessional/SupervisingProfessionalPage\"\r\nimport InvoicePage from '../Public/Individual/ShoppingCart/InvoicePage';\r\n\r\n//#region PLS\r\n//Pls App\r\nimport PlsAppSectionPage from '../Public/Individual/Applications/PLS/Index/Index';\r\nimport PlsAppContactPage from \"./../Public/Individual/Applications/PLS/ContactInformation/ContactInformationPage\";\r\nimport PlsAppEducationPage from \"./../Public/Individual/Applications/PLS/Education/EducationPage\";\r\nimport PlsAppReferencesPage from \"./../Public/Individual/Applications/PLS/PersonalReferences/PersonalReferencesPage\";\r\nimport PlsAppViolations from '../Public/Individual/Applications/PLS/Violations/Violations'\r\nimport PlsAppEmploymentPage from \"./../Public/Individual/Applications/PLS/Employment/EmploymentPage\";\r\nimport PlsAppQuizzesPage from \"./../Public/Individual/Applications/PLS/Quizzes/QuizzesPage\";\r\nimport PlsAppExperiencePage from \"../Public/Individual/Applications/PLS/Experience/ExperiencePage\";\r\nimport PlsAppAckPage from \"./../Public/Individual/Applications/PLS/Acknowledgement/AcknowledgementPage\";\r\nimport PlsAppReviewPage from \"./../Public/Individual/Applications/PLS/Review/ReviewPage\";\r\n//Pls Reinstatement\r\nimport PlsReinstatementContactPage from \"./../Public/Individual/Reinstatements/PLS/ContactInformation/ContactInformationPage\";\r\nimport PlsReinstatementQuizzesPage from \"./../Public/Individual/Reinstatements/PLS/Quizzes/QuizzesPage\";\r\nimport PlsReinstatementCpdPage from \"./../Public/Individual/Reinstatements/PLS/CpdRequirements/CpdRequirementsPage\";\r\nimport PlsReinstatementIndexPage from \"./../Public/Individual/Reinstatements/PLS/Index/Index\";\r\nimport PlsReinstatementAckPage from \"./../Public/Individual/Reinstatements/PLS/Acknowledgement/AcknowledgementPage\";\r\nimport PlsReinstatementEmploymentPage from \"./../Public/Individual/Reinstatements/PLS/Employment/EmploymentPage\";\r\nimport PlsReinstatementPersonalReferencePage from \"./../Public/Individual/Reinstatements/PLS/PersonalReferences/PersonalReferencesPage\";\r\nimport PlsReinstatementDisclosurePage from \"./../Public/Individual/Reinstatements/PLS/Disclosure/DisclosurePage\";\r\nimport PlsReinstatementViolationsPage from \"./../Public/Individual/Reinstatements/PLS/Violations/Violations\";\r\nimport PlsReinstatementExperiencePage from \"./../Public/Individual/Reinstatements/PLS/Experience/ExperiencePage\";\r\nimport PlsReinstatementReviewPage from \"./../Public/Individual/Reinstatements/PLS/Review/ReviewPage\";\r\n//Pls Renewal\r\nimport PlsRenewalContactPage from \"./../Public/Individual/Renewals/PLS/ContactInformation/ContactInformationPage\";\r\nimport PlsRenewalsCpdPage from \"./../Public/Individual/Renewals/PLS/CpdRequirements/CpdRequirementsPage\";\r\nimport PlsRenewalsViolationsPage from \"./../Public/Individual/Renewals/PLS/Violations/Violations\";\r\nimport PlsRenewalsPrivacyPage from \"./../Public/Individual/Renewals/PLS/Privacy/Privacy\";\r\nimport PlsRenewalsIndexPage from \"./../Public/Individual/Renewals/PLS/Index/Index\";\r\nimport PlsRenewalAckPage from \"./../Public/Individual/Renewals/PLS/Acknowledgement/AcknowledgementPage\";\r\nimport PlsRenewalReviewPage from \"./../Public/Individual/Renewals/PLS/Review/ReviewPage\";\r\n//import PlsRenewalSupervisingProfessional from \"./../Public/Individual/Renewals/PLS/SupervisingProfessional/SupervisingProfessionalPage\";\r\nimport PlsRenewalLicenseStatusPage from \"./../Public/Individual/Renewals/PLS/LicenseStatus/LicenseStatusPage\";\r\n//#endregion\r\n\r\n//#region PE\r\n\r\n//PE Application\r\nimport PeAppSectionPage from '../Public/Individual/Applications/PE/Index/Index';\r\nimport PeAppContactPage from \"./../Public/Individual/Applications/PE/ContactInformation/ContactInformationPage\";\r\nimport PeAppEducationPage from \"./../Public/Individual/Applications/PE/Education/EducationPage\";\r\nimport PeAppReferencesPage from \"./../Public/Individual/Applications/PE/PersonalReferences/PersonalReferencesPage\";\r\nimport PeAppExperiencePage from \"./../Public/Individual/Applications/PE/Experience/ExperiencePage\"\r\nimport PeAppViolations from '../Public/Individual/Applications/PE/Violations/Violations'\r\nimport PeAppQuizzesPage from \"./../Public/Individual/Applications/PE/Quizzes/QuizzesPage\";\r\nimport PeAppCoopExperiencePage from \"../Public/Individual/Applications/PE/CoopExperiences/CoopExperiencePage\";\r\nimport PeAppResidencyPage from \"../Public/Individual/Applications/PE/Residency/ResidencyPage\";\r\nimport PeAppEmployementPage from \"../Public/Individual/Applications/PE/Employment/EmploymentPage\";\r\nimport PeAppAckPage from \"./../Public/Individual/Applications/PE/Acknowledgement/AcknowledgementPage\";\r\nimport PeAppReviewPage from \"./../Public/Individual/Applications/PE/Review/ReviewPage\";\r\n\r\n//PE Renewal\r\nimport PeRenewalIndexPage from \"./../Public/Individual/Renewals/PE/Index/Index\";\r\nimport PeRenewalContactPage from \"./../Public/Individual/Renewals/PE/ContactInformation/ContactInformationPage\";\r\nimport PeRenewalLicenseStatusPage from \"./../Public/Individual/Renewals/PE/LicenseStatus/LicenseStatusPage\";\r\nimport PeRenewalCpdRequirementsPage from \"./../Public/Individual/Renewals/PE/CpdRequirements/CpdRequirementsPage\";\r\nimport PeRenewalDesignPage from '../Public/Individual/Renewals/PE/Design/BuildingDesignPage';\r\nimport PeRenewalViolationsPage from \"./../Public/Individual/Renewals/PE/Violations/Violations\";\r\nimport PeRenewalPrivacyPage from \"./../Public/Individual/Renewals/PE/Privacy/Privacy\";\r\nimport PeRenewalAckPage from '../Public/Individual/Renewals/PE/Acknowledgement/AcknowledgementPage';\r\nimport PeRenewalReviewPage from \"./../Public/Individual/Renewals/PE/Review/ReviewPage\";\r\n\r\n//PE Reinstatement\r\nimport PeReinstatementIndexPage from \"./../Public/Individual/Reinstatements/PE/Index/Index\";\r\nimport PeReinstatementContactPage from \"./../Public/Individual/Reinstatements/PE/ContactInformation/ContactInformationPage\";\r\nimport PeReinstatementDesignPage from './../Public/Individual/Reinstatements/PE/Design/BuildingDesignPage';\r\nimport PeReinstatementEmploymentPage from \"./../Public/Individual/Reinstatements/PE/Employment/EmploymentPage\";\r\nimport PeReinstatementViolationsPage from \"./../Public/Individual/Reinstatements/PE/Violations/Violations\";\r\nimport PeReinstatementQuizzesPage from \"./../Public/Individual/Reinstatements/PE/Quizzes/QuizzesPage\";\r\nimport PeReinstatementCpdPage from \"./../Public/Individual/Reinstatements/PE/CpdRequirements/CpdRequirementsPage\";\r\nimport PeReinstatementPersonalReferencePage from \"./../Public/Individual/Reinstatements/PE/PersonalReferences/PersonalReferencesPage\";\r\nimport PeReinstatementExperiencePage from \"./../Public/Individual/Reinstatements/PE/Experience/ExperiencePage\";\r\nimport PeReinstatementDisclosurePage from \"./../Public/Individual/Reinstatements/PE/Disclosure/DisclosurePage\";\r\nimport PeReinstatementAckPage from \"./../Public/Individual/Reinstatements/PE/Acknowledgement/AcknowledgementPage\";\r\nimport PeReinstatementReviewPage from \"./../Public/Individual/Reinstatements/PE/Review/ReviewPage\";\r\n//#endregion\r\n\r\n//#region LSI\r\n//Lsi App\r\nimport LsiAppSectionPage from '../Public/Individual/Applications/LSI/Index/Index';\r\nimport LsiAppContactPage from \"./../Public/Individual/Applications/LSI/ContactInformation/ContactInformationPage\";\r\nimport LsiAppEducationPage from \"./../Public/Individual/Applications/LSI/Education/EducationPage\";\r\nimport LsiAppRecommendationPage from \"./../Public/Individual/Applications/LSI/Recommendation/RecommendationPage\";\r\nimport LsiAppViolations from '../Public/Individual/Applications/LSI/Violations/ViolationsPage'\r\nimport LsiAppExaminationPage from \"./../Public/Individual/Applications/LSI/ExaminationVerification/ExaminationVerificationPage\";\r\nimport LsiAppAckPage from \"./../Public/Individual/Applications/LSI/Acknowledgement/AcknowledgementPage\";\r\nimport LsiAppReviewPage from \"./../Public/Individual/Applications/LSI/Review/ReviewPage\";\r\n\r\n//Lsi Renewal\r\nimport LsiRenewalContactPage from \"./../Public/Individual/Renewals/LSI/ContactInformation/ContactInformationPage\";\r\nimport LsiRenewalsViolationsPage from \"./../Public/Individual/Renewals/LSI/Violations/ViolationsPage\";\r\nimport LsiRenewalsPrivacyPage from \"./../Public/Individual/Renewals/LSI/Privacy/PrivacyPage\";\r\nimport LsiRenewalsIndexPage from \"./../Public/Individual/Renewals/LSI/Index/Index\";\r\nimport LsiRenewalAckPage from \"./../Public/Individual/Renewals/LSI/Acknowledgement/AcknowledgementPage\";\r\nimport LsiRenewalReviewPage from \"./../Public/Individual/Renewals/LSI/Review/ReviewPage\";\r\n\r\n//Lsi Reinstatement\r\nimport LsiReinstatementIndexPage from \"./../Public/Individual/Reinstatements/LSI/Index/Index\";\r\nimport LsiReinstatementContactPage from \"./../Public/Individual/Reinstatements/LSI/ContactInformation/ContactInformationPage\";\r\nimport LsiReinstatementEducationPage from \"./../Public/Individual/Reinstatements/LSI/Education/EducationPage\";\r\nimport LsiReinstatementExaminationPage from \"./../Public/Individual/Reinstatements/LSI/ExaminationVerification/ExaminationVerificationPage\";\r\nimport LsiReinstatementViolationsPage from \"./../Public/Individual/Reinstatements/LSI/Violations/Violations\";\r\nimport LsiReinstatementAckPage from \"./../Public/Individual/Reinstatements/LSI/Acknowledgement/AcknowledgementPage\";\r\nimport LsiReinstatementReviewPage from \"./../Public/Individual/Reinstatements/LSI/Review/ReviewPage\";\r\n\r\n//#endregion\r\n\r\n//#region EI\r\n//Ei App\r\nimport EiAppSectionPage from '../Public/Individual/Applications/EI/Index/Index';\r\nimport EiAppContactPage from \"./../Public/Individual/Applications/EI/ContactInformation/ContactInformationPage\";\r\nimport EiAppEducationPage from \"./../Public/Individual/Applications/EI/Education/EducationPage\";\r\nimport EiAppRecommendationPage from \"./../Public/Individual/Applications/EI/Recommendation/RecommendationPage\";\r\nimport EiAppExperiencePage from \"./../Public/Individual/Applications/EI/Experience/ExperiencePage\";\r\nimport EiAppViolations from '../Public/Individual/Applications/EI/Violations/ViolationsPage'\r\nimport EiAppExaminationPage from \"./../Public/Individual/Applications/EI/ExaminationVerification/ExaminationVerificationPage\";\r\nimport EiAppAckPage from \"./../Public/Individual/Applications/EI/Acknowledgement/AcknowledgementPage\";\r\nimport EiAppReviewPage from \"./../Public/Individual/Applications/EI/Review/ReviewPage\";\r\n\r\n//Ei Renewal\r\nimport EiRenewalContactPage from \"./../Public/Individual/Renewals/EI/ContactInformation/ContactInformationPage\";\r\nimport EiRenewalsViolationsPage from \"./../Public/Individual/Renewals/EI/Violations/ViolationsPage\";\r\nimport EiRenewalsPrivacyPage from \"./../Public/Individual/Renewals/EI/Privacy/PrivacyPage\";\r\nimport EiRenewalsIndexPage from \"./../Public/Individual/Renewals/EI/Index/Index\";\r\nimport EiRenewalAckPage from \"./../Public/Individual/Renewals/EI/Acknowledgement/AcknowledgementPage\";\r\nimport EiRenewalReviewPage from \"./../Public/Individual/Renewals/EI/Review/ReviewPage\";\r\n\r\n//Ei Reinstatement\r\nimport EiReinstatementIndexPage from \"./../Public/Individual/Reinstatements/EI/Index/Index\";\r\nimport EiReinstatementContactPage from \"./../Public/Individual/Reinstatements/EI/ContactInformation/ContactInformationPage\";\r\nimport EiReinstatementEducationPage from \"./../Public/Individual/Reinstatements/EI/Education/EducationPage\";\r\nimport EiReinstatementExaminationPage from \"./../Public/Individual/Reinstatements/EI/ExaminationVerification/ExaminationVerificationPage\";\r\nimport EiReinstatementViolationsPage from \"./../Public/Individual/Reinstatements/EI/Violations/Violations\";\r\nimport EiReinstatementAckPage from \"./../Public/Individual/Reinstatements/EI/Acknowledgement/AcknowledgementPage\";\r\nimport EiReinstatementReviewPage from \"./../Public/Individual/Reinstatements/EI/Review/ReviewPage\";\r\n//#endregion\r\nconst INDIVIDUAL_ROUTES = [\r\n {\r\n path: \"/\",\r\n key: \"ROOT\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual\",\r\n key: \"PUBLIC\",\r\n component: RenderRoutes,\r\n routes: [\r\n {\r\n path: \"/individual\",\r\n key: \"PUBLIC_ROOT\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/dashboard\",\r\n key: \"Dashboard\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/shoppingcart\",\r\n key: \"ShoppingCart\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/shoppingcart/success\",\r\n key: \"ShoppingCart\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/shoppingcart/failed\",\r\n key: \"ShoppingCart\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/shoppingcart/error\",\r\n key: \"ShoppingCart\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/invoice\",\r\n key: \"Invoice\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/invoicehistory\",\r\n key: \"InvoiceHistory\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/askLola\",\r\n key: \"INDIVIDUAL_ASK_LOLA\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/redirectToSection\",\r\n key: \"INDIVIDUAL_REDIRECT_TO_SECTION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/userProfile\",\r\n key: \"INDIVIDUAL_USER_PROFILE\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/cpdlocker\",\r\n key: \"CPDLocker\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/supervisingProfessional\",\r\n key: \"INDIVIDUAL_SUPERVISING_PROFESSIONAL\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/contactinformation\",\r\n key: \"PUBLIC_DASHBOARD\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/renewals/\",\r\n key: \"PUBLIC_RENEWALS\",\r\n exact: true,\r\n component: () => \r\n }, {\r\n path: \"/individual/reinstatements/\",\r\n key: \"PUBLIC_REINSTATEMENTS\",\r\n exact: true,\r\n component: () => \r\n }, {\r\n path: \"/individual/applications/\",\r\n key: \"PUBLIC_APPLICATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/plsRenewal/contactInformation\",\r\n key: \"PUBLIC_PLS_RENEWAL_CONTACTINFORMATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/plsReinstatement/contactInformation\",\r\n key: \"PUBLIC_PLS_REINSTATEMENT_CONTACTINFORMATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n //{\r\n // path: \"/individual/plsRenewal/supervisingProfessional\",\r\n // key: \"PUBLIC_PLS_RENEWALS_SUPERVISINGPROFESSIONAL\",\r\n // exact: true,\r\n // component: () => \r\n //},\r\n {\r\n path: \"/individual/plsReinstatement/quizzes\",\r\n key: \"PUBLIC_PLS_REINSTATEMENT_QUIZZES\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/plsReinstatement/cpdRequirements\",\r\n key: \"PUBLIC_PLS_REINSTATEMENT_CPDREQUIREMENTS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/plsRenewal/sections\",\r\n key: \"PUBLIC_PLS_RENEWALS_Index\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/plsRenewal/cpdRequirements\",\r\n key: \"PUBLIC_PLS_RENEWALS_CPDREQUIREMENTS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/plsRenewal/violations\",\r\n key: \"PUBLIC_PLS_RENEWALS_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/plsRenewal/privacy\",\r\n key: \"PUBLIC_PLS_RENEWALS_PRIVACY\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/plsReinstatements/acknowledgement\",\r\n key: \"PUBLIC_PLS_REINSTATEMENTS_ACKNOWLEDGEMENTS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/plsReinstatement/employment\",\r\n key: \"PUBLIC_PLS_REINSTATEMENTS_EMPLOYMENT\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/plsRenewal/acknowledgement\",\r\n key: \"PUBLIC_PLS_RENEWALS_ACKNOWLEDGEMENTS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/plsRenewal/review\",\r\n key: \"PUBLIC_PLS_RENEWALS_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/plsRenewal/licenseStatus\",\r\n key: \"PUBLIC_PLS_RENEWALS_LICENSESTATUS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/plsReinstatement/disclosure\",\r\n key: \"PUBLIC_PLS_REINSTATEMENTS_DISCLOSURE\",\r\n exact: true,\r\n component: () => < PlsReinstatementDisclosurePage />\r\n },\r\n {\r\n path: \"/individual/plsReinstatements/personalReferences\",\r\n key: \"PUBLIC_PLS_REINSTATEMENTS_PERSONALREFERENCES\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/plsApp/contactInformation\",\r\n key: \"PUBLIC_PLS_APPLICATIONS_CONTACTINFORMATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/plsApp/acknowledgement\",\r\n key: \"PUBLIC_PLS_APPLICATIONS_ACKNOWLEDGEMENTS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/plsApp/review\",\r\n key: \"PUBLIC_PLS_APPLICATIONS_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/plsApp/violations\",\r\n key: \"PUBLIC_PLS_APPLICATIONS_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/plsApp/experience\",\r\n key: \"PUBLIC_PLS_APPLICATIONS_EXPERIENCE\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/plsApp/educationRecord\",\r\n key: \"PUBLIC_PLS_APPLICATIONS_EDUCATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/plsApp/employment\",\r\n key: \"PUBLIC_PLS_APPLICATIONS_EMPLOYMENT\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/plsApp/personalReferences\",\r\n key: \"PUBLIC_PLS_APPLICATIONS_REFERENCES\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/plsApp/quizzes\",\r\n key: \"PUBLIC_PLS_APPLICATIONS_QUIZZES\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/plsApp/sections\",\r\n key: \"PUBLIC_PLS_APPLICATIONS_INDEX\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/plsReinstatement/sections\",\r\n key: \"PUBLIC_PLS_REINSTATEMENT_INDEX\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/plsReinstatement/violations\",\r\n key: \"PUBLIC_PLS_REINSTATEMENT_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/plsReinstatement/personalReferences\",\r\n key: \"PUBLIC_PLS_REINSTATEMENT_REFERENCES\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/plsReinstatement/experience\",\r\n key: \"PUBLIC_PLS_REINSTATEMENT_EXPERIENCE\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/plsReinstatement/acknowledgement\",\r\n key: \"PUBLIC_PLS_REINSTATEMENT_ACKNOWLEDGEMENT\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/plsReinstatement/review\",\r\n key: \"PUBLIC_PLS_REINSTATEMENT_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n\r\n //#region LSI\r\n //LSI App\r\n {\r\n path: \"/individual/lsiApp/contactInformation\",\r\n key: \"PUBLIC_LSI_APPLICATIONS_CONTACTINFORMATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/lsiApp/acknowledgement\",\r\n key: \"PUBLIC_LSI_APPLICATIONS_ACKNOWLEDGEMENTS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/lsiApp/review\",\r\n key: \"PUBLIC_LSI_APPLICATIONS_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/lsiApp/violations\",\r\n key: \"PUBLIC_LSI_APPLICATIONS_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/lsiApp/examination\",\r\n key: \"PUBLIC_LSI_APPLICATIONS_EXAMINATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/lsiApp/educationRecord\",\r\n key: \"PUBLIC_LSI_APPLICATIONS_EDUCATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/lsiApp/recommendation\",\r\n key: \"PUBLIC_LSI_APPLICATIONS_RECOMMENDATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/lsiApp/sections\",\r\n key: \"PUBLIC_LSI_APPLICATIONS_INDEX\",\r\n exact: true,\r\n component: () => \r\n },\r\n //LSI Renewal\r\n {\r\n path: \"/individual/lsiRenewal/sections\",\r\n key: \"PUBLIC_LSI_RENEWALS_INDEX\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/lsiRenewal/contactInformation\",\r\n key: \"PUBLIC_LSI_RENEWALS_CONTACTINFORMATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/lsiRenewal/violations\",\r\n key: \"PUBLIC_LSI_RENEWALS_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/lsiRenewal/privacy\",\r\n key: \"PUBLIC_LSI_RENEWALS_PRIVACY\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/lsiRenewal/acknowledgement\",\r\n key: \"PUBLIC_LSI_RENEWALS_ACKNOWLEDGEMENTS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/lsiRenewal/review\",\r\n key: \"PUBLIC_LSI_RENEWALS_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n //LSI Reinstatement\r\n {\r\n path: \"/individual/lsiReinstatement/sections\",\r\n key: \"PUBLIC_LSI_REINSTATEMENT_INDEX\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/lsiReinstatement/contactInformation\",\r\n key: \"PUBLIC_LSI_REINSTATEMENT_CONTACTINFORMATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/lsiReinstatement/examination\",\r\n key: \"PUBLIC_LSI_REINSTATEMENT_EXAMINATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/lsiReinstatement/education\",\r\n key: \"PUBLIC_LSI_REINSTATEMENT_EDUCATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/lsiReinstatement/violations\",\r\n key: \"PUBLIC_LSI_REINSTATEMENT_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/lsiReinstatement/acknowledgement\",\r\n key: \"PUBLIC_LSI_REINSTATEMENT_ACKNOWLEDGEMENT\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/lsiReinstatement/review\",\r\n key: \"PUBLIC_LSI_REINSTATEMENT_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n //#endregion\r\n\r\n //#region EI\r\n //EI App\r\n {\r\n path: \"/individual/eiapp/contactinformation\",\r\n key: \"PUBLIC_EI_APPLICATIONS_CONTACTINFORMATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/eiapp/acknowledgement\",\r\n key: \"PUBLIC_EI_APPLICATIONS_ACKNOWLEDGEMENTS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/eiapp/review\",\r\n key: \"PUBLIC_EI_APPLICATIONS_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/eiapp/violations\",\r\n key: \"PUBLIC_EI_APPLICATIONS_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/eiapp/examination\",\r\n key: \"PUBLIC_EI_APPLICATIONS_EXAMINATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/eiapp/educationrecord\",\r\n key: \"PUBLIC_EI_APPLICATIONS_EDUCATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/eiapp/recommendation\",\r\n key: \"PUBLIC_EI_APPLICATIONS_RECOMMENDATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/eiapp/experience\",\r\n key: \"PUBLIC_EI_APPLICATIONS_EXPERIENCE\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/eiapp/sections\",\r\n key: \"PUBLIC_EI_APPLICATIONS_INDEX\",\r\n exact: true,\r\n component: () => \r\n },\r\n //EI Renewal\r\n {\r\n path: \"/individual/eirenewal/sections\",\r\n key: \"PUBLIC_EI_RENEWALS_INDEX\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/eirenewal/contactinformation\",\r\n key: \"PUBLIC_EI_RENEWALS_CONTACTINFORMATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/eiRenewal/violations\",\r\n key: \"PUBLIC_EI_RENEWALS_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/eirenewal/privacy\",\r\n key: \"PUBLIC_EI_RENEWALS_PRIVACY\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/eiRenewal/acknowledgement\",\r\n key: \"PUBLIC_EI_RENEWALS_ACKNOWLEDGEMENTS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/eirenewal/review\",\r\n key: \"PUBLIC_EI_RENEWALS_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n //EI Reinstatement\r\n {\r\n path: \"/individual/eiReinstatement/sections\",\r\n key: \"PUBLIC_EI_REINSTATEMENT_INDEX\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/eiReinstatement/contactInformation\",\r\n key: \"PUBLIC_EI_REINSTATEMENT_CONTACTINFORMATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/eiReinstatement/examination\",\r\n key: \"PUBLIC_EI_REINSTATEMENT_EXAMINATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/eiReinstatement/education\",\r\n key: \"PUBLIC_EI_REINSTATEMENT_EDUCATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/eiReinstatement/violations\",\r\n key: \"PUBLIC_EI_REINSTATEMENT_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/eiReinstatement/acknowledgement\",\r\n key: \"PUBLIC_EI_REINSTATEMENT_ACKNOWLEDGEMENT\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/eiReinstatement/review\",\r\n key: \"PUBLIC_EI_REINSTATEMENT_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n //#endregion\r\n\r\n //#region PE\r\n //App\r\n {\r\n path: \"/individual/peapp/sections\",\r\n key: \"PUBLIC_PE_APPLICATION_SECTION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/peapp/contactinformation\",\r\n key: \"PUBLIC_PE_APPLICATION_CONTACTINFO\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/peapp/educationrecord\",\r\n key: \"PUBLIC_PE_APPLICATION_EDUCATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/peapp/personalreferences\",\r\n key: \"PUBLIC_PE_APPLICATION_PERSONALREFERENCE\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/peapp/experience\",\r\n key: \"PUBLIC_PE_APPLICATION_EXPERIENCE\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/peapp/violations\",\r\n key: \"PUBLIC_PE_APPLICATION_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/peapp/quizzes\",\r\n key: \"PUBLIC_PE_APPLICATION_QUIZZES\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/peapp/coopexperience\",\r\n key: \"PUBLIC_PE_APPLICATION_COOPEXPERIENCE\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/peapp/residency\",\r\n key: \"PUBLIC_PE_APPLICATION_RESIDENCY\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/peapp/employment\",\r\n key: \"PUBLIC_PE_APPLICATION_EMPLOYMENT\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/peapp/acknowledgement\",\r\n key: \"PUBLIC_PE_APPLICATION_ACKNOWLEDGEMENT\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/peapp/review\",\r\n key: \"PUBLIC_PE_APPLICATION_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n\r\n //Renewal\r\n {\r\n path: \"/individual/perenewal/sections\",\r\n key: \"PUBLIC_PE_RENEWALS_Index\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/perenewal/contactinformation\",\r\n key: \"PUBLIC_PE_RENEWAL_CONTACTINFORMATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/perenewal/licensestatus\",\r\n key: \"PUBLIC_PE_RENEWALS_LICENSESTATUS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/perenewal/cpdrequirements\",\r\n key: \"PUBLIC_PE_RENEWALS_CPDREQUIREMENTS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/perenewal/design\",\r\n key: \"PUBLIC_PE_RENEWALS_DESIGN\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/perenewal/violations\",\r\n key: \"PUBLIC_PE_RENEWALS_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/perenewal/privacy\",\r\n key: \"PUBLIC_PE_RENEWALS_PRIVACY\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/perenewal/acknowledgement\",\r\n key: \"PUBLIC_PE_RENEWALS_ACKNOWLEDGEMENTS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/perenewal/review\",\r\n key: \"PUBLIC_PE_RENEWALS_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n\r\n //Reinstatement\r\n {\r\n path: \"/individual/pereinstatement/sections\",\r\n key: \"PUBLIC_PE_REINSTATEMENT_INDEX\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/pereinstatement/contactInformation\",\r\n key: \"PUBLIC_PE_REINSTATEMENT_CONTACTINFORMATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/pereinstatement/design\",\r\n key: \"PUBLIC_PE_REINSTATEMENT_DESIGN\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/pereinstatement/employment\",\r\n key: \"PUBLIC_PE_REINSTATEMENTS_EMPLOYMENT\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/pereinstatement/violations\",\r\n key: \"PUBLIC_PE_REINSTATEMENT_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/pereinstatement/quizzes\",\r\n key: \"PUBLIC_PE_REINSTATEMENT_QUIZZES\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/pereinstatement/cpdrequirements\",\r\n key: \"PUBLIC_PE_REINSTATEMENT_CPDREQUIREMENTS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/pereinstatement/personalreferences\",\r\n key: \"PUBLIC_PE_REINSTATEMENT_REFERENCES\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/pereinstatement/experience\",\r\n key: \"PUBLIC_PE_REINSTATEMENT_EXPERIENCE\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/pereinstatement/disclosure\",\r\n key: \"PUBLIC_PE_REINSTATEMENTS_DISCLOSURE\",\r\n exact: true,\r\n component: () => < PeReinstatementDisclosurePage />\r\n },\r\n {\r\n path: \"/individual/pereinstatement/acknowledgement\",\r\n key: \"PUBLIC_PE_REINSTATEMENT_ACKNOWLEDGEMENT\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/individual/pereinstatement/review\",\r\n key: \"PUBLIC_PE_REINSTATEMENT_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n //#endregion\r\n ]\r\n }\r\n]\r\n\r\nexport default INDIVIDUAL_ROUTES;","import React, { useEffect } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Sidenav, Nav, Icon, Dropdown } from 'rsuite'\r\nimport 'rsuite/dist/styles/rsuite-default.css'\r\nimport Swal from 'sweetalert2'\r\nimport * as FaIcons from 'react-icons/fa';\r\nimport logo from '../../../../images/LAPELS-LOLA-Logo.png'\r\n\r\nfunction Sidebar(props) {\r\n const [activeKey, setActiveKey] = React.useState();\r\n useEffect(() => {\r\n if (props.activeKey) {\r\n setActiveKey(props.activeKey);\r\n } else {\r\n setActiveKey(\"1\");\r\n }\r\n }, [])\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n LOLA\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default Sidebar;\r\n","import axios from \"axios\";\r\nimport authHeader from './authheader.js'\r\n\r\nconst NOTIFICATIONURL = process.env.REACT_APP_APIURL + \"/api/Notification\";\r\n\r\nconst getNotifications = () => {\r\n return axios.get(NOTIFICATIONURL, { headers: authHeader() });\r\n}\r\n\r\nconst deleteNotification = (notificationId) => {\r\n return axios.post(NOTIFICATIONURL + \"/deletenotification\", null, { headers: authHeader(), params: { notificationId} });\r\n}\r\n\r\nconst deleteAllNotifications = () => {\r\n return axios.post(NOTIFICATIONURL + \"/deleteallnotification\", null, { headers: authHeader() });\r\n}\r\n\r\nexport default {\r\n getNotifications,\r\n deleteNotification,\r\n deleteAllNotifications\r\n}","import React, { useState, useEffect } from 'react'\r\nimport { Button } from 'react-bootstrap';\r\nimport { Icon, Dropdown } from 'rsuite'\r\nimport Swal from 'sweetalert2';\r\nimport notificationService from '../../../../services/notification.service';\r\nimport { sort_by } from '../../../Shared/HelperFunctions';\r\n\r\nfunction Notification() {\r\n const [notifications, setNotifications] = useState([])\r\n\r\n const badgeStyle = {\r\n position: \"absolute\",\r\n marginLeft: \"-30px\",\r\n marginTop: \"5px\",\r\n padding: \"2px 8px\",\r\n borderRadius: \"50%\",\r\n background: \"red\",\r\n color: \"white\",\r\n zIndex: \"6\",\r\n pointerEvents: \"none\"\r\n };\r\n\r\n const notificationPanel = (text, date, userName, id) => {\r\n return (\r\n \r\n
\r\n

{userName} ({date})
{text}

\r\n \r\n
\r\n
\r\n
\r\n )\r\n }\r\n const clickableNotificationPanel = (text, date, userName, id, issueId) => {\r\n return (\r\n \r\n
\r\n {userName} ({date})
{text}
\r\n \r\n
\r\n
\r\n
\r\n )\r\n }\r\n\r\n\r\n const removeNotification = (id) => {\r\n notificationService.deleteNotification(id).then((response) => {\r\n if (response.status == 200) {\r\n var currentNotifications = notifications;\r\n setNotifications(currentNotifications.filter(notification => notification.id !== id));\r\n }\r\n else {\r\n Swal.fire(\"Error removing notification\");\r\n }\r\n })\r\n\r\n }\r\n\r\n const removeAllNotifications = () => {\r\n notificationService.deleteAllNotifications().then((response) => {\r\n if (response.status == 200) {\r\n setNotifications([]);\r\n }\r\n else {\r\n Swal.fire(\"Error removing notifications\");\r\n }\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n notificationService.getNotifications().then((response) => {\r\n const data = response.data.sort(sort_by(\"dateCrte\", true));\r\n setNotifications(data);\r\n });\r\n }, [])\r\n\r\n return (\r\n <>\r\n } noCaret={true}>\r\n {\r\n notifications.length > 0 ?\r\n <>\r\n
Notifications
\r\n {notifications.map((val, index) => {\r\n if (val.issueId) {\r\n return clickableNotificationPanel(val.text, new Date(val.dateCrte).toLocaleDateString(), val.userName, val.id, val.issueId);\r\n }\r\n return notificationPanel(val.text, new Date(val.dateCrte).toLocaleDateString(), val.userName, val.id)\r\n })}\r\n\r\n :\r\n

No Notifications

\r\n }\r\n
\r\n {notifications.length > 0 && {notifications.length}}\r\n \r\n );\r\n}\r\nexport default Notification;","import React, { useEffect } from 'react';\r\nimport { useState } from 'react';\r\nimport { Button } from 'react-bootstrap';\r\nimport * as FaIcons from 'react-icons/fa';\r\nimport NumberFormat from 'react-number-format';\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Swal from 'sweetalert2';\r\nimport ShoppingCartService from '../../../../../services/Public/shoppingCart.service';\r\nfunction ShoppingCartButton() {\r\n const [numberOfItems, setNumberOfItems] = useState(0);\r\n const [total, setTotal] = useState(0);\r\n var amount = useSelector(x => x.refreshToken);\r\n useEffect(() => {\r\n ShoppingCartService.getShoppingCart().then((response) => {\r\n setNumberOfItems(response.data.numberOfItems);\r\n setTotal(response.data.total);\r\n });\r\n }, [amount])\r\n var history = useHistory();\r\n function navigateToCart() {\r\n history.push(\"/individual/shoppingcart\");\r\n }\r\n return (\r\n <>\r\n \r\n\r\n \r\n )\r\n}\r\n\r\nexport default ShoppingCartButton;","import axios from \"axios\";\r\nimport jwt from 'jwt-decode'\r\n\r\n//this is example of auth header\r\nimport authHeader from './authheader.js'\r\n\r\nconst getIndividualDashboard = () => {\r\n return axios.get(process.env.REACT_APP_APIURL + \"/api/Individual/dashboard\", { headers: authHeader() });\r\n}\r\n//end example\r\n\r\nconst REGISTERAPIURL = process.env.REACT_APP_APIURL + \"/api/Register\";\r\nconst API_AUTH_URL = process.env.REACT_APP_APIURL + \"/api/Auth\";\r\n\r\nconst registerIndividual = (data) => {\r\n return axios.post(`${REGISTERAPIURL}/individual`, data);\r\n\r\n};\r\nconst forgotPassword = (username) => {\r\n return axios.post(`${API_AUTH_URL}/forgotpassword`, null, { params: { username } })\r\n .then((response) => {\r\n return response;\r\n });\r\n}\r\nconst forgotIndividualUserId = (email, dateOfBirth) => {\r\n return axios.post(`${API_AUTH_URL}/forgotindividualuserid`, null, { params: { email, dateOfBirth } })\r\n .then((response) => {\r\n return response;\r\n });\r\n};\r\nconst forgotFirmUserId = (email, credential) => {\r\n return axios.post(`${API_AUTH_URL}/forgotfirmuserid`, null, { params: { email, credential } })\r\n .then((response) => {\r\n return response;\r\n });\r\n};\r\nconst registerFirm = (data) => {\r\n return axios.post(`${REGISTERAPIURL}/firm`, data)\r\n};\r\nconst login = (username, password) => {\r\n return axios.post(`${API_AUTH_URL}/login`, { username, password })\r\n .then((response) => {\r\n if (response.data.message) {\r\n localStorage.setItem(\"user\", JSON.stringify(response.data));\r\n }\r\n return response.data;\r\n });\r\n};\r\n\r\nconst resendEmailVerification = (username) => {\r\n return axios.post(`${API_AUTH_URL}/resendemailverification`, null, { params: { username } })\r\n .then((response) => {\r\n return response;\r\n });\r\n};\r\n\r\nconst logout = () => {\r\n localStorage.removeItem(\"user\");\r\n};\r\n\r\nconst getCurrentUser = () => {\r\n const user = JSON.parse(localStorage.getItem(\"user\"));\r\n //check if expired\r\n //if so, call logout and return null\r\n if (user) {\r\n const expire = new Date(user.expireDate);\r\n if (expire < new Date()) {\r\n logout();\r\n return null;\r\n }\r\n }\r\n return user;\r\n};\r\n\r\nconst getRoles = () => {\r\n var user = getCurrentUser();\r\n if (user == null) {\r\n return [];\r\n }\r\n\r\n var decoded = jwt(user.message);\r\n var roles = decoded[\"http://schemas.microsoft.com/ws/2008/06/identity/claims/role\"];\r\n if (roles && Array.isArray(roles)) {\r\n return roles;\r\n }\r\n return [roles];\r\n\r\n}\r\n\r\nexport default {\r\n registerIndividual,\r\n registerFirm,\r\n login,\r\n logout,\r\n getCurrentUser,\r\n getRoles,\r\n forgotPassword,\r\n resendEmailVerification,\r\n forgotIndividualUserId,\r\n forgotFirmUserId\r\n}","import React from 'react';\r\nimport { Nav, Navbar, Icon, Dropdown } from 'rsuite';\r\nimport 'rsuite/dist/styles/rsuite-default.css'\r\nimport Notification from './Notifications';\r\nimport ShoppingCartButton from './ShoppingCart/ShoppingCartButton';\r\nimport AuthService from \"../../../../services/auth.service\"\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\n\r\nfunction TopNavBar() {\r\n const { push } = useHistory();\r\n const logout = () => {\r\n AuthService.logout();\r\n window.location.href = \"/\";\r\n }\r\n const askLola = () => {\r\n push(\"/individual/askLola\")\r\n }\r\n const userProfile = () => {\r\n push(\"/individual/userProfile\")\r\n }\r\n const invoiceHistory = () => {\r\n push(\"/individual/invoicehistory\")\r\n }\r\n const name = useSelector(x => x.userInfo.FormattedName);\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default TopNavBar;","import React, { useState } from 'react';\r\nimport { Container, Header, Content, Sidebar } from 'rsuite';\r\nimport RenderRoutes from '../../Routes/renderroutes'\r\nimport INDIVIDUAL_ROUTES from '../../Routes/individualroutes';\r\nimport PublicIndividualSidebar from '../Individual/Sidebar/Sidebar';\r\nimport PublicTopNavbar from '../Individual/TopNavbar/TopNavbar'\r\n\r\n\r\nfunction PublicIndividual() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default PublicIndividual;","import axios from \"axios\";\r\nimport authHeader from \"../authheader\";\r\n\r\nconst RECENTUPDATEURL = process.env.REACT_APP_APIURL + \"/api/RecentUpdate\";\r\n\r\nconst getRecentUpdate = () => {\r\n return axios.get(`${RECENTUPDATEURL}`, { headers: authHeader() });\r\n}\r\n\r\nexport default {\r\n getRecentUpdate\r\n}","import axios from \"axios\";\r\nimport authHeader from '../../authheader'\r\n\r\nconst INDIVIDUALAPP = process.env.REACT_APP_APIURL + \"/api/IndividualApplication\";\r\n\r\n\r\n\r\nconst getPendingApplications = async () => {\r\n return axios.get(`${INDIVIDUALAPP}/pendingApplications`, { headers: authHeader() });;\r\n};\r\nconst getIndividualApplication = async (applicationId) => {\r\n return axios.get(`${INDIVIDUALAPP}/application`, { headers: authHeader(), params: { applicationId } });;\r\n};\r\n\r\nconst createApplication = (applicationTypeId) => {\r\n return axios.post(`${INDIVIDUALAPP}/create`, null, { headers: authHeader(), params: { applicationTypeId } })\r\n .then((response) => {\r\n return response;\r\n });\r\n}\r\nconst validateApplication = (applicationId) => {\r\n return axios.post(`${INDIVIDUALAPP}/validate`, null, { headers: authHeader(), params: { applicationId } })\r\n .then((response) => {\r\n return response;\r\n }).catch((res) => {\r\n });\r\n}\r\nconst submitApplication = (applicationId) => {\r\n return axios.post(`${INDIVIDUALAPP}/submit`, null, { headers: authHeader(), params: { applicationId } })\r\n .then((response) => {\r\n return response;\r\n }).catch((res) => {\r\n });\r\n}\r\nconst plsGetSection = (applicationId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/IndividualPlsApplication/section`, { headers: authHeader(), params: { applicationId, sectionId } });\r\n}\r\nconst plsPostSection = (applicationId, sectionId, electronicSignature) => {\r\n\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPlsApplication/signsection`, null, { headers: authHeader(), params: { applicationId, sectionId, electronicSignature } });\r\n}\r\nconst plsPostSectionHasRef = (applicationId, sectionId, hasReferences) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPlsApplication/setsectionhasreferences`, null, { headers: authHeader(), params: { applicationId, sectionId, hasReferences } });\r\n}\r\n\r\nconst plsPostSectionHasExperience = (applicationId, sectionId, hasMyNceesExperience) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPlsApplication/setsectionhasmynceesexperience`, null, { headers: authHeader(), params: { applicationId, sectionId, hasMyNceesExperience } });\r\n}\r\n\r\n//const plsPostSectionHasMyNceesEducation = (applicationId, sectionId, hasMyNceesEducation) => {\r\n// return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPlsApplication/setsectionhasmynceeseducation`, null, { headers: authHeader(), params: { applicationId, sectionId, hasMyNceesEducation } });\r\n//}\r\n\r\nconst plsPostEducationSection = (applicationId, sectionId, hasMyNceesEducation, hasAnsacDegree, hasFourYearDegree) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPlsApplication/seteducationsection`, null, { headers: authHeader(), params: { applicationId, sectionId, hasMyNceesEducation, hasAnsacDegree, hasFourYearDegree } });\r\n}\r\nconst plsMarkSectionComplete = (applicationId, sectionId, complete) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPlsApplication/marksectioncomplete`, null, { headers: authHeader(), params: { applicationId, sectionId, complete } })\r\n}\r\n\r\nconst postStaffApproval = (applicationId, isApproved) => {\r\n return axios.post(`${INDIVIDUALAPP}/staffApproval`, null, { headers: authHeader(), params: { applicationId, isApproved } });\r\n}\r\nconst postApplicationPdf = (applicationId, isApproved) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/Reports/AutoAttachApplicationPdf`, null, { headers: authHeader(), params: { applicationId, isApproved } });\r\n}\r\n\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Complete this section providing all required contact information.\",\r\n },\r\n {\r\n id: 2,\r\n sectionTitle: \"Education\",\r\n sectionContent: \"Complete this section listing all colleges and universities attended where a degree was conferred.\",\r\n },\r\n {\r\n id: 3,\r\n sectionTitle: \"Personal References\",\r\n sectionContent: \"Complete this section listing all personal references.\",\r\n },\r\n {\r\n id: 4,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 5,\r\n sectionTitle: \"Employment\",\r\n sectionContent: \"Verify Louisiana Employment Firm licensure\",\r\n },\r\n {\r\n id: 6,\r\n sectionTitle: \"Quizzes\",\r\n sectionContent: \"Quiz content here\",\r\n },\r\n {\r\n id: 7,\r\n sectionTitle: \"Experience Record\",\r\n sectionContent: \"Total experience record summary\",\r\n },\r\n {\r\n id: 8,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Electronically sign (type your name) and date.\",\r\n },\r\n {\r\n id: 9,\r\n sectionTitle: \"Review\",\r\n sectionContent: 'Review your answers. If you need to change an answer, click the \"Section\" above to go back to the appropriate section',\r\n },\r\n {\r\n id: 10,\r\n sectionTitle: \"Board/Staff Recommendations\",\r\n sectionContent: 'Waiting on text',\r\n }\r\n])\r\n\r\nexport default {\r\n getPendingApplications,\r\n getIndividualApplication,\r\n createApplication,\r\n plsGetSection,\r\n plsPostSection,\r\n plsPostSectionHasRef,\r\n //plsPostSectionHasMyNceesEducation,\r\n plsPostSectionHasExperience,\r\n validateApplication,\r\n submitApplication,\r\n plsMarkSectionComplete,\r\n postStaffApproval,\r\n postApplicationPdf,\r\n plsPostEducationSection\r\n}","import axios from \"axios\";\r\nimport authHeader from \"../../../authheader\";\r\n\r\nconst FIRMAPP = process.env.REACT_APP_APIURL + \"/api/FirmApplication\";\r\n\r\nconst getFirmApplication = async (applicationId) => {\r\n return axios.get(`${FIRMAPP}/application`, { headers: authHeader(), params: { applicationId } });;\r\n};\r\n\r\nconst vfGetSection = (applicationId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/FirmVfApplication/section`, { headers: authHeader(), params: { applicationId, sectionId } });\r\n}\r\n\r\nconst vfPostSection = (applicationId, sectionId, electronicSignature) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmVfApplication/signsection`, null, { headers: authHeader(), params: { applicationId, sectionId, electronicSignature } });\r\n}\r\n\r\nconst vfPostSectionHasWordOffering = (applicationId, sectionId, hasWordOfferingProfessionalServices) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmVfApplication/setsectionhaswordofferingprofessionalservices`, null, { headers: authHeader(), params: { applicationId, sectionId, hasWordOfferingProfessionalServices } });\r\n}\r\nconst vfPostSectionHasFirmSubmittedSupervisingProfessional = (applicationId, sectionId, hasFirmSubmittedSupervisingProfessional) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmVfApplication/setsectionhasfirmsubmittedsupervisingprofessional`, null, { headers: authHeader(), params: { applicationId, sectionId, hasFirmSubmittedSupervisingProfessional } });\r\n}\r\nconst vfMarkSectionComplete = (applicationId, sectionId, complete) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmVfApplication/marksectioncomplete`, null, { headers: authHeader(), params: { applicationId, sectionId, complete } })\r\n}\r\n\r\nconst postStaffApproval = (applicationId, isApproved) => {\r\n return axios.post(`${FIRMAPP}/staffApproval`, null, { headers: authHeader(), params: { applicationId, isApproved } });\r\n}\r\nconst postApplicationPdf = (applicationId, isApproved) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/Reports/AutoAttachApplicationPdf`, null, { headers: authHeader(), params: { applicationId, isApproved } });\r\n}\r\n\r\n\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Verify personal and contact information is correct and accurate.\",\r\n },\r\n {\r\n id: 13,\r\n sectionTitle: \"Waiver Request/Certificate of Good Standing Forms\",\r\n sectionContent: \"Verify information requested and upload any supporting documents.\",\r\n },\r\n {\r\n id: 14,\r\n sectionTitle: \"Firm Supervising Professionals\",\r\n sectionContent: \"Certify any supervising professionals working on behalf of a firm.\",\r\n },\r\n {\r\n id: 4,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 15,\r\n sectionTitle: \"Unlicensed Activity\",\r\n sectionContent: \"Question if the firm has ever practiced or offered to practice engineering or land surveying in Louisiana.\",\r\n },\r\n {\r\n id: 8,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Verify you have read the Rules for Professional Engineers and Land Surveyors (LAC Title 46, Part LXI), and agree.\",\r\n },\r\n {\r\n id: 9,\r\n sectionTitle: \"Review\",\r\n sectionContent: 'Review your answers. If you need to change an answer, click the \"Section\" above to go back to the appropriate section',\r\n },\r\n {\r\n id: 10,\r\n sectionTitle: \"Board/Staff Recommendations\",\r\n sectionContent: 'Waiting on text',\r\n }\r\n])\r\n\r\nexport default {\r\n getFirmApplication,\r\n vfGetSection,\r\n vfPostSection,\r\n vfPostSectionHasWordOffering,\r\n vfPostSectionHasFirmSubmittedSupervisingProfessional,\r\n vfMarkSectionComplete,\r\n postStaffApproval,\r\n postApplicationPdf\r\n}","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst vfGetSection = (reinstatementId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/FirmVfReinstatement/section`, { headers: authHeader(), params: { reinstatementId, sectionId } });\r\n}\r\nconst getFirmReinstatement = async (reinstatementId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/FirmReinstatement/reinstatement`, { headers: authHeader(), params: { reinstatementId } });;\r\n};\r\nconst validateFirmReinstatement = (reinstatementId) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmReinstatement/validate`, null, { headers: authHeader(), params: { reinstatementId } })\r\n .then((response) => {\r\n return response;\r\n }).catch((res) => {\r\n });\r\n}\r\nconst postStaffApproval = (reinstatementId, isApproved) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmReinstatement/staffapproval`, null, { headers: authHeader(), params: { reinstatementId, isApproved } })\r\n}\r\nconst postReinstatementPdf = (reinstatementId, isApproved) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/Reports/AutoAttachReinstatementPdf`, null, { headers: authHeader(), params: { reinstatementId, isApproved } });\r\n}\r\nconst vfPostSection = (reinstatementId, sectionId, electronicSignature) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmVfReinstatement/signsection`, null, { headers: authHeader(), params: { reinstatementId, sectionId, electronicSignature } });\r\n}\r\n\r\nconst vfPostSectionHasWordOffering = (reinstatementId, sectionId, hasWordOfferingProfessionalServices) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmVfReinstatement/setsectionhaswordofferingprofessionalservices`, null, { headers: authHeader(), params: { reinstatementId, sectionId, hasWordOfferingProfessionalServices } });\r\n}\r\nconst vfPostSectionHasFirmSubmittedSupervisingProfessional = (reinstatementId, sectionId, hasFirmSubmittedSupervisingProfessional) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmVfReinstatement/setsectionhasfirmsubmittedsupervisingprofessional`, null, { headers: authHeader(), params: { reinstatementId, sectionId, hasFirmSubmittedSupervisingProfessional } });\r\n}\r\nconst vfMarkSectionComplete = (reinstatementId, sectionId, complete) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmVfReinstatement/marksectioncomplete`, null, { headers: authHeader(), params: { reinstatementId, sectionId, complete } })\r\n}\r\n\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Verify personal and contact information is correct and accurate.\",\r\n },\r\n {\r\n id: 12,\r\n sectionTitle: \"Certificate of Authority/Good Standing Forms\",\r\n sectionContent: \"Verify information requested and upload any supporting documents.\",\r\n },\r\n {\r\n id: 13,\r\n sectionTitle: \"Firm Supervising Professionals\",\r\n sectionContent: \"Certify any supervising professionals working on behalf of a firm.\",\r\n },\r\n {\r\n id: 3,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 14,\r\n sectionTitle: \"Unlicensed Activity\",\r\n sectionContent: \"Question if the firm has ever practiced or offered to practice engineering or land surveying in Louisiana.\",\r\n },\r\n {\r\n id: 9,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Verify you have read the Rules for Professional Engineers and Land Surveyors (LAC Title 46, Part LXI), and agree.\",\r\n },\r\n {\r\n id: 10,\r\n sectionTitle: \"Review\",\r\n sectionContent: 'Review your answers. If you need to change an answer, click the \"Section\" above to go back to the appropriate section',\r\n },\r\n {\r\n id: 11,\r\n sectionTitle: \"Board/Staff Recommendations\",\r\n sectionContent: 'Waiting on text',\r\n }\r\n])\r\n\r\nexport default {\r\n vfGetSection,\r\n vfPostSection,\r\n vfPostSectionHasWordOffering,\r\n vfPostSectionHasFirmSubmittedSupervisingProfessional,\r\n vfMarkSectionComplete,\r\n getFirmReinstatement,\r\n postStaffApproval,\r\n validateFirmReinstatement,\r\n postReinstatementPdf\r\n}","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst FIRMAPP = process.env.REACT_APP_APIURL + \"/api/FirmRenewal\";\r\n\r\nconst getFirmRenewal = async (renewalId) => {\r\n return axios.get(`${FIRMAPP}/renewal`, { headers: authHeader(), params: { renewalId } });;\r\n};\r\n\r\nconst vfGetSection = (renewalId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/FirmVfRenewal/section`, { headers: authHeader(), params: { renewalId, sectionId } });\r\n}\r\n\r\nconst vfPostSection = (renewalId, sectionId, electronicSignature) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmVfRenewal/signsection`, null, { headers: authHeader(), params: { renewalId, sectionId, electronicSignature } });\r\n}\r\n\r\nconst vfMarkSectionComplete = (renewalId, sectionId, complete) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmVfRenewal/marksectioncomplete`, null, { headers: authHeader(), params: { renewalId, sectionId, complete } })\r\n}\r\n\r\nconst postStaffApproval = (renewalId, isApproved) => {\r\n return axios.post(`${FIRMAPP}/staffApproval`, null, { headers: authHeader(), params: { renewalId, isApproved } });\r\n}\r\nconst postRenewalPdf = (renewalId, isApproved) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/Reports/AutoAttachRenewalPdf`, null, { headers: authHeader(), params: { renewalId, isApproved } });\r\n}\r\nconst vfPostSectionHasFirmSubmittedSupervisingProfessional = (renewalId, sectionId, hasFirmSubmittedSupervisingProfessional) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmVfRenewal/setsectionhasfirmsubmittedsupervisingprofessional`, null, { headers: authHeader(), params: { renewalId, sectionId, hasFirmSubmittedSupervisingProfessional } });\r\n}\r\n\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Verify personal and contact information is correct and accurate.\",\r\n },\r\n {\r\n id: 9,\r\n sectionTitle: \"Certificate of Authority\",\r\n sectionContent: \"Verify information requested and upload any supporting documents.\",\r\n },\r\n {\r\n id: 5,\r\n sectionTitle: \"Firm Supervising Professionals\",\r\n sectionContent: \"Certify any supervising professionals working on behalf of a firm.\",\r\n },\r\n {\r\n id: 4,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 7,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Verify you have read the Rules for Professional Engineers and Land Surveyors (LAC Title 46, Part LXI), and agree.\",\r\n },\r\n {\r\n id: 8,\r\n sectionTitle: \"Review\",\r\n sectionContent: 'Review your answers. If you need to change an answer, click the \"Section\" above to go back to the appropriate section',\r\n }\r\n])\r\n\r\nexport default {\r\n vfGetSection,\r\n vfPostSection,\r\n vfMarkSectionComplete,\r\n postStaffApproval,\r\n getFirmRenewal,\r\n vfPostSectionHasFirmSubmittedSupervisingProfessional,\r\n postRenewalPdf\r\n}","import axios from \"axios\";\r\nimport authHeader from '../../authheader'\r\n\r\nconst QUEUEURL = process.env.REACT_APP_APIURL + \"/api/WorkQueue\";\r\n\r\nconst getMyPendingTasks = async (model) => {\r\n return axios.post(`${QUEUEURL}/tasks`, { ...model }, { headers: authHeader(), params: { taskType: 1 } });\r\n};\r\nconst getAllTasks = async (model) => {\r\n return axios.post(`${QUEUEURL}/tasks`, { ...model }, { headers: authHeader(), params: { taskType: 3 } });\r\n};\r\nconst getUnassignedTasks = async () => {\r\n return axios.post(`${QUEUEURL}/tasks`, {}, { headers: authHeader(), params: { taskType: 2 } });\r\n};\r\nconst getClosedTasks = async (model) => {\r\n return axios.post(`${QUEUEURL}/tasks`, {...model}, { headers: authHeader(), params: { taskType: 4 } });\r\n};\r\nconst getDeclinedTasks = async (model) => {\r\n return axios.post(`${QUEUEURL}/tasks`, { ...model }, { headers: authHeader(), params: { taskType: 5 } });\r\n};\r\nconst postAssignTask = (taskId, userId) => {\r\n return axios.post(`${QUEUEURL}/assigntask`, null, { headers: authHeader(), params: { taskId, userId } });\r\n}\r\nconst reassignTask = (taskId, userId) => {\r\n return axios.post(`${QUEUEURL}/reassigntask`, null, { headers: authHeader(), params: { taskId, userId } });\r\n}\r\nconst saveInternalTaskStatusAndComments = (parentTypeId, parentId, internalStatusId, comments) => {\r\n return axios.post(`${QUEUEURL}/saveinternaltaskstatusandcomments`, null, { headers: authHeader(), params: { parentTypeId, parentId, internalStatusId, comments } });\r\n}\r\nconst getInternalTaskStatusAndComments = (parentTypeId, parentId) => {\r\n return axios.get(`${QUEUEURL}/getinternaltaskstatusandcomments`, { headers: authHeader(), params: { parentTypeId, parentId } });\r\n}\r\nconst getTaskId = (parentTypeId, parentId) => {\r\n return axios.get(`${QUEUEURL}/gettaskid`, { headers: authHeader(), params: { parentTypeId, parentId } });\r\n}\r\nconst getWhoAssigned = (taskId) => {\r\n return axios.get(`${QUEUEURL}/getwhoassignedtask`, { headers: authHeader(), params: { taskId } });\r\n}\r\nconst getAssignmentHistory = (taskId) => {\r\n return axios.get(`${QUEUEURL}/getassignmenthistory`, { headers: authHeader(), params: { taskId } });\r\n}\r\nconst getApplicationTypes = () => {\r\n return axios.get(`${QUEUEURL}/getapplicationtypes`, { headers: authHeader(), params: { } });\r\n}\r\n\r\nexport default {\r\n getMyPendingTasks,\r\n getAllTasks,\r\n getUnassignedTasks,\r\n getClosedTasks,\r\n getDeclinedTasks,\r\n postAssignTask,\r\n reassignTask,\r\n saveInternalTaskStatusAndComments,\r\n getInternalTaskStatusAndComments,\r\n getTaskId,\r\n getWhoAssigned,\r\n getAssignmentHistory,\r\n getApplicationTypes\r\n}","import axios from \"axios\";\r\nimport authHeader from '../../authheader'\r\n\r\nconst INTERNALREINSTATEMENT = process.env.REACT_APP_APIURL + \"/api/IndividualReinstatement\";\r\n\r\nconst getPendingReinstatements = async () => {\r\n return axios.get(`${INTERNALREINSTATEMENT}/pendingreinstatements`, { headers: authHeader() });;\r\n};\r\nconst getIndividualReinstatement = async (reinstatementId) => {\r\n return axios.get(`${INTERNALREINSTATEMENT}/reinstatement`, { headers: authHeader(), params: { reinstatementId } });;\r\n};\r\n\r\nconst plsGetSection = (reinstatementId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/IndividualPlsReinstatement/section`, { headers: authHeader(), params: { reinstatementId, sectionId } });\r\n}\r\nconst plsMarkSectionComplete = (applicationId, sectionId, complete) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPlsReinstatement/marksectioncomplete`, null, { headers: authHeader(), params: { applicationId, sectionId, complete } })\r\n}\r\nconst plsPostSection = (reinstatementId, sectionId, electronicSignature) => {\r\n\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPlsReinstatement/signsection`, null, { headers: authHeader(), params: { reinstatementId, sectionId, electronicSignature } });\r\n}\r\nconst plsPostSectionHasRef = (reinstatementId, sectionId, hasReferences) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPlsReinstatement/setsectionhasreferences`, null, { headers: authHeader(), params: { reinstatementId, sectionId, hasReferences } });\r\n}\r\nconst plsPostSectionHasCpd = (reinstatementId, sectionId, hasCpd) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPlsReinstatement/setsectionhascpd`, null, { headers: authHeader(), params: { reinstatementId, sectionId, hasCpd } });\r\n}\r\nconst plsPostSectionHasExperience = (reinstatementId, sectionId, hasMyNceesExperience) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPlsReinstatement/setsectionhasmynceesexperience`, null, { headers: authHeader(), params: { reinstatementId, sectionId, hasMyNceesExperience } });\r\n}\r\nconst postStaffApproval = (reinstatementId, isApproved) => {\r\n return axios.post(`${INTERNALREINSTATEMENT}/staffApproval`, null, { headers: authHeader(), params: { reinstatementId, isApproved } });\r\n}\r\nconst postReinstatementPdf = (reinstatementId, isApproved) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/Reports/AutoAttachReinstatementPdf`, null, { headers: authHeader(), params: { reinstatementId, isApproved } });\r\n}\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Complete this section providing all required contact information.\",\r\n },\r\n {\r\n id: 2,\r\n sectionTitle: \"Employment\",\r\n sectionContent: \"Verify Louisiana Employment Firm licensure\",\r\n },\r\n {\r\n id: 3,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 4,\r\n sectionTitle: \"Quizzes\",\r\n sectionContent: \"Quiz content here\",\r\n },\r\n {\r\n id: 5,\r\n sectionTitle: \"CPD Requirements\",\r\n sectionContent: \"If you answer yes to any of the questions in this section, you will need to submit a detailed description for each violation\" +\r\n \"and you may be required to provide court documents.\",\r\n },\r\n {\r\n id: 6,\r\n sectionTitle: \"Personal References\",\r\n sectionContent: \"*only for 5 years or more\",\r\n },\r\n {\r\n id: 7,\r\n sectionTitle: \"Experience Record\",\r\n sectionContent: \"*only for 5 years or more\",\r\n },\r\n {\r\n id: 8,\r\n sectionTitle: \"Disclosure\",\r\n sectionContent: \"Authorize LAPELS staff to procure a consumer report.\",\r\n },\r\n {\r\n id: 9,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Electronically sign (type your name) and date.\",\r\n }\r\n ,\r\n {\r\n id: 10,\r\n sectionTitle: \"Review\",\r\n sectionContent: 'Review your answers. If you need to change an answer, click the \"Section\" above to go back to the appropriate section',\r\n },\r\n {\r\n id: 11,\r\n sectionTitle: \"Board/Staff Recommendations\",\r\n sectionContent: 'Waiting on text',\r\n }\r\n])\r\nexport default {\r\n plsPostSection,\r\n plsPostSectionHasRef,\r\n plsPostSectionHasCpd,\r\n plsPostSectionHasExperience,\r\n getPendingReinstatements,\r\n getIndividualReinstatement,\r\n plsGetSection,\r\n plsMarkSectionComplete,\r\n postStaffApproval,\r\n postReinstatementPdf\r\n}","import axios from \"axios\";\r\nimport authHeader from '../../authheader'\r\n\r\nconst INDIVIDUALRENEWAL = process.env.REACT_APP_APIURL + \"/api/IndividualRenewal\";\r\n\r\nconst getPendingRenewals = async () => {\r\n return axios.get(`${INDIVIDUALRENEWAL}/pendingrenewals`, { headers: authHeader() });;\r\n};\r\nconst getIndividualRenewal = async (renewalId) => {\r\n return axios.get(`${INDIVIDUALRENEWAL}/renewal`, { headers: authHeader(), params: { renewalId } });;\r\n};\r\n\r\nconst createRenewal = (credentialTypeId, credentialId) => {\r\n return axios.post(`${INDIVIDUALRENEWAL}/create`, null, { headers: authHeader(), params: { credentialTypeId, credentialId } })\r\n .then((response) => {\r\n return response;\r\n });\r\n}\r\nconst plsGetSection = (renewalId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/IndividualPlsRenewal/section`, { headers: authHeader(), params: { renewalId, sectionId } });\r\n}\r\nconst plsPostSection = (renewalId, sectionId, electronicSignature) => {\r\n\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPlsRenewal/signsection`, null, { headers: authHeader(), params: { renewalId, sectionId, electronicSignature } });\r\n}\r\nconst plsPostSectionHasRef = (renewalId, sectionId, hasReferences) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPlsRenewal/setsectionhasreferences`, null, { headers: authHeader(), params: { renewalId, sectionId, hasReferences } });\r\n}\r\nconst plsPostSectionHasCpd = (renewalId, sectionId, hasCpd) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPlsRenewal/setsectionhascpd`, null, { headers: authHeader(), params: { renewalId, sectionId, hasCpd } });\r\n}\r\nconst plsMarkSectionComplete = (renewalId, sectionId, complete) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPlsRenewal/marksectioncomplete`, null, { headers: authHeader(), params: { renewalId, sectionId, complete } })\r\n}\r\nconst validateRenewal = (renewalId) => {\r\n return axios.post(`${INDIVIDUALRENEWAL}/validate`, null, { headers: authHeader(), params: { renewalId } })\r\n .then((response) => {\r\n return response;\r\n }).catch((res) => {\r\n });\r\n}\r\nconst submitRenewal = (renewalId) => {\r\n return axios.post(`${INDIVIDUALRENEWAL}/submit`, null, { headers: authHeader(), params: { renewalId } })\r\n .then((response) => {\r\n return response;\r\n }).catch((res) => {\r\n });\r\n}\r\nconst postStaffApproval = (renewalId, isApproved) => {\r\n return axios.post(`${INDIVIDUALRENEWAL}/staffApproval`, null, { headers: authHeader(), params: { renewalId, isApproved } });\r\n}\r\nconst postRenewalPdf = (renewalId, isApproved) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/Reports/AutoAttachRenewalPdf`, null, { headers: authHeader(), params: { renewalId, isApproved } });\r\n}\r\n\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Complete this section providing all required contact information.\",\r\n },\r\n {\r\n id: 2,\r\n sectionTitle: \"License Status\",\r\n sectionContent: \"Verify the staus of your license.\",\r\n },\r\n {\r\n id: 3,\r\n sectionTitle: \"CPD Requirements\",\r\n sectionContent: \"If you answer yes to any of the questions in this section, you will need to submit a detailed description for each violation and you may be required to provide court documents.\",\r\n },\r\n {\r\n id: 4,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 5,\r\n sectionTitle: \"Supervising Professional\",\r\n sectionContent: \"Certify if you are a supervising professional on behalf of a firm.\",\r\n },\r\n {\r\n id: 6,\r\n sectionTitle: \"Journal & Phone Privacy Options\",\r\n sectionContent: \"Verify your subscription and distribution options.\",\r\n },\r\n {\r\n id: 7,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Electronically sign (type your name) and date.\",\r\n },\r\n {\r\n id: 8,\r\n sectionTitle: \"Review\",\r\n sectionContent: \"Review certificate renewal.\",\r\n }\r\n])\r\nexport default {\r\n getPendingRenewals,\r\n getIndividualRenewal,\r\n createRenewal,\r\n plsGetSection,\r\n plsPostSection,\r\n plsPostSectionHasRef,\r\n plsPostSectionHasCpd,\r\n plsMarkSectionComplete,\r\n validateRenewal,\r\n submitRenewal,\r\n postStaffApproval,\r\n postRenewalPdf\r\n}","import React, { useEffect } from 'react';\r\nimport { useState } from 'react';\r\nimport { Container, Row, Button, Col } from 'react-bootstrap'\r\nimport { List } from 'rsuite';\r\nimport GenericBadge from '../../Shared/Badge/GenericBadge';\r\nimport LoadingSpinner from '../../Shared/GenericComponents/LoadingSpinner';\r\n\r\nfunction RecentUpdateItem({ data }) {\r\n const [loading, setIsLoading] = useState(false);\r\n useEffect(() => {\r\n setIsLoading(false)\r\n }, [])\r\n const goToPage = (data) => {\r\n if (data.issueId) {\r\n setIsLoading(true);\r\n window.open(\"internal/redirectToSection?issueId=\" + data.issueId, \"_self\");\r\n setIsLoading(false);\r\n }\r\n }\r\n return (\r\n
\r\n { goToPage(data) }} className=\"recentUpdateItem\">\r\n {loading ? :\r\n <>\r\n \r\n
{data.name}
\r\n {new Date(data.date).toLocaleDateString()}\r\n
\r\n Message in   \r\n {data.text}\r\n {data.isClosed && CLOSED}\r\n {!data.isClosed && OPEN}\r\n \r\n \r\n }\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default RecentUpdateItem;","import React, { useEffect, useState, useRef } from 'react';\r\nimport { Card, Col, Row } from 'react-bootstrap'\r\nimport { List } from 'rsuite';\r\nimport RecentUpdateItem from './RecentUpdateItem';\r\n\r\nfunction RecentUpdates({ updates }) {\r\n const [postUpdate, setPostUpdate] = useState(updates);\r\n const [page, setPage] = useState(1);\r\n const loader = useRef(null);\r\n\r\n\r\n // here we handle what happens when user scrolls to Load More div\r\n // in this case we just update page variable\r\n const handleObserver = (entities) => {\r\n const target = entities[0];\r\n if (target.isIntersecting) {\r\n setPage((page) => page + 1)\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
Recent Updates (click to review)
\r\n \r\n
\r\n {postUpdate.length > 0 ?\r\n \r\n {postUpdate.map((item, index) => {\r\n return \r\n })}\r\n \r\n :\r\n \r\n \r\n \r\n

No Recent Updates

\r\n
\r\n
\r\n
\r\n }\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default RecentUpdates;","import axios from \"axios\";\r\nimport authHeader from '../../authheader'\r\n\r\nconst STAFFDASHBOARDURL = process.env.REACT_APP_APIURL + \"/api/Staff\";\r\n\r\nconst getDashboardNumbers = async () => {\r\n return axios.get(`${STAFFDASHBOARDURL}/dashboard`, { headers: authHeader() });;\r\n};\r\n\r\nexport default {\r\n getDashboardNumbers\r\n}\r\n","import React, { useState } from 'react'\r\nimport { useEffect } from 'react';\r\nimport { Card, Col, Row } from 'react-bootstrap'\r\nimport { useHistory } from 'react-router-dom';\r\nimport staticInformationService from '../../../services/Internal/Staff/dashboardInformation.service';\r\n\r\nfunction TopCards() {\r\n const { push } = useHistory();\r\n\r\n const [applications, setApplications] = useState(\r\n {\r\n total: 0,\r\n individual: 0,\r\n firm: 0\r\n });\r\n const [reinstatements, setReinstatements] = useState(\r\n {\r\n total: 0,\r\n individual: 0,\r\n firm: 0\r\n });\r\n const [renewals, setRenewals] = useState(\r\n {\r\n total: 0,\r\n individual: 0,\r\n firm: 0\r\n });\r\n const [individualLicenses, setIndividualLicenses] = useState();\r\n const [firmLicenses, setFirmLicenses] = useState();\r\n const [askLola, setAskLola] = useState();\r\n const [cases, setCases] = useState();\r\n\r\n useEffect(() => {\r\n staticInformationService.getDashboardNumbers().then((response) => {\r\n if (response.data) {\r\n setApplications(\r\n {\r\n total: (response.data.pendingIndividualApplications + response.data.pendingFirmApplications).toLocaleString(\"en-US\"),\r\n individual: response.data.pendingIndividualApplications.toLocaleString(\"en-US\"),\r\n firm: response.data.pendingFirmApplications.toLocaleString(\"en-US\")\r\n }\r\n );\r\n setReinstatements(\r\n {\r\n total: (response.data.pendingIndividualReinstatements + response.data.pendingFirmReinstatements).toLocaleString(\"en-US\"),\r\n individual: response.data.pendingIndividualReinstatements.toLocaleString(\"en-US\"),\r\n firm: response.data.pendingFirmReinstatements.toLocaleString(\"en-US\")\r\n }\r\n );\r\n setRenewals(\r\n {\r\n total: (response.data.pendingIndividualRenewals + response.data.pendingFirmRenewals).toLocaleString(\"en-US\"),\r\n individual: response.data.pendingIndividualRenewals.toLocaleString(\"en-US\"),\r\n firm: response.data.pendingFirmRenewals.toLocaleString(\"en-US\")\r\n }\r\n );\r\n setIndividualLicenses(response.data.individualLicenses.toLocaleString(\"en-US\"))\r\n setFirmLicenses(response.data.firmLicenses.toLocaleString(\"en-US\"))\r\n setAskLola(response.data.askLolaUnanswered.toLocaleString(\"en-US\"))\r\n setCases(response.data.enforcementCases.toLocaleString(\"en-US\"));\r\n };\r\n })\r\n }, [])\r\n\r\n //const handleApplicationCardClick = (e) => {\r\n // navigateToPage('applications')\r\n // //Application Card was clicked\r\n //}\r\n //const handleInvLicensesCardClick = (e) => {\r\n // navigateToPage('invLicenses')\r\n // //Individual Licenses Card was clicked\r\n //}\r\n //const handleFirmLicensesCardClick = (e) => {\r\n // navigateToPage('firmLicenses')\r\n // //Firm Licenses Card was clicked\r\n //}\r\n //const handleAskLolaCardClick = (e) => {\r\n // navigateToPage('askLola')\r\n // //Ask LOLA Card was clicked\r\n //}\r\n //const navigateToPage = (page) => {\r\n // switch (page) {\r\n // case 'applications':\r\n // console.log(\"nav to applications\");\r\n // break;\r\n // case 'invLicenses':\r\n // console.log(\"nav to individual licenses\");\r\n // break;\r\n // case 'firmLicenses':\r\n // console.log(\"nav to firm licenses\");\r\n // break;\r\n // case 'askLola':\r\n // console.log(\"nav to ask lola\");\r\n // break;\r\n // default:\r\n // break;\r\n // }\r\n //}\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n
Applications ({applications.total})\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
Individual
\r\n
\r\n \r\n

{applications.individual}

\r\n
\r\n \r\n \r\n \r\n
Firm
\r\n
\r\n \r\n

{ applications.firm}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
Reinstatements ({reinstatements.total})\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
Individual
\r\n
\r\n \r\n

{reinstatements.individual}

\r\n
\r\n \r\n \r\n \r\n
Firm
\r\n
\r\n \r\n

{reinstatements.firm}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
Renewals ({renewals.total})\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
Individual
\r\n
\r\n \r\n

{renewals.individual}

\r\n
\r\n \r\n \r\n \r\n
Firm
\r\n
\r\n \r\n

{renewals.firm}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n Individual Licenses\r\n
\r\n
\r\n \r\n

{individualLicenses}

\r\n All Active Licenses\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n Firm Licenses\r\n
\r\n
\r\n \r\n

{firmLicenses}

\r\n All Active Licenses\r\n
\r\n
\r\n \r\n {/**/}\r\n {/* */}\r\n {/* */}\r\n {/*
*/}\r\n {/* Ask LOLA*/}\r\n {/*
*/}\r\n {/*
*/}\r\n {/* */}\r\n {/*

{askLola}

*/}\r\n {/* Unanswered*/}\r\n {/*
*/}\r\n {/*
*/}\r\n {/**/}\r\n {/**/}\r\n {/* */}\r\n {/* */}\r\n {/*
*/}\r\n {/* Cases*/}\r\n {/*
*/}\r\n {/*
*/}\r\n {/* */}\r\n {/*

{cases}

*/}\r\n {/* Open*/}\r\n {/*
*/}\r\n {/*
*/}\r\n {/**/}\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default TopCards;","import React, { useState } from 'react'\r\nimport { useEffect } from 'react';\r\nimport { Col, Container, Row } from 'react-bootstrap';\r\nimport recentUpdateService from '../../../services/Shared/recentUpdate.service';\r\nimport LoadingSpinner from '../../Shared/GenericComponents/LoadingSpinner';\r\nimport PendingTasks from './PendingTasks';\r\nimport RecentUpdates from './RecentUpdates';\r\nimport TopCards from './TopCards';\r\n\r\n\r\n\r\nfunction DashboardPage() {\r\n const [recentUpdate, setRecentUpdate] = useState([]);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n useEffect(() => {\r\n recentUpdateService.getRecentUpdate().then((response) => {\r\n setRecentUpdate(response.data);\r\n setHasLoaded(true);\r\n });\r\n\r\n }, [])\r\n return (\r\n \r\n \r\n
\r\n \r\n \r\n {hasLoaded ?\r\n : \r\n }\r\n \r\n \r\n
\r\n )\r\n}\r\nexport default DashboardPage;","import axios from \"axios\";\r\nimport authHeader from '../../authheader'\r\n\r\nconst getEntity = (entityId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/Staff/entity`, { headers: authHeader(), params: { entityId } });\r\n}\r\n\r\nconst plsGetStaffAndAdmin = (isForAssignment) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/Staff/staffandadmin`, { headers: authHeader(), params: { isForAssignment } });\r\n}\r\n\r\nconst plsGetStaffAndAdminMyTask = () => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/Staff/staffandadminmytask`, { headers: authHeader() });;\r\n}\r\n\r\nconst getStaffAndAdminReassignList = (taskId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/Staff/staffandadminreassignlist`, { headers: authHeader(), params: {taskId} });\r\n}\r\n\r\nconst getUnassignedQueuePermission = () => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/Staff/unassignedqueuepermission`, { headers: authHeader()});\r\n}\r\nexport default {\r\n getEntity,\r\n plsGetStaffAndAdmin,\r\n plsGetStaffAndAdminMyTask,\r\n getStaffAndAdminReassignList,\r\n getUnassignedQueuePermission\r\n}","import React, { useState } from 'react'\r\nimport { useEffect } from 'react';\r\nimport { Button, Col, Row } from 'react-bootstrap';\r\nimport { ControlLabel, Form, FormControl, FormGroup, InputPicker, SelectPicker, Table, TagPicker } from 'rsuite';\r\nimport queueService from '../../../services/Internal/Queue/queue.service';\r\nimport entityService from '../../../services/Internal/Staff/entity.service';\r\nimport { getInternalStatuses } from '../../../services/Shared/codeTable.service';\r\n\r\nfunction GridSearch(props) {\r\n const [statuses, setStatuses] = useState([]);\r\n const [showAdvancedSearch, setShowAdvancedSearch] = useState(false);\r\n const [employeeList, setEmployeeList] = useState([]);\r\n const [applicationTypes, setApplicationTypes] = useState([]);\r\n useEffect(() => {\r\n if (props.propsIsActive) {\r\n entityService.plsGetStaffAndAdmin().then((response) => {\r\n setEmployeeList(response.data.map((item, i) => {\r\n return { \"label\": `${item.firstName} ${item.lastName}`, \"value\": `${item.id}` }\r\n }).filter((item, index, self) =>\r\n index === self.findIndex((i) => (\r\n i.value === item.value\r\n ))\r\n ));\r\n });\r\n queueService.getApplicationTypes().then((response) => {\r\n setApplicationTypes(response.data.map((x, i) => { return { \"label\": `${x}`, \"value\": `${x}` } }));\r\n })\r\n if (props.hasInternalStatusSearch) {\r\n getInternalStatuses().then(setStatuses);\r\n }\r\n }\r\n }, [props.propsIsActive])\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n First Name\r\n \r\n \r\n \r\n \r\n \r\n Last Name\r\n \r\n \r\n \r\n \r\n \r\n Organization Name\r\n \r\n \r\n \r\n {props.hasInternalStatusSearch &&\r\n \r\n \r\n Internal Status\r\n \r\n \r\n \r\n }\r\n \r\n {\r\n (showAdvancedSearch && props.hasAdvancedSearch) &&\r\n <>\r\n \r\n \r\n \r\n Assigned To\r\n \r\n \r\n \r\n \r\n \r\n Submitted Date Range\r\n \r\n \r\n \r\n to\r\n \r\n  \r\n \r\n \r\n \r\n \r\n \r\n \r\n Application Type\r\n \r\n \r\n \r\n \r\n \r\n }\r\n
\r\n {props.hasAdvancedSearch ?\r\n <>{showAdvancedSearch ?\r\n
\r\n \r\n \r\n \r\n
\r\n :\r\n
\r\n \r\n \r\n
\r\n }\r\n \r\n :\r\n
\r\n \r\n
\r\n }\r\n
\r\n );\r\n}\r\n\r\nexport default GridSearch;","import React, { useState } from 'react'\r\nimport { useEffect } from 'react';\r\nimport { Button } from 'react-bootstrap';\r\nimport { Table } from 'rsuite';\r\nimport queueService from '../../../services/Internal/Queue/queue.service';\r\nimport LoadingSpinner from '../../Shared/GenericComponents/LoadingSpinner';\r\nimport GenericPagination from '../../Shared/Grid/GenericPagination';\r\nimport { sort_by } from './../../Shared/HelperFunctions'\r\nimport GridSearch from './GridSearch';\r\n\r\nfunction AllTasksGrid({ propsIsActive, viewItemCallback }) {\r\n const [gridData, setGridData] = useState([]);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sortColumn, setSortColumn] = useState(\"dateSubmitted\");\r\n const [sortType, setSortType] = useState(\"desc\");\r\n const [gridLoading, setGridLoading] = useState(false);\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n const [searchModel, setSearchModel] = useState({\r\n firstName: '',\r\n lastName: '',\r\n organizationName: '',\r\n internalStatus: null,\r\n assignedTo: '',\r\n dateSubmittedBegin: '',\r\n dateSubmittedEnd: '',\r\n applicationType: []\r\n })\r\n useEffect(() => {\r\n if (propsIsActive) {\r\n refreshGrid();\r\n setHasLoaded(true);\r\n }\r\n //the reason that this is in a set timeout is because without this databind delay, the column width calculations with flexgrow would be wrong\r\n //We will need to test with a C# controller call and see if the get request delay that happens will be enough to have the columns recalculate their widths\r\n }, [propsIsActive])\r\n\r\n const refreshGrid = () => {\r\n setHasLoaded(false);\r\n setGridLoading(true);\r\n var dataToTransmit = {\r\n firstName: searchModel.firstName ? searchModel.firstName : null,\r\n lastName: searchModel.lastName ? searchModel.lastName : null,\r\n organizationName: searchModel.organizationName ? searchModel.organizationName : null,\r\n internalStatus: searchModel.internalStatus,\r\n assignedTo: searchModel.assignedTo ? searchModel.assignedTo : null,\r\n dateSubmittedBegin: searchModel.dateSubmittedBegin ? searchModel.dateSubmittedBegin : null,\r\n dateSubmittedEnd: searchModel.dateSubmittedEnd ? searchModel.dateSubmittedEnd : null,\r\n applicationType: searchModel.applicationType ? searchModel.applicationType : null\r\n };\r\n queueService.getAllTasks(dataToTransmit).then((response) => {\r\n setGridData(response.data);\r\n setGridLoading(false);\r\n });\r\n }\r\n const clearSearchModel = () => {\r\n setSearchModel({\r\n firstName: '',\r\n lastName: '',\r\n organizationName: '',\r\n internalStatus: null,\r\n assignedTo: '',\r\n dateSubmittedBegin: '',\r\n dateSubmittedEnd: '',\r\n applicationType: []\r\n });\r\n }\r\n const handleSearch = () => {\r\n refreshGrid();\r\n setHasLoaded(true);\r\n }\r\n const getData = () => {\r\n var sortedData = gridData.sort(sort_by(sortColumn, sortType !== \"asc\"));\r\n return sortedData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n\r\n const handleSortColumn = (sortColumn, sortType) => {\r\n setSortColumn(sortColumn);\r\n setSortType(sortType);\r\n }\r\n\r\n const filteredData = getData();\r\n return (\r\n <>\r\n {\r\n\r\n <>\r\n \r\n
\r\n {hasLoaded ?\r\n <>\r\n \r\n { handleSortColumn(sortColumn, sortType) }}\r\n sortColumn={sortColumn}\r\n sortType={sortType}\r\n wordWrap\r\n autoHeight\r\n loading={gridLoading}\r\n data={filteredData} >\r\n \r\n \r\n \r\n {rowData => {\r\n return (\r\n \r\n );\r\n }}\r\n \r\n \r\n \r\n \r\n Applicant\r\n \r\n \r\n \r\n \r\n \r\n Application Type\r\n \r\n {rowData => (`${rowData.parentType} - ${rowData.taskType}`)}\r\n \r\n \r\n \r\n Date Submitted\r\n \r\n {rowData => (new Date(rowData.dateSubmitted).toLocaleDateString())}\r\n \r\n \r\n \r\n Assigned To\r\n \r\n \r\n \r\n \r\n \r\n Internal Status\r\n \r\n \r\n \r\n \r\n \r\n Comment(s)\r\n \r\n \r\n \r\n \r\n \r\n Status\r\n \r\n \r\n \r\n \r\n \r\n : \r\n }\r\n }\r\n \r\n );\r\n}\r\n\r\nexport default AllTasksGrid;","import React, { useState } from 'react'\r\nimport { useEffect } from 'react';\r\nimport { Button, Col, Row } from 'react-bootstrap';\r\nimport { Table } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport queueService from '../../../services/Internal/Queue/queue.service';\r\nimport entityService from '../../../services/Internal/Staff/entity.service';\r\nimport LoadingSpinner from '../../Shared/GenericComponents/LoadingSpinner';\r\nimport GenericPagination from '../../Shared/Grid/GenericPagination';\r\nimport { sort_by } from './../../Shared/HelperFunctions'\r\nimport GridSearch from './GridSearch';\r\n\r\nfunction MyTasksGrid({ propsIsActive, viewItemCallback }) {\r\n const [gridData, setGridData] = useState([]);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sortColumn, setSortColumn] = useState(\"dateSubmitted\");\r\n const [sortType, setSortType] = useState(\"asc\");\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n const [employeeList, setEmployeeList] = useState({});\r\n const [gridLoading, setGridLoading] = useState(false);\r\n\r\n const [searchModel, setSearchModel] = useState({\r\n firstName: '',\r\n lastName: '',\r\n organizationName: '',\r\n internalStatus: null\r\n })\r\n useEffect(() => {\r\n if (propsIsActive) {\r\n entityService.plsGetStaffAndAdminMyTask().then((response) => {\r\n var staffList = {};\r\n response.data.map((item, i) => {\r\n staffList[`${item.id}`] = `${item.firstName} ${item.lastName}`;\r\n })\r\n setEmployeeList(staffList);\r\n });\r\n refreshGrid();\r\n setHasLoaded(true);\r\n }\r\n //the reason that this is in a set timeout is because without this databind delay, the column width calculations with flexgrow would be wrong\r\n //We will need to test with a C# controller call and see if the get request delay that happens will be enough to have the columns recalculate their widths\r\n }, [propsIsActive])\r\n\r\n const refreshGrid = () => {\r\n setHasLoaded(false);\r\n setGridLoading(true);\r\n queueService.getMyPendingTasks(searchModel).then((response) => {\r\n setGridData(response.data);\r\n setGridLoading(false);\r\n });\r\n }\r\n const handleSearch = () => {\r\n refreshGrid();\r\n setHasLoaded(true);\r\n }\r\n\r\n const getData = () => {\r\n var sortedData = gridData.sort(sort_by(sortColumn, sortType !== \"asc\"));\r\n //sortedData = sortedData.reduce((acc, element) => {\r\n // if (element.internalStatusId == 1) {\r\n // return [element, ...acc];\r\n // }\r\n // return [...acc, element];\r\n //}, []);\r\n return sortedData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n\r\n const handleSortColumn = (sortColumn, sortType) => {\r\n setSortColumn(sortColumn);\r\n setSortType(sortType);\r\n }\r\n\r\n const filteredData = getData();\r\n return (\r\n <>\r\n {\r\n\r\n <>\r\n \r\n
\r\n {hasLoaded ? <>\r\n \r\n { handleSortColumn(sortColumn, sortType) }}\r\n sortColumn={sortColumn}\r\n sortType={sortType}\r\n loading={gridLoading}\r\n wordWrap autoHeight data={filteredData}>\r\n \r\n \r\n \r\n {rowData => {\r\n function handleAssignClick() {\r\n Swal.fire({\r\n title: 'Assign To',\r\n input: 'select',\r\n inputOptions: { ...employeeList },\r\n inputPlaceholder: 'Select a Reviewer',\r\n showCancelButton: true,\r\n confirmButtonText: 'Save',\r\n showLoaderOnConfirm: true,\r\n allowOutsideClick: () => !Swal.isLoading(),\r\n inputValidator: (value) => {\r\n return value === \"\" && 'Select a Reviewer!'\r\n }\r\n }).then((result) => {\r\n if (result.isConfirmed && result.value !== '') {\r\n queueService.reassignTask(rowData.taskId, result.value).then((response) => {\r\n if (response.status == 200) {\r\n refreshGrid();\r\n setHasLoaded(true)\r\n Swal.fire(\"Successfully reassigned\");\r\n }\r\n })\r\n }\r\n else {\r\n if (!result.value && result.isConfirmed) {\r\n Swal.fire(\"Selected dropdown list item's value is empty\")\r\n }\r\n }\r\n })\r\n }\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n \r\n \r\n Applicant\r\n \r\n \r\n \r\n \r\n \r\n Application Type\r\n \r\n {rowData => (`${rowData.parentType} - ${rowData.taskType}`)}\r\n \r\n \r\n \r\n Date Submitted\r\n \r\n {rowData => (new Date(rowData.dateSubmitted).toLocaleDateString())}\r\n \r\n \r\n \r\n Assigned From\r\n \r\n \r\n \r\n \r\n \r\n Assigned To\r\n \r\n \r\n \r\n \r\n \r\n Internal Status\r\n \r\n \r\n \r\n \r\n \r\n Comment(s)\r\n \r\n \r\n \r\n \r\n \r\n Status\r\n \r\n \r\n \r\n \r\n \r\n : }\r\n }\r\n );\r\n}\r\n\r\nexport default MyTasksGrid;","import React, { useState } from 'react'\r\nimport { useEffect } from 'react';\r\nimport { Button } from 'react-bootstrap';\r\nimport { Table } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport queueService from '../../../services/Internal/Queue/queue.service';\r\nimport entityService from '../../../services/Internal/Staff/entity.service';\r\nimport GenericBadge from '../../Shared/Badge/GenericBadge';\r\nimport LoadingSpinner from '../../Shared/GenericComponents/LoadingSpinner';\r\nimport GenericPagination from '../../Shared/Grid/GenericPagination';\r\nimport { sort_by } from './../../Shared/HelperFunctions'\r\n\r\nfunction UnassignedTasksGrid({ propsIsActive, viewItemCallback }) {\r\n const [gridData, setGridData] = useState([]);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [hasGridLoad, setHasGridLoad] = useState(false);\r\n const [sortColumn, setSortColumn] = useState(\"dateSubmitted\");\r\n const [sortType, setSortType] = useState(\"asc\");\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n const [employeeList, setEmployeeList] = useState({});\r\n\r\n useEffect(() => {\r\n\r\n if (propsIsActive) {\r\n setHasLoaded(false);\r\n refreshGrid();\r\n setHasLoaded(true);\r\n setHasGridLoad(true);\r\n entityService.plsGetStaffAndAdmin(true).then((response) => {\r\n var staffList = {};\r\n response.data.map((item, i) => {\r\n staffList[`${item.id}`] = `${item.firstName} ${item.lastName}`;\r\n })\r\n setEmployeeList(staffList);\r\n });\r\n }\r\n //the reason that this is in a set timeout is because without this databind delay, the column width calculations with flexgrow would be wrong\r\n //We will need to test with a C# controller call and see if the get request delay that happens will be enough to have the columns recalculate their widths\r\n }, [propsIsActive])\r\n\r\n const refreshGrid = () => {\r\n queueService.getUnassignedTasks().then((response) => {\r\n setGridData(response.data);\r\n });\r\n }\r\n\r\n const getData = () => {\r\n\r\n var sortedData = gridData.sort(sort_by(sortColumn, sortType !== \"asc\"));\r\n return sortedData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n\r\n const handleSortColumn = (sortColumn, sortType) => {\r\n\r\n setSortColumn(sortColumn);\r\n setSortType(sortType);\r\n }\r\n\r\n const filteredData = getData();\r\n return (\r\n <>\r\n {\r\n hasLoaded ?\r\n <>\r\n \r\n { handleSortColumn(sortColumn, sortType) }}\r\n sortColumn={sortColumn}\r\n sortType={sortType}\r\n wordWrap autoHeight data={filteredData}>\r\n \r\n \r\n \r\n {rowData => {\r\n function handleViewClick() {\r\n viewItemCallback(rowData);\r\n }\r\n function handleAssignClick() {\r\n Swal.fire({\r\n title: 'Assign To',\r\n input: 'select',\r\n inputOptions: { ...employeeList },\r\n inputPlaceholder: 'Select a Reviewer',\r\n showCancelButton: true,\r\n confirmButtonText: 'Save',\r\n showLoaderOnConfirm: true,\r\n allowOutsideClick: () => !Swal.isLoading(),\r\n inputValidator: (value) => {\r\n return value === \"\" && 'Select a Reviewer!'\r\n }\r\n }).then((result) => {\r\n if (result.isConfirmed && result.value !== '') {\r\n queueService.postAssignTask(rowData.taskId, result.value).then((response) => {\r\n if (response.status == 200) {\r\n if (typeof(response.data) == \"string\" && response.data.startsWith(\"This task is already assigned to\")) {\r\n Swal.fire({\r\n title: 'Reassign?',\r\n text: response.data,\r\n showCancelButton: true,\r\n confirmButtonText: 'Reassign',\r\n showLoaderOnConfirm: true,\r\n allowOutsideClick: () => !Swal.isLoading(),\r\n }).then((reassignResult) => {\r\n if (reassignResult.isConfirmed) {\r\n queueService.reassignTask(rowData.taskId, result.value).then((response) => {\r\n if (response.status == 200) {\r\n Swal.fire({ title: \"Successfully reassigned\" });\r\n }\r\n })\r\n }\r\n setHasGridLoad(false);\r\n refreshGrid();\r\n setHasGridLoad(true);\r\n })\r\n }\r\n else {\r\n setHasGridLoad(false);\r\n refreshGrid();\r\n Swal.fire({ title: \"Successfully assigned\", didClose: () => { setHasGridLoad(true); } });\r\n }\r\n }\r\n })\r\n }\r\n else {\r\n if (!result.value && result.isConfirmed) {\r\n Swal.fire(\"Selected dropdown list item's value is empty\")\r\n }\r\n }\r\n })\r\n }\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n \r\n \r\n Applicant\r\n \r\n \r\n \r\n \r\n \r\n Application Type\r\n \r\n {rowData => (`${rowData.parentType} - ${rowData.taskType}`)}\r\n \r\n \r\n \r\n Date Submitted\r\n \r\n {rowData => (new Date(rowData.dateSubmitted).toLocaleDateString())}\r\n \r\n \r\n \r\n Assigned To\r\n \r\n \r\n \r\n \r\n \r\n Internal Status\r\n \r\n \r\n \r\n \r\n \r\n Comment(s)\r\n \r\n \r\n \r\n \r\n \r\n Status\r\n \r\n \r\n \r\n \r\n \r\n \r\n : \r\n }\r\n \r\n );\r\n}\r\n\r\nexport default UnassignedTasksGrid;","import React, { useState } from 'react'\r\nimport { useEffect } from 'react';\r\nimport { Button } from 'react-bootstrap';\r\nimport { Table } from 'rsuite';\r\nimport queueService from '../../../services/Internal/Queue/queue.service';\r\nimport GenericBadge from '../../Shared/Badge/GenericBadge';\r\nimport LoadingSpinner from '../../Shared/GenericComponents/LoadingSpinner';\r\nimport GenericPagination from '../../Shared/Grid/GenericPagination';\r\nimport { sort_by } from './../../Shared/HelperFunctions'\r\nimport GridSearch from './GridSearch';\r\n\r\nfunction ClosedTasksGrid({ propsIsActive, viewItemCallback }) {\r\n const [gridData, setGridData] = useState([]);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sortColumn, setSortColumn] = useState(\"dateSubmitted\");\r\n const [sortType, setSortType] = useState(\"desc\");\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n const [gridLoading, setGridLoading] = useState(false);\r\n const [searchModel, setSearchModel] = useState({\r\n firstName: '',\r\n lastName: '',\r\n organizationName: '',\r\n internalStatus: null,\r\n assignedTo: '',\r\n dateSubmittedBegin: '',\r\n dateSubmittedEnd: '',\r\n applicationType: []\r\n })\r\n\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n if (propsIsActive) {\r\n refreshGrid();\r\n setHasLoaded(true);\r\n }\r\n //the reason that this is in a set timeout is because without this databind delay, the column width calculations with flexgrow would be wrong\r\n //We will need to test with a C# controller call and see if the get request delay that happens will be enough to have the columns recalculate their widths\r\n }, [propsIsActive])\r\n\r\n const clearSearchModel = () => {\r\n setSearchModel({\r\n firstName: '',\r\n lastName: '',\r\n organizationName: '',\r\n internalStatus: null,\r\n assignedTo: '',\r\n dateSubmittedBegin: '',\r\n dateSubmittedEnd: '',\r\n applicationType: []\r\n });\r\n }\r\n const handleSearch = () => {\r\n refreshGrid();\r\n setHasLoaded(true);\r\n }\r\n const getData = () => {\r\n\r\n var sortedData = gridData.sort(sort_by(sortColumn, sortType !== \"asc\"));\r\n return sortedData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const refreshGrid = () => {\r\n setHasLoaded(false);\r\n setGridLoading(true);\r\n var dataToTransmit = {\r\n firstName: searchModel.firstName ? searchModel.firstName : null,\r\n lastName: searchModel.lastName ? searchModel.lastName : null,\r\n organizationName: searchModel.organizationName ? searchModel.organizationName : null,\r\n internalStatus: searchModel.internalStatus,\r\n assignedTo: searchModel.assignedTo ? searchModel.assignedTo : null,\r\n dateSubmittedBegin: searchModel.dateSubmittedBegin ? searchModel.dateSubmittedBegin : null,\r\n dateSubmittedEnd: searchModel.dateSubmittedEnd ? searchModel.dateSubmittedEnd : null,\r\n applicationType: searchModel.applicationType ? searchModel.applicationType : null\r\n };\r\n queueService.getClosedTasks(dataToTransmit).then((response) => {\r\n setGridData(response.data);\r\n setGridLoading(false);\r\n });\r\n }\r\n\r\n const handleSortColumn = (sortColumn, sortType) => {\r\n\r\n setSortColumn(sortColumn);\r\n setSortType(sortType);\r\n }\r\n\r\n const filteredData = getData();\r\n return (\r\n <>\r\n \r\n
\r\n {\r\n hasLoaded ?\r\n <>\r\n\r\n \r\n { handleSortColumn(sortColumn, sortType) }}\r\n sortColumn={sortColumn}\r\n sortType={sortType}\r\n wordWrap autoHeight data={filteredData}>\r\n \r\n \r\n \r\n {rowData => {\r\n return (\r\n \r\n );\r\n }}\r\n \r\n \r\n \r\n \r\n Applicant\r\n \r\n \r\n \r\n \r\n \r\n Application Type\r\n \r\n {rowData => (`${rowData.parentType} - ${rowData.taskType}`)}\r\n \r\n \r\n \r\n Date Submitted\r\n \r\n {rowData => (new Date(rowData.dateSubmitted).toLocaleDateString())}\r\n \r\n \r\n \r\n Assigned To\r\n \r\n \r\n \r\n \r\n \r\n Internal Status\r\n \r\n \r\n \r\n \r\n \r\n Comment(s)\r\n \r\n \r\n \r\n \r\n \r\n Status\r\n \r\n \r\n \r\n \r\n \r\n : \r\n }\r\n \r\n );\r\n}\r\n\r\nexport default ClosedTasksGrid;","import React, { useState } from 'react'\r\nimport { useEffect } from 'react';\r\nimport { Button } from 'react-bootstrap';\r\nimport { Table } from 'rsuite';\r\nimport queueService from '../../../services/Internal/Queue/queue.service';\r\nimport LoadingSpinner from '../../Shared/GenericComponents/LoadingSpinner';\r\nimport GenericPagination from '../../Shared/Grid/GenericPagination';\r\nimport { sort_by } from './../../Shared/HelperFunctions'\r\nimport GridSearch from './GridSearch';\r\n\r\nfunction DeclinedTasksGrid({ propsIsActive, viewItemCallback }) {\r\n const [gridData, setGridData] = useState([]);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sortColumn, setSortColumn] = useState(\"dateSubmitted\");\r\n const [sortType, setSortType] = useState(\"desc\");\r\n const [gridLoading, setGridLoading] = useState(false);\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n const [searchModel, setSearchModel] = useState({\r\n firstName: '',\r\n lastName: '',\r\n organizationName: '',\r\n internalStatus: null,\r\n assignedTo: '',\r\n dateSubmittedBegin: '',\r\n dateSubmittedEnd: '',\r\n applicationType: []\r\n })\r\n useEffect(() => {\r\n if (propsIsActive) {\r\n refreshGrid();\r\n setHasLoaded(true);\r\n }\r\n //the reason that this is in a set timeout is because without this databind delay, the column width calculations with flexgrow would be wrong\r\n //We will need to test with a C# controller call and see if the get request delay that happens will be enough to have the columns recalculate their widths\r\n }, [propsIsActive])\r\n\r\n const refreshGrid = () => {\r\n setHasLoaded(false);\r\n setGridLoading(true);\r\n var dataToTransmit = {\r\n firstName: searchModel.firstName ? searchModel.firstName : null,\r\n lastName: searchModel.lastName ? searchModel.lastName : null,\r\n organizationName: searchModel.organizationName ? searchModel.organizationName : null,\r\n internalStatus: searchModel.internalStatus,\r\n assignedTo: searchModel.assignedTo ? searchModel.assignedTo : null,\r\n dateSubmittedBegin: searchModel.dateSubmittedBegin ? searchModel.dateSubmittedBegin : null,\r\n dateSubmittedEnd: searchModel.dateSubmittedEnd ? searchModel.dateSubmittedEnd : null,\r\n applicationType: searchModel.applicationType ? searchModel.applicationType : null\r\n };\r\n queueService.getDeclinedTasks(dataToTransmit).then((response) => {\r\n setGridData(response.data);\r\n setGridLoading(false);\r\n });\r\n }\r\n const clearSearchModel = () => {\r\n setSearchModel({\r\n firstName: '',\r\n lastName: '',\r\n organizationName: '',\r\n internalStatus: null,\r\n assignedTo: '',\r\n dateSubmittedBegin: '',\r\n dateSubmittedEnd: '',\r\n applicationType: []\r\n });\r\n }\r\n const handleSearch = () => {\r\n refreshGrid();\r\n setHasLoaded(true);\r\n }\r\n const getData = () => {\r\n var sortedData = gridData.sort(sort_by(sortColumn, sortType !== \"asc\"));\r\n return sortedData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n\r\n const handleSortColumn = (sortColumn, sortType) => {\r\n setSortColumn(sortColumn);\r\n setSortType(sortType);\r\n }\r\n\r\n const filteredData = getData();\r\n return (\r\n <>\r\n {\r\n\r\n <>\r\n \r\n
\r\n {hasLoaded ?\r\n <>\r\n \r\n { handleSortColumn(sortColumn, sortType) }}\r\n sortColumn={sortColumn}\r\n sortType={sortType}\r\n wordWrap\r\n autoHeight\r\n loading={gridLoading}\r\n data={filteredData} >\r\n \r\n \r\n \r\n {rowData => {\r\n return (\r\n \r\n );\r\n }}\r\n \r\n \r\n \r\n \r\n Applicant\r\n \r\n \r\n \r\n \r\n \r\n Application Type\r\n \r\n {rowData => (`${rowData.parentType} - ${rowData.taskType}`)}\r\n \r\n \r\n \r\n Date Submitted\r\n \r\n {rowData => (new Date(rowData.dateSubmitted).toLocaleDateString())}\r\n \r\n \r\n \r\n Assigned To\r\n \r\n \r\n \r\n \r\n \r\n Internal Status\r\n \r\n \r\n \r\n \r\n \r\n Comment(s)\r\n \r\n \r\n \r\n \r\n \r\n Status\r\n \r\n \r\n \r\n \r\n \r\n : \r\n }\r\n }\r\n \r\n );\r\n}\r\n\r\nexport default DeclinedTasksGrid;","import React, { useEffect, useState } from 'react'\r\nimport { Card, Tabs, Tab } from 'react-bootstrap'\r\nimport AllTasksGrid from './AllTasksGrid';\r\nimport MyTasksGrid from './MyTasksGrid';\r\nimport UnassignedTasksGrid from './UnassignedTasksGrid';\r\nimport ClosedTasksGrid from './ClosedTasksGrid';\r\nimport Swal from 'sweetalert2';\r\nimport applicationService from '../../../services/Internal/Application/application.service';\r\nimport firmApplicationService from '../../../services/Internal/Application/VF/vfApplication.service';\r\nimport firmReinstatementService from '../../../services/Internal/Reinstatement/VF/vfReinstatement.service';\r\nimport reinstatementService from '../../../services/Internal/Reinstatement/reinstatement.service';\r\nimport renewalService from '../../../services/Internal/Renewal/renewal.service';\r\nimport firmRenewalService from '../../../services/Internal/Renewal/VF/vfRenewal.service';\r\nimport entityService from '../../../services/Internal/Staff/entity.service';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useDispatch } from 'react-redux';\r\nimport BlockUi from 'react-block-ui';\r\nimport 'react-block-ui/style.css';\r\nimport DeclinedTasksGrid from './DeclinedTasksGrid';\r\n\r\nfunction QueuePage() {\r\n const [gridType, setGridType] = useState(\"myTasks\");\r\n const [hasUnassignedPermission, setHasUnassignedPermission] = useState(false);\r\n const [blockUI, toggleBlockUi] = useState(false);\r\n const { push } = useHistory();\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n entityService.getUnassignedQueuePermission().then((response) => {\r\n setHasUnassignedPermission(response.data);\r\n })\r\n }, [])\r\n const viewItem = (rowData) => {\r\n switch (rowData.prefix) {\r\n case 'PLS'://PLS by Exam\r\n case 'PE': // Professional Engineer\r\n case \"EI\": // Engineering Intern\r\n case \"LSI\": //Land Surveying Intern\r\n switch (rowData.taskTypeId) {\r\n case 1://Application\r\n applicationService.getIndividualApplication(rowData.parentId).then((response) => {\r\n navigateAndSetCurrentApplication(response.data)\r\n })\r\n toggleBlockUi(true);\r\n break;\r\n case 2://Reinstatement\r\n reinstatementService.getIndividualReinstatement(rowData.parentId).then((response) => {\r\n navigateAndSetCurrentReinstatement(response.data)\r\n })\r\n toggleBlockUi(true);\r\n break;\r\n case 3://Renewal\r\n renewalService.getIndividualRenewal(rowData.parentId).then((response) => {\r\n navigateAndSetCurrentRenewal(response.data)\r\n })\r\n toggleBlockUi(true);\r\n break;\r\n default:\r\n Swal.fire(\"Error Occured!\")\r\n }\r\n break;\r\n case 'VF': // Surveying Firm\r\n case 'EF': // Engineering Firm\r\n switch (rowData.taskTypeId) {\r\n case 1://Application\r\n firmApplicationService.getFirmApplication(rowData.parentId).then((response) => {\r\n navigateAndSetCurrentApplication(response.data)\r\n })\r\n toggleBlockUi(true);\r\n break;\r\n case 2://Reinstatement\r\n firmReinstatementService.getFirmReinstatement(rowData.parentId).then((response) => {\r\n navigateAndSetCurrentReinstatement(response.data)\r\n })\r\n toggleBlockUi(true);\r\n break;\r\n case 3://Renewal\r\n firmRenewalService.getFirmRenewal(rowData.parentId).then((response) => {\r\n navigateAndSetCurrentRenewal(response.data)\r\n })\r\n toggleBlockUi(true);\r\n break;\r\n default:\r\n Swal.fire(\"Error Occured!\")\r\n }\r\n break;\r\n default:\r\n Swal.fire(\"Not implemented!\");\r\n }\r\n }\r\n\r\n const navigateAndSetCurrentApplication = (rowData) => {\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: rowData.id });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ENTITY_ID\", payload: rowData.entityId });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_TYPE_ID\", payload: rowData.applicationType.id });\r\n var baseLink = \"\";\r\n switch (rowData.applicationType?.id) {\r\n case 1:\r\n baseLink = \"/internal/eiapp/\";\r\n break;\r\n case 2:\r\n baseLink = \"/internal/lsiapp/\";\r\n break;\r\n case 3:\r\n case 4:\r\n baseLink = \"/internal/peapp/\";\r\n break;\r\n case 5:\r\n case 6:\r\n baseLink = \"/internal/plsApp/\";\r\n break;\r\n case 7:\r\n baseLink = \"/internal/efapp/\";\r\n break;\r\n case 8:\r\n baseLink = \"/internal/vfApp/\";\r\n break;\r\n }\r\n if (rowData?.sections?.length) {\r\n var route = [];\r\n for (var i = 0; i < rowData.sections.length; i++) {\r\n let sectionId = rowData.sections[i].sectionType.id\r\n var link = baseLink;\r\n switch (sectionId) {\r\n case 1:\r\n link += \"contactInformation\"\r\n break;\r\n case 2:\r\n link += \"education\"\r\n break;\r\n case 3:\r\n link += \"personalReferences\"\r\n break;\r\n case 4:\r\n link += \"violations\"\r\n break;\r\n case 5:\r\n link += \"employment\"\r\n break;\r\n case 6:\r\n link += \"quizzes\"\r\n break;\r\n case 7:\r\n link += \"experience\"\r\n break;\r\n case 8:\r\n link += \"acknowledgement\"\r\n break;\r\n case 9:\r\n link += \"review\"\r\n break;\r\n case 10:\r\n link += \"boardApproval\"\r\n break;\r\n case 11:\r\n link += \"examinationVerification\";\r\n break;\r\n case 12:\r\n link += \"recommendation\";\r\n break;\r\n case 13:\r\n link += \"waiver\";\r\n break;\r\n case 14:\r\n link += \"supervisingProfessional\";\r\n break;\r\n case 15:\r\n link += \"unlicensedActivity\";\r\n break;\r\n case 16:\r\n link += \"coopexperience\";\r\n break;\r\n case 17:\r\n link += \"residency\";\r\n break;\r\n default:\r\n }\r\n route.push({ sectionId: rowData.sections[i].sectionType.id, route: link })\r\n }\r\n }\r\n dispatch({ type: \"PERSIST_CURRENT_ROUTE\", payload: route })\r\n push(baseLink + \"sections\");\r\n }\r\n const navigateAndSetCurrentReinstatement = (rowData) => {\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: rowData.id });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ENTITY_ID\", payload: rowData.entityId });\r\n var baseLink = \"\";\r\n switch (rowData.credential?.credentialType?.id) {\r\n case 1:\r\n baseLink = \"/internal/efreinstatement/\";\r\n break;\r\n case 2:\r\n baseLink = \"/internal/vfReinstatement/\";\r\n break;\r\n case 3: // For when we have reinstatement\r\n baseLink = \"/internal/eiReinstatement/\";\r\n break;\r\n case 4:// For when we have reinstatement\r\n baseLink = \"/internal/lsiReinstatement/\";\r\n break;\r\n case 5:\r\n baseLink = \"/internal/plsReinstatement/\";\r\n break;\r\n case 6:\r\n baseLink = \"/internal/pereinstatement/\";\r\n break;\r\n }\r\n if (rowData?.sections?.length) {\r\n var route = [];\r\n for (var i = 0; i < rowData.sections.length; i++) {\r\n let sectionId = rowData.sections[i].sectionType.id\r\n var link = baseLink;\r\n switch (sectionId) {\r\n case 1:\r\n link += \"contactInformation\"\r\n break;\r\n case 2:\r\n link += \"employment\"\r\n break;\r\n case 3:\r\n link += \"violations\"\r\n break;\r\n case 4:\r\n link += \"quizzes\"\r\n break;\r\n case 5:\r\n link += \"cpdRequirements\"\r\n break;\r\n case 6:\r\n link += \"personalReferences\"\r\n break;\r\n case 7:\r\n link += \"experience\"\r\n break;\r\n case 8:\r\n link += \"disclosure\"\r\n break;\r\n case 9:\r\n link += \"acknowledgement\"\r\n break;\r\n case 10:\r\n link += \"review\"\r\n break;\r\n case 11:\r\n link += \"boardApproval\"\r\n break;\r\n case 12:\r\n link += \"waiver\"\r\n break;\r\n case 13:\r\n link += \"supervisingProfessional\"\r\n break;\r\n case 14:\r\n link += \"unlicensedActivity\"\r\n break;\r\n case 15:\r\n link += \"design\"\r\n break;\r\n case 16:\r\n link += \"education\"\r\n break;\r\n case 17:\r\n link += \"examination\"\r\n break;\r\n default:\r\n }\r\n route.push({ sectionId: rowData.sections[i].sectionType.id, route: link })\r\n }\r\n dispatch({ type: \"PERSIST_CURRENT_ROUTE\", payload: route })\r\n }\r\n push(baseLink + \"sections\");\r\n }\r\n const navigateAndSetCurrentRenewal = (rowData) => {\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: rowData.id });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ENTITY_ID\", payload: rowData.entityId });\r\n var baseLink = \"\";\r\n switch (rowData.credential?.credentialType?.id) {\r\n case 1:\r\n baseLink = \"/internal/efrenewal/\";\r\n break;\r\n case 2:\r\n baseLink = \"/internal/vfRenewal/\";\r\n break;\r\n case 3:\r\n baseLink = \"/internal/eirenewal/\";\r\n break;\r\n case 4:\r\n baseLink = \"/internal/lsirenewal/\";\r\n break;\r\n case 5:\r\n baseLink = \"/internal/plsRenewal/\";\r\n break;\r\n case 6:\r\n baseLink = \"/internal/perenewal/\";\r\n break;\r\n }\r\n if (rowData?.sections?.length) {\r\n var route = [];\r\n for (var i = 0; i < rowData.sections.length; i++) {\r\n let sectionId = rowData.sections[i].sectionType.id\r\n var link = baseLink;\r\n switch (sectionId) {\r\n case 1:\r\n link += \"contactInformation\"\r\n break;\r\n case 2:\r\n link += \"licenseStatus\"\r\n break;\r\n case 3:\r\n link += \"cpdRequirements\"\r\n break;\r\n case 4:\r\n link += \"violations\"\r\n break;\r\n case 5:\r\n link += \"supervisingprofessional\"\r\n break;\r\n case 6:\r\n link += \"privacy\"\r\n break;\r\n case 7:\r\n link += \"acknowledgement\"\r\n break;\r\n case 8:\r\n link += \"review\"\r\n break;\r\n case 9:\r\n link += \"waiver\"\r\n break;\r\n case 10:\r\n link += \"design\"\r\n break;\r\n default:\r\n }\r\n route.push({ sectionId: rowData.sections[i].sectionType.id, route: link })\r\n }\r\n dispatch({ type: \"PERSIST_CURRENT_ROUTE\", payload: route })\r\n }\r\n push(baseLink + \"sections\");\r\n }\r\n\r\n return (\r\n <>\r\n

Queue

\r\n \r\n \r\n \r\n { setGridType(selected) }}>\r\n \r\n
\r\n \r\n
\r\n {hasUnassignedPermission && \r\n \r\n
\r\n \r\n
\r\n }\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\nexport default QueuePage;","import axios from \"axios\";\r\nimport authHeader from '../../authheader.js'\r\n\r\nconst ENTITYSEARCHURL = process.env.REACT_APP_APIURL + \"/api/EntitySearch\";\r\n\r\nconst postEntitySearch = (data) => {\r\n return axios.post(`${ENTITYSEARCHURL}`, data, { headers: authHeader() });\r\n}\r\n\r\nexport default {\r\npostEntitySearch\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { Card, Row, Col, Button } from 'react-bootstrap'\r\nimport { useDispatch } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Icon, Table } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport LoadingSpinner from '../../Shared/GenericComponents/LoadingSpinner';\r\n\r\n// requires gridData\r\n\r\nfunction EntitySearchGrid(props) {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [gridData, setGridData] = useState([]);\r\n const [displayLength, setDisplayLength] = useState();\r\n const [page, setPage] = useState();\r\n\r\n var dispatch = useDispatch();\r\n const { push } = useHistory();\r\n useEffect(() => {\r\n setGridData(props.gridData)\r\n setHasLoaded(true);\r\n props.setIsSearchingCallback(false)\r\n const currentPageCache = JSON.parse(localStorage.getItem(\"currentPageCache\"));\r\n if (currentPageCache)\r\n setPage(currentPageCache)\r\n else\r\n setPage(1)\r\n\r\n const displayLengthCache = JSON.parse(localStorage.getItem(\"displayLengthCache\"));\r\n if (displayLengthCache)\r\n setDisplayLength(displayLengthCache)\r\n else\r\n setDisplayLength(20)\r\n\r\n\r\n }, [props.gridData])\r\n\r\n const handleChangePage = (dataKey) => {\r\n setPage(dataKey);\r\n localStorage.setItem(\"currentPageCache\", JSON.stringify(dataKey));\r\n }\r\n const handleChangeLength = (dataKey) => {\r\n setPage(1);\r\n setDisplayLength(dataKey);\r\n localStorage.setItem(\"displayLengthCache\", JSON.stringify(dataKey));\r\n }\r\n const navigateToEntity = (rowData) => {\r\n if (rowData.entityType.id == 1)\r\n push(\"/internal/indCredential?entityId=\" + rowData.entityId);\r\n else if (rowData.entityType.id == 2)\r\n push(\"/internal/firmCredential?entityId=\" + rowData.entityId);\r\n else\r\n Swal.fire(\"Something went wrong\")\r\n }\r\n const getData = () => {\r\n return gridData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n\r\n const filteredData = getData();\r\n return (\r\n
\r\n \r\n
Search Listing
\r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {rowData => (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n LOLA #\r\n \r\n {rowData => (rowData.lolaNumber)}\r\n \r\n \r\n \r\n Credential #/Status\r\n \r\n {rowData => (rowData.credentials.map((cred) => {\r\n if (cred.status?.status == \"Upgraded\" || ([\"Active\", \"Inactive\", \"Retired\"].includes(cred.status?.status) && cred.statusReason == \"Normal\") || (cred.status?.status == cred.statusReason))\r\n return <>{cred.formattedLicenseNumber} - {cred.status?.status}
;\r\n else\r\n return <>{cred.formattedLicenseNumber} - {cred.status?.status} ({cred.statusReason})
;\r\n }))}
\r\n
\r\n \r\n \r\n Expiration Date\r\n \r\n {rowData => (rowData.credentials.map((cred) => <>{cred.credentialType.prefix} - {cred.expirationDate}
))}
\r\n
\r\n \r\n \r\n Name\r\n \r\n {rowData => (rowData.name)}\r\n \r\n \r\n \r\n Email\r\n \r\n {rowData => (rowData.emailAddresses?.length > 0 ? (rowData.emailAddresses.map((email) => <>{email.emailAddressType.emailAddressType} - {email.contactEmailAddress}
)) : <>)}
\r\n
\r\n \r\n \r\n SSN/FEIN\r\n \r\n {rowData => (rowData.federalId)}\r\n \r\n \r\n \r\n Birthdate\r\n \r\n {rowData => (rowData.dateOfBirth)}\r\n \r\n \r\n \r\n NCEES\r\n \r\n {rowData => (rowData.nceesNumber)}\r\n \r\n
\r\n \r\n : \r\n }\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\n\r\nexport default EntitySearchGrid;","import React, { useState } from 'react'\r\nimport { useEffect } from 'react';\r\nimport { Button, Card, Col, Container, Row } from 'react-bootstrap';\r\nimport NumberFormat from 'react-number-format';\r\nimport { AutoComplete, ControlLabel, Form, FormControl, FormGroup, InputPicker, SelectPicker } from 'rsuite';\r\nimport { getAllCredentials, getCountries, getCredStatus, getCredStatusReason, getCredTypes, getEfCredentials } from '../../../services/Shared/codeTable.service';\r\nimport searchService from '../../../services/Internal/Search/search.service';\r\nimport EntitySearchGrid from './EntitySearchGrid';\r\nimport * as dayjs from 'dayjs';\r\nimport BlockUi from 'react-block-ui';\r\nimport Swal from 'sweetalert2';\r\nimport PhoneNumberMask from '../../Shared/GenericComponents/PhoneNumberMask';\r\n\r\nconst InputMask = ({ onChange, ...rest }) => {\r\n return (\r\n {\r\n onChange(event.target.value);\r\n }}\r\n />\r\n );\r\n};\r\n\r\nfunction EntitySearchPage() {\r\n const [searchModel, setSearchModel] = useState({\r\n lolaNumber: '',\r\n credentialNumber: '',\r\n credentialType: null,\r\n credentialStatus: null,\r\n credentialStatusReason: null,\r\n firstName: '',\r\n lastName: '',\r\n firmName: '',\r\n email: '',\r\n federalId: '',\r\n dateOfBirth: '',\r\n phone: '',\r\n stateProvince: '',\r\n postalCode: '',\r\n country: null,\r\n userId: '',\r\n nceesNumber: ''\r\n })\r\n const [countries, setCountries] = useState([])\r\n const [creds, setCreds] = useState();\r\n const [credType, setCredType] = useState([])\r\n const [credStaus, setCredStaus] = useState([])\r\n const [credReason, setCredReason] = useState([])\r\n const [gridData, setGridData] = useState([]);\r\n const [isSearching, setIsSearching] = useState(false);\r\n const [inputType, setInputType] = useState(\"text\");\r\n\r\n\r\n useEffect(() => {\r\n getCountries().then(setCountries);\r\n getCredStatus().then(setCredStaus);\r\n getCredTypes().then(setCredType);\r\n const searchCache = JSON.parse(localStorage.getItem(\"searchCache\"));\r\n if (searchCache) {\r\n if (searchCache.credentialStatus) {\r\n getCredStatusReason(searchCache.credentialStatus?.id).then(setCredReason);\r\n }\r\n setSearchModel(searchCache)\r\n cacheSearch(searchCache);\r\n }\r\n }, [])\r\n const cacheSearch = (searchCache) => {\r\n if (searchCache) {\r\n localStorage.removeItem(\"searchCache\");\r\n var credentialNumber = null;\r\n var dateOfBirth = searchCache.dateOfBirth ? dayjs(searchCache.dateOfBirth).format('YYYY-MM-DD') : null;\r\n if (searchCache.credentialNumber?.includes(\"(\") && searchCache.credentialNumber?.includes(\")\"))\r\n credentialNumber = searchCache.credentialNumber?.split(\"(\")[1].split(\")\")[0];\r\n else if (searchCache.credentialNumber) {\r\n Swal.fire(\"Please select a credential from the credential autocomplete.\");\r\n return false;\r\n }\r\n\r\n setIsSearching(true);\r\n var fedId = searchCache.federalId == '' ? null : searchCache.federalId\r\n localStorage.setItem(\"searchCache\", JSON.stringify({ ...searchCache }));\r\n searchService.postEntitySearch({ ...searchCache, dateOfBirth: dateOfBirth, federalId: fedId, credentialNumber }).then((response) => {\r\n setGridData(response.data);\r\n\r\n })\r\n }\r\n }\r\n const feinSsnChange = (val) => {\r\n var newSearchModel = searchModel;\r\n var correctedText = val.replace(/[^\\d-]*/g, \"\");\r\n newSearchModel.federalId = correctedText;\r\n setSearchModel(newSearchModel);\r\n }\r\n const nceesChange = (val) => {\r\n var newSearchModel = searchModel;\r\n var correctedText = val.replace(/[^\\d-]*/g, \"\");\r\n newSearchModel.nceesNumber = correctedText;\r\n setSearchModel(newSearchModel);\r\n }\r\n const handleCredentialStatusChange = (val) => {\r\n setSearchModel({ ...searchModel, credentialStatus: val, credentialStatusReason: null })\r\n getCredStatusReason(val?.id).then(setCredReason);\r\n }\r\n const updateCreds = (value) => {\r\n getAllCredentials(value).then(setCreds);\r\n }\r\n const submitSearch = () => {\r\n var credentialNumber = null;\r\n var dateOfBirth = searchModel.dateOfBirth ? dayjs(searchModel.dateOfBirth).format('YYYY-MM-DD') : null;\r\n if (searchModel.credentialNumber?.includes(\"(\") && searchModel.credentialNumber?.includes(\")\"))\r\n credentialNumber = searchModel.credentialNumber?.split(\"(\")[1].split(\")\")[0];\r\n else if (searchModel.credentialNumber) {\r\n Swal.fire(\"Please select a credential from the credential autocomplete.\");\r\n return false;\r\n }\r\n\r\n setIsSearching(true);\r\n var fedId = searchModel.federalId == '' ? null : searchModel.federalId\r\n localStorage.setItem(\"searchCache\", JSON.stringify({ ...searchModel }));\r\n localStorage.setItem(\"currentPageCache\", JSON.stringify(1));\r\n searchService.postEntitySearch({ ...searchModel, dateOfBirth: dateOfBirth, federalId: fedId, credentialNumber }).then((response) => {\r\n setGridData(response.data);\r\n })\r\n }\r\n const clearSearchModel = () => {\r\n setInputType(\"text\");\r\n setSearchModel({\r\n lolaNumber: '',\r\n credentialNumber: '',\r\n credentialType: null,\r\n credentialStatus: null,\r\n credentialStatusReason: null,\r\n firstName: '',\r\n lastName: '',\r\n firmName: '',\r\n email: '',\r\n federalId: '',\r\n dateOfBirth: '',\r\n phone: '',\r\n stateProvince: '',\r\n postalCode: '',\r\n country: null,\r\n userId: '',\r\n nceesNumber: ''\r\n });\r\n localStorage.removeItem(\"searchCache\");\r\n }\r\n return (\r\n \r\n

Contact Search

\r\n \r\n \r\n
Search Criteria
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n LOLA #\r\n \r\n \r\n \r\n \r\n \r\n First Name\r\n \r\n \r\n \r\n \r\n \r\n Last Name\r\n \r\n \r\n \r\n \r\n \r\n Organization Name\r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n Credential Type\r\n \r\n \r\n \r\n \r\n \r\n Credential #\r\n \r\n \r\n \r\n \r\n \r\n Credential Status\r\n \r\n \r\n \r\n \r\n \r\n Credential Status Reason\r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n Email\r\n \r\n \r\n \r\n \r\n \r\n SSN/FEIN\r\n \r\n \r\n \r\n \r\n \r\n Date of Birth\r\n setInputType(\"date\")}\r\n onBlur={(e) => { if (!e.target.value) { setInputType(\"text\") } }}\r\n placeholder=\"Date of Birth\"\r\n />\r\n \r\n \r\n \r\n \r\n Phone\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n State/Province/Region\r\n \r\n \r\n \r\n \r\n \r\n Postal Code\r\n \r\n \r\n \r\n \r\n \r\n Country\r\n \r\n \r\n \r\n \r\n \r\n User Id\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n NCEES\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n )\r\n}\r\n\r\nexport default EntitySearchPage;","import axios from \"axios\";\r\nimport authHeader from '../../authheader.js'\r\n\r\nconst FIRMCREDENTIALURL = process.env.REACT_APP_APIURL + \"/api/Firm\";\r\nconst INDCREDENTIALURL = process.env.REACT_APP_APIURL + \"/api/Individual\";\r\nconst COMMENTURL = process.env.REACT_APP_APIURL + \"/api/Comment\";\r\n\r\nconst getFirmGeneralInfo = async (entityId) => {\r\n return axios.get(`${FIRMCREDENTIALURL}/contact`, { headers: authHeader(), params: { entityId } });\r\n}\r\nconst postFirmGeneralInfo = async (data) => {\r\n return axios.post(`${FIRMCREDENTIALURL}/updatecontact`, data, { headers: authHeader() });;\r\n}\r\n\r\nconst getFirmCredentialInfo = async (entityId) => {\r\n return axios.get(`${FIRMCREDENTIALURL}/credentials`, { headers: authHeader(), params: { entityId } });\r\n}\r\nconst getFirmCredentialIds = async (entityId) => {\r\n return axios.get(`${FIRMCREDENTIALURL}/credentialids`, { headers: authHeader(), params: { entityId } });\r\n\r\n}\r\nconst updateEfCredential = async (data) => {\r\n return axios.post(`${FIRMCREDENTIALURL}/updateefcredential`, data, { headers: authHeader() });;\r\n}\r\nconst updateVfCredential = async (data) => {\r\n return axios.post(`${FIRMCREDENTIALURL}/updatevfcredential`, data, { headers: authHeader() });;\r\n}\r\nconst updatePlsCredential = async (data) => {\r\n return axios.post(`${INDCREDENTIALURL}/updateplscredential`, data, { headers: authHeader() });;\r\n}\r\nconst updatePeCredential = async (data) => {\r\n return axios.post(`${INDCREDENTIALURL}/updatepecredential`, data, { headers: authHeader() });;\r\n}\r\nconst updateLegacyPlsCredential = async (data) => {\r\n return axios.post(`${INDCREDENTIALURL}/updatelegacyplscredential`, data, { headers: authHeader() });;\r\n}\r\nconst updateLegacyPeCredential = async (data) => {\r\n return axios.post(`${INDCREDENTIALURL}/updatelegacypecredential`, data, { headers: authHeader() });;\r\n}\r\nconst updateLsiCredential = async (data) => {\r\n return axios.post(`${INDCREDENTIALURL}/updatelsicredential`, data, { headers: authHeader() });;\r\n}\r\nconst updateEiCredential = async (data) => {\r\n return axios.post(`${INDCREDENTIALURL}/updateeicredential`, data, { headers: authHeader() });;\r\n}\r\nconst updateTpCredential = async (data) => {\r\n return axios.post(`${INDCREDENTIALURL}/updatetpcredential`, data, { headers: authHeader() });;\r\n}\r\nconst updateCpdCredential = async (data) => {\r\n return axios.post(`${INDCREDENTIALURL}/updatecpdcredential`, data, { headers: authHeader() });;\r\n}\r\nconst updateWgCredential = async (data) => {\r\n return axios.post(`${FIRMCREDENTIALURL}/updatewgcredential`, data, { headers: authHeader() });;\r\n}\r\nconst activatefirmpendingcredential = async (credentialId) => {\r\n return axios.post(`${FIRMCREDENTIALURL}/activatependingcredential`, null, { headers: authHeader(), params: { credentialId } });;\r\n}\r\nconst activateindpendingcredential = async (credentialId) => {\r\n return axios.post(`${INDCREDENTIALURL}/activatependingcredential`, null, { headers: authHeader(), params: { credentialId } });;\r\n}\r\nconst createLegacyPlsCredential = async (data) => {\r\n return axios.post(`${INDCREDENTIALURL}/createlegacyplscredential`, data, { headers: authHeader() });;\r\n}\r\nconst createLegacyPeCredential = async (data) => {\r\n return axios.post(`${INDCREDENTIALURL}/createlegacypecredential`, data, { headers: authHeader() });;\r\n}\r\nconst createLegacyWgCredential = async (data) => {\r\n return axios.post(`${FIRMCREDENTIALURL}/createlegacywgcredential`, data, { headers: authHeader() });;\r\n}\r\nconst getIndGeneralInfo = async (entityId) => {\r\n return axios.get(`${INDCREDENTIALURL}/contact`, { headers: authHeader(), params: { entityId } });\r\n}\r\nconst postIndGeneralInfo = async (data) => {\r\n return axios.post(`${INDCREDENTIALURL}/updatecontact`, data, { headers: authHeader() });;\r\n}\r\n\r\n\r\nconst createComment = async (comment, entityId) => {\r\n return axios.post(`${COMMENTURL}/createcomment`, null, { headers: authHeader(), params: { comment, entityId } });;\r\n}\r\nconst updateComment = async (commentId, comment) => {\r\n return axios.post(`${COMMENTURL}/updatecomment`, null, { headers: authHeader(), params: { commentId, comment} });;\r\n}\r\nconst deleteComment = async (commentId) => {\r\n return axios.post(`${COMMENTURL}/deletecomment`, null, { headers: authHeader(), params: { commentId} });;\r\n}\r\nconst getComments = async (entityId) => {\r\n return axios.get(`${COMMENTURL}/comments`, { headers: authHeader(), params: { entityId } });\r\n}\r\n\r\nconst removePendingSupervisingProfessional = async (supervisingProfessionalId) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/SupervisingProfessional/removependingsupervisingprofessional`, null, { headers: authHeader(), params: { supervisingProfessionalId } });\r\n}\r\nconst getFirmSupervisedBy = async (firmEntityId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/SupervisingProfessional/individualsforfirm`, { headers: authHeader(), params: { firmEntityId } });\r\n}\r\nconst getIndSupervises = async (individualEntityId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/SupervisingProfessional/firmsforindividual`, { headers: authHeader(), params: { individualEntityId } });\r\n}\r\nconst updateRelationshipStatus = async (relationshipId) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/Relationship/inactivate`, null, { headers: authHeader(), params: { relationshipId } });;\r\n}\r\n\r\n\r\nconst getIndividualCredentialInfo = async (entityId) => {\r\n return axios.get(`${INDCREDENTIALURL}/credentials`, { headers: authHeader(), params: { entityId } });\r\n}\r\n\r\nconst getWorkHistoryData = async (entityId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/WorkHistory`, { headers: authHeader(), params: { entityId } });\r\n}\r\nconst createWorkHistory = async (data) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/WorkHistory/create`, data, { headers: authHeader() });\r\n}\r\nconst updateWorkHistory = async (data) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/WorkHistory/update`, data, { headers: authHeader() });\r\n}\r\nconst deleteWorkHistory = async (data) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/WorkHistory/delete`, data, { headers: authHeader() });\r\n}\r\n\r\nconst getCredHistory = async (entityId, credId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/CredentialHistory/getcredhistory`, { headers: authHeader(), params: { entityId, credId } });\r\n}\r\nconst getEntityCredHistory = async (entityId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/CredentialHistory/getentitycredhistory`, { headers: authHeader(), params: { entityId } });\r\n}\r\nconst checkHasPending = async (entityId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/CredentialHistory/doesentityhavependingapps`, { headers: authHeader(), params: { entityId } });\r\n}\r\nconst getPendingCreds = async (entityId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/CredentialHistory/getentitypendingapps`, { headers: authHeader(), params: { entityId } });\r\n}\r\nexport default {\r\n getFirmGeneralInfo,\r\n postFirmGeneralInfo,\r\n getComments,\r\n createComment,\r\n getFirmCredentialInfo,\r\n getFirmCredentialIds,\r\n updateEfCredential,\r\n updateVfCredential,\r\n activatefirmpendingcredential,\r\n activateindpendingcredential,\r\n getFirmSupervisedBy,\r\n getIndSupervises,\r\n updateRelationshipStatus,\r\n getIndGeneralInfo,\r\n postIndGeneralInfo,\r\n getIndividualCredentialInfo,\r\n updatePlsCredential,\r\n updatePeCredential,\r\n updateEiCredential,\r\n updateLsiCredential,\r\n updateTpCredential,\r\n updateCpdCredential,\r\n updateWgCredential,\r\n getWorkHistoryData,\r\n updateWorkHistory,\r\n createWorkHistory,\r\n deleteWorkHistory,\r\n getCredHistory,\r\n getEntityCredHistory,\r\n checkHasPending,\r\n getPendingCreds,\r\n removePendingSupervisingProfessional,\r\n updateComment,\r\n deleteComment,\r\n createLegacyPlsCredential,\r\n createLegacyPeCredential,\r\n createLegacyWgCredential,\r\n updateLegacyPlsCredential,\r\n updateLegacyPeCredential\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Card, Row, Col, Button } from 'react-bootstrap'\r\nimport { Table } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport credentialService from '../../../../services/Internal/Credential/credential.service';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\nimport GenericPagination from '../../../Shared/Grid/GenericPagination';\r\nimport { sort_by } from '../../../Shared/HelperFunctions';\r\n\r\nfunction CommentsCard(props) {\r\n const [comments, updateComments] = useState([]);\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n\r\n useEffect(() => {\r\n updateCommentGrid();\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (props.updateData > 0) {\r\n updateCommentGrid();\r\n }\r\n }, [props.updateData])\r\n\r\n const getData = () => {\r\n return comments.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const filteredData = getData();\r\n\r\n const updateCommentGrid = () => {\r\n credentialService.getComments(props.entityId).then((response) => {\r\n if (response.data) {\r\n updateComments(response.data.sort(sort_by('dateCrte', true)));\r\n }\r\n })\r\n setHasLoaded(true);\r\n }\r\n const addComment = () => {\r\n Swal.fire({\r\n title: 'Add comment here',\r\n input: 'textarea',\r\n inputAttributes: {\r\n autocapitalize: 'off'\r\n },\r\n showCancelButton: true,\r\n confirmButtonText: 'Add Comment',\r\n showLoaderOnConfirm: true,\r\n allowOutsideClick: () => !Swal.isLoading(),\r\n inputValidator: (value) => {\r\n return !value && 'Please enter a comment.'\r\n }\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n credentialService.createComment(result.value, props.entityId).then((response) => {\r\n if (response.data) {\r\n updateCommentGrid();\r\n Swal.fire(\r\n 'Comment Successfully Submitted!',\r\n `You submitted this comment: ${result.value}!`,\r\n 'success'\r\n )\r\n }\r\n });\r\n }\r\n })\r\n }\r\n const deleteComment = (commentId) => {\r\n Swal.fire({\r\n title: 'Are you sure you want to delete this comment?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n credentialService.deleteComment(commentId).then((response) => {\r\n if (response.data) {\r\n updateCommentGrid();\r\n Swal.fire(\r\n 'Comment Successfully Deleted!',\r\n ``,\r\n 'success'\r\n )\r\n }\r\n });\r\n }\r\n })\r\n }\r\n const updateComment = (commentId, comment) => {\r\n Swal.fire({\r\n title: 'Edit comment here',\r\n input: 'textarea',\r\n inputAttributes: {\r\n autocapitalize: 'off',\r\n },\r\n inputValue: comment,\r\n showCancelButton: true,\r\n confirmButtonText: 'Edit Comment',\r\n showLoaderOnConfirm: true,\r\n allowOutsideClick: () => !Swal.isLoading(),\r\n inputValidator: (value) => {\r\n return !value && 'Please enter a comment.'\r\n }\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n credentialService.updateComment(commentId, result.value).then((response) => {\r\n if (response.data) {\r\n updateCommentGrid();\r\n Swal.fire(\r\n 'Comment Successfully Updated!',\r\n `The comment has changed to: ${result.value}!`,\r\n 'success'\r\n )\r\n }\r\n });\r\n }\r\n })\r\n }\r\n\r\n return (\r\n \r\n \r\n
Comments\r\n \r\n
\r\n
\r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n Staff Member\r\n \r\n {rowData => (rowData.staffMember)}\r\n \r\n \r\n \r\n Date\r\n \r\n {rowData => (rowData.commentDate ? new Date(rowData.commentDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Comment\r\n \r\n {rowData => (rowData.commentText)}\r\n \r\n \r\n \r\n Actions\r\n \r\n {rowData => {\r\n return (<>\r\n  \r\n \r\n );\r\n }}\r\n \r\n
\r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\nexport default CommentsCard;","import React from 'react';\r\nimport { useState, useEffect } from 'react';\r\nimport { Card, Col, Row } from 'react-bootstrap';\r\nimport { Form, Table, FormControl, InputPicker, Uploader } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport * as FaIcons from 'react-icons/fa';\r\nimport attachmentService from '../../../../services/Shared/attachment.service';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { sort_by } from '../../../Shared/HelperFunctions';\r\n\r\nfunction DocumentUploadsCard(props) {\r\n const [attachmentTypes, setAttachmentTypes] = useState([]);\r\n const [attachmentType, setAttachmentType] = useState();\r\n const [hasLoaded, setHasLoaded] = useState();\r\n const [isUploading, setIsUploading] = useState(false);\r\n const [attachmentTypeDropdown, setAttachmentTypeDropdown] = useState();\r\n const [sortColumn, setSortColumn] = useState(\"timestamp\");\r\n const [sortType, setSortType] = useState(\"desc\");\r\n\r\n const attachmentTypeChange = (e) => {\r\n setAttachmentType(e);\r\n setAttachmentTypeDropdown(e);\r\n }\r\n const handleSortColumn = (sortColumn, sortType) => {\r\n setSortColumn(sortColumn);\r\n setSortType(sortType);\r\n }\r\n const getData = () => {\r\n var sortedData = formData.filesForDisplay?.sort(sort_by(sortColumn, sortType !== \"asc\"));\r\n return sortedData;\r\n }\r\n useEffect(() => {\r\n attachmentService.getAllDocTypes(props.isIndividual).then((data) => {\r\n setAttachmentTypes(data);\r\n });\r\n }, [])\r\n\r\n useEffect(() => { refreshGrid(); }\r\n , [attachmentTypes])\r\n\r\n useEffect(() => { refreshGrid(); }\r\n , [props.refreshData])\r\n\r\n const [formData, updateFormData] = useState({\r\n files: [],\r\n filesForDisplay: [],\r\n loading: false,\r\n });\r\n\r\n const refreshGrid = () => {\r\n setHasLoaded(false)\r\n updateFormData({\r\n ...formData,\r\n loading: true,\r\n })\r\n\r\n attachmentService.getFiles(props.entityId, 10).then((data) => {\r\n\r\n var attachmentTypeIds = attachmentTypes.map((attachmentType, index) => {\r\n return attachmentType.value;\r\n })\r\n var tempData = [];\r\n tempData = data?.data.filter(tempData => attachmentTypeIds.includes(tempData.documentTypeId)).map((tempData, index) => {\r\n console.log(tempData)\r\n return {\r\n id: tempData.id,\r\n timestamp: tempData.uploadDate,\r\n file: tempData.fileName,\r\n attachmentType: tempData.documentType,\r\n fileLink: ''\r\n };\r\n })\r\n updateFormData({\r\n filesForDisplay: tempData,\r\n files: [],\r\n loading: false,\r\n })\r\n setHasLoaded(true)\r\n })\r\n }\r\n\r\n const deleteFile = (id) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n attachmentService.deleteFile(id).then((response) => {\r\n refreshGrid();\r\n })\r\n }\r\n })\r\n }\r\n\r\n const handleChange = (val, e) => {\r\n setIsUploading(true);\r\n if (!e) {\r\n updateFormData({\r\n ...formData,\r\n loading: true,\r\n })\r\n attachmentService.postFile(val, 10, props.entityId, attachmentType, props.entityId).then((response) => {\r\n setIsUploading(false);\r\n refreshGrid();\r\n if (attachmentTypes.length > 1) { // Only clear attachment type when there is a dropdown list of attachments on post\r\n setAttachmentType(\"\");\r\n setAttachmentTypeDropdown(\"\");\r\n }\r\n })\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n
Document Uploads
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n File Upload \r\n \r\n\r\n \r\n {attachmentTypes.length > 1 &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n {!isUploading ?\r\n \r\n \r\n
Click or Drag files to this area to upload
\r\n \r\n \r\n
\r\n :\r\n \r\n }\r\n \r\n \r\n
\r\n {hasLoaded ?\r\n\r\n { handleSortColumn(sortColumn, sortType) }}\r\n sortColumn={sortColumn}\r\n sortType={sortType}\r\n autoHeight\r\n wordWrap\r\n data={getData()}>\r\n\r\n \r\n File Name\r\n {(rowData) => ( { attachmentService.openFile(rowData.id) }}>{rowData.file})}\r\n \r\n \r\n Date Created\r\n {(rowData) => (new Date(rowData.timestamp).toLocaleDateString())}\r\n \r\n \r\n Type\r\n \r\n \r\n \r\n Actions(s)\r\n {\r\n (rowData) => ( { deleteFile(rowData.id) }} />)\r\n }\r\n \r\n \r\n \r\n :\r\n \r\n }\r\n \r\n
\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\nexport default DocumentUploadsCard;\r\n\r\n\r\n","import axios from \"axios\";\r\nimport authHeader from '../../authheader.js'\r\n\r\nconst INDIVIDUALURL = process.env.REACT_APP_APIURL + \"/api/Individual\";\r\n\r\nconst getEngineeringAdditionalInfo = async (entityId) => {\r\n return axios.get(`${INDIVIDUALURL}/getpeexaminformation`, { headers: authHeader(), params: { entityId } });\r\n}\r\nconst getSurveyingAdditionalInfo = async (entityId) => {\r\n return axios.get(`${INDIVIDUALURL}/getplsexaminformation`, { headers: authHeader(), params: { entityId } });\r\n}\r\n\r\nconst postEngineeringAdditionalInfo = async (data) => {\r\n return axios.post(`${INDIVIDUALURL}/savepeexaminformation`, data, { headers: authHeader() });\r\n}\r\nconst postSurveyingAdditionalInfo = async (data) => {\r\n return axios.post(`${INDIVIDUALURL}/saveplsexaminformation`, data, { headers: authHeader() });\r\n\r\n}\r\nexport default {\r\n getEngineeringAdditionalInfo,\r\n getSurveyingAdditionalInfo,\r\n postEngineeringAdditionalInfo,\r\n postSurveyingAdditionalInfo\r\n}","import * as dayjs from 'dayjs';\r\nimport React, { useEffect, useState } from 'react'\r\nimport { Row, Col, Button } from 'react-bootstrap';\r\nimport { Form, FormGroup, ControlLabel, FormControl, InputPicker, SelectPicker, Toggle } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport additionalInformationService from '../../../../../services/Internal/Credential/additionalInformation.service';\r\nimport { getAdditionalStructurals, getEngineerExamDiscipline, getFirstExamDiscipline, getStates } from '../../../../../services/Shared/codeTable.service';\r\nimport YesNoRadioOption from '../../../../Shared/RadioButton/YesNoRadioOption';\r\nfunction AdditionalEngineeringInformationForm({ entityId, active }) {\r\n const [engineeringModel, setEngineeringModel] = useState({});\r\n const [states, setStates] = useState([])\r\n const [isAct2, setIsAct2] = useState(false)\r\n const [isByEndorsement, setIsByEndorsement] = useState(false)\r\n\r\n const [examDiscipline, setExamDiscipline] = useState([])\r\n const [appDiscipline, setAppDiscipline] = useState([])\r\n const [additionalStructurals, setAdditionalStructurals] = useState([])\r\n useEffect(() => {\r\n getStates().then(setStates);\r\n getEngineerExamDiscipline().then(setExamDiscipline);\r\n getFirstExamDiscipline().then(setAppDiscipline);\r\n getAdditionalStructurals().then(setAdditionalStructurals);\r\n }, [])\r\n useEffect(() => {\r\n if (active) {\r\n additionalInformationService.getEngineeringAdditionalInfo(entityId).then((response) => {\r\n if (response.data) {\r\n setEngineeringModel({\r\n ...response.data,\r\n entityId: entityId,\r\n eiCertificationDate: response.data.eiCertificationDate != null ? dayjs(response.data.eiCertificationDate).format('YYYY-MM-DD') : null,\r\n feExamDate: response.data.feExamDate != null ? dayjs(response.data.feExamDate).format('YYYY-MM-DD') : null,\r\n peExamDate: response.data.peExamDate != null ? dayjs(response.data.peExamDate).format('YYYY-MM-DD') : null,\r\n peLicenseDate: response.data.peLicenseDate != null ? dayjs(response.data.peLicenseDate).format('YYYY-MM-DD') : null,\r\n peExamDiscipline2RegistrationDate: response.data.peExamDiscipline2RegistrationDate != null ? dayjs(response.data.peExamDiscipline2RegistrationDate).format('YYYY-MM-DD') : null,\r\n peExamDiscipline3RegistrationDate: response.data.peExamDiscipline3RegistrationDate != null ? dayjs(response.data.peExamDiscipline3RegistrationDate).format('YYYY-MM-DD') : null,\r\n peExamDiscipline4RegistrationDate: response.data.peExamDiscipline4RegistrationDate != null ? dayjs(response.data.peExamDiscipline4RegistrationDate).format('YYYY-MM-DD') : null,\r\n additionalStructuralExamDate1: response.data.additionalStructuralExamDate1 != null ? dayjs(response.data.additionalStructuralExamDate1).format('YYYY-MM-DD') : null,\r\n additionalStructuralExamDate2: response.data.additionalStructuralExamDate2 != null ? dayjs(response.data.additionalStructuralExamDate2).format('YYYY-MM-DD') : null,\r\n });\r\n setIsAct2(response.data.isAct2);\r\n setIsByEndorsement(response.data.isByEndorsement);\r\n }\r\n })\r\n }\r\n }, [active])\r\n\r\n const formSubmit = () => {\r\n var dataToTransmit = {\r\n ...engineeringModel,\r\n eiCertificationDate: engineeringModel.eiCertificationDate == '' ? null : engineeringModel.eiCertificationDate,\r\n feExamDate: engineeringModel.feExamDate == '' ? null : engineeringModel.feExamDate,\r\n peExamDate: engineeringModel.peExamDate == '' ? null : engineeringModel.peExamDate,\r\n peLicenseDate: engineeringModel.peLicenseDate == '' ? null : engineeringModel.peLicenseDate,\r\n peExamDiscipline2RegistrationDate: engineeringModel.peExamDiscipline2RegistrationDate == '' ? null : engineeringModel.peExamDiscipline2RegistrationDate,\r\n peExamDiscipline3RegistrationDate: engineeringModel.peExamDiscipline3RegistrationDate == '' ? null : engineeringModel.peExamDiscipline3RegistrationDate,\r\n peExamDiscipline4RegistrationDate: engineeringModel.peExamDiscipline4RegistrationDate == '' ? null : engineeringModel.peExamDiscipline4RegistrationDate,\r\n additionalStructuralExamDate1: engineeringModel.additionalStructuralExamDate1 == '' ? null : engineeringModel.additionalStructuralExamDate1,\r\n additionalStructuralExamDate2: engineeringModel.additionalStructuralExamDate2 == '' ? null : engineeringModel.additionalStructuralExamDate2,\r\n isAct2: isAct2,\r\n isByEndorsement: isByEndorsement\r\n }\r\n additionalInformationService.postEngineeringAdditionalInfo(dataToTransmit).then((response) => {\r\n if (response.data)\r\n Swal.fire('Success!', 'You have successfully saved additional information for this EI/PE.', 'success')\r\n })\r\n }\r\n const stateSearch = (userInput, label, dataItem) => {\r\n if (label.toLowerCase().startsWith(userInput.toLowerCase()) || !userInput)\r\n return true;\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n Application Disc.\r\n \r\n \r\n \r\n \r\n \r\n Comity State\r\n \r\n \r\n \r\n \r\n \r\n EI Cert. Date\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n EI Cert. #\r\n \r\n \r\n \r\n \r\n \r\n FE Exam Date\r\n \r\n \r\n \r\n \r\n \r\n FE Exam State\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n PE Exam Date\r\n \r\n \r\n \r\n \r\n \r\n PE Exam State\r\n \r\n \r\n \r\n \r\n \r\n PE Lic State\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n PE Lic Date\r\n \r\n \r\n \r\n \r\n \r\n PE Lic #\r\n \r\n \r\n \r\n \r\n \r\n PE Exam Discipline\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Discipline 2\r\n \r\n \r\n \r\n \r\n \r\n Dis. 2 Reg. Date\r\n \r\n \r\n \r\n \r\n \r\n Dis. 2 Exam State\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Discipline 3\r\n \r\n \r\n \r\n \r\n \r\n Dis. 3 Reg. Date\r\n \r\n \r\n \r\n \r\n \r\n Dis. 3 Exam State\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n Discipline 4\r\n \r\n \r\n \r\n \r\n \r\n Dis. 4 Reg. Date\r\n \r\n \r\n \r\n \r\n \r\n Dis. 4 Exam State\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Model Law\r\n \r\n \r\n \r\n \r\n \r\n Act 2\r\n { setIsAct2(val); if (val) setIsByEndorsement(false); }} />\r\n \r\n \r\n \r\n \r\n PE by Endorsement\r\n { setIsByEndorsement(val); if (val) setIsAct2(false); }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Additional Structural\r\n \r\n \r\n \r\n \r\n \r\n Additional Structural Exam Date\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Additional Structural\r\n \r\n \r\n \r\n \r\n \r\n Additional Structural Exam Date\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}\r\nexport default AdditionalEngineeringInformationForm;","import * as dayjs from 'dayjs';\r\nimport React, { useEffect, useState } from 'react'\r\nimport { Row, Col, Button } from 'react-bootstrap';\r\nimport { Form, FormGroup, ControlLabel, FormControl, InputPicker, SelectPicker, Toggle } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport additionalInformationService from '../../../../../services/Internal/Credential/additionalInformation.service';\r\nimport { getStates, getSurveyingExamDiscipline } from '../../../../../services/Shared/codeTable.service';\r\nimport YesNoRadioOption from '../../../../Shared/RadioButton/YesNoRadioOption';\r\nfunction AdditionalSurveyorInformationForm({ entityId, active }) {\r\n const [states, setStates] = useState([])\r\n const [examDiscipline, setExamDiscipline] = useState([])\r\n const [surveyModel, setSurveyModel] = useState({});\r\n const [isAct2, setIsAct2] = useState(false)\r\n const [isByEndorsement, setIsByEndorsement] = useState(false)\r\n\r\n useEffect(() => {\r\n getStates().then(setStates);\r\n getSurveyingExamDiscipline().then(setExamDiscipline);\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (active) {\r\n additionalInformationService.getSurveyingAdditionalInfo(entityId).then((response) => {\r\n if (response.data) {\r\n setSurveyModel({\r\n ...response.data,\r\n entityId: entityId,\r\n lsiCertDate: response.data.lsiCertDate != null ? dayjs(response.data.lsiCertDate).format('YYYY-MM-DD') : null,\r\n fsExamDate: response.data.fsExamDate != null ? dayjs(response.data.fsExamDate).format('YYYY-MM-DD') : null,\r\n plsExamDate: response.data.plsExamDate != null ? dayjs(response.data.plsExamDate).format('YYYY-MM-DD') : null,\r\n plsLicenseDate: response.data.plsLicenseDate != null ? dayjs(response.data.plsLicenseDate).format('YYYY-MM-DD') : null,\r\n oralExamDate: response.data.oralExamDate != null ? dayjs(response.data.oralExamDate).format('YYYY-MM-DD') : null,\r\n laLawsExamDate: response.data.laLawsExamDate != null ? dayjs(response.data.laLawsExamDate).format('YYYY-MM-DD') : null,\r\n });\r\n setIsAct2(response.data.isAct2);\r\n setIsByEndorsement(response.data.isByEndorsement);\r\n }\r\n })\r\n }\r\n }, [active])\r\n\r\n const formSubmit = () => {\r\n var dataToTransmit = {\r\n ...surveyModel,\r\n lsiCertDate: surveyModel.lsiCertDate == '' ? null : surveyModel.lsiCertDate,\r\n fsExamDate: surveyModel.fsExamDate == '' ? null : surveyModel.fsExamDate,\r\n plsExamDate: surveyModel.plsExamDate == '' ? null : surveyModel.plsExamDate,\r\n plsLicenseDate: surveyModel.plsLicenseDate == '' ? null : surveyModel.plsLicenseDate,\r\n oralExamDate: surveyModel.oralExamDate == '' ? null : surveyModel.oralExamDate,\r\n laLawsExamDate: surveyModel.laLawsExamDate == '' ? null : surveyModel.laLawsExamDate,\r\n isAct2: isAct2,\r\n isByEndorsement: isByEndorsement\r\n }\r\n\r\n additionalInformationService.postSurveyingAdditionalInfo(dataToTransmit).then((response) => {\r\n if (response.data)\r\n Swal.fire('Success!', 'You have successfully saved additional information for this LSI/PLS.', 'success')\r\n })\r\n }\r\n const stateSearch = (userInput, label, dataItem) => {\r\n if (label.toLowerCase().startsWith(userInput.toLowerCase()) || !userInput)\r\n return true;\r\n }\r\n return (\r\n
\r\n \r\n \r\n \r\n Comity State\r\n \r\n \r\n \r\n \r\n \r\n LSI Cert. Date\r\n \r\n \r\n \r\n \r\n \r\n LSI Cert #\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n FS Exam Date\r\n \r\n \r\n \r\n \r\n \r\n FS Exam State\r\n \r\n \r\n \r\n \r\n \r\n PLS Exam Date\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n PLS Exam State\r\n \r\n \r\n \r\n \r\n \r\n PLS Lic Date\r\n \r\n \r\n \r\n \r\n \r\n PLS Lic State\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n PLS Lic #\r\n \r\n \r\n \r\n \r\n \r\n Surveying Exam Discipline\r\n \r\n \r\n \r\n \r\n \r\n Oral Exam Date\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n LA Laws Exam Date\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Model Law\r\n \r\n \r\n \r\n \r\n \r\n Act 2\r\n { setIsAct2(val); if (val) setIsByEndorsement(false); }} />\r\n \r\n \r\n \r\n \r\n PLS by Endorsement\r\n { setIsByEndorsement(val); if (val) setIsAct2(false); }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}\r\nexport default AdditionalSurveyorInformationForm;","import React from 'react'\r\nimport { useEffect } from 'react';\r\nimport { useState } from 'react';\r\nimport { Tab, Tabs } from 'react-bootstrap';\r\nimport AdditionalEngineeringInformationForm from './AdditionalEngineeringInformationForm';\r\nimport AdditionalSurveyorInformationForm from './AdditionalSurveyorInformationForm';\r\n\r\nfunction AdditionalInformationPage({ entityId, activeKey }) {\r\n const [activeSection, setActiveSection] = useState('engineer')\r\n useEffect(() => {\r\n if (activeKey == 'additionalInformation') {\r\n\r\n }\r\n }, [activeKey])\r\n return (\r\n { setActiveSection(selected) }}>\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default AdditionalInformationPage;","import React, { useEffect, useState } from 'react'\r\nimport { useDispatch } from 'react-redux';\r\nimport { Table } from 'rsuite';\r\nimport credentialService from '../../../../services/Internal/Credential/credential.service';\r\nimport applicationService from '../../../../services/Internal/Application/application.service';\r\nimport firmApplicationService from '../../../../services/Internal/Application/VF/vfApplication.service';\r\nimport firmReinstatementService from '../../../../services/Internal/Reinstatement/VF/vfReinstatement.service';\r\nimport reinstatementService from '../../../../services/Internal/Reinstatement/reinstatement.service';\r\nimport renewalService from '../../../../services/Internal/Renewal/renewal.service';\r\nimport firmRenewalService from '../../../../services/Internal/Renewal/VF/vfRenewal.service';\r\n\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { sort_by } from '../../../Shared/HelperFunctions';\r\nimport { Badge } from 'react-bootstrap';\r\n\r\nfunction CredentialHistoryTable(props) {\r\n const [gridData, setGridData] = useState([]);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n\r\n const [displayLength, setDisplayLength] = useState(10);\r\n const [page, setPage] = useState(1);\r\n const [sortColumn, setSortColumn] = useState(\"dateSubmitted\");\r\n const [sortType, setSortType] = useState(\"desc\");\r\n\r\n const dispatch = useDispatch();\r\n\r\n const handleChangePage = (dataKey) => {\r\n setPage(dataKey);\r\n }\r\n const handleChangeLength = (dataKey) => {\r\n setPage(1);\r\n setDisplayLength(dataKey);\r\n }\r\n\r\n const getData = () => {\r\n var sortedData = gridData.sort(sort_by(sortColumn, sortType !== \"asc\"));\r\n return sortedData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const handleSortColumn = (sortColumn, sortType) => {\r\n setSortColumn(sortColumn);\r\n setSortType(sortType);\r\n }\r\n useEffect(() => {\r\n if (props.activeKey == 'credHistory') {\r\n updateTableWithEntityId()\r\n }\r\n }, [props.activeKey])\r\n useEffect(() => {\r\n if (props.activeKey == 'noCreds') {\r\n updateTableWithEntityId()\r\n }\r\n }, [props.activeKey])\r\n useEffect(() => {\r\n if (props.credential?.id == props.activeCredentialId && props.credential?.id)\r\n updateTable();\r\n }, [props.activeCredentialId])\r\n\r\n const viewRecord = (rowData) => {\r\n\r\n switch (rowData.credType) {\r\n case 'PLS'://PLS by Exam\r\n case 'PE': // Professional Engineer\r\n case \"EI\": // Engineering Intern\r\n case \"LSI\": //Land Surveying Intern\r\n switch (rowData.appType) {\r\n case \"Application\":\r\n applicationService.getIndividualApplication(rowData.id).then((response) => {\r\n navigateAndSetCurrentApplication(response.data)\r\n })\r\n break;\r\n case 'Reinstatement':\r\n reinstatementService.getIndividualReinstatement(rowData.id).then((response) => {\r\n navigateAndSetCurrentReinstatement(response.data)\r\n })\r\n break;\r\n case 'Renewal':\r\n renewalService.getIndividualRenewal(rowData.id).then((response) => {\r\n navigateAndSetCurrentRenewal(response.data)\r\n })\r\n break;\r\n default:\r\n break;\r\n }\r\n break;\r\n case 'VF': // Surveying Firm\r\n case 'EF': // Engineering Firm\r\n switch (rowData.appType) {\r\n case 'Application':\r\n firmApplicationService.getFirmApplication(rowData.id).then((response) => {\r\n navigateAndSetCurrentApplication(response.data)\r\n })\r\n break;\r\n case 'Reinstatement':\r\n firmReinstatementService.getFirmReinstatement(rowData.id).then((response) => {\r\n navigateAndSetCurrentReinstatement(response.data)\r\n })\r\n break;\r\n case 'Renewal':\r\n firmRenewalService.getFirmRenewal(rowData.id).then((response) => {\r\n navigateAndSetCurrentRenewal(response.data)\r\n })\r\n break;\r\n default:\r\n break;\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n const navigateAndSetCurrentApplication = (rowData) => {\r\n localStorage.setItem(\"PERSIST_CURRENT_APP_ID\", rowData.id);\r\n localStorage.setItem(\"PERSIST_CURRENT_APP_ENTITY_ID\", rowData.entityId);\r\n localStorage.setItem(\"PERSIST_CURRENT_APP_TYPE_ID\", rowData.applicationType.id);\r\n var baseLink = \"\";\r\n switch (rowData.applicationType?.id) {\r\n case 1:\r\n baseLink = \"/internal/eiapp/\";\r\n break;\r\n case 2:\r\n baseLink = \"/internal/lsiapp/\";\r\n break;\r\n case 3:\r\n case 4:\r\n baseLink = \"/internal/peapp/\";\r\n break;\r\n case 5:\r\n case 6:\r\n baseLink = \"/internal/plsApp/\";\r\n break;\r\n case 7:\r\n baseLink = \"/internal/efapp/\";\r\n break;\r\n case 8:\r\n baseLink = \"/internal/vfApp/\";\r\n break;\r\n }\r\n if (rowData?.sections?.length) {\r\n var route = [];\r\n for (var i = 0; i < rowData.sections.length; i++) {\r\n let sectionId = rowData.sections[i].sectionType.id\r\n var link = baseLink;\r\n switch (sectionId) {\r\n case 1:\r\n link += \"contactInformation\"\r\n break;\r\n case 2:\r\n link += \"education\"\r\n break;\r\n case 3:\r\n link += \"personalReferences\"\r\n break;\r\n case 4:\r\n link += \"violations\"\r\n break;\r\n case 5:\r\n link += \"employment\"\r\n break;\r\n case 6:\r\n link += \"quizzes\"\r\n break;\r\n case 7:\r\n link += \"experience\"\r\n break;\r\n case 8:\r\n link += \"acknowledgement\"\r\n break;\r\n case 9:\r\n link += \"review\"\r\n break;\r\n case 10:\r\n link += \"boardApproval\"\r\n break;\r\n case 11:\r\n link += \"examinationVerification\";\r\n break;\r\n case 12:\r\n link += \"recommendation\";\r\n break;\r\n case 13:\r\n link += \"waiver\";\r\n break;\r\n case 14:\r\n link += \"supervisingProfessional\";\r\n break;\r\n case 15:\r\n link += \"unlicensedActivity\";\r\n break;\r\n case 16:\r\n link += \"coopexperience\";\r\n break;\r\n case 17:\r\n link += \"residency\";\r\n break;\r\n default:\r\n }\r\n route.push({ sectionId: rowData.sections[i].sectionType.id, route: link })\r\n }\r\n }\r\n localStorage.setItem(\"PERSIST_CURRENT_ROUTE\", JSON.stringify(route));\r\n window.open(baseLink + \"sections\");\r\n }\r\n const navigateAndSetCurrentReinstatement = (rowData) => {\r\n localStorage.setItem(\"PERSIST_CURRENT_APP_ID\", rowData.id);\r\n localStorage.setItem(\"PERSIST_CURRENT_APP_ENTITY_ID\", rowData.entityId);\r\n var baseLink = \"\";\r\n switch (rowData.credential?.credentialType?.id) {\r\n case 1:\r\n baseLink = \"/internal/efreinstatement/\";\r\n break;\r\n case 2:\r\n baseLink = \"/internal/vfReinstatement/\";\r\n break;\r\n case 3: // For when we have reinstatement\r\n baseLink = \"/internal/eiReinstatement/\";\r\n break;\r\n case 4:// For when we have reinstatement\r\n baseLink = \"/internal/lsiReinstatement/\";\r\n break;\r\n case 5:\r\n baseLink = \"/internal/plsReinstatement/\";\r\n break;\r\n case 6:\r\n baseLink = \"/internal/pereinstatement/\";\r\n break;\r\n }\r\n if (rowData?.sections?.length) {\r\n var route = [];\r\n for (var i = 0; i < rowData.sections.length; i++) {\r\n let sectionId = rowData.sections[i].sectionType.id\r\n var link = baseLink;\r\n switch (sectionId) {\r\n case 1:\r\n link += \"contactInformation\"\r\n break;\r\n case 2:\r\n link += \"employment\"\r\n break;\r\n case 3:\r\n link += \"violations\"\r\n break;\r\n case 4:\r\n link += \"quizzes\"\r\n break;\r\n case 5:\r\n link += \"cpdRequirements\"\r\n break;\r\n case 6:\r\n link += \"personalReferences\"\r\n break;\r\n case 7:\r\n link += \"experience\"\r\n break;\r\n case 8:\r\n link += \"disclosure\"\r\n break;\r\n case 9:\r\n link += \"acknowledgement\"\r\n break;\r\n case 10:\r\n link += \"review\"\r\n break;\r\n case 11:\r\n link += \"boardApproval\"\r\n break;\r\n case 12:\r\n link += \"waiver\"\r\n break;\r\n case 13:\r\n link += \"supervisingProfessional\"\r\n break;\r\n case 14:\r\n link += \"unlicensedActivity\"\r\n break;\r\n case 15:\r\n link += \"design\"\r\n break;\r\n case 16:\r\n link += \"education\"\r\n break;\r\n case 17:\r\n link += \"examination\"\r\n break;\r\n default:\r\n }\r\n route.push({ sectionId: rowData.sections[i].sectionType.id, route: link })\r\n }\r\n localStorage.setItem(\"PERSIST_CURRENT_ROUTE\", JSON.stringify(route));\r\n window.open(baseLink + \"sections\");\r\n }\r\n }\r\n const navigateAndSetCurrentRenewal = (rowData) => {\r\n localStorage.setItem(\"PERSIST_CURRENT_APP_ID\", rowData.id);\r\n localStorage.setItem(\"PERSIST_CURRENT_APP_ENTITY_ID\", rowData.entityId);\r\n\r\n var baseLink = \"\";\r\n switch (rowData.credential?.credentialType?.id) {\r\n case 1:\r\n baseLink = \"/internal/efrenewal/\";\r\n break;\r\n case 2:\r\n baseLink = \"/internal/vfRenewal/\";\r\n break;\r\n case 3:\r\n baseLink = \"/internal/eirenewal/\";\r\n break;\r\n case 4:\r\n baseLink = \"/internal/lsirenewal/\";\r\n break;\r\n case 5:\r\n baseLink = \"/internal/plsRenewal/\";\r\n break;\r\n case 6:\r\n baseLink = \"/internal/perenewal/\";\r\n break;\r\n }\r\n if (rowData?.sections?.length) {\r\n var route = [];\r\n for (var i = 0; i < rowData.sections.length; i++) {\r\n let sectionId = rowData.sections[i].sectionType.id\r\n var link = baseLink;\r\n switch (sectionId) {\r\n case 1:\r\n link += \"contactInformation\"\r\n break;\r\n case 2:\r\n link += \"licenseStatus\"\r\n break;\r\n case 3:\r\n link += \"cpdRequirements\"\r\n break;\r\n case 4:\r\n link += \"violations\"\r\n break;\r\n case 5:\r\n link += \"supervisingprofessional\"\r\n break;\r\n case 6:\r\n link += \"privacy\"\r\n break;\r\n case 7:\r\n link += \"acknowledgement\"\r\n break;\r\n case 8:\r\n link += \"review\"\r\n break;\r\n case 9:\r\n link += \"waiver\"\r\n break;\r\n case 10:\r\n link += \"design\"\r\n break;\r\n default:\r\n }\r\n route.push({ sectionId: rowData.sections[i].sectionType.id, route: link })\r\n }\r\n localStorage.setItem(\"PERSIST_CURRENT_ROUTE\", JSON.stringify(route));\r\n window.open(baseLink + \"sections\");\r\n }\r\n }\r\n\r\n\r\n const updateTable = () => {\r\n credentialService.getCredHistory(props.credential?.entityId, props.credential?.id).then((data) => {\r\n setGridData(data.data);\r\n setHasLoaded(true);\r\n })\r\n }\r\n const updateTableWithEntityId = () => {\r\n if (props.pendingOnly) {\r\n credentialService.getPendingCreds(props.entityId).then((data) => {\r\n setGridData(data.data);\r\n setHasLoaded(true);\r\n })\r\n }\r\n else {\r\n credentialService.getEntityCredHistory(props.entityId).then((data) => {\r\n setGridData(data.data);\r\n setHasLoaded(true);\r\n })\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n\r\n {\r\n hasLoaded ? <>\r\n { handleSortColumn(sortColumn, sortType) }}\r\n sortColumn={sortColumn}\r\n sortType={sortType}\r\n bordered\r\n wordWrap\r\n autoHeight\r\n data={getData()}>\r\n \r\n \r\n {rowData => {\r\n if (!rowData.isLegacy) {\r\n let link = `internal/${rowData.credType}${rowData.appType == \"Application\" ? \"app\" : rowData.appType}/sections`.toLowerCase();\r\n return ( { e.preventDefault(); viewRecord(rowData) }}>View)\r\n }\r\n else\r\n return (<>);\r\n }\r\n }\r\n \r\n \r\n {props.showLicenseNumber &&\r\n \r\n Credential #\r\n {rowData => rowData.licenseNumber}\r\n \r\n\r\n }\r\n \r\n App Type\r\n {rowData => {\r\n\r\n if (props.activeKey == \"noCreds\")\r\n return (rowData.licenseNumber)\r\n else\r\n return (rowData.appType)\r\n }}\r\n \r\n \r\n \r\n Date Submitted\r\n {rowData => (rowData.dateSubmitted != null ? new Date(rowData.dateSubmitted).toLocaleDateString() : null)}\r\n \r\n {props.activeKey == \"credHistory\" &&\r\n \r\n Prev. Expiration\r\n {rowData => (rowData.previousExpirationDate != null ? new Date(rowData.previousExpirationDate).toLocaleDateString() : null)}\r\n \r\n }\r\n \r\n Date Actioned\r\n {rowData => (rowData.lastActionDate != null ? new Date(rowData.lastActionDate).toLocaleDateString() : null)}\r\n \r\n \r\n Status\r\n {rowData => {\r\n if (rowData.status == 'Pending') {\r\n return ({rowData.status})\r\n } else {\r\n return (rowData.status)\r\n }\r\n }}\r\n \r\n \r\n User Actioned\r\n {rowData => (rowData.userLastActioned)}\r\n \r\n \r\n \r\n : \r\n }\r\n \r\n )\r\n}\r\nexport default CredentialHistoryTable;","import axios from \"axios\";\r\nimport authHeader from '../../authheader.js'\r\n\r\nconst INDIVIDUALURL = process.env.REACT_APP_APIURL + \"/api/Individual\";\r\n\r\nconst getEducations = async (entityId) => {\r\n return axios.get(`${INDIVIDUALURL}/geteducations`, { headers: authHeader(), params: { entityId } });\r\n}\r\nconst saveEducation = async (data) => {\r\n return axios.post(`${INDIVIDUALURL}/saveeducation`, data, { headers: authHeader() });\r\n}\r\nconst deleteEducation = async (id) => {\r\n return axios.post(`${INDIVIDUALURL}/deleteeducation`, null, { headers: authHeader(), params: { id } });\r\n\r\n}\r\nexport default {\r\n getEducations,\r\n saveEducation,\r\n deleteEducation\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Modal, Row, Col, Button } from 'react-bootstrap'\r\nimport { InputPicker, SelectPicker, Form, ControlLabel, Schema, FormControl, FormGroup } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport educationTabService from '../../../../../services/Internal/Credential/educationTab.service';\r\nimport { getDegrees, getSchools, getStatuses } from '../../../../../services/Shared/codeTable.service';\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction EducationTabModal(props) {\r\n const [schools, setSchools] = useState([]);\r\n const [degrees, setDegrees] = useState([]);\r\n const [statuses, setStatuses] = useState([]);\r\n\r\n const [recordModel, setRecordModel] = useState({\r\n attendanceEndDate: null,\r\n attendanceStartDate: null,\r\n legacyDatesAttended: '',\r\n legacyDegreeOrSpecialty: '',\r\n dateCrte: null,\r\n degree: null,\r\n deleted: false,\r\n entityId: '',\r\n graduationDate: null,\r\n id: 0,\r\n major: '',\r\n school: null,\r\n userCrte: '',\r\n modalType: \"Add\"\r\n })\r\n\r\n useEffect(() => {\r\n getSchools().then(setSchools);\r\n getDegrees().then(setDegrees);\r\n getStatuses().then(setStatuses);\r\n }, [])\r\n useEffect(() => {\r\n setRecordModel({\r\n ...props.modaldata\r\n });\r\n }, [props.modaldata])\r\n\r\n const { ObjectType } = Schema.Types;\r\n const model = Schema.Model({\r\n school: ObjectType().isRequired('This field is required.')\r\n })\r\n const formSubmit = (validation, event) => {\r\n if (validation)\r\n submitData();\r\n }\r\n const submitData = () => {\r\n var dataToTransmit = {\r\n ...recordModel,\r\n id: recordModel.id === '' ? 0 : recordModel.id,\r\n attendanceEndDate: recordModel.attendanceEndDate ? new Date(recordModel.attendanceEndDate) : null,\r\n attendanceStartDate: recordModel.attendanceStartDate ? new Date(recordModel.attendanceStartDate) : null,\r\n graduationDate: recordModel.graduationDate ? new Date(recordModel.graduationDate) : null\r\n };\r\n delete dataToTransmit.modalType;\r\n educationTabService.saveEducation(dataToTransmit).then((response) => {\r\n if (response.data.id) {\r\n Swal.fire(\"Success!\", \"You have successfully updated an education record.\", \"success\");\r\n props.updateGrid();\r\n props.onHide();\r\n }\r\n }).catch((response) => {\r\n })\r\n }\r\n return (\r\n \r\n \r\n \r\n {recordModel.modalType} an Education Record\r\n \r\n \r\n \r\n
setRecordModel(recordModel)} onSubmit={formSubmit} >\r\n \r\n \r\n \r\n \r\n \r\n Institution Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Status\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Date From\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Date To\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Legacy Dates Attended\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Graduation Date\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Degree\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Legacy Degree\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Major\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default EducationTabModal;","import * as dayjs from 'dayjs';\r\nimport React, { useEffect } from 'react'\r\nimport { useState } from 'react';\r\nimport { Button, Row } from 'react-bootstrap';\r\nimport { Icon, Table } from 'rsuite'\r\nimport Swal from 'sweetalert2';\r\nimport educationTabService from '../../../../../services/Internal/Credential/educationTab.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport EducationTabModal from './EducationTabModal';\r\n\r\nfunction EducationPage({ entityId, activeKey }) {\r\n const [data, setData] = useState([]);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [modalShow, setModalShow] = useState(false);\r\n const [modalData, setModalData] = useState({});\r\n useEffect(() => {\r\n if (activeKey == 'education') {\r\n getData();\r\n }\r\n }, [activeKey])\r\n const getData = () => {\r\n educationTabService.getEducations(entityId).then((response) => {\r\n setData(response.data);\r\n })\r\n setHasLoaded(true);\r\n }\r\n const openModal = (rowData) => {\r\n if (rowData?.id) {\r\n setModalData({\r\n ...rowData,\r\n attendanceEndDate: rowData.attendanceEndDate ? dayjs(rowData.attendanceEndDate).format('YYYY-MM') : '',\r\n attendanceStartDate: rowData.attendanceStartDate ? dayjs(rowData.attendanceStartDate).format('YYYY-MM') : '',\r\n graduationDate: rowData.graduationDate ? dayjs(rowData.graduationDate).format('YYYY-MM-DD') : '',\r\n modalType: \"Edit\"\r\n });\r\n }\r\n else {\r\n setModalData({\r\n attendanceEndDate: '',\r\n attendanceStartDate: '',\r\n legacyDatesAttended: '',\r\n legacyDegreeOrSpecialty: '',\r\n dateCrte: new Date(),\r\n degree: null,\r\n deleted: false,\r\n entityId: entityId,\r\n graduationDate: '',\r\n id: '',\r\n major: '',\r\n school: null,\r\n userCrte: '',\r\n modalType: \"Add\"\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n const deleteRow = (rowData) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n educationTabService.deleteEducation(rowData.id).then((response) => {\r\n if (response.data) {\r\n Swal.fire(\"Success!\", \"You have successfully deleted an education record.\", \"success\");\r\n getData();\r\n }\r\n })\r\n }\r\n });\r\n }\r\n return (\r\n <>\r\n { getData(); }} modaldata={modalData} show={modalShow} onHide={() => setModalShow(false)} proptitle=\"Add\" />\r\n {hasLoaded ? <>\r\n \r\n\r\n \r\n \r\n Name\r\n \r\n {rowData => (rowData.school?.name)}\r\n \r\n \r\n \r\n Status\r\n \r\n {rowData => (rowData.schoolStatus?.schoolStatus)}\r\n \r\n \r\n \r\n Country\r\n \r\n {rowData => (rowData.school?.country)}\r\n \r\n \r\n \r\n Dates Attended\r\n \r\n {rowData => ((rowData.attendanceStartDate ? new Date(rowData.attendanceStartDate).toLocaleDateString('en-us', { year: \"numeric\", month: \"numeric\" }) : '') + ' - ' + (rowData.attendanceEndDate ? new Date(rowData.attendanceEndDate).toLocaleDateString('en-us', { year: \"numeric\", month: \"numeric\" }) : ''))}\r\n \r\n \r\n \r\n Legacy Dates Attended\r\n \r\n {rowData => (rowData.legacyDatesAttended)}\r\n \r\n \r\n \r\n Date Graduated\r\n \r\n {rowData => (rowData.graduationDate ? new Date(rowData.graduationDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Degree/Speciality\r\n \r\n {rowData => (rowData.degree?.degree)}\r\n \r\n \r\n \r\n Legacy Degree\r\n \r\n {rowData => (rowData.legacyDegreeOrSpecialty)}\r\n \r\n \r\n \r\n Major\r\n \r\n {rowData => (rowData.major)}\r\n \r\n \r\n \r\n Action(s)\r\n \r\n \r\n {rowData => {\r\n function handleAction() {\r\n var tempData = { ...rowData, modalType: 'Edit' }\r\n openModal(tempData);\r\n }\r\n return (\r\n <>\r\n   \r\n { deleteRow(rowData) }} style={{ cursor: \"pointer\" }} />\r\n \r\n )\r\n }}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n : \r\n }\r\n \r\n );\r\n}\r\nexport default EducationPage;","import axios from \"axios\";\r\nimport authHeader from '../authheader.js'\r\n\r\nconst WARNINGURL = process.env.REACT_APP_APIURL + \"/api/Warning\";\r\nconst ENTITYSEARCHURL = process.env.REACT_APP_APIURL + \"/api/EntitySearch\";\r\n\r\nconst getEntityInfo = async (entityId) => {\r\n return axios.get(`${ENTITYSEARCHURL}/entityinfo`, { headers: authHeader(), params: { entityId } });;\r\n}\r\n\r\n// warnings service\r\nconst getWarnings = async (entityId) => {\r\n return axios.get(`${WARNINGURL}/warnings`, { headers: authHeader(), params: { entityId } });;\r\n}\r\nconst createWarning = async (data) => {\r\n return axios.post(`${WARNINGURL}/createwarning`, data, { headers: authHeader() });;\r\n}\r\nconst updateWarning = async (data) => {\r\n return axios.post(`${WARNINGURL}/updatewarning`, data, { headers: authHeader() });;\r\n}\r\nconst deleteWarning = async (warningId) => {\r\n return axios.post(`${WARNINGURL}/deletewarning`, null, { headers: authHeader(), params: { warningId } });;\r\n}\r\n\r\nexport default {\r\n getWarnings,\r\n createWarning,\r\n updateWarning,\r\n deleteWarning,\r\n getEntityInfo\r\n}","import React from 'react'\r\nimport { useEffect } from 'react';\r\nimport { useState } from 'react';\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport generalEntityInfoService from '../../../../services/Internal/generalEntityInfo.service';\r\nfunction EntityInformationPage({ entityId }) {\r\n const [generalInfoModel, setGeneralInfoModel] = useState({\r\n name: '',\r\n lolaNumber: '',\r\n creds: ''\r\n })\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n\r\n useEffect(() => {\r\n generalEntityInfoService.getEntityInfo(entityId).then((response) => {\r\n if (response.data.entityInfo) {\r\n setGeneralInfoModel({\r\n name: response.data.entityInfo.formattedName,\r\n lolaNumber: response.data.entityInfo.lolaNumber,\r\n creds: response.data.credentials.map((item, index) => (item.formattedLicenseNumber)).join(\", \")\r\n })\r\n }\r\n setHasLoaded(true);\r\n });\r\n }, [])\r\n\r\n\r\n return (\r\n <>\r\n {hasLoaded &&\r\n \r\n \r\n Name\r\n
\r\n
{generalInfoModel.name}
\r\n \r\n \r\n LOLA #\r\n
\r\n
{generalInfoModel.lolaNumber}
\r\n \r\n \r\n Credential #(s)\r\n
\r\n
{generalInfoModel.creds}
\r\n \r\n
\r\n }\r\n \r\n )\r\n}\r\nexport default EntityInformationPage;","import React, { useEffect, useState } from 'react';\r\nimport { Button, Col, Row } from 'react-bootstrap';\r\nimport { Checkbox, Form, FormControl, Table, TagPicker } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport attachmentService from '../../../../services/Shared/attachment.service';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { sort_by } from '../../../Shared/HelperFunctions';\r\n\r\nfunction EntityAttachments(props) {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sortColumn, setSortColumn] = useState(\"file\");\r\n const [sortType, setSortType] = useState(\"asc\");\r\n const [gridData, setGridData] = useState([]);\r\n const [checkedRows, setCheckedRows] = useState([]);\r\n const [docTypes, setDocTypes] = useState([]);\r\n const [selectedDocTypes, setSelectedDocTypes] = useState([]);\r\n\r\n useEffect(() => {\r\n if (props.activeKey == 'attachments') {\r\n refreshGrid()\r\n }\r\n }, [props.activeKey])\r\n\r\n const handleSortColumn = (sortColumn, sortType) => {\r\n setSortColumn(sortColumn);\r\n setSortType(sortType);\r\n }\r\n const refreshGrid = () => {\r\n setHasLoaded(false)\r\n attachmentService.getFilesForEntity(props.entityId).then((data) => {\r\n var temp = [];\r\n temp = data.data.map((tempData, index) => {\r\n return {\r\n id: tempData.id,\r\n laserficheId: tempData.laserficheId,\r\n parentType: tempData.legacy ? 'Legacy' : tempData.parentType,\r\n timestamp: tempData.uploadDate,\r\n file: tempData.fileName,\r\n attachmentType: tempData.documentType,\r\n fileLink: ''\r\n };\r\n })\r\n setHasLoaded(true)\r\n setGridData(temp)\r\n setDocTypes([...new Set(temp.map(a => a.attachmentType))].map((x, i) => { return { \"label\": `${x}`, \"value\": `${x}` } }).sort(sort_by('label')));\r\n })\r\n }\r\n const getData = () => {\r\n var sortedData = gridData.sort(sort_by(sortColumn, sortType !== \"asc\"));\r\n if (selectedDocTypes?.length > 0) {\r\n sortedData = sortedData.filter((v, i) => {\r\n return selectedDocTypes.includes(v.attachmentType)\r\n })\r\n }\r\n return sortedData;\r\n }\r\n const handleCheckAll = (value, checked) => {\r\n const checkedKeys = checked ? getData().map(item => item.id) : [];\r\n setCheckedRows(checkedKeys)\r\n }\r\n const handleCheck = (value, checked) => {\r\n if (checked)\r\n setCheckedRows([...checkedRows, value])\r\n else\r\n setCheckedRows(checkedRows.filter(item => item !== value));\r\n }\r\n const downloadSelected = () => {\r\n Swal.fire({\r\n title: 'Downloading Files',\r\n didOpen: () => {\r\n Swal.showLoading();\r\n Promise.all(checkedRows.map((val) => {\r\n return attachmentService.getFileData(val)\r\n })).then((values) => {\r\n values.forEach((val, i) => {\r\n setTimeout(() => {\r\n var name = new String(val.headers['content-disposition']);\r\n const downloadUrl = window.URL.createObjectURL(new Blob([val.data]));\r\n const link = document.createElement('a');\r\n link.href = downloadUrl;\r\n var fileName = name.slice(name.indexOf('filename=') + 9, name.lastIndexOf(';')).replace(/^[\"'](.+(?=[\"']$))[\"']$/, '$1');\r\n link.setAttribute('download', fileName);\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n }, 200 * (i + 1))\r\n })\r\n }).then(() => {\r\n Swal.close();\r\n });\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n\r\n const docTypeChange = (val) => {\r\n setSelectedDocTypes(val);\r\n setCheckedRows([]);\r\n }\r\n return (\r\n <>\r\n {hasLoaded ?\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n { handleSortColumn(sortColumn, sortType) }}\r\n sortColumn={sortColumn}\r\n sortType={sortType}\r\n autoHeight\r\n wordWrap\r\n data={getData()}>\r\n \r\n \r\n 0 && checkedRows?.length != getData()?.length}\r\n onChange={handleCheckAll}\r\n checked={checkedRows?.length == getData()?.length}\r\n />\r\n \r\n {rowData => (\r\n item === rowData[\"id\"])} />\r\n )}\r\n\r\n \r\n \r\n \r\n Location\r\n \r\n \r\n \r\n File Name\r\n {(rowData) => ( { attachmentService.openFile(rowData.id) }}>{rowData.file})}\r\n \r\n \r\n Doc Type\r\n \r\n \r\n \r\n Date Created\r\n {rowData => (new Date(rowData.timestamp).toLocaleDateString())}\r\n \r\n \r\n Laserfiche ID\r\n \r\n \r\n \r\n \r\n
\r\n :\r\n \r\n }\r\n \r\n )\r\n}\r\n\r\n\r\nexport default EntityAttachments;","import axios from \"axios\";\r\nimport authHeader from '../../authheader.js'\r\n\r\nconst INDIVIDUALURL = process.env.REACT_APP_APIURL + \"/api/Individual\";\r\n\r\nconst getExams = async (entityId) => {\r\n return axios.get(`${INDIVIDUALURL}/getexams`, { headers: authHeader(), params: { entityId } });\r\n}\r\nconst saveExam = async (data) => {\r\n return axios.post(`${INDIVIDUALURL}/saveexam`, data, { headers: authHeader() });\r\n}\r\nconst deleteExam = async (id) => {\r\n return axios.post(`${INDIVIDUALURL}/deleteexam`, null, { headers: authHeader(), params: { id } });\r\n\r\n}\r\nexport default {\r\n getExams,\r\n saveExam,\r\n deleteExam\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { Modal, Row, Col, Button } from 'react-bootstrap'\r\nimport { InputPicker, Form, ControlLabel, Schema, FormControl, FormGroup } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\nimport examTabService from '../../../../../services/Internal/Credential/examTab.service';\r\nimport { getExamDiscipline, getExamStatuses } from '../../../../../services/Shared/codeTable.service';\r\n\r\nfunction ExamsTabModal(props) {\r\n const [exams, setExams] = useState([]);\r\n const [examStatuses, setExamStatuses] = useState([]);\r\n const [recordModel, setRecordModel] = useState({\r\n dateCrte: new Date(),\r\n deleted: false,\r\n entityId: '',\r\n examDate: null,\r\n id: '',\r\n comments: '',\r\n examDiscipline: null,\r\n status: null,\r\n userCrte: '',\r\n modalType: \"Add\"\r\n })\r\n useEffect(() => {\r\n getExamDiscipline().then(setExams);\r\n getExamStatuses().then(setExamStatuses);\r\n }, [])\r\n useEffect(() => {\r\n setRecordModel({\r\n ...props.modaldata\r\n });\r\n }, [props.modaldata])\r\n const { ObjectType, StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n examDiscipline: ObjectType().isRequired('This field is required.'),\r\n examDate: StringType().isRequired('This field is required.')\r\n })\r\n const formSubmit = (validation, event) => {\r\n if (validation) {\r\n var dataToTransmit = {\r\n ...recordModel,\r\n id: recordModel.id === '' ? 0 : recordModel.id,\r\n attendanceEndDate: recordModel.attendanceEndDate ? new Date(recordModel.attendanceEndDate) : null,\r\n attendanceStartDate: recordModel.attendanceStartDate ? new Date(recordModel.attendanceStartDate) : null,\r\n graduationDate: recordModel.graduationDate ? new Date(recordModel.graduationDate) : null\r\n };\r\n delete dataToTransmit.modalType;\r\n examTabService.saveExam(dataToTransmit).then((response) => {\r\n if (response.data.id) {\r\n Swal.fire(\"Success!\", \"You have successfully updated an exam record.\", \"success\");\r\n props.updateGrid();\r\n props.onHide();\r\n }\r\n }).catch((response) => {\r\n })\r\n }\r\n }\r\n return (\r\n \r\n \r\n \r\n {recordModel.modalType} an Exam Record\r\n \r\n \r\n \r\n
setRecordModel(recordModel)} onSubmit={formSubmit} >\r\n \r\n \r\n \r\n \r\n Exam Date \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Exam \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Status\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Comments\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n )\r\n}\r\nexport default ExamsTabModal;","import * as dayjs from 'dayjs';\r\nimport React, { useEffect } from 'react'\r\nimport { useState } from 'react';\r\nimport { Button, Row } from 'react-bootstrap';\r\nimport { Icon, Table } from 'rsuite'\r\nimport Swal from 'sweetalert2';\r\nimport examTabService from '../../../../../services/Internal/Credential/examTab.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { sort_by } from '../../../../Shared/HelperFunctions';\r\nimport ExamsTabModal from './ExamsTabModal';\r\n\r\nfunction ExamsPage({ entityId, activeKey }) {\r\n const [data, setData] = useState([]);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [modalShow, setModalShow] = useState(false);\r\n const [modalData, setModalData] = useState({});\r\n\r\n const [sortColumn, setSortColumn] = useState(\"examDate\");\r\n const [sortType, setSortType] = useState(\"desc\");\r\n\r\n useEffect(() => {\r\n if (activeKey == 'exams') {\r\n getData();\r\n }\r\n }, [activeKey])\r\n const getData = () => {\r\n examTabService.getExams(entityId).then((response) => {\r\n setData(response.data);\r\n })\r\n setHasLoaded(true);\r\n }\r\n const openModal = (rowData) => {\r\n if (rowData?.id) {\r\n setModalData({\r\n ...rowData,\r\n examDate: rowData.examDate ? dayjs(rowData.examDate).format('YYYY-MM-DD') : '',\r\n modalType: \"Edit\"\r\n });\r\n }\r\n else {\r\n setModalData({\r\n dateCrte: new Date(),\r\n deleted: false,\r\n entityId: entityId,\r\n examDate: '',\r\n id: '',\r\n comments: '',\r\n examDiscipline: null,\r\n status: null,\r\n userCrte: '',\r\n modalType: \"Add\"\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n const deleteRow = (rowData) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n examTabService.deleteExam(rowData.id).then((response) => {\r\n if (response.data) {\r\n Swal.fire(\"Success!\", \"You have successfully deleted an exam record.\", \"success\");\r\n getData();\r\n }\r\n })\r\n }\r\n });\r\n }\r\n\r\n const getGridData = () => {\r\n var sortedData = [];\r\n if (sortColumn == \"status\") {\r\n sortedData = data?.sort(sort_by(\"status\", sortType !== \"asc\", null, \"status\"));\r\n }\r\n else if (sortColumn == \"examDiscipline\") {\r\n sortedData = data?.sort(sort_by(\"examDiscipline\", sortType !== \"asc\", null, \"examDiscipline\"));\r\n }\r\n else\r\n sortedData = data?.sort(sort_by(sortColumn, sortType !== \"asc\"));\r\n return sortedData;\r\n }\r\n\r\n const handleSortColumn = (sortColumn, sortType) => {\r\n setSortColumn(sortColumn);\r\n setSortType(sortType);\r\n }\r\n\r\n return (\r\n <>\r\n { getData(); }} modaldata={modalData} show={modalShow} onHide={() => setModalShow(false)} proptitle=\"Add\" />\r\n {hasLoaded ? <>\r\n { handleSortColumn(sortColumn, sortType) }}\r\n sortColumn={sortColumn}\r\n sortType={sortType}\r\n wordWrap\r\n autoHeight\r\n data={getGridData()}>\r\n\r\n \r\n \r\n Exam Date\r\n \r\n {rowData => (rowData.examDate ? new Date(rowData.examDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Exam\r\n \r\n {rowData => (rowData.examDiscipline?.examDiscipline)}\r\n \r\n \r\n \r\n Status\r\n \r\n {rowData => (rowData.status?.status)}\r\n \r\n \r\n \r\n Comments\r\n \r\n {rowData => (rowData.comments)}\r\n \r\n \r\n \r\n Action(s)\r\n \r\n \r\n {rowData => {\r\n function handleAction() {\r\n var tempData = { ...rowData, modalType: 'Edit' }\r\n openModal(tempData);\r\n }\r\n return (\r\n <>\r\n   \r\n { deleteRow(rowData) }} style={{ cursor: \"pointer\" }} />\r\n \r\n )\r\n }}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n : \r\n }\r\n \r\n );\r\n}\r\nexport default ExamsPage;","import axios from \"axios\";\r\nimport authHeader from '../../authheader.js'\r\n\r\nconst INDIVIDUALURL = process.env.REACT_APP_APIURL + \"/api/Individual\";\r\nconst FIRMURL = process.env.REACT_APP_APIURL + \"/api/Firm\";\r\nconst INVOICEURL = process.env.REACT_APP_APIURL + \"/api/Invoice\";\r\n\r\nconst getInvoices = async (entityId, isIndividual) => {\r\n if (isIndividual)\r\n return axios.get(`${INDIVIDUALURL}/getinvoicelineitemdata`, { headers: authHeader(), params: { entityId } });\r\n else\r\n return axios.get(`${FIRMURL}/getinvoicelineitemdata`, { headers: authHeader(), params: { entityId } });\r\n}\r\nconst getRefunds = async (entityId, isIndividual) => {\r\n if (isIndividual)\r\n return axios.get(`${INDIVIDUALURL}/getrefunddata`, { headers: authHeader(), params: { entityId } });\r\n else\r\n return axios.get(`${FIRMURL}/getrefunddata`, { headers: authHeader(), params: { entityId } });\r\n}\r\n\r\nconst deleteLineItem = async (lineItemId) => {\r\n return axios.post(`${INVOICEURL}/deletelineiteminfeestransaction`, null, { headers: authHeader(), params: { lineItemId } });\r\n}\r\nexport default {\r\n getInvoices,\r\n getRefunds,\r\n deleteLineItem\r\n}","import React from 'react'\r\nimport NumberFormat from 'react-number-format';\r\n\r\nfunction CurrencyMask({ onChange, ...rest }) {\r\n return (\r\n onChange(value.floatValue)}\r\n />\r\n )\r\n}\r\nexport default CurrencyMask;","import axios from \"axios\";\r\nimport authHeader from '../../authheader.js'\r\n\r\nconst PAYMENTURL = process.env.REACT_APP_APIURL + \"/api/Payment\";\r\nconst PAYMENTSEARCHURL = process.env.REACT_APP_APIURL + \"/api/PaymentSearch\";\r\nconst PAYMENTACCOUNTSEARCHURL = process.env.REACT_APP_APIURL + \"/api/PaymentByAccountSearch\";\r\nconst REFUNDURL = process.env.REACT_APP_APIURL + \"/api/Refund\";\r\nconst DAILYREFUNDURL = process.env.REACT_APP_APIURL + \"/api/DailyRefundSearch\";\r\nconst INVOICEURL = process.env.REACT_APP_APIURL + \"/api/Invoice\";\r\nconst INVOICESEARCHURL = process.env.REACT_APP_APIURL + \"/api/InvoiceSearch\";\r\n\r\nconst getPayment = async (id) => {\r\n return axios.get(`${PAYMENTURL}/payment`, { headers: authHeader(), params: { id } });\r\n}\r\nconst createPayment = async (data) => {\r\n return axios.post(`${PAYMENTURL}/createpayment`, data, { headers: authHeader() });\r\n}\r\nconst deletePayment = async (paymentId) => {\r\n return axios.post(`${PAYMENTURL}/deletepayment`, null, { headers: authHeader(), params: { paymentId } });\r\n}\r\nconst updatePayment = async (data) => {\r\n return axios.post(`${PAYMENTURL}/updatepayment`, data, { headers: authHeader() });\r\n}\r\nconst allocatePayment = async (paymentId, invoiceId) => {\r\n return axios.post(`${PAYMENTURL}/allocatepaymenttoinvoice`, null, { headers: authHeader(), params: { paymentId, invoiceId } });\r\n}\r\nconst postAutoRenewalPdfs = (autoApprovedRenewalIds) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/Reports/AutoAttachRenewalPdfs`, autoApprovedRenewalIds, { headers: authHeader() });\r\n}\r\n\r\nconst deallocatePayment = async (paymentId, invoiceId) => {\r\n return axios.post(`${PAYMENTURL}/deallocatepaymentfrominvoice`, null, { headers: authHeader(), params: { paymentId, invoiceId } });\r\n}\r\nconst getPaymentsForInvoice = async (invoiceId) => {\r\n return axios.get(`${PAYMENTURL}/getpaymentsforinvoice`, { headers: authHeader(), params: { invoiceId } });\r\n}\r\nconst getInvoicesForPayment = async (paymentId) => {\r\n return axios.get(`${INVOICEURL}/getinvoicesforpayment`, { headers: authHeader(), params: { paymentId } });\r\n}\r\nconst getRefunds = async (paymentId) => {\r\n return axios.get(`${REFUNDURL}/refundsforpayment`, { headers: authHeader(), params: { paymentId } });\r\n}\r\nconst createRefund = async (data) => {\r\n return axios.post(`${REFUNDURL}/createrefund`, data, { headers: authHeader() });\r\n}\r\nconst searchDailyRefunds = async (beginDate, endDate) => {\r\n return axios.post(`${DAILYREFUNDURL}`, null, { headers: authHeader(), params: { beginDate, endDate } });\r\n}\r\nconst searchPayments = async (data) => {\r\n return axios.post(`${PAYMENTSEARCHURL}`, data, { headers: authHeader() });\r\n}\r\nconst searchInvoice = async (data) => {\r\n return axios.post(`${INVOICESEARCHURL}`, data, { headers: authHeader() });;\r\n}\r\nconst searchPaymentsByAccount = async (beginDate, endDate, contactEntityId) => {\r\n return axios.post(`${PAYMENTACCOUNTSEARCHURL}`, null, { headers: authHeader(), params: { beginDate, endDate, contactEntityId } });\r\n}\r\nconst downloadPaymentSummary = async (data) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/Reports/PaymentsByAccountReport`, data, { headers: authHeader(), responseType: 'arraybuffer' }).then((response) => {\r\n var name = new String(response.headers['content-disposition']);\r\n const downloadUrl = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = downloadUrl;\r\n link.setAttribute('download', name.slice(name.indexOf('filename=') + 9, name.lastIndexOf(';')));\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n });\r\n}\r\nexport default {\r\n getPayment,\r\n createPayment,\r\n updatePayment,\r\n getRefunds,\r\n createRefund,\r\n getInvoicesForPayment,\r\n getPaymentsForInvoice,\r\n searchPayments,\r\n allocatePayment,\r\n deallocatePayment,\r\n searchInvoice,\r\n searchDailyRefunds,\r\n searchPaymentsByAccount,\r\n deletePayment,\r\n downloadPaymentSummary,\r\n postAutoRenewalPdfs\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Modal, Row, Col, Button } from 'react-bootstrap'\r\nimport { SelectPicker, Form, ControlLabel, Schema, FormControl, FormGroup, Table } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport paymentService from '../../../services/Internal/Revenue/payment.service';\r\nimport { getPaymentTypes } from '../../../services/Shared/codeTable.service'\r\nimport CurrencyMask from '../../Shared/GenericComponents/CurrencyMask';\r\nimport LoadingSpinner from '../../Shared/GenericComponents/LoadingSpinner';\r\nimport RedStar from '../../Shared/GenericComponents/RedStar';\r\nimport GenericPagination from '../../Shared/Grid/GenericPagination';\r\n\r\n\r\nfunction PaymentInfoModal({ paymentId, show, onHide, refreshInvoicesRefunds }) {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [paymentTypes, setPaymentTypes] = useState([]);\r\n const [refundList, setRefundList] = useState([]);\r\n const [invoiceList, setInvoiceList] = useState([]);\r\n const [showRefund, setShowRefund] = useState(false);\r\n const [paymentInfoModel, setPaymentInfoModel] = useState();\r\n const [refundModel, setRefundModel] = useState({});\r\n\r\n useEffect(() => {\r\n getPaymentTypes().then(setPaymentTypes);\r\n }, [])\r\n\r\n useEffect(() => {\r\n setRefundList([]);\r\n setInvoiceList([]);\r\n reloadPaymentModel();\r\n }, [show])\r\n\r\n const reloadPaymentModel = () => {\r\n if (show && paymentId) {\r\n setHasLoaded(false);\r\n paymentService.getPayment(paymentId).then((response) => {\r\n if (response.data) {\r\n setPaymentInfoModel({\r\n ...response.data,\r\n })\r\n }\r\n }).then(() => {\r\n paymentService.getRefunds(paymentId).then((response) => {\r\n if (response.data) {\r\n setRefundList([...response.data]);\r\n }\r\n else {\r\n setRefundList([]);\r\n }\r\n }).then(() => {\r\n paymentService.getInvoicesForPayment(paymentId).then((response) => {\r\n if (response.data) {\r\n setInvoiceList([...response.data]);\r\n }\r\n else {\r\n setInvoiceList([]);\r\n }\r\n }).then(() => {\r\n setShowRefund(false);\r\n setRefundModel({\r\n paymentId: paymentId,\r\n refundAmount: \"\",\r\n refundReason: \"\",\r\n id: 0\r\n })\r\n setHasLoaded(true);\r\n\r\n })\r\n })\r\n })\r\n }\r\n }\r\n\r\n const { StringType, ObjectType, NumberType } = Schema.Types;\r\n const model = Schema.Model({\r\n paymentType: ObjectType().isRequired('This field is required.'),\r\n nicAuthCode: StringType().isRequired('This field is required.'),\r\n remitter: StringType().isRequired('This field is required.')\r\n });\r\n const refundValidationModel = Schema.Model({\r\n refundAmount: NumberType().isRequired('This field is required.').min(.01, 'Please enter an amount greater than 0').max(paymentInfoModel?.availableAmount, 'Cannot exceed the avaiable amount'),\r\n refundReason: StringType().isRequired('This field is required.'),\r\n });\r\n const formSubmit = (validation, event) => {\r\n if (validation) {\r\n paymentService.updatePayment(paymentInfoModel).then((response) => {\r\n if (response.data) {\r\n onHide();\r\n }\r\n })\r\n }\r\n }\r\n const submitRefund = (validation, event) => {\r\n if (validation) {\r\n setHasLoaded(false);\r\n paymentService.createRefund(refundModel).then((response) => {\r\n if (response.data) {\r\n reloadPaymentModel();\r\n }\r\n })\r\n\r\n }\r\n }\r\n const [invoiceDisplayLength, setInvoiceDisplayLength] = useState(10);\r\n const [invoicePage, setInvoicePage] = useState(1);\r\n const getData = () => {\r\n return invoiceList.filter((v, i) => {\r\n const start = invoiceDisplayLength * (invoicePage - 1);\r\n const end = start + invoiceDisplayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const getInvoiceData = getData();\r\n return (\r\n \r\n \r\n \r\n Payment #{paymentInfoModel?.id} | Batch #{paymentInfoModel?.batchId}\r\n \r\n \r\n \r\n {hasLoaded ? <>\r\n setPaymentInfoModel(paymentInfoModel)}\r\n onSubmit={formSubmit} >\r\n \r\n \r\n \r\n Payment Type \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Amount \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Available \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Check#/CC Auth Number \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Remitter \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Contact \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Comments\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n !showRefund && paymentInfoModel.availableAmount > 0 &&\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n : }\r\n
\r\n {\r\n showRefund &&\r\n <>\r\n
setRefundModel(refundModel)}\r\n onSubmit={submitRefund}\r\n className=\"bg-light p-4\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n Refund Amount \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Refund Reason \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n }\r\n {refundList.length > 0 &&\r\n <>

Refunds

\r\n \r\n \r\n \r\n Refund Date\r\n \r\n {rowData => (rowData.refundDate ? new Date(rowData.refundDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Refund Amount\r\n \r\n {rowData => (rowData.refundAmount.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n }))}\r\n \r\n \r\n \r\n Refund Reason\r\n \r\n {rowData => (rowData.refundReason)}\r\n \r\n \r\n \r\n User\r\n \r\n {rowData => (rowData.userName)}\r\n \r\n
\r\n\r\n }\r\n\r\n <>
\r\n

Invoices

\r\n \r\n \r\n \r\n Invoice Date\r\n \r\n {rowData => (rowData.invoiceDate ? new Date(rowData.invoiceDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Line Item(s)\r\n \r\n {rowData => (
{rowData.lineItems}
)}
\r\n
\r\n \r\n \r\n Amount Due\r\n \r\n {rowData => (rowData.balance.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n }))}\r\n \r\n \r\n \r\n Amount Paid\r\n \r\n {rowData => (rowData.amountPaid.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n }))}\r\n \r\n \r\n \r\n Date Paid\r\n \r\n {rowData => (rowData.datePaid ? new Date(rowData.datePaid).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Action(s)\r\n \r\n \r\n {rowData => {\r\n function invoiceDeallocate() {\r\n paymentService.deallocatePayment(paymentId, rowData.id).then((response) => {\r\n if (response.data) {\r\n reloadPaymentModel();\r\n if (refreshInvoicesRefunds)\r\n refreshInvoicesRefunds();\r\n }\r\n })\r\n }\r\n function invoicePay() {\r\n paymentService.allocatePayment(paymentId, rowData.id).then((response) => {\r\n if (response.data) {\r\n if (response.data.autoApprovedRenewalIds?.length) {\r\n Swal.fire({\r\n title: 'Saving PDF(s)',\r\n didOpen: () => {\r\n Swal.showLoading();\r\n var dataToTransmit = {\r\n RenewalIds: response.data.autoApprovedRenewalIds\r\n }\r\n paymentService.postAutoRenewalPdfs(dataToTransmit).then((data) => {\r\n if (data) {\r\n reloadPaymentModel();\r\n Swal.close()\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n else { reloadPaymentModel(); }\r\n }\r\n })\r\n }\r\n return (\r\n <>\r\n {rowData.datePaid ?\r\n \r\n :\r\n \r\n }\r\n \r\n )\r\n }}\r\n \r\n \r\n
\r\n \r\n \r\n\r\n\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default PaymentInfoModal;","import React, { useEffect } from 'react'\r\nimport { useState } from 'react';\r\nimport { Button, Modal, Row } from 'react-bootstrap';\r\nimport { ControlLabel, Form, FormControl, FormGroup, Icon, InputPicker, Schema, Table } from 'rsuite'\r\nimport Swal from 'sweetalert2';\r\nimport feeTransactionTabService from '../../../../services/Internal/Credential/feeTransactionTab.service';\r\nimport { getFeeDefinitions } from '../../../../services/Shared/codeTable.service';\r\nimport invoiceService from '../../../../services/Shared/invoice.service';\r\nimport CurrencyMask from '../../../Shared/GenericComponents/CurrencyMask';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\nimport RedStar from '../../../Shared/GenericComponents/RedStar';\r\nimport { sort_by } from '../../../Shared/HelperFunctions';\r\nimport PaymentInfoModal from '../../Shared/PaymentInfoModal';\r\n\r\nfunction FeeTransactionPage({ entityId, activeKey, isIndividual }) {\r\n const [invoiceData, setInvoiceData] = useState([]);\r\n const [refundData, setRefundData] = useState([]);\r\n const [invoiceHasLoaded, setInvoiceHasLoaded] = useState(false);\r\n const [refundHasLoaded, setRefundHasLoaded] = useState(false);\r\n\r\n const [modalShow, setModalShow] = useState(false);\r\n const [currentPaymentId, setCurrentPaymentId] = useState(0);\r\n\r\n const [editModalShow, setEditModalShow] = useState(false);\r\n const [currentRowData, setCurrentRowData] = useState();\r\n\r\n\r\n\r\n const refreshInvoicesRefunds = () => {\r\n feeTransactionTabService.getInvoices(entityId, isIndividual).then((response) => {\r\n setInvoiceData(response.data.sort(sort_by('invoiceDate', true)));\r\n })\r\n feeTransactionTabService.getRefunds(entityId, isIndividual).then((response) => {\r\n setRefundData(response.data.sort(sort_by('refundDate', true)));\r\n })\r\n setInvoiceHasLoaded(true);\r\n setRefundHasLoaded(true);\r\n }\r\n\r\n useEffect(() => {\r\n if (activeKey == \"feeTransactions\") {\r\n //get data\r\n refreshInvoicesRefunds();\r\n }\r\n }, [activeKey])\r\n\r\n const deleteInvoiceLineItem = (lineItemId) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n feeTransactionTabService.deleteLineItem(lineItemId).then((response) => {\r\n if (response.data) {\r\n setInvoiceHasLoaded(false);\r\n feeTransactionTabService.getInvoices(entityId, isIndividual).then((response) => {\r\n setInvoiceData(response.data.sort(sort_by('invoiceDate', true)));\r\n })\r\n setInvoiceHasLoaded(true);\r\n }\r\n });\r\n }\r\n })\r\n }\r\n\r\n return (<>\r\n { setModalShow(false); }}\r\n refreshInvoicesRefunds={refreshInvoicesRefunds} />\r\n { setEditModalShow(false); }}\r\n refreshInvoicesRefunds={refreshInvoicesRefunds}\r\n />\r\n\r\n

FEES

\r\n {invoiceHasLoaded ? <>\r\n \r\n \r\n \r\n Status\r\n \r\n {rowData => (rowData.status)}\r\n \r\n \r\n \r\n Invoice Date\r\n \r\n {rowData => (rowData.invoiceDate ? new Date(rowData.invoiceDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n GL Account\r\n \r\n {rowData => (rowData.glAccount)}\r\n \r\n \r\n \r\n Invoice Amount\r\n \r\n {rowData => (rowData.invoiceAmount ? rowData.invoiceAmount.toLocaleString('en-US', { style: 'currency', currency: 'USD' }) : rowData.invoiceAmount == 0 ? '$0.00' : '')}\r\n \r\n \r\n \r\n Invoice ID\r\n \r\n {rowData => (rowData.invoiceId ? rowData.invoiceId : '')}\r\n \r\n \r\n \r\n Payment ID\r\n \r\n {rowData => (\r\n rowData.paymentId ?\r\n : ''\r\n )}\r\n \r\n \r\n \r\n Payment Amount\r\n \r\n {rowData => (rowData.paymentAmount ? rowData.paymentAmount.toLocaleString('en-US', { style: 'currency', currency: 'USD' }) : rowData.paymentAmount == 0 ? '$0.00' : '')}\r\n \r\n \r\n \r\n Payment Type\r\n \r\n {rowData => (rowData.paymentType)}\r\n \r\n \r\n \r\n Paid Date\r\n \r\n {rowData => (rowData.paidDate ? new Date(rowData.paidDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n User\r\n \r\n {rowData => (rowData.user)}\r\n \r\n \r\n \r\n Actions\r\n \r\n {rowData => (\r\n rowData.status == \"Unpaid\" ?\r\n :\r\n rowData.status == \"Paid\" ?\r\n : \"\"\r\n )}\r\n \r\n
\r\n : \r\n }\r\n
\r\n

REFUNDS

\r\n {refundHasLoaded ? <>\r\n \r\n \r\n \r\n Payment ID\r\n \r\n {rowData => (\r\n \r\n )}\r\n \r\n \r\n \r\n Payment Date\r\n \r\n {rowData => (rowData.paymentDate ? new Date(rowData.paymentDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Payment Type\r\n \r\n {rowData => (rowData.paymentType)}\r\n \r\n \r\n \r\n Refund Date\r\n \r\n {rowData => (rowData.refundDate ? new Date(rowData.refundDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Refund Amount\r\n \r\n {rowData => (rowData.refundAmount ? rowData.refundAmount.toLocaleString('en-US', { style: 'currency', currency: 'USD' }) : rowData.refundAmount == 0 ? '$0.00' : '')}\r\n \r\n \r\n \r\n Reason\r\n \r\n {rowData => (rowData.reason)}\r\n \r\n \r\n \r\n User\r\n \r\n {rowData => (rowData.user)}\r\n \r\n
\r\n : \r\n }\r\n );\r\n}\r\n\r\nfunction EditInvoiceTransactionFee(props) {\r\n\r\n const [lineItemModel, setLineItemModel] = useState();\r\n const [feeDefinitions, setFeeDefinitions] = useState({\r\n feeDefinition: {},\r\n amount: 0\r\n });\r\n\r\n const { NumberType, ObjectType } = Schema.Types;\r\n const model = Schema.Model({\r\n feeDefinition: ObjectType().isRequired('This field is required.'),\r\n amount: NumberType().isRequired('This field is required.').min(.01, \"Please enter an amount greater than 0\"),\r\n })\r\n\r\n useState(() => {\r\n getFeeDefinitions().then(setFeeDefinitions);\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (props.show) {\r\n console.log(props.rowData)\r\n var fee = feeDefinitions.find(obj => {\r\n return obj.value.id == props.rowData.feeDefinitionId\r\n })\r\n setLineItemModel({ feeDefinition: fee.value, amount: props.rowData.invoiceAmount })\r\n }\r\n }, [props.show])\r\n\r\n const onFeeDefinitionSelect = (value) => {\r\n setLineItemModel({ feeDefinition: { ...value }, amount: value.amount })\r\n }\r\n\r\n const formSubmit = (validation, event) => {\r\n if (validation) {\r\n if (props.rowData.invoiceAmount == lineItemModel.amount) {\r\n submitData();\r\n }\r\n else {\r\n var text = props.rowData.invoiceAmount > lineItemModel.amount ? \"Saving now will alter the invoice line item, deallocate the current payment, reallocate the payement, and create a refund from the difference in amounts. Do you want to continue?\"\r\n : props.rowData.invoiceAmount < lineItemModel.amount ? \"Saving now will alter the invoice line item and deallocate the current payment. Do you want to continue?\" : \"\"\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: text,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continue!'\r\n })\r\n .then((result) => {\r\n if (result.isConfirmed) {\r\n submitData();\r\n }\r\n })\r\n }\r\n }\r\n }\r\n const submitData = () => {\r\n var dataToTransmit = {\r\n amount: lineItemModel.amount,\r\n entityId: 0,\r\n feeDefinition: lineItemModel.feeDefinition,\r\n invoiceId: props.rowData.invoiceId,\r\n parentId: 0,\r\n id: props.rowData.invoiceLineItemId\r\n\r\n }\r\n invoiceService.editLineItem(dataToTransmit).then((responsse) => {\r\n if (responsse.data) {\r\n props.refreshInvoicesRefunds()\r\n Swal.fire(\"Saved\", `Invoice Line Item has been successfully updated!`, \"success\")\r\n props.onHide(true);\r\n }\r\n })\r\n }\r\n return (\r\n \r\n \r\n \r\n Edit Line Item\r\n \r\n \r\n \r\n
setLineItemModel(values)}\r\n onSubmit={formSubmit}>\r\n \r\n \r\n \r\n GL Account \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Amount \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\nexport default FeeTransactionPage;","import * as dayjs from 'dayjs';\r\nimport React, { useState, useEffect } from 'react';\r\nimport { Modal, Row, Col, Button } from 'react-bootstrap'\r\nimport { InputPicker, SelectPicker, Form, ControlLabel, Schema, FormControl, FormGroup, InputNumber, Checkbox, CheckboxGroup } from 'rsuite';\r\nimport generalEntityInfoService from '../../../../../services/Internal/generalEntityInfo.service';\r\nimport { getIssueTypes} from '../../../../../services/Shared/codeTable.service'\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\n\r\n\r\nfunction WarningModal(props) {\r\n const [issueTypes, setIssueTypes] = useState([]);\r\n\r\n const [warningModel, setWarningModel] = useState({\r\n id: 0,\r\n entityId: 0,\r\n reason: \"\",\r\n issueType: null,\r\n clearedDate: '',\r\n effectiveDate: '',\r\n userCrte: '',\r\n dateCrte: '',\r\n clearedBy: '',\r\n issue: '',\r\n suppressLicensePrint: null,\r\n\r\n modalType: \"Add\"\r\n })\r\n\r\n useEffect(() => {\r\n setWarningModel({\r\n ...props.modalData\r\n });\r\n getIssueTypes().then(setIssueTypes);\r\n }, [props.modalData])\r\n\r\n const { StringType, ObjectType } = Schema.Types;\r\n const model = Schema.Model({\r\n issueType: ObjectType().isRequired('This field is required.'),\r\n reason: StringType().isRequired('This field is required.'),\r\n effectiveDate: StringType().isRequired('This field is required.')\r\n })\r\n const formSubmit = (validation, event) => {\r\n if (validation) {\r\n submitData();\r\n }\r\n }\r\n const submitData = () => {\r\n var effectiveDate = warningModel.effectiveDate ? dayjs(warningModel.effectiveDate).format('YYYY-MM-DD') : null;\r\n var dateCrte = warningModel.dateCrte ? dayjs(warningModel.dateCrte).format('YYYY-MM-DD') : null;\r\n var clearedDate = warningModel.clearedDate ? dayjs(warningModel.clearedDate).format('YYYY-MM-DD') : null;\r\n var dataToTransmit = {\r\n ...warningModel,\r\n id: warningModel.id === '' ? 0 : warningModel.id,\r\n issue: warningModel.reason,\r\n effectiveDate,\r\n dateCrte,\r\n clearedDate\r\n };\r\n var isCreate = warningModel.modalType == \"Add\";\r\n delete dataToTransmit.modalType;\r\n delete dataToTransmit.reason;\r\n if (isCreate) {\r\n generalEntityInfoService.createWarning(dataToTransmit).then((response) => {\r\n if (response.data.id) {\r\n props.updateGrid();\r\n props.onHide();\r\n }\r\n }).catch((response) => {\r\n })\r\n }\r\n else //Edit\r\n {\r\n generalEntityInfoService.updateWarning(dataToTransmit).then((response) => {\r\n if (response.data.id) {\r\n props.updateGrid();\r\n props.onHide();\r\n }\r\n }).catch((response) => {\r\n })\r\n }\r\n\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n Warning\r\n \r\n \r\n \r\n
setWarningModel(warningModel)} onSubmit={formSubmit} >\r\n \r\n \r\n \r\n \r\n Effective Date \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Cleared Date\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Type \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Reason \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Suppress License Print\r\n \r\n \r\n \r\n \r\n \r\n setWarningModel({ ...warningModel, suppressLicensePrint: checked })}\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default WarningModal;","import React from 'react'\r\nimport { useEffect } from 'react';\r\nimport { useState } from 'react';\r\nimport { Button, Col, Row } from 'react-bootstrap';\r\nimport generalEntityInfoService from '../../../../../services/Internal/generalEntityInfo.service';\r\nimport { Icon, Table } from 'rsuite';\r\nimport GenericPagination from '../../../../Shared/Grid/GenericPagination';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport WarningModal from './WarningModal';\r\nimport * as dayjs from 'dayjs';\r\nimport Swal from 'sweetalert2';\r\n\r\nfunction WarningsPage({ entityId, setWarningNumber, activeKey }) {\r\n const [warningHasLoaded, setWarningHasLoaded] = useState(false);\r\n const [modalShow, setModalShow] = useState(false);\r\n const [modalData, setModalData] = useState({});\r\n const [warningData, setWarningData] = useState([]);\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n\r\n useEffect(() => {\r\n if (activeKey == \"warnings\")\r\n refreshGrid();\r\n }, [activeKey])\r\n useEffect(() => {\r\n refreshGrid();\r\n }, [])\r\n\r\n function refreshGrid() {\r\n setWarningHasLoaded(false);\r\n generalEntityInfoService.getWarnings(entityId).then((response) => {\r\n setWarningData(response.data);\r\n setWarningNumber(response.data.filter((item) => (item.clearedDate == null) || (dayjs(item.clearedDate) > dayjs())).length);\r\n setWarningHasLoaded(true);\r\n })\r\n }\r\n\r\n const openModal = (values) => {\r\n if (values.id) {\r\n setModalData(\r\n {\r\n ...values,\r\n clearedDate: values.clearedDate ? dayjs(values.clearedDate).format('YYYY-MM-DD') : null,\r\n effectiveDate: values.effectiveDate ? dayjs(values.effectiveDate).format('YYYY-MM-DD') : null,\r\n reason: values.issue,\r\n modalType: 'Edit'\r\n });\r\n }\r\n else {\r\n setModalData({\r\n id: 0,\r\n entityId: entityId,\r\n reason: \"\",\r\n issueType: null,\r\n clearedDate: '',\r\n effectiveDate: '',\r\n suppressLicensePrint: null,\r\n userCrte: '',\r\n dateCrte: '',\r\n clearedBy: '',\r\n issue: '',\r\n modalType: \"Add\"\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n const deleteRow = (rowData) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n generalEntityInfoService.deleteWarning(rowData.id).then((response) => {\r\n if (response)\r\n refreshGrid();\r\n })\r\n }\r\n })\r\n }\r\n const getData = () => {\r\n return warningData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const filteredData = getData();\r\n return (\r\n <>\r\n {warningHasLoaded ?\r\n <>\r\n {\r\n modalShow &&\r\n setModalShow(false)} updateGrid={() => { refreshGrid() }} />\r\n }\r\n \r\n\r\n \r\n \r\n Effective Date\r\n \r\n {rowData => (rowData.effectiveDate ? new Date(rowData.effectiveDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Cleared Date\r\n \r\n {rowData => (rowData.clearedDate ? new Date(rowData.clearedDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Type\r\n \r\n {rowData => (rowData.issueType.issueType)}\r\n \r\n \r\n \r\n Reason\r\n \r\n {rowData => (rowData.issue)}\r\n \r\n \r\n \r\n Suppress License Print\r\n \r\n {rowData => (rowData.suppressLicensePrint ? \"Yes\" : \"No\")}\r\n \r\n \r\n \r\n Created By\r\n \r\n {rowData => (rowData.staffMember)}\r\n \r\n \r\n \r\n Action(s)\r\n \r\n \r\n {rowData => {\r\n function handleAction() {\r\n var tempData = { ...rowData, modalType: 'Edit' }\r\n openModal(tempData);\r\n }\r\n return (\r\n <>\r\n   \r\n { deleteRow(rowData) }} style={{ cursor: \"pointer\" }} />\r\n \r\n )\r\n }}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n : \r\n }\r\n \r\n )\r\n}\r\nexport default WarningsPage;","import React, { useState, useEffect } from 'react';\r\nimport { Card, Tabs, Tab, Badge } from 'react-bootstrap'\r\nimport AdditionalInformationPage from './AdditionalInformation/AdditionalInformationPage';\r\nimport CredentialHistoryTable from './CredentialHistoryTable';\r\nimport EducationPage from './Education/EducationPage';\r\nimport EntityInformationPage from './EntityInformationPage';\r\nimport EntityAttachments from './EntityAttachments';\r\nimport ExamsPage from './Exams/ExamsPage';\r\nimport FeeTransactionPage from './FeeTransactionPage';\r\nimport WarningsPage from './Warnings/WarningsPage';\r\n\r\nfunction TopInformationCard(props) {\r\n const [activeSection, setActiveSection] = useState('entityInfo')\r\n const [warningNumber, setWarningNumber] = useState(0);\r\n const warningTitle =\r\n <>\r\n WARNING(S)\r\n {warningNumber > 0 &&\r\n {warningNumber}\r\n }\r\n ;\r\n\r\n return (\r\n \r\n \r\n { setActiveSection(selected) }} className='credentialNav'>\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n {props.isIndividual &&\r\n \r\n
\r\n \r\n
\r\n }\r\n {props.isIndividual &&\r\n \r\n
\r\n \r\n
\r\n }\r\n \r\n
\r\n \r\n
\r\n {props.isIndividual &&\r\n \r\n
\r\n \r\n
\r\n }\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\nexport default TopInformationCard;","import dayjs from 'dayjs';\r\nimport React, { useEffect, useState } from 'react'\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport { ControlLabel, Form, FormControl, Schema, SelectPicker } from 'rsuite';\r\nimport credentialService from '../../../../../services/Internal/Credential/credential.service';\r\nimport { getCredStatus, getCredStatusReason } from '../../../../../services/Shared/codeTable.service';\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction LegacyCredentialForm(props) {\r\n const [formData, setFormData] = useState({});\r\n const [credStaus, setCredStaus] = useState([])\r\n const [credReason, setCredReason] = useState([])\r\n useEffect(() => {\r\n setFormData({\r\n ...props.credential,\r\n applicationDate: props.credential.applicationDate != null ? dayjs(props.credential.applicationDate).format('YYYY-MM-DD') : null,\r\n expirationDate: props.credential.expirationDate != null ? dayjs(props.credential.expirationDate).format('YYYY-MM-DD') : null,\r\n effectiveDate: props.credential.effectiveDate != null ? dayjs(props.credential.effectiveDate).format('YYYY-MM-DD') : null,\r\n firstIssuanceDate: props.credential.firstIssuanceDate != null ? dayjs(props.credential.firstIssuanceDate).format('YYYY-MM-DD') : null,\r\n dateMod: props.credential.dateMod != null ? dayjs(props.credential.dateMod).format('YYYY-MM-DD') : null,\r\n statusLabel: props.credential.status?.status,\r\n statusReasonLabel: props.credential.statusReason?.statusReason,\r\n status: props.credential.status,\r\n statusReason: props.credential.statusReason,\r\n });\r\n if (props.credential?.licenseTypePrefix == \"WG\") {\r\n getCredStatus().then((credentialStatuses) => {\r\n // 6 = Disapproved\r\n // 7 = Do Not Issue License\r\n // 9 = Lapsed Application\r\n var wgOnlyStatuses = credentialStatuses.filter((credentialStatus) => [6, 7, 9].includes(credentialStatus?.value?.id));\r\n setCredStaus(wgOnlyStatuses);\r\n });\r\n }\r\n else {\r\n getCredStatus().then(setCredStaus);\r\n }\r\n getCredStatusReason(props.credential.status?.id).then(setCredReason);\r\n }, [props.credential])\r\n\r\n const { ObjectType } = Schema.Types;\r\n const model = Schema.Model({\r\n statusReason: ObjectType().isRequired('This field is required.'),\r\n status: ObjectType().isRequired('This field is required.'),\r\n\r\n })\r\n\r\n const handleCredentialStatusChange = (val) => {\r\n setFormData({ ...formData, status: val, statusReason: null })\r\n getCredStatusReason(val?.id).then(setCredReason);\r\n }\r\n\r\n const submitForm = (validation, event) => {\r\n if (validation) {\r\n var dataToTransmit = {\r\n ...formData,\r\n expirationDate: formData.expirationDate == '' ? null : formData.expirationDate,\r\n effectiveDate: formData.effectiveDate == '' ? null : formData.effectiveDate,\r\n }\r\n if (formData.credentialType.prefix == \"TP\") {\r\n credentialService.updateTpCredential(dataToTransmit).then((response) => {\r\n props.saveSuccess(response.data)\r\n });\r\n }\r\n else if (formData.credentialType.prefix == \"CPD\") {\r\n credentialService.updateCpdCredential(dataToTransmit).then((response) => {\r\n props.saveSuccess(response.data)\r\n });\r\n }\r\n else if (formData.credentialType.prefix == \"WG\") {\r\n credentialService.updateWgCredential(dataToTransmit).then((response) => {\r\n props.saveSuccess(response.data)\r\n });\r\n }\r\n }\r\n }\r\n return (\r\n
\r\n \r\n \r\n Credential #\r\n \r\n \r\n \r\n Credential Status {props.editMode && }\r\n {props.editMode ?\r\n :\r\n \r\n }\r\n \r\n \r\n Credential Reason {props.editMode && }\r\n {props.editMode ?\r\n :\r\n \r\n }\r\n \r\n\r\n \r\n \r\n \r\n First Issuance Date\r\n \r\n \r\n \r\n Effective Date\r\n \r\n \r\n \r\n Expiration Date\r\n \r\n \r\n \r\n \r\n \r\n Application Date\r\n \r\n \r\n \r\n Application Type\r\n \r\n \r\n \r\n Licensed By\r\n \r\n \r\n \r\n \r\n \r\n Last Updated By\r\n \r\n \r\n \r\n Date of Last Activity\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default LegacyCredentialForm;","import dayjs from 'dayjs';\r\nimport React, { useState } from 'react'\r\nimport { useEffect } from 'react';\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport { ControlLabel, Form, FormControl, Schema, SelectPicker } from 'rsuite';\r\nimport credentialService from '../../../../services/Internal/Credential/credential.service';\r\nimport { getCredStatus, getCredStatusReason } from '../../../../services/Shared/codeTable.service';\r\nimport RedStar from '../../../Shared/GenericComponents/RedStar';\r\n\r\n\r\n\r\nfunction FirmCredentialForm(props) {\r\n const [formData, setFormData] = useState({});\r\n const [credStaus, setCredStaus] = useState([])\r\n const [credReason, setCredReason] = useState([])\r\n useEffect(() => {\r\n setFormData({\r\n ...props.credential,\r\n applicationDate: props.credential.applicationDate != null ? dayjs(props.credential.applicationDate).format('YYYY-MM-DD') : null,\r\n expirationDate: props.credential.expirationDate != null ? dayjs(props.credential.expirationDate).format('YYYY-MM-DD') : null,\r\n effectiveDate: props.credential.effectiveDate != null ? dayjs(props.credential.effectiveDate).format('YYYY-MM-DD') : null,\r\n reinstatementDate: props.credential.reinstatementDate != null ? dayjs(props.credential.reinstatementDate).format('YYYY-MM-DD') : null,\r\n firstIssuanceDate: props.credential.firstIssuanceDate != null ? dayjs(props.credential.firstIssuanceDate).format('YYYY-MM-DD') : null,\r\n certificateSentDate: props.credential.certificateSentDate != null ? dayjs(props.credential.certificateSentDate).format('YYYY-MM-DD') : null,\r\n dateMod: props.credential.dateMod != null ? dayjs(props.credential.dateMod).format('YYYY-MM-DD') : null,\r\n statusReasonLabel: props.credential.statusReason?.statusReason,\r\n statusLabel: props.credential.status?.status,\r\n status: props.credential.status,\r\n statusReason: props.credential.statusReason,\r\n\r\n });\r\n\r\n getCredStatus().then(setCredStaus);\r\n getCredStatusReason(props.credential.status?.id).then(setCredReason);\r\n }, [props.credential])\r\n\r\n const { ObjectType } = Schema.Types;\r\n const model = Schema.Model({\r\n statusReason: ObjectType().isRequired('This field is required.'),\r\n status: ObjectType().isRequired('This field is required.'),\r\n\r\n })\r\n\r\n const handleCredentialStatusChange = (val) => {\r\n setFormData({ ...formData, status: val, statusReason: null })\r\n getCredStatusReason(val?.id).then(setCredReason);\r\n }\r\n\r\n const submitForm = (validation, event) => {\r\n if (validation) {\r\n var dataToTransmit = {\r\n ...formData,\r\n expirationDate: formData.expirationDate == '' ? null : formData.expirationDate,\r\n certificateSentDate: formData.certificateSentDate == '' ? null : formData.certificateSentDate,\r\n effectiveDate: formData.effectiveDate == '' ? null : formData.effectiveDate,\r\n reinstatementDate: formData.reinstatementDate == '' ? null : formData.reinstatementDate,\r\n }\r\n switch (formData.licenseTypePrefix) {\r\n case 'VF':\r\n credentialService.updateVfCredential(dataToTransmit).then((response) => {\r\n props.saveSuccess(response.data)\r\n if (dataToTransmit.status.id != 1) {\r\n props.updateSupervisedCardCallback()\r\n }\r\n });\r\n break;\r\n case 'EF':\r\n credentialService.updateEfCredential(dataToTransmit).then((response) => {\r\n props.saveSuccess(response.data)\r\n if (dataToTransmit.status.id != 1) {\r\n props.updateSupervisedCardCallback()\r\n }\r\n })\r\n default:\r\n }\r\n\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n Credential #\r\n \r\n \r\n \r\n Credential Status {props.editMode && }\r\n {props.editMode ?\r\n :\r\n \r\n }\r\n \r\n \r\n Credential Reason {props.editMode && }\r\n {props.editMode ?\r\n :\r\n \r\n }\r\n \r\n\r\n\r\n \r\n \r\n \r\n First Issuance Date\r\n \r\n \r\n\r\n \r\n Effective Date\r\n \r\n \r\n \r\n Expiration Date\r\n \r\n \r\n \r\n \r\n \r\n Application Date\r\n \r\n \r\n \r\n Application Type\r\n \r\n \r\n \r\n Reinstatement Date\r\n \r\n \r\n \r\n \r\n \r\n Licensed By\r\n \r\n \r\n \r\n Last Updated By\r\n \r\n \r\n \r\n Date of Last Activity\r\n \r\n \r\n \r\n \r\n \r\n Certificate Sent Date\r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default FirmCredentialForm;","import React from 'react'\r\nimport { Button, Col, Modal, Row } from 'react-bootstrap';\r\nimport Swal from 'sweetalert2';\r\nimport credentialService from '../../../../services/Internal/Credential/credential.service';\r\nimport LegacyCredentialForm from '../Shared/Credential/LegacyCredentialForm';\r\nimport FirmCredentialForm from './FirmCredentialForm';\r\n\r\nfunction EditFirmCredential(props) {\r\n const saveSuccess = (updatedCred) => {\r\n props.updateCardData();\r\n var statusReasonIds = [9, 12, 13, 15];\r\n if ((props.credential?.status?.id != updatedCred.status?.id || props.credential?.statusReason?.id != updatedCred.statusReason?.id) &&\r\n updatedCred.status?.id == 3 && statusReasonIds.includes(updatedCred.statusReason.id)) {\r\n var expirationDate = new Date(updatedCred.expirationDate);\r\n var nextReinstatementDate = new Date();\r\n nextReinstatementDate.setDate(expirationDate.getDate() + 1);\r\n Swal.fire('Success!', `Firm credential has been successfully updated. The new expiration date is ${expirationDate.toLocaleDateString()}, and the firm may apply to reinstate starting ${nextReinstatementDate.toLocaleDateString()}.`, 'success');\r\n }\r\n else\r\n Swal.fire('Success!', 'Firm credential has been successfully updated.', 'success');\r\n props.updateCommentCardCallback();\r\n props.onHide();\r\n }\r\n\r\n const generateLicense = () => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"Do you want to generate a license for this credential?\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n credentialService.activatefirmpendingcredential(props.credential?.id).then((response) => {\r\n if (response.data) {\r\n props.updateCardData();\r\n Swal.fire('Success!', 'Firm credential has been successfully updated.', 'success');\r\n props.onHide();\r\n }\r\n })\r\n }\r\n })\r\n\r\n }\r\n\r\n return (\r\n \r\n

Credential Information ({props.credential?.licenseTypePrefix})

\r\n
\r\n \r\n {\r\n props.credential?.licenseTypePrefix == \"WG\" ?\r\n \r\n : props.credential?.licenseTypePrefix == \"CPD\" ?\r\n \r\n : \r\n }\r\n \r\n \r\n
\r\n {\r\n props.credential?.status?.id == 8 && props.credential?.statusReason?.id == 25 &&\r\n \r\n }\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default EditFirmCredential;","import dayjs from 'dayjs';\r\nimport React, { useState } from 'react'\r\nimport { useEffect } from 'react';\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport { ControlLabel, Form, FormControl, Schema, SelectPicker } from 'rsuite';\r\nimport credentialService from '../../../../services/Internal/Credential/credential.service';\r\nimport { getCredStatus, getCredStatusReason } from '../../../../services/Shared/codeTable.service';\r\nimport RedStar from '../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction LegacyWgCredentialForm(props) {\r\n const [formData, setFormData] = useState({\r\n entityId: props.entityId,\r\n status: \"\",\r\n statusReason: \"\",\r\n firstIssuanceDate: null,\r\n effectiveDate: null,\r\n expirationDate: null,\r\n applicationDate: null,\r\n applicationType: \"Waiver Granted\",\r\n reinstatementDate: null,\r\n approvedBy: \"\",\r\n userMod: \"\",\r\n dateMod: null\r\n });\r\n const [credStatus, setCredStatus] = useState([])\r\n const [credReason, setCredReason] = useState([])\r\n useEffect(() => {\r\n getCredStatus().then((credentialStatuses) => {\r\n // 6 = Disapproved\r\n // 7 = Do Not Issue License\r\n // 9 = Lapsed Application\r\n var wgOnlyStatuses = credentialStatuses.filter((credentialStatus) => [6, 7, 9].includes(credentialStatus?.value?.id));\r\n setCredStatus(wgOnlyStatuses);\r\n });\r\n }, [])\r\n\r\n const { ObjectType } = Schema.Types;\r\n const model = Schema.Model({\r\n statusReason: ObjectType().isRequired('This field is required.'),\r\n status: ObjectType().isRequired('This field is required.'),\r\n\r\n })\r\n\r\n const handleCredentialStatusChange = (val) => {\r\n setFormData({ ...formData, status: val, statusReason: null })\r\n getCredStatusReason(val?.id).then(setCredReason);\r\n }\r\n\r\n const submitForm = (validation, event) => {\r\n if (validation) {\r\n var dataToTransmit = {\r\n ...formData\r\n }\r\n credentialService.createLegacyWgCredential(dataToTransmit).then((response) => {\r\n props.saveSuccess(response.data);\r\n });\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n Credential Status \r\n \r\n \r\n \r\n Credential Reason \r\n \r\n \r\n \r\n \r\n \r\n First Issuance Date\r\n \r\n \r\n\r\n \r\n Effective Date\r\n \r\n \r\n \r\n Application Date\r\n \r\n \r\n \r\n \r\n \r\n Application Type\r\n \r\n \r\n \r\n Licensed By\r\n \r\n \r\n \r\n Date of Last Activity\r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default LegacyWgCredentialForm;","import React from 'react'\r\nimport { Button, Col, Modal, Row } from 'react-bootstrap';\r\nimport Swal from 'sweetalert2';\r\nimport LegacyWgCredentialForm from './LegacyWgCredentialForm';\r\n\r\nfunction LegacyFirmCredentialModal(props) {\r\n const saveSuccess = (updatedCred) => {\r\n props.updateCardData();\r\n Swal.fire('Success!', 'Legacy WG credential has been successfully created.', 'success');\r\n props.hideLegacyModal();\r\n }\r\n\r\n return (\r\n \r\n

Credential Information (WG)

\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default LegacyFirmCredentialModal;","import React, { useState, useEffect } from 'react';\r\nimport { Card, Row, Col, Button, Tabs, Tab } from 'react-bootstrap'\r\nimport { FaEdit, FaIdCardAlt, FaPlus } from 'react-icons/fa';\r\nimport credentialService from '../../../../services/Internal/Credential/credential.service';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\nimport CredentialHistoryTable from '../Shared/CredentialHistoryTable';\r\nimport LegacyCredentialForm from '../Shared/Credential/LegacyCredentialForm';\r\nimport EditFirmCredential from './EditFirmCredentialModal';\r\nimport FirmCredentialForm from './FirmCredentialForm';\r\nimport LegacyFirmCredentialModal from './LegacyFirmCredentialModal';\r\n\r\nfunction CredentialCard(props) {\r\n const [data, setData] = useState({})\r\n const [selectedTab, setSelectedTab] = useState(0);\r\n const [modalData, setModalData] = useState();\r\n const [modalShow, setModalShow] = useState();\r\n const [legacyModalShow, setLegacyModalShow] = useState();\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [hasPending, setHasPending] = useState(false);\r\n\r\n useEffect(() => {\r\n updateCardData();\r\n }, [])\r\n\r\n const updateCardData = () => {\r\n setHasLoaded(false);\r\n credentialService.checkHasPending(props.entityId).then((result) => {\r\n setHasPending(result.data);\r\n credentialService.getFirmCredentialInfo(props.entityId).then((response) => {\r\n if (response.data.length > 0) {\r\n setData(response.data);\r\n if (selectedTab == 0 && !result.data)\r\n setSelectedTab(response.data[0].id);\r\n }\r\n setHasLoaded(true);\r\n })\r\n })\r\n }\r\n\r\n const onEditCard = () => {\r\n setModalData(data.find(x => x.id == selectedTab));\r\n setModalShow(true);\r\n }\r\n return (\r\n \r\n \r\n \r\n CREDENTIAL\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n {hasLoaded && data.length > 0 ?\r\n <>\r\n { setModalShow(false) }}\r\n credential={modalData}\r\n updateCardData={updateCardData}\r\n updateSupervisedCardCallback={props.updateSupervisedCardCallback}\r\n updateCommentCardCallback={props.updateCommentCardCallback}\r\n />\r\n \r\n {hasPending &&\r\n

Application History


\r\n }\r\n {\r\n data.map((item, index) => {\r\n return (\r\n
\r\n
\r\n {\r\n <>\r\n {\r\n item?.licenseTypePrefix == \"WG\" ?\r\n \r\n : item?.licenseTypePrefix == \"CPD\" ?\r\n \r\n : \r\n }\r\n
\r\n
\r\n

{item?.licenseTypePrefix} History

\r\n \r\n \r\n }\r\n
)\r\n })\r\n\r\n }\r\n
\r\n : hasLoaded ? <>\r\n \r\n
\r\n {!hasPending && }\r\n

Application History

\r\n

\r\n \r\n : \r\n }\r\n
\r\n {data.length > 0 &&\r\n \r\n \r\n \r\n }\r\n
\r\n )\r\n}\r\n\r\n\r\nexport default CredentialCard;","import dayjs from 'dayjs';\r\nimport React, { useEffect, useState } from 'react'\r\nimport { Button, Col, Modal, Row } from 'react-bootstrap'\r\nimport NumberFormat from 'react-number-format';\r\nimport { ControlLabel, Form, FormControl, FormGroup, InputPicker, Schema, SelectPicker } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport credentialService from '../../../../services/Internal/Credential/credential.service';\r\nimport { emailPhonePrivacy, getCountries, getFirmTypes, getStates, journalDropdown, subscribeDropdown } from '../../../../services/Shared/codeTable.service';\r\nimport MailingAddress from '../../../Shared/Card/Contact/MailingAddress';\r\nimport Address from '../../../Shared/GenericComponents/Address';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\nimport PhoneNumberMask from '../../../Shared/GenericComponents/PhoneNumberMask';\r\nimport RedStar from '../../../Shared/GenericComponents/RedStar';\r\n\r\n\r\nconst InputMask = ({ onChange, ...rest }) => {\r\n return (\r\n {\r\n onChange(event.target.value);\r\n }}\r\n />\r\n );\r\n};\r\n\r\nfunction EditFirmGeneralInformation(props) {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [data, setData] = useState({});\r\n const [genInfoFormData, setGenInfoFormData] = useState({});\r\n const [genInfoFormDataCache, setGenInfoFormDataCache] = useState({});\r\n const [countries, setCountries] = useState([])\r\n const [states, setStates] = useState([])\r\n const [firmTypes, setFirmTypes] = useState([]);\r\n const [showErrors, setShowErrors] = useState(false);\r\n\r\n useEffect(() => {\r\n credentialService.getFirmGeneralInfo(props.entityId).then((response) => {\r\n setData(response.data);\r\n getCountries().then(setCountries);\r\n getStates().then(setStates);\r\n getFirmTypes().then(setFirmTypes);\r\n setGenInfoFormData({\r\n firmName: response.data.name,\r\n lolaNumber: response.data.lolaNumber,\r\n mailingAddressStreet: response.data.mailingAddress?.streetAddress,\r\n mailingAddressCity: response.data.mailingAddress?.city,\r\n mailingAddressState: response.data.mailingAddress?.state,\r\n mailingAddressStateProvidence: response.data.mailingAddress?.provinceRegion,\r\n mailingAddressPostalCode: response.data.mailingAddress?.postalCode,\r\n mailingAddressCountry: response.data.mailingAddress?.country,\r\n publicAddressStreet: response.data.publicAddress?.streetAddress,\r\n publicAddressCity: response.data.publicAddress?.city,\r\n publicAddressState: response.data.publicAddress?.state,\r\n publicAddressStateProvidence: response.data.publicAddress?.provinceRegion,\r\n publicAddressPostalCode: response.data.publicAddress?.postalCode,\r\n publicAddressCountry: response.data.publicAddress?.country,\r\n userId: response.data.userName,\r\n federalId: response.data.federalId,\r\n companyEmail: response.data.primaryEmailAddress?.contactEmailAddress,\r\n businessPhone: response.data.phone?.contactPhoneNumber?.toString(),\r\n companyWebsite: response.data.url,\r\n contactName: response.data.contactName,\r\n firmType: response.data.organizationType ? { id: response.data.organizationType?.id, code: response.data.organizationType?.organizationType } : null,\r\n domicileFirmState: response.data.domicileState,\r\n dateFormed: response.data.dateOfFormation != null ? dayjs(response.data.dateOfFormation).format('YYYY-MM-DD') : null,\r\n amountDue: response.data.amountDue.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n }),\r\n servicesDesc: response.data.additionalInformation,\r\n journalSubscription: response.data.journalSubscription,\r\n pressReleases: response.data.pressReleases,\r\n webinar: response.data.webinar,\r\n emailPhonePrivacy: response.data.emailPhonePrivacy,\r\n\r\n })\r\n setGenInfoFormDataCache({\r\n firmName: response.data.name,\r\n lolaNumber: response.data.lolaNumber,\r\n mailingAddressStreet: response.data.mailingAddress?.streetAddress,\r\n mailingAddressCity: response.data.mailingAddress?.city,\r\n mailingAddressState: response.data.mailingAddress?.state,\r\n mailingAddressStateProvidence: response.data.mailingAddress?.provinceRegion,\r\n mailingAddressPostalCode: response.data.mailingAddress?.postalCode,\r\n mailingAddressCountry: response.data.mailingAddress?.country,\r\n publicAddressStreet: response.data.publicAddress?.streetAddress,\r\n publicAddressCity: response.data.publicAddress?.city,\r\n publicAddressState: response.data.publicAddress?.state,\r\n publicAddressStateProvidence: response.data.publicAddress?.provinceRegion,\r\n publicAddressPostalCode: response.data.publicAddress?.postalCode,\r\n publicAddressCountry: response.data.publicAddress?.country,\r\n userId: response.data.userName,\r\n federalId: response.data.federalId,\r\n companyEmail: response.data.primaryEmailAddress?.contactEmailAddress,\r\n businessPhone: response.data.phone?.contactPhoneNumber?.toString(),\r\n companyWebsite: response.data.url,\r\n contactName: response.data.contactName,\r\n firmType: response.data.organizationType ? { id: response.data.organizationType?.id, code: response.data.organizationType?.organizationType } : null,\r\n domicileFirmState: response.data.domicileState,\r\n dateFormed: response.data.dateOfFormation != null ? dayjs(response.data.dateOfFormation).format('YYYY-MM-DD') : null,\r\n amountDue: response.data.amountDue.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n }),\r\n servicesDesc: response.data.additionalInformation,\r\n journalSubscription: response.data.journalSubscription,\r\n pressReleases: response.data.pressReleases,\r\n webinar: response.data.webinar,\r\n emailPhonePrivacy: response.data.emailPhonePrivacy,\r\n\r\n })\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n\r\n const { StringType, ObjectType, NumberType } = Schema.Types;\r\n const validationModel = Schema.Model({\r\n firmName: StringType().isRequired('This field is required.'),\r\n //mailingAddressStreet: StringType().isRequired('This field is required.'),\r\n //mailingAddressCity: StringType().isRequired('This field is required.'),\r\n //mailingAddressState: ObjectType().isRequired('This field is required.'),\r\n //mailingAddressStateProvidence: StringType().isRequired('This field is required.'),\r\n //mailingAddressPostalCode: StringType().isRequired('This field is required.'),\r\n //mailingAddressCountry: ObjectType().isRequired('This field is required.'),\r\n //publicAddressStreet: StringType().isRequired('This field is required.'),\r\n //publicAddressCity: StringType().isRequired('This field is required.'),\r\n //publicAddressState: ObjectType().isRequired('This field is required.'),\r\n //publicAddressStateProvidence: StringType().isRequired('This field is required.'),\r\n //publicAddressPostalCode: StringType().isRequired('This field is required.'),\r\n //publicAddressCountry: ObjectType().isRequired('This field is required.'),\r\n businessPhone: NumberType().pattern(/^[0-9]{10,15}/, \"Please enter a valid Phone Number\"),\r\n userId: StringType().isRequired('This field is required.'),\r\n federalId: StringType().pattern(/^([0-9]{2}[-][0-9]{7})/, \"Please enter a valid FEIN\"),//.isRequired('This field is required.').pattern(/^([0-9]{2}[-][0-9]{7})/, \"Please enter a valid FEIN\"),\r\n //companyEmail: StringType().isRequired('This field is required.'),\r\n //contactName: StringType().isRequired('This field is required.'),\r\n //firmType: ObjectType().isRequired('This field is required.'),\r\n //domicileFirmState: ObjectType().isRequired('This field is required.'),\r\n //dateFormed: StringType().isRequired('This field is required.'),\r\n //servicesDesc: StringType().isRequired('This field is required.'),\r\n businessPhone: StringType().pattern(/^([(]\\d{3}[)][ ]\\d{3}[-]\\d{4})|[0-9]{10}/, \"Please enter a valid Phone Number\")//.isRequired('This field is required.').pattern(/^([(]\\d{3}[)][ ]\\d{3}[-]\\d{4})|[0-9]{10}/, \"Please enter a valid Phone Number\"),\r\n })\r\n\r\n const inputHasError = (cacheInputVal, formInputVal) => {\r\n if ((cacheInputVal && cacheInputVal.length !== 0) && (!formInputVal || formInputVal.length === 0))\r\n return true;\r\n return false;\r\n }\r\n\r\n const conditionalValidation = () => {\r\n var hasErrors = false;\r\n if (inputHasError(genInfoFormDataCache.mailingAddressStreet, genInfoFormData.mailingAddressStreet) ||\r\n inputHasError(genInfoFormDataCache.mailingAddressCity, genInfoFormData.mailingAddressCity) ||\r\n inputHasError(genInfoFormDataCache.mailingAddressState, genInfoFormData.mailingAddressState) ||\r\n inputHasError(genInfoFormDataCache.mailingAddressStateProvidence, genInfoFormData.mailingAddressStateProvidence) ||\r\n inputHasError(genInfoFormDataCache.mailingAddressPostalCode, genInfoFormData.mailingAddressPostalCode) ||\r\n inputHasError(genInfoFormDataCache.mailingAddressCountry, genInfoFormData.mailingAddressCountry) ||\r\n inputHasError(genInfoFormDataCache.publicAddressStreet, genInfoFormData.publicAddressStreet) ||\r\n inputHasError(genInfoFormDataCache.publicAddressCity, genInfoFormData.publicAddressCity) ||\r\n inputHasError(genInfoFormDataCache.publicAddressState, genInfoFormData.publicAddressState) ||\r\n inputHasError(genInfoFormDataCache.publicAddressStateProvidence, genInfoFormData.publicAddressStateProvidence) ||\r\n inputHasError(genInfoFormDataCache.publicAddressPostalCode, genInfoFormData.publicAddressPostalCode) ||\r\n inputHasError(genInfoFormDataCache.publicAddressCountry, genInfoFormData.publicAddressCountry) ||\r\n\r\n inputHasError(genInfoFormDataCache.companyEmail, genInfoFormData.companyEmail) ||\r\n inputHasError(genInfoFormDataCache.contactName, genInfoFormData.contactName) ||\r\n inputHasError(genInfoFormDataCache.firmType, genInfoFormData.firmType) ||\r\n inputHasError(genInfoFormDataCache.domicileFirmState, genInfoFormData.domicileFirmState) ||\r\n inputHasError(genInfoFormDataCache.dateFormed, genInfoFormData.dateFormed) ||\r\n inputHasError(genInfoFormDataCache.servicesDesc, genInfoFormData.servicesDesc))\r\n hasErrors = true;\r\n\r\n if ((genInfoFormData.mailingAddressCountry?.country === \"United States\" && inputHasError(genInfoFormDataCache.mailingAddressState, genInfoFormData.mailingAddressState)) ||\r\n (genInfoFormData.mailingAddressCountry?.country !== \"United States\") && inputHasError(genInfoFormDataCache.mailingAddressStateProvidence, genInfoFormData.mailingAddressStateProvidence) ||\r\n (genInfoFormData.publicAddressCountry?.country !== \"United States\") && inputHasError(genInfoFormDataCache.publicAddressState, genInfoFormData.publicAddressState) ||\r\n (genInfoFormData.publicAddressCountry?.country !== \"United States\") && inputHasError(genInfoFormDataCache.publicAddressStateProvidence, genInfoFormData.publicAddressStateProvidence))\r\n hasErrors = true;\r\n return hasErrors;\r\n }\r\n\r\n const submitModal = (validation, event) => {\r\n var validationObject = validationModel.check(genInfoFormData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n if (key == \"publicAddressStateProvidence\" || key == \"publicAddressState\") {\r\n if (!(key == \"publicAddressStateProvidence\" && genInfoFormData.publicAddressCountry?.country === \"United States\") &&\r\n !(key == \"publicAddressState\" && genInfoFormData.publicAddressCountry?.country !== \"United States\")) {\r\n return;\r\n }\r\n }\r\n else if (key == \"mailingAddressStateProvidence\" || key == \"mailingAddressState\") {\r\n if (!(key == \"mailingAddressStateProvidence\" && genInfoFormData.mailingAddressCountry?.country === \"United States\") &&\r\n !(key == \"mailingAddressState\" && genInfoFormData.mailingAddressCountry?.country !== \"United States\")) {\r\n return;\r\n }\r\n }\r\n else if (key == \"userId\" && !data.userName) {\r\n continue;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n }\r\n if (conditionalValidation())\r\n {\r\n setShowErrors(true);\r\n return;\r\n }\r\n \r\n var dataToTransmit = {\r\n ...data,\r\n name: genInfoFormData.firmName,\r\n lolaNumber: genInfoFormData.lolaNumber,\r\n mailingAddress: {\r\n ...data.mailingAddress,\r\n state: genInfoFormData.mailingAddressState,\r\n country: genInfoFormData.mailingAddressCountry,\r\n city: genInfoFormData.mailingAddressCity,\r\n postalCode: genInfoFormData.mailingAddressPostalCode,\r\n streetAddress: genInfoFormData.mailingAddressStreet,\r\n provinceRegion: genInfoFormData.mailingAddressStateProvidence\r\n },\r\n publicAddress: {\r\n ...data.publicAddress,\r\n state: genInfoFormData.publicAddressState,\r\n country: genInfoFormData.publicAddressCountry,\r\n city: genInfoFormData.publicAddressCity,\r\n postalCode: genInfoFormData.publicAddressPostalCode,\r\n streetAddress: genInfoFormData.publicAddressStreet,\r\n provinceRegion: genInfoFormData.publicAddressStateProvidence\r\n },\r\n userName: genInfoFormData.userId,\r\n federalId: genInfoFormData.federalId,\r\n primaryEmailAddress: {\r\n ...data.primaryEmailAddress,\r\n contactEmailAddress: genInfoFormData.companyEmail\r\n },\r\n phone: {\r\n ...data.phone,\r\n contactPhoneNumber: genInfoFormData.businessPhone == '' ? null : genInfoFormData.businessPhone\r\n },\r\n url: genInfoFormData.companyWebsite,\r\n contactName: genInfoFormData.contactName,\r\n organizationType: {\r\n id: genInfoFormData.firmType?.id,\r\n organizationType: genInfoFormData.firmType?.code\r\n },\r\n domicileState: genInfoFormData.domicileFirmState,\r\n dateOfFormation: genInfoFormData.dateFormed != null ? new Date(genInfoFormData.dateFormed) : null,\r\n additionalInformation: genInfoFormData.servicesDesc,\r\n journalSubscription: genInfoFormData.journalSubscription,\r\n pressReleases: genInfoFormData.pressReleases,\r\n webinar: genInfoFormData.webinar,\r\n emailPhonePrivacy: genInfoFormData.emailPhonePrivacy,\r\n }\r\n\r\n credentialService.postFirmGeneralInfo(dataToTransmit).then((response) => {\r\n props.onHide();\r\n props.saveDataCallback();\r\n }).catch((reason) => {\r\n if (reason.response.status == 400)\r\n Swal.fire(\"Error!\", reason.response.data, 'error');\r\n else\r\n Swal.fire(\"Error!\", 'An error occured. Please try again.', 'error');\r\n })\r\n }\r\n return (\r\n \r\n \r\n

General Information

\r\n
\r\n \r\n {\r\n hasLoaded ?\r\n <>\r\n
\r\n \r\n \r\n \r\n \r\n Firm Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n LOLA #\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
Mailing Address
\r\n
\r\n \r\n \r\n Country \r\n \r\n \r\n \r\n \r\n Address \r\n \r\n \r\n \r\n City \r\n \r\n \r\n {\r\n genInfoFormData.mailingAddressCountry?.country === \"United States\" &&\r\n <>\r\n \r\n State \r\n \r\n { if (label.toLowerCase().startsWith(userInput.toLowerCase()) || !userInput) return true; }}\r\n errorMessage={(inputHasError(genInfoFormDataCache.mailingAddressState,genInfoFormData.mailingAddressState) && showErrors) ? \"This field is required\" : null}\r\n />\r\n \r\n }\r\n {\r\n genInfoFormData.mailingAddressCountry?.country !== \"United States\" &&\r\n <>\r\n \r\n State/Province/Region \r\n \r\n \r\n \r\n }\r\n \r\n Zip/Postal Code \r\n \r\n \r\n \r\n \r\n
Public Address
\r\n
\r\n \r\n \r\n Country \r\n \r\n \r\n \r\n \r\n Address \r\n \r\n \r\n \r\n City \r\n \r\n \r\n {\r\n genInfoFormData.publicAddressCountry?.country === \"United States\" &&\r\n <>\r\n \r\n State \r\n \r\n { if (label.toLowerCase().startsWith(userInput.toLowerCase()) || !userInput) return true; }}\r\n errorMessage={(inputHasError(genInfoFormDataCache.publicAddressState, genInfoFormData.publicAddressState) && showErrors) ? \"This field is required\" : null}\r\n />\r\n \r\n }\r\n {\r\n genInfoFormData.publicAddressCountry?.country !== \"United States\" &&\r\n <>\r\n \r\n State/Province/Region \r\n \r\n \r\n \r\n }\r\n \r\n Zip/Postal Code \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {\r\n !data.userName ?\r\n \r\n UserId\r\n \r\n :\r\n \r\n UserId\r\n \r\n \r\n }\r\n \r\n FEIN\r\n \r\n \r\n \r\n Company Email\r\n \r\n \r\n \r\n \r\n \r\n Business Phone \r\n \r\n \r\n \r\n Company Website\r\n \r\n \r\n \r\n Contact Person\r\n \r\n \r\n \r\n \r\n \r\n Firm Type\r\n \r\n \r\n \r\n Domicile Firm State\r\n { if (label.toLowerCase().startsWith(userInput.toLowerCase()) || !userInput) return true; }}\r\n errorMessage={(inputHasError(genInfoFormDataCache.domicileFirmState, genInfoFormData.domicileFirmState) && showErrors) ? \"This field is required\" : null}\r\n />\r\n\r\n \r\n \r\n Date Formed/Incorporated\r\n \r\n \r\n \r\n \r\n \r\n Amount Due\r\n \r\n \r\n Email/Phone Privacy\r\n \r\n \r\n \r\n \r\n \r\n \r\n Brief description of Services to be provided by the firm in Louisiana \r\n \r\n\r\n \r\n
\r\n\r\n \r\n \r\n Journal\r\n\r\n \r\n \r\n \r\n Press Releases\r\n \r\n \r\n \r\n Webinar\r\n \r\n \r\n \r\n
\r\n : \r\n }\r\n
\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\nexport default EditFirmGeneralInformation;","import React, { useState, useEffect } from 'react';\r\nimport { Card, Row, Col, Button } from 'react-bootstrap'\r\nimport { FaBuilding, FaEdit } from 'react-icons/fa';\r\nimport { ControlLabel, Form, FormControl, InputPicker, SelectPicker } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport credentialService from '../../../../services/Internal/Credential/credential.service';\r\nimport { emailPhonePrivacy, journalDropdown, subscribeDropdown } from '../../../../services/Shared/codeTable.service';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\nimport PhoneNumberMask from '../../../Shared/GenericComponents/PhoneNumberMask';\r\nimport EditFirmGeneralInformation from './EditFirmGeneralInformationModal';\r\n\r\nfunction GeneralInfoCard(props) {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [showModal, setShowModal] = useState(false);\r\n const [data, setData] = useState({});\r\n const [genInfoFormData, setGenInfoFormData] = useState({});\r\n\r\n useEffect(() => {\r\n updateCard();\r\n }, [])\r\n\r\n const updateCard = () => {\r\n setHasLoaded(false);\r\n credentialService.getFirmGeneralInfo(props.entityId).then((response) => {\r\n setData(response.data);\r\n setGenInfoFormData({\r\n userId: response.data.userName,\r\n federalId: response.data.federalId,\r\n companyEmail: response.data.primaryEmailAddress?.contactEmailAddress,\r\n businessPhone: response.data.phone?.contactPhoneNumber,\r\n companyWebsite: response.data.url,\r\n contactName: response.data.contactName,\r\n firmType: response.data.organizationType?.organizationType,\r\n domicileFirmState: response.data.domicileState?.state,\r\n dateFormed: response.data.dateOfFormation ? new Date(response.data.dateOfFormation).toLocaleDateString() : null,\r\n amountDue: response.data.amountDue.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n }),\r\n servicesDesc: response.data.additionalInformation,\r\n journalSubscription: response.data.journalSubscription,\r\n pressReleases: response.data.pressReleases,\r\n webinar: response.data.webinar,\r\n emailPhonePrivacy: response.data.emailPhonePrivacy,\r\n })\r\n setHasLoaded(true);\r\n })\r\n }\r\n const saveGenInfo = () => {\r\n updateCard();\r\n Swal.fire('Success!', \"You have successfully updated this firm's general information.\", 'success');\r\n }\r\n const setAddress = (address) => {\r\n if (address?.streetAddress) {\r\n var addresses = address.streetAddress.split(\"\\n\").filter(x => (x != \"\") && (x != \"\\r\"));\r\n return (\r\n addresses.map((addressComponents) => {\r\n return (<>{addressComponents}
);\r\n })\r\n );\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n setShowModal(false)} entityId={props.entityId} />\r\n \r\n \r\n \r\n GENERAL\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n {\r\n hasLoaded ?\r\n <>\r\n
\r\n

{data.name}

\r\n LOLA #
\r\n {data.lolaNumber}\r\n
\r\n
Address Information
\r\n
\r\n \r\n \r\n \r\n Mailing Address\r\n \r\n {setAddress(data.mailingAddress)}\r\n {data.mailingAddress?.country?.country == 'United States' ?\r\n {data.mailingAddress?.city}, {data.mailingAddress?.state?.code} {data.mailingAddress?.postalCode} :\r\n {data.mailingAddress?.city}, {data.mailingAddress?.provinceRegion} {data.mailingAddress?.postalCode} }\r\n
\r\n {data.mailingAddress?.country?.country}
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n Public Address\r\n \r\n {setAddress(data.publicAddress)}\r\n {data.publicAddress?.country?.country == 'United States' ?\r\n {data.publicAddress?.city}, {data.publicAddress?.state?.code} {data.publicAddress?.postalCode} :\r\n {data.publicAddress?.city}, {data.publicAddress?.provinceRegion} {data.publicAddress?.postalCode} }\r\n
\r\n {data.publicAddress?.country?.country}
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n UserId\r\n \r\n \r\n \r\n FEIN\r\n \r\n \r\n \r\n Company Email\r\n {genInfoFormData.companyEmail ? : }\r\n \r\n \r\n \r\n \r\n \r\n Business Phone\r\n \r\n \r\n \r\n Company Website\r\n {genInfoFormData.companyWebsite ? : }\r\n \r\n \r\n Contact Name\r\n \r\n \r\n \r\n \r\n \r\n Firm Type\r\n \r\n \r\n \r\n Domicile Firm State\r\n \r\n \r\n \r\n Date Formed/Incorporated\r\n \r\n \r\n \r\n \r\n \r\n Amount Due\r\n \r\n \r\n Email/Phone Privacy\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Brief description of Services to be provided by the firm in Louisiana\r\n \r\n\r\n \r\n
\r\n \r\n \r\n Journal\r\n \r\n \r\n \r\n Press Releases\r\n \r\n \r\n \r\n Webinar\r\n \r\n \r\n \r\n
\r\n : \r\n }\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n )\r\n}\r\n\r\n\r\nexport default GeneralInfoCard;","import { useState, useEffect } from 'react'\r\nimport { Button, Card, Col, Modal, Row } from 'react-bootstrap'\r\nimport React from 'react'\r\nimport { ControlLabel, Schema, Form, FormControl, FormGroup, InputPicker, Icon } from 'rsuite'\r\nimport YesNoRadioOption from '../../../Shared/RadioButton/YesNoRadioOption';\r\nimport { getIndividualCredentialsInternal, getIndividualCredentialsOnEdit } from '../../../../services/Shared/codeTable.service'\r\nimport RedStar from '../../../Shared/GenericComponents/RedStar';\r\nimport supervisingProfessionalService from '../../../../services/supervisingProfessional.service';\r\nimport Swal from 'sweetalert2';\r\n\r\nfunction EditSupervisedByModal(props) {\r\n const [individualCreds, setIndividualCreds] = useState();\r\n const [individualCredLoading, setIndividualCredLoading] = useState(false);\r\n const [supervisingProfessionalModel, setSupervisingProfessionalModel] = useState({\r\n selectedValue: \"\",\r\n isOwner: \"\",\r\n firmEntityId: 0\r\n })\r\n useEffect(() => {\r\n if (props.modaldata.professionalCredentialId) {\r\n getIndividualCredentialsOnEdit(props.modaldata.professionalFormattedLicenseNumber).then((response) => {\r\n if (response) {\r\n setIndividualCreds(response);\r\n setSupervisingProfessionalModel({ ...props.modaldata, selectedValue: response.value })\r\n }\r\n else {\r\n\r\n }\r\n })\r\n }\r\n else {\r\n setSupervisingProfessionalModel(props.modaldata);\r\n }\r\n }, [props.modaldata])\r\n\r\n const { ObjectType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n selectedValue: ObjectType().isRequired('This field is required.'),\r\n isOwner: BooleanType().isRequired('This field is required.'),\r\n })\r\n const formSubmit = (val, event) => {\r\n if (val) {\r\n if (supervisingProfessionalModel.modalType == \"Edit\") {\r\n supervisingProfessionalService.postFirmSupervisingProfessionalInternal(supervisingProfessionalModel.id, supervisingProfessionalModel.isOwner).then((response) => {\r\n if (response.data) {\r\n props.onHide();\r\n setSupervisingProfessionalModel({\r\n selectedValue: \"\",\r\n isOwner: \"\",\r\n firmEntityId: 0\r\n });\r\n }\r\n }).catch((error) => { if (error?.response?.data) { Swal.fire(\"Error!\", error?.response?.data, 'error') } });\r\n }\r\n else if (supervisingProfessionalModel.modalType == \"Add\") {\r\n supervisingProfessionalService.createFirmSupervisingProfessionalInternal(supervisingProfessionalModel.firmEntityId, supervisingProfessionalModel.isOwner, supervisingProfessionalModel.selectedValue.formattedLicenseNumber).then((response) => {\r\n if (response.data) {\r\n props.onHide();\r\n setSupervisingProfessionalModel({\r\n selectedValue: \"\",\r\n isOwner: \"\",\r\n firmEntityId: 0\r\n });\r\n }\r\n }).catch((error) => { if (error?.response?.data) { Swal.fire(\"Error!\", error?.response?.data, 'error') } });\r\n\r\n }\r\n }\r\n }\r\n const updateIndividualCreds = (value) => {\r\n getIndividualCredentialsInternal(value, supervisingProfessionalModel.firmEntityId).then((response) => {\r\n setIndividualCredLoading(true);\r\n setIndividualCreds(response);\r\n setIndividualCredLoading(false);\r\n });\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {supervisingProfessionalModel.modalType} Supervising Professional\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n License # \r\n \r\n \r\n \r\n \r\n {\r\n if (individualCredLoading) {\r\n return (\r\n

\r\n Loading...\r\n

\r\n );\r\n }\r\n return menu;\r\n }}\r\n />\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Owner of this firm? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default EditSupervisedByModal;","import React, { useState } from 'react'\r\nimport { useEffect } from 'react';\r\nimport { Button } from 'react-bootstrap';\r\nimport { FaEdit, FaTrash } from 'react-icons/fa';\r\nimport { Table } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport credentialService from '../../../../services/Internal/Credential/credential.service';\r\nimport GenericBadge from '../../../Shared/Badge/GenericBadge';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\n\r\nfunction SupervisedByTable(props) {\r\n const [gridData, setGridData] = useState([]);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n\r\n\r\n useEffect(() => {\r\n updateTable();\r\n }, [props.updateTable])\r\n\r\n const statusChange = (id) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You will not be able to reactivate this record!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, deactivate'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n credentialService.updateRelationshipStatus(id).then((response) => {\r\n updateTable();\r\n })\r\n }\r\n })\r\n\r\n }\r\n\r\n const removePendingSP = (id) => {\r\n Swal.fire({\r\n title: 'Are you sure you want to remove this SP?',\r\n text: \"You will not be able to reactivate this record!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n credentialService.removePendingSupervisingProfessional(id).then((response) => {\r\n if (response)\r\n updateTable();\r\n else\r\n Swal.fire(\"Failed to remove supervising professional\");\r\n })\r\n }\r\n })\r\n }\r\n \r\n\r\n const updateTable = () => {\r\n setHasLoaded(false);\r\n credentialService.getFirmSupervisedBy(props.entityid).then((data) => {\r\n setGridData(data.data.sort(function (a, b) {\r\n var x = (a.status + a.professionalFirstName);\r\n var y = (b.status + b.professionalFirstName);\r\n if (x < y) {\r\n return -1;\r\n }\r\n if (x > y) {\r\n return 1;\r\n }\r\n return 0;\r\n }));\r\n setHasLoaded(true)\r\n })\r\n }\r\n\r\n return (\r\n <>\r\n\r\n {\r\n hasLoaded ?\r\n \r\n \r\n Name\r\n {rowData => (rowData.professionalFormattedName)}\r\n \r\n \r\n License #\r\n {rowData => ()}\r\n \r\n \r\n Owner of this firm?\r\n {rowData => (rowData.isOwner ? 'Yes' : 'No')}\r\n \r\n \r\n Received Date\r\n {rowData => (rowData.sentDate != null ? new Date(rowData.sentDate).toLocaleDateString() : null)}\r\n \r\n \r\n Response Date\r\n {rowData => (rowData.responseDate != null ? new Date(rowData.responseDate).toLocaleDateString() : null)}\r\n \r\n \r\n Status\r\n {rowData => (rowData.codeVerificationStatus?.verificationStatus ? : '')}\r\n \r\n {props.editMode && gridData.filter((value, index) => {\r\n return value.codeVerificationStatus.verificationStatus == \"Active\"\r\n })?.length > 0 &&\r\n \r\n \r\n {rowData => {\r\n if (rowData.codeVerificationStatus.verificationStatus == \"Active\")\r\n return ()\r\n else return (<>)\r\n }\r\n }\r\n \r\n }\r\n {props.editMode &&\r\n \r\n \r\n \r\n {rowData => {\r\n if (rowData.codeVerificationStatus.verificationStatus == \"Pending\") {\r\n return ();\r\n }\r\n else\r\n {\r\n return ();\r\n }\r\n }\r\n }\r\n \r\n }\r\n
\r\n : \r\n }\r\n \r\n )\r\n}\r\n\r\nexport default SupervisedByTable;","import React, { useEffect, useState } from 'react';\r\nimport { Card, Button } from 'react-bootstrap'\r\nimport { FaEdit, FaToolbox } from 'react-icons/fa';\r\nimport EditSupervisedByModal from './EditSupervisedByModal';\r\nimport SupervisedByTable from './SupervisedByTable';\r\n\r\nfunction SupervisedByCard(props) {\r\n const [updateTable, setUpdateTable] = useState(0);\r\n const [modalShow, setModalShow] = useState(false);\r\n useEffect(() => { setUpdateTable(updateTable + 1) }, [props.updateData])\r\n const [modalData, setModalData] = useState({\r\n individualCredential: \"\",\r\n ownerOfFirm: \"\",\r\n modalType: \"Add\"\r\n });\r\n\r\n const openAddEditModal = (values) => {\r\n if (values) {\r\n var data = { ...values, modalType: \"Edit\" }\r\n setModalData(data);\r\n }\r\n else {\r\n setModalData({\r\n professionalCredentialId: \"\",\r\n isOwner: \"\",\r\n firmEntityId: props.entityId,\r\n modalType: \"Add\"\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n
SUPERVISED BY
\r\n \r\n
\r\n
\r\n \r\n { setUpdateTable(updateTable + 1); setModalShow(false) }} />\r\n \r\n \r\n
\r\n )\r\n}\r\n\r\n\r\nexport default SupervisedByCard;","import axios from \"axios\";\r\nimport authHeader from '../../authheader.js'\r\n\r\n\r\nconst RECENTCONTACTSURL = process.env.REACT_APP_APIURL + \"/api/RecentContacts\";\r\n\r\nconst getRecentContacts = async () => {\r\n return axios.get(`${RECENTCONTACTSURL}/getrecentcontacts`, { headers: authHeader() });\r\n};\r\nconst getAllRecentContacts = async () => {\r\n return axios.get(`${RECENTCONTACTSURL}/getallrecentcontacts`, { headers: authHeader() });\r\n};\r\nconst updateRecentContacts = (recentContact) => {\r\n return axios.post(`${RECENTCONTACTSURL}/updaterecentcontacts`, recentContact, { headers: authHeader() });\r\n}\r\n\r\nexport default {\r\n getRecentContacts,\r\n getAllRecentContacts,\r\n updateRecentContacts\r\n\r\n}","import React from 'react';\r\nimport { Col, Container, Row } from 'react-bootstrap';\r\nimport CommentsCard from '../Shared/CommentsCard';\r\nimport DocumentUploadsCard from '../Shared/DocumentUploadsCard';\r\nimport TopInformationCard from '../Shared/TopInformationCard';\r\nimport CredentialCard from './CredentialCard';\r\nimport GeneralInfoCard from './GeneralInfoCard';\r\nimport SupervisedByCard from './SupervisedByCard';\r\nimport { useEffect, useState } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport recentContactService from '../../../../services/Internal/Recent/recentContacts.service'\r\n\r\nfunction CredentialPage() {\r\n const [entityId, setEntityId] = useState(0);\r\n const [updateSupervisedCard, setUpdateSupervisedCard] = useState(0);\r\n const [updateCommentCard, setUpdateCommentCard] = useState(0);\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n const urlSearchParams = new URLSearchParams(window.location.search);\r\n const params = Object.fromEntries(urlSearchParams.entries());\r\n if (params.entityId) {\r\n setEntityId(params.entityId);\r\n }\r\n const recentContact = { entityId: params.entityId, isFirm: true, entityName: \"\" }\r\n recentContactService.updateRecentContacts(recentContact).then((data) => {\r\n var token = parseInt(localStorage.getItem('updateRecentContacts')) ? parseInt(localStorage.getItem('updateRecentContacts')) : 0;\r\n localStorage.setItem('updateRecentContacts', token + 1)\r\n dispatch({ type: \"PERSIST_CURRENT_RECENT_CONTACTS\", payload: parseInt(localStorage.getItem('updateRecentContacts')) });\r\n })\r\n }, []);\r\n const updateSupervisedData = () => { setUpdateSupervisedCard(updateSupervisedCard + 1) };\r\n const updateCommentData = () => { setUpdateCommentCard(updateCommentCard + 1) };\r\n\r\n\r\n return (\r\n \r\n {entityId > 0 ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n :

No Entity ID provided. Please use the search.

\r\n }\r\n
\r\n )\r\n}\r\nexport default CredentialPage","import dayjs from 'dayjs';\r\nimport React, { useState, useEffect } from 'react';\r\nimport { Card, Row, Col, Button } from 'react-bootstrap'\r\nimport { Table } from 'rsuite';\r\nimport attachmentService from '../../../../services/Shared/attachment.service';\r\nimport cpdReqService from '../../../../services/Shared/cpdReq.service';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\nimport GenericPagination from '../../../Shared/Grid/GenericPagination';\r\n\r\nfunction CpdLockerCard(props) {\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [bulkDisplayLength, setBulkDisplayLength] = useState(20);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [page, setPage] = useState(1);\r\n const [bulkPage, setBulkPage] = useState(1);\r\n const [data, setData] = useState([])\r\n const [bulkData, setBulkData] = useState([])\r\n const getData = () => {\r\n\r\n return data.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const getBulkData = () => {\r\n\r\n return bulkData.filter((v, i) => {\r\n const start = bulkDisplayLength * (bulkPage - 1);\r\n const end = start + bulkDisplayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const filteredData = getData();\r\n const filteredBulkData = getBulkData();\r\n\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n attachmentService.getFiles(props.entityId, 11, true).then((data) => {\r\n if (data.data) {\r\n var tempData = [];\r\n for (var i = 0; i < data.data.length; i++) {\r\n tempData.push({\r\n id: data.data[i].id,\r\n timestamp: new Date(data.data[i].uploadDate).toLocaleDateString(),\r\n file: data.data[i].fileName,\r\n attachmentType: data.data[i].documentType,\r\n fileLink: '',\r\n hideDelete: data.data[i].isExternalUpload\r\n });\r\n }\r\n setBulkData([\r\n ...tempData\r\n ])\r\n }\r\n })\r\n cpdReqService.getCpd(props.entityId).then((response) => {\r\n if (response.data) {\r\n setData(response.data.map(courseRecord => {\r\n var temp = courseRecord.courseRecord;\r\n return {\r\n area: temp.area,\r\n classType: temp.classType,\r\n date: temp.courseDate != null ? dayjs(temp.courseDate).format('YYYY-MM-DD') : null,\r\n title: temp.courseTitle,\r\n description: temp.description,\r\n hours: temp.hours,\r\n id: temp.id,\r\n instructor: temp.instructor,\r\n files: [...courseRecord.attachments]\r\n }\r\n }));\r\n }\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n\r\n const openFile = (item) => {\r\n attachmentService.openFile(item.id);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n return (\r\n \r\n \r\n
CPD LOCKER
\r\n
\r\n \r\n {hasLoaded ? <>\r\n
Records Upload (Logs and Certificates)
\r\n \r\n \r\n Document\r\n \r\n {rowData => {\r\n return (<>\r\n \r\n \r\n )\r\n }}\r\n \r\n \r\n \r\n Date\r\n \r\n {\r\n rowData => {\r\n return ({new Date(rowData.timestamp).toLocaleDateString()})\r\n }\r\n }\r\n \r\n \r\n
\r\n \r\n
\r\n
Individual Course Records
\r\n \r\n \r\n Document\r\n \r\n {rowData => {\r\n return (<>\r\n {rowData.files.map((item, i) => {\r\n return (\r\n \r\n \r\n \r\n )\r\n })}\r\n \r\n )\r\n }}\r\n \r\n \r\n \r\n Date\r\n \r\n {\r\n rowData => {\r\n return ({new Date(rowData.date).toLocaleDateString()})\r\n }\r\n }\r\n \r\n \r\n \r\n Course Title\r\n \r\n \r\n \r\n Area\r\n \r\n {\r\n rowData => {\r\n return ({rowData.area.area})\r\n }\r\n }\r\n \r\n \r\n \r\n Hours\r\n \r\n \r\n
\r\n \r\n : }\r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\nexport default CpdLockerCard;","import dayjs from 'dayjs';\r\nimport React, { useEffect, useState } from 'react'\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport { ControlLabel, Form, FormControl, Schema, SelectPicker } from 'rsuite';\r\nimport credentialService from '../../../../../services/Internal/Credential/credential.service';\r\nimport { getCredStatus, getCredStatusReason } from '../../../../../services/Shared/codeTable.service';\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction EiCredentialForm(props) {\r\n const [formData, setFormData] = useState({});\r\n const [credStaus, setCredStaus] = useState([])\r\n const [credReason, setCredReason] = useState([])\r\n useEffect(() => {\r\n setFormData({\r\n ...props.credential,\r\n applicationDate: props.credential.applicationDate != null ? dayjs(props.credential.applicationDate).format('YYYY-MM-DD') : null,\r\n expirationDate: props.credential.expirationDate != null ? dayjs(props.credential.expirationDate).format('YYYY-MM-DD') : null,\r\n effectiveDate: props.credential.effectiveDate != null ? dayjs(props.credential.effectiveDate).format('YYYY-MM-DD') : null,\r\n reinstatementDate: props.credential.reinstatementDate != null ? dayjs(props.credential.reinstatementDate).format('YYYY-MM-DD') : null,\r\n firstIssuanceDate: props.credential.firstIssuanceDate != null ? dayjs(props.credential.firstIssuanceDate).format('YYYY-MM-DD') : null,\r\n dateMod: props.credential.dateMod != null ? dayjs(props.credential.dateMod).format('YYYY-MM-DD') : null,\r\n statusLabel: props.credential.status?.status,\r\n statusReasonLabel: props.credential.statusReason?.statusReason,\r\n status: props.credential.status,\r\n statusReason: props.credential.statusReason,\r\n\r\n });\r\n\r\n getCredStatus().then(setCredStaus);\r\n getCredStatusReason(props.credential.status?.id).then(setCredReason);\r\n }, [props.credential])\r\n\r\n const { ObjectType } = Schema.Types;\r\n const model = Schema.Model({\r\n statusReason: ObjectType().isRequired('This field is required.'),\r\n status: ObjectType().isRequired('This field is required.'),\r\n\r\n })\r\n\r\n const handleCredentialStatusChange = (val) => {\r\n setFormData({ ...formData, status: val, statusReason: null })\r\n getCredStatusReason(val?.id).then(setCredReason);\r\n }\r\n\r\n const submitForm = (validation, event) => {\r\n if (validation) {\r\n var dataToTransmit = {\r\n ...formData,\r\n expirationDate: formData.expirationDate == '' ? null : formData.expirationDate,\r\n effectiveDate: formData.effectiveDate == '' ? null : formData.effectiveDate,\r\n reinstatementDate: formData.reinstatementDate == '' ? null : formData.reinstatementDate,\r\n }\r\n credentialService.updateEiCredential(dataToTransmit).then((response) => {\r\n props.saveSuccess(response.data)\r\n });\r\n }\r\n }\r\n return (\r\n
\r\n \r\n \r\n Credential #\r\n \r\n \r\n \r\n Credential Status {props.editMode && }\r\n {props.editMode ?\r\n :\r\n \r\n }\r\n \r\n \r\n Credential Reason {props.editMode && }\r\n {props.editMode ?\r\n :\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n First Issuance Date\r\n \r\n \r\n \r\n Effective Date\r\n \r\n \r\n \r\n Expiration Date\r\n \r\n \r\n \r\n \r\n \r\n Application Date\r\n \r\n \r\n \r\n Application Type\r\n \r\n \r\n \r\n Reinstatement Date\r\n \r\n \r\n \r\n \r\n \r\n Licensed By\r\n \r\n \r\n \r\n Last Updated By\r\n \r\n \r\n \r\n Date of Last Activity\r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default EiCredentialForm;","import dayjs from 'dayjs';\r\nimport React, { useEffect, useState } from 'react'\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport { ControlLabel, Form, FormControl, Schema, SelectPicker } from 'rsuite';\r\nimport credentialService from '../../../../../services/Internal/Credential/credential.service';\r\nimport { getCredStatus, getCredStatusReason } from '../../../../../services/Shared/codeTable.service';\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction LsiCredentialForm(props) {\r\n const [formData, setFormData] = useState({});\r\n const [credStaus, setCredStaus] = useState([])\r\n const [credReason, setCredReason] = useState([])\r\n useEffect(() => {\r\n setFormData({\r\n ...props.credential,\r\n applicationDate: props.credential.applicationDate != null ? dayjs(props.credential.applicationDate).format('YYYY-MM-DD') : null,\r\n expirationDate: props.credential.expirationDate != null ? dayjs(props.credential.expirationDate).format('YYYY-MM-DD') : null,\r\n effectiveDate: props.credential.effectiveDate != null ? dayjs(props.credential.effectiveDate).format('YYYY-MM-DD') : null,\r\n reinstatementDate: props.credential.reinstatementDate != null ? dayjs(props.credential.reinstatementDate).format('YYYY-MM-DD') : null,\r\n firstIssuanceDate: props.credential.firstIssuanceDate != null ? dayjs(props.credential.firstIssuanceDate).format('YYYY-MM-DD') : null,\r\n dateMod: props.credential.dateMod != null ? dayjs(props.credential.dateMod).format('YYYY-MM-DD') : null,\r\n statusLabel: props.credential.status?.status,\r\n statusReasonLabel: props.credential.statusReason?.statusReason,\r\n status: props.credential.status,\r\n statusReason: props.credential.statusReason,\r\n });\r\n\r\n getCredStatus().then(setCredStaus);\r\n getCredStatusReason(props.credential.status?.id).then(setCredReason);\r\n }, [props.credential])\r\n\r\n const { ObjectType } = Schema.Types;\r\n const model = Schema.Model({\r\n statusReason: ObjectType().isRequired('This field is required.'),\r\n status: ObjectType().isRequired('This field is required.'),\r\n\r\n })\r\n\r\n const handleCredentialStatusChange = (val) => {\r\n setFormData({ ...formData, status: val, statusReason: null })\r\n getCredStatusReason(val?.id).then(setCredReason);\r\n }\r\n\r\n const submitForm = (validation, event) => {\r\n if (validation) {\r\n var dataToTransmit = {\r\n ...formData,\r\n expirationDate: formData.expirationDate == '' ? null : formData.expirationDate,\r\n effectiveDate: formData.effectiveDate == '' ? null : formData.effectiveDate,\r\n reinstatementDate: formData.reinstatementDate == '' ? null : formData.reinstatementDate,\r\n }\r\n credentialService.updateLsiCredential(dataToTransmit).then((response) => {\r\n props.saveSuccess(response.data)\r\n });\r\n }\r\n }\r\n return (\r\n
\r\n \r\n \r\n Credential #\r\n \r\n \r\n \r\n Credential Status {props.editMode && }\r\n {props.editMode ?\r\n :\r\n \r\n }\r\n \r\n \r\n Credential Reason {props.editMode && }\r\n {props.editMode ?\r\n :\r\n \r\n }\r\n \r\n\r\n \r\n \r\n \r\n First Issuance Date\r\n \r\n \r\n \r\n Effective Date\r\n \r\n \r\n Expiration Date\r\n \r\n \r\n \r\n \r\n \r\n Application Date\r\n \r\n \r\n \r\n Application Type\r\n \r\n \r\n \r\n Reinstatement Date\r\n \r\n \r\n \r\n \r\n \r\n Licensed By\r\n \r\n \r\n \r\n Last Updated By\r\n \r\n \r\n \r\n Date of Last Activity\r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default LsiCredentialForm;","import dayjs from 'dayjs';\r\nimport React, { useEffect, useState } from 'react'\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport { ControlLabel, Form, FormControl, Schema, SelectPicker } from 'rsuite';\r\nimport credentialService from '../../../../../services/Internal/Credential/credential.service';\r\nimport { getCredStatus, getCredStatusReason } from '../../../../../services/Shared/codeTable.service';\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction PeCredentialForm(props) {\r\n const [formData, setFormData] = useState({});\r\n const [credStaus, setCredStaus] = useState([])\r\n const [credReason, setCredReason] = useState([])\r\n useEffect(() => {\r\n setFormData({\r\n ...props.credential,\r\n applicationDate: props.credential.applicationDate != null ? dayjs(props.credential.applicationDate).format('YYYY-MM-DD') : null,\r\n expirationDate: props.credential.expirationDate != null ? dayjs(props.credential.expirationDate).format('YYYY-MM-DD') : null,\r\n effectiveDate: props.credential.effectiveDate != null ? dayjs(props.credential.effectiveDate).format('YYYY-MM-DD') : null,\r\n reinstatementDate: props.credential.reinstatementDate != null ? dayjs(props.credential.reinstatementDate).format('YYYY-MM-DD') : null,\r\n firstIssuanceDate: props.credential.firstIssuanceDate != null ? dayjs(props.credential.firstIssuanceDate).format('YYYY-MM-DD') : null,\r\n dateMod: props.credential.dateMod != null ? dayjs(props.credential.dateMod).format('YYYY-MM-DD') : null,\r\n statusLabel: props.credential.status?.status,\r\n statusReasonLabel: props.credential.statusReason?.statusReason,\r\n status: props.credential.status,\r\n statusReason: props.credential.statusReason,\r\n\r\n });\r\n\r\n getCredStatus().then(setCredStaus);\r\n getCredStatusReason(props.credential.status?.id).then(setCredReason);\r\n }, [props.credential])\r\n\r\n const { ObjectType } = Schema.Types;\r\n const model = Schema.Model({\r\n statusReason: ObjectType().isRequired('This field is required.'),\r\n status: ObjectType().isRequired('This field is required.'),\r\n\r\n })\r\n\r\n const handleCredentialStatusChange = (val) => {\r\n setFormData({ ...formData, status: val, statusReason: null })\r\n getCredStatusReason(val?.id).then(setCredReason);\r\n }\r\n\r\n const submitForm = (validation, event) => {\r\n if (validation) {\r\n var dataToTransmit = {\r\n ...formData,\r\n expirationDate: formData.expirationDate == '' ? null : formData.expirationDate,\r\n effectiveDate: formData.effectiveDate == '' ? null : formData.effectiveDate,\r\n reinstatementDate: formData.reinstatementDate == '' ? null : formData.reinstatementDate,\r\n }\r\n if (props.credential?.licenseTypePrefix == \"PE-L\") {\r\n credentialService.updateLegacyPeCredential(dataToTransmit).then((response) => {\r\n props.saveSuccess(response.data)\r\n if (dataToTransmit.status.id != 1) {\r\n props.updateSupervisesCardCallback()\r\n }\r\n });\r\n }\r\n else {\r\n credentialService.updatePeCredential(dataToTransmit).then((response) => {\r\n props.saveSuccess(response.data)\r\n if (dataToTransmit.status.id != 1) {\r\n props.updateSupervisesCardCallback()\r\n }\r\n });\r\n }\r\n }\r\n }\r\n return (\r\n
\r\n \r\n \r\n Credential #\r\n \r\n \r\n \r\n Credential Status {props.editMode && }\r\n {props.editMode ?\r\n :\r\n \r\n }\r\n \r\n \r\n Credential Reason {props.editMode && }\r\n {props.editMode ?\r\n :\r\n \r\n }\r\n \r\n\r\n \r\n \r\n \r\n First Issuance Date\r\n \r\n \r\n \r\n Effective Date\r\n \r\n \r\n \r\n Expiration Date\r\n \r\n \r\n \r\n \r\n \r\n Application Date\r\n \r\n \r\n \r\n Application Type\r\n \r\n \r\n \r\n Reinstatement Date\r\n \r\n \r\n \r\n \r\n \r\n Licensed By\r\n \r\n \r\n \r\n Last Updated By\r\n \r\n \r\n \r\n Date of Last Activity\r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default PeCredentialForm;","import dayjs from 'dayjs';\r\nimport React, { useEffect, useState } from 'react'\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport { ControlLabel, Form, FormControl, Schema, SelectPicker } from 'rsuite';\r\nimport credentialService from '../../../../../services/Internal/Credential/credential.service';\r\nimport { getCredStatus, getCredStatusReason } from '../../../../../services/Shared/codeTable.service';\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction PlsCredentialForm(props) {\r\n const [formData, setFormData] = useState({});\r\n const [credStaus, setCredStaus] = useState([])\r\n const [credReason, setCredReason] = useState([])\r\n useEffect(() => {\r\n setFormData({\r\n ...props.credential,\r\n applicationDate: props.credential.applicationDate != null ? dayjs(props.credential.applicationDate).format('YYYY-MM-DD') : null,\r\n expirationDate: props.credential.expirationDate != null ? dayjs(props.credential.expirationDate).format('YYYY-MM-DD') : null,\r\n effectiveDate: props.credential.effectiveDate != null ? dayjs(props.credential.effectiveDate).format('YYYY-MM-DD') : null,\r\n reinstatementDate: props.credential.reinstatementDate != null ? dayjs(props.credential.reinstatementDate).format('YYYY-MM-DD') : null,\r\n firstIssuanceDate: props.credential.firstIssuanceDate != null ? dayjs(props.credential.firstIssuanceDate).format('YYYY-MM-DD') : null,\r\n dateMod: props.credential.dateMod != null ? dayjs(props.credential.dateMod).format('YYYY-MM-DD') : null,\r\n statusLabel: props.credential.status?.status,\r\n statusReasonLabel: props.credential.statusReason?.statusReason,\r\n status: props.credential.status,\r\n statusReason: props.credential.statusReason,\r\n });\r\n\r\n getCredStatus().then(setCredStaus);\r\n getCredStatusReason(props.credential.status?.id).then(setCredReason);\r\n }, [props.credential])\r\n\r\n const { ObjectType } = Schema.Types;\r\n const model = Schema.Model({\r\n statusReason: ObjectType().isRequired('This field is required.'),\r\n status: ObjectType().isRequired('This field is required.'),\r\n\r\n })\r\n\r\n const handleCredentialStatusChange = (val) => {\r\n setFormData({ ...formData, status: val, statusReason: null })\r\n getCredStatusReason(val?.id).then(setCredReason);\r\n }\r\n\r\n const submitForm = (validation, event) => {\r\n if (validation) {\r\n var dataToTransmit = {\r\n ...formData,\r\n expirationDate: formData.expirationDate == '' ? null : formData.expirationDate,\r\n effectiveDate: formData.effectiveDate == '' ? null : formData.effectiveDate,\r\n reinstatementDate: formData.reinstatementDate == '' ? null : formData.reinstatementDate,\r\n }\r\n if (props.credential?.licenseTypePrefix == \"PLS-L\") {\r\n credentialService.updateLegacyPlsCredential(dataToTransmit).then((response) => {\r\n props.saveSuccess(response.data)\r\n if (dataToTransmit.status.id != 1) {\r\n props.updateSupervisesCardCallback()\r\n }\r\n });\r\n }\r\n else {\r\n credentialService.updatePlsCredential(dataToTransmit).then((response) => {\r\n props.saveSuccess(response.data)\r\n if (dataToTransmit.status.id != 1) {\r\n props.updateSupervisesCardCallback()\r\n }\r\n });\r\n }\r\n }\r\n }\r\n return (\r\n
\r\n \r\n \r\n Credential #\r\n \r\n \r\n \r\n Credential Status {props.editMode && }\r\n {props.editMode ?\r\n :\r\n \r\n }\r\n \r\n \r\n Credential Reason {props.editMode && }\r\n {props.editMode ?\r\n :\r\n \r\n }\r\n \r\n\r\n \r\n \r\n \r\n First Issuance Date\r\n \r\n \r\n \r\n Effective Date\r\n \r\n \r\n \r\n Expiration Date\r\n \r\n \r\n \r\n \r\n \r\n Application Date\r\n \r\n \r\n \r\n Application Type\r\n \r\n \r\n \r\n Reinstatement Date\r\n \r\n \r\n \r\n \r\n \r\n Licensed By\r\n \r\n \r\n \r\n Last Updated By\r\n \r\n \r\n \r\n Date of Last Activity\r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default PlsCredentialForm;","import React from 'react'\r\nimport { Button, Modal } from 'react-bootstrap';\r\nimport Swal from 'sweetalert2';\r\nimport credentialService from '../../../../../services/Internal/Credential/credential.service';\r\nimport LegacyCredentialForm from '../../Shared/Credential/LegacyCredentialForm';\r\nimport EiCredentialForm from './EiCredentialForm';\r\nimport LsiCredentialForm from './LsiCredentialForm';\r\nimport PeCredentialForm from './PeCredentialForm';\r\nimport PlsCredentialForm from './PlsCrendentialForm';\r\n\r\nfunction EditCredentialModal(props) {\r\n const saveSuccess = (updatedCred) => {\r\n props.updateCardData();\r\n var statusReasonIds = [9, 12, 13, 15];\r\n if ((props.credential?.status?.id != updatedCred.status?.id || props.credential?.statusReason?.id != updatedCred.statusReason?.id) &&\r\n updatedCred.status?.id == 3 && statusReasonIds.includes(updatedCred.statusReason.id)) {\r\n var expirationDate = new Date(updatedCred.expirationDate);\r\n var nextReinstatementDate = new Date();\r\n nextReinstatementDate.setDate(expirationDate.getDate() + 1);\r\n Swal.fire('Success!', `Individual credential has been successfully updated. The new expiration date is ${expirationDate.toLocaleDateString()}, and the individual may apply to reinstate starting ${nextReinstatementDate.toLocaleDateString()}.`, 'success');\r\n }\r\n else\r\n Swal.fire('Success!', 'Individual credential has been successfully updated.', 'success');\r\n props.updateCommentCardCallback()\r\n props.onHide();\r\n }\r\n\r\n const generateLicense = () => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"Do you want to generate a license for this credential?\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n credentialService.activateindpendingcredential(props.credential?.id).then((response) => {\r\n if (response.data) {\r\n props.updateCardData();\r\n Swal.fire('Success!', 'Individual credential has been successfully updated.', 'success');\r\n props.onHide();\r\n }\r\n })\r\n }\r\n })\r\n\r\n }\r\n\r\n\r\n return (\r\n \r\n \r\n

Credential Information ({props.credential?.licenseTypePrefix})

\r\n
\r\n \r\n <>\r\n {\r\n (props.credential?.licenseTypePrefix == \"PLS\" || props.credential?.licenseTypePrefix == \"PLS-L\") ?\r\n \r\n : (props.credential?.licenseTypePrefix == \"PE\" || props.credential?.licenseTypePrefix == \"PE-L\") ?\r\n \r\n : props.credential?.licenseTypePrefix == \"LSI\" ?\r\n \r\n : props.credential?.licenseTypePrefix == \"EI\" ?\r\n \r\n : props.credential?.licenseTypePrefix == \"TP\" ?\r\n \r\n : props.credential?.licenseTypePrefix == \"CPD\" ?\r\n \r\n : <>\r\n }\r\n \r\n \r\n \r\n
\r\n {\r\n props.credential?.status?.id == 8 && props.credential?.statusReason?.id == 25 &&\r\n \r\n }\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default EditCredentialModal;","import dayjs from 'dayjs';\r\nimport React, { useEffect, useState } from 'react'\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport { ControlLabel, Form, FormControl, Schema, SelectPicker } from 'rsuite';\r\nimport credentialService from '../../../../../services/Internal/Credential/credential.service';\r\nimport { getCredStatus, getCredStatusReason } from '../../../../../services/Shared/codeTable.service';\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction LegacyPeCredentialForm(props) {\r\n const [formData, setFormData] = useState({\r\n entityId: props.entityId,\r\n formattedLicenseNumber: \"\",\r\n status: \"\",\r\n statusReason: \"\",\r\n firstIssuanceDate: null,\r\n effectiveDate: null,\r\n expirationDate: null,\r\n applicationDate: null,\r\n applicationType: \"Professional Engineer (Legacy)\",\r\n reinstatementDate: null,\r\n approvedBy: \"\",\r\n userMod: \"\",\r\n dateMod: null\r\n });\r\n const [credStaus, setCredStaus] = useState([])\r\n const [credReason, setCredReason] = useState([])\r\n useEffect(() => {\r\n getCredStatus().then(setCredStaus);\r\n }, [])\r\n\r\n const { ObjectType } = Schema.Types;\r\n const model = Schema.Model({\r\n statusReason: ObjectType().isRequired('This field is required.'),\r\n status: ObjectType().isRequired('This field is required.'),\r\n })\r\n\r\n const handleCredentialStatusChange = (val) => {\r\n setFormData({ ...formData, status: val, statusReason: null })\r\n getCredStatusReason(val?.id).then(setCredReason);\r\n }\r\n\r\n const submitForm = (validation, event) => {\r\n if (validation) {\r\n var dataToTransmit = {\r\n ...formData\r\n }\r\n credentialService.createLegacyPeCredential(dataToTransmit).then((response) => {\r\n props.saveSuccess(response.data);\r\n });\r\n }\r\n }\r\n return (\r\n
\r\n \r\n \r\n Credential #\r\n \r\n \r\n \r\n Credential Status \r\n \r\n \r\n \r\n Credential Reason \r\n \r\n \r\n\r\n \r\n \r\n \r\n First Issuance Date\r\n \r\n \r\n \r\n Effective Date\r\n \r\n \r\n \r\n Expiration Date\r\n \r\n \r\n \r\n \r\n \r\n Application Date\r\n \r\n \r\n \r\n Application Type\r\n \r\n \r\n \r\n Reinstatement Date\r\n \r\n \r\n \r\n \r\n \r\n Licensed By\r\n \r\n \r\n \r\n Date of Last Activity\r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default LegacyPeCredentialForm;","import dayjs from 'dayjs';\r\nimport React, { useEffect, useState } from 'react'\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport { ControlLabel, Form, FormControl, Schema, SelectPicker } from 'rsuite';\r\nimport credentialService from '../../../../../services/Internal/Credential/credential.service';\r\nimport { getCredStatus, getCredStatusReason } from '../../../../../services/Shared/codeTable.service';\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction LegacyPlsCredentialForm(props) {\r\n const [formData, setFormData] = useState({\r\n entityId:props.entityId,\r\n formattedLicenseNumber: \"\",\r\n status: \"\",\r\n statusReason:\"\",\r\n firstIssuanceDate:null,\r\n effectiveDate: null,\r\n expirationDate: null,\r\n applicationDate: null,\r\n applicationType:\"Professional Surveyor (Legacy)\",\r\n reinstatementDate: null,\r\n approvedBy:\"\",\r\n userMod:\"\",\r\n dateMod:null\r\n });\r\n const [credStaus, setCredStaus] = useState([])\r\n const [credReason, setCredReason] = useState([])\r\n useEffect(() => {\r\n getCredStatus().then(setCredStaus);\r\n }, [])\r\n\r\n const { ObjectType } = Schema.Types;\r\n const model = Schema.Model({\r\n statusReason: ObjectType().isRequired('This field is required.'),\r\n status: ObjectType().isRequired('This field is required.'),\r\n\r\n })\r\n\r\n const handleCredentialStatusChange = (val) => {\r\n setFormData({ ...formData, status: val, statusReason: null })\r\n getCredStatusReason(val?.id).then(setCredReason);\r\n }\r\n\r\n const submitForm = (validation, event) => {\r\n if (validation) {\r\n var dataToTransmit = {\r\n ...formData\r\n }\r\n credentialService.createLegacyPlsCredential(dataToTransmit).then((response) => {\r\n props.saveSuccess(response.data);\r\n });\r\n }\r\n }\r\n return (\r\n
\r\n \r\n \r\n Credential #\r\n \r\n \r\n \r\n Credential Status \r\n \r\n \r\n \r\n Credential Reason \r\n \r\n \r\n\r\n \r\n \r\n \r\n First Issuance Date\r\n \r\n \r\n \r\n Effective Date\r\n \r\n \r\n \r\n Expiration Date\r\n \r\n \r\n \r\n \r\n \r\n Application Date\r\n \r\n \r\n \r\n Application Type\r\n \r\n \r\n \r\n Reinstatement Date\r\n \r\n \r\n \r\n \r\n \r\n Licensed By\r\n \r\n \r\n \r\n Date of Last Activity\r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default LegacyPlsCredentialForm;","import React, { useState } from 'react'\r\nimport { Button, Modal } from 'react-bootstrap';\r\nimport { SelectPicker } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport LegacyPeCredentialForm from './LegacyPeCredentialForm';\r\nimport LegacyPlsCredentialForm from './LegacyPlsCredentialForm';\r\n\r\nfunction LegacyCredentialModal(props) {\r\n const [licenseType, setLicenseType] = useState([\r\n { value: \"PLS-L\", label: \"PLS-L\" }\r\n , { value: \"PE-L\", label: \"PE-L\" }].filter(license => !props.legacyCredentials.includes(license.value) ));\r\n const [selectedLicenseType, setSelectedLicenseType] = useState(null);\r\n const [credential, setCredential] = useState({\r\n credential: {\r\n applicationDate: null,\r\n expirationDate: null,\r\n effectiveDate: null,\r\n reinstatementDate: null,\r\n firstIssuanceDate: null,\r\n dateMod: null,\r\n status: null,\r\n statusReason: null\r\n }\r\n })\r\n const modalHide = () => {\r\n props.hideLegacyModal(false);\r\n setSelectedLicenseType(null);\r\n }\r\n const saveSuccess = (updatedCred) => {\r\n props.updateCardData();\r\n Swal.fire('Success!', `Legacy record has been created.`, 'success');\r\n props.hideLegacyModal();\r\n }\r\n\r\n\r\n return (\r\n \r\n \r\n

Credential Information {selectedLicenseType != null ? \"(\" + selectedLicenseType + \")\" : \"\" }

\r\n
\r\n \r\n <>\r\n {selectedLicenseType == null ?\r\n <>\r\n
Add Legacy Credential
\r\n
\r\n \r\n \r\n :\r\n (selectedLicenseType == \"PLS-L\") ?\r\n \r\n : (selectedLicenseType == \"PE-L\") ?\r\n \r\n : <>\r\n }\r\n {\r\n }\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n {selectedLicenseType != null &&\r\n \r\n }\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default LegacyCredentialModal;","import React, { useState, useEffect } from 'react';\r\nimport { Card, Button, Tabs, Tab } from 'react-bootstrap'\r\nimport { FaEdit, FaIdCardAlt, FaPlus } from 'react-icons/fa';\r\nimport credentialService from '../../../../services/Internal/Credential/credential.service';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\nimport CredentialHistoryTable from '../Shared/CredentialHistoryTable';\r\nimport LegacyCredentialForm from '../Shared/Credential/LegacyCredentialForm';\r\nimport EditCredentialModal from './Credential/EditCredentialModal';\r\nimport EiCredentialForm from './Credential/EiCredentialForm';\r\nimport LsiCredentialForm from './Credential/LsiCredentialForm';\r\nimport PeCredentialForm from './Credential/PeCredentialForm';\r\nimport PlsCredentialForm from './Credential/PlsCrendentialForm';\r\nimport LegacyCredentialModal from './Credential/LegacyCredentialModal';\r\n\r\nfunction CredentialCard(props) {\r\n const [data, setData] = useState({})\r\n const [selectedTab, setSelectedTab] = useState(0);\r\n const [legacyCredentials, setLegacyCredentials] = useState([]);\r\n const [modalData, setModalData] = useState();\r\n const [modalShow, setModalShow] = useState();\r\n const [legacyModalShow, setLegacyModalShow] = useState();\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [hasPending, setHasPending] = useState(false);\r\n useEffect(() => {\r\n updateCardData();\r\n }, [])\r\n\r\n const updateCardData = () => {\r\n setHasLoaded(false);\r\n credentialService.checkHasPending(props.entityId).then((result) => {\r\n setHasPending(result.data);\r\n credentialService.getIndividualCredentialInfo(props.entityId).then((response) => {\r\n if (response.data.length > 0) {\r\n var prefixes = response.data.map(x => x.licenseTypePrefix);\r\n var legacyPrefixes = prefixes.filter(x => x == \"PE-L\" || x == \"PLS-L\") ?? [];\r\n setLegacyCredentials(legacyPrefixes);\r\n setData(response.data);\r\n if (selectedTab == 0 && !result.data)\r\n setSelectedTab(response.data[0].id);\r\n }\r\n setHasLoaded(true);\r\n })\r\n })\r\n }\r\n const onSelectTab = (selected, e) =>\r\n {\r\n if (selected == \"AddButton\") {\r\n setLegacyModalShow(true);\r\n e.preventDefault();\r\n }\r\n else\r\n {\r\n setSelectedTab(selected);\r\n }\r\n }\r\n const onEditCard = () => {\r\n setModalData(data.find(x => x.id == selectedTab));\r\n setModalShow(true);\r\n }\r\n return (\r\n \r\n \r\n \r\n CREDENTIAL\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n {hasLoaded &&\r\n \r\n }\r\n {hasLoaded && data.length > 0 ?\r\n <>\r\n { setModalShow(false) }}\r\n credential={modalData}\r\n updateCardData={updateCardData}\r\n updateSupervisesCardCallback={props.updateSupervisesCardCallback}\r\n updateCommentCardCallback={props.updateCommentCardCallback}\r\n />\r\n \r\n {hasPending &&\r\n \r\n
\r\n
\r\n

Application History


\r\n
\r\n }\r\n {\r\n data.map((item, index) => {\r\n return (\r\n
\r\n
\r\n {\r\n (item?.licenseTypePrefix == \"PLS\" || item?.licenseTypePrefix == \"PLS-L\") &&\r\n <>\r\n \r\n
\r\n
\r\n

{item?.licenseTypePrefix} History

\r\n \r\n \r\n }\r\n {\r\n (item?.licenseTypePrefix == \"PE\" || item?.licenseTypePrefix == \"PE-L\") &&\r\n <>\r\n \r\n
\r\n
\r\n

{item?.licenseTypePrefix} History

\r\n \r\n\r\n }{\r\n item?.licenseTypePrefix == \"LSI\" &&\r\n <>\r\n \r\n
\r\n
\r\n

{item?.licenseTypePrefix} History

\r\n \r\n \r\n }\r\n {\r\n item?.licenseTypePrefix == \"EI\" &&\r\n <>\r\n \r\n
\r\n
\r\n

{item?.licenseTypePrefix} History

\r\n \r\n \r\n }\r\n {\r\n item?.licenseTypePrefix == \"TP\" &&\r\n <>\r\n \r\n
\r\n
\r\n

{item?.licenseTypePrefix} History

\r\n \r\n \r\n }\r\n {\r\n item?.licenseTypePrefix == \"CPD\" &&\r\n <>\r\n \r\n
\r\n
\r\n

{item?.licenseTypePrefix} History

\r\n \r\n \r\n }\r\n
)\r\n })\r\n }\r\n {\r\n legacyCredentials.length < 2 &&\r\n } >\r\n }\r\n
\r\n\r\n : hasLoaded ?\r\n <>\r\n
\r\n {legacyCredentials.length < 2 && }\r\n

Application History

\r\n

\r\n \r\n : \r\n\r\n }\r\n
\r\n {data.length > 0 &&\r\n \r\n \r\n \r\n }\r\n
\r\n )\r\n}\r\n\r\n\r\nexport default CredentialCard;","import dayjs from 'dayjs';\r\nimport React from 'react'\r\nimport { useEffect } from 'react';\r\nimport { useState } from 'react';\r\nimport { Button, Col, Modal, Row } from 'react-bootstrap';\r\nimport { ControlLabel, Form, FormControl, Schema } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport credentialService from '../../../../services/Internal/Credential/credential.service';\r\nimport RedStar from '../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction AddEditEmployementModal(props) {\r\n const [formModel, setFormModel] = useState({});\r\n useEffect(() => {\r\n setFormModel({\r\n ...props.model,\r\n startDate: props.model?.startDate != null ? dayjs(props.model.startDate).format('YYYY-MM-DD') : '',\r\n endDate: props.model?.endDate != null ? dayjs(props.model.endDate).format('YYYY-MM-DD') : '',\r\n });\r\n }, [props.model])\r\n const { StringType } = Schema.Types;\r\n const validationModel = Schema.Model({\r\n startDate: StringType().isRequired('This field is required'),\r\n occupation: StringType().isRequired('This field is required'),\r\n organization: StringType().isRequired('This field is required'),\r\n\r\n })\r\n const formSubmit = (validation, event) => {\r\n if (validation) {\r\n var dataToTransmit = {\r\n ...formModel,\r\n startDate: formModel.startDate != '' ? new Date(formModel.startDate) : null, \r\n endDate: formModel.endDate != '' ? new Date(formModel.endDate) : null, \r\n }\r\n if (formModel.id > 0) {\r\n credentialService.updateWorkHistory(dataToTransmit).then((response) => {\r\n if (response.data) {\r\n props.onHide();\r\n Swal.fire('Success!', 'You have successfully updated a record to employment.', 'success');\r\n }\r\n\r\n })\r\n }\r\n else if (formModel.id == 0) {\r\n credentialService.createWorkHistory(dataToTransmit).then((response) => {\r\n if (response.data) {\r\n props.onHide();\r\n Swal.fire('Success!', 'You have successfully added a record to employment.', 'success');\r\n }\r\n\r\n })\r\n }\r\n //service call\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n

Employment Information

\r\n
\r\n \r\n
\r\n \r\n \r\n Start Date \r\n \r\n \r\n \r\n End Date\r\n \r\n \r\n \r\n \r\n \r\n Occupation \r\n \r\n \r\n \r\n Organization\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default AddEditEmployementModal;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Card, Button } from 'react-bootstrap'\r\nimport { FaBriefcase, FaEdit, FaPlus, FaTrash } from 'react-icons/fa';\r\nimport { Table } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport credentialService from '../../../../services/Internal/Credential/credential.service';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\nimport AddEditEmployementModal from './AddEditEmploymentModal';\r\n\r\nfunction EmploymentCard(props) {\r\n const [gridData, setGridData] = useState([]);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [modalShow, setModalShow] = useState(false);\r\n const [modalData, setModalData] = useState({});\r\n useEffect(() => {\r\n updateGrid()\r\n }, [])\r\n\r\n const updateGrid = () => {\r\n setHasLoaded(false);\r\n credentialService.getWorkHistoryData(props.entityId).then((response) => {\r\n if (response.data)\r\n setGridData(response.data);\r\n setHasLoaded(true);\r\n })\r\n }\r\n const openModal = (data) => {\r\n if (data?.id) {\r\n setModalData(data)\r\n }\r\n else {\r\n setModalData({\r\n startDate: null,\r\n endDate: null,\r\n occupation: '',\r\n organization: '',\r\n id: 0,\r\n entityId: props.entityId\r\n });\r\n }\r\n setModalShow(true);\r\n }\r\n return (\r\n \r\n \r\n
EMPLOYMENT\r\n
\r\n \r\n
\r\n \r\n { updateGrid(); setModalShow(false) }} />\r\n {\r\n hasLoaded ?\r\n \r\n \r\n Start Date\r\n {rowData => (rowData.startDate != null ? new Date(rowData.startDate).toLocaleDateString() : null)}\r\n \r\n \r\n End Date\r\n {rowData => (rowData.endDate != null ? new Date(rowData.endDate).toLocaleDateString() : null)}\r\n \r\n \r\n Occupation\r\n {rowData => (rowData.occupation)}\r\n \r\n \r\n Organization\r\n {rowData => (rowData.organization)}\r\n \r\n \r\n \r\n {rowData => {\r\n function handleAction() {\r\n openModal(rowData);\r\n }\r\n function handleDelete() {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n var dataToTransmit = {\r\n ...rowData,\r\n startDate: rowData.startDate != '' ? new Date(rowData.startDate) : null,\r\n endDate: rowData.endDate != '' ? new Date(rowData.endDate) : null,\r\n }\r\n credentialService.deleteWorkHistory(dataToTransmit).then((response) => {\r\n if (response.data)\r\n updateGrid();\r\n })\r\n }\r\n })\r\n }\r\n return (\r\n   \r\n \r\n )\r\n }\r\n }\r\n \r\n \r\n
\r\n : \r\n }\r\n
\r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\n\r\nexport default EmploymentCard;","import dayjs from 'dayjs';\r\nimport React, { useEffect, useState } from 'react'\r\nimport { Button, Col, Modal, Row } from 'react-bootstrap'\r\nimport NumberFormat from 'react-number-format';\r\nimport { ControlLabel, Form, FormControl, FormGroup, InputPicker, Schema, SelectPicker } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport { suffixData, titleData, yesNoData } from '../../../../fakeapi';\r\nimport credentialService from '../../../../services/Internal/Credential/credential.service';\r\nimport { emailPhonePrivacy, getCountries, getStates, journalDropdown, subscribeDropdown } from '../../../../services/Shared/codeTable.service';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\nimport PhoneNumberMask from '../../../Shared/GenericComponents/PhoneNumberMask';\r\nimport RedStar from '../../../Shared/GenericComponents/RedStar';\r\n\r\n\r\nconst InputMask = ({ onChange, ...rest }) => {\r\n return (\r\n {\r\n onChange(event.target.value);\r\n }}\r\n />\r\n );\r\n};\r\n\r\nfunction EditIndGeneralInformation(props) {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [data, setData] = useState({});\r\n const [genInfoFormData, setGenInfoFormData] = useState({});\r\n const [genInfoFormDataCache, setGenInfoFormDataCache] = useState({});\r\n const [countries, setCountries] = useState([])\r\n const [states, setStates] = useState([])\r\n const [showErrors, setShowErrors] = useState(false);\r\n\r\n useEffect(() => {\r\n credentialService.getIndGeneralInfo(props.entityid).then((response) => {\r\n setData(response.data);\r\n getCountries().then(setCountries);\r\n getStates().then(setStates);\r\n setGenInfoFormData({\r\n firstName: response.data.firstName ?? undefined,\r\n middleName: response.data.middleName ?? undefined,\r\n lastName: response.data.lastName ?? undefined,\r\n maidenName: response.data.maidenName ?? undefined,\r\n suffix: response.data.suffix,\r\n title: response.data.title,\r\n lolaNumber: response.data.lolaNumber ?? undefined,\r\n mailingAddressStreet: response.data.mailingAddress?.streetAddress,\r\n mailingAddressCity: response.data.mailingAddress?.city,\r\n mailingAddressState: response.data.mailingAddress?.state,\r\n mailingAddressStateProvidence: response.data.mailingAddress?.provinceRegion,\r\n mailingAddressPostalCode: response.data.mailingAddress?.postalCode,\r\n mailingAddressCountry: response.data.mailingAddress?.country,\r\n publicAddressStreet: response.data.publicAddress?.streetAddress,\r\n publicAddressCity: response.data.publicAddress?.city,\r\n publicAddressState: response.data.publicAddress?.state,\r\n publicAddressStateProvidence: response.data.publicAddress?.provinceRegion,\r\n publicAddressPostalCode: response.data.publicAddress?.postalCode,\r\n publicAddressCountry: response.data.publicAddress?.country,\r\n userId: response.data.userName ?? undefined,\r\n dateOfBirth: response.data.dateOfBirth != null ? dayjs(response.data.dateOfBirth).format('YYYY-MM-DD') : undefined,\r\n dateOfDeath: response.data.dateOfDeath != null ? dayjs(response.data.dateOfDeath).format('YYYY-MM-DD') : undefined,\r\n birthCity: response.data.birthCity ?? undefined,\r\n birthState: response.data.birthState,\r\n birthCountry: response.data.birthCountry,\r\n nonUsBirthState: response.data.nonUsBirthState,\r\n federalId: response.data.federalId ?? undefined,\r\n visaGreenCardNumber: response.data.visaGreenCardNumber ?? undefined,\r\n myNceesNumber: response.data.myNceesNumber != null ? response.data.myNceesNumber.replace(/[^\\d]*/g, \"\") : undefined,\r\n isUsCitizen: response.data.isUsCitizen,\r\n email: response.data.primaryEmailAddress?.contactEmailAddress ?? undefined,\r\n alternateEmail: response.data.alternateEmailAddress?.contactEmailAddress ?? undefined,\r\n homePhoneNum: response.data.homePhone?.contactPhoneNumber ?? undefined,\r\n mobilePhoneNum: response.data.cellPhone?.contactPhoneNumber ?? undefined,\r\n workPhoneNum: response.data.workPhone?.contactPhoneNumber ?? undefined,\r\n amountDue: response.data.amountDue.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n }),\r\n additionalInformation: response.data.additionalInformation ?? undefined,\r\n citizenshipCountry: response.data.citizenshipCountry,\r\n certificateName: response.data.certificateName,\r\n journalSubscription: response.data.journalSubscription,\r\n pressReleases: response.data.pressReleases,\r\n webinar: response.data.webinar,\r\n emailPhonePrivacy: response.data.emailPhonePrivacy,\r\n })\r\n setGenInfoFormDataCache({\r\n firstName: response.data.firstName ?? undefined,\r\n middleName: response.data.middleName ?? undefined,\r\n lastName: response.data.lastName ?? undefined,\r\n maidenName: response.data.maidenName ?? undefined,\r\n suffix: response.data.suffix,\r\n title: response.data.title,\r\n lolaNumber: response.data.lolaNumber ?? undefined,\r\n mailingAddressStreet: response.data.mailingAddress?.streetAddress,\r\n mailingAddressCity: response.data.mailingAddress?.city,\r\n mailingAddressState: response.data.mailingAddress?.state,\r\n mailingAddressStateProvidence: response.data.mailingAddress?.provinceRegion,\r\n mailingAddressPostalCode: response.data.mailingAddress?.postalCode,\r\n mailingAddressCountry: response.data.mailingAddress?.country,\r\n publicAddressStreet: response.data.publicAddress?.streetAddress,\r\n publicAddressCity: response.data.publicAddress?.city,\r\n publicAddressState: response.data.publicAddress?.state,\r\n publicAddressStateProvidence: response.data.publicAddress?.provinceRegion,\r\n publicAddressPostalCode: response.data.publicAddress?.postalCode,\r\n publicAddressCountry: response.data.publicAddress?.country,\r\n userId: response.data.userName ?? undefined,\r\n dateOfBirth: response.data.dateOfBirth != null ? dayjs(response.data.dateOfBirth).format('YYYY-MM-DD') : undefined,\r\n dateOfDeath: response.data.dateOfDeath != null ? dayjs(response.data.dateOfDeath).format('YYYY-MM-DD') : undefined,\r\n birthCity: response.data.birthCity ?? undefined,\r\n birthState: response.data.birthState,\r\n birthCountry: response.data.birthCountry,\r\n nonUsBirthState: response.data.nonUsBirthState,\r\n federalId: response.data.federalId ?? undefined,\r\n visaGreenCardNumber: response.data.visaGreenCardNumber ?? undefined,\r\n myNceesNumber: response.data.myNceesNumber != null ? response.data.myNceesNumber.replace(/[^\\d]*/g, \"\") : undefined,\r\n isUsCitizen: response.data.isUsCitizen,\r\n email: response.data.primaryEmailAddress?.contactEmailAddress ?? undefined,\r\n alternateEmail: response.data.alternateEmailAddress?.contactEmailAddress ?? undefined,\r\n homePhoneNum: response.data.homePhone?.contactPhoneNumber ?? undefined,\r\n mobilePhoneNum: response.data.cellPhone?.contactPhoneNumber ?? undefined,\r\n workPhoneNum: response.data.workPhone?.contactPhoneNumber ?? undefined,\r\n amountDue: response.data.amountDue.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n }),\r\n additionalInformation: response.data.additionalInformation ?? undefined,\r\n citizenshipCountry: response.data.citizenshipCountry,\r\n certificateName: response.data.certificateName,\r\n journalSubscription: response.data.journalSubscription,\r\n pressReleases: response.data.pressReleases,\r\n webinar: response.data.webinar,\r\n emailPhonePrivacy: response.data.emailPhonePrivacy,\r\n })\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n\r\n const { StringType, ObjectType, BooleanType, NumberType } = Schema.Types;\r\n const validationModel = Schema.Model({\r\n firstName: StringType().isRequired('This field is required.'),\r\n lastName: StringType().isRequired('This field is required.'),\r\n //title: StringType().isRequired('This field is required.'),\r\n //mailingAddressStreet: StringType().isRequired('This field is required.'),\r\n //mailingAddressCity: StringType().isRequired('This field is required.'),\r\n //mailingAddressState: ObjectType().isRequired('This field is required.'),\r\n //mailingAddressStateProvidence: StringType().isRequired('This field is required.'),\r\n //mailingAddressPostalCode: StringType().isRequired('This field is required.'),\r\n //mailingAddressCountry: ObjectType().isRequired('This field is required.'),\r\n //publicAddressStreet: StringType().isRequired('This field is required.'),\r\n //publicAddressCity: StringType().isRequired('This field is required.'),\r\n //publicAddressState: ObjectType().isRequired('This field is required.'),\r\n //publicAddressStateProvidence: StringType().isRequired('This field is required.'),\r\n //publicAddressPostalCode: StringType().isRequired('This field is required.'),\r\n //publicAddressCountry: ObjectType().isRequired('This field is required.'),\r\n mobilePhoneNum: NumberType().pattern(/^[0-9]{10}/, \"Please enter a valid Phone Number\"),//.isRequired(\"This field is required.\"),\r\n workPhoneNum: NumberType().pattern(/^[0-9]{10}/, \"Please enter a valid Phone Number\"),\r\n homePhoneNum: NumberType().pattern(/^[0-9]{10}/, \"Please enter a valid Phone Number\"),\r\n userId: StringType().isRequired('This field is required.'),\r\n myNceesNumber: NumberType().pattern(/^[0-9]{7}/, \"Please enter a valid My Ncees Number\")\r\n //federalId: StringType().isRequired('This field is required.').pattern(/^([0-9]{3}[-][0-9]{2}[-][0-9]{4})/, \"Please enter a valid SSN\"),\r\n //email: StringType().isRequired('This field is required.'),\r\n //isUsCitizen: BooleanType().isRequired('This field is required.'),\r\n //dateOfBirth: StringType().isRequired('This field is required.'),\r\n //birthCity: StringType().isRequired('This field is required.'),\r\n //birthState: ObjectType().isRequired('This field is required.'),\r\n //nonUsBirthState: StringType().isRequired('This field is required'),\r\n //birthCountry: ObjectType().isRequired('This field is required.'),\r\n //citizenshipCountry: ObjectType().isRequired('This field is required.')\r\n })\r\n\r\n const inputHasError = (cacheInputVal, formInputVal) => {\r\n if ((cacheInputVal != null && cacheInputVal.length !== 0) && (formInputVal == null || formInputVal.length === 0))\r\n return true;\r\n return false;\r\n }\r\n const nceesChange = (val) => {\r\n var newInfo = genInfoFormData;\r\n var correctedText = val.replace(/[^\\d-]*/g, \"\");\r\n newInfo.myNceesNumber = correctedText;\r\n setGenInfoFormDataCache(newInfo);\r\n setGenInfoFormData(newInfo);\r\n }\r\n const conditionalValidation = () => {\r\n var hasErrors = false;\r\n if (inputHasError(genInfoFormDataCache.mailingAddressStreet, genInfoFormData.mailingAddressStreet) ||\r\n inputHasError(genInfoFormDataCache.mailingAddressCity, genInfoFormData.mailingAddressCity) ||\r\n inputHasError(genInfoFormDataCache.mailingAddressState, genInfoFormData.mailingAddressState) ||\r\n inputHasError(genInfoFormDataCache.mailingAddressStateProvidence, genInfoFormData.mailingAddressStateProvidence) ||\r\n inputHasError(genInfoFormDataCache.mailingAddressPostalCode, genInfoFormData.mailingAddressPostalCode) ||\r\n inputHasError(genInfoFormDataCache.mailingAddressCountry, genInfoFormData.mailingAddressCountry) ||\r\n inputHasError(genInfoFormDataCache.publicAddressStreet, genInfoFormData.publicAddressStreet) ||\r\n inputHasError(genInfoFormDataCache.publicAddressCity, genInfoFormData.publicAddressCity) ||\r\n inputHasError(genInfoFormDataCache.publicAddressState, genInfoFormData.publicAddressState) ||\r\n inputHasError(genInfoFormDataCache.publicAddressStateProvidence, genInfoFormData.publicAddressStateProvidence) ||\r\n inputHasError(genInfoFormDataCache.publicAddressPostalCode, genInfoFormData.publicAddressPostalCode) ||\r\n inputHasError(genInfoFormDataCache.publicAddressCountry, genInfoFormData.publicAddressCountry) ||\r\n\r\n\r\n inputHasError(genInfoFormDataCache.title, genInfoFormData.title) ||\r\n inputHasError(genInfoFormDataCache.federalId, genInfoFormData.federalId) ||\r\n inputHasError(genInfoFormDataCache.email, genInfoFormData.email) ||\r\n inputHasError(genInfoFormDataCache.isUsCitizen, genInfoFormData.isUsCitizen) ||\r\n inputHasError(genInfoFormDataCache.dateOfBirth, genInfoFormData.dateOfBirth) ||\r\n inputHasError(genInfoFormDataCache.birthCity, genInfoFormData.birthCity) ||\r\n inputHasError(genInfoFormDataCache.birthState, genInfoFormData.birthState) ||\r\n inputHasError(genInfoFormDataCache.nonUsBirthState, genInfoFormData.nonUsBirthState) ||\r\n inputHasError(genInfoFormDataCache.birthCountry, genInfoFormData.birthCountry) ||\r\n (genInfoFormData.isUsCitizen == false && inputHasError(genInfoFormDataCache.citizenshipCountry, genInfoFormData.citizenshipCountry))) {\r\n hasErrors = true;\r\n }\r\n\r\n if ((genInfoFormData.mailingAddressCountry?.country === \"United States\" && inputHasError(genInfoFormDataCache.mailingAddressState, genInfoFormData.mailingAddressState)) ||\r\n (genInfoFormData.mailingAddressCountry?.country !== \"United States\") && inputHasError(genInfoFormDataCache.mailingAddressStateProvidence, genInfoFormData.mailingAddressStateProvidence) ||\r\n (genInfoFormData.publicAddressCountry?.country !== \"United States\") && inputHasError(genInfoFormDataCache.publicAddressState, genInfoFormData.publicAddressState) ||\r\n (genInfoFormData.publicAddressCountry?.country !== \"United States\") && inputHasError(genInfoFormDataCache.publicAddressStateProvidence, genInfoFormData.publicAddressStateProvidence)) {\r\n hasErrors = true;\r\n }\r\n return hasErrors;\r\n }\r\n const submitModal = (validation, event) => {\r\n var validationObject = validationModel.check(genInfoFormData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n if (key == \"publicAddressStateProvidence\" || key == \"publicAddressState\") {\r\n if (!(key == \"publicAddressStateProvidence\" && genInfoFormData.publicAddressCountry?.country === \"United States\") &&\r\n !(key == \"publicAddressState\" && genInfoFormData.publicAddressCountry?.country !== \"United States\")) {\r\n return;\r\n }\r\n }\r\n else if (key == \"mailingAddressStateProvidence\" || key == \"mailingAddressState\") {\r\n if (!(key == \"mailingAddressStateProvidence\" && genInfoFormData.mailingAddressCountry?.country === \"United States\") &&\r\n !(key == \"mailingAddressState\" && genInfoFormData.mailingAddressCountry?.country !== \"United States\")) {\r\n return;\r\n }\r\n }\r\n else if (key.includes(\"birthState\") || key.includes(\"nonUsBirthState\")) {\r\n if (\r\n (genInfoFormData.birthCountry?.country !== \"United States\" && genInfoFormData.nonUsBirthState !== \"\")\r\n || (genInfoFormData.birthCountry?.country === \"United States\" && genInfoFormData.birthState?.state)) {\r\n continue;\r\n }\r\n else return;\r\n\r\n }\r\n else if (key.includes(\"citizenshipCountry\")) {\r\n if (genInfoFormData.isUsCitizen)\r\n continue;\r\n else return;\r\n }\r\n else if (key == \"userId\" && !data.userName) {\r\n continue;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n }\r\n if (conditionalValidation()) {\r\n setShowErrors(true);\r\n return;\r\n }\r\n var dataToTransmit = {\r\n ...data,\r\n firstName: genInfoFormData.firstName,\r\n middleName: genInfoFormData.middleName,\r\n lastName: genInfoFormData.lastName,\r\n maidenName: genInfoFormData.maidenName,\r\n suffix: genInfoFormData.suffix,\r\n title: genInfoFormData.title,\r\n lolaNumber: genInfoFormData.lolaNumber,\r\n mailingAddress: {\r\n ...data.mailingAddress,\r\n state: genInfoFormData.mailingAddressState,\r\n country: genInfoFormData.mailingAddressCountry,\r\n city: genInfoFormData.mailingAddressCity,\r\n postalCode: genInfoFormData.mailingAddressPostalCode,\r\n streetAddress: genInfoFormData.mailingAddressStreet,\r\n provinceRegion: genInfoFormData.mailingAddressStateProvidence\r\n },\r\n publicAddress: {\r\n ...data.publicAddress,\r\n state: genInfoFormData.publicAddressState,\r\n country: genInfoFormData.publicAddressCountry,\r\n city: genInfoFormData.publicAddressCity,\r\n postalCode: genInfoFormData.publicAddressPostalCode,\r\n streetAddress: genInfoFormData.publicAddressStreet,\r\n provinceRegion: genInfoFormData.publicAddressStateProvidence\r\n },\r\n userName: genInfoFormData.userId,\r\n //federalId: genInfoFormData.federalId,\r\n primaryEmailAddress: {\r\n ...data.primaryEmailAddress,\r\n contactEmailAddress: genInfoFormData.companyEmail\r\n },\r\n dateOfBirth: new Date(genInfoFormData.dateOfBirth),\r\n dateOfDeath: genInfoFormData.dateOfDeath ? new Date(genInfoFormData.dateOfDeath) : null,\r\n birthCity: genInfoFormData.birthCity,\r\n birthState: genInfoFormData.birthCountry?.id == 221 ? genInfoFormData.birthState : null,\r\n nonUsBirthState: genInfoFormData.birthCountry?.id == 221 ? \"\" : genInfoFormData.nonUsBirthState,\r\n birthCountry: genInfoFormData.birthCountry,\r\n visaGreenCardNumber: genInfoFormData.visaGreenCardNumber,\r\n myNceesNumber: genInfoFormData.myNceesNumber,\r\n isUsCitizen: genInfoFormData.isUsCitizen,\r\n primaryEmailAddress: { ...data.primaryEmailAddress, contactEmailAddress: genInfoFormData.email },\r\n alternateEmailAddress: { ...data.alternateEmailAddress, contactEmailAddress: genInfoFormData.alternateEmail },\r\n cellPhone: { ...data.cellPhone, contactPhoneNumber: genInfoFormData.mobilePhoneNum == '' ? null : genInfoFormData.mobilePhoneNum },\r\n homePhone: { ...data.homePhone, contactPhoneNumber: genInfoFormData.homePhoneNum == '' ? null : genInfoFormData.homePhoneNum },\r\n workPhone: { ...data.workPhone, contactPhoneNumber: genInfoFormData.workPhoneNum == '' ? null : genInfoFormData.workPhoneNum },\r\n additionalInformation: genInfoFormData.additionalInformation,\r\n citizenshipCountry: genInfoFormData.citizenshipCountry,\r\n certificateName: genInfoFormData.certificateName,\r\n journalSubscription: genInfoFormData.journalSubscription,\r\n pressReleases: genInfoFormData.pressReleases,\r\n webinar: genInfoFormData.webinar,\r\n emailPhonePrivacy: genInfoFormData.emailPhonePrivacy,\r\n }\r\n credentialService.postIndGeneralInfo(dataToTransmit).then((response) => {\r\n props.onHide();\r\n props.saveDataCallback();\r\n }).catch((reason) => {\r\n if (reason.response.status == 400)\r\n Swal.fire(\"Error!\", reason.response.data, 'error');\r\n else\r\n Swal.fire(\"Error!\", 'An error occured. Please try again.', 'error');\r\n })\r\n\r\n }\r\n return (\r\n \r\n \r\n

General Information

\r\n
\r\n \r\n {\r\n hasLoaded ?\r\n <>\r\n
{ setGenInfoFormData({ ...vals, citizenshipCountry: (vals.isUsCitizen ? null : vals.citizenshipCountry) }) }} onSubmit={submitModal}>\r\n \r\n \r\n \r\n \r\n First Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Middle Name\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Last Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Maiden Name\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Suffix\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Title\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n LOLA #\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
Mailing Address
\r\n
\r\n \r\n \r\n Country\r\n \r\n \r\n \r\n \r\n Address\r\n \r\n \r\n \r\n City \r\n \r\n \r\n {\r\n genInfoFormData.mailingAddressCountry?.country === \"United States\" &&\r\n <>\r\n \r\n State \r\n \r\n { if (label.toLowerCase().startsWith(userInput.toLowerCase()) || !userInput) return true; }}\r\n />\r\n \r\n }\r\n {\r\n genInfoFormData.mailingAddressCountry?.country !== \"United States\" &&\r\n <>\r\n \r\n State/Province/Region \r\n \r\n \r\n \r\n }\r\n \r\n Zip/Postal Code \r\n \r\n \r\n \r\n \r\n
Public Address
\r\n
\r\n \r\n \r\n Country\r\n \r\n \r\n \r\n \r\n Address\r\n \r\n \r\n \r\n City \r\n \r\n \r\n {\r\n genInfoFormData.publicAddressCountry?.country === \"United States\" &&\r\n <>\r\n \r\n State \r\n \r\n { if (label.toLowerCase().startsWith(userInput.toLowerCase()) || !userInput) return true; }}\r\n />\r\n \r\n }\r\n {\r\n genInfoFormData.publicAddressCountry?.country !== \"United States\" &&\r\n <>\r\n \r\n State/Province/Region \r\n \r\n \r\n \r\n }\r\n \r\n Zip/Postal Code \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {!data.userName ?\r\n \r\n UserId\r\n \r\n \r\n : \r\n UserId\r\n \r\n \r\n }\r\n \r\n Date of Birth\r\n \r\n \r\n \r\n Date of Death\r\n \r\n \r\n \r\n \r\n \r\n City of Birth\r\n \r\n \r\n \r\n \r\n {(genInfoFormData.birthCountry?.id === 221)\r\n ? State of Birth :\r\n State/Province/Region}\r\n \r\n {genInfoFormData.birthCountry?.id === 221 &&\r\n { if (label.toLowerCase().startsWith(userInput.toLowerCase()) || !userInput) return true; }}\r\n />\r\n }\r\n {\r\n genInfoFormData.birthCountry?.id !== 221 &&\r\n \r\n }\r\n \r\n \r\n Country of Birth\r\n \r\n \r\n \r\n \r\n \r\n SSN/FEIN\r\n \r\n \r\n \r\n Visa/Green Card No.\r\n \r\n \r\n \r\n NCEES ID #\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Email/Phone Privacy\r\n \r\n \r\n \r\n Email\r\n \r\n \r\n \r\n Alternate Email\r\n \r\n \r\n\r\n \r\n \r\n \r\n Mobile Phone\r\n \r\n \r\n \r\n Work Phone\r\n \r\n \r\n \r\n Home Phone\r\n \r\n \r\n \r\n \r\n \r\n US Citizen\r\n \r\n \r\n \r\n Certificate Name\r\n \r\n \r\n Amount Due\r\n \r\n \r\n {\r\n genInfoFormData.isUsCitizen == false &&\r\n \r\n \r\n <>\r\n Citizenship Country\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n Additional Information\r\n \r\n\r\n \r\n
\r\n\r\n \r\n \r\n Journal\r\n\r\n \r\n \r\n \r\n Press Releases\r\n \r\n \r\n \r\n Webinar\r\n \r\n \r\n \r\n
\r\n : \r\n }\r\n
\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default EditIndGeneralInformation;","import React, { useState, useEffect } from 'react';\r\nimport { Card, Row, Col, Button } from 'react-bootstrap'\r\nimport { FaEdit, FaUser } from 'react-icons/fa';\r\nimport { ControlLabel, Form, FormControl, InputPicker, SelectPicker } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport credentialService from '../../../../services/Internal/Credential/credential.service';\r\nimport { emailPhonePrivacy, journalDropdown, subscribeDropdown } from '../../../../services/Shared/codeTable.service';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\nimport PhoneNumberMask from '../../../Shared/GenericComponents/PhoneNumberMask';\r\nimport EditIndGeneralInformation from './EditIndGeneralInformationModal';\r\n\r\nfunction GeneralInfoCard(props) {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [showModal, setShowModal] = useState(false);\r\n const [data, setData] = useState({});\r\n const [genInfoFormData, setGenInfoFormData] = useState({});\r\n\r\n useEffect(() => {\r\n updateCard();\r\n }, [])\r\n\r\n const updateCard = () => {\r\n setHasLoaded(false);\r\n credentialService.getIndGeneralInfo(props.entityId).then((response) => {\r\n setData(response.data);\r\n setGenInfoFormData({\r\n userId: response.data.userName ?? '',\r\n dateOfBirth: response.data.dateOfBirth ? new Date(response.data.dateOfBirth).toLocaleDateString() : '',\r\n dateOfDeath: response.data.dateOfDeath ? new Date(response.data.dateOfDeath).toLocaleDateString() : '',\r\n birthCity: response.data.birthCity ?? '',\r\n birthState: response.data.birthState?.state ?? '',\r\n nonUsBirthState: response.data.nonUsBirthState ?? '',\r\n birthCountry: response.data.birthCountry?.country ?? '',\r\n federalId: response.data.federalId ?? '',\r\n visaGreenCardNumber: response.data.visaGreenCardNumber ?? '',\r\n myNceesNumber: response.data.myNceesNumber ?? '',\r\n isUsCitizen: response.data.isUsCitizen ? \"Yes\" : \"No\",\r\n email: response.data.primaryEmailAddress?.contactEmailAddress ?? '',\r\n alternateEmail: response.data.alternateEmailAddress?.contactEmailAddress ?? '',\r\n homePhone: response.data.homePhone?.contactPhoneNumber ?? '',\r\n mobilePhone: response.data.cellPhone?.contactPhoneNumber ?? '',\r\n workPhone: response.data.workPhone?.contactPhoneNumber ?? '',\r\n amountDue: response.data.amountDue.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n }),\r\n additionalInformation: response.data.additionalInformation ?? '',\r\n citizenshipCountry: response.data.citizenshipCountry?.country ?? '',\r\n certificateName: response.data.certificateName ?? '',\r\n journalSubscription: response.data.journalSubscription,\r\n pressReleases: response.data.pressReleases,\r\n webinar: response.data.webinar,\r\n emailPhonePrivacy: response.data.emailPhonePrivacy,\r\n\r\n })\r\n setHasLoaded(true);\r\n })\r\n }\r\n const saveGenInfo = () => {\r\n updateCard();\r\n Swal.fire('Success!', \"You have successfully updated this individual's general information.\", 'success');\r\n }\r\n const setAddress = (address) => {\r\n if (address?.streetAddress) {\r\n var addresses = address.streetAddress.split(\"\\n\").filter(x => (x != \"\") && (x != \"\\r\"));\r\n return (\r\n addresses.map((addressComponents) => {\r\n return (<>{addressComponents}
);\r\n })\r\n );\r\n }\r\n }\r\n return (\r\n <>\r\n setShowModal(false)} entityid={props.entityId} />\r\n \r\n \r\n \r\n GENERAL\r\n
\r\n \r\n
\r\n
\r\n {\r\n hasLoaded ?\r\n <>\r\n
\r\n

{data.formattedName}

\r\n LOLA #
\r\n {data.lolaNumber}\r\n
\r\n
Address Information
\r\n
\r\n \r\n \r\n \r\n Mailing Address\r\n \r\n {data.mailingAddress && <>\r\n {setAddress(data.mailingAddress)}\r\n {data.mailingAddress?.country?.country == 'United States' ?\r\n {data.mailingAddress?.city}, {data.mailingAddress?.state?.code} {data.mailingAddress?.postalCode} :\r\n {data.mailingAddress?.city}, {data.mailingAddress?.provinceRegion} {data.mailingAddress?.postalCode} }\r\n
\r\n {data.mailingAddress?.country?.country}
\r\n \r\n }\r\n
\r\n
\r\n \r\n \r\n \r\n Public Address\r\n \r\n {data.publicAddress &&\r\n <>\r\n {setAddress(data.publicAddress)}\r\n {data.publicAddress?.country?.country == 'United States' ?\r\n {data.publicAddress?.city}, {data.publicAddress?.state?.code} {data.publicAddress?.postalCode} :\r\n {data.publicAddress?.city}, {data.publicAddress?.provinceRegion} {data.publicAddress?.postalCode} }\r\n
\r\n {data.publicAddress?.country?.country}
\r\n }\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n UserId\r\n \r\n \r\n \r\n Date of Birth\r\n \r\n \r\n \r\n Date of Death\r\n \r\n \r\n \r\n \r\n \r\n City of Birth\r\n \r\n \r\n \r\n {genInfoFormData.birthCountry == \"United States\" &&\r\n <>\r\n State of Birth\r\n \r\n \r\n }\r\n {genInfoFormData.birthCountry != \"United States\" &&\r\n <>\r\n State/Province/Region\r\n \r\n \r\n }\r\n \r\n \r\n Country of Birth\r\n \r\n \r\n \r\n \r\n \r\n SSN/FEIN\r\n \r\n \r\n \r\n Visa/Green Card No.\r\n \r\n \r\n \r\n NCEES ID #\r\n \r\n \r\n \r\n \r\n \r\n Email/Phone Privacy\r\n \r\n\r\n \r\n \r\n Email\r\n {genInfoFormData.email ? : }\r\n \r\n \r\n Alternate Email\r\n {genInfoFormData.alternateEmail ? : }\r\n \r\n \r\n \r\n \r\n Mobile Phone\r\n \r\n \r\n \r\n Work Phone\r\n \r\n \r\n \r\n Home Phone\r\n \r\n \r\n \r\n \r\n \r\n US Citizen\r\n \r\n \r\n \r\n Certificate Name\r\n \r\n \r\n \r\n Amount Due\r\n \r\n \r\n \r\n {\r\n data.isUsCitizen == false &&\r\n \r\n \r\n <>\r\n Citizenship Country\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n Additional Information\r\n \r\n\r\n \r\n
\r\n \r\n \r\n Journal\r\n \r\n \r\n \r\n Press Releases\r\n \r\n \r\n \r\n Webinar\r\n \r\n \r\n \r\n
\r\n : \r\n }\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n )\r\n}\r\n\r\n\r\nexport default GeneralInfoCard;","import React, { useState } from 'react'\r\nimport { useEffect } from 'react';\r\nimport { Button } from 'react-bootstrap';\r\nimport { FaTrash } from 'react-icons/fa';\r\nimport { Table } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport credentialService from '../../../../services/Internal/Credential/credential.service';\r\nimport GenericBadge from '../../../Shared/Badge/GenericBadge';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\n\r\nfunction SupervisesTable(props) {\r\n const [gridData, setGridData] = useState([]);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n\r\n useEffect(() => {\r\n updateTable();\r\n }, [props.updateTable])\r\n\r\n const statusChange = (id) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You will not be able to reactivate this record!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, deactivate'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n credentialService.updateRelationshipStatus(id).then((response) => {\r\n updateTable();\r\n })\r\n }\r\n })\r\n\r\n }\r\n const removePendingSP = (id) => {\r\n Swal.fire({\r\n title: 'Are you sure you want to remove this SP?',\r\n text: \"You will not be able to reactivate this record!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n credentialService.removePendingSupervisingProfessional(id).then((response) => {\r\n if (response)\r\n updateTable();\r\n else\r\n Swal.fire(\"Failed to remove supervising professional\");\r\n })\r\n }\r\n })\r\n }\r\n const updateTable = () => {\r\n setHasLoaded(false);\r\n credentialService.getIndSupervises(props.entityid).then((data) => {\r\n setGridData(data.data.sort(function (a, b) {\r\n var x = (a.status + a.firmFormattedtName);\r\n var y = (b.status + b.firmFormattedtName);\r\n if (x < y) {\r\n return -1;\r\n }\r\n if (x > y) {\r\n return 1;\r\n }\r\n return 0;\r\n }));\r\n setHasLoaded(true)\r\n })\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n hasLoaded ?\r\n \r\n \r\n Firm Name\r\n {rowData => (rowData.firmFormattedName)}\r\n \r\n \r\n Firm License #\r\n {rowData => ()}\r\n \r\n \r\n Owner of this firm?\r\n {rowData => (rowData.isOwner ? 'Yes' : 'No')}\r\n \r\n \r\n Received Date\r\n {rowData => (rowData.sentDate != null ? new Date(rowData.sentDate).toLocaleDateString() : null)}\r\n \r\n \r\n Response Date\r\n {rowData => (rowData.responseDate != null ? new Date(rowData.responseDate).toLocaleDateString() : null)}\r\n \r\n \r\n Status\r\n {rowData => (rowData.codeVerificationStatus?.verificationStatus ? : '')}\r\n \r\n {props.editMode && gridData.filter((value, index) => {\r\n return (value.codeVerificationStatus.verificationStatus == \"Active\" || value.codeVerificationStatus.verificationStatus == \"Pending\")\r\n })?.length > 0 &&\r\n \r\n \r\n {rowData => {\r\n if (rowData.codeVerificationStatus.verificationStatus == \"Active\")\r\n return ()\r\n else if (rowData.codeVerificationStatus.verificationStatus == \"Pending\")\r\n return ()\r\n else return (<>)\r\n }\r\n }\r\n \r\n }\r\n
\r\n : \r\n }\r\n \r\n )\r\n}\r\n\r\nexport default SupervisesTable;","import React from 'react'\r\nimport { Button, Modal } from 'react-bootstrap';\r\nimport SupervisesTable from './SupervisesTable';\r\n\r\nfunction EditSupervisesModal(props) {\r\n\r\n return (\r\n \r\n \r\n

Supervises Information

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default EditSupervisesModal;","import React, { useEffect, useState } from 'react';\r\nimport { Card, Button } from 'react-bootstrap'\r\nimport { FaEdit, FaEye } from 'react-icons/fa';\r\nimport EditSupervisesModal from './EditSupervisesModal';\r\nimport SupervisesTable from './SupervisesTable';\r\n\r\nfunction SupervisesCard(props) {\r\n const [modalShow, setModalShow] = useState(false);\r\n const [updateTable, setUpdateTable] = useState(0);\r\n useEffect(() => { setUpdateTable(updateTable + 1) }, [props.updateData])\r\n return (\r\n \r\n \r\n
SUPERVISES\r\n
\r\n \r\n
\r\n \r\n { setUpdateTable(updateTable + 1); setModalShow(false) }} />\r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\n\r\nexport default SupervisesCard;","import React, { useState } from 'react';\r\nimport { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Col, Container, Row } from 'react-bootstrap';\r\nimport TopInformationCard from '../Shared/TopInformationCard';\r\nimport CommentsCard from '../Shared/CommentsCard';\r\nimport DocumentUploadsCard from '../Shared/DocumentUploadsCard';\r\nimport CpdLockerCard from './CpdLockerCard';\r\nimport CredentialCard from './CredentialCard';\r\nimport EmploymentCard from './EmploymentCard';\r\nimport GeneralInfoCard from './GeneralInfoCard';\r\nimport SupervisesCard from './SupervisesCard';\r\nimport recentContactService from '../../../../services/Internal/Recent/recentContacts.service'\r\n\r\nfunction CredentialPage() {\r\n const [entityId, setEntityId] = useState(0);\r\n const [updateSupervisesCard, setUpdateSupervisesCard] = useState(0);\r\n const [updateCommentCard, setUpdateCommentCard] = useState(0);\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n const urlSearchParams = new URLSearchParams(window.location.search);\r\n const params = Object.fromEntries(urlSearchParams.entries());\r\n if (params.entityId) {\r\n setEntityId(params.entityId);\r\n }\r\n const recentContact = { entityId: params.entityId, isFirm: false, entityName: \"\" }\r\n recentContactService.updateRecentContacts(recentContact).then((data) => {\r\n var token = parseInt(localStorage.getItem('updateRecentContacts')) ? parseInt(localStorage.getItem('updateRecentContacts')) : 0;\r\n localStorage.setItem('updateRecentContacts', token + 1)\r\n dispatch({ type: \"PERSIST_CURRENT_RECENT_CONTACTS\", payload: parseInt(localStorage.getItem('updateRecentContacts')) });\r\n })\r\n }, [])\r\n\r\n const updateSupervisesData = () => { setUpdateSupervisesCard(updateSupervisesCard + 1) }\r\n const updateCommentData = () => { setUpdateCommentCard(updateCommentCard + 1) }\r\n\r\n\r\n return (\r\n \r\n {entityId > 0 ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n :

No Entity ID provided. Please use the search.

\r\n }\r\n
\r\n )\r\n}\r\nexport default CredentialPage","import React, { useState } from 'react'\r\nimport { useEffect } from 'react';\r\nimport { Table } from 'rsuite'\r\nimport LoadingSpinner from '../../Shared/GenericComponents/LoadingSpinner';\r\nimport GenericPagination from '../../Shared/Grid/GenericPagination';\r\nimport recentContactService from \"../../../services/Internal/Recent/recentContacts.service\"\r\nimport { Button, Card } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { sort_by } from '../../Shared/HelperFunctions';\r\n\r\nfunction AllRecentContacts() {\r\n const [gridData, setGridData] = useState([]);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n const [sortColumn, setSortColumn] = useState(\"dateLastAccessed\");\r\n const [sortType, setSortType] = useState(\"desc\");\r\n const { push } = useHistory();\r\n\r\n useEffect(() => {\r\n recentContactService.getAllRecentContacts().then((response) => {\r\n if (response.data) {\r\n setGridData(response.data);\r\n }\r\n setHasLoaded(true);\r\n })\r\n\r\n }, [])\r\n const getData = () => {\r\n var sortedData = gridData.sort(sort_by(sortColumn, sortType !== \"asc\"));\r\n return sortedData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n\r\n const handleSortColumn = (sortColumn, sortType) => {\r\n setSortColumn(sortColumn);\r\n setSortType(sortType);\r\n }\r\n\r\n const filteredData = getData();\r\n\r\n return (\r\n <>\r\n \r\n \r\n

All Viewed Contacts

\r\n
\r\n \r\n {hasLoaded ? <>\r\n { handleSortColumn(sortColumn, sortType) }}\r\n sortColumn={sortColumn}\r\n sortType={sortType}\r\n wordWrap autoHeight data={filteredData} >\r\n \r\n \r\n \r\n {rowData => {\r\n return (\r\n View\r\n );\r\n }}\r\n \r\n \r\n \r\n \r\n Name\r\n \r\n \r\n \r\n \r\n \r\n Date Last Accessed\r\n \r\n {rowData => (new Date(rowData.dateLastAccessed).toLocaleString())}\r\n \r\n \r\n \r\n : }\r\n \r\n
\r\n \r\n )\r\n}\r\nexport default AllRecentContacts;","import React, { useState } from 'react'\r\nimport { useEffect } from 'react';\r\nimport { Table } from 'rsuite'\r\nimport LoadingSpinner from '../../Shared/GenericComponents/LoadingSpinner';\r\nimport GenericPagination from '../../Shared/Grid/GenericPagination';\r\nimport recentQueueService from \"../../../services/Internal/Recent/recentQueue.service\"\r\nimport { Button, Card } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useDispatch } from 'react-redux';\r\nimport { sort_by } from '../../Shared/HelperFunctions';\r\n\r\n\r\n\r\nfunction AllRecentQueue() {\r\n const [gridData, setGridData] = useState([]);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n const [sortColumn, setSortColumn] = useState(\"dateLastAccessed\");\r\n const [sortType, setSortType] = useState(\"desc\");\r\n const { push } = useHistory();\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n recentQueueService.getAllRecentQueue().then((response) => {\r\n if (response.data) {\r\n setGridData(response.data);\r\n }\r\n setHasLoaded(true);\r\n })\r\n\r\n }, [])\r\n const getData = () => {\r\n var sortedData = gridData.sort(sort_by(sortColumn, sortType !== \"asc\"));\r\n return sortedData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n\r\n const handleSortColumn = (sortColumn, sortType) => {\r\n setSortColumn(sortColumn);\r\n setSortType(sortType);\r\n }\r\n const filteredData = getData();\r\n\r\n const viewContact = (data) => {\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: data.parentId });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ENTITY_ID\", payload: data.entityId });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_TYPE_ID\", payload: data.appTypeId });\r\n dispatch({ type: \"PERSIST_CURRENT_ROUTE\", payload: JSON.parse(data.routes) });\r\n }\r\n return (\r\n <>\r\n \r\n \r\n

All Viewed Queue Items

\r\n
\r\n \r\n {hasLoaded ? <>\r\n { handleSortColumn(sortColumn, sortType) }}\r\n sortColumn={sortColumn}\r\n sortType={sortType}\r\n wordWrap autoHeight data={filteredData} >\r\n \r\n \r\n \r\n {rowData => {\r\n var link = JSON.parse(rowData.routes)[0].route;\r\n link = link.slice(0, link.lastIndexOf('/') + 1) + \"sections?recentQueueId=\" + rowData.id;\r\n return (\r\n viewContact(rowData)}>View\r\n );\r\n }}\r\n \r\n \r\n \r\n \r\n Name\r\n \r\n \r\n\r\n {rowData => {\r\n var display = rowData.entityName;\r\n var parentType = \"\";\r\n switch (rowData.parentTypeId) {\r\n case 1:\r\n parentType = \"Reinstatement\";\r\n break;\r\n case 2:\r\n parentType = \"Application\";\r\n break;\r\n case 3:\r\n parentType = \"Renewal\";\r\n break;\r\n default: break;\r\n }\r\n switch (rowData.appTypeId) {\r\n case 1:\r\n display += \" (EI \" + parentType + \")\";\r\n break;\r\n case 2:\r\n display += \" (LSI \" + parentType + \")\";\r\n break;\r\n case 3:\r\n case 4:\r\n display += \" (PE \" + parentType + \")\";\r\n break;\r\n case 5:\r\n case 6:\r\n display += \" (PLS \" + parentType + \")\";\r\n break;\r\n case 7:\r\n display += \" (EF \" + parentType + \")\";\r\n break;\r\n case 8:\r\n display += \" (VF \" + parentType + \")\";\r\n break;\r\n default:\r\n break;\r\n }\r\n return (\r\n display\r\n );\r\n }\r\n }\r\n \r\n \r\n \r\n \r\n Date Last Accessed\r\n \r\n {rowData => (new Date(rowData.dateLastAccessed).toLocaleString())}\r\n \r\n \r\n \r\n : }\r\n \r\n
\r\n \r\n )\r\n}\r\nexport default AllRecentQueue;","import React, { useState } from 'react'\r\nimport { useEffect } from 'react';\r\nimport { Table } from 'rsuite'\r\nimport LoadingSpinner from '../../Shared/GenericComponents/LoadingSpinner';\r\nimport changeLogService from \"../../../services/Shared/changeLog.service\"\r\nimport { sort_by } from '../../Shared/HelperFunctions';\r\nimport EntityInformationPage from '../Credential/Shared/EntityInformationPage';\r\n\r\nfunction ContactChangeLogForEntity() {\r\n const [contactAuditTrail, setContactAuditTrail] = useState([]);\r\n const [contactAuditTrailHasLoaded, setContactAuditTrailHasLoaded] = useState(false);\r\n const [entityId, setEntityId] = useState();\r\n const refreshChangeLog = () => {\r\n const urlSearchParams = new URLSearchParams(window.location.search);\r\n const params = Object.fromEntries(urlSearchParams.entries());\r\n setEntityId(params.entityId);\r\n changeLogService.getContactChangeLogData(params.entityId).then((response) => {\r\n setContactAuditTrail(response.data.sort(sort_by('dateMod', true)));\r\n })\r\n setContactAuditTrailHasLoaded(true);\r\n }\r\n\r\n useEffect(() => {\r\n refreshChangeLog();\r\n }, [])\r\n\r\n return (<>\r\n {contactAuditTrailHasLoaded ? <>\r\n\r\n \r\n
\r\n
\r\n

Contact Audit Trail

\r\n \r\n \r\n \r\n Date\r\n \r\n {rowData => (rowData.dateMod ? new Date(rowData.dateMod).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n User\r\n \r\n {rowData => (rowData.userMod)}\r\n \r\n \r\n \r\n Table\r\n \r\n {rowData => (rowData.parentName)}\r\n \r\n \r\n \r\n Field\r\n \r\n {rowData => (rowData.fieldName)}\r\n \r\n \r\n \r\n Old\r\n \r\n {rowData => (rowData.oldValue)}\r\n \r\n \r\n \r\n New\r\n \r\n {rowData => (rowData.newValue)}\r\n \r\n \r\n \r\n Comments\r\n \r\n {rowData => (rowData.comments)}\r\n \r\n
\r\n : \r\n }\r\n );\r\n}\r\nexport default ContactChangeLogForEntity;","import React, { useState } from 'react'\r\nimport { useEffect } from 'react';\r\nimport { Table } from 'rsuite'\r\nimport LoadingSpinner from '../../Shared/GenericComponents/LoadingSpinner';\r\nimport changeLogService from \"../../../services/Shared/changeLog.service\"\r\nimport { sort_by } from '../../Shared/HelperFunctions';\r\nimport EntityInformationPage from '../Credential/Shared/EntityInformationPage';\r\n\r\nfunction CredentialChangeLogForEntity() {\r\n const [credentialAuditTrail, setCredentialAuditTrail] = useState([]);\r\n const [credentialAuditTrailHasLoaded, setCredentialAuditTrailHasLoaded] = useState(false);\r\n const [entityId, setEntityId] = useState();\r\n\r\n const refreshChangeLog = () => {\r\n const urlSearchParams = new URLSearchParams(window.location.search);\r\n const params = Object.fromEntries(urlSearchParams.entries());\r\n setEntityId(params.entityId);\r\n changeLogService.getCredentialChangeLogData(params.entityId).then((response) => {\r\n setCredentialAuditTrail(response.data.sort(sort_by('dateMod', true)));\r\n })\r\n setCredentialAuditTrailHasLoaded(true);\r\n }\r\n\r\n useEffect(() => {\r\n refreshChangeLog();\r\n }, [])\r\n\r\n return (<>\r\n {credentialAuditTrailHasLoaded ? <>\r\n \r\n
\r\n
\r\n

Credential Audit Trail

\r\n \r\n \r\n \r\n Date\r\n \r\n {rowData => (rowData.dateMod ? new Date(rowData.dateMod).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Credential\r\n \r\n {rowData => (rowData.formattedCredential)}\r\n \r\n \r\n \r\n User\r\n \r\n {rowData => (rowData.userMod)}\r\n \r\n \r\n \r\n Table\r\n \r\n {rowData => (rowData.parentName)}\r\n \r\n \r\n \r\n Field\r\n \r\n {rowData => (rowData.fieldName)}\r\n \r\n \r\n \r\n Old\r\n \r\n {rowData => (rowData.oldValue)}\r\n \r\n \r\n \r\n New\r\n \r\n {rowData => (rowData.newValue)}\r\n \r\n \r\n \r\n Comments\r\n \r\n {rowData => (rowData.comments)}\r\n \r\n
\r\n : \r\n }\r\n );\r\n}\r\nexport default CredentialChangeLogForEntity;","import React, { useState, useEffect } from 'react';\r\nimport queueService from '../../../services/Internal/Queue/queue.service';\r\nimport entityService from '../../../services/Internal/Staff/entity.service';\r\nimport { Button } from 'react-bootstrap';\r\nimport Swal from 'sweetalert2';\r\n\r\nfunction ReassignButton({ taskId, refreshInternalStatus}) {\r\n const [employeeList, setEmployeeList] = useState({});\r\n const refreshEmployeeList = () => {\r\n entityService.getStaffAndAdminReassignList(taskId).then((response) => {\r\n var staffList = {};\r\n response.data.map((item, i) => {\r\n staffList[`${item.id}`] = `${item.firstName} ${item.lastName}`;\r\n })\r\n setEmployeeList(staffList);\r\n });\r\n };\r\n useEffect(() => {\r\n refreshEmployeeList();\r\n }, [])\r\n\r\n const handleAssignClick = () => {\r\n Swal.fire({\r\n title: 'Assign To',\r\n input: 'select',\r\n inputOptions: { ...employeeList },\r\n inputPlaceholder: 'Select a Reviewer',\r\n showCancelButton: true,\r\n confirmButtonText: 'Save',\r\n showLoaderOnConfirm: true,\r\n allowOutsideClick: () => !Swal.isLoading(),\r\n inputValidator: (value) => {\r\n return value === \"\" && 'Select a Reviewer!'\r\n }\r\n }).then((result) => {\r\n if (result.isConfirmed && result.value !== '') {\r\n queueService.reassignTask(taskId, result.value).then((response) => {\r\n if (response.status == 200) {\r\n Swal.fire(\"Successfully reassigned\");\r\n refreshEmployeeList();\r\n if (refreshInternalStatus)\r\n {\r\n refreshInternalStatus();\r\n }\r\n }\r\n })\r\n }\r\n else {\r\n if (!result.value && result.isConfirmed) {\r\n Swal.fire(\"Selected dropdown list item's value is empty\")\r\n }\r\n }\r\n })\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n )\r\n}\r\nexport default ReassignButton;","import React, { useState } from 'react';\r\nimport { useEffect } from 'react';\r\nimport { Button, Col, Row } from 'react-bootstrap';\r\nimport { ControlLabel, Form, FormControl, FormGroup, SelectPicker, Table } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport queueService from '../../../services/Internal/Queue/queue.service';\r\nimport { getInternalStatuses } from '../../../services/Shared/codeTable.service';\r\nimport GenericPagination from '../../Shared/Grid/GenericPagination';\r\nimport { sort_by } from '../../Shared/HelperFunctions';\r\nimport ReassignButton from './ReassignButton';\r\n\r\nfunction InternalTaskInfo({ parentTypeId, parentId, justLicensed }) {\r\n const [gridData, setGridData] = useState([]);\r\n const [statuses, setStatuses] = useState([]);\r\n const [taskId, setTaskId] = useState();\r\n const [sortColumn, setSortColumn] = useState(\"dateSubmitted\");\r\n const [sortType, setSortType] = useState(\"desc\");\r\n const [displayLength, setDisplayLength] = useState(10);\r\n const [page, setPage] = useState(1);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [model, setModel] = useState({\r\n internalStatus: null,\r\n comments: ''\r\n })\r\n useEffect(() => {\r\n getInternalStatuses().then(setStatuses);\r\n queueService.getTaskId(parentTypeId, parentId).then((response) => {\r\n setTaskId(response.data);\r\n refreshGrid(response.data);\r\n setHasLoaded(true);\r\n });\r\n\r\n }, [])\r\n useEffect(() => {\r\n queueService.getInternalTaskStatusAndComments(parentTypeId, parentId).then((response) => { setModel(response.data); });\r\n }, [justLicensed])\r\n const submitForm = () => {\r\n queueService.saveInternalTaskStatusAndComments(parentTypeId, parentId, model.internalStatus?.id, model.comments).then((response) => {\r\n if (response.data) {\r\n Swal.fire(\"Success!\", 'You have saved your internal comments and status.', 'success');\r\n }\r\n })\r\n }\r\n\r\n const getData = () => {\r\n var sortedData = gridData.sort(sort_by(sortColumn, sortType !== \"asc\"));\r\n return sortedData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n\r\n const handleSortColumn = (sortColumn, sortType) => {\r\n setSortColumn(sortColumn);\r\n setSortType(sortType);\r\n }\r\n\r\n const refreshInternalStatus = () => {\r\n queueService.getInternalTaskStatusAndComments(parentTypeId, parentId).then((response) => {\r\n setModel(response.data);\r\n refreshGrid();\r\n });\r\n }\r\n\r\n const refreshGrid = (initTaskId) => {\r\n setHasLoaded(false);\r\n queueService.getAssignmentHistory(initTaskId ?? taskId).then((response) => {\r\n setGridData(response.data);\r\n });\r\n }\r\n\r\n const filteredData = getData();\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n Comments\r\n \r\n \r\n \r\n \r\n \r\n Internal Status\r\n \r\n \r\n \r\n \r\n \r\n  \r\n \r\n \r\n \r\n \r\n \r\n \r\n { handleSortColumn(sortColumn, sortType) }}\r\n sortColumn={sortColumn}\r\n sortType={sortType}\r\n wordWrap autoHeight data={filteredData}>\r\n \r\n \r\n Assigned By\r\n \r\n \r\n \r\n \r\n \r\n Assigned To\r\n \r\n \r\n \r\n \r\n \r\n Date\r\n \r\n {rowData => (new Date(rowData.dateSubmitted).toLocaleDateString())}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\nexport default InternalTaskInfo;","import React, { useState, useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nfunction FormEntityInformation(props) {\r\n const [entityInformation, setEntityInformation] = useState({\r\n formType: \"\",\r\n currentSection: \"\",\r\n isIndividual: \"\",\r\n entityId: 0,\r\n entityName: \"\",\r\n licenseNumber: \"\",\r\n lolaNum: \"\",\r\n applicationDate: \"\"\r\n\r\n })\r\n const dispatch = useDispatch();\r\n const updateRecentContacts = () => {\r\n var token = parseInt(localStorage.getItem('updateRecentContacts')) ? parseInt(localStorage.getItem('updateRecentContacts')) : 0;\r\n localStorage.setItem('updateRecentContacts', token + 1)\r\n dispatch({ type: \"PERSIST_CURRENT_RECENT_CONTACTS\", payload: parseInt(localStorage.getItem('updateRecentContacts')) });\r\n }\r\n useEffect(() => {\r\n setEntityInformation({\r\n ...props\r\n })\r\n }, [props])\r\n\r\n return (\r\n <>\r\n {entityInformation.currentSection ? (`${entityInformation.formType}`) : \"\"}\r\n

{entityInformation.currentSection ? (`${entityInformation.currentSection}`) : (`${entityInformation.formType}`)} - updateRecentContacts()}>{entityInformation.entityName} {entityInformation.licenseNumber ? `- ${entityInformation.licenseNumber}` : \"\"}

\r\n
LOLA #{entityInformation.lolaNum}
\r\n
Application Date: {entityInformation.applicationDate ? new Date(entityInformation.applicationDate).toLocaleDateString() : \"\"}
\r\n \r\n )\r\n}\r\nexport default FormEntityInformation;\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, ListGroup, Button } from 'react-bootstrap';\r\nimport Section from '../../../Shared/Sections/Section';\r\nimport applicationService, { getSections } from \"../../../../services/Internal/Application/application.service\";\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Information from '../../../Shared/Card/Information'\r\nimport { GetAppInformationContent } from '../../../Shared/InformationContent/PlsInformation';\r\nimport entityService from '../../../../services/Internal/Staff/entity.service';\r\nimport Swal from 'sweetalert2';\r\nimport InternalTaskInfo from '../../Shared/InternalTaskInfo';\r\nimport FormEntityInformation from '../../Shared/FormEntityInformation';\r\nimport recentQueueService from '../../../../services/Internal/Recent/recentQueue.service'\r\nimport issuesService from '../../../../services/Shared/issues.service';\r\n\r\n\r\nfunction Index() {\r\n const marginRight = {\r\n marginRight: '1rem'\r\n }\r\n const [showSectionButton, setShowSectionButton] = useState(true);\r\n const [justLicensed, setJustLicensed] = useState(false);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Land Surveyor Application\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"\"\r\n }\r\n );\r\n const [sections, setSections] = useState(null);\r\n const dispatch = useDispatch();\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const selector = useSelector(x => x);\r\n useEffect(() => {\r\n var routes = JSON.parse(localStorage.getItem('PERSIST_CURRENT_ROUTE')) ?? selector.currentRoutes;\r\n var currentAppId = localStorage.getItem('PERSIST_CURRENT_APP_ID') ?? selector.currentApplicationId;\r\n var currentEntityID = localStorage.getItem('PERSIST_CURRENT_APP_ENTITY_ID') ?? selector.currentApplicationEntityId;\r\n var currentAppTypeId = localStorage.getItem('PERSIST_CURRENT_APP_TYPE_ID') ?? selector.currentApplicationTypeId;\r\n if (localStorage.getItem('PERSIST_CURRENT_APP_ID')) {\r\n localStorage.removeItem('PERSIST_CURRENT_ROUTE');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ENTITY_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_TYPE_ID');\r\n\r\n dispatch({ type: \"PERSIST_CURRENT_ROUTE\", payload: routes });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: currentAppId });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ENTITY_ID\", payload: currentEntityID });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_TYPE_ID\", payload: currentAppTypeId });\r\n }\r\n //Add to recent Queue\r\n recentQueueService.updateRecentQueue({\r\n entityId: currentEntityID,\r\n parentId: currentAppId,\r\n parentTypeId: 2,\r\n appTypeId: currentAppTypeId,\r\n routes: JSON.stringify(routes)\r\n }).then((data) => {\r\n var token = parseInt(localStorage.getItem('updateRecentQueue')) ? parseInt(localStorage.getItem('updateRecentQueue')) : 0;\r\n localStorage.setItem('updateRecentQueue', token + 1)\r\n dispatch({ type: \"PERSIST_CURRENT_RECENT_QUEUE\", payload: parseInt(localStorage.getItem('updateRecentQueue')) });\r\n })\r\n applicationService.getIndividualApplication(currentAppId).then((sectionResponse) => {\r\n entityService.getEntity(currentEntityID).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: sectionResponse.data?.credential?.formattedLicenseNumber,\r\n applicationDate: sectionResponse.data?.dateSubmitted\r\n })\r\n });\r\n setHasLoaded(true);\r\n if (sectionResponse.data.sections.findIndex((element) => element.staffReviewComplete === false) !== -1 || sectionResponse.data.status.id !== 2) {// status id 2 = pending\r\n setShowSectionButton(false);\r\n }\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(1, currentAppId).then((data) => {\r\n setSections(routes != null ? routes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route\r\n var index = sectionResponse.data.sections.findIndex(x => x.sectionType?.id == section.id);\r\n if (index !== -1) {\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (sectionResponse.data.sections[index].staffReviewComplete)\r\n section.status = \"COMPLETE\";\r\n else if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n })\r\n })\r\n })\r\n }, [])\r\n const sendStaffApproval = (isApproved) => {\r\n\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: `Do you want to ${isApproved ? 'license' : 'decline'} this application? You won't be able to revert this!`,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continue!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n Swal.fire({\r\n title: `${isApproved ? 'Licensing' : 'Declining'} Application`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n applicationService.postStaffApproval(selector.currentApplicationId, isApproved).then((response) => {\r\n if (response.data) {\r\n setShowSectionButton(false);\r\n Swal.fire({\r\n title: `Saving PDF`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n applicationService.postApplicationPdf(response.data.id, isApproved).then((data) => {\r\n if (data.data) {\r\n setJustLicensed(true);\r\n Swal.fire(\"Saved\", `The application was successfully ${isApproved ? 'approved' : 'declined'}!`, \"success\")\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n })\r\n\r\n }\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n \r\n

Sections to Complete

\r\n \r\n {sections}\r\n \r\n \r\n
\r\n {showSectionButton &&\r\n
\r\n \r\n \r\n
\r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Index;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PLSAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualPlsApplication\";\r\n\r\nconst getContactInformation = (applicationId) => {\r\n return axios.get(`${PLSAPPLICATIONURL}/contactinformation`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postContactInformation = (applicationId, certDisplayName) => {\r\n return axios.post(`${PLSAPPLICATIONURL}/contactinformation`, null, { headers: authHeader(), params: { applicationId, certDisplayName } });\r\n}\r\nexport default {\r\n getContactInformation,\r\n postContactInformation\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { Form } from 'rsuite';\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Swal from 'sweetalert2';\r\n\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/PlsInformation'\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport PersonalInformation from '../../../../Shared/Card/Contact/PersonalInformation';\r\nimport MailingAddress from '../../../../Shared/Card/Contact/MailingAddress';\r\nimport PublicAddress from '../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\n\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport contactService from '../../../../../services/Internal/Application/PLS/contact.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport dayjs from 'dayjs';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction ContactInformationPage() {\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const { push } = useHistory();\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 5 ? \"By Comity\" : appTypeId == 6 ? \"By Exam\" : \"\";\r\n const [formModel, setFormModel] = useState({});\r\n const [tabPane, setTabPane] = useState(\"personalInformation\")\r\n const [sectionData, setSectionData] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Land Surveyor Application \" + appType,\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Contact Information\"\r\n }\r\n );\r\n\r\n useEffect(() => {\r\n contactService.getContactInformation(appId).then((response) => {\r\n var data = response.data;\r\n\r\n setFormModel({\r\n ...data,\r\n dateOfBirth: data.dateOfBirth != null ? dayjs(data.dateOfBirth).format('YYYY-MM-DD') : null,\r\n altEmail: data.alternateEmailAddress?.emailAddress,\r\n primaryEmail: data.primaryEmailAddress?.emailAddress,\r\n cellPhoneNum: data.cellPhone?.phoneNumber,\r\n workPhoneNum: data.workPhone?.phoneNumber,\r\n homePhoneNum: data.homePhone?.phoneNumber\r\n })\r\n applicationService.plsGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n applicationService.getIndividualApplication(appId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n }, [])\r\n\r\n const formSubmit = (validation, event) => {\r\n submitData(true);\r\n }\r\n\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n //We need to post the mark section as complete\r\n contactService.postContactInformation(appId, formModel.certificateName).then((response) => {\r\n applicationService.plsMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (isForSubmit && response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)} onSubmit={formSubmit} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n {hasLoaded &&\r\n\r\n \r\n }\r\n\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import React from 'react';\r\nimport { Card, Row, Col } from 'react-bootstrap'\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\nimport YesNoRadioOption from '../../../../Shared/RadioButton/YesNoRadioOption';\r\nimport DocumentUpload from '../../../../Shared/Upload/DocumentUpload';\r\n\r\nfunction EducationRecord(props) {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
Education Records
\r\n \r\n
\r\n
\r\n \r\n

\r\n I have my education verified in MyNCEES account.\r\n

\r\n \r\n \r\n \r\n \r\n {props.hasMyNceesEducation == false &&\r\n \r\n You must create a MyNCEES account at ncees.org (https://account.ncees.org/login\r\n ), and have your transcript sent directly to NCEES. If you already have a MyNCEES account, you must have your education verified by NCEES\r\n \r\n }\r\n \r\n {(props.hasMyNceesEducation == true || props.hasMyNceesEducation == false) &&\r\n <>\r\n
\r\n

\r\n I have a ANSAC/ABET-accredited Geomatics degree.\r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {props.hasAnsacDegree == false &&\r\n <>\r\n
\r\n

\r\n I have a 4-year degree with approved 30 hours of surveying courses.\r\n

\r\n \r\n \r\n \r\n \r\n {props.hasFourYearDegree == true && // yes\r\n \r\n \r\n
    \r\n
  • Have all transcripts sent directly from your institutions to your MyNCEES
  • \r\n
  • Download the Approved Surveying Course \r\n list and the Course Evaluation Form from our website.\r\n
  • \r\n
  • In the event that you have not obtained Surveying Courses from our approved list, you must provide Syllabi for all courses that you want reviewed.
  • \r\n
\r\n
\r\n \r\n }\r\n {props.hasFourYearDegree == false && // no\r\n \r\n \r\n You may proceed to complete the application, but without 30 hours, you are not eligible for licensure in Louisiana. Contact staff at applications@lapels.com\r\n \r\n \r\n }\r\n
\r\n {props.hasFourYearDegree == true &&\r\n <>\r\n \r\n {!props.hasFiles &&\r\n
\r\n At least one attachment is required.\r\n
\r\n }\r\n \r\n }\r\n \r\n }\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default EducationRecord;","import React, { useEffect, useState } from 'react';\r\nimport { Container } from 'react-bootstrap';\r\nimport { useSelector } from 'react-redux';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport EducationRecord from './EducationRecords';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/PlsInformation';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction EducationPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [hasFiles, setHasFiles] = useState(false);\r\n const { push } = useHistory();\r\n const entityId = useSelector(x => x.currentApplicationEntityId)\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 5 ? \"By Comity\" : appTypeId == 6 ? \"By Exam\" : \"\";\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 2;\r\n const [sectionData, setSectionData] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Land Surveyor Application \" + appType,\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Education\"\r\n }\r\n );\r\n\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n applicationService.plsGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n applicationService.getIndividualApplication(appId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n const { BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasMyNceesEducation: BooleanType().isRequired('This field is required.'),\r\n hasAnsacDegree: BooleanType().isRequired('This field is required.'),\r\n hasFourYearDegree: BooleanType().isRequired('This field is required.')\r\n });\r\n\r\n const submitForm = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var validationObject = model.check(sectionData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n if (key == \"hasFourYearDegree\" && sectionData.hasAnsacDegree == true) {\r\n continue;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n }\r\n //if (sectionData.hasFourYearDegree && !hasFiles) {\r\n // return;\r\n //}\r\n applicationService.plsPostEducationSection(appId, sectionId, sectionData.hasMyNceesEducation, sectionData.hasAnsacDegree, sectionData.hasFourYearDegree).then(() => {\r\n applicationService.plsMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n })\r\n }\r\n }\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded ? <>\r\n
setSectionData(data)}>\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default EducationPage;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PLSAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualPlsApplication\";\r\n\r\nconst getPersonalReferences = (applicationId) => {\r\n return axios.get(`${PLSAPPLICATIONURL}/personalreferences`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postPersonalReference = (data) => {\r\n return axios.post(`${PLSAPPLICATIONURL}/personalreference`, data, { headers: authHeader() });\r\n}\r\n\r\nconst sendPersonalReferenceEmail = (referenceId) => {\r\n return axios.post(`${PLSAPPLICATIONURL}/sendreferenceemail`, null, { headers: authHeader(), params: { referenceId } });\r\n}\r\nconst downloadPersonalReferences = (applicationId, credType) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/Reports/GetApplicationPersonalReferences`, { headers: authHeader(), params: { applicationId: applicationId, credType: credType }, responseType: 'arraybuffer' });\r\n}\r\nexport default {\r\n getPersonalReferences,\r\n postPersonalReference,\r\n sendPersonalReferenceEmail,\r\n downloadPersonalReferences\r\n}","import React, { useState, useEffect, useRef } from 'react';\r\nimport LoadingSpinner from '../GenericComponents/LoadingSpinner';\r\nimport { Document, Page, pdfjs } from 'react-pdf';\r\nimport ReactToPrint from 'react-to-print';\r\nimport authHeader from '../../../services/authheader'\r\nimport { Button, Modal } from 'react-bootstrap';\r\nimport { FaPrint } from 'react-icons/fa';\r\nimport '../Card/ReviewPdf.css';\r\npdfjs.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.js`;\r\nfunction ExternalFormModal({ show, onHide, type, id }) {\r\n const [title, setTitle] = useState(\"\");\r\n const [numPages, setNumPages] = useState(null);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [pdfLoaded, setPdfLoaded] = useState(true);\r\n const componentRef = useRef();\r\n const [file, setFile] = useState({\r\n url: \"\",\r\n httpHeaders: {}\r\n })\r\n const [zoom, setZoom] = useState(1.5);\r\n function onDocumentLoadSuccess({ numPages }) {\r\n setNumPages(numPages);\r\n //setPdfLoaded(true);\r\n }\r\n useEffect(() => {\r\n if (show && id) {\r\n var header = authHeader();\r\n switch (type) {\r\n case \"experienceApplication\":\r\n setFile({\r\n url: process.env.REACT_APP_APIURL + \"/Reports/GetApplicationExperienceVerifierForm?experienceId=\" + id,\r\n httpHeaders: header\r\n })\r\n break;\r\n case \"experienceReinstatement\":\r\n setFile({\r\n url: process.env.REACT_APP_APIURL + \"/Reports/GetReinstatementExperienceVerifierForm?experienceId=\" + id,\r\n httpHeaders: header\r\n })\r\n break;\r\n case \"referencesApplication\":\r\n setFile({\r\n url: process.env.REACT_APP_APIURL + \"/Reports/GetApplicationReferenceVerifierForm?referenceId=\" + id,\r\n httpHeaders: header\r\n })\r\n break;\r\n case \"referencesReinstatement\":\r\n setFile({\r\n url: process.env.REACT_APP_APIURL + \"/Reports/GetReinstatementReferenceVerifierForm?referenceId=\" + id,\r\n httpHeaders: header\r\n })\r\n break;\r\n case \"recommendationApplication\":\r\n case \"recommendationReinstatement\":\r\n setFile({\r\n url: process.env.REACT_APP_APIURL + \"/Reports/GetApplicationRecommendationVerifierForm?recommendationId=\" + id,\r\n httpHeaders: header\r\n })\r\n break;\r\n default:\r\n }\r\n setHasLoaded(true);\r\n }\r\n }, [show])\r\n return (\r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded &&\r\n <>\r\n

Loading PDF...

}\r\n ref={componentRef}\r\n >\r\n {Array.from(\r\n new Array(numPages),\r\n (el, index) => (\r\n \r\n ),\r\n )}\r\n \r\n \r\n }\r\n
\r\n
\r\n \r\n ()}\r\n content={() => componentRef.current}\r\n />\r\n \r\n \r\n \r\n )\r\n}\r\nexport default ExternalFormModal;","import React, { useState, useEffect } from 'react'\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Container } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\n\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons'\r\nimport References from '../../../../Shared/Card/References'\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/PlsInformation';\r\nimport AddEditPersonalReferenceModal from '../../../../Shared/Modal/AddEditPersonalReferenceModal';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\n\r\nimport personalReferenceService from '../../../../../services/Internal/Application/PLS/personalReferences.service'\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport dayjs from 'dayjs';\r\nimport ExternalFormModal from '../../../../Shared/Modal/ExternalFormModal';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction PersonalReferencesPage() {\r\n const { push } = useHistory();\r\n const [modalShow, setModalShow] = useState(false);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [verifierModalShow, setVerifierModalShow] = useState(false);\r\n const [verifierId, setVerifierId] = useState(0);\r\n const entityId = useSelector(x => x.currentApplicationEntityId)\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 5 ? \"By Comity\" : appTypeId == 6 ? \"By Exam\" : \"\";\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 3;\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Land Surveyor Application \" + appType,\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"References\"\r\n }\r\n );\r\n const [modalData, setModalData] = useState({\r\n address: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: 0,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n firstOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: 0,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n secondOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: 0,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n applicationId: 0,\r\n dateCrte: null,\r\n deleted: false,\r\n email: \"\",\r\n entityId: 0,\r\n id: 0,\r\n name: \"\",\r\n userCrte: \"\",\r\n verificationStatus: null,\r\n membersOfSameFirm: null,\r\n notMembersOfSameFirmExplanation: '',\r\n dateFromFirstOccasion: null,\r\n dateToFirstOccasion: null,\r\n firstOccasionFirmName: '',\r\n firstOccasionPosition: '',\r\n firstOccasionReferencePosition: '',\r\n dateToSecondOccasion: null,\r\n dateFromSecondOccasion: null,\r\n secondOccasionFirmName: '',\r\n secondOccasionPosition: '',\r\n secondOccasionReferencePosition: '',\r\n modalType: \"Add\"\r\n });\r\n const [gridData, setGridData] = useState([]);\r\n const [sectionData, setSectionData] = useState({});\r\n\r\n useEffect(() => {\r\n applicationService.plsGetSection(appId, 3).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n applicationService.getIndividualApplication(appId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n });\r\n });\r\n\r\n updateGridData();\r\n })\r\n\r\n }, [])\r\n const updateGridData = () => {\r\n personalReferenceService.getPersonalReferences(appId).then((response) => {\r\n setHasLoaded(false);\r\n setGridData(response.data);\r\n setHasLoaded(true)\r\n });\r\n }\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.'),\r\n hasReferences: BooleanType().isRequired('This field is required.')\r\n });\r\n const openAddEditModal = (values) => {\r\n if (isUserEditable) {\r\n if (values.id) {\r\n var data = {\r\n ...values,\r\n dateToFirstOccasion: values.dateToFirstOccasion ? dayjs(values.dateToFirstOccasion).format('YYYY-MM') : null,\r\n dateFromFirstOccasion: values.dateFromFirstOccasion ? dayjs(values.dateFromFirstOccasion).format('YYYY-MM') : null,\r\n dateToSecondOccasion: values.dateToSecondOccasion ? dayjs(values.dateToSecondOccasion).format('YYYY-MM') : null,\r\n dateFromSecondOccasion: values.dateFromSecondOccasion ? dayjs(values.dateFromSecondOccasion).format('YYYY-MM') : null,\r\n modalType: \"Edit\"\r\n }\r\n setModalData(data);\r\n }\r\n else {\r\n setModalData({\r\n address: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: entityId,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n firstOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: entityId,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n secondOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: entityId,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n applicationId: appId,\r\n dateCrte: null,\r\n deleted: false,\r\n email: \"\",\r\n entityId: entityId,\r\n id: 0,\r\n name: \"\",\r\n userCrte: \"\",\r\n verificationStatus: null,\r\n membersOfSameFirm: null,\r\n notMembersOfSameFirmExplanation: '',\r\n dateFromFirstOccasion: null,\r\n dateToFirstOccasion: null,\r\n firstOccasionFirmName: '',\r\n firstOccasionPosition: '',\r\n firstOccasionReferencePosition: '',\r\n dateToSecondOccasion: null,\r\n dateFromSecondOccasion: null,\r\n secondOccasionFirmName: '',\r\n secondOccasionPosition: '',\r\n secondOccasionReferencePosition: '',\r\n modalType: \"Add\"\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n }\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n applicationService.plsPostSection(appId, sectionId, sectionData.electronicSignature).then((signatureResponse) => {\r\n applicationService.plsPostSectionHasRef(appId, sectionId, sectionData.hasReferences).then((response) => {\r\n applicationService.plsMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (response.data && signatureResponse.data && data.data) // If both return something it's good to go\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n\r\n })\r\n });\r\n });\r\n }\r\n }\r\n const openVerifierModal = (id) => {\r\n setVerifierId(id);\r\n setVerifierModalShow(true);\r\n }\r\n const formSave = (event) => {\r\n applicationService.plsPostSection(appId, sectionId, sectionData.electronicSignature).then(() => {\r\n applicationService.plsPostSectionHasRef(appId, sectionId, sectionData.hasReferences).then(() => {\r\n applicationService.plsMarkSectionComplete(appId, sectionId, isComplete).then(() => {\r\n Swal.fire(\"Saved!\");\r\n })\r\n })\r\n });\r\n }\r\n\r\n const downloadPersonalReferences = () => {\r\n Swal.fire({\r\n title: `Downloading PDF`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n personalReferenceService.downloadPersonalReferences(appId, \"PLS\").then((response) => {\r\n var name = new String(response.headers['content-disposition']);\r\n const downloadUrl = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = downloadUrl;\r\n link.setAttribute('target', '_blank');\r\n link.setAttribute('download', name.slice(name.indexOf('filename=') + 9, name.lastIndexOf(';')));\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n Swal.close();\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n\r\n const deleteRow = (rowData) => {\r\n if (isUserEditable) {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n personalReferenceService.postPersonalReference({ ...rowData, deleted: true }).then((response) => {\r\n updateGridData();\r\n })\r\n }\r\n })\r\n }\r\n }\r\n const emailReference = (rowData) => {\r\n if (isUserEditable) {\r\n personalReferenceService.sendPersonalReferenceEmail(rowData.id).then((response) => {\r\n if (response.data) {\r\n Swal.fire(`You have successfully sent an email to ${rowData.name} at ${rowData.email}!`);\r\n updateGridData();\r\n }\r\n else\r\n Swal.fire(`Failed to send email: ${response.data.message}`);\r\n })\r\n }\r\n }\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n

Personal References

\r\n {hasLoaded ? <>\r\n setModalShow(false)}\r\n onsave={personalReferenceService.postPersonalReference}\r\n />\r\n {verifierModalShow &&\r\n setVerifierModalShow(false)} id={verifierId} type=\"referencesApplication\" />\r\n }\r\n
setSectionData(data)} onSubmit={formSubmit} >\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default PersonalReferencesPage\r\n","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PLSAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualPlsApplication\";\r\n\r\nconst getViolation = (applicationId) => {\r\n return axios.get(`${PLSAPPLICATIONURL}/violation`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postViolation = (data) => {\r\n return axios.post(`${PLSAPPLICATIONURL}/violation`, data, { headers: authHeader() });\r\n}\r\nconst downloadViolationFile = (applicationId) => {\r\n axios.get(`${process.env.REACT_APP_APIURL}/Reports/GetApplicationViolationsForm`, { headers: authHeader(), params: { applicationId }, responseType: 'arraybuffer' }).then((response) => {\r\n var name = new String(response.headers['content-disposition']);\r\n const downloadUrl = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = downloadUrl;\r\n link.setAttribute('download', name.slice(name.indexOf('filename=') + 9, name.lastIndexOf(';')));\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n });\r\n}\r\nexport default {\r\n getViolation,\r\n postViolation,\r\n downloadViolationFile\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\n\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/PlsInformation';\r\nimport Information from '../../../../Shared/Card/Information';\r\n\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport ViolationService from '../../../../../services/Internal/Application/PLS/violation.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport { getCodeViolationAnswers } from '../../../../../services/Shared/codeTable.service';\r\nimport GenericViolations from '../../../../Shared/Card/Violations';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 5 ? \"By Comity\" : appTypeId == 6 ? \"By Exam\" : \"\";\r\n const sectionId = 4;\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const { StringType } = Schema.Types;\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Land Surveyor Application \" + appType,\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Violations\"\r\n }\r\n );\r\n const model = Schema.Model({\r\n signature: StringType().isRequired('This field is required.'),\r\n yesAnswerExplanation: StringType().isRequired('This field is required.'),\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n applicationService.plsGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n applicationService.getIndividualApplication(store.currentApplicationId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n });\r\n });\r\n ViolationService.getViolation(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, issues: formData.issues, files: formData.files, filesForDisplay: formData.filesForDisplay, signature: response.data.electronicSignature });\r\n }\r\n else {\r\n getCodeViolationAnswers(appTypeId).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n setHasLoaded(true);\r\n })\r\n })\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState({\r\n id: 0,\r\n signature: undefined,\r\n yesAnswerExplanation: \"\",\r\n files: [],\r\n filesForDisplay: []\r\n });\r\n\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true) >= 0;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n const downloadViolations = () => {\r\n ViolationService.downloadViolationFile(store.currentApplicationId)\r\n }\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n setShowFormErrors(true)\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n if (formData.signature) {\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, applicationId: store.currentApplicationId, entityId: store.currentApplicationEntityId };\r\n ViolationService.postViolation(dataTransfer).then((response) => {\r\n applicationService.plsPostSection(store.currentApplicationId, sectionId, formData.signature).then((response) => {\r\n applicationService.plsMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((data) => {\r\n if (response.data && data.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n })\r\n })\r\n });\r\n }\r\n }\r\n }\r\n }\r\n const formSave = () => {\r\n var dataTransfer = { ...formData, applicationId: store.currentApplicationId, entityId: store.currentApplicationEntityId };\r\n ViolationService.postViolation(dataTransfer).then((response) => {\r\n updateFormData({ ...response.data, signature: formData.signature });\r\n applicationService.plsPostSection(store.currentApplicationId, sectionId, formData.signature).then((response) => {\r\n applicationService.plsMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((data) => {\r\n Swal.fire(\"Saved!\")\r\n })\r\n })\r\n });\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PLSAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualPlsApplication\";\r\n\r\nconst getEmployment = (applicationId) => {\r\n return axios.get(`${PLSAPPLICATIONURL}/employment`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postEmployment = (data) => {\r\n return axios.post(`${PLSAPPLICATIONURL}/employment`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getEmployment,\r\n postEmployment\r\n}","import React, { useState, useEffect } from 'react'\r\nimport EmploymentLicensure from '../../../../Shared/Card/EmploymentLicensure'\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/PlsInformation';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport employmentService from '../../../../../services/Internal/Application/PLS/employment.service';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport { getVfCredential } from '../../../../../services/Shared/codeTable.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction EmploymentPage() {\r\n const [sectionData, setSectionData] = useState({});\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const { StringType, NumberType, ObjectType } = Schema.Types;\r\n const [option, setOption] = useState();\r\n const routes = useSelector(x => x.currentRoutes);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 5 ? \"By Comity\" : appTypeId == 6 ? \"By Exam\" : \"\";\r\n const sectionId = 5;\r\n const store = useSelector(x => x);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Land Surveyor Application \" + appType,\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Employment\"\r\n }\r\n );\r\n const [formModel, setFormModel] = useState({\r\n id: 0,\r\n employedBy: '',\r\n licensedFirmType: '',\r\n firmNumber: null,\r\n comment: ''\r\n })\r\n const model = Schema.Model({\r\n licensedFirmType: StringType().isRequired('This field is required'),\r\n comment: StringType().isRequired('This field is required'),\r\n employedBy: StringType().isRequired('This field is required'),\r\n firmNumber: ObjectType().isRequired(\"This field is required\"),\r\n });\r\n\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n employmentService.getEmployment(store.currentApplicationId).then((response) => {\r\n applicationService.plsGetSection(store.currentApplicationId, sectionId).then((data) => {\r\n setSectionData(data.data);\r\n setIsComplete(data.data.staffReviewComplete)\r\n if (response.data) {\r\n var licensedFirmType = \"\";\r\n if (response.data.firmIsLicensed)\r\n licensedFirmType = \"licensed\";\r\n else if (response.data.firmIsNotLicensed)\r\n licensedFirmType = \"unlicensed\";\r\n else if (response.data.soleProprietor)\r\n licensedFirmType = \"soleProprietor\";\r\n else if (response.data.unemployed)\r\n licensedFirmType = \"unemployed\"\r\n if (response.data.credentialId) {\r\n getVfCredential(response.data.credentialId).then((cred) => {\r\n setFormModel({\r\n id: response.data.id,\r\n employedBy: response.data.employedByName,\r\n firmNumber: cred?.value,\r\n comment: response.data.comment,\r\n licensedFirmType: licensedFirmType,\r\n signature: data.data.electronicSignature\r\n });\r\n setOption(licensedFirmType);\r\n })\r\n }\r\n else {\r\n setFormModel({\r\n id: response.data.id,\r\n employedBy: response.data.employedByName,\r\n firmNumber: response.data.credentialId,\r\n comment: response.data.comment,\r\n licensedFirmType: licensedFirmType,\r\n signature: data.data.electronicSignature\r\n });\r\n setOption(licensedFirmType);\r\n }\r\n }\r\n applicationService.getIndividualApplication(store.currentApplicationId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n })\r\n })\r\n })\r\n\r\n }, [])\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var hasErrors = false;\r\n var validationObject = model.check(formModel);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n if (key === \"firmNumber\" && formModel.licensedFirmType === \"licensed\") {\r\n hasErrors = true;\r\n return\r\n }\r\n else if (key === \"employedBy\" && formModel.licensedFirmType === \"unlicensed\") {\r\n hasErrors = true;\r\n return\r\n }\r\n else if (key === \"comment\" && formModel.licensedFirmType === \"soleProprietor\") {\r\n hasErrors = true;\r\n return\r\n }\r\n else if (key === \"licensedFirmType\" || key === \"signature\") {\r\n hasErrors = true;\r\n return\r\n }\r\n }\r\n }\r\n if (!hasErrors) {\r\n submitData(true);\r\n }\r\n }\r\n }\r\n\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n const clearFirmNumber = () => {\r\n setFormModel({ ...formModel, firmNumber: null });\r\n }\r\n const submitData = (isForSubmit) => {\r\n var dataTransfer = {\r\n id: formModel.id,\r\n applicationId: store.currentApplicationId,\r\n comment: formModel.comment === \"\" ? null : formModel.comment,\r\n credentialId: formModel.firmNumber ? formModel.firmNumber.licenseNumber : null,\r\n employedByName: formModel.employedBy === \"\" ? null : formModel.employedBy,\r\n entityId: store.currentApplicationEntityId,\r\n firmIsLicensed: formModel.licensedFirmType ? formModel.licensedFirmType == \"licensed\" ? true : false : null,\r\n firmIsNotLicensed: formModel.licensedFirmType ? formModel.licensedFirmType == \"unlicensed\" ? true : false : null,\r\n soleProprietor: formModel.licensedFirmType ? formModel.licensedFirmType == \"soleProprietor\" ? true : false : null,\r\n unemployed: formModel.licensedFirmType ? formModel.licensedFirmType == \"unemployed\" ? true : false : null\r\n };\r\n employmentService.postEmployment(dataTransfer).then((response) => {\r\n applicationService.plsPostSection(store.currentApplicationId, sectionId, formModel.signature).then((data) => {\r\n applicationService.plsMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((sectionData) => {\r\n if (response.data && sectionData.data && isForSubmit) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data && sectionData.data) {\r\n var licensedFirmType = \"\";\r\n if (response.data.firmIsLicensed)\r\n licensedFirmType = \"licensed\";\r\n else if (response.data.firmIsNotLicensed)\r\n licensedFirmType = \"unlicensed\";\r\n else if (response.data.soleProprietor)\r\n licensedFirmType = \"soleProprietor\";\r\n else if (response.data.unemployed)\r\n licensedFirmType = \"unemployed\"\r\n if (response.data.credentialId) {\r\n getVfCredential(response.data.credentialId).then((cred) => {\r\n setFormModel({\r\n id: response.data.id,\r\n employedBy: response.data.employedByName,\r\n firmNumber: cred,\r\n comment: response.data.comment,\r\n licensedFirmType: licensedFirmType,\r\n signature: data.data.electronicSignature\r\n });\r\n setOption(licensedFirmType);\r\n Swal.fire(\"Saved!\");\r\n })\r\n }\r\n else {\r\n setFormModel({\r\n id: response.data.id,\r\n employedBy: response.data.employedByName,\r\n firmNumber: response.data.credentialId,\r\n comment: response.data.comment,\r\n licensedFirmType: licensedFirmType,\r\n signature: data.data.electronicSignature\r\n });\r\n setOption(licensedFirmType);\r\n Swal.fire(\"Saved!\");\r\n }\r\n\r\n }\r\n })\r\n })\r\n });\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default EmploymentPage","import React, { useState, useEffect } from 'react'\r\nimport { Card, Container } from 'react-bootstrap'\r\nimport { Form, Schema } from 'rsuite'\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons'\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/PlsInformation';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\nimport DocumentUpload from '../../../../Shared/Upload/DocumentUpload';\r\n\r\nfunction QuizzesPage() {\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 5 ? \"By Comity\" : appTypeId == 6 ? \"By Exam\" : \"\";\r\n const sectionId = 6;\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [hasFiles, setHasFiles] = useState(false);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Land Surveyor Application \" + appType,\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Quizzes\"\r\n }\r\n );\r\n useEffect(() => {\r\n applicationService.plsGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data)\r\n setIsComplete(response.data.staffReviewComplete)\r\n applicationService.getIndividualApplication(appId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n\r\n const { push } = useHistory();\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (hasFiles) {\r\n applicationService.plsMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n }\r\n const handleSave = () => {\r\n applicationService.plsMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n Swal.fire(\"Saved!\")\r\n })\r\n }\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
{/*This is to make sure validation is triggered and form does nothing else*/}\r\n \r\n \r\n
Document Uploads
\r\n
\r\n \r\n \r\n {!hasFiles &&
Please select at least 1 file.
}\r\n
\r\n
\r\n
\r\n \r\n \r\n : \r\n }\r\n\r\n
\r\n
\r\n )\r\n}\r\nexport default QuizzesPage;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PLSAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualPlsApplication\";\r\n\r\nconst getExperienceRecords = (applicationId) => {\r\n return axios.get(`${PLSAPPLICATIONURL}/experiencerecords`, { headers: authHeader(), params: { applicationId} });\r\n}\r\nconst postExperienceRecord = (data) => {\r\n return axios.post(`${PLSAPPLICATIONURL}/experiencerecord`, data, { headers: authHeader() });\r\n}\r\nconst downloadExperiences = (applicationId, credType) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/Reports/GetApplicationExperiences`, { headers: authHeader(), params: { applicationId: applicationId, credType: credType }, responseType: 'arraybuffer' });\r\n}\r\nexport default {\r\n getExperienceRecords,\r\n postExperienceRecord,\r\n downloadExperiences\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Modal, Row, Col, Button } from 'react-bootstrap'\r\nimport { Input, SelectPicker, Form, ControlLabel, Schema, FormControl, FormGroup, Icon } from 'rsuite';\r\nimport experienceService from '../../../../../services/Internal/Application/PLS/experience.service';\r\n//import reinstatementExperienceService from '../../../../../../services/Public/Reinstatement/PLS/experience.service';\r\nimport { getEmploymentTypes } from '../../../../../services/Shared/codeTable.service';\r\nimport PhoneNumberMask from '../../../../Shared/GenericComponents/PhoneNumberMask';\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\n\r\n\r\nfunction AddEditExperienceRecordsModal(props) {\r\n const [recordModel, setRecordModel] = useState({\r\n applicationId: 0,\r\n comments: \"\",\r\n dateCrte: null,\r\n dateFrom: null,\r\n dateTo: null,\r\n deleted: false,\r\n employerName: \"\",\r\n employerPosition: \"\",\r\n employerEmail: \"\",\r\n employerPhone: \"\",\r\n verifierName: \"\",\r\n verifierPosition: \"\",\r\n verifierEmail: \"\",\r\n verifierPhone: \"\",\r\n employmentType: null,\r\n entityId: 0,\r\n id: 0,\r\n userCrte: \"\",\r\n position: \"\",\r\n location: \"\",\r\n description: \"\",\r\n acceptableDescription: \"\",\r\n //showErrors: false,\r\n emailAddresses: [\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 10,\r\n emailAddressParentType: \"Application Experience Employer\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 11,\r\n emailAddressParentType: \"Application Experience Verifier\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n phoneNumbers: [\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 10,\r\n phoneParentType: \"Application Experience Employer\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 11,\r\n phoneParentType: \"Application Experience Verifier\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n modalType: \"Add\"\r\n })\r\n const [employmentTypes, setEmploymentTypes] = useState([])\r\n useEffect(() => {\r\n getEmploymentTypes().then(setEmploymentTypes);\r\n setRecordModel(props.modaldata);\r\n }, [props.modaldata])\r\n\r\n const { StringType, ObjectType, NumberType } = Schema.Types;\r\n const model = Schema.Model({\r\n position: StringType().isRequired('This field is required.'),\r\n employerName: StringType().isRequired('This field is required.'),\r\n employerPosition: StringType().isRequired('This field is required.'),\r\n employerPhone: NumberType().pattern(/^[0-9]{10}/, \"Please enter a valid Phone Number\").isRequired(\"This field is required.\"),\r\n employerEmail: StringType().isRequired('This field is required.').isEmail(\"Enter a valid email\"),\r\n verifierName: StringType().isRequired('This field is required.'),\r\n verifierPosition: StringType().isRequired('This field is required.'),\r\n verifierPhone: NumberType().pattern(/^[0-9]{10}/, \"Please enter a valid Phone Number\").isRequired(\"This field is required.\"),\r\n verifierEmail: StringType().isRequired('This field is required.').isEmail(\"Enter a valid email\"),\r\n\r\n location: StringType().isRequired('This field is required.'),\r\n description: StringType().isRequired('This field is required.'),\r\n acceptableDescription: StringType().isRequired('This field is required.'),\r\n employmentType: ObjectType().isRequired('This field is required.'),\r\n dateFrom: StringType().isRequired('This field is required.'),\r\n dateTo: StringType().isRequired('This field is required.')\r\n })\r\n\r\n const formSubmit = (validation, event) => {\r\n var hasErrors = false;\r\n var validationObject = model.check(recordModel);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n hasErrors = true;\r\n return;\r\n }\r\n }\r\n if (!hasErrors) {\r\n submitData();\r\n }\r\n\r\n }\r\n const submitData = () => {\r\n var dataToTransmit = {\r\n ...recordModel,\r\n phoneNumbers: [\r\n {\r\n ...recordModel.phoneNumbers[0],\r\n contactPhoneNumber: recordModel.employerPhone\r\n },\r\n {\r\n ...recordModel.phoneNumbers[1],\r\n contactPhoneNumber: recordModel.verifierPhone\r\n }\r\n ],\r\n emailAddresses: [\r\n {\r\n ...recordModel.emailAddresses[0],\r\n contactEmailAddress: recordModel.employerEmail\r\n\r\n },\r\n {\r\n ...recordModel.emailAddresses[1],\r\n contactEmailAddress: recordModel.verifierEmail\r\n }\r\n ],\r\n dateFrom: new Date(recordModel.dateFrom),\r\n dateTo: new Date(recordModel.dateTo),\r\n id: recordModel.id === '' ? 0 : recordModel.id,\r\n };\r\n\r\n\r\n delete dataToTransmit.modalType;\r\n delete dataToTransmit.verifierEmail;\r\n delete dataToTransmit.verifierPhone;\r\n delete dataToTransmit.employerPhone;\r\n delete dataToTransmit.employerEmail;\r\n //delete dataToTransmit.showErrors;\r\n //if (props.appType === \"reinstatement\") {\r\n // reinstatementExperienceService.postExperienceRecord(dataToTransmit).then((response) => {\r\n // if (response.data.id) {\r\n // props.updateGrid();\r\n // props.onHide();\r\n // }\r\n // })\r\n //}\r\n //else {\r\n experienceService.postExperienceRecord(dataToTransmit).then((response) => {\r\n if (response.data.id) {\r\n props.updateGrid();\r\n props.onHide();\r\n }\r\n })\r\n //}\r\n }\r\n return (\r\n \r\n \r\n \r\n {recordModel.modalType} an Experience Record\r\n \r\n \r\n \r\n
setRecordModel(recordModel)} onSubmit={formSubmit} >\r\n \r\n \r\n \r\n \r\n \r\n Title of Position \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Location of Assignment/Engagement \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Description of Assignment \r\n \r\n indicate character of work and degree of responsibility \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n If not a licensed professional engineer/surveyor, explain why the experience should be considered acceptable. Otherwise, enter N/A. \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Employment Type \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Date From \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Date To \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n Employer Information \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Title \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Phone \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Email \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n Verifier Information \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Title \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Phone \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Email \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default AddEditExperienceRecordsModal;","import React, { useEffect, useState } from 'react'\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/PlsInformation';\r\nimport AddEditExperienceRecordsModal from './ExperienceRecordModal';\r\nimport Experience from '../../../../Shared/Card/Experience';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport experienceService from '../../../../../services/Internal/Application/PLS/experience.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport dayjs from 'dayjs';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport ExternalFormModal from '../../../../Shared/Modal/ExternalFormModal';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\nimport Swal from 'sweetalert2';\r\n\r\nfunction ExperiencePage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [modalShow, setModalShow] = useState(false);\r\n const [verifierModalShow, setVerifierModalShow] = useState(false);\r\n const [verifierExperienceId, setVerifierExperienceId] = useState(0);\r\n const [gridData, setGridData] = useState([]);\r\n const entityId = useSelector(x => x.currentApplicationEntityId)\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 5 ? \"By Comity\" : appTypeId == 6 ? \"By Exam\" : \"\";\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 7;\r\n const [modalData, setModalData] = useState({});\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Land Surveyor Application \" + appType,\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Experience\"\r\n }\r\n );\r\n useEffect(() => {\r\n setHasLoaded(false)\r\n applicationService.plsGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n applicationService.getIndividualApplication(appId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n updateGridData();\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n const { BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasMyNceesExperience: BooleanType().isRequired('This field is required.')\r\n });\r\n const openVerifierModal = (id) => {\r\n setVerifierExperienceId(id);\r\n setVerifierModalShow(true);\r\n }\r\n const openAddEditModal = (values) => {\r\n if (isUserEditable) {\r\n if (values.id) {\r\n setModalData(\r\n {\r\n ...values,\r\n verifierEmail: values.emailAddresses[1].contactEmailAddress,\r\n verifierPhone: values.phoneNumbers[1].contactPhoneNumber,\r\n employerEmail: values.emailAddresses[0].contactEmailAddress,\r\n employerPhone: values.phoneNumbers[0].contactPhoneNumber,\r\n dateFrom: values.dateFrom ? dayjs(values.dateFrom).format('YYYY-MM') : null,\r\n dateTo: values.dateTo ? dayjs(values.dateTo).format('YYYY-MM') : null,\r\n modalType: 'Edit'\r\n });\r\n }\r\n else {\r\n setModalData({\r\n applicationId: appId,\r\n comments: \"\",\r\n dateCrte: null,\r\n dateFrom: null,\r\n dateTo: null,\r\n deleted: false,\r\n employerName: \"\",\r\n employerPosition: \"\",\r\n verifierName: \"\",\r\n verifierPosition: '',\r\n verifierEmail: \"\",\r\n verifierPhone: \"\",\r\n employerEmail: \"\",\r\n employerPhone: \"\",\r\n employmentType: null,\r\n entityId: entityId,\r\n id: 0,\r\n userCrte: \"\",\r\n position: \"\",\r\n location: \"\",\r\n description: \"\",\r\n acceptableDescription: \"\",\r\n emailAddresses: [\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 10,\r\n emailAddressParentType: \"Application Experience Employer\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 11,\r\n emailAddressParentType: \"Application Experience Verifier\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n phoneNumbers: [\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 10,\r\n phoneParentType: \"Application Experience Employer\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 11,\r\n phoneParentType: \"Application Experience Verifier\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n modalType: \"Add\"\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n }\r\n const { push } = useHistory();\r\n\r\n const handleSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n applicationService.plsPostSectionHasExperience(appId, sectionId, sectionData.hasMyNceesExperience).then((response) => {\r\n applicationService.plsMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (response.data && data.data) // If both return something it's good to go\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n\r\n })\r\n });\r\n }\r\n }\r\n const updateGridData = () => {\r\n experienceService.getExperienceRecords(appId).then((response) => {\r\n setGridData(response.data)\r\n });\r\n }\r\n\r\n const downloadExperiences = () => {\r\n Swal.fire({\r\n title: `Downloading PDF`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n experienceService.downloadExperiences(appId, \"PLS\").then((response) => {\r\n var name = new String(response.headers['content-disposition']);\r\n const downloadUrl = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = downloadUrl;\r\n link.setAttribute('target', '_blank');\r\n link.setAttribute('download', name.slice(name.indexOf('filename=') + 9, name.lastIndexOf(';')));\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n Swal.close();\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded ? <>\r\n {modalShow &&\r\n setModalShow(false)} proptitle=\"Add\" />\r\n }\r\n {verifierModalShow &&\r\n setVerifierModalShow(false)} id={verifierExperienceId} type=\"experienceApplication\" />\r\n }\r\n
setSectionData(data)}>\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ExperiencePage","import React, { useState, useEffect } from 'react'\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Acknowledgement from '../../../../Shared/Card/Acknowledgement';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/PlsInformation';\r\nimport { useSelector } from 'react-redux';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport Swal from 'sweetalert2';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction AcknowledgementPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false)\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 5 ? \"By Comity\" : appTypeId == 6 ? \"By Exam\" : \"\";\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const sectionId = 8;\r\n const [formModel, setFormModel] = useState({})\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Land Surveyor Application \" + appType,\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Acknowledgement\"\r\n }\r\n );\r\n useEffect(() => {\r\n applicationService.plsGetSection(appId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n\r\n applicationService.getIndividualApplication(appId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n const submitData = (isForSubmit) => {\r\n applicationService.plsPostSection(appId, sectionId, formModel.electronicSignature).then((response) => {\r\n applicationService.plsMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (isForSubmit && response.data.id && data.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data.id && data.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/PlsInformation';\r\nimport applicationService, { getSections } from '../../../../../services/Internal/Application/application.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../Shared/Card/ReviewPdf';\r\nimport { Form, List } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport Swal from 'sweetalert2';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction ReviewPage() {\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const { push } = useHistory();\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 5 ? \"By Comity\" : appTypeId == 6 ? \"By Exam\" : \"\";\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Land Surveyor Application \" + appType,\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Review\"\r\n }\r\n );\r\n const sectionId = 9;\r\n useEffect(() => {\r\n applicationService.plsGetSection(appId, sectionId).then((response) => {\r\n setIsComplete(response.data.staffReviewComplete);\r\n applicationService.getIndividualApplication(appId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n\r\n\r\n const formSubmit = () => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n applicationService.plsMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n }\r\n const formSave = () => {\r\n applicationService.plsMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n Swal.fire(\"Saved!\");\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n {hasLoaded ?\r\n <>\r\n {violationIssuesHtml}\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PLSAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualPlsApplication\";\r\n\r\n\r\n\r\nconst getBoardRecommendations = (applicationId) => {\r\n return axios.get(`${PLSAPPLICATIONURL}/boardrecommendations`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst getBoardResponses = (applicationId) => {\r\n return axios.get(`${PLSAPPLICATIONURL}/boardmemberresponses`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postBoardRecommendation = (data) => {\r\n return axios.post(`${PLSAPPLICATIONURL}/boardrecommendation`, data, { headers: authHeader() });\r\n}\r\nconst postBoardResponse = (data) => {\r\n var header = authHeader();\r\n header['Content-Type'] = 'multipart/form-data';\r\n return axios.post(`${PLSAPPLICATIONURL}/boardmemberresponse`, data, { headers: { ...header } });\r\n}\r\nexport default {\r\n getBoardRecommendations,\r\n getBoardResponses,\r\n postBoardRecommendation,\r\n postBoardResponse\r\n}","import React, { useState, useEffect } from 'react'\r\nimport { Button, Card, Row, Col } from 'react-bootstrap'\r\nimport { ControlLabel, FormControl, FormGroup, Icon, SelectPicker, Table, Uploader } from 'rsuite'\r\nimport Swal from 'sweetalert2';\r\nimport boardApprovalService from '../../../../../services/Internal/Application/PLS/boardApproval.service';\r\nimport attachmentService from '../../../../../services/Shared/attachment.service';\r\nimport YesNoRadioOption from '../../../../Shared/RadioButton/YesNoRadioOption'\r\nimport DocumentUpload from '../../../../Shared/Upload/DocumentUpload';\r\n\r\nfunction BoardApproval(props) {\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n\r\n const handleChangePage = (dataKey) => {\r\n setPage(dataKey);\r\n }\r\n const handleChangeLength = (dataKey) => {\r\n setPage(1);\r\n setDisplayLength(dataKey);\r\n }\r\n\r\n const getData = () => {\r\n return props.gridData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const formDataAppender = (passedKey, model, formData) => {\r\n for (let key in model) {\r\n if (typeof (model[key]) === 'object') {\r\n formDataAppender(`${passedKey}.${key}`, model[key], formData); // Recursive key for objects\r\n }\r\n else {\r\n if (passedKey)\r\n formData.append(`${passedKey}.${key}`, model[key]);\r\n else\r\n formData.append(`${key}`, model[key]);\r\n }\r\n }\r\n }\r\n const filteredData = getData();\r\n const removeFile = (id, rowData) => {\r\n Swal.fire({\r\n title: 'Are you sure you want to delete this file?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n attachmentService.deleteFile(id).then((response) => {\r\n if (response.status == 200) {\r\n if (rowData) {\r\n var index = props.gridData.findIndex(x => x.id == rowData.id);\r\n var tempModel = props.gridData;\r\n tempModel[index].files = tempModel[index].files.filter(x => x.id !== id);\r\n props.setGridData([...tempModel]);\r\n }\r\n else {\r\n props.setFiles([...props.files.filter(x => x.id != id)])\r\n }\r\n }\r\n });\r\n }\r\n })\r\n }\r\n\r\n const openFile = (id) => {\r\n attachmentService.openFile(id);\r\n }\r\n return (\r\n <>\r\n\r\n \r\n
Board/Staff Attachments
\r\n \r\n \r\n
\r\n {/**/}\r\n {/* Education*/}\r\n {/* */}\r\n {/**/}\r\n {/*
*/}\r\n \r\n Additional Comments\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
Board/Staff Responses
\r\n \r\n {props.isUserEditable &&\r\n \r\n \r\n }\r\n
\r\n
\r\n \r\n \r\n \r\n Document\r\n \r\n {rowData => {\r\n return (<>\r\n {rowData.files.map((item, i) => {\r\n return (\r\n \r\n {props.isUserEditable &&\r\n \r\n }\r\n \r\n \r\n\r\n )\r\n })}\r\n \r\n )\r\n }}\r\n \r\n \r\n \r\n \r\n Date Sent\r\n \r\n {rowData => (rowData.dateSent ? new Date(rowData.dateSent).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Date Received\r\n \r\n {rowData => (rowData.dateReceived ? new Date(rowData.dateReceived).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Board Member\r\n \r\n {rowData => (`${rowData.boardMember.firstName} ${rowData.boardMember.middleName} ${rowData.boardMember.lastName}, ${rowData.boardMember.credentialSuffix}`)}\r\n \r\n \r\n \r\n Decision\r\n \r\n {rowData => (rowData.boardMemberDecision?.boardMemberDecision)}\r\n \r\n \r\n \r\n Comments\r\n \r\n \r\n \r\n {props.isUserEditable &&\r\n \r\n \r\n \r\n \r\n {rowData => {\r\n function handleAction() {\r\n var tempData = { ...rowData, files: [] }\r\n props.openModal(tempData);\r\n }\r\n function handleDelete() {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n var formData = new FormData();\r\n var dataToTransmit = {\r\n ...rowData,\r\n deleted: true,\r\n }\r\n formDataAppender('boardMemberResponse', dataToTransmit, formData);\r\n for (var i = 0; i < rowData.files.length; i++) {\r\n formData.append('files', rowData.files[i].blobFile);\r\n }\r\n boardApprovalService.postBoardResponse(formData).then((response) => {\r\n if (response.status == 200) {\r\n props.setGridData([...props.gridData.filter(x => x.id !== rowData.id)]);\r\n }\r\n })\r\n }\r\n })\r\n }\r\n return (\r\n \r\n   \r\n \r\n \r\n );\r\n }}\r\n \r\n }\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
Board/Staff Checklist
\r\n
\r\n \r\n

Exams verified in Applicants MyNCEES Account (FS, PLS, State Specific (Louisiana Laws))?

\r\n \r\n

Board approval?

\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default BoardApproval;","import { useState, useEffect } from 'react'\r\nimport { Button, Card, Col, Modal, Row } from 'react-bootstrap'\r\nimport React from 'react'\r\nimport { ControlLabel, Schema, Form, FormControl, FormGroup, InputPicker, Uploader } from 'rsuite'\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\nimport GenericAttachmentGrid from '../../../../Shared/Grid/GenericAttachmentGrid';\r\nimport { getBoardMembers } from '../../../../../services/Shared/codeTable.service';\r\nimport boardApprovalService from '../../../../../services/Internal/Application/PLS/boardApproval.service';\r\nimport attachmentService from '../../../../../services/Shared/attachment.service';\r\nimport Swal from 'sweetalert2';\r\nimport BlockUi from 'react-block-ui';\r\nimport 'react-block-ui/style.css';\r\n\r\nfunction BoardApprovalModal(props) {\r\n\r\n const { ObjectType, DateType } = Schema.Types;\r\n const [blockUi, setBlockUi] = useState(false);\r\n const model = Schema.Model({\r\n dateSent: DateType().isRequired('This field is required.'),\r\n boardMember: ObjectType().isRequired('This field is required.'),\r\n })\r\n const decisionData = [\r\n { \"label\": \"Approved\", \"value\": { id: 1, boardMemberDecision: \"Approved\" } },\r\n { \"label\": \"Declined\", \"value\": { id: 2, boardMemberDecision: \"Declined\" } }];\r\n\r\n const [boardMemebers, setBoardMembers] = useState([])\r\n const [approvalModel, setApprovalModel] = useState()\r\n useEffect(() => {\r\n setApprovalModel(props.modalData);\r\n getBoardMembers().then(setBoardMembers);\r\n }, [props.modalData])\r\n\r\n const formSubmit = (validation, event) => {\r\n if (validation) {\r\n setBlockUi(true);\r\n var formData = new FormData()\r\n var dataToTransmit = {\r\n ...approvalModel,\r\n dateSent: new Date(approvalModel.dateSent).toISOString(),\r\n dateReceived: approvalModel.dateReceived ? new Date(approvalModel.dateReceived).toISOString() : null\r\n }\r\n formDataAppender('boardMemberResponse', dataToTransmit, formData);\r\n for (var i = 0; i < approvalModel.files.length; i++) {\r\n formData.append('files', approvalModel.files[i].blobFile);\r\n }\r\n boardApprovalService.postBoardResponse(formData).then((response) => {\r\n setBlockUi(false);\r\n if (response.data.boardMemberResponse.id) {\r\n props.updateGrid();\r\n props.onHide();\r\n }\r\n\r\n })\r\n }\r\n\r\n }\r\n const formDataAppender = (passedKey, model, formData) => {\r\n for (let key in model) {\r\n if (typeof (model[key]) === 'object') {\r\n formDataAppender(`${passedKey}.${key}`, model[key], formData); // Recursive key for objects\r\n }\r\n else {\r\n if (passedKey)\r\n formData.append(`${passedKey}.${key}`, model[key]);\r\n else\r\n formData.append(`${key}`, model[key]);\r\n }\r\n }\r\n }\r\n const handleChange = (val, e) => {\r\n if (!e) {\r\n var newFiles = approvalModel.files;\r\n newFiles.push(val);\r\n setApprovalModel({ ...approvalModel, files: [...newFiles] })\r\n }\r\n };\r\n const deleteFile = (id) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n setApprovalModel({ ...approvalModel, files: approvalModel.files.filter(x => x.fileKey != id) })\r\n }\r\n })\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Board/Staff Member Response\r\n \r\n \r\n \r\n
setApprovalModel(approvalModel)} onSubmit={formSubmit} fluid>\r\n \r\n \r\n \r\n \r\n Date Sent \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Board/Staff Member \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n Date Received\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Decision\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n File Upload \r\n \r\n \r\n \r\n \r\n \r\n
Click or Drag files to this area to upload
\r\n \r\n \r\n
\r\n \r\n \r\n {approvalModel?.files?.length > 0 &&\r\n
\r\n
\r\n {\r\n return {\r\n id: value.fileKey,\r\n timestamp: new Date().toLocaleDateString(),\r\n file: value.blobFile?.name\r\n }\r\n })}\r\n isSync={true}\r\n tStyle=\"table-bordered\"\r\n name=\"filesForDisplay\" />\r\n
\r\n }\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Comments\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nexport default BoardApprovalModal;","import React, { useState, useEffect } from 'react'\r\nimport { Button, Col, Container, Row } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport BoardApproval from './BoardApproval';\r\nimport BoardApprovalModal from './BoardApprovalModal';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport { useSelector } from 'react-redux';\r\nimport boardApprovalService from '../../../../../services/Internal/Application/PLS/boardApproval.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Swal from 'sweetalert2';\r\nimport dayjs from \"dayjs\";\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction BoardApprovalPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const entityId = useSelector(x => x.currentApplicationEntityId)\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 5 ? \"By Comity\" : appTypeId == 6 ? \"By Exam\" : \"\";\r\n const sectionId = 10;\r\n const [modalShow, setModalShow] = useState(false);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [gridData, setGridData] = useState([]);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Land Surveyor Application \" + appType,\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Board/Staff Recommendations\"\r\n }\r\n );\r\n const { BooleanType, StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n //education: StringType().isRequired('This field is required'),\r\n boardApproval: BooleanType().isRequired('This field is required'),\r\n examsVerifiedInMyNcees: BooleanType().isRequired('This field is required')\r\n })\r\n\r\n const [formModel, setFormModel] = useState({\r\n applicationId: appId,\r\n boardApproval: null,\r\n dateCrte: null,\r\n deleted: false,\r\n entityId: entityId,\r\n examsVerifiedInMyNcees: null,\r\n education: \"\",\r\n additionalComments: \"\",\r\n id: 0,\r\n userCrte: \"\"\r\n })\r\n const [boardApprovalSectionId, setBoardApprovalSectionId] = useState();\r\n const [modalData, setModalData] = useState({\r\n comments: \"\",\r\n dateCrte: new Date(),\r\n dateReceived: new Date(),\r\n dateSent: new Date(),\r\n deleted: false,\r\n id: 0,\r\n userCrte: \"\",\r\n boardMemberDecision: null,\r\n boardMember: {\r\n appointmentYear: 0,\r\n credentialSuffix: \"\",\r\n expirationYear: 0,\r\n firstName: \"\",\r\n id: 0,\r\n lastName: \"\",\r\n middleName: \"\",\r\n representation: \"\",\r\n suffix: \"\"\r\n },\r\n entityId: entityId,\r\n applicationId: appId,\r\n boardStaffApprovalId: 0,\r\n files: [],\r\n filesForDisplay: [],\r\n filesLoading: false\r\n })\r\n\r\n useEffect(() => {\r\n applicationService.plsGetSection(appId, sectionId).then((response) => {\r\n boardApprovalService.getBoardRecommendations(appId).then((data) => {\r\n setFormModel(data.data);\r\n setModalData({ ...modalData, boardStaffApprovalId: data.data.id })\r\n updateGrid()\r\n setIsComplete(response.data.staffReviewComplete);\r\n setBoardApprovalSectionId(response.data.id);\r\n applicationService.getIndividualApplication(appId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n }, [])\r\n\r\n const updateGrid = () => {\r\n boardApprovalService.getBoardResponses(appId).then((vals) => {\r\n if (vals.data?.length)\r\n setGridData(\r\n vals.data.map((value, i) => { return { ...value.boardMemberResponse, files: [...value.attachments] } }))\r\n })\r\n }\r\n const submitData = (val) => {\r\n if (val) {\r\n boardApprovalService.postBoardRecommendation(formModel).then((val) => {\r\n if (val.data) {\r\n applicationService.plsMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n Swal.fire(\"Saved!\", \"You have successfully saved.\", 'success');\r\n //push(\"/internal/plsApp/sections\")\r\n })\r\n }\r\n })\r\n }\r\n }\r\n\r\n const openAddEditModal = (values) => {\r\n if (values.id) {\r\n setModalData({ ...values, dateReceived: values.dateReceived != null ? dayjs(values.dateReceived).format('YYYY-MM-DD') : null, dateSent: values.dateSent != null ? dayjs(values.dateSent).format('YYYY-MM-DD') : null })\r\n }\r\n else {\r\n setModalData({\r\n comments: \"\",\r\n dateCrte: new Date(),\r\n dateReceived: null,\r\n dateSent: null,\r\n deleted: false,\r\n id: 0,\r\n userCrte: \"\",\r\n boardMemberDecision: null,\r\n boardMember: null,\r\n entityId: entityId,\r\n applicationId: appId,\r\n boardStaffApprovalId: formModel.id,\r\n files: [],\r\n filesForDisplay: []\r\n\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n\r\n return (\r\n
\r\n \r\n setModalShow(false)} />\r\n
setFormModel(formModel)} onSubmit={submitData}>\r\n \r\n {hasLoaded ? <>\r\n \r\n \r\n \r\n \r\n  \r\n \r\n   \r\n \r\n {isUserEditable &&\r\n \r\n }\r\n \r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default BoardApprovalPage","import React, { useState, useEffect } from 'react';\r\nimport { Container, ListGroup, Button } from 'react-bootstrap';\r\nimport Section from '../../../Shared/Sections/Section.js';\r\nimport Information from '../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../Shared/InformationContent/PlsInformation.js';\r\nimport reinstatementService, { getSections } from '../../../../services/Internal/Reinstatement/reinstatement.service';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport entityService from '../../../../services/Internal/Staff/entity.service.js';\r\nimport Swal from 'sweetalert2';\r\nimport InternalTaskInfo from '../../Shared/InternalTaskInfo.jsx';\r\nimport FormEntityInformation from '../../Shared/FormEntityInformation';\r\nimport recentQueueService from '../../../../services/Internal/Recent/recentQueue.service'\r\nimport issuesService from '../../../../services/Shared/issues.service.js';\r\n\r\nfunction Sections() {\r\n const marginRight = {\r\n marginRight: '1rem'\r\n }\r\n const [showSectionButton, setShowSectionButton] = useState(true);\r\n const [justLicensed, setJustLicensed] = useState(false);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Land Surveyor Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"\"\r\n }\r\n );\r\n const [sections, setSections] = useState(null);\r\n const dispatch = useDispatch();\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const selector = useSelector(x => x);\r\n useEffect(() => {\r\n var routes = JSON.parse(localStorage.getItem('PERSIST_CURRENT_ROUTE')) ?? selector.currentRoutes;\r\n var currentAppId = localStorage.getItem('PERSIST_CURRENT_APP_ID') ?? selector.currentApplicationId;\r\n var currentEntityID = localStorage.getItem('PERSIST_CURRENT_APP_ENTITY_ID') ?? selector.currentApplicationEntityId;\r\n var currentAppTypeId = localStorage.getItem('PERSIST_CURRENT_APP_TYPE_ID') ?? selector.currentApplicationTypeId;\r\n if (localStorage.getItem('PERSIST_CURRENT_APP_ID')) {\r\n localStorage.removeItem('PERSIST_CURRENT_ROUTE');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ENTITY_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_TYPE_ID');\r\n\r\n dispatch({ type: \"PERSIST_CURRENT_ROUTE\", payload: routes });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: currentAppId });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ENTITY_ID\", payload: currentEntityID });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_TYPE_ID\", payload: currentAppTypeId });\r\n }\r\n //Add to recent Queue\r\n recentQueueService.updateRecentQueue({\r\n entityId: currentEntityID,\r\n parentId: currentAppId,\r\n parentTypeId: 1,\r\n appTypeId: 5,\r\n routes: JSON.stringify(routes)\r\n }).then((data) => {\r\n var token = parseInt(localStorage.getItem('updateRecentQueue')) ? parseInt(localStorage.getItem('updateRecentQueue')) : 0;\r\n localStorage.setItem('updateRecentQueue', token + 1)\r\n dispatch({ type: \"PERSIST_CURRENT_RECENT_QUEUE\", payload: parseInt(localStorage.getItem('updateRecentQueue')) });\r\n })\r\n\r\n reinstatementService.getIndividualReinstatement(currentAppId).then((sectionResponse) => {\r\n entityService.getEntity(currentEntityID).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: sectionResponse.data?.credential?.formattedLicenseNumber,\r\n applicationDate: sectionResponse.data?.dateSubmitted,\r\n formType: sectionResponse.data?.isOverFiveYears ? \"Professional Land Surveyor Reinstatement (5 plus years)\" : entityInfo.formType\r\n })\r\n });\r\n setHasLoaded(true);\r\n if (sectionResponse.data.sections.findIndex((element) => element.staffReviewComplete === false) !== -1 || sectionResponse.data.status.id !== 2) {// status id 2 = pending\r\n setShowSectionButton(false);\r\n }\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(3, currentAppId).then((data) => {\r\n setSections(routes != null ? routes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route\r\n var index = sectionResponse.data.sections.findIndex(x => x.sectionType?.id == section.id);\r\n if (index !== -1) {\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (sectionResponse.data.sections[index].staffReviewComplete)\r\n section.status = \"COMPLETE\";\r\n else if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n })\r\n })\r\n })\r\n }, [])\r\n\r\n const sendStaffApproval = (isApproved) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: `Do you want to ${isApproved ? 'license' : 'decline'} this reinstatement? You won't be able to revert this!`,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continue!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n Swal.fire({\r\n title: `${isApproved ? 'Licensing' : 'Declining'} Reinstatement`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n reinstatementService.postStaffApproval(selector.currentApplicationId, isApproved).then((response) => {\r\n if (response.data) {\r\n setShowSectionButton(false);\r\n Swal.fire({\r\n title: `Saving PDF`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n reinstatementService.postReinstatementPdf(response.data.id, isApproved).then((data) => {\r\n if (data.data) {\r\n setJustLicensed(true);\r\n Swal.fire(\"Saved\", `The reinstatement was successfully ${isApproved ? 'approved' : 'declined'}!`, \"success\")\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n })\r\n }\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n {sections}\r\n \r\n {showSectionButton &&\r\n
\r\n \r\n \r\n
\r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Sections;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PLSREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/IndividualPlsReinstatement\";\r\n\r\nconst getContactInformation = (reinstatementId) => {\r\n return axios.get(`${PLSREINSTATEMENTURL}/contactinformation`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nexport default {\r\n getContactInformation\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Swal from 'sweetalert2';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/PlsInformation';\r\nimport PersonalInformation from '../../../../Shared/Card/Contact/PersonalInformation';\r\nimport MailingAddress from '../../../../Shared/Card/Contact/MailingAddress';\r\nimport PublicAddress from '../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\n\r\nimport contactService from '../../../../../services/Internal/Reinstatement/PLS/contact.service';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/reinstatement.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport dayjs from 'dayjs'\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction ContactInformationPage() {\r\n const { push } = useHistory();\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [formModel, setFormModel] = useState({});\r\n const [tabPane, setTabPane] = useState(\"personalInformation\")\r\n const [sectionData, setSectionData] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Land Surveyor Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Contact Information\"\r\n }\r\n );\r\n\r\n useEffect(() => {\r\n contactService.getContactInformation(appId).then((response) => {\r\n var data = response.data;\r\n\r\n setFormModel({\r\n ...data,\r\n dateOfBirth: data.dateOfBirth != null ? dayjs(data.dateOfBirth).format('YYYY-MM-DD') : null,\r\n altEmail: data.alternateEmailAddress?.contactEmailAddress,\r\n primaryEmail: data.primaryEmailAddress?.contactEmailAddress,\r\n cellPhoneNum: data.cellPhone?.contactPhoneNumber,\r\n workPhoneNum: data.workPhone?.contactPhoneNumber,\r\n homePhoneNum: data.homePhone?.contactPhoneNumber\r\n })\r\n reinstatementService.plsGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n reinstatementService.getIndividualReinstatement(appId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n }, [])\r\n\r\n\r\n const formSubmit = (validation, event) => {\r\n\r\n submitData(true);\r\n\r\n }\r\n\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n reinstatementService.plsMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data) {\r\n if (isForSubmit) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n Swal.fire(\"Saved!\");\r\n }\r\n }\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)} onSubmit={formSubmit} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n {\r\n hasLoaded &&\r\n <>\r\n
\r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PLSREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/IndividualPlsReinstatement\";\r\n\r\nconst getEmployment = (reinstatementId) => {\r\n return axios.get(`${PLSREINSTATEMENTURL}/employment`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postEmployment = (data) => {\r\n return axios.post(`${PLSREINSTATEMENTURL}/employment`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getEmployment,\r\n postEmployment\r\n}","import React, { useState, useEffect } from 'react'\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/PlsInformation';\r\nimport EmploymentLicensure from '../../../../Shared/Card/EmploymentLicensure';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport employmentService from '../../../../../services/Internal/Reinstatement/PLS/employment.service';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/reinstatement.service';\r\nimport { getVfCredential } from '../../../../../services/Shared/codeTable.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction EmploymentPage() {\r\n const [sectionData, setSectionData] = useState({});\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const { StringType, ObjectType } = Schema.Types;\r\n const [option, setOption] = useState();\r\n const sectionId = 2;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const store = useSelector(x => x);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Land Surveyor Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Employment\"\r\n }\r\n );\r\n\r\n const [formModel, setFormModel] = useState({\r\n id: 0,\r\n reinstatementId: store.currentApplicationId,\r\n employedBy: '',\r\n licensedFirmType: '',\r\n firmNumber: null,\r\n comment: ''\r\n })\r\n const model = Schema.Model({\r\n licensedFirmType: StringType().isRequired('This field is required'),\r\n comment: StringType().isRequired('This field is required'),\r\n firmNumber: ObjectType().isRequired('This field is required'),\r\n employedBy: StringType().isRequired('This field is required')\r\n });\r\n\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n employmentService.getEmployment(store.currentApplicationId).then((response) => {\r\n reinstatementService.plsGetSection(store.currentApplicationId, sectionId).then((data) => {\r\n reinstatementService.getIndividualReinstatement(store.currentApplicationId).then((reinstatementData) => {\r\n setIsUserEditable(reinstatementData.data.status.id == 2)\r\n entityService.getEntity(data.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: reinstatementData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: reinstatementData.data?.dateSubmitted\r\n })\r\n });\r\n setSectionData(data.data);\r\n setIsComplete(data.data.staffReviewComplete)\r\n if (response.data) {\r\n var licensedFirmType = \"\";\r\n if (response.data.firmIsLicensed)\r\n licensedFirmType = \"licensed\";\r\n else if (response.data.firmIsNotLicensed)\r\n licensedFirmType = \"unlicensed\";\r\n else if (response.data.soleProprietor)\r\n licensedFirmType = \"soleProprietor\";\r\n else if (response.data.unemployed)\r\n licensedFirmType = \"unemployed\"\r\n if (response.data.credentialId) {\r\n getVfCredential(response.data.credentialId).then((cred) => {\r\n setFormModel({\r\n id: response.data.id,\r\n employedBy: response.data.employedByName,\r\n firmNumber: cred?.value,\r\n comment: response.data.comment,\r\n licensedFirmType: licensedFirmType\r\n });\r\n setOption(licensedFirmType);\r\n })\r\n }\r\n else {\r\n setFormModel({\r\n id: response.data.id,\r\n employedBy: response.data.employedByName,\r\n firmNumber: response.data.credentialId,\r\n comment: response.data.comment,\r\n licensedFirmType: licensedFirmType\r\n });\r\n setOption(licensedFirmType);\r\n }\r\n }\r\n setHasLoaded(true);\r\n })\r\n });\r\n })\r\n\r\n }, [])\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var hasErrors = false;\r\n var validationObject = model.check(formModel);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n if (key === \"firmNumber\" && formModel.licensedFirmType === \"licensed\") {\r\n hasErrors = true;\r\n return\r\n }\r\n else if (key === \"employedBy\" && formModel.licensedFirmType === \"unlicensed\") {\r\n hasErrors = true;\r\n return\r\n }\r\n else if (key === \"comment\" && formModel.licensedFirmType === \"soleProprietor\") {\r\n hasErrors = true;\r\n return\r\n }\r\n else if (key === \"licensedFirmType\" || key === \"signature\") {\r\n hasErrors = true;\r\n return\r\n }\r\n }\r\n }\r\n if (!hasErrors) {\r\n submitData(true);\r\n }\r\n }\r\n }\r\n\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n const clearFirmNumber = () => {\r\n setFormModel({ ...formModel, firmNumber: null });\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n var dataTransfer = {\r\n id: formModel.id,\r\n reinstatementId: store.currentApplicationId,\r\n comment: formModel.comment,\r\n credentialId: formModel.firmNumber ? formModel.firmNumber.licenseNumber : null,\r\n employedByName: formModel.employedBy,\r\n entityId: store.currentApplicationEntityId,\r\n firmIsLicensed: formModel.licensedFirmType ? formModel.licensedFirmType == \"licensed\" ? true : false : null,\r\n firmIsNotLicensed: formModel.licensedFirmType ? formModel.licensedFirmType == \"unlicensed\" ? true : false : null,\r\n soleProprietor: formModel.licensedFirmType ? formModel.licensedFirmType == \"soleProprietor\" ? true : false : null,\r\n unemployed: formModel.licensedFirmType ? formModel.licensedFirmType == \"unemployed\" ? true : false : null\r\n };\r\n employmentService.postEmployment(dataTransfer).then((response) => {\r\n reinstatementService.plsPostSection(store.currentApplicationId, sectionId, formModel.signature).then((data) => {\r\n reinstatementService.plsMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((val) => {\r\n if (response.data && isForSubmit && val.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data) {\r\n var licensedFirmType = \"\";\r\n if (response.data.firmIsLicensed)\r\n licensedFirmType = \"licensed\";\r\n else if (response.data.firmIsNotLicensed)\r\n licensedFirmType = \"unlicensed\";\r\n else if (response.data.soleProprietor)\r\n licensedFirmType = \"soleProprietor\";\r\n else if (response.data.unemployed)\r\n licensedFirmType = \"unemployed\"\r\n if (response.data.credentialId) {\r\n getVfCredential(response.data.credentialId).then((cred) => {\r\n setFormModel({\r\n id: response.data.id,\r\n employedBy: response.data.employedByName,\r\n firmNumber: cred,\r\n comment: response.data.comment,\r\n licensedFirmType: licensedFirmType\r\n });\r\n setOption(licensedFirmType);\r\n Swal.fire(\"Saved!\");\r\n })\r\n }\r\n else {\r\n setFormModel({\r\n id: response.data.id,\r\n employedBy: response.data.employedByName,\r\n firmNumber: response.data.credentialId,\r\n comment: response.data.comment,\r\n licensedFirmType: licensedFirmType\r\n });\r\n setOption(licensedFirmType);\r\n Swal.fire(\"Saved!\");\r\n }\r\n\r\n }\r\n })\r\n })\r\n });\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default EmploymentPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PLSREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/IndividualPlsReinstatement\";\r\n\r\nconst getViolation = (reinstatementId) => {\r\n return axios.get(`${PLSREINSTATEMENTURL}/violation`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postViolation = (data) => {\r\n return axios.post(`${PLSREINSTATEMENTURL}/violation`, data, { headers: authHeader() });\r\n}\r\nconst downloadViolationFile = (reinstatementId) => {\r\n axios.get(`${process.env.REACT_APP_APIURL}/Reports/GetReinstatementViolationsForm`, { headers: authHeader(), params: { reinstatementId }, responseType: 'arraybuffer' }).then((response) => {\r\n var name = new String(response.headers['content-disposition']);\r\n const downloadUrl = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = downloadUrl;\r\n link.setAttribute('download', name.slice(name.indexOf('filename=') + 9, name.lastIndexOf(';')));\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n });\r\n}\r\nexport default {\r\n getViolation,\r\n postViolation,\r\n downloadViolationFile\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Information from './../../../../Shared/Card/Information';\r\nimport { useHistory } from 'react-router-dom';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/PlsInformation';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/reinstatement.service';\r\nimport violationService from '../../../../../services/Internal/Reinstatement/PLS/violation.service';\r\nimport Swal from 'sweetalert2';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport { getReinstatementCodeViolationAnswers } from '../../../../../services/Shared/codeTable.service';\r\nimport GenericViolations from '../../../../Shared/Card/Violations';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const sectionId = 3;\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n signature: StringType().isRequired('This field is required.'),\r\n yesAnswerExplanation: StringType().isRequired('This field is required.'),\r\n });\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Land Surveyor Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Violations\"\r\n }\r\n );\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n reinstatementService.plsGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n violationService.getViolation(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, issues: formData.issues, files: formData.files, filesForDisplay: formData.filesForDisplay, signature: response.data.electronicSignature });\r\n }\r\n else {\r\n getReinstatementCodeViolationAnswers(5).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n reinstatementService.getIndividualReinstatement(store.currentApplicationId).then((reinstatementData) => {\r\n setIsUserEditable(reinstatementData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: reinstatementData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: reinstatementData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n signature: undefined,\r\n yesAnswerExplanation: \"\",\r\n files: [],\r\n filesForDisplay: [],\r\n issues: []\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true && x.codeViolationQuestion.versionNumber < 3) >= 0;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n\r\n //Verison 3+ violations\r\n const showBlukViolationExplanation = formData?.answers?.findIndex(x => x.answer == true && !x.codeViolationQuestion.hasExplanation && x.codeViolationQuestion.versionNumber >= 3) >= 0 ?\r\n `If the answer to question number 2-${formData.answers[0].codeViolationQuestion.versionNumber == 3 ? '6' : '5'} is \"Yes\", provide the date and the pertinent facts of the case or proceeding including its final disposition. Upload additional pages if necessary` : \"\";\r\n\r\n const downloadViolations = () => {\r\n violationService.downloadViolationFile(store.currentApplicationId)\r\n }\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n setShowFormErrors(true)\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n if (validationObject[key].hasError && (showBlukViolationExplanation && key.includes(\"yesAnswerExplanation\"))) {\r\n return;\r\n }\r\n\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer === true && x.codeViolationQuestion.hasExplanation && !x.violationExplanation) >= 0) {//undefined check\r\n return;\r\n }\r\n if (formData.signature) {\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, reinstatementId: store.currentApplicationId, entityId: store.currentApplicationEntityId };\r\n violationService.postViolation(dataTransfer).then((response) => {\r\n reinstatementService.plsMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((data) => {\r\n reinstatementService.plsPostSection(store.currentApplicationId, sectionId, formData.signature).then((response) => {\r\n if (response.data && data.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n })\r\n })\r\n });\r\n }\r\n }\r\n }\r\n\r\n }\r\n const formSave = () => {\r\n var dataTransfer = { ...formData, reinstatementId: store.currentApplicationId, entityId: store.currentApplicationEntityId };\r\n violationService.postViolation(dataTransfer).then((response) => {\r\n updateFormData({ ...response.data, signature: formData.signature });\r\n reinstatementService.plsMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((data) => {\r\n reinstatementService.plsPostSection(store.currentApplicationId, sectionId, formData.signature).then((response) => {\r\n Swal.fire(\"Saved!\")\r\n })\r\n })\r\n });\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import React, { useState, useEffect } from 'react'\r\nimport { Card, Container } from 'react-bootstrap'\r\nimport { Form, Schema } from 'rsuite'\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons'\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/PlsInformation';\r\nimport Swal from 'sweetalert2';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/reinstatement.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\nimport DocumentUpload from '../../../../Shared/Upload/DocumentUpload';\r\n\r\nfunction QuizzesPage() {\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const sectionId = 4;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [hasFiles, setHasFiles] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n useEffect(() => {\r\n reinstatementService.plsGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data)\r\n setIsComplete(response.data.staffReviewComplete)\r\n reinstatementService.getIndividualReinstatement(appId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n\r\n const { push } = useHistory();\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Land Surveyor Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Quizzes\"\r\n }\r\n );\r\n\r\n const handleSave = () => {\r\n reinstatementService.plsMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n Swal.fire(\"Saved!\")\r\n })\r\n }\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (hasFiles) {\r\n // do form post\r\n reinstatementService.plsMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
{/*This is to make sure validation is triggered and form does nothing else*/}\r\n \r\n \r\n
Document Uploads
\r\n
\r\n \r\n \r\n {!hasFiles &&
Please select at least 1 file.
}\r\n
\r\n
\r\n
\r\n \r\n \r\n : \r\n }\r\n\r\n
\r\n
\r\n )\r\n}\r\nexport default QuizzesPage;","import React from 'react'\r\nimport { Card, Row, Col, Badge, } from 'react-bootstrap'\r\nimport { FormControl } from 'rsuite'\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar'\r\nimport DocumentUpload from '../../../../Shared/Upload/DocumentUpload';\r\n\r\nfunction Courses(props) {\r\n return (\r\n \r\n \r\n
Courses
\r\n
\r\n \r\n
\r\n CPD Records must include the LAPELS approved CPD log with all certificates/proof of attendance uploaded in the section below.\r\n You may also choose to upload your CPD documentation in your NCEES CPC locker at ncees.org.\r\n
\r\n Course records must cover the last 24 months prior to starting this reinstatement application.\r\n }\r\n setHasFiles={props.setHasFiles}\r\n />\r\n {!props.hasFiles &&
Please upload at least 1 file.
}\r\n
\r\n
\r\n

\r\n The CPD credits listed herein are true and correct, and accurately state the professional development hours I have earned.\r\n

\r\n
\r\n \r\n \r\n
Electronic Signature of Applicant:
\r\n (Type full name)\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default Courses\r\n\r\n","import React, { useState, useEffect } from 'react'\r\nimport { Container } from 'react-bootstrap'\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport Swal from 'sweetalert2';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons'\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/reinstatement.service';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/PlsInformation';\r\nimport Courses from './Courses'\r\nimport { useSelector } from 'react-redux';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction CpdRequirementsPage() {\r\n const { push } = useHistory();\r\n\r\n const [formModel, setFormModel] = useState({\r\n electronicSignature: \"\",\r\n hasCpd: ''\r\n });\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [hasFiles, setHasFiles] = useState(false);\r\n const sectionId = 5;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.'),\r\n });\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Land Surveyor Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"CPD Requirements\"\r\n }\r\n );\r\n useEffect(() => {\r\n reinstatementService.plsGetSection(reinstatementId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n reinstatementService.getIndividualReinstatement(reinstatementId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n submitData(true);\r\n }\r\n\r\n }\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n const submitData = (isForSubmit) => {\r\n reinstatementService.plsPostSection(reinstatementId, sectionId, formModel.electronicSignature).then((response) => {\r\n reinstatementService.plsMarkSectionComplete(reinstatementId, sectionId, isComplete).then((data) => {\r\n if (isForSubmit && data.data.id) {\r\n push(routes[routes.map(function (x) { return x.sectionId }).indexOf(sectionId) + 1].route)\r\n }\r\n else if (data.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n else {\r\n Swal.fire(\"Error saving cpd\")\r\n }\r\n })\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit} fluid>\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default CpdRequirementsPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PLSAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualPlsReinstatement\";\r\n\r\nconst getPersonalReferences = (reinstatementId) => {\r\n return axios.get(`${PLSAPPLICATIONURL}/personalreferences`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postPersonalReference = (data) => {\r\n return axios.post(`${PLSAPPLICATIONURL}/personalreference`, data, { headers: authHeader() });\r\n}\r\nconst sendPersonalReferenceEmail = (referenceId) => {\r\n return axios.post(`${PLSAPPLICATIONURL}/sendreferenceemail`, null, { headers: authHeader(), params: { referenceId } });\r\n}\r\nconst downloadPersonalReferences = (reinstatementId, credType) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/Reports/GetReinstatementPersonalReferences`, { headers: authHeader(), params: { reinstatementId: reinstatementId, credType: credType }, responseType: 'arraybuffer' });\r\n}\r\nexport default {\r\n getPersonalReferences,\r\n postPersonalReference,\r\n sendPersonalReferenceEmail,\r\n downloadPersonalReferences\r\n}","import React, { useState, useEffect } from 'react'\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Container } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/PlsInformation';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport AddEditPersonalReferenceModal from '../../../../Shared/Modal/AddEditPersonalReferenceModal';\r\nimport References from '../../../../Shared/Card/References';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons'\r\n\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/reinstatement.service';\r\nimport personalReferenceService from '../../../../../services/Internal/Reinstatement/PLS/personalReference.service'\r\nimport dayjs from 'dayjs';\r\nimport ExternalFormModal from '../../../../Shared/Modal/ExternalFormModal';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction PersonalReferencesPage() {\r\n const { push } = useHistory();\r\n const [modalShow, setModalShow] = useState(false);\r\n const [hasLoaded, setHasLoaded] = useState(true);\r\n const [verifierModalShow, setVerifierModalShow] = useState(false);\r\n const [verifierId, setVerifierId] = useState(0);\r\n const entityId = useSelector(x => x.currentApplicationEntityId)\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 6;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Land Surveyor Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"References\"\r\n }\r\n );\r\n const [modalData, setModalData] = useState({\r\n address: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: 0,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n firstOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: 0,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n secondOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: 0,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n reinstatementId: 0,\r\n dateCrte: null,\r\n deleted: false,\r\n email: \"\",\r\n entityId: 0,\r\n id: 0,\r\n name: \"\",\r\n userCrte: \"\",\r\n verificationStatus: null,\r\n membersOfSameFirm: null,\r\n notMembersOfSameFirmExplanation: '',\r\n dateFromFirstOccasion: null,\r\n dateToFirstOccasion: null,\r\n firstOccasionFirmName: '',\r\n firstOccasionPosition: '',\r\n firstOccasionReferencePosition: '',\r\n dateToSecondOccasion: null,\r\n dateFromSecondOccasion: null,\r\n secondOccasionFirmName: '',\r\n secondOccasionPosition: '',\r\n secondOccasionReferencePosition: '',\r\n modalType: \"Add\"\r\n });\r\n const [gridData, setGridData] = useState([]);\r\n const [sectionData, setSectionData] = useState({});\r\n const openVerifierModal = (id) => {\r\n setVerifierId(id);\r\n setVerifierModalShow(true);\r\n }\r\n useEffect(() => {\r\n setHasLoaded(false)\r\n reinstatementService.plsGetSection(reinstatementId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n updateGridData();\r\n reinstatementService.getIndividualReinstatement(reinstatementId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n\r\n\r\n const updateGridData = () => {\r\n personalReferenceService.getPersonalReferences(reinstatementId).then((response) => {\r\n setGridData(response.data);\r\n });\r\n }\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.'),\r\n hasReferences: BooleanType().isRequired('This field is required.')\r\n });\r\n const openAddEditModal = (values) => {\r\n if (values.id) {\r\n var data = {\r\n ...values,\r\n dateToFirstOccasion: values.dateToFirstOccasion ? dayjs(values.dateToFirstOccasion).format('YYYY-MM') : null,\r\n dateFromFirstOccasion: values.dateFromFirstOccasion ? dayjs(values.dateFromFirstOccasion).format('YYYY-MM') : null,\r\n dateToSecondOccasion: values.dateToSecondOccasion ? dayjs(values.dateToSecondOccasion).format('YYYY-MM') : null,\r\n dateFromSecondOccasion: values.dateFromSecondOccasion ? dayjs(values.dateFromSecondOccasion).format('YYYY-MM') : null,\r\n modalType: \"Edit\"\r\n }\r\n setModalData(data);\r\n }\r\n else {\r\n setModalData({\r\n address: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: entityId,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n firstOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: entityId,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n secondOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: entityId,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n reinstatementId: reinstatementId,\r\n dateCrte: null,\r\n deleted: false,\r\n email: \"\",\r\n entityId: entityId,\r\n id: 0,\r\n name: \"\",\r\n userCrte: \"\",\r\n verificationStatus: null,\r\n membersOfSameFirm: null,\r\n notMembersOfSameFirmExplanation: '',\r\n dateFromFirstOccasion: null,\r\n dateToFirstOccasion: null,\r\n firstOccasionFirmName: '',\r\n firstOccasionPosition: '',\r\n firstOccasionReferencePosition: '',\r\n dateToSecondOccasion: null,\r\n dateFromSecondOccasion: null,\r\n secondOccasionFirmName: '',\r\n secondOccasionPosition: '',\r\n secondOccasionReferencePosition: '',\r\n modalType: \"Add\"\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n reinstatementService.plsPostSection(reinstatementId, sectionId, sectionData.electronicSignature).then((signatureResponse) => {\r\n reinstatementService.plsPostSectionHasRef(reinstatementId, sectionId, sectionData.hasReferences).then((response) => {\r\n reinstatementService.plsMarkSectionComplete(reinstatementId, sectionId, isComplete).then((data) => {\r\n if (response.data && signatureResponse.data && data.data) // If both return something it's good to go\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n });\r\n });\r\n });\r\n }\r\n\r\n }\r\n\r\n const formSave = (event) => {\r\n reinstatementService.plsPostSection(reinstatementId, sectionId, sectionData.electronicSignature).then(() => {\r\n reinstatementService.plsPostSectionHasRef(reinstatementId, sectionId, sectionData.hasReferences).then(() => {\r\n reinstatementService.plsMarkSectionComplete(reinstatementId, sectionId, isComplete).then(() => {\r\n Swal.fire(\"Saved!\");\r\n })\r\n })\r\n });\r\n }\r\n\r\n const downloadPersonalReferences = () => {\r\n Swal.fire({\r\n title: `Downloading PDF`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n personalReferenceService.downloadPersonalReferences(sectionData.reinstatementId, \"PLS\").then((response) => {\r\n var name = new String(response.headers['content-disposition']);\r\n const downloadUrl = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = downloadUrl;\r\n link.setAttribute('target', '_blank');\r\n link.setAttribute('download', name.slice(name.indexOf('filename=') + 9, name.lastIndexOf(';')));\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n Swal.close();\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n\r\n const deleteRow = (rowData) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n personalReferenceService.postPersonalReference({ ...rowData, deleted: true }).then((response) => {\r\n updateGridData();\r\n })\r\n }\r\n })\r\n }\r\n\r\n const emailReference = (rowData) => {\r\n personalReferenceService.sendPersonalReferenceEmail(rowData.id).then((response) => {\r\n if (response.data) {\r\n Swal.fire(`You have successfully sent an email to ${rowData.name} at ${rowData.email}!`);\r\n updateGridData();\r\n }\r\n else\r\n Swal.fire(`Failed to send email: ${response.data.message}`);\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n

\r\n Personal References\r\n

\r\n {hasLoaded ? <>\r\n setModalShow(false)}\r\n onsave={personalReferenceService.postPersonalReference}\r\n />\r\n {verifierModalShow &&\r\n setVerifierModalShow(false)} id={verifierId} type=\"referencesReinstatement\" />\r\n }\r\n
{ setSectionData(data) }} onSubmit={formSubmit} >\r\n \r\n
\r\n \r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default PersonalReferencesPage\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Modal, Row, Col, Button } from 'react-bootstrap'\r\nimport NumberFormat from 'react-number-format';\r\nimport { Input, SelectPicker, Form, ControlLabel, Schema, FormControl, FormGroup, Icon } from 'rsuite';\r\nimport experienceService from '../../../../../services/Public/Reinstatement/PLS/experience.service';\r\n//import reinstatementExperienceService from '../../../../../../services/Public/Reinstatement/PLS/experience.service';\r\nimport { getEmploymentTypes } from '../../../../../services/Shared/codeTable.service';\r\nimport PhoneNumberMask from '../../../../Shared/GenericComponents/PhoneNumberMask';\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\n\r\nconst InputMask = ({ onChange, ...rest }) => {\r\n return (\r\n {\r\n onChange(event.target.value);\r\n }}\r\n />\r\n );\r\n};\r\n\r\nfunction AddEditExperienceRecordsModal(props) {\r\n const [recordModel, setRecordModel] = useState({\r\n applicationId: 0,\r\n comments: \"\",\r\n dateCrte: null,\r\n dateFrom: null,\r\n dateTo: null,\r\n deleted: false,\r\n employerName: \"\",\r\n employerPosition: \"\",\r\n employerEmail: \"\",\r\n employerPhone: \"\",\r\n verifierName: \"\",\r\n verifierPosition: \"\",\r\n verifierEmail: \"\",\r\n verifierPhone: \"\",\r\n employmentType: null,\r\n entityId: 0,\r\n id: 0,\r\n userCrte: \"\",\r\n position: \"\",\r\n location: \"\",\r\n description: \"\",\r\n acceptableDescription: \"\",\r\n //showErrors: false,\r\n emailAddresses: [\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 10,\r\n emailAddressParentType: \"Application Experience Employer\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 11,\r\n emailAddressParentType: \"Application Experience Verifier\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n phoneNumbers: [\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 10,\r\n phoneParentType: \"Application Experience Employer\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 11,\r\n phoneParentType: \"Application Experience Verifier\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n modalType: \"Add\"\r\n })\r\n const [employmentTypes, setEmploymentTypes] = useState([])\r\n useEffect(() => {\r\n getEmploymentTypes().then(setEmploymentTypes);\r\n setRecordModel(props.modaldata);\r\n }, [props.modaldata])\r\n\r\n const { StringType, ObjectType, NumberType } = Schema.Types;\r\n const model = Schema.Model({\r\n position: StringType().isRequired('This field is required.'),\r\n employerName: StringType().isRequired('This field is required.'),\r\n employerPosition: StringType().isRequired('This field is required.'),\r\n employerPhone: NumberType().pattern(/^[0-9]{10}/, \"Please enter a valid Phone Number\").isRequired(\"This field is required.\"),\r\n employerEmail: StringType().isRequired('This field is required.').isEmail(\"Enter a valid email\"),\r\n verifierName: StringType().isRequired('This field is required.'),\r\n verifierPosition: StringType().isRequired('This field is required.'),\r\n verifierPhone: NumberType().pattern(/^[0-9]{10}/, \"Please enter a valid Phone Number\").isRequired(\"This field is required.\"),\r\n verifierEmail: StringType().isRequired('This field is required.').isEmail(\"Enter a valid email\"),\r\n\r\n location: StringType().isRequired('This field is required.'),\r\n description: StringType().isRequired('This field is required.'),\r\n acceptableDescription: StringType().isRequired('This field is required.'),\r\n employmentType: ObjectType().isRequired('This field is required.'),\r\n dateFrom: StringType().isRequired('This field is required.'),\r\n dateTo: StringType().isRequired('This field is required.')\r\n })\r\n\r\n const formSubmit = (validation, event) => {\r\n var hasErrors = false;\r\n var validationObject = model.check(recordModel);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n hasErrors = true;\r\n return;\r\n }\r\n }\r\n if (!hasErrors) {\r\n submitData();\r\n }\r\n\r\n }\r\n const submitData = () => {\r\n var dataToTransmit = {\r\n ...recordModel,\r\n phoneNumbers: [\r\n {\r\n ...recordModel.phoneNumbers[0],\r\n contactPhoneNumber: recordModel.employerPhone\r\n },\r\n {\r\n ...recordModel.phoneNumbers[1],\r\n contactPhoneNumber: recordModel.verifierPhone\r\n }\r\n ],\r\n emailAddresses: [\r\n {\r\n ...recordModel.emailAddresses[0],\r\n contactEmailAddress: recordModel.employerEmail\r\n\r\n },\r\n {\r\n ...recordModel.emailAddresses[1],\r\n contactEmailAddress: recordModel.verifierEmail\r\n }\r\n ],\r\n dateFrom: new Date(recordModel.dateFrom),\r\n dateTo: new Date(recordModel.dateTo),\r\n id: recordModel.id === '' ? 0 : recordModel.id,\r\n };\r\n\r\n\r\n delete dataToTransmit.modalType;\r\n delete dataToTransmit.verifierEmail;\r\n delete dataToTransmit.verifierPhone;\r\n delete dataToTransmit.employerPhone;\r\n delete dataToTransmit.employerEmail;\r\n //delete dataToTransmit.showErrors;\r\n //if (props.appType === \"reinstatement\") {\r\n // reinstatementExperienceService.postExperienceRecord(dataToTransmit).then((response) => {\r\n // if (response.data.id) {\r\n // props.updateGrid();\r\n // props.onHide();\r\n // }\r\n // })\r\n //}\r\n //else {\r\n experienceService.postExperienceRecord(dataToTransmit).then((response) => {\r\n if (response.data.id) {\r\n props.updateGrid();\r\n props.onHide();\r\n }\r\n })\r\n //}\r\n }\r\n return (\r\n \r\n \r\n \r\n {recordModel.modalType} an Experience Record\r\n \r\n \r\n \r\n
setRecordModel(recordModel)} onSubmit={formSubmit} >\r\n \r\n \r\n \r\n \r\n \r\n Title of Position \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Location of Assignment/Engagement \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Description of Assignment \r\n \r\n indicate character of work and degree of responsibility \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n If not a licensed professional engineer/surveyor, explain why the experience should be considered acceptable. Otherwise, enter N/A. \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Employment Type \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Date From \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Date To \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n Employer Information \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Title \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Phone \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Email \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n Verifier Information \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Title \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Phone \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Email \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default AddEditExperienceRecordsModal;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PLSREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/IndividualPlsReinstatement\";\r\n\r\nconst getExperienceRecords = (reinstatementId) => {\r\n return axios.get(`${PLSREINSTATEMENTURL}/experiencerecords`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postExperienceRecord = (data) => {\r\n return axios.post(`${PLSREINSTATEMENTURL}/experiencerecord`, data, { headers: authHeader() });\r\n}\r\nconst downloadExperiences = (reinstatementId, credType) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/Reports/GetReinstatementExperiences`, { headers: authHeader(), params: { reinstatementId: reinstatementId, credType: credType }, responseType: 'arraybuffer' });\r\n}\r\nexport default {\r\n getExperienceRecords,\r\n postExperienceRecord,\r\n downloadExperiences\r\n}","import React, { useEffect, useState } from 'react'\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/PlsInformation';\r\nimport AddEditExperienceRecordsModal from './ExperienceRecordModal';\r\nimport Experience from '../../../../Shared/Card/Experience';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/reinstatement.service';\r\nimport experienceService from '../../../../../services/Internal/Reinstatement/PLS/experience.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport dayjs from 'dayjs';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Swal from 'sweetalert2';\r\nimport ExternalFormModal from '../../../../Shared/Modal/ExternalFormModal';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\n\r\nfunction ExperiencePage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n\r\n const [modalShow, setModalShow] = useState(false);\r\n const [verifierModalShow, setVerifierModalShow] = useState(false);\r\n const [verifierExperienceId, setVerifierExperienceId] = useState(0);\r\n const [gridData, setGridData] = useState([]);\r\n const [isOverFiveYears, setIsOverFiveYears] = useState(false);\r\n const entityId = useSelector(x => x.currentApplicationEntityId)\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 7;\r\n const [modalData, setModalData] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Land Surveyor Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Experience\"\r\n }\r\n );\r\n useEffect(() => {\r\n setHasLoaded(false)\r\n reinstatementService.plsGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n updateGridData();\r\n reinstatementService.getIndividualReinstatement(appId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n setIsOverFiveYears(data.data.isOverFiveYears);\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n const { BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasMyNceesExperience: BooleanType().isRequired('This field is required.')\r\n });\r\n const openVerifierModal = (id) => {\r\n setVerifierExperienceId(id);\r\n setVerifierModalShow(true);\r\n }\r\n const openAddEditModal = (values) => {\r\n if (values.id) {\r\n setModalData(\r\n {\r\n ...values,\r\n verifierEmail: values.emailAddresses[1].contactEmailAddress,\r\n verifierPhone: values.phoneNumbers[1].contactPhoneNumber,\r\n employerEmail: values.emailAddresses[0].contactEmailAddress,\r\n employerPhone: values.phoneNumbers[0].contactPhoneNumber,\r\n dateFrom: values.dateFrom ? dayjs(values.dateFrom).format('YYYY-MM') : null,\r\n dateTo: values.dateTo ? dayjs(values.dateTo).format('YYYY-MM') : null,\r\n modalType: 'Edit'\r\n });\r\n }\r\n else {\r\n setModalData({\r\n reinstatementId: appId,\r\n comments: \"\",\r\n dateCrte: null,\r\n dateFrom: null,\r\n dateTo: null,\r\n deleted: false,\r\n employerName: \"\",\r\n employerPosition: \"\",\r\n verifierName: \"\",\r\n verifierPosition: '',\r\n verifierEmail: \"\",\r\n verifierPhone: \"\",\r\n employerEmail: \"\",\r\n employerPhone: \"\",\r\n employmentType: null,\r\n entityId: entityId,\r\n id: 0,\r\n userCrte: \"\",\r\n position: \"\",\r\n location: \"\",\r\n description: \"\",\r\n acceptableDescription: \"\",\r\n emailAddresses: [\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 12,\r\n emailAddressParentType: \"Reinstatement Experience Employer\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 13,\r\n emailAddressParentType: \"Reinstatement Experience Verifier\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n phoneNumbers: [\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 12,\r\n phoneParentType: \"Reinstatement Experience Employer\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 13,\r\n phoneParentType: \"Reinstatement Experience Verifier\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n modalType: \"Add\"\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n const { push } = useHistory();\r\n\r\n const handleSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n reinstatementService.plsPostSectionHasExperience(appId, sectionId, sectionData.hasMyNceesExperience).then((response) => {\r\n reinstatementService.plsMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (response.data && data.data) // If both return something it's good to go\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n });\r\n });\r\n }\r\n }\r\n const handleSave = () => {\r\n reinstatementService.plsMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n Swal.fire(\"Saved!\")\r\n })\r\n }\r\n const updateGridData = () => {\r\n experienceService.getExperienceRecords(appId).then((response) => {\r\n setGridData(response.data)\r\n });\r\n }\r\n\r\n const downloadExperiences = () => {\r\n Swal.fire({\r\n title: `Downloading PDF`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n experienceService.downloadExperiences(appId, \"PLS\").then((response) => {\r\n var name = new String(response.headers['content-disposition']);\r\n const downloadUrl = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = downloadUrl;\r\n link.setAttribute('target', '_blank');\r\n link.setAttribute('download', name.slice(name.indexOf('filename=') + 9, name.lastIndexOf(';')));\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n Swal.close();\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded ? <>\r\n {modalShow &&\r\n setModalShow(false)} proptitle=\"Add\" />\r\n }\r\n {verifierModalShow &&\r\n setVerifierModalShow(false)} id={verifierExperienceId} type=\"experienceReinstatement\" />\r\n }\r\n
setSectionData(data)}>\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ExperiencePage","import React, { useState, useEffect } from 'react';\r\nimport { Container } from 'react-bootstrap'\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport { useHistory } from 'react-router-dom';\r\nimport DisclosureAuthorization from '../../../../Shared/Card/DisclosureAuthorization';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/PlsInformation';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/reinstatement.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport dayjs from 'dayjs';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction DisclosurePage() {\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 8;\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [formModel, setFormModel] = useState({})\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Land Surveyor Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Disclosure\"\r\n }\r\n );\r\n useEffect(() => {\r\n reinstatementService.plsGetSection(reinstatementId, sectionId).then((response) => {\r\n reinstatementService.getIndividualReinstatement(reinstatementId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n });\r\n\r\n setFormModel({\r\n ...response.data,\r\n dateOfBirth: response.data.dateOfBirth != null ? dayjs(response.data.dateOfBirth).format('YYYY-MM-DD') : null,\r\n dateSigned: response.data.dateSigned != null ? dayjs(response.data.dateSigned).format('YYYY-MM-DD') : null\r\n });\r\n setHasLoaded(true)\r\n setIsComplete(response.data.staffReviewComplete)\r\n });\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n const submitData = (isForSubmit) => {\r\n reinstatementService.plsPostSection(reinstatementId, sectionId, formModel.electronicSignature).then((response) => {\r\n reinstatementService.plsMarkSectionComplete(reinstatementId, sectionId, isComplete).then((data) => {\r\n\r\n if (isForSubmit && response.data.id && data.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data.id && data.data) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default DisclosurePage;","import React, { useState, useEffect } from 'react'\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container, Row, Col, Card } from 'react-bootstrap';\r\nimport { Form, FormControl, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/reinstatement.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction AcknowledgementPage() {\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const sectionId = 9;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [formModel, setFormModel] = useState({});\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Land Surveyor Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Acknowledgement\"\r\n }\r\n );\r\n useEffect(() => {\r\n reinstatementService.plsGetSection(reinstatementId, sectionId).then((response) => {\r\n reinstatementService.getIndividualReinstatement(reinstatementId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n setFormModel(response.data);\r\n setHasLoaded(true)\r\n setIsComplete(response.data.staffReviewComplete)\r\n });\r\n\r\n\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n const submitData = (isForSubmit) => {\r\n reinstatementService.plsPostSection(reinstatementId, sectionId, formModel.electronicSignature).then((response) => {\r\n reinstatementService.plsMarkSectionComplete(reinstatementId, sectionId, isComplete).then((data) => {\r\n if (isForSubmit && response.data.id && data.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n
Requirements/Information/Acknowledgement
\r\n \r\n

I, the applicant named in this application, have read the contents hereof, and to the best of my knowledge, information and believe the statements and information in this application are true and correct in substance and effect and are made in good faith. I have not omitted any information requested in this application. I am aware that such an omission or untrue response may constitute fraud or deceit, material misstatement, perjury or the giving of false or forged evidence under Louisiana Revised Statutes 37:698 and 37:700. I understand and agree that any responses verifying my education, personal references, and experience shall be considered privileged and confidential and that this information was not reviewed by me nor will it be available for my inspection or review in the future.

\r\n
\r\n
    \r\n
  • It is your responsibility to check your LOLA account frequently for any pending issues. Ensure you add \"lapels.com\" to your \"Safe Senders\" list in your email application and/or (if applicable) in your network firewall.
  • \r\n
  • Once we receive a complete application, with no pending issues, process time may take 6-8 weeks.
  • \r\n
  • \r\n I certify that all information provided in this online reinstatement is true and correct to the best of my knowledge, information and belief.\r\n
  • \r\n
  • \r\n I am aware that an omission or untrue response may constitute fraud, deceit, material misstatement, perjury or the giving of false or forged evidence under Louisiana Revised Statutes 37:698 and 37:700\r\n
  • \r\n\r\n
  • \r\n IMPORTANT: Payments are non-refundable. If you believe that you will be reimbursed for your fee, verify this BEFORE proceeding further\r\n
  • \r\n
  • \r\n If you are unsure about getting reimbursed by your firm, please stop the application process here and come back after you verify. Your answers will be saved.\r\n
  • \r\n
\r\n
\r\n \r\n \r\n
Electronic Signature of Applicant:
\r\n (Type full name)\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n : \r\n }\r\n \r\n \r\n
\r\n\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/PlsInformation';\r\nimport reinstatementService, { getSections } from '../../../../../services/Internal/Reinstatement/reinstatement.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../Shared/Card/ReviewPdf';\r\nimport { Form, List } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport Swal from 'sweetalert2';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction ReviewPage() {\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const { push } = useHistory();\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Land Surveyor Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Review\"\r\n }\r\n );\r\n const sectionId = 10;\r\n useEffect(() => {\r\n reinstatementService.plsGetSection(appId, sectionId).then((response) => {\r\n setIsComplete(response.data.staffReviewComplete);\r\n reinstatementService.getIndividualReinstatement(appId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n\r\n\r\n const formSubmit = () => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n reinstatementService.plsMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n }\r\n const formSave = () => {\r\n reinstatementService.plsMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n Swal.fire(\"Saved!\");\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n {hasLoaded ?\r\n <>\r\n {violationIssuesHtml}\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PLSAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualPlsReinstatement\";\r\n\r\n\r\n\r\nconst getBoardRecommendations = (reinstatementId) => {\r\n return axios.get(`${PLSAPPLICATIONURL}/boardrecommendations`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst getBoardResponses = (reinstatementId) => {\r\n return axios.get(`${PLSAPPLICATIONURL}/boardmemberresponses`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postBoardRecommendation = (data) => {\r\n return axios.post(`${PLSAPPLICATIONURL}/boardrecommendation`, data, { headers: authHeader() });\r\n}\r\nconst postBoardResponse = (data) => {\r\n var header = authHeader();\r\n header['Content-Type'] = 'multipart/form-data';\r\n return axios.post(`${PLSAPPLICATIONURL}/boardmemberresponse`, data, { headers: { ...header } });\r\n}\r\nexport default {\r\n getBoardRecommendations,\r\n getBoardResponses,\r\n postBoardRecommendation,\r\n postBoardResponse\r\n}","import React, { useState } from 'react'\r\nimport { Button, Card, Row, Col } from 'react-bootstrap'\r\nimport { ControlLabel, FormControl, FormGroup, Icon, SelectPicker, Table, Uploader } from 'rsuite'\r\nimport Swal from 'sweetalert2';\r\nimport boardApprovalService from '../../../../../services/Internal/Reinstatement/PLS/boardApproval.service';\r\nimport attachmentService from '../../../../../services/Shared/attachment.service';\r\nimport YesNoRadioOption from '../../../../Shared/RadioButton/YesNoRadioOption'\r\nimport DocumentUpload from '../../../../Shared/Upload/DocumentUpload';\r\n\r\nfunction BoardApproval(props) {\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n\r\n const handleChangePage = (dataKey) => {\r\n setPage(dataKey);\r\n }\r\n const handleChangeLength = (dataKey) => {\r\n setPage(1);\r\n setDisplayLength(dataKey);\r\n }\r\n\r\n const getData = () => {\r\n return props.gridData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const formDataAppender = (passedKey, model, formData) => {\r\n for (let key in model) {\r\n if (typeof (model[key]) === 'object') {\r\n formDataAppender(`${passedKey}.${key}`, model[key], formData); // Recursive key for objects\r\n }\r\n else {\r\n if (passedKey)\r\n formData.append(`${passedKey}.${key}`, model[key]);\r\n else\r\n formData.append(`${key}`, model[key]);\r\n }\r\n }\r\n }\r\n const filteredData = getData();\r\n const removeFile = (id, rowData) => {\r\n Swal.fire({\r\n title: 'Are you sure you want to delete this file?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n attachmentService.deleteFile(id).then((response) => {\r\n if (response.status == 200) {\r\n if (rowData) {\r\n var index = props.gridData.findIndex(x => x.id == rowData.id);\r\n var tempModel = props.gridData;\r\n tempModel[index].files = tempModel[index].files.filter(x => x.id !== id);\r\n props.setGridData([...tempModel]);\r\n }\r\n else {\r\n props.setFiles([...props.files.filter(x => x.id != id)])\r\n }\r\n }\r\n });\r\n }\r\n })\r\n }\r\n\r\n const openFile = (id) => {\r\n attachmentService.openFile(id);\r\n }\r\n return (\r\n <>\r\n\r\n \r\n
Board/Staff Attachments
\r\n \r\n \r\n
\r\n {/**/}\r\n {/* Education*/}\r\n {/* */}\r\n {/**/}\r\n {/*
*/}\r\n \r\n Additional Comments\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
Board/Staff Responses
\r\n \r\n {props.isUserEditable &&\r\n \r\n \r\n \r\n }\r\n
\r\n
\r\n \r\n \r\n \r\n Document\r\n \r\n {rowData => {\r\n return (<>\r\n {rowData.files.map((item, i) => {\r\n return (\r\n \r\n {props.isUserEditable &&\r\n \r\n }\r\n \r\n \r\n )\r\n })}\r\n \r\n )\r\n }}\r\n \r\n \r\n \r\n \r\n Date Sent\r\n \r\n {rowData => (rowData.dateSent ? new Date(rowData.dateSent).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Date Received\r\n \r\n {rowData => (rowData.dateReceived ? new Date(rowData.dateReceived).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Board Member\r\n \r\n {rowData => (`${rowData.boardMember.firstName} ${rowData.boardMember.middleName} ${rowData.boardMember.lastName}, ${rowData.boardMember.credentialSuffix}`)}\r\n \r\n \r\n \r\n Decision\r\n \r\n {rowData => (rowData.boardMemberDecision?.boardMemberDecision)}\r\n \r\n \r\n \r\n Comments\r\n \r\n \r\n \r\n {props.isUserEditable &&\r\n \r\n \r\n \r\n \r\n {rowData => {\r\n function handleAction() {\r\n var tempData = { ...rowData, files: [] }\r\n props.openModal(tempData);\r\n }\r\n function handleDelete() {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n var formData = new FormData();\r\n var dataToTransmit = {\r\n ...rowData,\r\n deleted: true,\r\n }\r\n formDataAppender('boardMemberResponse', dataToTransmit, formData);\r\n for (var i = 0; i < rowData.files.length; i++) {\r\n formData.append('files', rowData.files[i].blobFile);\r\n }\r\n boardApprovalService.postBoardResponse(formData).then((response) => {\r\n if (response.status == 200) {\r\n props.setGridData([...props.gridData.filter(x => x.id !== rowData.id)]);\r\n }\r\n })\r\n }\r\n })\r\n }\r\n return (\r\n \r\n   \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n }\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
Board/Staff Checklist
\r\n
\r\n \r\n

Exams verified in Applicants MyNCEES Account (FS, PLS, State Specific (Louisiana Laws))?

\r\n \r\n

Board approval?

\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default BoardApproval;","import { useState, useEffect } from 'react'\r\nimport { Button, Card, Col, Modal, Row } from 'react-bootstrap'\r\nimport React from 'react'\r\nimport { ControlLabel, Schema, Form, FormControl, FormGroup, InputPicker, Uploader } from 'rsuite'\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\nimport GenericAttachmentGrid from '../../../../Shared/Grid/GenericAttachmentGrid';\r\nimport { getBoardMembers } from '../../../../../services/Shared/codeTable.service';\r\nimport boardApprovalService from '../../../../../services/Internal/Reinstatement/PLS/boardApproval.service';\r\nimport attachmentService from '../../../../../services/Shared/attachment.service';\r\nimport Swal from 'sweetalert2';\r\nimport BlockUi from 'react-block-ui';\r\nimport 'react-block-ui/style.css';\r\n\r\nfunction BoardApprovalModal(props) {\r\n\r\n const { ObjectType, DateType } = Schema.Types;\r\n const [blockUi, setBlockUi] = useState(false);\r\n const model = Schema.Model({\r\n dateSent: DateType().isRequired('This field is required.'),\r\n boardMember: ObjectType().isRequired('This field is required.'),\r\n })\r\n const decisionData = [\r\n { \"label\": \"Approved\", \"value\": { id: 1, boardMemberDecision: \"Approved\" } },\r\n { \"label\": \"Declined\", \"value\": { id: 2, boardMemberDecision: \"Declined\" } }];\r\n\r\n const [boardMemebers, setBoardMembers] = useState([])\r\n const [approvalModel, setApprovalModel] = useState()\r\n useEffect(() => {\r\n setApprovalModel(props.modalData);\r\n getBoardMembers().then(setBoardMembers);\r\n }, [props.modalData])\r\n\r\n const formSubmit = (validation, event) => {\r\n if (validation) {\r\n setBlockUi(true);\r\n var formData = new FormData()\r\n var dataToTransmit = {\r\n ...approvalModel,\r\n dateSent: new Date(approvalModel.dateSent).toISOString(),\r\n dateReceived: approvalModel.dateReceived ? new Date(approvalModel.dateReceived).toISOString() : null\r\n }\r\n formDataAppender('boardMemberResponse', dataToTransmit, formData);\r\n for (var i = 0; i < approvalModel.files.length; i++) {\r\n formData.append('files', approvalModel.files[i].blobFile);\r\n }\r\n boardApprovalService.postBoardResponse(formData).then((response) => {\r\n setBlockUi(false);\r\n if (response.data.boardMemberResponse.id) {\r\n props.updateGrid();\r\n props.onHide();\r\n }\r\n\r\n })\r\n }\r\n\r\n }\r\n const formDataAppender = (passedKey, model, formData) => {\r\n for (let key in model) {\r\n if (typeof (model[key]) === 'object') {\r\n formDataAppender(`${passedKey}.${key}`, model[key], formData); // Recursive key for objects\r\n }\r\n else {\r\n if (passedKey)\r\n formData.append(`${passedKey}.${key}`, model[key]);\r\n else\r\n formData.append(`${key}`, model[key]);\r\n }\r\n }\r\n }\r\n const handleChange = (val, e) => {\r\n if (!e) {\r\n var newFiles = approvalModel.files;\r\n newFiles.push(val);\r\n setApprovalModel({ ...approvalModel, files: [...newFiles] })\r\n }\r\n };\r\n const deleteFile = (id) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n setApprovalModel({ ...approvalModel, files: approvalModel.files.filter(x => x.fileKey != id) })\r\n }\r\n })\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Board/Staff Member Response\r\n \r\n \r\n \r\n
setApprovalModel(approvalModel)} onSubmit={formSubmit} fluid>\r\n \r\n \r\n \r\n \r\n Date Sent \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Board/Staff Member \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n Date Received\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Decision\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n File Upload \r\n \r\n \r\n \r\n \r\n \r\n
Click or Drag files to this area to upload
\r\n \r\n \r\n
\r\n \r\n \r\n {approvalModel?.files?.length > 0 &&\r\n
\r\n
\r\n {\r\n return {\r\n id: value.fileKey,\r\n timestamp: new Date().toLocaleDateString(),\r\n file: value.blobFile?.name\r\n }\r\n })}\r\n isSync={true}\r\n tStyle=\"table-bordered\"\r\n name=\"filesForDisplay\" />\r\n
\r\n }\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Comments\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nexport default BoardApprovalModal;","import React, { useState, useEffect } from 'react'\r\nimport { Button, Col, Container, Row } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport BoardApproval from './BoardApproval';\r\nimport BoardApprovalModal from './BoardApprovalModal';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/reinstatement.service';\r\nimport { useSelector } from 'react-redux';\r\nimport boardApprovalService from '../../../../../services/Internal/Reinstatement/PLS/boardApproval.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Swal from 'sweetalert2';\r\nimport dayjs from 'dayjs';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction BoardApprovalPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const entityId = useSelector(x => x.currentApplicationEntityId)\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 11;\r\n const [modalShow, setModalShow] = useState(false);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [gridData, setGridData] = useState([]);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Land Surveyor Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Board/Staff Recommendations\"\r\n }\r\n );\r\n\r\n const { BooleanType, StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n //education: StringType().isRequired('This field is required'),\r\n boardApproval: BooleanType().isRequired('This field is required'),\r\n examsVerifiedInMyNcees: BooleanType().isRequired('This field is required')\r\n })\r\n\r\n const [formModel, setFormModel] = useState({\r\n reinstatementId: appId,\r\n boardApproval: null,\r\n dateCrte: null,\r\n deleted: false,\r\n entityId: entityId,\r\n examsVerifiedInMyNcees: null,\r\n education: \"\",\r\n additionalComments: \"\",\r\n id: 0,\r\n userCrte: \"\",\r\n files: []\r\n\r\n })\r\n const [boardApprovalSectionId, setBoardApprovalSectionId] = useState();\r\n const [modalData, setModalData] = useState({\r\n comments: \"\",\r\n dateCrte: new Date(),\r\n dateReceived: new Date(),\r\n dateSent: new Date(),\r\n deleted: false,\r\n id: 0,\r\n userCrte: \"\",\r\n boardMemberDecision: null,\r\n boardMember: {\r\n appointmentYear: 0,\r\n credentialSuffix: \"\",\r\n expirationYear: 0,\r\n firstName: \"\",\r\n id: 0,\r\n lastName: \"\",\r\n middleName: \"\",\r\n representation: \"\",\r\n suffix: \"\"\r\n },\r\n entityId: entityId,\r\n reinstatementId: appId,\r\n boardStaffApprovalId: 0,\r\n files: [],\r\n filesForDisplay: [],\r\n filesLoading: false\r\n })\r\n\r\n useEffect(() => {\r\n reinstatementService.plsGetSection(appId, sectionId).then((response) => {\r\n boardApprovalService.getBoardRecommendations(appId).then((data) => {\r\n setFormModel(data.data);\r\n setModalData({ ...modalData, boardStaffApprovalId: data.data.id })\r\n updateGrid()\r\n setBoardApprovalSectionId(response.data.id);\r\n setIsComplete(response.data.staffReviewComplete);\r\n reinstatementService.getIndividualReinstatement(appId).then((reinstatementData) => {\r\n setIsUserEditable(reinstatementData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: reinstatementData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: reinstatementData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n\r\n });\r\n });\r\n })\r\n })\r\n }, [])\r\n\r\n const updateGrid = () => {\r\n boardApprovalService.getBoardResponses(appId).then((vals) => {\r\n if (vals.data?.length)\r\n setGridData(\r\n vals.data.map((value, i) => { return { ...value.boardMemberResponse, files: [...value.attachments] } }))\r\n })\r\n }\r\n const submitData = (val) => {\r\n if (val) {\r\n boardApprovalService.postBoardRecommendation(formModel).then((val) => {\r\n if (val.data) {\r\n reinstatementService.plsMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n Swal.fire(\"Saved!\", \"You have successfully saved.\", 'success');\r\n //push(\"/internal/plsApp/sections\")\r\n })\r\n }\r\n })\r\n }\r\n }\r\n\r\n const openAddEditModal = (values) => {\r\n if (values.id) {\r\n setModalData({ ...values, dateReceived: values.dateReceived != null ? dayjs(values.dateReceived).format('YYYY-MM-DD') : null, dateSent: values.dateSent != null ? dayjs(values.dateSent).format('YYYY-MM-DD') : null })\r\n }\r\n else {\r\n setModalData({\r\n comments: \"\",\r\n dateCrte: new Date(),\r\n dateReceived: null,\r\n dateSent: null,\r\n deleted: false,\r\n id: 0,\r\n userCrte: \"\",\r\n boardMemberDecision: null,\r\n boardMember: null,\r\n entityId: entityId,\r\n reinstatementId: appId,\r\n boardStaffApprovalId: formModel.id,\r\n files: [],\r\n filesForDisplay: []\r\n\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n\r\n return (\r\n
\r\n \r\n setModalShow(false)} />\r\n
setFormModel(formModel)} onSubmit={submitData}>\r\n \r\n {hasLoaded ? <>\r\n \r\n \r\n \r\n \r\n  \r\n \r\n   \r\n \r\n {isUserEditable &&\r\n \r\n }\r\n \r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default BoardApprovalPage","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, ListGroup, Button } from 'react-bootstrap';\r\nimport Section from '../../../Shared/Sections/Section.js';\r\nimport Information from '../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../Shared/InformationContent/PlsInformation.js';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport renewalService, { getSections } from '../../../../services/Internal/Renewal/renewal.service.js';\r\nimport entityService from '../../../../services/Internal/Staff/entity.service.js';\r\nimport Swal from 'sweetalert2';\r\nimport InternalTaskInfo from '../../Shared/InternalTaskInfo.jsx';\r\nimport FormEntityInformation from '../../Shared/FormEntityInformation';\r\nimport recentQueueService from '../../../../services/Internal/Recent/recentQueue.service'\r\nimport issuesService from '../../../../services/Shared/issues.service.js';\r\n\r\nfunction Sections() {\r\n const marginRight = {\r\n marginRight: '1rem'\r\n }\r\n const [showSectionButton, setShowSectionButton] = useState(true);\r\n const [justLicensed, setJustLicensed] = useState(false);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Land Surveyor Renewal\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"\"\r\n }\r\n );\r\n const [sections, setSections] = useState(null);\r\n const dispatch = useDispatch();\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const selector = useSelector(x => x);\r\n useEffect(() => {\r\n var routes = JSON.parse(localStorage.getItem('PERSIST_CURRENT_ROUTE')) ?? selector.currentRoutes;\r\n var currentAppId = localStorage.getItem('PERSIST_CURRENT_APP_ID') ?? selector.currentApplicationId;\r\n var currentEntityID = localStorage.getItem('PERSIST_CURRENT_APP_ENTITY_ID') ?? selector.currentApplicationEntityId;\r\n var currentAppTypeId = localStorage.getItem('PERSIST_CURRENT_APP_TYPE_ID') ?? selector.currentApplicationTypeId;\r\n if (localStorage.getItem('PERSIST_CURRENT_APP_ID')) {\r\n localStorage.removeItem('PERSIST_CURRENT_ROUTE');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ENTITY_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_TYPE_ID');\r\n\r\n dispatch({ type: \"PERSIST_CURRENT_ROUTE\", payload: routes });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: currentAppId });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ENTITY_ID\", payload: currentEntityID });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_TYPE_ID\", payload: currentAppTypeId });\r\n }\r\n //Add to recent Queue\r\n recentQueueService.updateRecentQueue({\r\n entityId: currentEntityID,\r\n parentId: currentAppId,\r\n parentTypeId: 3,\r\n appTypeId: 5,\r\n routes: JSON.stringify(routes)\r\n }).then((data) => {\r\n var token = parseInt(localStorage.getItem('updateRecentQueue')) ? parseInt(localStorage.getItem('updateRecentQueue')) : 0;\r\n localStorage.setItem('updateRecentQueue', token + 1)\r\n dispatch({ type: \"PERSIST_CURRENT_RECENT_QUEUE\", payload: parseInt(localStorage.getItem('updateRecentQueue')) });\r\n })\r\n renewalService.getIndividualRenewal(currentAppId).then((sectionResponse) => {\r\n entityService.getEntity(currentEntityID).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: sectionResponse.data?.credential?.formattedLicenseNumber,\r\n applicationDate: sectionResponse.data?.dateSubmitted\r\n })\r\n });\r\n setHasLoaded(true);\r\n if (sectionResponse.data.sections.findIndex((element) => element.staffReviewComplete === false) !== -1 || sectionResponse.data.status.id !== 2) {// status id 2 = pending\r\n setShowSectionButton(false);\r\n }\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(2, currentAppId).then((data) => {\r\n setSections(routes != null ? routes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route\r\n var index = sectionResponse.data.sections.findIndex(x => x.sectionType?.id == section.id);\r\n if (index !== -1) {\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (sectionResponse.data.sections[index].staffReviewComplete)\r\n section.status = \"COMPLETE\";\r\n else if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n })\r\n })\r\n })\r\n }, [])\r\n\r\n const sendStaffApproval = (isApproved) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: `Do you want to ${isApproved ? 'license' : 'decline'} this renewal? You won't be able to revert this!`,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continue!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n Swal.fire({\r\n title: `${isApproved ? 'Licensing' : 'Declining'} Renewal`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n renewalService.postStaffApproval(selector.currentApplicationId, isApproved).then((response) => {\r\n if (response.data) {\r\n setShowSectionButton(false);\r\n Swal.fire({\r\n title: `Saving PDF`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n renewalService.postRenewalPdf(response.data.id, isApproved).then((data) => {\r\n if (data.data) {\r\n setJustLicensed(true);\r\n Swal.fire(\"Saved\", `The renewal was successfully ${isApproved ? 'approved' : 'declined'}!`, \"success\")\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n })\r\n }\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n {sections}\r\n \r\n {showSectionButton &&\r\n
\r\n \r\n \r\n
\r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Sections;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PLSRENEWALURL = process.env.REACT_APP_APIURL + \"/api/IndividualPlsRenewal\";\r\n\r\nconst getContactInformation = (renewalId) => {\r\n return axios.get(`${PLSRENEWALURL}/contactinformation`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nexport default {\r\n getContactInformation\r\n}","import React, { useState, useEffect } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { Form } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/PlsInformation';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport Swal from 'sweetalert2';\r\nimport PersonalInformation from '../../../../Shared/Card/Contact/PersonalInformation';\r\nimport MailingAddress from '../../../../Shared/Card/Contact/MailingAddress';\r\nimport PublicAddress from '../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport contactService from '../../../../../services/Internal/Renewal/PLS/contact.service';\r\nimport renewalService from '../../../../../services/Internal/Renewal/renewal.service';\r\nimport { useSelector } from 'react-redux';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport dayjs from 'dayjs';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\n\r\nfunction ContactInformationPage() {\r\n\r\n const { push } = useHistory();\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [formModel, setFormModel] = useState({});\r\n const [tabPane, setTabPane] = useState(\"personalInformation\")\r\n const [sectionData, setSectionData] = useState({});\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Land Surveyor Renewal\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Contact Information\"\r\n }\r\n );\r\n\r\n useEffect(() => {\r\n contactService.getContactInformation(renewalId).then((response) => {\r\n var data = response.data;\r\n\r\n setFormModel({\r\n ...data,\r\n dateOfBirth: data.dateOfBirth != null ? dayjs(data.dateOfBirth).format('YYYY-MM-DD') : null,\r\n altEmail: data.alternateEmailAddress?.contactEmailAddress,\r\n primaryEmail: data.primaryEmailAddress?.contactEmailAddress,\r\n cellPhoneNum: data.cellPhone?.phoneNumber,\r\n workPhoneNum: data.workPhone?.phoneNumber,\r\n homePhoneNum: data.homePhone?.phoneNumber\r\n })\r\n renewalService.plsGetSection(renewalId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n renewalService.getIndividualRenewal(renewalId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n\r\n })\r\n })\r\n }, [])\r\n\r\n const formSubmit = (validation, event) => {\r\n submitData(true);\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (isForSubmit) {\r\n renewalService.plsMarkSectionComplete(renewalId, sectionId, isComplete).then((data) => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n else {\r\n Swal.fire(\"Saved!\");\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)} onSubmit={formSubmit} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PLSRENEWALURL = process.env.REACT_APP_APIURL + \"/api/IndividualPlsRenewal\";\r\n\r\nconst getLicenseStatus = (renewalId) => {\r\n return axios.get(`${PLSRENEWALURL}/licensestatus`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nconst postLicenseStatus = (renewalId, renewingToId) => {\r\n return axios.post(`${PLSRENEWALURL}/licensestatus`, null, { headers: authHeader(), params: {renewalId, renewingToId} });\r\n}\r\nexport default {\r\n getLicenseStatus,\r\n postLicenseStatus\r\n}","import React, { useState, useEffect} from 'react';\r\nimport { Card } from 'react-bootstrap'\r\nimport { FormControl, SelectPicker, Table } from 'rsuite';\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\nimport { plsRenewalLicenseStatuses } from '../../../../../fakeapi'\r\nimport licenseStatusService from '../../../../../services/Internal/Renewal/PLS/licenseStatus.service';\r\n\r\nfunction LicenseStatus(props) {\r\n\r\n return (\r\n
\r\n \r\n
Your License Status
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Credential\r\n \r\n \r\n \r\n \r\n \r\n Credential Status\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n I am renewing into the following status:\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default LicenseStatus;","import React, { useState, useEffect } from 'react';\r\nimport { Container } from 'react-bootstrap';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport LicenseStatus from './LicenseStatus';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/PlsInformation';\r\nimport licenseStatusService from '../../../../../services/Internal/Renewal/PLS/licenseStatus.service';\r\nimport renewalService from '../../../../../services/Internal/Renewal/renewal.service';\r\nimport Swal from 'sweetalert2';\r\nimport { useSelector } from 'react-redux';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport { getRenewingintolist } from '../../../../../services/Shared/codeTable.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction LicenseStatusPage() {\r\n const { push } = useHistory();\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 2;\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [sectionData, setSectionData] = useState({});\r\n const [plsRenewalLicenseStatuses, setPlsRenewalLicenseStatuses] = useState([]);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Land Surveyor Renewal\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"License Status\"\r\n }\r\n );\r\n\r\n const [formModel, setFormModel] = useState({\r\n gridData: [],\r\n renewingTo: \"\"\r\n })\r\n const { ObjectType } = Schema.Types;\r\n const model = Schema.Model({\r\n renewingTo: ObjectType().isRequired(\"This field is required.\")\r\n });\r\n\r\n useEffect(() => {\r\n getRenewingintolist(renewalId).then(setPlsRenewalLicenseStatuses)\r\n renewalService.plsGetSection(renewalId, sectionId).then((data) => {\r\n setSectionData(data.data);\r\n setIsComplete(data.data.staffReviewComplete)\r\n renewalService.getIndividualRenewal(renewalId).then((renewalData) => {\r\n setIsUserEditable(renewalData.data.status.id == 2)\r\n entityService.getEntity(data.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: renewalData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: renewalData.data?.dateSubmitted\r\n })\r\n });\r\n });\r\n licenseStatusService.getLicenseStatus(renewalId).then((response) => {\r\n setFormModel({\r\n gridData: [{ credential: response.data?.credential?.formattedLicenseNumber, credentialStatus: response.data?.credential?.status?.status }],\r\n renewingTo: response.data.renewingTo ? { id: response.data.renewingTo.id, code: response.data.renewingTo.renewingTo } : null\r\n })\r\n setHasLoaded(true);\r\n })\r\n })\r\n }, [])\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n licenseStatusService.postLicenseStatus(renewalId, formModel.renewingTo.id).then((response) => {\r\n if (response.data) {\r\n renewalService.plsMarkSectionComplete(renewalId, sectionId, isComplete).then((data) => {\r\n if (isForSubmit)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n else\r\n Swal.fire(\"Saved!\")\r\n })\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default LicenseStatusPage;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PLSRENEWALURL = process.env.REACT_APP_APIURL + \"/api/IndividualPlsRenewal\";\r\n\r\nconst getCpdRequirements = (renewalId) => {\r\n return axios.get(`${PLSRENEWALURL}/cpd`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nconst postCpdRequirements = (data) => {\r\n return axios.post(`${PLSRENEWALURL}/cpd`, data, { headers: authHeader() });\r\n}\r\nconst isCpdRequired = (renewalId) => {\r\n return axios.get(`${PLSRENEWALURL}/iscpdrequired`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nconst isNonActiveToActive = (renewalId) => {\r\n return axios.get(`${PLSRENEWALURL}/isnonactivetoactive`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nexport default {\r\n getCpdRequirements,\r\n postCpdRequirements,\r\n isCpdRequired,\r\n isNonActiveToActive\r\n}","import React, { useState, useEffect } from 'react'\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/PlsInformation';\r\nimport DocumentUpload from '../../../../Shared/Upload/DocumentUpload';\r\nimport { Card } from 'react-bootstrap';\r\n\r\nfunction QuizzesPage(props) {\r\n //const attachmentTypes = [\r\n // {\r\n // \"label\": \"Quiz - Laws and Rules\", \"value\": 12\r\n // },\r\n // {\r\n // \"label\": \"Quiz - Ethics\", \"value\": 13\r\n // },\r\n // {\r\n // \"label\": \"Quiz - Standards of Practice\", \"value\": 14\r\n // }\r\n //]\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}\r\nexport default QuizzesPage;","import React, { useEffect } from 'react'\r\nimport { useState } from 'react'\r\nimport { Card, Row, Col, Badge, } from 'react-bootstrap'\r\nimport { ControlLabel, FormControl, FormGroup, HelpBlock, InputNumber, SelectPicker, Uploader } from 'rsuite'\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar'\r\nimport YesNoRadioOption from '../../../../Shared/RadioButton/YesNoRadioOption'\r\nimport DocumentUpload from '../../../../Shared/Upload/DocumentUpload'\r\nimport QuizzesPage from './QuizzesPage'\r\nfunction Courses(props) {\r\n const [metCpd, setMetCpd] = useState();\r\n const [hasCpdInMyNcees, setHasCpdInMyNcees] = useState();\r\n useEffect(() => {\r\n setMetCpd(props.metCpd);\r\n setHasCpdInMyNcees(props.hasCpdInMyNcees);\r\n }, [props])\r\n\r\n const requirementsNotMetReasonData =\r\n [\r\n {\r\n label: \"New License - Licensees are exempt from the CPD requirements during the calendar year in which they are initially licensed.\", value: { id: 1, notMetCpdReason: \"New License - Licensees are exempt from the CPD requirements during the calendar year in which they are initially licensed.\" }\r\n },\r\n {\r\n label: \"Newly Reinstated - Licensees are exempt from the CPD requirements during the calendar year in which they are newly reinstated.\", value: { id: 8, notMetCpdReason: \"Newly Reinstated - Licensees are exempt from the CPD requirements during the calendar year in which they are newly reinstated.\" }\r\n },\r\n {\r\n label: \"Inactive - Refer to Rule 2103 (A). By selecting this option, you are confirming that you are not offering or providing engineering/land surveying services in Louisiana.\", value: { id: 2, notMetCpdReason: \"Inactive - Refer to Rule 2103 (A). By selecting this option, you are confirming that you are not offering or providing engineering/land surveying services in Louisiana.\" }\r\n },\r\n {\r\n label: \"Medical reasons - Refer to Rule 3109 (A) (3). (FILE UPLOAD REQUIRED)\", value: { id: 4, notMetCpdReason: \"Medical reasons - Refer to Rule 3109 (A) (3).\" }\r\n },\r\n {\r\n label: \"I am not in compliance with earning the requisite hours for this renewal - LAPELS staff will notify you of your next steps.\", value: { id: 7, notMetCpdReason: \"I am not in compliance with earning the requisite hours for this renewal - LAPELS staff will notify you of your next steps.\" }\r\n },\r\n {\r\n label: \"I served on Active Duty in the U.S. military for a period of time exceeding 180 consecutive days in a calendar year - you must provide deployment documentation to be reviewed prior to being approved. (FILE UPLOAD REQUIRED)\", value: { id: 10, notMetCpdReason: \"I served on Active Duty in the U.S. military for a period of time exceeding 180 consecutive days in a calendar year - you must provide deployment documentation to be reviewed prior to being approved.\" }\r\n },\r\n {\r\n label: \"I worked in a location for more than 180 days in a calendar year where compliance with the CPD requirements is impractical due to location, working hours, mail restrictions, etc. - Refer to Rule 3109 (A) (4). (FILE UPLOAD REQUIRED)\", value: { id: 9, notMetCpdReason: \"I worked in a location for more than 180 days in a calendar year where compliance with the CPD requirements is impractical due to location, working hours, mail restrictions, etc. - Refer to Rule 3109 (A) (4).\" }\r\n },\r\n ];\r\n\r\n return (\r\n \r\n \r\n
CPD Requirements
\r\n
\r\n \r\n {props.isNonActiveToActive ?\r\n <>\r\n

§3121. CPD Reactivation

\r\n
    \r\n
  1. To become reactivated to an active status, a licensee in an expired, inactive, or retired status must have earned all PDHs which he/she would have been required to earn if he/she had been in an active status during the previous two calendar years as provided in §3105.
  2. \r\n
\r\n

Do you have a NCEES CPC locker?

\r\n \r\n {hasCpdInMyNcees ?\r\n

Please have NCEES release your CPC Locker to LAPELS (https://ncees.org/ncees-service/cpc-tracking/)

\r\n :\r\n hasCpdInMyNcees != null &&\r\n <>

You must complete the LAPELS Approved Activity Log outlining all PDHs claimed for the period of 24 months prior to the date of this reactivation,\r\n along with copies of all supporting documentation substantiating the PDHs claimed and complementing the dates and information on your PDH Activity log. Download the log to your computer, complete, save, and upload as one file below with your certificates.\r\n List your PDHs in chronological order on the log, and place on top of your certificates of completion.


\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n\r\n :\r\n <>\r\n

\r\n I have met the CPD requirements for Active status for calendar years {props.year1Number} and {props.year2Number}, and understand that, if I am selected for an audit,\r\n I will be required to provide my Professional Development Hour (PDH) Activity Log and all supporting documentation to validate completion of all CPD requirements.\r\n I further understand that failure to comply with such requirements or any false statements made by me could be cause for disciplinary action.\r\n
\r\n
\r\n NOTE: Licensees are exempt from the CPD requirements during the calendar year in which they are initially licensed.\r\n\r\n

\r\n
\r\n \r\n\r\n {metCpd === false &&\r\n\r\n <>\r\n \r\n \r\n \r\n Please submit the reason why you have not met the requirements. Refer to the board rules here when selecting your exemption: https://www.lapels.com/LawsRules.html. \r\n \r\n \r\n \r\n \r\n
\r\n\r\n (use ONLY for CPD exemption documentation, NOT for CPD logs or certificates)}\r\n fileUploadTitle={\"CPD File Upload\"}\r\n />\r\n \r\n }\r\n
\r\n

\r\n How many CPD hours did you earn in each calendar year? (enter a number below for each year)\r\n

\r\n
\r\n \r\n \r\n \r\n {props.year1Number}\r\n \r\n \r\n \r\n \r\n \r\n {props.year2Number}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Explain Carry-over Hours, or reason(s) for CPD non-compliance\r\n \r\n \r\n \r\n\r\n \r\n\r\n
\r\n

\r\n The CPD hours listed herein are true and correct, and accurately state the professional development hours I have earned. I understand that I must make available all supporting documentation if requested by the Board.\r\n

\r\n
\r\n \r\n \r\n
Electronic Signature of Applicant:
\r\n (Type full name)\r\n \r\n \r\n
\r\n \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Courses\r\n\r\n","import React, { useState, useEffect } from 'react'\r\nimport { Card, Container } from 'react-bootstrap'\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport Swal from 'sweetalert2';\r\nimport cpdRequirementsService from '../../../../../services/Internal/Renewal/PLS/cpdRequirements.service';\r\nimport renewalService from '../../../../../services/Internal/Renewal/renewal.service';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons'\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/PlsInformation';\r\nimport Courses from './Courses'\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction CpdRequirementsPage() {\r\n const { push } = useHistory();\r\n const [isComplete, isCompleteCallBack] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [isRequired, setIsRequired] = useState(true);\r\n const [isNonActiveToActive, setIsNonActiveToActive] = useState(false);\r\n const [isLicenseStatusSet, setIsLicenseStatusSet] = useState(true);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const [sectionData, setSectionData] = useState({});\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const sectionId = 3;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Land Surveyor Renewal\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"CPD Requirements\"\r\n }\r\n );\r\n const changeLogData = {\r\n Header: \"CPD Change History\",\r\n BodyText: \"The information below displays all changes made to the CPD section. It allows our staff to track any irregularities and find process breakdowns so that we can make improvements to our system.\",\r\n CurrentId: renewalId,\r\n SectionId: sectionId\r\n };\r\n const currentDate = new Date();\r\n var yearBase = (currentDate.getMonth() == 0 && currentDate.getDate() < 30) ? currentDate.getFullYear() - 1 : currentDate.getFullYear(); //LAPELS-379\r\n const [formModel, setFormModel] = useState({\r\n id: 0,\r\n renewalId: renewalId,\r\n entityId: entityId,\r\n year1: (yearBase - 2),\r\n year1Hours: null,\r\n year2: (yearBase - 1),\r\n year2Hours: null,\r\n metCpd: null,\r\n notMetCPDReason: null,\r\n carryoverExplanation: \"\",\r\n userCrte: \"\",\r\n dateCrte: new Date(),\r\n deleted: false,\r\n hasCpdInMyNcees: null,\r\n electronicSignature: \"\",\r\n });\r\n useEffect(() => {\r\n cpdRequirementsService.isNonActiveToActive(renewalId).then((response) => {\r\n if (response.data) {\r\n setIsNonActiveToActive(true);\r\n }\r\n })\r\n renewalService.plsGetSection(renewalId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n isCompleteCallBack(response.data.staffReviewComplete);\r\n renewalService.getIndividualRenewal(renewalId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n });\r\n });\r\n\r\n cpdRequirementsService.isCpdRequired(renewalId).then((result) => {//if result is null, no status was chosen\r\n if (result.data) {\r\n cpdRequirementsService.getCpdRequirements(renewalId).then((data) => {\r\n if (data.data) {\r\n setFormModel({ ...data.data, electronicSignature: response.data.electronicSignature })\r\n }\r\n setHasLoaded(true);\r\n })\r\n }\r\n else if (result.data === false) {\r\n setIsRequired(false)\r\n setHasLoaded(true)\r\n }\r\n else {\r\n setIsLicenseStatusSet(false)\r\n setHasLoaded(true)\r\n }\r\n })\r\n })\r\n }, [])\r\n\r\n const { StringType, BooleanType, NumberType, ObjectType } = Schema.Types;\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.'),\r\n metCpd: BooleanType().isRequired('This field is required.'),\r\n notMetCPDReason: ObjectType().isRequired('This field is required'),\r\n hasCpdInMyNcees: BooleanType().isRequired(\"This field is required.\")\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var hasErrors = false;\r\n var validationObject = model.check(formModel);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n if (!isNonActiveToActive) {\r\n if (key === \"electronicSignature\") {\r\n hasErrors = true;\r\n return\r\n }\r\n if (key === \"metCpd\" && formModel.metCpd === null) {\r\n hasErrors = true;\r\n return\r\n }\r\n if (key === \"notMetCPDReason\" && formModel.metCpd === false) {\r\n hasErrors = true;\r\n return\r\n }\r\n }\r\n else {\r\n if (key === \"hasCpdInMyNcees\" && formModel.hasCpdInMyNcees === null) {\r\n hasErrors = true;\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n if (!hasErrors) {\r\n submitData(true);\r\n }\r\n }\r\n }\r\n const submitData = (isForSubmiit) => {\r\n var dataToTransmit = { ...formModel, year1Hours: formModel.year1Hours === '' ? null : formModel.year1Hours, year2Hours: formModel.year2Hours === '' ? null : formModel.year2Hours };\r\n renewalService.plsPostSection(renewalId, sectionId, formModel.electronicSignature).then((data) => {\r\n cpdRequirementsService.postCpdRequirements(dataToTransmit).then((response) => {\r\n if (response.data.id) {\r\n if (data.data) {\r\n renewalService.plsMarkSectionComplete(renewalId, sectionId, isComplete).then((data) => {\r\n if (isForSubmiit)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n else\r\n Swal.fire(\"Saved!\");\r\n })\r\n }\r\n }\r\n })\r\n })\r\n }\r\n const notRequiredSubmit = (event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n renewalService.plsMarkSectionComplete(renewalId, sectionId, isComplete).then((data) => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
{hasLoaded ? !isLicenseStatusSet ?\r\n
\r\n \r\n \r\n
CPD Requirements
\r\n
\r\n \r\n Please go back and choose a license status to renew into before completing this section. You may access that section by clicking the \"Back to Sections\" button at the bottom of the page.\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n : isRequired ?\r\n
setFormModel(formModel)} onSubmit={formSubmit} fluid>\r\n \r\n
\r\n \r\n \r\n :\r\n
\r\n \r\n \r\n
CPD Requirements
\r\n
\r\n \r\n Due to the license status chosen at the beginning of this renewal, this section is not required. You may click \"Next Section\" to continue your renewal.\r\n \r\n
\r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default CpdRequirementsPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PLSRENEWALURL = process.env.REACT_APP_APIURL + \"/api/IndividualPlsRenewal\";\r\n\r\nconst getViolation = (renewalId) => {\r\n return axios.get(`${PLSRENEWALURL}/violation`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nconst postViolation = (data) => {\r\n return axios.post(`${PLSRENEWALURL}/violation`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getViolation,\r\n postViolation\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container } from 'react-bootstrap';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport renewalService from '../../../../../services/Internal/Renewal/renewal.service';\r\nimport violationService from '../../../../../services/Internal/Renewal/PLS/violation.service';\r\nimport { useSelector } from 'react-redux';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/PlsInformation';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport { getRenewalCodeViolationAnswers } from '../../../../../services/Shared/codeTable.service';\r\nimport GenericViolations from '../../../../Shared/Card/Violations';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction Violations() {\r\n\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [isComplete, isCompleteCallBack] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const { push } = useHistory();\r\n const sectionId = 4;\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Land Surveyor Renewal\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Violations\"\r\n }\r\n );\r\n\r\n const [formData, updateFormData] = useState({\r\n renewalId: renewalId,\r\n dateCrte: new Date(),\r\n entityId: entityId,\r\n id: 0,\r\n question1: null,\r\n userCrte: \"\",\r\n yesAnswerExplanation: \"\"\r\n });\r\n\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n renewalService.plsGetSection(renewalId, sectionId).then((response) => {\r\n violationService.getViolation(renewalId).then((data) => {\r\n if (data.data) {\r\n\r\n updateFormData(data.data);\r\n }\r\n else {\r\n getRenewalCodeViolationAnswers(5).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n isCompleteCallBack(response.data.staffReviewComplete)\r\n renewalService.getIndividualRenewal(renewalId).then((renewalData) => {\r\n setIsUserEditable(renewalData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: renewalData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: renewalData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n\r\n }, [])\r\n\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n yesAnswerExplanation: StringType().isRequired('This field is required.')\r\n });\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true) >= 0;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n\r\n\r\n\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n setShowFormErrors(true)\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n violationService.postViolation(formData).then((response) => {\r\n if (response.data.id) {\r\n renewalService.plsMarkSectionComplete(renewalId, sectionId, isComplete).then((data) => {\r\n push(routes.filter(x => x.sectionId == (sectionId + 2))[0].route)\r\n })\r\n }\r\n })\r\n }\r\n }\r\n\r\n\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import React from 'react';\r\nimport { Card } from 'react-bootstrap'\r\nimport { FormGroup, RadioGroup, FormControl, Radio} from 'rsuite'\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction JournalPrivacyCard() {\r\n return (\r\n
\r\n \r\n
Journal & Privacy (Professional)
\r\n \r\n

Please send me the Louisiana Engineer & Land Surveyor Journal via:

\r\n
\r\n \r\n \r\n Email\r\n Mail\r\n Do Not Send\r\n \r\n \r\n

Do you want your email address(es) and telephone number(s), which you have provided us, to be kept private and not made available to vendors requesting rosters for distribution\r\n of engineering/land surveying CPD information or to other third parties?

\r\n
\r\n \r\n \r\n Yes, keep private\r\n No, share when requested\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default JournalPrivacyCard;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PLSNOTIFICATIONPREFERENCEURL = process.env.REACT_APP_APIURL + \"/api/NotificationPreferences\";\r\n\r\n\r\nconst getPrivacyData = (entityId) => {\r\n return axios.get(`${PLSNOTIFICATIONPREFERENCEURL}/journalandprivacy`, { headers: authHeader(), params: { entityId } });\r\n}\r\nconst postPrivacyData = (data) => {\r\n return axios.post(`${PLSNOTIFICATIONPREFERENCEURL}/journalandprivacy`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getPrivacyData,\r\n postPrivacyData\r\n}","import React, { useState } from 'react'\r\nimport { Container } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport JournalPrivacyCard from './JournalPrivacyCard';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport { useEffect } from 'react';\r\nimport privacyService from '../../../../../services/Internal/Renewal/PLS/privacy.service';\r\nimport Swal from 'sweetalert2';\r\nimport renewalService from '../../../../../services/Internal/Renewal/renewal.service';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/PlsInformation';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction Privacy() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [isComplete, isCompleteCallBack] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const { push } = useHistory();\r\n const sectionId = 6;\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Land Surveyor Renewal\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Journal & Privacy Option (Professional)\"\r\n }\r\n );\r\n\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n emailPhonePrivacy: BooleanType().isRequired('This field is required.'),\r\n receiveMethod: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const [formData, updateFormData] = useState({\r\n id: 0,\r\n entityId: entityId,\r\n emailPhonePrivacy: null,\r\n journalEmail: null,\r\n journalMail: null,\r\n journalDoNotSend: null,\r\n userCrte: \"\",\r\n dateCrte: new Date(),\r\n deleted: false,\r\n receiveMethod: \"\"\r\n });\r\n\r\n useEffect(() => {\r\n renewalService.plsGetSection(renewalId, sectionId).then((data) => {\r\n setSectionData(data.data);\r\n isCompleteCallBack(data.data.staffReviewComplete);\r\n renewalService.getIndividualRenewal(renewalId).then((renewalData) => {\r\n setIsUserEditable(renewalData.data.status.id == 2)\r\n entityService.getEntity(data.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: renewalData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: renewalData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n privacyService.getPrivacyData(entity.data.entityId).then((response) => {\r\n if (response.data) {\r\n updateFormData({\r\n ...response.data,\r\n receiveMethod: response.data.journalEmail\r\n ? \"email\"\r\n : response.data.journalMail\r\n ? \"mail\"\r\n : response.data.journalDoNotSend\r\n ? \"none\"\r\n : null\r\n })\r\n }\r\n })\r\n });\r\n });\r\n })\r\n }, [])\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (val) {\r\n submitData(true);\r\n }\r\n }\r\n const submitData = (isForSubmit) => {\r\n var dataToTransmit = {\r\n ...formData,\r\n journalEmail: formData.receiveMethod === \"email\" ? true : null,\r\n journalMail: formData.receiveMethod === \"mail\" ? true : null,\r\n journalDoNotSend: formData.receiveMethod === \"none\" ? true : null,\r\n }\r\n\r\n privacyService.postPrivacyData(dataToTransmit).then((response) => {\r\n if (response.data.id) {\r\n renewalService.plsMarkSectionComplete(renewalId, sectionId, isComplete).then((data) => {\r\n if (isForSubmit)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n else\r\n Swal.fire(\"Saved!\");\r\n });\r\n }\r\n })\r\n }\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Privacy;","import React, { useState } from 'react'\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Acknowledgement from '../../../../Shared/Card/Acknowledgement';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/PlsInformation';\r\nimport { useSelector } from 'react-redux';\r\nimport renewalService from '../../../../../services/Internal/Renewal/renewal.service';\r\nimport { useEffect } from 'react';\r\nimport Swal from 'sweetalert2';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction AcknowledgementPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false)\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const sectionId = 7;\r\n const [isComplete, isCompleteCallBack] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const [formModel, setFormModel] = useState({});\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Land Surveyor Renewal\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Acknowledgement\"\r\n }\r\n );\r\n useEffect(() => {\r\n renewalService.plsGetSection(renewalId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n isCompleteCallBack(response.data.staffReviewComplete);\r\n renewalService.getIndividualRenewal(renewalId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n renewalService.plsPostSection(renewalId, sectionId, formModel.electronicSignature).then((response) => {\r\n if (isForSubmit && response.data.id) {\r\n renewalService.plsMarkSectionComplete(renewalId, sectionId, isComplete).then((data) => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n else if (response.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../Shared/Card/ReviewPdf';\r\nimport renewalService from '../../../../../services/Internal/Renewal/renewal.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Swal from 'sweetalert2';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/PlsInformation';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction ReviewPage() {\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Land Surveyor Renewal\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Review\"\r\n }\r\n );\r\n const sectionId = 8;\r\n useEffect(() => {\r\n renewalService.plsGetSection(appId, sectionId).then((response) => {\r\n setIsComplete(response.data.staffReviewComplete);\r\n renewalService.getIndividualRenewal(appId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n\r\n\r\n const formSubmit = () => {\r\n renewalService.plsMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n Swal.fire(\"Success!\", \"You have saved successfully.\", 'success')\r\n })\r\n }\r\n\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n {hasLoaded ?\r\n <>\r\n {violationIssuesHtml}\r\n \r\n \r\n \r\n  \r\n \r\n   \r\n \r\n {isUserEditable &&\r\n \r\n }\r\n \r\n \r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst lsiGetSection = (applicationId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/IndividualLsiApplication/section`, { headers: authHeader(), params: { applicationId, sectionId } });\r\n}\r\nconst lsiPostSection = (applicationId, sectionId, electronicSignature) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualLsiApplication/signsection`, null, { headers: authHeader(), params: { applicationId, sectionId, electronicSignature } });\r\n}\r\n\r\n//const lsiPostSectionHasMyNceesEducation = (applicationId, sectionId, hasMyNceesEducation) => {\r\n// return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualLsiApplication/setsectionhasmynceeseducation`, null, { headers: authHeader(), params: { applicationId, sectionId, hasMyNceesEducation } });\r\n//}\r\n\r\nconst lsiPostEducationSection = (applicationId, sectionId, hasMyNceesEducation, hasAnsacDegree, hasFourYearDegree) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualLsiApplication/seteducationsection`, null, { headers: authHeader(), params: { applicationId, sectionId, hasMyNceesEducation, hasAnsacDegree, hasFourYearDegree } });\r\n}\r\n\r\nconst lsiMarkSectionComplete = (applicationId, sectionId, complete) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualLsiApplication/marksectioncomplete`, null, { headers: authHeader(), params: { applicationId, sectionId, complete } })\r\n}\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Complete this section providing all required contact information.\",\r\n },\r\n {\r\n id: 2,\r\n sectionTitle: \"Education\",\r\n sectionContent: \"Complete this section listing all colleges and universities attended where a degree was conferred.\",\r\n },\r\n {\r\n id: 4,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 11,\r\n sectionTitle: \"Examination Verification in Louisiana or Other Jurisdictions\",\r\n sectionContent: \"This must be uploaded to your MyNCEES account.\",\r\n },\r\n {\r\n id: 12,\r\n sectionTitle: \"Recommendation\",\r\n sectionContent: \"You must be recommended for certification by a licensed Professional Surveyor.\",\r\n },\r\n {\r\n id: 8,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Electronically sign (type your name) and date.\",\r\n },\r\n {\r\n id: 9,\r\n sectionTitle: \"Review\",\r\n sectionContent: 'Review your answers. If you need to change an answer, click the \"Section\" above to go back to the appropriate section',\r\n },\r\n {\r\n id: 10,\r\n sectionTitle: \"Board/Staff Recommendations\",\r\n sectionContent: 'Waiting on text',\r\n }\r\n])\r\n\r\nexport default {\r\n lsiGetSection,\r\n lsiPostSection,\r\n //lsiPostSectionHasMyNceesEducation,\r\n lsiPostEducationSection,\r\n lsiMarkSectionComplete\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, ListGroup, Button } from 'react-bootstrap';\r\nimport Section from '../../../../Shared/Sections/Section';\r\nimport { getSections } from \"../../../../../services/Internal/Application/LSI/lsiApplication.service\";\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/LsiInformation';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport Swal from 'sweetalert2';\r\nimport InternalTaskInfo from '../../../Shared/InternalTaskInfo';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\nimport recentQueueService from '../../../../../services/Internal/Recent/recentQueue.service'\r\nimport issuesService from '../../../../../services/Shared/issues.service';\r\n\r\n\r\nfunction Index() {\r\n const marginRight = {\r\n marginRight: '1rem'\r\n }\r\n const [sections, setSections] = useState(null);\r\n const dispatch = useDispatch();\r\n const [showSectionButton, setShowSectionButton] = useState(true);\r\n const [justLicensed, setJustLicensed] = useState(false);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Land Surveyor Intern Application\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"\"\r\n }\r\n );\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const selector = useSelector(x => x);\r\n useEffect(() => {\r\n var routes = JSON.parse(localStorage.getItem('PERSIST_CURRENT_ROUTE')) ?? selector.currentRoutes;\r\n var currentAppId = localStorage.getItem('PERSIST_CURRENT_APP_ID') ?? selector.currentApplicationId;\r\n var currentEntityID = localStorage.getItem('PERSIST_CURRENT_APP_ENTITY_ID') ?? selector.currentApplicationEntityId;\r\n var currentAppTypeId = localStorage.getItem('PERSIST_CURRENT_APP_TYPE_ID') ?? selector.currentApplicationTypeId;\r\n if (localStorage.getItem('PERSIST_CURRENT_APP_ID')) {\r\n localStorage.removeItem('PERSIST_CURRENT_ROUTE');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ENTITY_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_TYPE_ID');\r\n\r\n dispatch({ type: \"PERSIST_CURRENT_ROUTE\", payload: routes });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: currentAppId });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ENTITY_ID\", payload: currentEntityID });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_TYPE_ID\", payload: currentAppTypeId });\r\n }\r\n //Add to recent Queue\r\n recentQueueService.updateRecentQueue({\r\n entityId: currentEntityID,\r\n parentId: currentAppId,\r\n parentTypeId: 2,\r\n appTypeId: 2,\r\n routes: JSON.stringify(routes)\r\n }).then((data) => {\r\n var token = parseInt(localStorage.getItem('updateRecentQueue')) ? parseInt(localStorage.getItem('updateRecentQueue')) : 0;\r\n localStorage.setItem('updateRecentQueue', token + 1)\r\n dispatch({ type: \"PERSIST_CURRENT_RECENT_QUEUE\", payload: parseInt(localStorage.getItem('updateRecentQueue')) });\r\n })\r\n applicationService.getIndividualApplication(currentAppId).then((sectionResponse) => {\r\n entityService.getEntity(currentEntityID).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: sectionResponse.data?.credential?.formattedLicenseNumber,\r\n applicationDate: sectionResponse.data?.dateSubmitted\r\n })\r\n });\r\n setHasLoaded(true);\r\n if (sectionResponse.data.sections.findIndex((element) => element.staffReviewComplete === false) !== -1 || sectionResponse.data.status.id !== 2) {// status id 2 = pending\r\n setShowSectionButton(false);\r\n }\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(1, currentAppId).then((data) => {\r\n setSections(routes != null ? routes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route\r\n var index = sectionResponse.data.sections.findIndex(x => x.sectionType?.id == section.id);\r\n if (index !== -1) {\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (sectionResponse.data.sections[index].staffReviewComplete)\r\n section.status = \"COMPLETE\";\r\n else if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n })\r\n })\r\n })\r\n }, [])\r\n\r\n const sendStaffApproval = (isApproved) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: `Do you want to ${isApproved ? 'license' : 'decline'} this application? You won't be able to revert this!`,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continue!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n Swal.fire({\r\n title: `${isApproved ? 'Licensing' : 'Declining'} Application`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n applicationService.postStaffApproval(selector.currentApplicationId, isApproved).then((response) => {\r\n if (response.data) {\r\n setShowSectionButton(false);\r\n Swal.fire({\r\n title: `Saving PDF`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n applicationService.postApplicationPdf(response.data.id, isApproved).then((data) => {\r\n if (data.data) {\r\n setJustLicensed(true);\r\n Swal.fire(\"Saved\", `The application was successfully ${isApproved ? 'approved' : 'declined'}!`, \"success\")\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n \r\n

Sections to Complete

\r\n \r\n {sections}\r\n \r\n \r\n
\r\n {showSectionButton &&\r\n
\r\n \r\n \r\n
\r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Index;","import React, { useEffect, useState } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { Form } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/LsiInformation'\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { useHistory } from 'react-router-dom';\r\nimport PersonalInformation from '../../../../Shared/Card/Contact/PersonalInformation';\r\nimport MailingAddress from '../../../../Shared/Card/Contact/MailingAddress';\r\nimport PublicAddress from '../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport publicApplicationService from '../../../../../services/Public/Application/LSI/lsiApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport contactService from '../../../../../services/Public/Application/LSI/contact.service';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport dayjs from 'dayjs';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport lsiApplicationService from '../../../../../services/Internal/Application/LSI/lsiApplication.service';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction ContactInformationPage() {\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const { push } = useHistory();\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const [formModel, setFormModel] = useState({});\r\n const [tabPane, setTabPane] = useState(\"personalInformation\")\r\n const [sectionData, setSectionData] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Land Surveyor Intern Application\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Contact Information\"\r\n }\r\n );\r\n\r\n useEffect(() => {\r\n contactService.getContactInformation(appId).then((response) => {\r\n var data = response.data;\r\n\r\n setFormModel({\r\n ...data,\r\n dateOfBirth: data.dateOfBirth != null ? dayjs(data.dateOfBirth).format('YYYY-MM-DD') : null,\r\n altEmail: data.alternateEmailAddress?.emailAddress,\r\n primaryEmail: data.primaryEmailAddress?.emailAddress,\r\n cellPhoneNum: data.cellPhone?.phoneNumber,\r\n workPhoneNum: data.workPhone?.phoneNumber,\r\n homePhoneNum: data.homePhone?.phoneNumber\r\n })\r\n publicApplicationService.lsiGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n applicationService.getIndividualApplication(appId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n\r\n })\r\n })\r\n }, [])\r\n\r\n const formSubmit = (validation, event) => {\r\n submitData(true);\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n contactService.postContactInformation(appId, formModel.certificateName).then((response) => {\r\n lsiApplicationService.lsiMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (isForSubmit && response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)} onSubmit={formSubmit} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import React from 'react';\r\nimport { Card, Row, Col } from 'react-bootstrap'\r\nimport YesNoRadioOption from '../../../../Shared/RadioButton/YesNoRadioOption';\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\nimport DocumentUpload from '../../../../Shared/Upload/DocumentUpload';\r\n\r\nfunction EducationRecord(props) {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
Education Records
\r\n \r\n
\r\n
\r\n \r\n

\r\n I have my education verified in MyNCEES account.\r\n

\r\n \r\n \r\n \r\n \r\n {props.hasMyNceesEducation == false &&\r\n \r\n You must create a MyNCEES account at ncees.org (https://account.ncees.org/login\r\n ), and have your transcript sent directly to NCEES. If you already have a MyNCEES account, you must have your education verified by NCEES\r\n \r\n }\r\n \r\n {(props.hasMyNceesEducation == true || props.hasMyNceesEducation == false) &&\r\n <>\r\n
\r\n

\r\n I have a ANSAC/ABET-accredited Geomatics degree.\r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {props.hasAnsacDegree == false &&\r\n <>\r\n
\r\n

\r\n I have a 4-year degree with approved 30 hours of surveying courses.\r\n

\r\n \r\n \r\n \r\n \r\n {props.hasFourYearDegree == true && // yes\r\n \r\n \r\n
    \r\n
  • Have all transcripts sent directly from your institutions to your MyNCEES
  • \r\n
  • Download the Approved Surveying Course \r\n list and the Course Evaluation Form from our website.\r\n
  • \r\n
  • In the event that you have not obtained Surveying Courses from our approved list, you must provide Syllabi for all courses that you want reviewed.
  • \r\n
\r\n
\r\n \r\n }\r\n {props.hasFourYearDegree == false && // no\r\n \r\n \r\n You may proceed to complete the application, but without 30 hours, you are not eligible for licensure in Louisiana. Contact staff at applications@lapels.com\r\n \r\n \r\n }\r\n
\r\n {props.hasFourYearDegree == true &&\r\n <>\r\n \r\n {!props.hasFiles &&\r\n
\r\n At least one attachment is required.\r\n
\r\n }\r\n \r\n }\r\n \r\n }\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\nexport default EducationRecord;","import React, { useEffect, useState } from 'react';\r\nimport { Container } from 'react-bootstrap';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport EducationRecord from './EducationRecords';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/LsiInformation';\r\nimport { useSelector } from 'react-redux';\r\nimport publicApplicationService from '../../../../../services/Public/Application/LSI/lsiApplication.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport lsiApplicationService from '../../../../../services/Internal/Application/LSI/lsiApplication.service';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction EducationPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [hasFiles, setHasFiles] = useState(false);\r\n\r\n const { push } = useHistory();\r\n const appEntityId = useSelector(x => x.currentApplicationEntityId)\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 2;\r\n const [sectionData, setSectionData] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Land Surveyor Intern Application\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Education\"\r\n }\r\n );\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n publicApplicationService.lsiGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n applicationService.getIndividualApplication(appId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n const { BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasMyNceesEducation: BooleanType().isRequired('This field is required.'),\r\n hasAnsacDegree: BooleanType().isRequired('This field is required.'),\r\n hasFourYearDegree: BooleanType().isRequired('This field is required.')\r\n });\r\n\r\n const submitForm = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var validationObject = model.check(sectionData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n if (key == \"hasFourYearDegree\" && sectionData.hasAnsacDegree == true) {\r\n continue;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n }\r\n //if (sectionData.hasFourYearDegree && !hasFiles) {\r\n // return;\r\n //}\r\n publicApplicationService.lsiPostEducationSection(appId, sectionId, sectionData.hasMyNceesEducation, sectionData.hasAnsacDegree, sectionData.hasFourYearDegree).then(() => {\r\n lsiApplicationService.lsiMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n })\r\n })\r\n }\r\n }\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded ? <>\r\n setSectionData(data)}\r\n >\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default EducationPage;","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport { useSelector } from 'react-redux';\r\nimport ViolationService from '../../../../../services/Public/Application/LSI/violation.service';\r\nimport publicApplicationService from '../../../../../services/Public/Application/LSI/lsiApplication.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/LsiInformation';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport lsiApplicationService from '../../../../../services/Internal/Application/LSI/lsiApplication.service';\r\nimport { getCodeViolationAnswers } from '../../../../../services/Shared/codeTable.service';\r\nimport GenericViolations from '../../../../Shared/Card/Violations';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 4;\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n signature: StringType().isRequired('This field is required.'),\r\n yesAnswerExplanation: StringType().isRequired('This field is required.'),\r\n });\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Land Surveyor Intern Application\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Violations\"\r\n }\r\n );\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n publicApplicationService.lsiGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n ViolationService.getViolation(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, issues: formData.issues, files: formData.files, filesForDisplay: formData.filesForDisplay, signature: response.data.electronicSignature });\r\n }\r\n else {\r\n getCodeViolationAnswers(2).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n applicationService.getIndividualApplication(store.currentApplicationId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n signature: undefined,\r\n yesAnswerExplanation: \"\",\r\n files: [],\r\n filesForDisplay: [],\r\n issues: []\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true) >= 0;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n const downloadViolations = () => {\r\n ViolationService.downloadViolationFile(store.currentApplicationId)\r\n }\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n setShowFormErrors(true)\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n if (formData.signature) {\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, applicationId: store.currentApplicationId, entityId: store.userInfo.EntityId };\r\n ViolationService.postViolation(dataTransfer).then((response) => {\r\n publicApplicationService.lsiPostSection(store.currentApplicationId, sectionId, formData.signature).then((response) => {\r\n lsiApplicationService.lsiMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((data) => {\r\n if (response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n })\r\n })\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst LSIAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualLsiApplication\";\r\n\r\nconst getExamination = (applicationId) => {\r\n return axios.get(`${LSIAPPLICATIONURL}/examinationverification`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postExamination = (data) => {\r\n return axios.post(`${LSIAPPLICATIONURL}/examinationverification`, data, { headers: authHeader() });\r\n}\r\n\r\n\r\nexport default {\r\n getExamination,\r\n postExamination\r\n}","import React, { useState, useEffect } from 'react'\r\nimport { Card, Col, Container, Row } from 'react-bootstrap';\r\nimport { ControlLabel, Form, FormControl, InputPicker, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport { getStates } from '../../../../../services/Shared/codeTable.service'\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport publicApplicationService from '../../../../../services/Internal/Application/LSI/lsiApplication.service';\r\nimport examinationService from '../../../../../services/Internal/Application/LSI/examination.service'\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/LsiInformation';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport dayjs from 'dayjs';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport lsiApplicationService from '../../../../../services/Internal/Application/LSI/lsiApplication.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction ExaminationVerification() {\r\n const [states, setStates] = useState([])\r\n const routes = useSelector(x => x.currentRoutes);\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const sectionId = 11;\r\n const [formModel, setFormModel] = useState({\r\n id: 0,\r\n applicationId: appId,\r\n entityId: entityId,\r\n jurisdictionState: null,\r\n dateOfExam: null,\r\n userCrte: \"\",\r\n dateCrte: new Date(),\r\n deleted: false\r\n });\r\n const [sectionData, setSectionData] = useState({});\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Land Surveyor Intern Application\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Examination\"\r\n }\r\n );\r\n const { StringType, ObjectType } = Schema.Types;\r\n const model = Schema.Model({\r\n jurisdictionState: ObjectType().isRequired('This field is required.'),\r\n dateOfExam: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n getStates().then(setStates);\r\n examinationService.getExamination(appId).then((response) => {\r\n if (response.data) {\r\n setFormModel({\r\n ...response.data,\r\n dateOfExam: response.data.dateOfExam != null ? dayjs(response.data.dateOfExam).format('YYYY-MM-DD') : null\r\n });\r\n }\r\n publicApplicationService.lsiGetSection(appId, sectionId).then((data) => {\r\n setSectionData(data.data);\r\n setIsComplete(data.data.staffReviewComplete);\r\n applicationService.getIndividualApplication(appId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n }, [])\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n examinationService.postExamination(formModel).then((response) => {\r\n if (response.data) {\r\n lsiApplicationService.lsiMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n })\r\n }\r\n }\r\n return (\r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
\r\n \r\n \r\n Fundamentals Exam (FS)\r\n \r\n \r\n \r\n \r\n Jurisdiction\r\n \r\n \r\n { if (label.toLowerCase().startsWith(userInput.toLowerCase()) || !userInput) return true; }}\r\n />\r\n \r\n \r\n \r\n \r\n Date\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n );\r\n}\r\nexport default ExaminationVerification","import React, { useState, useEffect } from 'react';\r\nimport { Button, Card, Row, Col } from 'react-bootstrap';\r\nimport { Icon, Table } from 'rsuite';\r\nimport GenericBadge from '../../../../Shared/Badge/GenericBadge';\r\nimport GenericPagination from '../../../../Shared/Grid/GenericPagination';\r\n\r\nfunction Recommendation(props) {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [gridData, setGridData] = useState([]);\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n\r\n useEffect(() => {\r\n setGridData(props.griddata)\r\n setHasLoaded(true);\r\n }, [props.griddata])\r\n\r\n const getData = () => {\r\n return gridData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const filteredData = getData();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n
Professional Land Surveyors
\r\n \r\n\r\n
\r\n
\r\n \r\n {(hasLoaded)\r\n &&\r\n
\r\n \r\n \r\n \r\n Full Name\r\n \r\n \r\n {\r\n rowData =>\r\n `${rowData.firstName} ${rowData.lastName}`\r\n\r\n }\r\n \r\n \r\n \r\n \r\n Email\r\n \r\n \r\n \r\n \r\n \r\n Sent Date\r\n \r\n {rowData => (rowData.sentDate ? new Date(rowData.sentDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Response Date\r\n \r\n {rowData => (rowData.responseDate ? new Date(rowData.responseDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Verification Status\r\n \r\n {rowData => (rowData.verificationStatus ? : '')}\r\n \r\n \r\n \r\n \r\n \r\n {rowData => {\r\n const verificationStatusId = rowData.verificationStatus?.id;\r\n function handleAction() {\r\n if (props.isUserEditable) {\r\n var tempData = { ...rowData, modalType: 'Edit' }\r\n props.openModal(tempData);\r\n }\r\n }\r\n function openVerifierModal() {\r\n props.openVerifierModal(rowData.id);\r\n }\r\n if (verificationStatusId > 1) {\r\n if (verificationStatusId == 4) {\r\n return (\r\n   \r\n \r\n )\r\n }\r\n }\r\n else {\r\n return (\r\n \r\n { props.emailReference(rowData) }} style={{ cursor: \"pointer\" }} />   \r\n   \r\n { props.deleteRow(rowData) }} style={{ cursor: \"pointer\" }} />\r\n \r\n );\r\n }\r\n }}\r\n \r\n \r\n
\r\n \r\n
}\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Recommendation","import { useState, useEffect } from 'react'\r\nimport { Button, Col, Modal, Row } from 'react-bootstrap'\r\nimport React from 'react'\r\nimport { ControlLabel, Schema, Form, FormControl, FormGroup } from 'rsuite'\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar'\r\n\r\n\r\nfunction AddEditRecommendationModal(props) {\r\n const [recommendationModel, setRecommendationModel] = useState(\r\n {\r\n applicationId: 0,\r\n dateCrte: null,\r\n deleted: false,\r\n email: \"\",\r\n entityId: 0,\r\n id: 0,\r\n firstName: \"\",\r\n lastName: \"\",\r\n userCrte: \"\",\r\n verificationStatus: null,\r\n modalType: \"Add\"\r\n })\r\n const [showErrors, setShowErrors] = useState(false);\r\n\r\n useEffect(() => {\r\n setRecommendationModel(props.modaldata);\r\n }, [props.modaldata])\r\n\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n firstName: StringType().isRequired(\"This field is required.\"),\r\n lastName: StringType().isRequired('This field is required.'),\r\n email: StringType().isRequired('This field is required.').isEmail('Enter in a valid Email')\r\n })\r\n \r\n const submitData = (validation, event) => {\r\n if (validation) {\r\n var dataToTransmit = {\r\n ...recommendationModel,\r\n id: recommendationModel.id === '' ? 0 : recommendationModel.id,\r\n dateCrte: new Date()\r\n };\r\n delete dataToTransmit.modalType;\r\n props.onsave(dataToTransmit).then((response) => {\r\n if (response.data.id) {\r\n props.updategrid();\r\n setShowErrors(false);\r\n props.onHide();\r\n }\r\n }).catch((response) => {\r\n })\r\n }\r\n }\r\n return (\r\n \r\n \r\n \r\n {recommendationModel.modalType} a Recommendation\r\n \r\n \r\n \r\n
setRecommendationModel(recommendationModel)} onSubmit={submitData} fluid>\r\n \r\n \r\n \r\n \r\n \r\n First Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Last Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Email \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default AddEditRecommendationModal;","import React, { useState, useEffect } from 'react';\r\nimport { Container } from 'react-bootstrap';\r\nimport { Form } from 'rsuite';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/LsiInformation';\r\n\r\nimport Recommendation from './Recommendation';\r\n\r\nimport recommendationService from '../../../../../services/Public/Application/LSI/recommendation.service'\r\nimport publicApplicationService from '../../../../../services/Public/Application/LSI/lsiApplication.service';\r\nimport Swal from 'sweetalert2';\r\nimport AddEditRecommendationModal from './AddEditRecommendationModal';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport lsiApplicationService from '../../../../../services/Internal/Application/LSI/lsiApplication.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport ExternalFormModal from '../../../../Shared/Modal/ExternalFormModal';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction RecommendationPage() {\r\n const { push } = useHistory();\r\n const [modalShow, setModalShow] = useState(false);\r\n const [hasLoaded, setHasLoaded] = useState(true);\r\n const [verifierModalShow, setVerifierModalShow] = useState(false);\r\n const [verifierId, setVerifierId] = useState(0);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const applicationId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 12; // Revisit\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Land Surveyor Intern Application\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Recommendations\"\r\n }\r\n );\r\n const [modalData, setModalData] = useState({\r\n applicationId: 0,\r\n dateCrte: null,\r\n deleted: false,\r\n email: \"\",\r\n entityId: 0,\r\n id: 0,\r\n firstName: \"\",\r\n lastName: \"\",\r\n sentDate: null,\r\n responseDate: null,\r\n userCrte: \"\",\r\n verificationStatus: null,\r\n modalType: \"Add\"\r\n });\r\n const [gridData, setGridData] = useState([]);\r\n const [sectionData, setSectionData] = useState({});\r\n\r\n useEffect(() => {\r\n setHasLoaded(false)\r\n publicApplicationService.lsiGetSection(applicationId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n applicationService.getIndividualApplication(applicationId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n updateGridData();\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n\r\n\r\n const updateGridData = () => {\r\n recommendationService.getRecommendations(applicationId).then((response) => {\r\n setGridData(response.data);\r\n });\r\n }\r\n const openAddEditModal = (values) => {\r\n if (isUserEditable) {\r\n if (values.id) {\r\n var data = {\r\n ...values,\r\n modalType: \"Edit\"\r\n }\r\n setModalData(data);\r\n }\r\n else {\r\n setModalData({\r\n applicationId: applicationId,\r\n dateCrte: null,\r\n deleted: false,\r\n email: \"\",\r\n entityId: entityId,\r\n id: 0,\r\n firstName: \"\",\r\n lastName: \"\",\r\n sentDate: null,\r\n responseDate: null,\r\n userCrte: \"\",\r\n verificationStatus: null,\r\n modalType: \"Add\"\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n }\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n lsiApplicationService.lsiMarkSectionComplete(applicationId, sectionId, isComplete).then((data) => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n\r\n }\r\n\r\n const deleteRow = (rowData) => {\r\n if (isUserEditable) {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n recommendationService.postRecommendation({ ...rowData, deleted: true }).then((response) => {\r\n updateGridData();\r\n })\r\n }\r\n })\r\n }\r\n }\r\n const openVerifierModal = (id) => {\r\n setVerifierId(id);\r\n setVerifierModalShow(true);\r\n }\r\n const emailReference = (rowData) => {\r\n if (isUserEditable) {\r\n recommendationService.sendRecommendationEmail(rowData.id).then((response) => {\r\n if (response.data) {\r\n Swal.fire(`You have successfully sent an email to ${rowData.firstName} ${rowData.lastName} at ${rowData.email}!`);\r\n updateGridData();\r\n }\r\n else\r\n Swal.fire(`Failed to send email: ${response.data.message}`);\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded ? <>\r\n setModalShow(false)}\r\n onsave={recommendationService.postRecommendation}\r\n />\r\n {verifierModalShow &&\r\n setVerifierModalShow(false)} id={verifierId} type=\"recommendationApplication\" />\r\n }\r\n { setSectionData(data) }}\r\n onSubmit={formSubmit} >\r\n \r\n
\r\n \r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default RecommendationPage","import React, { useEffect, useState } from 'react'\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Acknowledgement from '../../../../Shared/Card/Acknowledgement';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/LsiInformation';\r\nimport publicApplicationService from '../../../../../services/Internal/Application/LSI/lsiApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport lsiApplicationService from '../../../../../services/Internal/Application/LSI/lsiApplication.service';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction AcknowledgementPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false)\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 8; // Revisit\r\n const [formModel, setFormModel] = useState({})\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Land Surveyor Intern Application\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Acknowledgement\"\r\n }\r\n );\r\n useEffect(() => {\r\n publicApplicationService.lsiGetSection(appId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n applicationService.getIndividualApplication(appId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n publicApplicationService.lsiPostSection(appId, sectionId, formModel.electronicSignature).then((response) => {\r\n lsiApplicationService.lsiMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (isForSubmit && response.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/LsiInformation';\r\nimport lsiApplicationService, { getSections } from '../../../../../services/Internal/Application/LSI/lsiApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../Shared/Card/ReviewPdf';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport { Form } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction ReviewPage() {\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const [hasIssues, setHasIssues] = useState(true)\r\n const { push } = useHistory();\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const [canResubmit, setCanResubmit] = useState(false);\r\n const sectionId = 9;\r\n const [allSections, setAllSections] = useState([]);\r\n const [sectionData, setSectionData] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Land Surveyor Intern Application\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Review\"\r\n }\r\n );\r\n useEffect(() => {\r\n getSections().then(setAllSections);\r\n lsiApplicationService.lsiGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n applicationService.getIndividualApplication(appId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n\r\n\r\n const formSubmit = () => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n lsiApplicationService.lsiMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {hasLoaded ?\r\n <>\r\n {violationIssuesHtml}\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst LSIAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualLsiApplication\";\r\n\r\n\r\n\r\nconst getBoardRecommendations = (applicationId) => {\r\n return axios.get(`${LSIAPPLICATIONURL}/boardrecommendations`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst getBoardResponses = (applicationId) => {\r\n return axios.get(`${LSIAPPLICATIONURL}/boardmemberresponses`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postBoardRecommendation = (data) => {\r\n return axios.post(`${LSIAPPLICATIONURL}/boardrecommendation`, data, { headers: authHeader() });\r\n}\r\nconst postBoardResponse = (data) => {\r\n var header = authHeader();\r\n header['Content-Type'] = 'multipart/form-data';\r\n return axios.post(`${LSIAPPLICATIONURL}/boardmemberresponse`, data, { headers: { ...header } });\r\n}\r\nexport default {\r\n getBoardRecommendations,\r\n getBoardResponses,\r\n postBoardRecommendation,\r\n postBoardResponse\r\n}","import React, { useState, useEffect } from 'react'\r\nimport { Button, Card, Row, Col } from 'react-bootstrap'\r\nimport { ControlLabel, FormControl, FormGroup, Icon, SelectPicker, Table, Uploader } from 'rsuite'\r\nimport Swal from 'sweetalert2';\r\nimport boardApprovalService from '../../../../../services/Internal/Application/LSI/boardApproval.service';\r\nimport attachmentService from '../../../../../services/Shared/attachment.service';\r\nimport DocumentUpload from '../../../../Shared/Upload/DocumentUpload';\r\n\r\nfunction BoardApproval(props) {\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n\r\n const handleChangePage = (dataKey) => {\r\n setPage(dataKey);\r\n }\r\n const handleChangeLength = (dataKey) => {\r\n setPage(1);\r\n setDisplayLength(dataKey);\r\n }\r\n\r\n const getData = () => {\r\n return props.gridData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const formDataAppender = (passedKey, model, formData) => {\r\n for (let key in model) {\r\n if (typeof (model[key]) === 'object') {\r\n formDataAppender(`${passedKey}.${key}`, model[key], formData); // Recursive key for objects\r\n }\r\n else {\r\n if (passedKey)\r\n formData.append(`${passedKey}.${key}`, model[key]);\r\n else\r\n formData.append(`${key}`, model[key]);\r\n }\r\n }\r\n }\r\n const filteredData = getData();\r\n const removeFile = (id, rowData) => {\r\n Swal.fire({\r\n title: 'Are you sure you want to delete this file?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n attachmentService.deleteFile(id).then((response) => {\r\n if (response.status == 200) {\r\n if (rowData) {\r\n var index = props.gridData.findIndex(x => x.id == rowData.id);\r\n var tempModel = props.gridData;\r\n tempModel[index].files = tempModel[index].files.filter(x => x.id !== id);\r\n props.setGridData([...tempModel]);\r\n }\r\n else {\r\n props.setFiles([...props.files.filter(x => x.id != id)])\r\n }\r\n }\r\n });\r\n }\r\n })\r\n }\r\n\r\n const openFile = (id) => {\r\n attachmentService.openFile(id);\r\n }\r\n return (\r\n <>\r\n\r\n \r\n
Board/Staff Attachments
\r\n \r\n \r\n
\r\n \r\n Additional Comments\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
Board/Staff Responses
\r\n \r\n {props.isUserEditable &&\r\n \r\n \r\n }\r\n
\r\n
\r\n \r\n \r\n \r\n Document\r\n \r\n {rowData => {\r\n return (<>\r\n {rowData.files.map((item, i) => {\r\n return (\r\n \r\n {props.isUserEditable &&\r\n }\r\n\r\n \r\n \r\n\r\n )\r\n })}\r\n \r\n )\r\n }}\r\n \r\n \r\n \r\n \r\n Date Sent\r\n \r\n {rowData => (rowData.dateSent ? new Date(rowData.dateSent).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Date Received\r\n \r\n {rowData => (rowData.dateReceived ? new Date(rowData.dateReceived).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Board Member\r\n \r\n {rowData => (`${rowData.boardMember.firstName} ${rowData.boardMember.middleName} ${rowData.boardMember.lastName}, ${rowData.boardMember.credentialSuffix}`)}\r\n \r\n \r\n \r\n Decision\r\n \r\n {rowData => (rowData.boardMemberDecision?.boardMemberDecision)}\r\n \r\n \r\n \r\n Comments\r\n \r\n \r\n \r\n {props.isUserEditable &&\r\n \r\n \r\n \r\n \r\n {rowData => {\r\n function handleAction() {\r\n var tempData = { ...rowData, files: [] }\r\n props.openModal(tempData);\r\n }\r\n function handleDelete() {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n var formData = new FormData();\r\n var dataToTransmit = {\r\n ...rowData,\r\n deleted: true,\r\n }\r\n formDataAppender('boardMemberResponse', dataToTransmit, formData);\r\n for (var i = 0; i < rowData.files.length; i++) {\r\n formData.append('files', rowData.files[i].blobFile);\r\n }\r\n boardApprovalService.postBoardResponse(formData).then((response) => {\r\n if (response.status == 200) {\r\n props.setGridData([...props.gridData.filter(x => x.id !== rowData.id)]);\r\n }\r\n })\r\n }\r\n })\r\n }\r\n return (\r\n \r\n   \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n }\r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default BoardApproval;","import { useState, useEffect } from 'react'\r\nimport { Button, Card, Col, Modal, Row } from 'react-bootstrap'\r\nimport React from 'react'\r\nimport { ControlLabel, Schema, Form, FormControl, FormGroup, InputPicker, Uploader } from 'rsuite'\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\nimport GenericAttachmentGrid from '../../../../Shared/Grid/GenericAttachmentGrid';\r\nimport { getBoardMembers } from '../../../../../services/Shared/codeTable.service';\r\nimport boardApprovalService from '../../../../../services/Internal/Application/PLS/boardApproval.service';\r\nimport attachmentService from '../../../../../services/Shared/attachment.service';\r\nimport Swal from 'sweetalert2';\r\nimport BlockUi from 'react-block-ui';\r\nimport 'react-block-ui/style.css';\r\n\r\nfunction BoardApprovalModal(props) {\r\n\r\n const { ObjectType, DateType } = Schema.Types;\r\n const [blockUi, setBlockUi] = useState(false);\r\n const model = Schema.Model({\r\n dateSent: DateType().isRequired('This field is required.'),\r\n boardMember: ObjectType().isRequired('This field is required.'),\r\n })\r\n const decisionData = [\r\n { \"label\": \"Approved\", \"value\": { id: 1, boardMemberDecision: \"Approved\" } },\r\n { \"label\": \"Declined\", \"value\": { id: 2, boardMemberDecision: \"Declined\" } }];\r\n\r\n const [boardMemebers, setBoardMembers] = useState([])\r\n const [approvalModel, setApprovalModel] = useState()\r\n useEffect(() => {\r\n setApprovalModel(props.modalData);\r\n getBoardMembers().then(setBoardMembers);\r\n }, [props.modalData])\r\n\r\n const formSubmit = (validation, event) => {\r\n if (validation) {\r\n setBlockUi(true);\r\n var formData = new FormData()\r\n var dataToTransmit = {\r\n ...approvalModel,\r\n dateSent: new Date(approvalModel.dateSent).toISOString(),\r\n dateReceived: approvalModel.dateReceived ? new Date(approvalModel.dateReceived).toISOString() : null\r\n }\r\n formDataAppender('boardMemberResponse', dataToTransmit, formData);\r\n for (var i = 0; i < approvalModel.files.length; i++) {\r\n formData.append('files', approvalModel.files[i].blobFile);\r\n }\r\n boardApprovalService.postBoardResponse(formData).then((response) => {\r\n setBlockUi(false);\r\n if (response.data.boardMemberResponse.id) {\r\n props.updateGrid();\r\n props.onHide();\r\n }\r\n\r\n })\r\n }\r\n\r\n }\r\n const formDataAppender = (passedKey, model, formData) => {\r\n for (let key in model) {\r\n if (typeof (model[key]) === 'object') {\r\n formDataAppender(`${passedKey}.${key}`, model[key], formData); // Recursive key for objects\r\n }\r\n else {\r\n if (passedKey)\r\n formData.append(`${passedKey}.${key}`, model[key]);\r\n else\r\n formData.append(`${key}`, model[key]);\r\n }\r\n }\r\n }\r\n const handleChange = (val, e) => {\r\n if (!e) {\r\n var newFiles = approvalModel.files;\r\n newFiles.push(val);\r\n setApprovalModel({ ...approvalModel, files: [...newFiles] })\r\n }\r\n };\r\n const deleteFile = (id) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n setApprovalModel({ ...approvalModel, files: approvalModel.files.filter(x => x.fileKey != id) })\r\n }\r\n })\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Board/Staff Member Response\r\n \r\n \r\n \r\n
setApprovalModel(approvalModel)} onSubmit={formSubmit} fluid>\r\n \r\n \r\n \r\n \r\n Date Sent \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Board/Staff Member \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n Date Received\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Decision\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n File Upload \r\n \r\n \r\n \r\n \r\n \r\n
Click or Drag files to this area to upload
\r\n \r\n \r\n
\r\n \r\n \r\n {approvalModel?.files?.length > 0 &&\r\n
\r\n
\r\n {\r\n return {\r\n id: value.fileKey,\r\n timestamp: new Date().toLocaleDateString(),\r\n file: value.blobFile?.name\r\n }\r\n })}\r\n isSync={true}\r\n tStyle=\"table-bordered\"\r\n name=\"filesForDisplay\" />\r\n
\r\n }\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Comments\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nexport default BoardApprovalModal;","import React, { useState, useEffect } from 'react'\r\nimport { Button, Col, Container, Row } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { Link } from 'react-router-dom';\r\nimport BoardApproval from './BoardApproval';\r\nimport BoardApprovalModal from './BoardApprovalModal';\r\nimport { useSelector } from 'react-redux';\r\nimport boardApprovalService from '../../../../../services/Internal/Application/LSI/boardApproval.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Swal from 'sweetalert2';\r\nimport dayjs from \"dayjs\";\r\nimport lsiApplicationService from '../../../../../services/Internal/Application/LSI/lsiApplication.service';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction BoardApprovalPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const entityId = useSelector(x => x.currentApplicationEntityId)\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 10;\r\n const [modalShow, setModalShow] = useState(false);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n\r\n const [gridData, setGridData] = useState([]);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Land Surveyor Intern Application\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Board/Staff Recommendations\"\r\n }\r\n );\r\n const [formModel, setFormModel] = useState({\r\n applicationId: appId,\r\n dateCrte: null,\r\n deleted: false,\r\n entityId: entityId,\r\n additionalComments: \"\",\r\n id: 0,\r\n userCrte: \"\"\r\n })\r\n const [boardApprovalSectionId, setBoardApprovalSectionId] = useState();\r\n const [modalData, setModalData] = useState({\r\n comments: \"\",\r\n dateCrte: new Date(),\r\n dateReceived: new Date(),\r\n dateSent: new Date(),\r\n deleted: false,\r\n id: 0,\r\n userCrte: \"\",\r\n boardMemberDecision: null,\r\n boardMember: {\r\n appointmentYear: 0,\r\n credentialSuffix: \"\",\r\n expirationYear: 0,\r\n firstName: \"\",\r\n id: 0,\r\n lastName: \"\",\r\n middleName: \"\",\r\n representation: \"\",\r\n suffix: \"\"\r\n },\r\n entityId: entityId,\r\n applicationId: appId,\r\n boardStaffApprovalId: 0,\r\n files: [],\r\n filesForDisplay: [],\r\n filesLoading: false\r\n })\r\n\r\n useEffect(() => {\r\n lsiApplicationService.lsiGetSection(appId, sectionId).then((response) => {\r\n boardApprovalService.getBoardRecommendations(appId).then((data) => {\r\n setFormModel(data.data);\r\n setModalData({ ...modalData, boardStaffApprovalId: data.data.id })\r\n updateGrid()\r\n setIsComplete(response.data.staffReviewComplete);\r\n setBoardApprovalSectionId(response.data.id);\r\n applicationService.getIndividualApplication(appId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n }, [])\r\n\r\n const updateGrid = () => {\r\n boardApprovalService.getBoardResponses(appId).then((vals) => {\r\n if (vals.data?.length)\r\n setGridData(\r\n vals.data.map((value, i) => { return { ...value.boardMemberResponse, files: [...value.attachments] } }))\r\n })\r\n }\r\n const submitData = (val) => {\r\n if (val) {\r\n boardApprovalService.postBoardRecommendation(formModel).then((val) => {\r\n if (val.data) {\r\n lsiApplicationService.lsiMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n Swal.fire(\"Saved!\", \"You have successfully saved.\", 'success');\r\n })\r\n }\r\n })\r\n }\r\n }\r\n\r\n const openAddEditModal = (values) => {\r\n if (values.id) {\r\n setModalData({ ...values, dateReceived: values.dateReceived != null ? dayjs(values.dateReceived).format('YYYY-MM-DD') : null, dateSent: values.dateSent != null ? dayjs(values.dateSent).format('YYYY-MM-DD') : null })\r\n }\r\n else {\r\n setModalData({\r\n comments: \"\",\r\n dateCrte: new Date(),\r\n dateReceived: null,\r\n dateSent: null,\r\n deleted: false,\r\n id: 0,\r\n userCrte: \"\",\r\n boardMemberDecision: null,\r\n boardMember: null,\r\n entityId: entityId,\r\n applicationId: appId,\r\n boardStaffApprovalId: formModel.id,\r\n files: [],\r\n filesForDisplay: []\r\n\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n\r\n return (\r\n
\r\n \r\n setModalShow(false)} />\r\n
setFormModel(formModel)} onSubmit={submitData}>\r\n \r\n {hasLoaded ? <>\r\n \r\n \r\n \r\n \r\n  \r\n \r\n   \r\n \r\n {isUserEditable &&\r\n \r\n }\r\n \r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default BoardApprovalPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst INDIVIDUALRENEWAL = process.env.REACT_APP_APIURL + \"/api/IndividualRenewal\";\r\n\r\nconst getIndividualRenewal = async (renewalId) => {\r\n return axios.get(`${INDIVIDUALRENEWAL}/renewal`, { headers: authHeader(), params: { renewalId } });;\r\n};\r\n\r\nconst lsiGetSection = (renewalId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/IndividualLsiRenewal/section`, { headers: authHeader(), params: { renewalId, sectionId } });\r\n}\r\nconst lsiPostSection = (renewalId, sectionId, electronicSignature) => {\r\n\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualLsiRenewal/signsection`, null, { headers: authHeader(), params: { renewalId, sectionId, electronicSignature } });\r\n}\r\nconst lsiMarkSectionComplete = (renewalId, sectionId, complete) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualLsiRenewal/marksectioncomplete`, null, { headers: authHeader(), params: { renewalId, sectionId, complete } })\r\n}\r\n\r\nconst postStaffApproval = (renewalId, isApproved) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualRenewal/staffApproval`, null, { headers: authHeader(), params: { renewalId, isApproved } });\r\n}\r\nconst postRenewalPdf = (renewalId, isApproved) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/Reports/AutoAttachRenewalPdf`, null, { headers: authHeader(), params: { renewalId, isApproved } });\r\n}\r\n\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Complete this section providing all required contact information.\",\r\n },\r\n {\r\n id: 4,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 6,\r\n sectionTitle: \"Journal & Phone Privacy Options\",\r\n sectionContent: \"Verify your subscription and distribution options.\",\r\n },\r\n {\r\n id: 7,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Electronically sign (type your name) and date.\",\r\n },\r\n {\r\n id: 8,\r\n sectionTitle: \"Review\",\r\n sectionContent: 'Review your answers. If you need to change an answer, click the \"Section\" above to go back to the appropriate section',\r\n }\r\n])\r\n\r\nexport default {\r\n lsiGetSection,\r\n lsiPostSection,\r\n lsiMarkSectionComplete,\r\n postStaffApproval,\r\n getIndividualRenewal,\r\n postRenewalPdf\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, ListGroup, Button } from 'react-bootstrap';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\nimport renewalService, { getSections } from '../../../../../services/Internal/Renewal/LSI/lsiRenewal.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/LsiInformation';\r\nimport Section from '../../../../Shared/Sections/Section';\r\nimport InternalTaskInfo from '../../../Shared/InternalTaskInfo';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\nimport recentQueueService from '../../../../../services/Internal/Recent/recentQueue.service'\r\nimport issuesService from '../../../../../services/Shared/issues.service';\r\n\r\nfunction Index() {\r\n const marginRight = {\r\n marginRight: '1rem'\r\n }\r\n const [showSectionButton, setShowSectionButton] = useState(true);\r\n const [justLicensed, setJustLicensed] = useState(false);\r\n const [sections, setSections] = useState(null);\r\n const dispatch = useDispatch();\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Land Surveyor Intern Renewal\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"\"\r\n }\r\n );\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const selector = useSelector(x => x);\r\n useEffect(() => {\r\n var routes = JSON.parse(localStorage.getItem('PERSIST_CURRENT_ROUTE')) ?? selector.currentRoutes;\r\n var currentAppId = localStorage.getItem('PERSIST_CURRENT_APP_ID') ?? selector.currentApplicationId;\r\n var currentEntityID = localStorage.getItem('PERSIST_CURRENT_APP_ENTITY_ID') ?? selector.currentApplicationEntityId;\r\n var currentAppTypeId = localStorage.getItem('PERSIST_CURRENT_APP_TYPE_ID') ?? selector.currentApplicationTypeId;\r\n if (localStorage.getItem('PERSIST_CURRENT_APP_ID')) {\r\n localStorage.removeItem('PERSIST_CURRENT_ROUTE');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ENTITY_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_TYPE_ID');\r\n\r\n dispatch({ type: \"PERSIST_CURRENT_ROUTE\", payload: routes });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: currentAppId });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ENTITY_ID\", payload: currentEntityID });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_TYPE_ID\", payload: currentAppTypeId });\r\n }\r\n //Add to recent Queue\r\n recentQueueService.updateRecentQueue({\r\n entityId: currentEntityID,\r\n parentId: currentAppId,\r\n parentTypeId: 3,\r\n appTypeId: 2,\r\n routes: JSON.stringify(routes)\r\n }).then((data) => {\r\n var token = parseInt(localStorage.getItem('updateRecentQueue')) ? parseInt(localStorage.getItem('updateRecentQueue')) : 0;\r\n localStorage.setItem('updateRecentQueue', token + 1)\r\n dispatch({ type: \"PERSIST_CURRENT_RECENT_QUEUE\", payload: parseInt(localStorage.getItem('updateRecentQueue')) });\r\n })\r\n\r\n renewalService.getIndividualRenewal(currentAppId).then((sectionResponse) => {\r\n entityService.getEntity(currentEntityID).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: sectionResponse.data?.credential?.formattedLicenseNumber,\r\n applicationDate: sectionResponse.data?.dateSubmitted\r\n })\r\n });\r\n setHasLoaded(true);\r\n if (sectionResponse.data.sections.findIndex((element) => element.staffReviewComplete === false) !== -1 || sectionResponse.data.status.id !== 2) {// status id 2 = pending\r\n setShowSectionButton(false);\r\n }\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(2, currentAppId).then((data) => {\r\n setSections(routes != null ? routes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route\r\n var index = sectionResponse.data.sections.findIndex(x => x.sectionType?.id == section.id);\r\n if (index !== -1) {\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (sectionResponse.data.sections[index].staffReviewComplete)\r\n section.status = \"COMPLETE\";\r\n else if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n })\r\n })\r\n })\r\n }, [])\r\n\r\n const sendStaffApproval = (isApproved) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: `Do you want to ${isApproved ? 'license' : 'decline'} this renewal? You won't be able to revert this!`,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continue!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n Swal.fire({\r\n title: `${isApproved ? 'Licensing' : 'Declining'} Renewal`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n renewalService.postStaffApproval(selector.currentApplicationId, isApproved).then((response) => {\r\n if (response.data) {\r\n setShowSectionButton(false);\r\n Swal.fire({\r\n title: `Saving PDF`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n renewalService.postRenewalPdf(response.data.id, isApproved).then((data) => {\r\n if (data.data) {\r\n setJustLicensed(true);\r\n Swal.fire(\"Saved\", `The renewal was successfully ${isApproved ? 'approved' : 'declined'}!`, \"success\")\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n \r\n

Sections to Complete

\r\n \r\n {sections}\r\n \r\n \r\n
\r\n {showSectionButton &&\r\n
\r\n \r\n \r\n
\r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Index;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst LSIRENEWALURL = process.env.REACT_APP_APIURL + \"/api/IndividualLsiRenewal\";\r\n\r\nconst getContactInformation = (renewalId) => {\r\n return axios.get(`${LSIRENEWALURL}/contactinformation`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nexport default {\r\n getContactInformation\r\n}","import React, { useState } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { Form } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/LsiInformation';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport contactService from '../../../../../services/Internal/Renewal/LSI/contact.service';\r\nimport internalRenewalService from '../../../../../services/Internal/Renewal/LSI/lsiRenewal.service';\r\nimport { useSelector } from 'react-redux';\r\nimport { useEffect } from 'react';\r\nimport Swal from 'sweetalert2';\r\nimport PersonalInformation from '../../../../Shared/Card/Contact/PersonalInformation';\r\nimport MailingAddress from '../../../../Shared/Card/Contact/MailingAddress';\r\nimport PublicAddress from '../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport dayjs from 'dayjs';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport lsiRenewalService from '../../../../../services/Internal/Renewal/LSI/lsiRenewal.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\nimport renewalService from '../../../../../services/Internal/Renewal/renewal.service';\r\n\r\nfunction ContactInformationPage() {\r\n\r\n const { push } = useHistory();\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [formModel, setFormModel] = useState({});\r\n const [tabPane, setTabPane] = useState(\"personalInformation\")\r\n const [sectionData, setSectionData] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Land Surveyor Intern Renewal\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Contact Information\"\r\n }\r\n );\r\n useEffect(() => {\r\n contactService.getContactInformation(renewalId).then((response) => {\r\n var data = response.data;\r\n\r\n setFormModel({\r\n ...data,\r\n dateOfBirth: data.dateOfBirth != null ? dayjs(data.dateOfBirth).format('YYYY-MM-DD') : null,\r\n altEmail: data.alternateEmailAddress?.contactEmailAddress,\r\n primaryEmail: data.primaryEmailAddress?.contactEmailAddress,\r\n cellPhoneNum: data.cellPhone?.contactPhoneNumber,\r\n workPhoneNum: data.workPhone?.contactPhoneNumber,\r\n homePhoneNum: data.homePhone?.contactPhoneNumber\r\n })\r\n internalRenewalService.lsiGetSection(renewalId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n renewalService.getIndividualRenewal(renewalId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n }, [])\r\n\r\n const formSubmit = (validation, event) => {\r\n submitData();\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n lsiRenewalService.lsiMarkSectionComplete(renewalId, sectionId, isComplete).then((data) => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)} onSubmit={formSubmit} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import React, { useEffect, useState } from 'react';\r\nimport { Container } from 'react-bootstrap';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport publicRenewalService from '../../../../../services/Public/Renewal/LSI/lsiRenewal.service';\r\nimport violationService from '../../../../../services/Public/Renewal/LSI/violation.service';\r\nimport { useSelector } from 'react-redux';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/LsiInformation';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport lsiRenewalService from '../../../../../services/Internal/Renewal/LSI/lsiRenewal.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport { getRenewalCodeViolationAnswers } from '../../../../../services/Shared/codeTable.service';\r\nimport GenericViolations from '../../../../Shared/Card/Violations';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\nimport renewalService from '../../../../../services/Internal/Renewal/renewal.service';\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const { push } = useHistory();\r\n const sectionId = 4;\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Land Surveyor Intern Renewal\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Violations\"\r\n }\r\n );\r\n const [formData, updateFormData] = useState({\r\n renewalId: renewalId,\r\n dateCrte: new Date(),\r\n entityId: entityId,\r\n id: 0,\r\n userCrte: \"\",\r\n yesAnswerExplanation: \"\"\r\n });\r\n\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n publicRenewalService.lsiGetSection(renewalId, sectionId).then((response) => {\r\n violationService.getViolation(renewalId).then((data) => {\r\n if (data.data) {\r\n\r\n updateFormData(data.data);\r\n }\r\n else {\r\n getRenewalCodeViolationAnswers(4).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n renewalService.getIndividualRenewal(renewalId).then((renewalData) => {\r\n setIsUserEditable(renewalData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: renewalData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: renewalData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n\r\n }, [])\r\n\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n yesAnswerExplanation: StringType().isRequired('This field is required.')\r\n });\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true) >= 0;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n setShowFormErrors(true)\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n violationService.postViolation(formData).then((response) => {\r\n lsiRenewalService.lsiMarkSectionComplete(renewalId, sectionId, isComplete).then((data) => {\r\n if (response.data.id) {\r\n push(routes.filter(x => x.sectionId == (sectionId + 2))[0].route)\r\n }\r\n })\r\n\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import React from 'react';\r\nimport { Card } from 'react-bootstrap'\r\nimport { FormGroup, RadioGroup, FormControl, Radio } from 'rsuite'\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction JournalPrivacyCard(props) {\r\n return (\r\n
\r\n \r\n
Journal & Privacy (Professional)
\r\n \r\n

Please send me the Louisiana Engineer & Land Surveyor Journal via:

\r\n
\r\n \r\n \r\n Email\r\n Mail\r\n Do Not Send\r\n \r\n \r\n

Do you want your email address(es) and telephone number(s), which you have provided us, to be kept private and not made available to vendors requesting rosters for distribution\r\n of engineering/land surveying CPD information or to other third parties?

\r\n
\r\n \r\n \r\n Yes, keep private\r\n No, share when requested\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default JournalPrivacyCard;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst LSINOTIFICATIONPREFERENCEURL = process.env.REACT_APP_APIURL + \"/api/NotificationPreferences\";\r\n\r\n\r\nconst getPrivacyData = (entityId) => {\r\n return axios.get(`${LSINOTIFICATIONPREFERENCEURL}/journalandprivacy`, { headers: authHeader(), params: { entityId } });\r\n}\r\nconst postPrivacyData = (data) => {\r\n return axios.post(`${LSINOTIFICATIONPREFERENCEURL}/journalandprivacy`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getPrivacyData,\r\n postPrivacyData\r\n}","import React, { useState } from 'react'\r\nimport { Container } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport JournalPrivacyCard from './JournalPrivacyCard';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport { useEffect } from 'react';\r\nimport privacyService from '../../../../../services/Internal/Renewal/LSI/privacy.service';\r\nimport Swal from 'sweetalert2';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/LsiInformation';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport lsiRenewalService from '../../../../../services/Internal/Renewal/LSI/lsiRenewal.service'\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\nimport renewalService from '../../../../../services/Internal/Renewal/renewal.service';\r\n\r\nfunction Privacy() {\r\n const [sectionData, setSectionData] = useState({});\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const { push } = useHistory();\r\n const sectionId = 6;\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Land Surveyor Intern Renewal\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Journal & Privacy Option\"\r\n }\r\n );\r\n\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n emailPhonePrivacy: BooleanType().isRequired('This field is required.'),\r\n receiveMethod: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const [formData, updateFormData] = useState({\r\n id: 0,\r\n entityId: entityId,\r\n emailPhonePrivacy: null,\r\n journalEmail: null,\r\n journalMail: null,\r\n journalDoNotSend: null,\r\n userCrte: \"\",\r\n dateCrte: new Date(),\r\n deleted: false,\r\n receiveMethod: \"\"\r\n });\r\n\r\n useEffect(() => {\r\n lsiRenewalService.lsiGetSection(renewalId, sectionId).then((data) => {\r\n setSectionData(data.data)\r\n privacyService.getPrivacyData(data.data.entityId).then((response) => {\r\n if (response.data) {\r\n updateFormData({\r\n ...response.data,\r\n receiveMethod: response.data.journalEmail\r\n ? \"email\"\r\n : response.data.journalMail\r\n ? \"mail\"\r\n : response.data.journalDoNotSend\r\n ? \"none\"\r\n : null\r\n })\r\n }\r\n })\r\n setIsComplete(data.data.staffReviewComplete);\r\n renewalService.getIndividualRenewal(renewalId).then((renewalData) => {\r\n setIsUserEditable(renewalData.data.status.id == 2)\r\n entityService.getEntity(data.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: renewalData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: renewalData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (val) {\r\n submitData(true);\r\n }\r\n }\r\n const submitData = (isForSubmit) => {\r\n var dataToTransmit = {\r\n ...formData,\r\n journalEmail: formData.receiveMethod === \"email\" ? true : null,\r\n journalMail: formData.receiveMethod === \"mail\" ? true : null,\r\n journalDoNotSend: formData.receiveMethod === \"none\" ? true : null,\r\n }\r\n\r\n privacyService.postPrivacyData(dataToTransmit).then((response) => {\r\n lsiRenewalService.lsiMarkSectionComplete(renewalId, sectionId, isComplete).then((data) => {\r\n if (response.data.id) {\r\n if (isForSubmit)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n else\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n })\r\n }\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Privacy;","import React, { useEffect, useState } from 'react'\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Acknowledgement from '../../../../Shared/Card/Acknowledgement';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/LsiInformation';\r\nimport internalRenewalService from '../../../../../services/Internal/Renewal/LSI/lsiRenewal.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\nimport renewalService from '../../../../../services/Internal/Renewal/renewal.service';\r\n\r\nfunction AcknowledgementPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false)\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 7; // Revisit\r\n const [formModel, setFormModel] = useState({})\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Land Surveyor Intern Renewal\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Acknowledgement\"\r\n }\r\n );\r\n useEffect(() => {\r\n internalRenewalService.lsiGetSection(renewalId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n renewalService.getIndividualRenewal(renewalId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n internalRenewalService.lsiPostSection(renewalId, sectionId, formModel.electronicSignature).then((response) => {\r\n internalRenewalService.lsiMarkSectionComplete(renewalId, sectionId, isComplete).then((data) => {\r\n if (isForSubmit && response.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/LsiInformation';\r\nimport lsiRenewalService from '../../../../../services/Internal/Renewal/LSI/lsiRenewal.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../Shared/Card/ReviewPdf';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport { Form } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\nimport renewalService from '../../../../../services/Internal/Renewal/renewal.service';\r\n\r\nfunction ReviewPage() {\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const [hasIssues, setHasIssues] = useState(true)\r\n const { push } = useHistory();\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const [canResubmit, setCanResubmit] = useState(false);\r\n const sectionId = 8;\r\n const [allSections, setAllSections] = useState([]);\r\n const [sectionData, setSectionData] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Land Surveyor Intern Renewal\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Review\"\r\n }\r\n );\r\n useEffect(() => {\r\n lsiRenewalService.lsiGetSection(renewalId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n renewalService.getIndividualRenewal(renewalId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n const formSubmit = () => {\r\n if (!isUserEditable) {\r\n push(\"/internal/lsirenewal/sections\");\r\n }\r\n else {\r\n lsiRenewalService.lsiMarkSectionComplete(renewalId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n push(\"/internal/lsirenewal/sections\");\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {hasLoaded ?\r\n <>\r\n {violationIssuesHtml}\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PEAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeApplication\";\r\n\r\n\r\n\r\nconst getBoardRecommendations = (applicationId) => {\r\n return axios.get(`${PEAPPLICATIONURL}/boardrecommendations`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst getBoardResponses = (applicationId) => {\r\n return axios.get(`${PEAPPLICATIONURL}/boardmemberresponses`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postBoardRecommendation = (data) => {\r\n return axios.post(`${PEAPPLICATIONURL}/boardrecommendation`, data, { headers: authHeader() });\r\n}\r\nconst postBoardResponse = (data) => {\r\n var header = authHeader();\r\n header['Content-Type'] = 'multipart/form-data';\r\n return axios.post(`${PEAPPLICATIONURL}/boardmemberresponse`, data, { headers: { ...header } });\r\n}\r\nexport default {\r\n getBoardRecommendations,\r\n getBoardResponses,\r\n postBoardRecommendation,\r\n postBoardResponse\r\n}","import React, { useState, useEffect } from 'react'\r\nimport { Button, Card, Row, Col } from 'react-bootstrap'\r\nimport { ControlLabel, FormControl, FormGroup, Icon, Table, Uploader } from 'rsuite'\r\nimport Swal from 'sweetalert2';\r\nimport boardApprovalService from '../../../../../services/Internal/Application/PE/boardApproval.service';\r\nimport attachmentService from '../../../../../services/Shared/attachment.service';\r\nimport DocumentUpload from '../../../../Shared/Upload/DocumentUpload';\r\n\r\nfunction BoardApproval(props) {\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n\r\n const handleChangePage = (dataKey) => {\r\n setPage(dataKey);\r\n }\r\n const handleChangeLength = (dataKey) => {\r\n setPage(1);\r\n setDisplayLength(dataKey);\r\n }\r\n\r\n const getData = () => {\r\n return props.gridData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const formDataAppender = (passedKey, model, formData) => {\r\n for (let key in model) {\r\n if (typeof (model[key]) === 'object') {\r\n formDataAppender(`${passedKey}.${key}`, model[key], formData); // Recursive key for objects\r\n }\r\n else {\r\n if (passedKey)\r\n formData.append(`${passedKey}.${key}`, model[key]);\r\n else\r\n formData.append(`${key}`, model[key]);\r\n }\r\n }\r\n }\r\n const filteredData = getData();\r\n const removeFile = (id, rowData) => {\r\n Swal.fire({\r\n title: 'Are you sure you want to delete this file?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n attachmentService.deleteFile(id).then((response) => {\r\n if (response.status == 200) {\r\n if (rowData) {\r\n var index = props.gridData.findIndex(x => x.id == rowData.id);\r\n var tempModel = props.gridData;\r\n tempModel[index].files = tempModel[index].files.filter(x => x.id !== id);\r\n props.setGridData([...tempModel]);\r\n }\r\n else {\r\n props.setFiles([...props.files.filter(x => x.id != id)])\r\n }\r\n }\r\n });\r\n }\r\n })\r\n }\r\n\r\n const openFile = (id) => {\r\n attachmentService.openFile(id);\r\n }\r\n return (\r\n <>\r\n\r\n \r\n
Board/Staff Attachments
\r\n \r\n \r\n
\r\n \r\n Additional Comments\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
Board/Staff Responses
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Document\r\n \r\n {rowData => {\r\n return (<>\r\n {rowData.files.map((item, i) => {\r\n return (\r\n \r\n \r\n \r\n \r\n\r\n )\r\n })}\r\n \r\n )\r\n }}\r\n \r\n \r\n \r\n \r\n Date Sent\r\n \r\n {rowData => (rowData.dateSent ? new Date(rowData.dateSent).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Date Received\r\n \r\n {rowData => (rowData.dateReceived ? new Date(rowData.dateReceived).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Board Member\r\n \r\n {rowData => (`${rowData.boardMember.firstName} ${rowData.boardMember.middleName} ${rowData.boardMember.lastName}, ${rowData.boardMember.credentialSuffix}`)}\r\n \r\n \r\n \r\n Decision\r\n \r\n {rowData => (rowData.boardMemberDecision?.boardMemberDecision)}\r\n \r\n \r\n \r\n Comments\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {rowData => {\r\n function handleAction() {\r\n var tempData = { ...rowData, files: [] }\r\n props.openModal(tempData);\r\n }\r\n function handleDelete() {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n var formData = new FormData();\r\n var dataToTransmit = {\r\n ...rowData,\r\n deleted: true,\r\n }\r\n formDataAppender('boardMemberResponse', dataToTransmit, formData);\r\n for (var i = 0; i < rowData.files.length; i++) {\r\n formData.append('files', rowData.files[i].blobFile);\r\n }\r\n boardApprovalService.postBoardResponse(formData).then((response) => {\r\n if (response.status == 200) {\r\n props.setGridData([...props.gridData.filter(x => x.id !== rowData.id)]);\r\n }\r\n })\r\n }\r\n })\r\n }\r\n return (\r\n \r\n   \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default BoardApproval;","import { useState, useEffect } from 'react'\r\nimport { Button, Card, Col, Modal, Row } from 'react-bootstrap'\r\nimport React from 'react'\r\nimport { ControlLabel, Schema, Form, FormControl, FormGroup, InputPicker, Uploader } from 'rsuite'\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\nimport GenericAttachmentGrid from '../../../../Shared/Grid/GenericAttachmentGrid';\r\nimport { getBoardMembers } from '../../../../../services/Shared/codeTable.service';\r\nimport boardApprovalService from '../../../../../services/Internal/Application/PLS/boardApproval.service';\r\nimport attachmentService from '../../../../../services/Shared/attachment.service';\r\nimport Swal from 'sweetalert2';\r\nimport BlockUi from 'react-block-ui';\r\nimport 'react-block-ui/style.css';\r\n\r\nfunction BoardApprovalModal(props) {\r\n\r\n const { ObjectType, DateType } = Schema.Types;\r\n const [blockUi, setBlockUi] = useState(false);\r\n const model = Schema.Model({\r\n dateSent: DateType().isRequired('This field is required.'),\r\n boardMember: ObjectType().isRequired('This field is required.'),\r\n })\r\n const decisionData = [\r\n { \"label\": \"Approved\", \"value\": { id: 1, boardMemberDecision: \"Approved\" } },\r\n { \"label\": \"Declined\", \"value\": { id: 2, boardMemberDecision: \"Declined\" } }];\r\n\r\n const [boardMemebers, setBoardMembers] = useState([])\r\n const [approvalModel, setApprovalModel] = useState()\r\n useEffect(() => {\r\n setApprovalModel(props.modalData);\r\n getBoardMembers().then(setBoardMembers);\r\n }, [props.modalData])\r\n\r\n const formSubmit = (validation, event) => {\r\n if (validation) {\r\n setBlockUi(true);\r\n var formData = new FormData()\r\n var dataToTransmit = {\r\n ...approvalModel,\r\n dateSent: new Date(approvalModel.dateSent).toISOString(),\r\n dateReceived: approvalModel.dateReceived ? new Date(approvalModel.dateReceived).toISOString() : null\r\n }\r\n formDataAppender('boardMemberResponse', dataToTransmit, formData);\r\n for (var i = 0; i < approvalModel.files.length; i++) {\r\n formData.append('files', approvalModel.files[i].blobFile);\r\n }\r\n boardApprovalService.postBoardResponse(formData).then((response) => {\r\n setBlockUi(false);\r\n if (response.data.boardMemberResponse.id) {\r\n props.updateGrid();\r\n props.onHide();\r\n }\r\n\r\n })\r\n }\r\n\r\n }\r\n const formDataAppender = (passedKey, model, formData) => {\r\n for (let key in model) {\r\n if (typeof (model[key]) === 'object') {\r\n formDataAppender(`${passedKey}.${key}`, model[key], formData); // Recursive key for objects\r\n }\r\n else {\r\n if (passedKey)\r\n formData.append(`${passedKey}.${key}`, model[key]);\r\n else\r\n formData.append(`${key}`, model[key]);\r\n }\r\n }\r\n }\r\n const handleChange = (val, e) => {\r\n if (!e) {\r\n var newFiles = approvalModel.files;\r\n newFiles.push(val);\r\n setApprovalModel({ ...approvalModel, files: [...newFiles] })\r\n }\r\n };\r\n const deleteFile = (id) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n setApprovalModel({ ...approvalModel, files: approvalModel.files.filter(x => x.fileKey != id) })\r\n }\r\n })\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Board/Staff Member Response\r\n \r\n \r\n \r\n
setApprovalModel(approvalModel)} onSubmit={formSubmit} fluid>\r\n \r\n \r\n \r\n \r\n Date Sent \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Board/Staff Member \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n Date Received\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Decision\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n File Upload \r\n \r\n \r\n \r\n \r\n \r\n
Click or Drag files to this area to upload
\r\n \r\n \r\n
\r\n \r\n \r\n {approvalModel?.files?.length > 0 &&\r\n
\r\n
\r\n {\r\n return {\r\n id: value.fileKey,\r\n timestamp: new Date().toLocaleDateString(),\r\n file: value.blobFile?.name\r\n }\r\n })}\r\n isSync={true}\r\n tStyle=\"table-bordered\"\r\n name=\"filesForDisplay\" />\r\n
\r\n }\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Comments\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nexport default BoardApprovalModal;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst LSIRENEWALURL = process.env.REACT_APP_APIURL + \"/api/IndividualLsiRenewal\";\r\n\r\n\r\n\r\nconst getBoardRecommendations = (renewalId) => {\r\n return axios.get(`${LSIRENEWALURL}/boardrecommendations`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nconst getBoardResponses = (renewalId) => {\r\n return axios.get(`${LSIRENEWALURL}/boardmemberresponses`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nconst postBoardRecommendation = (data) => {\r\n return axios.post(`${LSIRENEWALURL}/boardrecommendation`, data, { headers: authHeader() });\r\n}\r\nconst postBoardResponse = (data) => {\r\n var header = authHeader();\r\n header['Content-Type'] = 'multipart/form-data';\r\n return axios.post(`${LSIRENEWALURL}/boardmemberresponse`, data, { headers: { ...header } });\r\n}\r\nexport default {\r\n getBoardRecommendations,\r\n getBoardResponses,\r\n postBoardRecommendation,\r\n postBoardResponse\r\n}","import React, { useState, useEffect } from 'react'\r\nimport { Button, Col, Container, Row } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport BoardApproval from './BoardApproval';\r\nimport BoardApprovalModal from './BoardApprovalModal';\r\nimport { useSelector } from 'react-redux';\r\nimport boardApprovalService from '../../../../../services/Internal/Renewal/LSI/boardApproval.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Swal from 'sweetalert2';\r\nimport dayjs from \"dayjs\";\r\nimport lsiApplicationService from '../../../../../services/Internal/Renewal/LSI/lsiRenewal.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\nimport renewalService from '../../../../../services/Internal/Renewal/renewal.service';\r\n\r\n\r\nfunction BoardApprovalPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const entityId = useSelector(x => x.currentApplicationEntityId)\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 10;\r\n const [modalShow, setModalShow] = useState(false);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [gridData, setGridData] = useState([]);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Land Surveyor Intern Renewal\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Board/Staff Recommendations\"\r\n }\r\n );\r\n const { BooleanType, StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n boardApproval: BooleanType().isRequired('This field is required'),\r\n examsVerifiedInMyNcees: BooleanType().isRequired('This field is required')\r\n })\r\n\r\n const [formModel, setFormModel] = useState({\r\n applicationId: appId,\r\n boardApproval: null,\r\n dateCrte: null,\r\n deleted: false,\r\n entityId: entityId,\r\n examsVerifiedInMyNcees: null,\r\n additionalComments: \"\",\r\n id: 0,\r\n userCrte: \"\"\r\n })\r\n const [boardApprovalSectionId, setBoardApprovalSectionId] = useState();\r\n const [modalData, setModalData] = useState({\r\n comments: \"\",\r\n dateCrte: new Date(),\r\n dateReceived: new Date(),\r\n dateSent: new Date(),\r\n deleted: false,\r\n id: 0,\r\n userCrte: \"\",\r\n boardMemberDecision: null,\r\n boardMember: {\r\n appointmentYear: 0,\r\n credentialSuffix: \"\",\r\n expirationYear: 0,\r\n firstName: \"\",\r\n id: 0,\r\n lastName: \"\",\r\n middleName: \"\",\r\n representation: \"\",\r\n suffix: \"\"\r\n },\r\n entityId: entityId,\r\n applicationId: appId,\r\n boardStaffApprovalId: 0,\r\n files: [],\r\n filesForDisplay: [],\r\n filesLoading: false\r\n })\r\n\r\n useEffect(() => {\r\n lsiApplicationService.lsiGetSection(appId, sectionId).then((response) => {\r\n boardApprovalService.getBoardRecommendations(appId).then((data) => {\r\n setFormModel(data.data);\r\n setModalData({ ...modalData, boardStaffApprovalId: data.data.id })\r\n updateGrid()\r\n setIsComplete(response.data.staffReviewComplete);\r\n setBoardApprovalSectionId(response.data.id);\r\n\r\n renewalService.getIndividualRenewal(appId).then((renewalData) => {\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: renewalData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: renewalData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n }, [])\r\n const updateGrid = () => {\r\n boardApprovalService.getBoardResponses(appId).then((vals) => {\r\n if (vals.data?.length)\r\n setGridData(\r\n vals.data.map((value, i) => { return { ...value.boardMemberResponse, files: [...value.attachments] } }))\r\n })\r\n }\r\n const submitData = (val) => {\r\n if (val) {\r\n boardApprovalService.postBoardRecommendation(formModel).then((val) => {\r\n if (val.data) {\r\n lsiApplicationService.lsiMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n Swal.fire(\"Saved!\", \"You have successfully saved.\", 'success');\r\n })\r\n }\r\n })\r\n }\r\n }\r\n\r\n const openAddEditModal = (values) => {\r\n if (values.id) {\r\n setModalData({ ...values, dateReceived: values.dateReceived != null ? dayjs(values.dateReceived).format('YYYY-MM-DD') : null, dateSent: values.dateSent != null ? dayjs(values.dateSent).format('YYYY-MM-DD') : null })\r\n }\r\n else {\r\n setModalData({\r\n comments: \"\",\r\n dateCrte: new Date(),\r\n dateReceived: null,\r\n dateSent: null,\r\n deleted: false,\r\n id: 0,\r\n userCrte: \"\",\r\n boardMemberDecision: null,\r\n boardMember: null,\r\n entityId: entityId,\r\n applicationId: appId,\r\n boardStaffApprovalId: formModel.id,\r\n files: [],\r\n filesForDisplay: []\r\n\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n\r\n return (\r\n
\r\n \r\n setModalShow(false)} />\r\n
setFormModel(formModel)} onSubmit={submitData}>\r\n \r\n {hasLoaded ? <>\r\n \r\n \r\n \r\n \r\n  \r\n \r\n   \r\n \r\n \r\n \r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default BoardApprovalPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\n\r\nconst INTERNALREINSTATEMENT = process.env.REACT_APP_APIURL + \"/api/IndividualReinstatement\";\r\n\r\nconst getIndividualReinstatement = async (reinstatementId) => {\r\n return axios.get(`${INTERNALREINSTATEMENT}/reinstatement`, { headers: authHeader(), params: { reinstatementId } });;\r\n};\r\n\r\nconst lsiGetSection = (reinstatementId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/IndividualLsiReinstatement/section`, { headers: authHeader(), params: { reinstatementId, sectionId } });\r\n}\r\nconst lsiPostSection = (reinstatementId, sectionId, electronicSignature) => {\r\n\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualLsiReinstatement/signsection`, null, { headers: authHeader(), params: { reinstatementId, sectionId, electronicSignature } });\r\n}\r\nconst lsiPostSectionHasMyNceesEducation = (reinstatementId, sectionId, hasMyNceesEducation) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualLsiReinstatement/setsectionhasmynceeseducation`, null, { headers: authHeader(), params: { reinstatementId, sectionId, hasMyNceesEducation } });\r\n}\r\nconst lsiMarkSectionComplete = (reinstatementId, sectionId, complete) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualLsiReinstatement/marksectioncomplete`, null, { headers: authHeader(), params: { reinstatementId, sectionId, complete } })\r\n}\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Ensure your contact information, including your mailing and public addresses are up to date. Ensure you put LAPELS emails on your safe sender list.\",\r\n },\r\n {\r\n id: 16,\r\n sectionTitle: \"Education\",\r\n sectionContent: \"All transcripts must be verified in your NCEES record for EI/LSI reinstatement application processing.\",\r\n },\r\n {\r\n id: 3,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 17,\r\n sectionTitle: \"Examination Verification in Louisiana or Other Jurisdictions\",\r\n sectionContent: \"This must be uploaded to your MyNCEES account.\",\r\n },\r\n {\r\n id: 9,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Electronically sign (type your name) and date.\",\r\n },\r\n {\r\n id: 10,\r\n sectionTitle: \"Review\",\r\n sectionContent: 'Review your answers. If you need to change an answer, click the \"Section\" above to go back to the appropriate section',\r\n },\r\n {\r\n id: 11,\r\n sectionTitle: \"Board/Staff Recommendations\",\r\n sectionContent: 'Waiting on text',\r\n }\r\n])\r\n\r\nexport default {\r\n getIndividualReinstatement,\r\n lsiGetSection,\r\n lsiPostSection,\r\n lsiMarkSectionComplete,\r\n lsiPostSectionHasMyNceesEducation\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, ListGroup, Button } from 'react-bootstrap';\r\nimport Section from '../../../../Shared/Sections/Section';\r\nimport { getSections } from \"../../../../../services/Internal/Reinstatement/LSI/lsiReinstatement.service\";\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/LsiInformation';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/reinstatement.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Swal from 'sweetalert2';\r\nimport InternalTaskInfo from '../../../Shared/InternalTaskInfo';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\nimport recentQueueService from '../../../../../services/Internal/Recent/recentQueue.service'\r\nimport issuesService from '../../../../../services/Shared/issues.service';\r\nfunction Index() {\r\n const marginRight = {\r\n marginRight: '1rem'\r\n }\r\n const [sections, setSections] = useState(null);\r\n const [showSectionButton, setShowSectionButton] = useState(true);\r\n const [justLicensed, setJustLicensed] = useState(false);\r\n const dispatch = useDispatch();\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Land Surveyor Intern Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"\"\r\n }\r\n );\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const selector = useSelector(x => x);\r\n useEffect(() => {\r\n var routes = JSON.parse(localStorage.getItem('PERSIST_CURRENT_ROUTE')) ?? selector.currentRoutes;\r\n var currentAppId = localStorage.getItem('PERSIST_CURRENT_APP_ID') ?? selector.currentApplicationId;\r\n var currentEntityID = localStorage.getItem('PERSIST_CURRENT_APP_ENTITY_ID') ?? selector.currentApplicationEntityId;\r\n var currentAppTypeId = localStorage.getItem('PERSIST_CURRENT_APP_TYPE_ID') ?? selector.currentApplicationTypeId;\r\n if (localStorage.getItem('PERSIST_CURRENT_APP_ID')) {\r\n localStorage.removeItem('PERSIST_CURRENT_ROUTE');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ENTITY_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_TYPE_ID');\r\n\r\n dispatch({ type: \"PERSIST_CURRENT_ROUTE\", payload: routes });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: currentAppId });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ENTITY_ID\", payload: currentEntityID });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_TYPE_ID\", payload: currentAppTypeId });\r\n }\r\n //Add to recent Queue\r\n recentQueueService.updateRecentQueue({\r\n entityId: currentEntityID,\r\n parentId: currentAppId,\r\n parentTypeId: 1,\r\n appTypeId: 2,\r\n routes: JSON.stringify(routes)\r\n }).then((data) => {\r\n var token = parseInt(localStorage.getItem('updateRecentQueue')) ? parseInt(localStorage.getItem('updateRecentQueue')) : 0;\r\n localStorage.setItem('updateRecentQueue', token + 1)\r\n dispatch({ type: \"PERSIST_CURRENT_RECENT_QUEUE\", payload: parseInt(localStorage.getItem('updateRecentQueue')) });\r\n })\r\n reinstatementService.getIndividualReinstatement(currentAppId).then((sectionResponse) => {\r\n entityService.getEntity(currentEntityID).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: sectionResponse.data?.credential?.formattedLicenseNumber,\r\n applicationDate: sectionResponse.data?.dateSubmitted\r\n })\r\n });\r\n setHasLoaded(true);\r\n if (sectionResponse.data.sections.findIndex((element) => element.staffReviewComplete === false) !== -1 || sectionResponse.data.status.id !== 2) {// status id 2 = pending\r\n setShowSectionButton(false);\r\n }\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(3, currentAppId).then((data) => {\r\n setSections(routes != null ? routes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route\r\n var index = sectionResponse.data.sections.findIndex(x => x.sectionType?.id == section.id);\r\n if (index !== -1) {\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (sectionResponse.data.sections[index].staffReviewComplete)\r\n section.status = \"COMPLETE\";\r\n else if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n })\r\n })\r\n })\r\n }, [])\r\n\r\n const sendStaffApproval = (isApproved) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: `Do you want to ${isApproved ? 'license' : 'decline'} this application? You won't be able to revert this!`,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continue!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n Swal.fire({\r\n title: `${isApproved ? 'Licensing' : 'Declining'} Application`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n reinstatementService.postStaffApproval(selector.currentApplicationId, isApproved).then((response) => {\r\n if (response.data) {\r\n setShowSectionButton(false);\r\n Swal.fire({\r\n title: `Saving PDF`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n reinstatementService.postReinstatementPdf(response.data.id, isApproved).then((data) => {\r\n if (data.data) {\r\n setJustLicensed(true);\r\n Swal.fire(\"Saved\", `The application was successfully ${isApproved ? 'approved' : 'declined'}!`, \"success\")\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n \r\n

Sections to Complete

\r\n \r\n {sections}\r\n \r\n \r\n
\r\n {showSectionButton &&\r\n
\r\n \r\n \r\n
\r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Index;","import React, { useEffect, useState } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { Form } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/LsiInformation'\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { useHistory } from 'react-router-dom';\r\nimport PersonalInformation from '../../../../Shared/Card/Contact/PersonalInformation';\r\nimport MailingAddress from '../../../../Shared/Card/Contact/MailingAddress';\r\nimport PublicAddress from '../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport publicreinstatementService from '../../../../../services/Public/Reinstatement/LSI/lsiReinstatement.service';\r\nimport { useSelector } from 'react-redux';\r\nimport contactService from '../../../../../services/Public/Reinstatement/LSI/contact.service';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport dayjs from 'dayjs';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/LSI/lsiReinstatement.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction ContactInformationPage() {\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const { push } = useHistory();\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const [formModel, setFormModel] = useState({});\r\n const [tabPane, setTabPane] = useState(\"personalInformation\")\r\n const [sectionData, setSectionData] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Land Surveyor Intern Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Contact Information\"\r\n }\r\n );\r\n\r\n useEffect(() => {\r\n contactService.getContactInformation(reinstatementId).then((response) => {\r\n var data = response.data;\r\n\r\n setFormModel({\r\n ...data,\r\n dateOfBirth: data.dateOfBirth != null ? dayjs(data.dateOfBirth).format('YYYY-MM-DD') : null,\r\n altEmail: data.alternateEmailAddress?.contactEmailAddress,\r\n primaryEmail: data.primaryEmailAddress?.contactEmailAddress,\r\n cellPhoneNum: data.cellPhone?.contactPhoneNumber,\r\n workPhoneNum: data.workPhone?.contactPhoneNumber,\r\n homePhoneNum: data.homePhone?.contactPhoneNumber\r\n })\r\n publicreinstatementService.lsiGetSection(reinstatementId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n reinstatementService.getIndividualReinstatement(reinstatementId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n\r\n })\r\n })\r\n }, [])\r\n\r\n const formSubmit = (validation, event) => {\r\n submitData(true);\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n reinstatementService.lsiMarkSectionComplete(reinstatementId, sectionId, isComplete).then((val) => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)} onSubmit={formSubmit} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import React, { useState, useEffect } from 'react';\r\nimport { Card, Row, Col, Button } from 'react-bootstrap'\r\nimport { Icon } from 'rsuite';\r\nimport YesNoRadioOption from '../../../../Shared/RadioButton/YesNoRadioOption';\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction EducationRecord(props) {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
Education Records
\r\n \r\n
\r\n
\r\n \r\n

\r\n I have education transcript(s) verified in MyNCEES record.\r\n

\r\n
\r\n \r\n {(props.hideGrid === false) &&\r\n \r\n Please go to ncees.org to have transcripts verified. Your application cannot be processed until your are a record holder and transcripts are verified in your MYNCEES account.\r\n \r\n }\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\nexport default EducationRecord;","import React, { useEffect, useState } from 'react';\r\nimport { Container } from 'react-bootstrap';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport EducationRecord from './EducationRecords';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/LsiInformation';\r\nimport { useSelector } from 'react-redux';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/LSI/lsiReinstatement.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction EducationPage() {\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Land Surveyor Intern Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Education\"\r\n }\r\n );\r\n const [hideGrids, setHideGrids] = useState(true);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 16;\r\n const [sectionData, setSectionData] = useState({});\r\n useEffect(() => {\r\n setHasLoaded(false)\r\n reinstatementService.lsiGetSection(reinstatementId, sectionId).then((response) => {\r\n reinstatementService.getIndividualReinstatement(reinstatementId).then((reinstatementData) => {\r\n setIsUserEditable(reinstatementData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: reinstatementData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: reinstatementData.data?.dateSubmitted\r\n })\r\n });\r\n });\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n setHideGrids(response.data.hasMyNceesEducation ?? true);\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n const { BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasMyNceesEducation: BooleanType().isRequired('This field is required.')\r\n });\r\n const handleMyNceesEducationChange = (val) => {\r\n setHideGrids(val);\r\n }\r\n\r\n const submitForm = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n reinstatementService.lsiPostSectionHasMyNceesEducation(reinstatementId, sectionId, sectionData.hasMyNceesEducation).then(() => {\r\n reinstatementService.lsiMarkSectionComplete(reinstatementId, sectionId, isComplete).then((val) => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n })\r\n })\r\n }\r\n }\r\n return (\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n {hasLoaded ? <>\r\n setSectionData(data)}\r\n >\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default EducationPage;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst LSIREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/IndividualLsiReinstatement\";\r\n\r\nconst getExamination = (reinstatementId) => {\r\n return axios.get(`${LSIREINSTATEMENTURL}/examinationverification`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postExamination = (data) => {\r\n return axios.post(`${LSIREINSTATEMENTURL}/examinationverification`, data, { headers: authHeader() });\r\n}\r\n\r\n\r\nexport default {\r\n getExamination,\r\n postExamination\r\n}","import React, { useState, useEffect } from 'react'\r\nimport { Card, Col, Container, Row } from 'react-bootstrap';\r\nimport { ControlLabel, Form, FormControl, InputPicker, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport { getStates } from '../../../../../services/Shared/codeTable.service'\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/LSI/lsiReinstatement.service';\r\nimport examinationService from '../../../../../services/Internal/Reinstatement/LSI/examination.service'\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/LsiInformation';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport dayjs from 'dayjs';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction ExaminationVerification() {\r\n const [states, setStates] = useState([])\r\n const routes = useSelector(x => x.currentRoutes);\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const sectionId = 17;\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Land Surveyor Intern Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Examination\"\r\n }\r\n );\r\n const [formModel, setFormModel] = useState({\r\n id: 0,\r\n reinstatementId: reinstatementId,\r\n entityId: entityId,\r\n jurisdictionState: null,\r\n dateOfExam: null,\r\n userCrte: \"\",\r\n dateCrte: new Date(),\r\n deleted: false\r\n });\r\n const [sectionData, setSectionData] = useState({});\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const { StringType, ObjectType } = Schema.Types;\r\n const model = Schema.Model({\r\n jurisdictionState: ObjectType().isRequired('This field is required.'),\r\n dateOfExam: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n getStates().then(setStates);\r\n examinationService.getExamination(reinstatementId).then((response) => {\r\n if (response.data) {\r\n setFormModel({\r\n ...response.data,\r\n dateOfExam: response.data.dateOfExam != null ? dayjs(response.data.dateOfExam).format('YYYY-MM-DD') : null\r\n });\r\n }\r\n reinstatementService.lsiGetSection(reinstatementId, sectionId).then((data) => {\r\n reinstatementService.getIndividualReinstatement(reinstatementId).then((reinstatementData) => {\r\n setIsUserEditable(reinstatementData.data.status.id == 2)\r\n entityService.getEntity(data.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: reinstatementData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: reinstatementData.data?.dateSubmitted\r\n })\r\n });\r\n });\r\n setSectionData(data.data);\r\n setIsComplete(data.data.staffReviewComplete)\r\n setHasLoaded(true);\r\n })\r\n })\r\n }, [])\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n //setFormModel({ ...formModel, dateOfExam: dayjs(formModel.dateOfExam).format('MM-dd-yyyy')})\r\n examinationService.postExamination(formModel).then((response) => {\r\n reinstatementService.lsiMarkSectionComplete(reinstatementId, sectionId, isComplete).then((val) => {\r\n if (response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n\r\n }\r\n })\r\n })\r\n }\r\n }\r\n return (\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n Fundamentals Exam (FLS)\r\n \r\n {hasLoaded ?\r\n \r\n \r\n \r\n Jurisdiction\r\n \r\n \r\n { if (label.toLowerCase().startsWith(userInput.toLowerCase()) || !userInput) return true; }}\r\n />\r\n \r\n \r\n \r\n \r\n Date\r\n \r\n \r\n \r\n \r\n \r\n \r\n : \r\n }\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}\r\nexport default ExaminationVerification","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst LSIREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/IndividualLsiReinstatement\";\r\n\r\nconst getViolation = (reinstatementId) => {\r\n return axios.get(`${LSIREINSTATEMENTURL}/violation`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postViolation = (data) => {\r\n return axios.post(`${LSIREINSTATEMENTURL}/violation`, data, { headers: authHeader() });\r\n}\r\nconst downloadViolationFile = (reinstatementId) => {\r\n axios.get(`${process.env.REACT_APP_APIURL}/Reports/GetReinstatementViolationsForm`, { headers: authHeader(), params: { reinstatementId }, responseType: 'arraybuffer' }).then((response) => {\r\n var name = new String(response.headers['content-disposition']);\r\n const downloadUrl = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = downloadUrl;\r\n link.setAttribute('download', name.slice(name.indexOf('filename=') + 9, name.lastIndexOf(';')));\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n });\r\n}\r\nexport default {\r\n getViolation,\r\n postViolation,\r\n downloadViolationFile\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Information from './../../../../Shared/Card/Information';\r\nimport { useHistory } from 'react-router-dom';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/LsiInformation';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/LSI/lsiReinstatement.service';\r\nimport violationService from '../../../../../services/Internal/Reinstatement/LSI/violation.service';\r\nimport Swal from 'sweetalert2';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport { getReinstatementCodeViolationAnswers } from '../../../../../services/Shared/codeTable.service';\r\nimport GenericViolations from '../../../../Shared/Card/Violations';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const sectionId = 3;\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n signature: StringType().isRequired('This field is required.'),\r\n yesAnswerExplanation: StringType().isRequired('This field is required.'),\r\n });\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Land Surveyor Intern Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Violations\"\r\n }\r\n );\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n reinstatementService.lsiGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n violationService.getViolation(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, issues: formData.issues, files: formData.files, filesForDisplay: formData.filesForDisplay, signature: response.data.electronicSignature });\r\n }\r\n else {\r\n getReinstatementCodeViolationAnswers(5).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n reinstatementService.getIndividualReinstatement(store.currentApplicationId).then((reinstatementData) => {\r\n setIsUserEditable(reinstatementData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: reinstatementData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: reinstatementData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n signature: undefined,\r\n yesAnswerExplanation: \"\",\r\n files: [],\r\n filesForDisplay: [],\r\n issues: []\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true && x.codeViolationQuestion.versionNumber < 3) >= 0;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n\r\n //Verison 3+ violations\r\n const showBlukViolationExplanation = formData?.answers?.findIndex(x => x.answer == true && !x.codeViolationQuestion.hasExplanation && x.codeViolationQuestion.versionNumber >= 3) >= 0 ?\r\n `If the answer to question number 2-${formData.answers[0].codeViolationQuestion.versionNumber == 3 ? '6' : '5'} is \"Yes\", provide the date and the pertinent facts of the case or proceeding including its final disposition. Upload additional pages if necessary` : \"\";\r\n \r\n const downloadViolations = () => {\r\n violationService.downloadViolationFile(store.currentApplicationId)\r\n }\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n setShowFormErrors(true)\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n if (validationObject[key].hasError && (showBlukViolationExplanation && key.includes(\"yesAnswerExplanation\"))) {\r\n return;\r\n }\r\n\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer === true && x.codeViolationQuestion.hasExplanation && !x.violationExplanation) >= 0) {//undefined check\r\n return;\r\n }\r\n if (formData.signature) {\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, reinstatementId: store.currentApplicationId, entityId: store.currentApplicationEntityId };\r\n violationService.postViolation(dataTransfer).then((response) => {\r\n reinstatementService.lsiMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((data) => {\r\n reinstatementService.lsiPostSection(store.currentApplicationId, sectionId, formData.signature).then((response) => {\r\n if (response.data && data.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n })\r\n })\r\n });\r\n }\r\n }\r\n }\r\n\r\n }\r\n const formSave = () => {\r\n var dataTransfer = { ...formData, reinstatementId: store.currentApplicationId, entityId: store.currentApplicationEntityId };\r\n violationService.postViolation(dataTransfer).then((response) => {\r\n updateFormData({ ...response.data, signature: formData.signature });\r\n reinstatementService.lsiMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((data) => {\r\n reinstatementService.lsiPostSection(store.currentApplicationId, sectionId, formData.signature).then((response) => {\r\n Swal.fire(\"Saved!\")\r\n })\r\n })\r\n });\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import React, { useState, useEffect } from 'react'\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container, Row, Col, Card } from 'react-bootstrap';\r\nimport { Form, FormControl, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/LSI/lsiReinstatement.service'\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction AcknowledgementPage() {\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const sectionId = 9;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [formModel, setFormModel] = useState({})\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Land Surveyor Intern Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Acknowledgement\"\r\n }\r\n );\r\n useEffect(() => {\r\n reinstatementService.lsiGetSection(reinstatementId, sectionId).then((response) => {\r\n reinstatementService.getIndividualReinstatement(reinstatementId).then((reinstatementData) => {\r\n setIsUserEditable(reinstatementData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: reinstatementData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: reinstatementData.data?.dateSubmitted\r\n })\r\n });\r\n });\r\n setFormModel(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n setHasLoaded(true)\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n submitData();\r\n }\r\n }\r\n\r\n const submitData = () => {\r\n reinstatementService.lsiPostSection(reinstatementId, sectionId, formModel.electronicSignature).then((response) => {\r\n reinstatementService.lsiMarkSectionComplete(reinstatementId, sectionId, isComplete).then((val) => {\r\n if (response.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n\r\n });\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n {hasLoaded ?\r\n <>\r\n \r\n
Acknowledgement
\r\n \r\n

I, the applicant named in this application, have read the contents hereof, and to the best of my knowledge, information and believe the statements and information in this application are true and correct in substance and effect and are made in good faith. I have not omitted any information requested in this application. I am aware that such an omission or untrue response may constitute fraud or deceit, material misstatement, perjury or the giving of false or forged evidence under Louisiana Revised Statutes 37:698 and 37:700. I understand and agree that any responses verifying my education, personal references, and experience shall be considered privileged and confidential and that this information was not reviewed by me nor will it be available for my inspection or review in the future.

\r\n
\r\n
    \r\n
  • It is your responsibility to check your LOLA account frequently for any pending issues. Ensure you add \"lapels.com\" to your \"Safe Senders\" list in your email application and/or (if applicable) in your network firewall.
  • \r\n
  • Once we receive a complete application, with no pending issues, process time may take 6-8 weeks.
  • \r\n
  • \r\n I certify that all information provided in this online reinstatement is true and correct to the best of my knowledge, information and belief.\r\n
  • \r\n
  • \r\n I am aware that an omission or untrue response may constitute fraud, deceit, material misstatement, perjury or the giving of false or forged evidence under Louisiana Revised Statutes 37:698 and 37:700\r\n
  • \r\n\r\n
  • \r\n IMPORTANT: Payments are non-refundable. If you believe that you will be reimbursed for your fee, verify this BEFORE proceeding further\r\n
  • \r\n
  • \r\n If you are unsure about getting reimbursed by your firm, please stop the application process here and come back after you verify. Your answers will be saved.\r\n
  • \r\n
\r\n
\r\n \r\n \r\n
Electronic Signature of Applicant:
\r\n (Type full name)\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n : \r\n }\r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/LsiInformation';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../Shared/Card/ReviewPdf';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/reinstatement.service';\r\nimport lsiReinstatementService, { getSections } from '../../../../../services/Internal/Reinstatement/LSI/lsiReinstatement.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Swal from 'sweetalert2';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport { Form } from 'rsuite';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\n\r\nfunction ReviewPage() {\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const { push } = useHistory();\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Land Surveyor Intern Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Review\"\r\n }\r\n );\r\n const sectionId = 10;\r\n\r\n useEffect(() => {\r\n lsiReinstatementService.lsiGetSection(reinstatementId, sectionId).then((response) => {\r\n setIsComplete(response.data.staffReviewComplete);\r\n reinstatementService.getIndividualReinstatement(reinstatementId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n const formSubmit = () => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n lsiReinstatementService.lsiMarkSectionComplete(reinstatementId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n }\r\n const formSave = () => {\r\n lsiReinstatementService.lsiMarkSectionComplete(reinstatementId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n Swal.fire(\"Saved!\");\r\n })\r\n }\r\n\r\n\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {hasLoaded ?\r\n <>\r\n {violationIssuesHtml}\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PEREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeReinstatement\";\r\n\r\n\r\n\r\nconst getBoardRecommendations = (reinstatementId) => {\r\n return axios.get(`${PEREINSTATEMENTURL}/boardrecommendations`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst getBoardResponses = (reinstatementId) => {\r\n return axios.get(`${PEREINSTATEMENTURL}/boardmemberresponses`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postBoardRecommendation = (data) => {\r\n return axios.post(`${PEREINSTATEMENTURL}/boardrecommendation`, data, { headers: authHeader() });\r\n}\r\nconst postBoardResponse = (data) => {\r\n var header = authHeader();\r\n header['Content-Type'] = 'multipart/form-data';\r\n return axios.post(`${PEREINSTATEMENTURL}/boardmemberresponse`, data, { headers: { ...header } });\r\n}\r\nexport default {\r\n getBoardRecommendations,\r\n getBoardResponses,\r\n postBoardRecommendation,\r\n postBoardResponse\r\n}","import React, { useState, useEffect } from 'react'\r\nimport { Button, Card, Row, Col } from 'react-bootstrap'\r\nimport { ControlLabel, FormControl, FormGroup, Icon, SelectPicker, Table, Uploader } from 'rsuite'\r\nimport Swal from 'sweetalert2';\r\nimport boardApprovalService from '../../../../../services/Internal/Reinstatement/PE/boardApproval.service';\r\nimport attachmentService from '../../../../../services/Shared/attachment.service';\r\nimport DocumentUpload from '../../../../Shared/Upload/DocumentUpload';\r\n\r\nfunction BoardApproval(props) {\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n\r\n const handleChangePage = (dataKey) => {\r\n setPage(dataKey);\r\n }\r\n const handleChangeLength = (dataKey) => {\r\n setPage(1);\r\n setDisplayLength(dataKey);\r\n }\r\n\r\n const getData = () => {\r\n return props.gridData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const formDataAppender = (passedKey, model, formData) => {\r\n for (let key in model) {\r\n if (typeof (model[key]) === 'object') {\r\n formDataAppender(`${passedKey}.${key}`, model[key], formData); // Recursive key for objects\r\n }\r\n else {\r\n if (passedKey)\r\n formData.append(`${passedKey}.${key}`, model[key]);\r\n else\r\n formData.append(`${key}`, model[key]);\r\n }\r\n }\r\n }\r\n const filteredData = getData();\r\n const removeFile = (id, rowData) => {\r\n Swal.fire({\r\n title: 'Are you sure you want to delete this file?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n attachmentService.deleteFile(id).then((response) => {\r\n if (response.status == 200) {\r\n if (rowData) {\r\n var index = props.gridData.findIndex(x => x.id == rowData.id);\r\n var tempModel = props.gridData;\r\n tempModel[index].files = tempModel[index].files.filter(x => x.id !== id);\r\n props.setGridData([...tempModel]);\r\n }\r\n else {\r\n props.setFiles([...props.files.filter(x => x.id != id)])\r\n }\r\n }\r\n });\r\n }\r\n })\r\n }\r\n\r\n const openFile = (id) => {\r\n attachmentService.openFile(id);\r\n }\r\n return (\r\n <>\r\n\r\n \r\n
Board/Staff Attachments
\r\n \r\n \r\n
\r\n \r\n Additional Comments\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
Board/Staff Responses
\r\n \r\n {props.isUserEditable &&\r\n \r\n \r\n \r\n }\r\n
\r\n
\r\n \r\n \r\n \r\n Document\r\n \r\n {rowData => {\r\n return (<>\r\n {rowData.files.map((item, i) => {\r\n return (\r\n \r\n {props.isUserEditable &&\r\n \r\n }\r\n \r\n \r\n\r\n )\r\n })}\r\n \r\n )\r\n }}\r\n \r\n \r\n \r\n \r\n Date Sent\r\n \r\n {rowData => (rowData.dateSent ? new Date(rowData.dateSent).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Date Received\r\n \r\n {rowData => (rowData.dateReceived ? new Date(rowData.dateReceived).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Board Member\r\n \r\n {rowData => (`${rowData.boardMember.firstName} ${rowData.boardMember.middleName} ${rowData.boardMember.lastName}, ${rowData.boardMember.credentialSuffix}`)}\r\n \r\n \r\n \r\n Decision\r\n \r\n {rowData => (rowData.boardMemberDecision?.boardMemberDecision)}\r\n \r\n \r\n \r\n Comments\r\n \r\n \r\n \r\n {props.isUserEditable &&\r\n \r\n \r\n \r\n \r\n {rowData => {\r\n function handleAction() {\r\n var tempData = { ...rowData, files: [] }\r\n props.openModal(tempData);\r\n }\r\n function handleDelete() {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n var formData = new FormData();\r\n var dataToTransmit = {\r\n ...rowData,\r\n deleted: true,\r\n }\r\n formDataAppender('boardMemberResponse', dataToTransmit, formData);\r\n for (var i = 0; i < rowData.files.length; i++) {\r\n formData.append('files', rowData.files[i].blobFile);\r\n }\r\n boardApprovalService.postBoardResponse(formData).then((response) => {\r\n if (response.status == 200) {\r\n props.setGridData([...props.gridData.filter(x => x.id !== rowData.id)]);\r\n }\r\n })\r\n }\r\n })\r\n }\r\n return (\r\n \r\n   \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n }\r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default BoardApproval;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst LSIAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualLsiReinstatement\";\r\n\r\n\r\n\r\nconst getBoardRecommendations = (reinstatementId) => {\r\n return axios.get(`${LSIAPPLICATIONURL}/boardrecommendations`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst getBoardResponses = (reinstatementId) => {\r\n return axios.get(`${LSIAPPLICATIONURL}/boardmemberresponses`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postBoardRecommendation = (data) => {\r\n return axios.post(`${LSIAPPLICATIONURL}/boardrecommendation`, data, { headers: authHeader() });\r\n}\r\nconst postBoardResponse = (data) => {\r\n var header = authHeader();\r\n header['Content-Type'] = 'multipart/form-data';\r\n return axios.post(`${LSIAPPLICATIONURL}/boardmemberresponse`, data, { headers: { ...header } });\r\n}\r\nexport default {\r\n getBoardRecommendations,\r\n getBoardResponses,\r\n postBoardRecommendation,\r\n postBoardResponse\r\n}","import { useState, useEffect } from 'react'\r\nimport { Button, Card, Col, Modal, Row } from 'react-bootstrap'\r\nimport React from 'react'\r\nimport { ControlLabel, Schema, Form, FormControl, FormGroup, InputPicker, Uploader } from 'rsuite'\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\nimport GenericAttachmentGrid from '../../../../Shared/Grid/GenericAttachmentGrid';\r\nimport { getBoardMembers } from '../../../../../services/Shared/codeTable.service';\r\nimport boardApprovalService from '../../../../../services/Internal/Reinstatement/LSI/boardApproval.service';\r\nimport attachmentService from '../../../../../services/Shared/attachment.service';\r\nimport Swal from 'sweetalert2';\r\nimport BlockUi from 'react-block-ui';\r\nimport 'react-block-ui/style.css';\r\n\r\nfunction BoardApprovalModal(props) {\r\n\r\n const { ObjectType, DateType } = Schema.Types;\r\n const [blockUi, setBlockUi] = useState(false);\r\n const model = Schema.Model({\r\n dateSent: DateType().isRequired('This field is required.'),\r\n boardMember: ObjectType().isRequired('This field is required.'),\r\n })\r\n const decisionData = [\r\n { \"label\": \"Approved\", \"value\": { id: 1, boardMemberDecision: \"Approved\" } },\r\n { \"label\": \"Declined\", \"value\": { id: 2, boardMemberDecision: \"Declined\" } }];\r\n\r\n const [boardMemebers, setBoardMembers] = useState([])\r\n const [approvalModel, setApprovalModel] = useState()\r\n useEffect(() => {\r\n setApprovalModel(props.modalData);\r\n getBoardMembers().then(setBoardMembers);\r\n }, [props.modalData])\r\n\r\n const formSubmit = (validation, event) => {\r\n if (validation) {\r\n setBlockUi(true);\r\n var formData = new FormData()\r\n var dataToTransmit = {\r\n ...approvalModel,\r\n dateSent: new Date(approvalModel.dateSent).toISOString(),\r\n dateReceived: approvalModel.dateReceived ? new Date(approvalModel.dateReceived).toISOString() : null\r\n }\r\n formDataAppender('boardMemberResponse', dataToTransmit, formData);\r\n for (var i = 0; i < approvalModel.files.length; i++) {\r\n formData.append('files', approvalModel.files[i].blobFile);\r\n }\r\n boardApprovalService.postBoardResponse(formData).then((response) => {\r\n setBlockUi(false);\r\n if (response.data.boardMemberResponse.id) {\r\n props.updateGrid();\r\n props.onHide();\r\n }\r\n\r\n })\r\n }\r\n\r\n }\r\n const formDataAppender = (passedKey, model, formData) => {\r\n for (let key in model) {\r\n if (typeof (model[key]) === 'object') {\r\n formDataAppender(`${passedKey}.${key}`, model[key], formData); // Recursive key for objects\r\n }\r\n else {\r\n if (passedKey)\r\n formData.append(`${passedKey}.${key}`, model[key]);\r\n else\r\n formData.append(`${key}`, model[key]);\r\n }\r\n }\r\n }\r\n const handleChange = (val, e) => {\r\n if (!e) {\r\n var newFiles = approvalModel.files;\r\n newFiles.push(val);\r\n setApprovalModel({ ...approvalModel, files: [...newFiles] })\r\n }\r\n };\r\n const deleteFile = (id) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n setApprovalModel({ ...approvalModel, files: approvalModel.files.filter(x => x.fileKey != id) })\r\n }\r\n })\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Board/Staff Member Response\r\n \r\n \r\n \r\n
setApprovalModel(approvalModel)} onSubmit={formSubmit} fluid>\r\n \r\n \r\n \r\n \r\n Date Sent \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Board/Staff Member \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n Date Received\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Decision\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n File Upload \r\n \r\n \r\n \r\n \r\n \r\n
Click or Drag files to this area to upload
\r\n \r\n \r\n
\r\n \r\n \r\n {approvalModel?.files?.length > 0 &&\r\n
\r\n
\r\n {\r\n return {\r\n id: value.fileKey,\r\n timestamp: new Date().toLocaleDateString(),\r\n file: value.blobFile?.name\r\n }\r\n })}\r\n isSync={true}\r\n tStyle=\"table-bordered\"\r\n name=\"filesForDisplay\" />\r\n
\r\n }\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Comments\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nexport default BoardApprovalModal;","import React, { useState, useEffect } from 'react'\r\nimport { Button, Col, Container, Row } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { Link } from 'react-router-dom';\r\nimport BoardApproval from './BoardApproval';\r\nimport BoardApprovalModal from './BoardApprovalModal';\r\nimport { useSelector } from 'react-redux';\r\nimport boardApprovalService from '../../../../../services/Internal/Reinstatement/LSI/boardApproval.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Swal from 'sweetalert2';\r\nimport dayjs from \"dayjs\";\r\nimport lsiReinstatementService from '../../../../../services/Internal/Reinstatement/LSI/lsiReinstatement.service';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/reinstatement.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction BoardApprovalPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const entityId = useSelector(x => x.currentApplicationEntityId)\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 11;\r\n const [modalShow, setModalShow] = useState(false);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [gridData, setGridData] = useState([]);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Land Surveyor Intern Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Board/Staff Recommendations\"\r\n }\r\n );\r\n const [formModel, setFormModel] = useState({\r\n reinstatementId: appId,\r\n dateCrte: null,\r\n deleted: false,\r\n entityId: entityId,\r\n additionalComments: \"\",\r\n id: 0,\r\n userCrte: \"\"\r\n })\r\n const [boardApprovalSectionId, setBoardApprovalSectionId] = useState();\r\n const [modalData, setModalData] = useState({\r\n comments: \"\",\r\n dateCrte: new Date(),\r\n dateReceived: new Date(),\r\n dateSent: new Date(),\r\n deleted: false,\r\n id: 0,\r\n userCrte: \"\",\r\n boardMemberDecision: null,\r\n boardMember: {\r\n appointmentYear: 0,\r\n credentialSuffix: \"\",\r\n expirationYear: 0,\r\n firstName: \"\",\r\n id: 0,\r\n lastName: \"\",\r\n middleName: \"\",\r\n representation: \"\",\r\n suffix: \"\"\r\n },\r\n entityId: entityId,\r\n reinstatementId: appId,\r\n boardStaffApprovalId: 0,\r\n files: [],\r\n filesForDisplay: [],\r\n filesLoading: false\r\n })\r\n\r\n useEffect(() => {\r\n lsiReinstatementService.lsiGetSection(appId, sectionId).then((response) => {\r\n boardApprovalService.getBoardRecommendations(appId).then((data) => {\r\n setFormModel(data.data);\r\n setModalData({ ...modalData, boardStaffApprovalId: data.data.id })\r\n updateGrid()\r\n setIsComplete(response.data.staffReviewComplete);\r\n setBoardApprovalSectionId(response.data.id);\r\n reinstatementService.getIndividualReinstatement(appId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n }, [])\r\n\r\n const updateGrid = () => {\r\n boardApprovalService.getBoardResponses(appId).then((vals) => {\r\n if (vals.data?.length)\r\n setGridData(\r\n vals.data.map((value, i) => { return { ...value.boardMemberResponse, files: [...value.attachments] } }))\r\n })\r\n }\r\n const submitData = (val) => {\r\n if (val) {\r\n boardApprovalService.postBoardRecommendation(formModel).then((val) => {\r\n if (val.data) {\r\n lsiReinstatementService.lsiMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n Swal.fire(\"Saved!\", \"You have successfully saved.\", 'success');\r\n })\r\n }\r\n })\r\n }\r\n }\r\n\r\n const openAddEditModal = (values) => {\r\n if (values.id) {\r\n setModalData({ ...values, dateReceived: values.dateReceived != null ? dayjs(values.dateReceived).format('YYYY-MM-DD') : null, dateSent: values.dateSent != null ? dayjs(values.dateSent).format('YYYY-MM-DD') : null })\r\n }\r\n else {\r\n setModalData({\r\n comments: \"\",\r\n dateCrte: new Date(),\r\n dateReceived: null,\r\n dateSent: null,\r\n deleted: false,\r\n id: 0,\r\n userCrte: \"\",\r\n boardMemberDecision: null,\r\n boardMember: null,\r\n entityId: entityId,\r\n reinstatementId: appId,\r\n boardStaffApprovalId: formModel.id,\r\n files: [],\r\n filesForDisplay: []\r\n\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n\r\n return (\r\n
\r\n \r\n setModalShow(false)} />\r\n
setFormModel(formModel)} onSubmit={submitData}>\r\n \r\n {hasLoaded ? <>\r\n \r\n \r\n \r\n \r\n  \r\n \r\n   \r\n \r\n {isUserEditable &&\r\n \r\n }\r\n \r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default BoardApprovalPage","import { loremParagraphs } from \"../../../fakeapi\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport RedStar from \"../GenericComponents/RedStar\";\r\n\r\nexport const GetAppInformationContent = (page) => {\r\n const [fakeData, setFakeData] = useState(\"\");\r\n const [type, setType] = useState(\"application\");\r\n useEffect(() => {\r\n loremParagraphs().then(setFakeData);\r\n }, [])\r\n\r\n switch (page) {\r\n case \"contact\":\r\n return (\r\n
\r\n
\r\n
    \r\n By clicking the Update Contact Information button, you will be taken to the Contact Module to make your changes. After you save your changes, please navigate back to your application, renewal, or reinstatement to continue.\r\n
\r\n
\r\n
\r\n\r\n );\r\n break;\r\n case \"review\":\r\n return (\r\n <>\r\n
    \r\n
  • Click Validate to see if there are any issues within the {type} that you provided.
  • \r\n
  • If there are issues, please correct the issue in the respective section(s) by clicking the “Back to Sections” button below.
  • \r\n
  • Then return to the Review section to validate again.
  • \r\n
  • You will not be allowed to submit until all issues are corrected.
  • \r\n
\r\n

\r\n Once the {type} is validated successfully, additional buttons will appear:\r\n

    \r\n
  • Select “Download PDF” to download a copy of your {type} for your records
  • \r\n
  • Select “Submit Application” to add your {type} to the cart and see payment options.
  • \r\n
\r\n

\r\n\r\n

You will not have direct access to this review page after completing the {type} and submitting payment. To request a copy, please contact LAPELS staff.

\r\n \r\n )\r\n break;\r\n case \"violations\":\r\n return (\r\n

\r\n In the case of answering “Yes” to the question below about unauthorized or unlicensed practice (Question #1), explain in detail the facts surrounding such practicing or offering to practice engineering in Louisiana and submit a list of all projects/jobs on which the firm offered to provide or provided engineering services in Louisiana during such period.\r\n Such list should include, for each such project/job, offer date, start date, completion date, client name, project/job name, project/job location and project/job descriptions, and names of firm representatives involved. Upload additional pages if necessary.\r\n
\r\n
\r\n In the case of answering “Yes” to any of the questions below other than the question about unauthorized or unlicensed practice, provide the date(s) and pertinent facts of the case(s) or proceeding(s), including the final disposition (even if the information was previously provided to the Board). Upload additional pages if necessary.\r\n

\r\n )\r\n case \"acknowledgement\":\r\n return (\r\n

\r\n Fields marked with an asterisk * are required.\r\n

\r\n )\r\n case \"supervisingProfessional\":\r\n return (\r\n <>\r\n The full text of the Licensure Law and the Rules of the Board are available from the Board's website at https://www.lapels.com/lawsrules.html.\r\n
\r\n

§2305. Supervising Professional

\r\n
    \r\n
  1. \r\n Each firm licensed with the board shall designate one or more supervising professionals. Each supervising professional shall be a licensed professional:\r\n
  2. \r\n
      \r\n
    • \r\n a. whose primary employment is with the firm on a full-time basis; or\r\n
    • \r\n
    • \r\n b. whose secondary employment is with the firm, provided the supervising professional is an owner of the firm.\r\n
    • \r\n
    \r\n
  3. \r\n The supervising professionals of an engineering firm shall be professional engineers. The supervising professionals of a land surveying firm shall be professional land surveyors.\r\n
  4. \r\n
  5. \r\n The responsibilities of a supervising professional include:\r\n
  6. \r\n
      \r\n
    • a. renewal of the firm’s license and notification to the board of any change in the firm’s supervising professionals;
    • \r\n
    • b. institution of and adherence to policies of the firm that are in accordance with the licensure law and the rules of the board; and
    • \r\n
    • c. ensuring that all professional services provided by the firm are performed by or under the responsible charge of licensed professionals.
    • \r\n
    \r\n
  7. \r\n The supervising professional of a firm which participates in a joint venture shall be responsible for assuring that all professional services performed by the joint venture are rendered in conformity with the provisions of these rules.\r\n
  8. \r\n
  9. \r\n Nothing herein shall prohibit a supervising professional from also being in responsible charge of professional services provided by the firm.\r\n
  10. \r\n
  11. A failure to comply with any of the provisions of this Chapter may subject both the licensed firm and the supervising professional to disciplinary action by the board.\r\n
  12. \r\n
  13. Each designated Supervising Professional MUST complete the quizzes (https://www.lapels.com/quiz ) and upload the results below.
  14. \r\n
  15. Compliance with this Section will not be met by a contractual relationship between the firm and a licensed professional or a firm of licensed professionals in which such licensed professional or firm of licensed professionals is available on a consultative basis. Nor will it be considered\r\n
  16. \r\n
\r\n\r\n

Each designated supervising professional of the firm hereby certifies that:

\r\n
    \r\n
  1. As a Professional Land Surveyor, I have successfully completed the Board’s online Louisiana Laws and Rules Quiz, Louisiana Professionalism and Ethics Quiz, and Louisiana Standards of Practice for Boundary Surveys Quiz with a score of 90% or higher within the past two calendar years. Provide either evidence of prior successful completion or complete the online quiz at https://www.lapels.com/quiz.
  2. \r\n
  3. As a Professional Engineer, I have successfully completed the Board’s online Louisiana Laws and Rules Quiz and Louisiana Professionalism and Ethics Quiz with a score of 90% or higher within the past two calendar years. Provide either evidence of prior successful completion or complete the online quiz at https://www.lapels.com/quiz.
  4. \r\n
  5. I have read and understand the Laws and Rules of the Board (https://www.lapels.com/LawsRules.html); and
  6. \r\n
  7. I acknowledge my responsibility to inform the Board, in writing, within thirty (30) days of any change of my employment or supervising professional status with the firm.
  8. \r\n
\r\n\r\n

Please complete the information as requested. If you have any questions, please email cande@lapels.com.

\r\n\r\n \r\n )\r\n case \"waiver\":\r\n return (\r\n

\r\n Firms which have the word(s), or any derivative thereof, “engineering” or “surveying” in their name should complete this form and submit to LAPELS for processing. The approval letter will be returned to you by email and you will then be able to obtain your Louisiana Certificate of Authority from the Louisiana Secretary of State.

\r\n\r\n

After you obtain your Louisiana Certificate of Authority, you will need to upload it into the upload section below.


\r\n\r\n Louisiana Secretary of State - Commercial Division
\r\n P.O. Box 94125
\r\n Baton Rouge, LA 70804-9125
\r\n Phone: 225-925-4704
\r\n Fax: 225-932-5314
\r\n\r\n http://www.sos.la.gov/Pages/default.aspx

\r\n If you have any questions about the waiver/certificate of authority section, please email cande@lapels.com.\r\n\r\n

\r\n )\r\n case \"index\":\r\n return (\r\n <>\r\n
\r\n
\r\n\r\n

Read all of the instructions before you begin

\r\n
    \r\n\r\n
  • The application fee is non-refundable.
  • \r\n\r\n
  • The application must be accompanied by a Certificate of Good Standing or a Certificate of Authority from the Louisiana Secretary of State.\r\n You will be given the opportunity to upload this document with your application. Contact information for the Louisiana Secretary of State\r\n is as follows:\r\n
  • \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n )\r\n break;\r\n default:\r\n return (\r\n <>\r\n
\r\n \r\n \r\n )\r\n break;\r\n }\r\n}\r\n\r\nexport const GetRenewalInformationContent = (page) => {\r\n const [fakeData, setFakeData] = useState(\"\");\r\n const [type, setType] = useState(\"renewal\");\r\n useEffect(() => {\r\n loremParagraphs().then(setFakeData);\r\n }, [])\r\n\r\n switch (page) {\r\n case \"contact\":\r\n return (\r\n
\r\n
\r\n
    \r\n By clicking the Update Contact Information button, you will be taken to the Contact Module to make your changes. After you save your changes, please navigate back to your application, renewal, or reinstatement to continue.\r\n
\r\n
\r\n
\r\n\r\n );\r\n break;\r\n case \"review\":\r\n return (\r\n <>\r\n
    \r\n
  • Click Validate to see if there are any issues within the {type} that you provided.
  • \r\n
  • If there are issues, please correct the issue in the respective section(s) by clicking the “Back to Sections” button below.
  • \r\n
  • Then return to the Review section to validate again.
  • \r\n
  • You will not be allowed to submit until all issues are corrected.
  • \r\n
\r\n

\r\n Once the {type} is validated successfully, additional buttons will appear:\r\n

    \r\n
  • Select “Download PDF” to download a copy of your {type} for your records
  • \r\n
  • Select “Submit Renewal” to add your {type} to the cart and see payment options.
  • \r\n
\r\n

\r\n\r\n

You will not have direct access to this review page after completing the {type} and submitting payment. To request a copy, please contact LAPELS staff.

\r\n \r\n )\r\n break;\r\n case \"violations\":\r\n return (\r\n

\r\n If the answer to any of these questions is \"Yes\", provide the date(s) and pertinent facts of the case(s) or proceeding(s) including the final disposition (even if the information was previously provided to the Board). Upload additional pages if necessary.\r\n

\r\n )\r\n case \"supervisingProfessional\":\r\n return (<>\r\n The full text of the Licensure Law and the Rules of the Board are available from the Board's website at https://www.lapels.com/lawsrules.html.\r\n
\r\n

§2305. Supervising Professional

\r\n
    \r\n
  1. \r\n Each firm licensed with the board shall designate one or more supervising professionals. Each supervising professional shall be a licensed professional:\r\n
  2. \r\n
      \r\n
    • \r\n a. whose primary employment is with the firm on a full-time basis; or\r\n
    • \r\n
    • \r\n b. whose secondary employment is with the firm, provided the supervising professional is an owner of the firm.\r\n
    • \r\n
    \r\n
  3. \r\n The supervising professionals of an engineering firm shall be professional engineers. The supervising professionals of a land surveying firm shall be professional land surveyors.\r\n
  4. \r\n
  5. \r\n The responsibilities of a supervising professional include:\r\n
  6. \r\n
      \r\n
    • a. renewal of the firm’s license and notification to the board of any change in the firm’s supervising professionals;
    • \r\n
    • b. institution of and adherence to policies of the firm that are in accordance with the licensure law and the rules of the board; and
    • \r\n
    • c. ensuring that all professional services provided by the firm are performed by or under the responsible charge of licensed professionals.
    • \r\n
    \r\n\r\n
  7. \r\n Nothing herein shall prohibit a supervising professional from also being in responsible charge of professional services provided by the firm.\r\n
  8. \r\n
  9. A failure to comply with any of the provisions of this Chapter may subject both the licensed firm and the supervising professional to disciplinary action by the board.\r\n
  10. \r\n\r\n\r\n
\r\n

\r\n I acknowledge my responsibility to keep my SP locker current. I further understand that failure to comply with such requirements of any false statements made by me, on behalf of the firm, could be cause for disciplinary action. I acknowledge my responsibility to inform the Board, in writing, within thirty (30) days of any change of my employment or supervising professional status with the firm.\r\n

\r\n\r\n\r\n

Please complete the information as requested. If you have any questions, please email cande@lapels.com.

\r\n
\r\n
\r\n

All Supervising Professionals MUST complete the attestation form ONLY during the firm's renewal period. Download the form from https://www.lapels.com/docs/Applications/firm/Firm_SP_Attestation_AR.pdf \r\n and upload the completed form using the \"Upload\" button below.

Failure to do so could result in a violation for both firm and individual.

\r\n\r\n
\r\n\r\n );\r\n case \"acknowledgement\":\r\n return (\r\n

\r\n Fields marked with an asterisk * are required.\r\n

\r\n )\r\n case \"waiver\":\r\n return (\r\n

\r\n Firms should search the LASOS website business filings, save the detailed report to your desktop, and then click or drag the file to the upload section below.

\r\n

After you obtain your Louisiana Certificate of Authority, you will need to upload it into the upload section below.


\r\n Louisiana Secretary of State - Commercial Division
\r\n P.O. Box 94125
\r\n Baton Rouge, LA 70804-9125
\r\n Phone: 225-925-4704
\r\n Fax: 225-932-5314
\r\n http://www.sos.la.gov/Pages/default.aspx

\r\n If you have any questions about the certificate of authority section, please email cande@lapels.com.\r\n\r\n

\r\n )\r\n case \"index\":\r\n return (\r\n <>\r\n
\r\n
\r\n\r\n

Read all of the instructions before you begin

\r\n
    \r\n\r\n
  • The application fee is non-refundable.
  • \r\n\r\n
  • The application must be accompanied by a Certificate of Good Standing or a Certificate of Authority from the Louisiana Secretary of State.\r\n You will be given the opportunity to upload this document with your application. Contact information for the Louisiana Secretary of State\r\n is as follows:\r\n
  • \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n )\r\n break;\r\n default:\r\n return (\r\n <>\r\n
\r\n \r\n \r\n )\r\n break;\r\n }\r\n}\r\n\r\nexport const GetReinstatementInformationContent = (page) => {\r\n const [fakeData, setFakeData] = useState(\"\");\r\n const [type, setType] = useState(\"reinstatement\");\r\n useEffect(() => {\r\n loremParagraphs().then(setFakeData);\r\n }, [])\r\n\r\n switch (page) {\r\n case \"contact\":\r\n return (\r\n
\r\n
\r\n
    \r\n\r\n
\r\n
\r\n
\r\n\r\n );\r\n break;\r\n case \"review\":\r\n return (\r\n <>\r\n
    \r\n
  • Click Validate to see if there are any issues within the {type} that you provided.
  • \r\n
  • If there are issues, please correct the issue in the respective section(s) by clicking the “Back to Sections” button below.
  • \r\n
  • Then return to the Review section to validate again.
  • \r\n
  • You will not be allowed to submit until all issues are corrected.
  • \r\n
\r\n

\r\n Once the {type} is validated successfully, additional buttons will appear:\r\n

    \r\n
  • Select “Download PDF” to download a copy of your {type} for your records
  • \r\n
  • Select “Submit Reinstatement” to add your {type} to the cart and see payment options.
  • \r\n
\r\n

\r\n\r\n

You will not have direct access to this review page after completing the {type} and submitting payment. To request a copy, please contact LAPELS staff.

\r\n \r\n )\r\n break;\r\n case \"violations\":\r\n return (\r\n

\r\n In the case of answering “Yes” to the question below about unauthorized or unlicensed practice (Question #1), explain in detail the facts surrounding such practicing or offering to practice engineering in Louisiana and submit a list of all projects/jobs on which the firm offered to provide or provided engineering services in Louisiana during such period.\r\n Such list should include, for each such project/job, offer date, start date, completion date, client name, project/job name, project/job location and project/job descriptions, and names of firm representatives involved. Upload additional pages if necessary.\r\n
\r\n
\r\n In the case of answering “Yes” to any of the questions below other than the question about unauthorized or unlicensed practice, provide the date(s) and pertinent facts of the case(s) or proceeding(s), including the final disposition (even if the information was previously provided to the Board). U additional pages if necessary.\r\n

\r\n )\r\n case \"acknowledgement\":\r\n return (\r\n

\r\n Fields marked with an asterisk * are required.\r\n

\r\n )\r\n case \"supervisingProfessional\":\r\n return (\r\n <>\r\n The full text of the Licensure Law and the Rules of the Board are available from the Board's website at https://www.lapels.com/lawsrules.html.\r\n
\r\n

§2305. Supervising Professional

\r\n
    \r\n
  1. \r\n Each firm licensed with the board shall designate one or more supervising professionals. Each supervising professional shall be a licensed professional:\r\n
  2. \r\n
      \r\n
    • \r\n a. whose primary employment is with the firm on a full-time basis; or\r\n
    • \r\n
    • \r\n b. whose secondary employment is with the firm, provided the supervising professional is an owner of the firm.\r\n
    • \r\n
    \r\n
  3. \r\n The supervising professionals of an engineering firm shall be professional engineers. The supervising professionals of a land surveying firm shall be professional land surveyors.\r\n
  4. \r\n
  5. \r\n The responsibilities of a supervising professional include:\r\n
  6. \r\n
      \r\n
    • a. renewal of the firm’s license and notification to the board of any change in the firm’s supervising professionals;
    • \r\n
    • b. institution of and adherence to policies of the firm that are in accordance with the licensure law and the rules of the board; and
    • \r\n
    • c. ensuring that all professional services provided by the firm are performed by or under the responsible charge of licensed professionals.
    • \r\n
    \r\n
  7. \r\n The supervising professional of a firm which participates in a joint venture shall be responsible for assuring that all professional services performed by the joint venture are rendered in conformity with the provisions of these rules.\r\n
  8. \r\n
  9. \r\n Nothing herein shall prohibit a supervising professional from also being in responsible charge of professional services provided by the firm.\r\n
  10. \r\n
  11. A failure to comply with any of the provisions of this Chapter may subject both the licensed firm and the supervising professional to disciplinary action by the board.\r\n
  12. \r\n
  13. Each designated Supervising Professional MUST complete the quizzes (https://www.lapels.com/quiz ) and upload the results below.
  14. \r\n
  15. Compliance with this Section will not be met by a contractual relationship between the firm and a licensed professional or a firm of licensed professionals in which such licensed professional or firm of licensed professionals is available on a consultative basis. Nor will it be considered\r\n
  16. \r\n
\r\n\r\n

Each designated supervising professional of the firm hereby certifies that:

\r\n
    \r\n
  1. As a Professional Land Surveyor, I have successfully completed the Board’s online Louisiana Laws and Rules Quiz, Louisiana Professionalism and Ethics Quiz, and Louisiana Standards of Practice for Boundary Surveys Quiz with a score of 90% or higher within the past two calendar years. Provide either evidence of prior successful completion or complete the online quiz at https://www.lapels.com/quiz.
  2. \r\n
  3. As a Professional Engineer, I have successfully completed the Board’s online Louisiana Laws and Rules Quiz and Louisiana Professionalism and Ethics Quiz with a score of 90% or higher within the past two calendar years. Provide either evidence of prior successful completion or complete the online quiz at https://www.lapels.com/quiz.
  4. \r\n
  5. I have read and understand the Laws and Rules of the Board (https://www.lapels.com/LawsRules.html); and
  6. \r\n
  7. I acknowledge my responsibility to inform the Board, in writing, within thirty (30) days of any change of my employment or supervising professional status with the firm.
  8. \r\n
\r\n\r\n

Please complete the information as requested. If you have any questions, please email cande@lapels.com.

\r\n\r\n \r\n )\r\n case \"waiver\":\r\n return (\r\n

\r\n Firms which have the word(s), or any derivative thereof, “engineering” or “surveying” in their name should complete this form and submit to LAPELS for processing. The approval letter will be returned to you by email and you will then be able to obtain your Louisiana Certificate of Authority from the Louisiana Secretary of State.

\r\n

After you obtain your Louisiana Certificate of Authority, you will need to upload it into the upload section below.


\r\n Louisiana Secretary of State - Commercial Division
\r\n P.O. Box 94125
\r\n Baton Rouge, LA 70804-9125
\r\n Phone: 225-925-4704
\r\n Fax: 225-932-5314
\r\n http://www.sos.la.gov/Pages/default.aspx

\r\n If you have any questions about the waiver/certificate of authority section, please email cande@lapels.com.\r\n\r\n

\r\n )\r\n case \"index\":\r\n return (\r\n <>\r\n
\r\n
\r\n\r\n

Read all of the instructions before you begin

\r\n
    \r\n\r\n
  • The application fee is non-refundable.
  • \r\n\r\n
  • The application must be accompanied by a Certificate of Good Standing or a Certificate of Authority from the Louisiana Secretary of State.\r\n You will be given the opportunity to upload this document with your application. Contact information for the Louisiana Secretary of State\r\n is as follows:\r\n
  • \r\n \r\n
  • The application fee referenced above is not a renewal fee. Upon receipt and approval of the application,\r\n your firm’s license will be placed in the current renewal cycle. Renewal invoices are mailed approximately\r\n five weeks prior to the expiration date of either March 31st or September 30th.
  • \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n )\r\n break;\r\n default:\r\n return (\r\n <>\r\n
\r\n \r\n \r\n )\r\n break;\r\n }\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, ListGroup, Button } from 'react-bootstrap';\r\nimport Section from '../../../Shared/Sections/Section';\r\nimport applicationService, { getSections } from \"../../../../services/Internal/Application/VF/vfApplication.service\";\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Information from '../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../Shared/InformationContent/VFInformation';\r\nimport entityService from '../../../../services/Internal/Staff/entity.service';\r\nimport Swal from 'sweetalert2';\r\nimport InternalTaskInfo from '../../Shared/InternalTaskInfo';\r\nimport FormEntityInformation from '../../Shared/FormEntityInformation';\r\nimport recentQueueService from '../../../../services/Internal/Recent/recentQueue.service'\r\nimport issuesService from '../../../../services/Shared/issues.service';\r\n\r\nfunction Index() {\r\n const marginRight = {\r\n marginRight: '1rem'\r\n }\r\n const [showSectionButton, setShowSectionButton] = useState(true);\r\n const [justLicensed, setJustLicensed] = useState(false);\r\n const [sections, setSections] = useState(null);\r\n const dispatch = useDispatch();\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Surveying Firm Application\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"\"\r\n }\r\n );\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const selector = useSelector(x => x);\r\n useEffect(() => {\r\n var routes = JSON.parse(localStorage.getItem('PERSIST_CURRENT_ROUTE')) ?? selector.currentRoutes;\r\n var currentAppId = localStorage.getItem('PERSIST_CURRENT_APP_ID') ?? selector.currentApplicationId;\r\n var currentEntityID = localStorage.getItem('PERSIST_CURRENT_APP_ENTITY_ID') ?? selector.currentApplicationEntityId;\r\n var currentAppTypeId = localStorage.getItem('PERSIST_CURRENT_APP_TYPE_ID') ?? selector.currentApplicationTypeId;\r\n if (localStorage.getItem('PERSIST_CURRENT_APP_ID')) {\r\n localStorage.removeItem('PERSIST_CURRENT_ROUTE');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ENTITY_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_TYPE_ID');\r\n\r\n dispatch({ type: \"PERSIST_CURRENT_ROUTE\", payload: routes });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: currentAppId });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ENTITY_ID\", payload: currentEntityID });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_TYPE_ID\", payload: currentAppTypeId });\r\n }\r\n //Add to recent Queue\r\n recentQueueService.updateRecentQueue({\r\n entityId: currentEntityID,\r\n parentId: currentAppId,\r\n parentTypeId: 2,\r\n appTypeId: 8,\r\n routes: JSON.stringify(routes)\r\n }).then((data) => {\r\n var token = parseInt(localStorage.getItem('updateRecentQueue')) ? parseInt(localStorage.getItem('updateRecentQueue')) : 0;\r\n localStorage.setItem('updateRecentQueue', token + 1)\r\n dispatch({ type: \"PERSIST_CURRENT_RECENT_QUEUE\", payload: parseInt(localStorage.getItem('updateRecentQueue')) });\r\n })\r\n\r\n applicationService.getFirmApplication(currentAppId).then((sectionResponse) => {\r\n entityService.getEntity(currentEntityID).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: sectionResponse.data?.credential?.formattedLicenseNumber,\r\n applicationDate: sectionResponse.data?.dateSubmitted\r\n })\r\n });\r\n setHasLoaded(true);\r\n if (sectionResponse.data.sections.findIndex((element) => element.staffReviewComplete === false) !== -1 || sectionResponse.data.status.id !== 2) {// status id 2 = pending\r\n setShowSectionButton(false);\r\n }\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(1, currentAppId).then((data) => {\r\n setSections(routes != null ? routes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route\r\n var index = sectionResponse.data.sections.findIndex(x => x.sectionType?.id == section.id);\r\n if (index !== -1) {\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (sectionResponse.data.sections[index].staffReviewComplete)\r\n section.status = \"COMPLETE\";\r\n else if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n })\r\n })\r\n })\r\n }, [])\r\n const sendStaffApproval = (isApproved) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: `Do you want to ${isApproved ? 'license' : 'decline'} this application? You won't be able to revert this!`,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continue!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n Swal.fire({\r\n title: `${isApproved ? 'Licensing' : 'Declining'} Application`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n applicationService.postStaffApproval(selector.currentApplicationId, isApproved).then((response) => {\r\n if (response.data) {\r\n setShowSectionButton(false);\r\n Swal.fire({\r\n title: `Saving PDF`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n applicationService.postApplicationPdf(response.data.id, isApproved).then((data) => {\r\n if (data.data) {\r\n setJustLicensed(true);\r\n Swal.fire(\"Saved\", `The application was successfully ${isApproved ? 'approved' : 'declined'}!`, \"success\")\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n \r\n

Sections to Complete

\r\n \r\n {sections}\r\n \r\n \r\n
\r\n {showSectionButton &&\r\n
\r\n \r\n \r\n
\r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Index;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst VFAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/FirmVfApplication\";\r\n\r\nconst getContactInformation = (applicationId) => {\r\n return axios.get(`${VFAPPLICATIONURL}/contactinformation`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postContactInformation = (applicationId, certDisplayName) => {\r\n return axios.post(`${VFAPPLICATIONURL}/contactinformation`, null, { headers: authHeader(), params: { applicationId, certDisplayName } });\r\n}\r\nexport default {\r\n getContactInformation,\r\n postContactInformation\r\n}","import React, { useState } from 'react'\r\nimport { Button, Card, Col, Row } from 'react-bootstrap';\r\nimport { ControlLabel, FormControl, FormGroup, Input, InputPicker } from 'rsuite';\r\nimport RedStar from '../../GenericComponents/RedStar';\r\nimport { getStates } from '../../../../services/Shared/codeTable.service'\r\nimport { Link } from 'react-router-dom';\r\nimport { useEffect } from 'react';\r\nimport PhoneNumberMask from '../../GenericComponents/PhoneNumberMask';\r\n\r\nfunction FirmInformation({ isUserEditable, isForApp, isReadOnly }) {\r\n const [states, setStates] = useState([])\r\n\r\n useEffect(() => {\r\n getStates().then(setStates);\r\n }, [])\r\n return (\r\n \r\n \r\n\r\n\r\n \r\n \r\n
Firm Information
\r\n \r\n {(isReadOnly && isUserEditable) &&\r\n \r\n \r\n \r\n NOTE: By clicking the Update Contact Information button, the Update Contact Information section will open in a new tab. After you save your changes in this new tab, close this tab and refresh your page to continue your application, renewal, or reinstatement.\r\n \r\n \r\n \r\n \r\n }\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Firm Name (Domicile) \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Federal taxpayer identification number (TIN) \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Company Email \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Company Website\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Business Phone \r\n \r\n \r\n \r\n \r\n {\r\n isReadOnly\r\n ?\r\n \r\n :\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Contact Person \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Type of Firm \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Domicile Firm State \r\n \r\n \r\n \r\n \r\n { if (label.toLowerCase().startsWith(userInput.toLowerCase()) || !userInput) return true; }}\r\n tabIndex=\"-1\"\r\n plaintext />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Date Formed/Incorporated \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Brief description of services to be provided by the firm in Louisiana \r\n \r\n
\r\n Max 1000 characters including spaces\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\nexport default FirmInformation;","import React, { useEffect, useState } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport { Form } from 'rsuite';\r\nimport dayjs from 'dayjs';\r\nimport { GetFirmGeneralContactInformationInstructions } from '../../../../Shared/InformationContent/GeneralInformation'\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport contactService from '../../../../../services/Internal/Application/VF/contact.service';\r\nimport applicationService from '../../../../../services/Internal/Application/VF/vfApplication.service';\r\nimport MailingAddress from '../../../../Shared/Card/Contact/MailingAddress';\r\nimport FirmInformation from '../../../../Shared/Card/Contact/FirmInformation';\r\nimport PublicAddress from '../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport Swal from 'sweetalert2';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction ContactInformationPage() {\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Surveying Firm Application\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Contact Information\"\r\n }\r\n );\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const [sectionData, setSectionData] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n\r\n useEffect(() => {\r\n contactService.getContactInformation(appId).then((response) => {\r\n var data = response.data;\r\n setFormModel({\r\n ...data,\r\n dateOfFormation: data.dateOfFormation != null ? dayjs(data.dateOfFormation).format('YYYY-MM-DD') : null,\r\n orgType: data.organizationType?.code,\r\n primaryEmail: data.primaryEmailAddress?.emailAddress,\r\n phoneNum: data.phone?.phoneNumber\r\n\r\n })\r\n applicationService.vfGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n applicationService.getFirmApplication(appId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n })\r\n })\r\n })\r\n }, [])\r\n\r\n const [formModel, setFormModel] = useState({})\r\n\r\n const [tabPane, setTabPane] = useState(\"firmInformation\")\r\n\r\n const submitData = () => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n applicationService.vfMarkSectionComplete(appId, sectionId, isComplete).then((markSectionResponse) => {\r\n if (markSectionResponse.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n else\r\n Swal.fire(\"Failed to mark section complete\");\r\n });\r\n }\r\n\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)}\r\n onSubmit={submitData} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n {hasLoaded &&\r\n\r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst VFAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/FirmVfApplication\";\r\n\r\nconst getViolation = (applicationId) => {\r\n return axios.get(`${VFAPPLICATIONURL}/violation`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postViolation = (data) => {\r\n return axios.post(`${VFAPPLICATIONURL}/violation`, data, { headers: authHeader() });\r\n}\r\nconst downloadViolationFile = (applicationId) => {\r\n axios.get(`${process.env.REACT_APP_APIURL}/Reports/GetFirmApplicationViolationsForm`, { headers: authHeader(), params: { applicationId }, responseType: 'arraybuffer' }).then((response) => {\r\n var name = new String(response.headers['content-disposition']);\r\n const downloadUrl = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = downloadUrl;\r\n link.setAttribute('download', name.slice(name.indexOf('filename=') + 9, name.lastIndexOf(';')));\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n });\r\n}\r\nexport default {\r\n getViolation,\r\n postViolation,\r\n downloadViolationFile\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport { useSelector } from 'react-redux';\r\nimport ViolationService from '../../../../../services/Internal/Application/VF/violation.service';\r\nimport applicationService from '../../../../../services/Internal/Application/VF/vfApplication.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/VFInformation';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport { getCodeViolationAnswers } from '../../../../../services/Shared/codeTable.service';\r\nimport GenericViolations from '../../../../Shared/Card/Violations';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 4;\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Surveying Firm Application\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Violations\"\r\n }\r\n );\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n yesAnswerExplanation: StringType().isRequired('This field is required.'),\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n applicationService.vfGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n setIsComplete(response.data.staffReviewComplete);\r\n applicationService.getFirmApplication(store.currentApplicationId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n });\r\n });\r\n ViolationService.getViolation(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, issues: formData.issues, files: formData.files, filesForDisplay: formData.filesForDisplay });\r\n }\r\n else {\r\n getCodeViolationAnswers(8).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n yesAnswerExplanation: \"\",\r\n files: [],\r\n filesForDisplay: [],\r\n issues: []\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true) >= 0;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n const downloadViolations = () => {\r\n ViolationService.downloadViolationFile(store.currentApplicationId)\r\n }\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n setShowFormErrors(true)\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, applicationId: store.currentApplicationId, entityId: store.userInfo.EntityId };\r\n ViolationService.postViolation(dataTransfer).then((response) => {\r\n applicationService.vfPostSection(store.currentApplicationId, sectionId, formData.signature).then((response) => {\r\n applicationService.vfMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((data) => {\r\n if (response.data && data.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n })\r\n })\r\n });\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import React, { useState } from 'react';\r\nimport { useEffect } from 'react';\r\nimport { Button, Card, Col, Row } from \"react-bootstrap\";\r\nimport { Link } from 'react-router-dom';\r\nimport { FormControl, Input, Table } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport supervisingProfessionalService from '../../../services/supervisingProfessional.service';\r\nimport GenericBadge from '../Badge/GenericBadge';\r\nimport LoadingSpinner from '../GenericComponents/LoadingSpinner';\r\nimport RedStar from \"../GenericComponents/RedStar\";\r\nimport YesNoRadioOption from '../RadioButton/YesNoRadioOption';\r\nimport DocumentUpload from '../Upload/DocumentUpload';\r\n\r\n\r\nfunction SupervisingProfessional(props) {\r\n const [supervisingLockerHasLoaded, setSupervisingLockerHasLoaded] = useState(false);\r\n const [supervisingProfessionals, setSupervisingProfessionals] = useState([]);\r\n useEffect(() => {\r\n if (props.entityId && props.prefix) {\r\n supervisingProfessionalService.getSupervisingProfessionalsByLicenseType(props.entityId, props.prefix).then((result) => { setSupervisingProfessionals(result.data) }).then(() => {\r\n setSupervisingLockerHasLoaded(true)\r\n });\r\n }\r\n }, [props.entityId])\r\n return (\r\n
\r\n \r\n \r\n

I attest that I am the Supervising Professional of my firm.

\r\n\r\n {/*{props.isRenewal &&*/}\r\n {/*
*/}\r\n {/* */}\r\n {/*

All Supervising Professionals MUST complete the attestation form ONLY during the firm's renewal period. Download the form from here: https://www.lapels.com/docs/Applications/firm/Firm_SP_Attestation_AR.pdf

*/}\r\n {/*

Upload the completed form using the \"Upload\" button below.

*/}\r\n {/*

Failure to do so could result in a violation for both firm and individual.

*/}\r\n {/*
*/}\r\n {/*
*/}\r\n\r\n {/*}*/}\r\n \r\n\r\n\r\n\r\n\r\n \r\n \r\n\r\n\r\n\r\n \r\n

You are required to have at least one (1) supervising professional in your Supervising Professional (SP) Locker before continuing.\r\n To add or remove an SP, click the \"Update Supervising Professionals\" button, or \"SP Locker\" in the left menu, to open your SP Locker in a new tab.\r\n If you are replacing your only assigned SP, you must add a new one before removing the old one. After adding one or more SP's, those SP's must sign into their LOLA account(s)\r\n and go to their own SP Locker to accept the role. Once they have completed this, you may continue your firm application, renewal, or reinstatement.

\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n {props.isInternal && <>\r\n
{supervisingLockerHasLoaded ?\r\n \r\n \r\n \r\n Name\r\n \r\n \r\n {rowData => (rowData.professionalFormattedName)}\r\n \r\n \r\n \r\n \r\n License #\r\n \r\n \r\n {rowData => (rowData.codeVerificationStatus?.verificationStatus === \"Approved\" ? : rowData.professionalFormattedLicenseNumber)}\r\n \r\n \r\n \r\n \r\n Owner of this firm?\r\n \r\n \r\n {rowData => (rowData.isOwner ? \"+25% or more\" : \"No\")}\r\n \r\n \r\n \r\n \r\n Sent Date\r\n \r\n \r\n {rowData => (rowData.sentDate ? new Date(rowData.sentDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Response Date\r\n \r\n \r\n {rowData => (rowData.responseDate ? new Date(rowData.responseDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Verification Status\r\n \r\n {rowData => (rowData.codeVerificationStatus?.verificationStatus ? : '')}\r\n \r\n
: \r\n }\r\n \r\n }\r\n
\r\n\r\n
\r\n \r\n (Supervising Professional Attestation Form) : (select quiz type from dropdown and click \"Upload\". Repeat for each quiz type.)}\r\n fileUploadTitle={props.isRenewal ? \"File Upload\" : \"Quiz File Upload\"}\r\n />\r\n \r\n
\r\n \r\n \r\n
Electronic Signature of Supervising Professional(s):
\r\n (Type full name of each Supervising Professional, separated by commas)\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default SupervisingProfessional;","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/VFInformation';\r\nimport applicationService from '../../../../../services/Internal/Application/VF/vfApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport SupervisingProfessional from '../../../../Shared/Card/SupervisingProfessional';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction SupervisingProfessionalPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 14;\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Surveying Firm Application\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Supervising Professional\"\r\n }\r\n );\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasFirmSubmittedSupervisingProfessional: BooleanType().isRequired('This field is required.'),\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n applicationService.vfGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n applicationService.getFirmApplication(store.currentApplicationId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n })\r\n })\r\n\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const { push } = useHistory();\r\n const showAdditionalFields = sectionData.hasFirmSubmittedSupervisingProfessional;\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (val) {\r\n applicationService.vfPostSection(store.currentApplicationId, sectionId, sectionData.electronicSignature).then((response) => {\r\n if (response.data) {\r\n applicationService.vfPostSectionHasFirmSubmittedSupervisingProfessional(store.currentApplicationId, sectionId, sectionData.hasFirmSubmittedSupervisingProfessional).then((data) => {\r\n if (data.data) {\r\n applicationService.vfMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((markSectionResponse) => {\r\n if (markSectionResponse.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n else\r\n Swal.fire(\"Failed to mark section complete\");\r\n });\r\n }\r\n else\r\n Swal.fire(\"Failed to post supervising professional section\");\r\n })\r\n }\r\n })\r\n }\r\n }\r\n\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default SupervisingProfessionalPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst VFAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/FirmVfApplication\";\r\n\r\nconst getUnlicensedActivity = (applicationId) => {\r\n return axios.get(`${VFAPPLICATIONURL}/unlicensedActivity`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postUnlicensedActivity = (data) => {\r\n return axios.post(`${VFAPPLICATIONURL}/unlicensedActivity`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getUnlicensedActivity,\r\n postUnlicensedActivity\r\n}","import React, { useState } from 'react';\r\nimport { Card, Col, FormGroup, Row } from \"react-bootstrap\";\r\nimport { FormControl, Uploader } from 'rsuite';\r\nimport LoadingSpinner from '../GenericComponents/LoadingSpinner';\r\nimport RedStar from \"../GenericComponents/RedStar\";\r\nimport GenericAttachmentGrid from '../Grid/GenericAttachmentGrid';\r\nimport YesNoRadioOption from '../RadioButton/YesNoRadioOption';\r\nimport attachmentService from '../../../services/Shared/attachment.service';\r\nimport DocumentUpload from '../Upload/DocumentUpload';\r\nfunction UnlicensedActivity(props) {\r\n return (\r\n
\r\n \r\n
Unlicensed Activity in Louisiana
\r\n \r\n

Has your firm ever practiced or offered to practice engineering or land surveying in Louisiana?

\r\n
\r\n \r\n\r\n\r\n\r\n {props.showAdditionalFields ?\r\n <>\r\n

If the answer to any of these questions is \"Yes\", explain in detail the facts surrounding such practicing or offering\r\n to practice and submit a project list, with offer date, and start/completion dates of all engineering and land surveying work\r\n which the firm has offered and/or performed in Louisiana during the past five years. Upload additional pages if necessary. You may\r\n be required to submit additional information on these projects at a later date.

\r\n \r\n \r\n \r\n\r\n \r\n \r\n :\r\n null}\r\n
\r\n\r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default UnlicensedActivity;","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/VFInformation';\r\nimport unlicensedActivityService from '../../../../../services/Internal/Application/VF/unlicensedActivity.service';\r\nimport applicationService from '../../../../../services/Internal/Application/VF/vfApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport UnlicensedActivity from '../../../../Shared/Card/FirmUnlicensedActivity';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction UnlicensedActivityPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Surveying Firm Application\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Unlicensed Activity\"\r\n }\r\n );\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 15;\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasUnlicensedActivity: BooleanType().isRequired('This field is required.'),\r\n explanation: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n applicationService.vfGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n unlicensedActivityService.getUnlicensedActivity(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, files: formData.files, filesForDisplay: formData.filesForDisplay });\r\n }\r\n setIsComplete(response.data.staffReviewComplete);\r\n setSectionData(response.data);\r\n applicationService.getFirmApplication(store.currentApplicationId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n })\r\n })\r\n })\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n hasUnlicensedActivity: undefined,\r\n explanation: \"\",\r\n files: [],\r\n filesForDisplay: []\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData.hasUnlicensedActivity;\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"explanation\") || (showAdditionalFields && key.includes(\"explanation\")))) {\r\n return;\r\n }\r\n\r\n }\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, applicationId: store.currentApplicationId, entityId: store.userInfo.EntityId };\r\n unlicensedActivityService.postUnlicensedActivity(dataTransfer).then((response) => {\r\n if (response.data) {\r\n applicationService.vfMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((data) => {\r\n if (data.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n }\r\n else {\r\n Swal.fire(\"Failed to mark section as complete!\");\r\n }\r\n })\r\n }\r\n else {\r\n Swal.fire(\"Failed to save unlicensed activity\");\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default UnlicensedActivityPage","import React, { useState } from 'react';\r\nimport { Badge, Button, Card, Col, Container, FormGroup, Row } from \"react-bootstrap\";\r\nimport { FormControl, Uploader } from 'rsuite';\r\nimport LoadingSpinner from '../GenericComponents/LoadingSpinner';\r\nimport RedStar from \"../GenericComponents/RedStar\";\r\nimport GenericAttachmentGrid from '../Grid/GenericAttachmentGrid';\r\nimport YesNoRadioOption from '../RadioButton/YesNoRadioOption';\r\nimport attachmentService from '../../../services/Shared/attachment.service';\r\nimport DocumentUpload from '../Upload/DocumentUpload';\r\nfunction WavierCertificate(props) {\r\n const waiverTitle = (parentTypeId) => {\r\n switch (parentTypeId) {\r\n case 1: // Application\r\n return \"Waiver/Certificate of Authority Information\";\r\n case 2: // Reinstatement\r\n return \"Certificate of Authority/Good Standing Information\";\r\n case 3: // Renewal\r\n return \"Certificate of Authority Information\"\r\n default: return \"\";\r\n }\r\n }\r\n const uploadTitle = (parentTypeId) => {\r\n switch (parentTypeId) {\r\n case 1: // Application\r\n return \"Please select the document type from the dropdown list below to upload your Certificate of Authority and Waiver Request (if needed) into the document window\";\r\n case 2: // Reinstatement\r\n return \"Please upload your Certificate of Good Standing or a Certificate of Authority from the Louisiana Secretary of State into the document window below.\";\r\n case 3: // Renewal\r\n return \"Please upload your Certificate of Good Standing or a Certificate of Authority from the Louisiana Secretary of State\";\r\n default: return \"\";\r\n }\r\n }\r\n return (\r\n
\r\n \r\n
{waiverTitle(props.parentTypeId)}
\r\n \r\n {props.isApp && <>\r\n

\r\n LAC Title 46:LXI§2301(b)(1) A firm which has in its title the word engineering or surveying or any derivative thereof shall be construed\r\n to be offering to provide professional services and therefore-must be licensed with the board before doing business in the state of Louisiana,\r\n unless it has in its title modifying or explanatory words which would, in their ordinary meaning, negate the inference of the professional practice of\r\n engineering or land surveying.\r\n

\r\n
\r\n

Does the firm have the word engineering or surveying or any derivative thereof offering to provide professional services?

\r\n
\r\n \r\n\r\n\r\n\r\n {props.showAdditionalFields ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n

Wait! An approval letter is needed from the LAPELS Board to complete this section.
Please provide the information\r\n requested in the form and submit this form via email to cande@lapels.com to get approval

\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n :\r\n null}\r\n
\r\n \r\n }\r\n \r\n
\r\n

\r\n “Pursuant to La. R.S. 37:689(B), within thirty (30) days of receiving from the Louisiana Secretary of State your Certificate of Authority/Incorporation to transact business in Louisiana, you must apply for,\r\n and receive from the Board, a license prior to offering professional engineering or land surveying services in Louisiana.”\r\n
\r\n
\r\n I certify that the information above is true and correct.\r\n

\r\n
\r\n \r\n \r\n
Electronic Signature of Applicant:
\r\n (Type full name)\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default WavierCertificate;","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/VFInformation';\r\nimport applicationService from '../../../../../services/Internal/Application/VF/vfApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport WavierCertificate from '../../../../Shared/Card/WaiverCertificate';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction WaiverCertificatePage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Surveying Firm Application\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Waiver/Certificate\"\r\n }\r\n );\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 13;\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasWordOfferingProfessionalServices: BooleanType().isRequired('This field is required.'),\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n applicationService.vfGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n applicationService.getFirmApplication(store.currentApplicationId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n })\r\n })\r\n\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const { push } = useHistory();\r\n const showAdditionalFields = sectionData.hasWordOfferingProfessionalServices;\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (val) {\r\n applicationService.vfPostSection(store.currentApplicationId, sectionId, sectionData.electronicSignature).then((response) => {\r\n if (response.data) {\r\n applicationService.vfPostSectionHasWordOffering(store.currentApplicationId, sectionId, sectionData.hasWordOfferingProfessionalServices).then((data) => {\r\n if (data.data) {\r\n applicationService.vfMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((markSectionResponse) => {\r\n if (markSectionResponse.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else\r\n Swal.fire(\"Failed to mark section as complete\");\r\n });\r\n }\r\n else\r\n Swal.fire(\"Failed to save section has word offering.\")\r\n })\r\n }\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default WaiverCertificatePage","import React from 'react'\r\nimport { Card, Row, Col } from 'react-bootstrap'\r\nimport { FormControl } from 'rsuite'\r\nimport RedStar from '../GenericComponents/RedStar'\r\n\r\nfunction Acknowledgement() {\r\n return (\r\n \r\n
Acknowledgement
\r\n \r\n

\r\n I certify that I have read the contents of this application and to the best of my knowledge, information and belief the\r\n statements and information in this application are true and correct in substance and effect and are made in good faith. I\r\n have not omitted any information requested in this application. I am aware that such an omission or untrue response\r\n may constitute fraud, deceit, material misstatement, perjury or the giving of false or forged evidence under Louisiana\r\n Revised Statutes 37:698 and 37:700.\r\n

\r\n
\r\n \r\n \r\n
Electronic Signature of Applicant:
\r\n (Type full name)\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default Acknowledgement","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport applicationService from '../../../../../services/Internal/Application/VF/vfApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport Acknowledgement from '../../../../Shared/Card/FirmAcknowledgement';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/VFInformation';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction AcknowledgementPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Surveying Firm Application\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Acknowledgement\"\r\n }\r\n );\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const sectionId = 8; // Revisit\r\n const [formModel, setFormModel] = useState({})\r\n useEffect(() => {\r\n applicationService.vfGetSection(appId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n applicationService.getFirmApplication(appId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n })\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n const submitData = (isForSubmit) => {\r\n applicationService.vfPostSection(appId, sectionId, formModel.electronicSignature).then((response) => {\r\n applicationService.vfMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (isForSubmit && response.data.id && data.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data.id && data.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/VFInformation';\r\nimport vfApplicationService from '../../../../../services/Internal/Application/VF/vfApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../Shared/Card/ReviewPdf';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport { Form } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction ReviewPage() {\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const { push } = useHistory();\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Surveying Firm Application\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Review\"\r\n }\r\n );\r\n const sectionId = 9;\r\n useEffect(() => {\r\n vfApplicationService.vfGetSection(appId, sectionId).then((response) => {\r\n setIsComplete(response.data.staffReviewComplete);\r\n vfApplicationService.getFirmApplication(appId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n })\r\n })\r\n }, [])\r\n\r\n const formSubmit = () => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n vfApplicationService.vfMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {hasLoaded ?\r\n <>\r\n {violationIssuesHtml}\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst VFAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/FirmVfApplication\";\r\n\r\n\r\n\r\nconst getBoardRecommendations = (applicationId) => {\r\n return axios.get(`${VFAPPLICATIONURL}/boardrecommendations`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst getBoardResponses = (applicationId) => {\r\n return axios.get(`${VFAPPLICATIONURL}/boardmemberresponses`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postBoardRecommendation = (data) => {\r\n return axios.post(`${VFAPPLICATIONURL}/boardrecommendation`, data, { headers: authHeader() });\r\n}\r\nconst postBoardResponse = (data) => {\r\n var header = authHeader();\r\n header['Content-Type'] = 'multipart/form-data';\r\n return axios.post(`${VFAPPLICATIONURL}/boardmemberresponse`, data, { headers: { ...header } });\r\n}\r\nexport default {\r\n getBoardRecommendations,\r\n getBoardResponses,\r\n postBoardRecommendation,\r\n postBoardResponse\r\n}","import React from 'react';\r\nimport { Card} from 'react-bootstrap'\r\nimport YesNoRadioOption from '../../../../Shared/RadioButton/YesNoRadioOption';\r\n\r\nfunction BoardStaffChecklist(props) {\r\n return (\r\n
\r\n \r\n
Board/Staff Checklist
\r\n \r\n

Has the firm been verified by the Secretary of State?

\r\n
\r\n \r\n

Have the Supervising Professional(s) been verified?

\r\n
\r\n \r\n

Have the required quizzes been submitted for each of the Supervising Professional(s)?

\r\n
\r\n \r\n

Have the disciplinary action(s) for firm(s) and Supervising Professional(s) been checked?

\r\n
\r\n \r\n

Do you have Board Approval?

\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default BoardStaffChecklist;","import React, { useState, useEffect } from 'react'\r\nimport { Button, Card, Row, Col } from 'react-bootstrap'\r\nimport { ControlLabel, FormControl, FormGroup, Icon, SelectPicker, Table, Uploader } from 'rsuite'\r\nimport Swal from 'sweetalert2';\r\nimport boardApprovalService from '../../../../../services/Internal/Application/VF/boardApproval.service';\r\nimport attachmentService from '../../../../../services/Shared/attachment.service';\r\nimport DocumentUpload from '../../../../Shared/Upload/DocumentUpload';\r\nimport BoardStaffChecklist from './BoardStaffChecklist';\r\n\r\nfunction BoardApproval(props) {\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n\r\n const handleChangePage = (dataKey) => {\r\n setPage(dataKey);\r\n }\r\n const handleChangeLength = (dataKey) => {\r\n setPage(1);\r\n setDisplayLength(dataKey);\r\n }\r\n\r\n const getData = () => {\r\n return props.gridData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const formDataAppender = (passedKey, model, formData) => {\r\n for (let key in model) {\r\n if (typeof (model[key]) === 'object') {\r\n formDataAppender(`${passedKey}.${key}`, model[key], formData); // Recursive key for objects\r\n }\r\n else {\r\n if (passedKey)\r\n formData.append(`${passedKey}.${key}`, model[key]);\r\n else\r\n formData.append(`${key}`, model[key]);\r\n }\r\n }\r\n }\r\n const filteredData = getData();\r\n const removeFile = (id, rowData) => {\r\n Swal.fire({\r\n title: 'Are you sure you want to delete this file?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n attachmentService.deleteFile(id).then((response) => {\r\n if (response.status == 200) {\r\n if (rowData) {\r\n var index = props.gridData.findIndex(x => x.id == rowData.id);\r\n var tempModel = props.gridData;\r\n tempModel[index].files = tempModel[index].files.filter(x => x.id !== id);\r\n props.setGridData([...tempModel]);\r\n }\r\n else {\r\n props.setFiles([...props.files.filter(x => x.id != id)])\r\n }\r\n }\r\n });\r\n }\r\n })\r\n }\r\n\r\n const openFile = (id) => {\r\n attachmentService.openFile(id);\r\n }\r\n return (\r\n <>\r\n\r\n \r\n
Board/Staff Attachments
\r\n \r\n \r\n
\r\n \r\n Additional Comments\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
Board/Staff Responses
\r\n \r\n {props.isUserEditable &&\r\n \r\n \r\n \r\n }\r\n
\r\n
\r\n \r\n \r\n \r\n Document\r\n \r\n {rowData => {\r\n return (<>\r\n {rowData.files.map((item, i) => {\r\n return (\r\n \r\n {props.isUserEditable &&\r\n \r\n }\r\n \r\n \r\n\r\n )\r\n })}\r\n \r\n )\r\n }}\r\n \r\n \r\n \r\n \r\n Date Sent\r\n \r\n {rowData => (rowData.dateSent ? new Date(rowData.dateSent).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Date Received\r\n \r\n {rowData => (rowData.dateReceived ? new Date(rowData.dateReceived).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Board Member\r\n \r\n {rowData => (`${rowData.boardMember.firstName} ${rowData.boardMember.middleName} ${rowData.boardMember.lastName}, ${rowData.boardMember.credentialSuffix}`)}\r\n \r\n \r\n \r\n Decision\r\n \r\n {rowData => (rowData.boardMemberDecision?.boardMemberDecision)}\r\n \r\n \r\n \r\n Comments\r\n \r\n \r\n \r\n {props.isUserEditable &&\r\n \r\n \r\n \r\n \r\n {rowData => {\r\n function handleAction() {\r\n var tempData = { ...rowData, files: [] }\r\n props.openModal(tempData);\r\n }\r\n function handleDelete() {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n var formData = new FormData();\r\n var dataToTransmit = {\r\n ...rowData,\r\n deleted: true,\r\n }\r\n formDataAppender('boardMemberResponse', dataToTransmit, formData);\r\n for (var i = 0; i < rowData.files.length; i++) {\r\n formData.append('files', rowData.files[i].blobFile);\r\n }\r\n boardApprovalService.postBoardResponse(formData).then((response) => {\r\n if (response.status == 200) {\r\n props.setGridData([...props.gridData.filter(x => x.id !== rowData.id)]);\r\n }\r\n })\r\n }\r\n })\r\n }\r\n return (\r\n \r\n   \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n }\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n );\r\n}\r\n\r\nexport default BoardApproval;","import { useState, useEffect } from 'react'\r\nimport { Button, Card, Col, Modal, Row } from 'react-bootstrap'\r\nimport React from 'react'\r\nimport { ControlLabel, Schema, Form, FormControl, FormGroup, InputPicker, Uploader } from 'rsuite'\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\nimport GenericAttachmentGrid from '../../../../Shared/Grid/GenericAttachmentGrid';\r\nimport { getBoardMembers } from '../../../../../services/Shared/codeTable.service';\r\nimport boardApprovalService from '../../../../../services/Internal/Application/VF/boardApproval.service';\r\nimport attachmentService from '../../../../../services/Shared/attachment.service';\r\nimport Swal from 'sweetalert2';\r\nimport BlockUi from 'react-block-ui';\r\nimport 'react-block-ui/style.css';\r\n\r\nfunction BoardApprovalModal(props) {\r\n\r\n const { ObjectType, DateType } = Schema.Types;\r\n const [blockUi, setBlockUi] = useState(false);\r\n const model = Schema.Model({\r\n dateSent: DateType().isRequired('This field is required.'),\r\n boardMember: ObjectType().isRequired('This field is required.'),\r\n })\r\n const decisionData = [\r\n { \"label\": \"Approved\", \"value\": { id: 1, boardMemberDecision: \"Approved\" } },\r\n { \"label\": \"Declined\", \"value\": { id: 2, boardMemberDecision: \"Declined\" } }];\r\n\r\n const [boardMemebers, setBoardMembers] = useState([])\r\n const [approvalModel, setApprovalModel] = useState()\r\n useEffect(() => {\r\n setApprovalModel(props.modalData);\r\n getBoardMembers().then(setBoardMembers);\r\n }, [props.modalData])\r\n\r\n const formSubmit = (validation, event) => {\r\n if (validation) {\r\n setBlockUi(true);\r\n var formData = new FormData()\r\n var dataToTransmit = {\r\n ...approvalModel,\r\n dateSent: new Date(approvalModel.dateSent).toISOString(),\r\n dateReceived: approvalModel.dateReceived ? new Date(approvalModel.dateReceived).toISOString() : null\r\n }\r\n formDataAppender('boardMemberResponse', dataToTransmit, formData);\r\n for (var i = 0; i < approvalModel.files.length; i++) {\r\n formData.append('files', approvalModel.files[i].blobFile);\r\n }\r\n boardApprovalService.postBoardResponse(formData).then((response) => {\r\n setBlockUi(false);\r\n if (response.data.boardMemberResponse.id) {\r\n props.updateGrid();\r\n props.onHide();\r\n }\r\n\r\n })\r\n }\r\n\r\n }\r\n const formDataAppender = (passedKey, model, formData) => {\r\n for (let key in model) {\r\n if (typeof (model[key]) === 'object') {\r\n formDataAppender(`${passedKey}.${key}`, model[key], formData); // Recursive key for objects\r\n }\r\n else {\r\n if (passedKey)\r\n formData.append(`${passedKey}.${key}`, model[key]);\r\n else\r\n formData.append(`${key}`, model[key]);\r\n }\r\n }\r\n }\r\n const handleChange = (val, e) => {\r\n if (!e) {\r\n var newFiles = approvalModel.files;\r\n newFiles.push(val);\r\n setApprovalModel({ ...approvalModel, files: [...newFiles] })\r\n }\r\n };\r\n const deleteFile = (id) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n setApprovalModel({ ...approvalModel, files: approvalModel.files.filter(x => x.fileKey != id) })\r\n }\r\n })\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Board/Staff Member Response\r\n \r\n \r\n \r\n
setApprovalModel(approvalModel)} onSubmit={formSubmit} fluid>\r\n \r\n \r\n \r\n \r\n Date Sent \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Board/Staff Member \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n Date Received\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Decision\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n File Upload \r\n \r\n \r\n \r\n \r\n \r\n
Click or Drag files to this area to upload
\r\n \r\n \r\n
\r\n \r\n \r\n {approvalModel?.files?.length > 0 &&\r\n
\r\n
\r\n {\r\n return {\r\n id: value.fileKey,\r\n timestamp: new Date().toLocaleDateString(),\r\n file: value.blobFile?.name\r\n }\r\n })}\r\n isSync={true}\r\n tStyle=\"table-bordered\"\r\n name=\"filesForDisplay\" />\r\n
\r\n }\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Comments\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nexport default BoardApprovalModal;","import React, { useState, useEffect } from 'react'\r\nimport { Button, Col, Container, Row } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport BoardApproval from './BoardApproval';\r\nimport BoardApprovalModal from './BoardApprovalModal';\r\nimport applicationService from '../../../../../services/Internal/Application/VF/vfApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport boardApprovalService from '../../../../../services/Internal/Application/VF/boardApproval.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Swal from 'sweetalert2';\r\nimport dayjs from \"dayjs\";\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction BoardApprovalPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const entityId = useSelector(x => x.currentApplicationEntityId)\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 10;\r\n const [modalShow, setModalShow] = useState(false);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [gridData, setGridData] = useState([]);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Surveying Firm Application\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Board/Staff Recommendations\"\r\n }\r\n );\r\n const { BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n isFirmVerifiedBySecretaryOfState: BooleanType().isRequired('This field is required'),\r\n areFirmSupervisingProfessionalsVerified: BooleanType().isRequired('This field is required'),\r\n areFirmRequiredSupervisingProfessionalQuizzesSubmitted: BooleanType().isRequired('This field is required'),\r\n areFirmDisciplinaryActionsChecked: BooleanType().isRequired('This field is required'),\r\n boardApproval: BooleanType().isRequired('This field is required')\r\n })\r\n\r\n const [formModel, setFormModel] = useState({\r\n applicationId: appId,\r\n boardApproval: null,\r\n dateCrte: null,\r\n deleted: false,\r\n entityId: entityId,\r\n isFirmVerifiedBySecretaryOfState: null,\r\n areFirmSupervisingProfessionalsVerified: null,\r\n areFirmRequiredSupervisingProfessionalQuizzesSubmitted: null,\r\n areFirmDisciplinaryActionsChecked: null,\r\n additionalComments: \"\",\r\n id: 0,\r\n userCrte: \"\"\r\n })\r\n const [boardApprovalSectionId, setBoardApprovalSectionId] = useState();\r\n const [modalData, setModalData] = useState({\r\n comments: \"\",\r\n dateCrte: new Date(),\r\n dateReceived: new Date(),\r\n dateSent: new Date(),\r\n deleted: false,\r\n id: 0,\r\n userCrte: \"\",\r\n boardMemberDecision: null,\r\n boardMember: {\r\n appointmentYear: 0,\r\n credentialSuffix: \"\",\r\n expirationYear: 0,\r\n firstName: \"\",\r\n id: 0,\r\n lastName: \"\",\r\n middleName: \"\",\r\n representation: \"\",\r\n suffix: \"\"\r\n },\r\n entityId: entityId,\r\n applicationId: appId,\r\n boardStaffApprovalId: 0,\r\n files: [],\r\n filesForDisplay: [],\r\n filesLoading: false\r\n })\r\n\r\n useEffect(() => {\r\n applicationService.vfGetSection(appId, sectionId).then((response) => {\r\n boardApprovalService.getBoardRecommendations(appId).then((data) => {\r\n setFormModel(data.data);\r\n setModalData({ ...modalData, boardStaffApprovalId: data.data.id })\r\n updateGrid()\r\n setIsComplete(response.data.staffReviewComplete);\r\n setBoardApprovalSectionId(response.data.id);\r\n applicationService.getFirmApplication(appId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n });\r\n }).then(() => {\r\n setHasLoaded(true);\r\n })\r\n })\r\n })\r\n }, [])\r\n\r\n const updateGrid = () => {\r\n boardApprovalService.getBoardResponses(appId).then((vals) => {\r\n if (vals.data?.length)\r\n setGridData(\r\n vals.data.map((value, i) => { return { ...value.boardMemberResponse, files: [...value.attachments] } }))\r\n })\r\n }\r\n const submitData = (val) => {\r\n if (val) {\r\n boardApprovalService.postBoardRecommendation(formModel).then((val) => {\r\n if (val.data) {\r\n applicationService.vfMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n Swal.fire(\"Saved\", \"Board/Staff approvals have been saved!\", \"success\");\r\n })\r\n }\r\n })\r\n }\r\n }\r\n\r\n const openAddEditModal = (values) => {\r\n if (values.id) {\r\n setModalData({ ...values, dateReceived: values.dateReceived != null ? dayjs(values.dateReceived).format('YYYY-MM-DD') : null, dateSent: values.dateSent != null ? dayjs(values.dateSent).format('YYYY-MM-DD') : null })\r\n }\r\n else {\r\n setModalData({\r\n comments: \"\",\r\n dateCrte: new Date(),\r\n dateReceived: null,\r\n dateSent: null,\r\n deleted: false,\r\n id: 0,\r\n userCrte: \"\",\r\n boardMemberDecision: null,\r\n boardMember: null,\r\n entityId: entityId,\r\n applicationId: appId,\r\n boardStaffApprovalId: formModel.id,\r\n files: [],\r\n filesForDisplay: []\r\n\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n\r\n return (\r\n
\r\n \r\n setModalShow(false)} />\r\n
setFormModel(formModel)} onSubmit={submitData}>\r\n \r\n {hasLoaded ? <>\r\n \r\n \r\n \r\n \r\n  \r\n \r\n   \r\n \r\n {isUserEditable &&\r\n \r\n }\r\n \r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default BoardApprovalPage","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, ListGroup, Button } from 'react-bootstrap';\r\nimport Section from '../../../Shared/Sections/Section';\r\nimport reinstatementService, { getSections } from \"../../../../services/Internal/Reinstatement/VF/vfReinstatement.service\";\r\nimport entityService from '../../../../services/Internal/Staff/entity.service';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Information from '../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../Shared/InformationContent/VFInformation';\r\nimport Swal from 'sweetalert2';\r\nimport InternalTaskInfo from '../../Shared/InternalTaskInfo';\r\nimport FormEntityInformation from '../../Shared/FormEntityInformation';\r\nimport recentQueueService from '../../../../services/Internal/Recent/recentQueue.service'\r\nimport issuesService from '../../../../services/Shared/issues.service';\r\n\r\nfunction Index() {\r\n const marginRight = {\r\n marginRight: '1rem'\r\n }\r\n const [showSectionButton, setShowSectionButton] = useState(true);\r\n const [justLicensed, setJustLicensed] = useState(false);\r\n const [sections, setSections] = useState(null);\r\n const dispatch = useDispatch();\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Surveying Firm Reinstatement\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"\"\r\n }\r\n );\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const selector = useSelector(x => x);\r\n useEffect(() => {\r\n var routes = JSON.parse(localStorage.getItem('PERSIST_CURRENT_ROUTE')) ?? selector.currentRoutes;\r\n var currentAppId = localStorage.getItem('PERSIST_CURRENT_APP_ID') ?? selector.currentApplicationId;\r\n var currentEntityID = localStorage.getItem('PERSIST_CURRENT_APP_ENTITY_ID') ?? selector.currentApplicationEntityId;\r\n var currentAppTypeId = localStorage.getItem('PERSIST_CURRENT_APP_TYPE_ID') ?? selector.currentApplicationTypeId;\r\n if (localStorage.getItem('PERSIST_CURRENT_APP_ID')) {\r\n localStorage.removeItem('PERSIST_CURRENT_ROUTE');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ENTITY_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_TYPE_ID');\r\n\r\n dispatch({ type: \"PERSIST_CURRENT_ROUTE\", payload: routes });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: currentAppId });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ENTITY_ID\", payload: currentEntityID });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_TYPE_ID\", payload: currentAppTypeId });\r\n }\r\n //Add to recent Queue\r\n recentQueueService.updateRecentQueue({\r\n entityId: currentEntityID,\r\n parentId: currentAppId,\r\n parentTypeId: 1,\r\n appTypeId: 8,\r\n routes: JSON.stringify(routes)\r\n }).then((data) => {\r\n var token = parseInt(localStorage.getItem('updateRecentQueue')) ? parseInt(localStorage.getItem('updateRecentQueue')) : 0;\r\n localStorage.setItem('updateRecentQueue', token + 1)\r\n dispatch({ type: \"PERSIST_CURRENT_RECENT_QUEUE\", payload: parseInt(localStorage.getItem('updateRecentQueue')) });\r\n })\r\n reinstatementService.getFirmReinstatement(currentAppId).then((sectionResponse) => {\r\n entityService.getEntity(currentEntityID).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: sectionResponse.data?.credential?.formattedLicenseNumber,\r\n applicationDate: sectionResponse.data?.dateSubmitted\r\n })\r\n });\r\n setHasLoaded(true);\r\n if (sectionResponse.data.sections.findIndex((element) => element.staffReviewComplete === false) !== -1 || sectionResponse.data.status.id !== 2) {// status id 2 = pending\r\n setShowSectionButton(false);\r\n }\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(3, currentAppId).then((data) => {\r\n setSections(routes != null ? routes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route\r\n var index = sectionResponse.data.sections.findIndex(x => x.sectionType?.id == section.id);\r\n if (index !== -1) {\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (sectionResponse.data.sections[index].staffReviewComplete)\r\n section.status = \"COMPLETE\";\r\n else if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n })\r\n })\r\n })\r\n }, [])\r\n const sendStaffApproval = (isApproved) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: `Do you want to ${isApproved ? 'license' : 'decline'} this reinstatement? You won't be able to revert this!`,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continue!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n Swal.fire({\r\n title: `${isApproved ? 'Licensing' : 'Declining'} Reinstatement`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n reinstatementService.postStaffApproval(selector.currentApplicationId, isApproved).then((response) => {\r\n if (response.data) {\r\n setShowSectionButton(false);\r\n Swal.fire({\r\n title: `Saving PDF`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n reinstatementService.postReinstatementPdf(response.data.id, isApproved).then((data) => {\r\n if (data.data) {\r\n setJustLicensed(true);\r\n Swal.fire(\"Saved\", `The reinstatement was successfully ${isApproved ? 'approved' : 'declined'}!`, \"success\")\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n })\r\n }\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n \r\n

Sections to Complete

\r\n \r\n {sections}\r\n \r\n \r\n
\r\n {showSectionButton &&\r\n
\r\n \r\n \r\n
\r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Index;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst VFREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/FirmVfReinstatement\";\r\n\r\nconst getContactInformation = (reinstatementId) => {\r\n return axios.get(`${VFREINSTATEMENTURL}/contactinformation`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nexport default {\r\n getContactInformation\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport { Form, Schema } from 'rsuite';\r\nimport dayjs from 'dayjs';\r\nimport { GetFirmGeneralContactInformationInstructions } from '../../../../Shared/InformationContent/GeneralInformation'\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport contactService from '../../../../../services/Internal/Reinstatement/VF/contact.service';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/VF/vfReinstatement.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport MailingAddress from '../../../../Shared/Card/Contact/MailingAddress';\r\nimport FirmInformation from '../../../../Shared/Card/Contact/FirmInformation';\r\nimport PublicAddress from '../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction ContactInformationPage() {\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Surveying Firm Reinstatement\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Contact Information\"\r\n }\r\n );\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const [sectionData, setSectionData] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n\r\n useEffect(() => {\r\n contactService.getContactInformation(reinstatementId).then((response) => {\r\n var data = response.data;\r\n\r\n setFormModel({\r\n ...data,\r\n dateOfFormation: data.dateOfFormation != null ? dayjs(data.dateOfFormation).format('YYYY-MM-DD') : null,\r\n orgType: data.organizationType?.organizationType,\r\n primaryEmail: data.primaryEmailAddress?.contactEmailAddress,\r\n phoneNum: data.phone?.phoneNumber\r\n\r\n })\r\n reinstatementService.vfGetSection(reinstatementId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n reinstatementService.getFirmReinstatement(reinstatementId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n }, [])\r\n\r\n const [formModel, setFormModel] = useState({})\r\n\r\n const [tabPane, setTabPane] = useState(\"firmInformation\")\r\n\r\n const submitData = () => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n reinstatementService.vfMarkSectionComplete(reinstatementId, sectionId, isComplete).then((markSectionResponse) => {\r\n if (markSectionResponse.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n else\r\n Swal.fire(\"Failed to mark section complete\");\r\n });\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)}\r\n onSubmit={submitData} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n {hasLoaded &&\r\n\r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst VFREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/FirmVfReinstatement\";\r\n\r\nconst getViolation = (reinstatementId) => {\r\n return axios.get(`${VFREINSTATEMENTURL}/violation`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postViolation = (data) => {\r\n return axios.post(`${VFREINSTATEMENTURL}/violation`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getViolation,\r\n postViolation\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport { useSelector } from 'react-redux';\r\nimport ViolationService from '../../../../../services/Internal/Reinstatement/VF/violation.service';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/VF/vfReinstatement.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/VFInformation';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport { getReinstatementCodeViolationAnswers } from '../../../../../services/Shared/codeTable.service';\r\nimport GenericViolations from '../../../../Shared/Card/Violations';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 3;\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Surveying Firm Reinstatement\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Violations\"\r\n }\r\n );\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n yesAnswerExplanation: StringType().isRequired('This field is required.'),\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n reinstatementService.vfGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n setIsComplete(response.data.staffReviewComplete);\r\n reinstatementService.getFirmReinstatement(store.currentApplicationId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n });\r\n });\r\n ViolationService.getViolation(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, files: formData.files, filesForDisplay: formData.filesForDisplay });\r\n }\r\n else {\r\n getReinstatementCodeViolationAnswers(2).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n yesAnswerExplanation: \"\",\r\n files: [],\r\n filesForDisplay: []\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true) >= 0;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n setShowFormErrors(true)\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, reinstatementId: store.currentApplicationId, entityId: store.currentApplicationEntityId };\r\n ViolationService.postViolation(dataTransfer).then((response) => {\r\n reinstatementService.vfPostSection(store.currentApplicationId, sectionId, formData.signature).then((response) => {\r\n reinstatementService.vfMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((data) => {\r\n if (response.data && data.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n })\r\n })\r\n });\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/VFInformation';\r\nimport vfReinstatementService from '../../../../../services/Internal/Reinstatement/VF/vfReinstatement.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport SupervisingProfessional from '../../../../Shared/Card/SupervisingProfessional';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction SupervisingProfessionalPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 13;\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Surveying Firm Reinstatement\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Supervising Professional\"\r\n }\r\n );\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasFirmSubmittedSupervisingProfessional: BooleanType().isRequired('This field is required.'),\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n vfReinstatementService.vfGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n vfReinstatementService.getFirmReinstatement(store.currentApplicationId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const { push } = useHistory();\r\n const showAdditionalFields = sectionData.hasFirmSubmittedSupervisingProfessional;\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (val) {\r\n vfReinstatementService.vfPostSection(store.currentApplicationId, sectionId, sectionData.electronicSignature).then((response) => {\r\n if (response.data) {\r\n vfReinstatementService.vfPostSectionHasFirmSubmittedSupervisingProfessional(store.currentApplicationId, sectionId, sectionData.hasFirmSubmittedSupervisingProfessional).then((data) => {\r\n if (data.data) {\r\n vfReinstatementService.vfMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((markSectionResponse) => {\r\n if (markSectionResponse.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n else\r\n Swal.fire(\"Failed to mark section complete\");\r\n });\r\n }\r\n else\r\n Swal.fire(\"Failed to post supervising professional section\");\r\n })\r\n }\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default SupervisingProfessionalPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst VFREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/FirmVfReinstatement\";\r\n\r\nconst getUnlicensedActivity = (reinstatementId) => {\r\n return axios.get(`${VFREINSTATEMENTURL}/unlicensedActivity`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postUnlicensedActivity = (data) => {\r\n return axios.post(`${VFREINSTATEMENTURL}/unlicensedActivity`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getUnlicensedActivity,\r\n postUnlicensedActivity\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/VFInformation';\r\nimport unlicensedActivityService from '../../../../../services/Internal/Reinstatement/VF/unlicensedActivity.service';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/VF/vfReinstatement.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport UnlicensedActivity from '../../../../Shared/Card/FirmUnlicensedActivity';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\n\r\nfunction UnlicensedActivityPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Surveying Firm Reinstatement\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Unlicensed Activity\"\r\n }\r\n );\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 14;\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasUnlicensedActivity: BooleanType().isRequired('This field is required.'),\r\n explanation: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n reinstatementService.vfGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n unlicensedActivityService.getUnlicensedActivity(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, files: formData.files, filesForDisplay: formData.filesForDisplay });\r\n }\r\n setIsComplete(response.data.staffReviewComplete);\r\n setSectionData(response.data);\r\n reinstatementService.getFirmReinstatement(store.currentApplicationId).then((reinstatementData) => {\r\n setIsUserEditable(reinstatementData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: reinstatementData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: reinstatementData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n hasUnlicensedActivity: undefined,\r\n explanation: \"\",\r\n files: [],\r\n filesForDisplay: []\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData.hasUnlicensedActivity;\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"explanation\") || (showAdditionalFields && key.includes(\"explanation\")))) {\r\n return;\r\n }\r\n\r\n }\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, reinstatementId: store.currentApplicationId, entityId: store.currentApplicationEntityId };\r\n unlicensedActivityService.postUnlicensedActivity(dataTransfer).then((response) => {\r\n if (response.data) {\r\n reinstatementService.vfMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((data) => {\r\n if (data.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n }\r\n else {\r\n Swal.fire(\"Failed to mark section as complete!\");\r\n }\r\n })\r\n }\r\n else {\r\n Swal.fire(\"Failed to save unlicensed activity\");\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default UnlicensedActivityPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/VFInformation';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/VF/vfReinstatement.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport WavierCertificate from '../../../../Shared/Card/WaiverCertificate';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction WaiverCertificatePage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Surveying Firm Reinstatement\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Certificate of Authority/Good Standing\"\r\n }\r\n );\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 12;\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n reinstatementService.vfGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n reinstatementService.getFirmReinstatement(store.currentApplicationId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const { push } = useHistory();\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (val) {\r\n reinstatementService.vfPostSection(store.currentApplicationId, sectionId, sectionData.electronicSignature).then((response) => {\r\n if (response.data) {\r\n reinstatementService.vfMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((markSectionResponse) => {\r\n if (markSectionResponse.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else\r\n Swal.fire(\"Failed to mark section as complete\");\r\n });\r\n }\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default WaiverCertificatePage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Card } from 'react-bootstrap';\r\nimport { Form, FormControl, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/VF/vfReinstatement.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction AcknowledgementPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false)\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Surveying Firm Reinstatement\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Acknowledgement\"\r\n }\r\n );\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const sectionId = 9; // Revisit\r\n const [formModel, setFormModel] = useState({})\r\n useEffect(() => {\r\n reinstatementService.vfGetSection(reinstatementId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n reinstatementService.getFirmReinstatement(reinstatementId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n reinstatementService.vfPostSection(reinstatementId, sectionId, formModel.electronicSignature).then((response) => {\r\n reinstatementService.vfMarkSectionComplete(reinstatementId, sectionId, isComplete).then((data) => {\r\n if (response.data.id && data.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n })\r\n }\r\n }\r\n\r\n\r\n return (\r\n
\r\n \r\n \r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n \r\n \r\n
Requirements/Information/Acknowledgement
\r\n \r\n

\r\n Fields marked with an asterisk * are required.\r\n

\r\n
\r\n

\r\n I certify that I have read the contents of this application and to the best of my knowledge, information and belief the\r\n statements and information in this application are true and correct in substance and effect and are made in good faith. I\r\n have not omitted any information requested in this application. I am aware that such an omission or untrue response\r\n may constitute fraud, deceit, material misstatement, perjury or the giving of false or forged evidence under Louisiana\r\n Revised Statutes 37:698 and 37:700.\r\n

\r\n
\r\n \r\n \r\n
Electronic Signature of Applicant:
\r\n (Type full name)\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/VFInformation';\r\nimport vfReinstatementService, { getSections } from '../../../../../services/Internal/Reinstatement/VF/vfReinstatement.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../Shared/Card/ReviewPdf';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport { Form } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction ReviewPage() {\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const { push } = useHistory();\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Surveying Firm Reinstatement\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Review\"\r\n }\r\n );\r\n const sectionId = 10;\r\n useEffect(() => {\r\n vfReinstatementService.vfGetSection(reinstatementId, sectionId).then((response) => {\r\n setIsComplete(response.data.staffReviewComplete);\r\n vfReinstatementService.getFirmReinstatement(reinstatementId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n\r\n const formSubmit = () => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n vfReinstatementService.vfMarkSectionComplete(reinstatementId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {hasLoaded ?\r\n <>\r\n {violationIssuesHtml}\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst VFREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/FirmVfReinstatement\";\r\n\r\n\r\n\r\nconst getBoardRecommendations = (reinstatementId) => {\r\n return axios.get(`${VFREINSTATEMENTURL}/boardrecommendations`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst getBoardResponses = (reinstatementId) => {\r\n return axios.get(`${VFREINSTATEMENTURL}/boardmemberresponses`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postBoardRecommendation = (data) => {\r\n return axios.post(`${VFREINSTATEMENTURL}/boardrecommendation`, data, { headers: authHeader() });\r\n}\r\nconst postBoardResponse = (data) => {\r\n var header = authHeader();\r\n header['Content-Type'] = 'multipart/form-data';\r\n return axios.post(`${VFREINSTATEMENTURL}/boardmemberresponse`, data, { headers: { ...header } });\r\n}\r\nexport default {\r\n getBoardRecommendations,\r\n getBoardResponses,\r\n postBoardRecommendation,\r\n postBoardResponse\r\n}","import React from 'react';\r\nimport { Card} from 'react-bootstrap'\r\nimport YesNoRadioOption from '../../../../Shared/RadioButton/YesNoRadioOption';\r\n\r\nfunction BoardStaffChecklist(props) {\r\n return (\r\n
\r\n \r\n
Board/Staff Checklist
\r\n \r\n

Has the firm been verified by the Secretary of State?

\r\n
\r\n \r\n

Have the Supervising Professional(s) been verified?

\r\n
\r\n \r\n

Have the required quizzes been submitted for each of the Supervising Professional(s)?

\r\n
\r\n \r\n

Have the disciplinary action(s) for firm(s) and Supervising Professional(s) been checked?

\r\n
\r\n \r\n

Do you have Board Approval?

\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default BoardStaffChecklist;","import React, { useState, useEffect } from 'react'\r\nimport { Button, Card, Row, Col } from 'react-bootstrap'\r\nimport { ControlLabel, FormControl, FormGroup, Icon, SelectPicker, Table, Uploader } from 'rsuite'\r\nimport Swal from 'sweetalert2';\r\nimport boardApprovalService from '../../../../../services/Internal/Reinstatement/VF/boardApproval.service';\r\nimport attachmentService from '../../../../../services/Shared/attachment.service';\r\nimport DocumentUpload from '../../../../Shared/Upload/DocumentUpload';\r\nimport BoardStaffChecklist from './BoardStaffChecklist';\r\n\r\nfunction BoardApproval(props) {\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n\r\n const handleChangePage = (dataKey) => {\r\n setPage(dataKey);\r\n }\r\n const handleChangeLength = (dataKey) => {\r\n setPage(1);\r\n setDisplayLength(dataKey);\r\n }\r\n\r\n const getData = () => {\r\n return props.gridData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const formDataAppender = (passedKey, model, formData) => {\r\n for (let key in model) {\r\n if (typeof (model[key]) === 'object') {\r\n formDataAppender(`${passedKey}.${key}`, model[key], formData); // Recursive key for objects\r\n }\r\n else {\r\n if (passedKey)\r\n formData.append(`${passedKey}.${key}`, model[key]);\r\n else\r\n formData.append(`${key}`, model[key]);\r\n }\r\n }\r\n }\r\n const filteredData = getData();\r\n const removeFile = (id, rowData) => {\r\n Swal.fire({\r\n title: 'Are you sure you want to delete this file?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n attachmentService.deleteFile(id).then((response) => {\r\n if (response.status == 200) {\r\n if (rowData) {\r\n var index = props.gridData.findIndex(x => x.id == rowData.id);\r\n var tempModel = props.gridData;\r\n tempModel[index].files = tempModel[index].files.filter(x => x.id !== id);\r\n props.setGridData([...tempModel]);\r\n }\r\n else {\r\n props.setFiles([...props.files.filter(x => x.id != id)])\r\n }\r\n }\r\n });\r\n }\r\n })\r\n }\r\n\r\n const openFile = (id) => {\r\n attachmentService.openFile(id);\r\n }\r\n return (\r\n <>\r\n\r\n \r\n
Board/Staff Attachments
\r\n \r\n \r\n
\r\n \r\n Additional Comments\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
Board/Staff Responses
\r\n \r\n {props.isUserEditable &&\r\n \r\n \r\n }\r\n
\r\n
\r\n \r\n \r\n \r\n Document\r\n \r\n {rowData => {\r\n return (<>\r\n {rowData.files.map((item, i) => {\r\n return (\r\n \r\n {props.isUserEditable &&\r\n \r\n }\r\n \r\n \r\n\r\n )\r\n })}\r\n \r\n )\r\n }}\r\n \r\n \r\n \r\n \r\n Date Sent\r\n \r\n {rowData => (rowData.dateSent ? new Date(rowData.dateSent).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Date Received\r\n \r\n {rowData => (rowData.dateReceived ? new Date(rowData.dateReceived).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Board Member\r\n \r\n {rowData => (`${rowData.boardMember.firstName} ${rowData.boardMember.middleName} ${rowData.boardMember.lastName}, ${rowData.boardMember.credentialSuffix}`)}\r\n \r\n \r\n \r\n Decision\r\n \r\n {rowData => (rowData.boardMemberDecision?.boardMemberDecision)}\r\n \r\n \r\n \r\n Comments\r\n \r\n \r\n \r\n {props.isUserEditable &&\r\n \r\n \r\n \r\n \r\n {rowData => {\r\n function handleAction() {\r\n var tempData = { ...rowData, files: [] }\r\n props.openModal(tempData);\r\n }\r\n function handleDelete() {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n var formData = new FormData();\r\n var dataToTransmit = {\r\n ...rowData,\r\n deleted: true,\r\n }\r\n formDataAppender('boardMemberResponse', dataToTransmit, formData);\r\n for (var i = 0; i < rowData.files.length; i++) {\r\n formData.append('files', rowData.files[i].blobFile);\r\n }\r\n boardApprovalService.postBoardResponse(formData).then((response) => {\r\n if (response.status == 200) {\r\n props.setGridData([...props.gridData.filter(x => x.id !== rowData.id)]);\r\n }\r\n })\r\n }\r\n })\r\n }\r\n return (\r\n \r\n   \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n }\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n );\r\n}\r\n\r\nexport default BoardApproval;","import { useState, useEffect } from 'react'\r\nimport { Button, Card, Col, Modal, Row } from 'react-bootstrap'\r\nimport React from 'react'\r\nimport { ControlLabel, Schema, Form, FormControl, FormGroup, InputPicker, Uploader } from 'rsuite'\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\nimport GenericAttachmentGrid from '../../../../Shared/Grid/GenericAttachmentGrid';\r\nimport { getBoardMembers } from '../../../../../services/Shared/codeTable.service';\r\nimport boardApprovalService from '../../../../../services/Internal/Reinstatement/VF/boardApproval.service';\r\nimport attachmentService from '../../../../../services/Shared/attachment.service';\r\nimport Swal from 'sweetalert2';\r\nimport BlockUi from 'react-block-ui';\r\nimport 'react-block-ui/style.css';\r\n\r\nfunction BoardApprovalModal(props) {\r\n\r\n const { ObjectType, DateType } = Schema.Types;\r\n const [blockUi, setBlockUi] = useState(false);\r\n const model = Schema.Model({\r\n dateSent: DateType().isRequired('This field is required.'),\r\n boardMember: ObjectType().isRequired('This field is required.'),\r\n })\r\n const decisionData = [\r\n { \"label\": \"Approved\", \"value\": { id: 1, boardMemberDecision: \"Approved\" } },\r\n { \"label\": \"Declined\", \"value\": { id: 2, boardMemberDecision: \"Declined\" } }];\r\n\r\n const [boardMemebers, setBoardMembers] = useState([])\r\n const [approvalModel, setApprovalModel] = useState()\r\n useEffect(() => {\r\n setApprovalModel(props.modalData);\r\n getBoardMembers().then(setBoardMembers);\r\n }, [props.modalData])\r\n\r\n const formSubmit = (validation, event) => {\r\n if (validation) {\r\n setBlockUi(true);\r\n var formData = new FormData()\r\n var dataToTransmit = {\r\n ...approvalModel,\r\n dateSent: new Date(approvalModel.dateSent).toISOString(),\r\n dateReceived: approvalModel.dateReceived ? new Date(approvalModel.dateReceived).toISOString() : null\r\n }\r\n formDataAppender('boardMemberResponse', dataToTransmit, formData);\r\n for (var i = 0; i < approvalModel.files.length; i++) {\r\n formData.append('files', approvalModel.files[i].blobFile);\r\n }\r\n boardApprovalService.postBoardResponse(formData).then((response) => {\r\n setBlockUi(false);\r\n if (response.data.boardMemberResponse.id) {\r\n props.updateGrid();\r\n props.onHide();\r\n }\r\n\r\n })\r\n }\r\n\r\n }\r\n const formDataAppender = (passedKey, model, formData) => {\r\n for (let key in model) {\r\n if (typeof (model[key]) === 'object') {\r\n formDataAppender(`${passedKey}.${key}`, model[key], formData); // Recursive key for objects\r\n }\r\n else {\r\n if (passedKey)\r\n formData.append(`${passedKey}.${key}`, model[key]);\r\n else\r\n formData.append(`${key}`, model[key]);\r\n }\r\n }\r\n }\r\n const handleChange = (val, e) => {\r\n if (!e) {\r\n var newFiles = approvalModel.files;\r\n newFiles.push(val);\r\n setApprovalModel({ ...approvalModel, files: [...newFiles] })\r\n }\r\n };\r\n const deleteFile = (id) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n setApprovalModel({ ...approvalModel, files: approvalModel.files.filter(x => x.fileKey != id) })\r\n }\r\n })\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Board/Staff Member Response\r\n \r\n \r\n \r\n
setApprovalModel(approvalModel)} onSubmit={formSubmit} fluid>\r\n \r\n \r\n \r\n \r\n Date Sent \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Board/Staff Member \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n Date Received\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Decision\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n File Upload \r\n \r\n \r\n \r\n \r\n \r\n
Click or Drag files to this area to upload
\r\n \r\n \r\n
\r\n \r\n \r\n {approvalModel?.files?.length > 0 &&\r\n
\r\n
\r\n {\r\n return {\r\n id: value.fileKey,\r\n timestamp: new Date().toLocaleDateString(),\r\n file: value.blobFile?.name\r\n }\r\n })}\r\n isSync={true}\r\n tStyle=\"table-bordered\"\r\n name=\"filesForDisplay\" />\r\n
\r\n }\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Comments\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nexport default BoardApprovalModal;","import React, { useState, useEffect } from 'react'\r\nimport { Button, Col, Container, Row } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport BoardApproval from './BoardApproval';\r\nimport BoardApprovalModal from './BoardApprovalModal';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/VF/vfReinstatement.service';\r\nimport { useSelector } from 'react-redux';\r\nimport boardApprovalService from '../../../../../services/Internal/Reinstatement/VF/boardApproval.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Swal from 'sweetalert2';\r\nimport dayjs from \"dayjs\";\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction BoardApprovalPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const entityId = useSelector(x => x.currentApplicationEntityId)\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 11;\r\n const [modalShow, setModalShow] = useState(false);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [gridData, setGridData] = useState([]);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Surveying Firm Reinstatement\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Board/Staff Recommendations\"\r\n }\r\n );\r\n const { BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n isFirmVerifiedBySecretaryOfState: BooleanType().isRequired('This field is required'),\r\n areFirmSupervisingProfessionalsVerified: BooleanType().isRequired('This field is required'),\r\n areFirmRequiredSupervisingProfessionalQuizzesSubmitted: BooleanType().isRequired('This field is required'),\r\n areFirmDisciplinaryActionsChecked: BooleanType().isRequired('This field is required'),\r\n boardApproval: BooleanType().isRequired('This field is required')\r\n })\r\n\r\n const [formModel, setFormModel] = useState({\r\n reinstatementId: reinstatementId,\r\n boardApproval: null,\r\n dateCrte: null,\r\n deleted: false,\r\n entityId: entityId,\r\n isFirmVerifiedBySecretaryOfState: null,\r\n areFirmSupervisingProfessionalsVerified: null,\r\n areFirmRequiredSupervisingProfessionalQuizzesSubmitted: null,\r\n areFirmDisciplinaryActionsChecked: null,\r\n additionalComments: \"\",\r\n id: 0,\r\n userCrte: \"\"\r\n })\r\n const [boardApprovalSectionId, setBoardApprovalSectionId] = useState();\r\n const [modalData, setModalData] = useState({\r\n comments: \"\",\r\n dateCrte: new Date(),\r\n dateReceived: new Date(),\r\n dateSent: new Date(),\r\n deleted: false,\r\n id: 0,\r\n userCrte: \"\",\r\n boardMemberDecision: null,\r\n boardMember: {\r\n appointmentYear: 0,\r\n credentialSuffix: \"\",\r\n expirationYear: 0,\r\n firstName: \"\",\r\n id: 0,\r\n lastName: \"\",\r\n middleName: \"\",\r\n representation: \"\",\r\n suffix: \"\"\r\n },\r\n entityId: entityId,\r\n reinstatementId: reinstatementId,\r\n boardStaffApprovalId: 0,\r\n files: [],\r\n filesForDisplay: [],\r\n filesLoading: false\r\n })\r\n\r\n useEffect(() => {\r\n reinstatementService.vfGetSection(reinstatementId, sectionId).then((response) => {\r\n boardApprovalService.getBoardRecommendations(reinstatementId).then((data) => {\r\n setFormModel(data.data);\r\n setModalData({ ...modalData, boardStaffApprovalId: data.data.id })\r\n updateGrid()\r\n setIsComplete(response.data.staffReviewComplete);\r\n setBoardApprovalSectionId(response.data.id);\r\n reinstatementService.getFirmReinstatement(reinstatementId).then((reinstatementData) => {\r\n setIsUserEditable(reinstatementData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: reinstatementData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: reinstatementData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n }, [])\r\n\r\n const updateGrid = () => {\r\n boardApprovalService.getBoardResponses(reinstatementId).then((vals) => {\r\n if (vals.data?.length)\r\n setGridData(\r\n vals.data.map((value, i) => { return { ...value.boardMemberResponse, files: [...value.attachments] } }))\r\n })\r\n }\r\n const submitData = (val) => {\r\n if (val) {\r\n boardApprovalService.postBoardRecommendation(formModel).then((val) => {\r\n if (val.data) {\r\n reinstatementService.vfMarkSectionComplete(reinstatementId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n Swal.fire(\"Saved\", \"Board/Staff approvals have been saved!\", \"success\");\r\n })\r\n }\r\n })\r\n }\r\n }\r\n\r\n const openAddEditModal = (values) => {\r\n if (values.id) {\r\n setModalData({ ...values, dateReceived: values.dateReceived != null ? dayjs(values.dateReceived).format('YYYY-MM-DD') : null, dateSent: values.dateSent != null ? dayjs(values.dateSent).format('YYYY-MM-DD') : null })\r\n }\r\n else {\r\n setModalData({\r\n comments: \"\",\r\n dateCrte: new Date(),\r\n dateReceived: null,\r\n dateSent: null,\r\n deleted: false,\r\n id: 0,\r\n userCrte: \"\",\r\n boardMemberDecision: null,\r\n boardMember: null,\r\n entityId: entityId,\r\n reinstatementId: reinstatementId,\r\n boardStaffApprovalId: formModel.id,\r\n files: [],\r\n filesForDisplay: []\r\n\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n\r\n return (\r\n
\r\n \r\n setModalShow(false)} />\r\n
setFormModel(formModel)} onSubmit={submitData}>\r\n \r\n {hasLoaded ? <>\r\n \r\n \r\n \r\n \r\n  \r\n \r\n   \r\n \r\n {isUserEditable &&\r\n \r\n }\r\n \r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default BoardApprovalPage","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, ListGroup, Button } from 'react-bootstrap';\r\nimport Section from '../../../Shared/Sections/Section';\r\nimport renewalService, { getSections } from \"../../../../services/Internal/Renewal/VF/vfRenewal.service\";\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Information from '../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../Shared/InformationContent/VFInformation';\r\nimport entityService from '../../../../services/Internal/Staff/entity.service';\r\nimport Swal from 'sweetalert2';\r\nimport InternalTaskInfo from '../../Shared/InternalTaskInfo';\r\nimport FormEntityInformation from '../../Shared/FormEntityInformation';\r\nimport recentQueueService from '../../../../services/Internal/Recent/recentQueue.service'\r\nimport issuesService from '../../../../services/Shared/issues.service';\r\n\r\nfunction Index() {\r\n const marginRight = {\r\n marginRight: '1rem'\r\n }\r\n const [showSectionButton, setShowSectionButton] = useState(true);\r\n const [justLicensed, setJustLicensed] = useState(false);\r\n const [sections, setSections] = useState(null);\r\n const dispatch = useDispatch();\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Surveying Firm Renewal\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"\"\r\n }\r\n );\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const selector = useSelector(x => x);\r\n useEffect(() => {\r\n var routes = JSON.parse(localStorage.getItem('PERSIST_CURRENT_ROUTE')) ?? selector.currentRoutes;\r\n var currentAppId = localStorage.getItem('PERSIST_CURRENT_APP_ID') ?? selector.currentApplicationId;\r\n var currentEntityID = localStorage.getItem('PERSIST_CURRENT_APP_ENTITY_ID') ?? selector.currentApplicationEntityId;\r\n var currentAppTypeId = localStorage.getItem('PERSIST_CURRENT_APP_TYPE_ID') ?? selector.currentApplicationTypeId;\r\n if (localStorage.getItem('PERSIST_CURRENT_APP_ID')) {\r\n localStorage.removeItem('PERSIST_CURRENT_ROUTE');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ENTITY_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_TYPE_ID');\r\n\r\n dispatch({ type: \"PERSIST_CURRENT_ROUTE\", payload: routes });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: currentAppId });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ENTITY_ID\", payload: currentEntityID });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_TYPE_ID\", payload: currentAppTypeId });\r\n }\r\n //Add to recent Queue\r\n recentQueueService.updateRecentQueue({\r\n entityId: currentEntityID,\r\n parentId: currentAppId,\r\n parentTypeId: 3,\r\n appTypeId: 8,\r\n routes: JSON.stringify(routes)\r\n }).then((data) => {\r\n var token = parseInt(localStorage.getItem('updateRecentQueue')) ? parseInt(localStorage.getItem('updateRecentQueue')) : 0;\r\n localStorage.setItem('updateRecentQueue', token + 1)\r\n dispatch({ type: \"PERSIST_CURRENT_RECENT_QUEUE\", payload: parseInt(localStorage.getItem('updateRecentQueue')) });\r\n })\r\n\r\n renewalService.getFirmRenewal(currentAppId).then((sectionResponse) => {\r\n entityService.getEntity(currentEntityID).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: sectionResponse.data?.credential?.formattedLicenseNumber,\r\n applicationDate: sectionResponse.data?.dateSubmitted\r\n })\r\n });\r\n setHasLoaded(true);\r\n if (sectionResponse.data.sections.findIndex((element) => element.staffReviewComplete === false) !== -1 || sectionResponse.data.status.id !== 2) {// status id 2 = pending\r\n setShowSectionButton(false);\r\n }\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(2, currentAppId).then((data) => {\r\n setSections(routes != null ? routes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route\r\n var index = sectionResponse.data.sections.findIndex(x => x.sectionType?.id == section.id);\r\n if (index !== -1) {\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (sectionResponse.data.sections[index].staffReviewComplete)\r\n section.status = \"COMPLETE\";\r\n else if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n })\r\n })\r\n })\r\n }, [])\r\n const sendStaffApproval = (isApproved) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: `Do you want to ${isApproved ? 'license' : 'decline'} this renewal? You won't be able to revert this!`,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continue!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n Swal.fire({\r\n title: `${isApproved ? 'Licensing' : 'Declining'} Renewal`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n renewalService.postStaffApproval(selector.currentApplicationId, isApproved).then((response) => {\r\n if (response.data) {\r\n setShowSectionButton(false);\r\n Swal.fire({\r\n title: `Saving PDF`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n renewalService.postRenewalPdf(response.data.id, isApproved).then((data) => {\r\n if (data.data) {\r\n setJustLicensed(true);\r\n Swal.fire(\"Saved\", `The renewal was successfully ${isApproved ? 'approved' : 'declined'}!`, \"success\")\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n \r\n

Sections to Complete

\r\n \r\n {sections}\r\n \r\n \r\n
\r\n {showSectionButton &&\r\n
\r\n \r\n \r\n
\r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Index;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst VFRENEWALURL = process.env.REACT_APP_APIURL + \"/api/FirmVfRenewal\";\r\n\r\nconst getContactInformation = (renewalId) => {\r\n return axios.get(`${VFRENEWALURL}/contactinformation`, { headers: authHeader(), params: { renewalId } });\r\n}\r\n\r\nexport default {\r\n getContactInformation\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport { Form } from 'rsuite';\r\nimport dayjs from 'dayjs';\r\nimport { GetFirmGeneralContactInformationInstructions } from '../../../../Shared/InformationContent/GeneralInformation'\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport contactService from '../../../../../services/Internal/Renewal/VF/contact.service';\r\nimport renewalService from '../../../../../services/Internal/Renewal/VF/vfRenewal.service';\r\nimport MailingAddress from '../../../../Shared/Card/Contact/MailingAddress';\r\nimport FirmInformation from '../../../../Shared/Card/Contact/FirmInformation';\r\nimport PublicAddress from '../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport Swal from 'sweetalert2';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction ContactInformationPage() {\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Surveying Firm Renewal\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Contact Information\"\r\n }\r\n );\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const [sectionData, setSectionData] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n\r\n useEffect(() => {\r\n contactService.getContactInformation(renewalId).then((response) => {\r\n var data = response.data;\r\n setFormModel({\r\n ...data,\r\n dateOfFormation: data.dateOfFormation != null ? dayjs(data.dateOfFormation).format('YYYY-MM-DD') : null,\r\n orgType: data.organizationType?.code,\r\n primaryEmail: data.primaryEmailAddress?.emailAddress,\r\n phoneNum: data.phone?.phoneNumber\r\n\r\n })\r\n renewalService.vfGetSection(renewalId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n renewalService.getFirmRenewal(renewalId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n }, [])\r\n\r\n const [formModel, setFormModel] = useState({})\r\n\r\n const [tabPane, setTabPane] = useState(\"firmInformation\")\r\n\r\n const submitData = () => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n renewalService.vfMarkSectionComplete(renewalId, sectionId, isComplete).then((markSectionResponse) => {\r\n if (markSectionResponse.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n else\r\n Swal.fire(\"Failed to mark section complete\");\r\n });\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)}\r\n onSubmit={submitData} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n {hasLoaded &&\r\n\r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst VFRENEWALURL = process.env.REACT_APP_APIURL + \"/api/FirmVfRenewal\";\r\n\r\nconst getViolation = (renewalId) => {\r\n return axios.get(`${VFRENEWALURL}/violation`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nconst postViolation = (data) => {\r\n return axios.post(`${VFRENEWALURL}/violation`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getViolation,\r\n postViolation\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport { useSelector } from 'react-redux';\r\nimport ViolationService from '../../../../../services/Internal/Renewal/VF/violation.service';\r\nimport renewalService from '../../../../../services/Internal/Renewal/VF/vfRenewal.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/VFInformation';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport { getRenewalCodeViolationAnswers } from '../../../../../services/Shared/codeTable.service';\r\nimport GenericViolations from '../../../../Shared/Card/Violations';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 4;\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Surveying Firm Renewal\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Violations\"\r\n }\r\n );\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n yesAnswerExplanation: StringType().isRequired('This field is required.'),\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n renewalService.vfGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n setIsComplete(response.data.staffReviewComplete);\r\n renewalService.getFirmRenewal(store.currentApplicationId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n });\r\n ViolationService.getViolation(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, issues: formData.issues, files: formData.files, filesForDisplay: formData.filesForDisplay });\r\n }\r\n else {\r\n getRenewalCodeViolationAnswers(2).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n });\r\n })\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n yesAnswerExplanation: \"\",\r\n files: [],\r\n filesForDisplay: [],\r\n issues: [\r\n ]\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true) >= 0;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n setShowFormErrors(true)\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, renewalId: store.currentApplicationId, entityId: store.currentApplicationEntityId };\r\n ViolationService.postViolation(dataTransfer).then((response) => {\r\n renewalService.vfPostSection(store.currentApplicationId, sectionId, formData.signature).then((response) => {\r\n renewalService.vfMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((data) => {\r\n if (response.data && data.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n })\r\n })\r\n });\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/VFInformation';\r\nimport renewalService from '../../../../../services/Internal/Renewal/VF/vfRenewal.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport SupervisingProfessional from '../../../../Shared/Card/SupervisingProfessional';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction SupervisingProfessionalPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 5;\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Surveying Firm Renewal\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Supervising Professional\"\r\n }\r\n );\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasFirmSubmittedSupervisingProfessional: BooleanType().isRequired('This field is required.'),\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n renewalService.vfGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n renewalService.getFirmRenewal(store.currentApplicationId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const { push } = useHistory();\r\n const showAdditionalFields = sectionData.hasFirmSubmittedSupervisingProfessional;\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (val) {\r\n renewalService.vfPostSection(store.currentApplicationId, sectionId, sectionData.electronicSignature).then((response) => {\r\n if (response.data) {\r\n renewalService.vfPostSectionHasFirmSubmittedSupervisingProfessional(store.currentApplicationId, sectionId, sectionData.hasFirmSubmittedSupervisingProfessional).then((data) => {\r\n if (data.data) {\r\n renewalService.vfMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((markSectionResponse) => {\r\n if (markSectionResponse.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n else\r\n Swal.fire(\"Failed to mark section complete\");\r\n });\r\n }\r\n else\r\n Swal.fire(\"Failed to post supervising professional section\");\r\n })\r\n }\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default SupervisingProfessionalPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport renewalService from '../../../../../services/Internal/Renewal/VF/vfRenewal.service';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport Acknowledgement from '../../../../Shared/Card/FirmAcknowledgement';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/VFInformation';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction AcknowledgementPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Surveying Firm Renewal\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Acknowledgement\"\r\n }\r\n );\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const sectionId = 7; // Revisit\r\n const [formModel, setFormModel] = useState({})\r\n useEffect(() => {\r\n renewalService.vfGetSection(renewalId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n renewalService.getFirmRenewal(renewalId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n const submitData = (isForSubmit) => {\r\n renewalService.vfPostSection(renewalId, sectionId, formModel.electronicSignature).then((response) => {\r\n renewalService.vfMarkSectionComplete(renewalId, sectionId, isComplete).then((data) => {\r\n if (isForSubmit && response.data.id && data.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data.id && data.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/VFInformation';\r\nimport renewalService from '../../../../../services/Internal/Renewal/VF/vfRenewal.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport WavierCertificate from '../../../../Shared/Card/WaiverCertificate';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction WaiverCertificatePage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Surveying Firm Renewal\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Certificate of Authority\"\r\n }\r\n );\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 9;\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n renewalService.vfGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n renewalService.getFirmRenewal(store.currentApplicationId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const { push } = useHistory();\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (val) {\r\n renewalService.vfPostSection(store.currentApplicationId, sectionId, sectionData.electronicSignature).then((response) => {\r\n if (response.data) {\r\n renewalService.vfMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((markSectionResponse) => {\r\n if (markSectionResponse.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else\r\n Swal.fire(\"Failed to mark section as complete\");\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default WaiverCertificatePage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/VFInformation';\r\nimport vfRenewalService from '../../../../../services/Internal/Renewal/VF/vfRenewal.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../Shared/Card/ReviewPdf';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport { Form } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction ReviewPage() {\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const { push } = useHistory();\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Surveying Firm Renewal\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Review\"\r\n }\r\n );\r\n const sectionId = 8;\r\n useEffect(() => {\r\n vfRenewalService.vfGetSection(appId, sectionId).then((response) => {\r\n setIsComplete(response.data.staffReviewComplete);\r\n vfRenewalService.getFirmRenewal(appId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n\r\n const formSubmit = () => {\r\n if (!isUserEditable) {\r\n push(\"/internal/vfRenewal/sections\");\r\n }\r\n else {\r\n vfRenewalService.vfMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n push(\"/internal/vfRenewal/sections\");\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {hasLoaded ?\r\n <>\r\n {violationIssuesHtml}\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import axios from \"axios\";\r\nimport authHeader from \"../../../authheader\";\r\n\r\nconst FIRMAPP = process.env.REACT_APP_APIURL + \"/api/FirmApplication\";\r\n\r\nconst getFirmApplication = async (applicationId) => {\r\n return axios.get(`${FIRMAPP}/application`, { headers: authHeader(), params: { applicationId } });;\r\n};\r\n\r\nconst efGetSection = (applicationId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/FirmEfApplication/section`, { headers: authHeader(), params: { applicationId, sectionId } });\r\n}\r\n\r\nconst efPostSection = (applicationId, sectionId, electronicSignature) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmEfApplication/signsection`, null, { headers: authHeader(), params: { applicationId, sectionId, electronicSignature } });\r\n}\r\n\r\nconst efPostSectionHasWordOffering = (applicationId, sectionId, hasWordOfferingProfessionalServices) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmEfApplication/setsectionhaswordofferingprofessionalservices`, null, { headers: authHeader(), params: { applicationId, sectionId, hasWordOfferingProfessionalServices } });\r\n}\r\nconst efPostSectionHasFirmSubmittedSupervisingProfessional = (applicationId, sectionId, hasFirmSubmittedSupervisingProfessional) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmEfApplication/setsectionhasfirmsubmittedsupervisingprofessional`, null, { headers: authHeader(), params: { applicationId, sectionId, hasFirmSubmittedSupervisingProfessional } });\r\n}\r\nconst efMarkSectionComplete = (applicationId, sectionId, complete) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmEfApplication/marksectioncomplete`, null, { headers: authHeader(), params: { applicationId, sectionId, complete } })\r\n}\r\n\r\nconst postStaffApproval = (applicationId, isApproved) => {\r\n return axios.post(`${FIRMAPP}/staffApproval`, null, { headers: authHeader(), params: { applicationId, isApproved } });\r\n}\r\nconst postApplicationPdf = (applicationId, isApproved) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/Reports/AutoAttachApplicationPdf`, null, { headers: authHeader(), params: { applicationId, isApproved } });\r\n}\r\n\r\n\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Verify personal and contact information is correct and accurate.\",\r\n },\r\n {\r\n id: 13,\r\n sectionTitle: \"Waiver Request/Certificate of Good Standing Forms\",\r\n sectionContent: \"Verify information requested and upload any supporting documents.\",\r\n },\r\n {\r\n id: 14,\r\n sectionTitle: \"Firm Supervising Professionals\",\r\n sectionContent: \"Certify any supervising professionals working on behalf of a firm.\",\r\n },\r\n {\r\n id: 4,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 15,\r\n sectionTitle: \"Unlicensed Activity\",\r\n sectionContent: \"Question if the firm has ever practiced or offered to practice engineering or land surveying in Louisiana.\",\r\n },\r\n {\r\n id: 8,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Verify you have read the Rules for Professional Engineers and Land Surveyors (LAC Title 46, Part LXI), and agree.\",\r\n },\r\n {\r\n id: 9,\r\n sectionTitle: \"Review\",\r\n sectionContent: 'Review your answers. If you need to change an answer, click the \"Section\" above to go back to the appropriate section',\r\n },\r\n {\r\n id: 10,\r\n sectionTitle: \"Board/Staff Recommendations\",\r\n sectionContent: 'Waiting on text',\r\n }\r\n])\r\n\r\nexport default {\r\n getFirmApplication,\r\n efGetSection,\r\n efPostSection,\r\n efPostSectionHasWordOffering,\r\n efPostSectionHasFirmSubmittedSupervisingProfessional,\r\n efMarkSectionComplete,\r\n postStaffApproval,\r\n postApplicationPdf\r\n}","import { loremParagraphs } from \"../../../fakeapi\";\r\nimport React, { useState, useEffect } from \"react\";\r\n\r\nexport const GetAppInformationContent = (page) => {\r\n const [fakeData, setFakeData] = useState(\"\");\r\n const [type, setType] = useState(\"application\");\r\n useEffect(() => {\r\n loremParagraphs().then(setFakeData);\r\n }, [])\r\n\r\n switch (page) {\r\n case \"contact\":\r\n return (\r\n
\r\n
\r\n
    \r\n By clicking the Update Contact Information button, you will be taken to the Contact Module to make your changes. After you save your changes, please navigate back to your application, renewal, or reinstatement to continue.\r\n
\r\n
\r\n
\r\n\r\n );\r\n break;\r\n case \"review\":\r\n return (\r\n <>\r\n
    \r\n
  • Click Validate to see if there are any issues within the {type} that you provided.
  • \r\n
  • If there are issues, please correct the issue in the respective section(s) by clicking the “Back to Sections” button below.
  • \r\n
  • Then return to the Review section to validate again.
  • \r\n
  • You will not be allowed to submit until all issues are corrected.
  • \r\n
\r\n

\r\n Once the {type} is validated successfully, additional buttons will appear:\r\n

    \r\n
  • Select “Download PDF” to download a copy of your {type} for your records
  • \r\n
  • Select “Submit Application” to add your {type} to the cart and see payment options.
  • \r\n
\r\n

\r\n\r\n

You will not have direct access to this review page after completing the {type} and submitting payment. To request a copy, please contact LAPELS staff.

\r\n \r\n )\r\n break;\r\n case \"violations\":\r\n return (\r\n

\r\n In the case of answering “Yes” to the question below about unauthorized or unlicensed practice (Question #1), explain in detail the facts surrounding such practicing or offering to practice engineering in Louisiana and submit a list of all projects/jobs on which the firm offered to provide or provided engineering services in Louisiana during such period.\r\n Such list should include, for each such project/job, offer date, start date, completion date, client name, project/job name, project/job location and project/job descriptions, and names of firm representatives involved. Upload additional pages if necessary.\r\n
\r\n
\r\n In the case of answering “Yes” to any of the questions below other than the question about unauthorized or unlicensed practice, provide the date(s) and pertinent facts of the case(s) or proceeding(s), including the final disposition (even if the information was previously provided to the Board). Upload additional pages if necessary.\r\n

\r\n )\r\n case \"acknowledgement\":\r\n return (\r\n

\r\n Fields marked with an asterisk * are required.\r\n

\r\n )\r\n case \"supervisingProfessional\":\r\n return (\r\n <>\r\n The full text of the Licensure Law and the Rules of the Board are available from the Board's website at https://www.lapels.com/lawsrules.html.\r\n
\r\n

§2305. Supervising Professional

\r\n
    \r\n
  1. \r\n Each firm licensed with the board shall designate one or more supervising professionals. Each supervising professional shall be a licensed professional:\r\n
  2. \r\n
      \r\n
    • \r\n a. whose primary employment is with the firm on a full-time basis; or\r\n
    • \r\n
    • \r\n b. whose secondary employment is with the firm, provided the supervising professional is an owner of the firm.\r\n
    • \r\n
    \r\n
  3. \r\n The supervising professionals of an engineering firm shall be professional engineers. The supervising professionals of a land surveying firm shall be professional land surveyors.\r\n
  4. \r\n
  5. \r\n The responsibilities of a supervising professional include:\r\n
  6. \r\n
      \r\n
    • a. renewal of the firm’s license and notification to the board of any change in the firm’s supervising professionals;
    • \r\n
    • b. institution of and adherence to policies of the firm that are in accordance with the licensure law and the rules of the board; and
    • \r\n
    • c. ensuring that all professional services provided by the firm are performed by or under the responsible charge of licensed professionals.
    • \r\n
    \r\n
  7. \r\n The supervising professional of a firm which participates in a joint venture shall be responsible for assuring that all professional services performed by the joint venture are rendered in conformity with the provisions of these rules.\r\n
  8. \r\n
  9. \r\n Nothing herein shall prohibit a supervising professional from also being in responsible charge of professional services provided by the firm.\r\n
  10. \r\n
  11. A failure to comply with any of the provisions of this Chapter may subject both the licensed firm and the supervising professional to disciplinary action by the board.\r\n
  12. \r\n
  13. Each designated Supervising Professional MUST complete the quizzes (https://www.lapels.com/quiz ) and upload the results below.
  14. \r\n
  15. Compliance with this Section will not be met by a contractual relationship between the firm and a licensed professional or a firm of licensed professionals in which such licensed professional or firm of licensed professionals is available on a consultative basis. Nor will it be considered\r\n
  16. \r\n
\r\n\r\n

Each designated supervising professional of the firm hereby certifies that:

\r\n
    \r\n
  1. As a Professional Land Surveyor, I have successfully completed the Board’s online Louisiana Laws and Rules Quiz, Louisiana Professionalism and Ethics Quiz, and Louisiana Standards of Practice for Boundary Surveys Quiz with a score of 90% or higher within the past two calendar years. Provide either evidence of prior successful completion or complete the online quiz at https://www.lapels.com/quiz.
  2. \r\n
  3. As a Professional Engineer, I have successfully completed the Board’s online Louisiana Laws and Rules Quiz and Louisiana Professionalism and Ethics Quiz with a score of 90% or higher within the past two calendar years. Provide either evidence of prior successful completion or complete the online quiz at https://www.lapels.com/quiz.
  4. \r\n
  5. I have read and understand the Laws and Rules of the Board (https://www.lapels.com/LawsRules.html); and
  6. \r\n
  7. I acknowledge my responsibility to inform the Board, in writing, within thirty (30) days of any change of my employment or supervising professional status with the firm.
  8. \r\n
\r\n\r\n

Please complete the information as requested. If you have any questions, please email cande@lapels.com.

\r\n\r\n \r\n )\r\n case \"waiver\":\r\n return (\r\n

\r\n Firms which have the word(s), or any derivative thereof, “engineering” or “surveying” in their name should complete this form and submit to LAPELS for processing. The approval letter will be returned to you by email and you will then be able to obtain your Louisiana Certificate of Authority from the Louisiana Secretary of State.

\r\n

After you obtain your Louisiana Certificate of Authority, you will need to upload it into the upload section below.


\r\n Louisiana Secretary of State - Commercial Division
\r\n P.O. Box 94125
\r\n Baton Rouge, LA 70804-9125
\r\n Phone: 225-925-4704
\r\n Fax: 225-932-5314
\r\n http://www.sos.la.gov/Pages/default.aspx

\r\n If you have any questions about the waiver/certificate of authority section, please email cande@lapels.com.\r\n\r\n

\r\n )\r\n case \"index\":\r\n return (\r\n <>\r\n
\r\n
\r\n\r\n

Read all of the instructions before you begin

\r\n
    \r\n\r\n
  • The application fee is non-refundable.
  • \r\n\r\n
  • The application must be accompanied by a Certificate of Good Standing or a Certificate of Authority from the Louisiana Secretary of State.\r\n You will be given the opportunity to upload this document with your application. Contact information for the Louisiana Secretary of State\r\n is as follows:\r\n
  • \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n )\r\n break;\r\n default:\r\n return (\r\n <>\r\n
\r\n \r\n \r\n )\r\n break;\r\n }\r\n}\r\n\r\nexport const GetRenewalInformationContent = (page) => {\r\n const [fakeData, setFakeData] = useState(\"\");\r\n const [type, setType] = useState(\"renewal\");\r\n useEffect(() => {\r\n loremParagraphs().then(setFakeData);\r\n }, [])\r\n\r\n switch (page) {\r\n case \"contact\":\r\n return (\r\n
\r\n
\r\n
    \r\n By clicking the Update Contact Information button, you will be taken to the Contact Module to make your changes. After you save your changes, please navigate back to your application, renewal, or reinstatement to continue.\r\n
\r\n
\r\n
\r\n\r\n );\r\n break;\r\n case \"review\":\r\n return (\r\n <>\r\n
    \r\n
  • Click Validate to see if there are any issues within the {type} that you provided.
  • \r\n
  • If there are issues, please correct the issue in the respective section(s) by clicking the “Back to Sections” button below.
  • \r\n
  • Then return to the Review section to validate again.
  • \r\n
  • You will not be allowed to submit until all issues are corrected.
  • \r\n
\r\n

\r\n Once the {type} is validated successfully, additional buttons will appear:\r\n

    \r\n
  • Select “Download PDF” to download a copy of your {type} for your records
  • \r\n
  • Select “Submit Renewal” to add your {type} to the cart and see payment options.
  • \r\n
\r\n

\r\n\r\n

You will not have direct access to this review page after completing the {type} and submitting payment. To request a copy, please contact LAPELS staff.

\r\n \r\n )\r\n break;\r\n case \"violations\":\r\n return (\r\n

\r\n If the answer to any of these questions is \"Yes\", provide the date(s) and pertinent facts of the case(s) or proceeding(s) including the final disposition (even if the information was previously provided to the Board). Upload additional pages if necessary.\r\n

\r\n )\r\n case \"acknowledgement\":\r\n return (\r\n

\r\n Fields marked with an asterisk * are required.\r\n

\r\n )\r\n case \"supervisingProfessional\":\r\n return (<>\r\n The full text of the Licensure Law and the Rules of the Board are available from the Board's website at https://www.lapels.com/lawsrules.html.\r\n
\r\n

§2305. Supervising Professional

\r\n
    \r\n
  1. \r\n Each firm licensed with the board shall designate one or more supervising professionals. Each supervising professional shall be a licensed professional:\r\n
  2. \r\n
      \r\n
    • \r\n a. whose primary employment is with the firm on a full-time basis; or\r\n
    • \r\n
    • \r\n b. whose secondary employment is with the firm, provided the supervising professional is an owner of the firm.\r\n
    • \r\n
    \r\n
  3. \r\n The supervising professionals of an engineering firm shall be professional engineers. The supervising professionals of a land surveying firm shall be professional land surveyors.\r\n
  4. \r\n
  5. \r\n The responsibilities of a supervising professional include:\r\n
  6. \r\n
      \r\n
    • a. renewal of the firm’s license and notification to the board of any change in the firm’s supervising professionals;
    • \r\n
    • b. institution of and adherence to policies of the firm that are in accordance with the licensure law and the rules of the board; and
    • \r\n
    • c. ensuring that all professional services provided by the firm are performed by or under the responsible charge of licensed professionals.
    • \r\n
    \r\n\r\n
  7. \r\n Nothing herein shall prohibit a supervising professional from also being in responsible charge of professional services provided by the firm.\r\n
  8. \r\n
  9. A failure to comply with any of the provisions of this Chapter may subject both the licensed firm and the supervising professional to disciplinary action by the board.\r\n
  10. \r\n\r\n\r\n
\r\n\r\n\r\n

\r\n I acknowledge my responsibility to keep my SP locker current. I further understand that failure to comply with such requirements of any false statements made by me, on behalf of the firm, could be cause for disciplinary action. I acknowledge my responsibility to inform the Board, in writing, within thirty (30) days of any change of my employment or supervising professional status with the firm.\r\n

\r\n\r\n\r\n

Please complete the information as requested. If you have any questions, please email cande@lapels.com.

\r\n
\r\n
\r\n

All Supervising Professionals MUST complete the attestation form ONLY during the firm's renewal period. Download the form from https://www.lapels.com/docs/Applications/firm/Firm_SP_Attestation_AR.pdf and upload the completed form using the \"Upload\" button below.

Failure to do so could result in a violation for both firm and individual.

\r\n\r\n
\r\n );\r\n case \"waiver\":\r\n return (\r\n

\r\n Firms should search the LASOS website business filings, save the detailed report to your desktop, and then click or drag the file to the upload section below.

\r\n

After you obtain your Louisiana Certificate of Authority, you will need to upload it into the upload section below.


\r\n Louisiana Secretary of State - Commercial Division
\r\n P.O. Box 94125
\r\n Baton Rouge, LA 70804-9125
\r\n Phone: 225-925-4704
\r\n Fax: 225-932-5314
\r\n http://www.sos.la.gov/Pages/default.aspx

\r\n If you have any questions about the certificate of authority section, please email cande@lapels.com.\r\n\r\n

\r\n )\r\n case \"index\":\r\n return (\r\n <>\r\n
\r\n
\r\n\r\n

Read all of the instructions before you begin

\r\n
    \r\n\r\n
  • The application fee is non-refundable.
  • \r\n\r\n
  • The application must be accompanied by a Certificate of Good Standing or a Certificate of Authority from the Louisiana Secretary of State.\r\n You will be given the opportunity to upload this document with your application. Contact information for the Louisiana Secretary of State\r\n is as follows:\r\n
  • \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n )\r\n break;\r\n default:\r\n return (\r\n <>\r\n
\r\n \r\n \r\n )\r\n break;\r\n }\r\n}\r\n\r\nexport const GetReinstatementInformationContent = (page) => {\r\n const [fakeData, setFakeData] = useState(\"\");\r\n const [type, setType] = useState(\"reinstatement\");\r\n useEffect(() => {\r\n loremParagraphs().then(setFakeData);\r\n }, [])\r\n\r\n switch (page) {\r\n case \"contact\":\r\n return (\r\n
\r\n
\r\n
    \r\n\r\n
\r\n
\r\n
\r\n\r\n );\r\n break;\r\n case \"review\":\r\n return (\r\n <>\r\n
    \r\n
  • Click Validate to see if there are any issues within the {type} that you provided.
  • \r\n
  • If there are issues, please correct the issue in the respective section(s) by clicking the “Back to Sections” button below.
  • \r\n
  • Then return to the Review section to validate again.
  • \r\n
  • You will not be allowed to submit until all issues are corrected.
  • \r\n
\r\n

\r\n Once the {type} is validated successfully, additional buttons will appear:\r\n

    \r\n
  • Select “Download PDF” to download a copy of your {type} for your records
  • \r\n
  • Select “Submit Reinstatement” to add your {type} to the cart and see payment options.
  • \r\n
\r\n

\r\n\r\n

You will not have direct access to this review page after completing the {type} and submitting payment. To request a copy, please contact LAPELS staff.

\r\n \r\n )\r\n break;\r\n case \"violations\":\r\n return (\r\n

\r\n In the case of answering “Yes” to the question below about unauthorized or unlicensed practice (Question #1), explain in detail the facts surrounding such practicing or offering to practice engineering in Louisiana and submit a list of all projects/jobs on which the firm offered to provide or provided engineering services in Louisiana during such period.\r\n Such list should include, for each such project/job, offer date, start date, completion date, client name, project/job name, project/job location and project/job descriptions, and names of firm representatives involved. Upload additional pages if necessary.\r\n
\r\n
\r\n In the case of answering “Yes” to any of the questions below other than the question about unauthorized or unlicensed practice, provide the date(s) and pertinent facts of the case(s) or proceeding(s), including the final disposition (even if the information was previously provided to the Board). Upload additional pages if necessary.\r\n

\r\n )\r\n case \"acknowledgement\":\r\n return (\r\n

\r\n Fields marked with an asterisk * are required.\r\n

\r\n )\r\n case \"supervisingProfessional\":\r\n return (\r\n <>\r\n The full text of the Licensure Law and the Rules of the Board are available from the Board's website at https://www.lapels.com/lawsrules.html.\r\n
\r\n

§2305. Supervising Professional

\r\n
    \r\n
  1. \r\n Each firm licensed with the board shall designate one or more supervising professionals. Each supervising professional shall be a licensed professional:\r\n
  2. \r\n
      \r\n
    • \r\n a. whose primary employment is with the firm on a full-time basis; or\r\n
    • \r\n
    • \r\n b. whose secondary employment is with the firm, provided the supervising professional is an owner of the firm.\r\n
    • \r\n
    \r\n
  3. \r\n The supervising professionals of an engineering firm shall be professional engineers. The supervising professionals of a land surveying firm shall be professional land surveyors.\r\n
  4. \r\n
  5. \r\n The responsibilities of a supervising professional include:\r\n
  6. \r\n
      \r\n
    • a. renewal of the firm’s license and notification to the board of any change in the firm’s supervising professionals;
    • \r\n
    • b. institution of and adherence to policies of the firm that are in accordance with the licensure law and the rules of the board; and
    • \r\n
    • c. ensuring that all professional services provided by the firm are performed by or under the responsible charge of licensed professionals.
    • \r\n
    \r\n
  7. \r\n The supervising professional of a firm which participates in a joint venture shall be responsible for assuring that all professional services performed by the joint venture are rendered in conformity with the provisions of these rules.\r\n
  8. \r\n
  9. \r\n Nothing herein shall prohibit a supervising professional from also being in responsible charge of professional services provided by the firm.\r\n
  10. \r\n
  11. A failure to comply with any of the provisions of this Chapter may subject both the licensed firm and the supervising professional to disciplinary action by the board.\r\n
  12. \r\n
  13. Each designated Supervising Professional MUST complete the quizzes (https://www.lapels.com/quiz ) and upload the results below.
  14. \r\n
  15. Compliance with this Section will not be met by a contractual relationship between the firm and a licensed professional or a firm of licensed professionals in which such licensed professional or firm of licensed professionals is available on a consultative basis. Nor will it be considered\r\n
  16. \r\n
\r\n\r\n

Each designated supervising professional of the firm hereby certifies that:

\r\n
    \r\n
  1. As a Professional Land Surveyor, I have successfully completed the Board’s online Louisiana Laws and Rules Quiz, Louisiana Professionalism and Ethics Quiz, and Louisiana Standards of Practice for Boundary Surveys Quiz with a score of 90% or higher within the past two calendar years. Provide either evidence of prior successful completion or complete the online quiz at https://www.lapels.com/quiz.
  2. \r\n
  3. As a Professional Engineer, I have successfully completed the Board’s online Louisiana Laws and Rules Quiz and Louisiana Professionalism and Ethics Quiz with a score of 90% or higher within the past two calendar years. Provide either evidence of prior successful completion or complete the online quiz at https://www.lapels.com/quiz.
  4. \r\n
  5. I have read and understand the Laws and Rules of the Board (https://www.lapels.com/LawsRules.html); and
  6. \r\n
  7. I acknowledge my responsibility to inform the Board, in writing, within thirty (30) days of any change of my employment or supervising professional status with the firm.
  8. \r\n
\r\n\r\n

Please complete the information as requested. If you have any questions, please email cande@lapels.com.

\r\n\r\n \r\n )\r\n case \"waiver\":\r\n return (\r\n

\r\n To obtain your Louisiana Certificate of Authority, you will submit an Application for Certificate of Authority, along with required certificates or certified copies from your home state. You will need to appoint a registered agent in order for your filing to be approved. Be sure to follow the state’s instructions carefully, as they can reject a document for the smallest error.

\r\n

After you obtain your Louisiana Certificate of Authority, you will need to upload it into the upload section below.


\r\n Louisiana Secretary of State - Commercial Division
\r\n P.O. Box 94125
\r\n Baton Rouge, LA 70804-9125
\r\n Phone: 225-925-4704
\r\n Fax: 225-932-5314
\r\n http://www.sos.la.gov/Pages/default.aspx

\r\n If you have any questions about the waiver/certificate of authority section, please email cande@lapels.com.\r\n\r\n

\r\n )\r\n case \"index\":\r\n return (\r\n <>\r\n
\r\n
\r\n\r\n

Read all of the instructions before you begin

\r\n
    \r\n\r\n
  • The application fee is non-refundable.
  • \r\n\r\n
  • The application must be accompanied by a Certificate of Good Standing or a Certificate of Authority from the Louisiana Secretary of State.\r\n You will be given the opportunity to upload this document with your application. Contact information for the Louisiana Secretary of State\r\n is as follows:\r\n
  • \r\n \r\n
  • The application fee referenced above (#6) is not a renewal fee. Upon receipt and approval of the application,\r\n your firm’s license will be placed in the current renewal cycle. Renewal invoices are mailed approximately\r\n five weeks prior to the expiration date of either March 31st or September 30th.
  • \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n )\r\n break;\r\n default:\r\n return (\r\n <>\r\n
\r\n \r\n \r\n )\r\n break;\r\n }\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, ListGroup, Button } from 'react-bootstrap';\r\nimport Section from '../../../Shared/Sections/Section';\r\nimport applicationService, { getSections } from \"../../../../services/Internal/Application/EF/efApplication.service\";\r\nimport InternalTaskInfo from '../../Shared/InternalTaskInfo';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Information from '../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../Shared/InformationContent/EFInformation';\r\nimport entityService from '../../../../services/Internal/Staff/entity.service';\r\nimport Swal from 'sweetalert2';\r\nimport FormEntityInformation from '../../Shared/FormEntityInformation';\r\nimport recentQueueService from '../../../../services/Internal/Recent/recentQueue.service'\r\nimport issuesService from '../../../../services/Shared/issues.service';\r\n\r\nfunction Index() {\r\n const marginRight = {\r\n marginRight: '1rem'\r\n }\r\n const [showSectionButton, setShowSectionButton] = useState(true);\r\n const [justLicensed, setJustLicensed] = useState(false);\r\n const [sections, setSections] = useState(null);\r\n const dispatch = useDispatch();\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n user: '',\r\n entityId: 0\r\n }\r\n );\r\n const [credInfo, setCredInfo] = useState({\r\n licenseNumber: \"\",\r\n applicationDate: \"\"\r\n });\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const selector = useSelector(x => x);\r\n useEffect(() => {\r\n var routes = JSON.parse(localStorage.getItem('PERSIST_CURRENT_ROUTE')) ?? selector.currentRoutes;\r\n var currentAppId = localStorage.getItem('PERSIST_CURRENT_APP_ID') ?? selector.currentApplicationId;\r\n var currentEntityID = localStorage.getItem('PERSIST_CURRENT_APP_ENTITY_ID') ?? selector.currentApplicationEntityId;\r\n var currentAppTypeId = localStorage.getItem('PERSIST_CURRENT_APP_TYPE_ID') ?? selector.currentApplicationTypeId;\r\n if (localStorage.getItem('PERSIST_CURRENT_APP_ID')) {\r\n localStorage.removeItem('PERSIST_CURRENT_ROUTE');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ENTITY_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_TYPE_ID');\r\n\r\n dispatch({ type: \"PERSIST_CURRENT_ROUTE\", payload: routes });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: currentAppId });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ENTITY_ID\", payload: currentEntityID });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_TYPE_ID\", payload: currentAppTypeId });\r\n }\r\n //Add to recent Queue\r\n recentQueueService.updateRecentQueue({\r\n entityId: currentEntityID,\r\n parentId: currentAppId,\r\n parentTypeId: 2,\r\n appTypeId: 7,\r\n routes: JSON.stringify(routes)\r\n }).then((data) => {\r\n var token = parseInt(localStorage.getItem('updateRecentQueue')) ? parseInt(localStorage.getItem('updateRecentQueue')) : 0;\r\n localStorage.setItem('updateRecentQueue', token + 1)\r\n dispatch({ type: \"PERSIST_CURRENT_RECENT_QUEUE\", payload: parseInt(localStorage.getItem('updateRecentQueue')) });\r\n })\r\n entityService.getEntity(currentEntityID).then((entity) => {\r\n setEntityInfo(\r\n {\r\n lolaNum: entity.data.lolaNumber,\r\n user: entity.data.formattedName,\r\n entityId: entity.data.entityId\r\n })\r\n });\r\n applicationService.getFirmApplication(currentAppId).then((sectionResponse) => {\r\n setHasLoaded(true);\r\n setCredInfo({\r\n licenseNumber: sectionResponse.data?.credential?.formattedLicenseNumber,\r\n applicationDate: sectionResponse.data?.dateSubmitted\r\n })\r\n if (sectionResponse.data.sections.findIndex((element) => element.staffReviewComplete === false) !== -1 || sectionResponse.data.status.id !== 2) {// status id 2 = pending\r\n setShowSectionButton(false);\r\n }\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(1, currentAppId).then((data) => {\r\n setSections(routes != null ? routes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route\r\n var index = sectionResponse.data.sections.findIndex(x => x.sectionType?.id == section.id);\r\n if (index !== -1) {\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (sectionResponse.data.sections[index].staffReviewComplete)\r\n section.status = \"COMPLETE\";\r\n else if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n })\r\n })\r\n })\r\n }, [])\r\n const sendStaffApproval = (isApproved) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: `Do you want to ${isApproved ? 'license' : 'decline'} this application? You won't be able to revert this!`,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continue!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n Swal.fire({\r\n title: `${isApproved ? 'Licensing' : 'Declining'} Application`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n applicationService.postStaffApproval(selector.currentApplicationId, isApproved).then((response) => {\r\n if (response.data) {\r\n setShowSectionButton(false);\r\n Swal.fire({\r\n title: `Saving PDF`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n applicationService.postApplicationPdf(response.data.id, isApproved).then((data) => {\r\n if (data.data) {\r\n setJustLicensed(true);\r\n Swal.fire(\"Saved\", `The application was successfully ${isApproved ? 'approved' : 'declined'}!`, \"success\")\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n \r\n

Sections to Complete

\r\n \r\n {sections}\r\n \r\n \r\n
\r\n {showSectionButton &&\r\n
\r\n \r\n \r\n
\r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Index;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EFAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/FirmEfApplication\";\r\n\r\nconst getContactInformation = (applicationId) => {\r\n return axios.get(`${EFAPPLICATIONURL}/contactinformation`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postContactInformation = (applicationId, certDisplayName) => {\r\n return axios.post(`${EFAPPLICATIONURL}/contactinformation`, null, { headers: authHeader(), params: { applicationId, certDisplayName } });\r\n}\r\nexport default {\r\n getContactInformation,\r\n postContactInformation\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport { Form } from 'rsuite';\r\nimport dayjs from 'dayjs';\r\nimport { GetFirmGeneralContactInformationInstructions } from '../../../../Shared/InformationContent/GeneralInformation'\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport contactService from '../../../../../services/Internal/Application/EF/contact.service';\r\nimport applicationService from '../../../../../services/Internal/Application/EF/efApplication.service';\r\nimport MailingAddress from '../../../../Shared/Card/Contact/MailingAddress';\r\nimport FirmInformation from '../../../../Shared/Card/Contact/FirmInformation';\r\nimport PublicAddress from '../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport Swal from 'sweetalert2';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction ContactInformationPage() {\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineering Firm Application\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Contact Information\"\r\n }\r\n );\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const [sectionData, setSectionData] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n\r\n useEffect(() => {\r\n contactService.getContactInformation(appId).then((response) => {\r\n var data = response.data;\r\n setFormModel({\r\n ...data,\r\n dateOfFormation: data.dateOfFormation != null ? dayjs(data.dateOfFormation).format('YYYY-MM-DD') : null,\r\n orgType: data.organizationType?.code,\r\n primaryEmail: data.primaryEmailAddress?.emailAddress,\r\n phoneNum: data.phone?.phoneNumber\r\n\r\n })\r\n applicationService.getFirmApplication(appId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n });\r\n }).then(() => {\r\n applicationService.efGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n setHasLoaded(true);\r\n })\r\n })\r\n })\r\n }, [])\r\n\r\n const [formModel, setFormModel] = useState({})\r\n\r\n const [tabPane, setTabPane] = useState(\"firmInformation\")\r\n\r\n const submitData = () => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n applicationService.efMarkSectionComplete(appId, sectionId, isComplete).then((markSectionResponse) => {\r\n if (markSectionResponse.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n else\r\n Swal.fire(\"Failed to mark section complete\");\r\n });\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)}\r\n onSubmit={submitData} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n {hasLoaded &&\r\n\r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EFAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/FirmEfApplication\";\r\n\r\nconst getViolation = (applicationId) => {\r\n return axios.get(`${EFAPPLICATIONURL}/violation`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postViolation = (data) => {\r\n return axios.post(`${EFAPPLICATIONURL}/violation`, data, { headers: authHeader() });\r\n}\r\nconst downloadViolationFile = (applicationId) => {\r\n axios.get(`${process.env.REACT_APP_APIURL}/Reports/GetFirmApplicationViolationsForm`, { headers: authHeader(), params: { applicationId }, responseType: 'arraybuffer' }).then((response) => {\r\n var name = new String(response.headers['content-disposition']);\r\n const downloadUrl = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = downloadUrl;\r\n link.setAttribute('download', name.slice(name.indexOf('filename=') + 9, name.lastIndexOf(';')));\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n });\r\n}\r\nexport default {\r\n getViolation,\r\n postViolation,\r\n downloadViolationFile\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport { useSelector } from 'react-redux';\r\nimport ViolationService from '../../../../../services/Internal/Application/EF/violation.service';\r\nimport applicationService from '../../../../../services/Internal/Application/EF/efApplication.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/EFInformation';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport { getCodeViolationAnswers } from '../../../../../services/Shared/codeTable.service';\r\nimport GenericViolations from '../../../../Shared/Card/Violations';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 4;\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineering Firm Application\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Violations\"\r\n }\r\n );\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n yesAnswerExplanation: StringType().isRequired('This field is required.'),\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n applicationService.efGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n setIsComplete(response.data.staffReviewComplete);\r\n applicationService.getFirmApplication(store.currentApplicationId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n });\r\n })\r\n ViolationService.getViolation(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, issues: formData.issues, files: formData.files, filesForDisplay: formData.filesForDisplay });\r\n }\r\n else {\r\n getCodeViolationAnswers(7).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n yesAnswerExplanation: \"\",\r\n files: [],\r\n filesForDisplay: [],\r\n issues: []\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true) >= 0;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n const downloadViolations = () => {\r\n ViolationService.downloadViolationFile(store.currentApplicationId)\r\n }\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n setShowFormErrors(true)\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, applicationId: store.currentApplicationId, entityId: store.userInfo.EntityId };\r\n ViolationService.postViolation(dataTransfer).then((response) => {\r\n applicationService.efPostSection(store.currentApplicationId, sectionId, formData.signature).then((response) => {\r\n applicationService.efMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((data) => {\r\n if (response.data && data.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n })\r\n })\r\n });\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/EFInformation';\r\nimport applicationService from '../../../../../services/Internal/Application/EF/efApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport SupervisingProfessional from '../../../../Shared/Card/SupervisingProfessional';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction SupervisingProfessionalPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 14;\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineering Firm Application\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Supervising Professional\"\r\n }\r\n );\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasFirmSubmittedSupervisingProfessional: BooleanType().isRequired('This field is required.'),\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n applicationService.efGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n applicationService.getFirmApplication(store.currentApplicationId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n })\r\n\r\n })\r\n\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const { push } = useHistory();\r\n const showAdditionalFields = sectionData.hasFirmSubmittedSupervisingProfessional;\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (val) {\r\n applicationService.efPostSection(store.currentApplicationId, sectionId, sectionData.electronicSignature).then((response) => {\r\n if (response.data) {\r\n applicationService.efPostSectionHasFirmSubmittedSupervisingProfessional(store.currentApplicationId, sectionId, sectionData.hasFirmSubmittedSupervisingProfessional).then((data) => {\r\n if (data.data) {\r\n applicationService.efMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((markSectionResponse) => {\r\n if (markSectionResponse.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n else\r\n Swal.fire(\"Failed to mark section complete\");\r\n });\r\n }\r\n else\r\n Swal.fire(\"Failed to post supervising professional section\");\r\n })\r\n }\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default SupervisingProfessionalPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EFAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/FirmEfApplication\";\r\n\r\nconst getUnlicensedActivity = (applicationId) => {\r\n return axios.get(`${EFAPPLICATIONURL}/unlicensedActivity`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postUnlicensedActivity = (data) => {\r\n return axios.post(`${EFAPPLICATIONURL}/unlicensedActivity`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getUnlicensedActivity,\r\n postUnlicensedActivity\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/EFInformation';\r\nimport unlicensedActivityService from '../../../../../services/Internal/Application/EF/unlicensedActivity.service';\r\nimport applicationService from '../../../../../services/Internal/Application/EF/efApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport UnlicensedActivity from '../../../../Shared/Card/FirmUnlicensedActivity';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction UnlicensedActivityPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineering Firm Application\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Unlicensed Activity\"\r\n }\r\n );\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 15;\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasUnlicensedActivity: BooleanType().isRequired('This field is required.'),\r\n explanation: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n applicationService.efGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n unlicensedActivityService.getUnlicensedActivity(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, files: formData.files, filesForDisplay: formData.filesForDisplay });\r\n }\r\n setIsComplete(response.data.staffReviewComplete);\r\n setSectionData(response.data);\r\n applicationService.getFirmApplication(store.currentApplicationId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n })\r\n })\r\n })\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n hasUnlicensedActivity: undefined,\r\n explanation: \"\",\r\n files: [],\r\n filesForDisplay: []\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData.hasUnlicensedActivity;\r\n\r\n const handleSubmit = (val, event) => {\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"explanation\") || (showAdditionalFields && key.includes(\"explanation\")))) {\r\n return;\r\n }\r\n\r\n }\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, applicationId: store.currentApplicationId, entityId: store.userInfo.EntityId };\r\n unlicensedActivityService.postUnlicensedActivity(dataTransfer).then((response) => {\r\n if (response.data) {\r\n applicationService.efMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((data) => {\r\n if (data.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n }\r\n else {\r\n Swal.fire(\"Failed to mark section as complete!\");\r\n }\r\n })\r\n }\r\n else {\r\n Swal.fire(\"Failed to save unlicensed activity\");\r\n }\r\n });\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default UnlicensedActivityPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/EFInformation';\r\nimport applicationService from '../../../../../services/Internal/Application/EF/efApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport WavierCertificate from '../../../../Shared/Card/WaiverCertificate';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction WaiverCertificatePage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineering Firm Application\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Waiver/Certificate\"\r\n }\r\n );\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 13;\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasWordOfferingProfessionalServices: BooleanType().isRequired('This field is required.'),\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n applicationService.efGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n applicationService.getFirmApplication(store.currentApplicationId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n })\r\n })\r\n\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const { push } = useHistory();\r\n const showAdditionalFields = sectionData.hasWordOfferingProfessionalServices;\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (val) {\r\n applicationService.efPostSection(store.currentApplicationId, sectionId, sectionData.electronicSignature).then((response) => {\r\n if (response.data) {\r\n applicationService.efPostSectionHasWordOffering(store.currentApplicationId, sectionId, sectionData.hasWordOfferingProfessionalServices).then((data) => {\r\n if (data.data) {\r\n applicationService.efMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((markSectionResponse) => {\r\n if (markSectionResponse.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else\r\n Swal.fire(\"Failed to mark section as complete\");\r\n });\r\n }\r\n else\r\n Swal.fire(\"Failed to save section has word offering.\")\r\n })\r\n }\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default WaiverCertificatePage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport applicationService from '../../../../../services/Internal/Application/EF/efApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport Acknowledgement from '../../../../Shared/Card/FirmAcknowledgement';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/EFInformation';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction AcknowledgementPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineering Firm Application\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Acknowledgement \"\r\n }\r\n );\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const sectionId = 8; // Revisit\r\n const [formModel, setFormModel] = useState({})\r\n useEffect(() => {\r\n applicationService.efGetSection(appId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n applicationService.getFirmApplication(appId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n })\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n const submitData = (isForSubmit) => {\r\n applicationService.efPostSection(appId, sectionId, formModel.electronicSignature).then((response) => {\r\n applicationService.efMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (isForSubmit && response.data.id && data.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data.id && data.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/EFInformation';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport efApplicationService from '../../../../../services/Internal/Application/EF/efApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../Shared/Card/ReviewPdf';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport { Form } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction ReviewPage() {\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const { push } = useHistory();\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineering Firm Application\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Review\"\r\n }\r\n );\r\n const sectionId = 9;\r\n useEffect(() => {\r\n efApplicationService.efGetSection(appId, sectionId).then((response) => {\r\n setIsComplete(response.data.staffReviewComplete);\r\n efApplicationService.getFirmApplication(appId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n })\r\n })\r\n }, [])\r\n\r\n const formSubmit = () => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n efApplicationService.efMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {hasLoaded ?\r\n <>\r\n {violationIssuesHtml}\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EFAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/FirmEfApplication\";\r\n\r\n\r\n\r\nconst getBoardRecommendations = (applicationId) => {\r\n return axios.get(`${EFAPPLICATIONURL}/boardrecommendations`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst getBoardResponses = (applicationId) => {\r\n return axios.get(`${EFAPPLICATIONURL}/boardmemberresponses`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postBoardRecommendation = (data) => {\r\n return axios.post(`${EFAPPLICATIONURL}/boardrecommendation`, data, { headers: authHeader() });\r\n}\r\nconst postBoardResponse = (data) => {\r\n var header = authHeader();\r\n header['Content-Type'] = 'multipart/form-data';\r\n return axios.post(`${EFAPPLICATIONURL}/boardmemberresponse`, data, { headers: { ...header } });\r\n}\r\nexport default {\r\n getBoardRecommendations,\r\n getBoardResponses,\r\n postBoardRecommendation,\r\n postBoardResponse\r\n}","import React from 'react';\r\nimport { Card} from 'react-bootstrap'\r\nimport YesNoRadioOption from '../../../../Shared/RadioButton/YesNoRadioOption';\r\n\r\nfunction BoardStaffChecklist(props) {\r\n return (\r\n
\r\n \r\n
Board/Staff Checklist
\r\n \r\n

Has the firm been verified by the Secretary of State?

\r\n
\r\n \r\n

Have the Supervising Professional(s) been verified?

\r\n
\r\n \r\n

Have the required quizzes been submitted for each of the Supervising Professional(s)?

\r\n
\r\n \r\n

Have the disciplinary action(s) for firm(s) and Supervising Professional(s) been checked?

\r\n
\r\n \r\n

Do you have Board Approval?

\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default BoardStaffChecklist;","import React, { useState, useEffect } from 'react'\r\nimport { Button, Card, Row, Col } from 'react-bootstrap'\r\nimport { ControlLabel, FormControl, FormGroup, Icon, SelectPicker, Table, Uploader } from 'rsuite'\r\nimport Swal from 'sweetalert2';\r\nimport boardApprovalService from '../../../../../services/Internal/Application/EF/boardApproval.service';\r\nimport attachmentService from '../../../../../services/Shared/attachment.service';\r\nimport DocumentUpload from '../../../../Shared/Upload/DocumentUpload';\r\nimport BoardStaffChecklist from './BoardStaffChecklist';\r\n\r\nfunction BoardApproval(props) {\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n\r\n const handleChangePage = (dataKey) => {\r\n setPage(dataKey);\r\n }\r\n const handleChangeLength = (dataKey) => {\r\n setPage(1);\r\n setDisplayLength(dataKey);\r\n }\r\n\r\n const getData = () => {\r\n return props.gridData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const formDataAppender = (passedKey, model, formData) => {\r\n for (let key in model) {\r\n if (typeof (model[key]) === 'object') {\r\n formDataAppender(`${passedKey}.${key}`, model[key], formData); // Recursive key for objects\r\n }\r\n else {\r\n if (passedKey)\r\n formData.append(`${passedKey}.${key}`, model[key]);\r\n else\r\n formData.append(`${key}`, model[key]);\r\n }\r\n }\r\n }\r\n const filteredData = getData();\r\n const removeFile = (id, rowData) => {\r\n Swal.fire({\r\n title: 'Are you sure you want to delete this file?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n attachmentService.deleteFile(id).then((response) => {\r\n if (response.status == 200) {\r\n if (rowData) {\r\n var index = props.gridData.findIndex(x => x.id == rowData.id);\r\n var tempModel = props.gridData;\r\n tempModel[index].files = tempModel[index].files.filter(x => x.id !== id);\r\n props.setGridData([...tempModel]);\r\n }\r\n else {\r\n props.setFiles([...props.files.filter(x => x.id != id)])\r\n }\r\n }\r\n });\r\n }\r\n })\r\n }\r\n\r\n const openFile = (id) => {\r\n attachmentService.openFile(id);\r\n }\r\n return (\r\n <>\r\n\r\n \r\n
Board/Staff Attachments
\r\n \r\n \r\n
\r\n \r\n Additional Comments\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
Board/Staff Responses
\r\n \r\n {props.isUserEditable &&\r\n \r\n \r\n }\r\n
\r\n
\r\n \r\n \r\n \r\n Document\r\n \r\n {rowData => {\r\n return (<>\r\n {rowData.files.map((item, i) => {\r\n return (\r\n \r\n {props.isUserEditable &&\r\n \r\n }\r\n \r\n \r\n\r\n )\r\n })}\r\n \r\n )\r\n }}\r\n \r\n \r\n \r\n \r\n Date Sent\r\n \r\n {rowData => (rowData.dateSent ? new Date(rowData.dateSent).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Date Received\r\n \r\n {rowData => (rowData.dateReceived ? new Date(rowData.dateReceived).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Board Member\r\n \r\n {rowData => (`${rowData.boardMember.firstName} ${rowData.boardMember.middleName} ${rowData.boardMember.lastName}, ${rowData.boardMember.credentialSuffix}`)}\r\n \r\n \r\n \r\n Decision\r\n \r\n {rowData => (rowData.boardMemberDecision?.boardMemberDecision)}\r\n \r\n \r\n \r\n Comments\r\n \r\n \r\n \r\n {props.isUserEditable &&\r\n \r\n \r\n \r\n \r\n {rowData => {\r\n function handleAction() {\r\n var tempData = { ...rowData, files: [] }\r\n props.openModal(tempData);\r\n }\r\n function handleDelete() {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n var formData = new FormData();\r\n var dataToTransmit = {\r\n ...rowData,\r\n deleted: true,\r\n }\r\n formDataAppender('boardMemberResponse', dataToTransmit, formData);\r\n for (var i = 0; i < rowData.files.length; i++) {\r\n formData.append('files', rowData.files[i].blobFile);\r\n }\r\n boardApprovalService.postBoardResponse(formData).then((response) => {\r\n if (response.status == 200) {\r\n props.setGridData([...props.gridData.filter(x => x.id !== rowData.id)]);\r\n }\r\n })\r\n }\r\n })\r\n }\r\n return (\r\n \r\n   \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n }\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n );\r\n}\r\n\r\nexport default BoardApproval;","import { useState, useEffect } from 'react'\r\nimport { Button, Card, Col, Modal, Row } from 'react-bootstrap'\r\nimport React from 'react'\r\nimport { ControlLabel, Schema, Form, FormControl, FormGroup, InputPicker, Uploader } from 'rsuite'\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\nimport GenericAttachmentGrid from '../../../../Shared/Grid/GenericAttachmentGrid';\r\nimport { getBoardMembers } from '../../../../../services/Shared/codeTable.service';\r\nimport boardApprovalService from '../../../../../services/Internal/Application/EF/boardApproval.service';\r\nimport attachmentService from '../../../../../services/Shared/attachment.service';\r\nimport Swal from 'sweetalert2';\r\nimport BlockUi from 'react-block-ui';\r\nimport 'react-block-ui/style.css';\r\n\r\nfunction BoardApprovalModal(props) {\r\n\r\n const { ObjectType, DateType } = Schema.Types;\r\n const [blockUi, setBlockUi] = useState(false);\r\n const model = Schema.Model({\r\n dateSent: DateType().isRequired('This field is required.'),\r\n boardMember: ObjectType().isRequired('This field is required.'),\r\n })\r\n const decisionData = [\r\n { \"label\": \"Approved\", \"value\": { id: 1, boardMemberDecision: \"Approved\" } },\r\n { \"label\": \"Declined\", \"value\": { id: 2, boardMemberDecision: \"Declined\" } }];\r\n\r\n const [boardMemebers, setBoardMembers] = useState([])\r\n const [approvalModel, setApprovalModel] = useState()\r\n useEffect(() => {\r\n setApprovalModel(props.modalData);\r\n getBoardMembers().then(setBoardMembers);\r\n }, [props.modalData])\r\n\r\n const formSubmit = (validation, event) => {\r\n if (validation) {\r\n setBlockUi(true);\r\n var formData = new FormData()\r\n var dataToTransmit = {\r\n ...approvalModel,\r\n dateSent: new Date(approvalModel.dateSent).toISOString(),\r\n dateReceived: approvalModel.dateReceived ? new Date(approvalModel.dateReceived).toISOString() : null\r\n }\r\n formDataAppender('boardMemberResponse', dataToTransmit, formData);\r\n for (var i = 0; i < approvalModel.files.length; i++) {\r\n formData.append('files', approvalModel.files[i].blobFile);\r\n }\r\n boardApprovalService.postBoardResponse(formData).then((response) => {\r\n setBlockUi(false);\r\n if (response.data.boardMemberResponse.id) {\r\n props.updateGrid();\r\n props.onHide();\r\n }\r\n\r\n })\r\n }\r\n\r\n }\r\n const formDataAppender = (passedKey, model, formData) => {\r\n for (let key in model) {\r\n if (typeof (model[key]) === 'object') {\r\n formDataAppender(`${passedKey}.${key}`, model[key], formData); // Recursive key for objects\r\n }\r\n else {\r\n if (passedKey)\r\n formData.append(`${passedKey}.${key}`, model[key]);\r\n else\r\n formData.append(`${key}`, model[key]);\r\n }\r\n }\r\n }\r\n const handleChange = (val, e) => {\r\n if (!e) {\r\n var newFiles = approvalModel.files;\r\n newFiles.push(val);\r\n setApprovalModel({ ...approvalModel, files: [...newFiles] })\r\n }\r\n };\r\n const deleteFile = (id) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n setApprovalModel({ ...approvalModel, files: approvalModel.files.filter(x => x.fileKey != id) })\r\n }\r\n })\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Board/Staff Member Response\r\n \r\n \r\n \r\n
setApprovalModel(approvalModel)} onSubmit={formSubmit} fluid>\r\n \r\n \r\n \r\n \r\n Date Sent \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Board/Staff Member \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n Date Received\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Decision\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n File Upload \r\n \r\n \r\n \r\n \r\n \r\n
Click or Drag files to this area to upload
\r\n \r\n \r\n
\r\n \r\n \r\n {approvalModel?.files?.length > 0 &&\r\n
\r\n
\r\n {\r\n return {\r\n id: value.fileKey,\r\n timestamp: new Date().toLocaleDateString(),\r\n file: value.blobFile?.name\r\n }\r\n })}\r\n isSync={true}\r\n tStyle=\"table-bordered\"\r\n name=\"filesForDisplay\" />\r\n
\r\n }\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Comments\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nexport default BoardApprovalModal;","import React, { useState, useEffect } from 'react'\r\nimport { Button, Col, Container, Row } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport BoardApproval from './BoardApproval';\r\nimport BoardApprovalModal from './BoardApprovalModal';\r\nimport applicationService from '../../../../../services/Internal/Application/EF/efApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport boardApprovalService from '../../../../../services/Internal/Application/EF/boardApproval.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Swal from 'sweetalert2';\r\nimport dayjs from \"dayjs\";\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction BoardApprovalPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const entityId = useSelector(x => x.currentApplicationEntityId)\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 10;\r\n const [modalShow, setModalShow] = useState(false);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [gridData, setGridData] = useState([]);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineering Firm Application\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Board/Staff Recommendations\"\r\n }\r\n );\r\n const { BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n isFirmVerifiedBySecretaryOfState: BooleanType().isRequired('This field is required'),\r\n areFirmSupervisingProfessionalsVerified: BooleanType().isRequired('This field is required'),\r\n areFirmRequiredSupervisingProfessionalQuizzesSubmitted: BooleanType().isRequired('This field is required'),\r\n areFirmDisciplinaryActionsChecked: BooleanType().isRequired('This field is required'),\r\n boardApproval: BooleanType().isRequired('This field is required')\r\n })\r\n\r\n const [formModel, setFormModel] = useState({\r\n applicationId: appId,\r\n boardApproval: null,\r\n dateCrte: null,\r\n deleted: false,\r\n entityId: entityId,\r\n isFirmVerifiedBySecretaryOfState: null,\r\n areFirmSupervisingProfessionalsVerified: null,\r\n areFirmRequiredSupervisingProfessionalQuizzesSubmitted: null,\r\n areFirmDisciplinaryActionsChecked: null,\r\n additionalComments: \"\",\r\n id: 0,\r\n userCrte: \"\"\r\n })\r\n const [boardApprovalSectionId, setBoardApprovalSectionId] = useState();\r\n const [modalData, setModalData] = useState({\r\n comments: \"\",\r\n dateCrte: new Date(),\r\n dateReceived: new Date(),\r\n dateSent: new Date(),\r\n deleted: false,\r\n id: 0,\r\n userCrte: \"\",\r\n boardMemberDecision: null,\r\n boardMember: {\r\n appointmentYear: 0,\r\n credentialSuffix: \"\",\r\n expirationYear: 0,\r\n firstName: \"\",\r\n id: 0,\r\n lastName: \"\",\r\n middleName: \"\",\r\n representation: \"\",\r\n suffix: \"\"\r\n },\r\n entityId: entityId,\r\n applicationId: appId,\r\n boardStaffApprovalId: 0,\r\n files: [],\r\n filesForDisplay: [],\r\n filesLoading: false\r\n })\r\n\r\n useEffect(() => {\r\n applicationService.efGetSection(appId, sectionId).then((response) => {\r\n boardApprovalService.getBoardRecommendations(appId).then((data) => {\r\n setFormModel(data.data);\r\n setModalData({ ...modalData, boardStaffApprovalId: data.data.id })\r\n updateGrid()\r\n setIsComplete(response.data.staffReviewComplete);\r\n setBoardApprovalSectionId(response.data.id);\r\n applicationService.getFirmApplication(appId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n });\r\n }).then(() => {\r\n setHasLoaded(true);\r\n })\r\n })\r\n })\r\n }, [])\r\n\r\n const updateGrid = () => {\r\n boardApprovalService.getBoardResponses(appId).then((vals) => {\r\n if (vals.data?.length)\r\n setGridData(\r\n vals.data.map((value, i) => { return { ...value.boardMemberResponse, files: [...value.attachments] } }))\r\n })\r\n }\r\n const submitData = (val) => {\r\n if (val) {\r\n boardApprovalService.postBoardRecommendation(formModel).then((val) => {\r\n if (val.data) {\r\n applicationService.efMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n Swal.fire(\"Saved\", \"Board/Staff approvals have been saved!\", \"success\");\r\n })\r\n }\r\n })\r\n }\r\n }\r\n\r\n const openAddEditModal = (values) => {\r\n if (values.id) {\r\n setModalData({ ...values, dateReceived: values.dateReceived != null ? dayjs(values.dateReceived).format('YYYY-MM-DD') : null, dateSent: values.dateSent != null ? dayjs(values.dateSent).format('YYYY-MM-DD') : null })\r\n }\r\n else {\r\n setModalData({\r\n comments: \"\",\r\n dateCrte: new Date(),\r\n dateReceived: null,\r\n dateSent: null,\r\n deleted: false,\r\n id: 0,\r\n userCrte: \"\",\r\n boardMemberDecision: null,\r\n boardMember: null,\r\n entityId: entityId,\r\n applicationId: appId,\r\n boardStaffApprovalId: formModel.id,\r\n files: [],\r\n filesForDisplay: []\r\n\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n\r\n return (\r\n
\r\n \r\n setModalShow(false)} />\r\n
setFormModel(formModel)} onSubmit={submitData}>\r\n \r\n {hasLoaded ? <>\r\n \r\n \r\n \r\n \r\n  \r\n \r\n   \r\n \r\n {isUserEditable &&\r\n \r\n }\r\n \r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default BoardApprovalPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst efGetSection = (reinstatementId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/FirmEfReinstatement/section`, { headers: authHeader(), params: { reinstatementId, sectionId } });\r\n}\r\nconst getFirmReinstatement = async (reinstatementId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/FirmReinstatement/reinstatement`, { headers: authHeader(), params: { reinstatementId } });;\r\n};\r\nconst validateFirmReinstatement = (reinstatementId) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmReinstatement/validate`, null, { headers: authHeader(), params: { reinstatementId } })\r\n .then((response) => {\r\n return response;\r\n }).catch((res) => {\r\n });\r\n}\r\nconst postStaffApproval = (reinstatementId, isApproved) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmReinstatement/staffapproval`, null, { headers: authHeader(), params: { reinstatementId, isApproved } })\r\n}\r\nconst postReinstatementPdf = (reinstatementId, isApproved) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/Reports/AutoAttachReinstatementPdf`, null, { headers: authHeader(), params: { reinstatementId, isApproved } });\r\n}\r\n\r\nconst efPostSection = (reinstatementId, sectionId, electronicSignature) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmEfReinstatement/signsection`, null, { headers: authHeader(), params: { reinstatementId, sectionId, electronicSignature } });\r\n}\r\n\r\nconst efPostSectionHasWordOffering = (reinstatementId, sectionId, hasWordOfferingProfessionalServices) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmEfReinstatement/setsectionhaswordofferingprofessionalservices`, null, { headers: authHeader(), params: { reinstatementId, sectionId, hasWordOfferingProfessionalServices } });\r\n}\r\nconst efPostSectionHasFirmSubmittedSupervisingProfessional = (reinstatementId, sectionId, hasFirmSubmittedSupervisingProfessional) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmEfReinstatement/setsectionhasfirmsubmittedsupervisingprofessional`, null, { headers: authHeader(), params: { reinstatementId, sectionId, hasFirmSubmittedSupervisingProfessional } });\r\n}\r\nconst efMarkSectionComplete = (reinstatementId, sectionId, complete) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmEfReinstatement/marksectioncomplete`, null, { headers: authHeader(), params: { reinstatementId, sectionId, complete } })\r\n}\r\n\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Verify personal and contact information is correct and accurate.\",\r\n },\r\n {\r\n id: 12,\r\n sectionTitle: \"Certificate of Authority/Good Standing Forms\",\r\n sectionContent: \"Verify information requested and upload any supporting documents.\",\r\n },\r\n {\r\n id: 13,\r\n sectionTitle: \"Firm Supervising Professionals\",\r\n sectionContent: \"Certify any supervising professionals working on behalf of a firm.\",\r\n },\r\n {\r\n id: 3,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 14,\r\n sectionTitle: \"Unlicensed Activity\",\r\n sectionContent: \"Question if the firm has ever practiced or offered to practice engineering or land surveying in Louisiana.\",\r\n },\r\n {\r\n id: 9,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Verify you have read the Rules for Professional Engineers and Land Surveyors (LAC Title 46, Part LXI), and agree.\",\r\n },\r\n {\r\n id: 10,\r\n sectionTitle: \"Review\",\r\n sectionContent: 'Review your answers. If you need to change an answer, click the \"Section\" above to go back to the appropriate section',\r\n },\r\n {\r\n id: 11,\r\n sectionTitle: \"Board/Staff Recommendations\",\r\n sectionContent: 'Waiting on text',\r\n }\r\n])\r\n\r\nexport default {\r\n efGetSection,\r\n efPostSection,\r\n efPostSectionHasWordOffering,\r\n efPostSectionHasFirmSubmittedSupervisingProfessional,\r\n efMarkSectionComplete,\r\n getFirmReinstatement,\r\n postStaffApproval,\r\n validateFirmReinstatement,\r\n postReinstatementPdf\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, ListGroup, Button } from 'react-bootstrap';\r\nimport Section from '../../../Shared/Sections/Section';\r\nimport reinstatementService, { getSections } from \"../../../../services/Internal/Reinstatement/EF/efReinstatement.service\";\r\nimport entityService from '../../../../services/Internal/Staff/entity.service';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Information from '../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../Shared/InformationContent/EFInformation';\r\nimport Swal from 'sweetalert2';\r\nimport InternalTaskInfo from '../../Shared/InternalTaskInfo';\r\nimport FormEntityInformation from '../../Shared/FormEntityInformation';\r\nimport recentQueueService from '../../../../services/Internal/Recent/recentQueue.service'\r\nimport issuesService from '../../../../services/Shared/issues.service';\r\n\r\nfunction Index() {\r\n const marginRight = {\r\n marginRight: '1rem'\r\n }\r\n const [showSectionButton, setShowSectionButton] = useState(true);\r\n const [justLicensed, setJustLicensed] = useState(false);\r\n const [sections, setSections] = useState(null);\r\n const dispatch = useDispatch();\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineering Firm Reinstatement\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"\"\r\n }\r\n );\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const selector = useSelector(x => x);\r\n useEffect(() => {\r\n var routes = JSON.parse(localStorage.getItem('PERSIST_CURRENT_ROUTE')) ?? selector.currentRoutes;\r\n var currentAppId = localStorage.getItem('PERSIST_CURRENT_APP_ID') ?? selector.currentApplicationId;\r\n var currentEntityID = localStorage.getItem('PERSIST_CURRENT_APP_ENTITY_ID') ?? selector.currentApplicationEntityId;\r\n var currentAppTypeId = localStorage.getItem('PERSIST_CURRENT_APP_TYPE_ID') ?? selector.currentApplicationTypeId;\r\n if (localStorage.getItem('PERSIST_CURRENT_APP_ID')) {\r\n localStorage.removeItem('PERSIST_CURRENT_ROUTE');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ENTITY_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_TYPE_ID');\r\n\r\n dispatch({ type: \"PERSIST_CURRENT_ROUTE\", payload: routes });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: currentAppId });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ENTITY_ID\", payload: currentEntityID });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_TYPE_ID\", payload: currentAppTypeId });\r\n }\r\n //Add to recent Queue\r\n recentQueueService.updateRecentQueue({\r\n entityId: currentEntityID,\r\n parentId: currentAppId,\r\n parentTypeId: 1,\r\n appTypeId: 7,\r\n routes: JSON.stringify(routes)\r\n }).then((data) => {\r\n var token = parseInt(localStorage.getItem('updateRecentQueue')) ? parseInt(localStorage.getItem('updateRecentQueue')) : 0;\r\n localStorage.setItem('updateRecentQueue', token + 1)\r\n dispatch({ type: \"PERSIST_CURRENT_RECENT_QUEUE\", payload: parseInt(localStorage.getItem('updateRecentQueue')) });\r\n })\r\n\r\n reinstatementService.getFirmReinstatement(currentAppId).then((sectionResponse) => {\r\n entityService.getEntity(currentEntityID).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: sectionResponse.data?.credential?.formattedLicenseNumber,\r\n applicationDate: sectionResponse.data?.dateSubmitted\r\n })\r\n });\r\n setHasLoaded(true);\r\n if (sectionResponse.data.sections.findIndex((element) => element.staffReviewComplete === false) !== -1 || sectionResponse.data.status.id !== 2) {// status id 2 = pending\r\n setShowSectionButton(false);\r\n }\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(3, currentAppId).then((data) => {\r\n setSections(routes != null ? routes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route\r\n var index = sectionResponse.data.sections.findIndex(x => x.sectionType?.id == section.id);\r\n if (index !== -1) {\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (sectionResponse.data.sections[index].staffReviewComplete)\r\n section.status = \"COMPLETE\";\r\n else if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n })\r\n })\r\n })\r\n }, [])\r\n const sendStaffApproval = (isApproved) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: `Do you want to ${isApproved ? 'license' : 'decline'} this reinstatement? You won't be able to revert this!`,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continue!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n Swal.fire({\r\n title: `${isApproved ? 'Licensing' : 'Declining'} Reinstatement`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n reinstatementService.postStaffApproval(selector.currentApplicationId, isApproved).then((response) => {\r\n if (response.data) {\r\n setShowSectionButton(false);\r\n Swal.fire({\r\n title: `Saving PDF`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n reinstatementService.postReinstatementPdf(response.data.id, isApproved).then((data) => {\r\n if (data.data) {\r\n setJustLicensed(true);\r\n Swal.fire(\"Saved\", `The reinstatement was successfully ${isApproved ? 'approved' : 'declined'}!`, \"success\")\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n })\r\n }\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n \r\n

Sections to Complete

\r\n \r\n {sections}\r\n \r\n \r\n
\r\n {showSectionButton &&\r\n
\r\n \r\n \r\n
\r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Index;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst VFREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/FirmVfReinstatement\";\r\n\r\nconst getContactInformation = (reinstatementId) => {\r\n return axios.get(`${VFREINSTATEMENTURL}/contactinformation`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nexport default {\r\n getContactInformation\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport { Form, Schema } from 'rsuite';\r\nimport dayjs from 'dayjs';\r\nimport { GetFirmGeneralContactInformationInstructions } from '../../../../Shared/InformationContent/GeneralInformation'\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport contactService from '../../../../../services/Internal/Reinstatement/EF/contact.service';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/EF/efReinstatement.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport MailingAddress from '../../../../Shared/Card/Contact/MailingAddress';\r\nimport FirmInformation from '../../../../Shared/Card/Contact/FirmInformation';\r\nimport PublicAddress from '../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction ContactInformationPage() {\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineering Firm Reinstatement\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Contact Information\"\r\n }\r\n );\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const [sectionData, setSectionData] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n\r\n useEffect(() => {\r\n contactService.getContactInformation(reinstatementId).then((response) => {\r\n var data = response.data;\r\n setFormModel({\r\n ...data,\r\n dateOfFormation: data.dateOfFormation != null ? dayjs(data.dateOfFormation).format('YYYY-MM-DD') : null,\r\n orgType: data.organizationType?.organizationType,\r\n primaryEmail: data.primaryEmailAddress?.contactEmailAddress,\r\n phoneNum: data.phone?.phoneNumber\r\n\r\n })\r\n reinstatementService.efGetSection(reinstatementId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n reinstatementService.getFirmReinstatement(reinstatementId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n }, [])\r\n\r\n const [formModel, setFormModel] = useState({})\r\n\r\n const [tabPane, setTabPane] = useState(\"firmInformation\")\r\n\r\n const submitData = () => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n reinstatementService.efMarkSectionComplete(reinstatementId, sectionId, isComplete).then((markSectionResponse) => {\r\n if (markSectionResponse.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n else\r\n Swal.fire(\"Failed to mark section complete\");\r\n });\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)}\r\n onSubmit={submitData} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n {hasLoaded &&\r\n\r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst VFREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/FirmVfReinstatement\";\r\n\r\nconst getViolation = (reinstatementId) => {\r\n return axios.get(`${VFREINSTATEMENTURL}/violation`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postViolation = (data) => {\r\n return axios.post(`${VFREINSTATEMENTURL}/violation`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getViolation,\r\n postViolation\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport { useSelector } from 'react-redux';\r\nimport ViolationService from '../../../../../services/Internal/Reinstatement/EF/violation.service';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/EF/efReinstatement.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/EFInformation';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport { getReinstatementCodeViolationAnswers } from '../../../../../services/Shared/codeTable.service';\r\nimport GenericViolations from '../../../../Shared/Card/Violations';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 3;\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineering Firm Reinstatement\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Violations\"\r\n }\r\n );\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n yesAnswerExplanation: StringType().isRequired('This field is required.'),\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n reinstatementService.efGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n setIsComplete(response.data.staffReviewComplete);\r\n reinstatementService.getFirmReinstatement(store.currentApplicationId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n });\r\n ViolationService.getViolation(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, files: formData.files, filesForDisplay: formData.filesForDisplay });\r\n }\r\n else {\r\n getReinstatementCodeViolationAnswers(1).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n });\r\n })\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n yesAnswerExplanation: \"\",\r\n files: [],\r\n filesForDisplay: []\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true) >= 0;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n setShowFormErrors(true)\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, reinstatementId: store.currentApplicationId, entityId: store.currentApplicationEntityId };\r\n ViolationService.postViolation(dataTransfer).then((response) => {\r\n reinstatementService.efPostSection(store.currentApplicationId, sectionId, formData.signature).then((response) => {\r\n reinstatementService.efMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((data) => {\r\n if (response.data && data.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n })\r\n })\r\n });\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/EFInformation';\r\nimport efReinstatementService from '../../../../../services/Internal/Reinstatement/EF/efReinstatement.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport SupervisingProfessional from '../../../../Shared/Card/SupervisingProfessional';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction SupervisingProfessionalPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 13;\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineering Firm Reinstatement\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Supervising Professional\"\r\n }\r\n );\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasFirmSubmittedSupervisingProfessional: BooleanType().isRequired('This field is required.'),\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n efReinstatementService.efGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n efReinstatementService.getFirmReinstatement(store.currentApplicationId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const { push } = useHistory();\r\n const showAdditionalFields = sectionData.hasFirmSubmittedSupervisingProfessional;\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (val) {\r\n efReinstatementService.efPostSection(store.currentApplicationId, sectionId, sectionData.electronicSignature).then((response) => {\r\n if (response.data) {\r\n efReinstatementService.efPostSectionHasFirmSubmittedSupervisingProfessional(store.currentApplicationId, sectionId, sectionData.hasFirmSubmittedSupervisingProfessional).then((data) => {\r\n if (data.data) {\r\n efReinstatementService.efMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((markSectionResponse) => {\r\n if (markSectionResponse.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n else\r\n Swal.fire(\"Failed to mark section complete\");\r\n });\r\n }\r\n else\r\n Swal.fire(\"Failed to post supervising professional section\");\r\n })\r\n }\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default SupervisingProfessionalPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst VFREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/FirmVfReinstatement\";\r\n\r\nconst getUnlicensedActivity = (reinstatementId) => {\r\n return axios.get(`${VFREINSTATEMENTURL}/unlicensedActivity`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postUnlicensedActivity = (data) => {\r\n return axios.post(`${VFREINSTATEMENTURL}/unlicensedActivity`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getUnlicensedActivity,\r\n postUnlicensedActivity\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/EFInformation';\r\nimport unlicensedActivityService from '../../../../../services/Internal/Reinstatement/EF/unlicensedActivity.service';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/EF/efReinstatement.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport UnlicensedActivity from '../../../../Shared/Card/FirmUnlicensedActivity';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction UnlicensedActivityPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineering Firm Reinstatement\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Unlicensed Activity\"\r\n }\r\n );\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 14;\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasUnlicensedActivity: BooleanType().isRequired('This field is required.'),\r\n explanation: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n reinstatementService.efGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n unlicensedActivityService.getUnlicensedActivity(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, files: formData.files, filesForDisplay: formData.filesForDisplay });\r\n }\r\n setIsComplete(response.data.staffReviewComplete);\r\n setSectionData(response.data);\r\n reinstatementService.getFirmReinstatement(store.currentApplicationId).then((reinstatementData) => {\r\n setIsUserEditable(reinstatementData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: reinstatementData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: reinstatementData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n hasUnlicensedActivity: undefined,\r\n explanation: \"\",\r\n files: [],\r\n filesForDisplay: []\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData.hasUnlicensedActivity;\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"explanation\") || (showAdditionalFields && key.includes(\"explanation\")))) {\r\n return;\r\n }\r\n\r\n }\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, reinstatementId: store.currentApplicationId, entityId: store.currentApplicationEntityId };\r\n unlicensedActivityService.postUnlicensedActivity(dataTransfer).then((response) => {\r\n if (response.data) {\r\n reinstatementService.efMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((data) => {\r\n if (data.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n }\r\n else {\r\n Swal.fire(\"Failed to mark section as complete!\");\r\n }\r\n })\r\n }\r\n else {\r\n Swal.fire(\"Failed to save unlicensed activity\");\r\n }\r\n });\r\n }\r\n }\r\n\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default UnlicensedActivityPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/EFInformation';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/EF/efReinstatement.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport WavierCertificate from '../../../../Shared/Card/WaiverCertificate';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction WaiverCertificatePage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineering Firm Reinstatement\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Certificate of Authority/Good Standing\"\r\n }\r\n );\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 12;\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n reinstatementService.efGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n reinstatementService.getFirmReinstatement(store.currentApplicationId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const { push } = useHistory();\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (val) {\r\n reinstatementService.efPostSection(store.currentApplicationId, sectionId, sectionData.electronicSignature).then((response) => {\r\n if (response.data) {\r\n reinstatementService.efMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((markSectionResponse) => {\r\n if (markSectionResponse.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else\r\n Swal.fire(\"Failed to mark section as complete\");\r\n });\r\n }\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default WaiverCertificatePage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Card } from 'react-bootstrap';\r\nimport { Form, FormControl, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/EF/efReinstatement.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction AcknowledgementPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false)\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineering Firm Reinstatement\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Acknowledgement\"\r\n }\r\n );\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const sectionId = 9; // Revisit\r\n const [formModel, setFormModel] = useState({})\r\n useEffect(() => {\r\n reinstatementService.efGetSection(reinstatementId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n reinstatementService.getFirmReinstatement(reinstatementId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n reinstatementService.efPostSection(reinstatementId, sectionId, formModel.electronicSignature).then((response) => {\r\n reinstatementService.efMarkSectionComplete(reinstatementId, sectionId, isComplete).then((data) => {\r\n if (response.data.id && data.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n })\r\n\r\n }\r\n }\r\n const submitData = (isForSubmit) => {\r\n\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n \r\n \r\n
Requirements/Information/Acknowledgement
\r\n \r\n

\r\n Fields marked with an asterisk * are required.\r\n

\r\n
\r\n

\r\n I certify that I have read the contents of this application and to the best of my knowledge, information and belief the\r\n statements and information in this application are true and correct in substance and effect and are made in good faith. I\r\n have not omitted any information requested in this application. I am aware that such an omission or untrue response\r\n may constitute fraud, deceit, material misstatement, perjury or the giving of false or forged evidence under Louisiana\r\n Revised Statutes 37:698 and 37:700.\r\n

\r\n
\r\n \r\n \r\n
Electronic Signature of Applicant:
\r\n (Type full name)\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/EFInformation';\r\nimport efReinstatementService from '../../../../../services/Internal/Reinstatement/EF/efReinstatement.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../Shared/Card/ReviewPdf';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport { Form } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction ReviewPage() {\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const { push } = useHistory();\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineering Firm Reinstatement\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Review\"\r\n }\r\n );\r\n const sectionId = 10;\r\n useEffect(() => {\r\n efReinstatementService.efGetSection(reinstatementId, sectionId).then((response) => {\r\n setIsComplete(response.data.staffReviewComplete);\r\n efReinstatementService.getFirmReinstatement(reinstatementId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n\r\n\r\n const formSubmit = () => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n efReinstatementService.efMarkSectionComplete(reinstatementId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {hasLoaded ?\r\n <>\r\n {violationIssuesHtml}\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst VFREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/FirmVfReinstatement\";\r\n\r\n\r\n\r\nconst getBoardRecommendations = (reinstatementId) => {\r\n return axios.get(`${VFREINSTATEMENTURL}/boardrecommendations`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst getBoardResponses = (reinstatementId) => {\r\n return axios.get(`${VFREINSTATEMENTURL}/boardmemberresponses`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postBoardRecommendation = (data) => {\r\n return axios.post(`${VFREINSTATEMENTURL}/boardrecommendation`, data, { headers: authHeader() });\r\n}\r\nconst postBoardResponse = (data) => {\r\n var header = authHeader();\r\n header['Content-Type'] = 'multipart/form-data';\r\n return axios.post(`${VFREINSTATEMENTURL}/boardmemberresponse`, data, { headers: { ...header } });\r\n}\r\nexport default {\r\n getBoardRecommendations,\r\n getBoardResponses,\r\n postBoardRecommendation,\r\n postBoardResponse\r\n}","import React from 'react';\r\nimport { Card} from 'react-bootstrap'\r\nimport YesNoRadioOption from '../../../../Shared/RadioButton/YesNoRadioOption';\r\n\r\nfunction BoardStaffChecklist(props) {\r\n return (\r\n
\r\n \r\n
Board/Staff Checklist
\r\n \r\n

Has the firm been verified by the Secretary of State?

\r\n
\r\n \r\n

Have the Supervising Professional(s) been verified?

\r\n
\r\n \r\n

Have the required quizzes been submitted for each of the Supervising Professional(s)?

\r\n
\r\n \r\n

Have the disciplinary action(s) for firm(s) and Supervising Professional(s) been checked?

\r\n
\r\n \r\n

Do you have Board Approval?

\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default BoardStaffChecklist;","import React, { useState, useEffect } from 'react'\r\nimport { Button, Card, Row, Col } from 'react-bootstrap'\r\nimport { ControlLabel, FormControl, FormGroup, Icon, SelectPicker, Table, Uploader } from 'rsuite'\r\nimport Swal from 'sweetalert2';\r\nimport boardApprovalService from '../../../../../services/Internal/Reinstatement/EF/boardApproval.service';\r\nimport attachmentService from '../../../../../services/Shared/attachment.service';\r\nimport DocumentUpload from '../../../../Shared/Upload/DocumentUpload';\r\nimport BoardStaffChecklist from './BoardStaffChecklist';\r\n\r\nfunction BoardApproval(props) {\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n\r\n const handleChangePage = (dataKey) => {\r\n setPage(dataKey);\r\n }\r\n const handleChangeLength = (dataKey) => {\r\n setPage(1);\r\n setDisplayLength(dataKey);\r\n }\r\n\r\n const getData = () => {\r\n return props.gridData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const formDataAppender = (passedKey, model, formData) => {\r\n for (let key in model) {\r\n if (typeof (model[key]) === 'object') {\r\n formDataAppender(`${passedKey}.${key}`, model[key], formData); // Recursive key for objects\r\n }\r\n else {\r\n if (passedKey)\r\n formData.append(`${passedKey}.${key}`, model[key]);\r\n else\r\n formData.append(`${key}`, model[key]);\r\n }\r\n }\r\n }\r\n const filteredData = getData();\r\n const removeFile = (id, rowData) => {\r\n Swal.fire({\r\n title: 'Are you sure you want to delete this file?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n attachmentService.deleteFile(id).then((response) => {\r\n if (response.status == 200) {\r\n if (rowData) {\r\n var index = props.gridData.findIndex(x => x.id == rowData.id);\r\n var tempModel = props.gridData;\r\n tempModel[index].files = tempModel[index].files.filter(x => x.id !== id);\r\n props.setGridData([...tempModel]);\r\n }\r\n else {\r\n props.setFiles([...props.files.filter(x => x.id != id)])\r\n }\r\n }\r\n });\r\n }\r\n })\r\n }\r\n\r\n const openFile = (id) => {\r\n attachmentService.openFile(id);\r\n }\r\n return (\r\n <>\r\n\r\n \r\n
Board/Staff Attachments
\r\n \r\n \r\n
\r\n \r\n Additional Comments\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
Board/Staff Responses
\r\n \r\n {props.isUserEditable &&\r\n \r\n \r\n \r\n }\r\n
\r\n
\r\n \r\n \r\n \r\n Document\r\n \r\n {rowData => {\r\n return (<>\r\n {rowData.files.map((item, i) => {\r\n return (\r\n \r\n {props.isUserEditable &&\r\n \r\n }\r\n \r\n \r\n\r\n )\r\n })}\r\n \r\n )\r\n }}\r\n \r\n \r\n \r\n \r\n Date Sent\r\n \r\n {rowData => (rowData.dateSent ? new Date(rowData.dateSent).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Date Received\r\n \r\n {rowData => (rowData.dateReceived ? new Date(rowData.dateReceived).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Board Member\r\n \r\n {rowData => (`${rowData.boardMember.firstName} ${rowData.boardMember.middleName} ${rowData.boardMember.lastName}, ${rowData.boardMember.credentialSuffix}`)}\r\n \r\n \r\n \r\n Decision\r\n \r\n {rowData => (rowData.boardMemberDecision?.boardMemberDecision)}\r\n \r\n \r\n \r\n Comments\r\n \r\n \r\n \r\n {props.isUserEditable &&\r\n \r\n \r\n \r\n \r\n {rowData => {\r\n function handleAction() {\r\n var tempData = { ...rowData, files: [] }\r\n props.openModal(tempData);\r\n }\r\n function handleDelete() {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n var formData = new FormData();\r\n var dataToTransmit = {\r\n ...rowData,\r\n deleted: true,\r\n }\r\n formDataAppender('boardMemberResponse', dataToTransmit, formData);\r\n for (var i = 0; i < rowData.files.length; i++) {\r\n formData.append('files', rowData.files[i].blobFile);\r\n }\r\n boardApprovalService.postBoardResponse(formData).then((response) => {\r\n if (response.status == 200) {\r\n props.setGridData([...props.gridData.filter(x => x.id !== rowData.id)]);\r\n }\r\n })\r\n }\r\n })\r\n }\r\n return (\r\n \r\n   \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n }\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n );\r\n}\r\n\r\nexport default BoardApproval;","import { useState, useEffect } from 'react'\r\nimport { Button, Card, Col, Modal, Row } from 'react-bootstrap'\r\nimport React from 'react'\r\nimport { ControlLabel, Schema, Form, FormControl, FormGroup, InputPicker, Uploader } from 'rsuite'\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\nimport GenericAttachmentGrid from '../../../../Shared/Grid/GenericAttachmentGrid';\r\nimport { getBoardMembers } from '../../../../../services/Shared/codeTable.service';\r\nimport boardApprovalService from '../../../../../services/Internal/Reinstatement/EF/boardApproval.service';\r\nimport attachmentService from '../../../../../services/Shared/attachment.service';\r\nimport Swal from 'sweetalert2';\r\nimport BlockUi from 'react-block-ui';\r\nimport 'react-block-ui/style.css';\r\n\r\nfunction BoardApprovalModal(props) {\r\n\r\n const { ObjectType, DateType } = Schema.Types;\r\n const [blockUi, setBlockUi] = useState(false);\r\n const model = Schema.Model({\r\n dateSent: DateType().isRequired('This field is required.'),\r\n boardMember: ObjectType().isRequired('This field is required.'),\r\n })\r\n const decisionData = [\r\n { \"label\": \"Approved\", \"value\": { id: 1, boardMemberDecision: \"Approved\" } },\r\n { \"label\": \"Declined\", \"value\": { id: 2, boardMemberDecision: \"Declined\" } }];\r\n\r\n const [boardMemebers, setBoardMembers] = useState([])\r\n const [approvalModel, setApprovalModel] = useState()\r\n useEffect(() => {\r\n setApprovalModel(props.modalData);\r\n getBoardMembers().then(setBoardMembers);\r\n }, [props.modalData])\r\n\r\n const formSubmit = (validation, event) => {\r\n if (validation) {\r\n setBlockUi(true);\r\n var formData = new FormData()\r\n var dataToTransmit = {\r\n ...approvalModel,\r\n dateSent: new Date(approvalModel.dateSent).toISOString(),\r\n dateReceived: approvalModel.dateReceived ? new Date(approvalModel.dateReceived).toISOString() : null\r\n }\r\n formDataAppender('boardMemberResponse', dataToTransmit, formData);\r\n for (var i = 0; i < approvalModel.files.length; i++) {\r\n formData.append('files', approvalModel.files[i].blobFile);\r\n }\r\n boardApprovalService.postBoardResponse(formData).then((response) => {\r\n setBlockUi(false);\r\n if (response.data.boardMemberResponse.id) {\r\n props.updateGrid();\r\n props.onHide();\r\n }\r\n\r\n })\r\n }\r\n\r\n }\r\n const formDataAppender = (passedKey, model, formData) => {\r\n for (let key in model) {\r\n if (typeof (model[key]) === 'object') {\r\n formDataAppender(`${passedKey}.${key}`, model[key], formData); // Recursive key for objects\r\n }\r\n else {\r\n if (passedKey)\r\n formData.append(`${passedKey}.${key}`, model[key]);\r\n else\r\n formData.append(`${key}`, model[key]);\r\n }\r\n }\r\n }\r\n const handleChange = (val, e) => {\r\n if (!e) {\r\n var newFiles = approvalModel.files;\r\n newFiles.push(val);\r\n setApprovalModel({ ...approvalModel, files: [...newFiles] })\r\n }\r\n };\r\n const deleteFile = (id) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n setApprovalModel({ ...approvalModel, files: approvalModel.files.filter(x => x.fileKey != id) })\r\n }\r\n })\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Board/Staff Member Response\r\n \r\n \r\n \r\n
setApprovalModel(approvalModel)} onSubmit={formSubmit} fluid>\r\n \r\n \r\n \r\n \r\n Date Sent \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Board/Staff Member \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n Date Received\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Decision\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n File Upload \r\n \r\n \r\n \r\n \r\n \r\n
Click or Drag files to this area to upload
\r\n \r\n \r\n
\r\n \r\n \r\n {approvalModel?.files?.length > 0 &&\r\n
\r\n
\r\n {\r\n return {\r\n id: value.fileKey,\r\n timestamp: new Date().toLocaleDateString(),\r\n file: value.blobFile?.name\r\n }\r\n })}\r\n isSync={true}\r\n tStyle=\"table-bordered\"\r\n name=\"filesForDisplay\" />\r\n
\r\n }\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Comments\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nexport default BoardApprovalModal;","import React, { useState, useEffect } from 'react'\r\nimport { Button, Col, Container, Row } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport BoardApproval from './BoardApproval';\r\nimport BoardApprovalModal from './BoardApprovalModal';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/EF/efReinstatement.service';\r\nimport { useSelector } from 'react-redux';\r\nimport boardApprovalService from '../../../../../services/Internal/Reinstatement/EF/boardApproval.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Swal from 'sweetalert2';\r\nimport dayjs from \"dayjs\";\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction BoardApprovalPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const entityId = useSelector(x => x.currentApplicationEntityId)\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 11;\r\n const [modalShow, setModalShow] = useState(false);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [gridData, setGridData] = useState([]);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineering Firm Reinstatement\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Board/Staff Recommendations\"\r\n }\r\n );\r\n const { BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n isFirmVerifiedBySecretaryOfState: BooleanType().isRequired('This field is required'),\r\n areFirmSupervisingProfessionalsVerified: BooleanType().isRequired('This field is required'),\r\n areFirmRequiredSupervisingProfessionalQuizzesSubmitted: BooleanType().isRequired('This field is required'),\r\n areFirmDisciplinaryActionsChecked: BooleanType().isRequired('This field is required'),\r\n boardApproval: BooleanType().isRequired('This field is required')\r\n })\r\n\r\n const [formModel, setFormModel] = useState({\r\n reinstatementId: reinstatementId,\r\n boardApproval: null,\r\n dateCrte: null,\r\n deleted: false,\r\n entityId: entityId,\r\n isFirmVerifiedBySecretaryOfState: null,\r\n areFirmSupervisingProfessionalsVerified: null,\r\n areFirmRequiredSupervisingProfessionalQuizzesSubmitted: null,\r\n areFirmDisciplinaryActionsChecked: null,\r\n additionalComments: \"\",\r\n id: 0,\r\n userCrte: \"\"\r\n })\r\n const [boardApprovalSectionId, setBoardApprovalSectionId] = useState();\r\n const [modalData, setModalData] = useState({\r\n comments: \"\",\r\n dateCrte: new Date(),\r\n dateReceived: new Date(),\r\n dateSent: new Date(),\r\n deleted: false,\r\n id: 0,\r\n userCrte: \"\",\r\n boardMemberDecision: null,\r\n boardMember: {\r\n appointmentYear: 0,\r\n credentialSuffix: \"\",\r\n expirationYear: 0,\r\n firstName: \"\",\r\n id: 0,\r\n lastName: \"\",\r\n middleName: \"\",\r\n representation: \"\",\r\n suffix: \"\"\r\n },\r\n entityId: entityId,\r\n reinstatementId: reinstatementId,\r\n boardStaffApprovalId: 0,\r\n files: [],\r\n filesForDisplay: [],\r\n filesLoading: false\r\n })\r\n\r\n useEffect(() => {\r\n reinstatementService.efGetSection(reinstatementId, sectionId).then((response) => {\r\n boardApprovalService.getBoardRecommendations(reinstatementId).then((data) => {\r\n setFormModel(data.data);\r\n setModalData({ ...modalData, boardStaffApprovalId: data.data.id })\r\n updateGrid()\r\n setIsComplete(response.data.staffReviewComplete);\r\n setBoardApprovalSectionId(response.data.id);\r\n reinstatementService.getFirmReinstatement(reinstatementId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n }, [])\r\n\r\n const updateGrid = () => {\r\n boardApprovalService.getBoardResponses(reinstatementId).then((vals) => {\r\n if (vals.data?.length)\r\n setGridData(\r\n vals.data.map((value, i) => { return { ...value.boardMemberResponse, files: [...value.attachments] } }))\r\n })\r\n }\r\n const submitData = (val) => {\r\n if (val) {\r\n boardApprovalService.postBoardRecommendation(formModel).then((val) => {\r\n if (val.data) {\r\n reinstatementService.efMarkSectionComplete(reinstatementId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n Swal.fire(\"Saved\", \"Board/Staff approvals have been saved!\", \"success\");\r\n })\r\n }\r\n })\r\n }\r\n }\r\n\r\n const openAddEditModal = (values) => {\r\n if (values.id) {\r\n setModalData({ ...values, dateReceived: values.dateReceived != null ? dayjs(values.dateReceived).format('YYYY-MM-DD') : null, dateSent: values.dateSent != null ? dayjs(values.dateSent).format('YYYY-MM-DD') : null })\r\n }\r\n else {\r\n setModalData({\r\n comments: \"\",\r\n dateCrte: new Date(),\r\n dateReceived: null,\r\n dateSent: null,\r\n deleted: false,\r\n id: 0,\r\n userCrte: \"\",\r\n boardMemberDecision: null,\r\n boardMember: null,\r\n entityId: entityId,\r\n reinstatementId: reinstatementId,\r\n boardStaffApprovalId: formModel.id,\r\n files: [],\r\n filesForDisplay: []\r\n\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n\r\n return (\r\n
\r\n \r\n setModalShow(false)} />\r\n
setFormModel(formModel)} onSubmit={submitData}>\r\n \r\n {hasLoaded ? <>\r\n \r\n \r\n \r\n \r\n  \r\n \r\n   \r\n \r\n {isUserEditable &&\r\n \r\n }\r\n \r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default BoardApprovalPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst FIRMAPP = process.env.REACT_APP_APIURL + \"/api/FirmRenewal\";\r\n\r\nconst getFirmRenewal = async (renewalId) => {\r\n return axios.get(`${FIRMAPP}/renewal`, { headers: authHeader(), params: { renewalId } });;\r\n};\r\n\r\nconst efGetSection = (renewalId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/FirmEfRenewal/section`, { headers: authHeader(), params: { renewalId, sectionId } });\r\n}\r\n\r\nconst efPostSection = (renewalId, sectionId, electronicSignature) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmEfRenewal/signsection`, null, { headers: authHeader(), params: { renewalId, sectionId, electronicSignature } });\r\n}\r\n\r\nconst efMarkSectionComplete = (renewalId, sectionId, complete) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmEfRenewal/marksectioncomplete`, null, { headers: authHeader(), params: { renewalId, sectionId, complete } })\r\n}\r\n\r\nconst postStaffApproval = (renewalId, isApproved) => {\r\n return axios.post(`${FIRMAPP}/staffApproval`, null, { headers: authHeader(), params: { renewalId, isApproved } });\r\n}\r\nconst postRenewalPdf = (renewalId, isApproved) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/Reports/AutoAttachRenewalPdf`, null, { headers: authHeader(), params: { renewalId, isApproved } });\r\n}\r\nconst efPostSectionHasFirmSubmittedSupervisingProfessional = (renewalId, sectionId, hasFirmSubmittedSupervisingProfessional) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmEfRenewal/setsectionhasfirmsubmittedsupervisingprofessional`, null, { headers: authHeader(), params: { renewalId, sectionId, hasFirmSubmittedSupervisingProfessional } });\r\n}\r\n\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Verify personal and contact information is correct and accurate.\",\r\n },\r\n {\r\n id: 9,\r\n sectionTitle: \"Certificate of Authority\",\r\n sectionContent: \"Verify information requested and upload any supporting documents.\",\r\n },\r\n {\r\n id: 5,\r\n sectionTitle: \"Firm Supervising Professionals\",\r\n sectionContent: \"Certify any supervising professionals working on behalf of a firm.\",\r\n },\r\n {\r\n id: 4,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 7,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Verify you have read the Rules for Professional Engineers and Land Surveyors (LAC Title 46, Part LXI), and agree.\",\r\n },\r\n {\r\n id: 8,\r\n sectionTitle: \"Review\",\r\n sectionContent: 'Review your answers. If you need to change an answer, click the \"Section\" above to go back to the appropriate section',\r\n }\r\n])\r\n\r\nexport default {\r\n efGetSection,\r\n efPostSection,\r\n efMarkSectionComplete,\r\n postStaffApproval,\r\n getFirmRenewal,\r\n efPostSectionHasFirmSubmittedSupervisingProfessional,\r\n postRenewalPdf\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, ListGroup, Button } from 'react-bootstrap';\r\nimport Section from '../../../Shared/Sections/Section';\r\nimport renewalService, { getSections } from \"../../../../services/Internal/Renewal/EF/efRenewal.service\";\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Information from '../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../Shared/InformationContent/EFInformation';\r\nimport entityService from '../../../../services/Internal/Staff/entity.service';\r\nimport Swal from 'sweetalert2';\r\nimport InternalTaskInfo from '../../Shared/InternalTaskInfo';\r\nimport FormEntityInformation from '../../Shared/FormEntityInformation';\r\nimport recentQueueService from '../../../../services/Internal/Recent/recentQueue.service'\r\nimport issuesService from '../../../../services/Shared/issues.service';\r\n\r\nfunction Index() {\r\n const marginRight = {\r\n marginRight: '1rem'\r\n }\r\n const [showSectionButton, setShowSectionButton] = useState(true);\r\n const [justLicensed, setJustLicensed] = useState(false);\r\n const [sections, setSections] = useState(null);\r\n const dispatch = useDispatch();\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineering Firm Renewal\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"\"\r\n }\r\n );\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const selector = useSelector(x => x);\r\n useEffect(() => {\r\n var routes = JSON.parse(localStorage.getItem('PERSIST_CURRENT_ROUTE')) ?? selector.currentRoutes;\r\n var currentAppId = localStorage.getItem('PERSIST_CURRENT_APP_ID') ?? selector.currentApplicationId;\r\n var currentEntityID = localStorage.getItem('PERSIST_CURRENT_APP_ENTITY_ID') ?? selector.currentApplicationEntityId;\r\n var currentAppTypeId = localStorage.getItem('PERSIST_CURRENT_APP_TYPE_ID') ?? selector.currentApplicationTypeId;\r\n if (localStorage.getItem('PERSIST_CURRENT_APP_ID')) {\r\n localStorage.removeItem('PERSIST_CURRENT_ROUTE');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ENTITY_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_TYPE_ID');\r\n\r\n dispatch({ type: \"PERSIST_CURRENT_ROUTE\", payload: routes });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: currentAppId });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ENTITY_ID\", payload: currentEntityID });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_TYPE_ID\", payload: currentAppTypeId });\r\n }\r\n //Add to recent Queue\r\n recentQueueService.updateRecentQueue({\r\n entityId: currentEntityID,\r\n parentId: currentAppId,\r\n parentTypeId: 3,\r\n appTypeId: 7,\r\n routes: JSON.stringify(routes)\r\n }).then((data) => {\r\n var token = parseInt(localStorage.getItem('updateRecentQueue')) ? parseInt(localStorage.getItem('updateRecentQueue')) : 0;\r\n localStorage.setItem('updateRecentQueue', token + 1)\r\n dispatch({ type: \"PERSIST_CURRENT_RECENT_QUEUE\", payload: parseInt(localStorage.getItem('updateRecentQueue')) });\r\n })\r\n\r\n renewalService.getFirmRenewal(currentAppId).then((sectionResponse) => {\r\n entityService.getEntity(currentEntityID).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: sectionResponse.data?.credential?.formattedLicenseNumber,\r\n applicationDate: sectionResponse.data?.dateSubmitted\r\n })\r\n });\r\n setHasLoaded(true);\r\n if (sectionResponse.data.sections.findIndex((element) => element.staffReviewComplete === false) !== -1 || sectionResponse.data.status.id !== 2) {// status id 2 = pending\r\n setShowSectionButton(false);\r\n }\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(2, currentAppId).then((data) => {\r\n setSections(routes != null ? routes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route\r\n var index = sectionResponse.data.sections.findIndex(x => x.sectionType?.id == section.id);\r\n if (index !== -1) {\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (sectionResponse.data.sections[index].staffReviewComplete)\r\n section.status = \"COMPLETE\";\r\n else if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n })\r\n })\r\n })\r\n }, [])\r\n const sendStaffApproval = (isApproved) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: `Do you want to ${isApproved ? 'license' : 'decline'} this renewal? You won't be able to revert this!`,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continue!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n Swal.fire({\r\n title: `${isApproved ? 'Licensing' : 'Declining'} Renewal`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n renewalService.postStaffApproval(selector.currentApplicationId, isApproved).then((response) => {\r\n if (response.data) {\r\n setShowSectionButton(false);\r\n Swal.fire({\r\n title: `Saving PDF`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n renewalService.postRenewalPdf(response.data.id, isApproved).then((data) => {\r\n if (data.data) {\r\n setJustLicensed(true);\r\n Swal.fire(\"Saved\", `The renewal was successfully ${isApproved ? 'approved' : 'declined'}!`, \"success\")\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n \r\n

Sections to Complete

\r\n \r\n {sections}\r\n \r\n \r\n
\r\n {showSectionButton &&\r\n
\r\n \r\n \r\n
\r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Index;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EFRENEWALURL = process.env.REACT_APP_APIURL + \"/api/FirmEfRenewal\";\r\n\r\nconst getContactInformation = (renewalId) => {\r\n return axios.get(`${EFRENEWALURL}/contactinformation`, { headers: authHeader(), params: { renewalId } });\r\n}\r\n\r\nexport default {\r\n getContactInformation\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport { Form } from 'rsuite';\r\nimport dayjs from 'dayjs';\r\nimport { GetFirmGeneralContactInformationInstructions } from '../../../../Shared/InformationContent/GeneralInformation'\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport contactService from '../../../../../services/Internal/Renewal/EF/contact.service';\r\nimport renewalService from '../../../../../services/Internal/Renewal/EF/efRenewal.service';\r\nimport MailingAddress from '../../../../Shared/Card/Contact/MailingAddress';\r\nimport FirmInformation from '../../../../Shared/Card/Contact/FirmInformation';\r\nimport PublicAddress from '../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport Swal from 'sweetalert2';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction ContactInformationPage() {\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineering Firm Renewal\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Contact Information\"\r\n }\r\n );\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const [sectionData, setSectionData] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n\r\n useEffect(() => {\r\n contactService.getContactInformation(renewalId).then((response) => {\r\n var data = response.data;\r\n setFormModel({\r\n ...data,\r\n dateOfFormation: data.dateOfFormation != null ? dayjs(data.dateOfFormation).format('YYYY-MM-DD') : null,\r\n orgType: data.organizationType?.code,\r\n primaryEmail: data.primaryEmailAddress?.emailAddress,\r\n phoneNum: data.phone?.phoneNumber\r\n\r\n })\r\n renewalService.efGetSection(renewalId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n renewalService.getFirmRenewal(renewalId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n }, [])\r\n\r\n const [formModel, setFormModel] = useState({})\r\n\r\n const [tabPane, setTabPane] = useState(\"firmInformation\")\r\n\r\n const submitData = () => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n renewalService.efMarkSectionComplete(renewalId, sectionId, isComplete).then((markSectionResponse) => {\r\n if (markSectionResponse.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n else\r\n Swal.fire(\"Failed to mark section complete\");\r\n });\r\n }\r\n\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)}\r\n onSubmit={submitData} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n {hasLoaded &&\r\n\r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EFRENEWALURL = process.env.REACT_APP_APIURL + \"/api/FirmEfRenewal\";\r\n\r\nconst getViolation = (renewalId) => {\r\n return axios.get(`${EFRENEWALURL}/violation`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nconst postViolation = (data) => {\r\n return axios.post(`${EFRENEWALURL}/violation`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getViolation,\r\n postViolation\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport { useSelector } from 'react-redux';\r\nimport ViolationService from '../../../../../services/Internal/Renewal/EF/violation.service';\r\nimport renewalService from '../../../../../services/Internal/Renewal/EF/efRenewal.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/EFInformation';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport { getRenewalCodeViolationAnswers } from '../../../../../services/Shared/codeTable.service';\r\nimport GenericViolations from '../../../../Shared/Card/Violations';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 4;\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineering Firm Renewal\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Violations\"\r\n }\r\n );\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n yesAnswerExplanation: StringType().isRequired('This field is required.'),\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n renewalService.efGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n setIsComplete(response.data.staffReviewComplete);\r\n renewalService.getFirmRenewal(store.currentApplicationId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n });\r\n ViolationService.getViolation(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, issues: formData.issues, files: formData.files, filesForDisplay: formData.filesForDisplay });\r\n }\r\n else {\r\n getRenewalCodeViolationAnswers(1).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n });\r\n })\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n yesAnswerExplanation: \"\",\r\n files: [],\r\n filesForDisplay: [],\r\n issues: [\r\n ]\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true) >= 0;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n setShowFormErrors(true)\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, renewalId: store.currentApplicationId, entityId: store.currentApplicationEntityId };\r\n ViolationService.postViolation(dataTransfer).then((response) => {\r\n renewalService.efPostSection(store.currentApplicationId, sectionId, formData.signature).then((response) => {\r\n renewalService.efMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((data) => {\r\n if (response.data && data.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n })\r\n })\r\n });\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/EFInformation';\r\nimport renewalService from '../../../../../services/Internal/Renewal/EF/efRenewal.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport SupervisingProfessional from '../../../../Shared/Card/SupervisingProfessional';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction SupervisingProfessionalPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 5;\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineering Firm Renewal\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Supervising Professional\"\r\n }\r\n );\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasFirmSubmittedSupervisingProfessional: BooleanType().isRequired('This field is required.'),\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n renewalService.efGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n renewalService.getFirmRenewal(store.currentApplicationId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const { push } = useHistory();\r\n const showAdditionalFields = sectionData.hasFirmSubmittedSupervisingProfessional;\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (val) {\r\n renewalService.efPostSection(store.currentApplicationId, sectionId, sectionData.electronicSignature).then((response) => {\r\n if (response.data) {\r\n renewalService.efPostSectionHasFirmSubmittedSupervisingProfessional(store.currentApplicationId, sectionId, sectionData.hasFirmSubmittedSupervisingProfessional).then((data) => {\r\n if (data.data) {\r\n renewalService.efMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((markSectionResponse) => {\r\n if (markSectionResponse.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n else\r\n Swal.fire(\"Failed to mark section complete\");\r\n });\r\n }\r\n else\r\n Swal.fire(\"Failed to post supervising professional section\");\r\n })\r\n }\r\n })\r\n }\r\n }\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default SupervisingProfessionalPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport renewalService from '../../../../../services/Internal/Renewal/EF/efRenewal.service';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport Acknowledgement from '../../../../Shared/Card/FirmAcknowledgement';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/EFInformation';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction AcknowledgementPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineering Firm Renewal\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Acknowledgement\"\r\n }\r\n );\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const sectionId = 7; // Revisit\r\n const [formModel, setFormModel] = useState({})\r\n useEffect(() => {\r\n renewalService.efGetSection(renewalId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n renewalService.getFirmRenewal(renewalId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n const submitData = (isForSubmit) => {\r\n\r\n renewalService.efPostSection(renewalId, sectionId, formModel.electronicSignature).then((response) => {\r\n renewalService.efMarkSectionComplete(renewalId, sectionId, isComplete).then((data) => {\r\n if (isForSubmit && response.data.id && data.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data.id && data.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/EFInformation';\r\nimport renewalService from '../../../../../services/Internal/Renewal/EF/efRenewal.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport WavierCertificate from '../../../../Shared/Card/WaiverCertificate';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction WaiverCertificatePage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineering Firm Renewal\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Certificate of Authority\"\r\n }\r\n );\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 9;\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n renewalService.efGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n renewalService.getFirmRenewal(store.currentApplicationId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const { push } = useHistory();\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (val) {\r\n renewalService.efPostSection(store.currentApplicationId, sectionId, sectionData.electronicSignature).then((response) => {\r\n if (response.data) {\r\n renewalService.efMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((markSectionResponse) => {\r\n if (markSectionResponse.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else\r\n Swal.fire(\"Failed to mark section as complete\");\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default WaiverCertificatePage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/EFInformation';\r\nimport efRenewalService from '../../../../../services/Internal/Renewal/EF/efRenewal.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../Shared/Card/ReviewPdf';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport { Form } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\n\r\nfunction ReviewPage() {\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const { push } = useHistory();\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineering Firm Renewal\",\r\n isIndividual: false,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Review\"\r\n }\r\n );\r\n const sectionId = 8;\r\n useEffect(() => {\r\n efRenewalService.efGetSection(appId, sectionId).then((response) => {\r\n setIsComplete(response.data.staffReviewComplete);\r\n efRenewalService.getFirmRenewal(appId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n\r\n const formSubmit = () => {\r\n if (!isUserEditable) {\r\n push(\"/internal/efrenewal/sections\");\r\n }\r\n else {\r\n efRenewalService.efMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n push(\"/internal/efrenewal/sections\");\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {hasLoaded ?\r\n <>\r\n {violationIssuesHtml}\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import React from 'react';\r\nimport { Card } from 'react-bootstrap'\r\nfunction Information() {\r\n return (\r\n
\r\n \r\n
Requirements/Information
\r\n \r\n

NOTE: Applications are subject to revision and modification at any time.

\r\n
    \r\n
  • Read all of the instructions before you begin.
  • \r\n
  • Much of this information may be included in your MY NCEES account.
  • \r\n
  • If you do not have a MY NCEES account, you must provide all required documents.
  • \r\n
  • Complete all required sections of the application; incomplete applications will not be processed.
  • \r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Information;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst peGetSection = (applicationId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/IndividualPeApplication/section`, { headers: authHeader(), params: { applicationId, sectionId } });\r\n}\r\nconst pePostSection = (applicationId, sectionId, electronicSignature) => {\r\n\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPeApplication/signsection`, null, { headers: authHeader(), params: { applicationId, sectionId, electronicSignature } });\r\n}\r\nconst pePostSectionHasRef = (applicationId, sectionId, hasReferences) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPeApplication/setsectionhasreferences`, null, { headers: authHeader(), params: { applicationId, sectionId, hasReferences } });\r\n}\r\nconst pePostSectionHasMyNceesEducation = (applicationId, sectionId, hasMyNceesEducation) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPeApplication/setsectionhasmynceeseducation`, null, { headers: authHeader(), params: { applicationId, sectionId, hasMyNceesEducation } });\r\n}\r\n\r\nconst pePostSectionHasExperience = (applicationId, sectionId, hasMyNceesExperience) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPeApplication/setsectionhasmynceesexperience`, null, { headers: authHeader(), params: { applicationId, sectionId, hasMyNceesExperience } });\r\n}\r\nconst peMarkSectionComplete = (applicationId, sectionId, complete) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPeApplication/marksectioncomplete`, null, { headers: authHeader(), params: { applicationId, sectionId, complete } })\r\n}\r\n\r\nconst postStaffApproval = (applicationId, isApproved) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualApplication/staffApproval`, null, { headers: authHeader(), params: { applicationId, isApproved } });\r\n}\r\n\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Complete this section providing all required contact information.\",\r\n },\r\n {\r\n id: 2,\r\n sectionTitle: \"Education\",\r\n sectionContent: \"Complete this section listing all colleges and universities attended where a degree was conferred.\",\r\n },\r\n {\r\n id: 3,\r\n sectionTitle: \"Personal References\",\r\n sectionContent: \"Complete this section listing all personal references.\",\r\n },\r\n {\r\n id: 4,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 5,\r\n sectionTitle: \"Employment\",\r\n sectionContent: \"Verify Louisiana Employment Firm licensure\",\r\n },\r\n {\r\n id: 7,\r\n sectionTitle: \"Experience Record\",\r\n sectionContent: \"Total experience record summary\",\r\n },\r\n {\r\n id: 17,\r\n sectionTitle: \"Residency\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 6,\r\n sectionTitle: \"Quizzes\",\r\n sectionContent: \"Upload the confirmation for Online Laws and Rules, the Online Professionalism & Ethics and the Online Louisiana Standards of Practice for Boundary Surveys quizzes.\",\r\n },\r\n {\r\n id: 16,\r\n sectionTitle: \"Co-op Experience\",\r\n sectionContent: \"Complete this section listing all co-op experience.\",\r\n },\r\n {\r\n id: 8,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Electronically sign (type your name) and date.\",\r\n },\r\n {\r\n id: 9,\r\n sectionTitle: \"Review\",\r\n sectionContent: 'Review your answers. If you need to change an answer, click the \"Section\" above to go back to the appropriate section',\r\n },\r\n {\r\n id: 10,\r\n sectionTitle: \"Board/Staff Recommendations\",\r\n sectionContent: 'Waiting on text',\r\n }\r\n])\r\n\r\nexport default {\r\n peGetSection,\r\n pePostSection,\r\n pePostSectionHasRef,\r\n pePostSectionHasMyNceesEducation,\r\n pePostSectionHasExperience,\r\n peMarkSectionComplete,\r\n postStaffApproval\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, ListGroup, Button } from 'react-bootstrap';\r\nimport Section from '../../../../Shared/Sections/Section';\r\nimport Information from './Information';\r\nimport { getSections } from \"../../../../../services/Internal/Application/PE/peApplication.service\";\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport Swal from 'sweetalert2';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport InternalTaskInfo from '../../../Shared/InternalTaskInfo';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\nimport recentQueueService from '../../../../../services/Internal/Recent/recentQueue.service'\r\nimport issuesService from '../../../../../services/Shared/issues.service';\r\n\r\nfunction Index() {\r\n const marginRight = {\r\n marginRight: '1rem'\r\n }\r\n const [sections, setSections] = useState(null);\r\n const [showSectionButton, setShowSectionButton] = useState(true);\r\n const [justLicensed, setJustLicensed] = useState(false);\r\n const dispatch = useDispatch();\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Application \",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"\"\r\n }\r\n );\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const selector = useSelector(x => x);\r\n useEffect(() => {\r\n var routes = JSON.parse(localStorage.getItem('PERSIST_CURRENT_ROUTE')) ?? selector.currentRoutes;\r\n var currentAppId = localStorage.getItem('PERSIST_CURRENT_APP_ID') ?? selector.currentApplicationId;\r\n var currentEntityID = localStorage.getItem('PERSIST_CURRENT_APP_ENTITY_ID') ?? selector.currentApplicationEntityId;\r\n var currentAppTypeId = localStorage.getItem('PERSIST_CURRENT_APP_TYPE_ID') ?? selector.currentApplicationTypeId;\r\n if (localStorage.getItem('PERSIST_CURRENT_APP_ID')) {\r\n localStorage.removeItem('PERSIST_CURRENT_ROUTE');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ENTITY_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_TYPE_ID');\r\n\r\n dispatch({ type: \"PERSIST_CURRENT_ROUTE\", payload: routes });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: currentAppId });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ENTITY_ID\", payload: currentEntityID });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_TYPE_ID\", payload: currentAppTypeId });\r\n }\r\n //Add to recent Queue\r\n recentQueueService.updateRecentQueue({\r\n entityId: currentEntityID,\r\n parentId: currentAppId,\r\n parentTypeId: 2,\r\n appTypeId: currentAppTypeId,\r\n routes: JSON.stringify(routes)\r\n }).then((data) => {\r\n var token = parseInt(localStorage.getItem('updateRecentQueue')) ? parseInt(localStorage.getItem('updateRecentQueue')) : 0;\r\n localStorage.setItem('updateRecentQueue', token + 1)\r\n dispatch({ type: \"PERSIST_CURRENT_RECENT_QUEUE\", payload: parseInt(localStorage.getItem('updateRecentQueue')) });\r\n })\r\n\r\n applicationService.getIndividualApplication(currentAppId).then((sectionResponse) => {\r\n entityService.getEntity(currentEntityID).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: sectionResponse.data?.credential?.formattedLicenseNumber,\r\n applicationDate: sectionResponse.data?.dateSubmitted\r\n })\r\n });\r\n setHasLoaded(true);\r\n if (sectionResponse.data.sections.findIndex((element) => element.staffReviewComplete === false) !== -1 || sectionResponse.data.status.id !== 2) {// status id 2 = pending\r\n setShowSectionButton(false);\r\n }\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(1, currentAppId).then((data) => {\r\n setSections(routes != null ? routes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route\r\n var index = sectionResponse.data.sections.findIndex(x => x.sectionType?.id == section.id);\r\n if (index !== -1) {\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (sectionResponse.data.sections[index].staffReviewComplete)\r\n section.status = \"COMPLETE\";\r\n else if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n })\r\n })\r\n })\r\n }, [])\r\n\r\n const sendStaffApproval = (isApproved) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: `Do you want to ${isApproved ? 'license' : 'decline'} this application? You won't be able to revert this!`,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continue!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n Swal.fire({\r\n title: `${isApproved ? 'Licensing' : 'Declining'} Application`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n applicationService.postStaffApproval(selector.currentApplicationId, isApproved).then((response) => {\r\n if (response.data) {\r\n setShowSectionButton(false);\r\n Swal.fire({\r\n title: `Saving PDF`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n applicationService.postApplicationPdf(response.data.id, isApproved).then((data) => {\r\n if (data.data) {\r\n setJustLicensed(true);\r\n Swal.fire(\"Saved\", `The application was successfully ${isApproved ? 'approved' : 'declined'}!`, \"success\")\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n })\r\n }\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n \r\n

Sections to Complete

\r\n \r\n {sections}\r\n \r\n \r\n
\r\n {showSectionButton &&\r\n
\r\n \r\n \r\n
\r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Index;","import React, { useEffect, useState } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { Form } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/PeInformation'\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { useHistory } from 'react-router-dom';\r\nimport PersonalInformation from '../../../../Shared/Card/Contact/PersonalInformation';\r\nimport MailingAddress from '../../../../Shared/Card/Contact/MailingAddress';\r\nimport PublicAddress from '../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport publicApplicationService from '../../../../../services/Public/Application/PE/peApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport contactService from '../../../../../services/Public/Application/PE/contact.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport dayjs from 'dayjs';\r\nimport peApplicationService from '../../../../../services/Internal/Application/PE/peApplication.service';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction ContactInformationPage() {\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const { push } = useHistory();\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 3 ? \"By Comity\" : appTypeId == 4 ? \"By Exam\" : \"\";\r\n const [formModel, setFormModel] = useState({});\r\n const [tabPane, setTabPane] = useState(\"personalInformation\")\r\n const [sectionData, setSectionData] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Application \" + appType,\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Contact Information\"\r\n }\r\n );\r\n useEffect(() => {\r\n contactService.getContactInformation(appId).then((response) => {\r\n var data = response.data;\r\n\r\n setFormModel({\r\n ...data,\r\n dateOfBirth: data.dateOfBirth != null ? dayjs(data.dateOfBirth).format('YYYY-MM-DD') : null,\r\n altEmail: data.alternateEmailAddress?.emailAddress,\r\n primaryEmail: data.primaryEmailAddress?.emailAddress,\r\n cellPhoneNum: data.cellPhone?.phoneNumber,\r\n workPhoneNum: data.workPhone?.phoneNumber,\r\n homePhoneNum: data.homePhone?.phoneNumber,\r\n isActiveMilitary: data.isActiveMilitary == \"True\" ? true : data.isActiveMilitary == \"False\" ? false : null,\r\n isActiveMilitarySpouse: data.isActiveMilitarySpouse == \"True\" ? true : data.isActiveMilitarySpouse == \"False\" ? false : null,\r\n })\r\n publicApplicationService.peGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n applicationService.getIndividualApplication(appId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n }, [])\r\n\r\n const formSubmit = (validation, event) => {\r\n submitData(true);\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n contactService.postContactInformation(appId, formModel.certificateName, formModel.isActiveMilitary, formModel.baseStationed, formModel.isActiveMilitarySpouse, formModel.spouseBaseStationed).then((response) => {\r\n peApplicationService.peMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (isForSubmit && response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)} onSubmit={formSubmit} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import React, { useState, useEffect } from 'react';\r\nimport { Card, Row, Col, Button } from 'react-bootstrap'\r\nimport { Icon, Table } from 'rsuite';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport EducationService from '../../../../../services/Public/Application/PE/education.service'\r\nimport Swal from 'sweetalert2';\r\nimport dayjs from 'dayjs';\r\nimport YesNoRadioOption from '../../../../Shared/RadioButton/YesNoRadioOption';\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction EducationRecord(props) {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [gridData, setGridData] = useState([]);\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n\r\n const handleChangePage = (dataKey) => {\r\n setPage(dataKey);\r\n }\r\n const handleChangeLength = (dataKey) => {\r\n setPage(1);\r\n setDisplayLength(dataKey);\r\n }\r\n useEffect(() => {\r\n reloadGrid();\r\n }, [props.reloadGrid])\r\n const reloadGrid = () => {\r\n setHasLoaded(false);\r\n EducationService.getEducationRecords(props.applicationId).then((response) => {\r\n setGridData(response.data)\r\n setHasLoaded(true);\r\n });\r\n }\r\n const getData = () => {\r\n return gridData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const filteredData = getData();\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
Education Records
\r\n \r\n {(!props.isReadOnly && props.hideGrid == false && gridData.length > 0) &&\r\n \r\n \r\n \r\n }\r\n
\r\n
\r\n \r\n

\r\n I have education records verified in MyNCEES account.\r\n

\r\n
\r\n \r\n {(props.hideGrid === false) &&\r\n <>\r\n {hasLoaded ?\r\n <>\r\n {\r\n gridData.length > 0 ?\r\n <>\r\n Transcript(s) need to be verified in MyNCEES. Transcript(s) are not accepted from applicants.\r\n
\r\n
\r\n \r\n \r\n \r\n Institution\r\n \r\n {rowData => (rowData.school.name)}\r\n \r\n \r\n \r\n Dates From/To\r\n \r\n {rowData => (`${dayjs(rowData.attendanceStartDate).format('MMM YYYY')} - ${dayjs(rowData.attendanceEndDate).format('MMM YYYY')}`)}\r\n \r\n \r\n \r\n Graduation Date\r\n \r\n {rowData => (`${rowData.graduationDate ? new Date(rowData.graduationDate).toLocaleDateString() : ''}`)}\r\n \r\n \r\n \r\n Major\r\n \r\n \r\n \r\n \r\n \r\n Degree\r\n \r\n {rowData => (`${rowData.degree ? rowData.degree.degree : ''}`)}\r\n \r\n {\r\n !props.isReadOnly &&\r\n \r\n \r\n \r\n \r\n {rowData => {\r\n function handleAction() {\r\n\r\n props.openModal(rowData);\r\n }\r\n function handleDelete() {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n EducationService.postEducationRecord({ ...rowData, deleted: true }).then((response) => {\r\n reloadGrid();\r\n })\r\n }\r\n })\r\n }\r\n return (\r\n \r\n   \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n }\r\n
\r\n \r\n :\r\n Transcript(s) are not accepted from applicants. Please have transcript(s) verified on your MyNCEES account for application processing. If you have any questions, please contact LAPELS staff at applications@lapels.com\r\n }\r\n : }\r\n \r\n }\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\nexport default EducationRecord;","import React, { useEffect, useState } from 'react';\r\nimport { Container } from 'react-bootstrap';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport EducationRecord from './EducationRecords';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/PeInformation';\r\nimport AddEditEducationRecordsModal from '../../../../Shared/Modal/AddEditEducationRecordsModal';\r\nimport { useSelector } from 'react-redux';\r\nimport publicApplicationService from '../../../../../services/Public/Application/PE/peApplication.service';\r\nimport educationService from '../../../../../services/Public/Application/PE/education.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport dayjs from 'dayjs';\r\nimport peApplicationService from '../../../../../services/Internal/Application/PE/peApplication.service';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction EducationPage() {\r\n const [hideGrids, setHideGrids] = useState(true);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [modalShow, setModalShow] = useState(false);\r\n const [modalData, setModalData] = useState({});\r\n const { push } = useHistory();\r\n const entityId = useSelector(x => x.currentApplicationEntityId)\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 3 ? \"By Comity\" : appTypeId == 4 ? \"By Exam\" : \"\";\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 2;\r\n const [sectionData, setSectionData] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Application \" + appType,\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Education\"\r\n }\r\n );\r\n useEffect(() => {\r\n setHasLoaded(false)\r\n publicApplicationService.peGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n setHideGrids(response.data.hasMyNceesEducation ?? true);\r\n applicationService.getIndividualApplication(appId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n const { BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasMyNceesEducation: BooleanType().isRequired('This field is required.')\r\n });\r\n const handleMyNceesEducationChange = (val) => {\r\n setHideGrids(val);\r\n }\r\n const openModal = (values) => {\r\n if (values.id) {\r\n setModalData(\r\n {\r\n ...values,\r\n attendanceEndDate: values.attendanceEndDate ? dayjs(values.attendanceEndDate).format('YYYY-MM') : null,\r\n attendanceStartDate: values.attendanceStartDate ? dayjs(values.attendanceStartDate).format('YYYY-MM') : null,\r\n graduationDate: values.graduationDate ? dayjs(values.graduationDate).format('YYYY-MM-DD') : null,\r\n modalType: 'Edit'\r\n });\r\n }\r\n else {\r\n setModalData({\r\n applicationId: appId,\r\n attendanceEndDate: null,\r\n attendanceStartDate: null,\r\n dateCrte: new Date(),\r\n degree: null,\r\n deleted: false,\r\n didGraduate: '',\r\n entityId: entityId,\r\n graduationDate: null,\r\n id: '',\r\n major: '',\r\n school: null,\r\n userCrte: '',\r\n modalType: \"Add\"\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n\r\n const [reloadGrid, setReloadGrid] = useState(1);\r\n\r\n const submitForm = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n publicApplicationService.pePostSectionHasMyNceesEducation(appId, sectionId, sectionData.hasMyNceesEducation).then(() => {\r\n peApplicationService.peMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n })\r\n }\r\n }\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded ? <>\r\n {\r\n modalShow &&\r\n { var data = 1 + reloadGrid; setReloadGrid(data) }} modaldata={modalData} show={modalShow} onHide={() => setModalShow(false)} proptitle=\"Add\" />\r\n }\r\n\r\n setSectionData(data)}\r\n readOnly={!isUserEditable}\r\n >\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default EducationPage;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PEAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeApplication\";\r\n\r\nconst getPersonalReferences = (applicationId) => {\r\n return axios.get(`${PEAPPLICATIONURL}/personalreferences`, { headers: authHeader(), params: {applicationId} });\r\n}\r\nconst postPersonalReference = (data) => {\r\n return axios.post(`${PEAPPLICATIONURL}/personalreference`, data, { headers: authHeader() });\r\n}\r\n\r\nconst sendPersonalReferenceEmail = (referenceId) => {\r\n return axios.post(`${PEAPPLICATIONURL}/sendreferenceemail`, null, { headers: authHeader(), params:{referenceId} });\r\n}\r\nconst downloadPersonalReferences = (applicationId, credType) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/Reports/GetApplicationPersonalReferences`, { headers: authHeader(), params: { applicationId: applicationId, credType: credType }, responseType: 'arraybuffer' });\r\n}\r\nexport default {\r\n getPersonalReferences,\r\n postPersonalReference,\r\n sendPersonalReferenceEmail,\r\n downloadPersonalReferences\r\n}","import React, { useState, useEffect } from 'react'\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Container } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useSelector } from 'react-redux';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons'\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/PeInformation';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport AddEditPersonalReferenceModal from '../../../../Shared/Modal/AddEditPersonalReferenceModal';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport References from '../../../../Shared/Card/References';\r\n\r\nimport personalReferenceService from '../../../../../services/Internal/Application/PE/personalReferences.service'\r\nimport publicApplicationService from '../../../../../services/Public/Application/PE/peApplication.service';\r\nimport Swal from 'sweetalert2';\r\nimport dayjs from 'dayjs';\r\nimport peApplicationService from '../../../../../services/Internal/Application/PE/peApplication.service';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\nimport ExternalFormModal from '../../../../Shared/Modal/ExternalFormModal';\r\n\r\nfunction PersonalReferencesPage() {\r\n const { push } = useHistory();\r\n const [modalShow, setModalShow] = useState(false);\r\n const [hasLoaded, setHasLoaded] = useState(true);\r\n const [verifierModalShow, setVerifierModalShow] = useState(false);\r\n const [verifierId, setVerifierId] = useState(0);\r\n const entityId = useSelector(x => x.currentApplicationEntityId)\r\n const applicationId = useSelector(x => x.currentApplicationId);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 3 ? \"By Comity\" : appTypeId == 4 ? \"By Exam\" : \"\";\r\n const sectionId = 3;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [isComplete, setIsComplete] = useState(false);\r\n\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Application \" + appType,\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"References\"\r\n }\r\n );\r\n const [modalData, setModalData] = useState({\r\n address: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: 0,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n firstOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: 0,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n secondOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: 0,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n applicationId: 0,\r\n dateCrte: null,\r\n deleted: false,\r\n email: \"\",\r\n entityId: 0,\r\n id: 0,\r\n name: \"\",\r\n userCrte: \"\",\r\n verificationStatus: null,\r\n membersOfSameFirm: null,\r\n notMembersOfSameFirmExplanation: '',\r\n dateFromFirstOccasion: null,\r\n dateToFirstOccasion: null,\r\n firstOccasionFirmName: '',\r\n firstOccasionPosition: '',\r\n firstOccasionReferencePosition: '',\r\n dateToSecondOccasion: null,\r\n dateFromSecondOccasion: null,\r\n secondOccasionFirmName: '',\r\n secondOccasionPosition: '',\r\n secondOccasionReferencePosition: '',\r\n modalType: \"Add\"\r\n });\r\n const [gridData, setGridData] = useState([]);\r\n const [sectionData, setSectionData] = useState({});\r\n\r\n useEffect(() => {\r\n setHasLoaded(false)\r\n publicApplicationService.peGetSection(applicationId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n updateGridData();\r\n setIsComplete(response.data.staffReviewComplete)\r\n applicationService.getIndividualApplication(applicationId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n\r\n\r\n const updateGridData = () => {\r\n personalReferenceService.getPersonalReferences(applicationId).then((response) => {\r\n setGridData(response.data);\r\n });\r\n }\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.'),\r\n hasReferences: BooleanType().isRequired('This field is required.')\r\n });\r\n const openAddEditModal = (values) => {\r\n if (isUserEditable) {\r\n if (values.id) {\r\n var data = {\r\n ...values,\r\n dateToFirstOccasion: values.dateToFirstOccasion ? dayjs(values.dateToFirstOccasion).format('YYYY-MM') : null,\r\n dateFromFirstOccasion: values.dateFromFirstOccasion ? dayjs(values.dateFromFirstOccasion).format('YYYY-MM') : null,\r\n dateToSecondOccasion: values.dateToSecondOccasion ? dayjs(values.dateToSecondOccasion).format('YYYY-MM') : null,\r\n dateFromSecondOccasion: values.dateFromSecondOccasion ? dayjs(values.dateFromSecondOccasion).format('YYYY-MM') : null,\r\n modalType: \"Edit\"\r\n }\r\n setModalData(data);\r\n }\r\n else {\r\n setModalData({\r\n address: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: entityId,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n firstOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: entityId,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n secondOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: entityId,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n applicationId: applicationId,\r\n dateCrte: null,\r\n deleted: false,\r\n email: \"\",\r\n entityId: entityId,\r\n id: 0,\r\n name: \"\",\r\n userCrte: \"\",\r\n verificationStatus: null,\r\n membersOfSameFirm: null,\r\n notMembersOfSameFirmExplanation: '',\r\n dateFromFirstOccasion: null,\r\n dateToFirstOccasion: null,\r\n firstOccasionFirmName: '',\r\n firstOccasionPosition: '',\r\n firstOccasionReferencePosition: '',\r\n dateToSecondOccasion: null,\r\n dateFromSecondOccasion: null,\r\n secondOccasionFirmName: '',\r\n secondOccasionPosition: '',\r\n secondOccasionReferencePosition: '',\r\n modalType: \"Add\"\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n }\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n publicApplicationService.pePostSection(applicationId, sectionId, sectionData.electronicSignature).then((signatureResponse) => {\r\n publicApplicationService.pePostSectionHasRef(applicationId, sectionId, sectionData.hasReferences).then((response) => {\r\n peApplicationService.peMarkSectionComplete(applicationId, sectionId, isComplete).then((data) => {\r\n if (response.data && signatureResponse.data) // If both return something it's good to go\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n });\r\n });\r\n });\r\n }\r\n\r\n }\r\n const openVerifierModal = (id) => {\r\n setVerifierId(id);\r\n setVerifierModalShow(true);\r\n }\r\n\r\n const downloadPersonalReferences = () => {\r\n Swal.fire({\r\n title: `Downloading PDF`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n personalReferenceService.downloadPersonalReferences(applicationId, \"PE\").then((response) => {\r\n var name = new String(response.headers['content-disposition']);\r\n const downloadUrl = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = downloadUrl;\r\n link.setAttribute('target', '_blank');\r\n link.setAttribute('download', name.slice(name.indexOf('filename=') + 9, name.lastIndexOf(';')));\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n Swal.close();\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n\r\n const deleteRow = (rowData) => {\r\n if (isUserEditable) {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n personalReferenceService.postPersonalReference({ ...rowData, deleted: true }).then((response) => {\r\n updateGridData();\r\n })\r\n }\r\n })\r\n }\r\n }\r\n const emailReference = (rowData) => {\r\n if (isUserEditable) {\r\n personalReferenceService.sendPersonalReferenceEmail(rowData.id).then((response) => {\r\n if (response.data) {\r\n Swal.fire(`You have successfully sent an email to ${rowData.name} at ${rowData.email}!`);\r\n updateGridData();\r\n }\r\n else\r\n Swal.fire(`Failed to send email: ${response.data.message}`);\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n

\r\n Personal References\r\n

\r\n {hasLoaded ? <>\r\n setModalShow(false)}\r\n onsave={personalReferenceService.postPersonalReference}\r\n />\r\n {verifierModalShow &&\r\n setVerifierModalShow(false)} id={verifierId} type=\"referencesApplication\" />\r\n }\r\n { setSectionData(data) }}\r\n onSubmit={formSubmit}\r\n readOnly={!isUserEditable}\r\n >\r\n\r\n \r\n\r\n
\r\n \r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default PersonalReferencesPage\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Modal, Row, Col, Button } from 'react-bootstrap'\r\nimport { Input, SelectPicker, Form, ControlLabel, Schema, FormControl, FormGroup, Icon } from 'rsuite';\r\nimport experienceService from '../../../../../services/Internal/Application/PLS/experience.service';\r\n//import reinstatementExperienceService from '../../../../../../services/Public/Reinstatement/PLS/experience.service';\r\nimport { getEmploymentTypes } from '../../../../../services/Shared/codeTable.service';\r\nimport PhoneNumberMask from '../../../../Shared/GenericComponents/PhoneNumberMask';\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\n\r\n\r\nfunction AddEditExperienceRecordsModal(props) {\r\n const [recordModel, setRecordModel] = useState({\r\n applicationId: 0,\r\n comments: \"\",\r\n dateCrte: null,\r\n dateFrom: null,\r\n dateTo: null,\r\n deleted: false,\r\n employerName: \"\",\r\n employerPosition: \"\",\r\n employerEmail: \"\",\r\n employerPhone: \"\",\r\n verifierName: \"\",\r\n verifierPosition: \"\",\r\n verifierEmail: \"\",\r\n verifierPhone: \"\",\r\n employmentType: null,\r\n entityId: 0,\r\n id: 0,\r\n userCrte: \"\",\r\n position: \"\",\r\n location: \"\",\r\n description: \"\",\r\n acceptableDescription: \"\",\r\n //showErrors: false,\r\n emailAddresses: [\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 10,\r\n emailAddressParentType: \"Application Experience Employer\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 11,\r\n emailAddressParentType: \"Application Experience Verifier\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n phoneNumbers: [\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 10,\r\n phoneParentType: \"Application Experience Employer\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 11,\r\n phoneParentType: \"Application Experience Verifier\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n modalType: \"Add\"\r\n })\r\n const [employmentTypes, setEmploymentTypes] = useState([])\r\n useEffect(() => {\r\n getEmploymentTypes().then(setEmploymentTypes);\r\n setRecordModel(props.modaldata);\r\n }, [props.modaldata])\r\n\r\n const { StringType, ObjectType, NumberType } = Schema.Types;\r\n const model = Schema.Model({\r\n position: StringType().isRequired('This field is required.'),\r\n employerName: StringType().isRequired('This field is required.'),\r\n employerPosition: StringType().isRequired('This field is required.'),\r\n employerPhone: NumberType().pattern(/^[0-9]{10}/, \"Please enter a valid Phone Number\").isRequired(\"This field is required.\"),\r\n employerEmail: StringType().isRequired('This field is required.').isEmail(\"Enter a valid email\"),\r\n verifierName: StringType().isRequired('This field is required.'),\r\n verifierPosition: StringType().isRequired('This field is required.'),\r\n verifierPhone: NumberType().pattern(/^[0-9]{10}/, \"Please enter a valid Phone Number\").isRequired(\"This field is required.\"),\r\n verifierEmail: StringType().isRequired('This field is required.').isEmail(\"Enter a valid email\"),\r\n\r\n location: StringType().isRequired('This field is required.'),\r\n description: StringType().isRequired('This field is required.'),\r\n acceptableDescription: StringType().isRequired('This field is required.'),\r\n employmentType: ObjectType().isRequired('This field is required.'),\r\n dateFrom: StringType().isRequired('This field is required.'),\r\n dateTo: StringType().isRequired('This field is required.')\r\n })\r\n\r\n const formSubmit = (validation, event) => {\r\n var hasErrors = false;\r\n var validationObject = model.check(recordModel);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n hasErrors = true;\r\n return;\r\n }\r\n }\r\n if (!hasErrors) {\r\n submitData();\r\n }\r\n\r\n }\r\n const submitData = () => {\r\n var dataToTransmit = {\r\n ...recordModel,\r\n phoneNumbers: [\r\n {\r\n ...recordModel.phoneNumbers[0],\r\n contactPhoneNumber: recordModel.employerPhone\r\n },\r\n {\r\n ...recordModel.phoneNumbers[1],\r\n contactPhoneNumber: recordModel.verifierPhone\r\n }\r\n ],\r\n emailAddresses: [\r\n {\r\n ...recordModel.emailAddresses[0],\r\n contactEmailAddress: recordModel.employerEmail\r\n\r\n },\r\n {\r\n ...recordModel.emailAddresses[1],\r\n contactEmailAddress: recordModel.verifierEmail\r\n }\r\n ],\r\n dateFrom: new Date(recordModel.dateFrom),\r\n dateTo: new Date(recordModel.dateTo),\r\n id: recordModel.id === '' ? 0 : recordModel.id,\r\n };\r\n\r\n\r\n delete dataToTransmit.modalType;\r\n delete dataToTransmit.verifierEmail;\r\n delete dataToTransmit.verifierPhone;\r\n delete dataToTransmit.employerPhone;\r\n delete dataToTransmit.employerEmail;\r\n //delete dataToTransmit.showErrors;\r\n //if (props.appType === \"reinstatement\") {\r\n // reinstatementExperienceService.postExperienceRecord(dataToTransmit).then((response) => {\r\n // if (response.data.id) {\r\n // props.updateGrid();\r\n // props.onHide();\r\n // }\r\n // })\r\n //}\r\n //else {\r\n experienceService.postExperienceRecord(dataToTransmit).then((response) => {\r\n if (response.data.id) {\r\n props.updateGrid();\r\n props.onHide();\r\n }\r\n })\r\n //}\r\n }\r\n return (\r\n \r\n \r\n \r\n {recordModel.modalType} an Experience Record\r\n \r\n \r\n \r\n
setRecordModel(recordModel)} onSubmit={formSubmit} >\r\n \r\n \r\n \r\n \r\n \r\n Title of Position \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Location of Assignment/Engagement \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Description of Assignment \r\n \r\n indicate character of work and degree of responsibility \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n If not a licensed professional engineer/surveyor, explain why the experience should be considered acceptable. Otherwise, enter N/A. \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Employment Type \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Date From \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Date To \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n Employer Information \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Title \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Phone \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Email \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n Verifier Information \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Title \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Phone \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Email \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default AddEditExperienceRecordsModal;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PEAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeApplication\";\r\n\r\nconst getExperienceRecords = (applicationId) => {\r\n return axios.get(`${PEAPPLICATIONURL}/experiencerecords`, { headers: authHeader(), params: { applicationId} });\r\n}\r\nconst postExperienceRecord = (data) => {\r\n return axios.post(`${PEAPPLICATIONURL}/experiencerecord`, data, { headers: authHeader() });\r\n}\r\nconst downloadExperiences = (applicationId, credType) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/Reports/GetApplicationExperiences`, { headers: authHeader(), params: { applicationId: applicationId, credType: credType }, responseType: 'arraybuffer' });\r\n}\r\nexport default {\r\n getExperienceRecords,\r\n postExperienceRecord,\r\n downloadExperiences\r\n}","import React, { useEffect, useState } from 'react'\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/PeInformation';\r\nimport AddEditExperienceRecordsModal from './ExperienceRecordModal';\r\nimport Experience from '../../../../Shared/Card/Experience';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport publicApplicationService from '../../../../../services/Internal/Application/PE/peApplication.service';\r\nimport experienceService from '../../../../../services/Internal/Application/PE/experience.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport dayjs from 'dayjs';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\nimport ExternalFormModal from '../../../../Shared/Modal/ExternalFormModal';\r\nimport Swal from 'sweetalert2';\r\n\r\nfunction ExperiencePage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [modalShow, setModalShow] = useState(false);\r\n const [verifierModalShow, setVerifierModalShow] = useState(false);\r\n const [verifierExperienceId, setVerifierExperienceId] = useState(0);\r\n const [gridData, setGridData] = useState([]);\r\n const entityId = useSelector(x => x.currentApplicationEntityId)\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 3 ? \"By Comity\" : appTypeId == 4 ? \"By Exam\" : \"\";\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 7;\r\n const [modalData, setModalData] = useState({});\r\n\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Application \" + appType,\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Experience\"\r\n }\r\n );\r\n useEffect(() => {\r\n setHasLoaded(false)\r\n publicApplicationService.peGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n applicationService.getIndividualApplication(appId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n updateGridData();\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n const { BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasMyNceesExperience: BooleanType().isRequired('This field is required.')\r\n });\r\n const openVerifierModal = (id) => {\r\n setVerifierExperienceId(id);\r\n setVerifierModalShow(true);\r\n }\r\n const openAddEditModal = (values) => {\r\n if (isUserEditable) {\r\n if (values.id) {\r\n setModalData(\r\n {\r\n ...values,\r\n verifierEmail: values.emailAddresses[1].contactEmailAddress,\r\n verifierPhone: values.phoneNumbers[1].contactPhoneNumber,\r\n employerEmail: values.emailAddresses[0].contactEmailAddress,\r\n employerPhone: values.phoneNumbers[0].contactPhoneNumber,\r\n dateFrom: values.dateFrom ? dayjs(values.dateFrom).format('YYYY-MM') : null,\r\n dateTo: values.dateTo ? dayjs(values.dateTo).format('YYYY-MM') : null,\r\n modalType: 'Edit'\r\n });\r\n }\r\n else {\r\n setModalData({\r\n applicationId: appId,\r\n comments: \"\",\r\n dateCrte: null,\r\n dateFrom: null,\r\n dateTo: null,\r\n deleted: false,\r\n employerName: \"\",\r\n employerPosition: \"\",\r\n verifierName: \"\",\r\n verifierPosition: '',\r\n verifierEmail: \"\",\r\n verifierPhone: \"\",\r\n employerEmail: \"\",\r\n employerPhone: \"\",\r\n employmentType: null,\r\n entityId: entityId,\r\n id: 0,\r\n userCrte: \"\",\r\n position: \"\",\r\n location: \"\",\r\n description: \"\",\r\n acceptableDescription: \"\",\r\n emailAddresses: [\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 10,\r\n emailAddressParentType: \"Application Experience Employer\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 11,\r\n emailAddressParentType: \"Application Experience Verifier\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n phoneNumbers: [\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 10,\r\n phoneParentType: \"Application Experience Employer\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 11,\r\n phoneParentType: \"Application Experience Verifier\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n modalType: \"Add\"\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n }\r\n const { push } = useHistory();\r\n\r\n const handleSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n publicApplicationService.pePostSectionHasExperience(appId, sectionId, sectionData.hasMyNceesExperience).then((response) => {\r\n publicApplicationService.peMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (response.data && data.data) // If both return something it's good to go\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n\r\n })\r\n });\r\n }\r\n }\r\n const updateGridData = () => {\r\n experienceService.getExperienceRecords(appId).then((response) => {\r\n setGridData(response.data)\r\n });\r\n }\r\n\r\n const downloadExperiences = () => {\r\n Swal.fire({\r\n title: `Downloading PDF`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n experienceService.downloadExperiences(appId, \"PE\").then((response) => {\r\n var name = new String(response.headers['content-disposition']);\r\n const downloadUrl = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = downloadUrl;\r\n link.setAttribute('target', '_blank');\r\n link.setAttribute('download', name.slice(name.indexOf('filename=') + 9, name.lastIndexOf(';')));\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n Swal.close();\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded ? <>\r\n {modalShow &&\r\n setModalShow(false)} proptitle=\"Add\" />\r\n }\r\n {verifierModalShow &&\r\n setVerifierModalShow(false)} id={verifierExperienceId} type=\"experienceApplication\" />\r\n }\r\n
setSectionData(data)}>\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ExperiencePage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PEAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeApplication\";\r\n\r\nconst getViolation = (applicationId) => {\r\n return axios.get(`${PEAPPLICATIONURL}/violation`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postViolation = (data) => {\r\n return axios.post(`${PEAPPLICATIONURL}/violation`, data, { headers: authHeader() });\r\n}\r\nconst downloadViolationFile = (applicationId) => {\r\n axios.get(`${process.env.REACT_APP_APIURL}/Reports/GetApplicationViolationsForm`, { headers: authHeader(), params: { applicationId }, responseType: 'arraybuffer' }).then((response) => {\r\n var name = new String(response.headers['content-disposition']);\r\n const downloadUrl = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = downloadUrl;\r\n link.setAttribute('download', name.slice(name.indexOf('filename=') + 9, name.lastIndexOf(';')));\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n });\r\n}\r\nexport default {\r\n getViolation,\r\n postViolation,\r\n downloadViolationFile\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport { useSelector } from 'react-redux';\r\nimport ViolationService from '../../../../../services/Internal/Application/PE/violation.service';\r\nimport publicApplicationService from '../../../../../services/Public/Application/PE/peApplication.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/PeInformation';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport peApplicationService from '../../../../../services/Internal/Application/PE/peApplication.service';\r\nimport { getCodeViolationAnswers } from '../../../../../services/Shared/codeTable.service';\r\nimport GenericViolations from '../../../../Shared/Card/Violations';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 3 ? \"By Comity\" : appTypeId == 4 ? \"By Exam\" : \"\";\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const sectionId = 4;\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Application \" + appType,\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Violations\"\r\n }\r\n );\r\n const { StringType, BooleanType, ArrayType } = Schema.Types;\r\n const model = Schema.Model({\r\n signature: StringType().isRequired('This field is required.'),\r\n yesAnswerExplanation: StringType().isRequired('This field is required.'),\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n publicApplicationService.peGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n ViolationService.getViolation(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, issues: formData.issues, files: formData.files, filesForDisplay: formData.filesForDisplay, signature: response.data.electronicSignature });\r\n }\r\n else {\r\n getCodeViolationAnswers(appTypeId).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n applicationService.getIndividualApplication(store.currentApplicationId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n signature: undefined,\r\n yesAnswerExplanation: \"\",\r\n files: [],\r\n filesForDisplay: [],\r\n issues: []\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true) >= 0;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n const downloadViolations = () => {\r\n ViolationService.downloadViolationFile(store.currentApplicationId)\r\n }\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n setShowFormErrors(true)\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n if (formData.signature) {\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, applicationId: store.currentApplicationId, entityId: store.userInfo.EntityId };\r\n ViolationService.postViolation(dataTransfer).then((response) => {\r\n publicApplicationService.pePostSection(store.currentApplicationId, sectionId, formData.signature).then((response) => {\r\n peApplicationService.peMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((data) => {\r\n if (response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n })\r\n })\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import React, { useEffect, useState } from 'react'\r\nimport { Container, Card } from 'react-bootstrap'\r\nimport { Form, Schema } from 'rsuite'\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons'\r\nimport { useHistory } from 'react-router-dom';\r\nimport DocumentUploads from '../../../../Shared/Card/DocumentUploads'\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/PeInformation';\r\nimport attachmentService from '../../../../../services/Shared/attachment.service';\r\nimport publicApplicationService from '../../../../../services/Public/Application/PE/peApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport peApplicationService from '../../../../../services/Internal/Application/PE/peApplication.service';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\nimport DocumentUpload from '../../../../Shared/Upload/DocumentUpload';\r\n\r\n\r\nfunction QuizzesPage() {\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 3 ? \"By Comity\" : appTypeId == 4 ? \"By Exam\" : \"\";\r\n const sectionId = 6;\r\n const [isComplete, setIsComplete] = useState(false);\r\n\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n\r\n const [hasFiles, setHasFiles] = useState();\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Application \" + appType,\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Quizzes\"\r\n }\r\n );\r\n useEffect(() => {\r\n publicApplicationService.peGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data)\r\n setIsComplete(response.data.staffReviewComplete)\r\n applicationService.getIndividualApplication(appId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n });\r\n }, [])\r\n\r\n const { push } = useHistory();\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (hasFiles) {\r\n // do form post\r\n peApplicationService.peMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n });\r\n }\r\n }\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
{/*This is to make sure validation is triggered and form does nothing else*/}\r\n \r\n \r\n
Document Uploads
\r\n
\r\n \r\n \r\n {!hasFiles &&
Please select at least 1 file.
}\r\n
\r\n
\r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default QuizzesPage;","import React, { useEffect } from 'react'\r\nimport { useState } from 'react';\r\nimport { Card, Col, Container, Row } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { ControlLabel, Form, FormControl, FormGroup, Schema } from 'rsuite';\r\nimport coopExperienceService from '../../../../../services/Public/Application/PE/coopExperience.service';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\nimport publicApplicationService from '../../../../../services/Public/Application/PE/peApplication.service';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/PeInformation';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport YesNoRadioOption from '../../../../Shared/RadioButton/YesNoRadioOption';\r\nimport { useSelector } from 'react-redux';\r\nimport peApplicationService from '../../../../../services/Internal/Application/PE/peApplication.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction CoopExperiencePage() {\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const [model, setModel] = useState({\r\n hasCoopExperience: '',\r\n months: '',\r\n years: '',\r\n entityId: entityId,\r\n applicationId: appId\r\n });\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const routes = useSelector(x => x.currentRoutes);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 3 ? \"By Comity\" : appTypeId == 4 ? \"By Exam\" : \"\";\r\n const sectionId = 16;\r\n const [sectionData, setSectionData] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Application \" + appType,\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Quizzes\"\r\n }\r\n );\r\n\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n publicApplicationService.peGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n coopExperienceService.getCoopExperience(appId).then((data) => {\r\n if (data.data)\r\n setModel({\r\n ...data.data,\r\n years: !data.data.years ? '' : data.data.years,\r\n months: !data.data.months ? '' : data.data.months\r\n });\r\n })\r\n applicationService.getIndividualApplication(appId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n\r\n const { BooleanType } = Schema.Types;\r\n const validationModel = Schema.Model({\r\n hasCoopExperience: BooleanType().isRequired('This field is required.')\r\n\r\n });\r\n\r\n const formSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (val) {\r\n var dataToTransmit = {\r\n ...model,\r\n years: model.years == \"\" ? 0 : model.years,\r\n months: model.months == \"\" ? 0 : model.months,\r\n }\r\n coopExperienceService.postCoopExperience(dataToTransmit).then((response) => {\r\n if (response.data)\r\n peApplicationService.peMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n })\r\n }\r\n\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
\r\n \r\n \r\n
Co-op Experience
\r\n
\r\n \r\n I have Co-op Experience listed on my transcript\r\n \r\n {model.hasCoopExperience === false &&\r\n <>\r\n
\r\n \r\n \r\n TOTAL OF CO-OP EXPERIENCE:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n
\r\n
\r\n \r\n \r\n : }\r\n
\r\n );\r\n}\r\nexport default CoopExperiencePage;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PEAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeApplication\";\r\n\r\nconst getResidency = (applicationId) => {\r\n return axios.get(`${PEAPPLICATIONURL}/residency`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postResidency = (data) => {\r\n return axios.post(`${PEAPPLICATIONURL}/residency`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getResidency,\r\n postResidency\r\n}","import React, { useEffect } from 'react'\r\nimport { useState } from 'react'\r\nimport { Card, Container } from 'react-bootstrap'\r\nimport { useSelector } from 'react-redux'\r\nimport { useHistory } from 'react-router-dom'\r\nimport { Form, FormControl, Schema, TagPicker } from 'rsuite'\r\nimport peApplicationService from '../../../../../services/Internal/Application/PE/peApplication.service'\r\nimport residencyService from '../../../../../services/Internal/Application/PE/residency.service'\r\nimport { getStates } from '../../../../../services/Shared/codeTable.service'\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service'\r\nimport Information from '../../../../Shared/Card/Information'\r\nimport Issues from '../../../../Shared/Card/Issues'\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons'\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner'\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/PeInformation'\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\n\r\nfunction ResidencyPage() {\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const [model, setModel] = useState({\r\n applicationId: appId,\r\n entityId: entityId,\r\n states: ''\r\n })\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const { push } = useHistory();\r\n const routes = useSelector(x => x.currentRoutes);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 3 ? \"By Comity\" : appTypeId == 4 ? \"By Exam\" : \"\";\r\n const sectionId = 17;\r\n const [states, setStates] = useState([])\r\n const [sectionData, setSectionData] = useState({})\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Application \" + appType,\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Residency\"\r\n }\r\n );\r\n useEffect(() => {\r\n peApplicationService.peGetSection(appId, sectionId).then((response) => {\r\n getStates().then(setStates);\r\n residencyService.getResidency(appId).then((data) => {\r\n if (data.data)\r\n setModel(data.data)\r\n setIsComplete(response.data.staffReviewComplete)\r\n applicationService.getIndividualApplication(appId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setSectionData(response.data);\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n }, [])\r\n\r\n const { ArrayType } = Schema.Types;\r\n const validationModel = Schema.Model({\r\n states: ArrayType().isRequired('This field is required.')\r\n })\r\n const formSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (val) {\r\n residencyService.postResidency(model).then((response) => {\r\n peApplicationService.peMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n })\r\n }\r\n }\r\n return (\r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
\r\n \r\n \r\n
Residency
\r\n
\r\n \r\n What state(s) do you currently hold an active license in? Select all choices below that are applicable.\r\n { if (label.toLowerCase().startsWith(userInput.toLowerCase()) || !userInput) return true; }}\r\n name=\"states\"\r\n />\r\n \r\n
\r\n \r\n \r\n : }\r\n
\r\n );\r\n}\r\nexport default ResidencyPage;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PEAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeApplication\";\r\n\r\nconst getEmployment = (applicationId) => {\r\n return axios.get(`${PEAPPLICATIONURL}/employment`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postEmployment = (data) => {\r\n return axios.post(`${PEAPPLICATIONURL}/employment`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getEmployment,\r\n postEmployment\r\n}","import React, { useState, useEffect } from 'react'\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/PeInformation';\r\nimport EmploymentLicensure from '../../../../Shared/Card/EmploymentLicensure';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport publicApplicationService from '../../../../../services/Internal/Application/PE/peApplication.service';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\nimport employmentService from '../../../../../services/Internal/Application/PE/employment.service';\r\nimport { getEfCredential } from '../../../../../services/Shared/codeTable.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\n\r\nfunction EmploymentPage() {\r\n const [sectionData, setSectionData] = useState({});\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const { StringType, ObjectType } = Schema.Types;\r\n const [option, setOption] = useState();\r\n const sectionId = 5;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 3 ? \"By Comity\" : appTypeId == 4 ? \"By Exam\" : \"\";\r\n const store = useSelector(x => x);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Application \" + appType,\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Employment\"\r\n }\r\n );\r\n const [formModel, setFormModel] = useState({\r\n id: 0,\r\n applicationId: store.currentApplicationId,\r\n employedBy: '',\r\n licensedFirmType: '',\r\n firmNumber: null,\r\n comment: '',\r\n signature: ''\r\n })\r\n const model = Schema.Model({\r\n licensedFirmType: StringType().isRequired('This field is required'),\r\n comment: StringType().isRequired('This field is required'),\r\n firmNumber: ObjectType().isRequired(\"This field is required\"),\r\n employedBy: StringType().isRequired('This field is required')\r\n });\r\n\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n employmentService.getEmployment(store.currentApplicationId).then((response) => {\r\n publicApplicationService.peGetSection(store.currentApplicationId, sectionId).then((data) => {\r\n setSectionData(data.data);\r\n if (response.data) {\r\n var licensedFirmType = \"\";\r\n if (response.data.firmIsLicensed)\r\n licensedFirmType = \"licensed\";\r\n else if (response.data.firmIsNotLicensed)\r\n licensedFirmType = \"unlicensed\";\r\n else if (response.data.soleProprietor)\r\n licensedFirmType = \"soleProprietor\";\r\n else if (response.data.unemployed)\r\n licensedFirmType = \"unemployed\"\r\n if (response.data.credentialId) {\r\n getEfCredential(response.data.credentialId).then((cred) => {\r\n setFormModel({\r\n id: response.data.id,\r\n employedBy: response.data.employedByName,\r\n firmNumber: cred?.value,\r\n comment: response.data.comment,\r\n licensedFirmType: licensedFirmType,\r\n signature: data.data.electronicSignature\r\n });\r\n setOption(licensedFirmType);\r\n })\r\n }\r\n else {\r\n setFormModel({\r\n id: response.data.id,\r\n employedBy: response.data.employedByName,\r\n firmNumber: response.data.credentialId,\r\n comment: response.data.comment,\r\n licensedFirmType: licensedFirmType,\r\n signature: data.data.electronicSignature\r\n });\r\n setOption(licensedFirmType);\r\n }\r\n }\r\n setIsComplete(data.data.staffReviewComplete)\r\n applicationService.getIndividualApplication(store.currentApplicationId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(data.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n\r\n }, [])\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var hasErrors = false;\r\n var validationObject = model.check(formModel);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n if (key === \"firmNumber\" && formModel.licensedFirmType === \"licensed\") {\r\n hasErrors = true;\r\n return\r\n }\r\n else if (key === \"employedBy\" && formModel.licensedFirmType === \"unlicensed\") {\r\n hasErrors = true;\r\n return\r\n }\r\n else if (key === \"comment\" && formModel.licensedFirmType === \"soleProprietor\") {\r\n hasErrors = true;\r\n return\r\n }\r\n else if (key === \"licensedFirmType\" || key === \"signature\") {\r\n hasErrors = true;\r\n return\r\n }\r\n }\r\n }\r\n if (!hasErrors) {\r\n submitData(true);\r\n }\r\n }\r\n }\r\n const clearFirmNumber = () => {\r\n setFormModel({ ...formModel, firmNumber: null });\r\n }\r\n const submitData = (isForSubmit) => {\r\n var dataTransfer = {\r\n id: formModel.id,\r\n applicationId: store.currentApplicationId,\r\n comment: formModel.comment,\r\n credentialId: formModel.firmNumber ? formModel.firmNumber.licenseNumber : null,\r\n employedByName: formModel.employedBy,\r\n entityId: store.userInfo.EntityId,\r\n firmIsLicensed: formModel.licensedFirmType ? formModel.licensedFirmType == \"licensed\" ? true : false : null,\r\n firmIsNotLicensed: formModel.licensedFirmType ? formModel.licensedFirmType == \"unlicensed\" ? true : false : null,\r\n soleProprietor: formModel.licensedFirmType ? formModel.licensedFirmType == \"soleProprietor\" ? true : false : null,\r\n unemployed: formModel.licensedFirmType ? formModel.licensedFirmType == \"unemployed\" ? true : false : null\r\n };\r\n employmentService.postEmployment(dataTransfer).then((response) => {\r\n publicApplicationService.pePostSection(store.currentApplicationId, sectionId, formModel.signature).then((data) => {\r\n publicApplicationService.peMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((info) => {\r\n if (response.data && isForSubmit) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data) {\r\n var licensedFirmType = \"\";\r\n if (response.data.firmIsLicensed)\r\n licensedFirmType = \"licensed\";\r\n else if (response.data.firmIsNotLicensed)\r\n licensedFirmType = \"unlicensed\";\r\n else if (response.data.soleProprietor)\r\n licensedFirmType = \"soleProprietor\";\r\n else if (response.data.unemployed)\r\n licensedFirmType = \"unemployed\"\r\n if (response.data.credentialId) {\r\n getEfCredential(response.data.credentialId).then((cred) => {\r\n setFormModel({\r\n id: response.data.id,\r\n employedBy: response.data.employedByName,\r\n firmNumber: cred,\r\n comment: response.data.comment,\r\n licensedFirmType: licensedFirmType,\r\n signature: data.data.electronicSignature\r\n });\r\n setOption(licensedFirmType);\r\n Swal.fire(\"Saved!\");\r\n })\r\n }\r\n else {\r\n setFormModel({\r\n id: response.data.id,\r\n employedBy: response.data.employedByName,\r\n firmNumber: response.data.credentialId,\r\n comment: response.data.comment,\r\n licensedFirmType: licensedFirmType,\r\n signature: data.data.electronicSignature\r\n });\r\n setOption(licensedFirmType);\r\n Swal.fire(\"Saved!\");\r\n }\r\n\r\n }\r\n })\r\n })\r\n });\r\n //post formData to api\r\n //return bool didSave\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default EmploymentPage","import React, { useEffect, useState } from 'react'\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/PeInformation';\r\nimport publicApplicationService from '../../../../../services/Public/Application/PE/peApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Acknowledgement from '../../../../Shared/Card/Acknowledgement';\r\nimport peApplicationService from '../../../../../services/Internal/Application/PE/peApplication.service';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction AcknowledgementPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false)\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 3 ? \"By Comity\" : appTypeId == 4 ? \"By Exam\" : \"\";\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 8;\r\n const [formModel, setFormModel] = useState({})\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Application \" + appType,\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Acknowledgement\"\r\n }\r\n );\r\n useEffect(() => {\r\n publicApplicationService.peGetSection(appId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n applicationService.getIndividualApplication(appId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n const submitData = (isForSubmit) => {\r\n publicApplicationService.pePostSection(appId, sectionId, formModel.electronicSignature).then((response) => {\r\n if (isForSubmit && response.data.id) {\r\n peApplicationService.peMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (isForSubmit && response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n });\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/PeInformation';\r\nimport peApplicationService from '../../../../../services/Internal/Application/PE/peApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../Shared/Card/ReviewPdf';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport { Form } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction ReviewPage() {\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const { push } = useHistory();\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 3 ? \"By Comity\" : appTypeId == 4 ? \"By Exam\" : \"\";\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Application \" + appType,\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Review\"\r\n }\r\n );\r\n const sectionId = 9;\r\n useEffect(() => {\r\n peApplicationService.peGetSection(appId, sectionId).then((response) => {\r\n setIsComplete(response.data.staffReviewComplete);\r\n applicationService.getIndividualApplication(appId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n\r\n\r\n const formSubmit = () => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n peApplicationService.peMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n }\r\n\r\n\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n {hasLoaded ?\r\n <>\r\n {violationIssuesHtml}\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage\r\n","import React, { useState, useEffect } from 'react'\r\nimport { Button, Card, Row, Col } from 'react-bootstrap'\r\nimport { ControlLabel, FormControl, FormGroup, Icon, SelectPicker, Table, Uploader } from 'rsuite'\r\nimport Swal from 'sweetalert2';\r\nimport boardApprovalService from '../../../../../services/Internal/Application/PLS/boardApproval.service';\r\nimport attachmentService from '../../../../../services/Shared/attachment.service';\r\nimport YesNoRadioOption from '../../../../Shared/RadioButton/YesNoRadioOption'\r\nimport DocumentUpload from '../../../../Shared/Upload/DocumentUpload';\r\n\r\nfunction BoardApproval(props) {\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n\r\n const handleChangePage = (dataKey) => {\r\n setPage(dataKey);\r\n }\r\n const handleChangeLength = (dataKey) => {\r\n setPage(1);\r\n setDisplayLength(dataKey);\r\n }\r\n\r\n const getData = () => {\r\n return props.gridData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const formDataAppender = (passedKey, model, formData) => {\r\n for (let key in model) {\r\n if (typeof (model[key]) === 'object') {\r\n formDataAppender(`${passedKey}.${key}`, model[key], formData); // Recursive key for objects\r\n }\r\n else {\r\n if (passedKey)\r\n formData.append(`${passedKey}.${key}`, model[key]);\r\n else\r\n formData.append(`${key}`, model[key]);\r\n }\r\n }\r\n }\r\n const filteredData = getData();\r\n const removeFile = (id, rowData) => {\r\n Swal.fire({\r\n title: 'Are you sure you want to delete this file?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n attachmentService.deleteFile(id).then((response) => {\r\n if (response.status == 200) {\r\n if (rowData) {\r\n var index = props.gridData.findIndex(x => x.id == rowData.id);\r\n var tempModel = props.gridData;\r\n tempModel[index].files = tempModel[index].files.filter(x => x.id !== id);\r\n props.setGridData([...tempModel]);\r\n }\r\n else {\r\n props.setFiles([...props.files.filter(x => x.id != id)])\r\n }\r\n }\r\n });\r\n }\r\n })\r\n }\r\n\r\n const openFile = (id) => {\r\n attachmentService.openFile(id);\r\n }\r\n return (\r\n <>\r\n\r\n \r\n
Board/Staff Attachments
\r\n \r\n \r\n
\r\n {/**/}\r\n {/* Education*/}\r\n {/* */}\r\n {/**/}\r\n {/*
*/}\r\n \r\n Additional Comments\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
Board/Staff Responses
\r\n \r\n {props.isUserEditable &&\r\n \r\n \r\n \r\n }\r\n
\r\n
\r\n \r\n \r\n \r\n Document\r\n \r\n {rowData => {\r\n return (<>\r\n {rowData.files.map((item, i) => {\r\n return (\r\n \r\n {props.isUserEditable &&\r\n \r\n }\r\n \r\n \r\n\r\n )\r\n })}\r\n \r\n )\r\n }}\r\n \r\n \r\n \r\n \r\n Date Sent\r\n \r\n {rowData => (rowData.dateSent ? new Date(rowData.dateSent).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Date Received\r\n \r\n {rowData => (rowData.dateReceived ? new Date(rowData.dateReceived).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Board Member\r\n \r\n {rowData => (`${rowData.boardMember.firstName} ${rowData.boardMember.middleName} ${rowData.boardMember.lastName}, ${rowData.boardMember.credentialSuffix}`)}\r\n \r\n \r\n \r\n Decision\r\n \r\n {rowData => (rowData.boardMemberDecision?.boardMemberDecision)}\r\n \r\n \r\n \r\n Comments\r\n \r\n \r\n \r\n {props.isUserEditable &&\r\n \r\n \r\n \r\n \r\n {rowData => {\r\n function handleAction() {\r\n var tempData = { ...rowData, files: [] }\r\n props.openModal(tempData);\r\n }\r\n function handleDelete() {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n var formData = new FormData();\r\n var dataToTransmit = {\r\n ...rowData,\r\n deleted: true,\r\n }\r\n formDataAppender('boardMemberResponse', dataToTransmit, formData);\r\n for (var i = 0; i < rowData.files.length; i++) {\r\n formData.append('files', rowData.files[i].blobFile);\r\n }\r\n boardApprovalService.postBoardResponse(formData).then((response) => {\r\n if (response.status == 200) {\r\n props.setGridData([...props.gridData.filter(x => x.id !== rowData.id)]);\r\n }\r\n })\r\n }\r\n })\r\n }\r\n return (\r\n \r\n   \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n }\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
Board/Staff Checklist
\r\n
\r\n \r\n

Exams verified in Applicants MyNCEES Account (FS, PE, State Specific (Louisiana Laws))?

\r\n \r\n

Board approval?

\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default BoardApproval;","import { useState, useEffect } from 'react'\r\nimport { Button, Card, Col, Modal, Row } from 'react-bootstrap'\r\nimport React from 'react'\r\nimport { ControlLabel, Schema, Form, FormControl, FormGroup, InputPicker, Uploader } from 'rsuite'\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\nimport GenericAttachmentGrid from '../../../../Shared/Grid/GenericAttachmentGrid';\r\nimport { getBoardMembers } from '../../../../../services/Shared/codeTable.service';\r\nimport boardApprovalService from '../../../../../services/Internal/Application/PLS/boardApproval.service';\r\nimport attachmentService from '../../../../../services/Shared/attachment.service';\r\nimport Swal from 'sweetalert2';\r\nimport BlockUi from 'react-block-ui';\r\nimport 'react-block-ui/style.css';\r\n\r\nfunction BoardApprovalModal(props) {\r\n\r\n const { ObjectType, DateType } = Schema.Types;\r\n const [blockUi, setBlockUi] = useState(false);\r\n const model = Schema.Model({\r\n dateSent: DateType().isRequired('This field is required.'),\r\n boardMember: ObjectType().isRequired('This field is required.'),\r\n })\r\n const decisionData = [\r\n { \"label\": \"Approved\", \"value\": { id: 1, boardMemberDecision: \"Approved\" } },\r\n { \"label\": \"Declined\", \"value\": { id: 2, boardMemberDecision: \"Declined\" } }];\r\n\r\n const [boardMemebers, setBoardMembers] = useState([])\r\n const [approvalModel, setApprovalModel] = useState()\r\n useEffect(() => {\r\n setApprovalModel(props.modalData);\r\n getBoardMembers().then(setBoardMembers);\r\n }, [props.modalData])\r\n\r\n const formSubmit = (validation, event) => {\r\n if (validation) {\r\n setBlockUi(true);\r\n var formData = new FormData()\r\n var dataToTransmit = {\r\n ...approvalModel,\r\n dateSent: new Date(approvalModel.dateSent).toISOString(),\r\n dateReceived: approvalModel.dateReceived ? new Date(approvalModel.dateReceived).toISOString() : null\r\n }\r\n formDataAppender('boardMemberResponse', dataToTransmit, formData);\r\n for (var i = 0; i < approvalModel.files.length; i++) {\r\n formData.append('files', approvalModel.files[i].blobFile);\r\n }\r\n boardApprovalService.postBoardResponse(formData).then((response) => {\r\n setBlockUi(false);\r\n if (response.data.boardMemberResponse.id) {\r\n props.updateGrid();\r\n props.onHide();\r\n }\r\n\r\n })\r\n }\r\n\r\n }\r\n const formDataAppender = (passedKey, model, formData) => {\r\n for (let key in model) {\r\n if (typeof (model[key]) === 'object') {\r\n formDataAppender(`${passedKey}.${key}`, model[key], formData); // Recursive key for objects\r\n }\r\n else {\r\n if (passedKey)\r\n formData.append(`${passedKey}.${key}`, model[key]);\r\n else\r\n formData.append(`${key}`, model[key]);\r\n }\r\n }\r\n }\r\n const handleChange = (val, e) => {\r\n if (!e) {\r\n var newFiles = approvalModel.files;\r\n newFiles.push(val);\r\n setApprovalModel({ ...approvalModel, files: [...newFiles] })\r\n }\r\n };\r\n const deleteFile = (id) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n setApprovalModel({ ...approvalModel, files: approvalModel.files.filter(x => x.fileKey != id) })\r\n }\r\n })\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Board/Staff Member Response\r\n \r\n \r\n \r\n
setApprovalModel(approvalModel)} onSubmit={formSubmit} fluid>\r\n \r\n \r\n \r\n \r\n Date Sent \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Board/Staff Member \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n Date Received\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Decision\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n File Upload \r\n \r\n \r\n \r\n \r\n \r\n
Click or Drag files to this area to upload
\r\n \r\n \r\n
\r\n \r\n \r\n {approvalModel?.files?.length > 0 &&\r\n
\r\n
\r\n {\r\n return {\r\n id: value.fileKey,\r\n timestamp: new Date().toLocaleDateString(),\r\n file: value.blobFile?.name\r\n }\r\n })}\r\n isSync={true}\r\n tStyle=\"table-bordered\"\r\n name=\"filesForDisplay\" />\r\n
\r\n }\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Comments\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nexport default BoardApprovalModal;","import React, { useState, useEffect } from 'react'\r\nimport { Button, Col, Container, Row } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport BoardApproval from './BoardApproval';\r\nimport BoardApprovalModal from './BoardApprovalModal';\r\nimport { useSelector } from 'react-redux';\r\nimport boardApprovalService from '../../../../../services/Internal/Application/PE/boardApproval.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Swal from 'sweetalert2';\r\nimport dayjs from \"dayjs\";\r\nimport peApplicationService from '../../../../../services/Internal/Application/PE/peApplication.service';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction BoardApprovalPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const entityId = useSelector(x => x.currentApplicationEntityId)\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const appTypeId = useSelector(x => x.currentApplicationTypeId);\r\n const appType = appTypeId == 3 ? \"By Comity\" : appTypeId == 4 ? \"By Exam\" : \"\";\r\n const sectionId = 10;\r\n const [modalShow, setModalShow] = useState(false);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [gridData, setGridData] = useState([]);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Application \" + appType,\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Board/Staff Recommendations\"\r\n }\r\n );\r\n const { BooleanType, StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n //education: StringType().isRequired('This field is required'),\r\n boardApproval: BooleanType().isRequired('This field is required'),\r\n examsVerifiedInMyNcees: BooleanType().isRequired('This field is required')\r\n })\r\n\r\n const [formModel, setFormModel] = useState({\r\n applicationId: appId,\r\n boardApproval: null,\r\n dateCrte: null,\r\n deleted: false,\r\n entityId: entityId,\r\n examsVerifiedInMyNcees: null,\r\n education: \"\",\r\n additionalComments: \"\",\r\n id: 0,\r\n userCrte: \"\"\r\n })\r\n const [boardApprovalSectionId, setBoardApprovalSectionId] = useState();\r\n const [modalData, setModalData] = useState({\r\n comments: \"\",\r\n dateCrte: new Date(),\r\n dateReceived: new Date(),\r\n dateSent: new Date(),\r\n deleted: false,\r\n id: 0,\r\n userCrte: \"\",\r\n boardMemberDecision: null,\r\n boardMember: {\r\n appointmentYear: 0,\r\n credentialSuffix: \"\",\r\n expirationYear: 0,\r\n firstName: \"\",\r\n id: 0,\r\n lastName: \"\",\r\n middleName: \"\",\r\n representation: \"\",\r\n suffix: \"\"\r\n },\r\n entityId: entityId,\r\n applicationId: appId,\r\n boardStaffApprovalId: 0,\r\n files: [],\r\n filesForDisplay: [],\r\n filesLoading: false\r\n })\r\n\r\n useEffect(() => {\r\n peApplicationService.peGetSection(appId, sectionId).then((response) => {\r\n boardApprovalService.getBoardRecommendations(appId).then((data) => {\r\n setFormModel(data.data);\r\n setModalData({ ...modalData, boardStaffApprovalId: data.data.id })\r\n updateGrid()\r\n setIsComplete(response.data.staffReviewComplete);\r\n setBoardApprovalSectionId(response.data.id);\r\n applicationService.getIndividualApplication(appId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n }, [])\r\n\r\n const updateGrid = () => {\r\n boardApprovalService.getBoardResponses(appId).then((vals) => {\r\n if (vals.data?.length)\r\n setGridData(\r\n vals.data.map((value, i) => { return { ...value.boardMemberResponse, files: [...value.attachments] } }))\r\n })\r\n }\r\n const submitData = (val) => {\r\n if (val) {\r\n boardApprovalService.postBoardRecommendation(formModel).then((val) => {\r\n if (val.data) {\r\n peApplicationService.peMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n Swal.fire(\"Saved!\", \"You have successfully saved.\", 'success');\r\n //push(\"/internal/peApp/sections\")\r\n })\r\n }\r\n })\r\n }\r\n }\r\n\r\n const openAddEditModal = (values) => {\r\n if (values.id) {\r\n setModalData({ ...values, dateReceived: values.dateReceived != null ? dayjs(values.dateReceived).format('YYYY-MM-DD') : null, dateSent: values.dateSent != null ? dayjs(values.dateSent).format('YYYY-MM-DD') : null })\r\n }\r\n else {\r\n setModalData({\r\n comments: \"\",\r\n dateCrte: new Date(),\r\n dateReceived: null,\r\n dateSent: null,\r\n deleted: false,\r\n id: 0,\r\n userCrte: \"\",\r\n boardMemberDecision: null,\r\n boardMember: null,\r\n entityId: entityId,\r\n applicationId: appId,\r\n boardStaffApprovalId: formModel.id,\r\n files: [],\r\n filesForDisplay: []\r\n\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n\r\n return (\r\n
\r\n \r\n setModalShow(false)} />\r\n
setFormModel(formModel)} onSubmit={submitData}>\r\n \r\n {hasLoaded ? <>\r\n \r\n \r\n \r\n \r\n  \r\n \r\n   \r\n \r\n {isUserEditable &&\r\n \r\n }\r\n \r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default BoardApprovalPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst peGetSection = (renewalId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/IndividualPeRenewal/section`, { headers: authHeader(), params: { renewalId, sectionId } });\r\n}\r\nconst pePostSection = (renewalId, sectionId, electronicSignature) => {\r\n\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPeRenewal/signsection`, null, { headers: authHeader(), params: { renewalId, sectionId, electronicSignature } });\r\n}\r\nconst pePostSectionHasRef = (renewalId, sectionId, hasReferences) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPeRenewal/setsectionhasreferences`, null, { headers: authHeader(), params: { renewalId, sectionId, hasReferences } });\r\n}\r\nconst pePostSectionHasCpd = (renewalId, sectionId, hasCpd) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPeRenewal/setsectionhascpd`, null, { headers: authHeader(), params: { renewalId, sectionId, hasCpd } });\r\n}\r\nconst peMarkSectionComplete = (renewalId, sectionId, complete) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPeRenewal/marksectioncomplete`, null, { headers: authHeader(), params: { renewalId, sectionId, complete } })\r\n}\r\n\r\nconst postStaffApproval = (renewalId, isApproved) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPeRenewal/staffApproval`, null, { headers: authHeader(), params: { renewalId, isApproved } });\r\n}\r\n\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Ensure your contact information, including your mailing and public addresses are up to date. Ensure you put LAPELS emails on your safe sender list.\",\r\n },\r\n {\r\n id: 2,\r\n sectionTitle: \"License Status\",\r\n sectionContent: \"Verify the staus of your license.\",\r\n },\r\n {\r\n id: 3,\r\n sectionTitle: \"CPD Requirements\",\r\n sectionContent: \"Verify CPD requirements for Active status for each of the calendar years.\",\r\n },\r\n {\r\n id: 10,\r\n sectionTitle: \"Building Design \",\r\n sectionContent: \"Complete this section verifing your building design experience..\",\r\n },\r\n {\r\n id: 4,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 5,\r\n sectionTitle: \"Supervising Professional\",\r\n sectionContent: \"Certify if you are a supervising professional on behalf of a firm.\",\r\n },\r\n {\r\n id: 6,\r\n sectionTitle: \"Journal & Phone Privacy Options\",\r\n sectionContent: \"Verify your subscription and distribution options.\",\r\n },\r\n {\r\n id: 7,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Electronically sign (type your name) and date.\",\r\n },\r\n {\r\n id: 8,\r\n sectionTitle: \"Review\",\r\n sectionContent: \"Review certificate renewal.\",\r\n }\r\n])\r\n\r\nexport default {\r\n peGetSection,\r\n pePostSection,\r\n pePostSectionHasRef,\r\n pePostSectionHasCpd,\r\n peMarkSectionComplete,\r\n postStaffApproval\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, ListGroup, Button } from 'react-bootstrap';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getSections } from '../../../../../services/Internal/Renewal/PE/peRenewal.service';\r\nimport Section from '../../../../Shared/Sections/Section';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/PeInformation.js';\r\nimport renewalService from '../../../../../services/Internal/Renewal/renewal.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Swal from 'sweetalert2';\r\nimport InternalTaskInfo from '../../../Shared/InternalTaskInfo';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\nimport recentQueueService from '../../../../../services/Internal/Recent/recentQueue.service'\r\nimport issuesService from '../../../../../services/Shared/issues.service';\r\n\r\nfunction Index() {\r\n const marginRight = {\r\n marginRight: '1rem'\r\n }\r\n const [showSectionButton, setShowSectionButton] = useState(true);\r\n const [justLicensed, setJustLicensed] = useState(false);\r\n const [sections, setSections] = useState(null);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Renewal\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"\"\r\n }\r\n );\r\n const dispatch = useDispatch();\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const selector = useSelector(x => x);\r\n useEffect(() => {\r\n var routes = JSON.parse(localStorage.getItem('PERSIST_CURRENT_ROUTE')) ?? selector.currentRoutes;\r\n var currentAppId = localStorage.getItem('PERSIST_CURRENT_APP_ID') ?? selector.currentApplicationId;\r\n var currentEntityID = localStorage.getItem('PERSIST_CURRENT_APP_ENTITY_ID') ?? selector.currentApplicationEntityId;\r\n var currentAppTypeId = localStorage.getItem('PERSIST_CURRENT_APP_TYPE_ID') ?? selector.currentApplicationTypeId;\r\n if (localStorage.getItem('PERSIST_CURRENT_APP_ID')) {\r\n localStorage.removeItem('PERSIST_CURRENT_ROUTE');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ENTITY_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_TYPE_ID');\r\n\r\n dispatch({ type: \"PERSIST_CURRENT_ROUTE\", payload: routes });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: currentAppId });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ENTITY_ID\", payload: currentEntityID });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_TYPE_ID\", payload: currentAppTypeId });\r\n }\r\n //Add to recent Queue\r\n recentQueueService.updateRecentQueue({\r\n entityId: currentEntityID,\r\n parentId: currentAppId,\r\n parentTypeId: 3,\r\n appTypeId: 3,\r\n routes: JSON.stringify(routes)\r\n }).then((data) => {\r\n var token = parseInt(localStorage.getItem('updateRecentQueue')) ? parseInt(localStorage.getItem('updateRecentQueue')) : 0;\r\n localStorage.setItem('updateRecentQueue', token + 1)\r\n dispatch({ type: \"PERSIST_CURRENT_RECENT_QUEUE\", payload: parseInt(localStorage.getItem('updateRecentQueue')) });\r\n })\r\n\r\n renewalService.getIndividualRenewal(currentAppId).then((sectionResponse) => {\r\n entityService.getEntity(currentEntityID).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: sectionResponse.data?.credential?.formattedLicenseNumber,\r\n applicationDate: sectionResponse.data?.dateSubmitted\r\n })\r\n });\r\n setHasLoaded(true);\r\n if (sectionResponse.data.sections.findIndex((element) => element.staffReviewComplete === false) !== -1 || sectionResponse.data.status.id !== 2) {// status id 2 = pending\r\n setShowSectionButton(false);\r\n }\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(2, currentAppId).then((data) => {\r\n setSections(routes != null ? routes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route\r\n var index = sectionResponse.data.sections.findIndex(x => x.sectionType?.id == section.id);\r\n if (index !== -1) {\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (sectionResponse.data.sections[index].staffReviewComplete)\r\n section.status = \"COMPLETE\";\r\n else if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n })\r\n })\r\n })\r\n }, [])\r\n const sendStaffApproval = (isApproved) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: `Do you want to ${isApproved ? 'license' : 'decline'} this renewal? You won't be able to revert this!`,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continue!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n Swal.fire({\r\n title: `${isApproved ? 'Licensing' : 'Declining'} Renewal`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n renewalService.postStaffApproval(selector.currentApplicationId, isApproved).then((response) => {\r\n if (response.data) {\r\n setShowSectionButton(false);\r\n Swal.fire({\r\n title: `Saving PDF`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n renewalService.postRenewalPdf(response.data.id, isApproved).then((data) => {\r\n if (data.data) {\r\n setJustLicensed(true);\r\n Swal.fire(\"Saved\", `The renewal was successfully ${isApproved ? 'approved' : 'declined'}!`, \"success\")\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n\r\n }\r\n })\r\n }\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n \r\n

Sections to Complete

\r\n \r\n {sections}\r\n \r\n \r\n
\r\n {showSectionButton &&\r\n
\r\n \r\n \r\n
\r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Index;","import React, { useState } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { Form } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/PeInformation';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport contactService from '../../../../../services/Public/Renewal/PE/contact.service';\r\nimport publicRenewalService from '../../../../../services/Public/Renewal/PE/peRenewal.service';\r\nimport { useSelector } from 'react-redux';\r\nimport { useEffect } from 'react';\r\nimport Swal from 'sweetalert2';\r\nimport PersonalInformation from '../../../../Shared/Card/Contact/PersonalInformation';\r\nimport MailingAddress from '../../../../Shared/Card/Contact/MailingAddress';\r\nimport PublicAddress from '../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport dayjs from 'dayjs';\r\nimport peRenewalService from '../../../../../services/Internal/Renewal/PE/peRenewal.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport renewalService from '../../../../../services/Internal/Renewal/renewal.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\n\r\nfunction ContactInformationPage() {\r\n\r\n const { push } = useHistory();\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [formModel, setFormModel] = useState({});\r\n const [tabPane, setTabPane] = useState(\"personalInformation\")\r\n const [sectionData, setSectionData] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Renewal\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Contact Information\"\r\n }\r\n );\r\n useEffect(() => {\r\n contactService.getContactInformation(renewalId).then((response) => {\r\n var data = response.data;\r\n\r\n setFormModel({\r\n ...data,\r\n dateOfBirth: data.dateOfBirth != null ? dayjs(data.dateOfBirth).format('YYYY-MM-DD') : null,\r\n altEmail: data.alternateEmailAddress?.contactEmailAddress,\r\n primaryEmail: data.primaryEmailAddress?.contactEmailAddress,\r\n cellPhoneNum: data.cellPhone?.contactPhoneNumber,\r\n workPhoneNum: data.workPhone?.contactPhoneNumber,\r\n homePhoneNum: data.homePhone?.contactPhoneNumber\r\n })\r\n publicRenewalService.peGetSection(renewalId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n renewalService.getIndividualRenewal(renewalId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n }, [])\r\n\r\n const formSubmit = (validation, event) => {\r\n\r\n submitData(true);\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n peRenewalService.peMarkSectionComplete(renewalId, sectionId, isComplete).then((data) => {\r\n if (isForSubmit) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n })\r\n }\r\n\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)} onSubmit={formSubmit} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import React from 'react';\r\nimport { Card } from 'react-bootstrap'\r\nimport { FormControl, SelectPicker, Table } from 'rsuite';\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\nfunction LicenseStatus(props) {\r\n return (\r\n
\r\n \r\n
Your License Status
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Credential\r\n \r\n \r\n \r\n \r\n \r\n Credential Status\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n I am renewing into the following status:\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default LicenseStatus;","import React, { useState } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport LicenseStatus from './LicenseStatus';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport { useEffect } from 'react';\r\nimport licenseStatusService from '../../../../../services/Public/Renewal/PE/licenseStatus.service';\r\nimport publicRenewalService from '../../../../../services/Public/Renewal/PE/peRenewal.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Swal from 'sweetalert2';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/PeInformation';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport peRenewalService from '../../../../../services/Internal/Renewal/PE/peRenewal.service';\r\nimport { getRenewingintolist } from '../../../../../services/Shared/codeTable.service';\r\nimport renewalService from '../../../../../services/Internal/Renewal/renewal.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction LicenseStatusPage() {\r\n const { push } = useHistory();\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 2;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [sectionData, setSectionData] = useState({});\r\n const [peRenewalLicenseStatuses, setPeRenewalLicenseStatuses] = useState([]);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Renewal\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"License Status\"\r\n }\r\n );\r\n const [formModel, setFormModel] = useState({\r\n gridData: [],\r\n renewingTo: \"\"\r\n })\r\n const { ObjectType } = Schema.Types;\r\n const model = Schema.Model({\r\n renewingTo: ObjectType().isRequired(\"This field is required.\")\r\n });\r\n\r\n useEffect(() => {\r\n getRenewingintolist(renewalId).then(setPeRenewalLicenseStatuses);\r\n publicRenewalService.peGetSection(renewalId, sectionId).then((data) => {\r\n setSectionData(data.data);\r\n licenseStatusService.getLicenseStatus(renewalId).then((response) => {\r\n setFormModel({\r\n gridData: [{ credential: response.data?.credential?.formattedLicenseNumber, credentialStatus: response.data?.credential?.status?.status }],\r\n renewingTo: response.data.renewingTo ? { id: response.data.renewingTo.id, code: response.data.renewingTo.renewingTo } : null\r\n })\r\n setIsComplete(data.data.staffReviewComplete)\r\n renewalService.getIndividualRenewal(renewalId).then((renewalData) => {\r\n setIsUserEditable(renewalData.data.status.id == 2)\r\n entityService.getEntity(data.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: renewalData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: renewalData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n }, [])\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n licenseStatusService.postLicenseStatus(renewalId, formModel.renewingTo.id).then((response) => {\r\n if (response.data) {\r\n peRenewalService.peMarkSectionComplete(renewalId, sectionId, isComplete).then((data) => {\r\n if (isForSubmit)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n else\r\n Swal.fire(\"Saved!\")\r\n })\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default LicenseStatusPage;","import React, { useEffect, useState } from 'react'\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/PeInformation';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Card } from 'react-bootstrap';\r\nimport DocumentUpload from '../../../../Shared/Upload/DocumentUpload';\r\n\r\nfunction QuizzesPage(props) {\r\n //const attachmentTypes = [\r\n // {\r\n // \"label\": \"Quiz - Laws and Rules\", \"value\": 12\r\n // },\r\n // {\r\n // \"label\": \"Quiz - Ethics\", \"value\": 13\r\n // }\r\n //]\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}\r\nexport default QuizzesPage;","import React, { useEffect } from 'react'\r\nimport { useState } from 'react'\r\nimport { Card, Row, Col, Badge, } from 'react-bootstrap'\r\nimport { ControlLabel, FormControl, FormGroup, HelpBlock, InputNumber, SelectPicker, Uploader } from 'rsuite'\r\nimport attachmentService from '../../../../../services/Shared/attachment.service'\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner'\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar'\r\nimport GenericAttachmentGrid from '../../../../Shared/Grid/GenericAttachmentGrid'\r\nimport YesNoRadioOption from '../../../../Shared/RadioButton/YesNoRadioOption'\r\nimport DocumentUpload from '../../../../Shared/Upload/DocumentUpload'\r\nimport QuizzesPage from './QuizzesPage'\r\nfunction Courses(props) {\r\n const [metCpd, setMetCpd] = useState();\r\n const [hasCpdInMyNcees, setHasCpdInMyNcees] = useState();\r\n useEffect(() => {\r\n setMetCpd(props.metCpd);\r\n setHasCpdInMyNcees(props.hasCpdInMyNcees);\r\n }, [props])\r\n\r\n const requirementsNotMetReasonData = !props.isRetiredToActive ?\r\n [\r\n {\r\n label: \"New License - Licensees are exempt from the CPD requirements during the calendar year in which they are initially licensed.\", value: { id: 1, notMetCpdReason: \"New License - Licensees are exempt from the CPD requirements during the calendar year in which they are initially licensed\" }\r\n },\r\n {\r\n label: \"Newly Reinstated - Licensees are exempt from the CPD requirements during the calendar year in which they are newly reinstated.\", value: { id: 8, notMetCpdReason: \"Newly Reinstated - Licensees are exempt from the CPD requirements during the calendar year in which they are newly reinstated\" }\r\n },\r\n {\r\n label: \"Inactive - Refer to Rule 2103 (A). By selecting this option, you are confirming that you are not offering or providing engineering/land surveying services in Louisiana.\", value: { id: 2, notMetCpdReason: \"Inactive - Refer to Rule 2103 (A). By selecting this option, you are confirming that you are not offering or providing engineering/land surveying services in Louisiana.\" }\r\n },\r\n {\r\n label: \"Medical reasons - Refer to Rule 3109 (A) (3). (FILE UPLOAD REQUIRED)\", value: { id: 4, notMetCpdReason: \"Medical reasons - Refer to Rule 3109 (A) (3).\" }\r\n },\r\n {\r\n label: \"I am not in compliance with earning the requisite hours for this renewal - LAPELS staff will notify you of your next steps.\", value: { id: 7, notMetCpdReason: \"I am not in compliance with earning the requisite hours for this renewal - LAPELS staff will notify you of your next steps.\" }\r\n },\r\n {\r\n label: \"I served on Active Duty in the U.S. military for a period of time exceeding 180 consecutive days in a calendar year - you must provide deployment documentation to be reviewed prior to being approved. (FILE UPLOAD REQUIRED)\", value: { id: 10, notMetCpdReason: \"I served on Active Duty in the U.S. military for a period of time exceeding 180 consecutive days in a calendar year - you must provide deployment documentation to be reviewed prior to being approved.\" }\r\n },\r\n {\r\n label: \"I worked in a location for more than 180 days in a calendar year where compliance with the CPD requirements is impractical due to location, working hours, mail restrictions, etc. - Refer to Rule 3109 (A) (4). (FILE UPLOAD REQUIRED)\", value: { id: 9, notMetCpdReason: \"I worked in a location for more than 180 days in a calendar year where compliance with the CPD requirements is impractical due to location, working hours, mail restrictions, etc. - Refer to Rule 3109 (A) (4).\" }\r\n },\r\n ]\r\n :\r\n [\r\n {\r\n label: \"New License - Licensees are exempt from the CPD requirements during the calendar year in which they are initially licensed.\", value: { id: 1, notMetCpdReason: \"New License - Licensees are exempt from the CPD requirements during the calendar year in which they are initially licensed.\" }\r\n },\r\n {\r\n label: \"Newly Reinstated - Licensees are exempt from the CPD requirements during the calendar year in which they are newly reinstated.\", value: { id: 8, notMetCpdReason: \"Newly Reinstated - Licensees are exempt from the CPD requirements during the calendar year in which they are newly reinstated.\" }\r\n },\r\n {\r\n label: \"Inactive - Refer to Rule 2103 (A). By selecting this option, you are confirming that you are not offering or providing engineering/land surveying services in Louisiana.\", value: { id: 2, notMetCpdReason: \"Inactive - Refer to Rule 2103 (A). By selecting this option, you are confirming that you are not offering or providing engineering/land surveying services in Louisiana.\" }\r\n },\r\n {\r\n label: \"Medical reasons - Refer to Rule 3109 (A) (3). (FILE UPLOAD REQUIRED)\", value: { id: 4, notMetCpdReason: \"Medical reasons - Refer to Rule 3109 (A) (3).\" }\r\n },\r\n {\r\n label: \"I am not in compliance with earning the requisite hours for this renewal - LAPELS staff will notify you of your next steps.\", value: { id: 7, notMetCpdReason: \"I am not in compliance with earning the requisite hours for this renewal - LAPELS staff will notify you of your next steps.\" }\r\n },\r\n {\r\n label: \"I served on Active Duty in the U.S. military for a period of time exceeding 180 consecutive days in a calendar year - you must provide deployment documentation to be reviewed prior to being approved. (FILE UPLOAD REQUIRED)\", value: { id: 10, notMetCpdReason: \"I served on Active Duty in the U.S. military for a period of time exceeding 180 consecutive days in a calendar year - you must provide deployment documentation to be reviewed prior to being approved.\" }\r\n },\r\n {\r\n label: \"I worked in a location for more than 180 days in a calendar year where compliance with the CPD requirements is impractical due to location, working hours, mail restrictions, etc. - Refer to Rule 3109 (A) (4). (FILE UPLOAD REQUIRED)\", value: { id: 9, notMetCpdReason: \"I worked in a location for more than 180 days in a calendar year where compliance with the CPD requirements is impractical due to location, working hours, mail restrictions, etc. - Refer to Rule 3109 (A) (4).\" }\r\n },\r\n { label: \"Other\", value: { id: 6, notMetCpdReason: \"Other\" } }\r\n ];\r\n\r\n return (\r\n \r\n \r\n
CPD Requirements
\r\n
\r\n \r\n {props.isNonActiveToActive ?\r\n <>\r\n

§3121. CPD Reactivation

\r\n
    \r\n
  1. To become reactivated to an active status, a licensee in an expired, inactive, or retired status must have earned all PDHs which he/she would have been required to earn if he/she had been in an active status during the previous two calendar years as provided in §3105.
  2. \r\n
\r\n

Do you have a NCEES CPC locker?

\r\n \r\n {hasCpdInMyNcees ?\r\n

Please have NCEES release your CPC Locker to LAPELS (https://ncees.org/ncees-service/cpc-tracking/)

\r\n :\r\n hasCpdInMyNcees != null &&\r\n <>

You must complete the LAPELS Approved Activity Log outlining all PDHs claimed for the period of 24 months prior to the date of this reactivation,\r\n along with copies of all supporting documentation substantiating the PDHs claimed and complementing the dates and information on your PDH Activity log. Download the log to your computer, complete, save, and upload as one file below with your certificates.\r\n List your PDHs in chronological order on the log, and place on top of your certificates of completion.


\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n\r\n :\r\n <>\r\n

\r\n I have met the CPD requirements for Active status for calendar years {props.year1Number} and {props.year2Number}, and understand that, if I am selected for an audit,\r\n I will be required to provide my Professional Development Hour (PDH) Activity Log and all supporting documentation to validate completion of all CPD requirements.\r\n I further understand that failure to comply with such requirements or any false statements made by me could be cause for disciplinary action.\r\n
\r\n
\r\n NOTE: Licensees are exempt from the CPD requirements during the calendar year in which they are initially licensed.\r\n\r\n

\r\n
\r\n \r\n\r\n {metCpd === false &&\r\n\r\n <>\r\n \r\n \r\n \r\n Please submit the reason why you have not met the requirements. Refer to the board rules here when selecting your exemption: https://www.lapels.com/LawsRules.html. \r\n \r\n \r\n \r\n \r\n\r\n
\r\n\r\n (use ONLY for CPD exemption documentation, NOT for CPD logs or certificates)}\r\n fileUploadTitle={\"CPD File Upload\"}\r\n />\r\n \r\n }\r\n\r\n\r\n\r\n
\r\n

\r\n How many CPD hours did you earn in each calendar year? (enter a number below for each year)\r\n

\r\n
\r\n \r\n \r\n \r\n {props.year1Number}\r\n \r\n \r\n \r\n \r\n \r\n {props.year2Number}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Explain Carry-over Hours, or reason(s) for CPD non-compliance\r\n \r\n \r\n \r\n\r\n \r\n
\r\n

\r\n The CPD hours listed herein are true and correct, and accurately state the professional development hours I have earned. I understand that I must make available all supporting documentation if requested by the Board.\r\n

\r\n
\r\n \r\n \r\n
Electronic Signature of Applicant:
\r\n (Type full name)\r\n \r\n \r\n
\r\n \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Courses\r\n\r\n","import React, { useState } from 'react'\r\nimport { useEffect } from 'react';\r\nimport { Card, Container } from 'react-bootstrap'\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport cpdRequirementsService from '../../../../../services/Public/Renewal/PE/cpdRequirements.service';\r\nimport publicRenewalService from '../../../../../services/Public/Renewal/PE/peRenewal.service';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons'\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/PeInformation';\r\nimport Courses from './Courses'\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport peRenewalService from '../../../../../services/Internal/Renewal/PE/peRenewal.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport renewalService from '../../../../../services/Internal/Renewal/renewal.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\n\r\nfunction CpdRequirementsPage() {\r\n const { push } = useHistory();\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [isRequired, setIsRequired] = useState(true);\r\n const [isNonActiveToActive, setIsNonActiveToActive] = useState(false);\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const [sectionData, setSectionData] = useState({});\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const [isLicenseStatusSet, setIsLicenseStatusSet] = useState(true);\r\n const [isRetiredToActive, setIsRetiredToActive] = useState(false);\r\n const sectionId = 3;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Renewal\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"CPD Requirements\"\r\n }\r\n );\r\n const changeLogData = {\r\n Header: \"CPD Change History\",\r\n BodyText: \"The information below displays all changes made to the CPD section. It allows our staff to track any irregularities and find process breakdowns so that we can make improvements to our system.\",\r\n CurrentId: renewalId,\r\n SectionId: sectionId\r\n };\r\n const currentDate = new Date();\r\n var yearBase = (currentDate.getMonth() == 0 && currentDate.getDate() < 30) ? currentDate.getFullYear() - 1 : currentDate.getFullYear(); //LAPELS-379\r\n const [formModel, setFormModel] = useState({\r\n id: 0,\r\n renewalId: renewalId,\r\n entityId: entityId,\r\n year1: (yearBase - 2),\r\n year1Hours: null,\r\n year2: (yearBase - 1),\r\n year2Hours: null,\r\n metCpd: null,\r\n notMetCPDReason: null,\r\n carryoverExplanation: \"\",\r\n userCrte: \"\",\r\n dateCrte: new Date(),\r\n deleted: false,\r\n hasCpdInMyNcees: null,\r\n electronicSignature: \"\",\r\n });\r\n useEffect(() => {\r\n cpdRequirementsService.isRetiredToActive(renewalId).then((response) => {\r\n if (response.data) {\r\n setIsRetiredToActive(true);\r\n }\r\n })\r\n cpdRequirementsService.isNonActiveToActive(renewalId).then((response) => {\r\n if (response.data) {\r\n setIsNonActiveToActive(true);\r\n }\r\n })\r\n publicRenewalService.peGetSection(renewalId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n renewalService.getIndividualRenewal(renewalId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n cpdRequirementsService.isCpdRequired(renewalId).then((result) => {\r\n if (result.data) {\r\n cpdRequirementsService.getCpdRequirements(renewalId).then((data) => {\r\n if (data.data) {\r\n setFormModel({ ...data.data, electronicSignature: response.data.electronicSignature })\r\n }\r\n })\r\n }\r\n else if (result.data === false) {\r\n setIsRequired(false)\r\n setHasLoaded(true)\r\n }\r\n else {\r\n setIsLicenseStatusSet(false)\r\n setHasLoaded(true)\r\n }\r\n })\r\n })\r\n }, [])\r\n\r\n const { StringType, BooleanType, NumberType, ObjectType } = Schema.Types;\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.'),\r\n metCpd: BooleanType().isRequired('This field is required.'),\r\n notMetCPDReason: ObjectType().isRequired('This field is required'),\r\n hasCpdInMyNcees: BooleanType().isRequired(\"This field is required.\")\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var hasErrors = false;\r\n var validationObject = model.check(formModel);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n if (!isNonActiveToActive) {\r\n if (key === \"electronicSignature\") {\r\n hasErrors = true;\r\n return\r\n }\r\n if (key === \"metCpd\" && formModel.metCpd === null) {\r\n hasErrors = true;\r\n return\r\n }\r\n if (key === \"notMetCPDReason\" && formModel.metCpd === false) {\r\n hasErrors = true;\r\n return\r\n }\r\n }\r\n else {\r\n if (key === \"hasCpdInMyNcees\" && formModel.hasCpdInMyNcees === null) {\r\n hasErrors = true;\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n if (!hasErrors) {\r\n submitData(true);\r\n }\r\n }\r\n }\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n const submitData = (isForSubmiit) => {\r\n var dataToTransmit = { ...formModel, year1Hours: formModel.year1Hours === '' ? null : formModel.year1Hours, year2Hours: formModel.year2Hours === '' ? null : formModel.year2Hours };\r\n publicRenewalService.pePostSection(renewalId, sectionId, formModel.electronicSignature).then((data) => {\r\n cpdRequirementsService.postCpdRequirements(dataToTransmit).then((response) => {\r\n if (response.data.id) {\r\n if (data.data) {\r\n peRenewalService.peMarkSectionComplete(renewalId, sectionId, isComplete).then((data) => {\r\n if (isForSubmiit)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n else\r\n Swal.fire(\"Saved!\");\r\n })\r\n }\r\n }\r\n })\r\n })\r\n }\r\n const notRequiredSubmit = (event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n peRenewalService.peMarkSectionComplete(renewalId, sectionId, isComplete).then((data) => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded ? !isLicenseStatusSet ?\r\n
\r\n \r\n \r\n
CPD Requirements
\r\n
\r\n \r\n Please go back and choose a license status to renew into before completing this section. You may access that section by clicking the \"Back to Sections\" button at the bottom of the page.\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n :\r\n isRequired ?\r\n
setFormModel(formModel)} onSubmit={formSubmit} fluid>\r\n \r\n
\r\n \r\n \r\n :\r\n
\r\n \r\n \r\n
CPD Requirements
\r\n
\r\n \r\n Due to the license status chosen at the beginning of this renewal, this section is not required. You may click \"Next Section\" to continue your renewal.\r\n \r\n
\r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default CpdRequirementsPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PERENEWALURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeRenewal\";\r\n\r\nconst getBuildingDesign = (renewalId) => {\r\n return axios.get(`${PERENEWALURL}/buildingdesign`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nconst postBuildingDesign = (data) => {\r\n return axios.post(`${PERENEWALURL}/buildingdesign`, data, { headers: authHeader() });\r\n}\r\nconst isBuildingDesignRequired = (renewalId) => {\r\n return axios.get(`${PERENEWALURL}/isbuildingdesignrequired`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nconst isNonactiveToActive = (renewalId) => {\r\n return axios.get(`${PERENEWALURL}/isnonactivetoactive`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nexport default {\r\n getBuildingDesign,\r\n postBuildingDesign,\r\n isBuildingDesignRequired,\r\n isNonactiveToActive\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, Card } from 'react-bootstrap';\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport designService from '../../../../../services/Internal/Renewal/PE/design.service';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/PeInformation';\r\nimport YesNoRadioOption from '../../../../Shared/RadioButton/YesNoRadioOption';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport peRenewalService from '../../../../../services/Internal/Renewal/PE/peRenewal.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport renewalService from '../../../../../services/Internal/Renewal/renewal.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction BuildingDesignPage() {\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const year1 = new Date().getFullYear() - 2;\r\n const year2 = new Date().getFullYear() - 1;\r\n const [isBuildingdesignRequired, setIsBuildingdesignRequired] = useState(true);\r\n const [isLicenseStatusSet, setIsLicenseStatusSet] = useState(true);\r\n const [isLicenseStatusNonactiveToActive, setIsLicenseStatusNonactiveToActive] = useState(false);\r\n const [model, setModel] = useState({\r\n hasLaBuildingDesign: '',\r\n hasSafetyCodeHours: '',\r\n renewalId: renewalId,\r\n entityId: entityId\r\n });\r\n const { push } = useHistory();\r\n const sectionId = 10;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [sectionData, setSectionData] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Renewal\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Building Design\"\r\n }\r\n );\r\n useEffect(() => {\r\n peRenewalService.peGetSection(renewalId, sectionId).then((data) => {\r\n setSectionData(data.data);\r\n renewalService.getIndividualRenewal(renewalId).then((renewalData) => {\r\n setIsUserEditable(renewalData.data.status.id == 2)\r\n entityService.getEntity(data.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: renewalData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: renewalData.data?.dateSubmitted\r\n })\r\n });\r\n });\r\n setIsComplete(data.data.staffReviewComplete)\r\n designService.isBuildingDesignRequired(renewalId).then((result) => {//if result is null, no status was chosen\r\n if (result.data) {\r\n designService.getBuildingDesign(renewalId).then((response) => {\r\n if (response.data)\r\n setModel({\r\n ...response.data\r\n })\r\n designService.isNonactiveToActive(renewalId).then((status) => setIsLicenseStatusNonactiveToActive(status.data));\r\n setHasLoaded(true);\r\n\r\n })\r\n }\r\n else if (result.data === false) {\r\n setIsBuildingdesignRequired(false)\r\n setHasLoaded(true)\r\n }\r\n else {\r\n setIsLicenseStatusSet(false)\r\n setHasLoaded(true)\r\n }\r\n })\r\n })\r\n }, [])\r\n const { BooleanType } = Schema.Types;\r\n const validationModel = Schema.Model({\r\n hasLaBuildingDesign: BooleanType().isRequired(\"This field is required.\"),\r\n hasSafetyCodeHours: BooleanType().isRequired(\"This field is required.\")\r\n });\r\n const formSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (val || model.hasLaBuildingDesign == false) {\r\n designService.postBuildingDesign(model).then((response) => {\r\n if (response.data)\r\n peRenewalService.peMarkSectionComplete(renewalId, sectionId, isComplete).then((data) => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n })\r\n }\r\n }\r\n const notRequiredSubmit = (event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n peRenewalService.peMarkSectionComplete(renewalId, sectionId, isComplete).then((data) => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n }\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded ? !isLicenseStatusSet ?\r\n
\r\n \r\n \r\n
Building Design in Louisiana
\r\n
\r\n \r\n Please go back and choose a license status to renew into before completing this section. You may access that section by clicking the \"Back to Sections\" button at the bottom of the page.\r\n \r\n
\r\n
\r\n \r\n \r\n : isBuildingdesignRequired ?\r\n
\r\n \r\n
Building Design in Louisiana
\r\n \r\n {isLicenseStatusNonactiveToActive ?\r\n

Have you designed buildings or building systems in Louisiana since your license was no longer in Active status?

:\r\n

Have you designed buildings or building systems in Louisiana since your last renewal?

}\r\n \r\n {model.hasLaBuildingDesign == true && <>\r\n
\r\n
Safety Code Hours
\r\n

Do you have 4 PDH’s of Life Safety Code, building codes, and/or Americans with Disabilities Act Accessibility Guidelines per calendar year(s) when you designed buildings or buildings systems in Louisiana?

\r\n }\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n :
\r\n \r\n \r\n
Building Design in Louisiana
\r\n
\r\n \r\n Due to the license status chosen at the beginning of this renewal, this section is not required. You may click \"Next Section\" to continue your renewal.\r\n \r\n
\r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default BuildingDesignPage;","import React, { useEffect, useState } from 'react';\r\nimport { Container } from 'react-bootstrap';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport publicRenewalService from '../../../../../services/Public/Renewal/PE/peRenewal.service';\r\nimport violationService from '../../../../../services/Public/Renewal/PE/violation.service';\r\nimport { useSelector } from 'react-redux';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/PeInformation';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport peRenewalService from '../../../../../services/Internal/Renewal/PE/peRenewal.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport { getRenewalCodeViolationAnswers } from '../../../../../services/Shared/codeTable.service';\r\nimport GenericViolations from '../../../../Shared/Card/Violations';\r\nimport renewalService from '../../../../../services/Internal/Renewal/renewal.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const { push } = useHistory();\r\n const sectionId = 4;\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Renewal\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Violations\"\r\n }\r\n );\r\n\r\n const [formData, updateFormData] = useState({\r\n renewalId: renewalId,\r\n dateCrte: new Date(),\r\n entityId: entityId,\r\n id: 0,\r\n userCrte: \"\",\r\n yesAnswerExplanation: \"\"\r\n });\r\n\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n publicRenewalService.peGetSection(renewalId, sectionId).then((response) => {\r\n violationService.getViolation(renewalId).then((data) => {\r\n if (data.data) {\r\n\r\n updateFormData(data.data);\r\n }\r\n else {\r\n getRenewalCodeViolationAnswers(6).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n renewalService.getIndividualRenewal(renewalId).then((renewalData) => {\r\n setIsUserEditable(renewalData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: renewalData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: renewalData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n\r\n }, [])\r\n\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n yesAnswerExplanation: StringType().isRequired('This field is required.')\r\n });\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true) >= 0;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n setShowFormErrors(true)\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n violationService.postViolation(formData).then((response) => {\r\n if (response.data.id) {\r\n peRenewalService.peMarkSectionComplete(renewalId, sectionId, isComplete).then((data) => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n\r\n })\r\n }\r\n }\r\n\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import React from 'react';\r\nimport { Card } from 'react-bootstrap'\r\nimport { FormGroup, RadioGroup, FormControl, Radio} from 'rsuite'\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction JournalPrivacyCard() {\r\n return (\r\n
\r\n \r\n
Journal & Privacy (Professional)
\r\n \r\n

Please send me the Louisiana Engineer & Land Surveyor Journal via:

\r\n
\r\n \r\n \r\n Email\r\n Mail\r\n Do Not Send\r\n \r\n \r\n

Do you want your email address(es) and telephone number(s), which you have provided us, to be kept private and not made available to vendors requesting rosters for distribution\r\n of engineering/land surveying CPD information or to other third parties?

\r\n
\r\n \r\n \r\n Yes, keep private\r\n No, share when requested\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default JournalPrivacyCard;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PENOTIFICATIONPREFERENCEURL = process.env.REACT_APP_APIURL + \"/api/NotificationPreferences\";\r\n\r\n\r\nconst getPrivacyData = (entityId) => {\r\n return axios.get(`${PENOTIFICATIONPREFERENCEURL}/journalandprivacy`, { headers: authHeader(), params: {entityId} });\r\n}\r\nconst postPrivacyData = (data) => {\r\n return axios.post(`${PENOTIFICATIONPREFERENCEURL}/journalandprivacy`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getPrivacyData,\r\n postPrivacyData\r\n}","import React, { useState } from 'react'\r\nimport { Container } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport JournalPrivacyCard from './JournalPrivacyCard';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport { useEffect } from 'react';\r\nimport privacyService from '../../../../../services/Internal/Renewal/PE/privacy.service';\r\nimport Swal from 'sweetalert2';\r\nimport publicRenewalService from '../../../../../services/Internal/Renewal/PE/peRenewal.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/PeInformation';\r\nimport peRenewalService from '../../../../../services/Internal/Renewal/PE/peRenewal.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport renewalService from '../../../../../services/Internal/Renewal/renewal.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction Privacy() {\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const { push } = useHistory();\r\n const sectionId = 6;\r\n const [hasLoaded, setHasLoaded] = useState();\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Renewal\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Journal & Privacy Option\"\r\n }\r\n );\r\n\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n emailPhonePrivacy: BooleanType().isRequired('This field is required.'),\r\n receiveMethod: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const [formData, updateFormData] = useState({\r\n id: 0,\r\n entityId: entityId,\r\n emailPhonePrivacy: null,\r\n journalEmail: null,\r\n journalMail: null,\r\n journalDoNotSend: null,\r\n userCrte: \"\",\r\n dateCrte: new Date(),\r\n deleted: false,\r\n receiveMethod: \"\"\r\n });\r\n\r\n useEffect(() => {\r\n publicRenewalService.peGetSection(renewalId, sectionId).then((data) => {\r\n setSectionData(data.data)\r\n privacyService.getPrivacyData(data.data.entityId).then((response) => {\r\n if (response.data) {\r\n updateFormData({\r\n ...response.data,\r\n receiveMethod: response.data.journalEmail\r\n ? \"email\"\r\n : response.data.journalMail\r\n ? \"mail\"\r\n : response.data.journalDoNotSend\r\n ? \"none\"\r\n : null\r\n })\r\n }\r\n setIsComplete(data.data.staffReviewComplete)\r\n renewalService.getIndividualRenewal(renewalId).then((renewalData) => {\r\n setIsUserEditable(renewalData.data.status.id == 2)\r\n entityService.getEntity(data.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: renewalData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: renewalData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n }, [])\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (val) {\r\n submitData(true);\r\n }\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n var dataToTransmit = {\r\n ...formData,\r\n journalEmail: formData.receiveMethod === \"email\" ? true : null,\r\n journalMail: formData.receiveMethod === \"mail\" ? true : null,\r\n journalDoNotSend: formData.receiveMethod === \"none\" ? true : null,\r\n }\r\n\r\n privacyService.postPrivacyData(dataToTransmit).then((response) => {\r\n if (response.data.id) {\r\n if (isForSubmit)\r\n peRenewalService.peMarkSectionComplete(renewalId, sectionId, isComplete).then((data) => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n });\r\n else\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n }\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Privacy;","import React, { useEffect, useState } from 'react'\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Acknowledgement from '../../../../Shared/Card/Acknowledgement';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/PeInformation';\r\nimport publicRenewalService from '../../../../../services/Public/Renewal/PE/peRenewal.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport peRenewalService from '../../../../../services/Internal/Renewal/PE/peRenewal.service';\r\nimport renewalService from '../../../../../services/Internal/Renewal/renewal.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction AcknowledgementPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false)\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 7;\r\n const [formModel, setFormModel] = useState({})\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Renewal\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Acknowledgement\"\r\n }\r\n );\r\n useEffect(() => {\r\n publicRenewalService.peGetSection(appId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n renewalService.getIndividualRenewal(appId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n const submitData = (isForSubmit) => {\r\n publicRenewalService.pePostSection(appId, sectionId, formModel.electronicSignature).then((response) => {\r\n if (isForSubmit && response.data.id) {\r\n peRenewalService.peMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n else if (response.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { Form, List, Schema } from 'rsuite';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/PeInformation';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../Shared/Card/ReviewPdf';\r\nimport renewalService from '../../../../../services/Public/Renewal/renewal.service';\r\nimport peRenewalService, { getSections } from '../../../../../services/Internal/Renewal/PE/peRenewal.service';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Swal from 'sweetalert2';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction ReviewPage() {\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const { push } = useHistory();\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Renewal\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Review\"\r\n }\r\n );\r\n const sectionId = 8;\r\n useEffect(() => {\r\n peRenewalService.peGetSection(appId, sectionId).then((response) => {\r\n setIsComplete(response.data.staffReviewComplete);\r\n renewalService.getIndividualRenewal(appId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n\r\n\r\n const formSubmit = () => {\r\n peRenewalService.peMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n Swal.fire(\"Success!\", \"You have saved successfully.\", 'success')\r\n })\r\n }\r\n\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n {hasLoaded ?\r\n <>\r\n {violationIssuesHtml}\r\n \r\n \r\n \r\n  \r\n \r\n   \r\n \r\n {isUserEditable &&\r\n \r\n }\r\n \r\n \r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst INTERNALREINSTATEMENT = process.env.REACT_APP_APIURL + \"/api/IndividualReinstatement\";\r\n\r\nconst getIndividualReinstatement = async (reinstatementId) => {\r\n return axios.get(`${INTERNALREINSTATEMENT}/reinstatement`, { headers: authHeader(), params: { reinstatementId } });;\r\n};\r\n\r\nconst peGetSection = (reinstatementId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/IndividualPeReinstatement/section`, { headers: authHeader(), params: { reinstatementId, sectionId } });\r\n}\r\nconst pePostSection = (reinstatementId, sectionId, electronicSignature) => {\r\n\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPeReinstatement/signsection`, null, { headers: authHeader(), params: { reinstatementId, sectionId, electronicSignature } });\r\n}\r\nconst pePostSectionHasRef = (reinstatementId, sectionId, hasReferences) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPeReinstatement/setsectionhasreferences`, null, { headers: authHeader(), params: { reinstatementId, sectionId, hasReferences } });\r\n}\r\nconst pePostSectionHasCpd = (reinstatementId, sectionId, hasCpd) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPeReinstatement/setsectionhascpd`, null, { headers: authHeader(), params: { reinstatementId, sectionId, hasCpd } });\r\n}\r\nconst pePostSectionHasExperience = (reinstatementId, sectionId, hasMyNceesExperience) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPeReinstatement/setsectionhasmynceesexperience`, null, { headers: authHeader(), params: { reinstatementId, sectionId, hasMyNceesExperience } });\r\n}\r\nconst peMarkSectionComplete = (reinstatementId, sectionId, complete) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualPeReinstatement/marksectioncomplete`, null, { headers: authHeader(), params: { reinstatementId, sectionId, complete } })\r\n}\r\nconst postStaffApproval = (reinstatementId, isApproved) => {\r\n return axios.post(`${INTERNALREINSTATEMENT}/staffApproval`, null, { headers: authHeader(), params: { reinstatementId, isApproved } });\r\n}\r\nconst postReinstatementPdf = (reinstatementId, isApproved) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/Reports/AutoAttachReinstatementPdf`, null, { headers: authHeader(), params: { reinstatementId, isApproved } });\r\n}\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Ensure your contact information, including your mailing and public addresses are up to date. Ensure you put LAPELS emails on your safe sender list.\",\r\n },\r\n {\r\n id: 15,\r\n sectionTitle: \"Building Design \",\r\n sectionContent: \"Complete this section verifing your building design experience.\",\r\n },\r\n {\r\n id: 2,\r\n sectionTitle: \"Employment\",\r\n sectionContent: \"Verify Louisiana Employment Firm licensure\",\r\n },\r\n {\r\n id: 3,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 4,\r\n sectionTitle: \"Quizzes\",\r\n sectionContent: \"Upload the confirmation for Online Laws and Rules, the Online Professionalism & Ethics and the Online Louisiana Standards of Practice for Boundary Surveys quizzes.\",\r\n },\r\n {\r\n id: 5,\r\n sectionTitle: \"CPD Requirements\",\r\n sectionContent: \"Verify CPD requirements for Active status for each of the calendar years.\",\r\n },\r\n {\r\n id: 6,\r\n sectionTitle: \"Personal References\",\r\n sectionContent: \"Complete this section listing all personal references.\",\r\n },\r\n {\r\n id: 7,\r\n sectionTitle: \"Experience Record\",\r\n sectionContent: \"Include a GRAND TOTAL of all experience\",\r\n },\r\n {\r\n id: 8,\r\n sectionTitle: \"Disclosure\",\r\n sectionContent: \"Authorize LAPELS staff to procure a consumer report.\",\r\n },\r\n {\r\n id: 9,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Electronically sign (type your name) and date.\",\r\n }\r\n ,\r\n {\r\n id: 10,\r\n sectionTitle: \"Review\",\r\n sectionContent: 'Review your answers. If you need to change an answer, click the \"Section\" above to go back to the appropriate section',\r\n },\r\n {\r\n id: 11,\r\n sectionTitle: \"Board/Staff Recommendations\",\r\n sectionContent: 'Waiting on text',\r\n }\r\n])\r\n\r\nexport default {\r\n peGetSection,\r\n pePostSection,\r\n pePostSectionHasRef,\r\n pePostSectionHasCpd,\r\n pePostSectionHasExperience,\r\n peMarkSectionComplete,\r\n getIndividualReinstatement,\r\n postStaffApproval,\r\n postReinstatementPdf\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, ListGroup, Button } from 'react-bootstrap';\r\nimport Section from '../../../../Shared/Sections/Section';\r\nimport reinstatementService, { getSections } from '../../../../../services/Internal/Reinstatement/PE/peReinstatement.service';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/PeInformation';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Swal from 'sweetalert2';\r\nimport InternalTaskInfo from '../../../Shared/InternalTaskInfo';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\nimport recentQueueService from '../../../../../services/Internal/Recent/recentQueue.service'\r\nimport issuesService from '../../../../../services/Shared/issues.service';\r\n\r\n\r\nfunction Index() {\r\n const marginRight = {\r\n marginRight: '1rem'\r\n }\r\n const [sections, setSections] = useState(null);\r\n const [showSectionButton, setShowSectionButton] = useState(true);\r\n const [justLicensed, setJustLicensed] = useState(false);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"\"\r\n }\r\n );\r\n const dispatch = useDispatch();\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const selector = useSelector(x => x);\r\n useEffect(() => {\r\n var routes = JSON.parse(localStorage.getItem('PERSIST_CURRENT_ROUTE')) ?? selector.currentRoutes;\r\n var currentAppId = localStorage.getItem('PERSIST_CURRENT_APP_ID') ?? selector.currentApplicationId;\r\n var currentEntityID = localStorage.getItem('PERSIST_CURRENT_APP_ENTITY_ID') ?? selector.currentApplicationEntityId;\r\n var currentAppTypeId = localStorage.getItem('PERSIST_CURRENT_APP_TYPE_ID') ?? selector.currentApplicationTypeId;\r\n if (localStorage.getItem('PERSIST_CURRENT_APP_ID')) {\r\n localStorage.removeItem('PERSIST_CURRENT_ROUTE');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ENTITY_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_TYPE_ID');\r\n\r\n dispatch({ type: \"PERSIST_CURRENT_ROUTE\", payload: routes });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: currentAppId });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ENTITY_ID\", payload: currentEntityID });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_TYPE_ID\", payload: currentAppTypeId });\r\n }\r\n //Add to recent Queue\r\n recentQueueService.updateRecentQueue({\r\n entityId: currentEntityID,\r\n parentId: currentAppId,\r\n parentTypeId: 1,\r\n appTypeId: 3,\r\n routes: JSON.stringify(routes)\r\n }).then((data) => {\r\n var token = parseInt(localStorage.getItem('updateRecentQueue')) ? parseInt(localStorage.getItem('updateRecentQueue')) : 0;\r\n localStorage.setItem('updateRecentQueue', token + 1)\r\n dispatch({ type: \"PERSIST_CURRENT_RECENT_QUEUE\", payload: parseInt(localStorage.getItem('updateRecentQueue')) });\r\n })\r\n\r\n reinstatementService.getIndividualReinstatement(currentAppId).then((sectionResponse) => {\r\n entityService.getEntity(currentEntityID).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: sectionResponse.data?.credential?.formattedLicenseNumber,\r\n applicationDate: sectionResponse.data?.dateSubmitted,\r\n formType: sectionResponse.data?.isOverFiveYears ? \"Professional Engineer Reinstatement (5 plus years)\" : entityInfo.formType\r\n })\r\n });\r\n setHasLoaded(true);\r\n if (sectionResponse.data.sections.findIndex((element) => element.staffReviewComplete === false) !== -1 || sectionResponse.data.status.id !== 2) {// status id 2 = pending\r\n setShowSectionButton(false);\r\n }\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(3, currentAppId).then((data) => {\r\n setSections(routes != null ? routes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route\r\n var index = sectionResponse.data.sections.findIndex(x => x.sectionType?.id == section.id);\r\n if (index !== -1) {\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (sectionResponse.data.sections[index].staffReviewComplete)\r\n section.status = \"COMPLETE\";\r\n else if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n })\r\n })\r\n })\r\n }, [])\r\n\r\n const sendStaffApproval = (isApproved) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: `Do you want to ${isApproved ? 'license' : 'decline'} this reinstatement? You won't be able to revert this!`,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continue!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n Swal.fire({\r\n title: `${isApproved ? 'Licensing' : 'Declining'} Reinstatement`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n reinstatementService.postStaffApproval(selector.currentApplicationId, isApproved).then((response) => {\r\n if (response.data) {\r\n setShowSectionButton(false);\r\n Swal.fire({\r\n title: `Saving PDF`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n reinstatementService.postReinstatementPdf(response.data.id, isApproved).then((data) => {\r\n if (data.data) {\r\n setJustLicensed(true);\r\n Swal.fire(\"Saved\", `The reinstatement was successfully ${isApproved ? 'approved' : 'declined'}!`, \"success\")\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n \r\n

Sections to Complete

\r\n \r\n {sections}\r\n \r\n {showSectionButton &&\r\n
\r\n \r\n \r\n
\r\n }\r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default Index;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PEREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeReinstatement\";\r\n\r\nconst getContactInformation = (reinstatementId) => {\r\n return axios.get(`${PEREINSTATEMENTURL}/contactinformation`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nexport default {\r\n getContactInformation\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { Form } from 'rsuite';\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Swal from 'sweetalert2';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/PeInformation'\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport PersonalInformation from '../../../../Shared/Card/Contact/PersonalInformation';\r\nimport MailingAddress from '../../../../Shared/Card/Contact/MailingAddress';\r\nimport PublicAddress from '../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\n\r\nimport contactService from '../../../../../services/Internal/Reinstatement/PE/contact.service';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/PE/peReinstatement.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport dayjs from 'dayjs';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction ContactInformationPage() {\r\n\r\n const { push } = useHistory();\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [formModel, setFormModel] = useState({});\r\n const [tabPane, setTabPane] = useState(\"personalInformation\")\r\n const [sectionData, setSectionData] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Contact Information\"\r\n }\r\n );\r\n useEffect(() => {\r\n contactService.getContactInformation(appId).then((response) => {\r\n var data = response.data;\r\n\r\n setFormModel({\r\n ...data,\r\n dateOfBirth: data.dateOfBirth != null ? dayjs(data.dateOfBirth).format('YYYY-MM-DD') : null,\r\n altEmail: data.alternateEmailAddress?.contactEmailAddress,\r\n primaryEmail: data.primaryEmailAddress?.contactEmailAddress,\r\n cellPhoneNum: data.cellPhone?.contactPhoneNumber,\r\n workPhoneNum: data.workPhone?.contactPhoneNumber,\r\n homePhoneNum: data.homePhone?.contactPhoneNumber\r\n })\r\n reinstatementService.peGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n reinstatementService.getIndividualReinstatement(appId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n }, [])\r\n\r\n\r\n const formSubmit = (validation, event) => {\r\n submitData(true);\r\n }\r\n\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n reinstatementService.peMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data) {\r\n if (isForSubmit) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n Swal.fire(\"Saved!\");\r\n }\r\n }\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)} onSubmit={formSubmit} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n {\r\n hasLoaded &&\r\n <>\r\n
\r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PEREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeReinstatement\";\r\n\r\nconst getBuildingDesign = (reinstatementId) => {\r\n return axios.get(`${PEREINSTATEMENTURL}/buildingdesign`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postBuildingDesign = (data) => {\r\n return axios.post(`${PEREINSTATEMENTURL}/buildingdesign`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getBuildingDesign,\r\n postBuildingDesign\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, Card } from 'react-bootstrap';\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport designService from '../../../../../services/Internal/Reinstatement/PE/design.service';\r\nimport peReinstatementService from '../../../../../services/Internal/Reinstatement/PE/peReinstatement.service';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/PeInformation';\r\nimport YesNoRadioOption from '../../../../Shared/RadioButton/YesNoRadioOption';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction BuildingDesignPage() {\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const [model, setModel] = useState({\r\n hasLaBuildingDesign: '',\r\n hasSafetyCodeHours: '',\r\n reinstatementId: reinstatementId,\r\n entityId: entityId\r\n });\r\n const { push } = useHistory();\r\n const sectionId = 15;\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [sectionData, setSectionData] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Building Design\"\r\n }\r\n );\r\n useEffect(() => {\r\n peReinstatementService.peGetSection(reinstatementId, sectionId).then((data) => {\r\n setSectionData(data.data);\r\n setIsComplete(data.data.staffReviewComplete);\r\n peReinstatementService.getIndividualReinstatement(reinstatementId).then((reinstatementData) => {\r\n setIsUserEditable(reinstatementData.data.status.id == 2)\r\n entityService.getEntity(data.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: reinstatementData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: reinstatementData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n designService.getBuildingDesign(reinstatementId).then((response) => {\r\n if (response.data)\r\n setModel({\r\n ...response.data\r\n })\r\n })\r\n });\r\n })\r\n }, [])\r\n const { BooleanType } = Schema.Types;\r\n const validationModel = Schema.Model({\r\n hasLaBuildingDesign: BooleanType().isRequired(\"This field is required.\"),\r\n hasSafetyCodeHours: BooleanType().isRequired(\"This field is required.\")\r\n });\r\n const formSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (val || model.hasLaBuildingDesign == false) {\r\n designService.postBuildingDesign(model).then((response) => {\r\n peReinstatementService.peMarkSectionComplete(reinstatementId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
\r\n \r\n
Building Design in Louisiana
\r\n \r\n

Have you designed buildings or building systems in Louisiana since your license was no longer in active status?

\r\n \r\n {model.hasLaBuildingDesign == true && <>\r\n
\r\n
Safety Code Hours
\r\n

Do you have 4 PDH’s of Life Safety Code, building codes, and/or Americans with Disabilities Act Accessibility Guidelines per calendar year(s) when you designed buildings or buildings systems in Louisiana?

\r\n \r\n }\r\n
\r\n
\r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default BuildingDesignPage;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PEREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeReinstatement\";\r\n\r\nconst getEmployment = (reinstatementId) => {\r\n return axios.get(`${PEREINSTATEMENTURL}/employment`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postEmployment = (data) => {\r\n return axios.post(`${PEREINSTATEMENTURL}/employment`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getEmployment,\r\n postEmployment\r\n}","import React, { useState, useEffect } from 'react'\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/PeInformation';\r\nimport EmploymentLicensure from '../../../../Shared/Card/EmploymentLicensure';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/PE/peReinstatement.service';\r\nimport employmentService from '../../../../../services/Internal/Reinstatement/PE/employment.service';\r\nimport { getEfCredential } from '../../../../../services/Shared/codeTable.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction EmploymentPage() {\r\n const [sectionData, setSectionData] = useState({});\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const { StringType, ObjectType } = Schema.Types;\r\n const [option, setOption] = useState();\r\n const sectionId = 2;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const store = useSelector(x => x);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Employment\"\r\n }\r\n );\r\n const [formModel, setFormModel] = useState({\r\n id: 0,\r\n reinstatementId: store.currentApplicationId,\r\n employedBy: '',\r\n licensedFirmType: '',\r\n firmNumber: null,\r\n comment: '',\r\n signature: ''\r\n })\r\n const model = Schema.Model({\r\n licensedFirmType: StringType().isRequired('This field is required'),\r\n comment: StringType().isRequired('This field is required'),\r\n firmNumber: ObjectType().isRequired('This field is required'),\r\n employedBy: StringType().isRequired('This field is required')\r\n });\r\n\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n employmentService.getEmployment(store.currentApplicationId).then((response) => {\r\n reinstatementService.peGetSection(store.currentApplicationId, sectionId).then((data) => {\r\n reinstatementService.getIndividualReinstatement(store.currentApplicationId).then((reinstatementData) => {\r\n setIsUserEditable(reinstatementData.data.status.id == 2)\r\n entityService.getEntity(data.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: reinstatementData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: reinstatementData.data?.dateSubmitted\r\n })\r\n });\r\n });\r\n setSectionData(data.data);\r\n setIsComplete(data.data.staffReviewComplete)\r\n if (response.data) {\r\n var licensedFirmType = \"\";\r\n if (response.data.firmIsLicensed)\r\n licensedFirmType = \"licensed\";\r\n else if (response.data.firmIsNotLicensed)\r\n licensedFirmType = \"unlicensed\";\r\n else if (response.data.soleProprietor)\r\n licensedFirmType = \"soleProprietor\";\r\n else if (response.data.unemployed)\r\n licensedFirmType = \"unemployed\"\r\n if (response.data.credentialId) {\r\n getEfCredential(response.data.credentialId).then((cred) => {\r\n setFormModel({\r\n id: response.data.id,\r\n employedBy: response.data.employedByName,\r\n firmNumber: cred?.value,\r\n comment: response.data.comment,\r\n licensedFirmType: licensedFirmType,\r\n signature: data.data.electronicSignature\r\n });\r\n setOption(licensedFirmType);\r\n })\r\n }\r\n else {\r\n setFormModel({\r\n id: response.data.id,\r\n employedBy: response.data.employedByName,\r\n firmNumber: response.data.credentialId,\r\n comment: response.data.comment,\r\n licensedFirmType: licensedFirmType,\r\n signature: data.data.electronicSignature\r\n });\r\n setOption(licensedFirmType);\r\n }\r\n }\r\n setHasLoaded(true);\r\n })\r\n })\r\n\r\n }, [])\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var hasErrors = false;\r\n var validationObject = model.check(formModel);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n if (key === \"firmNumber\" && formModel.licensedFirmType === \"licensed\") {\r\n hasErrors = true;\r\n return\r\n }\r\n else if (key === \"employedBy\" && formModel.licensedFirmType === \"unlicensed\") {\r\n hasErrors = true;\r\n return\r\n }\r\n else if (key === \"comment\" && formModel.licensedFirmType === \"soleProprietor\") {\r\n hasErrors = true;\r\n return\r\n }\r\n else if (key === \"licensedFirmType\" || key === \"signature\") {\r\n hasErrors = true;\r\n return\r\n }\r\n }\r\n }\r\n if (!hasErrors) {\r\n submitData(true);\r\n }\r\n }\r\n }\r\n const formSave = (event) => {\r\n var didSave = submitData();\r\n if (didSave) {\r\n //display saved message\r\n }\r\n else {\r\n //display error message\r\n }\r\n }\r\n const clearFirmNumber = () => {\r\n setFormModel({ ...formModel, firmNumber: null });\r\n }\r\n const submitData = (isForSubmit) => {\r\n var dataTransfer = {\r\n id: formModel.id,\r\n reinstatementId: store.currentApplicationId,\r\n comment: formModel.comment,\r\n credentialId: formModel.firmNumber ? formModel.firmNumber.licenseNumber : null,\r\n employedByName: formModel.employedBy,\r\n entityId: store.userInfo.EntityId,\r\n firmIsLicensed: formModel.licensedFirmType ? formModel.licensedFirmType == \"licensed\" ? true : false : null,\r\n firmIsNotLicensed: formModel.licensedFirmType ? formModel.licensedFirmType == \"unlicensed\" ? true : false : null,\r\n soleProprietor: formModel.licensedFirmType ? formModel.licensedFirmType == \"soleProprietor\" ? true : false : null,\r\n unemployed: formModel.licensedFirmType ? formModel.licensedFirmType == \"unemployed\" ? true : false : null\r\n };\r\n employmentService.postEmployment(dataTransfer).then((response) => {\r\n reinstatementService.pePostSection(store.currentApplicationId, sectionId, formModel.signature).then((data) => {\r\n reinstatementService.peMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((val) => {\r\n if (response.data && isForSubmit && val.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data) {\r\n var licensedFirmType = \"\";\r\n if (response.data.firmIsLicensed)\r\n licensedFirmType = \"licensed\";\r\n else if (response.data.firmIsNotLicensed)\r\n licensedFirmType = \"unlicensed\";\r\n else if (response.data.soleProprietor)\r\n licensedFirmType = \"soleProprietor\";\r\n else if (response.data.unemployed)\r\n licensedFirmType = \"unemployed\"\r\n if (response.data.credentialId) {\r\n getEfCredential(response.data.credentialId).then((cred) => {\r\n setFormModel({\r\n id: response.data.id,\r\n employedBy: response.data.employedByName,\r\n firmNumber: cred,\r\n comment: response.data.comment,\r\n licensedFirmType: licensedFirmType,\r\n signature: data.data.electronicSignature\r\n });\r\n setOption(licensedFirmType);\r\n Swal.fire(\"Saved!\");\r\n })\r\n }\r\n else {\r\n setFormModel({\r\n id: response.data.id,\r\n employedBy: response.data.employedByName,\r\n firmNumber: response.data.credentialId,\r\n comment: response.data.comment,\r\n licensedFirmType: licensedFirmType,\r\n signature: data.data.electronicSignature\r\n });\r\n setOption(licensedFirmType);\r\n Swal.fire(\"Saved!\");\r\n }\r\n }\r\n })\r\n })\r\n });\r\n //post formData to api\r\n //return bool didSave\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default EmploymentPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PEREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeReinstatement\";\r\n\r\nconst getViolation = (reinstatementId) => {\r\n return axios.get(`${PEREINSTATEMENTURL}/violation`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postViolation = (data) => {\r\n return axios.post(`${PEREINSTATEMENTURL}/violation`, data, { headers: authHeader() });\r\n}\r\nconst downloadViolationFile = (reinstatementId) => {\r\n axios.get(`${process.env.REACT_APP_APIURL}/Reports/GetReinstatementViolationsForm`, { headers: authHeader(), params: { reinstatementId }, responseType: 'arraybuffer' }).then((response) => {\r\n var name = new String(response.headers['content-disposition']);\r\n const downloadUrl = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = downloadUrl;\r\n link.setAttribute('download', name.slice(name.indexOf('filename=') + 9, name.lastIndexOf(';')));\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n });\r\n}\r\nexport default {\r\n getViolation,\r\n postViolation,\r\n downloadViolationFile\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/PE/peReinstatement.service';\r\nimport violationService from '../../../../../services/Internal/Reinstatement/PE/violation.service';\r\nimport Swal from 'sweetalert2';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/PeInformation';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport { getReinstatementCodeViolationAnswers } from '../../../../../services/Shared/codeTable.service';\r\nimport GenericViolations from '../../../../Shared/Card/Violations';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 3;\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n signature: StringType().isRequired('This field is required.'),\r\n yesAnswerExplanation: StringType().isRequired('This field is required.'),\r\n });\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Violations\"\r\n }\r\n );\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n reinstatementService.peGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n violationService.getViolation(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, issues: formData.issues, files: formData.files, filesForDisplay: formData.filesForDisplay, signature: response.data.electronicSignature });\r\n }\r\n else {\r\n getReinstatementCodeViolationAnswers(6).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n reinstatementService.getIndividualReinstatement(store.currentApplicationId).then((reinstatementData) => {\r\n setIsUserEditable(reinstatementData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: reinstatementData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: reinstatementData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n signature: undefined,\r\n yesAnswerExplanation: \"\",\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true && x.codeViolationQuestion.versionNumber < 3) >= 0;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n\r\n //Verison 3+ violations\r\n const showBlukViolationExplanation = formData?.answers?.findIndex(x => x.answer == true && !x.codeViolationQuestion.hasExplanation && x.codeViolationQuestion.versionNumber >= 3) >= 0 ?\r\n `If the answer to question number 2-${formData.answers[0].codeViolationQuestion.versionNumber == 3 ? '6' : '5'} is \"Yes\", provide the date and the pertinent facts of the case or proceeding including its final disposition. Upload additional pages if necessary` : \"\";\r\n\r\n const downloadViolations = () => {\r\n violationService.downloadViolationFile(store.currentApplicationId)\r\n }\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n setShowFormErrors(true)\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n if (validationObject[key].hasError && (showBlukViolationExplanation && key.includes(\"yesAnswerExplanation\"))) {\r\n return;\r\n }\r\n\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer === true && x.codeViolationQuestion.hasExplanation && !x.violationExplanation) >= 0) {//undefined check\r\n return;\r\n }\r\n if (formData.signature) {\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, reinstatementId: store.currentApplicationId, entityId: store.userInfo.EntityId };\r\n violationService.postViolation(dataTransfer).then((response) => {\r\n reinstatementService.peMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((data) => {\r\n reinstatementService.pePostSection(store.currentApplicationId, sectionId, formData.signature).then((response) => {\r\n if (response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n })\r\n })\r\n });\r\n }\r\n }\r\n }\r\n }\r\n const formSave = () => {\r\n var dataTransfer = { ...formData, reinstatementId: store.currentApplicationId, entityId: store.userInfo.EntityId };\r\n violationService.postViolation(dataTransfer).then((response) => {\r\n updateFormData({ ...response.data, signature: formData.signature });\r\n reinstatementService.peMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((data) => {\r\n reinstatementService.pePostSection(store.currentApplicationId, sectionId, formData.signature).then((response) => {\r\n Swal.fire(\"Saved!\")\r\n })\r\n })\r\n });\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import React, { useEffect, useState } from 'react'\r\nimport { Card, Container } from 'react-bootstrap'\r\nimport { Form, Schema } from 'rsuite'\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons'\r\nimport DocumentUploads from '../../../../Shared/Card/DocumentUploads'\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/PeInformation';\r\nimport attachmentService from '../../../../../services/Shared/attachment.service';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/PE/peReinstatement.service';\r\nimport Swal from 'sweetalert2';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\nimport DocumentUpload from '../../../../Shared/Upload/DocumentUpload';\r\n\r\nfunction QuizzesPage() {\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const sectionId = 4;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [sectionData, setSectionData] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [hasFiles, setHasFiles] = useState(false);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Quizzes\"\r\n }\r\n );\r\n useEffect(() => {\r\n reinstatementService.peGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data)\r\n setIsComplete(response.data.staffReviewComplete);\r\n reinstatementService.getIndividualReinstatement(appId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n\r\n const { push } = useHistory();\r\n\r\n const handleSave = () => {\r\n reinstatementService.peMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n Swal.fire(\"Saved!\")\r\n })\r\n }\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (hasFiles) {\r\n // do form post\r\n reinstatementService.peMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n })\r\n }\r\n }\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
{/*This is to make sure validation is triggered and form does nothing else*/}\r\n \r\n \r\n
Document Uploads
\r\n
\r\n \r\n \r\n {!hasFiles &&
Please select at least 1 file.
}\r\n
\r\n
\r\n
\r\n \r\n \r\n : \r\n }\r\n\r\n
\r\n
\r\n )\r\n}\r\nexport default QuizzesPage;","import React from 'react'\r\nimport { Card, Row, Col, Badge, } from 'react-bootstrap'\r\nimport { FormControl } from 'rsuite'\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar'\r\nimport DocumentUpload from '../../../../Shared/Upload/DocumentUpload';\r\n\r\nfunction Courses(props) {\r\n return (\r\n \r\n \r\n
Courses
\r\n
\r\n \r\n
\r\n CPD Records must include the LAPELS approved CPD log with all certificates/proof of attendance uploaded in the section below.\r\n You may also choose to upload your CPD documentation in your NCEES CPC locker at ncees.org.\r\n
\r\n Course records must cover the last 24 months prior to starting this reinstatement application.\r\n }\r\n setHasFiles={props.setHasFiles}\r\n />\r\n {!props.hasFiles &&
Please upload at least 1 file.
}\r\n
\r\n

\r\n The CPD credits listed herein are true and correct, and accurately state the professional development hours I have earned.\r\n

\r\n
\r\n \r\n \r\n
Electronic Signature of Applicant:
\r\n (Type full name)\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default Courses\r\n\r\n","import React, { useState, useEffect } from 'react'\r\nimport { Container } from 'react-bootstrap'\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/PE/peReinstatement.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons'\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/PeInformation';\r\nimport Courses from './Courses'\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction CpdRequirementsPage() {\r\n const { push } = useHistory();\r\n const [formModel, setFormModel] = useState({\r\n electronicSignature: \"\",\r\n });\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [hasFiles, setHasFiles] = useState(false);\r\n const sectionId = 5;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.'),\r\n });\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"CPD Requirements\"\r\n }\r\n );\r\n useEffect(() => {\r\n reinstatementService.peGetSection(reinstatementId, sectionId).then((response) => {\r\n setIsComplete(response.data.staffReviewComplete)\r\n reinstatementService.getIndividualReinstatement(reinstatementId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n });\r\n setFormModel(response.data);\r\n setHasLoaded(true);\r\n });\r\n })\r\n }, [])\r\n const formSubmit = (validation, event) => {\r\n if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n const submitData = (isForSubmit) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n reinstatementService.pePostSection(reinstatementId, sectionId, formModel.electronicSignature).then((response) => {\r\n reinstatementService.peMarkSectionComplete(reinstatementId, sectionId, isComplete).then((data) => {\r\n if (isForSubmit && response.data.id) {\r\n push(routes[routes.map(function (x) { return x.sectionId }).indexOf(sectionId) + 1].route)\r\n }\r\n else if (response.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n else {\r\n Swal.fire(\"Error saving cpd\")\r\n }\r\n })\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit} fluid>\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default CpdRequirementsPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PEAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeReinstatement\";\r\n\r\nconst getPersonalReferences = (reinstatementId) => {\r\n return axios.get(`${PEAPPLICATIONURL}/personalreferences`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postPersonalReference = (data) => {\r\n return axios.post(`${PEAPPLICATIONURL}/personalreference`, data, { headers: authHeader() });\r\n}\r\nconst sendPersonalReferenceEmail = (referenceId) => {\r\n return axios.post(`${PEAPPLICATIONURL}/sendreferenceemail`, null, { headers: authHeader(), params: { referenceId } });\r\n}\r\n\r\nconst downloadPersonalReferences = (reinstatementId, credType) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/Reports/GetReinstatementPersonalReferences`, { headers: authHeader(), params: { reinstatementId: reinstatementId, credType:credType }, responseType: 'arraybuffer' });\r\n}\r\n\r\nexport default {\r\n getPersonalReferences,\r\n postPersonalReference,\r\n sendPersonalReferenceEmail,\r\n downloadPersonalReferences\r\n}","import React, { useState, useEffect } from 'react'\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Container } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useSelector } from 'react-redux';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons'\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/PeInformation';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport AddEditPersonalReferenceModal from '../../../../Shared/Modal/AddEditPersonalReferenceModal';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport References from '../../../../Shared/Card/References';\r\n\r\nimport personalReferenceService from '../../../../../services/Internal/Reinstatement/PE/personalReference.service'\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/PE/peReinstatement.service'\r\nimport Swal from 'sweetalert2';\r\nimport dayjs from 'dayjs';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport ExternalFormModal from '../../../../Shared/Modal/ExternalFormModal';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction PersonalReferencesPage() {\r\n const { push } = useHistory();\r\n const [modalShow, setModalShow] = useState(false);\r\n const [hasLoaded, setHasLoaded] = useState(true);\r\n const [verifierModalShow, setVerifierModalShow] = useState(false);\r\n const [verifierId, setVerifierId] = useState(0);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 6;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"References\"\r\n }\r\n );\r\n const [modalData, setModalData] = useState({\r\n address: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: 0,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n firstOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: 0,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n secondOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: 0,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n reinstatementId: 0,\r\n dateCrte: null,\r\n deleted: false,\r\n email: \"\",\r\n entityId: 0,\r\n id: 0,\r\n name: \"\",\r\n userCrte: \"\",\r\n verificationStatus: null,\r\n membersOfSameFirm: null,\r\n notMembersOfSameFirmExplanation: '',\r\n dateFromFirstOccasion: null,\r\n dateToFirstOccasion: null,\r\n firstOccasionFirmName: '',\r\n firstOccasionPosition: '',\r\n firstOccasionReferencePosition: '',\r\n dateToSecondOccasion: null,\r\n dateFromSecondOccasion: null,\r\n secondOccasionFirmName: '',\r\n secondOccasionPosition: '',\r\n secondOccasionReferencePosition: '',\r\n modalType: \"Add\"\r\n });\r\n const [gridData, setGridData] = useState([]);\r\n const [sectionData, setSectionData] = useState({});\r\n\r\n useEffect(() => {\r\n setHasLoaded(false)\r\n reinstatementService.peGetSection(reinstatementId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n updateGridData();\r\n reinstatementService.getIndividualReinstatement(reinstatementId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n\r\n\r\n const updateGridData = () => {\r\n personalReferenceService.getPersonalReferences(reinstatementId).then((response) => {\r\n setGridData(response.data);\r\n });\r\n }\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.'),\r\n hasReferences: BooleanType().isRequired('This field is required.')\r\n });\r\n const openVerifierModal = (id) => {\r\n setVerifierId(id);\r\n setVerifierModalShow(true);\r\n }\r\n const openAddEditModal = (values) => {\r\n if (values.id) {\r\n var data = {\r\n ...values,\r\n dateToFirstOccasion: values.dateToFirstOccasion ? dayjs(values.dateToFirstOccasion).format('YYYY-MM') : null,\r\n dateFromFirstOccasion: values.dateFromFirstOccasion ? dayjs(values.dateFromFirstOccasion).format('YYYY-MM') : null,\r\n dateToSecondOccasion: values.dateToSecondOccasion ? dayjs(values.dateToSecondOccasion).format('YYYY-MM') : null,\r\n dateFromSecondOccasion: values.dateFromSecondOccasion ? dayjs(values.dateFromSecondOccasion).format('YYYY-MM') : null,\r\n modalType: \"Edit\"\r\n }\r\n setModalData(data);\r\n }\r\n else {\r\n setModalData({\r\n address: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: entityId,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n firstOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: entityId,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n secondOccasionFirmAddress: {\r\n state: null,\r\n country: null,\r\n city: '',\r\n postalCode: '',\r\n streetAddress: '',\r\n id: 0,\r\n parentId: 0,\r\n parentType: null,\r\n addressType: {\r\n id: 2,\r\n addressType: \"Mailing Address\"\r\n },\r\n entityId: entityId,\r\n provinceRegion: \"\",\r\n county: null,\r\n userCrte: \"\",\r\n dateCrte: null,\r\n },\r\n reinstatementId: reinstatementId,\r\n dateCrte: null,\r\n deleted: false,\r\n email: \"\",\r\n entityId: entityId,\r\n id: 0,\r\n name: \"\",\r\n userCrte: \"\",\r\n verificationStatus: null,\r\n membersOfSameFirm: null,\r\n notMembersOfSameFirmExplanation: '',\r\n dateFromFirstOccasion: null,\r\n dateToFirstOccasion: null,\r\n firstOccasionFirmName: '',\r\n firstOccasionPosition: '',\r\n firstOccasionReferencePosition: '',\r\n dateToSecondOccasion: null,\r\n dateFromSecondOccasion: null,\r\n secondOccasionFirmName: '',\r\n secondOccasionPosition: '',\r\n secondOccasionReferencePosition: '',\r\n modalType: \"Add\"\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n reinstatementService.pePostSection(reinstatementId, sectionId, sectionData.electronicSignature).then((signatureResponse) => {\r\n reinstatementService.pePostSectionHasRef(reinstatementId, sectionId, sectionData.hasReferences).then((response) => {\r\n reinstatementService.peMarkSectionComplete(reinstatementId, sectionId, isComplete).then((data) => {\r\n if (response.data && signatureResponse.data && data.data) // If both return something it's good to go\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n });\r\n });\r\n });\r\n }\r\n }\r\n\r\n const formSave = (event) => {\r\n reinstatementService.pePostSection(reinstatementId, sectionId, sectionData.electronicSignature).then(() => {\r\n reinstatementService.pePostSectionHasRef(reinstatementId, sectionId, sectionData.hasReferences).then(() => {\r\n reinstatementService.peMarkSectionComplete(reinstatementId, sectionId, isComplete).then((data) => {\r\n Swal.fire(\"Saved!\")\r\n });\r\n })\r\n });\r\n }\r\n\r\n const deleteRow = (rowData) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n personalReferenceService.postPersonalReference({ ...rowData, deleted: true }).then((response) => {\r\n updateGridData();\r\n })\r\n }\r\n })\r\n }\r\n\r\n const emailReference = (rowData) => {\r\n personalReferenceService.sendPersonalReferenceEmail(rowData.id).then((response) => {\r\n if (response.data) {\r\n Swal.fire(`You have successfully sent an email to ${rowData.name} at ${rowData.email}!`);\r\n updateGridData();\r\n }\r\n else\r\n Swal.fire(`Failed to send email: ${response.data.message}`);\r\n })\r\n }\r\n\r\n const downloadPersonalReferences = () => {\r\n Swal.fire({\r\n title: `Downloading PDF`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n personalReferenceService.downloadPersonalReferences(sectionData.reinstatementId, \"PE\").then((response) => {\r\n var name = new String(response.headers['content-disposition']);\r\n const downloadUrl = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = downloadUrl;\r\n link.setAttribute('target', '_blank');\r\n link.setAttribute('download', name.slice(name.indexOf('filename=') + 9, name.lastIndexOf(';')));\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n Swal.close();\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n

\r\n Personal References\r\n

\r\n {hasLoaded ? <>\r\n setModalShow(false)}\r\n onsave={personalReferenceService.postPersonalReference}\r\n />\r\n {verifierModalShow &&\r\n setVerifierModalShow(false)} id={verifierId} type=\"referencesReinstatement\" />\r\n }\r\n { setSectionData(data) }}\r\n onSubmit={formSubmit} >\r\n\r\n \r\n\r\n
\r\n \r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default PersonalReferencesPage\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Modal, Row, Col, Button } from 'react-bootstrap'\r\nimport NumberFormat from 'react-number-format';\r\nimport { Input, SelectPicker, Form, ControlLabel, Schema, FormControl, FormGroup, Icon } from 'rsuite';\r\nimport experienceService from '../../../../../services/Public/Reinstatement/PE/experience.service';\r\n//import reinstatementExperienceService from '../../../../../../services/Public/Reinstatement/PLS/experience.service';\r\nimport { getEmploymentTypes } from '../../../../../services/Shared/codeTable.service';\r\nimport PhoneNumberMask from '../../../../Shared/GenericComponents/PhoneNumberMask';\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\n\r\nconst InputMask = ({ onChange, ...rest }) => {\r\n return (\r\n {\r\n onChange(event.target.value);\r\n }}\r\n />\r\n );\r\n};\r\n\r\nfunction AddEditExperienceRecordsModal(props) {\r\n const [recordModel, setRecordModel] = useState({\r\n applicationId: 0,\r\n comments: \"\",\r\n dateCrte: null,\r\n dateFrom: null,\r\n dateTo: null,\r\n deleted: false,\r\n employerName: \"\",\r\n employerPosition: \"\",\r\n employerEmail: \"\",\r\n employerPhone: \"\",\r\n verifierName: \"\",\r\n verifierPosition: \"\",\r\n verifierEmail: \"\",\r\n verifierPhone: \"\",\r\n employmentType: null,\r\n entityId: 0,\r\n id: 0,\r\n userCrte: \"\",\r\n position: \"\",\r\n location: \"\",\r\n description: \"\",\r\n acceptableDescription: \"\",\r\n //showErrors: false,\r\n emailAddresses: [\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 10,\r\n emailAddressParentType: \"Application Experience Employer\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 11,\r\n emailAddressParentType: \"Application Experience Verifier\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n phoneNumbers: [\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 10,\r\n phoneParentType: \"Application Experience Employer\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 11,\r\n phoneParentType: \"Application Experience Verifier\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n modalType: \"Add\"\r\n })\r\n const [employmentTypes, setEmploymentTypes] = useState([])\r\n useEffect(() => {\r\n getEmploymentTypes().then(setEmploymentTypes);\r\n setRecordModel(props.modaldata);\r\n }, [props.modaldata])\r\n\r\n const { StringType, ObjectType, NumberType } = Schema.Types;\r\n const model = Schema.Model({\r\n position: StringType().isRequired('This field is required.'),\r\n employerName: StringType().isRequired('This field is required.'),\r\n employerPosition: StringType().isRequired('This field is required.'),\r\n employerPhone: NumberType().pattern(/^[0-9]{10}/, \"Please enter a valid Phone Number\").isRequired(\"This field is required.\"),\r\n employerEmail: StringType().isRequired('This field is required.').isEmail(\"Enter a valid email\"),\r\n verifierName: StringType().isRequired('This field is required.'),\r\n verifierPosition: StringType().isRequired('This field is required.'),\r\n verifierPhone: NumberType().pattern(/^[0-9]{10}/, \"Please enter a valid Phone Number\").isRequired(\"This field is required.\"),\r\n verifierEmail: StringType().isRequired('This field is required.').isEmail(\"Enter a valid email\"),\r\n\r\n location: StringType().isRequired('This field is required.'),\r\n description: StringType().isRequired('This field is required.'),\r\n acceptableDescription: StringType().isRequired('This field is required.'),\r\n employmentType: ObjectType().isRequired('This field is required.'),\r\n dateFrom: StringType().isRequired('This field is required.'),\r\n dateTo: StringType().isRequired('This field is required.')\r\n })\r\n\r\n const formSubmit = (validation, event) => {\r\n var hasErrors = false;\r\n var validationObject = model.check(recordModel);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n hasErrors = true;\r\n return;\r\n }\r\n }\r\n if (!hasErrors) {\r\n submitData();\r\n }\r\n\r\n }\r\n const submitData = () => {\r\n var dataToTransmit = {\r\n ...recordModel,\r\n phoneNumbers: [\r\n {\r\n ...recordModel.phoneNumbers[0],\r\n contactPhoneNumber: recordModel.employerPhone\r\n },\r\n {\r\n ...recordModel.phoneNumbers[1],\r\n contactPhoneNumber: recordModel.verifierPhone\r\n }\r\n ],\r\n emailAddresses: [\r\n {\r\n ...recordModel.emailAddresses[0],\r\n contactEmailAddress: recordModel.employerEmail\r\n\r\n },\r\n {\r\n ...recordModel.emailAddresses[1],\r\n contactEmailAddress: recordModel.verifierEmail\r\n }\r\n ],\r\n dateFrom: new Date(recordModel.dateFrom),\r\n dateTo: new Date(recordModel.dateTo),\r\n id: recordModel.id === '' ? 0 : recordModel.id,\r\n };\r\n\r\n\r\n delete dataToTransmit.modalType;\r\n delete dataToTransmit.verifierEmail;\r\n delete dataToTransmit.verifierPhone;\r\n delete dataToTransmit.employerPhone;\r\n delete dataToTransmit.employerEmail;\r\n //delete dataToTransmit.showErrors;\r\n //if (props.appType === \"reinstatement\") {\r\n // reinstatementExperienceService.postExperienceRecord(dataToTransmit).then((response) => {\r\n // if (response.data.id) {\r\n // props.updateGrid();\r\n // props.onHide();\r\n // }\r\n // })\r\n //}\r\n //else {\r\n experienceService.postExperienceRecord(dataToTransmit).then((response) => {\r\n if (response.data.id) {\r\n props.updateGrid();\r\n props.onHide();\r\n }\r\n })\r\n //}\r\n }\r\n return (\r\n \r\n \r\n \r\n {recordModel.modalType} an Experience Record\r\n \r\n \r\n \r\n
setRecordModel(recordModel)} onSubmit={formSubmit} >\r\n \r\n \r\n \r\n \r\n \r\n Title of Position \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Location of Assignment/Engagement \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Description of Assignment \r\n \r\n indicate character of work and degree of responsibility \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n If not a licensed professional engineer/surveyor, explain why the experience should be considered acceptable. Otherwise, enter N/A. \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Employment Type \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Date From \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Date To \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n Employer Information \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Title \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Phone \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Email \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n Verifier Information \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Title \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Phone \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Email \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default AddEditExperienceRecordsModal;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst PEREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/IndividualPeReinstatement\";\r\n\r\nconst getExperienceRecords = (reinstatementId) => {\r\n return axios.get(`${PEREINSTATEMENTURL}/experiencerecords`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postExperienceRecord = (data) => {\r\n return axios.post(`${PEREINSTATEMENTURL}/experiencerecord`, data, { headers: authHeader() });\r\n}\r\nconst downloadExperiences = (reinstatementId, credType) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/Reports/GetReinstatementExperiences`, { headers: authHeader(), params: { reinstatementId: reinstatementId, credType: credType }, responseType: 'arraybuffer' });\r\n}\r\nexport default {\r\n getExperienceRecords,\r\n postExperienceRecord,\r\n downloadExperiences\r\n}","import React, { useEffect, useState } from 'react'\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/PeInformation';\r\nimport AddEditExperienceRecordsModal from './ExperienceRecordModal';\r\nimport Experience from '../../../../Shared/Card/Experience';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/PE/peReinstatement.service';\r\nimport experienceService from '../../../../../services/Internal/Reinstatement/PE/experience.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport dayjs from 'dayjs';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Swal from 'sweetalert2';\r\nimport ExternalFormModal from '../../../../Shared/Modal/ExternalFormModal';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction ExperiencePage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n\r\n const [modalShow, setModalShow] = useState(false);\r\n const [verifierModalShow, setVerifierModalShow] = useState(false);\r\n const [verifierExperienceId, setVerifierExperienceId] = useState(0);\r\n const [gridData, setGridData] = useState([]);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [isOverFiveYears, setIsOverFiveYears] = useState(false);\r\n const sectionId = 7;\r\n const [modalData, setModalData] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Experience\"\r\n }\r\n );\r\n useEffect(() => {\r\n setHasLoaded(false)\r\n reinstatementService.peGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n updateGridData();\r\n reinstatementService.getIndividualReinstatement(appId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n setIsOverFiveYears(data.data.isOverFiveYears);\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n const { BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasMyNceesExperience: BooleanType().isRequired('This field is required.')\r\n });\r\n const openVerifierModal = (id) => {\r\n setVerifierExperienceId(id);\r\n setVerifierModalShow(true);\r\n }\r\n const openAddEditModal = (values) => {\r\n if (values.id) {\r\n setModalData(\r\n {\r\n ...values,\r\n verifierEmail: values.emailAddresses[1].contactEmailAddress,\r\n verifierPhone: values.phoneNumbers[1].contactPhoneNumber,\r\n employerEmail: values.emailAddresses[0].contactEmailAddress,\r\n employerPhone: values.phoneNumbers[0].contactPhoneNumber,\r\n dateFrom: values.dateFrom ? dayjs(values.dateFrom).format('YYYY-MM') : null,\r\n dateTo: values.dateTo ? dayjs(values.dateTo).format('YYYY-MM') : null,\r\n modalType: 'Edit'\r\n });\r\n }\r\n else {\r\n setModalData({\r\n reinstatementId: appId,\r\n comments: \"\",\r\n dateCrte: null,\r\n dateFrom: null,\r\n dateTo: null,\r\n deleted: false,\r\n employerName: \"\",\r\n employerPosition: \"\",\r\n verifierName: \"\",\r\n verifierPosition: '',\r\n verifierEmail: \"\",\r\n verifierPhone: \"\",\r\n employerEmail: \"\",\r\n employerPhone: \"\",\r\n employmentType: null,\r\n entityId: entityId,\r\n id: 0,\r\n userCrte: \"\",\r\n position: \"\",\r\n location: \"\",\r\n description: \"\",\r\n acceptableDescription: \"\",\r\n emailAddresses: [\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 12,\r\n emailAddressParentType: \"Reinstatement Experience Employer\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 13,\r\n emailAddressParentType: \"Reinstatement Experience Verifier\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n phoneNumbers: [\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 12,\r\n phoneParentType: \"Reinstatement Experience Employer\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 13,\r\n phoneParentType: \"Reinstatement Experience Verifier\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n modalType: \"Add\"\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n const { push } = useHistory();\r\n\r\n const handleSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n reinstatementService.pePostSectionHasExperience(appId, sectionId, sectionData.hasMyNceesExperience).then((response) => {\r\n reinstatementService.peMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (response.data && data.data) // If both return something it's good to go\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n });\r\n });\r\n }\r\n }\r\n const handleSave = () => {\r\n reinstatementService.peMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n Swal.fire(\"Saved!\")\r\n })\r\n }\r\n const updateGridData = () => {\r\n experienceService.getExperienceRecords(appId).then((response) => {\r\n setGridData(response.data)\r\n });\r\n }\r\n\r\n const downloadExperiences = () => {\r\n Swal.fire({\r\n title: `Downloading PDF`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n experienceService.downloadExperiences(appId, \"PE\").then((response) => {\r\n var name = new String(response.headers['content-disposition']);\r\n const downloadUrl = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = downloadUrl;\r\n link.setAttribute('target', '_blank');\r\n link.setAttribute('download', name.slice(name.indexOf('filename=') + 9, name.lastIndexOf(';')));\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n Swal.close();\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded ? <>\r\n {modalShow &&\r\n setModalShow(false)} proptitle=\"Add\" />\r\n }\r\n {verifierModalShow &&\r\n setVerifierModalShow(false)} id={verifierExperienceId} type=\"experienceReinstatement\" />\r\n }\r\n
setSectionData(data)}>\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ExperiencePage","import React, { useState, useEffect } from 'react';\r\nimport { Container } from 'react-bootstrap'\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport { useHistory } from 'react-router-dom';\r\nimport DisclosureAuthorization from '../../../../Shared/Card/DisclosureAuthorization';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/PeInformation';\r\nimport { useSelector } from 'react-redux';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/PE/peReinstatement.service';\r\nimport Swal from 'sweetalert2';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport dayjs from 'dayjs';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction DisclosurePage() {\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const sectionId = 8;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [formModel, setFormModel] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Disclosure\"\r\n }\r\n );\r\n useEffect(() => {\r\n reinstatementService.peGetSection(reinstatementId, sectionId).then((response) => {\r\n reinstatementService.getIndividualReinstatement(reinstatementId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n });\r\n setFormModel({\r\n ...response.data,\r\n dateOfBirth: response.data.dateOfBirth != null ? dayjs(response.data.dateOfBirth).format('YYYY-MM-DD') : null,\r\n dateSigned: response.data.dateSigned != null ? dayjs(response.data.dateSigned).format('YYYY-MM-DD') : null\r\n });\r\n setHasLoaded(true);\r\n setIsComplete(response.data.staffReviewComplete);\r\n });\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n const submitData = (isForSubmit) => {\r\n reinstatementService.pePostSection(reinstatementId, sectionId, formModel.electronicSignature).then((response) => {\r\n reinstatementService.peMarkSectionComplete(reinstatementId, sectionId, isComplete).then((data) => {\r\n if (isForSubmit && response.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n });\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default DisclosurePage;","import React, { useState, useEffect } from 'react'\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container, Row, Col, Card } from 'react-bootstrap';\r\nimport { Form, FormControl, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/PE/peReinstatement.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction AcknowledgementPage() {\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const sectionId = 9;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [formModel, setFormModel] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Acknowledgement\"\r\n }\r\n );\r\n useEffect(() => {\r\n reinstatementService.peGetSection(reinstatementId, sectionId).then((response) => {\r\n reinstatementService.getIndividualReinstatement(reinstatementId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n });\r\n setFormModel(response.data);\r\n setHasLoaded(true);\r\n setIsComplete(response.data.staffReviewComplete);\r\n });\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n const formSave = (event) => {\r\n submitData();\r\n }\r\n const submitData = (isForSubmit) => {\r\n reinstatementService.pePostSection(reinstatementId, sectionId, formModel.electronicSignature).then((response) => {\r\n reinstatementService.peMarkSectionComplete(reinstatementId, sectionId, isComplete).then((data) => {\r\n if (isForSubmit && response.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n
Requirements/Information/Acknowledgement
\r\n \r\n

I, the applicant named in this application, have read the contents hereof, and to the best of my knowledge, information and believe the statements and information in this application are true and correct in substance and effect and are made in good faith. I have not omitted any information requested in this application. I am aware that such an omission or untrue response may constitute fraud or deceit, material misstatement, perjury or the giving of false or forged evidence under Louisiana Revised Statutes 37:698 and 37:700. I understand and agree that any responses verifying my education, personal references, and experience shall be considered privileged and confidential and that this information was not reviewed by me nor will it be available for my inspection or review in the future.

\r\n
\r\n
    \r\n
  • It is your responsibility to check your LOLA account frequently for any pending issues. Ensure you add \"lapels.com\" to your \"Safe Senders\" list in your email application and/or (if applicable) in your network firewall.
  • \r\n
  • Once we receive a complete application, with no pending issues, process time may take 6-8 weeks.
  • \r\n
  • \r\n I certify that all information provided in this online reinstatement is true and correct to the best of my knowledge, information and belief.\r\n
  • \r\n
  • \r\n I am aware that an omission or untrue response may constitute fraud, deceit, material misstatement, perjury or the giving of false or forged evidence under Louisiana Revised Statutes 37:698 and 37:700\r\n
  • \r\n\r\n
  • \r\n IMPORTANT: Payments are non-refundable. If you believe that you will be reimbursed for your fee, verify this BEFORE proceeding further\r\n
  • \r\n
  • \r\n If you are unsure about getting reimbursed by your firm, please stop the application process here and come back after you verify. Your answers will be saved.\r\n
  • \r\n
\r\n
\r\n \r\n \r\n
Electronic Signature of Applicant:
\r\n (Type full name)\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n : \r\n }\r\n\r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/PeInformation';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../Shared/Card/ReviewPdf';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/reinstatement.service';\r\nimport peReinstatementService, { getSections } from '../../../../../services/Internal/Reinstatement/PE/peReinstatement.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Swal from 'sweetalert2';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport { Form } from 'rsuite';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\n\r\nfunction ReviewPage() {\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const { push } = useHistory();\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Review\"\r\n }\r\n );\r\n const sectionId = 10;\r\n\r\n useEffect(() => {\r\n peReinstatementService.peGetSection(reinstatementId, sectionId).then((response) => {\r\n setIsComplete(response.data.staffReviewComplete);\r\n reinstatementService.getIndividualReinstatement(reinstatementId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n const formSubmit = () => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n peReinstatementService.peMarkSectionComplete(reinstatementId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n }\r\n const formSave = () => {\r\n peReinstatementService.peMarkSectionComplete(reinstatementId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n Swal.fire(\"Saved!\");\r\n })\r\n }\r\n\r\n\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {hasLoaded ?\r\n <>\r\n {violationIssuesHtml}\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import React, { useState } from 'react'\r\nimport { Button, Card, Row, Col } from 'react-bootstrap'\r\nimport { ControlLabel, FormControl, FormGroup, Icon, SelectPicker, Table, Uploader } from 'rsuite'\r\nimport Swal from 'sweetalert2';\r\nimport boardApprovalService from '../../../../../services/Internal/Reinstatement/PLS/boardApproval.service';\r\nimport attachmentService from '../../../../../services/Shared/attachment.service';\r\nimport YesNoRadioOption from '../../../../Shared/RadioButton/YesNoRadioOption'\r\nimport DocumentUpload from '../../../../Shared/Upload/DocumentUpload';\r\n\r\nfunction BoardApproval(props) {\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n\r\n const handleChangePage = (dataKey) => {\r\n setPage(dataKey);\r\n }\r\n const handleChangeLength = (dataKey) => {\r\n setPage(1);\r\n setDisplayLength(dataKey);\r\n }\r\n\r\n const getData = () => {\r\n return props.gridData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const formDataAppender = (passedKey, model, formData) => {\r\n for (let key in model) {\r\n if (typeof (model[key]) === 'object') {\r\n formDataAppender(`${passedKey}.${key}`, model[key], formData); // Recursive key for objects\r\n }\r\n else {\r\n if (passedKey)\r\n formData.append(`${passedKey}.${key}`, model[key]);\r\n else\r\n formData.append(`${key}`, model[key]);\r\n }\r\n }\r\n }\r\n const filteredData = getData();\r\n const removeFile = (id, rowData) => {\r\n Swal.fire({\r\n title: 'Are you sure you want to delete this file?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n attachmentService.deleteFile(id).then((response) => {\r\n if (response.status == 200) {\r\n if (rowData) {\r\n var index = props.gridData.findIndex(x => x.id == rowData.id);\r\n var tempModel = props.gridData;\r\n tempModel[index].files = tempModel[index].files.filter(x => x.id !== id);\r\n props.setGridData([...tempModel]);\r\n }\r\n else {\r\n props.setFiles([...props.files.filter(x => x.id != id)])\r\n }\r\n }\r\n });\r\n }\r\n })\r\n }\r\n\r\n const openFile = (id) => {\r\n attachmentService.openFile(id);\r\n }\r\n return (\r\n <>\r\n\r\n \r\n
Board/Staff Attachments
\r\n \r\n \r\n
\r\n {/**/}\r\n {/* Education*/}\r\n {/* */}\r\n {/**/}\r\n {/*
*/}\r\n \r\n Additional Comments\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
Board/Staff Responses
\r\n \r\n {props.isUserEditable &&\r\n \r\n \r\n \r\n }\r\n
\r\n
\r\n \r\n \r\n \r\n Document\r\n \r\n {rowData => {\r\n return (<>\r\n {rowData.files.map((item, i) => {\r\n return (\r\n \r\n {props.isUserEditable &&\r\n \r\n }\r\n \r\n \r\n )\r\n })}\r\n \r\n )\r\n }}\r\n \r\n \r\n \r\n \r\n Date Sent\r\n \r\n {rowData => (rowData.dateSent ? new Date(rowData.dateSent).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Date Received\r\n \r\n {rowData => (rowData.dateReceived ? new Date(rowData.dateReceived).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Board Member\r\n \r\n {rowData => (`${rowData.boardMember.firstName} ${rowData.boardMember.middleName} ${rowData.boardMember.lastName}, ${rowData.boardMember.credentialSuffix}`)}\r\n \r\n \r\n \r\n Decision\r\n \r\n {rowData => (rowData.boardMemberDecision?.boardMemberDecision)}\r\n \r\n \r\n \r\n Comments\r\n \r\n \r\n \r\n {props.isUserEditable &&\r\n \r\n \r\n \r\n \r\n {rowData => {\r\n function handleAction() {\r\n var tempData = { ...rowData, files: [] }\r\n props.openModal(tempData);\r\n }\r\n function handleDelete() {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n var formData = new FormData();\r\n var dataToTransmit = {\r\n ...rowData,\r\n deleted: true,\r\n }\r\n formDataAppender('boardMemberResponse', dataToTransmit, formData);\r\n for (var i = 0; i < rowData.files.length; i++) {\r\n formData.append('files', rowData.files[i].blobFile);\r\n }\r\n boardApprovalService.postBoardResponse(formData).then((response) => {\r\n if (response.status == 200) {\r\n props.setGridData([...props.gridData.filter(x => x.id !== rowData.id)]);\r\n }\r\n })\r\n }\r\n })\r\n }\r\n return (\r\n \r\n   \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n }\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
Board/Staff Checklist
\r\n
\r\n \r\n

Exams verified in Applicants MyNCEES Account (FS, PE, State Specific (Louisiana Laws))?

\r\n \r\n

Board approval?

\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default BoardApproval;","import { useState, useEffect } from 'react'\r\nimport { Button, Card, Col, Modal, Row } from 'react-bootstrap'\r\nimport React from 'react'\r\nimport { ControlLabel, Schema, Form, FormControl, FormGroup, InputPicker, Uploader } from 'rsuite'\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\nimport GenericAttachmentGrid from '../../../../Shared/Grid/GenericAttachmentGrid';\r\nimport { getBoardMembers } from '../../../../../services/Shared/codeTable.service';\r\nimport boardApprovalService from '../../../../../services/Internal/Reinstatement/PLS/boardApproval.service';\r\nimport attachmentService from '../../../../../services/Shared/attachment.service';\r\nimport Swal from 'sweetalert2';\r\nimport BlockUi from 'react-block-ui';\r\nimport 'react-block-ui/style.css';\r\n\r\nfunction BoardApprovalModal(props) {\r\n\r\n const { ObjectType, DateType } = Schema.Types;\r\n const [blockUi, setBlockUi] = useState(false);\r\n const model = Schema.Model({\r\n dateSent: DateType().isRequired('This field is required.'),\r\n boardMember: ObjectType().isRequired('This field is required.'),\r\n })\r\n const decisionData = [\r\n { \"label\": \"Approved\", \"value\": { id: 1, boardMemberDecision: \"Approved\" } },\r\n { \"label\": \"Declined\", \"value\": { id: 2, boardMemberDecision: \"Declined\" } }];\r\n\r\n const [boardMemebers, setBoardMembers] = useState([])\r\n const [approvalModel, setApprovalModel] = useState()\r\n useEffect(() => {\r\n setApprovalModel(props.modalData);\r\n getBoardMembers().then(setBoardMembers);\r\n }, [props.modalData])\r\n\r\n const formSubmit = (validation, event) => {\r\n if (validation) {\r\n setBlockUi(true);\r\n var formData = new FormData()\r\n var dataToTransmit = {\r\n ...approvalModel,\r\n dateSent: new Date(approvalModel.dateSent).toISOString(),\r\n dateReceived: approvalModel.dateReceived ? new Date(approvalModel.dateReceived).toISOString() : null\r\n }\r\n formDataAppender('boardMemberResponse', dataToTransmit, formData);\r\n for (var i = 0; i < approvalModel.files.length; i++) {\r\n formData.append('files', approvalModel.files[i].blobFile);\r\n }\r\n boardApprovalService.postBoardResponse(formData).then((response) => {\r\n setBlockUi(false);\r\n if (response.data.boardMemberResponse.id) {\r\n props.updateGrid();\r\n props.onHide();\r\n }\r\n\r\n })\r\n }\r\n\r\n }\r\n const formDataAppender = (passedKey, model, formData) => {\r\n for (let key in model) {\r\n if (typeof (model[key]) === 'object') {\r\n formDataAppender(`${passedKey}.${key}`, model[key], formData); // Recursive key for objects\r\n }\r\n else {\r\n if (passedKey)\r\n formData.append(`${passedKey}.${key}`, model[key]);\r\n else\r\n formData.append(`${key}`, model[key]);\r\n }\r\n }\r\n }\r\n const handleChange = (val, e) => {\r\n if (!e) {\r\n var newFiles = approvalModel.files;\r\n newFiles.push(val);\r\n setApprovalModel({ ...approvalModel, files: [...newFiles] })\r\n }\r\n };\r\n const deleteFile = (id) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n setApprovalModel({ ...approvalModel, files: approvalModel.files.filter(x => x.fileKey != id) })\r\n }\r\n })\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Board/Staff Member Response\r\n \r\n \r\n \r\n
setApprovalModel(approvalModel)} onSubmit={formSubmit} fluid>\r\n \r\n \r\n \r\n \r\n Date Sent \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Board/Staff Member \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n Date Received\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Decision\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n File Upload \r\n \r\n \r\n \r\n \r\n \r\n
Click or Drag files to this area to upload
\r\n \r\n \r\n
\r\n \r\n \r\n {approvalModel?.files?.length > 0 &&\r\n
\r\n
\r\n {\r\n return {\r\n id: value.fileKey,\r\n timestamp: new Date().toLocaleDateString(),\r\n file: value.blobFile?.name\r\n }\r\n })}\r\n isSync={true}\r\n tStyle=\"table-bordered\"\r\n name=\"filesForDisplay\" />\r\n
\r\n }\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Comments\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nexport default BoardApprovalModal;","import React, { useState, useEffect } from 'react'\r\nimport { Button, Col, Container, Row } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport BoardApproval from './BoardApproval';\r\nimport BoardApprovalModal from './BoardApprovalModal';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/reinstatement.service';\r\nimport { useSelector } from 'react-redux';\r\nimport boardApprovalService from '../../../../../services/Internal/Reinstatement/PE/boardApproval.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Swal from 'sweetalert2';\r\nimport dayjs from 'dayjs';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction BoardApprovalPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const entityId = useSelector(x => x.currentApplicationEntityId)\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 11;\r\n const [modalShow, setModalShow] = useState(false);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [gridData, setGridData] = useState([]);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Professional Engineer Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Board/Staff Recommendations\"\r\n }\r\n );\r\n const { BooleanType, StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n //education: StringType().isRequired('This field is required'),\r\n boardApproval: BooleanType().isRequired('This field is required'),\r\n examsVerifiedInMyNcees: BooleanType().isRequired('This field is required')\r\n })\r\n\r\n const [formModel, setFormModel] = useState({\r\n reinstatementId: appId,\r\n boardApproval: null,\r\n dateCrte: null,\r\n deleted: false,\r\n entityId: entityId,\r\n examsVerifiedInMyNcees: null,\r\n education: \"\",\r\n additionalComments: \"\",\r\n id: 0,\r\n userCrte: \"\",\r\n files: []\r\n\r\n })\r\n const [boardApprovalSectionId, setBoardApprovalSectionId] = useState();\r\n const [modalData, setModalData] = useState({\r\n comments: \"\",\r\n dateCrte: new Date(),\r\n dateReceived: new Date(),\r\n dateSent: new Date(),\r\n deleted: false,\r\n id: 0,\r\n userCrte: \"\",\r\n boardMemberDecision: null,\r\n boardMember: {\r\n appointmentYear: 0,\r\n credentialSuffix: \"\",\r\n expirationYear: 0,\r\n firstName: \"\",\r\n id: 0,\r\n lastName: \"\",\r\n middleName: \"\",\r\n representation: \"\",\r\n suffix: \"\"\r\n },\r\n entityId: entityId,\r\n reinstatementId: appId,\r\n boardStaffApprovalId: 0,\r\n files: [],\r\n filesForDisplay: [],\r\n filesLoading: false\r\n })\r\n\r\n useEffect(() => {\r\n reinstatementService.plsGetSection(appId, sectionId).then((response) => {\r\n boardApprovalService.getBoardRecommendations(appId).then((data) => {\r\n setFormModel(data.data);\r\n setModalData({ ...modalData, boardStaffApprovalId: data.data.id })\r\n updateGrid()\r\n setBoardApprovalSectionId(response.data.id);\r\n setIsComplete(response.data.staffReviewComplete);\r\n reinstatementService.getIndividualReinstatement(appId).then((reinstatementData) => {\r\n setIsUserEditable(reinstatementData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: reinstatementData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: reinstatementData.data?.dateSubmitted\r\n })\r\n });\r\n setHasLoaded(true);\r\n });\r\n })\r\n })\r\n }, [])\r\n\r\n\r\n const updateGrid = () => {\r\n boardApprovalService.getBoardResponses(appId).then((vals) => {\r\n if (vals.data?.length)\r\n setGridData(\r\n vals.data.map((value, i) => { return { ...value.boardMemberResponse, files: [...value.attachments] } }))\r\n })\r\n }\r\n const submitData = (val) => {\r\n if (val) {\r\n boardApprovalService.postBoardRecommendation(formModel).then((val) => {\r\n if (val.data) {\r\n reinstatementService.plsMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n Swal.fire(\"Saved!\", \"You have successfully saved.\", 'success');\r\n //push(\"/internal/plsApp/sections\")\r\n })\r\n }\r\n })\r\n }\r\n }\r\n\r\n const openAddEditModal = (values) => {\r\n if (values.id) {\r\n setModalData({ ...values, dateReceived: values.dateReceived != null ? dayjs(values.dateReceived).format('YYYY-MM-DD') : null, dateSent: values.dateSent != null ? dayjs(values.dateSent).format('YYYY-MM-DD') : null })\r\n }\r\n else {\r\n setModalData({\r\n comments: \"\",\r\n dateCrte: new Date(),\r\n dateReceived: null,\r\n dateSent: null,\r\n deleted: false,\r\n id: 0,\r\n userCrte: \"\",\r\n boardMemberDecision: null,\r\n boardMember: null,\r\n entityId: entityId,\r\n reinstatementId: appId,\r\n boardStaffApprovalId: formModel.id,\r\n files: [],\r\n filesForDisplay: []\r\n\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n\r\n return (\r\n
\r\n \r\n setModalShow(false)} />\r\n
setFormModel(formModel)} onSubmit={submitData}>\r\n \r\n {hasLoaded ? <>\r\n \r\n \r\n \r\n \r\n  \r\n \r\n   \r\n \r\n {isUserEditable &&\r\n \r\n }\r\n \r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default BoardApprovalPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst eiGetSection = (applicationId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/IndividualEiApplication/section`, { headers: authHeader(), params: { applicationId, sectionId } });\r\n}\r\nconst eiPostSection = (applicationId, sectionId, electronicSignature) => {\r\n\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualEiApplication/signsection`, null, { headers: authHeader(), params: { applicationId, sectionId, electronicSignature } });\r\n}\r\n\r\nconst eiPostSectionHasMyNceesEducation = (applicationId, sectionId, hasMyNceesEducation) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualEiApplication/setsectionhasmynceeseducation`, null, { headers: authHeader(), params: { applicationId, sectionId, hasMyNceesEducation } });\r\n}\r\n\r\nconst eiPostSectionHasExperience = (applicationId, sectionId, hasMyNceesExperience) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualEiApplication/setsectionhasmynceesexperience`, null, { headers: authHeader(), params: { applicationId, sectionId, hasMyNceesExperience } });\r\n}\r\n\r\nconst eiMarkSectionComplete = (applicationId, sectionId, complete) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualEiApplication/marksectioncomplete`, null, { headers: authHeader(), params: { applicationId, sectionId, complete } })\r\n}\r\n\r\nconst postStaffApproval = (applicationId, isApproved) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualEiApplication/staffApproval`, null, { headers: authHeader(), params: { applicationId, isApproved } });\r\n}\r\n\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Complete this section providing all required contact information.\",\r\n },\r\n {\r\n id: 2,\r\n sectionTitle: \"Education\",\r\n sectionContent: \"Complete this section listing all colleges and universities attended where a degree was conferred.\",\r\n },\r\n {\r\n id: 4,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 11,\r\n sectionTitle: \"Examination Verification in Louisiana or Other Jurisdictions\",\r\n sectionContent: \"This must be uploaded to your MyNCEES account.\",\r\n },\r\n {\r\n id: 12,\r\n sectionTitle: \"Recommendation\",\r\n sectionContent: \"You must be recommended for certification by a licensed Professional Engineer.\",\r\n },\r\n {\r\n id: 7,\r\n sectionTitle: \"Experience Record\",\r\n sectionContent: \"Include a GRAND TOTAL of all experience\",\r\n },\r\n {\r\n id: 8,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Electronically sign (type your name) and date.\",\r\n },\r\n {\r\n id: 9,\r\n sectionTitle: \"Review\",\r\n sectionContent: 'Review your answers. If you need to change an answer, click the \"Section\" above to go back to the appropriate section',\r\n },\r\n {\r\n id: 10,\r\n sectionTitle: \"Board/Staff Recommendations\",\r\n sectionContent: 'Waiting on text',\r\n }\r\n])\r\n\r\nexport default {\r\n eiGetSection,\r\n eiPostSection,\r\n eiPostSectionHasMyNceesEducation,\r\n eiPostSectionHasExperience,\r\n eiMarkSectionComplete,\r\n postStaffApproval\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, ListGroup, Button } from 'react-bootstrap';\r\nimport Section from '../../../../Shared/Sections/Section';\r\nimport { getSections } from \"../../../../../services/Internal/Application/EI/eiApplication.service\";\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/EiInformation';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Swal from 'sweetalert2';\r\nimport InternalTaskInfo from '../../../Shared/InternalTaskInfo';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\nimport recentQueueService from '../../../../../services/Internal/Recent/recentQueue.service'\r\nimport issuesService from '../../../../../services/Shared/issues.service';\r\n\r\nfunction Index() {\r\n const marginRight = {\r\n marginRight: '1rem'\r\n }\r\n const [sections, setSections] = useState(null);\r\n const [showSectionButton, setShowSectionButton] = useState(true);\r\n const [justLicensed, setJustLicensed] = useState(false);\r\n const dispatch = useDispatch();\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineer Intern Application\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"\"\r\n }\r\n );\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const selector = useSelector(x => x);\r\n useEffect(() => {\r\n var routes = JSON.parse(localStorage.getItem('PERSIST_CURRENT_ROUTE')) ?? selector.currentRoutes;\r\n var currentAppId = localStorage.getItem('PERSIST_CURRENT_APP_ID') ?? selector.currentApplicationId;\r\n var currentEntityID = localStorage.getItem('PERSIST_CURRENT_APP_ENTITY_ID') ?? selector.currentApplicationEntityId;\r\n var currentAppTypeId = localStorage.getItem('PERSIST_CURRENT_APP_TYPE_ID') ?? selector.currentApplicationTypeId;\r\n if (localStorage.getItem('PERSIST_CURRENT_APP_ID')) {\r\n localStorage.removeItem('PERSIST_CURRENT_ROUTE');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ENTITY_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_TYPE_ID');\r\n\r\n dispatch({ type: \"PERSIST_CURRENT_ROUTE\", payload: routes });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: currentAppId });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ENTITY_ID\", payload: currentEntityID });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_TYPE_ID\", payload: currentAppTypeId });\r\n }\r\n //Add to recent Queue\r\n recentQueueService.updateRecentQueue({\r\n entityId: currentEntityID,\r\n parentId: currentAppId,\r\n parentTypeId: 2,\r\n appTypeId: 1,\r\n routes: JSON.stringify(routes)\r\n }).then((data) => {\r\n var token = parseInt(localStorage.getItem('updateRecentQueue')) ? parseInt(localStorage.getItem('updateRecentQueue')) : 0;\r\n localStorage.setItem('updateRecentQueue', token + 1)\r\n dispatch({ type: \"PERSIST_CURRENT_RECENT_QUEUE\", payload: parseInt(localStorage.getItem('updateRecentQueue')) });\r\n })\r\n applicationService.getIndividualApplication(currentAppId).then((sectionResponse) => {\r\n entityService.getEntity(currentEntityID).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: sectionResponse.data?.credential?.formattedLicenseNumber,\r\n applicationDate: sectionResponse.data?.dateSubmitted\r\n })\r\n });\r\n setHasLoaded(true);\r\n if (sectionResponse.data.sections.findIndex((element) => element.staffReviewComplete === false) !== -1 || sectionResponse.data.status.id !== 2) {// status id 2 = pending\r\n setShowSectionButton(false);\r\n }\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(1, currentAppId).then((data) => {\r\n setSections(routes != null ? routes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route\r\n var index = sectionResponse.data.sections.findIndex(x => x.sectionType?.id == section.id);\r\n if (index !== -1) {\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (sectionResponse.data.sections[index].staffReviewComplete)\r\n section.status = \"COMPLETE\";\r\n else if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n })\r\n })\r\n })\r\n }, [])\r\n\r\n const sendStaffApproval = (isApproved) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: `Do you want to ${isApproved ? 'license' : 'decline'} this application? You won't be able to revert this!`,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continue!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n Swal.fire({\r\n title: `${isApproved ? 'Licensing' : 'Declining'} Application`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n applicationService.postStaffApproval(selector.currentApplicationId, isApproved).then((response) => {\r\n if (response.data) {\r\n setShowSectionButton(false);\r\n Swal.fire({\r\n title: `Saving PDF`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n applicationService.postApplicationPdf(response.data.id, isApproved).then((data) => {\r\n if (data.data) {\r\n setJustLicensed(true);\r\n Swal.fire(\"Saved\", `The application was successfully ${isApproved ? 'approved' : 'declined'}!`, \"success\")\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n \r\n

Sections to Complete

\r\n \r\n {sections}\r\n \r\n \r\n
\r\n {showSectionButton &&\r\n
\r\n \r\n \r\n
\r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Index;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EIAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualEiApplication\";\r\n\r\nconst getContactInformation = (applicationId) => {\r\n return axios.get(`${EIAPPLICATIONURL}/contactinformation`, { headers: authHeader(), params: {applicationId} });\r\n}\r\nconst postContactInformation = (applicationId, certDisplayName) => {\r\n return axios.post(`${EIAPPLICATIONURL}/contactinformation`, null, { headers: authHeader(), params: { applicationId, certDisplayName } });\r\n}\r\nexport default {\r\n getContactInformation,\r\n postContactInformation\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { Form } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/EiInformation'\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { useHistory } from 'react-router-dom';\r\nimport PersonalInformation from '../../../../Shared/Card/Contact/PersonalInformation';\r\nimport MailingAddress from '../../../../Shared/Card/Contact/MailingAddress';\r\nimport PublicAddress from '../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport eiApplicationService from '../../../../../services/Internal/Application/EI/eiApplication.service';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport { useSelector } from 'react-redux';\r\nimport contactService from '../../../../../services/Internal/Application/EI/contact.service';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport dayjs from 'dayjs';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction ContactInformationPage() {\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const { push } = useHistory();\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const [formModel, setFormModel] = useState({});\r\n const [tabPane, setTabPane] = useState(\"personalInformation\")\r\n const [sectionData, setSectionData] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineer Intern Application\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Contact Information\"\r\n }\r\n );\r\n useEffect(() => {\r\n contactService.getContactInformation(appId).then((response) => {\r\n var data = response.data;\r\n\r\n setFormModel({\r\n ...data,\r\n dateOfBirth: data.dateOfBirth != null ? dayjs(data.dateOfBirth).format('YYYY-MM-DD') : null,\r\n altEmail: data.alternateEmailAddress?.emailAddress,\r\n primaryEmail: data.primaryEmailAddress?.emailAddress,\r\n cellPhoneNum: data.cellPhone?.phoneNumber,\r\n workPhoneNum: data.workPhone?.phoneNumber,\r\n homePhoneNum: data.homePhone?.phoneNumber\r\n })\r\n eiApplicationService.eiGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n applicationService.getIndividualApplication(appId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n })\r\n })\r\n })\r\n }, [])\r\n\r\n const formSubmit = (validation, event) => {\r\n submitData(true);\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n contactService.postContactInformation(appId, formModel.certificateName).then((response) => {\r\n eiApplicationService.eiMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (isForSubmit && response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n });\r\n });\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)} onSubmit={formSubmit} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EIAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualEiApplication\";\r\n\r\nconst getEducationRecords = (applicationId) => {\r\n return axios.get(`${EIAPPLICATIONURL}/educationrecords`, { headers: authHeader(), params:{ applicationId} });\r\n}\r\nconst getApprovedCourseRecords = (applicationId) => {\r\n return axios.get(`${EIAPPLICATIONURL}/approvedcompletedcourses`, { headers: authHeader(), params:{ applicationId} });\r\n}\r\nconst getNonApprovedCourseRecords = (applicationId) => {\r\n return axios.get(`${EIAPPLICATIONURL}/notapprovedcompletedcourses`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postEducationRecord = (data) => {\r\n return axios.post(`${EIAPPLICATIONURL}/educationrecord`, data, { headers: authHeader() });\r\n}\r\nconst postApprovedCourseRecord = (data) => {\r\n return axios.post(`${EIAPPLICATIONURL}/approvedcompletedcourse`, data, { headers: authHeader() });\r\n}\r\nconst postNonApprovedCourseRecord = (data) => {\r\n return axios.post(`${EIAPPLICATIONURL}/notapprovedcompletedcourse`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getEducationRecords,\r\n getNonApprovedCourseRecords,\r\n getApprovedCourseRecords,\r\n postEducationRecord,\r\n postApprovedCourseRecord,\r\n postNonApprovedCourseRecord\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Card, Row, Col, Button } from 'react-bootstrap'\r\nimport { Icon, Table } from 'rsuite';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport EducationService from '../../../../../services/Internal/Application/EI/education.service'\r\nimport Swal from 'sweetalert2';\r\nimport dayjs from 'dayjs';\r\nimport YesNoRadioOption from '../../../../Shared/RadioButton/YesNoRadioOption';\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction EducationRecord(props) {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [gridData, setGridData] = useState([]);\r\n const [displayLength, setDisplayLength] = useState(10);\r\n const [page, setPage] = useState(1);\r\n\r\n const handleChangePage = (dataKey) => {\r\n setPage(dataKey);\r\n }\r\n const handleChangeLength = (dataKey) => {\r\n setPage(1);\r\n setDisplayLength(dataKey);\r\n }\r\n useEffect(() => {\r\n reloadGrid();\r\n }, [props.reloadGrid])\r\n const reloadGrid = () => {\r\n setHasLoaded(false);\r\n EducationService.getEducationRecords(props.applicationId).then((response) => {\r\n setGridData(response.data)\r\n setHasLoaded(true);\r\n });\r\n }\r\n const getData = () => {\r\n return gridData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const filteredData = getData();\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
Education Records
\r\n \r\n {(!props.isReadOnly && props.hideGrid == false) &&\r\n \r\n \r\n \r\n }\r\n
\r\n
\r\n \r\n

\r\n I have education transcript(s) verified in MyNCEES record.\r\n

\r\n
\r\n \r\n {(props.hideGrid === false) &&\r\n <>\r\n {hasLoaded ?\r\n <>\r\n Please go to ncees.org to have transcripts verified. For assistance you can click on the ‘ask’ message button in your NCEES dashboard.\r\n
\r\n
\r\n \r\n \r\n \r\n Institution\r\n \r\n {rowData => (rowData.school.name)}\r\n \r\n \r\n \r\n Dates From/To\r\n \r\n {rowData => (`${dayjs(rowData.attendanceStartDate).format('MMM YYYY')} - ${dayjs(rowData.attendanceEndDate).format('MMM YYYY')}`)}\r\n \r\n \r\n \r\n Graduation Date\r\n \r\n {rowData => (`${rowData.graduationDate ? new Date(rowData.graduationDate).toLocaleDateString() : ''}`)}\r\n \r\n \r\n \r\n Major\r\n \r\n \r\n \r\n \r\n \r\n Degree\r\n \r\n {rowData => (`${rowData.degree ? rowData.degree.degree : ''}`)}\r\n \r\n {\r\n !props.isReadOnly &&\r\n \r\n \r\n \r\n \r\n {rowData => {\r\n function handleAction() {\r\n\r\n props.openModal(rowData);\r\n }\r\n function handleDelete() {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n EducationService.postEducationRecord({ ...rowData, deleted: true }).then((response) => {\r\n reloadGrid();\r\n })\r\n }\r\n })\r\n }\r\n return (\r\n \r\n   \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n }\r\n
\r\n \r\n : }\r\n \r\n }\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\nexport default EducationRecord;","import React, { useEffect, useState } from 'react';\r\nimport { Container } from 'react-bootstrap';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport EducationRecord from './EducationRecords';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/EiInformation';\r\nimport AddEditEducationRecordsModal from '../../../../Shared/Modal/AddEditEducationRecordsModal';\r\nimport { useSelector } from 'react-redux';\r\nimport eiApplicationService from '../../../../../services/Internal/Application/EI/eiApplication.service';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport dayjs from 'dayjs';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction EducationPage() {\r\n const [hideGrids, setHideGrids] = useState(true);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [modalShow, setModalShow] = useState(false);\r\n const [modalData, setModalData] = useState({});\r\n const { push } = useHistory();\r\n const entityId = useSelector(x => x.currentApplicationEntityId)\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 2;\r\n const [sectionData, setSectionData] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineer Intern Application\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Education\"\r\n }\r\n );\r\n useEffect(() => {\r\n setHasLoaded(false)\r\n eiApplicationService.eiGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n setHideGrids(response.data.hasMyNceesEducation ?? true);\r\n applicationService.getIndividualApplication(appId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n })\r\n })\r\n }, [])\r\n const { BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasMyNceesEducation: BooleanType().isRequired('This field is required.')\r\n });\r\n const handleMyNceesEducationChange = (val) => {\r\n setHideGrids(val);\r\n }\r\n const openModal = (values) => {\r\n if (values.id) {\r\n setModalData(\r\n {\r\n ...values,\r\n attendanceEndDate: values.attendanceEndDate ? dayjs(values.attendanceEndDate).format('YYYY-MM') : null,\r\n attendanceStartDate: values.attendanceStartDate ? dayjs(values.attendanceStartDate).format('YYYY-MM') : null,\r\n graduationDate: values.graduationDate ? dayjs(values.graduationDate).format('YYYY-MM-DD') : null,\r\n modalType: 'Edit'\r\n });\r\n }\r\n else {\r\n setModalData({\r\n applicationId: appId,\r\n attendanceEndDate: null,\r\n attendanceStartDate: null,\r\n dateCrte: new Date(),\r\n degree: null,\r\n deleted: false,\r\n didGraduate: '',\r\n entityId: entityId,\r\n graduationDate: null,\r\n id: '',\r\n major: '',\r\n school: null,\r\n userCrte: '',\r\n modalType: \"Add\"\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n\r\n const [reloadGrid, setReloadGrid] = useState(1);\r\n\r\n const submitForm = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n eiApplicationService.eiPostSectionHasMyNceesEducation(appId, sectionId, sectionData.hasMyNceesEducation).then(() => {\r\n eiApplicationService.eiMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n });\r\n })\r\n }\r\n }\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded ? <>\r\n {\r\n modalShow &&\r\n { var data = 1 + reloadGrid; setReloadGrid(data) }} modaldata={modalData} show={modalShow} onHide={() => setModalShow(false)} proptitle=\"Add\" />\r\n }\r\n setSectionData(data)}\r\n >\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default EducationPage;","import React, { useState, useEffect } from 'react';\r\nimport { Button, Card, Row, Col } from 'react-bootstrap';\r\nimport { Icon, Table } from 'rsuite';\r\nimport GenericBadge from '../../../../Shared/Badge/GenericBadge';\r\nimport GenericPagination from '../../../../Shared/Grid/GenericPagination';\r\n\r\nfunction Recommendation(props) {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [gridData, setGridData] = useState([]);\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n\r\n useEffect(() => {\r\n setGridData(props.griddata)\r\n setHasLoaded(true);\r\n }, [props.griddata])\r\n\r\n const getData = () => {\r\n return gridData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const filteredData = getData();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n
Professional Engineers
\r\n \r\n\r\n
\r\n
\r\n \r\n {(hasLoaded)\r\n &&\r\n
\r\n \r\n \r\n \r\n Full Name\r\n \r\n \r\n {\r\n rowData =>\r\n `${rowData.firstName} ${rowData.lastName}`\r\n\r\n }\r\n \r\n \r\n \r\n \r\n Email\r\n \r\n \r\n \r\n \r\n \r\n Sent Date\r\n \r\n {rowData => (rowData.sentDate ? new Date(rowData.sentDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Response Date\r\n \r\n {rowData => (rowData.responseDate ? new Date(rowData.responseDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Verification Status\r\n \r\n {rowData => (rowData.verificationStatus ? : '')}\r\n \r\n \r\n \r\n \r\n \r\n {rowData => {\r\n const verificationStatusId = rowData.verificationStatus?.id;\r\n function handleAction() {\r\n if (props.isUserEditable) {\r\n var tempData = { ...rowData, modalType: 'Edit' }\r\n props.openModal(tempData);\r\n }\r\n }\r\n function openVerifierModal() {\r\n props.openVerifierModal(rowData.id);\r\n }\r\n if (verificationStatusId > 1) {\r\n if (verificationStatusId == 4) {\r\n return (\r\n   \r\n \r\n )\r\n }\r\n }\r\n else {\r\n return (\r\n \r\n { props.emailReference(rowData) }} style={{ cursor: \"pointer\" }} />   \r\n   \r\n { props.deleteRow(rowData) }} style={{ cursor: \"pointer\" }} />\r\n \r\n );\r\n }\r\n }}\r\n \r\n \r\n
\r\n \r\n
}\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Recommendation","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EIAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualEiApplication\";\r\n\r\nconst getRecommendations = (applicationId) => {\r\n return axios.get(`${EIAPPLICATIONURL}/recommendations`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postRecommendation = (data) => {\r\n return axios.post(`${EIAPPLICATIONURL}/recommendation`, data, { headers: authHeader() });\r\n}\r\n\r\nconst sendRecommendationEmail = (recommendationId) => {\r\n return axios.post(`${EIAPPLICATIONURL}/sendrecommendationemail`, null, { headers: authHeader(), params: { recommendationId } });\r\n}\r\n\r\nexport default {\r\n getRecommendations,\r\n postRecommendation,\r\n sendRecommendationEmail\r\n}","import { useState, useEffect } from 'react'\r\nimport { Button, Col, Modal, Row } from 'react-bootstrap'\r\nimport React from 'react'\r\nimport { ControlLabel, Schema, Form, FormControl, FormGroup } from 'rsuite'\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar'\r\n\r\n\r\nfunction AddEditRecommendationModal(props) {\r\n const [recommendationModel, setRecommendationModel] = useState(\r\n {\r\n applicationId: 0,\r\n dateCrte: null,\r\n deleted: false,\r\n email: \"\",\r\n entityId: 0,\r\n id: 0,\r\n firstName: \"\",\r\n lastName: \"\",\r\n userCrte: \"\",\r\n verificationStatus: null,\r\n modalType: \"Add\"\r\n })\r\n const [showErrors, setShowErrors] = useState(false);\r\n\r\n useEffect(() => {\r\n setRecommendationModel(props.modaldata);\r\n }, [props.modaldata])\r\n\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n firstName: StringType().isRequired(\"This field is required.\"),\r\n lastName: StringType().isRequired('This field is required.'),\r\n email: StringType().isRequired('This field is required.').isEmail('Enter in a valid Email')\r\n })\r\n \r\n const submitData = (validation, event) => {\r\n if (validation) {\r\n var dataToTransmit = {\r\n ...recommendationModel,\r\n id: recommendationModel.id === '' ? 0 : recommendationModel.id,\r\n dateCrte: new Date()\r\n };\r\n delete dataToTransmit.modalType;\r\n props.onsave(dataToTransmit).then((response) => {\r\n if (response.data.id) {\r\n props.updategrid();\r\n setShowErrors(false);\r\n props.onHide();\r\n }\r\n }).catch((response) => {\r\n })\r\n }\r\n }\r\n return (\r\n \r\n \r\n \r\n {recommendationModel.modalType} a Recommendation\r\n \r\n \r\n \r\n
setRecommendationModel(recommendationModel)} onSubmit={submitData} fluid>\r\n \r\n \r\n \r\n \r\n \r\n First Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Last Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Email \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default AddEditRecommendationModal;","import React, { useState, useEffect } from 'react';\r\nimport { Container } from 'react-bootstrap';\r\nimport { Form } from 'rsuite';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/EiInformation';\r\n\r\nimport Recommendation from './Recommendation';\r\n\r\nimport recommendationService from '../../../../../services/Internal/Application/EI/recommendation.service'\r\nimport eiApplicationService from '../../../../../services/Internal/Application/EI/eiApplication.service';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport Swal from 'sweetalert2';\r\nimport AddEditRecommendationModal from './AddEditRecommendationModal';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport ExternalFormModal from '../../../../Shared/Modal/ExternalFormModal';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction RecommendationPage() {\r\n const { push } = useHistory();\r\n const [modalShow, setModalShow] = useState(false);\r\n const [hasLoaded, setHasLoaded] = useState(true);\r\n const [verifierModalShow, setVerifierModalShow] = useState(false);\r\n const [verifierId, setVerifierId] = useState(0);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const applicationId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 12; // Revisit\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineer Intern Application\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Recommendations\"\r\n }\r\n );\r\n const [modalData, setModalData] = useState({\r\n applicationId: 0,\r\n dateCrte: null,\r\n deleted: false,\r\n email: \"\",\r\n entityId: 0,\r\n id: 0,\r\n firstName: \"\",\r\n lastName: \"\",\r\n sentDate: null,\r\n responseDate: null,\r\n userCrte: \"\",\r\n verificationStatus: null,\r\n modalType: \"Add\"\r\n });\r\n const [gridData, setGridData] = useState([]);\r\n const [sectionData, setSectionData] = useState({});\r\n\r\n useEffect(() => {\r\n setHasLoaded(false)\r\n eiApplicationService.eiGetSection(applicationId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n applicationService.getIndividualApplication(applicationId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n updateGridData();\r\n setHasLoaded(true);\r\n });\r\n })\r\n })\r\n }, [])\r\n\r\n\r\n const updateGridData = () => {\r\n recommendationService.getRecommendations(applicationId).then((response) => {\r\n setGridData(response.data);\r\n });\r\n }\r\n const openAddEditModal = (values) => {\r\n if (values.id) {\r\n var data = {\r\n ...values,\r\n modalType: \"Edit\"\r\n }\r\n setModalData(data);\r\n }\r\n else {\r\n setModalData({\r\n applicationId: applicationId,\r\n dateCrte: null,\r\n deleted: false,\r\n email: \"\",\r\n entityId: entityId,\r\n id: 0,\r\n firstName: \"\",\r\n lastName: \"\",\r\n sentDate: null,\r\n responseDate: null,\r\n userCrte: \"\",\r\n verificationStatus: null,\r\n modalType: \"Add\"\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n eiApplicationService.eiMarkSectionComplete(applicationId, sectionId, isComplete).then((data) => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n })\r\n }\r\n }\r\n const openVerifierModal = (id) => {\r\n setVerifierId(id);\r\n setVerifierModalShow(true);\r\n }\r\n\r\n const deleteRow = (rowData) => {\r\n if (isUserEditable) {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n recommendationService.postRecommendation({ ...rowData, deleted: true }).then((response) => {\r\n updateGridData();\r\n })\r\n }\r\n })\r\n }\r\n }\r\n const emailReference = (rowData) => {\r\n if (isUserEditable) {\r\n recommendationService.sendRecommendationEmail(rowData.id).then((response) => {\r\n if (response.data) {\r\n Swal.fire(`You have successfully sent an email to ${rowData.firstName} ${rowData.lastName} at ${rowData.email}!`);\r\n updateGridData();\r\n }\r\n else\r\n Swal.fire(`Failed to send email: ${response.data.message}`);\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded ? <>\r\n setModalShow(false)}\r\n onsave={recommendationService.postRecommendation}\r\n />\r\n {verifierModalShow &&\r\n setVerifierModalShow(false)} id={verifierId} type=\"recommendationApplication\" />\r\n }\r\n { setSectionData(data) }}\r\n onSubmit={formSubmit} >\r\n \r\n
\r\n \r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default RecommendationPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EIAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualEiApplication\";\r\n\r\nconst getExperienceRecords = (applicationId) => {\r\n return axios.get(`${EIAPPLICATIONURL}/experiencerecords`, { headers: authHeader(), params: { applicationId} });\r\n}\r\nconst postExperienceRecord = (data) => {\r\n return axios.post(`${EIAPPLICATIONURL}/experiencerecord`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getExperienceRecords,\r\n postExperienceRecord\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Modal, Row, Col, Button } from 'react-bootstrap'\r\nimport { Input, SelectPicker, Form, ControlLabel, Schema, FormControl, FormGroup, Icon } from 'rsuite';\r\nimport experienceService from '../../../../../services/Internal/Application/EI/experience.service';\r\n//import reinstatementExperienceService from '../../../../../../services/Public/Reinstatement/PLS/experience.service';\r\nimport { getEmploymentTypes } from '../../../../../services/Shared/codeTable.service';\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\nimport PhoneNumberMask from '../../../../Shared/GenericComponents/PhoneNumberMask';\r\n\r\nfunction AddEditExperienceRecordsModal(props) {\r\n const [recordModel, setRecordModel] = useState({\r\n applicationId: 0,\r\n comments: \"\",\r\n dateCrte: null,\r\n dateFrom: null,\r\n dateTo: null,\r\n deleted: false,\r\n employerName: \"\",\r\n employerPosition: \"\",\r\n employerEmail: \"\",\r\n employerPhone: \"\",\r\n verifierName: \"\",\r\n verifierPosition: \"\",\r\n verifierEmail: \"\",\r\n verifierPhone: \"\",\r\n employmentType: null,\r\n entityId: 0,\r\n id: 0,\r\n userCrte: \"\",\r\n position: \"\",\r\n location: \"\",\r\n description: \"\",\r\n acceptableDescription: \"\",\r\n //showErrors: false,\r\n emailAddresses: [\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 10,\r\n emailAddressParentType: \"Application Experience Employer\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 11,\r\n emailAddressParentType: \"Application Experience Verifier\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n phoneNumbers: [\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 10,\r\n phoneParentType: \"Application Experience Employer\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 11,\r\n phoneParentType: \"Application Experience Verifier\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: 0,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n modalType: \"Add\"\r\n })\r\n const [employmentTypes, setEmploymentTypes] = useState([])\r\n useEffect(() => {\r\n getEmploymentTypes().then(setEmploymentTypes);\r\n setRecordModel(props.modaldata);\r\n }, [props.modaldata])\r\n\r\n const { StringType, ObjectType, NumberType } = Schema.Types;\r\n const model = Schema.Model({\r\n position: StringType().isRequired('This field is required.'),\r\n employerName: StringType().isRequired('This field is required.'),\r\n employerPosition: StringType().isRequired('This field is required.'),\r\n employerPhone: NumberType().pattern(/^[0-9]{10}/, \"Please enter a valid Phone Number\").isRequired(\"This field is required.\"),\r\n employerEmail: StringType().isRequired('This field is required.').isEmail(\"Enter a valid email\"),\r\n verifierName: StringType().isRequired('This field is required.'),\r\n verifierPosition: StringType().isRequired('This field is required.'),\r\n verifierPhone: NumberType().pattern(/^[0-9]{10}/, \"Please enter a valid Phone Number\").isRequired(\"This field is required.\"),\r\n verifierEmail: StringType().isRequired('This field is required.').isEmail(\"Enter a valid email\"),\r\n\r\n location: StringType().isRequired('This field is required.'),\r\n description: StringType().isRequired('This field is required.'),\r\n acceptableDescription: StringType().isRequired('This field is required.'),\r\n employmentType: ObjectType().isRequired('This field is required.'),\r\n dateFrom: StringType().isRequired('This field is required.'),\r\n dateTo: StringType().isRequired('This field is required.')\r\n })\r\n\r\n const formSubmit = (validation, event) => {\r\n var hasErrors = false;\r\n var validationObject = model.check(recordModel);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n hasErrors = true;\r\n return;\r\n }\r\n }\r\n if (!hasErrors) {\r\n submitData();\r\n }\r\n\r\n }\r\n const submitData = () => {\r\n var dataToTransmit = {\r\n ...recordModel,\r\n phoneNumbers: [\r\n {\r\n ...recordModel.phoneNumbers[0],\r\n contactPhoneNumber: recordModel.employerPhone\r\n },\r\n {\r\n ...recordModel.phoneNumbers[1],\r\n contactPhoneNumber: recordModel.verifierPhone\r\n }\r\n ],\r\n emailAddresses: [\r\n {\r\n ...recordModel.emailAddresses[0],\r\n contactEmailAddress: recordModel.employerEmail\r\n\r\n },\r\n {\r\n ...recordModel.emailAddresses[1],\r\n contactEmailAddress: recordModel.verifierEmail\r\n }\r\n ],\r\n dateFrom: new Date(recordModel.dateFrom),\r\n dateTo: new Date(recordModel.dateTo),\r\n id: recordModel.id === '' ? 0 : recordModel.id,\r\n };\r\n\r\n\r\n delete dataToTransmit.modalType;\r\n delete dataToTransmit.verifierEmail;\r\n delete dataToTransmit.verifierPhone;\r\n delete dataToTransmit.employerPhone;\r\n delete dataToTransmit.employerEmail;\r\n //delete dataToTransmit.showErrors;\r\n //if (props.appType === \"reinstatement\") {\r\n // reinstatementExperienceService.postExperienceRecord(dataToTransmit).then((response) => {\r\n // if (response.data.id) {\r\n // props.updateGrid();\r\n // props.onHide();\r\n // }\r\n // })\r\n //}\r\n //else {\r\n experienceService.postExperienceRecord(dataToTransmit).then((response) => {\r\n if (response.data.id) {\r\n props.updateGrid();\r\n props.onHide();\r\n }\r\n })\r\n //}\r\n }\r\n return (\r\n \r\n \r\n \r\n {recordModel.modalType} an Experience Record\r\n \r\n \r\n \r\n
setRecordModel(recordModel)} onSubmit={formSubmit} >\r\n \r\n\r\n \r\n \r\n \r\n \r\n Title of Position \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Location of Assignment/Engagement \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Description of Assignment \r\n \r\n indicate character of work and degree of responsibility \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n If not a licensed professional engineer/surveyor, explain why the experience should be considered acceptable. Otherwise, enter N/A. \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Employment Type \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Date From \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Date To \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n Employer Information \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Title \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Phone \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Email \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n Verifier Information \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Name \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Title \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Phone \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Email \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default AddEditExperienceRecordsModal;","import React, { useEffect, useState } from 'react'\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/EiInformation';\r\nimport AddEditExperienceRecordsModal from './ExperienceRecordModal';\r\nimport Experience from '../../../../Shared/Card/Experience';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport eiApplicationService from '../../../../../services/Internal/Application/EI/eiApplication.service';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport experienceService from '../../../../../services/Internal/Application/EI/experience.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport dayjs from 'dayjs';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport ExternalFormModal from '../../../../Shared/Modal/ExternalFormModal';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction ExperiencePage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineer Intern Application\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Experience\"\r\n }\r\n );\r\n const [modalShow, setModalShow] = useState(false);\r\n const [verifierModalShow, setVerifierModalShow] = useState(false);\r\n const [verifierExperienceId, setVerifierExperienceId] = useState(0);\r\n const [gridData, setGridData] = useState([]);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 7;\r\n const [modalData, setModalData] = useState({});\r\n useEffect(() => {\r\n setHasLoaded(false)\r\n eiApplicationService.eiGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n applicationService.getIndividualApplication(appId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n updateGridData();\r\n setHasLoaded(true);\r\n });\r\n })\r\n })\r\n }, [])\r\n const { BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasMyNceesExperience: BooleanType().isRequired('This field is required.')\r\n });\r\n const openVerifierModal = (id) => {\r\n setVerifierExperienceId(id);\r\n setVerifierModalShow(true);\r\n }\r\n const openAddEditModal = (values) => {\r\n if (isUserEditable) {\r\n if (values.id) {\r\n setModalData(\r\n {\r\n ...values,\r\n verifierEmail: values.emailAddresses[1].contactEmailAddress,\r\n verifierPhone: values.phoneNumbers[1].contactPhoneNumber,\r\n employerEmail: values.emailAddresses[0].contactEmailAddress,\r\n employerPhone: values.phoneNumbers[0].contactPhoneNumber,\r\n dateFrom: values.dateFrom ? dayjs(values.dateFrom).format('YYYY-MM') : null,\r\n dateTo: values.dateTo ? dayjs(values.dateTo).format('YYYY-MM') : null,\r\n modalType: 'Edit'\r\n });\r\n }\r\n else {\r\n setModalData({\r\n applicationId: appId,\r\n comments: \"\",\r\n dateCrte: null,\r\n dateFrom: null,\r\n dateTo: null,\r\n deleted: false,\r\n employerName: \"\",\r\n employerPosition: \"\",\r\n verifierName: \"\",\r\n verifierPosition: '',\r\n verifierEmail: \"\",\r\n verifierPhone: \"\",\r\n employerEmail: \"\",\r\n employerPhone: \"\",\r\n employmentType: null,\r\n entityId: entityId,\r\n id: 0,\r\n userCrte: \"\",\r\n position: \"\",\r\n location: \"\",\r\n description: \"\",\r\n acceptableDescription: \"\",\r\n emailAddresses: [\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 10,\r\n emailAddressParentType: \"Application Experience Employer\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactEmailAddress: '',\r\n emailAddressParentType: {\r\n id: 11,\r\n emailAddressParentType: \"Application Experience Verifier\"\r\n },\r\n emailAddressType: {\r\n id: 1,\r\n emailAddressType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n phoneNumbers: [\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 10,\r\n phoneParentType: \"Application Experience Employer\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n },\r\n {\r\n contactPhoneNumber: '',\r\n parentType: {\r\n id: 11,\r\n phoneParentType: \"Application Experience Verifier\"\r\n },\r\n phoneType: {\r\n id: 3,\r\n phoneType: ''\r\n },\r\n id: 0,\r\n entityId: entityId,\r\n parentId: 0,\r\n userCrte: '',\r\n dateCrte: null\r\n }\r\n ],\r\n modalType: \"Add\"\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n }\r\n const { push } = useHistory();\r\n\r\n const handleSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n eiApplicationService.eiPostSectionHasExperience(appId, sectionId, sectionData.hasMyNceesExperience).then((response) => {\r\n eiApplicationService.eiMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (response.data && data.data) // If both return something it's good to go\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n\r\n })\r\n });\r\n }\r\n }\r\n const updateGridData = () => {\r\n experienceService.getExperienceRecords(appId).then((response) => {\r\n setGridData(response.data)\r\n });\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded ? <>\r\n {modalShow &&\r\n setModalShow(false)} proptitle=\"Add\" />\r\n }\r\n {verifierModalShow &&\r\n setVerifierModalShow(false)} id={verifierExperienceId} type=\"experienceApplication\" />\r\n }\r\n
setSectionData(data)}>\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ExperiencePage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EIAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualEiApplication\";\r\n\r\nconst getViolation = (applicationId) => {\r\n return axios.get(`${EIAPPLICATIONURL}/violation`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postViolation = (data) => {\r\n return axios.post(`${EIAPPLICATIONURL}/violation`, data, { headers: authHeader() });\r\n}\r\nconst downloadViolationFile = (applicationId) => {\r\n axios.get(`${process.env.REACT_APP_APIURL}/Reports/GetApplicationViolationsForm`, { headers: authHeader(), params: { applicationId }, responseType: 'arraybuffer' }).then((response) => {\r\n var name = new String(response.headers['content-disposition']);\r\n const downloadUrl = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = downloadUrl;\r\n link.setAttribute('download', name.slice(name.indexOf('filename=') + 9, name.lastIndexOf(';')));\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n });\r\n}\r\nexport default {\r\n getViolation,\r\n postViolation,\r\n downloadViolationFile\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport { useSelector } from 'react-redux';\r\nimport ViolationService from '../../../../../services/Internal/Application/EI/violation.service';\r\nimport eiApplicationService from '../../../../../services/Internal/Application/EI/eiApplication.service';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/EiInformation';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport { getCodeViolationAnswers } from '../../../../../services/Shared/codeTable.service';\r\nimport GenericViolations from '../../../../Shared/Card/Violations';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 4;\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineer Intern Application\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Violations\"\r\n }\r\n );\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n signature: StringType().isRequired('This field is required.'),\r\n yesAnswerExplanation: StringType().isRequired('This field is required.'),\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n eiApplicationService.eiGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n ViolationService.getViolation(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, issues: formData.issues, files: formData.files, filesForDisplay: formData.filesForDisplay, signature: response.data.electronicSignature });\r\n } else {\r\n getCodeViolationAnswers(1).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n applicationService.getIndividualApplication(store.currentApplicationId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n })\r\n })\r\n })\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n signature: undefined,\r\n yesAnswerExplanation: \"\",\r\n files: [],\r\n filesForDisplay: [],\r\n issues: []\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true) >= 0;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n const downloadViolations = () => {\r\n ViolationService.downloadViolationFile(store.currentApplicationId)\r\n }\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n setShowFormErrors(true)\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n if (formData.signature) {\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, applicationId: store.currentApplicationId, entityId: store.userInfo.EntityId };\r\n ViolationService.postViolation(dataTransfer).then((response) => {\r\n eiApplicationService.eiPostSection(store.currentApplicationId, sectionId, formData.signature).then((response) => {\r\n eiApplicationService.eiMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((data) => {\r\n if (response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n })\r\n })\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EIAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualEiApplication\";\r\n\r\nconst getExamination = (applicationId) => {\r\n return axios.get(`${EIAPPLICATIONURL}/examinationverification`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postExamination = (data) => {\r\n return axios.post(`${EIAPPLICATIONURL}/examinationverification`, data, { headers: authHeader() });\r\n}\r\n\r\n\r\nexport default {\r\n getExamination,\r\n postExamination\r\n}","import React, { useState, useEffect } from 'react'\r\nimport { Card, Col, Container, Row } from 'react-bootstrap';\r\nimport { ControlLabel, Form, FormControl, InputPicker, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport { getStates } from '../../../../../services/Shared/codeTable.service'\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport eiApplicationService from '../../../../../services/Internal/Application/EI/eiApplication.service';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport examinationService from '../../../../../services/Internal/Application/EI/examination.service'\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/EiInformation';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport dayjs from 'dayjs';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction ExaminationVerification() {\r\n const [states, setStates] = useState([])\r\n const routes = useSelector(x => x.currentRoutes);\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const sectionId = 11;\r\n const [formModel, setFormModel] = useState({\r\n id: 0,\r\n applicationId: appId,\r\n entityId: entityId,\r\n jurisdictionState: null,\r\n dateOfExam: null,\r\n userCrte: \"\",\r\n dateCrte: new Date(),\r\n deleted: false\r\n });\r\n const [sectionData, setSectionData] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineer Intern Application\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Examination\"\r\n }\r\n );\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const { StringType, ObjectType } = Schema.Types;\r\n const model = Schema.Model({\r\n jurisdictionState: ObjectType().isRequired('This field is required.'),\r\n dateOfExam: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n getStates().then(setStates);\r\n examinationService.getExamination(appId).then((response) => {\r\n if (response.data) {\r\n setFormModel({\r\n ...response.data,\r\n dateOfExam: response.data.dateOfExam != null ? dayjs(response.data.dateOfExam).format('YYYY-MM-DD') : null\r\n });\r\n }\r\n eiApplicationService.eiGetSection(appId, sectionId).then((data) => {\r\n setSectionData(data.data);\r\n setIsComplete(data.data.staffReviewComplete)\r\n applicationService.getIndividualApplication(appId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n })\r\n })\r\n })\r\n }, [])\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n examinationService.postExamination(formModel).then((response) => {\r\n eiApplicationService.eiMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (response.data && data.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n\r\n }\r\n })\r\n })\r\n }\r\n }\r\n return (\r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
\r\n \r\n \r\n Fundamentals Exam (FE)\r\n \r\n \r\n \r\n \r\n Jurisdiction\r\n \r\n \r\n { if (label.toLowerCase().startsWith(userInput.toLowerCase()) || !userInput) return true; }}\r\n />\r\n \r\n \r\n \r\n \r\n Date\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n : \r\n }\r\n
\r\n );\r\n}\r\nexport default ExaminationVerification","import React, { useEffect, useState } from 'react'\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Acknowledgement from '../../../../Shared/Card/Acknowledgement';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/EiInformation';\r\nimport eiApplicationService from '../../../../../services/Internal/Application/EI/eiApplication.service';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction AcknowledgementPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false)\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 8; // Revisit\r\n const [formModel, setFormModel] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineer Intern Application\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Acknowledgement \"\r\n }\r\n );\r\n useEffect(() => {\r\n eiApplicationService.eiGetSection(appId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n applicationService.getIndividualApplication(appId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n })\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n const submitData = (isForSubmit) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n eiApplicationService.eiPostSection(appId, sectionId, formModel.electronicSignature).then((response) => {\r\n if (isForSubmit && response.data.id) {\r\n eiApplicationService.eiMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (isForSubmit && response.data && data.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n });\r\n }\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/EiInformation';\r\nimport eiApplicationService, { getSections } from '../../../../../services/Internal/Application/EI/eiApplication.service';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../Shared/Card/ReviewPdf';\r\nimport { Form, List } from 'rsuite';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction ReviewPage() {\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const { push } = useHistory();\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const sectionId = 9;\r\n const [allSections, setAllSections] = useState([]);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineer Intern Application\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Review\"\r\n }\r\n );\r\n useEffect(() => {\r\n getSections().then(setAllSections);\r\n eiApplicationService.eiGetSection(appId, sectionId).then((response) => {\r\n setIsComplete(response.data.staffReviewComplete);\r\n applicationService.getIndividualApplication(appId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n })\r\n })\r\n }, [])\r\n\r\n const formSubmit = () => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n eiApplicationService.eiMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {hasLoaded ?\r\n <>\r\n {violationIssuesHtml}\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import React, { useState, useEffect } from 'react'\r\nimport { Button, Card, Row, Col } from 'react-bootstrap'\r\nimport { ControlLabel, FormControl, FormGroup, Icon, SelectPicker, Table, Uploader } from 'rsuite'\r\nimport Swal from 'sweetalert2';\r\nimport boardApprovalService from '../../../../../services/Internal/Application/PE/boardApproval.service';\r\nimport attachmentService from '../../../../../services/Shared/attachment.service';\r\nimport DocumentUpload from '../../../../Shared/Upload/DocumentUpload';\r\n\r\nfunction BoardApproval(props) {\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n\r\n const handleChangePage = (dataKey) => {\r\n setPage(dataKey);\r\n }\r\n const handleChangeLength = (dataKey) => {\r\n setPage(1);\r\n setDisplayLength(dataKey);\r\n }\r\n\r\n const getData = () => {\r\n return props.gridData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const formDataAppender = (passedKey, model, formData) => {\r\n for (let key in model) {\r\n if (typeof (model[key]) === 'object') {\r\n formDataAppender(`${passedKey}.${key}`, model[key], formData); // Recursive key for objects\r\n }\r\n else {\r\n if (passedKey)\r\n formData.append(`${passedKey}.${key}`, model[key]);\r\n else\r\n formData.append(`${key}`, model[key]);\r\n }\r\n }\r\n }\r\n const filteredData = getData();\r\n const removeFile = (id, rowData) => {\r\n Swal.fire({\r\n title: 'Are you sure you want to delete this file?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n attachmentService.deleteFile(id).then((response) => {\r\n if (response.status == 200) {\r\n if (rowData) {\r\n var index = props.gridData.findIndex(x => x.id == rowData.id);\r\n var tempModel = props.gridData;\r\n tempModel[index].files = tempModel[index].files.filter(x => x.id !== id);\r\n props.setGridData([...tempModel]);\r\n }\r\n else {\r\n props.setFiles([...props.files.filter(x => x.id != id)])\r\n }\r\n }\r\n });\r\n }\r\n })\r\n }\r\n\r\n const openFile = (id) => {\r\n attachmentService.openFile(id);\r\n }\r\n return (\r\n <>\r\n\r\n \r\n
Board/Staff Attachments
\r\n \r\n \r\n
\r\n \r\n Additional Comments\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
Board/Staff Responses
\r\n \r\n {props.isUserEditable &&\r\n \r\n \r\n }\r\n
\r\n
\r\n \r\n \r\n \r\n Document\r\n \r\n {rowData => {\r\n return (<>\r\n {rowData.files.map((item, i) => {\r\n return (\r\n \r\n {props.isUserEditable &&\r\n \r\n }\r\n \r\n \r\n\r\n )\r\n })}\r\n \r\n )\r\n }}\r\n \r\n \r\n \r\n \r\n Date Sent\r\n \r\n {rowData => (rowData.dateSent ? new Date(rowData.dateSent).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Date Received\r\n \r\n {rowData => (rowData.dateReceived ? new Date(rowData.dateReceived).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Board Member\r\n \r\n {rowData => (`${rowData.boardMember.firstName} ${rowData.boardMember.middleName} ${rowData.boardMember.lastName}, ${rowData.boardMember.credentialSuffix}`)}\r\n \r\n \r\n \r\n Decision\r\n \r\n {rowData => (rowData.boardMemberDecision?.boardMemberDecision)}\r\n \r\n \r\n \r\n Comments\r\n \r\n \r\n \r\n {props.isUserEditable &&\r\n \r\n \r\n \r\n \r\n {rowData => {\r\n function handleAction() {\r\n var tempData = { ...rowData, files: [] }\r\n props.openModal(tempData);\r\n }\r\n function handleDelete() {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n var formData = new FormData();\r\n var dataToTransmit = {\r\n ...rowData,\r\n deleted: true,\r\n }\r\n formDataAppender('boardMemberResponse', dataToTransmit, formData);\r\n for (var i = 0; i < rowData.files.length; i++) {\r\n formData.append('files', rowData.files[i].blobFile);\r\n }\r\n boardApprovalService.postBoardResponse(formData).then((response) => {\r\n if (response.status == 200) {\r\n props.setGridData([...props.gridData.filter(x => x.id !== rowData.id)]);\r\n }\r\n })\r\n }\r\n })\r\n }\r\n return (\r\n \r\n   \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n }\r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default BoardApproval;","import { useState, useEffect } from 'react'\r\nimport { Button, Card, Col, Modal, Row } from 'react-bootstrap'\r\nimport React from 'react'\r\nimport { ControlLabel, Schema, Form, FormControl, FormGroup, InputPicker, Uploader } from 'rsuite'\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\nimport GenericAttachmentGrid from '../../../../Shared/Grid/GenericAttachmentGrid';\r\nimport { getBoardMembers } from '../../../../../services/Shared/codeTable.service';\r\nimport boardApprovalService from '../../../../../services/Internal/Application/PLS/boardApproval.service';\r\nimport attachmentService from '../../../../../services/Shared/attachment.service';\r\nimport Swal from 'sweetalert2';\r\nimport BlockUi from 'react-block-ui';\r\nimport 'react-block-ui/style.css';\r\n\r\nfunction BoardApprovalModal(props) {\r\n\r\n const { ObjectType, DateType } = Schema.Types;\r\n const [blockUi, setBlockUi] = useState(false);\r\n const model = Schema.Model({\r\n dateSent: DateType().isRequired('This field is required.'),\r\n boardMember: ObjectType().isRequired('This field is required.'),\r\n })\r\n const decisionData = [\r\n { \"label\": \"Approved\", \"value\": { id: 1, boardMemberDecision: \"Approved\" } },\r\n { \"label\": \"Declined\", \"value\": { id: 2, boardMemberDecision: \"Declined\" } }];\r\n\r\n const [boardMemebers, setBoardMembers] = useState([])\r\n const [approvalModel, setApprovalModel] = useState()\r\n useEffect(() => {\r\n setApprovalModel(props.modalData);\r\n getBoardMembers().then(setBoardMembers);\r\n }, [props.modalData])\r\n\r\n const formSubmit = (validation, event) => {\r\n if (validation) {\r\n setBlockUi(true);\r\n var formData = new FormData()\r\n var dataToTransmit = {\r\n ...approvalModel,\r\n dateSent: new Date(approvalModel.dateSent).toISOString(),\r\n dateReceived: approvalModel.dateReceived ? new Date(approvalModel.dateReceived).toISOString() : null\r\n }\r\n formDataAppender('boardMemberResponse', dataToTransmit, formData);\r\n for (var i = 0; i < approvalModel.files.length; i++) {\r\n formData.append('files', approvalModel.files[i].blobFile);\r\n }\r\n boardApprovalService.postBoardResponse(formData).then((response) => {\r\n setBlockUi(false);\r\n if (response.data.boardMemberResponse.id) {\r\n props.updateGrid();\r\n props.onHide();\r\n }\r\n\r\n })\r\n }\r\n\r\n }\r\n const formDataAppender = (passedKey, model, formData) => {\r\n for (let key in model) {\r\n if (typeof (model[key]) === 'object') {\r\n formDataAppender(`${passedKey}.${key}`, model[key], formData); // Recursive key for objects\r\n }\r\n else {\r\n if (passedKey)\r\n formData.append(`${passedKey}.${key}`, model[key]);\r\n else\r\n formData.append(`${key}`, model[key]);\r\n }\r\n }\r\n }\r\n const handleChange = (val, e) => {\r\n if (!e) {\r\n var newFiles = approvalModel.files;\r\n newFiles.push(val);\r\n setApprovalModel({ ...approvalModel, files: [...newFiles] })\r\n }\r\n };\r\n const deleteFile = (id) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n setApprovalModel({ ...approvalModel, files: approvalModel.files.filter(x => x.fileKey != id) })\r\n }\r\n })\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Board/Staff Member Response\r\n \r\n \r\n \r\n
setApprovalModel(approvalModel)} onSubmit={formSubmit} fluid>\r\n \r\n \r\n \r\n \r\n Date Sent \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Board/Staff Member \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n Date Received\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Decision\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n File Upload \r\n \r\n \r\n \r\n \r\n \r\n
Click or Drag files to this area to upload
\r\n \r\n \r\n
\r\n \r\n \r\n {approvalModel?.files?.length > 0 &&\r\n
\r\n
\r\n {\r\n return {\r\n id: value.fileKey,\r\n timestamp: new Date().toLocaleDateString(),\r\n file: value.blobFile?.name\r\n }\r\n })}\r\n isSync={true}\r\n tStyle=\"table-bordered\"\r\n name=\"filesForDisplay\" />\r\n
\r\n }\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Comments\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nexport default BoardApprovalModal;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EIAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualEiApplication\";\r\n\r\n\r\n\r\nconst getBoardRecommendations = (applicationId) => {\r\n return axios.get(`${EIAPPLICATIONURL}/boardrecommendations`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst getBoardResponses = (applicationId) => {\r\n return axios.get(`${EIAPPLICATIONURL}/boardmemberresponses`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postBoardRecommendation = (data) => {\r\n return axios.post(`${EIAPPLICATIONURL}/boardrecommendation`, data, { headers: authHeader() });\r\n}\r\nconst postBoardResponse = (data) => {\r\n var header = authHeader();\r\n header['Content-Type'] = 'multipart/form-data';\r\n return axios.post(`${EIAPPLICATIONURL}/boardmemberresponse`, data, { headers: { ...header } });\r\n}\r\nexport default {\r\n getBoardRecommendations,\r\n getBoardResponses,\r\n postBoardRecommendation,\r\n postBoardResponse\r\n}","import React, { useState, useEffect } from 'react'\r\nimport { Button, Col, Container, Row } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport BoardApproval from './BoardApproval';\r\nimport BoardApprovalModal from './BoardApprovalModal';\r\nimport { useSelector } from 'react-redux';\r\nimport boardApprovalService from '../../../../../services/Internal/Application/EI/boardApproval.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Swal from 'sweetalert2';\r\nimport dayjs from \"dayjs\";\r\nimport eiApplicationService from '../../../../../services/Internal/Application/EI/eiApplication.service';\r\nimport applicationService from '../../../../../services/Internal/Application/application.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction BoardApprovalPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const entityId = useSelector(x => x.currentApplicationEntityId)\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 10;\r\n const [modalShow, setModalShow] = useState(false);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [gridData, setGridData] = useState([]);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineer Intern Application\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Board/Staff Recommendations\"\r\n }\r\n );\r\n const { BooleanType, StringType } = Schema.Types;\r\n\r\n const [formModel, setFormModel] = useState({\r\n applicationId: appId,\r\n dateCrte: null,\r\n deleted: false,\r\n entityId: entityId,\r\n additionalComments: \"\",\r\n id: 0,\r\n userCrte: \"\"\r\n })\r\n const [boardApprovalSectionId, setBoardApprovalSectionId] = useState();\r\n const [modalData, setModalData] = useState({\r\n comments: \"\",\r\n dateCrte: new Date(),\r\n dateReceived: new Date(),\r\n dateSent: new Date(),\r\n deleted: false,\r\n id: 0,\r\n userCrte: \"\",\r\n boardMemberDecision: null,\r\n boardMember: {\r\n appointmentYear: 0,\r\n credentialSuffix: \"\",\r\n expirationYear: 0,\r\n firstName: \"\",\r\n id: 0,\r\n lastName: \"\",\r\n middleName: \"\",\r\n representation: \"\",\r\n suffix: \"\"\r\n },\r\n entityId: entityId,\r\n applicationId: appId,\r\n boardStaffApprovalId: 0,\r\n files: [],\r\n filesForDisplay: [],\r\n filesLoading: false\r\n })\r\n\r\n useEffect(() => {\r\n eiApplicationService.eiGetSection(appId, sectionId).then((response) => {\r\n boardApprovalService.getBoardRecommendations(appId).then((data) => {\r\n setFormModel(data.data);\r\n setModalData({ ...modalData, boardStaffApprovalId: data.data.id })\r\n updateGrid()\r\n setIsComplete(response.data.staffReviewComplete);\r\n setBoardApprovalSectionId(response.data.id);\r\n applicationService.getIndividualApplication(appId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n });\r\n setHasLoaded(true);\r\n });\r\n })\r\n })\r\n })\r\n }, [])\r\n\r\n\r\n const updateGrid = () => {\r\n boardApprovalService.getBoardResponses(appId).then((vals) => {\r\n if (vals.data?.length)\r\n setGridData(\r\n vals.data.map((value, i) => { return { ...value.boardMemberResponse, files: [...value.attachments] } }))\r\n })\r\n }\r\n const submitData = (val) => {\r\n if (val) {\r\n boardApprovalService.postBoardRecommendation(formModel).then((val) => {\r\n if (val.data) {\r\n eiApplicationService.eiMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n Swal.fire(\"Saved!\", \"You have successfully saved.\", 'success');\r\n })\r\n }\r\n })\r\n }\r\n }\r\n\r\n const openAddEditModal = (values) => {\r\n if (values.id) {\r\n setModalData({ ...values, dateReceived: values.dateReceived != null ? dayjs(values.dateReceived).format('YYYY-MM-DD') : null, dateSent: values.dateSent != null ? dayjs(values.dateSent).format('YYYY-MM-DD') : null })\r\n }\r\n else {\r\n setModalData({\r\n comments: \"\",\r\n dateCrte: new Date(),\r\n dateReceived: null,\r\n dateSent: null,\r\n deleted: false,\r\n id: 0,\r\n userCrte: \"\",\r\n boardMemberDecision: null,\r\n boardMember: null,\r\n entityId: entityId,\r\n applicationId: appId,\r\n boardStaffApprovalId: formModel.id,\r\n files: [],\r\n filesForDisplay: []\r\n\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n\r\n return (\r\n
\r\n \r\n setModalShow(false)} />\r\n
setFormModel(formModel)} onSubmit={submitData}>\r\n \r\n {hasLoaded ? <>\r\n \r\n \r\n \r\n \r\n  \r\n \r\n   \r\n \r\n {isUserEditable &&\r\n \r\n }\r\n \r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default BoardApprovalPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EIRENEWALURL = process.env.REACT_APP_APIURL + \"/api/IndividualEiRenewal\";\r\n\r\nconst getContactInformation = (renewalId) => {\r\n return axios.get(`${EIRENEWALURL}/contactinformation`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nexport default {\r\n getContactInformation\r\n}","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst INDIVIDUALRENEWAL = process.env.REACT_APP_APIURL + \"/api/IndividualRenewal\";\r\n\r\nconst getIndividualRenewal = async (renewalId) => {\r\n return axios.get(`${INDIVIDUALRENEWAL}/renewal`, { headers: authHeader(), params: { renewalId } });;\r\n};\r\n\r\nconst eiGetSection = (renewalId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/IndividualEiRenewal/section`, { headers: authHeader(), params: { renewalId, sectionId } });\r\n}\r\nconst eiPostSection = (renewalId, sectionId, electronicSignature) => {\r\n\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualEiRenewal/signsection`, null, { headers: authHeader(), params: { renewalId, sectionId, electronicSignature } });\r\n}\r\nconst eiMarkSectionComplete = (renewalId, sectionId, complete) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualEiRenewal/marksectioncomplete`, null, { headers: authHeader(), params: { renewalId, sectionId, complete } })\r\n}\r\n\r\nconst postStaffApproval = (renewalId, isApproved) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualRenewal/staffApproval`, null, { headers: authHeader(), params: { renewalId, isApproved } });\r\n}\r\nconst postRenewalPdf = (renewalId, isApproved) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/Reports/AutoAttachRenewalPdf`, null, { headers: authHeader(), params: { renewalId, isApproved } });\r\n}\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Complete this section providing all required contact information.\",\r\n },\r\n {\r\n id: 4,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 6,\r\n sectionTitle: \"Journal & Phone Privacy Options\",\r\n sectionContent: \"Verify your subscription and distribution options.\",\r\n },\r\n {\r\n id: 7,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Electronically sign (type your name) and date.\",\r\n },\r\n {\r\n id: 8,\r\n sectionTitle: \"Review\",\r\n sectionContent: 'Review your answers. If you need to change an answer, click the \"Section\" above to go back to the appropriate section',\r\n }\r\n])\r\n\r\nexport default {\r\n eiGetSection,\r\n eiPostSection,\r\n eiMarkSectionComplete,\r\n postStaffApproval,\r\n getIndividualRenewal,\r\n postRenewalPdf\r\n}","import React, { useState } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { Form } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/EiInformation';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport contactService from '../../../../../services/Internal/Renewal/EI/contact.service';\r\nimport internalRenewalService from '../../../../../services/Internal/Renewal/EI/eiRenewal.service';\r\nimport { useSelector } from 'react-redux';\r\nimport { useEffect } from 'react';\r\nimport PersonalInformation from '../../../../Shared/Card/Contact/PersonalInformation';\r\nimport MailingAddress from '../../../../Shared/Card/Contact/MailingAddress';\r\nimport PublicAddress from '../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport dayjs from 'dayjs';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\nimport renewalService from '../../../../../services/Internal/Renewal/renewal.service';\r\n\r\nfunction ContactInformationPage() {\r\n\r\n const { push } = useHistory();\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [formModel, setFormModel] = useState({});\r\n const [tabPane, setTabPane] = useState(\"personalInformation\")\r\n const [sectionData, setSectionData] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineer Intern Renewal\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Contact Information\"\r\n }\r\n );\r\n\r\n useEffect(() => {\r\n contactService.getContactInformation(renewalId).then((response) => {\r\n var data = response.data;\r\n\r\n setFormModel({\r\n ...data,\r\n dateOfBirth: data.dateOfBirth != null ? dayjs(data.dateOfBirth).format('YYYY-MM-DD') : null,\r\n altEmail: data.alternateEmailAddress?.contactEmailAddress,\r\n primaryEmail: data.primaryEmailAddress?.contactEmailAddress,\r\n cellPhoneNum: data.cellPhone?.contactPhoneNumber,\r\n workPhoneNum: data.workPhone?.contactPhoneNumber,\r\n homePhoneNum: data.homePhone?.contactPhoneNumber\r\n })\r\n internalRenewalService.eiGetSection(renewalId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n renewalService.getIndividualRenewal(renewalId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n }, [])\r\n\r\n const formSubmit = (validation, event) => {\r\n submitData(true);\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n internalRenewalService.eiMarkSectionComplete(renewalId, sectionId, isComplete).then((data) => {\r\n if (isForSubmit) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)} onSubmit={formSubmit} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EIRENEWALURL = process.env.REACT_APP_APIURL + \"/api/IndividualEiRenewal\";\r\n\r\nconst getViolation = (renewalId) => {\r\n return axios.get(`${EIRENEWALURL}/violation`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nconst postViolation = (data) => {\r\n return axios.post(`${EIRENEWALURL}/violation`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getViolation,\r\n postViolation\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { Container } from 'react-bootstrap';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Form, Schema } from 'rsuite';\r\nimport internalRenewalService from '../../../../../services/Internal/Renewal/EI/eiRenewal.service';\r\nimport violationService from '../../../../../services/Internal/Renewal/EI/violation.service';\r\nimport { useSelector } from 'react-redux';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/EiInformation';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport { getRenewalCodeViolationAnswers } from '../../../../../services/Shared/codeTable.service';\r\nimport GenericViolations from '../../../../Shared/Card/Violations';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\nimport renewalService from '../../../../../services/Internal/Renewal/renewal.service';\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const { push } = useHistory();\r\n const sectionId = 4;\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const entityId = useSelector(x => x.userInfo.EntityId);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineer Intern Renewal\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Violations\"\r\n }\r\n );\r\n\r\n const [formData, updateFormData] = useState({\r\n renewalId: renewalId,\r\n dateCrte: new Date(),\r\n entityId: entityId,\r\n id: 0,\r\n userCrte: \"\",\r\n yesAnswerExplanation: \"\"\r\n });\r\n\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n internalRenewalService.eiGetSection(renewalId, sectionId).then((response) => {\r\n violationService.getViolation(renewalId).then((data) => {\r\n if (data.data) {\r\n\r\n updateFormData(data.data);\r\n }\r\n else {\r\n getRenewalCodeViolationAnswers(3).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n renewalService.getIndividualRenewal(renewalId).then((renewalData) => {\r\n setIsUserEditable(renewalData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: renewalData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: renewalData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n\r\n }, [])\r\n\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n yesAnswerExplanation: StringType().isRequired('This field is required.')\r\n });\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true) >= 0;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n\r\n\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n setShowFormErrors(true)\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n violationService.postViolation(formData).then((response) => {\r\n if (response.data.id) {\r\n internalRenewalService.eiMarkSectionComplete(renewalId, sectionId, isComplete).then((data) => {\r\n push(routes.filter(x => x.sectionId == (sectionId + 2))[0].route);\r\n })\r\n }\r\n })\r\n }\r\n }\r\n\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded &&\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import React from 'react';\r\nimport { Card } from 'react-bootstrap'\r\nimport { FormGroup, RadioGroup, FormControl, Radio } from 'rsuite'\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction JournalPrivacyCard(props) {\r\n return (\r\n
\r\n \r\n
Journal & Privacy (Professional)
\r\n \r\n

Please send me the Louisiana Engineer & Land Surveyor Journal via:

\r\n
\r\n \r\n \r\n Email\r\n Mail\r\n Do Not Send\r\n \r\n \r\n

Do you want your email address(es) and telephone number(s), which you have provided us, to be kept private and not made available to vendors requesting rosters for distribution\r\n of engineering/land surveying CPD information or to other third parties?

\r\n
\r\n \r\n \r\n Yes, keep private\r\n No, share when requested\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default JournalPrivacyCard;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EINOTIFICATIONPREFERENCEURL = process.env.REACT_APP_APIURL + \"/api/NotificationPreferences\";\r\n\r\n\r\nconst getPrivacyData = (entityId) => {\r\n return axios.get(`${EINOTIFICATIONPREFERENCEURL}/journalandprivacy`, { headers: authHeader(), params: { entityId } });\r\n}\r\nconst postPrivacyData = (data) => {\r\n return axios.post(`${EINOTIFICATIONPREFERENCEURL}/journalandprivacy`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getPrivacyData,\r\n postPrivacyData\r\n}","import React, { useState } from 'react'\r\nimport { Container } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport JournalPrivacyCard from './JournalPrivacyCard';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport { useEffect } from 'react';\r\nimport privacyService from '../../../../../services/Internal/Renewal/EI/privacy.service';\r\nimport internalRenewalService from '../../../../../services/Internal/Renewal/EI/eiRenewal.service';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/EiInformation';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\nimport renewalService from '../../../../../services/Internal/Renewal/renewal.service';\r\n\r\n\r\nfunction Privacy() {\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const { push } = useHistory();\r\n const sectionId = 6;\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineer Intern Renewal\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Journal & Privacy Option\"\r\n }\r\n );\r\n\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n emailPhonePrivacy: BooleanType().isRequired('This field is required.'),\r\n receiveMethod: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const [formData, updateFormData] = useState({\r\n id: 0,\r\n entityId: entityId,\r\n emailPhonePrivacy: null,\r\n journalEmail: null,\r\n journalMail: null,\r\n journalDoNotSend: null,\r\n userCrte: \"\",\r\n dateCrte: new Date(),\r\n deleted: false,\r\n receiveMethod: \"\"\r\n });\r\n\r\n useEffect(() => {\r\n internalRenewalService.eiGetSection(renewalId, sectionId).then((data) => {\r\n setSectionData(data.data)\r\n privacyService.getPrivacyData(data.data.entityId).then((response) => {\r\n if (response.data) {\r\n updateFormData({\r\n ...response.data,\r\n receiveMethod: response.data.journalEmail\r\n ? \"email\"\r\n : response.data.journalMail\r\n ? \"mail\"\r\n : response.data.journalDoNotSend\r\n ? \"none\"\r\n : null\r\n })\r\n }\r\n })\r\n setIsComplete(data.data.staffReviewComplete);\r\n renewalService.getIndividualRenewal(renewalId).then((renewalData) => {\r\n setIsUserEditable(renewalData.data.status.id == 2)\r\n entityService.getEntity(data.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: renewalData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: renewalData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n\r\n const handleSubmit = (val, event) => {\r\n if (val) {\r\n submitData(true);\r\n }\r\n }\r\n const submitData = (isForSubmit) => {\r\n var dataToTransmit = {\r\n ...formData,\r\n journalEmail: formData.receiveMethod === \"email\" ? true : null,\r\n journalMail: formData.receiveMethod === \"mail\" ? true : null,\r\n journalDoNotSend: formData.receiveMethod === \"none\" ? true : null,\r\n }\r\n\r\n privacyService.postPrivacyData(dataToTransmit).then((response) => {\r\n if (response.data.id) {\r\n if (isForSubmit)\r\n internalRenewalService.eiMarkSectionComplete(renewalId, sectionId, isComplete).then((data) => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n })\r\n }\r\n })\r\n }\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded &&\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Privacy;","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, ListGroup, Button } from 'react-bootstrap';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\nimport renewalService, { getSections } from '../../../../../services/Internal/Renewal/EI/eiRenewal.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/EiInformation';\r\nimport Section from '../../../../Shared/Sections/Section';\r\nimport InternalTaskInfo from '../../../Shared/InternalTaskInfo';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\nimport recentQueueService from '../../../../../services/Internal/Recent/recentQueue.service'\r\nimport issuesService from '../../../../../services/Shared/issues.service';\r\n\r\nfunction Index() {\r\n const marginRight = {\r\n marginRight: '1rem'\r\n }\r\n const [showSectionButton, setShowSectionButton] = useState(true);\r\n const [justLicensed, setJustLicensed] = useState(false);\r\n const [sections, setSections] = useState(null);\r\n const dispatch = useDispatch();\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineer Intern Renewal\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"\"\r\n }\r\n );\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const selector = useSelector(x => x);\r\n useEffect(() => {\r\n var routes = JSON.parse(localStorage.getItem('PERSIST_CURRENT_ROUTE')) ?? selector.currentRoutes;\r\n var currentAppId = localStorage.getItem('PERSIST_CURRENT_APP_ID') ?? selector.currentApplicationId;\r\n var currentEntityID = localStorage.getItem('PERSIST_CURRENT_APP_ENTITY_ID') ?? selector.currentApplicationEntityId;\r\n var currentAppTypeId = localStorage.getItem('PERSIST_CURRENT_APP_TYPE_ID') ?? selector.currentApplicationTypeId;\r\n if (localStorage.getItem('PERSIST_CURRENT_APP_ID')) {\r\n localStorage.removeItem('PERSIST_CURRENT_ROUTE');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ENTITY_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_TYPE_ID');\r\n\r\n dispatch({ type: \"PERSIST_CURRENT_ROUTE\", payload: routes });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: currentAppId });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ENTITY_ID\", payload: currentEntityID });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_TYPE_ID\", payload: currentAppTypeId });\r\n }\r\n //Add to recent Queue\r\n recentQueueService.updateRecentQueue({\r\n entityId: currentEntityID,\r\n parentId: currentAppId,\r\n parentTypeId: 3,\r\n appTypeId: 1,\r\n routes: JSON.stringify(routes)\r\n }).then((data) => {\r\n var token = parseInt(localStorage.getItem('updateRecentQueue')) ? parseInt(localStorage.getItem('updateRecentQueue')) : 0;\r\n localStorage.setItem('updateRecentQueue', token + 1)\r\n dispatch({ type: \"PERSIST_CURRENT_RECENT_QUEUE\", payload: parseInt(localStorage.getItem('updateRecentQueue')) });\r\n })\r\n\r\n renewalService.getIndividualRenewal(currentAppId).then((sectionResponse) => {\r\n entityService.getEntity(currentEntityID).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: sectionResponse.data?.credential?.formattedLicenseNumber,\r\n applicationDate: sectionResponse.data?.dateSubmitted\r\n })\r\n });\r\n setHasLoaded(true);\r\n if (sectionResponse.data.sections.findIndex((element) => element.staffReviewComplete === false) !== -1 || sectionResponse.data.status.id !== 2) {// status id 2 = pending\r\n setShowSectionButton(false);\r\n }\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(2, currentAppId).then((data) => {\r\n setSections(routes != null ? routes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route\r\n var index = sectionResponse.data.sections.findIndex(x => x.sectionType?.id == section.id);\r\n if (index !== -1) {\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (sectionResponse.data.sections[index].staffReviewComplete)\r\n section.status = \"COMPLETE\";\r\n else if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n })\r\n })\r\n });\r\n }, [])\r\n\r\n const sendStaffApproval = (isApproved) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: `Do you want to ${isApproved ? 'license' : 'decline'} this renewal? You won't be able to revert this!`,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continue!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n Swal.fire({\r\n title: `${isApproved ? 'Licensing' : 'Declining'} Renewal`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n renewalService.postStaffApproval(selector.currentApplicationId, isApproved).then((response) => {\r\n if (response.data) {\r\n setShowSectionButton(false);\r\n Swal.fire({\r\n title: `Saving PDF`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n renewalService.postRenewalPdf(response.data.id, isApproved).then((data) => {\r\n if (data.data) {\r\n setJustLicensed(true);\r\n Swal.fire(\"Saved\", `The renewal was successfully ${isApproved ? 'approved' : 'declined'}!`, \"success\")\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n \r\n

Sections to Complete

\r\n \r\n {sections}\r\n \r\n \r\n
\r\n {showSectionButton &&\r\n
\r\n \r\n \r\n
\r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Index;","import React, { useEffect, useState } from 'react'\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Acknowledgement from '../../../../Shared/Card/Acknowledgement';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/EiInformation';\r\nimport internalRenewalService from '../../../../../services/Internal/Renewal/EI/eiRenewal.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\nimport renewalService from '../../../../../services/Internal/Renewal/renewal.service';\r\n\r\n\r\nfunction AcknowledgementPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false)\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 7; // Revisit\r\n const [formModel, setFormModel] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineer Intern Renewal\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Acknowledgement\"\r\n }\r\n );\r\n useEffect(() => {\r\n internalRenewalService.eiGetSection(renewalId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n renewalService.getIndividualRenewal(renewalId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n\r\n internalRenewalService.eiPostSection(renewalId, sectionId, formModel.electronicSignature).then((response) => {\r\n if (isForSubmit && response.data.id) {\r\n internalRenewalService.eiMarkSectionComplete(renewalId, sectionId, isComplete).then((data) => {\r\n if (data.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n });\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../Shared/InformationContent/EiInformation';\r\nimport eiRenewalService, { getSections } from '../../../../../services/Internal/Renewal/EI/eiRenewal.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../Shared/Card/ReviewPdf';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Swal from 'sweetalert2';\r\nimport { Form } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\nimport renewalService from '../../../../../services/Internal/Renewal/renewal.service';\r\n\r\nfunction ReviewPage() {\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const { push } = useHistory();\r\n const renewalId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const sectionId = 8;\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineer Intern Renewal\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Review\"\r\n }\r\n );\r\n useEffect(() => {\r\n eiRenewalService.eiGetSection(renewalId, sectionId).then((response) => {\r\n setIsComplete(response.data.staffReviewComplete);\r\n renewalService.getIndividualRenewal(renewalId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n\r\n const formSubmit = () => {\r\n if (!isUserEditable) {\r\n push(\"/internal/eirenewal/sections\");\r\n }\r\n else {\r\n eiRenewalService.eiMarkSectionComplete(renewalId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n push(\"/internal/eirenewal/sections\");\r\n })\r\n }\r\n }\r\n\r\n const generatePdf = () => {\r\n setViolationIssuesHtml()\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {hasLoaded ?\r\n <>\r\n {violationIssuesHtml}\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import React, { useState, useEffect } from 'react'\r\nimport { Button, Card, Row, Col } from 'react-bootstrap'\r\nimport { ControlLabel, FormControl, FormGroup, Icon, SelectPicker, Table, Uploader } from 'rsuite'\r\nimport Swal from 'sweetalert2';\r\nimport boardApprovalService from '../../../../../services/Internal/Application/PE/boardApproval.service';\r\nimport attachmentService from '../../../../../services/Shared/attachment.service';\r\nimport DocumentUpload from '../../../../Shared/Upload/DocumentUpload';\r\n\r\nfunction BoardApproval(props) {\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n\r\n const handleChangePage = (dataKey) => {\r\n setPage(dataKey);\r\n }\r\n const handleChangeLength = (dataKey) => {\r\n setPage(1);\r\n setDisplayLength(dataKey);\r\n }\r\n\r\n const getData = () => {\r\n return props.gridData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const formDataAppender = (passedKey, model, formData) => {\r\n for (let key in model) {\r\n if (typeof (model[key]) === 'object') {\r\n formDataAppender(`${passedKey}.${key}`, model[key], formData); // Recursive key for objects\r\n }\r\n else {\r\n if (passedKey)\r\n formData.append(`${passedKey}.${key}`, model[key]);\r\n else\r\n formData.append(`${key}`, model[key]);\r\n }\r\n }\r\n }\r\n const filteredData = getData();\r\n const removeFile = (id, rowData) => {\r\n Swal.fire({\r\n title: 'Are you sure you want to delete this file?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n attachmentService.deleteFile(id).then((response) => {\r\n if (response.status == 200) {\r\n if (rowData) {\r\n var index = props.gridData.findIndex(x => x.id == rowData.id);\r\n var tempModel = props.gridData;\r\n tempModel[index].files = tempModel[index].files.filter(x => x.id !== id);\r\n props.setGridData([...tempModel]);\r\n }\r\n else {\r\n props.setFiles([...props.files.filter(x => x.id != id)])\r\n }\r\n }\r\n });\r\n }\r\n })\r\n }\r\n\r\n const openFile = (id) => {\r\n attachmentService.openFile(id);\r\n }\r\n return (\r\n <>\r\n\r\n \r\n
Board/Staff Attachments
\r\n \r\n \r\n
\r\n \r\n Additional Comments\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
Board/Staff Responses
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Document\r\n \r\n {rowData => {\r\n return (<>\r\n {rowData.files.map((item, i) => {\r\n return (\r\n \r\n \r\n \r\n \r\n\r\n )\r\n })}\r\n \r\n )\r\n }}\r\n \r\n \r\n \r\n \r\n Date Sent\r\n \r\n {rowData => (rowData.dateSent ? new Date(rowData.dateSent).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Date Received\r\n \r\n {rowData => (rowData.dateReceived ? new Date(rowData.dateReceived).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Board Member\r\n \r\n {rowData => (`${rowData.boardMember.firstName} ${rowData.boardMember.middleName} ${rowData.boardMember.lastName}, ${rowData.boardMember.credentialSuffix}`)}\r\n \r\n \r\n \r\n Decision\r\n \r\n {rowData => (rowData.boardMemberDecision?.boardMemberDecision)}\r\n \r\n \r\n \r\n Comments\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {rowData => {\r\n function handleAction() {\r\n var tempData = { ...rowData, files: [] }\r\n props.openModal(tempData);\r\n }\r\n function handleDelete() {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n var formData = new FormData();\r\n var dataToTransmit = {\r\n ...rowData,\r\n deleted: true,\r\n }\r\n formDataAppender('boardMemberResponse', dataToTransmit, formData);\r\n for (var i = 0; i < rowData.files.length; i++) {\r\n formData.append('files', rowData.files[i].blobFile);\r\n }\r\n boardApprovalService.postBoardResponse(formData).then((response) => {\r\n if (response.status == 200) {\r\n props.setGridData([...props.gridData.filter(x => x.id !== rowData.id)]);\r\n }\r\n })\r\n }\r\n })\r\n }\r\n return (\r\n \r\n   \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default BoardApproval;","import { useState, useEffect } from 'react'\r\nimport { Button, Card, Col, Modal, Row } from 'react-bootstrap'\r\nimport React from 'react'\r\nimport { ControlLabel, Schema, Form, FormControl, FormGroup, InputPicker, Uploader } from 'rsuite'\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\nimport GenericAttachmentGrid from '../../../../Shared/Grid/GenericAttachmentGrid';\r\nimport { getBoardMembers } from '../../../../../services/Shared/codeTable.service';\r\nimport boardApprovalService from '../../../../../services/Internal/Application/PLS/boardApproval.service';\r\nimport attachmentService from '../../../../../services/Shared/attachment.service';\r\nimport Swal from 'sweetalert2';\r\nimport BlockUi from 'react-block-ui';\r\nimport 'react-block-ui/style.css';\r\n\r\nfunction BoardApprovalModal(props) {\r\n\r\n const { ObjectType, DateType } = Schema.Types;\r\n const [blockUi, setBlockUi] = useState(false);\r\n const model = Schema.Model({\r\n dateSent: DateType().isRequired('This field is required.'),\r\n boardMember: ObjectType().isRequired('This field is required.'),\r\n })\r\n const decisionData = [\r\n { \"label\": \"Approved\", \"value\": { id: 1, boardMemberDecision: \"Approved\" } },\r\n { \"label\": \"Declined\", \"value\": { id: 2, boardMemberDecision: \"Declined\" } }];\r\n\r\n const [boardMemebers, setBoardMembers] = useState([])\r\n const [approvalModel, setApprovalModel] = useState()\r\n useEffect(() => {\r\n setApprovalModel(props.modalData);\r\n getBoardMembers().then(setBoardMembers);\r\n }, [props.modalData])\r\n\r\n const formSubmit = (validation, event) => {\r\n if (validation) {\r\n setBlockUi(true);\r\n var formData = new FormData()\r\n var dataToTransmit = {\r\n ...approvalModel,\r\n dateSent: new Date(approvalModel.dateSent).toISOString(),\r\n dateReceived: approvalModel.dateReceived ? new Date(approvalModel.dateReceived).toISOString() : null\r\n }\r\n formDataAppender('boardMemberResponse', dataToTransmit, formData);\r\n for (var i = 0; i < approvalModel.files.length; i++) {\r\n formData.append('files', approvalModel.files[i].blobFile);\r\n }\r\n boardApprovalService.postBoardResponse(formData).then((response) => {\r\n setBlockUi(false);\r\n if (response.data.boardMemberResponse.id) {\r\n props.updateGrid();\r\n props.onHide();\r\n }\r\n\r\n })\r\n }\r\n\r\n }\r\n const formDataAppender = (passedKey, model, formData) => {\r\n for (let key in model) {\r\n if (typeof (model[key]) === 'object') {\r\n formDataAppender(`${passedKey}.${key}`, model[key], formData); // Recursive key for objects\r\n }\r\n else {\r\n if (passedKey)\r\n formData.append(`${passedKey}.${key}`, model[key]);\r\n else\r\n formData.append(`${key}`, model[key]);\r\n }\r\n }\r\n }\r\n const handleChange = (val, e) => {\r\n if (!e) {\r\n var newFiles = approvalModel.files;\r\n newFiles.push(val);\r\n setApprovalModel({ ...approvalModel, files: [...newFiles] })\r\n }\r\n };\r\n const deleteFile = (id) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n setApprovalModel({ ...approvalModel, files: approvalModel.files.filter(x => x.fileKey != id) })\r\n }\r\n })\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Board/Staff Member Response\r\n \r\n \r\n \r\n
setApprovalModel(approvalModel)} onSubmit={formSubmit} fluid>\r\n \r\n \r\n \r\n \r\n Date Sent \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Board/Staff Member \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n Date Received\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Decision\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n File Upload \r\n \r\n \r\n \r\n \r\n \r\n
Click or Drag files to this area to upload
\r\n \r\n \r\n
\r\n \r\n \r\n {approvalModel?.files?.length > 0 &&\r\n
\r\n
\r\n {\r\n return {\r\n id: value.fileKey,\r\n timestamp: new Date().toLocaleDateString(),\r\n file: value.blobFile?.name\r\n }\r\n })}\r\n isSync={true}\r\n tStyle=\"table-bordered\"\r\n name=\"filesForDisplay\" />\r\n
\r\n }\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Comments\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nexport default BoardApprovalModal;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EIRENEWALURL = process.env.REACT_APP_APIURL + \"/api/IndividualEiRenewal\";\r\n\r\n\r\n\r\nconst getBoardRecommendations = (renewalId) => {\r\n return axios.get(`${EIRENEWALURL}/boardrecommendations`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nconst getBoardResponses = (renewalId) => {\r\n return axios.get(`${EIRENEWALURL}/boardmemberresponses`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nconst postBoardRecommendation = (data) => {\r\n return axios.post(`${EIRENEWALURL}/boardrecommendation`, data, { headers: authHeader() });\r\n}\r\nconst postBoardResponse = (data) => {\r\n var header = authHeader();\r\n header['Content-Type'] = 'multipart/form-data';\r\n return axios.post(`${EIRENEWALURL}/boardmemberresponse`, data, { headers: { ...header } });\r\n}\r\nexport default {\r\n getBoardRecommendations,\r\n getBoardResponses,\r\n postBoardRecommendation,\r\n postBoardResponse\r\n}","import React, { useState, useEffect } from 'react'\r\nimport { Button, Col, Container, Row } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport BoardApproval from './BoardApproval';\r\nimport BoardApprovalModal from './BoardApprovalModal';\r\nimport { useSelector } from 'react-redux';\r\nimport boardApprovalService from '../../../../../services/Internal/Renewal/EI/boardApproval.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Swal from 'sweetalert2';\r\nimport dayjs from \"dayjs\";\r\nimport eiApplicationService from '../../../../../services/Internal/Renewal/EI/eiRenewal.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\nimport renewalService from '../../../../../services/Internal/Renewal/renewal.service';\r\n\r\nfunction BoardApprovalPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const entityId = useSelector(x => x.currentApplicationEntityId)\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 10;\r\n const [modalShow, setModalShow] = useState(false);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [gridData, setGridData] = useState([]);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineer Intern Renewal\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Board/Staff Recommendations\"\r\n }\r\n );\r\n const { BooleanType, StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n boardApproval: BooleanType().isRequired('This field is required'),\r\n examsVerifiedInMyNcees: BooleanType().isRequired('This field is required')\r\n })\r\n\r\n const [formModel, setFormModel] = useState({\r\n applicationId: appId,\r\n boardApproval: null,\r\n dateCrte: null,\r\n deleted: false,\r\n entityId: entityId,\r\n examsVerifiedInMyNcees: null,\r\n additionalComments: \"\",\r\n id: 0,\r\n userCrte: \"\"\r\n })\r\n const [boardApprovalSectionId, setBoardApprovalSectionId] = useState();\r\n const [modalData, setModalData] = useState({\r\n comments: \"\",\r\n dateCrte: new Date(),\r\n dateReceived: new Date(),\r\n dateSent: new Date(),\r\n deleted: false,\r\n id: 0,\r\n userCrte: \"\",\r\n boardMemberDecision: null,\r\n boardMember: {\r\n appointmentYear: 0,\r\n credentialSuffix: \"\",\r\n expirationYear: 0,\r\n firstName: \"\",\r\n id: 0,\r\n lastName: \"\",\r\n middleName: \"\",\r\n representation: \"\",\r\n suffix: \"\"\r\n },\r\n entityId: entityId,\r\n applicationId: appId,\r\n boardStaffApprovalId: 0,\r\n files: [],\r\n filesForDisplay: [],\r\n filesLoading: false\r\n })\r\n\r\n useEffect(() => {\r\n eiApplicationService.eiGetSection(appId, sectionId).then((response) => {\r\n boardApprovalService.getBoardRecommendations(appId).then((data) => {\r\n setFormModel(data.data);\r\n setModalData({ ...modalData, boardStaffApprovalId: data.data.id })\r\n updateGrid()\r\n setIsComplete(response.data.staffReviewComplete);\r\n setBoardApprovalSectionId(response.data.id);\r\n renewalService.getIndividualRenewal(appId).then((renewalData) => {\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: renewalData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: renewalData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n }, [])\r\n\r\n const updateGrid = () => {\r\n boardApprovalService.getBoardResponses(appId).then((vals) => {\r\n if (vals.data?.length)\r\n setGridData(\r\n vals.data.map((value, i) => { return { ...value.boardMemberResponse, files: [...value.attachments] } }))\r\n })\r\n }\r\n const submitData = (val) => {\r\n if (val) {\r\n boardApprovalService.postBoardRecommendation(formModel).then((val) => {\r\n if (val.data) {\r\n eiApplicationService.eiMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n Swal.fire(\"Saved!\", \"You have successfully saved.\", 'success');\r\n })\r\n }\r\n })\r\n }\r\n }\r\n\r\n const openAddEditModal = (values) => {\r\n if (values.id) {\r\n setModalData({ ...values, dateReceived: values.dateReceived != null ? dayjs(values.dateReceived).format('YYYY-MM-DD') : null, dateSent: values.dateSent != null ? dayjs(values.dateSent).format('YYYY-MM-DD') : null })\r\n }\r\n else {\r\n setModalData({\r\n comments: \"\",\r\n dateCrte: new Date(),\r\n dateReceived: null,\r\n dateSent: null,\r\n deleted: false,\r\n id: 0,\r\n userCrte: \"\",\r\n boardMemberDecision: null,\r\n boardMember: null,\r\n entityId: entityId,\r\n applicationId: appId,\r\n boardStaffApprovalId: formModel.id,\r\n files: [],\r\n filesForDisplay: []\r\n\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n\r\n return (\r\n
\r\n \r\n setModalShow(false)} />\r\n
setFormModel(formModel)} onSubmit={submitData}>\r\n \r\n {hasLoaded ? <>\r\n \r\n \r\n \r\n \r\n  \r\n \r\n   \r\n \r\n \r\n \r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default BoardApprovalPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst INTERNALREINSTATEMENT = process.env.REACT_APP_APIURL + \"/api/IndividualReinstatement\";\r\n\r\nconst eiGetSection = (reinstatementId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/IndividualEiReinstatement/section`, { headers: authHeader(), params: { reinstatementId, sectionId } });\r\n}\r\nconst eiPostSection = (reinstatementId, sectionId, electronicSignature) => {\r\n\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualEiReinstatement/signsection`, null, { headers: authHeader(), params: { reinstatementId, sectionId, electronicSignature } });\r\n}\r\nconst eiPostSectionHasMyNceesEducation = (reinstatementId, sectionId, hasMyNceesEducation) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualEiReinstatement/setsectionhasmynceeseducation`, null, { headers: authHeader(), params: { reinstatementId, sectionId, hasMyNceesEducation } });\r\n}\r\nconst getIndividualReinstatement = async (reinstatementId) => {\r\n return axios.get(`${INTERNALREINSTATEMENT}/reinstatement`, { headers: authHeader(), params: { reinstatementId } });;\r\n};\r\nconst eiMarkSectionComplete = (reinstatementId, sectionId, complete) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/IndividualEiReinstatement/marksectioncomplete`, null, { headers: authHeader(), params: { reinstatementId, sectionId, complete } })\r\n}\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Ensure your contact information, including your mailing and public addresses are up to date. Ensure you put LAPELS emails on your safe sender list.\",\r\n },\r\n {\r\n id: 16,\r\n sectionTitle: \"Education\",\r\n sectionContent: \"All transcripts must be verified in your NCEES record for EI/LSI reinstatement application processing.\",\r\n },\r\n {\r\n id: 3,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 17,\r\n sectionTitle: \"Examination Verification in Louisiana or Other Jurisdictions\",\r\n sectionContent: \"This must be uploaded to your MyNCEES account.\",\r\n },\r\n {\r\n id: 9,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Electronically sign (type your name) and date.\",\r\n },\r\n {\r\n id: 10,\r\n sectionTitle: \"Review\",\r\n sectionContent: 'Review your answers. If you need to change an answer, click the \"Section\" above to go back to the appropriate section',\r\n },\r\n {\r\n id: 11,\r\n sectionTitle: \"Board/Staff Recommendations\",\r\n sectionContent: 'Waiting on text',\r\n }\r\n])\r\n\r\nexport default {\r\n getIndividualReinstatement,\r\n eiGetSection,\r\n eiPostSection,\r\n eiPostSectionHasMyNceesEducation,\r\n eiMarkSectionComplete\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, ListGroup, Button } from 'react-bootstrap';\r\nimport Section from '../../../../Shared/Sections/Section';\r\nimport { getSections } from \"../../../../../services/Internal/Reinstatement/EI/eiReinstatement.service\";\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/EiInformation';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/reinstatement.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Swal from 'sweetalert2';\r\nimport InternalTaskInfo from '../../../Shared/InternalTaskInfo';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\nimport recentQueueService from '../../../../../services/Internal/Recent/recentQueue.service'\r\nimport issuesService from '../../../../../services/Shared/issues.service';\r\nfunction Index() {\r\n const marginRight = {\r\n marginRight: '1rem'\r\n }\r\n const [sections, setSections] = useState(null);\r\n const [showSectionButton, setShowSectionButton] = useState(true);\r\n const [justLicensed, setJustLicensed] = useState(false);\r\n const dispatch = useDispatch();\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineer Intern Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"\"\r\n }\r\n );\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const selector = useSelector(x => x);\r\n useEffect(() => {\r\n var routes = JSON.parse(localStorage.getItem('PERSIST_CURRENT_ROUTE')) ?? selector.currentRoutes;\r\n var currentAppId = localStorage.getItem('PERSIST_CURRENT_APP_ID') ?? selector.currentApplicationId;\r\n var currentEntityID = localStorage.getItem('PERSIST_CURRENT_APP_ENTITY_ID') ?? selector.currentApplicationEntityId;\r\n var currentAppTypeId = localStorage.getItem('PERSIST_CURRENT_APP_TYPE_ID') ?? selector.currentApplicationTypeId;\r\n if (localStorage.getItem('PERSIST_CURRENT_APP_ID')) {\r\n localStorage.removeItem('PERSIST_CURRENT_ROUTE');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_ENTITY_ID');\r\n localStorage.removeItem('PERSIST_CURRENT_APP_TYPE_ID');\r\n\r\n dispatch({ type: \"PERSIST_CURRENT_ROUTE\", payload: routes });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: currentAppId });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ENTITY_ID\", payload: currentEntityID });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_TYPE_ID\", payload: currentAppTypeId });\r\n }\r\n //Add to recent Queue\r\n recentQueueService.updateRecentQueue({\r\n entityId: currentEntityID,\r\n parentId: currentAppId,\r\n parentTypeId: 1,\r\n appTypeId: 1,\r\n routes: JSON.stringify(routes)\r\n }).then((data) => {\r\n var token = parseInt(localStorage.getItem('updateRecentQueue')) ? parseInt(localStorage.getItem('updateRecentQueue')) : 0;\r\n localStorage.setItem('updateRecentQueue', token + 1)\r\n dispatch({ type: \"PERSIST_CURRENT_RECENT_QUEUE\", payload: parseInt(localStorage.getItem('updateRecentQueue')) });\r\n })\r\n reinstatementService.getIndividualReinstatement(currentAppId).then((sectionResponse) => {\r\n entityService.getEntity(currentEntityID).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: sectionResponse.data?.credential?.formattedLicenseNumber,\r\n applicationDate: sectionResponse.data?.dateSubmitted\r\n })\r\n });\r\n setHasLoaded(true);\r\n if (sectionResponse.data.sections.findIndex((element) => element.staffReviewComplete === false) !== -1 || sectionResponse.data.status.id !== 2) {// status id 2 = pending\r\n setShowSectionButton(false);\r\n }\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(3, currentAppId).then((data) => {\r\n setSections(routes != null ? routes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route\r\n var index = sectionResponse.data.sections.findIndex(x => x.sectionType?.id == section.id);\r\n if (index !== -1) {\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (sectionResponse.data.sections[index].staffReviewComplete)\r\n section.status = \"COMPLETE\";\r\n else if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n })\r\n })\r\n })\r\n }, [])\r\n\r\n const sendStaffApproval = (isApproved) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: `Do you want to ${isApproved ? 'license' : 'decline'} this application? You won't be able to revert this!`,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continue!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n Swal.fire({\r\n title: `${isApproved ? 'Licensing' : 'Declining'} Application`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n reinstatementService.postStaffApproval(selector.currentApplicationId, isApproved).then((response) => {\r\n if (response.data) {\r\n setShowSectionButton(false);\r\n Swal.fire({\r\n title: `Saving PDF`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n reinstatementService.postReinstatementPdf(response.data.id, isApproved).then((data) => {\r\n if (data.data) {\r\n setJustLicensed(true);\r\n Swal.fire(\"Saved\", `The application was successfully ${isApproved ? 'approved' : 'declined'}!`, \"success\")\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n \r\n

Sections to Complete

\r\n \r\n {sections}\r\n \r\n \r\n
\r\n {showSectionButton &&\r\n
\r\n \r\n \r\n
\r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default Index;","import React, { useEffect, useState } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { Form } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/EiInformation'\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { useHistory } from 'react-router-dom';\r\nimport PersonalInformation from '../../../../Shared/Card/Contact/PersonalInformation';\r\nimport MailingAddress from '../../../../Shared/Card/Contact/MailingAddress';\r\nimport PublicAddress from '../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport publicreinstatementService from '../../../../../services/Public/Reinstatement/EI/eiReinstatement.service';\r\nimport { useSelector } from 'react-redux';\r\nimport contactService from '../../../../../services/Public/Reinstatement/EI/contact.service';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport dayjs from 'dayjs';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/EI/eiReinstatement.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction ContactInformationPage() {\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const { push } = useHistory();\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const [formModel, setFormModel] = useState({});\r\n const [tabPane, setTabPane] = useState(\"personalInformation\")\r\n const [sectionData, setSectionData] = useState({});\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineer Intern Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Contact Information\"\r\n }\r\n );\r\n\r\n useEffect(() => {\r\n contactService.getContactInformation(reinstatementId).then((response) => {\r\n var data = response.data;\r\n\r\n setFormModel({\r\n ...data,\r\n dateOfBirth: data.dateOfBirth != null ? dayjs(data.dateOfBirth).format('YYYY-MM-DD') : null,\r\n altEmail: data.alternateEmailAddress?.emailAddress,\r\n primaryEmail: data.primaryEmailAddress?.contactEmailAddress,\r\n cellPhoneNum: data.cellPhone?.contactPhoneNumber,\r\n workPhoneNum: data.workPhone?.contactPhoneNumber,\r\n homePhoneNum: data.homePhone?.contactPhoneNumber\r\n })\r\n publicreinstatementService.eiGetSection(reinstatementId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete);\r\n reinstatementService.getIndividualReinstatement(reinstatementId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n\r\n })\r\n })\r\n }, [])\r\n\r\n const formSubmit = (validation, event) => {\r\n submitData(true);\r\n }\r\n\r\n const submitData = (isForSubmit) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n reinstatementService.eiMarkSectionComplete(reinstatementId, sectionId, isComplete).then((val) => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)} onSubmit={formSubmit} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import React, { useState, useEffect } from 'react';\r\nimport { Card, Row, Col, Button } from 'react-bootstrap'\r\nimport { Icon } from 'rsuite';\r\nimport YesNoRadioOption from '../../../../Shared/RadioButton/YesNoRadioOption';\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction EducationRecord(props) {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
Education Records
\r\n \r\n
\r\n
\r\n \r\n

\r\n I have education transcript(s) verified in MyNCEES record.\r\n

\r\n
\r\n \r\n {(props.hideGrid === false) &&\r\n \r\n Please go to ncees.org to have transcripts verified. Your application cannot be processed until your are a record holder and transcripts are verified in your MYNCEES account.\r\n \r\n }\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\nexport default EducationRecord;","import React, { useEffect, useState } from 'react';\r\nimport { Container } from 'react-bootstrap';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport EducationRecord from './EducationRecords';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/EiInformation';\r\nimport { useSelector } from 'react-redux';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/EI/eiReinstatement.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction EducationPage() {\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineer Intern Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Education\"\r\n }\r\n );\r\n const [hideGrids, setHideGrids] = useState(true);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 16;\r\n const [sectionData, setSectionData] = useState({});\r\n useEffect(() => {\r\n setHasLoaded(false)\r\n reinstatementService.eiGetSection(reinstatementId, sectionId).then((response) => {\r\n reinstatementService.getIndividualReinstatement(reinstatementId).then((reinstatementData) => {\r\n setIsUserEditable(reinstatementData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: reinstatementData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: reinstatementData.data?.dateSubmitted\r\n })\r\n });\r\n });\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n setHideGrids(response.data.hasMyNceesEducation ?? true);\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n const { BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasMyNceesEducation: BooleanType().isRequired('This field is required.')\r\n });\r\n const handleMyNceesEducationChange = (val) => {\r\n setHideGrids(val);\r\n }\r\n\r\n const submitForm = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n reinstatementService.eiPostSectionHasMyNceesEducation(reinstatementId, sectionId, sectionData.hasMyNceesEducation).then(() => {\r\n reinstatementService.eiMarkSectionComplete(reinstatementId, sectionId, isComplete).then((val) => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route);\r\n })\r\n })\r\n }\r\n }\r\n return (\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n {hasLoaded ? <>\r\n setSectionData(data)}\r\n >\r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n}\r\nexport default EducationPage;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EIREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/IndividualEiReinstatement\";\r\n\r\nconst getExamination = (reinstatementId) => {\r\n return axios.get(`${EIREINSTATEMENTURL}/examinationverification`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postExamination = (data) => {\r\n return axios.post(`${EIREINSTATEMENTURL}/examinationverification`, data, { headers: authHeader() });\r\n}\r\n\r\n\r\nexport default {\r\n getExamination,\r\n postExamination\r\n}","import React, { useState, useEffect } from 'react'\r\nimport { Card, Col, Container, Row } from 'react-bootstrap';\r\nimport { ControlLabel, Form, FormControl, InputPicker, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport { getStates } from '../../../../../services/Shared/codeTable.service'\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/EI/eiReinstatement.service';\r\nimport examinationService from '../../../../../services/Internal/Reinstatement/EI/examination.service'\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/EiInformation';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport dayjs from 'dayjs';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction ExaminationVerification() {\r\n const [states, setStates] = useState([])\r\n const routes = useSelector(x => x.currentRoutes);\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const entityId = useSelector(x => x.userInfo.EntityId)\r\n const sectionId = 17;\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineer Intern Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Examination\"\r\n }\r\n );\r\n const [formModel, setFormModel] = useState({\r\n id: 0,\r\n reinstatementId: reinstatementId,\r\n entityId: entityId,\r\n jurisdictionState: null,\r\n dateOfExam: null,\r\n userCrte: \"\",\r\n dateCrte: new Date(),\r\n deleted: false\r\n });\r\n const [sectionData, setSectionData] = useState({});\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const { StringType, ObjectType } = Schema.Types;\r\n const model = Schema.Model({\r\n jurisdictionState: ObjectType().isRequired('This field is required.'),\r\n dateOfExam: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n getStates().then(setStates);\r\n examinationService.getExamination(reinstatementId).then((response) => {\r\n if (response.data) {\r\n setFormModel({\r\n ...response.data,\r\n dateOfExam: response.data.dateOfExam != null ? dayjs(response.data.dateOfExam).format('YYYY-MM-DD') : null\r\n });\r\n }\r\n reinstatementService.eiGetSection(reinstatementId, sectionId).then((data) => {\r\n reinstatementService.getIndividualReinstatement(reinstatementId).then((reinstatementData) => {\r\n setIsUserEditable(reinstatementData.data.status.id == 2)\r\n entityService.getEntity(data.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: reinstatementData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: reinstatementData.data?.dateSubmitted\r\n })\r\n });\r\n });\r\n setSectionData(data.data);\r\n setIsComplete(data.data.staffReviewComplete)\r\n setHasLoaded(true);\r\n })\r\n })\r\n }, [])\r\n const formSubmit = (validation, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (validation) {\r\n //setFormModel({ ...formModel, dateOfExam: dayjs(formModel.dateOfExam).format('MM-dd-yyyy')})\r\n examinationService.postExamination(formModel).then((response) => {\r\n reinstatementService.eiMarkSectionComplete(reinstatementId, sectionId, isComplete).then((val) => {\r\n if (response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n\r\n }\r\n })\r\n })\r\n }\r\n }\r\n return (\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n Fundamentals Exam (FE)\r\n \r\n {hasLoaded ?\r\n \r\n \r\n \r\n Jurisdiction\r\n \r\n \r\n { if (label.toLowerCase().startsWith(userInput.toLowerCase()) || !userInput) return true; }}\r\n />\r\n \r\n \r\n \r\n \r\n Date\r\n \r\n \r\n \r\n \r\n \r\n \r\n : \r\n }\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}\r\nexport default ExaminationVerification","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EIREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/IndividualEiReinstatement\";\r\n\r\nconst getViolation = (reinstatementId) => {\r\n return axios.get(`${EIREINSTATEMENTURL}/violation`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postViolation = (data) => {\r\n return axios.post(`${EIREINSTATEMENTURL}/violation`, data, { headers: authHeader() });\r\n}\r\nconst downloadViolationFile = (reinstatementId) => {\r\n axios.get(`${process.env.REACT_APP_APIURL}/Reports/GetReinstatementViolationsForm`, { headers: authHeader(), params: { reinstatementId }, responseType: 'arraybuffer' }).then((response) => {\r\n var name = new String(response.headers['content-disposition']);\r\n const downloadUrl = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = downloadUrl;\r\n link.setAttribute('download', name.slice(name.indexOf('filename=') + 9, name.lastIndexOf(';')));\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n });\r\n}\r\nexport default {\r\n getViolation,\r\n postViolation,\r\n downloadViolationFile\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport Information from './../../../../Shared/Card/Information';\r\nimport { useHistory } from 'react-router-dom';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport { GetReinstatementInformationContent } from '../../../../Shared/InformationContent/EiInformation';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/EI/eiReinstatement.service';\r\nimport violationService from '../../../../../services/Internal/Reinstatement/EI/violation.service';\r\nimport Swal from 'sweetalert2';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport { getReinstatementCodeViolationAnswers } from '../../../../../services/Shared/codeTable.service';\r\nimport GenericViolations from '../../../../Shared/Card/Violations';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const sectionId = 3;\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n signature: StringType().isRequired('This field is required.'),\r\n yesAnswerExplanation: StringType().isRequired('This field is required.'),\r\n });\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineer Intern Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Violations\"\r\n }\r\n );\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n reinstatementService.eiGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n violationService.getViolation(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, issues: formData.issues, files: formData.files, filesForDisplay: formData.filesForDisplay, signature: response.data.electronicSignature });\r\n }\r\n else {\r\n getReinstatementCodeViolationAnswers(5).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n reinstatementService.getIndividualReinstatement(store.currentApplicationId).then((reinstatementData) => {\r\n setIsUserEditable(reinstatementData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: reinstatementData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: reinstatementData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n signature: undefined,\r\n yesAnswerExplanation: \"\",\r\n files: [],\r\n filesForDisplay: [],\r\n issues: []\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true && x.codeViolationQuestion.versionNumber < 3) >= 0;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n\r\n //Verison 3+ violations\r\n const showBlukViolationExplanation = formData?.answers?.findIndex(x => x.answer == true && !x.codeViolationQuestion.hasExplanation && x.codeViolationQuestion.versionNumber >= 3) >= 0 ?\r\n `If the answer to question number 2-${formData.answers[0].codeViolationQuestion.versionNumber == 3 ? '6' : '5'} is \"Yes\", provide the date and the pertinent facts of the case or proceeding including its final disposition. Upload additional pages if necessary` : \"\";\r\n\r\n const downloadViolations = () => {\r\n violationService.downloadViolationFile(store.currentApplicationId)\r\n }\r\n const handleSubmit = (val, event) => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n setShowFormErrors(true)\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n if (validationObject[key].hasError && (showBlukViolationExplanation && key.includes(\"yesAnswerExplanation\"))) {\r\n return;\r\n }\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer === true && x.codeViolationQuestion.hasExplanation && !x.violationExplanation) >= 0) {//undefined check\r\n return;\r\n }\r\n if (formData.signature) {\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, reinstatementId: store.currentApplicationId, entityId: store.currentApplicationEntityId };\r\n violationService.postViolation(dataTransfer).then((response) => {\r\n reinstatementService.eiMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((data) => {\r\n reinstatementService.eiPostSection(store.currentApplicationId, sectionId, formData.signature).then((response) => {\r\n if (response.data && data.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n })\r\n })\r\n });\r\n }\r\n }\r\n }\r\n\r\n }\r\n const formSave = () => {\r\n var dataTransfer = { ...formData, reinstatementId: store.currentApplicationId, entityId: store.currentApplicationEntityId };\r\n violationService.postViolation(dataTransfer).then((response) => {\r\n updateFormData({ ...response.data, signature: formData.signature });\r\n reinstatementService.eiMarkSectionComplete(store.currentApplicationId, sectionId, isComplete).then((data) => {\r\n reinstatementService.eiPostSection(store.currentApplicationId, sectionId, formData.signature).then((response) => {\r\n Swal.fire(\"Saved!\")\r\n })\r\n })\r\n });\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import React, { useState, useEffect } from 'react'\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons'\r\nimport { Container, Row, Col, Card } from 'react-bootstrap';\r\nimport { Form, FormControl, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/EI/eiReinstatement.service'\r\nimport Issues from '../../../../Shared/Card/Issues';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction AcknowledgementPage() {\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const sectionId = 9;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [formModel, setFormModel] = useState({})\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineer Intern Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Acknowledgement\"\r\n }\r\n );\r\n useEffect(() => {\r\n reinstatementService.eiGetSection(reinstatementId, sectionId).then((response) => {\r\n reinstatementService.getIndividualReinstatement(reinstatementId).then((reinstatementData) => {\r\n setIsUserEditable(reinstatementData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: reinstatementData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: reinstatementData.data?.dateSubmitted\r\n })\r\n });\r\n });\r\n setFormModel(response.data);\r\n setIsComplete(response.data.staffReviewComplete)\r\n setHasLoaded(true)\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (validation) {\r\n submitData();\r\n }\r\n }\r\n\r\n const submitData = () => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n reinstatementService.eiPostSection(reinstatementId, sectionId, formModel.electronicSignature).then((response) => {\r\n reinstatementService.eiMarkSectionComplete(reinstatementId, sectionId, isComplete).then((val) => {\r\n if (response.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n\r\n });\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n {hasLoaded ?\r\n <>\r\n \r\n
Acknowledgement
\r\n \r\n

I, the applicant named in this application, have read the contents hereof, and to the best of my knowledge, information and believe the statements and information in this application are true and correct in substance and effect and are made in good faith. I have not omitted any information requested in this application. I am aware that such an omission or untrue response may constitute fraud or deceit, material misstatement, perjury or the giving of false or forged evidence under Louisiana Revised Statutes 37:698 and 37:700. I understand and agree that any responses verifying my education, personal references, and experience shall be considered privileged and confidential and that this information was not reviewed by me nor will it be available for my inspection or review in the future.

\r\n
\r\n
    \r\n
  • It is your responsibility to check your LOLA account frequently for any pending issues. Ensure you add \"lapels.com\" to your \"Safe Senders\" list in your email application and/or (if applicable) in your network firewall.
  • \r\n
  • Once we receive a complete application, with no pending issues, process time may take 6-8 weeks.
  • \r\n
  • \r\n I certify that all information provided in this online reinstatement is true and correct to the best of my knowledge, information and belief.\r\n
  • \r\n
  • \r\n I am aware that an omission or untrue response may constitute fraud, deceit, material misstatement, perjury or the giving of false or forged evidence under Louisiana Revised Statutes 37:698 and 37:700\r\n
  • \r\n\r\n
  • \r\n IMPORTANT: Payments are non-refundable. If you believe that you will be reimbursed for your fee, verify this BEFORE proceeding further\r\n
  • \r\n
  • \r\n If you are unsure about getting reimbursed by your firm, please stop the application process here and come back after you verify. Your answers will be saved.\r\n
  • \r\n
\r\n
\r\n \r\n \r\n
Electronic Signature of Applicant:
\r\n (Type full name)\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n : \r\n }\r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Information from '../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../Shared/InformationContent/EiInformation';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../Shared/Card/ReviewPdf';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/reinstatement.service';\r\nimport eiReinstatementService, { getSections } from '../../../../../services/Internal/Reinstatement/EI/eiReinstatement.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport Swal from 'sweetalert2';\r\nimport FormActionButtons from '../../../../Shared/FormAction/FormActionButtons';\r\nimport { Form } from 'rsuite';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\n\r\nfunction ReviewPage() {\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const { push } = useHistory();\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineer Intern Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Review\"\r\n }\r\n );\r\n const sectionId = 10;\r\n\r\n useEffect(() => {\r\n eiReinstatementService.eiGetSection(reinstatementId, sectionId).then((response) => {\r\n setIsComplete(response.data.staffReviewComplete);\r\n reinstatementService.getIndividualReinstatement(reinstatementId).then((data) => {\r\n setIsUserEditable(data.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: data.data?.credential?.formattedLicenseNumber,\r\n applicationDate: data.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n }, [])\r\n const formSubmit = () => {\r\n if (!isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n eiReinstatementService.eiMarkSectionComplete(reinstatementId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n }\r\n const formSave = () => {\r\n eiReinstatementService.eiMarkSectionComplete(reinstatementId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n Swal.fire(\"Saved!\");\r\n })\r\n }\r\n\r\n\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {hasLoaded ?\r\n <>\r\n {violationIssuesHtml}\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EIAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/IndividualEiReinstatement\";\r\n\r\n\r\n\r\nconst getBoardRecommendations = (reinstatementId) => {\r\n return axios.get(`${EIAPPLICATIONURL}/boardrecommendations`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst getBoardResponses = (reinstatementId) => {\r\n return axios.get(`${EIAPPLICATIONURL}/boardmemberresponses`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postBoardRecommendation = (data) => {\r\n return axios.post(`${EIAPPLICATIONURL}/boardrecommendation`, data, { headers: authHeader() });\r\n}\r\nconst postBoardResponse = (data) => {\r\n var header = authHeader();\r\n header['Content-Type'] = 'multipart/form-data';\r\n return axios.post(`${EIAPPLICATIONURL}/boardmemberresponse`, data, { headers: { ...header } });\r\n}\r\nexport default {\r\n getBoardRecommendations,\r\n getBoardResponses,\r\n postBoardRecommendation,\r\n postBoardResponse\r\n}","import React, { useState, useEffect } from 'react'\r\nimport { Button, Card, Row, Col } from 'react-bootstrap'\r\nimport { ControlLabel, FormControl, FormGroup, Icon, SelectPicker, Table, Uploader } from 'rsuite'\r\nimport Swal from 'sweetalert2';\r\nimport boardApprovalService from '../../../../../services/Internal/Reinstatement/EI/boardApproval.service';\r\nimport attachmentService from '../../../../../services/Shared/attachment.service';\r\nimport DocumentUpload from '../../../../Shared/Upload/DocumentUpload';\r\n\r\nfunction BoardApproval(props) {\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n\r\n const handleChangePage = (dataKey) => {\r\n setPage(dataKey);\r\n }\r\n const handleChangeLength = (dataKey) => {\r\n setPage(1);\r\n setDisplayLength(dataKey);\r\n }\r\n\r\n const getData = () => {\r\n return props.gridData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const formDataAppender = (passedKey, model, formData) => {\r\n for (let key in model) {\r\n if (typeof (model[key]) === 'object') {\r\n formDataAppender(`${passedKey}.${key}`, model[key], formData); // Recursive key for objects\r\n }\r\n else {\r\n if (passedKey)\r\n formData.append(`${passedKey}.${key}`, model[key]);\r\n else\r\n formData.append(`${key}`, model[key]);\r\n }\r\n }\r\n }\r\n const filteredData = getData();\r\n const removeFile = (id, rowData) => {\r\n Swal.fire({\r\n title: 'Are you sure you want to delete this file?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n attachmentService.deleteFile(id).then((response) => {\r\n if (response.status == 200) {\r\n if (rowData) {\r\n var index = props.gridData.findIndex(x => x.id == rowData.id);\r\n var tempModel = props.gridData;\r\n tempModel[index].files = tempModel[index].files.filter(x => x.id !== id);\r\n props.setGridData([...tempModel]);\r\n }\r\n else {\r\n props.setFiles([...props.files.filter(x => x.id != id)])\r\n }\r\n }\r\n });\r\n }\r\n })\r\n }\r\n\r\n const openFile = (id) => {\r\n attachmentService.openFile(id);\r\n }\r\n return (\r\n <>\r\n\r\n \r\n
Board/Staff Attachments
\r\n \r\n \r\n
\r\n \r\n Additional Comments\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
Board/Staff Responses
\r\n \r\n {props.isUserEditable &&\r\n \r\n \r\n \r\n }\r\n
\r\n
\r\n \r\n \r\n \r\n Document\r\n \r\n {rowData => {\r\n return (<>\r\n {rowData.files.map((item, i) => {\r\n return (\r\n \r\n {props.isUserEditable &&\r\n \r\n }\r\n \r\n \r\n\r\n )\r\n })}\r\n \r\n )\r\n }}\r\n \r\n \r\n \r\n \r\n Date Sent\r\n \r\n {rowData => (rowData.dateSent ? new Date(rowData.dateSent).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Date Received\r\n \r\n {rowData => (rowData.dateReceived ? new Date(rowData.dateReceived).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Board Member\r\n \r\n {rowData => (`${rowData.boardMember.firstName} ${rowData.boardMember.middleName} ${rowData.boardMember.lastName}, ${rowData.boardMember.credentialSuffix}`)}\r\n \r\n \r\n \r\n Decision\r\n \r\n {rowData => (rowData.boardMemberDecision?.boardMemberDecision)}\r\n \r\n \r\n \r\n Comments\r\n \r\n \r\n \r\n {props.isUserEditable &&\r\n \r\n \r\n \r\n \r\n {rowData => {\r\n function handleAction() {\r\n var tempData = { ...rowData, files: [] }\r\n props.openModal(tempData);\r\n }\r\n function handleDelete() {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n var formData = new FormData();\r\n var dataToTransmit = {\r\n ...rowData,\r\n deleted: true,\r\n }\r\n formDataAppender('boardMemberResponse', dataToTransmit, formData);\r\n for (var i = 0; i < rowData.files.length; i++) {\r\n formData.append('files', rowData.files[i].blobFile);\r\n }\r\n boardApprovalService.postBoardResponse(formData).then((response) => {\r\n if (response.status == 200) {\r\n props.setGridData([...props.gridData.filter(x => x.id !== rowData.id)]);\r\n }\r\n })\r\n }\r\n })\r\n }\r\n return (\r\n \r\n   \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n }\r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default BoardApproval;","import { useState, useEffect } from 'react'\r\nimport { Button, Card, Col, Modal, Row } from 'react-bootstrap'\r\nimport React from 'react'\r\nimport { ControlLabel, Schema, Form, FormControl, FormGroup, InputPicker, Uploader } from 'rsuite'\r\nimport RedStar from '../../../../Shared/GenericComponents/RedStar';\r\nimport GenericAttachmentGrid from '../../../../Shared/Grid/GenericAttachmentGrid';\r\nimport { getBoardMembers } from '../../../../../services/Shared/codeTable.service';\r\nimport boardApprovalService from '../../../../../services/Internal/Reinstatement/EI/boardApproval.service';\r\nimport attachmentService from '../../../../../services/Shared/attachment.service';\r\nimport Swal from 'sweetalert2';\r\nimport BlockUi from 'react-block-ui';\r\nimport 'react-block-ui/style.css';\r\n\r\nfunction BoardApprovalModal(props) {\r\n\r\n const { ObjectType, DateType } = Schema.Types;\r\n const [blockUi, setBlockUi] = useState(false);\r\n const model = Schema.Model({\r\n dateSent: DateType().isRequired('This field is required.'),\r\n boardMember: ObjectType().isRequired('This field is required.'),\r\n })\r\n const decisionData = [\r\n { \"label\": \"Approved\", \"value\": { id: 1, boardMemberDecision: \"Approved\" } },\r\n { \"label\": \"Declined\", \"value\": { id: 2, boardMemberDecision: \"Declined\" } }];\r\n\r\n const [boardMemebers, setBoardMembers] = useState([])\r\n const [approvalModel, setApprovalModel] = useState()\r\n useEffect(() => {\r\n setApprovalModel(props.modalData);\r\n getBoardMembers().then(setBoardMembers);\r\n }, [props.modalData])\r\n\r\n const formSubmit = (validation, event) => {\r\n if (validation) {\r\n setBlockUi(true);\r\n var formData = new FormData()\r\n var dataToTransmit = {\r\n ...approvalModel,\r\n dateSent: new Date(approvalModel.dateSent).toISOString(),\r\n dateReceived: approvalModel.dateReceived ? new Date(approvalModel.dateReceived).toISOString() : null\r\n }\r\n formDataAppender('boardMemberResponse', dataToTransmit, formData);\r\n for (var i = 0; i < approvalModel.files.length; i++) {\r\n formData.append('files', approvalModel.files[i].blobFile);\r\n }\r\n boardApprovalService.postBoardResponse(formData).then((response) => {\r\n setBlockUi(false);\r\n if (response.data.boardMemberResponse.id) {\r\n props.updateGrid();\r\n props.onHide();\r\n }\r\n\r\n })\r\n }\r\n\r\n }\r\n const formDataAppender = (passedKey, model, formData) => {\r\n for (let key in model) {\r\n if (typeof (model[key]) === 'object') {\r\n formDataAppender(`${passedKey}.${key}`, model[key], formData); // Recursive key for objects\r\n }\r\n else {\r\n if (passedKey)\r\n formData.append(`${passedKey}.${key}`, model[key]);\r\n else\r\n formData.append(`${key}`, model[key]);\r\n }\r\n }\r\n }\r\n const handleChange = (val, e) => {\r\n if (!e) {\r\n var newFiles = approvalModel.files;\r\n newFiles.push(val);\r\n setApprovalModel({ ...approvalModel, files: [...newFiles] })\r\n }\r\n };\r\n const deleteFile = (id) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n setApprovalModel({ ...approvalModel, files: approvalModel.files.filter(x => x.fileKey != id) })\r\n }\r\n })\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Board/Staff Member Response\r\n \r\n \r\n \r\n
setApprovalModel(approvalModel)} onSubmit={formSubmit} fluid>\r\n \r\n \r\n \r\n \r\n Date Sent \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Board/Staff Member \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n Date Received\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Decision\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n File Upload \r\n \r\n \r\n \r\n \r\n \r\n
Click or Drag files to this area to upload
\r\n \r\n \r\n
\r\n \r\n \r\n {approvalModel?.files?.length > 0 &&\r\n
\r\n
\r\n {\r\n return {\r\n id: value.fileKey,\r\n timestamp: new Date().toLocaleDateString(),\r\n file: value.blobFile?.name\r\n }\r\n })}\r\n isSync={true}\r\n tStyle=\"table-bordered\"\r\n name=\"filesForDisplay\" />\r\n
\r\n }\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Comments\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nexport default BoardApprovalModal;","import React, { useState, useEffect } from 'react'\r\nimport { Button, Col, Container, Row } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { Link } from 'react-router-dom';\r\nimport BoardApproval from './BoardApproval';\r\nimport BoardApprovalModal from './BoardApprovalModal';\r\nimport { useSelector } from 'react-redux';\r\nimport boardApprovalService from '../../../../../services/Internal/Reinstatement/EI/boardApproval.service';\r\nimport entityService from '../../../../../services/Internal/Staff/entity.service';\r\nimport LoadingSpinner from '../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Swal from 'sweetalert2';\r\nimport dayjs from \"dayjs\";\r\nimport eiReinstatementService from '../../../../../services/Internal/Reinstatement/EI/eiReinstatement.service';\r\nimport reinstatementService from '../../../../../services/Internal/Reinstatement/reinstatement.service';\r\nimport FormEntityInformation from '../../../Shared/FormEntityInformation';\r\n\r\nfunction BoardApprovalPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const entityId = useSelector(x => x.currentApplicationEntityId)\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const sectionId = 11;\r\n const [modalShow, setModalShow] = useState(false);\r\n const [isComplete, setIsComplete] = useState(false);\r\n const [isUserEditable, setIsUserEditable] = useState(true);\r\n const [gridData, setGridData] = useState([]);\r\n const [entityInfo, setEntityInfo] = useState(\r\n {\r\n lolaNum: null,\r\n entityName: '',\r\n licenseNumber: '',\r\n formType: \"Engineer Intern Reinstatement\",\r\n isIndividual: true,\r\n entityId: 0,\r\n applicationDate: \"\",\r\n currentSection: \"Board/Staff Recommendations\"\r\n }\r\n );\r\n const [formModel, setFormModel] = useState({\r\n reinstatementId: appId,\r\n dateCrte: null,\r\n deleted: false,\r\n entityId: entityId,\r\n additionalComments: \"\",\r\n id: 0,\r\n userCrte: \"\"\r\n })\r\n const [boardApprovalSectionId, setBoardApprovalSectionId] = useState();\r\n const [modalData, setModalData] = useState({\r\n comments: \"\",\r\n dateCrte: new Date(),\r\n dateReceived: new Date(),\r\n dateSent: new Date(),\r\n deleted: false,\r\n id: 0,\r\n userCrte: \"\",\r\n boardMemberDecision: null,\r\n boardMember: {\r\n appointmentYear: 0,\r\n credentialSuffix: \"\",\r\n expirationYear: 0,\r\n firstName: \"\",\r\n id: 0,\r\n lastName: \"\",\r\n middleName: \"\",\r\n representation: \"\",\r\n suffix: \"\"\r\n },\r\n entityId: entityId,\r\n reinstatementId: appId,\r\n boardStaffApprovalId: 0,\r\n files: [],\r\n filesForDisplay: [],\r\n filesLoading: false\r\n })\r\n\r\n useEffect(() => {\r\n eiReinstatementService.eiGetSection(appId, sectionId).then((response) => {\r\n boardApprovalService.getBoardRecommendations(appId).then((data) => {\r\n setFormModel(data.data);\r\n setModalData({ ...modalData, boardStaffApprovalId: data.data.id })\r\n updateGrid()\r\n setIsComplete(response.data.staffReviewComplete);\r\n setBoardApprovalSectionId(response.data.id);\r\n reinstatementService.getIndividualReinstatement(appId).then((appData) => {\r\n setIsUserEditable(appData.data.status.id == 2)\r\n entityService.getEntity(response.data.entityId).then((entity) => {\r\n setEntityInfo(\r\n {\r\n ...entityInfo,\r\n lolaNum: entity.data.lolaNumber,\r\n entityName: entity.data.formattedName,\r\n entityId: entity.data.entityId,\r\n licenseNumber: appData.data?.credential?.formattedLicenseNumber,\r\n applicationDate: appData.data?.dateSubmitted\r\n })\r\n setHasLoaded(true);\r\n });\r\n });\r\n })\r\n })\r\n }, [])\r\n\r\n const updateGrid = () => {\r\n boardApprovalService.getBoardResponses(appId).then((vals) => {\r\n if (vals.data?.length)\r\n setGridData(\r\n vals.data.map((value, i) => { return { ...value.boardMemberResponse, files: [...value.attachments] } }))\r\n })\r\n }\r\n const submitData = (val) => {\r\n if (val) {\r\n boardApprovalService.postBoardRecommendation(formModel).then((val) => {\r\n if (val.data) {\r\n eiReinstatementService.eiMarkSectionComplete(appId, sectionId, isComplete).then((data) => {\r\n if (data.data)\r\n Swal.fire(\"Saved!\", \"You have successfully saved.\", 'success');\r\n })\r\n }\r\n })\r\n }\r\n }\r\n\r\n const openAddEditModal = (values) => {\r\n if (values.id) {\r\n setModalData({ ...values, dateReceived: values.dateReceived != null ? dayjs(values.dateReceived).format('YYYY-MM-DD') : null, dateSent: values.dateSent != null ? dayjs(values.dateSent).format('YYYY-MM-DD') : null })\r\n }\r\n else {\r\n setModalData({\r\n comments: \"\",\r\n dateCrte: new Date(),\r\n dateReceived: null,\r\n dateSent: null,\r\n deleted: false,\r\n id: 0,\r\n userCrte: \"\",\r\n boardMemberDecision: null,\r\n boardMember: null,\r\n entityId: entityId,\r\n reinstatementId: appId,\r\n boardStaffApprovalId: formModel.id,\r\n files: [],\r\n filesForDisplay: []\r\n\r\n })\r\n }\r\n setModalShow(true);\r\n }\r\n\r\n return (\r\n
\r\n \r\n setModalShow(false)} />\r\n
setFormModel(formModel)} onSubmit={submitData}>\r\n \r\n {hasLoaded ? <>\r\n \r\n \r\n \r\n \r\n  \r\n \r\n   \r\n \r\n {isUserEditable &&\r\n \r\n }\r\n \r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default BoardApprovalPage","import React, { useEffect, useState } from 'react';\r\nimport { Card, Row, Col, Button } from 'react-bootstrap'\r\nimport { Table } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\nimport GenericPagination from '../../../Shared/Grid/GenericPagination';\r\nimport { sort_by } from '../../../Shared/HelperFunctions';\r\nimport PaymentInfoModal from '../../Shared/PaymentInfoModal';\r\n\r\n// requires gridData\r\n\r\nfunction PaymentSearchGrid(props) {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [paymentId, setPaymentId] = useState();\r\n const [show, setShow] = useState();\r\n const [sortColumn, setSortColumn] = useState(\"paymentId\");\r\n const [sortType, setSortType] = useState(\"desc\");\r\n const [gridData, setGridData] = useState([]);\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n\r\n useEffect(() => {\r\n setGridData(props.gridData)\r\n setHasLoaded(true);\r\n props.setIsSearchingCallback(false)\r\n setPage(1)\r\n }, [props.gridData])\r\n\r\n //const navigateToEntity = (rowData) => {\r\n // if (rowData.entityType.id == 1)\r\n // push(\"/internal/indCredential?entityId=\" + rowData.entityId);\r\n // else if (rowData.entityType.id == 2)\r\n // push(\"/internal/firmCredential?entityId=\" + rowData.entityId);\r\n // else\r\n // Swal.fire(\"Something went wrong\")\r\n //}\r\n\r\n const getData = () => {\r\n var sortedData = gridData.sort(sort_by(sortColumn, sortType !== \"asc\"));\r\n return sortedData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const handleSortColumn = (sortColumn, sortType) => {\r\n setSortColumn(sortColumn);\r\n setSortType(sortType);\r\n }\r\n const openModal = (paymentId) => {\r\n setPaymentId(paymentId);\r\n setShow(true);\r\n }\r\n\r\n const filteredData = getData();\r\n return (\r\n
\r\n setShow(false)} />\r\n \r\n
Search Results
\r\n \r\n {hasLoaded ?\r\n <>\r\n { handleSortColumn(sortColumn, sortType) }}\r\n sortColumn={sortColumn}\r\n sortType={sortType} >\r\n \r\n \r\n \r\n \r\n {rowData => (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n Payment ID\r\n \r\n {rowData => (rowData.paymentId)}\r\n \r\n \r\n \r\n Invoice ID\r\n \r\n {rowData => (rowData.invoiceId)}\r\n \r\n \r\n \r\n Payment Type\r\n \r\n {rowData => (rowData.paymentType)}\r\n \r\n \r\n \r\n Payment Date Created\r\n \r\n {rowData => (rowData.dateCrte ? new Date(rowData.dateCrte).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Contact\r\n \r\n {rowData => (`${rowData.formattedName} ${rowData.formattedLicenseNumber ? \"| \" + rowData.formattedLicenseNumber : \"\"} | ${rowData.lolaNumber}`)}\r\n \r\n \r\n \r\n Remitter\r\n \r\n {rowData => (rowData.remitter)}\r\n \r\n \r\n \r\n Amount\r\n \r\n {rowData => (rowData.amount ? rowData.amount.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n }) : rowData.amount == 0 ? '$0.00' : '')}\r\n \r\n \r\n \r\n Available\r\n \r\n {rowData => (rowData.availableAmount ? rowData.availableAmount.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n }) : rowData.availableAmount == 0 ? '$0.00' : '')}\r\n \r\n
\r\n \r\n : \r\n }\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\n\r\nexport default PaymentSearchGrid;","import React, { useEffect } from 'react'\r\nimport { useState } from 'react';\r\nimport BlockUi from 'react-block-ui';\r\nimport { Button, Card, Col, Row } from 'react-bootstrap';\r\nimport { ControlLabel, Form, FormControl, FormGroup, Icon, InputPicker, SelectPicker } from 'rsuite';\r\nimport paymentService from '../../../../services/Internal/Revenue/payment.service';\r\nimport { getContacts, getPaymentTypes } from '../../../../services/Shared/codeTable.service';\r\nimport CurrencyMask from '../../../Shared/GenericComponents/CurrencyMask';\r\nimport PaymentSearchGrid from './PaymentSearchGrid'\r\n\r\nfunction PaymentSearchPage() {\r\n const [isSearching, setIsSearching] = useState(false);\r\n const [contactLoading, setContactLoading] = useState(false);\r\n const [paymentType, setPaymentType] = useState([]);\r\n const [contacts, setContacts] = useState();\r\n const [gridData, setGridData] = useState([]);\r\n const [searchModel, setSearchModel] = useState({\r\n paymentId: '',\r\n paymentType: null,\r\n paymentStartDate: '',\r\n paymentEndDate: '',\r\n checkNumber: '',\r\n contact: null,\r\n amountMin: '',\r\n amountMax: '',\r\n })\r\n\r\n useEffect(() => {\r\n getPaymentTypes().then(setPaymentType);\r\n }, [])\r\n\r\n const updateContacts = (value) => {\r\n if (value.length > 2) {\r\n getContacts(value).then((response) => {\r\n setContactLoading(true);\r\n setContacts(response);\r\n setContactLoading(false);\r\n });\r\n }\r\n else {\r\n setContacts([]);\r\n }\r\n }\r\n\r\n const clearSearchModel = () => {\r\n setSearchModel({\r\n paymentId: '',\r\n paymentType: null,\r\n paymentStartDate: '',\r\n paymentEndDate: '',\r\n checkNumber: '',\r\n contact: '',\r\n amountMin: '',\r\n amountMax: ''\r\n })\r\n }\r\n const submitSearch = () => {\r\n setIsSearching(true)\r\n var dataToTransmit = {\r\n paymentId: searchModel.paymentId == '' ? null : searchModel.paymentId,\r\n paymentType: searchModel.paymentType?.paymentType ?? null,\r\n dateCrteBegin: searchModel.paymentStartDate ? new Date(searchModel.paymentStartDate) : null,\r\n dateCrteEnd: searchModel.paymentEndDate ? new Date(searchModel.paymentEndDate) : null,\r\n authorizationNumber: searchModel.checkNumber ? searchModel.checkNumber : null,\r\n contactEntityId: searchModel.contact?.entityId ?? null,\r\n amountMin: searchModel.amountMin == '' ? null : searchModel.amountMin,\r\n amountMax: searchModel.amountMax == '' ? null : searchModel.amountMax\r\n }\r\n paymentService.searchPayments(dataToTransmit).then((response) => {\r\n if (response.data) {\r\n setGridData(response.data);\r\n }\r\n\r\n }).then(() => {\r\n setIsSearching(false);\r\n })\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n
\r\n Payment Search\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n Payment ID\r\n \r\n \r\n \r\n \r\n \r\n Payment Type\r\n \r\n \r\n \r\n \r\n \r\n Payment Date Created\r\n \r\n \r\n \r\n to\r\n \r\n  \r\n \r\n \r\n \r\n Check#/CC Auth Number\r\n \r\n \r\n \r\n \r\n \r\n \r\n Contact\r\n {\r\n if (contactLoading) {\r\n return (\r\n

\r\n Loading...\r\n

\r\n );\r\n }\r\n return menu;\r\n }}\r\n renderMenuItem={(label, item) => {\r\n return (\r\n <>\r\n {`${item.value.formattedName} ${item.value.formattedLicenseNumber ? \"| \" + item.value.formattedLicenseNumber : \"\"} | ${item.value.lolanumber}`}\r\n \r\n );\r\n }}\r\n renderValue={(value, item, selectedElement) => {\r\n return (\r\n <>\r\n {item ? `${item.value.formattedName} ${item.value.formattedLicenseNumber ? \"| \" + item.value.formattedLicenseNumber : \"\"} | ${item.value.lolanumber} ` : 'Find a Contact (Min 3 characters)'}\r\n \r\n );\r\n }}\r\n />\r\n
\r\n \r\n \r\n \r\n Amount Range\r\n \r\n \r\n \r\n to\r\n \r\n  \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n )\r\n}\r\n\r\nexport default PaymentSearchPage;","import axios from \"axios\";\r\nimport authHeader from '../../authheader.js'\r\n\r\nconst BATCHURL = process.env.REACT_APP_APIURL + \"/api/Batch\";\r\nconst BATCHSEARCHURL = process.env.REACT_APP_APIURL + \"/api/BatchSearch\";\r\n\r\nconst getBatchInfo = async (id) => {\r\n return axios.get(`${BATCHURL}/batch`, { headers: authHeader(), params: { id } });;\r\n}\r\nconst createBatch = async () => {\r\n return axios.post(`${BATCHURL}/createbatch`,null, { headers: authHeader() });;\r\n}\r\nconst checkBatchOpened = async () => {\r\n return axios.get(`${BATCHURL}/userhasopenbatch`, { headers: authHeader() });;\r\n}\r\nconst hasOpenedBatchForDay = async () => {\r\n return axios.get(`${BATCHURL}/userhasbatchfortoday`, { headers: authHeader() });;\r\n}\r\nconst closeBatch = async (id) => {\r\n return axios.post(`${BATCHURL}/closebatch`, null, { headers: authHeader(), params: { id } });;\r\n}\r\nconst openBatch = async (id) => {\r\n return axios.post(`${BATCHURL}/openbatch`, null, { headers: authHeader(), params: { id } });;\r\n}\r\n\r\nconst searchBatch = async (data) => {\r\n return axios.post(`${BATCHSEARCHURL}`, data, { headers: authHeader() });;\r\n}\r\n\r\nexport default {\r\n getBatchInfo,\r\n createBatch,\r\n checkBatchOpened,\r\n hasOpenedBatchForDay,\r\n searchBatch,\r\n closeBatch,\r\n openBatch\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Card, Row, Col, Button } from 'react-bootstrap'\r\nimport BlockUi from 'react-block-ui';\r\nimport { ControlLabel, Form, Icon, Table, FormControl, FormGroup, SelectPicker } from 'rsuite';\r\nimport GenericPagination from '../../Shared/Grid/GenericPagination';\r\nimport LoadingSpinner from '../../Shared/GenericComponents/LoadingSpinner';\r\nimport batchService from '../../../services/Internal/Revenue/batch.service';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { getBatchStatusType } from '../../../services/Shared/codeTable.service';\r\nimport entityService from '../../../services/Internal/Staff/entity.service';\r\nimport { useSelector } from 'react-redux';\r\nimport { sort_by } from '../../Shared/HelperFunctions';\r\n\r\nfunction BatchSearchPage() {\r\n const [isSearching, setIsSearching] = useState(false);\r\n const [statusType, setStatusType] = useState([]);\r\n const [employeeList, setEmployeeList] = useState([]);\r\n const [searchModel, setSearchModel] = useState({\r\n beginDate: '',\r\n endDate: '',\r\n batchId: '',\r\n user: '',\r\n status: 'Open'\r\n })\r\n const formattedName = useSelector(x => x.userInfo.FormattedName);\r\n const [searchResults, setSearchResults] = useState([]);\r\n const { push } = useHistory();\r\n useEffect(() => {\r\n getBatchStatusType().then(setStatusType);\r\n entityService.plsGetStaffAndAdmin(false).then((response) => {\r\n var staffList = response.data.map(\r\n employee => {\r\n return { \"label\": `${employee.formattedName}`, \"value\": `${employee.formattedName}` }\r\n }).filter((item, index, self) =>\r\n index === self.findIndex((i) => (\r\n i.value === item.value\r\n ))\r\n );\r\n setEmployeeList(staffList);\r\n });\r\n // Initial search\r\n batchService.searchBatch({\r\n beginDate: null,\r\n endDate: null,\r\n batchId: null,\r\n user: null,\r\n status: 'Open'\r\n }).then((response) => {\r\n if (response.data.length > 0)\r\n setSearchResults(response.data);\r\n setHasLoaded(true);\r\n });\r\n }, [])\r\n\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sortColumn, setSortColumn] = useState(\"batchDate\");\r\n const [sortType, setSortType] = useState(\"desc\");\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n const clearSearchModel = () => {\r\n setSearchModel({\r\n beginDate: '',\r\n endDate: '',\r\n batchId: '',\r\n user: '',\r\n status: 'Open'\r\n })\r\n }\r\n const submitSearch = () => {\r\n var dataToTransmit = {\r\n beginDate: searchModel.beginDate ? searchModel.beginDate : null,\r\n endDate: searchModel.endDate ? searchModel.endDate : null,\r\n batchId: searchModel.batchId > 0 ? searchModel.batchId : null,\r\n user: searchModel.user ? searchModel.user : null,\r\n status: searchModel.status\r\n };\r\n setHasLoaded(false);\r\n batchService.searchBatch(dataToTransmit).then((response) => {\r\n setSearchResults(response.data);\r\n setHasLoaded(true);\r\n });\r\n }\r\n\r\n const getData = () => {\r\n var sortedData = searchResults.sort(sort_by(sortColumn, sortType !== \"asc\"));\r\n return sortedData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const filteredData = getData();\r\n const handleSortColumn = (sortColumn, sortType) => {\r\n setSortColumn(sortColumn);\r\n setSortType(sortType);\r\n }\r\n return (\r\n <>\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n Batch Date Range\r\n \r\n \r\n \r\n to\r\n \r\n  \r\n \r\n \r\n \r\n \r\n Batch ID\r\n \r\n \r\n \r\n \r\n \r\n User\r\n \r\n \r\n \r\n \r\n Status\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
Search Results
\r\n
\r\n \r\n
\r\n {hasLoaded ?\r\n <>\r\n { handleSortColumn(sortColumn, sortType) }}\r\n sortColumn={sortColumn}\r\n sortType={sortType}\r\n wordWrap autoHeight data={filteredData}>\r\n \r\n \r\n Action(s)\r\n \r\n \r\n {rowData => {\r\n function viewBatch() {\r\n push(\"/internal/revenue/createbatch?batchId=\" + rowData.id);\r\n }\r\n return (\r\n (rowData.batchStatus == \"Closed\" || (rowData.batchOwnerName == formattedName)) && \r\n )\r\n }}\r\n \r\n \r\n \r\n \r\n Batch Date\r\n \r\n {rowData => (rowData.batchDate ? new Date(rowData.batchDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Batch ID\r\n \r\n {rowData => (rowData.id)}\r\n \r\n \r\n \r\n User\r\n \r\n {rowData => (rowData.batchOwnerName)}\r\n \r\n \r\n \r\n Item Count\r\n \r\n {rowData => (rowData.batchItemCount)}\r\n \r\n \r\n \r\n Amount\r\n \r\n {rowData => (rowData.batchAmount.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n }))}\r\n \r\n \r\n \r\n Status\r\n \r\n {rowData => (rowData.batchStatus)}\r\n \r\n \r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\n\r\nexport default BatchSearchPage;","import React, { useState, useEffect } from 'react';\r\nimport { Button, Col, Modal, Row } from 'react-bootstrap';\r\nimport NumberFormat from 'react-number-format';\r\nimport { ControlLabel, Form, FormGroup, Schema, SelectPicker, FormControl, InputPicker, Icon } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport paymentService from '../../../../services/Internal/Revenue/payment.service';\r\nimport { getContacts, getPaymentTypes } from '../../../../services/Shared/codeTable.service';\r\nimport CurrencyMask from '../../../Shared/GenericComponents/CurrencyMask';\r\nimport RedStar from '../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction AddPaymentModal(props) {\r\n const [addPaymentTypes, setAddPaymentTypes] = useState([]);\r\n const [contactLoading, setContactLoading] = useState(false);\r\n const [contacts, setContacts] = useState();\r\n const [paymentModel, setPaymentModel] = useState({\r\n entityId: '',\r\n paymentType: null,\r\n amount: '',\r\n nicAuthCode: '',\r\n remitter: '',\r\n entityDetails: null,\r\n comments: '',\r\n batchId: props.batchId\r\n });\r\n\r\n useEffect(() => {\r\n getPaymentTypes().then(setAddPaymentTypes);\r\n }, [])\r\n const formSubmit = (validation, event) => {\r\n if (validation) {\r\n var dataToTransmit = {\r\n ...paymentModel,\r\n entityId: paymentModel.entityDetails.entityId,\r\n availableAmount: paymentModel.amount\r\n }\r\n delete dataToTransmit.entityDetails;\r\n paymentService.createPayment(dataToTransmit).then(response => {\r\n if (response.data.id) {\r\n props.updateGrid();\r\n props.onHide();\r\n }\r\n else {\r\n Swal.fire(\"Error!\", \"Failed to create payment\", \"error\");\r\n }\r\n })\r\n }\r\n }\r\n const { StringType, ObjectType, NumberType } = Schema.Types;\r\n const model = Schema.Model({\r\n paymentType: ObjectType().isRequired('This field is required.'),\r\n amount: NumberType().isRequired('This field is required.').min(0.01, 'Payment amount must be greater than 0.'),\r\n nicAuthCode: StringType().isRequired('This field is required.'),\r\n remitter: StringType().isRequired('This field is required.'),\r\n entityDetails: ObjectType().isRequired('This field is required.')\r\n })\r\n\r\n const updateContacts = (value) => {\r\n if (value) {\r\n setContactLoading(true);\r\n getContacts(value).then((response) => {\r\n setContacts(response);\r\n setContactLoading(false);\r\n });\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n Payment\r\n \r\n \r\n \r\n
setPaymentModel(paymentModel)} onSubmit={formSubmit}>\r\n \r\n \r\n \r\n \r\n \r\n Payment Type \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Amount \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Check#/CC Auth Number \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Remitter \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Contact \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n if (contactLoading) {\r\n return (\r\n

\r\n Loading...\r\n

\r\n );\r\n }\r\n return menu;\r\n }}\r\n renderMenuItem={(label, item) => {\r\n return (\r\n <>\r\n {`${item.value.formattedName} | ${item.value.lolanumber} ${item.value.formattedLicenseNumber ? \"| \" + item.value.formattedLicenseNumber : \"\"}`}\r\n \r\n );\r\n }}\r\n renderValue={(value, item, selectedElement) => {\r\n return (\r\n <>\r\n {item ? `${item.value.formattedName} | ${item.value.lolanumber} ${item.value.formattedLicenseNumber ? \"| \" + item.value.formattedLicenseNumber : \"\"}` : 'Find a Contact (Min 3 characters)'}\r\n \r\n );\r\n }}\r\n />\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Comments \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default AddPaymentModal;","import React, { useState, useEffect } from 'react';\r\nimport { Card, Row, Col, Button, Tabs, Tab, Badge } from 'react-bootstrap'\r\nimport { ControlLabel, Form, Icon, Table } from 'rsuite';\r\nimport GenericPagination from '../../../Shared/Grid/GenericPagination';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\nimport * as dayjs from 'dayjs';\r\nimport Swal from 'sweetalert2';\r\nimport batchService from '../../../../services/Internal/Revenue/batch.service';\r\nimport AddPaymentModal from './AddPaymentModal';\r\nimport PaymentInfoModal from '../../Shared/PaymentInfoModal';\r\nimport paymentService from '../../../../services/Internal/Revenue/payment.service';\r\n\r\nfunction CreateBatchPage() {\r\n const [batchInfo, setBatchInfo] = useState({\r\n batchId: '',\r\n batchDate: '',\r\n batchItemCount: '',\r\n batchAmount: '',\r\n lastOpenedBy: '',\r\n batchStatus: ''\r\n })\r\n const [paymentData, setPaymentData] = useState([]);\r\n const [batchActionShow, setBatchActionShow] = useState(false);\r\n useEffect(() => {\r\n refreshGrid();\r\n }, [])\r\n\r\n function closeBatch() {\r\n batchService.closeBatch(batchInfo.batchId).then((response) =>\r\n {\r\n if (response.data.batchStatus.batchStatus == \"Closed\") {\r\n setBatchInfo({ ...batchInfo, batchStatus: \"Closed\" });\r\n setBatchActionShow(true);\r\n }\r\n else {\r\n Swal.fire(\"Error!\", \"Failed to close batch.\", \"error\")\r\n }\r\n })\r\n }\r\n\r\n function openBatch() {\r\n batchService.openBatch(batchInfo.batchId).then((response) => {\r\n if (response.data.batchStatus.batchStatus == \"Open\") {\r\n setBatchInfo({ ...batchInfo, batchStatus: \"Open\", lastOpenedBy: response.data.batchOwnerName });\r\n }\r\n else {\r\n Swal.fire(\"Error!\", \"Failed to open batch.\", \"error\")\r\n }\r\n })\r\n }\r\n\r\n function refreshGrid() {\r\n const urlSearchParams = new URLSearchParams(window.location.search);\r\n const params = Object.fromEntries(urlSearchParams.entries());\r\n batchService.getBatchInfo(params.batchId).then((response) => {\r\n if (response.data) {\r\n setBatchInfo({\r\n batchId: response.data.id,\r\n batchDate: response.data.batchDate,\r\n batchItemCount: response.data.batchItemCount,\r\n batchAmount: response.data.batchAmount.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n }),\r\n lastOpenedBy: response.data.batchOwnerName,\r\n batchStatus: response.data.batchStatus.batchStatus\r\n })\r\n setPaymentData(response.data.payments);\r\n }\r\n setHasLoaded(true);\r\n });\r\n batchService.checkBatchOpened().then((response) => {\r\n if (!response.data)\r\n setBatchActionShow(true);\r\n });\r\n }\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [modalShow, setModalShow] = useState(false);\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n const [show, setShow] = useState(false);\r\n const [paymentId, setPaymentId] = useState();\r\n\r\n const getData = () => {\r\n return paymentData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const filteredData = getData();\r\n\r\n return (\r\n <>\r\n \r\n \r\n {hasLoaded &&\r\n \r\n \r\n Batch ID\r\n
\r\n
{batchInfo.batchId}
\r\n \r\n \r\n Batch Date\r\n
\r\n
{new Date(batchInfo.batchDate).toLocaleDateString()}
\r\n \r\n \r\n Batch Item Count\r\n
\r\n
{batchInfo.batchItemCount}
\r\n \r\n \r\n Batch Amount\r\n
\r\n
{batchInfo.batchAmount}
\r\n \r\n \r\n Last Opened By\r\n
\r\n
{batchInfo.lastOpenedBy}
\r\n \r\n
\r\n }\r\n
\r\n
\r\n\r\n \r\n \r\n
Batch\r\n {\r\n batchInfo.batchStatus == \"Open\" &&\r\n \r\n }\r\n
\r\n
\r\n \r\n {\r\n modalShow &&\r\n setModalShow(false)} updateGrid={() => { refreshGrid() }} batchId={batchInfo.batchId} />\r\n }\r\n {setShow(false); refreshGrid();}} />\r\n
\r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n Action(s)\r\n \r\n \r\n {rowData => {\r\n function viewPayment() {\r\n setPaymentId(rowData.id);\r\n setShow(true);\r\n }\r\n return (\r\n <>\r\n \r\n \r\n )\r\n }}\r\n \r\n \r\n \r\n \r\n Payment ID\r\n \r\n {rowData => (rowData.id)}\r\n \r\n \r\n \r\n Payment Type\r\n \r\n {rowData => (rowData.paymentType.paymentType)}\r\n \r\n \r\n \r\n Contact\r\n \r\n {rowData => (rowData.entityDetails)}\r\n \r\n \r\n \r\n Remitter\r\n \r\n {rowData => (rowData.remitter)}\r\n \r\n \r\n \r\n Amount\r\n \r\n {rowData => (rowData.amount.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n }))}\r\n \r\n \r\n \r\n Available\r\n \r\n {rowData => (rowData.availableAmount.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n }))}\r\n \r\n \r\n \r\n \r\n \r\n {rowData => {\r\n function deletePayment() {\r\n Swal.fire({\r\n title: 'Are you sure you want to delete this payment?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n paymentService.deletePayment(rowData.id).then((response) => {\r\n refreshGrid();\r\n });\r\n }\r\n })\r\n }\r\n return (\r\n (batchInfo.batchStatus == \"Open\" && rowData.amount == rowData.availableAmount) && \r\n <>\r\n \r\n \r\n )\r\n }}\r\n \r\n \r\n
\r\n \r\n
\r\n {\r\n batchInfo.batchStatus == \"Open\" ?\r\n \r\n :\r\n batchActionShow && < span > \r\n }\r\n \r\n : \r\n }\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\n\r\nexport default CreateBatchPage;","import React, { useState, useEffect, useRef } from 'react';\r\nimport { Card, Row, Col, Button } from 'react-bootstrap'\r\nimport BlockUi from 'react-block-ui';\r\nimport { ControlLabel, Form, Table, FormControl, FormGroup } from 'rsuite';\r\nimport GenericPagination from '../../Shared/Grid/GenericPagination';\r\nimport LoadingSpinner from '../../Shared/GenericComponents/LoadingSpinner';\r\nimport paymentService from '../../../services/Internal/Revenue/payment.service';\r\nimport ReactToPrint from 'react-to-print';\r\nimport { FaPrint } from 'react-icons/fa';\r\n\r\nfunction DailyRefundSearchPage() {\r\n const [isSearching, setIsSearching] = useState(false);\r\n const [printLoading, setPrintLoading] = useState(false);\r\n const componentRef = useRef();\r\n const [searchModel, setSearchModel] = useState({\r\n beginDate: '',\r\n endDate: ''\r\n })\r\n const [searchResults, setSearchResults] = useState([]);\r\n useEffect(() => {\r\n // Initial search\r\n refreshGrid()\r\n refreshGrid()\r\n }, [])\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n const clearSearchModel = () => {\r\n setSearchModel({\r\n beginDate: '',\r\n endDate: '',\r\n })\r\n }\r\n const refreshGrid = (beginDate, endDate) => {\r\n setIsSearching(true);\r\n paymentService.searchDailyRefunds(beginDate, endDate).then((response) => {\r\n setSearchResults(response.data.data);\r\n }).finally(() => {\r\n setHasLoaded(true);\r\n setIsSearching(false);\r\n })\r\n }\r\n const submitSearch = () => {\r\n refreshGrid(searchModel.beginDate ? searchModel.beginDate : null, searchModel.endDate ? searchModel.endDate : null);\r\n }\r\n const getData = () => {\r\n return searchResults.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const filteredData = getData();\r\n let totalAmount = searchResults.reduce(function (total, currentValue) {\r\n return total + currentValue.refundAmount;\r\n }, 0)\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n Date Range\r\n \r\n \r\n \r\n to\r\n \r\n  \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n Payment ID\r\n \r\n {rowData => (rowData.paymentId)}\r\n \r\n \r\n \r\n Payment Date\r\n \r\n {rowData => (rowData.paymentDate ? new Date(rowData.paymentDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Payment Type\r\n \r\n {rowData => (rowData.paymentType)}\r\n \r\n \r\n \r\n Chec#/CC Auth Number\r\n \r\n {rowData => (rowData.authorizationNumber)}\r\n \r\n \r\n \r\n GL Account\r\n \r\n {rowData => {\r\n return (<>\r\n {rowData.glCodes.map((item, i) => {\r\n return (\r\n <>\r\n {item}
\r\n \r\n )\r\n })}\r\n \r\n )\r\n }}
\r\n
\r\n \r\n \r\n LOLA #\r\n \r\n {rowData => (rowData.paymentLolaNumber)}\r\n \r\n \r\n \r\n Mailing Address\r\n \r\n {rowData => (<>

{rowData.paymentFormattedName}

{rowData.address}

{rowData.city}, {rowData.stateCode}

)}
\r\n
\r\n \r\n \r\n Refund Date\r\n \r\n {rowData => (rowData.refundDate ? new Date(rowData.refundDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Refund Amount\r\n \r\n {rowData => (rowData.refundAmount.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n }))}\r\n \r\n \r\n \r\n Reason\r\n \r\n {rowData => (rowData.refundReason)}\r\n \r\n \r\n \r\n User\r\n \r\n {rowData => (rowData.refundUserFormattedName)}\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n ()}\r\n content={() => componentRef.current}\r\n onBeforeGetContent={() => { setPrintLoading(true) }}\r\n onAfterPrint={() => { setPrintLoading(false) }}\r\n />\r\n \r\n

Total: {totalAmount.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n })}

\r\n \r\n
\r\n \r\n : \r\n }\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\n\r\nexport default DailyRefundSearchPage;","import React, { useState, useEffect, useRef } from 'react';\r\nimport { Card, Row, Col, Button } from 'react-bootstrap'\r\nimport BlockUi from 'react-block-ui';\r\nimport { ControlLabel, Form, Table, FormControl, FormGroup, InputPicker, Icon } from 'rsuite';\r\nimport GenericPagination from '../../Shared/Grid/GenericPagination';\r\nimport LoadingSpinner from '../../Shared/GenericComponents/LoadingSpinner';\r\nimport paymentService from '../../../services/Internal/Revenue/payment.service';\r\nimport ReactToPrint from 'react-to-print';\r\nimport { FaPrint } from 'react-icons/fa';\r\nimport { sort_by } from '../../Shared/HelperFunctions';\r\nimport { getContacts } from '../../../services/Shared/codeTable.service';\r\n\r\nfunction DailyPaymentsByAccountPage() {\r\n const [isSearching, setIsSearching] = useState(false);\r\n const [isDownloading, setIsDownloading] = useState(false);\r\n const [pdfData, setPdfData] = useState({\r\n beginDate: '',\r\n endDate: '',\r\n contact: '',\r\n data: null,\r\n summary: null\r\n });\r\n const [searchModel, setSearchModel] = useState({\r\n beginDate: '',\r\n endDate: '',\r\n contact: ''\r\n })\r\n const [searchResults, setSearchResults] = useState([]);\r\n const [searchResultSummary, setSearchResultsSummary] = useState([]);\r\n useEffect(() => {\r\n // Initial search\r\n refreshGrid({\r\n beginDate: null,\r\n endDate: null,\r\n contact: null\r\n })\r\n }, [])\r\n const [contactLoading, setContactLoading] = useState(false);\r\n const [contacts, setContacts] = useState();\r\n const updateContacts = (value) => {\r\n if (value.length > 2) {\r\n getContacts(value).then((response) => {\r\n setContactLoading(true);\r\n setContacts(response);\r\n setContactLoading(false);\r\n });\r\n }\r\n else {\r\n setContacts([]);\r\n }\r\n }\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n const [sortColumn, setSortColumn] = useState(\"generalLedgerId\");\r\n const [sortType, setSortType] = useState(\"asc\");\r\n const clearSearchModel = () => {\r\n setSearchModel({\r\n beginDate: '',\r\n endDate: '',\r\n contact: ''\r\n })\r\n }\r\n const refreshGrid = (beginDate, endDate, contact) => {\r\n setIsSearching(true);\r\n paymentService.searchPaymentsByAccount(beginDate, endDate, contact?.entityId).then((response) => {\r\n setSearchResults(response.data.data);\r\n setPdfData({ ...response.data, contactEntityName: contact ? `${contact.formattedName} ${contact.formattedLicenseNumber ? \"| \" + contact.formattedLicenseNumber : \"\"} | ${contact.lolanumber}` : null });\r\n\r\n var tempSummary = response.data.summary;\r\n var grandTotalAmount = 0;\r\n var grandTotalItems = 0;\r\n for (var i = 0; i < response.data.summary.length; i++) {\r\n grandTotalAmount += response.data.summary[i].totalAmount;\r\n grandTotalItems += response.data.summary[i].itemsCount;\r\n }\r\n if (tempSummary.length > 0) {\r\n tempSummary = tempSummary.sort(sort_by('generalLedgerId',false))\r\n tempSummary.push({\r\n generalLedgerId: null,\r\n generalLedgerDescription: null,\r\n totalAmount: grandTotalAmount,\r\n itemsCount: grandTotalItems\r\n })\r\n }\r\n setSearchResultsSummary(tempSummary);\r\n }).finally(() => {\r\n setHasLoaded(true);\r\n setIsSearching(false);\r\n })\r\n }\r\n const submitSearch = () => {\r\n refreshGrid(searchModel.beginDate ? searchModel.beginDate : null, searchModel.endDate ? searchModel.endDate : null, searchModel.contact);\r\n }\r\n const downloadPdf = () => {\r\n setIsDownloading(true);\r\n var temp = pdfData.data.map((item, index) => {\r\n return {\r\n generalLedgerId: item.generalLedgerId,\r\n generalLedgerDescription: item.generalLedgerDescription,\r\n paymentId: item.paymentId,\r\n paymentType: item.paymentType,\r\n paymentAllocationAmount: item.paymentAllocationAmount,\r\n paymentFormattedName: item.paymentFormattedName,\r\n paymentEntityId: item.paymentEntityId,\r\n paymentLolaNumber: item.paymentLolaNumber,\r\n batchOwnerName: item.batchOwnerName,\r\n paymentAllocationDate: new Date(item.paymentAllocationDate)\r\n };\r\n })\r\n var dataToTransmit = {\r\n beginDate: pdfData.beginDate ? new Date(pdfData.beginDate) : null,\r\n endDate: pdfData.endDate ? new Date(pdfData.endDate) : null,\r\n contactEntityName: pdfData.contactEntityName,\r\n summary: [],\r\n data: temp\r\n }\r\n paymentService.downloadPaymentSummary(dataToTransmit).then((response) => {\r\n setIsDownloading(false);\r\n });\r\n }\r\n\r\n const getData = () => {\r\n var sortedData = searchResults.sort(sort_by(sortColumn, sortType !== \"asc\"));\r\n return sortedData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const handleSortColumn = (sortColumn, sortType) => {\r\n setSortColumn(sortColumn);\r\n setSortType(sortType);\r\n }\r\n const filteredData = getData();\r\n\r\n return (\r\n <>\r\n \r\n \r\n Daily Payments By Account\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n Date Range\r\n \r\n \r\n \r\n to\r\n \r\n  \r\n \r\n \r\n \r\n \r\n \r\n \r\n Contact\r\n {\r\n if (contactLoading) {\r\n return (\r\n

\r\n Loading...\r\n

\r\n );\r\n }\r\n return menu;\r\n }}\r\n renderMenuItem={(label, item) => {\r\n return (\r\n <>\r\n {`${item.value.formattedName} ${item.value.formattedLicenseNumber ? \"| \" + item.value.formattedLicenseNumber : \"\"} | ${item.value.lolanumber}`}\r\n \r\n );\r\n }}\r\n renderValue={(value, item, selectedElement) => {\r\n return (\r\n <>\r\n {item ? `${item.value.formattedName} ${item.value.formattedLicenseNumber ? \"| \" + item.value.formattedLicenseNumber : \"\"} | ${item.value.lolanumber}` : 'Find a Contact (Min 3 characters)'}\r\n \r\n );\r\n }}\r\n />\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n Daily Payments By Account Summary\r\n \r\n \r\n
\r\n {hasLoaded ?\r\n <>\r\n
\r\n \r\n \r\n \r\n GL Account\r\n \r\n {rowData => {\r\n if (rowData.generalLedgerDescription || rowData.generalLedgerId) {\r\n return (`${rowData.generalLedgerId} - ${rowData.generalLedgerDescription}`)\r\n }\r\n else return Grand Total\r\n }}\r\n \r\n \r\n \r\n \r\n Total Items\r\n \r\n {rowData => {\r\n if (rowData.generalLedgerDescription || rowData.generalLedgerId) {\r\n return (`${rowData.itemsCount}`)\r\n }\r\n else return {rowData.itemsCount}\r\n }}\r\n \r\n \r\n \r\n Total Amount\r\n \r\n {rowData => {\r\n if (rowData.generalLedgerDescription || rowData.generalLedgerId) {\r\n return (rowData.totalAmount ? rowData.totalAmount.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n }) : rowData.totalAmount == 0 ? '$0.00' : '')\r\n }\r\n else return {rowData.totalAmount.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n })}\r\n\r\n }}\r\n \r\n \r\n
\r\n
\r\n { handleSortColumn(sortColumn, sortType) }}\r\n sortColumn={sortColumn}\r\n sortType={sortType}>\r\n \r\n \r\n GL Account\r\n \r\n {rowData => (`${rowData.generalLedgerId} - ${rowData.generalLedgerDescription}`)}\r\n \r\n \r\n \r\n Payment Type\r\n \r\n {rowData => (rowData.paymentType)}\r\n \r\n \r\n \r\n Payment ID\r\n \r\n {rowData => (rowData.paymentId)}\r\n \r\n \r\n \r\n Amount\r\n \r\n {rowData => (rowData.paymentAllocationAmount ? rowData.paymentAllocationAmount.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n }) : rowData.paymentAllocationAmount == 0 ? '$0.00' : '')}\r\n \r\n \r\n \r\n Contact\r\n \r\n {rowData => (rowData.paymentFormattedName)}\r\n \r\n \r\n \r\n User\r\n \r\n {rowData => (rowData.batchOwnerName)}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\n\r\nexport default DailyPaymentsByAccountPage;","import React from 'react'\r\nimport { useState } from 'react';\r\nimport { Button, Modal } from 'react-bootstrap';\r\nimport { ControlLabel, Form, FormControl, FormGroup, Schema, InputPicker } from 'rsuite';\r\nimport paymentService from '../../../../services/Internal/Revenue/payment.service';\r\nimport { getFeeDefinitions } from '../../../../services/Shared/codeTable.service';\r\nimport invoiceService from '../../../../services/Shared/invoice.service';\r\nimport CurrencyMask from '../../../Shared/GenericComponents/CurrencyMask';\r\nimport RedStar from '../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction AddLineItem({ show, onHide, entityId, invoiceId }) {\r\n const [lineItemModel, setLineItemModel] = useState({\r\n feeDefinition: null,\r\n amount: 0\r\n });\r\n const [feeDefinitions, setFeeDefinitions] = useState();\r\n\r\n const { NumberType, ObjectType } = Schema.Types;\r\n const model = Schema.Model({\r\n feeDefinition: ObjectType().isRequired('This field is required.'),\r\n amount: NumberType().isRequired('This field is required.').min(.01, \"Please enter an amount greater than 0\"),\r\n })\r\n\r\n useState(() => {\r\n getFeeDefinitions().then(setFeeDefinitions);\r\n }, [])\r\n\r\n\r\n const onFeeDefinitionSelect = (value) => {\r\n setLineItemModel({ feeDefinition: { ...value }, amount: value.amount })\r\n }\r\n const formSubmit = (validation, event) => {\r\n if (validation) {\r\n var dataToTransmit = {\r\n amount: lineItemModel.amount,\r\n entityId: entityId,\r\n feeDefinition: lineItemModel.feeDefinition,\r\n invoiceId: invoiceId,\r\n parentId: entityId\r\n }\r\n invoiceService.addLineItem(dataToTransmit).then((responsse) => {\r\n if (responsse.data) {\r\n onHide(true);\r\n }\r\n })\r\n }\r\n }\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n Add Line Item\r\n \r\n \r\n \r\n
setLineItemModel(values)}\r\n onSubmit={formSubmit}>\r\n \r\n \r\n \r\n GL Account \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Amount \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default AddLineItem;","import React, { useState, useEffect } from 'react'\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Button, Card, Col, Row } from 'react-bootstrap'\r\nimport { Icon, Table } from 'rsuite';\r\nimport Swal from 'sweetalert2'\r\nimport paymentService from '../../../../services/Internal/Revenue/payment.service';\r\nimport invoiceService from '../../../../services/Shared/invoice.service';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner'\r\nimport AddLineItem from './AddLineItem';\r\n\r\nfunction InvoicePage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [modalShow, setModalShow] = useState(false);\r\n const [currentInvoiceId, setCurrentInvoiceId] = useState();\r\n const [payments, setPayments] = useState([])\r\n const [invoice, setInvoice] = useState();\r\n const { push } = useHistory();\r\n useEffect(() => {\r\n const urlSearchParams = new URLSearchParams(window.location.search);\r\n const params = Object.fromEntries(urlSearchParams.entries());\r\n var invoiceId = params.invoiceId;\r\n if (invoiceId) {\r\n setCurrentInvoiceId(invoiceId);\r\n reloadInvoice(invoiceId);\r\n }\r\n }, [])\r\n const reloadPayments = (invoiceId) => {\r\n paymentService.getPaymentsForInvoice(invoiceId).then((response) => {\r\n if (response.data) {\r\n setPayments(response.data);\r\n setHasLoaded(true);\r\n }\r\n })\r\n }\r\n const reloadInvoice = (invoiceId) => {\r\n setHasLoaded(false);\r\n invoiceService.getInvoice(invoiceId).then((response) => {\r\n if (response.data) {\r\n setInvoice(response.data);\r\n reloadPayments(invoiceId);\r\n }\r\n })\r\n }\r\n const deleteInvoice = () => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"This will delete the invoice and associated line items!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n invoiceService.deleteInvoice(invoice.id).then((response) => {\r\n if (response.data)\r\n {\r\n push(\"/internal/revenue/invoicesearch\");\r\n }\r\n });\r\n }\r\n })\r\n }\r\n return (\r\n <>\r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n { if (shouldReload) { reloadInvoice(invoice.id); } setModalShow(false); }} invoiceId={invoice.id} entityId={invoice.entityId} />\r\n \r\n \r\n Invoice ID\r\n
\r\n
{invoice.id}
\r\n \r\n \r\n Contact\r\n
\r\n
{invoice.entityDetails}
\r\n \r\n \r\n Invoice Date\r\n
\r\n
{new Date(invoice.dateCrte).toLocaleDateString()}
\r\n \r\n \r\n Paid Date\r\n
\r\n
{invoice.datePaid ? new Date(invoice.datePaid).toLocaleDateString() : ''}
\r\n \r\n \r\n Invoice Amount\r\n
\r\n
{invoice.totalAmount.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n })}
\r\n \r\n \r\n Balance\r\n
\r\n
{invoice.balance.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n })}
\r\n \r\n \r\n User\r\n
\r\n
{invoice.userName}
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n  \r\n \r\n \r\n \r\n \r\n \r\n \r\n GL Account\r\n \r\n {rowData => (rowData.feeDefinition.feeDefinitionDescription)}\r\n \r\n\r\n \r\n \r\n Amount Due\r\n \r\n {rowData => (rowData.amount.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n }))}\r\n \r\n\r\n \r\n \r\n \r\n \r\n {rowData => {\r\n function handleDelete() {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n invoiceService.deleteLineItem(rowData.id).then((response) => {\r\n if (response.data)\r\n reloadInvoice(invoice.id);\r\n else\r\n Swal.fire(\"Error\", \"Failed to delete line item\", \"error\");\r\n });\r\n }\r\n })\r\n }\r\n return ((invoice.totalAmount == invoice.balance && invoice.canAddLineItem) &&\r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n
\r\n \r\n\r\n : \r\n }\r\n
\r\n
\r\n
\r\n \r\n
{!invoice?.canAddLineItem ? \"Payment Applied to Invoice\" : \"Available Payments for Open Batch\"}
\r\n \r\n \r\n \r\n \r\n Payment ID\r\n \r\n {rowData => (rowData.id)}\r\n \r\n \r\n \r\n Payment Type\r\n \r\n {rowData => (rowData.paymentType.paymentType)}\r\n \r\n \r\n \r\n Contact\r\n \r\n {rowData => (rowData.entityDetails)}\r\n \r\n \r\n \r\n Remitter\r\n \r\n {rowData => (rowData.remitter)}\r\n \r\n \r\n \r\n Amount\r\n \r\n {rowData => (rowData.amount.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n }))}\r\n \r\n {invoice?.canAddLineItem &&\r\n \r\n \r\n Available\r\n \r\n {rowData => (rowData.isAllocatedToInvoice ? '' : rowData.availableAmount.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n }))}\r\n \r\n }\r\n \r\n \r\n Action(s)\r\n \r\n \r\n {rowData => {\r\n function invoiceDeallocate() {\r\n paymentService.deallocatePayment(rowData.id, currentInvoiceId).then((response) => {\r\n if (response.data) {\r\n reloadInvoice(currentInvoiceId);\r\n }\r\n })\r\n }\r\n function invoicePay() {\r\n paymentService.allocatePayment(rowData.id, currentInvoiceId).then((response) => {\r\n if (response.data) {\r\n if (response.data.autoApprovedRenewalIds?.length) {\r\n Swal.fire({\r\n title: 'Saving PDF(s)',\r\n didOpen: () => {\r\n Swal.showLoading();\r\n var dataToTransmit = {\r\n RenewalIds: response.data.autoApprovedRenewalIds\r\n }\r\n paymentService.postAutoRenewalPdfs(dataToTransmit).then((data) => {\r\n if (data) {\r\n reloadInvoice(currentInvoiceId);\r\n Swal.close()\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }\r\n else { reloadInvoice(currentInvoiceId); }\r\n }\r\n })\r\n }\r\n return (\r\n <>\r\n {rowData.isAllocatedToInvoice ?\r\n \r\n :\r\n \r\n }\r\n \r\n )\r\n }}\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\nexport default InvoicePage;","import React, { useState } from 'react'\r\nimport { Button, Card, Col, Row } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { ControlLabel, Form, FormControl, FormGroup, Icon, InputPicker, Schema } from 'rsuite';\r\nimport { getContacts } from '../../../../services/Shared/codeTable.service';\r\nimport invoiceService from '../../../../services/Shared/invoice.service';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\nimport InvoicePage from './InvoicePage';\r\n\r\nfunction CreateInvoicePage() {\r\n const [contacts, setContacts] = useState();\r\n const { push } = useHistory();\r\n const [newInvoice, setNewInvoice] = useState({\r\n contact: null\r\n })\r\n const [contactLoading, setContactLoading] = useState(false);\r\n const updateContacts = (value) => {\r\n if (value.length > 2) {\r\n getContacts(value).then((response) => {\r\n setContactLoading(true);\r\n setContacts(response);\r\n setContactLoading(false);\r\n });\r\n }\r\n else {\r\n setContacts([]);\r\n }\r\n }\r\n\r\n const { ObjectType } = Schema.Types;\r\n const model = Schema.Model({\r\n contact: ObjectType().isRequired(\"This field is required.\")\r\n });\r\n\r\n const createInvoice = (validation, event) => {\r\n if (validation) {\r\n invoiceService.createInvoice(newInvoice.contact.entityId).then((response) => {\r\n if (response.data) {\r\n push(\"/internal/revenue/invoice?invoiceId=\" + response.data.id);\r\n }\r\n });\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n
Create Invoice
\r\n
\r\n \r\n
setNewInvoice(newInvoice)}\r\n onSubmit={createInvoice}\r\n >\r\n \r\n Contact\r\n {\r\n if (contactLoading) {\r\n return (\r\n

\r\n Loading...\r\n

\r\n );\r\n }\r\n return menu;\r\n }}\r\n renderMenuItem={(label, item) => {\r\n return (\r\n <>\r\n {`${item.value.formattedName} ${item.value.formattedLicenseNumber ? \"| \" + item.value.formattedLicenseNumber : \"\"} | ${item.value.lolanumber}`}\r\n \r\n );\r\n }}\r\n renderValue={(value, item, selectedElement) => {\r\n return (\r\n <>\r\n {item ? `${item.value.formattedName} ${item.value.formattedLicenseNumber ? \"| \" + item.value.formattedLicenseNumber : \"\"} | ${item.value.lolanumber}` : 'Find a Contact (Min 3 characters)'}\r\n \r\n );\r\n }}\r\n />\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default CreateInvoicePage;","import React from 'react'\r\nimport { useEffect } from 'react';\r\nimport { useState } from 'react';\r\nimport BlockUi from 'react-block-ui';\r\nimport { Button, Card, Col, Row } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { ControlLabel, Form, FormControl, FormGroup, Icon, InputPicker, SelectPicker, Table } from 'rsuite';\r\nimport paymentService from '../../../../services/Internal/Revenue/payment.service';\r\nimport entityService from '../../../../services/Internal/Staff/entity.service';\r\nimport { getContacts } from '../../../../services/Shared/codeTable.service';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\nimport GenericPagination from '../../../Shared/Grid/GenericPagination';\r\nimport { sort_by } from '../../../Shared/HelperFunctions';\r\n\r\nfunction InvoiceSearchPage() {\r\n const [isSearching, setIsSearching] = useState(false);\r\n const [searchResults, setSearchResults] = useState([]);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [contactLoading, setContactLoading] = useState(false);\r\n const [contacts, setContacts] = useState();\r\n const [employeeList, setEmployeeList] = useState([]);\r\n const [searchModel, setSearchModel] = useState({\r\n beginDate: '',\r\n endDate: '',\r\n invoiceId: '',\r\n user: '',\r\n contact: ''\r\n })\r\n const { push } = useHistory();\r\n const [sortColumn, setSortColumn] = useState(\"dateCrte\");\r\n const [sortType, setSortType] = useState(\"desc\");\r\n const [displayLength, setDisplayLength] = useState(20);\r\n const [page, setPage] = useState(1);\r\n const getData = () => {\r\n var sortedData = searchResults.sort(sort_by(sortColumn, sortType !== \"asc\"));\r\n return sortedData.filter((v, i) => {\r\n const start = displayLength * (page - 1);\r\n const end = start + displayLength;\r\n return i >= start && i < end;\r\n })\r\n }\r\n const filteredData = getData();\r\n const handleSortColumn = (sortColumn, sortType) => {\r\n setSortColumn(sortColumn);\r\n setSortType(sortType);\r\n }\r\n useEffect(() => {\r\n entityService.plsGetStaffAndAdmin(false).then((response) => {\r\n var staffList = response.data.map(\r\n employee => {\r\n return { \"label\": `${employee.formattedName}`, \"value\": `${employee.formattedName}` }\r\n }).filter((item, index, self) =>\r\n index === self.findIndex((i) => (\r\n i.value === item.value\r\n ))\r\n );\r\n setEmployeeList(staffList);\r\n });\r\n setHasLoaded(true);\r\n }, [])\r\n\r\n const updateContacts = (value) => {\r\n if (value.length > 2) {\r\n getContacts(value).then((response) => {\r\n setContactLoading(true);\r\n setContacts(response);\r\n setContactLoading(false);\r\n });\r\n }\r\n else {\r\n setContacts([]);\r\n }\r\n }\r\n\r\n const clearSearchModel = () => {\r\n setSearchModel({\r\n beginDate: '',\r\n endDate: '',\r\n invoiceId: '',\r\n user: '',\r\n contact: ''\r\n })\r\n }\r\n const submitSearch = () => {\r\n var dataToTransmit = {\r\n beginDate: searchModel.beginDate ? searchModel.beginDate : null,\r\n endDate: searchModel.endDate ? searchModel.endDate : null,\r\n invoiceId: searchModel.invoiceId > 0 ? searchModel.invoiceId : null,\r\n user: searchModel.user ? searchModel.user : null,\r\n entityId: searchModel.contact?.entityId ?? null\r\n };\r\n setHasLoaded(false);\r\n setIsSearching(true);\r\n paymentService.searchInvoice(dataToTransmit).then((response) => {\r\n setSearchResults(response.data);\r\n setHasLoaded(true);\r\n setIsSearching(false);\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n
\r\n Invoice Search\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n Date Range\r\n \r\n \r\n \r\n to\r\n \r\n  \r\n \r\n \r\n\r\n \r\n Invoice ID\r\n \r\n \r\n \r\n \r\n User\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Contact\r\n {\r\n if (contactLoading) {\r\n return (\r\n

\r\n Loading...\r\n

\r\n );\r\n }\r\n return menu;\r\n }}\r\n renderMenuItem={(label, item) => {\r\n return (\r\n <>\r\n {`${item.value.formattedName} ${item.value.formattedLicenseNumber ? \"| \" + item.value.formattedLicenseNumber : \"\"} | ${item.value.lolanumber}`}\r\n \r\n );\r\n }}\r\n renderValue={(value, item, selectedElement) => {\r\n return (\r\n <>\r\n {item ? `${item.value.formattedName} | ${item.value.lolanumber} ${item.value.formattedLicenseNumber ? \"| \" + item.value.formattedLicenseNumber : \"\"}` : 'Find a Contact (Min 3 characters)'}\r\n \r\n );\r\n }}\r\n />\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
Search Results
\r\n \r\n {hasLoaded ?\r\n <>\r\n { handleSortColumn(sortColumn, sortType) }}\r\n sortColumn={sortColumn}\r\n sortType={sortType}\r\n >\r\n \r\n \r\n \r\n \r\n {rowData => {\r\n function viewInvoice() {\r\n push(\"/internal/revenue/invoice?invoiceId=\" + rowData.id);\r\n }\r\n return (\r\n \r\n )\r\n }}\r\n \r\n \r\n \r\n \r\n Invoice Date\r\n \r\n {rowData => (rowData.dateCrte ? new Date(rowData.dateCrte).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n Invoice ID\r\n \r\n {rowData => (rowData.id)}\r\n \r\n \r\n \r\n Contact\r\n \r\n {rowData => (`${rowData.formattedName}`)}\r\n \r\n \r\n \r\n User\r\n \r\n {rowData => (rowData.userName)}\r\n \r\n \r\n \r\n Amount Due\r\n \r\n {rowData => (rowData.amount ? rowData.amount.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n }) : rowData.amount == 0 ? '$0.00' : '')}\r\n \r\n \r\n \r\n Amount Paid\r\n \r\n {rowData => (rowData.amountPaid ? rowData.amountPaid.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n }) : rowData.amountPaid == 0 ? '$0.00' : '')}\r\n \r\n
\r\n \r\n : \r\n }\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default InvoiceSearchPage;","import React from \"react\";\r\nimport RenderRoutes from \"./renderroutes\"\r\nimport DashboardPage from \"./../Internal/Dashboard/DashboardPage\";\r\nimport QueuePage from \"./../Internal/Queue/QueuePage\";\r\nimport AskLolaPage from \"../Shared/AskLola/AskLolaPage\"\r\nimport UserProfilePage from \"../Shared/UserProfile/UserProfilePage\"\r\nimport EntitySearchPage from \"./../Internal/Search/EntitySearchPage\"\r\nimport FirmCredentialPage from \"./../Internal/Credential/Firm/CredentialPage\";\r\nimport IndCredentialPage from \"./../Internal/Credential/Individual/CredentialPage\";\r\nimport AllRecentContacts from \"./../Internal/History/AllRecentContacts\";\r\nimport AllRecentQueue from \"./../Internal/History/AllRecentQueue\";\r\nimport ContactChangeLog from \"./../Internal/History/ContactChangeLog\";\r\nimport CredentialChangeLog from \"./../Internal/History/CredentialChangeLog\";\r\nimport RedirectToSection from \"../Shared/Redirect/RedirectToSection\";\r\n\r\n//#region PLS \r\n//PLS App\r\nimport PlsAppSection from \"../Internal/Applications/PLS/Sections\";\r\nimport PlsAppContactPage from \"./../Internal/Applications/PLS/ContactInformation/ContactInformationPage\";\r\nimport PlsAppEducationPage from \"./../Internal/Applications/PLS/Education/EducationPage\";\r\nimport PlsAppReferencesPage from \"./../Internal/Applications/PLS/PersonalReferences/PersonalReferencesPage\";\r\nimport PlsAppViolations from '../Internal/Applications/PLS/Violations/Violations'\r\nimport PlsAppEmploymentPage from \"./../Internal/Applications/PLS/Employment/EmploymentPage\";\r\nimport PlsAppQuizzesPage from \"./../Internal/Applications/PLS/Quizzes/QuizzesPage\";\r\nimport PlsAppExperiencePage from \"../Internal/Applications/PLS/Experience/ExperiencePage\";\r\nimport PlsAppAckPage from \"./../Internal/Applications/PLS/Acknowledgement/AcknowledgementPage\";\r\nimport PlsAppReviewPage from \"./../Internal/Applications/PLS/Review/ReviewPage\";\r\nimport PlsAppBoardApprovalPage from \"./../Internal/Applications/PLS/BoardApproval/BoardApprovalPage\";\r\n//PLS Reinstatement\r\nimport PlsReinstatementSections from \"./../Internal/Reinstatements/PLS/Sections\";\r\nimport PlsReinstatementContactPage from \"./../Internal/Reinstatements/PLS/ContactInformation/ContactInformationPage\";\r\nimport PlsReinstatementEmploymentPage from \"./../Internal/Reinstatements/PLS/Employment/EmploymentPage\";\r\nimport PlsReinstatementViolationsPage from \"./../Internal/Reinstatements/PLS/Violations/Violations\";\r\nimport PlsReinstatementQuizzesPage from \"./../Internal/Reinstatements/PLS/Quizzes/QuizzesPage\";\r\nimport PlsReinstatementCpdPage from \"./../Internal/Reinstatements/PLS/CpdRequirements/CpdRequirementsPage\";\r\nimport PlsReinstatementPersonalReferencePage from \"./../Internal/Reinstatements/PLS/PersonalReferences/PersonalReferencesPage\";\r\nimport PlsReinstatementExperiencePage from \"./../Internal/Reinstatements/PLS/Experience/ExperiencePage\";\r\nimport PlsReinstatementDisclosurePage from \"./../Internal/Reinstatements/PLS/Disclosure/DisclosurePage\";\r\nimport PlsReinstatementAckPage from \"./../Internal/Reinstatements/PLS/Acknowledgement/AcknowledgementPage\";\r\nimport PlsReinstatementReviewPage from \"./../Internal/Reinstatements/PLS/Review/ReviewPage\";\r\nimport PlsReinstatementBoardApprovalPage from \"./../Internal/Reinstatements/PLS/BoardApproval/BoardApprovalPage\";\r\n//PLS Renewal\r\nimport PlsRenewalSections from \"./../Internal/Renewals/PLS/Sections\";\r\nimport PlsRenewalContactPage from \"./../Internal/Renewals/PLS/ContactInformation/ContactInformationPage\";\r\nimport PlsRenewalLicenseStatusPage from \"./../Internal/Renewals/PLS/LicenseStatus/LicenseStatusPage\";\r\nimport PlsRenewalsCpdPage from \"./../Internal/Renewals/PLS/CpdRequirements/CpdRequirementsPage\";\r\nimport PlsRenewalsViolationsPage from \"./../Internal/Renewals/PLS/Violations/Violations\";\r\n//import PlsRenewalSupervisingProfessional from \"./../Internal/Renewals/PLS/SupervisingProfessional/SupervisingProfessionalPage\";\r\nimport PlsRenewalPrivacyPage from \"./../Internal/Renewals/PLS/Privacy/Privacy\";\r\nimport PlsRenewalAckPage from \"./../Internal/Renewals/PLS/Acknowledgement/AcknowledgementPage\";\r\nimport PlsRenewalReviewPage from \"./../Internal/Renewals/PLS/Review/ReviewPage\";\r\n//#endregion\r\n\r\n//#region LSI\r\n//LSI App\r\nimport LsiAppSection from \"../Internal/Applications/LSI/Index/Index\";\r\nimport LsiAppContactPage from \"./../Internal/Applications/LSI/ContactInformation/ContactInformationPage\";\r\nimport LsiAppEducationPage from \"./../Internal/Applications/LSI/Education/EducationPage\";\r\nimport LsiAppViolationsPage from '../Internal/Applications/LSI/Violations/ViolationsPage'\r\nimport LsiAppExamVerificationPage from '../Internal/Applications/LSI/ExaminationVerification/ExaminationVerificationPage'\r\nimport LsiAppRecommendationPage from '../Internal/Applications/LSI/Recommendation/RecommendationPage'\r\nimport LsiAppAckPage from \"./../Internal/Applications/LSI/Acknowledgement/AcknowledgementPage\";\r\nimport LsiAppReviewPage from \"./../Internal/Applications/LSI/Review/ReviewPage\";\r\nimport LsiAppBoardApprovalPage from \"./../Internal/Applications/LSI/BoardApproval/BoardApprovalPage\";\r\n//LSI Renewal\r\nimport LsiRenewalsIndexPage from \"./../Internal/Renewals/LSI/Index/Index\";\r\nimport LsiRenewalContactPage from \"./../Internal/Renewals/LSI/ContactInformation/ContactInformationPage\";\r\nimport LsiRenewalsViolationsPage from \"./../Internal/Renewals/LSI/Violations/ViolationsPage\";\r\nimport LsiRenewalsPrivacyPage from \"./../Internal/Renewals/LSI/Privacy/PrivacyPage\";\r\nimport LsiRenewalAckPage from \"./../Internal/Renewals/LSI/Acknowledgement/AcknowledgementPage\";\r\nimport LsiRenewalReviewPage from \"./../Internal/Renewals/LSI/Review/ReviewPage\";\r\nimport LsiRenewalBoardApprovalPage from \"./../Internal/Renewals/LSI/BoardApproval/BoardApprovalPage\";\r\n//Lsi Reinstatement\r\nimport LsiReinstatementIndexPage from \"./../Internal/Reinstatements/LSI/Index/Index\";\r\nimport LsiReinstatementContactPage from \"./../Internal/Reinstatements/LSI/ContactInformation/ContactInformationPage\";\r\nimport LsiReinstatementEducationPage from \"./../Internal/Reinstatements/LSI/Education/EducationPage\";\r\nimport LsiReinstatementExaminationPage from \"./../Internal/Reinstatements/LSI/ExaminationVerification/ExaminationVerification\";\r\nimport LsiReinstatementViolationsPage from \"./../Internal/Reinstatements/LSI/Violations/Violations\";\r\nimport LsiReinstatementAckPage from \"./../Internal/Reinstatements/LSI/Acknowledgment/AcknowledgmentPage\";\r\nimport LsiReinstatementReviewPage from \"./../Internal/Reinstatements/LSI/Review/ReviewPage\";\r\nimport LsiReinstatementBoardApprovalPage from \"./../Internal/Reinstatements/LSI/BoardApproval/BoardApprovalPage\";\r\n//#endregion\r\n\r\n//#region VF\r\n\r\n//VF App\r\nimport VfAppSection from \"../Internal/Applications/VF/Index\";\r\nimport VfAppContactPage from \"./../Internal/Applications/VF/ContactInformation/ContactInformationPage\";\r\nimport VfAppViolationsPage from '../Internal/Applications/VF/Violations/ViolationsPage'\r\nimport VfAppSupervisingProfessionalPage from \"./../Internal/Applications/VF/SupervisingProfessional/SupervisingProfessionalPage\";\r\nimport VfAppUnlicensedActivityPage from \"./../Internal/Applications/VF/UnlicensedActivity/UnlicensedActivityPage\";\r\nimport VfAppWaiverCertificatePage from \"./../Internal/Applications/VF/WaiverCertificate/WaiverCertificatePage\";\r\nimport VfAppAckPage from \"./../Internal/Applications/VF/Acknowledgement/AcknowledgementPage\";\r\nimport VfAppReviewPage from \"./../Internal/Applications/VF/Review/ReviewPage\";\r\nimport VfAppBoardApprovalPage from \"./../Internal/Applications/VF/BoardApproval/BoardApprovalPage\";\r\n\r\n//VF Reinstatement\r\nimport VfReinstatementSection from \"../Internal/Reinstatements/VF/Index\";\r\nimport VfReinstatementContactPage from \"./../Internal/Reinstatements/VF/ContactInformation/ContactInformationPage\";\r\nimport VfReinstatementViolationsPage from '../Internal/Reinstatements/VF/Violations/ViolationsPage'\r\nimport VfReinstatementSupervisingProfessionalPage from \"./../Internal/Reinstatements/VF/SupervisingProfessional/SupervisingProfessionalPage\";\r\nimport VfReinstatementUnlicensedActivityPage from \"./../Internal/Reinstatements/VF/UnlicensedActivity/UnlicensedActivityPage\";\r\nimport VfReinstatementWaiverCertificatePage from \"./../Internal/Reinstatements/VF/WaiverCertificate/WaiverCertificatePage\";\r\nimport VfReinstatementAckPage from \"./../Internal/Reinstatements/VF/Acknowledgement/AcknowledgementPage\";\r\nimport VfReinstatementReviewPage from \"./../Internal/Reinstatements/VF/Review/ReviewPage\";\r\nimport VfReinstatementBoardApprovalPage from \"./../Internal/Reinstatements/VF/BoardApproval/BoardApprovalPage\";\r\n\r\n//VF Renewal\r\nimport VfRenewalSection from \"../Internal/Renewals/VF/Index\";\r\nimport VfRenewalContactPage from \"./../Internal/Renewals/VF/ContactInformation/ContactInformationPage\";\r\nimport VfRenewalViolationsPage from '../Internal/Renewals/VF/Violations/ViolationsPage'\r\nimport VfRenewalSupervisingProfessionalPage from '../Internal/Renewals/VF/SupervisingProfessional/SupervisingProfessionalPage';\r\nimport VfRenewalAckPage from \"./../Internal/Renewals/VF/Acknowledgement/AcknowledgementPage\";\r\nimport VfRenewalWaiverCertificatePage from \"./../Internal/Renewals/VF/WaiverCertificate/WaiverCertificatePage\";\r\nimport VfRenewalReviewPage from \"./../Internal/Renewals/VF/Review/ReviewPage\";\r\n//#endregion\r\n\r\n//#region EF\r\n\r\n//EF App\r\nimport EfAppSection from \"../Internal/Applications/EF/Index\";\r\nimport EfAppContactPage from \"./../Internal/Applications/EF/ContactInformation/ContactInformationPage\";\r\nimport EfAppViolationsPage from '../Internal/Applications/EF/Violations/ViolationsPage'\r\nimport EfAppSupervisingProfessionalPage from \"./../Internal/Applications/EF/SupervisingProfessional/SupervisingProfessionalPage\";\r\nimport EfAppUnlicensedActivityPage from \"./../Internal/Applications/EF/UnlicensedActivity/UnlicensedActivityPage\";\r\nimport EfAppWaiverCertificatePage from \"./../Internal/Applications/EF/WaiverCertificate/WaiverCertificatePage\";\r\nimport EfAppAckPage from \"./../Internal/Applications/EF/Acknowledgement/AcknowledgementPage\";\r\nimport EfAppReviewPage from \"./../Internal/Applications/EF/Review/ReviewPage\";\r\nimport EfAppBoardApprovalPage from \"./../Internal/Applications/EF/BoardApproval/BoardApprovalPage\";\r\n\r\n//EF Reinstatement\r\nimport EfReinstatementSection from \"../Internal/Reinstatements/EF/Index\";\r\nimport EfReinstatementContactPage from \"./../Internal/Reinstatements/EF/ContactInformation/ContactInformationPage\";\r\nimport EfReinstatementViolationsPage from '../Internal/Reinstatements/EF/Violations/ViolationsPage'\r\nimport EfReinstatementSupervisingProfessionalPage from \"./../Internal/Reinstatements/EF/SupervisingProfessional/SupervisingProfessionalPage\";\r\nimport EfReinstatementUnlicensedActivityPage from \"./../Internal/Reinstatements/EF/UnlicensedActivity/UnlicensedActivityPage\";\r\nimport EfReinstatementWaiverCertificatePage from \"./../Internal/Reinstatements/EF/WaiverCertificate/WaiverCertificatePage\";\r\nimport EfReinstatementAckPage from \"./../Internal/Reinstatements/EF/Acknowledgement/AcknowledgementPage\";\r\nimport EfReinstatementReviewPage from \"./../Internal/Reinstatements/EF/Review/ReviewPage\";\r\nimport EfReinstatementBoardApprovalPage from \"./../Internal/Reinstatements/EF/BoardApproval/BoardApprovalPage\";\r\n\r\n//EF Renewal\r\nimport EfRenewalSection from \"../Internal/Renewals/EF/Index\";\r\nimport EfRenewalContactPage from \"./../Internal/Renewals/EF/ContactInformation/ContactInformationPage\";\r\nimport EfRenewalViolationsPage from '../Internal/Renewals/EF/Violations/ViolationsPage'\r\nimport EfRenewalSupervisingProfessionalPage from '../Internal/Renewals/EF/SupervisingProfessional/SupervisingProfessionalPage';\r\nimport EfRenewalAckPage from \"./../Internal/Renewals/EF/Acknowledgement/AcknowledgementPage\";\r\nimport EfRenewalWaiverCertificatePage from \"./../Internal/Renewals/EF/WaiverCertificate/WaiverCertificatePage\";\r\nimport EfRenewalReviewPage from \"./../Internal/Renewals/EF/Review/ReviewPage\";\r\n//#endregion\r\n\r\n//#region PE\r\n//PE Application\r\nimport PeAppSectionPage from '../Internal/Applications/PE/Index/Index';\r\nimport PeAppContactPage from \"./../Internal/Applications/PE/ContactInformation/ContactInformationPage\";\r\nimport PeAppEducationPage from \"./../Internal/Applications/PE/Education/EducationPage\";\r\nimport PeAppReferencesPage from \"./../Internal/Applications/PE/PersonalReferences/PersonalReferencesPage\";\r\nimport PeAppExperiencePage from \"./../Internal/Applications/PE/Experience/ExperiencePage\";\r\nimport PeAppViolations from '../Internal/Applications/PE/Violations/Violations'\r\nimport PeAppQuizzesPage from \"./../Internal/Applications/PE/Quizzes/QuizzesPage\";\r\nimport PeAppCoopExperiencePage from \"../Internal/Applications/PE/CoopExperiences/CoopExperiencePage\";\r\nimport PeAppResidencyPage from \"../Internal/Applications/PE/Residency/ResidencyPage\";\r\nimport PeAppEmployementPage from \"../Internal/Applications/PE/Employment/EmploymentPage\";\r\nimport PeAppAckPage from \"./../Internal/Applications/PE/Acknowledgement/AcknowledgementPage\";\r\nimport PeAppReviewPage from \"./../Internal/Applications/PE/Review/ReviewPage\";\r\nimport PeAppBoardApprovalPage from \"./../Internal/Applications/PE/BoardApproval/BoardApprovalPage\";\r\n\r\n//PE Renewal\r\nimport PeRenewalIndexPage from \"./../Internal/Renewals/PE/Index/Index\";\r\nimport PeRenewalContactPage from \"./../Internal/Renewals/PE/ContactInformation/ContactInformationPage\";\r\nimport PeRenewalLicenseStatusPage from \"./../Internal/Renewals/PE/LicenseStatus/LicenseStatusPage\";\r\nimport PeRenewalCpdRequirementsPage from \"./../Internal/Renewals/PE/CpdRequirements/CpdRequirementsPage\";\r\nimport PeRenewalDesignPage from '../Internal/Renewals/PE/Design/BuildingDesignPage';\r\nimport PeRenewalViolationsPage from \"./../Internal/Renewals/PE/Violations/Violations\";\r\nimport PeRenewalPrivacyPage from \"./../Internal/Renewals/PE/Privacy/Privacy\";\r\nimport PeRenewalAckPage from '../Internal/Renewals/PE/Acknowledgement/AcknowledgementPage';\r\nimport PeRenewalReviewPage from \"./../Internal/Renewals/PE/Review/ReviewPage\";\r\n\r\n//PE Reinstatement\r\nimport PeReinstatementIndexPage from \"./../Internal/Reinstatements/PE/Index/Index\";\r\nimport PeReinstatementContactPage from \"./../Internal/Reinstatements/PE/ContactInformation/ContactInformationPage\";\r\nimport PeReinstatementDesignPage from './../Internal/Reinstatements/PE/Design/BuildingDesignPage';\r\nimport PeReinstatementEmploymentPage from \"./../Internal/Reinstatements/PE/Employment/EmploymentPage\";\r\nimport PeReinstatementViolationsPage from \"./../Internal/Reinstatements/PE/Violations/Violations\";\r\nimport PeReinstatementQuizzesPage from \"./../Internal/Reinstatements/PE/Quizzes/QuizzesPage\";\r\nimport PeReinstatementCpdPage from \"./../Internal/Reinstatements/PE/CpdRequirements/CpdRequirementsPage\";\r\nimport PeReinstatementPersonalReferencePage from \"./../Internal/Reinstatements/PE/PersonalReferences/PersonalReferencesPage\";\r\nimport PeReinstatementExperiencePage from \"./../Internal/Reinstatements/PE/Experience/ExperiencePage\";\r\nimport PeReinstatementDisclosurePage from \"./../Internal/Reinstatements/PE/Disclosure/DisclosurePage\";\r\nimport PeReinstatementAckPage from \"./../Internal/Reinstatements/PE/Acknowledgement/AcknowledgementPage\";\r\nimport PeReinstatementReviewPage from \"./../Internal/Reinstatements/PE/Review/ReviewPage\";\r\nimport PeReinstatementBoardApprovalPage from \"./../Internal/Reinstatements/PE/BoardApproval/BoardApprovalPage\";\r\n//#endregion\r\n\r\n//#region EI\r\n//Ei App\r\nimport EiAppSectionPage from '../Internal/Applications/EI/Index/Index';\r\nimport EiAppContactPage from \"./../Internal/Applications/EI/ContactInformation/ContactInformationPage\";\r\nimport EiAppEducationPage from \"./../Internal/Applications/EI/Education/EducationPage\";\r\nimport EiAppRecommendationPage from \"./../Internal/Applications/EI/Recommendation/RecommendationPage\";\r\nimport EiAppExperiencePage from \"./../Internal/Applications/EI/Experience/ExperiencePage\";\r\nimport EiAppViolations from '../Internal/Applications/EI/Violations/ViolationsPage'\r\nimport EiAppExaminationPage from \"./../Internal/Applications/EI/ExaminationVerification/ExaminationVerificationPage\";\r\nimport EiAppAckPage from \"./../Internal/Applications/EI/Acknowledgement/AcknowledgementPage\";\r\nimport EiAppReviewPage from \"./../Internal/Applications/EI/Review/ReviewPage\";\r\nimport EiAppBoardApprovalPage from \"./../Internal/Applications/EI/BoardApproval/BoardApprovalPage\";\r\n\r\n//Ei Renewal\r\nimport EiRenewalContactPage from \"./../Internal/Renewals/EI/ContactInformation/ContactInformationPage\";\r\nimport EiRenewalsViolationsPage from \"./../Internal/Renewals/EI/Violations/ViolationsPage\";\r\nimport EiRenewalsPrivacyPage from \"./../Internal/Renewals/EI/Privacy/PrivacyPage\";\r\nimport EiRenewalsIndexPage from \"./../Internal/Renewals/EI/Index/Index\";\r\nimport EiRenewalAckPage from \"./../Internal/Renewals/EI/Acknowledgement/AcknowledgementPage\";\r\nimport EiRenewalReviewPage from \"./../Internal/Renewals/EI/Review/ReviewPage\";\r\nimport EiRenewalBoardApprovalPage from \"./../Internal/Renewals/EI/BoardApproval/BoardApprovalPage\";\r\n\r\n//Ei Reinstatement\r\nimport EiReinstatementIndexPage from \"./../Internal/Reinstatements/EI/Index/Index\";\r\nimport EiReinstatementContactPage from \"./../Internal/Reinstatements/EI/ContactInformation/ContactInformationPage\";\r\nimport EiReinstatementEducationPage from \"./../Internal/Reinstatements/EI/Education/EducationPage\";\r\nimport EiReinstatementExaminationPage from \"./../Internal/Reinstatements/EI/ExaminationVerification/ExaminationVerification\";\r\nimport EiReinstatementViolationsPage from \"./../Internal/Reinstatements/EI/Violations/Violations\";\r\nimport EiReinstatementAckPage from \"./../Internal/Reinstatements/EI/Acknowledgment/AcknowledgmentPage\";\r\nimport EiReinstatementReviewPage from \"./../Internal/Reinstatements/EI/Review/ReviewPage\";\r\nimport EiReinstatementBoardApprovalPage from \"./../Internal/Reinstatements/EI/BoardApproval/BoardApprovalPage\";\r\n//#endregion\r\n\r\n//#region Revenue\r\nimport PaymentSearchPage from \"../Internal/Revenue/PaymentSearch/PaymentSearchPage\";\r\nimport BatchSearchPage from \"../Internal/Revenue/BatchSearchPage\";\r\nimport CreateBatchPage from \"./../Internal/Revenue/CreateBatch/CreateBatchPage\";\r\nimport DailyRefundSearchPage from \"../Internal/Revenue/DailyRefundSearchPage\";\r\nimport DailyPaymentsByAccountPage from \"../Internal/Revenue/DailyPaymentsByAccountPage\";\r\nimport CreateInvoicePage from \"./../Internal/Revenue/Invoice/CreateInvoicePage\";\r\nimport InvoicePage from \"./../Internal/Revenue/Invoice/InvoicePage\";\r\nimport InvoiceSearchPage from \"./../Internal/Revenue/Invoice/InvoiceSearchPage\";\r\n//#endregion\r\nconst INTERNAL_ROUTES = [\r\n\r\n {\r\n path: \"/\",\r\n key: \"ROOT\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal\",\r\n key: \"INTERNAL\",\r\n component: RenderRoutes,\r\n routes: [\r\n {\r\n path: \"/internal\",\r\n key: \"INTERNAL_ROOT\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/dashboard\",\r\n key: \"INTERNAL_DASHBOARD\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/askLola\",\r\n key: \"INTERNAL_ASKLOLA\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/allRecentContacts\",\r\n key: \"INTERNAL_ALL_RECENT_CONTACTS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/allRecentQueue\",\r\n key: \"INTERNAL_ALL_RECENT_QUEUE\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/contactChangeLog\",\r\n key: \"INTERNAL_CONTACT_CHANGE_LOG\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/credentialChangeLog\",\r\n key: \"INTERNAL_CREDENTIAL_CHANGE_LOG\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/redirectToSection\",\r\n key: \"INTERNAL_REDIRECT_TO_SECTION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/userProfile\",\r\n key: \"INTERNAL_USER_PROFILE\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/queue\",\r\n key: \"INTERNAL_DASHBOARD\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/search\",\r\n key: \"INTERNAL_SEARCH\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/firmcredential\",\r\n key: \"INTERNAL_FIRM_CREDENTIAL\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/indcredential\",\r\n key: \"INTERNAL_INDIVIDUAL_CREDENTIAL\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/plsApp/sections\",\r\n key: \"INTERNAL_PLS_APPLICATIONS_SECTIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/plsApp/contactInformation\",\r\n key: \"INTERNAL_PLS_APPLICATIONS_CONTACTINFORMATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/plsApp/education\",\r\n key: \"INTERNAL_PLS_APPLICATIONS_EDUCATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/plsApp/personalReferences\",\r\n key: \"INTERNAL_PLS_APPLICATIONS_PERSONALREFERENCES\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/plsApp/violations\",\r\n key: \"INTERNAL_PLS_APPLICATIONS_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/plsApp/employment\",\r\n key: \"INTERNAL_PLS_APPLICATIONS_EMPLOYMENT\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/plsApp/quizzes\",\r\n key: \"INTERNAL_PLS_APPLICATIONS_QUIZZES\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/plsApp/experience\",\r\n key: \"INTERNAL_PLS_APPLICATIONS_EXPERIENCE\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/plsApp/acknowledgement\",\r\n key: \"INTERNAL_PLS_APPLICATIONS_ACKNOWLEDGEMENTS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/plsApp/review\",\r\n key: \"INTERNAL_PLS_APPLICATIONS_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/plsApp/boardApproval\",\r\n key: \"INTERNAL_PLS_APPLICATIONS_BOARDAPPROVAL\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/plsReinstatement/sections\",\r\n key: \"INTERNAL_PLS_REINSTATEMENTS_SECTIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/plsReinstatement/contactInformation\",\r\n key: \"INTERNAL_PLS_REINSTATEMENTS_CONTACT_INFORMATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/plsReinstatement/quizzes\",\r\n key: \"INTERNAL_PLS_REINSTATEMENTS_QUIZZES\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/plsReinstatement/cpdRequirements\",\r\n key: \"INTERNAL_PLS_REINSTATEMENTS_CPD_REQUIREMENTS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/plsReinstatement/acknowledgement\",\r\n key: \"INTERNAL_PLS_REINSTATEMENTS_ACKNOWLEDGEMENT\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/plsReinstatement/review\",\r\n key: \"INTERNAL_PLS_REINSTATEMENTS_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/plsReinstatement/boardApproval\",\r\n key: \"INTERNAL_PLS_REINSTATEMENTS_BOARD_APPROVAL\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/plsReinstatement/employment\",\r\n key: \"INTERNAL_PLS_REINSTATEMENTS_EMPLOYMENT\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/plsReinstatement/personalReferences\",\r\n key: \"INTERNAL_PLS_REINSTATEMENTS_PERSONAL_REFERENCE\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/plsReinstatement/disclosure\",\r\n key: \"INTERNAL_PLS_REINSTATEMENTS_DISCLOSURE\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/plsReinstatement/violations\",\r\n key: \"INTERNAL_PLS_REINSTATEMENTS_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/plsReinstatement/experience\",\r\n key: \"INTERNAL_PLS_REINSTATEMENTS_EXPERIENCE\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/plsRenewal/sections\",\r\n key: \"INTERNAL_PLS_RENEWAL_SECTIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/plsRenewal/contactInformation\",\r\n key: \"INTERNAL_PLS_RENEWAL_CONTACT_INFORMATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/plsRenewal/cpdRequirements\",\r\n key: \"INTERNAL_PLS_RENEWAL_CPD_REQUIREMENTS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/plsRenewal/licenseStatus\",\r\n key: \"INTERNAL_PLS_RENEWAL_LICENSE_STATUS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/plsRenewal/violations\",\r\n key: \"INTERNAL_PLS_RENEWAL_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n //{\r\n // path: \"/internal/plsRenewal/supervisingProfessional\",\r\n // key: \"INTERNAL_PLS_RENEWAL_SUPERVISING_PROFESSIONAL\",\r\n // exact: true,\r\n // component: () => \r\n //},\r\n {\r\n path: \"/internal/plsRenewal/privacy\",\r\n key: \"INTERNAL_PLS_RENEWAL_PRIVACY\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/plsRenewal/acknowledgement\",\r\n key: \"INTERNAL_PLS_RENEWAL_ACKNOWLEDGEMENT\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/plsRenewal/review\",\r\n key: \"INTERNAL_PLS_RENEWAL_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/vfApp/boardApproval\",\r\n key: \"INTERNAL_VF_APPLICATIONS_BOARDAPPROVAL\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/vfApp/contactInformation\",\r\n key: \"INTERNAL_VF_APPLICATIONS_CONTACT_INFORMATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/vfApp/review\",\r\n key: \"INTERNAL_VF_APPLICATIONS_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/vfApp/supervisingProfessional\",\r\n key: \"INTERNAL_VF_APPLICATIONS_SUPERVISING_PROFESSIONAL\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/vfApp/unlicensedActivity\",\r\n key: \"INTERNAL_VF_APPLICATIONS_UNLICENSED_ACTIVITY\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/vfApp/violations\",\r\n key: \"INTERNAL_VF_APPLICATIONS_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/vfApp/waiver\",\r\n key: \"INTERNAL_VF_APPLICATIONS_WAIVER\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/vfApp/sections\",\r\n key: \"INTERNAL_VF_APPLICATIONS_SECTIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/vfApp/acknowledgement\",\r\n key: \"INTERNAL_VF_APPLICATIONS_ACKNOWLEDGEMENT\",\r\n exact: true,\r\n component: () => \r\n },\r\n //VF Reinstatement\r\n {\r\n path: \"/internal/vfReinstatement/boardapproval\",\r\n key: \"INTERNAL_VF_REINSTATEMENTS_BOARDAPPROVAL\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/vfReinstatement/contactInformation\",\r\n key: \"INTERNAL_VF_REINSTATEMENTS_CONTACT_INFORMATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/vfReinstatement/review\",\r\n key: \"INTERNAL_VF_REINSTATEMENTS_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/vfReinstatement/supervisingProfessional\",\r\n key: \"INTERNAL_VF_REINSTATEMENTS_SUPERVISING_PROFESSIONAL\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/vfReinstatement/unlicensedActivity\",\r\n key: \"INTERNAL_VF_REINSTATEMENTS_UNLICENSED_ACTIVITY\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/vfReinstatement/violations\",\r\n key: \"INTERNAL_VF_REINSTATEMENTS_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/vfReinstatement/waiver\",\r\n key: \"INTERNAL_VF_REINSTATEMENTS_WAIVER\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/vfReinstatement/sections\",\r\n key: \"INTERNAL_VF_REINSTATEMENTS_SECTIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/vfReinstatement/acknowledgement\",\r\n key: \"INTERNAL_VF_REINSTATEMENTS_ACKNOWLEDGEMENT\",\r\n exact: true,\r\n component: () => \r\n },\r\n //VF Renewal\r\n {\r\n path: \"/internal/vfRenewal/acknowledgement\",\r\n key: \"INTERNAL_VF_RENEWAL_ACKNOWLEDGEMENT\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/vfRenewal/contactInformation\",\r\n key: \"INTERNAL_VF_RENEWAL_CONTACT_INFORMATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/vfRenewal/review\",\r\n key: \"INTERNAL_VF_RENEWAL_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/vfRenewal/violations\",\r\n key: \"INTERNAL_VF_RENEWAL_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/vfRenewal/supervisingprofessional\",\r\n key: \"INTERNAL_VF_RENEWAL_SUPERVISINGPROFESSIONAL\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/vfRenewal/waiver\",\r\n key: \"INTERNAL_VF_RENEWAL_WAIVER\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/vfRenewal/sections\",\r\n key: \"INTERNAL_VF_RENEWAL_SECTIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n // EF\r\n {\r\n path: \"/internal/efapp/boardapproval\",\r\n key: \"INTERNAL_EF_APPLICATIONS_BOARDAPPROVAL\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/efapp/contactinformation\",\r\n key: \"INTERNAL_EF_APPLICATIONS_CONTACT_INFORMATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/efapp/review\",\r\n key: \"INTERNAL_EF_APPLICATIONS_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/efapp/supervisingprofessional\",\r\n key: \"INTERNAL_EF_APPLICATIONS_SUPERVISING_PROFESSIONAL\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/efapp/unlicensedactivity\",\r\n key: \"INTERNAL_EF_APPLICATIONS_UNLICENSED_ACTIVITY\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/efapp/violations\",\r\n key: \"INTERNAL_EF_APPLICATIONS_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/efapp/waiver\",\r\n key: \"INTERNAL_EF_APPLICATIONS_WAIVER\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/efapp/sections\",\r\n key: \"INTERNAL_EF_APPLICATIONS_SECTIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/efapp/acknowledgement\",\r\n key: \"INTERNAL_EF_APPLICATIONS_ACKNOWLEDGEMENT\",\r\n exact: true,\r\n component: () => \r\n },\r\n //VF Reinstatement\r\n {\r\n path: \"/internal/efreinstatement/boardapproval\",\r\n key: \"INTERNAL_EF_REINSTATEMENTS_BOARDAPPROVAL\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/efreinstatement/contactinformation\",\r\n key: \"INTERNAL_EF_REINSTATEMENTS_CONTACT_INFORMATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/efreinstatement/review\",\r\n key: \"INTERNAL_EF_REINSTATEMENTS_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/efreinstatement/supervisingprofessional\",\r\n key: \"INTERNAL_EF_REINSTATEMENTS_SUPERVISING_PROFESSIONAL\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/efreinstatement/unlicensedactivity\",\r\n key: \"INTERNAL_EF_REINSTATEMENTS_UNLICENSED_ACTIVITY\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/efreinstatement/violations\",\r\n key: \"INTERNAL_EF_REINSTATEMENTS_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/efreinstatement/waiver\",\r\n key: \"INTERNAL_EF_REINSTATEMENTS_WAIVER\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/efreinstatement/sections\",\r\n key: \"INTERNAL_EF_REINSTATEMENTS_SECTIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/efreinstatement/acknowledgement\",\r\n key: \"INTERNAL_EF_REINSTATEMENTS_ACKNOWLEDGEMENT\",\r\n exact: true,\r\n component: () => \r\n },\r\n //VF Renewal\r\n {\r\n path: \"/internal/efrenewal/acknowledgement\",\r\n key: \"INTERNAL_EF_RENEWAL_ACKNOWLEDGEMENT\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/efrenewal/contactinformation\",\r\n key: \"INTERNAL_EF_RENEWAL_CONTACT_INFORMATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/efrenewal/review\",\r\n key: \"INTERNAL_EF_RENEWAL_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/efrenewal/violations\",\r\n key: \"INTERNAL_EF_RENEWAL_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/efrenewal/supervisingprofessional\",\r\n key: \"INTERNAL_EF_RENEWAL_SUPERVISINGPROFESSIONAL\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/efRenewal/waiver\",\r\n key: \"INTERNAL_EF_RENEWAL_WAIVER\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/efRenewal/sections\",\r\n key: \"INTERNAL_EF_RENEWAL_SECTIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n //#region PE\r\n //App\r\n {\r\n path: \"/internal/peapp/sections\",\r\n key: \"INTERNAL_PE_APPLICATION_SECTION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/peapp/contactinformation\",\r\n key: \"INTERNAL_PE_APPLICATION_CONTACTINFO\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/peapp/education\",\r\n key: \"INTERNAL_PE_APPLICATION_EDUCATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/peapp/personalreferences\",\r\n key: \"INTERNAL_PE_APPLICATION_PERSONALREFERENCE\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/peapp/experience\",\r\n key: \"INTERNAL_PE_APPLICATION_EXPERIENCE\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/peapp/violations\",\r\n key: \"INTERNAL_PE_APPLICATION_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/peapp/quizzes\",\r\n key: \"INTERNAL_PE_APPLICATION_QUIZZES\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/peapp/coopexperience\",\r\n key: \"INTERNAL_PE_APPLICATION_COOPEXPERIENCE\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/peapp/residency\",\r\n key: \"INTERNAL_PE_APPLICATION_RESIDENCY\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/peapp/employment\",\r\n key: \"INTERNAL_PE_APPLICATION_EMPLOYMENT\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/peapp/acknowledgement\",\r\n key: \"INTERNAL_PE_APPLICATION_ACKNOWLEDGEMENT\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/peapp/review\",\r\n key: \"INTERNAL_PE_APPLICATION_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/peapp/boardapproval\",\r\n key: \"INTERNAL_PE_APPLICATION_BOARDAPPROVAL\",\r\n exact: true,\r\n component: () => \r\n },\r\n\r\n //Renewal\r\n {\r\n path: \"/internal/perenewal/sections\",\r\n key: \"INTERNAL_PE_RENEWALS_Index\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/perenewal/contactinformation\",\r\n key: \"INTERNAL_PE_RENEWAL_CONTACTINFORMATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/perenewal/licensestatus\",\r\n key: \"INTERNAL_PE_RENEWALS_LICENSESTATUS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/perenewal/cpdrequirements\",\r\n key: \"INTERNAL_PE_RENEWALS_CPDREQUIREMENTS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/perenewal/design\",\r\n key: \"INTERNAL_PE_RENEWALS_DESIGN\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/perenewal/violations\",\r\n key: \"INTERNAL_PE_RENEWALS_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/perenewal/privacy\",\r\n key: \"INTERNAL_PE_RENEWALS_PRIVACY\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/perenewal/acknowledgement\",\r\n key: \"INTERNAL_PE_RENEWALS_ACKNOWLEDGEMENTS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/perenewal/review\",\r\n key: \"INTERNAL_PE_RENEWALS_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n //Reinstatement\r\n {\r\n path: \"/internal/pereinstatement/sections\",\r\n key: \"INTERNAL_PE_REINSTATEMENT_INDEX\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/pereinstatement/contactInformation\",\r\n key: \"INTERNAL_PE_REINSTATEMENT_CONTACTINFORMATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/pereinstatement/design\",\r\n key: \"INTERNAL_PE_REINSTATEMENT_DESIGN\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/pereinstatement/employment\",\r\n key: \"INTERNAL_PE_REINSTATEMENTS_EMPLOYMENT\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/pereinstatement/violations\",\r\n key: \"INTERNAL_PE_REINSTATEMENT_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/pereinstatement/quizzes\",\r\n key: \"INTERNAL_PE_REINSTATEMENT_QUIZZES\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/pereinstatement/cpdrequirements\",\r\n key: \"INTERNAL_PE_REINSTATEMENT_CPDREQUIREMENTS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/pereinstatement/personalreferences\",\r\n key: \"INTERNAL_PE_REINSTATEMENT_REFERENCES\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/pereinstatement/experience\",\r\n key: \"INTERNAL_PE_REINSTATEMENT_EXPERIENCE\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/pereinstatement/disclosure\",\r\n key: \"INTERNAL_PE_REINSTATEMENTS_DISCLOSURE\",\r\n exact: true,\r\n component: () => < PeReinstatementDisclosurePage />\r\n },\r\n {\r\n path: \"/internal/pereinstatement/acknowledgement\",\r\n key: \"INTERNAL_PE_REINSTATEMENT_ACKNOWLEDGEMENT\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/pereinstatement/review\",\r\n key: \"INTERNAL_PE_REINSTATEMENT_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/pereinstatement/boardapproval\",\r\n key: \"INTERNAL_PE_REINSTATEMENT_BOARDAPPROVAL\",\r\n exact: true,\r\n component: () => \r\n },\r\n //#endregion\r\n\r\n //#region EI\r\n //EI App\r\n {\r\n path: \"/internal/eiapp/contactinformation\",\r\n key: \"INTERNAL_EI_APPLICATIONS_CONTACTINFORMATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/eiapp/acknowledgement\",\r\n key: \"INTERNAL_EI_APPLICATIONS_ACKNOWLEDGEMENTS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/eiapp/review\",\r\n key: \"INTERNAL_EI_APPLICATIONS_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/eiapp/violations\",\r\n key: \"INTERNAL_EI_APPLICATIONS_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/eiapp/examinationverification\",\r\n key: \"INTERNAL_EI_APPLICATIONS_EXAMINATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/eiapp/education\",\r\n key: \"INTERNAL_EI_APPLICATIONS_EDUCATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/eiapp/recommendation\",\r\n key: \"INTERNAL_EI_APPLICATIONS_RECOMMENDATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/eiapp/experience\",\r\n key: \"INTERNAL_EI_APPLICATIONS_EXPERIENCE\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/eiapp/sections\",\r\n key: \"INTERNAL_EI_APPLICATIONS_INDEX\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/eiapp/boardapproval\",\r\n key: \"INTERNAL_EI_APPLICATIONS_BOARDAPPROVAL\",\r\n exact: true,\r\n component: () => \r\n },\r\n //EI Renewal\r\n {\r\n path: \"/internal/eirenewal/sections\",\r\n key: \"INTERNAL_EI_RENEWALS_INDEX\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/eirenewal/contactinformation\",\r\n key: \"INTERNAL_EI_RENEWALS_CONTACTINFORMATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/eirenewal/violations\",\r\n key: \"INTERNAL_EI_RENEWALS_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/eirenewal/privacy\",\r\n key: \"INTERNAL_EI_RENEWALS_PRIVACY\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/eirenewal/acknowledgement\",\r\n key: \"INTERNAL_EI_RENEWALS_ACKNOWLEDGEMENTS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/eirenewal/review\",\r\n key: \"INTERNAL_EI_RENEWALS_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/eirenewal/boardapproval\",\r\n key: \"INTERNAL_EI_RENEWALS_BOARDAPPROVAL\",\r\n exact: true,\r\n component: () => \r\n },\r\n //EI Reinstatement\r\n {\r\n path: \"/internal/eiReinstatement/sections\",\r\n key: \"INTERNAL_EI_REINSTATEMENT_INDEX\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/eiReinstatement/contactInformation\",\r\n key: \"INTERNAL_EI_REINSTATEMENT_CONTACTINFORMATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/eiReinstatement/examination\",\r\n key: \"INTERNAL_EI_REINSTATEMENT_EXAMINATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/eiReinstatement/education\",\r\n key: \"INTERNAL_EI_REINSTATEMENT_EDUCATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/eiReinstatement/violations\",\r\n key: \"INTERNAL_EI_REINSTATEMENT_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/eiReinstatement/acknowledgement\",\r\n key: \"INTERNAL_EI_REINSTATEMENT_ACKNOWLEDGMENT\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/eiReinstatement/review\",\r\n key: \"INTERNAL_EI_REINSTATEMENT_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/eireinstatement/boardapproval\",\r\n key: \"INTERNAL_EI_REINSTATEMENT_BOARDAPPROVAL\",\r\n exact: true,\r\n component: () => \r\n },\r\n //#endregion\r\n\r\n //#region LSI\r\n //LSI App\r\n {\r\n path: \"/internal/lsiapp/contactinformation\",\r\n key: \"INTERNAL_LSI_APPLICATIONS_CONTACTINFORMATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/lsiapp/acknowledgement\",\r\n key: \"INTERNAL_LSI_APPLICATIONS_ACKNOWLEDGEMENTS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/lsiapp/review\",\r\n key: \"INTERNAL_LSI_APPLICATIONS_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/lsiapp/violations\",\r\n key: \"INTERNAL_LSI_APPLICATIONS_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/lsiapp/examinationVerification\",\r\n key: \"INTERNAL_LSI_APPLICATIONS_EXAMINATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/lsiapp/education\",\r\n key: \"INTERNAL_LSI_APPLICATIONS_EDUCATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/lsiapp/recommendation\",\r\n key: \"INTERNAL_LSI_APPLICATIONS_RECOMMENDATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/lsiapp/sections\",\r\n key: \"INTERNAL_LSI_APPLICATIONS_INDEX\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/lsiapp/boardapproval\",\r\n key: \"INTERNAL_LSI_APPLICATIONS_BOARDAPPROVAL\",\r\n exact: true,\r\n component: () => \r\n },\r\n //LSI Renewal\r\n {\r\n path: \"/internal/lsirenewal/sections\",\r\n key: \"INTERNAL_LSI_RENEWALS_INDEX\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/lsirenewal/contactinformation\",\r\n key: \"INTERNAL_LSI_RENEWALS_CONTACTINFORMATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/lsiRenewal/violations\",\r\n key: \"INTERNAL_LSI_RENEWALS_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/lsirenewal/privacy\",\r\n key: \"INTERNAL_LSI_RENEWALS_PRIVACY\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/lsiRenewal/acknowledgement\",\r\n key: \"INTERNAL_LSI_RENEWALS_ACKNOWLEDGMENTS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/lsirenewal/review\",\r\n key: \"INTERNAL_LSI_RENEWALS_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/lsirenewal/boardapproval\",\r\n key: \"INTERNAL_LSI_RENEWALS_BOARDAPPROVAL\",\r\n exact: true,\r\n component: () => \r\n },\r\n //LSI Reinstatement\r\n {\r\n path: \"/internal/lsiReinstatement/sections\",\r\n key: \"INTERNAL_LSI_REINSTATEMENT_INDEX\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/lsiReinstatement/contactInformation\",\r\n key: \"INTERNAL_LSI_REINSTATEMENT_CONTACTINFORMATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/lsiReinstatement/examination\",\r\n key: \"INTERNAL_LSI_REINSTATEMENT_EXAMINATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/lsiReinstatement/education\",\r\n key: \"INTERNAL_LSI_REINSTATEMENT_EDUCATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/lsiReinstatement/violations\",\r\n key: \"INTERNAL_LSI_REINSTATEMENT_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/lsiReinstatement/acknowledgement\",\r\n key: \"INTERNAL_LSI_REINSTATEMENT_ACKNOWLEDGEMENT\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/lsiReinstatement/review\",\r\n key: \"INTERNAL_LSI_REINSTATEMENT_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/lsiReinstatement/boardApproval\",\r\n key: \"INTERNAL_LSI_REINSTATEMENT_BOARD_APPROVAL\",\r\n exact: true,\r\n component: () => \r\n },\r\n //#endregion\r\n //#region Revenue\r\n {\r\n path: \"/internal/revenue/paymentsearch\",\r\n key: \"INTERNAL_REVENUE_PAYMENT_SEARCH\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/revenue/createinvoice\",\r\n key: \"INTERNAL_REVENUE_CREATE_INVOICE\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/revenue/invoice\",\r\n key: \"INTERNAL_REVENUE_CREATE_INVOICE\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/revenue/invoicesearch\",\r\n key: \"INTERNAL_REVENUE_INVOICE_SEARCH\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/revenue/dailyrefundsearch\",\r\n key: \"INTERNAL_REVENUE_REFUND_SEARCH\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/revenue/dailypaymentsbyaccount\",\r\n key: \"INTERNAL_REVENUE_PAYMENTS_BY_ACCOUNT\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/revenue/createbatch\",\r\n key: \"INTERNAL_REVENUE_PENDING_BATCH\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/internal/revenue/batchsearch\",\r\n key: \"INTERNAL_REVENUE_BATCH_SEARCH\",\r\n exact: true,\r\n component: () => \r\n },\r\n //#endregion\r\n ]\r\n }\r\n]\r\n\r\nexport default INTERNAL_ROUTES;","import React, { useEffect } from 'react';\r\nimport { useState } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport recentContactService from \"../../../services/Internal/Recent/recentContacts.service\"\r\nimport LoadingSpinner from '../../Shared/GenericComponents/LoadingSpinner';\r\n\r\nfunction RecentContacts() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [recentContactList, setRecentContactList] = useState([])\r\n const updateSelector = useSelector(x => x.refreshRecentContacts);\r\n const updateContacts = () => {\r\n setHasLoaded(false);\r\n recentContactService.getRecentContacts().then((response) => {\r\n if (response.data)\r\n setRecentContactList(response.data)\r\n setHasLoaded(true);\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n updateContacts();\r\n function checkForUpdate() {\r\n const item = localStorage.getItem('updateRecentContacts')\r\n\r\n if (item) {\r\n updateContacts();\r\n }\r\n }\r\n\r\n window.addEventListener('storage', checkForUpdate)\r\n\r\n return () => {\r\n window.removeEventListener('storage', checkForUpdate)\r\n }\r\n }, [])\r\n useEffect(() => {\r\n updateContacts();\r\n }, [updateSelector])\r\n return (\r\n <>\r\n
\r\n
\r\n

Recent Contacts

\r\n {hasLoaded ?\r\n recentContactList.map((val, i) => {\r\n return (<>\r\n
{val.entityName}
\r\n )\r\n })\r\n : }\r\n
\r\n );\r\n}\r\n\r\nexport default RecentContacts;","import React, { useEffect } from 'react';\r\nimport { useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport recentQueueService from \"../../../services/Internal/Recent/recentQueue.service\"\r\nimport LoadingSpinner from '../../Shared/GenericComponents/LoadingSpinner';\r\n\r\nfunction RecentQueue() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [recentQueueList, setRecentQueueList] = useState([])\r\n const dispatch = useDispatch();\r\n const updateSelector = useSelector(x => x.refreshRecentQueue);\r\n const updateRecentQueue = () => {\r\n setHasLoaded(false);\r\n recentQueueService.getRecentQueue().then((response) => {\r\n if (response.data)\r\n setRecentQueueList(response.data)\r\n setHasLoaded(true);\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n updateRecentQueue();\r\n function checkForUpdate() {\r\n const item = localStorage.getItem('updateRecentQueue')\r\n\r\n if (item) {\r\n updateRecentQueue();\r\n }\r\n }\r\n\r\n window.addEventListener('storage', checkForUpdate)\r\n\r\n return () => {\r\n window.removeEventListener('storage', checkForUpdate)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n updateRecentQueue();\r\n }, [updateSelector])\r\n\r\n const navigateAndSetCurrentApplication = (data) => {\r\n\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: data.parentId });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ENTITY_ID\", payload: data.entityId });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_TYPE_ID\", payload: data.appTypeId });\r\n dispatch({ type: \"PERSIST_CURRENT_ROUTE\", payload: JSON.parse(data.routes) });\r\n\r\n }\r\n return (\r\n <>\r\n
\r\n
\r\n

Recent Queue

\r\n {hasLoaded ?\r\n recentQueueList.map((val, i) => {\r\n var link = JSON.parse(val.routes)[0].route;\r\n link = link.slice(0, link.lastIndexOf('/') + 1) + \"sections\";\r\n var display = val.entityName;\r\n var prefix = \"\";\r\n var parentType = \"\";\r\n switch (val.appTypeId) {\r\n case 1:\r\n prefix = \"EI\";\r\n break;\r\n case 2:\r\n prefix = \"LSI\";\r\n break;\r\n case 3:\r\n case 4:\r\n prefix = \"PE\";\r\n break;\r\n case 5:\r\n case 6:\r\n prefix = \"PLS\";\r\n break;\r\n case 7:\r\n prefix = \"EF\";\r\n break;\r\n case 8:\r\n prefix = \"VF\";\r\n break;\r\n default:\r\n break;\r\n }\r\n switch (val.parentTypeId) {\r\n case 1:\r\n parentType = \"Reinstatement\";\r\n break;\r\n case 2:\r\n parentType = \"Application\";\r\n break;\r\n case 3:\r\n parentType = \"Renewal\";\r\n break;\r\n default: break;\r\n }\r\n return (<>\r\n
\r\n navigateAndSetCurrentApplication(val)}>{display}
({prefix} {parentType})
\r\n
\r\n )\r\n })\r\n : \r\n }\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default RecentQueue;","import React, { useEffect } from 'react';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport { Sidenav, Nav, Dropdown } from 'rsuite'\r\nimport 'rsuite/dist/styles/rsuite-default.css'\r\nimport * as FaIcons from 'react-icons/fa';\r\nimport logo from '../../../images/LAPELS-LOLA-Logo.png'\r\nimport Swal from 'sweetalert2';\r\nimport batchService from '../../../services/Internal/Revenue/batch.service';\r\nimport RecentContacts from './RecentContacts';\r\nimport RecentQueue from './RecentQueue';\r\n\r\nfunction SideNav(props) {\r\n const [activeKey, setActiveKey] = React.useState();\r\n const { push } = useHistory();\r\n useEffect(() => {\r\n if (props.activeKey) {\r\n setActiveKey(props.activeKey);\r\n } else {\r\n setActiveKey(\"1\");\r\n }\r\n }, [])\r\n const clearCacheOnNav = () => {\r\n localStorage.removeItem(\"searchCache\")\r\n localStorage.removeItem(\"currentPageCache\")\r\n localStorage.removeItem(\"displayLengthCache\")\r\n }\r\n function createBatchClick() {\r\n batchService.hasOpenedBatchForDay().then(response => {\r\n if (response.data) {\r\n Swal.fire({\r\n title: 'Cannot Create Batch',\r\n text: 'You have already created a batch today.',\r\n icon: 'error',\r\n confirmButtonText: `Close`,\r\n }).then((result) => {\r\n\r\n })\r\n }\r\n else {\r\n batchService.checkBatchOpened().then(checkBatch => {\r\n if (checkBatch.data) {\r\n Swal.fire({\r\n title: 'Cannot Create Batch',\r\n text: 'You have an open batch. Go to to the open batch to view.',\r\n icon: 'error',\r\n confirmButtonText: `Close`,\r\n }).then((result) => {\r\n\r\n })\r\n }\r\n else {\r\n batchService.createBatch().then(response => {\r\n if (response.data?.id) {\r\n push(\"/internal/revenue/createbatch?batchId=\" + response.data.id);\r\n }\r\n })\r\n }\r\n })\r\n }\r\n })\r\n }\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n LOLA\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default SideNav;\r\n","import React, { useState, useEffect } from 'react'\r\nimport { Button } from 'react-bootstrap';\r\nimport { Icon, Dropdown } from 'rsuite'\r\nimport Swal from 'sweetalert2';\r\nimport notificationService from '../../../services/notification.service';\r\nimport { sort_by } from '../../Shared/HelperFunctions';\r\n\r\nfunction Notification() {\r\n const [notifications, setNotifications] = useState([])\r\n\r\n const badgeStyle = {\r\n position: \"absolute\",\r\n marginLeft: \"-30px\",\r\n marginTop: \"5px\",\r\n padding: \"2px 8px\",\r\n borderRadius: \"50%\",\r\n background: \"red\",\r\n color: \"white\",\r\n zIndex: \"6\",\r\n pointerEvents: \"none\"\r\n };\r\n\r\n const notificationPanel = (text, date, userName, id) => {\r\n return (\r\n \r\n
\r\n { }\r\n

{userName} ({date})
{text}

\r\n \r\n
\r\n
\r\n
\r\n )\r\n }\r\n const clickableNotificationPanel = (text, date, userName, id, issueId) => {\r\n return (\r\n \r\n
\r\n {userName} ({date})
{text}
\r\n \r\n
\r\n
\r\n
\r\n )\r\n }\r\n\r\n const removeNotification = (id) => {\r\n notificationService.deleteNotification(id).then((response) => {\r\n if (response.status == 200) {\r\n var currentNotifications = notifications;\r\n setNotifications(currentNotifications.filter(notification => notification.id !== id));\r\n }\r\n else {\r\n Swal.fire(\"Error removing notification\");\r\n }\r\n })\r\n\r\n }\r\n const removeAllNotifications = () => {\r\n notificationService.deleteAllNotifications().then((response) => {\r\n if (response.status == 200) {\r\n setNotifications([]);\r\n }\r\n else {\r\n Swal.fire(\"Error removing notifications\");\r\n }\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n notificationService.getNotifications().then((response) => {\r\n const data = response.data.sort(sort_by(\"dateCrte\", true));\r\n setNotifications(data);\r\n });\r\n }, [])\r\n\r\n return (\r\n <>\r\n } noCaret={true}>\r\n {\r\n notifications.length > 0 ?\r\n <>\r\n
Notifications
\r\n {notifications.map((val, index) => {\r\n if (val.issueId) {\r\n return clickableNotificationPanel(val.text, new Date(val.dateCrte).toLocaleDateString(), val.userName, val.id, val.issueId);\r\n }\r\n else {\r\n return notificationPanel(val.text, new Date(val.dateCrte).toLocaleDateString(), val.userName, val.id)\r\n }\r\n })}\r\n\r\n :\r\n

No Notifications

\r\n }\r\n
\r\n {notifications.length > 0 && {notifications.length}}\r\n \r\n );\r\n}\r\nexport default Notification;","import React from 'react';\r\nimport { Nav, Navbar, Icon, Dropdown } from 'rsuite';\r\nimport 'rsuite/dist/styles/rsuite-default.css'\r\nimport Notification from './Notifications';\r\nimport AuthService from \"../../../services/auth.service\"\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\n\r\nfunction TopNav() {\r\n const { push } = useHistory();\r\n\r\n const logout = () => {\r\n AuthService.logout();\r\n window.location.href = \"/\";\r\n }\r\n const askLola = () => {\r\n push(\"/internal/askLola\")\r\n }\r\n const userProfile = () => {\r\n push(\"/internal/userProfile\")\r\n }\r\n const name = useSelector(x => x.userInfo.FormattedName);\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default TopNav;","import React from 'react';\r\nimport { Container, Header, Content, Sidebar } from 'rsuite';\r\nimport RenderRoutes from '../../Routes/renderroutes'\r\nimport INTERNAL_ROUTES from '../../Routes/internalroutes';\r\nimport InternalSideNav from '../SideNav/SideNav';\r\nimport InternalTopNavbar from '../TopNav/TopNav'\r\nimport recentQueueService from '../../../services/Internal/Recent/recentQueue.service';\r\nimport { useDispatch } from 'react-redux';\r\nimport { useState } from 'react';\r\nimport LoadingSpinner from '../../Shared/GenericComponents/LoadingSpinner';\r\nimport { useEffect } from 'react';\r\n\r\nfunction MainInternal() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const urlSearchParams = new URLSearchParams(window.location.search);\r\n const params = Object.fromEntries(urlSearchParams.entries());\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n if (params.recentQueueId) {\r\n recentQueueService.getRecentQueueById(params.recentQueueId).then((data) => {\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: data.data.parentId });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ENTITY_ID\", payload: data.data.entityId });\r\n dispatch({ type: \"PERSIST_CURRENT_APP_TYPE_ID\", payload: data.data.appTypeId });\r\n dispatch({ type: \"PERSIST_CURRENT_ROUTE\", payload: JSON.parse(data.data.routes) });\r\n }).then(() => {\r\n setHasLoaded(true);\r\n })\r\n }\r\n else\r\n setHasLoaded(true);\r\n }, [])\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {hasLoaded ?\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
: \r\n }\r\n
\r\n );\r\n}\r\n\r\nexport default MainInternal;","import React, { useState, useEffect } from 'react';\r\nimport { Link, Route, Switch, useHistory } from 'react-router-dom';\r\nimport Button from 'react-bootstrap/Button'\r\nimport Card from 'react-bootstrap/Card'\r\nimport seal from '../../images/LAPELS-LOLA-Logo.png'\r\nimport AuthService from \"../../services/auth.service\"\r\nimport { login } from \"../../fakeapi.js\"\r\nimport { useDispatch } from 'react-redux';\r\nimport jwt_decode from 'jwt-decode';\r\nimport { ControlLabel, Form, FormControl, FormGroup, Schema } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport BlockUi from 'react-block-ui';\r\nimport * as IoIcons from 'react-icons/io'\r\n\r\nfunction LoginPage(props) {\r\n const [state, setState] = useState({\r\n username: \"\",\r\n password: \"\"\r\n });\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [userOrPassIncorrect, setUserOrPassIncorrect] = useState(false);\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n username: StringType().isRequired(\"This field is required\"),\r\n password: StringType().isRequired(\"This field is required\")\r\n })\r\n const doesAccountExist = (password, userName) => {\r\n return true;\r\n }\r\n const handleSubmitClick = (validation, event) => {\r\n if (validation) {\r\n setIsLoading(true);\r\n var isAccountValid = doesAccountExist(state.password, state.username)\r\n if (isAccountValid) {\r\n sendDetailsToServer();\r\n } else {\r\n setUserOrPassIncorrect(true)\r\n }\r\n }\r\n //const form = e.currentTarget;\r\n //e.preventDefault();\r\n //if (form.checkValidity() === false) {\r\n\r\n // e.stopPropagation();\r\n //}\r\n //sendDetailsToServer();\r\n };\r\n const resendVerificationEmail = () => {\r\n Swal.close();\r\n Swal.fire({\r\n title: 'Resend Verification Email',\r\n text: \"User Name:\",\r\n input: 'text',\r\n inputAttributes: {\r\n autocapitalize: 'off'\r\n },\r\n showCancelButton: true,\r\n confirmButtonText: 'Send',\r\n showLoaderOnConfirm: true,\r\n preConfirm: (userName) => {\r\n if (userName) {\r\n return userName;\r\n }\r\n Swal.showValidationMessage(\r\n `Username is required.`\r\n )\r\n },\r\n allowOutsideClick: () => !Swal.isLoading()\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n AuthService.resendEmailVerification(result.value).then(\r\n (response) => {\r\n if (response.data.isSuccess === true) {\r\n Swal.fire(\"Success\", response.data.message, \"success\");\r\n } else {\r\n Swal.fire(\"Error\", response.data.message, \"error\");\r\n }\r\n }, (error) => {\r\n const resMessage =\r\n (error.response &&\r\n error.response.data &&\r\n error.response.data.message) ||\r\n error.message ||\r\n error.toString();\r\n Swal.fire({\r\n icon: 'error',\r\n title: \"Error\",\r\n html: resMessage\r\n })\r\n }\r\n )\r\n }\r\n })\r\n };\r\n const dispatch = useDispatch();\r\n const sendDetailsToServer = () => {\r\n //login(state.username, state.password).then(\r\n Swal.close();\r\n AuthService.login(state.username, state.password).then(\r\n //based on the claim send to appropriate route\r\n (data) => {\r\n if (data.isSuccess === true) {\r\n props.handleLogin(true);\r\n dispatch({ type: \"LOGIN_SUCCEEDED\", payload: jwt_decode(data.message) })\r\n } else {\r\n //TODO: we need to handle false on this page\r\n props.handleLogin(false);\r\n }\r\n }, (error) => {\r\n setIsLoading(false);\r\n const resMessage =\r\n (error.response &&\r\n error.response.data &&\r\n error.response.data.message) ||\r\n error.message ||\r\n error.toString();\r\n const toast = Swal.mixin({\r\n toast: true,\r\n position: 'top',\r\n showConfirmButton: false,\r\n timer: 15000,\r\n timerProgressBar: true,\r\n didOpen: (toast) => {\r\n toast.addEventListener('mouseenter', Swal.stopTimer)\r\n toast.addEventListener('mouseleave', Swal.resumeTimer)\r\n }\r\n })\r\n toast.fire({\r\n icon: 'error',\r\n title: resMessage\r\n })\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n //check if user is logged in\r\n\r\n var user = AuthService.getCurrentUser();\r\n if (user !== null) {\r\n props.handleLogin(true)\r\n }\r\n }, []);\r\n\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n Access your LAPELS account?\r\n
{ setState(value) }} model={model} >\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n {\r\n userOrPassIncorrect &&\r\n <>\r\n \r\n UserID or Password is incorrect. Please try again.\r\n \r\n
\r\n \r\n }\r\n\r\n \r\n Login\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n Reset Your Password
\r\n
\r\n
\r\n Forgot User Id?
\r\n
\r\n
\r\n
\r\n Please update your password if you are having issues accessing your account.\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n Email not verified? Resend Email\r\n
\r\n
\r\n
\r\n

Still can't log in? Please email AccountRecovery@lapels.com

\r\n
\r\n

Don't have an account? Register

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default LoginPage;","import { Checkbox, Form, FormControl, FormGroup, Input, InputPicker, Schema } from 'rsuite'\r\nimport React, { useState } from 'react';\r\nimport AuthService from \"../../../services/auth.service\"\r\nimport { useHistory } from \"react-router-dom\"\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport { titleData, suffixData } from '../../../fakeapi';\r\nimport YesNoRadioOption from '../../Shared/RadioButton/YesNoRadioOption';\r\nimport RedStar from '../../Shared/GenericComponents/RedStar';\r\nimport { getCountries, getStates } from '../../../services/Shared/codeTable.service'\r\nimport { useEffect } from 'react';\r\nimport LoadingSpinner from '../../Shared/GenericComponents/LoadingSpinner';\r\nimport NumberFormat from 'react-number-format';\r\n\r\nconst InputMask = ({ onChange, ...rest }) => {\r\n return (\r\n {\r\n onChange(event.target.value);\r\n }}\r\n />\r\n );\r\n};\r\n\r\nfunction IndividualForm() {\r\n const [state, setState] = useState({\r\n firstName: \"\",\r\n middleName: \"\",\r\n lastName: \"\",\r\n title: '',\r\n suffix: '',\r\n social: '',\r\n confirmSocial: '',\r\n userName: '',\r\n email: \"\",\r\n confirmEmail: \"\",\r\n dateOfBirth: null,\r\n birthCity: '',\r\n birthState: null,\r\n stateProvinceRegion: '',\r\n maidenName: '',\r\n birthCountry: { id: 221, code: 'US', country: \"United States\" }, //US Default\r\n password: \"\",\r\n confirmPassword: \"\",\r\n isUsCitizen: '',\r\n citizenshipCountry: null,\r\n });\r\n const [countries, setCountries] = useState([])\r\n const [inputType, setInputType] = useState(\"text\");\r\n const [showPass, toggleShowPass] = useState(false);\r\n const [states, setStates] = useState([])\r\n const [hasLoaded, setHasLoaded] = useState(false)\r\n useEffect(() => {\r\n getCountries().then(setCountries);\r\n getStates().then(setStates);\r\n setHasLoaded(true)\r\n }, [])\r\n const history = useHistory();\r\n const { StringType, BooleanType, ObjectType } = Schema.Types;\r\n const model = Schema.Model({\r\n firstName: StringType().isRequired('This field is required.'),\r\n lastName: StringType().isRequired('This field is required.'),\r\n dateOfBirth: StringType().isRequired('This field is required.'),\r\n birthCity: StringType().isRequired('This field is required.'),\r\n birthCountry: ObjectType().isRequired('This field is required.'),\r\n isUsCitizen: BooleanType().isRequired('This field is required.'),\r\n title: StringType().isRequired('This field is required.'),\r\n social: StringType().isRequired('This field is required.').pattern(/^[0-9]{3}-[0-9]{2}-[0-9]{4}$/, \"Please enter a vaild SSN\"),\r\n confirmSocial: StringType().isRequired('This field is required.').addRule((value, data) => {\r\n if (value !== data.social) {\r\n return false;\r\n }\r\n return true;\r\n }, \"SSNs don't match\"),\r\n userName: StringType().addRule((value, data) => {\r\n //return AuthService.checkUsername(value).then((response) => {\r\n // return response.data;//assuming this is a bool value\r\n //})\r\n return true;\r\n }, 'This username is already in use').addRule((value, data) => {\r\n var alphaNumeric = /^[0-9a-zA-Z]+$/;\r\n if (value.match(alphaNumeric))\r\n return true;\r\n else {\r\n return false;\r\n }\r\n }, \"Invalid characters in username. Please use numbers or letters only.\").isRequired('This field is required.'),\r\n email: StringType().isRequired('This field is required.').isEmail(\"This is not a valid Email.\"),\r\n confirmEmail: StringType().isRequired('This field is required.').addRule((value, data) => {\r\n if (value !== data.email) {\r\n return false;\r\n }\r\n return true;\r\n }, \"Emails don't match\").isEmail(\"This is not a valid Email.\"),\r\n password: StringType().pattern(/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$ %^&*\\-_]).{8,}$/, 'Password requires a minimum of 8 characters using upper and lower case letters, and at least 1 number and 1 symbol').isRequired('This field is required.'),\r\n confirmPassword: StringType().isRequired('This field is required.').addRule((value, data) => {\r\n if (value !== data.password) {\r\n return false;\r\n }\r\n return true;\r\n }, \"Passwords don't match\"),\r\n birthState: ObjectType().isRequired('This field is required.'),\r\n stateProvinceRegion: StringType().isRequired('This field is required.'),\r\n citizenshipCountry: ObjectType().isRequired('This field is required.'),\r\n\r\n })\r\n\r\n const handleIndividualFormSubmit = (validation, event) => {\r\n var validationObject = model.check(state);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n if (key.includes(\"birthState\") || key.includes(\"stateProvinceRegion\")) {\r\n if (\r\n (state.birthCountry?.country !== \"United States\" && !state.birthState?.state)\r\n || (state.birthCountry?.country === \"United States\" && state.stateProvinceRegion === '')) {\r\n continue;\r\n }\r\n\r\n }\r\n else if (key.includes(\"citizenshipCountry\")) {\r\n if (state.isUsCitizen)\r\n continue;\r\n }\r\n return;\r\n }\r\n }\r\n\r\n AuthService.registerIndividual(state).then(\r\n (data) => {\r\n if (data.data.isSuccess) {\r\n history.push(\"/registerSuccess\");\r\n }\r\n },\r\n (error) => {\r\n const resMessage =\r\n (error.response &&\r\n error.response.data &&\r\n error.response.data.message) ||\r\n error.message ||\r\n error.toString();\r\n alert(resMessage);\r\n }\r\n );\r\n }\r\n const marginAuto = {\r\n margin: 'auto'\r\n }\r\n return (\r\n\r\n\r\n
setState(state)} onSubmit={handleIndividualFormSubmit}>\r\n {hasLoaded ? <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setInputType(\"date\")}\r\n onBlur={(e) => { if (!e.target.value) { setInputType(\"text\") } }}\r\n placeholder=\"Date of Birth\"\r\n tabIndex=\"7\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n {state.birthCountry?.id === 221 &&\r\n { if (label.toLowerCase().startsWith(userInput.toLowerCase()) || !userInput) return true; }}\r\n name=\"birthState\"\r\n tabIndex=\"10\" />\r\n }\r\n {state.birthCountry?.id !== 221 &&\r\n \r\n }\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n Are you a
U.S. Citizen? \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {state.isUsCitizen === false &&\r\n }\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { toggleShowPass(!showPass) }} tabIndex={18}>Show Password\r\n \r\n \r\n \r\n : }\r\n \r\n\r\n );\r\n}\r\nexport default IndividualForm;\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Checkbox, ControlLabel, Form, FormControl, FormGroup, InputPicker, Schema } from 'rsuite'\r\nimport React, { useState, useEffect } from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport NumberFormat from 'react-number-format';\r\nimport { getStates, getFirmTypes } from '../../../services/Shared/codeTable.service';\r\nimport AuthService from \"../../../services/auth.service\";\r\n\r\nconst InputMask = ({ onChange, ...rest }) => {\r\n return (\r\n {\r\n onChange(event.target.value);\r\n }}\r\n />\r\n );\r\n};\r\nfunction FirmForm() {\r\n const [showPass, toggleShowPass] = useState(false);\r\n const history = useHistory();\r\n const [states, setStates] = useState([]);\r\n const [firmTypes, setFirmTypes] = useState([]);\r\n const [inputType, setInputType] = useState(\"text\");\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n useEffect(() => {\r\n getStates().then(setStates);\r\n getFirmTypes().then(setFirmTypes);\r\n setHasLoaded(true)\r\n }, [])\r\n const { StringType, DateType, ObjectType } = Schema.Types;\r\n const model = Schema.Model({\r\n fein: StringType().isRequired('This field is required.').pattern(/^[0-9]{2}-[0-9]{7}$/, \"Please enter a vaild FEIN\"),\r\n userName: StringType().addRule((value, data) => {\r\n //return AuthService.checkUsername(value).then((response) => {\r\n // return response.data;//assuming this is a bool value\r\n //})\r\n return true;\r\n }, 'This username is already in use').addRule((value, data) => {\r\n var alphaNumeric = /^[0-9a-zA-Z]+$/;\r\n if (value.match(alphaNumeric))\r\n return true;\r\n else {\r\n return false;\r\n }\r\n }, \"Invalid characters in username. Please use numbers or letters only.\").isRequired('This field is required.'),\r\n email: StringType().isRequired('This field is required.').isEmail(\"This is not a valid Email.\"),\r\n confirmEmail: StringType().isRequired('This field is required.').addRule((value, data) => {\r\n if (value !== data.email) {\r\n return false;\r\n }\r\n return true;\r\n }, \"Emails don't match\").isEmail(\"This is not a valid Email.\"),\r\n password: StringType().pattern(/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$ %^&*-]).{8,}$/, 'Password requires a minimum of 8 characters using upper and lower case letters, and at least 1 number and 1 symbol').isRequired('This field is required.'),\r\n confirmPassword: StringType().isRequired('This field is required.').addRule((value, data) => {\r\n if (value !== data.password) {\r\n return false;\r\n }\r\n return true;\r\n }, \"Passwords don't match\"),\r\n firmName: StringType().isRequired(\"This field is required.\"),\r\n domicileState: ObjectType().isRequired(\"This field is required.\"),\r\n firmType: ObjectType().isRequired(\"This field is required.\"),\r\n formationDate: DateType().isRequired(\"This field is required.\"),\r\n contactName: StringType().isRequired(\"This field is required.\"),\r\n website: StringType().isURL(\"Please enter a valid URL (http://google.com)\")\r\n\r\n })\r\n const [state, setState] = useState({\r\n firmName: \"\",\r\n fein: \"\",\r\n contactName: \"\",\r\n website: \"\",\r\n email: \"\",\r\n confirmEmail: \"\",\r\n firmType: \"\",\r\n domicileState: \"\",\r\n formationDate: \"\",\r\n password: \"\",\r\n confirmPassword: \"\",\r\n userName: \"\"\r\n });\r\n const handleFirmFormSubmit = (validation, event) => {\r\n var validationObject = model.check(state);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n return;\r\n }\r\n }\r\n AuthService.registerFirm(state).then(\r\n (data) => {\r\n if (data.data.isSuccess) {\r\n history.push(\"/registerSuccess\");\r\n }\r\n },\r\n (error) => {\r\n const resMessage =\r\n (error.response &&\r\n error.response.data &&\r\n error.response.data.message) ||\r\n error.message ||\r\n error.toString();\r\n alert(resMessage);\r\n }\r\n );\r\n }\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { if (label.toLowerCase().startsWith(userInput.toLowerCase()) || !userInput) return true; }}\r\n accepter={InputPicker}\r\n data={states}\r\n />\r\n \r\n \r\n setInputType(\"date\")}\r\n onBlur={(e) => { if (!e.target.value) { setInputType(\"text\") } }}\r\n placeholder=\"Date Formed / Incorporated\"\r\n />\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { toggleShowPass(!showPass) }} >Show Password\r\n \r\n \r\n \r\n
\r\n );\r\n}\r\nexport default FirmForm;","import Button from 'react-bootstrap/Button'\r\nimport Card from 'react-bootstrap/Card'\r\nimport seal from '../../../images/LAPELS-LOLA-Logo.png'\r\nimport React, { useState } from 'react';\r\nimport IndividualForm from './IndividualForm';\r\nimport FirmForm from './FirmForm';\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport { FormGroup, Radio, RadioGroup } from 'rsuite';\r\n\r\nfunction RegisterNewMemberForm(props) {\r\n const [radioState, setRadioState] = useState('individual');\r\n const imageStyle = {\r\n height: '10rem',\r\n width: '10rem',\r\n margin: 'auto'\r\n };\r\n const centerText = {\r\n textAlign: 'center'\r\n }\r\n\r\n const handleSubmitClick = () => {\r\n }\r\n return (\r\n \r\n
\r\n \r\n \r\n Apply for a new license\r\n
\r\n\r\n \r\n \r\n \r\n { setRadioState(state) }} inline>\r\n Individual\r\n Firm\r\n \r\n \r\n \r\n \r\n \r\n {radioState === 'individual' && }\r\n {radioState === 'firm' && }\r\n\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default RegisterNewMemberForm;\r\n\r\n","import React, { useState } from 'react';\r\nimport RegisterNewMemberForm from './RegisterNewMemberForm';\r\n\r\n\r\nfunction RegisterNewMemberPage() {\r\n const bg = {\r\n backgroundColor: '#2976a3',\r\n padding: \"5rem\",\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n flexDirection: \"column\"\r\n\r\n }\r\n return (\r\n
\r\n \r\n
)\r\n}\r\n\r\nexport default RegisterNewMemberPage;","import React, { useState } from 'react';\r\nimport Button from 'react-bootstrap/Button'\r\nimport Card from 'react-bootstrap/Card'\r\nimport logo from '../../../images/LAPELS-LOLA-Logo.png'\r\nimport { useHistory } from 'react-router-dom';\r\nfunction RegisterSuccessPage() {\r\n const history = useHistory();\r\n\r\n const imageStyle = {\r\n height: '10rem',\r\n width: '10rem',\r\n margin: 'auto'\r\n };\r\n const centerText = {\r\n textAlign: 'center'\r\n }\r\n const buttonStyle = {\r\n width: \"100%\"\r\n }\r\n function backToLoginClick() {\r\n history.push(\"/login\");\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n Register Success\r\n

You've successfully registered for an account. Please check your email to confirm.

\r\n
\r\n \r\n Back to Login\r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default RegisterSuccessPage;","import React from 'react';\r\nimport { Card } from 'react-bootstrap'\r\nimport { Panel } from 'rsuite';\r\n\r\nfunction WelcomeContent() {\r\n\r\n return (\r\n
\r\n \r\n\r\n
\r\n\r\n Complete your Profile:\r\n
    \r\n
  • Click on \"Update contact information\" in the left menu to ensure your contact information is entered and updated. New registrants or new applicants will need to complete this first before starting an application.
  • \r\n
\r\n\r\n
\r\n\r\n Online Applications:\r\n
    \r\n
  • Application for Engineering and/or Surveying Firm First-Time Licensure.
  • \r\n
  • To apply for individual licensure, sign out from this firm account and sign back in with your individual user ID and password. If you have not yet registered, click \"Register\" at https://lola.lapels.com and select the \"Individual\" option to create a new account.
  • \r\n
\r\n\r\n\r\n Online Renewals/Reinstatements\r\n\r\n
    \r\n
  • Licenses/certifications expiring in March may begin renewing in February. Those expiring in September may begin renewing in August.
  • \r\n
  • Once licenses/certifications have expired, licensees may apply to reinstate.
  • \r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default WelcomeContent;","import React from 'react';\r\nimport { Card, Row, Col, Container, Button } from 'react-bootstrap'\r\nimport { Link } from 'react-router-dom';\r\nfunction License({ data }) {\r\n const needsRenewal = data.renew;\r\n const needsReinstatement = data.reinstate;\r\n let superProMarkup = data.supervisingProfessionals ? data.supervisingProfessionals.map((item, i) => {\r\n return (\r\n \r\n \r\n Supervising Professional\r\n {item.name} | {item.credentialNumber}\r\n \r\n \r\n )\r\n }) : \"\";\r\n return (\r\n
\r\n \r\n \r\n \r\n {data.certificationNumber}\r\n \r\n {needsRenewal &&\r\n \r\n }\r\n {needsReinstatement &&\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n License Status\r\n {data.licenseStatus}\r\n \r\n \r\n First Issuance Date\r\n {data.firstIssuanceDate ? new Date(data.firstIssuanceDate).toLocaleDateString() : null}\r\n \r\n \r\n Expiration Date\r\n {data.expirationDate ? new Date(data.expirationDate).toLocaleDateString() : null}\r\n \r\n \r\n Reinstatement Date\r\n {data.reinstatementDate ? new Date(data.reinstatementDate).toLocaleDateString() : null}\r\n \r\n {superProMarkup}\r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nexport default License;","import React from 'react';\r\nimport { Card, Row, Col, Container, Button } from 'react-bootstrap'\r\nimport { Link } from 'react-router-dom';\r\nimport GenericGrid from '../../../Shared/Grid/GenericGrid';\r\nfunction PendingApplications({ data, schema }) {\r\n const pendingAppSchema = [\r\n ['License Type', 'licenseType'],\r\n ['Status', 'pendingApplicationStatus']\r\n ]\r\n return (\r\n
\r\n \r\n \r\n \r\n Pending Applications\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nexport default PendingApplications;","import React from 'react';\r\nimport { Card, Row, Container, Col } from 'react-bootstrap'\r\nimport License from './License';\r\nimport PendingApplications from './PendingApplications';\r\n\r\nfunction Profile({ profileInfo, credentials, pendingApps}) {\r\n let licenses = credentials !== undefined ? credentials.map((item, i) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }) : null;\r\n\r\n const hasPendingApps = pendingApps.length > 0;\r\n\r\n return (\r\n
\r\n \r\n
Profile
\r\n \r\n \r\n \r\n Firm Name\r\n {profileInfo.firmName}\r\n \r\n \r\n LOLA #\r\n {profileInfo.lolaNumber}\r\n \r\n \r\n UserID\r\n {profileInfo.userName}\r\n \r\n \r\n Company Email Address\r\n {profileInfo.email}\r\n \r\n \r\n Contact Name\r\n {profileInfo.contactName}\r\n \r\n {hasPendingApps &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n {licenses}\r\n \r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Profile;","import React, { useEffect, useState } from 'react';\r\nimport { Row, Col } from 'react-bootstrap'\r\nimport { List } from 'rsuite';\r\nimport GenericBadge from '../../../Shared/Badge/GenericBadge';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\n\r\nfunction RecentUpdateItem({ data }) {\r\n const [loading, setIsLoading] = useState(false);\r\n useEffect(() => {\r\n setIsLoading(false);\r\n }, [])\r\n const goToPage = (data) => {\r\n if (data.issueId) {\r\n setIsLoading(true);\r\n window.open(\"firm/redirectToSection?issueId=\" + data.issueId, \"_self\");\r\n setIsLoading(false);\r\n }\r\n }\r\n return (\r\n { goToPage(data) }} className=\"recentUpdateItem\">\r\n {loading ? : <>\r\n \r\n
{data.name}
\r\n {new Date(data.date).toLocaleDateString()}\r\n
\r\n Message in   \r\n {data.text}\r\n {data.isClosed && CLOSED}\r\n {!data.isClosed && OPEN}\r\n \r\n }\r\n
\r\n\r\n )\r\n}\r\n\r\nexport default RecentUpdateItem;","import React, { useEffect, useState, useRef } from 'react';\r\nimport { Card, ListGroup, Row, Col } from 'react-bootstrap'\r\nimport { List } from 'rsuite';\r\nimport RecentUpdateItem from './RecentUpdateItem';\r\n\r\nfunction RecentUpdates({ updates }) {\r\n const [postUpdate, setPostUpdate] = useState(updates);\r\n const loader = useRef(null);\r\n return (\r\n
\r\n \r\n
Recent Updates (click to review)
\r\n \r\n {updates && updates.length ?\r\n
\r\n \r\n {postUpdate.map((item, index) => {\r\n return \r\n })}\r\n \r\n
\r\n\r\n
\r\n
\r\n :\r\n \r\n

No Recent Updates

\r\n
\r\n }\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default RecentUpdates;","import React, { useState, useEffect } from 'react';\r\nimport { Modal, Row, Col, Button } from 'react-bootstrap'\r\nimport { InputPicker, SelectPicker, Form, ControlLabel, Schema, FormControl, FormGroup, InputNumber } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport dashboardService from '../../../../services/Public/dashboard.service';\r\nimport { getStates, getFirmTypes } from '../../../../services/Shared/codeTable.service'\r\nimport RedStar from '../../../Shared/GenericComponents/RedStar';\r\n\r\n\r\nfunction EditLockedContactInfoModal(props) {\r\n const [recordModel, setRecordModel] = useState({\r\n organizationType: \"\",\r\n domicileState: \"\",\r\n dateOfFormation: \"\",\r\n })\r\n const [states, setStates] = useState([])\r\n const [firmTypes, setFirmTypes] = useState([]);\r\n\r\n useEffect(() => {\r\n getStates().then(setStates);\r\n getFirmTypes().then(setFirmTypes);\r\n setRecordModel(props.modaldata); \r\n }, [props.modaldata])\r\n\r\n const { StringType, ObjectType } = Schema.Types;\r\n const model = Schema.Model({\r\n domicileState: ObjectType().isRequired(\"This field is required.\"),\r\n organizationType: ObjectType().isRequired(\"This field is required.\"),\r\n dateOfFormation: StringType().isRequired(\"This field is required.\"),\r\n })\r\n const formSubmit = (validation, event) => {\r\n if (validation)//and other validation\r\n {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to update this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, Save it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n var dataToTransmit = { ...recordModel };//do mapping if needed\r\n dashboardService.postFirmLockedContactInformation(dataToTransmit).then((response) => {\r\n if (response.data) {\r\n props.onHide();\r\n\r\n }\r\n })\r\n }\r\n })\r\n }\r\n }\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n Required Contact Information\r\n \r\n \r\n \r\n
setRecordModel(recordModel)} onSubmit={formSubmit} >\r\n {!props.modaldata.organizationType &&\r\n \r\n \r\n \r\n \r\n \r\n Type of Firm \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {!props.modaldata.domicileState &&\r\n \r\n \r\n \r\n \r\n \r\n Domicile Firm State \r\n \r\n \r\n \r\n \r\n { if (label.toLowerCase().startsWith(userInput.toLowerCase()) || !userInput) return true; }}\r\n accepter={InputPicker}\r\n data={states}\r\n />\r\n \r\n \r\n \r\n }\r\n {!props.modaldata.dateOfFormation &&\r\n \r\n \r\n \r\n \r\n \r\n Date Formed/Incorporated \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default EditLockedContactInfoModal;","import React from 'react'\r\nimport { Card } from 'react-bootstrap'\r\n\r\nfunction TemporaryInformationCard({ display }) {\r\n return (<>\r\n {display &&\r\n <>\r\n \r\n \r\n

\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n }\r\n )\r\n}\r\nexport default TemporaryInformationCard","import React, { useState } from 'react';\r\nimport WelcomeContent from './WelcomeContent';\r\nimport Profile from './Profile';\r\nimport RecentUpdates from './RecentUpdates';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useEffect } from 'react';\r\nimport AuthService from '../../../../services/Public/dashboard.service'\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\nimport EditLockedContactInfoModal from './EditLockedContactInfoModal';\r\nimport TemporaryInformationCard from './TemporaryInformationCard';\r\n\r\nfunction DashboardPage(props) {\r\n const [publicDashboardModel, setPublicDashboardModel] = useState({});\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [showModal, setShowModal] = useState(false);\r\n const [modalData, setModalData] = useState({});\r\n\r\n useEffect(() => {\r\n AuthService.getFirmDashboard().then((response) => {\r\n response.data.pendingApplications = response.data.pendingApplications.map(obj => ({ ...obj, pendingApplicationStatus: obj.status }));\r\n setPublicDashboardModel(response.data);\r\n setHasLoaded(true);\r\n AuthService.getFirmLockedContactInformation().then((data) => {\r\n if (data.data ?? false) {\r\n setShowModal(true);\r\n setModalData(data.data)\r\n }\r\n })\r\n });\r\n\r\n }, [])\r\n return (\r\n \r\n { hasLoaded ?\r\n \r\n

Dashboard

\r\n \r\n setShowModal(false)} />\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
: \r\n }\r\n
\r\n )\r\n}\r\nexport default DashboardPage;","import React, { useState } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useEffect } from 'react';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ShoppingCart from '../../../Shared/Card/ShoppingCart';\r\nimport Information from '../../../Shared/Card/Information';\r\nimport shoppingCartService from '../../../../services/Public/shoppingCart.service';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { GetCartInstructions } from '../../../Shared/InformationContent/GeneralInformation';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Swal from 'sweetalert2';\r\nimport BlockUi from 'react-block-ui';\r\nfunction ShoppingCartPage() {\r\n const [blocking, setBlocking] = useState(false);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [gridData, setGridData] = useState([]);\r\n const { push } = useHistory();\r\n var dispatch = useDispatch();\r\n var refreshToken = useSelector(x => x.refreshToken);\r\n useEffect(() => {\r\n refreshGrid();\r\n }, [])\r\n function refreshGrid() {\r\n shoppingCartService.getShoppingCartData().then((response) => {\r\n dispatch({ type: \"PERSIST_CURRENT_REFRESH\", payload: refreshToken + 1 });\r\n if (response.data.length > 0) {\r\n var total = response.data.reduce(function (total, currentValue) {\r\n return total + currentValue.feeDefinition.feeAmount;\r\n }, 0)\r\n response.data.push({ feeDefinition: { credentialType: 'Total', feeAmount: total }, id: 0 });\r\n }\r\n setGridData(response.data);\r\n setHasLoaded(true);\r\n });\r\n }\r\n const submitByMail = () => {\r\n Swal.fire({\r\n title: 'Confirm Mail-In Method',\r\n html: \"Are you sure you want to pay by Mail-In? Your application will not be reviewed until payment is received. Your application could take additional time to process.\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3b3',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continue'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n shoppingCartService.postMailPayment().then((response) => {\r\n dispatch({ type: \"PERSIST_INVOICE_ID\", payload: response.data.id });\r\n dispatch({ type: \"PERSIST_CURRENT_REFRESH\", payload: refreshToken + 1 });\r\n push('/firm/invoice');\r\n })\r\n }\r\n\r\n })\r\n }\r\n\r\n const submitElectronicPayment = () => {\r\n setBlocking(true);\r\n shoppingCartService.postOnlinePayment().then((response) => {\r\n if (response.data)\r\n document.location.href = response.data;\r\n })\r\n }\r\n return (\r\n \r\n { hasLoaded ?\r\n \r\n

Cart

\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
: \r\n }\r\n
\r\n )\r\n}\r\nexport default ShoppingCartPage;","\r\nimport React, { useEffect } from 'react'\r\nimport { useState } from 'react';\r\nimport { Button, Card } from 'react-bootstrap';\r\nimport { FaCheckCircle } from 'react-icons/fa';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Swal from 'sweetalert2';\r\nimport shoppingCartService from '../../../../services/Public/shoppingCart.service';\r\n\r\nfunction PaymentSuccessPage() {\r\n const [hasFinished, setHasFinished] = useState(false);\r\n const { push } = useHistory()\r\n\r\n useEffect(() => {\r\n const urlSearchParams = new URLSearchParams(window.location.search);\r\n const params = Object.fromEntries(urlSearchParams.entries());\r\n Swal.fire({\r\n title: `Processing`,\r\n didOpen: () => {\r\n Swal.showLoading();\r\n shoppingCartService.postOnlinePaymentToken(params.token).then((response) => {\r\n if (response.data) {\r\n var dataToTransmit = {\r\n RenewalIds: response.data.autoApprovedRenewalIds\r\n }\r\n shoppingCartService.postAutoRenewalPdfs(dataToTransmit).then((data) => {\r\n if (data) {\r\n Swal.close()\r\n setHasFinished(true)\r\n }\r\n })\r\n }\r\n })\r\n },\r\n allowOutsideClick: false\r\n })\r\n }, [])\r\n\r\n const returnToDash = () => {\r\n push('/firm')\r\n }\r\n return (\r\n <>\r\n {hasFinished ?\r\n \r\n \r\n <>\r\n \r\n

Your Payment was Successful

\r\n
Thank you for your payment. An automated payment receipt has been sent to your registered email.
\r\n \r\n \r\n
\r\n
: <>\r\n }\r\n \r\n );\r\n}\r\n\r\nexport default PaymentSuccessPage;","\r\nimport React from 'react'\r\nimport { useState } from 'react';\r\nimport { useEffect } from 'react';\r\nimport { Button, Card } from 'react-bootstrap';\r\nimport { FaTimes } from 'react-icons/fa';\r\nimport { useHistory } from 'react-router-dom';\r\nimport shoppingCartService from '../../../../services/Public/shoppingCart.service';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\n\r\nfunction PaymentFailedPage() {\r\n const { push } = useHistory()\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n\r\n useEffect(() => {\r\n const urlSearchParams = new URLSearchParams(window.location.search);\r\n const params = Object.fromEntries(urlSearchParams.entries());\r\n shoppingCartService.postFailOnlinePayment(params.token, params.r).then((response) => {\r\n if (response.data)\r\n setHasLoaded(true)\r\n })\r\n }, [])\r\n const returnToCart = () => {\r\n push('/firm/shoppingcart')\r\n }\r\n return (\r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n

\r\n \r\n

Payment Failed

\r\n

\r\n
Looks like we encountered an error. Please try again. If you continue to have issues, try another payment method.
\r\n \r\n : }\r\n
\r\n
\r\n\r\n );\r\n}\r\n\r\nexport default PaymentFailedPage;","import React, { useEffect, useState } from 'react'\r\nimport { Button, Card } from 'react-bootstrap';\r\nimport { FaTimes } from 'react-icons/fa';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Swal from 'sweetalert2';\r\nimport shoppingCartService from '../../../../services/Public/shoppingCart.service';\r\n\r\nfunction PaymentErrorPage() {\r\n const [hasFinished, setHasFinished] = useState(true);\r\n const { push } = useHistory()\r\n var dispatch = useDispatch();\r\n var refreshToken = useSelector(x => x.refreshToken);\r\n useEffect(() => {\r\n\r\n dispatch({ type: \"PERSIST_CURRENT_REFRESH\", payload: refreshToken + 1 });\r\n\r\n\r\n }, [])\r\n const returnToDash = () => {\r\n push('/firm')\r\n }\r\n return (\r\n <>\r\n {hasFinished ?\r\n \r\n \r\n <>\r\n \r\n

An Error has Occured

\r\n
There was an error trying to process your shopping cart. Please contact LAPELS to resolve this issue.
\r\n \r\n \r\n
\r\n
\r\n : <>\r\n }\r\n \r\n );\r\n}\r\n\r\nexport default PaymentErrorPage;","import React, { useEffect, useState } from 'react'\r\nimport { Button, Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { Form, Schema } from 'rsuite';\r\nimport { GetFirmGeneralContactInformationInstructions } from '../../../Shared/InformationContent/GeneralInformation'\r\nimport Information from '../../../Shared/Card/Information';\r\nimport Swal from 'sweetalert2';\r\nimport ContactService from '../../../../services/contact.service';\r\nimport MailingAddress from '../../../Shared/Card/Contact/MailingAddress';\r\nimport FirmInformation from '../../../Shared/Card/Contact/FirmInformation';\r\nimport PublicAddress from '../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\nimport dayjs from 'dayjs';\r\n\r\nfunction ContactInformationPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n useEffect(() => {\r\n ContactService.getFirmContactInformation().then((response) => {\r\n var data = response.data;\r\n setFormModel({\r\n ...data,\r\n dateOfFormation: data.dateOfFormation != null ? dayjs(data.dateOfFormation).format('YYYY-MM-DD') : null,\r\n orgType: data.organizationType?.code,\r\n primaryEmail: data.primaryEmailAddress?.emailAddress,\r\n phoneNum: data.phone?.phoneNumber\r\n\r\n })\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n const [formModel, setFormModel] = useState({})\r\n\r\n const { StringType, ObjectType } = Schema.Types;\r\n\r\n const model = Schema.Model({\r\n name: StringType().isRequired('This field is required.'),\r\n federalId: StringType().isRequired('This field is required.'),\r\n primaryEmail: StringType().isRequired('This field is required.'),\r\n contactName: StringType().isRequired('This field is required.'),\r\n orgType: StringType().isRequired('This field is required.'),\r\n domicileState: ObjectType().isRequired('This field is required.'),\r\n dateOfFormation: StringType().isRequired('This field is required.'),\r\n additionalInformation: StringType().isRequired('This field is required.'),\r\n phoneNum: StringType().isRequired('This field is required.').pattern(/^([(]\\d{3}[)][ ]\\d{3}[-]\\d{4})|[0-9]{10}/, \"Please enter a valid Phone Number\"),\r\n });\r\n const addressModel = Schema.Model({\r\n streetAddress: StringType().isRequired('This field is required.'),\r\n country: ObjectType().isRequired('This field is required.'),\r\n city: StringType().isRequired('This field is required.'),\r\n postalCode: StringType().isRequired('This field is required.'),\r\n state: ObjectType().isRequired('This field is required.'),\r\n provinceRegion: StringType().isRequired('This field is required.'),\r\n })\r\n\r\n const [tabPane, setTabPane] = useState(\"firmInformation\")\r\n\r\n const copyFromMailing = () => {\r\n setFormModel({\r\n ...formModel,\r\n publicAddress: formModel.mailingAddress == null ? {\r\n ...formModel.publicAddress,\r\n country: null,\r\n streetAddress: '',\r\n city: '',\r\n postalCode: '',\r\n state: null,\r\n provinceRegion: '',\r\n } : {\r\n ...formModel.publicAddress,\r\n country: formModel.mailingAddress?.country,\r\n streetAddress: formModel.mailingAddress?.streetAddress,\r\n city: formModel.mailingAddress?.city,\r\n postalCode: formModel.mailingAddress?.postalCode,\r\n state: formModel.mailingAddress?.state,\r\n provinceRegion: formModel.mailingAddress?.provinceRegion,\r\n }\r\n })\r\n }\r\n\r\n const formSubmit = (validation, event) => {\r\n var hasErrors = false;\r\n setFormModel({ ...formModel, mailingAddress: { ...formModel.mailingAddress, showErrors: true }, publicAddress: { ...formModel.publicAddress, showErrors: true } });\r\n var validationObject = model.check(formModel);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError) {\r\n document.getElementsByName(key)[0].scrollIntoView({ behavior: 'smooth', block: 'center' })\r\n hasErrors = true;\r\n setTabPane(\"firmInformation\")\r\n return;\r\n }\r\n }\r\n if (!formModel.mailingAddress) {\r\n hasErrors = true;\r\n setTabPane(\"mailingAddress\")\r\n }\r\n else {\r\n var mailingAddressValidationObject = addressModel.check(formModel.mailingAddress);\r\n for (const key in mailingAddressValidationObject) {\r\n if (mailingAddressValidationObject[key].hasError) {\r\n if (!(key.includes(\"provinceRegion\") && formModel.mailingAddress.country?.country === \"United States\") &&\r\n !(key.includes(\"state\") && formModel.mailingAddress.country?.country !== \"United States\")) {\r\n setTabPane(\"mailingAddress\")\r\n document.getElementsByName(key)[0].scrollIntoView({ behavior: 'smooth', block: 'center' })\r\n hasErrors = true;\r\n return;\r\n }\r\n }\r\n }\r\n if (!formModel.publicAddress) {\r\n hasErrors = true;\r\n setTabPane(\"publicAddress\")\r\n }\r\n else {\r\n var publicAddressValidationObject = addressModel.check(formModel.publicAddress);\r\n for (const key in publicAddressValidationObject) {\r\n if (publicAddressValidationObject[key].hasError) {\r\n if (!(key.includes(\"provinceRegion\") && formModel.publicAddress.country?.country === \"United States\") &&\r\n !(key.includes(\"state\") && formModel.publicAddress.country?.country !== \"United States\")) {\r\n setTabPane(\"publicAddress\")\r\n document.getElementsByName(key)[0].scrollIntoView({ behavior: 'smooth', block: 'center' })\r\n hasErrors = true;\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (!hasErrors) {\r\n submitData();\r\n }\r\n //if i have gotten here then no real errors\r\n //navigate to errors\r\n\r\n }\r\n\r\n const submitData = () => {\r\n var dataToTransmit = {\r\n ...formModel,\r\n primaryEmailAddress: { ...formModel.primaryEmailAddress, emailAddress: formModel.primaryEmail },\r\n phone: { ...formModel.phone, phoneNumber: formModel.phoneNum == '' ? null : formModel.phoneNum }\r\n };\r\n ContactService.postFirmContactInformation(dataToTransmit).then((response) => {\r\n if (response.data?.entityId)\r\n Swal.fire(\"Saved\", \"Contact Information was successfully saved!\", \"success\")\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n Contact Information\r\n

Contact

\r\n \r\n
\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)}\r\n onSubmit={formSubmit} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n { copyFromMailing() }} boundValues={formModel.publicAddress} />\r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import React, { useState } from 'react';\r\nimport { Container, Row, Col, Card, DropdownButton, Dropdown, ButtonGroup, Button } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useEffect } from 'react';\r\nimport applicationService from '../../../../services/Public/Application/application.service'\r\nimport { Table } from 'rsuite';\r\nimport { codeApplicationType } from '../../../../fakeCodeTable';\r\nimport { useDispatch } from 'react-redux';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Swal from 'sweetalert2';\r\nimport { GetAppInstruction } from '../../../Shared/InformationContent/GeneralInformation';\r\nimport Information from '../../../Shared/Card/Information';\r\n\r\nfunction Applications() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [showDropDown, setShowDropDown] = useState(true);\r\n const [applications, setApplications] = useState([]);\r\n\r\n const [hasLoadedHistorical, setHasLoadedHistorical] = useState(false);\r\n const [historicalRecords, setHistoricalRecords] = useState([]);\r\n\r\n const [currentAppTypeIds, setCurrentAppTypeIds] = useState([]);\r\n const [currentCredentialTypes, setCurrentCredentialTypes] = useState([]);\r\n const { push } = useHistory();\r\n const dispatch = useDispatch();\r\n const createApplication = (id) => {\r\n applicationService.createFirmApplication(id).then((response) => {\r\n if (response.status == 200) {\r\n applicationService.getFirmApplication(response.data).then((response) => {\r\n navigateAndSetCurrentApp(response.data)\r\n })\r\n }\r\n else {\r\n //give an alert of the fail\r\n }\r\n })\r\n }\r\n let applicationDropDown =\r\n \r\n {\r\n\r\n codeApplicationType.map((item, i) => {\r\n if (!currentAppTypeIds.includes(item.abbreviation) && !currentCredentialTypes.includes(item.abbreviation) && (item.id == 7 || item.id == 8)) {\r\n return ( createApplication(item.id)}> {item.applicationType} ({item.abbreviation}))\r\n }\r\n })\r\n }\r\n ;\r\n\r\n useEffect(() => {\r\n refreshApplicationGrid();\r\n applicationService.getFirmHistoricalApplications().then((response) => {\r\n if (response.data?.apps.length) {\r\n\r\n var sortedApps = response.data.apps.sort((a, b) => {\r\n return new Date(b.dateSubmitted) - new Date(a.dateSubmitted)\r\n });\r\n setHistoricalRecords({ creds: response.data.creds, apps: sortedApps });\r\n }\r\n setHasLoadedHistorical(true)\r\n });\r\n }, [])\r\n const refreshApplicationGrid = () => {\r\n setHasLoaded(false);\r\n applicationService.getFirmPendingApplications().then((response) => {\r\n setApplications(\r\n response.data?.apps)\r\n setCurrentAppTypeIds(response.data?.apps.map(x => x.applicationType?.abbreviation)); // Will need to get user certifications later to be part of this to filter out\r\n setCurrentCredentialTypes(response.data?.creds?.map(x => x.credentialType?.prefix)); // Will need to get user certifications later to be part of this to filter out\r\n if (response.data?.apps?.length + response.data?.creds?.length == 2) //firm currently has two app types, if this increases we need to increase this number\r\n setShowDropDown(false);\r\n else\r\n setShowDropDown(true);\r\n setHasLoaded(true);\r\n })\r\n }\r\n\r\n const deleteDraft = (rowData) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, delete it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n applicationService.deleteFirmDraft(rowData.id).then((response) => {\r\n refreshApplicationGrid();\r\n })\r\n }\r\n })\r\n }\r\n const navigateAndSetCurrentApp = (rowData) => {\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: rowData.id });\r\n if (rowData?.sections?.length) {\r\n var route = [];\r\n\r\n for (var i = 0; i < rowData.sections.length; i++) {\r\n var link = rowData?.applicationType?.id == 7 ? \"/firm/efApp/\" : \"/firm/vfApp/\";\r\n let sectionId = rowData.sections[i].sectionType.id\r\n switch (sectionId) {\r\n case 1:\r\n link += \"contactInformation\"\r\n break;\r\n case 13:\r\n link += \"waiver\"\r\n break;\r\n case 14:\r\n link += \"supervisingProfessional\"\r\n break;\r\n case 4:\r\n link += \"violations\"\r\n break;\r\n case 15:\r\n link += \"unlicensedActivity\"\r\n break;\r\n case 8:\r\n link += \"acknowledgement\"\r\n break;\r\n case 9:\r\n link += \"review\"\r\n break;\r\n default:\r\n break;\r\n }\r\n route.push({ sectionId: rowData.sections[i].sectionType.id, route: link })\r\n }\r\n\r\n }\r\n\r\n dispatch({ type: \"PERSIST_CURRENT_ROUTE\", payload: route })\r\n var sectionsLink = rowData?.applicationType?.id == 7 ? \"/firm/efApp/sections\" : \"/firm/vfApp/sections\";\r\n push(sectionsLink);\r\n }\r\n\r\n return (\r\n
\r\n\r\n \r\n

Applications

\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {hasLoaded && showDropDown &&\r\n \r\n
\r\n {applicationDropDown}\r\n
\r\n }\r\n
\r\n
\r\n \r\n {hasLoaded ?\r\n \r\n \r\n \r\n \r\n \r\n {rowData => (\r\n <>\r\n \r\n {rowData.status?.status === \"Draft\" &&\r\n \r\n }\r\n \r\n )}\r\n \r\n \r\n\r\n \r\n \r\n Application Type\r\n \r\n \r\n {rowData => (rowData.applicationType?.type)}\r\n \r\n \r\n \r\n \r\n Date Created\r\n \r\n \r\n {rowData => (rowData.dateCrte ? new Date(rowData.dateCrte).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Date Submitted\r\n \r\n \r\n {rowData => (rowData.dateSubmitted ? new Date(rowData.dateSubmitted).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Review Status\r\n \r\n \r\n {rowData => (rowData.status?.status)}\r\n \r\n \r\n\r\n
: \r\n }\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
Historical Applications
\r\n \r\n {hasLoadedHistorical ?\r\n \r\n \r\n \r\n Application Type\r\n \r\n \r\n {rowData => (rowData.applicationType?.type)}\r\n \r\n \r\n \r\n \r\n License Status\r\n \r\n \r\n {rowData => {\r\n var cred = historicalRecords.creds.filter(x => x.applicationId == rowData.id);\r\n if (cred[0].credential)\r\n return (cred[0].credential.status?.status)\r\n }}\r\n \r\n \r\n \r\n \r\n Expiration Date\r\n \r\n \r\n {rowData => {\r\n var cred = historicalRecords.creds.filter(x => x.applicationId == rowData.id);\r\n if (cred[0].credential)\r\n return (cred[0].credential.expirationDate ? new Date(cred[0].credential.expirationDate).toLocaleDateString() : '')\r\n }}\r\n \r\n \r\n \r\n \r\n Date Created\r\n \r\n \r\n {rowData => (rowData.dateCrte ? new Date(rowData.dateCrte).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Date Submitted\r\n \r\n \r\n {rowData => (rowData.dateSubmitted ? new Date(rowData.dateSubmitted).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Date Approved/Declined\r\n \r\n \r\n {rowData => {\r\n var cred = historicalRecords.creds.filter(x => x.applicationId == rowData.id);\r\n if (cred.length)\r\n return (cred[0].dateActioned ? new Date(cred[0].dateActioned).toLocaleDateString() : '')\r\n }}\r\n \r\n \r\n \r\n \r\n Review Status\r\n \r\n \r\n {rowData => (rowData.status?.status)}\r\n \r\n \r\n\r\n
: \r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default Applications;","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, Card, Button } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useDispatch } from 'react-redux';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Icon, Table } from 'rsuite';\r\nimport renewalService from '../../../../services/Public/Renewal/renewal.service';\r\nimport Swal from 'sweetalert2';\r\nimport Information from '../../../Shared/Card/Information';\r\nimport { GetRenewalInstruction } from '../../../Shared/InformationContent/GeneralInformation';\r\n\r\nfunction Renewals() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [credentialList, setCredentialList] = useState([]);\r\n\r\n const [hasLoadedHistorical, setHasLoadedHistorical] = useState(false);\r\n const [historicalRecords, setHistoricalRecords] = useState([]);\r\n\r\n const { push } = useHistory();\r\n const dispatch = useDispatch();\r\n\r\n const navigateAndSetCurrentApp = (rowData) => {\r\n var credentialTypeId = rowData.credential?.credentialType?.id;\r\n if (credentialTypeId === 2\r\n || credentialTypeId === 1) {\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: rowData.renewalId });\r\n if (rowData?.sections?.length) {\r\n setUpRoutes(rowData.sections, credentialTypeId);\r\n }\r\n if (credentialTypeId === 2)\r\n push(\"/firm/vfrenewal/sections\");\r\n else if (credentialTypeId === 1)\r\n push(\"/firm/efRenewal/sections\");\r\n }\r\n else {\r\n Swal.fire(\"Not Implemented!\");\r\n }\r\n }\r\n const setUpRoutes = (sections, credentialTypeId) => {\r\n var route = [];\r\n for (var i = 0; i < sections.length; i++) {\r\n let sectionId = sections[i].sectionType.id\r\n var link = \"\";\r\n if (credentialTypeId === 2)\r\n link = \"/firm/vfRenewal/\";\r\n else if (credentialTypeId === 1)\r\n link = \"/firm/efrenewal/\";\r\n switch (sectionId) {\r\n case 1:\r\n link += \"contactInformation\"\r\n break;\r\n case 2:\r\n link += \"licenseStatus\"\r\n break;\r\n case 3:\r\n link += \"cpdRequirements\"\r\n break;\r\n case 4:\r\n link += \"violations\"\r\n break;\r\n case 5:\r\n link += \"supervisingprofessional\"\r\n break;\r\n case 6:\r\n link += \"privacy\"\r\n break;\r\n case 7:\r\n link += \"acknowledgement\"\r\n break;\r\n case 8:\r\n link += \"review\"\r\n break;\r\n case 9:\r\n link += \"waiver\"\r\n break;\r\n default:\r\n }\r\n route.push({ sectionId: sections[i].sectionType.id, route: link })\r\n }\r\n dispatch({ type: \"PERSIST_CURRENT_ROUTE\", payload: route })\r\n }\r\n\r\n const createAndSetCurrentApp = (rowData) => {\r\n var credentialTypeId = rowData.credential?.credentialType?.id;\r\n if (credentialTypeId === 2\r\n || credentialTypeId === 1) {\r\n renewalService.createFirmRenewal(rowData.credential.credentialType.id, rowData.credential.id).then((response) => {\r\n renewalService.getFirmRenewal(response.data).then((data) => {\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: response.data });\r\n setUpRoutes(data.data.sections, credentialTypeId);\r\n if (credentialTypeId === 2)\r\n push(\"/firm/vfRenewal/sections\");\r\n else if (credentialTypeId === 1)\r\n push(\"/firm/efrenewal/sections\");\r\n })\r\n })\r\n }\r\n else {\r\n Swal.fire(\"Not Implemented!\");\r\n }\r\n }\r\n useEffect(() => {\r\n renewalService.getFirmPendingRenewals().then((response) => {\r\n if (response.data.length)\r\n setCredentialList(response.data);\r\n setHasLoaded(true);\r\n });\r\n renewalService.getFirmHistoricalRenewals().then((response) => {\r\n if (response.data.length)\r\n setHistoricalRecords(response.data.sort((a, b) => { return new Date(b.dateSubmitted) - new Date(a.dateSubmitted) }));\r\n setHasLoadedHistorical(true);\r\n })\r\n }, [])\r\n return (\r\n
\r\n \r\n

Renewals

\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
Renew a license
\r\n \r\n {hasLoaded ?\r\n \r\n \r\n \r\n \r\n \r\n {rowData => (\r\n )}\r\n \r\n \r\n \r\n \r\n License\r\n \r\n \r\n {rowData => (rowData.credential?.formattedLicenseNumber)}\r\n \r\n \r\n \r\n \r\n Expiration Date\r\n \r\n \r\n {rowData => (rowData.credential?.expirationDate ? new Date(rowData.credential?.expirationDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Date Created\r\n \r\n \r\n {rowData => (rowData.dateCrte ? new Date(rowData.dateCrte).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Date Submitted\r\n \r\n \r\n {rowData => (rowData.dateSubmitted ? new Date(rowData.dateSubmitted).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n License Status\r\n \r\n \r\n {rowData => (rowData.credential?.status?.status)}\r\n \r\n \r\n \r\n \r\n Review Status\r\n \r\n \r\n {rowData => (rowData.status?.status)}\r\n \r\n \r\n\r\n
: \r\n }\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
Historical Renewals
\r\n \r\n {hasLoadedHistorical ?\r\n \r\n {/**/}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* {rowData => (*/}\r\n {/* */}\r\n {/* )}*/}\r\n {/* */}\r\n {/**/}\r\n \r\n \r\n License\r\n \r\n \r\n {rowData => (rowData.credential?.formattedLicenseNumber)}\r\n \r\n \r\n \r\n \r\n License Status\r\n \r\n \r\n {rowData => (rowData.credential?.status?.status)}\r\n \r\n \r\n \r\n \r\n Expiration Date\r\n \r\n \r\n {rowData => (rowData.credential?.expirationDate ? new Date(rowData.credential?.expirationDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Date Created\r\n \r\n \r\n {rowData => (rowData.dateCrte ? new Date(rowData.dateCrte).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Date Submitted\r\n \r\n \r\n {rowData => (rowData.dateSubmitted ? new Date(rowData.dateSubmitted).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Date Approved/Declined\r\n \r\n \r\n {rowData => (rowData.dateActioned ? new Date(rowData.dateActioned).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Review Status\r\n \r\n \r\n {rowData => (rowData.status?.status)}\r\n \r\n \r\n\r\n
: \r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default Renewals;","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, Card, Button } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useDispatch } from 'react-redux';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Table } from 'rsuite';\r\nimport reinstatementService from '../../../../services/Public/Reinstatement/reinstatement.service';\r\nimport Swal from 'sweetalert2';\r\nimport Information from '../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../Shared/InformationContent/VFInformation';\r\n\r\nfunction Reinstatements() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [credentialList, setCredentialList] = useState([]);\r\n\r\n const [hasLoadedHistorical, setHasLoadedHistorical] = useState(false);\r\n const [historicalRecords, setHistoricalRecords] = useState([]);\r\n\r\n const { push } = useHistory();\r\n const dispatch = useDispatch();\r\n\r\n const navigateAndSetCurrentApp = (rowData) => {\r\n var credentialTypeId = rowData.credential?.credentialType?.id;\r\n if (credentialTypeId === 2\r\n || credentialTypeId === 1) {\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: rowData.reinstatementId });\r\n if (rowData?.sections?.length) {\r\n setUpRoutes(rowData.sections, credentialTypeId);\r\n }\r\n if (credentialTypeId === 2)\r\n push(\"/firm/vfReinstatement/sections\");\r\n else if (credentialTypeId === 1)\r\n push(\"/firm/efreinstatement/sections\");\r\n }\r\n else {\r\n Swal.fire(\"Not Implemented!\");\r\n }\r\n }\r\n const setUpRoutes = (sections, credentialTypeId) => {\r\n var route = [];\r\n for (var i = 0; i < sections.length; i++) {\r\n let sectionId = sections[i].sectionType.id\r\n var link = \"\";\r\n if (credentialTypeId === 2)\r\n link = \"/firm/vfReinstatement/\";\r\n else if (credentialTypeId === 1)\r\n link = \"/firm/efreinstatement/\";\r\n switch (sectionId) {\r\n case 1:\r\n link += \"contactInformation\"\r\n break;\r\n case 3:\r\n link += \"violations\"\r\n break;\r\n case 9:\r\n link += \"acknowledgement\"\r\n break;\r\n case 10:\r\n link += \"review\"\r\n break;\r\n case 12:\r\n link += \"waiver\"\r\n break;\r\n case 13:\r\n link += \"supervisingProfessional\"\r\n break;\r\n case 14:\r\n link += \"unlicensedActivity\"\r\n break;\r\n default:\r\n }\r\n route.push({ sectionId: sections[i].sectionType.id, route: link })\r\n }\r\n dispatch({ type: \"PERSIST_CURRENT_ROUTE\", payload: route })\r\n }\r\n\r\n const createAndSetCurrentApp = (rowData) => {\r\n var credentialTypeId = rowData.credential?.credentialType?.id;\r\n if (credentialTypeId === 2\r\n || credentialTypeId === 1) {\r\n reinstatementService.createFirmReinstatement(rowData.credential.credentialType.id, rowData.credential.id).then((response) => {\r\n reinstatementService.getFirmReinstatement(response.data).then((data) => {\r\n dispatch({ type: \"PERSIST_CURRENT_APP_ID\", payload: response.data });\r\n setUpRoutes(data.data.sections, credentialTypeId);\r\n if (credentialTypeId === 2)\r\n push(\"/firm/vfReinstatement/sections\");\r\n else if (credentialTypeId === 1)\r\n push(\"/firm/efreinstatement/sections\");\r\n })\r\n })\r\n }\r\n else {\r\n Swal.fire(\"Not Implemented!\");\r\n }\r\n }\r\n useEffect(() => {\r\n reinstatementService.getFirmPendingReinstatements().then((response) => {\r\n if (response.data.length)\r\n setCredentialList(response.data);\r\n setHasLoaded(true);\r\n });\r\n reinstatementService.getFirmHistoricalReinstatements().then((response) => {\r\n if (response.data.length)\r\n setHistoricalRecords(response.data.sort((a, b) => { return new Date(b.dateSubmitted) - new Date(a.dateSubmitted) }));\r\n setHasLoadedHistorical(true);\r\n });\r\n }, [])\r\n return (\r\n
\r\n \r\n

Reinstatement

\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
Reinstate a license
\r\n \r\n {hasLoaded ?\r\n \r\n \r\n \r\n \r\n \r\n {rowData => (\r\n )}\r\n \r\n \r\n \r\n \r\n License\r\n \r\n \r\n {rowData => (rowData.credential?.formattedLicenseNumber)}\r\n \r\n \r\n \r\n \r\n Expiration Date\r\n \r\n \r\n {rowData => (rowData.credential?.expirationDate ? new Date(rowData.credential?.expirationDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Date Created\r\n \r\n \r\n {rowData => (rowData.dateCrte ? new Date(rowData.dateCrte).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Date Submitted\r\n \r\n \r\n {rowData => (rowData.dateSubmitted ? new Date(rowData.dateSubmitted).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n License Status\r\n \r\n \r\n {rowData => (rowData.credential?.status?.status)}\r\n \r\n \r\n \r\n \r\n Review Status\r\n \r\n \r\n {rowData => (rowData.status?.status)}\r\n \r\n \r\n\r\n
: \r\n }\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
Historical Reinstatements
\r\n \r\n {hasLoadedHistorical ?\r\n \r\n {/**/}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* {rowData => (*/}\r\n {/* )}*/}\r\n {/* */}\r\n {/**/}\r\n \r\n \r\n License\r\n \r\n \r\n {rowData => (rowData.credential?.formattedLicenseNumber)}\r\n \r\n \r\n \r\n \r\n License Status\r\n \r\n \r\n {rowData => (rowData.credential?.status?.status)}\r\n \r\n \r\n \r\n \r\n Expiration Date\r\n \r\n \r\n {rowData => (rowData.credential?.expirationDate ? new Date(rowData.credential?.expirationDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Date Created\r\n \r\n \r\n {rowData => (rowData.dateCrte ? new Date(rowData.dateCrte).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Date Submitted\r\n \r\n \r\n {rowData => (rowData.dateSubmitted ? new Date(rowData.dateSubmitted).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Date Approved/Declined\r\n \r\n \r\n {rowData => (rowData.dateActioned ? new Date(rowData.dateActioned).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Review Status\r\n \r\n \r\n {rowData => (rowData.status?.status)}\r\n \r\n \r\n\r\n
: \r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default Reinstatements;","import { useState, useEffect } from 'react'\r\nimport { Button, Card, Col, Modal, Row } from 'react-bootstrap'\r\nimport React from 'react'\r\nimport { ControlLabel, Schema, Form, FormControl, FormGroup, AutoComplete } from 'rsuite'\r\nimport YesNoRadioOption from '../../../Shared/RadioButton/YesNoRadioOption';\r\nimport { getIndividualCredentials } from '../../../../services/Shared/codeTable.service'\r\nimport RedStar from '../../../Shared/GenericComponents/RedStar';\r\nimport supervisingProfessionalService from '../../../../services/supervisingProfessional.service';\r\nimport Swal from 'sweetalert2';\r\n\r\nfunction AddNewSupervisingProfessionalModal(props) {\r\n const [individualCreds, setIndividualCreds] = useState();\r\n const updateIndividualCreds = (value) => {\r\n getIndividualCredentials(value).then(setIndividualCreds);\r\n }\r\n const [supervisingProfessionalModel, setSupervisingProfessionalModel] = useState({\r\n individualCredential: \"\",\r\n ownerOfFirm: \"\"\r\n })\r\n\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n individualCredential: StringType().isRequired('This field is required.').pattern(/^.*\\.[0-9]{7}.*$/, \"Please select a license number.\"),\r\n ownerOfFirm: BooleanType().isRequired('This field is required.'),\r\n })\r\n const formSubmit = (val, event) => {\r\n if (val) {\r\n var licenseNum = supervisingProfessionalModel.individualCredential ? supervisingProfessionalModel.individualCredential.split(\"(\")[1].split(\")\")[0] : null;\r\n supervisingProfessionalService.postFirmSupervisingProfessional(licenseNum, supervisingProfessionalModel.ownerOfFirm).then((response) => {\r\n if (response.data.supervisingProfessionalId) {\r\n props.updateGrid();\r\n props.onHide();\r\n setSupervisingProfessionalModel({\r\n individualCredential: \"\",\r\n ownerOfFirm: \"\"\r\n });\r\n Swal.fire(\"Saved\", `An email notification was sent to ${response.data.professionalEmailAddress} to sign into their LOLA account, go to the \\\"SP Locker\\\", and accept the role of SP. Once the role has been accepted, you can complete the firm application, renewal, or reinstatement`, \"success\");\r\n }\r\n }).catch((error) => { if (error?.response?.data) { Swal.fire(\"Error!\", error?.response?.data, 'error') } });\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n Supervising Professionals\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n License # \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Owner of this firm? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default AddNewSupervisingProfessionalModal;","import React, { useState, useEffect } from 'react'\r\nimport { Button, Card, Col, Container, Row } from 'react-bootstrap';\r\nimport { Icon, Table } from 'rsuite';\r\nimport Swal from 'sweetalert2';\r\nimport GenericBadge from '../../../Shared/Badge/GenericBadge';\r\nimport Information from '../../../Shared/Card/Information';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\nimport AddNewSupervisingProfessionalModal from './AddNewSupervisingProfessionalModal'\r\nimport { GetSupervisingProfessionalFirmInstructions } from '../../../Shared/InformationContent/GeneralInformation';\r\nimport supervisingProfessionalService from '../../../../services/supervisingProfessional.service';\r\nimport applicationService from '../../../../services/Public/Application/application.service';\r\n\r\nfunction SupervisingProfessionalPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [modalShow, setModalShow] = useState(false);\r\n const [showAddNewButton, setShowAddNewButton] = useState(false);\r\n const [supervisingProfessionals, setSupervisingProfessionals] = useState([]);\r\n const openModal = (values) => {\r\n setModalShow(true);\r\n }\r\n useEffect(() => {\r\n refreshGrid();\r\n setHasLoaded(true);\r\n }, [])\r\n const refreshGrid = () => {\r\n applicationService.getFirmPendingApplications().then((response) => {\r\n if (response.data?.creds.length > 0 || response.data?.apps.length > 0) {\r\n setShowAddNewButton(true);\r\n }\r\n supervisingProfessionalService.getFirmSupervisingProfessional().then((data) => {\r\n setSupervisingProfessionals(data.data);\r\n })\r\n })\r\n }\r\n const inactivateSupervisingProfessional = (values) => {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"By choosing to inactivate this supervising professional, this record will be removed from your supervising professional locker.  Would you like to continue?\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n setHasLoaded(false)\r\n supervisingProfessionalService.inactivateSupervisingProfessional(values.relationshipId, values.supervisingProfessionalId)\r\n .then(() => { refreshGrid(); setHasLoaded(true) })\r\n .catch((error) => { if (error?.response?.data) { Swal.fire(\"Error!\", error?.response?.data, 'error') } })\r\n .finally(() => setHasLoaded(true));\r\n // Some service that removes it + refresh when it's good\r\n }\r\n })\r\n }\r\n const changeOwnership = (values) => {\r\n var text = values.isOwner ? \"This will change the supervising professional to an employee of the firm.\" : \"This will change the supervising professional to an owner of the firm.\";\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: text,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n setHasLoaded(false)\r\n supervisingProfessionalService.changeSupervisingProfessionalOwnership(values.relationshipId, values.supervisingProfessionalId)\r\n .then(() => { refreshGrid(); setHasLoaded(true) })\r\n .catch((error) => { if (error?.response?.data) { Swal.fire(\"Error!\", error?.response?.data, 'error') } })\r\n .finally(() => setHasLoaded(true));\r\n }\r\n })\r\n }\r\n return (\r\n
\r\n \r\n setModalShow(false)} updateGrid={refreshGrid} />\r\n

Supervising Professional

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
Supervising Professional
\r\n \r\n {showAddNewButton &&\r\n \r\n \r\n \r\n }\r\n
\r\n
\r\n \r\n {hasLoaded ?\r\n \r\n \r\n \r\n Name\r\n \r\n \r\n {rowData => (rowData.professionalFormattedName)}\r\n \r\n \r\n \r\n \r\n License #\r\n \r\n \r\n {rowData => (rowData.professionalFormattedLicenseNumber)}\r\n \r\n \r\n \r\n \r\n SP Employee/Owner Status (click to update)\r\n \r\n \r\n {\r\n rowData => (\r\n
\r\n \r\n  \r\n \r\n  \r\n \r\n
\r\n )\r\n }\r\n
\r\n
\r\n \r\n \r\n Sent Date\r\n \r\n \r\n {rowData => (rowData.sentDate ? new Date(rowData.sentDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Response Date\r\n \r\n \r\n {rowData => (rowData.responseDate ? new Date(rowData.responseDate).toLocaleDateString() : '')}\r\n \r\n \r\n \r\n \r\n Verification Status\r\n \r\n {rowData => (rowData.codeVerificationStatus?.verificationStatus ? : '')}\r\n \r\n \r\n \r\n \r\n \r\n {rowData => (\r\n <>\r\n \r\n \r\n )}\r\n \r\n \r\n
: \r\n }\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\nexport default SupervisingProfessionalPage","import React, { useState } from 'react';\r\nimport { Container, Row, Col, Card } from 'react-bootstrap';\r\nimport { useEffect } from 'react';\r\nimport LoadingSpinner from '../../../Shared/GenericComponents/LoadingSpinner';\r\nimport Invoice from '../../../Shared/Card/Invoice';\r\nimport invoiceService from '../../../../services/Shared/invoice.service';\r\nimport { useSelector } from 'react-redux';\r\n\r\nfunction InvoicePage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [invoiceData, setInvoiceData] = useState([]);\r\n const [entity, setEntity] = useState({});\r\n const [licenseNumbers, setLicenseNumbers] = useState([]);\r\n const invoiceId = useSelector(x => x.currentInvoiceId);\r\n useEffect(() => {\r\n invoiceService.getInvoice(invoiceId).then((response) => {\r\n setInvoiceData(response.data);\r\n invoiceService.getEntityInfo(response.data.entityId).then((data) => {\r\n setEntity(data.data);\r\n invoiceService.getEntityLicenseInfo(response.data.entityId, invoiceId).then((licenseResponse) => {\r\n setLicenseNumbers([...licenseResponse.data]);\r\n setHasLoaded(true);\r\n })\r\n })\r\n })\r\n }, [])\r\n\r\n return (\r\n \r\n {hasLoaded ?\r\n \r\n

Invoice

\r\n \r\n \r\n \r\n Requirements\r\n

Select the Print button below to print the invoice and mail with payment to the following address:

\r\n

Please make your check payable to: LAPELS

\r\n
\r\n Please send this invoice with your check to:
\r\n LAPELS
\r\n 8550 United Plaza Boulevard, Suite 903
\r\n Baton Rouge, LA 70809-2296
\r\n\r\n
\r\n

Please also send in a LAPELS PAYMENT AUTHORIZATION FORM along with your invoice if paying by credit card or ACH. https://www.lapels.com/payments.html

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n
: \r\n }\r\n
\r\n )\r\n}\r\nexport default InvoicePage;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst vfGetSection = (applicationId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/FirmVfApplication/section`, { headers: authHeader(), params: { applicationId, sectionId } });\r\n}\r\n\r\nconst vfPostSection = (applicationId, sectionId, electronicSignature) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmVfApplication/signsection`, null, { headers: authHeader(), params: { applicationId, sectionId, electronicSignature } });\r\n}\r\n\r\nconst vfPostSectionHasWordOffering = (applicationId, sectionId, hasWordOfferingProfessionalServices) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmVfApplication/setsectionhaswordofferingprofessionalservices`, null, { headers: authHeader(), params: { applicationId, sectionId, hasWordOfferingProfessionalServices } });\r\n}\r\nconst vfPostSectionHasFirmSubmittedSupervisingProfessional = (applicationId, sectionId, hasFirmSubmittedSupervisingProfessional) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmVfApplication/setsectionhasfirmsubmittedsupervisingprofessional`, null, { headers: authHeader(), params: { applicationId, sectionId, hasFirmSubmittedSupervisingProfessional } });\r\n}\r\n\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Verify personal and contact information is correct and accurate.\",\r\n },\r\n {\r\n id: 13,\r\n sectionTitle: \"Waiver Request/Certificate of Good Standing Forms\",\r\n sectionContent: \"Verify information requested and upload any supporting documents.\",\r\n },\r\n {\r\n id: 14,\r\n sectionTitle: \"Firm Supervising Professionals\",\r\n sectionContent: \"Certify any supervising professionals working on behalf of a firm.\",\r\n },\r\n {\r\n id: 4,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 15,\r\n sectionTitle: \"Unlicensed Activity\",\r\n sectionContent: \"Question if the firm has ever practiced or offered to practice engineering or land surveying in Louisiana.\",\r\n },\r\n {\r\n id: 8,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Verify you have read the Rules for Professional Engineers and Land Surveyors (LAC Title 46, Part LXI), and agree.\",\r\n },\r\n {\r\n id: 9,\r\n sectionTitle: \"Review\",\r\n sectionContent: 'Review your answers. If you need to change an answer, click the \"Section\" above to go back to the appropriate section',\r\n }\r\n])\r\n\r\nexport default {\r\n vfGetSection,\r\n vfPostSection,\r\n vfPostSectionHasWordOffering,\r\n vfPostSectionHasFirmSubmittedSupervisingProfessional\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, ListGroup } from 'react-bootstrap';\r\nimport Section from '../../../../../Shared/Sections/Section';\r\nimport { getSections } from \"../../../../../../services/Public/Application/VF/vfApplication.service\";\r\nimport { useSelector } from 'react-redux';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/VFInformation';\r\nimport issuesService from '../../../../../../services/Shared/issues.service';\r\n\r\nfunction Index() {\r\n const [sections, setSections] = useState(null);\r\n const selector = useSelector(x => x);\r\n useEffect(() => {\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(1, selector.currentApplicationId).then((data) => {\r\n setSections(selector.currentRoutes != null ? selector.currentRoutes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n })\r\n })\r\n }, [])\r\n\r\n return (\r\n
\r\n \r\n Surveying Firm Application\r\n

Surveying Firm

\r\n \r\n \r\n \r\n
\r\n \r\n \r\n

Sections to Complete

\r\n \r\n {sections}\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default Index;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst VFAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/FirmVfApplication\";\r\n\r\nconst getContactInformation = (applicationId) => {\r\n return axios.get(`${VFAPPLICATIONURL}/contactinformation`, { headers: authHeader(), params: { applicationId } });\r\n}\r\n//const postContactInformation = (applicationId, certDisplayName) => {\r\n// return axios.post(`${VFAPPLICATIONURL}/contactinformation`, null, { headers: authHeader(), params: { applicationId, certDisplayName } });\r\n//}\r\nexport default {\r\n getContactInformation,\r\n //postContactInformation\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport { Form, Schema } from 'rsuite';\r\nimport dayjs from 'dayjs';\r\nimport { GetFirmGeneralContactInformationInstructions } from '../../../../../Shared/InformationContent/GeneralInformation'\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport contactService from '../../../../../../services/Public/Application/VF/contact.service';\r\nimport applicationService from '../../../../../../services/Public/Application/VF/vfApplication.service';\r\nimport MailingAddress from '../../../../../Shared/Card/Contact/MailingAddress';\r\nimport FirmInformation from '../../../../../Shared/Card/Contact/FirmInformation';\r\nimport PublicAddress from '../../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction ContactInformationPage() {\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const [sectionData, setSectionData] = useState({});\r\n\r\n useEffect(() => {\r\n contactService.getContactInformation(appId).then((response) => {\r\n var data = response.data;\r\n setFormModel({\r\n ...data,\r\n dateOfFormation: data.dateOfFormation != null ? dayjs(data.dateOfFormation).format('YYYY-MM-DD') : null,\r\n orgType: data.organizationType?.code,\r\n primaryEmail: data.primaryEmailAddress?.emailAddress,\r\n phoneNum: data.phone?.phoneNumber\r\n\r\n })\r\n applicationService.vfGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n }, [])\r\n\r\n const [formModel, setFormModel] = useState({})\r\n\r\n const { StringType, ObjectType } = Schema.Types;\r\n\r\n const model = Schema.Model({\r\n federalId: StringType().isRequired('This field is required.'),\r\n orgType: StringType().isRequired('This field is required.'),\r\n primaryEmail: StringType().isRequired('This field is required.'),\r\n dateOfFormation: StringType().isRequired('This field is required.'),\r\n name: StringType().isRequired('This field is required.'),\r\n domicileState: ObjectType().isRequired('This field is required.'),\r\n });\r\n const addressModel = Schema.Model({\r\n streetAddress: StringType().isRequired('This field is required.'),\r\n country: ObjectType().isRequired('This field is required.'),\r\n city: StringType().isRequired('This field is required.'),\r\n postalCode: StringType().isRequired('This field is required.'),\r\n state: ObjectType().isRequired('This field is required.'),\r\n provinceRegion: StringType().isRequired('This field is required.'),\r\n })\r\n\r\n const [tabPane, setTabPane] = useState(\"firmInformation\")\r\n\r\n const submitData = () => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n\r\n }\r\n\r\n return (\r\n
\r\n \r\n Contact Information\r\n

Contact

\r\n \r\n
\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)}\r\n onSubmit={submitData} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/VFInformation';\r\nimport applicationService from '../../../../../../services/Public/Application/VF/vfApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport SupervisingProfessional from '../../../../../Shared/Card/SupervisingProfessional';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction SupervisingProfessionalPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 14;\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasFirmSubmittedSupervisingProfessional: BooleanType().isRequired('This field is required.'),\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n applicationService.vfGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const { push } = useHistory();\r\n const showAdditionalFields = sectionData.hasFirmSubmittedSupervisingProfessional;\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (val) {\r\n applicationService.vfPostSection(store.currentApplicationId, sectionId, sectionData.electronicSignature).then((response) => {\r\n if (response.data) {\r\n applicationService.vfPostSectionHasFirmSubmittedSupervisingProfessional(store.currentApplicationId, sectionId, sectionData.hasFirmSubmittedSupervisingProfessional).then((data) => {\r\n if (data.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n })\r\n }\r\n\r\n }\r\n }\r\n return (\r\n
\r\n \r\n
\r\n Surveying Firm Application\r\n

Supervising Professional

\r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default SupervisingProfessionalPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst VFAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/FirmVfApplication\";\r\n\r\nconst getUnlicensedActivity = (applicationId) => {\r\n return axios.get(`${VFAPPLICATIONURL}/unlicensedActivity`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postUnlicensedActivity = (data) => {\r\n return axios.post(`${VFAPPLICATIONURL}/unlicensedActivity`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getUnlicensedActivity,\r\n postUnlicensedActivity\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/VFInformation';\r\nimport unlicensedActivityService from '../../../../../../services/Public/Application/VF/unlicensedActivity.service';\r\nimport applicationService from '../../../../../../services/Public/Application/VF/vfApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport UnlicensedActivity from '../../../../../Shared/Card/FirmUnlicensedActivity';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction UnlicensedActivityPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 15;\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasUnlicensedActivity: BooleanType().isRequired('This field is required.'),\r\n explanation: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n applicationService.vfGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n unlicensedActivityService.getUnlicensedActivity(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, files: formData.files, filesForDisplay: formData.filesForDisplay });\r\n }\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n hasUnlicensedActivity: undefined,\r\n explanation: \"\",\r\n files: [],\r\n filesForDisplay: []\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData.hasUnlicensedActivity;\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"explanation\") || (showAdditionalFields && key.includes(\"explanation\")))) {\r\n return;\r\n }\r\n\r\n }\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, applicationId: store.currentApplicationId, entityId: store.userInfo.EntityId };\r\n unlicensedActivityService.postUnlicensedActivity(dataTransfer).then((response) => {\r\n if (response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n Surveying Firm Application\r\n

Unlicensed Activity

\r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default UnlicensedActivityPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst VFAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/FirmVfApplication\";\r\n\r\nconst getViolation = (applicationId) => {\r\n return axios.get(`${VFAPPLICATIONURL}/violation`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postViolation = (data) => {\r\n return axios.post(`${VFAPPLICATIONURL}/violation`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getViolation,\r\n postViolation\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport { useSelector } from 'react-redux';\r\nimport ViolationService from '../../../../../../services/Public/Application/VF/violation.service';\r\nimport applicationService from '../../../../../../services/Public/Application/VF/vfApplication.service';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/VFInformation';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { getCodeViolationAnswers } from '../../../../../../services/Shared/codeTable.service';\r\nimport GenericViolations from '../../../../../Shared/Card/Violations';\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 4;\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n yesAnswerExplanation: StringType().isRequired('This field is required.'),\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n applicationService.vfGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n ViolationService.getViolation(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, issues: formData.issues, files: formData.files, filesForDisplay: formData.filesForDisplay });\r\n }\r\n else {\r\n getCodeViolationAnswers(8).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n question1: undefined,\r\n question2: undefined,\r\n question3: undefined,\r\n question4: undefined,\r\n yesAnswerExplanation: \"\",\r\n files: [],\r\n filesForDisplay: [],\r\n issues: []\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true) >= 0;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n\r\n const handleSubmit = (val, event) => {\r\n setShowFormErrors(true)\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, applicationId: store.currentApplicationId, entityId: store.userInfo.EntityId };\r\n ViolationService.postViolation(dataTransfer).then((response) => {\r\n if (response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n Surveying Firm Application\r\n

Violations

\r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/VFInformation';\r\nimport applicationService from '../../../../../../services/Public/Application/VF/vfApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport WavierCertificate from '../../../../../Shared/Card/WaiverCertificate';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction WaiverCertificatePage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 13;\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasWordOfferingProfessionalServices: BooleanType().isRequired('This field is required.'),\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n applicationService.vfGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const { push } = useHistory();\r\n const showAdditionalFields = sectionData.hasWordOfferingProfessionalServices;\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (val) {\r\n applicationService.vfPostSection(store.currentApplicationId, sectionId, sectionData.electronicSignature).then((response) => {\r\n if (response.data) {\r\n applicationService.vfPostSectionHasWordOffering(store.currentApplicationId, sectionId, sectionData.hasWordOfferingProfessionalServices).then((data) => {\r\n if (data.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n })\r\n }\r\n\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n Surveying Firm Application\r\n

Waiver/Certificate

\r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default WaiverCertificatePage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport applicationService from '../../../../../../services/Public/Application/VF/vfApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport Acknowledgement from '../../../../../Shared/Card/FirmAcknowledgement';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/VFInformation';\r\n\r\nfunction AcknowledgementPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false)\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 8; // Revisit\r\n const [formModel, setFormModel] = useState({})\r\n useEffect(() => {\r\n applicationService.vfGetSection(appId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!formModel.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n }\r\n const submitData = (isForSubmit) => {\r\n applicationService.vfPostSection(appId, sectionId, formModel.electronicSignature).then((response) => {\r\n if (isForSubmit && response.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n Surveying Firm Application\r\n

Acknowledgement

\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/VFInformation';\r\nimport applicationService from '../../../../../../services/Public/Application/application.service';\r\nimport vfApplicationService, { getSections } from '../../../../../../services/Public/Application/VF/vfApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../../Shared/Card/ReviewPdf';\r\nimport { List } from 'rsuite';\r\nimport shoppingCartService from '../../../../../../services/Public/shoppingCart.service';\r\nimport Swal from 'sweetalert2';\r\n\r\nfunction ReviewPage() {\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const [hasIssues, setHasIssues] = useState(true)\r\n const { push } = useHistory();\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const sectionId = 9;\r\n const [allSections, setAllSections] = useState([]);\r\n const [sectionData, setSectionData] = useState({});\r\n useEffect(() => {\r\n getSections().then(setAllSections);\r\n vfApplicationService.vfGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n })\r\n }, [])\r\n\r\n const navigateToPage = (sectionId) => {\r\n push(routes.filter(x => x.sectionId == (sectionId))[0].route)\r\n }\r\n const validateApplication = () => {\r\n setHasLoaded(false);\r\n applicationService.validateFirmApplication(appId).then((response) => {\r\n let errors = response.data.map((error, i) => {\r\n return { navigateToPage(error.sectionId) }}>\r\n Error{error.errors.length > 1 ? 's' : ''} in {allSections.filter(x => x.id == error.sectionId)[0].sectionTitle}: {error.errors.join(', ')}\r\n \r\n })\r\n if (response.data?.length)\r\n setViolationIssuesHtml(\r\n \r\n {errors}\r\n \r\n )\r\n else {\r\n setViolationIssuesHtml('')\r\n setHasIssues(false);\r\n Swal.fire(\"Validation Successful\", `Your application passed all validation checks. You may now download a PDF version to keep for your records.`, 'success')\r\n }\r\n setHasLoaded(true);\r\n })\r\n }\r\n const submitApplication = () => {\r\n setHasLoaded(false);\r\n\r\n shoppingCartService.addToShoppingCart(appId, 4).then((data) => {\r\n if (data.data) {\r\n push('/firm/shoppingcart');\r\n }\r\n\r\n })\r\n //applicationService.submitFirmApplication(appId).then((data) => {\r\n // if (data.data?.length) {\r\n // setHasIssues(true);\r\n // let errors = data.data.map((error, i) => {\r\n // return { navigateToPage(error.sectionId) }}>\r\n // Error{error.errors.length > 1 ? 's' : ''} in {allSections.filter(x => x.id == error.sectionId)[0].sectionTitle}: {error.errors.join(', ')}\r\n // \r\n // })\r\n // setViolationIssuesHtml(\r\n // \r\n // {errors}\r\n // \r\n // )\r\n // setHasLoaded(true);\r\n // }\r\n // else {\r\n // setHasIssues(false);\r\n // setViolationIssuesHtml(\"\")\r\n // vfApplicationService.vfGetSection(appId, sectionId).then((response) => {\r\n // setSectionData(response.data);\r\n // setHasLoaded(true);\r\n // })\r\n // }\r\n //})\r\n }\r\n\r\n return (\r\n
\r\n \r\n Surveying Firm Application\r\n

Review

\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {sectionData.isUserEditable ?\r\n : \r\n }\r\n {hasLoaded ?\r\n <>\r\n {\r\n (!hasIssues && sectionData.isUserEditable) &&\r\n <>\r\n \r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n {violationIssuesHtml}\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst vfGetSection = (renewalId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/FirmVfRenewal/section`, { headers: authHeader(), params: { renewalId, sectionId } });\r\n}\r\n\r\nconst vfPostSection = (renewalId, sectionId, electronicSignature) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmVfRenewal/signsection`, null, { headers: authHeader(), params: { renewalId, sectionId, electronicSignature } });\r\n}\r\n\r\nconst vfPostSectionHasWordOffering = (renewalId, sectionId, hasWordOfferingProfessionalServices) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmVfRenewal/setsectionhaswordofferingprofessionalservices`, null, { headers: authHeader(), params: { renewalId, sectionId, hasWordOfferingProfessionalServices } });\r\n}\r\n\r\nconst vfPostSectionHasFirmSubmittedSupervisingProfessional = (renewalId, sectionId, hasFirmSubmittedSupervisingProfessional) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmVfRenewal/setsectionhasfirmsubmittedsupervisingprofessional`, null, { headers: authHeader(), params: { renewalId, sectionId, hasFirmSubmittedSupervisingProfessional } });\r\n}\r\n\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Verify personal and contact information is correct and accurate.\",\r\n },\r\n {\r\n id: 9,\r\n sectionTitle: \"Certificate of Authority\",\r\n sectionContent: \"Verify information requested and upload any supporting documents.\",\r\n },\r\n {\r\n id: 5,\r\n sectionTitle: \"Firm Supervising Professionals\",\r\n sectionContent: \"Certify any supervising professionals working on behalf of a firm.\",\r\n },\r\n {\r\n id: 4,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 7,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Verify you have read the Rules for Professional Engineers and Land Surveyors (LAC Title 46, Part LXI), and agree.\",\r\n },\r\n {\r\n id: 8,\r\n sectionTitle: \"Review\",\r\n sectionContent: 'Review your answers. If you need to change an answer, click the \"Section\" above to go back to the appropriate section',\r\n }\r\n])\r\n\r\nexport default {\r\n vfGetSection,\r\n vfPostSection,\r\n vfPostSectionHasWordOffering,\r\n vfPostSectionHasFirmSubmittedSupervisingProfessional\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, ListGroup } from 'react-bootstrap';\r\nimport Section from '../../../../../Shared/Sections/Section';\r\nimport { getSections } from \"../../../../../../services/Public/Renewal/VF/vfRenewal.service\";\r\nimport { useSelector } from 'react-redux';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/VFInformation';\r\nimport issuesService from '../../../../../../services/Shared/issues.service';\r\n\r\nfunction Index() {\r\n const [sections, setSections] = useState(null);\r\n const selector = useSelector(x => x);\r\n useEffect(() => {\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(2, selector.currentApplicationId).then((data) => {\r\n setSections(selector.currentRoutes != null ? selector.currentRoutes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n })\r\n })\r\n }, [])\r\n\r\n return (\r\n
\r\n \r\n Surveying Firm Renewal\r\n

Surveying Firm

\r\n \r\n \r\n \r\n
\r\n \r\n \r\n

Sections to Complete

\r\n \r\n {sections}\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default Index;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst VFRENEWALURL = process.env.REACT_APP_APIURL + \"/api/FirmVfRenewal\";\r\n\r\nconst getContactInformation = (renewalId) => {\r\n return axios.get(`${VFRENEWALURL}/contactinformation`, { headers: authHeader(), params: { renewalId } });\r\n}\r\n\r\nexport default {\r\n getContactInformation\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport { Form, Schema } from 'rsuite';\r\nimport dayjs from 'dayjs';\r\nimport { GetFirmGeneralContactInformationInstructions } from '../../../../../Shared/InformationContent/GeneralInformation'\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport contactService from '../../../../../../services/Public/Renewal/VF/contact.service';\r\nimport renewalService from '../../../../../../services/Public/Renewal/VF/vfRenewal.service';\r\nimport MailingAddress from '../../../../../Shared/Card/Contact/MailingAddress';\r\nimport FirmInformation from '../../../../../Shared/Card/Contact/FirmInformation';\r\nimport PublicAddress from '../../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction ContactInformationPage() {\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const [sectionData, setSectionData] = useState({});\r\n\r\n useEffect(() => {\r\n contactService.getContactInformation(appId).then((response) => {\r\n var data = response.data;\r\n setFormModel({\r\n ...data,\r\n dateOfFormation: data.dateOfFormation != null ? dayjs(data.dateOfFormation).format('YYYY-MM-DD') : null,\r\n orgType: data.organizationType?.organizationType,\r\n primaryEmail: data.primaryEmailAddress?.contactEmailAddress,\r\n phoneNum: data.phone?.contactPhoneNumber\r\n\r\n })\r\n\r\n renewalService.vfGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n }, [])\r\n\r\n const [formModel, setFormModel] = useState({})\r\n\r\n const { StringType, ObjectType } = Schema.Types;\r\n\r\n const model = Schema.Model({\r\n federalId: StringType().isRequired('This field is required.'),\r\n orgType: StringType().isRequired('This field is required.'),\r\n primaryEmail: StringType().isRequired('This field is required.'),\r\n dateOfFormation: StringType().isRequired('This field is required.'),\r\n name: StringType().isRequired('This field is required.'),\r\n domicileState: ObjectType().isRequired('This field is required.'),\r\n });\r\n const addressModel = Schema.Model({\r\n streetAddress: StringType().isRequired('This field is required.'),\r\n country: ObjectType().isRequired('This field is required.'),\r\n city: StringType().isRequired('This field is required.'),\r\n postalCode: StringType().isRequired('This field is required.'),\r\n state: ObjectType().isRequired('This field is required.'),\r\n provinceRegion: StringType().isRequired('This field is required.'),\r\n })\r\n\r\n const [tabPane, setTabPane] = useState(\"firmInformation\")\r\n\r\n const submitData = () => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n\r\n }\r\n\r\n return (\r\n
\r\n \r\n Contact Information\r\n

Contact

\r\n \r\n
\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)}\r\n onSubmit={submitData} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst VFRENEWALURL = process.env.REACT_APP_APIURL + \"/api/FirmVfRenewal\";\r\n\r\nconst getViolation = (renewalId) => {\r\n return axios.get(`${VFRENEWALURL}/violation`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nconst postViolation = (data) => {\r\n return axios.post(`${VFRENEWALURL}/violation`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getViolation,\r\n postViolation\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport { useSelector } from 'react-redux';\r\nimport ViolationService from '../../../../../../services/Public/Renewal/VF/violation.service';\r\nimport renewalService from '../../../../../../services/Public/Renewal/VF/vfRenewal.service';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/VFInformation';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { getRenewalCodeViolationAnswers } from '../../../../../../services/Shared/codeTable.service';\r\nimport GenericViolations from '../../../../../Shared/Card/Violations';\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 4;\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n yesAnswerExplanation: StringType().isRequired('This field is required.'),\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n renewalService.vfGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n ViolationService.getViolation(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, issues: formData.issues, files: formData.files, filesForDisplay: formData.filesForDisplay });\r\n }\r\n else {\r\n getRenewalCodeViolationAnswers(2).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n yesAnswerExplanation: \"\",\r\n files: [],\r\n filesForDisplay: [],\r\n issues: []\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true) >= 0;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n\r\n const handleSubmit = (val, event) => {\r\n setShowFormErrors(true)\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, renewalId: store.currentApplicationId, entityId: store.userInfo.EntityId };\r\n ViolationService.postViolation(dataTransfer).then((response) => {\r\n if (response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n Surveying Firm Renewal\r\n

Violations

\r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/VFInformation';\r\nimport renewalService from '../../../../../../services/Public/Renewal/VF/vfRenewal.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport SupervisingProfessional from '../../../../../Shared/Card/SupervisingProfessional';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction SupervisingProfessionalPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 5;\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasFirmSubmittedSupervisingProfessional: BooleanType().isRequired('This field is required.'),\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n renewalService.vfGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const { push } = useHistory();\r\n const showAdditionalFields = sectionData.hasFirmSubmittedSupervisingProfessional;\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (val) {\r\n renewalService.vfPostSection(store.currentApplicationId, sectionId, sectionData.electronicSignature).then((response) => {\r\n renewalService.vfPostSectionHasFirmSubmittedSupervisingProfessional(store.currentApplicationId, sectionId, sectionData.hasFirmSubmittedSupervisingProfessional).then((data) => {\r\n if (response.data) {\r\n if (data.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n }\r\n })\r\n })\r\n }\r\n\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n Surveying Firm Renewal\r\n

Supervising Professional

\r\n \r\n \r\n \r\n {/* setShowLockedRenewalModal(false)} />*/}\r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default SupervisingProfessionalPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/VFInformation';\r\nimport renewalService from '../../../../../../services/Public/Renewal/VF/vfRenewal.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport WavierCertificate from '../../../../../Shared/Card/WaiverCertificate';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction WaiverCertificatePage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 9;\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n renewalService.vfGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const { push } = useHistory();\r\n //const showAdditionalFields = sectionData.hasWordOfferingProfessionalServices;\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (val) {\r\n renewalService.vfPostSection(store.currentApplicationId, sectionId, sectionData.electronicSignature).then((response) => {\r\n if (response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n })\r\n }\r\n\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n Surveying Firm Renewal\r\n

Certificate of Authority

\r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default WaiverCertificatePage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport renewalService from '../../../../../../services/Public/Renewal/VF/vfRenewal.service';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport Acknowledgement from '../../../../../Shared/Card/FirmAcknowledgement';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/VFInformation';\r\n\r\nfunction AcknowledgementPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false)\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 7; // Revisit\r\n const [formModel, setFormModel] = useState({})\r\n useEffect(() => {\r\n renewalService.vfGetSection(appId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!formModel.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n }\r\n const submitData = (isForSubmit) => {\r\n renewalService.vfPostSection(appId, sectionId, formModel.electronicSignature).then((response) => {\r\n if (isForSubmit && response.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n Surveying Firm Renewal\r\n

Acknowledgement

\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/VFInformation';\r\nimport renewalService from '../../../../../../services/Public/Renewal/renewal.service';\r\nimport vfRenewalService, { getSections } from '../../../../../../services/Public/Renewal/VF/vfRenewal.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../../Shared/Card/ReviewPdf';\r\nimport { List } from 'rsuite';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport shoppingCartService from '../../../../../../services/Public/shoppingCart.service';\r\nimport Swal from 'sweetalert2';\r\n\r\nfunction ReviewPage() {\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const [hasIssues, setHasIssues] = useState(true)\r\n const { push } = useHistory();\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const sectionId = 8;\r\n const [allSections, setAllSections] = useState([]);\r\n const [sectionData, setSectionData] = useState({});\r\n useEffect(() => {\r\n getSections().then(setAllSections);\r\n vfRenewalService.vfGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n })\r\n }, [])\r\n\r\n const navigateToPage = (sectionId) => {\r\n push(routes.filter(x => x.sectionId == (sectionId))[0].route)\r\n }\r\n const validateApplication = () => {\r\n setHasLoaded(false);\r\n renewalService.validateFirmRenewal(appId).then((response) => {\r\n let errors = response.data.map((error, i) => {\r\n return { navigateToPage(error.sectionId) }}>\r\n Error{error.errors.length > 1 ? 's' : ''} in {allSections.filter(x => x.id == error.sectionId)[0].sectionTitle}: {error.errors.join(', ')}\r\n \r\n })\r\n if (response.data?.length)\r\n setViolationIssuesHtml(\r\n \r\n {errors}\r\n \r\n )\r\n else {\r\n setViolationIssuesHtml('')\r\n setHasIssues(false);\r\n Swal.fire(\"Validation Successful\", `Your renewal passed all validation checks. You may now download a PDF version to keep for your records.`, 'success')\r\n }\r\n setHasLoaded(true);\r\n })\r\n }\r\n const submitApplication = () => {\r\n setHasLoaded(false);\r\n shoppingCartService.addToShoppingCart(appId, 12).then((data) => {\r\n if (data.data) { push('/firm/shoppingcart'); }\r\n\r\n })\r\n\r\n //renewalService.submitFirmRenewal(appId).then((data) => {\r\n // if (data.data?.length) {\r\n // setHasIssues(true);\r\n // let errors = data.data.map((error, i) => {\r\n // return { navigateToPage(error.sectionId) }}>\r\n // Error{error.errors.length > 1 ? 's' : ''} in {allSections.filter(x => x.id == error.sectionId)[0].sectionTitle}: {error.errors.join(', ')}\r\n // \r\n // })\r\n // setViolationIssuesHtml(\r\n // \r\n // {errors}\r\n // \r\n // )\r\n // setHasLoaded(true);\r\n // }\r\n // else {\r\n // setHasIssues(false);\r\n // setViolationIssuesHtml(\"\")\r\n // vfRenewalService.vfGetSection(appId, sectionId).then((response) => {\r\n // setSectionData(response.data);\r\n // setHasLoaded(true);\r\n // })\r\n // }\r\n //})\r\n }\r\n\r\n return (\r\n
\r\n \r\n Surveying Firm Renewal\r\n

Review

\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {sectionData.isUserEditable ?\r\n : \r\n }\r\n {hasLoaded ?\r\n <>\r\n {\r\n (!hasIssues && sectionData.isUserEditable) &&\r\n <>\r\n \r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n {violationIssuesHtml}\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst vfGetSection = (reinstatementId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/FirmVfReinstatement/section`, { headers: authHeader(), params: { reinstatementId, sectionId } });\r\n}\r\n\r\nconst vfPostSection = (reinstatementId, sectionId, electronicSignature) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmVfReinstatement/signsection`, null, { headers: authHeader(), params: { reinstatementId, sectionId, electronicSignature } });\r\n}\r\n\r\nconst vfPostSectionHasWordOffering = (reinstatementId, sectionId, hasWordOfferingProfessionalServices) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmVfReinstatement/setsectionhaswordofferingprofessionalservices`, null, { headers: authHeader(), params: { reinstatementId, sectionId, hasWordOfferingProfessionalServices } });\r\n}\r\nconst vfPostSectionHasFirmSubmittedSupervisingProfessional = (reinstatementId, sectionId, hasFirmSubmittedSupervisingProfessional) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmVfReinstatement/setsectionhasfirmsubmittedsupervisingprofessional`, null, { headers: authHeader(), params: { reinstatementId, sectionId, hasFirmSubmittedSupervisingProfessional } });\r\n}\r\n\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Verify personal and contact information is correct and accurate.\",\r\n },\r\n {\r\n id: 12,\r\n sectionTitle: \"Certificate of Authority/Good Standing Forms\",\r\n sectionContent: \"Verify information requested and upload any supporting documents.\",\r\n },\r\n {\r\n id: 13,\r\n sectionTitle: \"Firm Supervising Professionals\",\r\n sectionContent: \"Certify any supervising professionals working on behalf of a firm.\",\r\n },\r\n {\r\n id: 3,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 14,\r\n sectionTitle: \"Unlicensed Activity\",\r\n sectionContent: \"Question if the firm has ever practiced or offered to practice engineering or land surveying in Louisiana.\",\r\n },\r\n {\r\n id: 9,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Verify you have read the Rules for Professional Engineers and Land Surveyors (LAC Title 46, Part LXI), and agree.\",\r\n },\r\n {\r\n id: 10,\r\n sectionTitle: \"Review\",\r\n sectionContent: 'Review your answers. If you need to change an answer, click the \"Section\" above to go back to the appropriate section',\r\n }\r\n])\r\n\r\nexport default {\r\n vfGetSection,\r\n vfPostSection,\r\n vfPostSectionHasWordOffering,\r\n vfPostSectionHasFirmSubmittedSupervisingProfessional\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, ListGroup } from 'react-bootstrap';\r\nimport Section from '../../../../../Shared/Sections/Section';\r\nimport { getSections } from \"../../../../../../services/Public/Reinstatement/VF/vfReinstatement.service\";\r\nimport { useSelector } from 'react-redux';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/VFInformation';\r\nimport issuesService from '../../../../../../services/Shared/issues.service';\r\n\r\nfunction Index() {\r\n const [sections, setSections] = useState(null);\r\n const selector = useSelector(x => x);\r\n useEffect(() => {\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(3, selector.currentApplicationId).then((data) => {\r\n setSections(selector.currentRoutes != null ? selector.currentRoutes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n })\r\n })\r\n }, [])\r\n\r\n return (\r\n
\r\n \r\n Surveying Firm Reinstatement\r\n

Surveying Firm

\r\n \r\n \r\n \r\n
\r\n \r\n \r\n

Sections to Complete

\r\n \r\n {sections}\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default Index;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst VFREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/FirmVfReinstatement\";\r\n\r\nconst getContactInformation = (reinstatementId) => {\r\n return axios.get(`${VFREINSTATEMENTURL}/contactinformation`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nexport default {\r\n getContactInformation\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport { Form, Schema } from 'rsuite';\r\nimport dayjs from 'dayjs';\r\nimport { GetFirmGeneralContactInformationInstructions } from '../../../../../Shared/InformationContent/GeneralInformation'\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport contactService from '../../../../../../services/Public/Reinstatement/VF/contact.service';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/VF/vfReinstatement.service';\r\nimport MailingAddress from '../../../../../Shared/Card/Contact/MailingAddress';\r\nimport FirmInformation from '../../../../../Shared/Card/Contact/FirmInformation';\r\nimport PublicAddress from '../../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction ContactInformationPage() {\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const [sectionData, setSectionData] = useState({});\r\n\r\n useEffect(() => {\r\n contactService.getContactInformation(appId).then((response) => {\r\n var data = response.data;\r\n \r\n setFormModel({\r\n ...data,\r\n dateOfFormation: data.dateOfFormation != null ? dayjs(data.dateOfFormation).format('YYYY-MM-DD') : null,\r\n orgType: data.organizationType?.organizationType,\r\n primaryEmail: data.primaryEmailAddress?.contactEmailAddress,\r\n phoneNum: data.phone?.phoneNumber\r\n\r\n })\r\n reinstatementService.vfGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n }, [])\r\n\r\n const [formModel, setFormModel] = useState({})\r\n\r\n const { StringType, ObjectType } = Schema.Types;\r\n\r\n const model = Schema.Model({\r\n federalId: StringType().isRequired('This field is required.'),\r\n orgType: StringType().isRequired('This field is required.'),\r\n primaryEmail: StringType().isRequired('This field is required.'),\r\n dateOfFormation: StringType().isRequired('This field is required.'),\r\n name: StringType().isRequired('This field is required.'),\r\n domicileState: ObjectType().isRequired('This field is required.'),\r\n });\r\n const addressModel = Schema.Model({\r\n streetAddress: StringType().isRequired('This field is required.'),\r\n country: ObjectType().isRequired('This field is required.'),\r\n city: StringType().isRequired('This field is required.'),\r\n postalCode: StringType().isRequired('This field is required.'),\r\n state: ObjectType().isRequired('This field is required.'),\r\n provinceRegion: StringType().isRequired('This field is required.'),\r\n })\r\n\r\n const [tabPane, setTabPane] = useState(\"firmInformation\")\r\n\r\n const submitData = () => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n\r\n }\r\n\r\n return (\r\n
\r\n \r\n Contact Information\r\n

Contact

\r\n \r\n
\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)}\r\n onSubmit={submitData} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n \r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/VFInformation';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/VF/vfReinstatement.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport SupervisingProfessional from '../../../../../Shared/Card/SupervisingProfessional';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction SupervisingProfessionalPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 13;\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasFirmSubmittedSupervisingProfessional: BooleanType().isRequired('This field is required.'),\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n reinstatementService.vfGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const { push } = useHistory();\r\n const showAdditionalFields = sectionData.hasFirmSubmittedSupervisingProfessional;\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (val) {\r\n reinstatementService.vfPostSection(store.currentApplicationId, sectionId, sectionData.electronicSignature).then((response) => {\r\n if (response.data) {\r\n reinstatementService.vfPostSectionHasFirmSubmittedSupervisingProfessional(store.currentApplicationId, sectionId, sectionData.hasFirmSubmittedSupervisingProfessional).then((data) => {\r\n if (data.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n })\r\n }\r\n\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n Surveying Firm Reinstatement\r\n

Supervising Professional

\r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default SupervisingProfessionalPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst VFREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/FirmVfReinstatement\";\r\n\r\nconst getUnlicensedActivity = (reinstatementId) => {\r\n return axios.get(`${VFREINSTATEMENTURL}/unlicensedActivity`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postUnlicensedActivity = (data) => {\r\n return axios.post(`${VFREINSTATEMENTURL}/unlicensedActivity`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getUnlicensedActivity,\r\n postUnlicensedActivity\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/VFInformation';\r\nimport unlicensedActivityService from '../../../../../../services/Public/Reinstatement/VF/unlicensedActivity.service';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/VF/vfReinstatement.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport UnlicensedActivity from '../../../../../Shared/Card/FirmUnlicensedActivity';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction UnlicensedActivityPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 14;\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasUnlicensedActivity: BooleanType().isRequired('This field is required.'),\r\n explanation: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n reinstatementService.vfGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n unlicensedActivityService.getUnlicensedActivity(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, files: formData.files, filesForDisplay: formData.filesForDisplay });\r\n }\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n hasUnlicensedActivity: undefined,\r\n explanation: \"\",\r\n files: [],\r\n filesForDisplay: []\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData.hasUnlicensedActivity;\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"explanation\") || (showAdditionalFields && key.includes(\"explanation\")))) {\r\n return;\r\n }\r\n\r\n }\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, reinstatementId: store.currentApplicationId, entityId: store.userInfo.EntityId };\r\n unlicensedActivityService.postUnlicensedActivity(dataTransfer).then((response) => {\r\n if (response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n Surveying Firm Reinstatement\r\n

Unlicensed Activity

\r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default UnlicensedActivityPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst VFREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/FirmVfReinstatement\";\r\n\r\nconst getViolation = (reinstatementId) => {\r\n return axios.get(`${VFREINSTATEMENTURL}/violation`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postViolation = (data) => {\r\n return axios.post(`${VFREINSTATEMENTURL}/violation`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getViolation,\r\n postViolation\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport { useSelector } from 'react-redux';\r\nimport ViolationService from '../../../../../../services/Public/Reinstatement/VF/violation.service';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/VF/vfReinstatement.service';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/VFInformation';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { getReinstatementCodeViolationAnswers } from '../../../../../../services/Shared/codeTable.service';\r\nimport GenericViolations from '../../../../../Shared/Card/Violations';\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 3;\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n yesAnswerExplanation: StringType().isRequired('This field is required.'),\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n reinstatementService.vfGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n ViolationService.getViolation(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, issues: formData.issues, files: formData.files, filesForDisplay: formData.filesForDisplay });\r\n }\r\n else {\r\n getReinstatementCodeViolationAnswers(2).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n yesAnswerExplanation: \"\",\r\n files: [],\r\n filesForDisplay: [],\r\n issues: [\r\n ]\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true) >= 0;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n\r\n\r\n const handleSubmit = (val, event) => {\r\n setShowFormErrors(true)\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, reinstatementId: store.currentApplicationId, entityId: store.userInfo.EntityId };\r\n ViolationService.postViolation(dataTransfer).then((response) => {\r\n if (response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n Surveying Firm Reinstatement\r\n

Violations

\r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/VFInformation';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/VF/vfReinstatement.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport WavierCertificate from '../../../../../Shared/Card/WaiverCertificate';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction WaiverCertificatePage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 12;\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n reinstatementService.vfGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const { push } = useHistory();\r\n //const showAdditionalFields = sectionData.hasWordOfferingProfessionalServices;\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (val) {\r\n reinstatementService.vfPostSection(store.currentApplicationId, sectionId, sectionData.electronicSignature).then((response) => {\r\n if (response.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n Surveying Firm Reinstatement\r\n

Certificate of Authority/Good Standing

\r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default WaiverCertificatePage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Card } from 'react-bootstrap';\r\nimport { Form, FormControl, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/VF/vfReinstatement.service';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport RedStar from '../../../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction AcknowledgementPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false)\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 9; // Revisit\r\n const [formModel, setFormModel] = useState({})\r\n useEffect(() => {\r\n reinstatementService.vfGetSection(reinstatementId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!formModel.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n }\r\n const submitData = (isForSubmit) => {\r\n reinstatementService.vfPostSection(reinstatementId, sectionId, formModel.electronicSignature).then((response) => {\r\n if (isForSubmit && response.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n Surveying Firm Reinstatement\r\n

Acknowledgement

\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n \r\n \r\n
Requirements/Information/Acknowledgement
\r\n \r\n

\r\n Fields marked with an asterisk * are required.\r\n

\r\n
\r\n

\r\n I certify that I have read the contents of this application and to the best of my knowledge, information and belief the\r\n statements and information in this application are true and correct in substance and effect and are made in good faith. I\r\n have not omitted any information requested in this application. I am aware that such an omission or untrue response\r\n may constitute fraud, deceit, material misstatement, perjury or the giving of false or forged evidence under Louisiana\r\n Revised Statutes 37:698 and 37:700.\r\n

\r\n
\r\n \r\n \r\n
Electronic Signature of Applicant:
\r\n (Type full name)\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/VFInformation';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/reinstatement.service';\r\nimport vfReinstatementService, { getSections } from '../../../../../../services/Public/Reinstatement/VF/vfReinstatement.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../../Shared/Card/ReviewPdf';\r\nimport { List } from 'rsuite';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport shoppingCartService from '../../../../../../services/Public/shoppingCart.service';\r\nimport Swal from 'sweetalert2';\r\n\r\nfunction ReviewPage() {\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const [hasIssues, setHasIssues] = useState(true)\r\n const { push } = useHistory();\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const sectionId = 9;\r\n const [allSections, setAllSections] = useState([]);\r\n const [sectionData, setSectionData] = useState({});\r\n useEffect(() => {\r\n getSections().then(setAllSections);\r\n vfReinstatementService.vfGetSection(reinstatementId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n })\r\n }, [])\r\n\r\n const navigateToPage = (sectionId) => {\r\n push(routes.filter(x => x.sectionId == (sectionId))[0].route)\r\n }\r\n const validateApplication = () => {\r\n setHasLoaded(false);\r\n reinstatementService.validateFirmReinstatement(reinstatementId).then((response) => {\r\n let errors = response.data.map((error, i) => {\r\n return { navigateToPage(error.sectionId) }}>\r\n Error{error.errors.length > 1 ? 's' : ''} in {allSections.filter(x => x.id == error.sectionId)[0].sectionTitle}: {error.errors.join(', ')}\r\n \r\n })\r\n if (response.data?.length)\r\n setViolationIssuesHtml(\r\n \r\n {errors}\r\n \r\n )\r\n else {\r\n setViolationIssuesHtml('')\r\n setHasIssues(false);\r\n Swal.fire(\"Validation Successful\", `Your reinstatement passed all validation checks. You may now download a PDF version to keep for your records.`, 'success')\r\n }\r\n setHasLoaded(true);\r\n })\r\n }\r\n const submitApplication = () => {\r\n setHasLoaded(false);\r\n shoppingCartService.addToShoppingCart(reinstatementId, 14).then((data) => {\r\n if (data.data) { push('/firm/shoppingcart'); }\r\n\r\n })\r\n\r\n //reinstatementService.submitFirmReinstatement(reinstatementId).then((data) => {\r\n // if (data.data?.length) {\r\n // setHasIssues(true);\r\n // let errors = data.data.map((error, i) => {\r\n // return { navigateToPage(error.sectionId) }}>\r\n // Error{error.errors.length > 1 ? 's' : ''} in {allSections.filter(x => x.id == error.sectionId)[0].sectionTitle}: {error.errors.join(', ')}\r\n // \r\n // })\r\n // setViolationIssuesHtml(\r\n // \r\n // {errors}\r\n // \r\n // )\r\n // setHasLoaded(true);\r\n // }\r\n // else {\r\n // setHasIssues(false);\r\n // setViolationIssuesHtml(\"\")\r\n // vfReinstatementService.vfGetSection(reinstatementId, sectionId).then((response) => {\r\n // setSectionData(response.data);\r\n // setHasLoaded(true);\r\n // })\r\n // }\r\n //})\r\n }\r\n\r\n return (\r\n
\r\n \r\n Surveying Firm Reinstatement\r\n

Review

\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {sectionData.isUserEditable ?\r\n : \r\n }\r\n {hasLoaded ?\r\n <>\r\n {\r\n (!hasIssues && sectionData.isUserEditable) &&\r\n <>\r\n \r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n {violationIssuesHtml}\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst efGetSection = (applicationId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/FirmEfApplication/section`, { headers: authHeader(), params: { applicationId, sectionId } });\r\n}\r\n\r\nconst efPostSection = (applicationId, sectionId, electronicSignature) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmEfApplication/signsection`, null, { headers: authHeader(), params: { applicationId, sectionId, electronicSignature } });\r\n}\r\n\r\nconst efPostSectionHasWordOffering = (applicationId, sectionId, hasWordOfferingProfessionalServices) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmEfApplication/setsectionhaswordofferingprofessionalservices`, null, { headers: authHeader(), params: { applicationId, sectionId, hasWordOfferingProfessionalServices } });\r\n}\r\nconst efPostSectionHasFirmSubmittedSupervisingProfessional = (applicationId, sectionId, hasFirmSubmittedSupervisingProfessional) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmEfApplication/setsectionhasfirmsubmittedsupervisingprofessional`, null, { headers: authHeader(), params: { applicationId, sectionId, hasFirmSubmittedSupervisingProfessional } });\r\n}\r\n\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Verify personal and contact information is correct and accurate.\",\r\n },\r\n {\r\n id: 13,\r\n sectionTitle: \"Waiver Request/Certificate of Good Standing Forms\",\r\n sectionContent: \"Verify information requested and upload any supporting documents.\",\r\n },\r\n {\r\n id: 14,\r\n sectionTitle: \"Firm Supervising Professionals\",\r\n sectionContent: \"Certify any supervising professionals working on behalf of a firm.\",\r\n },\r\n {\r\n id: 4,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 15,\r\n sectionTitle: \"Unlicensed Activity\",\r\n sectionContent: \"Question if the firm has ever practiced or offered to practice engineering or land surveying in Louisiana.\",\r\n },\r\n {\r\n id: 8,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Verify you have read the Rules for Professional Engineers and Land Surveyors (LAC Title 46, Part LXI), and agree.\",\r\n },\r\n {\r\n id: 9,\r\n sectionTitle: \"Review\",\r\n sectionContent: 'Review your answers. If you need to change an answer, click the \"Section\" above to go back to the appropriate section',\r\n }\r\n])\r\n\r\nexport default {\r\n efGetSection,\r\n efPostSection,\r\n efPostSectionHasWordOffering,\r\n efPostSectionHasFirmSubmittedSupervisingProfessional\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, ListGroup } from 'react-bootstrap';\r\nimport Section from '../../../../../Shared/Sections/Section';\r\nimport { getSections } from \"../../../../../../services/Public/Application/EF/efApplication.service\";\r\nimport { useSelector } from 'react-redux';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/EFInformation';\r\nimport issuesService from '../../../../../../services/Shared/issues.service';\r\n\r\nfunction Index() {\r\n const [sections, setSections] = useState(null);\r\n const selector = useSelector(x => x);\r\n useEffect(() => {\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(1, selector.currentApplicationId).then((data) => {\r\n setSections(selector.currentRoutes != null ? selector.currentRoutes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n })\r\n })\r\n }, [])\r\n\r\n return (\r\n
\r\n \r\n Engineering Firm Application\r\n

Engineering Firm

\r\n \r\n \r\n \r\n
\r\n \r\n \r\n

Sections to Complete

\r\n \r\n {sections}\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default Index;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EFAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/FirmEfApplication\";\r\n\r\nconst getContactInformation = (applicationId) => {\r\n return axios.get(`${EFAPPLICATIONURL}/contactinformation`, { headers: authHeader(), params: { applicationId } });\r\n}\r\n//const postContactInformation = (applicationId, certDisplayName) => {\r\n// return axios.post(`${VFAPPLICATIONURL}/contactinformation`, null, { headers: authHeader(), params: { applicationId, certDisplayName } });\r\n//}\r\nexport default {\r\n getContactInformation,\r\n //postContactInformation\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport { Form, Schema } from 'rsuite';\r\nimport dayjs from 'dayjs';\r\nimport { GetFirmGeneralContactInformationInstructions } from '../../../../../Shared/InformationContent/GeneralInformation'\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport contactService from '../../../../../../services/Public/Application/EF/contact.service';\r\nimport applicationService from '../../../../../../services/Public/Application/EF/efApplication.service';\r\nimport MailingAddress from '../../../../../Shared/Card/Contact/MailingAddress';\r\nimport FirmInformation from '../../../../../Shared/Card/Contact/FirmInformation';\r\nimport PublicAddress from '../../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction ContactInformationPage() {\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const [sectionData, setSectionData] = useState({});\r\n\r\n useEffect(() => {\r\n contactService.getContactInformation(appId).then((response) => {\r\n var data = response.data;\r\n setFormModel({\r\n ...data,\r\n dateOfFormation: data.dateOfFormation != null ? dayjs(data.dateOfFormation).format('YYYY-MM-DD') : null,\r\n orgType: data.organizationType?.code,\r\n primaryEmail: data.primaryEmailAddress?.emailAddress,\r\n phoneNum: data.phone?.phoneNumber\r\n\r\n })\r\n applicationService.efGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n }, [])\r\n\r\n const [formModel, setFormModel] = useState({})\r\n\r\n const { StringType, ObjectType } = Schema.Types;\r\n\r\n const model = Schema.Model({\r\n federalId: StringType().isRequired('This field is required.'),\r\n orgType: StringType().isRequired('This field is required.'),\r\n primaryEmail: StringType().isRequired('This field is required.'),\r\n dateOfFormation: StringType().isRequired('This field is required.'),\r\n name: StringType().isRequired('This field is required.'),\r\n domicileState: ObjectType().isRequired('This field is required.'),\r\n });\r\n const addressModel = Schema.Model({\r\n streetAddress: StringType().isRequired('This field is required.'),\r\n country: ObjectType().isRequired('This field is required.'),\r\n city: StringType().isRequired('This field is required.'),\r\n postalCode: StringType().isRequired('This field is required.'),\r\n state: ObjectType().isRequired('This field is required.'),\r\n provinceRegion: StringType().isRequired('This field is required.'),\r\n })\r\n\r\n const [tabPane, setTabPane] = useState(\"firmInformation\")\r\n\r\n const submitData = () => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n\r\n }\r\n\r\n return (\r\n
\r\n \r\n Contact Information\r\n

Contact

\r\n \r\n
\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)}\r\n onSubmit={submitData} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/EFInformation';\r\nimport applicationService from '../../../../../../services/Public/Application/EF/efApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport SupervisingProfessional from '../../../../../Shared/Card/SupervisingProfessional';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction SupervisingProfessionalPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 14;\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasFirmSubmittedSupervisingProfessional: BooleanType().isRequired('This field is required.'),\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n applicationService.efGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const { push } = useHistory();\r\n const showAdditionalFields = sectionData.hasFirmSubmittedSupervisingProfessional;\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (val) {\r\n applicationService.efPostSection(store.currentApplicationId, sectionId, sectionData.electronicSignature).then((response) => {\r\n if (response.data) {\r\n applicationService.efPostSectionHasFirmSubmittedSupervisingProfessional(store.currentApplicationId, sectionId, sectionData.hasFirmSubmittedSupervisingProfessional).then((data) => {\r\n if (data.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n })\r\n }\r\n\r\n }\r\n }\r\n return (\r\n
\r\n \r\n
\r\n Engineering Firm Application\r\n

Supervising Professional

\r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default SupervisingProfessionalPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EFAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/FirmEfApplication\";\r\n\r\nconst getUnlicensedActivity = (applicationId) => {\r\n return axios.get(`${EFAPPLICATIONURL}/unlicensedActivity`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postUnlicensedActivity = (data) => {\r\n return axios.post(`${EFAPPLICATIONURL}/unlicensedActivity`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getUnlicensedActivity,\r\n postUnlicensedActivity\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/EFInformation';\r\nimport unlicensedActivityService from '../../../../../../services/Public/Application/EF/unlicensedActivity.service';\r\nimport applicationService from '../../../../../../services/Public/Application/EF/efApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport UnlicensedActivity from '../../../../../Shared/Card/FirmUnlicensedActivity';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction UnlicensedActivityPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 15;\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasUnlicensedActivity: BooleanType().isRequired('This field is required.'),\r\n explanation: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n applicationService.efGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n unlicensedActivityService.getUnlicensedActivity(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, files: formData.files, filesForDisplay: formData.filesForDisplay });\r\n }\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n hasUnlicensedActivity: undefined,\r\n explanation: \"\",\r\n files: [],\r\n filesForDisplay: []\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData.hasUnlicensedActivity;\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"explanation\") || (showAdditionalFields && key.includes(\"explanation\")))) {\r\n return;\r\n }\r\n\r\n }\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, applicationId: store.currentApplicationId, entityId: store.userInfo.EntityId };\r\n unlicensedActivityService.postUnlicensedActivity(dataTransfer).then((response) => {\r\n if (response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n Engineering Firm Application\r\n

Unlicensed Activity

\r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default UnlicensedActivityPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EFAPPLICATIONURL = process.env.REACT_APP_APIURL + \"/api/FirmEfApplication\";\r\n\r\nconst getViolation = (applicationId) => {\r\n return axios.get(`${EFAPPLICATIONURL}/violation`, { headers: authHeader(), params: { applicationId } });\r\n}\r\nconst postViolation = (data) => {\r\n return axios.post(`${EFAPPLICATIONURL}/violation`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getViolation,\r\n postViolation\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport { useSelector } from 'react-redux';\r\nimport ViolationService from '../../../../../../services/Public/Application/EF/violation.service';\r\nimport applicationService from '../../../../../../services/Public/Application/EF/efApplication.service';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/EFInformation';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { getCodeViolationAnswers } from '../../../../../../services/Shared/codeTable.service';\r\nimport GenericViolations from '../../../../../Shared/Card/Violations';\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 4;\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n yesAnswerExplanation: StringType().isRequired('This field is required.'),\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n applicationService.efGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n ViolationService.getViolation(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, issues: formData.issues, files: formData.files, filesForDisplay: formData.filesForDisplay });\r\n }\r\n else {\r\n getCodeViolationAnswers(7).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n yesAnswerExplanation: \"\",\r\n files: [],\r\n filesForDisplay: [],\r\n issues: []\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true) >= 0;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n\r\n const handleSubmit = (val, event) => {\r\n setShowFormErrors(true)\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, applicationId: store.currentApplicationId, entityId: store.userInfo.EntityId };\r\n ViolationService.postViolation(dataTransfer).then((response) => {\r\n if (response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n Engineering Firm Application\r\n

Violations

\r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/EFInformation';\r\nimport applicationService from '../../../../../../services/Public/Application/EF/efApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport WavierCertificate from '../../../../../Shared/Card/WaiverCertificate';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction WaiverCertificatePage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 13;\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasWordOfferingProfessionalServices: BooleanType().isRequired('This field is required.'),\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n applicationService.efGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const { push } = useHistory();\r\n const showAdditionalFields = sectionData.hasWordOfferingProfessionalServices;\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (val) {\r\n applicationService.efPostSection(store.currentApplicationId, sectionId, sectionData.electronicSignature).then((response) => {\r\n if (response.data) {\r\n applicationService.efPostSectionHasWordOffering(store.currentApplicationId, sectionId, sectionData.hasWordOfferingProfessionalServices).then((data) => {\r\n if (data.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n })\r\n }\r\n\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n Engineering Firm Application\r\n

Waiver/Certificate

\r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default WaiverCertificatePage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport applicationService from '../../../../../../services/Public/Application/EF/efApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport Acknowledgement from '../../../../../Shared/Card/FirmAcknowledgement';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/EFInformation';\r\n\r\nfunction AcknowledgementPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false)\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 8; // Revisit\r\n const [formModel, setFormModel] = useState({})\r\n useEffect(() => {\r\n applicationService.efGetSection(appId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!formModel.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n }\r\n const submitData = (isForSubmit) => {\r\n applicationService.efPostSection(appId, sectionId, formModel.electronicSignature).then((response) => {\r\n if (isForSubmit && response.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n Engineering Firm Application\r\n

Acknowledgement

\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/EFInformation';\r\nimport applicationService from '../../../../../../services/Public/Application/application.service';\r\nimport efApplicationService, { getSections } from '../../../../../../services/Public/Application/EF/efApplication.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../../Shared/Card/ReviewPdf';\r\nimport { List } from 'rsuite';\r\nimport shoppingCartService from '../../../../../../services/Public/shoppingCart.service';\r\nimport Swal from 'sweetalert2';\r\n\r\nfunction ReviewPage() {\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const [hasIssues, setHasIssues] = useState(true)\r\n const { push } = useHistory();\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const sectionId = 9;\r\n const [allSections, setAllSections] = useState([]);\r\n const [sectionData, setSectionData] = useState({});\r\n useEffect(() => {\r\n getSections().then(setAllSections);\r\n efApplicationService.efGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n })\r\n }, [])\r\n\r\n const navigateToPage = (sectionId) => {\r\n push(routes.filter(x => x.sectionId == (sectionId))[0].route)\r\n }\r\n const validateApplication = () => {\r\n setHasLoaded(false);\r\n applicationService.validateFirmApplication(appId).then((response) => {\r\n let errors = response.data.map((error, i) => {\r\n return { navigateToPage(error.sectionId) }}>\r\n Error{error.errors.length > 1 ? 's' : ''} in {allSections.filter(x => x.id == error.sectionId)[0].sectionTitle}: {error.errors.join(', ')}\r\n \r\n })\r\n if (response.data?.length)\r\n setViolationIssuesHtml(\r\n \r\n {errors}\r\n \r\n )\r\n else {\r\n setViolationIssuesHtml('')\r\n setHasIssues(false);\r\n Swal.fire(\"Validation Successful\", `Your application passed all validation checks. You may now download a PDF version to keep for your records.`, 'success')\r\n }\r\n setHasLoaded(true);\r\n })\r\n }\r\n const submitApplication = () => {\r\n setHasLoaded(false);\r\n shoppingCartService.addToShoppingCart(appId, 3).then((data) => {\r\n if (data.data) {\r\n push('/firm/shoppingcart');\r\n }\r\n })\r\n\r\n //applicationService.submitFirmApplication(appId).then((data) => {\r\n // if (data.data?.length) {\r\n // setHasIssues(true);\r\n // let errors = data.data.map((error, i) => {\r\n // return { navigateToPage(error.sectionId) }}>\r\n // Error{error.errors.length > 1 ? 's' : ''} in {allSections.filter(x => x.id == error.sectionId)[0].sectionTitle}: {error.errors.join(', ')}\r\n // \r\n // })\r\n // setViolationIssuesHtml(\r\n // \r\n // {errors}\r\n // \r\n // )\r\n // setHasLoaded(true);\r\n // }\r\n // else {\r\n // setHasIssues(false);\r\n // setViolationIssuesHtml(\"\")\r\n // efApplicationService.efGetSection(appId, sectionId).then((response) => {\r\n // setSectionData(response.data);\r\n // setHasLoaded(true);\r\n // })\r\n // }\r\n //})\r\n }\r\n\r\n return (\r\n
\r\n \r\n Engineering Firm Application\r\n

Review

\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {sectionData.isUserEditable ?\r\n : \r\n }\r\n {hasLoaded ?\r\n <>\r\n {\r\n (!hasIssues && sectionData.isUserEditable) &&\r\n <>\r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n {violationIssuesHtml}\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst efGetSection = (renewalId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/FirmEfRenewal/section`, { headers: authHeader(), params: { renewalId, sectionId } });\r\n}\r\n\r\nconst efPostSection = (renewalId, sectionId, electronicSignature) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmEfRenewal/signsection`, null, { headers: authHeader(), params: { renewalId, sectionId, electronicSignature } });\r\n}\r\n\r\nconst efPostSectionHasWordOffering = (renewalId, sectionId, hasWordOfferingProfessionalServices) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmEfRenewal/setsectionhaswordofferingprofessionalservices`, null, { headers: authHeader(), params: { renewalId, sectionId, hasWordOfferingProfessionalServices } });\r\n}\r\n\r\nconst efPostSectionHasFirmSubmittedSupervisingProfessional = (renewalId, sectionId, hasFirmSubmittedSupervisingProfessional) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmEfRenewal/setsectionhasfirmsubmittedsupervisingprofessional`, null, { headers: authHeader(), params: { renewalId, sectionId, hasFirmSubmittedSupervisingProfessional } });\r\n}\r\n\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Verify personal and contact information is correct and accurate.\",\r\n },\r\n {\r\n id: 9,\r\n sectionTitle: \"Certificate of Authority\",\r\n sectionContent: \"Verify information requested and upload any supporting documents.\",\r\n },\r\n {\r\n id: 5,\r\n sectionTitle: \"Firm Supervising Professionals\",\r\n sectionContent: \"Certify any supervising professionals working on behalf of a firm.\",\r\n },\r\n {\r\n id: 4,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 7,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Verify you have read the Rules for Professional Engineers and Land Surveyors (LAC Title 46, Part LXI), and agree.\",\r\n },\r\n {\r\n id: 8,\r\n sectionTitle: \"Review\",\r\n sectionContent: 'Review your answers. If you need to change an answer, click the \"Section\" above to go back to the appropriate section',\r\n }\r\n])\r\n\r\nexport default {\r\n efGetSection,\r\n efPostSection,\r\n efPostSectionHasWordOffering,\r\n efPostSectionHasFirmSubmittedSupervisingProfessional\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, ListGroup } from 'react-bootstrap';\r\nimport Section from '../../../../../Shared/Sections/Section';\r\nimport { getSections } from \"../../../../../../services/Public/Renewal/EF/efRenewal.service\";\r\nimport { useSelector } from 'react-redux';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/EFInformation';\r\nimport issuesService from '../../../../../../services/Shared/issues.service';\r\n\r\nfunction Index() {\r\n const [sections, setSections] = useState(null);\r\n const selector = useSelector(x => x);\r\n useEffect(() => {\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(2, selector.currentApplicationId).then((data) => {\r\n setSections(selector.currentRoutes != null ? selector.currentRoutes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n })\r\n })\r\n }, [])\r\n\r\n return (\r\n
\r\n \r\n Engineering Firm Renewal\r\n

Engineering Firm

\r\n \r\n \r\n \r\n
\r\n \r\n \r\n

Sections to Complete

\r\n \r\n {sections}\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default Index;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EFRENEWALURL = process.env.REACT_APP_APIURL + \"/api/FirmEfRenewal\";\r\n\r\nconst getContactInformation = (renewalId) => {\r\n return axios.get(`${EFRENEWALURL}/contactinformation`, { headers: authHeader(), params: { renewalId } });\r\n}\r\n\r\nexport default {\r\n getContactInformation\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport { Form, Schema } from 'rsuite';\r\nimport dayjs from 'dayjs';\r\nimport { GetFirmGeneralContactInformationInstructions } from '../../../../../Shared/InformationContent/GeneralInformation'\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport contactService from '../../../../../../services/Public/Renewal/EF/contact.service';\r\nimport renewalService from '../../../../../../services/Public/Renewal/EF/efRenewal.service';\r\nimport MailingAddress from '../../../../../Shared/Card/Contact/MailingAddress';\r\nimport FirmInformation from '../../../../../Shared/Card/Contact/FirmInformation';\r\nimport PublicAddress from '../../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction ContactInformationPage() {\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const [sectionData, setSectionData] = useState({});\r\n\r\n useEffect(() => {\r\n contactService.getContactInformation(appId).then((response) => {\r\n var data = response.data;\r\n setFormModel({\r\n ...data,\r\n dateOfFormation: data.dateOfFormation != null ? dayjs(data.dateOfFormation).format('YYYY-MM-DD') : null,\r\n orgType: data.organizationType?.organizationType,\r\n primaryEmail: data.primaryEmailAddress?.contactEmailAddress,\r\n phoneNum: data.phone?.contactPhoneNumber\r\n\r\n })\r\n\r\n renewalService.efGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n }, [])\r\n\r\n const [formModel, setFormModel] = useState({})\r\n\r\n const { StringType, ObjectType } = Schema.Types;\r\n\r\n const model = Schema.Model({\r\n federalId: StringType().isRequired('This field is required.'),\r\n orgType: StringType().isRequired('This field is required.'),\r\n primaryEmail: StringType().isRequired('This field is required.'),\r\n dateOfFormation: StringType().isRequired('This field is required.'),\r\n name: StringType().isRequired('This field is required.'),\r\n domicileState: ObjectType().isRequired('This field is required.'),\r\n });\r\n const addressModel = Schema.Model({\r\n streetAddress: StringType().isRequired('This field is required.'),\r\n country: ObjectType().isRequired('This field is required.'),\r\n city: StringType().isRequired('This field is required.'),\r\n postalCode: StringType().isRequired('This field is required.'),\r\n state: ObjectType().isRequired('This field is required.'),\r\n provinceRegion: StringType().isRequired('This field is required.'),\r\n })\r\n\r\n const [tabPane, setTabPane] = useState(\"firmInformation\")\r\n\r\n const submitData = () => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n\r\n }\r\n\r\n return (\r\n
\r\n \r\n Contact Information\r\n

Contact

\r\n \r\n
\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)}\r\n onSubmit={submitData} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/EFInformation';\r\nimport renewalService from '../../../../../../services/Public/Renewal/EF/efRenewal.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport SupervisingProfessional from '../../../../../Shared/Card/SupervisingProfessional';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction SupervisingProfessionalPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 5;\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasFirmSubmittedSupervisingProfessional: BooleanType().isRequired('This field is required.'),\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n renewalService.efGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const { push } = useHistory();\r\n const showAdditionalFields = sectionData.hasFirmSubmittedSupervisingProfessional;\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (val) {\r\n renewalService.efPostSection(store.currentApplicationId, sectionId, sectionData.electronicSignature).then((response) => {\r\n renewalService.efPostSectionHasFirmSubmittedSupervisingProfessional(store.currentApplicationId, sectionId, sectionData.hasFirmSubmittedSupervisingProfessional).then((data) => {\r\n if (response.data) {\r\n if (data.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n }\r\n })\r\n })\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n Engineering Firm Renewal\r\n

Supervising Professional

\r\n \r\n \r\n \r\n {/* setShowLockedRenewalModal(false)} />*/}\r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default SupervisingProfessionalPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EFRENEWALURL = process.env.REACT_APP_APIURL + \"/api/FirmEfRenewal\";\r\n\r\nconst getViolation = (renewalId) => {\r\n return axios.get(`${EFRENEWALURL}/violation`, { headers: authHeader(), params: { renewalId } });\r\n}\r\nconst postViolation = (data) => {\r\n return axios.post(`${EFRENEWALURL}/violation`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getViolation,\r\n postViolation\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport { useSelector } from 'react-redux';\r\nimport ViolationService from '../../../../../../services/Public/Renewal/EF/violation.service';\r\nimport renewalService from '../../../../../../services/Public/Renewal/EF/efRenewal.service';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/EFInformation';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { getRenewalCodeViolationAnswers } from '../../../../../../services/Shared/codeTable.service';\r\nimport GenericViolations from '../../../../../Shared/Card/Violations';\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 4;\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n yesAnswerExplanation: StringType().isRequired('This field is required.'),\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n renewalService.efGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n ViolationService.getViolation(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, issues: formData.issues, files: formData.files, filesForDisplay: formData.filesForDisplay });\r\n }\r\n else {\r\n getRenewalCodeViolationAnswers(1).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n yesAnswerExplanation: \"\",\r\n files: [],\r\n filesForDisplay: [],\r\n issues: []\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true) >= 0;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n\r\n const handleSubmit = (val, event) => {\r\n setShowFormErrors(true)\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, renewalId: store.currentApplicationId, entityId: store.userInfo.EntityId };\r\n ViolationService.postViolation(dataTransfer).then((response) => {\r\n if (response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n Engineering Firm Renewal\r\n

Violations

\r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/EFInformation';\r\nimport renewalService from '../../../../../../services/Public/Renewal/EF/efRenewal.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport WavierCertificate from '../../../../../Shared/Card/WaiverCertificate';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction WaiverCertificatePage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 9;\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n renewalService.efGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const { push } = useHistory();\r\n //const showAdditionalFields = sectionData.hasWordOfferingProfessionalServices;\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (val) {\r\n renewalService.efPostSection(store.currentApplicationId, sectionId, sectionData.electronicSignature).then((response) => {\r\n if (response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n })\r\n }\r\n\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n Engineering Firm Renewal\r\n

Certificate of Authority

\r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default WaiverCertificatePage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport renewalService from '../../../../../../services/Public/Renewal/EF/efRenewal.service';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport Acknowledgement from '../../../../../Shared/Card/FirmAcknowledgement';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/EFInformation';\r\n\r\nfunction AcknowledgementPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false)\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 7; // Revisit\r\n const [formModel, setFormModel] = useState({})\r\n useEffect(() => {\r\n renewalService.efGetSection(appId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!formModel.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n }\r\n const submitData = (isForSubmit) => {\r\n renewalService.efPostSection(appId, sectionId, formModel.electronicSignature).then((response) => {\r\n if (isForSubmit && response.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n Engineering Firm Renewal\r\n

Acknowledgement

\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetRenewalInformationContent } from '../../../../../Shared/InformationContent/EFInformation';\r\nimport renewalService from '../../../../../../services/Public/Renewal/renewal.service';\r\nimport efRenewalService, { getSections } from '../../../../../../services/Public/Renewal/EF/efRenewal.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../../Shared/Card/ReviewPdf';\r\nimport { List } from 'rsuite';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport shoppingCartService from '../../../../../../services/Public/shoppingCart.service';\r\nimport Swal from 'sweetalert2';\r\n\r\nfunction ReviewPage() {\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const [hasIssues, setHasIssues] = useState(true)\r\n const { push } = useHistory();\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const sectionId = 8;\r\n const [allSections, setAllSections] = useState([]);\r\n const [sectionData, setSectionData] = useState({});\r\n useEffect(() => {\r\n getSections().then(setAllSections);\r\n efRenewalService.efGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n })\r\n }, [])\r\n\r\n const navigateToPage = (sectionId) => {\r\n push(routes.filter(x => x.sectionId == (sectionId))[0].route)\r\n }\r\n const validateApplication = () => {\r\n setHasLoaded(false);\r\n renewalService.validateFirmRenewal(appId).then((response) => {\r\n let errors = response.data.map((error, i) => {\r\n return { navigateToPage(error.sectionId) }}>\r\n Error{error.errors.length > 1 ? 's' : ''} in {allSections.filter(x => x.id == error.sectionId)[0].sectionTitle}: {error.errors.join(', ')}\r\n \r\n })\r\n if (response.data?.length)\r\n setViolationIssuesHtml(\r\n \r\n {errors}\r\n \r\n )\r\n else {\r\n setViolationIssuesHtml('')\r\n setHasIssues(false);\r\n Swal.fire(\"Validation Successful\", `Your renewal passed all validation checks. You may now download a PDF version to keep for your records.`, 'success')\r\n }\r\n setHasLoaded(true);\r\n })\r\n }\r\n const submitApplication = () => {\r\n setHasLoaded(false);\r\n shoppingCartService.addToShoppingCart(appId, 11).then((data) => {\r\n if (data.data) { push('/firm/shoppingcart'); }\r\n\r\n })\r\n\r\n\r\n\r\n //renewalService.addToShoppingCart(11, appId).then((data) => {\r\n // if (data.data?.length) {\r\n // setHasIssues(true);\r\n // let errors = data.data.map((error, i) => {\r\n // return { navigateToPage(error.sectionId) }}>\r\n // Error{error.errors.length > 1 ? 's' : ''} in {allSections.filter(x => x.id == error.sectionId)[0].sectionTitle}: {error.errors.join(', ')}\r\n // \r\n // })\r\n // setViolationIssuesHtml(\r\n // \r\n // {errors}\r\n // \r\n // )\r\n // setHasLoaded(true);\r\n // }\r\n // else {\r\n // setHasIssues(false);\r\n // setViolationIssuesHtml(\"\")\r\n // efRenewalService.efGetSection(appId, sectionId).then((response) => {\r\n // setSectionData(response.data);\r\n // setHasLoaded(true);\r\n // })\r\n // }\r\n //})\r\n }\r\n\r\n return (\r\n
\r\n \r\n Engineering Firm Renewal\r\n

Review

\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {sectionData.isUserEditable ?\r\n : \r\n }\r\n {hasLoaded ?\r\n <>\r\n {\r\n (!hasIssues && sectionData.isUserEditable) &&\r\n <>\r\n \r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n {violationIssuesHtml}\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst efGetSection = (reinstatementId, sectionId) => {\r\n return axios.get(`${process.env.REACT_APP_APIURL}/api/FirmEfReinstatement/section`, { headers: authHeader(), params: { reinstatementId, sectionId } });\r\n}\r\n\r\nconst efPostSection = (reinstatementId, sectionId, electronicSignature) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmEfReinstatement/signsection`, null, { headers: authHeader(), params: { reinstatementId, sectionId, electronicSignature } });\r\n}\r\n\r\nconst efPostSectionHasWordOffering = (reinstatementId, sectionId, hasWordOfferingProfessionalServices) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmEfReinstatement/setsectionhaswordofferingprofessionalservices`, null, { headers: authHeader(), params: { reinstatementId, sectionId, hasWordOfferingProfessionalServices } });\r\n}\r\nconst efPostSectionHasFirmSubmittedSupervisingProfessional = (reinstatementId, sectionId, hasFirmSubmittedSupervisingProfessional) => {\r\n return axios.post(`${process.env.REACT_APP_APIURL}/api/FirmEfReinstatement/setsectionhasfirmsubmittedsupervisingprofessional`, null, { headers: authHeader(), params: { reinstatementId, sectionId, hasFirmSubmittedSupervisingProfessional } });\r\n}\r\n\r\nexport const getSections = async () => ([\r\n {\r\n id: 1,\r\n sectionTitle: \"Contact Information\",\r\n sectionContent: \"Verify personal and contact information is correct and accurate.\",\r\n },\r\n {\r\n id: 12,\r\n sectionTitle: \"Certificate of Authority/Good Standing Forms\",\r\n sectionContent: \"Verify information requested and upload any supporting documents.\",\r\n },\r\n {\r\n id: 13,\r\n sectionTitle: \"Firm Supervising Professionals\",\r\n sectionContent: \"Certify any supervising professionals working on behalf of a firm.\",\r\n },\r\n {\r\n id: 3,\r\n sectionTitle: \"Violations\",\r\n sectionContent: \"Subject to disciplinary action by the licensing authority.\",\r\n },\r\n {\r\n id: 14,\r\n sectionTitle: \"Unlicensed Activity\",\r\n sectionContent: \"Question if the firm has ever practiced or offered to practice engineering or land surveying in Louisiana.\",\r\n },\r\n {\r\n id: 9,\r\n sectionTitle: \"Acknowledgment\",\r\n sectionContent: \"Verify you have read the Rules for Professional Engineers and Land Surveyors (LAC Title 46, Part LXI), and agree.\",\r\n },\r\n {\r\n id: 10,\r\n sectionTitle: \"Review\",\r\n sectionContent: 'Review your answers. If you need to change an answer, click the \"Section\" above to go back to the appropriate section',\r\n }\r\n])\r\n\r\nexport default {\r\n efGetSection,\r\n efPostSection,\r\n efPostSectionHasWordOffering,\r\n efPostSectionHasFirmSubmittedSupervisingProfessional\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col, ListGroup } from 'react-bootstrap';\r\nimport Section from '../../../../../Shared/Sections/Section';\r\nimport { getSections } from \"../../../../../../services/Public/Reinstatement/EF/efReinstatement.service\";\r\nimport { useSelector } from 'react-redux';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/EFInformation';\r\nimport issuesService from '../../../../../../services/Shared/issues.service';\r\n\r\nfunction Index() {\r\n const [sections, setSections] = useState(null);\r\n const selector = useSelector(x => x);\r\n useEffect(() => {\r\n getSections().then((response) => {\r\n issuesService.getIssuesForSections(3, selector.currentApplicationId).then((data) => {\r\n setSections(selector.currentRoutes != null ? selector.currentRoutes.map((value, i) => {\r\n var section = {\r\n ...response.filter(x => x.id == value.sectionId)[0]\r\n };\r\n if (section?.id) {\r\n section.link = value.route\r\n var issues = data.data.filter(x => x.sectionId == section.id);\r\n if (issues.length) {\r\n section.status = `${issues[0].openIssueCount} Issue${issues[0].openIssueCount > 1 ? 's' : ''}`;\r\n }\r\n return
\r\n }\r\n return;\r\n }) : []);\r\n })\r\n })\r\n }, [])\r\n\r\n return (\r\n
\r\n \r\n Engineering Firm Reinstatement\r\n

Engineering Firm

\r\n \r\n \r\n \r\n
\r\n \r\n \r\n

Sections to Complete

\r\n \r\n {sections}\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default Index;","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EFREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/FirmEfReinstatement\";\r\n\r\nconst getContactInformation = (reinstatementId) => {\r\n return axios.get(`${EFREINSTATEMENTURL}/contactinformation`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nexport default {\r\n getContactInformation\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { Card, Container, Tab, Tabs } from 'react-bootstrap'\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport { Form, Schema } from 'rsuite';\r\nimport dayjs from 'dayjs';\r\nimport { GetFirmGeneralContactInformationInstructions } from '../../../../../Shared/InformationContent/GeneralInformation'\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport contactService from '../../../../../../services/Public/Reinstatement/EF/contact.service';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/EF/efReinstatement.service';\r\nimport MailingAddress from '../../../../../Shared/Card/Contact/MailingAddress';\r\nimport FirmInformation from '../../../../../Shared/Card/Contact/FirmInformation';\r\nimport PublicAddress from '../../../../../Shared/Card/Contact/PublicAddress';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction ContactInformationPage() {\r\n const sectionId = 1;\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const { push } = useHistory();\r\n const appId = useSelector(x => x.currentApplicationId);\r\n const [sectionData, setSectionData] = useState({});\r\n\r\n useEffect(() => {\r\n contactService.getContactInformation(appId).then((response) => {\r\n var data = response.data;\r\n \r\n setFormModel({\r\n ...data,\r\n dateOfFormation: data.dateOfFormation != null ? dayjs(data.dateOfFormation).format('YYYY-MM-DD') : null,\r\n orgType: data.organizationType?.organizationType,\r\n primaryEmail: data.primaryEmailAddress?.contactEmailAddress,\r\n phoneNum: data.phone?.phoneNumber\r\n\r\n })\r\n reinstatementService.efGetSection(appId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n }, [])\r\n\r\n const [formModel, setFormModel] = useState({})\r\n\r\n const { StringType, ObjectType } = Schema.Types;\r\n\r\n const model = Schema.Model({\r\n federalId: StringType().isRequired('This field is required.'),\r\n orgType: StringType().isRequired('This field is required.'),\r\n primaryEmail: StringType().isRequired('This field is required.'),\r\n dateOfFormation: StringType().isRequired('This field is required.'),\r\n name: StringType().isRequired('This field is required.'),\r\n domicileState: ObjectType().isRequired('This field is required.'),\r\n });\r\n const addressModel = Schema.Model({\r\n streetAddress: StringType().isRequired('This field is required.'),\r\n country: ObjectType().isRequired('This field is required.'),\r\n city: StringType().isRequired('This field is required.'),\r\n postalCode: StringType().isRequired('This field is required.'),\r\n state: ObjectType().isRequired('This field is required.'),\r\n provinceRegion: StringType().isRequired('This field is required.'),\r\n })\r\n\r\n const [tabPane, setTabPane] = useState(\"firmInformation\")\r\n\r\n const submitData = () => {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n\r\n }\r\n\r\n return (\r\n
\r\n \r\n Contact Information\r\n

Contact

\r\n \r\n
\r\n \r\n \r\n {hasLoaded ?\r\n { setTabPane(selected) }}>\r\n \r\n
\r\n
\r\n
setFormModel(formModel)}\r\n onSubmit={submitData} >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, mailingAddress: { ...value } }) }}\r\n id=\"mailingAddressForm\">\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{ setFormModel({ ...formModel, publicAddress: { ...value } }) }}\r\n id=\"publicAddressForm\">\r\n \r\n \r\n
\r\n
: \r\n }\r\n
\r\n \r\n
\r\n {hasLoaded &&\r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default ContactInformationPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/EFInformation';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/EF/efReinstatement.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport SupervisingProfessional from '../../../../../Shared/Card/SupervisingProfessional';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction SupervisingProfessionalPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 13;\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasFirmSubmittedSupervisingProfessional: BooleanType().isRequired('This field is required.'),\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n reinstatementService.efGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const { push } = useHistory();\r\n const showAdditionalFields = sectionData.hasFirmSubmittedSupervisingProfessional;\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (val) {\r\n reinstatementService.efPostSection(store.currentApplicationId, sectionId, sectionData.electronicSignature).then((response) => {\r\n if (response.data) {\r\n reinstatementService.efPostSectionHasFirmSubmittedSupervisingProfessional(store.currentApplicationId, sectionId, sectionData.hasFirmSubmittedSupervisingProfessional).then((data) => {\r\n if (data.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n })\r\n }\r\n\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n Engineering Firm Reinstatement\r\n

Supervising Professional

\r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default SupervisingProfessionalPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EFREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/FirmEfReinstatement\";\r\n\r\nconst getUnlicensedActivity = (reinstatementId) => {\r\n return axios.get(`${EFREINSTATEMENTURL}/unlicensedActivity`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postUnlicensedActivity = (data) => {\r\n return axios.post(`${EFREINSTATEMENTURL}/unlicensedActivity`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getUnlicensedActivity,\r\n postUnlicensedActivity\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetAppInformationContent } from '../../../../../Shared/InformationContent/EFInformation';\r\nimport unlicensedActivityService from '../../../../../../services/Public/Reinstatement/EF/unlicensedActivity.service';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/EF/efReinstatement.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport UnlicensedActivity from '../../../../../Shared/Card/FirmUnlicensedActivity';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction UnlicensedActivityPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 14;\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n hasUnlicensedActivity: BooleanType().isRequired('This field is required.'),\r\n explanation: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n reinstatementService.efGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n unlicensedActivityService.getUnlicensedActivity(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, files: formData.files, filesForDisplay: formData.filesForDisplay });\r\n }\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n hasUnlicensedActivity: undefined,\r\n explanation: \"\",\r\n files: [],\r\n filesForDisplay: []\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData.hasUnlicensedActivity;\r\n\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"explanation\") || (showAdditionalFields && key.includes(\"explanation\")))) {\r\n return;\r\n }\r\n\r\n }\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, reinstatementId: store.currentApplicationId, entityId: store.userInfo.EntityId };\r\n unlicensedActivityService.postUnlicensedActivity(dataTransfer).then((response) => {\r\n if (response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n Engineering Firm Reinstatement\r\n

Unlicensed Activity

\r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default UnlicensedActivityPage","import axios from \"axios\";\r\nimport authHeader from '../../../authheader'\r\n\r\nconst EFREINSTATEMENTURL = process.env.REACT_APP_APIURL + \"/api/FirmEfReinstatement\";\r\n\r\nconst getViolation = (reinstatementId) => {\r\n return axios.get(`${EFREINSTATEMENTURL}/violation`, { headers: authHeader(), params: { reinstatementId } });\r\n}\r\nconst postViolation = (data) => {\r\n return axios.post(`${EFREINSTATEMENTURL}/violation`, data, { headers: authHeader() });\r\n}\r\nexport default {\r\n getViolation,\r\n postViolation\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Form, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport { useSelector } from 'react-redux';\r\nimport ViolationService from '../../../../../../services/Public/Reinstatement/EF/violation.service';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/EF/efReinstatement.service';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/EFInformation';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { getReinstatementCodeViolationAnswers } from '../../../../../../services/Shared/codeTable.service';\r\nimport GenericViolations from '../../../../../Shared/Card/Violations';\r\n\r\nfunction Violations() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 3;\r\n const { StringType } = Schema.Types;\r\n const model = Schema.Model({\r\n yesAnswerExplanation: StringType().isRequired('This field is required.'),\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n reinstatementService.efGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n ViolationService.getViolation(store.currentApplicationId).then((data) => {\r\n if (data.data) {\r\n updateFormData({ ...data.data, issues: formData.issues, files: formData.files, filesForDisplay: formData.filesForDisplay });\r\n }\r\n else {\r\n getReinstatementCodeViolationAnswers(1).then((questions) => {\r\n updateFormData({ ...formData, answers: [...questions] })\r\n })\r\n }\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n })\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const initialFormData = Object({\r\n id: 0,\r\n yesAnswerExplanation: \"\",\r\n files: [],\r\n filesForDisplay: [],\r\n issues: [\r\n ]\r\n });\r\n\r\n const { push } = useHistory();\r\n const [formData, updateFormData] = useState(initialFormData);\r\n const showAdditionalFields = formData?.answers?.findIndex(x => x.answer == true) >= 0;\r\n const [showFormErrors, setShowFormErrors] = useState(false);\r\n\r\n const handleSubmit = (val, event) => {\r\n setShowFormErrors(true)\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n if (formData?.answers?.findIndex(x => x.answer !== true && x.answer !== false) >= 0) {//undefined check\r\n return;\r\n }\r\n else {\r\n var validationObject = model.check(formData);\r\n for (const key in validationObject) {\r\n if (validationObject[key].hasError && (!key.includes(\"yesAnswerExplanation\") || (showAdditionalFields && key.includes(\"yesAnswerExplanation\")))) {\r\n return;\r\n }\r\n\r\n }\r\n if (showAdditionalFields === false || val) {\r\n var dataTransfer = { ...formData, reinstatementId: store.currentApplicationId, entityId: store.userInfo.EntityId };\r\n ViolationService.postViolation(dataTransfer).then((response) => {\r\n if (response.data) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n Engineering Firm Reinstatement\r\n

Violations

\r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default Violations;","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/EFInformation';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/EF/efReinstatement.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport { Form, Schema } from 'rsuite';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport WavierCertificate from '../../../../../Shared/Card/WaiverCertificate';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\n\r\nfunction WaiverCertificatePage() {\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n const [sectionData, setSectionData] = useState({});\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 12;\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n useEffect(() => {\r\n setHasLoaded(false);\r\n reinstatementService.efGetSection(store.currentApplicationId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n setHasLoaded(true);\r\n })\r\n\r\n\r\n }, [])\r\n const store = useSelector(x => x);\r\n\r\n const { push } = useHistory();\r\n //const showAdditionalFields = sectionData.hasWordOfferingProfessionalServices;\r\n\r\n const handleSubmit = (val, event) => {\r\n if (!sectionData.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (val) {\r\n reinstatementService.efPostSection(store.currentApplicationId, sectionId, sectionData.electronicSignature).then((response) => {\r\n if (response.data)\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n })\r\n }\r\n\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n Engineering Firm Reinstatement\r\n

Certificate of Authority/Good Standing

\r\n \r\n \r\n \r\n {hasLoaded ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n : \r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default WaiverCertificatePage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Card } from 'react-bootstrap';\r\nimport { Form, FormControl, Schema } from 'rsuite';\r\nimport { useHistory } from 'react-router-dom';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/EF/efReinstatement.service';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport FormActionButtons from '../../../../../Shared/FormAction/FormActionButtons';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport RedStar from '../../../../../Shared/GenericComponents/RedStar';\r\n\r\nfunction AcknowledgementPage() {\r\n const [hasLoaded, setHasLoaded] = useState(false)\r\n const { push } = useHistory();\r\n const { StringType } = Schema.Types;\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const sectionId = 9; // Revisit\r\n const [formModel, setFormModel] = useState({})\r\n useEffect(() => {\r\n reinstatementService.efGetSection(reinstatementId, sectionId).then((response) => {\r\n setFormModel(response.data);\r\n setHasLoaded(true);\r\n })\r\n }, [])\r\n const model = Schema.Model({\r\n electronicSignature: StringType().isRequired('This field is required.')\r\n });\r\n\r\n const formSubmit = (validation, event) => {\r\n if (!formModel.isUserEditable) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else {\r\n if (validation) {\r\n submitData(true);\r\n }\r\n }\r\n }\r\n const submitData = (isForSubmit) => {\r\n reinstatementService.efPostSection(reinstatementId, sectionId, formModel.electronicSignature).then((response) => {\r\n if (isForSubmit && response.data.id) {\r\n push(routes[routes.findIndex(el => { if (el.sectionId == sectionId) { return true; } }) + 1].route)\r\n }\r\n else if (response.data.id) {\r\n Swal.fire(\"Saved!\");\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n Engineering Firm Reinstatement\r\n

Acknowledgement

\r\n {hasLoaded ?\r\n
setFormModel(formModel)} onSubmit={formSubmit}>\r\n \r\n \r\n \r\n
Requirements/Information/Acknowledgement
\r\n \r\n

\r\n Fields marked with an asterisk * are required.\r\n

\r\n
\r\n

\r\n I certify that I have read the contents of this application and to the best of my knowledge, information and belief the\r\n statements and information in this application are true and correct in substance and effect and are made in good faith. I\r\n have not omitted any information requested in this application. I am aware that such an omission or untrue response\r\n may constitute fraud, deceit, material misstatement, perjury or the giving of false or forged evidence under Louisiana\r\n Revised Statutes 37:698 and 37:700.\r\n

\r\n
\r\n \r\n \r\n
Electronic Signature of Applicant:
\r\n (Type full name)\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default AcknowledgementPage","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Information from '../../../../../Shared/Card/Information';\r\nimport { GetReinstatementInformationContent } from '../../../../../Shared/InformationContent/EFInformation';\r\nimport reinstatementService from '../../../../../../services/Public/Reinstatement/reinstatement.service';\r\nimport efReinstatementService, { getSections } from '../../../../../../services/Public/Reinstatement/EF/efReinstatement.service';\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../../../../Shared/GenericComponents/LoadingSpinner';\r\nimport ReviewPdf from '../../../../../Shared/Card/ReviewPdf';\r\nimport { List } from 'rsuite';\r\nimport Issues from '../../../../../Shared/Card/Issues';\r\nimport shoppingCartService from '../../../../../../services/Public/shoppingCart.service';\r\nimport Swal from 'sweetalert2';\r\n\r\nfunction ReviewPage() {\r\n const [hasLoaded, setHasLoaded] = useState(true)\r\n const [hasIssues, setHasIssues] = useState(true)\r\n const { push } = useHistory();\r\n const reinstatementId = useSelector(x => x.currentApplicationId);\r\n const routes = useSelector(x => x.currentRoutes);\r\n const [violationIssuesHtml, setViolationIssuesHtml] = useState();\r\n const sectionId = 9;\r\n const [allSections, setAllSections] = useState([]);\r\n const [sectionData, setSectionData] = useState({});\r\n useEffect(() => {\r\n getSections().then(setAllSections);\r\n efReinstatementService.efGetSection(reinstatementId, sectionId).then((response) => {\r\n setSectionData(response.data);\r\n })\r\n }, [])\r\n\r\n const navigateToPage = (sectionId) => {\r\n push(routes.filter(x => x.sectionId == (sectionId))[0].route)\r\n }\r\n const validateApplication = () => {\r\n setHasLoaded(false);\r\n reinstatementService.validateFirmReinstatement(reinstatementId).then((response) => {\r\n let errors = response.data.map((error, i) => {\r\n return { navigateToPage(error.sectionId) }}>\r\n Error{error.errors.length > 1 ? 's' : ''} in {allSections.filter(x => x.id == error.sectionId)[0].sectionTitle}: {error.errors.join(', ')}\r\n \r\n })\r\n if (response.data?.length)\r\n setViolationIssuesHtml(\r\n \r\n {errors}\r\n \r\n )\r\n else {\r\n setViolationIssuesHtml('')\r\n setHasIssues(false);\r\n Swal.fire(\"Validation Successful\", `Your reinstatement passed all validation checks. You may now download a PDF version to keep for your records.`, 'success')\r\n }\r\n setHasLoaded(true);\r\n })\r\n }\r\n const submitApplication = () => {\r\n setHasLoaded(false);\r\n shoppingCartService.addToShoppingCart(reinstatementId, 13).then((data) => {\r\n if (data.data) {\r\n push('/firm/shoppingcart');\r\n }\r\n\r\n })\r\n\r\n //reinstatementService.submitFirmReinstatement(reinstatementId).then((data) => {\r\n // if (data.data?.length) {\r\n // setHasIssues(true);\r\n // let errors = data.data.map((error, i) => {\r\n // return { navigateToPage(error.sectionId) }}>\r\n // Error{error.errors.length > 1 ? 's' : ''} in {allSections.filter(x => x.id == error.sectionId)[0].sectionTitle}: {error.errors.join(', ')}\r\n // \r\n // })\r\n // setViolationIssuesHtml(\r\n // \r\n // {errors}\r\n // \r\n // )\r\n // setHasLoaded(true);\r\n // }\r\n // else {\r\n // setHasIssues(false);\r\n // setViolationIssuesHtml(\"\")\r\n // efReinstatementService.efGetSection(reinstatementId, sectionId).then((response) => {\r\n // setSectionData(response.data);\r\n // setHasLoaded(true);\r\n // })\r\n // }\r\n //})\r\n }\r\n\r\n return (\r\n
\r\n \r\n Engineering Firm Reinstatement\r\n

Review

\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {sectionData.isUserEditable ?\r\n : \r\n }\r\n {hasLoaded ?\r\n <>\r\n {\r\n (!hasIssues && sectionData.isUserEditable) &&\r\n <>\r\n \r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n {violationIssuesHtml}\r\n \r\n : \r\n }\r\n
\r\n
\r\n );\r\n}\r\nexport default ReviewPage","import React from 'react';\r\nimport RenderRoutes from \"./renderroutes\"\r\nimport DashboardPage from \"./../Public/Firm/Dashboard/DashboardPage\"\r\nimport ShoppingCartPage from \"./../Public/Firm/ShoppingCart/ShoppingCartPage\"\r\nimport PaymentSuccessPage from \"./../Public/Firm/ShoppingCart/PaymentSuccessPage\"\r\nimport PaymentFailedPage from \"./../Public/Firm/ShoppingCart/PaymentFailedPage\"\r\nimport PaymentErrorPage from \"./../Public/Firm/ShoppingCart/PaymentErrorPage\"\r\nimport ContactPage from \"./../Public/Firm/Contact/ContactPage\"\r\nimport Applications from '../Public/Firm/Applications/Applications';\r\nimport Renewals from '../Public/Firm/Renewal/Renewals';\r\nimport Reinstatements from '../Public/Firm/Reinstatement/Reinstatements';\r\nimport SupervisingProfessionalPage from '../Public/Firm/SupervisingProfessional/SupervisingProfessionalPage';\r\nimport InvoicePage from '../Public/Firm/ShoppingCart/InvoicePage';\r\nimport InvoiceHistoryPage from '../Shared/InvoiceHistory/InvoiceHistoryPage';\r\nimport RedirectToSection from '../Shared/Redirect/RedirectToSection';\r\n\r\n//#region VF\r\n//VF App\r\nimport VfAppSectionPage from '../Public/Firm/Applications/VF/Index/Index';\r\nimport VfAppContactInformationPage from '../Public/Firm/Applications/VF/ContactInformation/ContactInformationPage';\r\nimport VfAppSupervisingProfessionalPage from '../Public/Firm/Applications/VF/SupervisingProfessional/SupervisingProfessionalPage';\r\nimport VfAppUnlicensedActivityPage from '../Public/Firm/Applications/VF/UnlicensedActivity/UnlicensedActivityPage';\r\nimport VfAppViolationsPage from '../Public/Firm/Applications/VF/Violations/ViolationsPage';\r\nimport VfAppWaiverCertificatePage from '../Public/Firm/Applications/VF/WaiverCertificate/WaiverCertificatePage';\r\nimport VfAppAcknowledgementPage from '../Public/Firm/Applications/VF/Acknowledgement/AcknowledgementPage';\r\nimport VfAppReviewPage from '../Public/Firm/Applications/VF/Review/ReviewPage';\r\n\r\n//VF Renewals\r\nimport VfRenewalSectionPage from '../Public/Firm/Renewal/VF/Index/Index';\r\nimport VfRenewalContactInformationPage from '../Public/Firm/Renewal/VF/ContactInformation/ContactInformationPage';\r\nimport VfRenewalViolationsPage from '../Public/Firm/Renewal/VF/Violations/ViolationsPage';\r\nimport VfRenewalSupervisingProfessionalPage from '../Public/Firm/Renewal/VF/SupervisingProfessional/SupervisingProfessionalPage';\r\nimport VfRenewalWaiverCertificatePage from '../Public/Firm/Renewal/VF/WaiverCertificate/WaiverCertificatePage';\r\nimport VfRenewalAcknowledgementPage from '../Public/Firm/Renewal/VF/Acknowledgement/AcknowledgementPage';\r\nimport VfRenewalReviewPage from '../Public/Firm/Renewal/VF/Review/ReviewPage';\r\n\r\n//VF Reinstatements\r\nimport VfReinstatementSectionPage from '../Public/Firm/Reinstatement/VF/Index/Index';\r\nimport VfReinstatementContactInformationPage from '../Public/Firm/Reinstatement/VF/ContactInformation/ContactInformationPage';\r\nimport VfReinstatementSupervisingProfessionalPage from '../Public/Firm/Reinstatement/VF/SupervisingProfessional/SupervisingProfessionalPage';\r\nimport VfReinstatementUnlicensedActivityPage from '../Public/Firm/Reinstatement/VF/UnlicensedActivity/UnlicensedActivityPage';\r\nimport VfReinstatementViolationsPage from '../Public/Firm/Reinstatement/VF/Violations/ViolationsPage';\r\nimport VfReinstatementWaiverCertificatePage from '../Public/Firm/Reinstatement/VF/WaiverCertificate/WaiverCertificatePage';\r\nimport VfReinstatementAcknowledgementPage from '../Public/Firm/Reinstatement/VF/Acknowledgement/AcknowledgementPage';\r\nimport VfReinstatementReviewPage from '../Public/Firm/Reinstatement/VF/Review/ReviewPage';\r\n//#endregion\r\n\r\n\r\n//#region EF\r\n//EF App\r\nimport EfAppSectionPage from '../Public/Firm/Applications/EF/Index/Index';\r\nimport EfAppContactInformationPage from '../Public/Firm/Applications/EF/ContactInformation/ContactInformationPage';\r\nimport EfAppSupervisingProfessionalPage from '../Public/Firm/Applications/EF/SupervisingProfessional/SupervisingProfessionalPage';\r\nimport EfAppUnlicensedActivityPage from '../Public/Firm/Applications/EF/UnlicensedActivity/UnlicensedActivityPage';\r\nimport EfAppViolationsPage from '../Public/Firm/Applications/EF/Violations/ViolationsPage';\r\nimport EfAppWaiverCertificatePage from '../Public/Firm/Applications/EF/WaiverCertificate/WaiverCertificatePage';\r\nimport EfAppAcknowledgementPage from '../Public/Firm/Applications/EF/Acknowledgement/AcknowledgementPage';\r\nimport EfAppReviewPage from '../Public/Firm/Applications/EF/Review/ReviewPage';\r\n\r\n//EF Renewals\r\nimport EfRenewalSectionPage from '../Public/Firm/Renewal/EF/Index/Index';\r\nimport EfRenewalContactInformationPage from '../Public/Firm/Renewal/EF/ContactInformation/ContactInformationPage';\r\nimport EfRenewalSupervisingProfessionalPage from '../Public/Firm/Renewal/EF/SupervisingProfessional/SupervisingProfessionalPage';\r\nimport EfRenewalViolationsPage from '../Public/Firm/Renewal/EF/Violations/ViolationsPage';\r\nimport EfRenewalWaiverCertificatePage from '../Public/Firm/Renewal/EF/WaiverCertificate/WaiverCertificatePage';\r\nimport EfRenewalAcknowledgementPage from '../Public/Firm/Renewal/EF/Acknowledgement/AcknowledgementPage';\r\nimport EfRenewalReviewPage from '../Public/Firm/Renewal/EF/Review/ReviewPage';\r\n\r\n//EF Reinstatements\r\nimport EfReinstatementSectionPage from '../Public/Firm/Reinstatement/EF/Index/Index';\r\nimport EfReinstatementContactInformationPage from '../Public/Firm/Reinstatement/EF/ContactInformation/ContactInformationPage';\r\nimport EfReinstatementSupervisingProfessionalPage from '../Public/Firm/Reinstatement/EF/SupervisingProfessional/SupervisingProfessionalPage';\r\nimport EfReinstatementUnlicensedActivityPage from '../Public/Firm/Reinstatement/EF/UnlicensedActivity/UnlicensedActivityPage';\r\nimport EfReinstatementViolationsPage from '../Public/Firm/Reinstatement/EF/Violations/ViolationsPage';\r\nimport EfReinstatementWaiverCertificatePage from '../Public/Firm/Reinstatement/EF/WaiverCertificate/WaiverCertificatePage';\r\nimport EfReinstatementAcknowledgementPage from '../Public/Firm/Reinstatement/EF/Acknowledgement/AcknowledgementPage';\r\nimport EfReinstatementReviewPage from '../Public/Firm/Reinstatement/EF/Review/ReviewPage';\r\nimport AskLolaPage from '../Shared/AskLola/AskLolaPage';\r\nimport UserProfilePage from '../Shared/UserProfile/UserProfilePage';\r\n//#endregion\r\n\r\nconst FIRM_ROUTES = [{\r\n path: \"/\",\r\n key: \"ROOT\",\r\n exact: true,\r\n component: () => \r\n}, {\r\n path: \"/firm\",\r\n key: \"PUBLIC\",\r\n component: RenderRoutes,\r\n routes: [\r\n {\r\n path: \"/firm\",\r\n key: \"PUBLIC_ROOT\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/dashboard\",\r\n key: \"Dashboard\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/askLola\",\r\n key: \"FIRM_ASKLOLA\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/userProfile\",\r\n key: \"FIRM_USER_PROFILE\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/redirectToSection\",\r\n key: \"FIRM_REDIRECT_TO_SECTION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/shoppingcart\",\r\n key: \"ShoppingCart\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/shoppingcart/success\",\r\n key: \"ShoppingCart_Success\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/shoppingcart/failed\",\r\n key: \"ShoppingCart_Failed\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/shoppingcart/error\",\r\n key: \"ShoppingCart_Error\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/invoice\",\r\n key: \"Invoice\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/invoicehistory\",\r\n key: \"InvoiceHistory\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/contactinformation\",\r\n key: \"PUBLIC_ROOT\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/applications/\",\r\n key: \"PUBLIC_APPLICATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/renewals/\",\r\n key: \"PUBLIC_RENEWALS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/reinstatements/\",\r\n key: \"PUBLIC_REINSTATEMENTS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/supervisingprofessional/\",\r\n key: \"PUBLIC_SUPERVISING_PROFESSIONAL\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/vfApp/sections\",\r\n key: \"PUBLIC_VF_APPLICATIONS_INDEX\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/vfApp/contactInformation\",\r\n key: \"PUBLIC_VF_APPLICATIONS_CONTACTINFORMATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/vfApp/waiver\",\r\n key: \"PUBLIC_VF_APPLICATIONS_WAIVERCERTIFICATE\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/vfApp/supervisingProfessional\",\r\n key: \"PUBLIC_VF_APPLICATIONS_SUPERVISINGPROFESSIONAL\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/vfApp/violations\",\r\n key: \"PUBLIC_VF_APPLICATIONS_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/vfApp/unlicensedActivity\",\r\n key: \"PUBLIC_VF_APPLICATIONS_UNLICENSEDACTIVITY\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/vfApp/acknowledgement\",\r\n key: \"PUBLIC_VF_APPLICATIONS_ACKNOWLEDGEMENT\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/vfApp/review\",\r\n key: \"PUBLIC_VF_APPLICATIONS_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/vfRenewal/sections\",\r\n key: \"PUBLIC_VF_RENEWAL_INDEX\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/vfRenewal/contactInformation\",\r\n key: \"PUBLIC_VF_RENEWAL_CONTACTINFORMATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/vfRenewal/waiver\",\r\n key: \"PUBLIC_VF_RENEWAL_WAIVERCERTIFICATE\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/vfRenewal/supervisingProfessional\",\r\n key: \"PUBLIC_VF_RENEWAL_SUPERVISINGPROFESSIONAL\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/vfRenewal/violations\",\r\n key: \"PUBLIC_VF_RENEWAL_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/vfRenewal/acknowledgement\",\r\n key: \"PUBLIC_VF_RENEWAL_ACKNOWLEDGEMENT\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/vfRenewal/review\",\r\n key: \"PUBLIC_VF_RENEWAL_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/vfReinstatement/sections\",\r\n key: \"PUBLIC_VF_REINSTATEMENT_INDEX\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/vfReinstatement/contactInformation\",\r\n key: \"PUBLIC_VF_REINSTATEMENT_CONTACTINFORMATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/vfReinstatement/waiver\",\r\n key: \"PUBLIC_VF_REINSTATEMENTS_WAIVERCERTIFICATE\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/vfReinstatement/supervisingProfessional\",\r\n key: \"PUBLIC_VF_REINSTATEMENTS_SUPERVISINGPROFESSIONAL\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/vfReinstatement/violations\",\r\n key: \"PUBLIC_VF_REINSTATEMENTS_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/vfReinstatement/unlicensedActivity\",\r\n key: \"PUBLIC_VF_REINSTATEMENTS_UNLICENSEDACTIVITY\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/vfReinstatement/acknowledgement\",\r\n key: \"PUBLIC_VF_REINSTATEMENTS_ACKNOWLEDGEMENT\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/vfReinstatement/review\",\r\n key: \"PUBLIC_VF_REINSTATEMENTS_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/efapp/sections\",\r\n key: \"PUBLIC_EF_APPLICATIONS_INDEX\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/efapp/contactInformation\",\r\n key: \"PUBLIC_EF_APPLICATIONS_CONTACTINFORMATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/efapp/waiver\",\r\n key: \"PUBLIC_EF_APPLICATIONS_WAIVERCERTIFICATE\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/efapp/supervisingprofessional\",\r\n key: \"PUBLIC_EF_APPLICATIONS_SUPERVISINGPROFESSIONAL\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/efapp/violations\",\r\n key: \"PUBLIC_EF_APPLICATIONS_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/efapp/unlicensedactivity\",\r\n key: \"PUBLIC_EF_APPLICATIONS_UNLICENSEDACTIVITY\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/efapp/acknowledgement\",\r\n key: \"PUBLIC_EF_APPLICATIONS_ACKNOWLEDGEMENT\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/efapp/review\",\r\n key: \"PUBLIC_EF_APPLICATIONS_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/efrenewal/sections\",\r\n key: \"PUBLIC_EF_RENEWAL_INDEX\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/efrenewal/contactInformation\",\r\n key: \"PUBLIC_EF_RENEWAL_CONTACTINFORMATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/efrenewal/waiver\",\r\n key: \"PUBLIC_EF_RENEWAL_WAIVERCERTIFICATE\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/efRenewal/supervisingProfessional\",\r\n key: \"PUBLIC_EF_RENEWAL_SUPERVISINGPROFESSIONAL\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/efrenewal/violations\",\r\n key: \"PUBLIC_EF_RENEWAL_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/efrenewal/acknowledgement\",\r\n key: \"PUBLIC_EF_RENEWAL_ACKNOWLEDGEMENT\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/efrenewal/review\",\r\n key: \"PUBLIC_EF_RENEWAL_REVIEW\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/efreinstatement/sections\",\r\n key: \"PUBLIC_EF_REINSTATEMENT_INDEX\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/efreinstatement/contactInformation\",\r\n key: \"PUBLIC_EF_REINSTATEMENT_CONTACTINFORMATION\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/efreinstatement/waiver\",\r\n key: \"PUBLIC_EF_REINSTATEMENTS_WAIVERCERTIFICATE\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/efreinstatement/supervisingprofessional\",\r\n key: \"PUBLIC_EF_REINSTATEMENTS_SUPERVISINGPROFESSIONAL\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/efreinstatement/violations\",\r\n key: \"PUBLIC_EF_REINSTATEMENTS_VIOLATIONS\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/efreinstatement/unlicensedactivity\",\r\n key: \"PUBLIC_EF_REINSTATEMENTS_UNLICENSEDACTIVITY\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/efreinstatement/acknowledgement\",\r\n key: \"PUBLIC_EF_REINSTATEMENTS_ACKNOWLEDGEMENT\",\r\n exact: true,\r\n component: () => \r\n },\r\n {\r\n path: \"/firm/efreinstatement/review\",\r\n key: \"PUBLIC_EF_REINSTATEMENTS_REVIEW\",\r\n exact: true,\r\n component: () => \r\n }\r\n ]\r\n}]\r\n\r\nexport default FIRM_ROUTES","import React, { useEffect } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Sidenav, Nav, Icon, Dropdown } from 'rsuite'\r\nimport 'rsuite/dist/styles/rsuite-default.css'\r\nimport Swal from 'sweetalert2'\r\nimport * as FaIcons from 'react-icons/fa';\r\nimport logo from '../../../../images/LAPELS-LOLA-Logo.png'\r\n\r\nfunction Sidebar(props) {\r\n const [activeKey, setActiveKey] = React.useState();\r\n useEffect(() => {\r\n if (props.activeKey) {\r\n setActiveKey(props.activeKey);\r\n } else {\r\n setActiveKey(\"1\");\r\n }\r\n }, [])\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n LOLA\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default Sidebar;\r\n","import React, { useState, useEffect } from 'react'\r\nimport { Button } from 'react-bootstrap';\r\nimport { Icon, Dropdown } from 'rsuite'\r\nimport Swal from 'sweetalert2';\r\nimport notificationService from '../../../../services/notification.service';\r\nimport { sort_by } from '../../../Shared/HelperFunctions';\r\n\r\nfunction Notification() {\r\n const [notifications, setNotifications] = useState([])\r\n\r\n const badgeStyle = {\r\n position: \"absolute\",\r\n marginLeft: \"-30px\",\r\n marginTop: \"5px\",\r\n padding: \"2px 8px\",\r\n borderRadius: \"50%\",\r\n background: \"red\",\r\n color: \"white\",\r\n zIndex: \"6\",\r\n pointerEvents: \"none\"\r\n };\r\n\r\n const notificationPanel = (text, date, userName, id) => {\r\n return (\r\n \r\n
\r\n

{userName} ({date})
{text}

\r\n \r\n
\r\n
\r\n
\r\n )\r\n }\r\n const clickableNotificationPanel = (text, date, userName, id, issueId) => {\r\n return (\r\n \r\n
\r\n {userName} ({date})
{text}
\r\n \r\n
\r\n
\r\n
\r\n )\r\n }\r\n\r\n const removeNotification = (id) => {\r\n notificationService.deleteNotification(id).then((response) => {\r\n if (response.status == 200) {\r\n var currentNotifications = notifications;\r\n setNotifications(currentNotifications.filter(notification => notification.id !== id));\r\n }\r\n else {\r\n Swal.fire(\"Error removing notification\");\r\n }\r\n })\r\n\r\n }\r\n\r\n const removeAllNotifications = () => {\r\n notificationService.deleteAllNotifications().then((response) => {\r\n if (response.status == 200) {\r\n setNotifications([]);\r\n }\r\n else {\r\n Swal.fire(\"Error removing notifications\");\r\n }\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n notificationService.getNotifications().then((response) => {\r\n const data = response.data.sort(sort_by(\"dateCrte\", true));\r\n setNotifications(data);\r\n });\r\n }, [])\r\n\r\n return (\r\n <>\r\n } noCaret={true}>\r\n {\r\n notifications.length > 0 ?\r\n <>\r\n
Notifications
\r\n {notifications.map((val, index) => {\r\n if (val.issueId) {\r\n return clickableNotificationPanel(val.text, new Date(val.dateCrte).toLocaleDateString(), val.userName, val.id, val.issueId);\r\n }\r\n return notificationPanel(val.text, new Date(val.dateCrte).toLocaleDateString(), val.userName, val.id)\r\n })}\r\n\r\n :\r\n

No Notifications

\r\n }\r\n
\r\n {notifications.length > 0 && {notifications.length}}\r\n \r\n );\r\n}\r\nexport default Notification;","import React, { useEffect } from 'react';\r\nimport { useState } from 'react';\r\nimport { Button } from 'react-bootstrap';\r\nimport * as FaIcons from 'react-icons/fa';\r\nimport NumberFormat from 'react-number-format';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport ShoppingCartService from '../../../../../services/Public/shoppingCart.service';\r\nfunction ShoppingCartButton() {\r\n const [numberOfItems, setNumberOfItems] = useState(0);\r\n const [total, setTotal] = useState(0);\r\n var amount = useSelector(x => x.refreshToken);\r\n useEffect(() => {\r\n ShoppingCartService.getShoppingCart().then((response) => {\r\n setNumberOfItems(response.data.numberOfItems);\r\n setTotal(response.data.total);\r\n });\r\n }, [amount])\r\n var history = useHistory();\r\n function navigateToCart() {\r\n history.push(\"/firm/shoppingcart\");\r\n }\r\n return (\r\n <>\r\n \r\n\r\n \r\n )\r\n}\r\n\r\nexport default ShoppingCartButton;","import React from 'react';\r\nimport { Nav, Navbar, Icon, Dropdown } from 'rsuite';\r\nimport 'rsuite/dist/styles/rsuite-default.css'\r\nimport Notification from './Notifications';\r\nimport ShoppingCartButton from './ShoppingCart/ShoppingCartButton';\r\nimport AuthService from \"../../../../services/auth.service\"\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\n\r\nfunction TopNavBar() {\r\n const { push } = useHistory();\r\n const logout = () => {\r\n AuthService.logout();\r\n window.location.href = \"/\";\r\n }\r\n const askLola = () => {\r\n push(\"/firm/askLola\")\r\n }\r\n const userProfile = () => {\r\n push(\"/firm/userProfile\")\r\n }\r\n const invoiceHistory = () => {\r\n push(\"/firm/invoicehistory\")\r\n }\r\n const name = useSelector(x => x.userInfo.FormattedName);\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default TopNavBar;","import React, { useState } from 'react';\r\nimport { Container, Header, Content, Sidebar } from 'rsuite';\r\nimport RenderRoutes from '../../Routes/renderroutes'\r\nimport FIRM_ROUTES from '../../Routes/firmroutes';\r\nimport PublicFirmSidebar from '../Firm/Sidebar/Sidebar';\r\nimport PublicFirmTopNavbar from '../Firm/TopNavbar/TopNavbar'\r\n\r\nfunction Firm() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default Firm;","const userRoles = {\r\n INDIVIDUAL: \"individual\",\r\n FIRM: \"firm\",\r\n STAFF: \"staff\",\r\n ADMINISTRATOR: \"administrator\"\r\n}\r\n\r\nexport default {\r\n userRoles\r\n}","import React, { useState } from 'react';\r\nimport Form from 'react-bootstrap/Form'\r\nimport Button from 'react-bootstrap/Button'\r\nimport Card from 'react-bootstrap/Card'\r\nimport seal from '../../images/LAPELS-LOLA-Logo.png'\r\nimport AuthService from \"../../services/auth.service\"\r\nimport Swal from 'sweetalert2';\r\nimport { Link, useHistory } from 'react-router-dom';\r\n\r\nfunction ForgotPassword() {\r\n const { push } = useHistory();\r\n const [userId, setUserId] = useState('');\r\n const handleChange = (e) => {\r\n setUserId(e.target.value);\r\n };\r\n const [showAccountRecoverEmail, setShowAccountRecoverEmail] = useState(false);\r\n\r\n const [validated, setValidated] = useState(false);\r\n const handleSubmitClick = (e) => {\r\n const form = e.currentTarget;\r\n e.preventDefault();\r\n if (form.checkValidity() === false) {\r\n\r\n e.stopPropagation();\r\n }\r\n //setValidated(true);\r\n sendDetailsToServer();\r\n }\r\n function sendDetailsToServer() {\r\n AuthService.forgotPassword(userId).then(\r\n (response) => {\r\n if (response.data.isSuccess === true) {\r\n push(\"/forgotpasswordsuccess\");\r\n } else {\r\n Swal.fire(\"Add failure handler here.\")\r\n }\r\n }, (error) => {\r\n const resMessage =\r\n (error.response &&\r\n error.response.data &&\r\n error.response.data.message) ||\r\n error.message ||\r\n error.toString();\r\n const toast = Swal.mixin({\r\n toast: true,\r\n position: 'top',\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true,\r\n didOpen: (toast) => {\r\n toast.addEventListener('mouseenter', Swal.stopTimer)\r\n toast.addEventListener('mouseleave', Swal.resumeTimer)\r\n }\r\n })\r\n toast.fire({\r\n icon: 'error',\r\n title: resMessage\r\n })\r\n setShowAccountRecoverEmail(true);\r\n }\r\n )\r\n }\r\n\r\n const imageStyle = {\r\n height: '10rem',\r\n width: '10rem',\r\n margin: 'auto'\r\n };\r\n const centerText = {\r\n textAlign: 'center'\r\n }\r\n const buttonStyle = {\r\n width: \"100%\"\r\n }\r\n\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n Forgot your password? Enter User Id to reset your password.\r\n
\r\n \r\n \r\n \r\n Please enter User Id.\r\n \r\n \r\n \r\n Send\r\n \r\n \r\n
\r\n {showAccountRecoverEmail == true &&\r\n
\r\n

Still can't log in? Please email AccountRecovery@lapels.com

\r\n
}\r\n
\r\n Back to Login\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default ForgotPassword;","import React from 'react'\r\nimport { Button, Row, Card } from 'react-bootstrap';\r\nimport { Link } from 'react-router-dom';\r\n\r\nfunction ForgotPasswordSuccess() {\r\n return (\r\n
\r\n \r\n \r\n Password Reset Email Sent\r\n

Please check your email for instructions to reset your password.

\r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default ForgotPasswordSuccess;","import React from 'react';\r\nimport { useState } from 'react';\r\nimport { Button, Card, Col, Row } from 'react-bootstrap';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport seal from '../../images/LAPELS-LOLA-Logo.png'\r\nimport { FormGroup, Radio, RadioGroup, Form, FormControl, Input, Schema, AutoComplete } from 'rsuite';\r\nimport AuthService from \"../../services/auth.service\"\r\nimport { getFirmCredential } from '../../services/Shared/codeTable.service';\r\nimport Swal from 'sweetalert2';\r\nfunction ForgotUserId() {\r\n const [inputType, setInputType] = useState(\"text\");\r\n const [showAccountRecoverEmail, setShowAccountRecoverEmail] = useState(false);\r\n const { push } = useHistory();\r\n const [firmCreds, setFirmCreds] = useState();\r\n const updateCreds = (value) => {\r\n getFirmCredential(value).then(setFirmCreds);\r\n }\r\n const [state, setState] = useState({\r\n isIndividual: \"\",\r\n email: \"\",\r\n dateOfBirth: null,\r\n credential: ''\r\n })\r\n const { StringType, BooleanType } = Schema.Types;\r\n const model = Schema.Model({\r\n dateOfBirth: StringType().isRequired('This field is required.'),\r\n isIndividual: BooleanType().isRequired('This field is required.'),\r\n email: StringType().isRequired('This field is required.'),\r\n credential: StringType().isRequired('This field is required.').pattern(/^\\(.*\\.[0-9]{7}\\).*$/, \"Please select from the dropdown list.\"),\r\n })\r\n const handleSubmitClick = (validation, event) => {\r\n var hasErrors = false;\r\n var validationObject = model.check(state);\r\n for (const key in validationObject) {\r\n //make sure that ind or firm was chosen\r\n if (validationObject[key].hasError && key.includes('isIndividual')) {\r\n hasErrors = true;\r\n return;\r\n }\r\n //individaul validation\r\n else if (validationObject[key].hasError && !key.includes(\"credential\") && state.isIndividual === true) {\r\n hasErrors = true;\r\n return;\r\n }\r\n //firm validation\r\n else if (validationObject[key].hasError && !key.includes(\"dateOfBirth\") && state.isIndividual === false) {\r\n hasErrors = true;\r\n return;\r\n }\r\n }\r\n if (!hasErrors) {\r\n if (state.isIndividual) {\r\n AuthService.forgotIndividualUserId(state.email, new Date(state.dateOfBirth).toISOString()).then((response) => {\r\n if (response.data.isSuccess) {\r\n push(\"/forgotuseridsuccess\");\r\n }\r\n else {\r\n const toast = Swal.mixin({\r\n toast: true,\r\n position: 'top',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n didOpen: (toast) => {\r\n toast.addEventListener('mouseenter', Swal.stopTimer)\r\n toast.addEventListener('mouseleave', Swal.resumeTimer)\r\n }\r\n })\r\n toast.fire({\r\n icon: 'error',\r\n title: \"Date of birth does not match email. Please try again.\"\r\n });\r\n\r\n setShowAccountRecoverEmail(true);\r\n }\r\n }, (error) => {\r\n })\r\n }\r\n else {\r\n AuthService.forgotFirmUserId(state.email, state.credential).then((response) => {\r\n if (response.data.isSuccess) {\r\n push(\"/forgotuseridsuccess\");\r\n }\r\n else {\r\n const toast = Swal.mixin({\r\n toast: true,\r\n position: 'top',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n didOpen: (toast) => {\r\n toast.addEventListener('mouseenter', Swal.stopTimer)\r\n toast.addEventListener('mouseleave', Swal.resumeTimer)\r\n }\r\n })\r\n toast.fire({\r\n icon: 'error',\r\n title: \"License Number does not match email. Please try again.\"\r\n });\r\n\r\n setShowAccountRecoverEmail(true);\r\n }\r\n }, (error) => {\r\n })\r\n }\r\n\r\n }\r\n }\r\n const imageStyle = {\r\n height: '10rem',\r\n width: '10rem',\r\n margin: 'auto'\r\n };\r\n const centerText = {\r\n textAlign: 'center'\r\n }\r\n const buttonStyle = {\r\n width: \"100%\"\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n Forgot your User Id? Enter email to recover your User Id.\r\n
setState(state)} onSubmit={handleSubmitClick}>\r\n \r\n \r\n \r\n \r\n Individual\r\n Firm\r\n \r\n \r\n \r\n \r\n {state.isIndividual !== '' && state.isIndividual &&\r\n <>\r\n \r\n \r\n \r\n \r\n setInputType(\"date\")}\r\n onBlur={(e) => { if (!e.target.value) { setInputType(\"text\") } }}\r\n placeholder=\"Date of Birth\"\r\n />\r\n \r\n \r\n }\r\n {state.isIndividual !== '' && !state.isIndividual &&\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n Send\r\n \r\n \r\n
\r\n {showAccountRecoverEmail == true &&\r\n
\r\n

Still can't log in? Please email AccountRecovery@lapels.com

\r\n
}\r\n
\r\n Back to Login\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default ForgotUserId;","import React from 'react'\r\nimport { Button, Row, Card } from 'react-bootstrap';\r\nimport { Link } from 'react-router-dom';\r\n\r\nfunction ForgotUserIdSuccess() {\r\n return (\r\n
\r\n \r\n \r\n User Id Recovery Email Sent\r\n

You will receive a User Id recovery email if your account information was correct. If you don't get anything within 24 hrs, contact account recovery.

\r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default ForgotUserIdSuccess;","import React, { useState, useEffect } from 'react';\r\nimport { Redirect, Route, Switch, useHistory } from \"react-router-dom\";\r\nimport LoginPage from '../../Login/LoginPage';\r\nimport RegisterNewMemberPage from '../../Login/Register/RegisterNewMemberPage'\r\nimport RegisterSuccessPage from '../../Login/Register/RegisterSuccessPage'\r\n\r\nimport PublicIndividual from \"./Individual\";\r\nimport InternalMain from '../../Internal/Main/Main'\r\nimport Firm from \"./Firm\";\r\nimport Enums from '../../../helpers/enums';\r\n\r\nimport AuthService from \"../../../services/auth.service\";\r\nimport ForgotPassword from '../../Login/ForgotPassword';\r\nimport ForgotPasswordSuccess from '../../Login/ForgotPasswordSuccess';\r\nimport ForgotUserId from '../../Login/ForgotUserId';\r\nimport ForgotUserIdSuccess from '../../Login/ForgotUserIdSuccess';\r\n\r\nexport default function Main() {\r\n const [loggedIn, setLoggedIn] = useState(false);\r\n const [userType, setUserType] = useState(null);\r\n const history = useHistory();\r\n const handleLogin = (loggedIn) => {\r\n setLoggedIn(loggedIn);\r\n if (loggedIn === true) {\r\n //get user data and send to appropriate page\r\n var roles = AuthService.getRoles();\r\n if (roles.includes(\"Admin\")) {\r\n setUserType(Enums.userRoles.ADMINISTRATOR);\r\n if (pathContains(\"login\")) {\r\n history.push(\"/internal\");\r\n }\r\n //Todo: push history\r\n }\r\n else if (roles.includes(\"Staff\")) {\r\n setUserType(Enums.userRoles.STAFF);\r\n if (pathContains(\"login\")) {\r\n history.push(\"/internal\");\r\n }\r\n //Todo: push history\r\n }\r\n else if (roles.includes(\"Firm\")) {\r\n setUserType(Enums.userRoles.FIRM);\r\n if (!pathContains(\"firm\")) {\r\n history.push(\"/firm\");\r\n }\r\n }\r\n else if (roles.includes(\"Individual\")) {\r\n setUserType(Enums.userRoles.INDIVIDUAL);\r\n if (!pathContains(\"individual\")) {\r\n history.push(\"/individual\");\r\n }\r\n }\r\n else {\r\n sendToLogin();\r\n }\r\n\r\n } else {\r\n sendToLogin();\r\n }\r\n }\r\n const sendToLogin = () => {\r\n setUserType(null);\r\n setLoggedIn(false);\r\n\r\n localStorage.removeItem('updateRecentQueue');\r\n localStorage.removeItem('updateRecentContacts');\r\n localStorage.removeItem('currentPageCache');\r\n localStorage.removeItem('searchCache');\r\n localStorage.removeItem('displayLengthCache');\r\n //debugger;\r\n if (!pathContains(\"login\")) {\r\n history.push(\"/login\");\r\n }\r\n }\r\n\r\n const pathContains = (name) => {\r\n var pathArray = history.location.pathname.split(\"/\");\r\n return pathArray[1] && pathArray[1] === name;\r\n };\r\n\r\n useEffect(() => {\r\n //this will force the login page to load along with its routes\r\n //but doing this ruins the history....\r\n var user = AuthService.getCurrentUser();\r\n if (user !== null) {\r\n handleLogin(true);\r\n }\r\n else {\r\n handleLogin(false);\r\n }\r\n }, []);\r\n\r\n return (\r\n
\r\n {userType === Enums.userRoles.ADMINISTRATOR ? :\r\n userType === Enums.userRoles.FIRM ? :\r\n userType === Enums.userRoles.INDIVIDUAL ? :\r\n userType === Enums.userRoles.STAFF ? :\r\n <>\r\n \r\n } exact />\r\n } exact />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n \r\n \r\n }\r\n
\r\n )\r\n}","// This can be edited for other actions to update the store when it expands\r\n// combineReducers could make a bigger one that has more data and separated pieces to retrieve\r\nfunction userInfo(state = {}, action) {\r\n switch (action.type) {\r\n case 'LOGIN_SUCCEEDED':\r\n return action.payload;\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nfunction currentApplicationId(state = 0, action) {\r\n switch (action.type) {\r\n case 'PERSIST_CURRENT_APP_ID':\r\n return action.payload;\r\n default:\r\n return state;\r\n }\r\n}\r\nfunction currentApplicationEntityId(state = 0, action) {\r\n switch (action.type) {\r\n case 'PERSIST_CURRENT_APP_ENTITY_ID':\r\n return action.payload;\r\n default:\r\n return state;\r\n }\r\n}\r\nfunction currentApplicationTypeId(state = 0, action) {\r\n switch (action.type) {\r\n case 'PERSIST_CURRENT_APP_TYPE_ID':\r\n return action.payload;\r\n default:\r\n return state;\r\n }\r\n}\r\nfunction currentRoutes(state = [], action) {\r\n switch (action.type) {\r\n case 'PERSIST_CURRENT_ROUTE':\r\n return action.payload;\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nfunction refreshToken(state = 0, action) {\r\n switch (action.type) {\r\n case 'PERSIST_CURRENT_REFRESH':\r\n return action.payload;\r\n default:\r\n return state;\r\n }\r\n}\r\nfunction currentInvoiceId(state = 0, action) {\r\n switch (action.type) {\r\n case 'PERSIST_INVOICE_ID':\r\n return action.payload;\r\n default:\r\n return state;\r\n }\r\n}\r\nfunction refreshRecentQueue(state = 0, action) {\r\n switch (action.type) {\r\n case 'PERSIST_CURRENT_RECENT_QUEUE':\r\n return action.payload;\r\n default:\r\n return state;\r\n }\r\n}\r\nfunction refreshRecentContacts(state = 0, action) {\r\n switch (action.type) {\r\n case 'PERSIST_CURRENT_RECENT_CONTACTS':\r\n return action.payload;\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default {\r\n userInfo,\r\n currentApplicationId,\r\n currentRoutes,\r\n currentApplicationEntityId,\r\n currentApplicationTypeId,\r\n refreshToken,\r\n currentInvoiceId,\r\n refreshRecentQueue,\r\n refreshRecentContacts\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport packageJson from \"../package.json\";\r\nimport dayjs from \"dayjs\";\r\n\r\nconst buildDateGreaterThan = (latestDate, currentDate) => {\r\n const momLatestDateTime = dayjs(latestDate);\r\n const momCurrentDateTime = dayjs(currentDate);\r\n\r\n if (momLatestDateTime.isAfter(momCurrentDateTime)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n};\r\n\r\nfunction withClearCache(Component) {\r\n function ClearCacheComponent(props) {\r\n const [isLatestBuildDate, setIsLatestBuildDate] = useState(false);\r\n\r\n useEffect(() => {\r\n fetch(\"/meta.json?ms=\"+ Date.now())\r\n .then((response) => response.json())\r\n .then((meta) => {\r\n const latestVersionDate = meta.buildDate;\r\n const currentVersionDate = packageJson.buildDate;\r\n const shouldForceRefresh = buildDateGreaterThan(\r\n latestVersionDate,\r\n currentVersionDate\r\n );\r\n if (shouldForceRefresh) {\r\n setIsLatestBuildDate(false);\r\n refreshCacheAndReload();\r\n } else {\r\n setIsLatestBuildDate(true);\r\n }\r\n if (meta.offline)\r\n {\r\n window.location.href = \"https://www.lapels.com/Sched_Maint.html\";\r\n }\r\n });\r\n }, []);\r\n\r\n const refreshCacheAndReload = () => {\r\n if (caches) {\r\n // Service worker cache should be cleared with caches.delete()\r\n caches.keys().then((names) => {\r\n for (const name of names) {\r\n caches.delete(name);\r\n }\r\n });\r\n }\r\n // delete browser cache and hard reload\r\n window.location.reload(true);\r\n };\r\n\r\n return (\r\n \r\n {isLatestBuildDate ? : null}\r\n \r\n );\r\n }\r\n\r\n return ClearCacheComponent;\r\n}\r\n\r\nexport default withClearCache;","import React from 'react';\r\nimport Individual from './components/Public/Main/Individual'\r\n\r\n\r\nimport './css/leo.css'\r\nimport './css/brian.css'\r\nimport './css/blake.css'\r\nimport MainInternal from './components/Internal/Main/Main';\r\nimport PublicIndividual from './components/Public/Main/Individual';\r\nimport Main from './components/Public/Main/Main';\r\nimport reducer from './components/Shared/CustomReducer';\r\nimport { Provider } from 'react-redux';\r\nimport { combineReducers, createStore } from 'redux';\r\nimport { persistStore, persistReducer } from 'redux-persist'\r\nimport { PersistGate } from 'redux-persist/integration/react'\r\nimport storage from 'redux-persist/lib/storage'\r\nimport storageSession from 'redux-persist/lib/storage/session'\r\nimport withClearCache from \"./ClearCache\";\r\nimport axios from \"axios\";\r\n\r\nconst ClearCacheComponent = withClearCache(MainApp);\r\n\r\nfunction App() {\r\n return \r\n}\r\n\r\nfunction MainApp(props) {\r\n axios.interceptors.response.use(function (res) {\r\n return res;\r\n },\r\n (err) => {\r\n if (err.response?.status == 503 || err.message == \"Network Error\") {\r\n //handle error of type\r\n fetch(\"/meta.json?ms=\" + Date.now())\r\n .then((response) => { return response.json(); })\r\n .then((meta) => {\r\n if (!meta || meta.offline == true)\r\n {\r\n window.location.href = \"https://www.lapels.com/Sched_Maint.html\";\r\n }\r\n });\r\n }\r\n return Promise.reject(err);\r\n });\r\n const persistConfig = {\r\n key: 'root',\r\n storage: storageSession,\r\n blacklist: ['userInfo']\r\n }\r\n const userConfig = {\r\n key: 'user',\r\n storage\r\n }\r\n const rootReducer = combineReducers({\r\n userInfo: persistReducer(userConfig, reducer.userInfo),\r\n currentApplicationId: reducer.currentApplicationId,\r\n currentApplicationEntityId: reducer.currentApplicationEntityId,\r\n currentApplicationTypeId: reducer.currentApplicationTypeId,\r\n currentRoutes: reducer.currentRoutes,\r\n refreshToken: reducer.refreshToken,\r\n currentInvoiceId: reducer.currentInvoiceId,\r\n refreshRecentQueue: reducer.refreshRecentQueue,\r\n refreshRecentContacts: reducer.refreshRecentContacts\r\n });\r\n\r\n const persistedReducer = persistReducer(persistConfig, rootReducer)\r\n const store = createStore(persistedReducer);\r\n const persistor = persistStore(store);\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n \r\n );\r\n}\r\n\r\nexport default App;\r\n","// In production, we register a service worker to serve assets from local cache.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\r\n// cached resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\r\n// This link also includes instructions on opting out of this behavior.\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport default function register () {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Lets check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl);\r\n } else {\r\n // Is not local host. Just register service worker\r\n registerValidSW(swUrl);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW (swUrl) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the old content will have been purged and\r\n // the fresh content will have been added to the cache.\r\n // It's the perfect time to display a \"New content is\r\n // available; please refresh.\" message in your web app.\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker (swUrl) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n if (\r\n response.status === 404 ||\r\n response.headers.get('content-type').indexOf('javascript') === -1\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl);\r\n }\r\n })\r\n .catch(() => {\r\n });\r\n}\r\n\r\nexport function unregister () {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import { useEffect } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\nexport default function ScrollToTop() {\r\n const { pathname } = useLocation();\r\n\r\n useEffect(() => {\r\n window.scrollTo(0, 0);\r\n }, [pathname]);\r\n\r\n return null;\r\n}","import 'bootstrap/dist/css/bootstrap.css';\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport App from './App';\r\nimport registerServiceWorker from './registerServiceWorker';\r\nimport { BrowserRouter } from 'react-router-dom'\r\nimport ScrollToTop from './components/Shared/GenericComponents/ScrollToTop';\r\n\r\n//const baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\r\nconst rootElement = document.getElementById('root');\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n \r\n ,\r\n rootElement);\r\n\r\nregisterServiceWorker();\r\n\r\n","module.exports = __webpack_public_path__ + \"static/media/LAPELS-LOLA-Logo.31440fc8.png\";"],"sourceRoot":""}