Merge branch 'master' into develop
This commit is contained in:
@@ -29,6 +29,7 @@ import { Button } from 'primereact/button';
|
||||
|
||||
// i18n
|
||||
import translationStrings from '../../../../translationStringsForComponents';
|
||||
import isDateTimeInPast from '../../../../helpers/isDateTimeInPast';
|
||||
|
||||
const REACT_APP_HUB_ID = process.env.REACT_APP_HUB_ID;
|
||||
|
||||
@@ -180,17 +181,20 @@ const AllBandiAccordion = ({ showOnlyPreferred = false }) => {
|
||||
}
|
||||
|
||||
const rowExpansionTemplate = (data) => {
|
||||
const isCallExpired = isDateTimeInPast(data.dates[1], data.endTime);
|
||||
return (
|
||||
<div className="p-3">
|
||||
{renderHtmlContent(data.descriptionShort)}
|
||||
<p>{__('Scadenza', 'gepafin')}: {getDateFromISOstring(data.dates[1])}</p>
|
||||
{!isEmpty(chosenCompanyId) && chosenCompanyId !== 0 && (!data.confidi
|
||||
{!isCallExpired && !isEmpty(chosenCompanyId) && chosenCompanyId !== 0 && (!data.confidi
|
||||
|| (data.confidi && data.id === 6 && REACT_APP_HUB_ID === 'p4lk3bcx1RStqTaIVVbXs'))
|
||||
? <Button onClick={() => goToBandoPage(data.id)} severity="info">
|
||||
{__('Partecipa', 'gepafin')}
|
||||
</Button> : null}
|
||||
{!isEmpty(chosenCompanyId) && chosenCompanyId !== 0 && data.confidi
|
||||
&& (data.id !== 6 || (data.id === 6 && REACT_APP_HUB_ID !== 'p4lk3bcx1RStqTaIVVbXs'))
|
||||
{isCallExpired
|
||||
? <p>{__('È scaduto', 'gepafin')}</p> : null}
|
||||
{isCallExpired || (!isEmpty(chosenCompanyId) && chosenCompanyId !== 0 && data.confidi
|
||||
&& (data.id !== 6 || (data.id === 6 && REACT_APP_HUB_ID !== 'p4lk3bcx1RStqTaIVVbXs')))
|
||||
? <Button onClick={() => goToBandoPage(data.id)} severity="info">
|
||||
{__('Mostra', 'gepafin')}
|
||||
</Button> : null}
|
||||
|
||||
@@ -40,10 +40,12 @@ import FileuploadApplicationSignedPdf from '../../components/FileuploadApplicati
|
||||
|
||||
import { defaultMaxFileSize } from '../../configData';
|
||||
import formatDateString from '../../helpers/formatDateString';
|
||||
import isDateTimeInPast from '../../helpers/isDateTimeInPast';
|
||||
|
||||
const BandoApplication = () => {
|
||||
const chosenCompanyId = useStore().main.chosenCompanyId();
|
||||
const { id } = useParams();
|
||||
const [isExpired, setIsExpired] = useState(false);
|
||||
const [formData, setFormData] = useState([]);
|
||||
const [formInitialData, setFormInitialData] = useState(null);
|
||||
const [bandoTitle, setBandoTitle] = useState('');
|
||||
@@ -297,6 +299,8 @@ const BandoApplication = () => {
|
||||
//setCompletedSteps(data.data.completedSteps);
|
||||
setApplicationStatus(data.data.applicationStatus)
|
||||
setActiveStep(data.data.currentStep);
|
||||
const isCallExpired = isDateTimeInPast(data.data.callEndDate, data.data.callEndTime);
|
||||
setIsExpired(isCallExpired);
|
||||
|
||||
const chosenCompanyId = data.data.companyId;
|
||||
const companies = storeGet.main.companies();
|
||||
@@ -396,27 +400,27 @@ const BandoApplication = () => {
|
||||
{activeStep > 1 && activeStep <= totalSteps
|
||||
? <Button
|
||||
type="button"
|
||||
disabled={'SUBMIT' === applicationStatus}
|
||||
disabled={'SUBMIT' === applicationStatus || isExpired}
|
||||
onClick={goBackward}
|
||||
label={__('Vai indietro', 'gepafin')}
|
||||
icon="pi pi-arrow-left"
|
||||
iconPos="left"/> : null}
|
||||
<Button
|
||||
type="button"
|
||||
disabled={isAsyncRequest || 'SUBMIT' === applicationStatus}
|
||||
disabled={isAsyncRequest || 'SUBMIT' === applicationStatus || isExpired}
|
||||
onClick={saveDraft}
|
||||
outlined
|
||||
label={__('Salva bozza', 'gepafin')} icon="pi pi-save" iconPos="right"/>
|
||||
{activeStep < totalSteps
|
||||
? <Button
|
||||
type="button"
|
||||
disabled={'SUBMIT' === applicationStatus}
|
||||
disabled={'SUBMIT' === applicationStatus || isExpired}
|
||||
onClick={goForward}
|
||||
label={__('Vai avanti', 'gepafin')}
|
||||
icon="pi pi-arrow-right"
|
||||
iconPos="right"/> : null}
|
||||
<Button
|
||||
disabled={'SUBMIT' === applicationStatus}
|
||||
disabled={'SUBMIT' === applicationStatus || isExpired}
|
||||
label={__('Convalidare', 'gepafin')}
|
||||
icon="pi pi-check"
|
||||
iconPos="right"/>
|
||||
@@ -570,6 +574,12 @@ const BandoApplication = () => {
|
||||
<div className="appPage__content">
|
||||
<BlockingOverlay shouldDisplay={isAsyncRequest}/>
|
||||
<form className="appForm" onSubmit={handleSubmit(onValidate)}>
|
||||
{isExpired
|
||||
? <div className="appPageSection__preview">
|
||||
{__('Il bando è scaduto!', 'gepafin')}
|
||||
</div>
|
||||
: null}
|
||||
|
||||
{'DRAFT' === applicationStatus
|
||||
? <div className="appPageSection">
|
||||
{actionBtns}
|
||||
@@ -645,6 +655,7 @@ const BandoApplication = () => {
|
||||
? <div className="appPageSection">
|
||||
<Button
|
||||
type="button"
|
||||
disabled={isExpired}
|
||||
outlined
|
||||
onClick={doChangeToDraft}
|
||||
label={__('Ripristina draft', 'gepafin')}
|
||||
@@ -660,7 +671,7 @@ const BandoApplication = () => {
|
||||
</div>
|
||||
<Button
|
||||
type="button"
|
||||
disabled={'SUBMIT' === applicationStatus}
|
||||
disabled={'SUBMIT' === applicationStatus || isExpired}
|
||||
onClick={onDownloadApplicationPdf}
|
||||
label={__('Scarica PDF', 'gepafin')}
|
||||
icon="pi pi-download"
|
||||
@@ -678,7 +689,7 @@ const BandoApplication = () => {
|
||||
<FileuploadApplicationSignedPdf
|
||||
setDataFn={handleSetSignedDocumentFromFileupload}
|
||||
fieldName="signedPdfFile"
|
||||
disabled={!isEmpty(signedPdfFile) || 'AWAITING' !== applicationStatus}
|
||||
disabled={!isEmpty(signedPdfFile) || 'AWAITING' !== applicationStatus || isExpired}
|
||||
defaultValue={is(Array, signedPdfFile) ? signedPdfFile : []}
|
||||
accept={signedDocMime}
|
||||
chooseLabel={__('Aggiungi documento', 'gepafin')}
|
||||
@@ -694,7 +705,7 @@ const BandoApplication = () => {
|
||||
? <div className="appPageSection">
|
||||
<Button
|
||||
type="button"
|
||||
disabled={'READY' !== applicationStatus}
|
||||
disabled={'READY' !== applicationStatus || isExpired}
|
||||
onClick={onSubmit}
|
||||
label={__('Invia', 'gepafin')}
|
||||
icon="pi pi-check"
|
||||
@@ -708,6 +719,11 @@ const BandoApplication = () => {
|
||||
<span>{__('Azioni rapide', 'gepafin')}</span>
|
||||
</div> : null}
|
||||
|
||||
{isExpired
|
||||
? <div className="appPageSection__preview">
|
||||
{__('Il bando è scaduto!', 'gepafin')}
|
||||
</div> : null}
|
||||
|
||||
{'DRAFT' === applicationStatus
|
||||
? <div className="appPageSection">
|
||||
{actionBtns}
|
||||
|
||||
@@ -29,6 +29,7 @@ import { Toast } from 'primereact/toast';
|
||||
import { Editor } from 'primereact/editor';
|
||||
import { Dialog } from 'primereact/dialog';
|
||||
import PreferredBandoService from '../../service/preferred-bando-service';
|
||||
import isDateTimeInPast from '../../helpers/isDateTimeInPast';
|
||||
|
||||
const REACT_APP_HUB_ID = process.env.REACT_APP_HUB_ID;
|
||||
|
||||
@@ -38,6 +39,7 @@ const BandoViewBeneficiario = () => {
|
||||
const { id } = useParams();
|
||||
const navigate = useNavigate();
|
||||
const [data, setData] = useState({});
|
||||
const [isExpired, setIsExpired] = useState(false);
|
||||
const [newQuestion, setNewQuestion] = useState('');
|
||||
const [applicationObj, setApplicationObj] = useState(true);
|
||||
const [isVisibleConfidiPopup, setIsVisibleConfidiPopup] = useState(false);
|
||||
@@ -327,6 +329,13 @@ const BandoViewBeneficiario = () => {
|
||||
}
|
||||
}, [id, chosenCompanyId]);
|
||||
|
||||
useEffect(() => {
|
||||
if (data.dates) {
|
||||
const isCallExpired = isDateTimeInPast(data.dates[1], data.endTime);
|
||||
setIsExpired(isCallExpired);
|
||||
}
|
||||
}, [data]);
|
||||
|
||||
return (
|
||||
<div className="appPage">
|
||||
{!isAsyncRequest && !isEmpty(data)
|
||||
@@ -472,6 +481,7 @@ const BandoViewBeneficiario = () => {
|
||||
</div>
|
||||
<Button
|
||||
type="button"
|
||||
disabled={isExpired}
|
||||
onClick={submitNewQuestion}
|
||||
label={__('Salva', 'gepafin')}/>
|
||||
</div>}
|
||||
@@ -506,18 +516,20 @@ const BandoViewBeneficiario = () => {
|
||||
icon="pi pi-download" iconPos="right"/>*/}
|
||||
<Button
|
||||
type="button"
|
||||
disabled={isExpired}
|
||||
outlined
|
||||
onClick={scaricaModulistica}
|
||||
label={__('Scarica Bando Completo e Modulistica', 'gepafin')}
|
||||
icon="pi pi-download" iconPos="right"/>
|
||||
<Button
|
||||
type="button"
|
||||
disabled={isAsyncRequest || chosenCompanyId === 0}
|
||||
disabled={isExpired || isAsyncRequest || chosenCompanyId === 0}
|
||||
onClick={submitApplication}
|
||||
label={submitBtnLabel()}
|
||||
icon={submitBtnIcon()} iconPos="right"/>
|
||||
<Button
|
||||
type="button"
|
||||
disabled={isExpired}
|
||||
outlined={isNil(data.preferredCallId)}
|
||||
rounded
|
||||
onClick={addToFavourites}
|
||||
|
||||
Reference in New Issue
Block a user