diff --git a/src/pages/AddCompany/index.js b/src/pages/AddCompany/index.js index 665d3a4..6a21b84 100644 --- a/src/pages/AddCompany/index.js +++ b/src/pages/AddCompany/index.js @@ -117,19 +117,21 @@ const AddCompany = () => { if (data.status === 'SUCCESS') { const resp = data.data.vatCheckResponse.data; if (!isEmpty(resp)) { + const firstItem = resp[0]; const { - cap, cf, denominazione, piva, indirizzo, comune, dettaglio: { pec } - } = resp; + taxCode, vatCode, address, companyName, pec + } = firstItem; + const { streetName, zipCode, town } = address?.registeredOffice; const formData = { - cap, + cap: zipCode, pec, email: pec, - city: comune, - codiceFiscale: cf ? cf : piva, - address: indirizzo, - vatNumber: piva, - companyName: denominazione + city: town, + codiceFiscale: taxCode ? taxCode : vatCode, + address: streetName, + vatNumber: vatCode, + companyName } Object.keys(formData).map(k => setValue(k, formData[k])); setVatCheckResponse(data.data.vatCheckResponse); diff --git a/src/pages/BandiBeneficiario/components/AllBandiAccordion/index.js b/src/pages/BandiBeneficiario/components/AllBandiAccordion/index.js index d65d2a3..7c9d167 100644 --- a/src/pages/BandiBeneficiario/components/AllBandiAccordion/index.js +++ b/src/pages/BandiBeneficiario/components/AllBandiAccordion/index.js @@ -50,10 +50,20 @@ const AllBandiAccordion = ({ showOnlyPreferred = false }) => { if (existingCompany && !isAsyncRequest) { storeSet('setAsyncRequest'); - BandoService.getBandi(getCallback, errGetCallbacks, [ - ['companyId', chosenCompanyId], - ['onlyPreferredCall', showOnlyPreferred] - ]); + const role = storeGet('getRole') + + if (role === 'ROLE_CONFIDI') { + BandoService.getBandi(getCallback, errGetCallbacks, [ + ['companyId', chosenCompanyId], + ['onlyPreferredCall', showOnlyPreferred], + ['onlyConfidiCall', true] + ]); + } else { + BandoService.getBandi(getCallback, errGetCallbacks, [ + ['companyId', chosenCompanyId], + ['onlyPreferredCall', showOnlyPreferred] + ]); + } } }, [chosenCompanyId, companies]); diff --git a/src/pages/DashboardBeneficiario/components/LatestBandiTable/index.js b/src/pages/DashboardBeneficiario/components/LatestBandiTable/index.js index 5e430b4..596643e 100644 --- a/src/pages/DashboardBeneficiario/components/LatestBandiTable/index.js +++ b/src/pages/DashboardBeneficiario/components/LatestBandiTable/index.js @@ -33,9 +33,18 @@ const LatestBandiTable = () => { useEffect(() => { setLoading(true); - BandoService.getBandi(getCallback, errGetCallbacks, [ - ['companyId', chosenCompanyId] - ]); + const role = storeGet('getRole') + + if (role === 'ROLE_CONFIDI') { + BandoService.getBandi(getCallback, errGetCallbacks, [ + ['companyId', chosenCompanyId], + ['onlyConfidiCall', true] + ]); + } else { + BandoService.getBandi(getCallback, errGetCallbacks, [ + ['companyId', chosenCompanyId] + ]); + } }, [chosenCompanyId]); const getCallback = (data) => { diff --git a/src/pages/DashboardBeneficiarioConfidi/index.js b/src/pages/DashboardBeneficiarioConfidi/index.js new file mode 100644 index 0000000..69144d4 --- /dev/null +++ b/src/pages/DashboardBeneficiarioConfidi/index.js @@ -0,0 +1,131 @@ +import React, { useEffect, useState } from 'react'; +import { __ } from '@wordpress/i18n'; +import { Link, useNavigate } from 'react-router-dom'; +import { head, isEmpty, pathOr } from 'ramda'; +import NumberFlow from '@number-flow/react'; + +// store +import { useStoreValue } from '../../store'; + +// api +import DashboardService from '../../service/dashboard-service'; + +// components +import { Button } from 'primereact/button'; +import ErrorBoundary from '../../components/ErrorBoundary'; +import MyLatestSubmissionsTableAsync from '../DashboardBeneficiario/components/MyLatestSubmissionsTableAsync'; +import LatestBandiTable from '../DashboardBeneficiario/components/LatestBandiTable'; + +const DashboardBeneficiarioConfidi = () => { + const navigate = useNavigate(); + const [mainStats, setMainStats] = useState({}); + const companies = useStoreValue('companies'); + const chosenCompanyId = useStoreValue('chosenCompanyId'); + const company = head(companies.filter(o => o.id === chosenCompanyId)); + + const goToAllSubmissions = () => { + navigate('/bandi'); + } + + const getStatValue = (key, fallback = '') => { + return pathOr(fallback, [key], mainStats); + } + + const getStats = (data) => { + if (data.status === 'SUCCESS') { + setMainStats(data.data); + } + } + + const errGetStats = () => { + } + + useEffect(() => { + const existingCompany = head(companies.filter(o => o.id === chosenCompanyId)); + + if (existingCompany) { + DashboardService.getBeneficiaryStatsForCompany(existingCompany.id, getStats, errGetStats); + } + }, [companies, chosenCompanyId]); + + return ( +
+
+

{__('Dashboard', 'gepafin')}

+ {company ? {company.companyName} : null} +
+ +
+ +
+

{__('Panoramica di Sistema', 'gepafin')}

+
+
+ {__('Domande attive', 'gepafin')} + +
+
+ {__('Bandi osservati', 'gepafin')} + +
+
+ {__('Documenti da integrare', 'gepafin')} + +
+
+
+ +
+ +
+

{__('Domande in lavorazione', 'gepafin')}

+ +
+ +
+ + {isEmpty(chosenCompanyId) || chosenCompanyId === 0 + ? <> +
+ + {__('Attenzione', 'gepafin')} + + {__('Per applicare ai bandi devi Registare un Azienda clicca', 'gepafin')} + {__('qua', 'gepafin')} + +
+
+ : null} + +
+

{__('Bandi disponibili', 'gepafin')}

+ +
+ +
+ +
+ {__('Azioni rapide', 'gepafin')} +
+ +
+
+
+
+
+ ) +} + +export default DashboardBeneficiarioConfidi; \ No newline at end of file diff --git a/src/routes.js b/src/routes.js index 8e8b211..86f66c8 100644 --- a/src/routes.js +++ b/src/routes.js @@ -54,6 +54,7 @@ import StatsBeneficiary from './pages/StatsBeneficiary'; import DocumentsBeneficiary from './pages/DocumentsBeneficiary'; import LoginConfidi from './pages/LoginConfidi'; import ResetPasswordAdmin from './pages/ResetPasswordAdmin'; +import DashboardBeneficiarioConfidi from './pages/DashboardBeneficiarioConfidi'; const routes = ({ role, chosenCompanyId }) => { @@ -63,7 +64,7 @@ const routes = ({ role, chosenCompanyId }) => { {'ROLE_SUPER_ADMIN' === role ? : null} {'ROLE_BENEFICIARY' === role ? : null} - {'ROLE_CONFIDI' === role ? : null} + {'ROLE_CONFIDI' === role ? : null} {'ROLE_PRE_INSTRUCTOR' === role ? : null} {'ROLE_INSTRUCTOR_MANAGER' === role ? : null} }/>