31/07/2024 - 17h30

recette2
cherif 2024-07-31 17:34:04 +02:00
parent 3e6bdb7f4c
commit df04807dc6
8 changed files with 4226 additions and 22 deletions

View File

@ -52,7 +52,9 @@ import UpdateAttendeeList from "./pages/updateattendeelist";
import Emarge_QR_Code from "./pages/emarge_qr_code"; import Emarge_QR_Code from "./pages/emarge_qr_code";
import AutomaticQuotation from "./pages/automaticquotation"; import AutomaticQuotation from "./pages/automaticquotation";
import Maintenance from "./pages/maintenance_page" import Maintenance from "./pages/maintenance_page";
import Subdomain_Recherche_new_v2 from "./pages/subdomain_recherche_new_v2";
function App() { function App() {
@ -69,12 +71,15 @@ function App() {
API URL = {process.env.REACT_APP_API_URL}<br/> API URL = {process.env.REACT_APP_API_URL}<br/>
*/} */}
<div className="main_haut"> <div className="main_haut">
<BrowserRouter> <BrowserRouter>
<scrollToTop /> <scrollToTop />
<Switch> <Switch>
<Route path="/" exact component={Recherche_new_v2} />
<Route path="/" exact component={Recherche_new_v2} />
<Route path="/subdomain" exact component={Subdomain_Recherche_new_v2} />
<Route path="/acceuil" exact component={Acceuil} /> <Route path="/acceuil" exact component={Acceuil} />
<Route path="/maintenance" exact component={Maintenance} /> <Route path="/maintenance" exact component={Maintenance} />
@ -154,4 +159,5 @@ function App() {
); );
} }
export default App; export default App;

View File

@ -1479,7 +1479,14 @@ const AddClassManual = (props) => {
if (mylocaltraining.recyclage_delai) { if (mylocaltraining.recyclage_delai) {
setp_detail_recyclage_delai(mylocaltraining.recyclage_delai); setp_detail_recyclage_delai(mylocaltraining.recyclage_delai);
} else { } else {
p_detail_recyclage_delai("0"); setp_detail_recyclage_delai("0");
}
if (mylocaltraining.recyclage_alert) {
setp_detail_recyclage_alert(mylocaltraining.recyclage_alert);
} else {
setp_detail_recyclage_alert("0");
} }
@ -1853,6 +1860,7 @@ const AddClassManual = (props) => {
formData.append('recyclage_delai', p_detail_recyclage_delai); formData.append('recyclage_delai', p_detail_recyclage_delai);
formData.append('recyclage_periodicite', p_detail_recyclage_periodicite); formData.append('recyclage_periodicite', p_detail_recyclage_periodicite);
formData.append('recyclage_alert', p_detail_recyclage_alert);
formData.append('note', mynote); formData.append('note', mynote);
@ -3216,6 +3224,7 @@ const AddClassManual = (props) => {
const [p_detail_recyclage_delai, setp_detail_recyclage_delai] = useState("0"); const [p_detail_recyclage_delai, setp_detail_recyclage_delai] = useState("0");
const [p_detail_recyclage_periodicite, setp_detail_recyclage_periodicite] = useState("mois"); const [p_detail_recyclage_periodicite, setp_detail_recyclage_periodicite] = useState("mois");
const [p_detail_recyclage_alert, setp_detail_recyclage_alert] = useState("0");
const [p_detail_class_inscription_url, setp_detail_class_inscription_url] = useState(""); const [p_detail_class_inscription_url, setp_detail_class_inscription_url] = useState("");
const [p_detail_class_banner_img_url, setp_detail_class_banner_img_url] = useState(""); const [p_detail_class_banner_img_url, setp_detail_class_banner_img_url] = useState("");
@ -5241,6 +5250,25 @@ const AddClassManual = (props) => {
/> />
</div> </div>
<div className="training_caract">
<TextField
name="recyclage alerte"
label="Alerte Recyclage (jours)"
type="number"
inputProps={{ min: "0", max: "180", step: "1" }}
InputLabelProps={{
shrink: true,
}}
disabled={false}
className="disabled_style"
value={p_detail_recyclage_alert}
onChange={(e) => {
setp_detail_recyclage_alert(e.target.value);
}
}
/>
</div>
{/* -- début champs specifiques **/} {/* -- début champs specifiques **/}
<div className="div_row" style={{ "border": 'none' }}> <div className="div_row" style={{ "border": 'none' }}>
<hr /> <hr />

View File

@ -780,6 +780,7 @@ const DisplayPartnerStagiaires = (props) => {
//console.log(" In UpdateStagiaireData res.data.message r_class = " + res.data.message); //console.log(" In UpdateStagiaireData res.data.message r_class = " + res.data.message);
setRecyclage_Desactivation_api("true"); setRecyclage_Desactivation_api("true");
setRecyclage_Desactivation_result(res.data.message); setRecyclage_Desactivation_result(res.data.message);
setSelectionModel([]);
Getall_TrainingParticipant(); Getall_TrainingParticipant();
alert(res.data.message); alert(res.data.message);
@ -1081,7 +1082,12 @@ const DisplayPartnerStagiaires = (props) => {
Get_List_Partner_Financeurs(); Get_List_Partner_Financeurs();
var line = JSON.parse(rowss[selected_row_id]); var line = "";
if (display_stagiaire_with_alert && display_stagiaire_with_alert === true)
line = JSON.parse(rowss.filter((data) => (JSON.parse(data)).warning_recyclage === "1")[selected_row_id]);
else
line = JSON.parse(rowss[selected_row_id]);
var code_session = line.code_session; var code_session = line.code_session;
setselected_code_session(line.code_session); setselected_code_session(line.code_session);
@ -5358,11 +5364,11 @@ const DisplayPartnerStagiaires = (props) => {
var liste_session = ""; var liste_session = "";
var liste_emails = ""; var liste_emails = "";
if (display_stagiaire_with_alert && display_stagiaire_with_alert === true){ if (display_stagiaire_with_alert && display_stagiaire_with_alert === true) {
liste_session = GetSelectedRowsSession_filtered_on_alert(); liste_session = GetSelectedRowsSession_filtered_on_alert();
liste_emails = GetSelectedRows_Emails_filtered_on_alert(); liste_emails = GetSelectedRows_Emails_filtered_on_alert();
} }
else{ else {
liste_session = GetSelectedRowsSession(); liste_session = GetSelectedRowsSession();
liste_emails = GetSelectedRows_Emails(); liste_emails = GetSelectedRows_Emails();
} }
@ -5372,7 +5378,7 @@ const DisplayPartnerStagiaires = (props) => {
console.log(" liste_session = ", liste_session); console.log(" liste_session = ", liste_session);
//console.log(" actionmass_ftion_val = ", actionmass_ftion_val); //console.log(" actionmass_ftion_val = ", actionmass_ftion_val);
if (String(actionmass_ftion_val) === String("valide_inscr")) { if (String(actionmass_ftion_val) === String("valide_inscr")) {
@ -5438,7 +5444,7 @@ const DisplayPartnerStagiaires = (props) => {
const [selectedtraining, setselectedtraining] = useState([]) const [selectedtraining, setselectedtraining] = useState([])
function GetSelectedRowsSession() { function GetSelectedRowsSession() {
// alert(" les lignes slected sont : " + selectionModel + " nb item = " + selectionModel.length); // alert(" les lignes slected sont : " + selectionModel + " nb item = " + selectionModel.length);
//const selectedRowsData = selectionModel.map((id) => rowss.find((row) => row.id === id)); //const selectedRowsData = selectionModel.map((id) => rowss.find((row) => row.id === id));
//console.log(rowss[0]); //console.log(rowss[0]);
var tab_tmp = [] var tab_tmp = []
@ -5458,7 +5464,7 @@ const DisplayPartnerStagiaires = (props) => {
//const selectedRowsData = selectionModel.map((id) => rowss.find((row) => row.id === id)); //const selectedRowsData = selectionModel.map((id) => rowss.find((row) => row.id === id));
//console.log(rowss[0]); //console.log(rowss[0]);
var tab_tmp = [] var tab_tmp = []
for (var i = 0; i < selectionModel.length; i++) { for (var i = 0; i < selectionModel.length; i++) {
var myid = parseInt(String(selectionModel[i])); var myid = parseInt(String(selectionModel[i]));
@ -6569,7 +6575,7 @@ const DisplayPartnerStagiaires = (props) => {
<DialogContent > <DialogContent >
<DialogContentText> <DialogContentText>
{Dialog_1_message}
</DialogContentText> </DialogContentText>
@ -8330,7 +8336,7 @@ const DisplayPartnerStagiaires = (props) => {
Get_Inscrit_List_UE(newSelectionModel.row._id); Get_Inscrit_List_UE(newSelectionModel.row._id);
Get_Inscrit_List_Evaluation_Par_UE(newSelectionModel.row._id); Get_Inscrit_List_Evaluation_Par_UE(newSelectionModel.row._id);
setselected_row_data_json(JSON.parse(rowss[newSelectionModel.row.id])); setselected_row_data_json(JSON.parse(rowss.filter((data) => (JSON.parse(data)).warning_recyclage === "1")[newSelectionModel.row.id]));
setDialog_stagiaire_open(true); setDialog_stagiaire_open(true);
}} }}
@ -10047,7 +10053,8 @@ const DisplayPartnerStagiaires = (props) => {
</div> </div>
{String(participant_data_edit_mode) !== "1" && String(inscription_invoiced) !== "1" && <div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
{String(participant_data_edit_mode) !== "1" && String(inscription_invoiced) !== "1" && p_detail_apprenant_id && String(p_detail_apprenant_id).trim().length > 3 && <div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
<Button variant="contained" className="bton_edit" onClick={EnableAttendeeDetailFields_Deja_Inscrit}>Editer <Button variant="contained" className="bton_edit" onClick={EnableAttendeeDetailFields_Deja_Inscrit}>Editer
</Button> </Button>
</div>} </div>}

View File

@ -43,7 +43,7 @@ import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
import daygridPlugin from "@fullcalendar/daygrid"; import daygridPlugin from "@fullcalendar/daygrid";
//import interactionPlugin from "@fullcalendar/interaction"; //import interactionPlugin from "@fullcalendar/interaction";
//import timeGridPlugin from "@fullcalendar/timegrid"; //import timeGridPlugin from "@fullcalendar/timegrid";
import Checkbox from '@mui/material/Checkbox';
import allLocales from '@fullcalendar/core/locales-all' import allLocales from '@fullcalendar/core/locales-all'
import { RepeatOnRounded, ResetTvRounded, RestaurantMenu } from "@mui/icons-material"; import { RepeatOnRounded, ResetTvRounded, RestaurantMenu } from "@mui/icons-material";
import { alignPropType } from "react-bootstrap/esm/types"; import { alignPropType } from "react-bootstrap/esm/types";
@ -75,6 +75,9 @@ import { IoMdAddCircle, IoIosRemoveCircleOutline } from "react-icons/io";
import { FcViewDetails, FcDisapprove, FcInfo } from "react-icons/fc"; import { FcViewDetails, FcDisapprove, FcInfo } from "react-icons/fc";
import { convertNwSeToNeSw } from "google-map-react"; import { convertNwSeToNeSw } from "google-map-react";
import FormGroup from '@mui/material/FormGroup';
import FormControlLabel from '@mui/material/FormControlLabel';
const Module_Email_Management = (props) => { const Module_Email_Management = (props) => {
const myconntected_employee_id = props.conntected_employee_id; const myconntected_employee_id = props.conntected_employee_id;
@ -592,6 +595,28 @@ const Module_Email_Management = (props) => {
} }
const [include_client, setinclude_client] = useState(false);
const [include_tuteur, setinclude_tuteur] = useState(false);
const handleChange_include_tuteur = (event) => {
if (event.currentTarget.checked) {
setinclude_tuteur(true);
}
else {
setinclude_tuteur(false);
}
}
const handleChange_include_client = (event) => {
if (event.currentTarget.checked) {
setinclude_client(true);
}
else {
setinclude_client(false);
}
}
return ( return (
@ -777,6 +802,34 @@ const Module_Email_Management = (props) => {
</div> </div>
</div> </div>
{props.related_collection && ['inscription', 'apprenant', 'contact'].includes(props.related_collection) && <div className="session_caract_Dialog" style={{ "marginBottom": '1px' }}>
<FormGroup sx={{ position: 'flex', flexDirection: 'row', justifyContent: 'right', alignItems: 'right' }}>
<FormControlLabel
control={
<Checkbox
size="small"
checked={include_client}
onChange={handleChange_include_client}
name="include_client"
/>
}
label="Client en CC"
/>
<FormControlLabel
control={
<Checkbox
size="small"
checked={include_tuteur}
onChange={handleChange_include_tuteur}
name="include_tuteur"
/>
}
label="Tuteur en CC"
/>
</FormGroup>
</div>}

View File

@ -92,6 +92,8 @@ const Recherche_new_v2 = () => {
const textInput = useRef(null); const textInput = useRef(null);
const scrollDiv = useRef(null); const scrollDiv = useRef(null);
const [url_subdomain, seturl_subdomain] = useState(window.location.host.split(".")[0]);
const [textplaceholder, settextplaceholder] = useState(""); const [textplaceholder, settextplaceholder] = useState("");
const [empltysearch, setempltysearch] = useState("1"); const [empltysearch, setempltysearch] = useState("1");
@ -946,9 +948,9 @@ const Recherche_new_v2 = () => {
var ip = ""; var ip = "";
async function fetchData() { async function fetchData() {
// const result = await axios('https://geolocation-db.com/json/',); // const result = await axios('https://geolocation-db.com/json/',);
/* setuserIp("172.71.122.128"); /* setuserIp("172.71.122.128");
setcountry_code("FR"); setcountry_code("FR");
@ -2572,6 +2574,7 @@ const Recherche_new_v2 = () => {
}; };
return ( return (

File diff suppressed because it is too large Load Diff

View File

@ -222,13 +222,13 @@ function SurveyDocument() {
var al = String(tab[0]); var al = String(tab[0]);
if (event.currentTarget.checked) { if (event.currentTarget.checked) {
console.log('checked'); // console.log('checked');
if (!tmp_variable[al] || String(tmp_variable[al]) === "") { if (!tmp_variable[al] || String(tmp_variable[al]) === "") {
console.log(" première action "); //console.log(" première action ");
var t = []; var t = [];
t.push(String(tab[1])); t.push(String(tab[1]));
} else { } else {
console.log(" PASSS première action "); //console.log(" PASSS première action ");
var t = tmp_variable[al]; var t = tmp_variable[al];
t.push(String(tab[1])); t.push(String(tab[1]));
} }
@ -236,10 +236,10 @@ function SurveyDocument() {
tmp_variable[al] = t; tmp_variable[al] = t;
console.log(" sortirrr tmp_variable = ", tmp_variable); //console.log(" sortirrr tmp_variable = ", tmp_variable);
settab_variable(tmp_variable); settab_variable(tmp_variable);
console.log(" ### sortir settab_variable = ", tab_variable); //console.log(" ### sortir settab_variable = ", tab_variable);
} }

View File

@ -0,0 +1,20 @@
import Subdomain_Recherche_new_v2 from "../components/Subdomain_Recherche_new_v2";
import Navigation from "../components/Navigation";
import Footer from "./footer";
const subdomain_recherche_new_v2 = () => {
return (
<div>
<Navigation />
<div>
<Subdomain_Recherche_new_v2 />
</div>
</div>
)
}
export default subdomain_recherche_new_v2;