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 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() {
@ -74,7 +76,10 @@ function App() {
<BrowserRouter>
<scrollToTop />
<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="/maintenance" exact component={Maintenance} />
@ -154,4 +159,5 @@ function App() {
);
}
export default App;

View File

@ -1479,7 +1479,14 @@ const AddClassManual = (props) => {
if (mylocaltraining.recyclage_delai) {
setp_detail_recyclage_delai(mylocaltraining.recyclage_delai);
} 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_periodicite', p_detail_recyclage_periodicite);
formData.append('recyclage_alert', p_detail_recyclage_alert);
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_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_banner_img_url, setp_detail_class_banner_img_url] = useState("");
@ -5241,6 +5250,25 @@ const AddClassManual = (props) => {
/>
</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 **/}
<div className="div_row" style={{ "border": 'none' }}>
<hr />

View File

@ -780,6 +780,7 @@ const DisplayPartnerStagiaires = (props) => {
//console.log(" In UpdateStagiaireData res.data.message r_class = " + res.data.message);
setRecyclage_Desactivation_api("true");
setRecyclage_Desactivation_result(res.data.message);
setSelectionModel([]);
Getall_TrainingParticipant();
alert(res.data.message);
@ -1081,7 +1082,12 @@ const DisplayPartnerStagiaires = (props) => {
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;
setselected_code_session(line.code_session);
@ -5358,11 +5364,11 @@ const DisplayPartnerStagiaires = (props) => {
var liste_session = "";
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_emails = GetSelectedRows_Emails_filtered_on_alert();
}
else{
else {
liste_session = GetSelectedRowsSession();
liste_emails = GetSelectedRows_Emails();
}
@ -5438,7 +5444,7 @@ const DisplayPartnerStagiaires = (props) => {
const [selectedtraining, setselectedtraining] = useState([])
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));
//console.log(rowss[0]);
var tab_tmp = []
@ -6569,7 +6575,7 @@ const DisplayPartnerStagiaires = (props) => {
<DialogContent >
<DialogContentText>
{Dialog_1_message}
</DialogContentText>
@ -8330,7 +8336,7 @@ const DisplayPartnerStagiaires = (props) => {
Get_Inscrit_List_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);
}}
@ -10047,7 +10053,8 @@ const DisplayPartnerStagiaires = (props) => {
</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>
</div>}

View File

@ -43,7 +43,7 @@ import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
import daygridPlugin from "@fullcalendar/daygrid";
//import interactionPlugin from "@fullcalendar/interaction";
//import timeGridPlugin from "@fullcalendar/timegrid";
import Checkbox from '@mui/material/Checkbox';
import allLocales from '@fullcalendar/core/locales-all'
import { RepeatOnRounded, ResetTvRounded, RestaurantMenu } from "@mui/icons-material";
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 { convertNwSeToNeSw } from "google-map-react";
import FormGroup from '@mui/material/FormGroup';
import FormControlLabel from '@mui/material/FormControlLabel';
const Module_Email_Management = (props) => {
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 (
@ -777,6 +802,34 @@ const Module_Email_Management = (props) => {
</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 scrollDiv = useRef(null);
const [url_subdomain, seturl_subdomain] = useState(window.location.host.split(".")[0]);
const [textplaceholder, settextplaceholder] = useState("");
const [empltysearch, setempltysearch] = useState("1");
@ -946,7 +948,7 @@ const Recherche_new_v2 = () => {
var ip = "";
async function fetchData() {
// const result = await axios('https://geolocation-db.com/json/',);
// const result = await axios('https://geolocation-db.com/json/',);
@ -2572,6 +2574,7 @@ const Recherche_new_v2 = () => {
};
return (

File diff suppressed because it is too large Load Diff

View File

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