options.filterCallback(e.value, options.index)} itemTemplate={statusItemTemplate} placeholder="Select One" className="p-column-filter" showClear />;
+ };
+
+ const statusItemTemplate = (option) => {
+ return ;
+ };
+
+ const addToFavourites = (id, preferredId) => {
+ const companyId = storeGet.main.chosenCompanyId()
+ const data = {
+ companyId,
+ callId: id
+ }
+ if (preferredId && preferredId !== 0) {
+ PreferredBandoService.deleteFromPreferred(preferredId, (data) => removeFavCallback(data, id), errToggleFavCallback);
+ } else {
+ PreferredBandoService.addToPreferred(data, addFavCallback, errToggleFavCallback);
+ }
+ }
+
+ const removeFavCallback = (data, id) => {
+ if (data.status === 'SUCCESS') {
+ const newItems = items.map((o) => {
+ if (o.id === id) {
+ return {
+ ...o,
+ preferredCallId: null
+ }
+ } else {
+ return o;
+ }
+ });
+ setItems(newItems)
+ }
+ }
+ const addFavCallback = (data) => {
+ if (data.status === 'SUCCESS') {
+ const newItems = items.map((o) => {
+ if (o.id === data.data.callId) {
+ return {
+ ...o,
+ preferredCallId: data.data.id
+ }
+ } else {
+ return o;
+ }
+ });
+ setItems(newItems)
+ }
+ }
+
+ const errToggleFavCallback = (data) => {
+ set404FromErrorResponse(data);
+ }
+
+ const goToBandoPage = (id) => {
+ navigate(`/bandi/${id}`)
+ }
+
+ const actionsBodyTemplate = (rowData) => {
+ return
+
+
+ }
+
+ const rowExpansionTemplate = (data) => {
+ return (
+
+ {renderHtmlContent(data.descriptionShort)}
+
{__('Scadenza', 'gepafin')}: {getDateFromISOstring(data.dates[1])}
+ {!isEmpty(chosenCompanyId) && chosenCompanyId !== 0 && !data.confidi
+ ?
: null}
+ {!isEmpty(chosenCompanyId) && chosenCompanyId !== 0 && data.confidi
+ ?
: null}
+
+ );
+ };
+
+ const allowExpansion = (rowData) => {
+ return true;
+ };
+
+ return(
+
+ setExpandedRows(e.data)}
+ rowExpansionTemplate={rowExpansionTemplate}
+ onFilter={(e) => setFilters(e.filters)}>
+
+
+
+
+ {!isEmpty(chosenCompanyId) && chosenCompanyId !== 0
+ ? : null}
+
+
+ )
+}
+
+export default AllBandiPreferredAccordion;
\ No newline at end of file
diff --git a/src/pages/BandiPreferredBeneficiario/index.js b/src/pages/BandiPreferredBeneficiario/index.js
new file mode 100644
index 0000000..360090f
--- /dev/null
+++ b/src/pages/BandiPreferredBeneficiario/index.js
@@ -0,0 +1,43 @@
+import React from 'react';
+import { __ } from '@wordpress/i18n';
+import { Link } from 'react-router-dom';
+import { isEmpty } from 'ramda';
+
+// store
+import { useStore } from '../../store';
+
+// components
+import AllBandiPreferredAccordion from './components/AllBandiPreferredAccordion';
+
+const BandiPreferredBeneficiario = () => {
+ const chosenCompanyId = useStore().main.chosenCompanyId();
+
+ return (
+
+
+
{__('Bandi osservati', 'gepafin')}
+
+
+
+
+ {isEmpty(chosenCompanyId) || chosenCompanyId === 0
+ ? <>
+
+
+ {__('Attenzione', 'gepafin')}
+
+ {__('Per applicare ai bandi devi Registare un Azienda clicca', 'gepafin')}
+ {__('qua', 'gepafin')}
+
+
+
+ > : null}
+
+
+
+ )
+}
+
+export default BandiPreferredBeneficiario;
\ No newline at end of file
diff --git a/src/routes.js b/src/routes.js
index dfb0234..34a9ba3 100644
--- a/src/routes.js
+++ b/src/routes.js
@@ -36,6 +36,7 @@ import SoccorsoAddPreInstructor from './pages/SoccorsoAddPreInstructor';
import DomandeBeneficiario from './pages/DomandeBeneficiario';
import DomandaBeneficiario from './pages/DomandaBeneficiario';
import BandoApplicationPreview from './pages/BandoApplicationPreview';
+import BandiPreferredBeneficiario from './pages/BandiPreferredBeneficiario';
const routes = ({ role, chosenCompanyId }) => {
@@ -87,6 +88,11 @@ const routes = ({ role, chosenCompanyId }) => {
{'ROLE_BENEFICIARY' === role ? : null}
{'ROLE_PRE_INSTRUCTOR' === role ? : null}
}/>
+
+ {'ROLE_SUPER_ADMIN' === role ? : null}
+ {'ROLE_BENEFICIARY' === role ? : null}
+ {'ROLE_PRE_INSTRUCTOR' === role ? : null}
+ }/>
{'ROLE_SUPER_ADMIN' === role ? : null}
{'ROLE_BENEFICIARY' === role ? : null}
diff --git a/src/service/preferred-bando-service.js b/src/service/preferred-bando-service.js
index 95416af..cf34594 100644
--- a/src/service/preferred-bando-service.js
+++ b/src/service/preferred-bando-service.js
@@ -11,4 +11,8 @@ export default class PreferredBandoService {
static deleteFromPreferred = (id, callback, errCallback) => {
NetworkService.delete(`${API_BASE_URL}/beneficiaryPreferredCall/${id}`, {}, callback, errCallback);
};
+
+ static getPreferredCalls = (callback, errCallback, queryParams) => {
+ NetworkService.get(`${API_BASE_URL}/beneficiaryPreferredCall/user`, callback, errCallback, queryParams);
+ };
}