Compare commits
2 Commits
1d00664b59
...
58f2e023e6
Author | SHA1 | Date |
---|---|---|
|
58f2e023e6 | |
|
ad041ae4dd |
|
@ -187,6 +187,7 @@ const AddClassManual = (props) => {
|
|||
{ field: 'code', headerName: 'Code', minWidth: 150, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'titre', headerName: 'Titre', minWidth: 150, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'credit', headerName: 'Credit', minWidth: 150, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'coefficient', headerName: 'Coef.', minWidth: 150, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{
|
||||
field: 'pres_dist_hyp', headerName: 'Animation', minWidth: 150, flex: 1,
|
||||
renderCell: (cellValues) => {
|
||||
|
@ -201,7 +202,7 @@ const AddClassManual = (props) => {
|
|||
}
|
||||
},
|
||||
{
|
||||
field: 'is_noted', headerName: 'Evalué', minWidth: 150, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />,
|
||||
field: 'is_noted', headerName: 'Evalué', minWidth: 100, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />,
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all" }}>
|
||||
|
@ -213,7 +214,10 @@ const AddClassManual = (props) => {
|
|||
);
|
||||
}
|
||||
},
|
||||
{ field: 'duration_concat', headerName: 'Durée', minWidth: 150, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'seuil_validation', headerName: 'Seuil val.', minWidth: 100, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
|
||||
|
||||
{ field: 'duration_concat', headerName: 'Durée', minWidth: 100, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'duration', headerName: 'Durée', minWidth: 150, hide: true, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'duration_unite', headerName: 'Unit.', minWidth: 150, hide: true, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
|
||||
|
@ -558,6 +562,8 @@ const AddClassManual = (props) => {
|
|||
var local_credit = JSON.parse(x).credit;
|
||||
var local_pres_dist_hyp = JSON.parse(x).pres_dist_hyp;
|
||||
var local_is_noted = JSON.parse(x).is_noted;
|
||||
var local_coefficient = JSON.parse(x).coefficient;
|
||||
var local_seuil_validation = JSON.parse(x).seuil_validation;
|
||||
|
||||
|
||||
|
||||
|
@ -571,6 +577,8 @@ const AddClassManual = (props) => {
|
|||
"credit": local_credit,
|
||||
"pres_dist_hyp": local_pres_dist_hyp,
|
||||
"is_noted": local_is_noted,
|
||||
"coefficient": local_coefficient,
|
||||
"seuil_validation": local_seuil_validation,
|
||||
|
||||
};
|
||||
new_data2.push(node);
|
||||
|
@ -586,6 +594,8 @@ const AddClassManual = (props) => {
|
|||
"credit": "",
|
||||
"pres_dist_hyp": "",
|
||||
"is_noted": "",
|
||||
"coefficient": "",
|
||||
"seuil_validation": "",
|
||||
|
||||
};
|
||||
new_data2.push(node);
|
||||
|
@ -636,7 +646,7 @@ const AddClassManual = (props) => {
|
|||
setLoading(false);
|
||||
if (String(res.data.status) === String("true")) {
|
||||
//console.log(" In Getall_Partner_List_UE res.data.status = " + res.data.status);
|
||||
//console.log(" In Getall_Partner_List_UE res.data.message r_class = " + res.data.message);
|
||||
// console.log(" In Getall_Partner_List_UE res.data.message r_class = " + res.data.message);
|
||||
setGetall_Partner_List_UE_api("true");
|
||||
setGetall_Partner_List_UE_result(res.data.message);
|
||||
|
||||
|
@ -649,6 +659,9 @@ const AddClassManual = (props) => {
|
|||
var local_code = JSON.parse(x).code;
|
||||
var local_titre = JSON.parse(x).titre;
|
||||
|
||||
var local_ects = JSON.parse(x).ects;
|
||||
var local_seuil_validation = JSON.parse(x).seuil_validation;
|
||||
|
||||
|
||||
var local_credit = JSON.parse(x).credit;
|
||||
var local_pres_dist_hyp = JSON.parse(x).pres_dist_hyp;
|
||||
|
@ -667,6 +680,9 @@ const AddClassManual = (props) => {
|
|||
"pres_dist_hyp": local_pres_dist_hyp,
|
||||
"is_noted": local_is_noted,
|
||||
|
||||
"ects": local_ects,
|
||||
"seuil_validation": local_seuil_validation,
|
||||
|
||||
};
|
||||
new_data2.push(node);
|
||||
});
|
||||
|
@ -1289,9 +1305,6 @@ const AddClassManual = (props) => {
|
|||
if (mylocaltraining) {
|
||||
setdisplayedinternalurl(mylocaltraining.internal_url);
|
||||
|
||||
|
||||
|
||||
|
||||
if (mylocaltraining._id) {
|
||||
setselected_class_id(mylocaltraining._id);
|
||||
Get_List_Of_All_PJ(mylocaltraining._id);
|
||||
|
@ -1341,6 +1354,14 @@ const AddClassManual = (props) => {
|
|||
}
|
||||
|
||||
|
||||
|
||||
if (mylocaltraining.note_finale_calculation_rule_id) {
|
||||
setselected_class_note_calculation_id(mylocaltraining.note_finale_calculation_rule_id);
|
||||
} else {
|
||||
setselected_class_note_calculation_id("");
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (mylocaltraining.prerequis) {
|
||||
//document.getElementsByName("prerequis")[0].value = mylocaltraining.prerequis;
|
||||
|
@ -2007,6 +2028,9 @@ const AddClassManual = (props) => {
|
|||
formData.append('img_banner_detail_class', banniereImg);
|
||||
formData.append('img_url', banniereImg);
|
||||
|
||||
formData.append('note_finale_calculation_rule_id', selected_class_note_calculation_id);
|
||||
|
||||
|
||||
formData.append('contenu_attestation', contenu_attestation);
|
||||
|
||||
|
||||
|
@ -2121,6 +2145,73 @@ const AddClassManual = (props) => {
|
|||
});
|
||||
};
|
||||
|
||||
|
||||
|
||||
function Record_Training_Calcul_Note(event) {
|
||||
|
||||
const formData = new FormData();
|
||||
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
formData.append("token", stored_cookie);
|
||||
formData.append('note_finale_calculation_rule_id', selected_class_note_calculation_id);
|
||||
formData.append('internal_url', props.mytrainingclass['ref']);
|
||||
if (props.mytrainingclass['class_id'])
|
||||
formData.append("class_id", props.mytrainingclass['class_id']);
|
||||
else
|
||||
formData.append("class_id", selected_class_id);
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/update_class/";
|
||||
|
||||
// console.log(" formData = ", formData);
|
||||
setLoading(true);
|
||||
|
||||
fetch(
|
||||
myurl,
|
||||
{
|
||||
method: 'POST',
|
||||
body: formData,
|
||||
}
|
||||
)
|
||||
.then((response) => response.json())
|
||||
.then((result) => {
|
||||
//console.log('Success:', result['message'], "result['status'] = ", result['status'], "result['class_id'] = ", result['class_id']);
|
||||
setLoading(false);
|
||||
|
||||
setdatamodification("0");
|
||||
|
||||
if (String(result['status']) === "true") {
|
||||
var myclass_id = String(result['class_id']);
|
||||
|
||||
if (String(userimgclassprofilchanged) === "1")
|
||||
sendClassImage(myclass_id);
|
||||
}
|
||||
|
||||
//alert(result['status'] + " -- " + myApiResponse + ' mess = ' + result['message']);
|
||||
|
||||
if (String(result['status']) === "true") {
|
||||
|
||||
|
||||
var txt = "La formation a été correctement ajoutée / mise à jour.";
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(txt);
|
||||
setalert_type("success");
|
||||
|
||||
|
||||
}
|
||||
|
||||
else {
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(result['message']);
|
||||
setalert_type("error");
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
setLoading(false);
|
||||
console.error('Error:', error);
|
||||
setmyApiResponse("false");
|
||||
});
|
||||
};
|
||||
|
||||
function DataUpdated() {
|
||||
setdatamodification("1");
|
||||
setimportmessage();
|
||||
|
@ -2403,6 +2494,93 @@ const AddClassManual = (props) => {
|
|||
});
|
||||
}
|
||||
|
||||
const [New_Get_List_Regle_Calcul_Note_Formation_result, setNew_Get_List_Regle_Calcul_Note_Formation_result] = useState([]);
|
||||
|
||||
const [Get_List_Regle_Calcul_Note_Formation_api, setGet_List_Regle_Calcul_Note_Formation_api] = useState();
|
||||
const [Get_List_Regle_Calcul_Note_Formation_message, setGet_List_Regle_Calcul_Note_Formation_message] = useState();
|
||||
const [Get_List_Regle_Calcul_Note_Formation_result, setGet_List_Regle_Calcul_Note_Formation_result] = useState();
|
||||
function Get_List_Regle_Calcul_Note_Formation() {
|
||||
var form = new FormData();
|
||||
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
form.append("token", stored_cookie);
|
||||
form.append("tab_related_collection", "myclass");
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_base_calcul_note_class_and_ue_With_Filter";
|
||||
|
||||
fetch(myurl,
|
||||
{
|
||||
method: 'POST',
|
||||
body: form,
|
||||
})
|
||||
.then((data) => data.json())
|
||||
.then((data) => {
|
||||
// console.log(' IN Get_List_Regle_Calcul_Note_Formation Success:', data['message'], "data['status'] = ", data['status']);
|
||||
|
||||
if (String(data['status']) === String("true")) {
|
||||
setGet_List_Regle_Calcul_Note_Formation_api("true");
|
||||
setGet_List_Regle_Calcul_Note_Formation_result(data['message']);
|
||||
|
||||
var new_data2 = [];
|
||||
const new_data = data['message'].map((x) => {
|
||||
|
||||
//---
|
||||
var localid = JSON.parse(x).id;
|
||||
var local_id = JSON.parse(x)._id;
|
||||
var local_related_collection = JSON.parse(x).related_collection;
|
||||
var local_calcul_rule = JSON.parse(x).calcul_rule;
|
||||
var local_nom = JSON.parse(x).nom;
|
||||
var local_fonction_name = JSON.parse(x).fonction_name;
|
||||
|
||||
|
||||
//---
|
||||
var node = {
|
||||
"id": localid,
|
||||
"_id": local_id,
|
||||
"related_collection": local_related_collection,
|
||||
"calcul_rule": local_calcul_rule,
|
||||
"label": local_nom,
|
||||
"nom": local_nom,
|
||||
"fonction_name": local_fonction_name,
|
||||
|
||||
};
|
||||
new_data2.push(node);
|
||||
});
|
||||
|
||||
var node = {
|
||||
|
||||
"id": "",
|
||||
"_id": "",
|
||||
"related_collection": "",
|
||||
"calcul_rule": "",
|
||||
"label": "",
|
||||
"nom": "",
|
||||
"fonction_name": "",
|
||||
|
||||
};
|
||||
new_data2.push(node);
|
||||
|
||||
if (new_data2.length > 0) {
|
||||
setNew_Get_List_Regle_Calcul_Note_Formation_result(new_data2);
|
||||
|
||||
// console.log(" ## new_data2 = ", new_data2);
|
||||
// console.log(" ## New_Get_List_Regle_Calcul_Note_Formation_result = ", New_Get_List_Regle_Calcul_Note_Formation_result);
|
||||
} else {
|
||||
setNew_Get_List_Regle_Calcul_Note_Formation_result([])
|
||||
}
|
||||
}
|
||||
else {
|
||||
setGet_List_Regle_Calcul_Note_Formation_api("false");
|
||||
setGet_List_Regle_Calcul_Note_Formation_message(data['message']);
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
console.error('Error Get_List_Regle_Calcul_Note_Formation :', error);
|
||||
setGet_List_Regle_Calcul_Note_Formation_api("false");
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
const handleChangeDomaineTraining = (event) => {
|
||||
const name = event.target.name;
|
||||
const value = event.target.value;
|
||||
|
@ -3424,6 +3602,8 @@ const AddClassManual = (props) => {
|
|||
setsubmenu("note_evaluation");
|
||||
submenu_color_management("note_evaluation");
|
||||
Getall_Class_List_Evalution();
|
||||
|
||||
Get_List_Regle_Calcul_Note_Formation();
|
||||
}
|
||||
|
||||
|
||||
|
@ -3471,9 +3651,17 @@ const AddClassManual = (props) => {
|
|||
const [p_detail_price, setp_detail_price] = useState("");
|
||||
|
||||
const [selected_ue_id, setselected_ue_id] = useState("");
|
||||
const [selected_ue_credit, setselected_ue_credit] = useState("");
|
||||
const [selected_ue_credit_ects, setselected_ue_credit_ects] = useState("");
|
||||
const [selected_ue_is_noted, setselected_ue_is_noted] = useState("");
|
||||
const [selected_ue_pres_dist_hyp, setselected_ue_pres_dist_hyp] = useState("");
|
||||
const [selected_ue_coefficient, setselected_ue_coefficient] = useState("");
|
||||
|
||||
const [selected_ue_seuil_validation, setselected_ue_seuil_validation] = useState("");
|
||||
|
||||
|
||||
const [selected_class_note_calculation_id, setselected_class_note_calculation_id] = useState("");
|
||||
|
||||
|
||||
|
||||
const New_Option_Is_Noted = [
|
||||
{ "id": "1", "label": "Oui", "value": "1" },
|
||||
|
@ -3493,30 +3681,36 @@ const AddClassManual = (props) => {
|
|||
const Dialog_Unite_Enseignement_handleClose = () => {
|
||||
setDialog_Unite_Enseignement_open(false);
|
||||
setselected_ue_id("");
|
||||
setselected_ue_credit("");
|
||||
setselected_ue_credit_ects("");
|
||||
setselected_ue_is_noted("");
|
||||
setselected_ue_pres_dist_hyp("");
|
||||
setadd_one_eu_to_class("");
|
||||
setselected_ue_coefficient("");
|
||||
setselected_ue_seuil_validation("");
|
||||
|
||||
};
|
||||
|
||||
|
||||
function clean_ue_data() {
|
||||
setselected_ue_id("");
|
||||
setselected_ue_credit("");
|
||||
setselected_ue_credit_ects("");
|
||||
setselected_ue_seuil_validation("");
|
||||
setselected_ue_is_noted("");
|
||||
setselected_ue_pres_dist_hyp("");
|
||||
setadd_one_eu_to_class("");
|
||||
setselected_ue_coefficient("");
|
||||
|
||||
}
|
||||
|
||||
const Dialog_Unite_Enseignement_handleClose_buton = () => {
|
||||
setDialog_Unite_Enseignement_open(false);
|
||||
setselected_ue_id("");
|
||||
setselected_ue_credit("");
|
||||
setselected_ue_credit_ects("");
|
||||
setselected_ue_seuil_validation("");
|
||||
setselected_ue_is_noted("");
|
||||
setselected_ue_pres_dist_hyp("");
|
||||
setadd_one_eu_to_class("");
|
||||
setselected_ue_coefficient("");
|
||||
};
|
||||
|
||||
const [Dialog_1_message, setDialog_1_message] = React.useState(false);
|
||||
|
@ -3539,9 +3733,11 @@ const AddClassManual = (props) => {
|
|||
form.append("class_id", selected_class_id);
|
||||
|
||||
form.append("ue_id", selected_ue_id);
|
||||
form.append("credit", selected_ue_credit);
|
||||
form.append("credit", selected_ue_credit_ects);
|
||||
form.append("coefficient", selected_ue_coefficient);
|
||||
form.append("pres_dist_hyp", selected_ue_pres_dist_hyp);
|
||||
form.append("is_noted", selected_ue_is_noted);
|
||||
form.append("seuil_validation", selected_ue_seuil_validation);
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_Update_UE_To_Class/";
|
||||
|
||||
|
@ -4189,7 +4385,8 @@ const AddClassManual = (props) => {
|
|||
if (value && value._id) {
|
||||
|
||||
setselected_ue_id(value._id);
|
||||
|
||||
setselected_ue_credit_ects(value.ects);
|
||||
setselected_ue_seuil_validation(value.seuil_validation);
|
||||
} else {
|
||||
setselected_ue_id("");
|
||||
}
|
||||
|
@ -4230,10 +4427,49 @@ const AddClassManual = (props) => {
|
|||
name="event_dialog_credit"
|
||||
id="event_dialog_credit"
|
||||
type="number"
|
||||
InputProps={{ inputProps: { min: 1, max: 999 } }}
|
||||
fullWidth
|
||||
value={selected_ue_credit}
|
||||
value={selected_ue_credit_ects}
|
||||
onChange={(e) => {
|
||||
setselected_ue_credit(e.target.value);
|
||||
setselected_ue_credit_ects(e.target.value);
|
||||
}
|
||||
}
|
||||
|
||||
/>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="session_caract_Dialog" > <b> Coefficient </b>
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
|
||||
name="event_dialog_coef"
|
||||
id="event_dialog_coef"
|
||||
type="number"
|
||||
InputProps={{ inputProps: { min: 1, max: 999 } }}
|
||||
fullWidth
|
||||
value={selected_ue_coefficient}
|
||||
onChange={(e) => {
|
||||
setselected_ue_coefficient(e.target.value);
|
||||
}
|
||||
}
|
||||
|
||||
/>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="session_caract_Dialog" > <b> Seuil validation </b>
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
|
||||
name="event_dialog_seuil_validation"
|
||||
id="event_dialog_seuil_validation"
|
||||
type="number"
|
||||
InputProps={{ inputProps: { min: 1, max: 9999 } }}
|
||||
fullWidth
|
||||
value={selected_ue_seuil_validation}
|
||||
onChange={(e) => {
|
||||
setselected_ue_seuil_validation(e.target.value);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4269,6 +4505,8 @@ const AddClassManual = (props) => {
|
|||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div className="session_caract_Dialog"> <b> Mode d'animation </b><br />
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
|
@ -4643,6 +4881,9 @@ const AddClassManual = (props) => {
|
|||
credit: JSON.parse(item).credit,
|
||||
pres_dist_hyp: JSON.parse(item).pres_dist_hyp,
|
||||
is_noted: JSON.parse(item).is_noted,
|
||||
coefficient: JSON.parse(item).coefficient,
|
||||
seuil_validation: JSON.parse(item).seuil_validation,
|
||||
|
||||
|
||||
duration: JSON.parse(item).duration,
|
||||
duration_unite: JSON.parse(item).duration_unite,
|
||||
|
@ -4662,9 +4903,12 @@ const AddClassManual = (props) => {
|
|||
|
||||
var current_class_ue_data = New_Getall_Class_List_UE_result.filter((ue_data) => ue_data._id === String((newSelectionModel.row._id)))
|
||||
|
||||
setselected_ue_credit(current_class_ue_data[0]['credit']);
|
||||
// console.log(" ### current_class_ue_data[0] = ", current_class_ue_data[0]);
|
||||
setselected_ue_credit_ects(current_class_ue_data[0]['credit']);
|
||||
setselected_ue_is_noted(current_class_ue_data[0]['is_noted']);
|
||||
setselected_ue_pres_dist_hyp(current_class_ue_data[0]['pres_dist_hyp']);
|
||||
setselected_ue_coefficient(current_class_ue_data[0]['coefficient']);
|
||||
setselected_ue_seuil_validation(current_class_ue_data[0]['seuil_validation']);
|
||||
setadd_one_eu_to_class("0");
|
||||
|
||||
setDialog_Unite_Enseignement_open(true);
|
||||
|
@ -4828,9 +5072,6 @@ const AddClassManual = (props) => {
|
|||
|
||||
setDialog_Evaluation_Unite_Enseignement_open(true);
|
||||
|
||||
|
||||
|
||||
|
||||
}}
|
||||
|
||||
|
||||
|
@ -4894,9 +5135,110 @@ const AddClassManual = (props) => {
|
|||
<br />
|
||||
<div className="div_row" style={{ "border": "None" }}>
|
||||
<h3> Regle de calcul note finale </h3>
|
||||
|
||||
<nav>
|
||||
|
||||
Règle de calcul :
|
||||
{New_Get_List_Regle_Calcul_Note_Formation_result && New_Get_List_Regle_Calcul_Note_Formation_result.length > 0 && <Autocomplete
|
||||
disablePortal
|
||||
name="regle_calcul_note_formation"
|
||||
id="regle_calcul_note_formation"
|
||||
className="disabled_style"
|
||||
options={New_Get_List_Regle_Calcul_Note_Formation_result}
|
||||
|
||||
value={New_Get_List_Regle_Calcul_Note_Formation_result.filter((data) => (data)._id === String(selected_class_note_calculation_id))[0].label}
|
||||
onChange={(event, value) => {
|
||||
if (value && value._id) {
|
||||
setselected_class_note_calculation_id(value._id);
|
||||
DataUpdated();
|
||||
|
||||
} else {
|
||||
setselected_class_note_calculation_id("");
|
||||
DataUpdated();
|
||||
}
|
||||
}}
|
||||
|
||||
renderInput={(params) => <TextField {...params} label="Formateur" />
|
||||
}
|
||||
/>}
|
||||
|
||||
<br />
|
||||
Exemple de calcul : Moyenne finale = [ UE * Coef (UE) ] / nb_coef
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{String(props.ispending) === String("0") && <div className="parter_div_filtrer_row">
|
||||
|
||||
|
||||
{(String(datamodification) === String("1") || String(editor_tochange) === String("1")) && <div className="parter_div_filtrer_row_gauche" >
|
||||
<Button variant="contained" onClick={Record_Training_Calcul_Note} startIcon={<AiTwotoneSave />} className="bton_enreg2">ENREGISTRER LA REGLE </Button>
|
||||
</div>
|
||||
}
|
||||
|
||||
{String(datamodification) !== String("1") && String(editor_tochange) !== String("1") && String(props.mytrainingclass.ref) !== "" &&
|
||||
<div className="parter_div_filtrer_row_droite" >
|
||||
|
||||
<Popup
|
||||
trigger={
|
||||
<Button variant="contained" startIcon={<DeleteIcon />} className="bton_suppr2"> SUPPRIMER LA FORMATION </Button>
|
||||
|
||||
}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, la formation sera <i><font color="red"> définitivement supprimée</font></i>. <br />
|
||||
Avant, assurez-vous de n'avoir aucune session rattachée à la formation.
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
DeleteClass(event);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
|
||||
</div>
|
||||
}
|
||||
|
||||
|
||||
{(String(datamodification) === String("1") || String(editor_tochange) === String("1")) && String(props.mytrainingclass.ref) !== "" && <div className="parter_div_filtrer_row_droite" >
|
||||
<Button variant="contained" onClick={UndoModif} startIcon={<IoArrowUndoCircle />} className="bton_suppr2"> ANNULER LES MODIFICATIONS </Button>
|
||||
|
||||
</div>}
|
||||
|
||||
</div>}
|
||||
|
||||
|
||||
|
||||
</div>}
|
||||
|
||||
{submenu && String(submenu) === "piece_jointe" && <div>
|
||||
|
@ -5883,7 +6225,6 @@ const AddClassManual = (props) => {
|
|||
</div>}
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -5904,13 +6245,6 @@ const AddClassManual = (props) => {
|
|||
</div>
|
||||
}
|
||||
|
||||
{/*String(datamodification) === String("0") && <div className="parter_div_filtrer_row_gauche" >
|
||||
<Button variant="contained" onClick={"ModifTraining"} startIcon={<AiTwotoneEdit />}>MODIFIER </Button>
|
||||
</div>
|
||||
*/ }
|
||||
|
||||
|
||||
|
||||
{String(datamodification) !== String("1") && String(editor_tochange) !== String("1") && String(props.mytrainingclass.ref) !== "" &&
|
||||
<div className="parter_div_filtrer_row_droite" >
|
||||
|
||||
|
|
|
@ -789,6 +789,13 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
setVal([]);
|
||||
}
|
||||
|
||||
if (local_ue.note_ue_calculation_rule_id) {
|
||||
setp_detail_note_ue_calculation_rule_id(local_ue.note_ue_calculation_rule_id);
|
||||
} else {
|
||||
setp_detail_note_ue_calculation_rule_id("");
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (local_ue.ects) {
|
||||
setp_detail_ects(local_ue.ects);
|
||||
|
@ -866,7 +873,7 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
setue_data_edit_mode("0");
|
||||
const list_menu_header_names = ['detail_ue_code', 'detail_ue_titre', 'detail_ue_bloc', 'detail_ue_domaine', 'detail_ue_competence',
|
||||
'detail_ue_semestre', 'detail_ue_ects', 'detail_ue_seuil_validation', 'detail_ue_duree', 'detail_ue_unit_duree', 'detail_ue_cm_heure',
|
||||
'detail_ue_td_heure', 'detail_ue_tp_heure', 'detail_ue_tpg_heure', 'detail_ue_cm_heure']
|
||||
'detail_ue_td_heure', 'detail_ue_tp_heure', 'detail_ue_tpg_heure', 'detail_ue_cm_heure', 'detail_ue_note_ue_calculation_rule_id']
|
||||
|
||||
|
||||
for (let i = 0; i < list_menu_header_names.length; i++) {
|
||||
|
@ -883,7 +890,7 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
setue_data_edit_mode("1");
|
||||
const list_menu_header_names = ['detail_ue_code', 'detail_ue_titre', 'detail_ue_bloc', 'detail_ue_domaine', 'detail_ue_competence',
|
||||
'detail_ue_semestre', 'detail_ue_ects', 'detail_ue_seuil_validation', 'detail_ue_duree', 'detail_ue_unit_duree', 'detail_ue_cm_heure',
|
||||
'detail_ue_td_heure', 'detail_ue_tp_heure', 'detail_ue_tpg_heure', 'detail_ue_cm_heure']
|
||||
'detail_ue_td_heure', 'detail_ue_tp_heure', 'detail_ue_tpg_heure', 'detail_ue_cm_heure', 'detail_ue_note_ue_calculation_rule_id']
|
||||
|
||||
|
||||
for (let i = 0; i < list_menu_header_names.length; i++) {
|
||||
|
@ -974,6 +981,8 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
|
||||
form.append("semestre", p_detail_semestre);
|
||||
|
||||
form.append("note_ue_calculation_rule_id", p_detail_note_ue_calculation_rule_id);
|
||||
|
||||
|
||||
form.append("niveau_competence", val);
|
||||
|
||||
|
@ -1153,6 +1162,8 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
const [p_detail_seuil_validation, setp_detail_seuil_validation] = useState("");
|
||||
const [p_detail_tab_competence, setp_detail_tab_competence] = useState([]);
|
||||
|
||||
const [p_detail_note_ue_calculation_rule_id, setp_detail_note_ue_calculation_rule_id] = useState([]);
|
||||
|
||||
|
||||
const editorRef_description = useRef(null);
|
||||
const [editorRef_description_limite, seteditorRef_description_limite] = useState(5000);
|
||||
|
@ -1207,6 +1218,7 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
}
|
||||
|
||||
async function handleClick_edit_ue_From_Line(selected_row_id) {
|
||||
Get_List_Regle_Calcul_Note_UE();
|
||||
|
||||
submenu_detail();
|
||||
var line = JSON.parse(Getall_Parter_Unite_Enseignement_result[selected_row_id]);
|
||||
|
@ -1333,6 +1345,94 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
}
|
||||
|
||||
|
||||
const [New_Get_List_Regle_Calcul_Note_UE_result, setNew_Get_List_Regle_Calcul_Note_UE_result] = useState([]);
|
||||
|
||||
const [Get_List_Regle_Calcul_Note_UE_api, setGet_List_Regle_Calcul_Note_UE_api] = useState();
|
||||
const [Get_List_Regle_Calcul_Note_UE_message, setGet_List_Regle_Calcul_Note_UE_message] = useState();
|
||||
const [Get_List_Regle_Calcul_Note_UE_result, setGet_List_Regle_Calcul_Note_UE_result] = useState();
|
||||
function Get_List_Regle_Calcul_Note_UE() {
|
||||
var form = new FormData();
|
||||
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
form.append("token", stored_cookie);
|
||||
form.append("tab_related_collection", "unite_enseignement");
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_base_calcul_note_class_and_ue_With_Filter";
|
||||
|
||||
fetch(myurl,
|
||||
{
|
||||
method: 'POST',
|
||||
body: form,
|
||||
})
|
||||
.then((data) => data.json())
|
||||
.then((data) => {
|
||||
// console.log(' IN Get_List_Regle_Calcul_Note_UE Success:', data['message'], "data['status'] = ", data['status']);
|
||||
|
||||
if (String(data['status']) === String("true")) {
|
||||
setGet_List_Regle_Calcul_Note_UE_api("true");
|
||||
setGet_List_Regle_Calcul_Note_UE_result(data['message']);
|
||||
|
||||
var new_data2 = [];
|
||||
const new_data = data['message'].map((x) => {
|
||||
|
||||
//---
|
||||
var localid = JSON.parse(x).id;
|
||||
var local_id = JSON.parse(x)._id;
|
||||
var local_related_collection = JSON.parse(x).related_collection;
|
||||
var local_calcul_rule = JSON.parse(x).calcul_rule;
|
||||
var local_nom = JSON.parse(x).nom;
|
||||
var local_fonction_name = JSON.parse(x).fonction_name;
|
||||
|
||||
|
||||
//---
|
||||
var node = {
|
||||
"id": localid,
|
||||
"_id": local_id,
|
||||
"related_collection": local_related_collection,
|
||||
"calcul_rule": local_calcul_rule,
|
||||
"label": local_nom,
|
||||
"nom": local_nom,
|
||||
"fonction_name": local_fonction_name,
|
||||
|
||||
};
|
||||
new_data2.push(node);
|
||||
});
|
||||
|
||||
var node = {
|
||||
|
||||
"id": "",
|
||||
"_id": "",
|
||||
"related_collection": "",
|
||||
"calcul_rule": "",
|
||||
"label": "",
|
||||
"nom": "",
|
||||
"fonction_name": "",
|
||||
|
||||
};
|
||||
new_data2.push(node);
|
||||
|
||||
if (new_data2.length > 0) {
|
||||
setNew_Get_List_Regle_Calcul_Note_UE_result(new_data2);
|
||||
|
||||
// console.log(" ## new_data2 = ", new_data2);
|
||||
// console.log(" ## New_Get_List_Regle_Calcul_Note_UE_result = ", New_Get_List_Regle_Calcul_Note_UE_result);
|
||||
} else {
|
||||
setNew_Get_List_Regle_Calcul_Note_UE_result([])
|
||||
}
|
||||
}
|
||||
else {
|
||||
setGet_List_Regle_Calcul_Note_UE_api("false");
|
||||
setGet_List_Regle_Calcul_Note_UE_message(data['message']);
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
console.error('Error Get_List_Regle_Calcul_Note_UE :', error);
|
||||
setGet_List_Regle_Calcul_Note_UE_api("false");
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
const [New_Get_List_Type_Cours_result, setNew_Get_List_Type_Cours_result] = useState([]);
|
||||
|
||||
const [Get_List_Type_Cours_api, setGet_List_Type_Cours_api] = useState();
|
||||
|
@ -1965,7 +2065,7 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
{/*** Fin Dialog ajout PLANIF_LINE ue */}
|
||||
|
||||
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Gestion des Unités d'enseignement </h3>
|
||||
<h3 style={{ fontFamily: 'DM Sans' }}> Gestion des Unités d'enseignement </h3>
|
||||
<div className="div_row">
|
||||
<div className="titre1"> Utilisez les filtres !</div>
|
||||
<div className="div_row" style={{ "marginBottom": "5px" }}>
|
||||
|
@ -2531,7 +2631,7 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
|
||||
|
||||
{ue_data_edit_mode && String(ue_data_edit_mode) === "1" &&
|
||||
New_Get_List_Domaines_result && New_Get_List_Domaines_result.length > 0 && <div className="training_caract">Domaine <br />
|
||||
New_Get_List_Domaines_result && New_Get_List_Domaines_result.length > 0 && <div className="session_caract">Domaine <br />
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
|
||||
|
@ -2558,7 +2658,7 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
</div>}
|
||||
|
||||
{ue_data_edit_mode && String(ue_data_edit_mode) !== "1" &&
|
||||
New_Get_List_Domaines_result && New_Get_List_Domaines_result.length > 0 && <div className="training_caract">Domaine <br />
|
||||
New_Get_List_Domaines_result && New_Get_List_Domaines_result.length > 0 && <div className="session_caract">Domaine <br />
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
required
|
||||
|
@ -2627,6 +2727,56 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
|
||||
</div>}
|
||||
|
||||
{ue_data_edit_mode && String(ue_data_edit_mode) === "1" && New_Get_List_Regle_Calcul_Note_UE_result && New_Get_List_Regle_Calcul_Note_UE_result.length > 0 &&
|
||||
<div className="session_caract"> Règle de calcul note <br />
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
name="detail_ue_note_ue_calculation_rule_id"
|
||||
id="detail_ue_note_ue_calculation_rule_id"
|
||||
className="disabled_style"
|
||||
options={New_Get_List_Regle_Calcul_Note_UE_result}
|
||||
New_Get_List_Regle_Calcul_Note_UE_result
|
||||
value={New_Get_List_Regle_Calcul_Note_UE_result.filter((data) => (data)._id === String(p_detail_note_ue_calculation_rule_id))[0].label}
|
||||
onChange={(event, value) => {
|
||||
seteu_changed("1");
|
||||
if (value && value._id) {
|
||||
setp_detail_note_ue_calculation_rule_id(value._id);
|
||||
|
||||
} else {
|
||||
setp_detail_note_ue_calculation_rule_id("");
|
||||
}
|
||||
}}
|
||||
|
||||
renderInput={(params) => <TextField {...params} label="Choisir" />
|
||||
}
|
||||
/>
|
||||
</div>}
|
||||
|
||||
|
||||
{ue_data_edit_mode && String(ue_data_edit_mode) !== "1" && New_Get_List_Regle_Calcul_Note_UE_result && New_Get_List_Regle_Calcul_Note_UE_result.length > 0 &&
|
||||
<div className="session_caract"> Règle de calcul note <br />
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
required
|
||||
name="detail_ue_note_ue_calculation_rule_id"
|
||||
id="detail_ue_note_ue_calculation_rule_id"
|
||||
className="disabled_style"
|
||||
|
||||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
//disabled={true}
|
||||
|
||||
value={New_Get_List_Regle_Calcul_Note_UE_result.filter((data) => (data)._id === String(p_detail_note_ue_calculation_rule_id))[0].label}
|
||||
|
||||
|
||||
/>
|
||||
|
||||
|
||||
</div>}
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div className="block_ue_div_50_percent_droite">
|
||||
|
@ -3674,7 +3824,7 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
|
||||
/>
|
||||
</div>
|
||||
{New_Get_List_Domaines_result && New_Get_List_Domaines_result.length > 0 && <div className="training_caract"> Domaine <br />
|
||||
{New_Get_List_Domaines_result && New_Get_List_Domaines_result.length > 0 && <div className="session_caract"> Domaine <br />
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
|
||||
|
@ -3726,6 +3876,30 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
|
||||
</div>
|
||||
|
||||
{New_Get_List_Regle_Calcul_Note_UE_result && New_Get_List_Regle_Calcul_Note_UE_result.length > 0 && <Autocomplete
|
||||
disablePortal
|
||||
name="detail_ue_note_ue_calculation_rule_id"
|
||||
id="detail_ue_note_ue_calculation_rule_id"
|
||||
className="disabled_style"
|
||||
options={New_Get_List_Regle_Calcul_Note_UE_result}
|
||||
New_Get_List_Regle_Calcul_Note_UE_result
|
||||
value={New_Get_List_Regle_Calcul_Note_UE_result.filter((data) => (data)._id === String(p_detail_note_ue_calculation_rule_id))[0].label}
|
||||
onChange={(event, value) => {
|
||||
if (value && value._id) {
|
||||
setp_detail_note_ue_calculation_rule_id(value._id);
|
||||
|
||||
|
||||
} else {
|
||||
setp_detail_note_ue_calculation_rule_id("");
|
||||
|
||||
}
|
||||
}}
|
||||
|
||||
renderInput={(params) => <TextField {...params} label="Formateur" />
|
||||
}
|
||||
/>}
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div className="block_ue_div_50_percent_droite">
|
||||
|
|
|
@ -1819,7 +1819,7 @@ const Equipe_Team = (props) => {
|
|||
form.append("tab_ids", local_tab_ids);
|
||||
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_Groupe_Equipe_Team_Membre/";
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_Equipe_Team_Membre/";
|
||||
setLoading(true);
|
||||
|
||||
axios.post(myurl, form).then(res => {
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -129,6 +129,24 @@ const Module_Session_Notes_Classement = (props) => {
|
|||
);
|
||||
}
|
||||
|
||||
const columns_list_session_note_classement_final = [
|
||||
{ field: 'id', headerName: 'id', hide: true },
|
||||
{ field: '_id', headerName: '_id', hide: true },
|
||||
{ field: 'inscription_id', headerName: 'inscription_id', hide: true },
|
||||
{ field: 'session_id', headerName: 'session_id', hide: true },
|
||||
{ field: 'class_id', headerName: 'class_id', hide: true },
|
||||
|
||||
{ field: 'nom', headerName: 'Nom', minwidth: 200, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'prenom', headerName: 'Prenom', minwidth: 200, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'rang', headerName: 'Rang', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'note_finale', headerName: 'Noete finale', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
|
||||
{ field: 'credit_acquis', headerName: 'Credit acquis', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'rang_calculation_date', headerName: 'Date Calcul', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
|
||||
|
||||
]
|
||||
|
||||
const columns_list_evaluation_detail_note_classement_final = [
|
||||
{ field: 'id', headerName: 'id', hide: true },
|
||||
{ field: '_id', headerName: '_id', hide: true },
|
||||
|
@ -167,20 +185,39 @@ const Module_Session_Notes_Classement = (props) => {
|
|||
{ field: 'inscription_id_nom', headerName: 'Nom', minwidth: 200, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'inscription_id_prenom', headerName: 'Prenom', minwidth: 200, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
|
||||
{ field: 'type_eval', headerName: 'Type eval', minwidth: 100, flex: 1, hide: false, editable: true, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
|
||||
|
||||
|
||||
{ field: 'note_td', headerName: 'note_td', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'note_tp', headerName: 'note_tp', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'note_examen', headerName: 'note_examen', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'note_finale', headerName: 'note_finale', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'note_finale', headerName: 'Note finale', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'rang', headerName: 'rang', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
|
||||
{ field: 'inscription_id_mail', headerName: 'Email', minwidth: 300, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'seuil_validation', headerName: 'Seuil val.', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'ue_coefficient', headerName: 'Coeff.', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'credit', headerName: 'Credit.', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
|
||||
|
||||
{
|
||||
field: 'ue_validation', headerName: 'Validé', minwidth: 100, flex: 1, hide: false, editable: false,
|
||||
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all" }}>
|
||||
{cellValues.row.ue_validation && String(cellValues.row.ue_validation) === "1" && "Oui"}
|
||||
{cellValues.row.ue_validation && String(cellValues.row.ue_validation) === "0" && "Non"}
|
||||
|
||||
</div>
|
||||
|
||||
);
|
||||
}
|
||||
},
|
||||
|
||||
{ field: 'note_td', headerName: 'note_td', hide: true },
|
||||
{ field: 'note_tp', headerName: 'note_tp', hide: true },
|
||||
{ field: 'note_examen', headerName: 'note_examen', hide: true },
|
||||
|
||||
|
||||
{ field: 'detail', headerName: 'Detail Note', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
|
||||
{ field: 'type_eval', headerName: 'Type eval', hide: true },
|
||||
|
||||
{ field: 'regle_calcul', headerName: 'regle_calcul', hide: true },
|
||||
|
||||
]
|
||||
|
||||
|
||||
|
@ -304,12 +341,67 @@ const Module_Session_Notes_Classement = (props) => {
|
|||
}
|
||||
|
||||
|
||||
const [New_Getall_Session_Final_Note_Classement_result, setNew_Getall_Session_Final_Note_Classement_result] = useState([]);
|
||||
const [Calcul_Note_Classement_Session_api, setCalcul_Note_Classement_Session_api] = useState();
|
||||
const [Calcul_Note_Classement_Session_message, setCalcul_Note_Classement_Session_message] = useState();
|
||||
const [Calcul_Note_Classement_Session_result, setCalcul_Note_Classement_Session_result] = useState([]);
|
||||
function Calcul_Note_Classement_Session(event) {
|
||||
|
||||
const [Getall_Session_Final_Note_Classement_api, setGetall_Session_Final_Note_Classement_api] = useState();
|
||||
const [Getall_Session_Final_Note_Classement_message, setGetall_Session_Final_Note_Classement_message] = useState();
|
||||
const [Getall_Session_Final_Note_Classement_result, setGetall_Session_Final_Note_Classement_result] = useState([]);
|
||||
function Getall_Session_Final_Note_Classement(event) {
|
||||
var form = new FormData();
|
||||
|
||||
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
form.append("token", stored_cookie);
|
||||
form.append("session_id", props.related_collection_recid);
|
||||
|
||||
setLoading(false);
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Calcul_Note_Classement_Session";
|
||||
|
||||
axios.post(myurl, form).then(res => {
|
||||
setLoading(false);
|
||||
if (String(res.data.status) === String("true")) {
|
||||
// console.log(" In Calcul_Note_Classement_Session res.data.status = " + res.data.status);
|
||||
// console.log(" In Calcul_Note_Classement_Session res.data.message r_class = " + res.data.message);
|
||||
setCalcul_Note_Classement_Session_api("true");
|
||||
setCalcul_Note_Classement_Session_result(res.data.message);
|
||||
|
||||
Getall_Session_Detail_Final_Note_Classement();
|
||||
Getall_Session_UE_Final_Note_Classement();
|
||||
Getall_Session_Final_Note_Classement();
|
||||
|
||||
// alert(res.data.message);
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(res.data.message);
|
||||
setalert_type("success");
|
||||
|
||||
}
|
||||
else {
|
||||
setCalcul_Note_Classement_Session_api("false");
|
||||
setCalcul_Note_Classement_Session_message(res.data.message);
|
||||
// alert(res.data.message)
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(res.data.message);
|
||||
setalert_type("error");
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
setLoading(false);
|
||||
console.warn('Not good man :( Calcul_Note_Classement_Session = ', error);
|
||||
setCalcul_Note_Classement_Session_api("false");
|
||||
// alert(" Impossible de recuperer la liste des évaluations");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Impossible de recuperer la liste des évaluations");
|
||||
setalert_type("error");
|
||||
//setmyApimyApiMessage("")
|
||||
})
|
||||
}
|
||||
|
||||
const [New_Getall_Session_UE_Final_Note_Classement_result, setNew_Getall_Session_UE_Final_Note_Classement_result] = useState([]);
|
||||
|
||||
const [Getall_Session_UE_Final_Note_Classement_api, setGetall_Session_UE_Final_Note_Classement_api] = useState();
|
||||
const [Getall_Session_UE_Final_Note_Classement_message, setGetall_Session_UE_Final_Note_Classement_message] = useState();
|
||||
const [Getall_Session_UE_Final_Note_Classement_result, setGetall_Session_UE_Final_Note_Classement_result] = useState([]);
|
||||
function Getall_Session_UE_Final_Note_Classement(event) {
|
||||
|
||||
var form = new FormData();
|
||||
|
||||
|
@ -319,15 +411,15 @@ const Module_Session_Notes_Classement = (props) => {
|
|||
form.append("tab_session_id", props.related_collection_recid);
|
||||
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Evaluation_Final_Note_Classement_With_Filter";
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Evaluation_UE_Note_Classement_With_Filter";
|
||||
|
||||
axios.post(myurl, form).then(res => {
|
||||
|
||||
if (String(res.data.status) === String("true")) {
|
||||
// console.log(" In Getall_Session_Final_Note_Classement res.data.status = " + res.data.status);
|
||||
//console.log(" In Getall_Session_Final_Note_Classement res.data.message r_class = " + res.data.message);
|
||||
setGetall_Session_Final_Note_Classement_api("true");
|
||||
setGetall_Session_Final_Note_Classement_result(res.data.message);
|
||||
// console.log(" In Getall_Session_UE_Final_Note_Classement res.data.status = " + res.data.status);
|
||||
//console.log(" In Getall_Session_UE_Final_Note_Classement res.data.message r_class = " + res.data.message);
|
||||
setGetall_Session_UE_Final_Note_Classement_api("true");
|
||||
setGetall_Session_UE_Final_Note_Classement_result(res.data.message);
|
||||
|
||||
|
||||
var new_data2 = [];
|
||||
|
@ -347,6 +439,12 @@ const Module_Session_Notes_Classement = (props) => {
|
|||
var regle_calcul = JSON.parse(x).regle_calcul;
|
||||
var note_finale = JSON.parse(x).note_finale;
|
||||
|
||||
var regle_calcul = JSON.parse(x).regle_calcul;
|
||||
var seuil_validation = JSON.parse(x).seuil_validation;
|
||||
var ue_coefficient = JSON.parse(x).ue_coefficient;
|
||||
var ue_validation = JSON.parse(x).ue_validation;
|
||||
|
||||
|
||||
var ue_id_code = JSON.parse(x).ue_id_code;
|
||||
var class_id_external_code = JSON.parse(x).class_id_external_code;
|
||||
var inscription_id_mail = JSON.parse(x).inscription_id_mail;
|
||||
|
@ -371,6 +469,12 @@ const Module_Session_Notes_Classement = (props) => {
|
|||
"regle_calcul": regle_calcul,
|
||||
"note_finale": note_finale,
|
||||
|
||||
"regle_calcul": regle_calcul,
|
||||
"seuil_validation": seuil_validation,
|
||||
"ue_coefficient": ue_coefficient,
|
||||
"ue_validation": ue_validation,
|
||||
|
||||
|
||||
"ue_id_code": ue_id_code,
|
||||
"class_id_external_code": class_id_external_code,
|
||||
"inscription_id_mail": inscription_id_mail,
|
||||
|
@ -400,6 +504,117 @@ const Module_Session_Notes_Classement = (props) => {
|
|||
"inscription_id_mail": "",
|
||||
"inscription_id_nom": "",
|
||||
"inscription_id_prenom": "",
|
||||
"regle_calcul": "",
|
||||
"seuil_validation": "",
|
||||
"ue_coefficient": "",
|
||||
"ue_validation": "",
|
||||
|
||||
};
|
||||
new_data2.push(node);
|
||||
|
||||
if (new_data2.length > 0)
|
||||
setNew_Getall_Session_UE_Final_Note_Classement_result(new_data2);
|
||||
|
||||
}
|
||||
else {
|
||||
setGetall_Session_UE_Final_Note_Classement_api("false");
|
||||
setGetall_Session_UE_Final_Note_Classement_message(res.data.message);
|
||||
// alert(res.data.message)
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(res.data.message);
|
||||
setalert_type("error");
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
console.warn('Not good man :( Getall_Session_UE_Final_Note_Classement = ', error);
|
||||
setGetall_Session_UE_Final_Note_Classement_api("false");
|
||||
// alert(" Impossible de recuperer la liste des évaluations");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Impossible de recuperer la liste des évaluations");
|
||||
setalert_type("error");
|
||||
//setmyApimyApiMessage("")
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
const [New_Getall_Session_Final_Note_Classement_result, setNew_Getall_Session_Final_Note_Classement_result] = useState([]);
|
||||
|
||||
const [Getall_Session_Final_Note_Classement_api, setGetall_Session_Final_Note_Classement_api] = useState();
|
||||
const [Getall_Session_Final_Note_Classement_message, setGetall_Session_Final_Note_Classement_message] = useState();
|
||||
const [Getall_Session_Final_Note_Classement_result, setGetall_Session_Final_Note_Classement_result] = useState([]);
|
||||
function Getall_Session_Final_Note_Classement(event) {
|
||||
|
||||
var form = new FormData();
|
||||
|
||||
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
form.append("token", stored_cookie);
|
||||
form.append("session_id", props.related_collection_recid);
|
||||
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Evaluation_Inscriptio_Note_Classement_With_Filter";
|
||||
|
||||
axios.post(myurl, form).then(res => {
|
||||
|
||||
if (String(res.data.status) === String("true")) {
|
||||
// console.log(" In Getall_Session_Final_Note_Classement res.data.status = " + res.data.status);
|
||||
//console.log(" In Getall_Session_Final_Note_Classement res.data.message r_class = " + res.data.message);
|
||||
setGetall_Session_Final_Note_Classement_api("true");
|
||||
setGetall_Session_Final_Note_Classement_result(res.data.message);
|
||||
|
||||
|
||||
var new_data2 = [];
|
||||
const new_data = res.data.message.map((x) => {
|
||||
|
||||
//---
|
||||
var localid = JSON.parse(x).id;
|
||||
var local_id = JSON.parse(x)._id;
|
||||
var inscription_id = JSON.parse(x).inscription_id;
|
||||
var session_id = JSON.parse(x).session_id;
|
||||
|
||||
var class_id = JSON.parse(x).class_id;
|
||||
var nom = JSON.parse(x).nom;
|
||||
var prenom = JSON.parse(x).prenom;
|
||||
var rang = JSON.parse(x).rang;
|
||||
var note_finale = JSON.parse(x).note_finale;
|
||||
var rang_calculation_date = JSON.parse(x).rang_calculation_date;
|
||||
var credit_acquis = JSON.parse(x).credit_acquis;
|
||||
|
||||
//---
|
||||
var node = {
|
||||
"_id": local_id,
|
||||
"id": localid,
|
||||
"label": local_id,
|
||||
"inscription_id": inscription_id,
|
||||
"session_id": session_id,
|
||||
|
||||
"class_id": class_id,
|
||||
"nom": nom,
|
||||
"prenom": prenom,
|
||||
"rang": rang,
|
||||
"note_finale": note_finale,
|
||||
"rang_calculation_date": rang_calculation_date,
|
||||
"credit_acquis": credit_acquis,
|
||||
|
||||
};
|
||||
new_data2.push(node);
|
||||
});
|
||||
|
||||
//---
|
||||
var node = {
|
||||
"_id": "",
|
||||
"id": "",
|
||||
"label": "",
|
||||
"inscription_id": "",
|
||||
"session_id": "",
|
||||
"class_id": "",
|
||||
"nom": "",
|
||||
"prenom": "",
|
||||
"rang": "",
|
||||
"note_finale": "",
|
||||
"rang_calculation_date": "",
|
||||
"credit_acquis": "",
|
||||
|
||||
};
|
||||
new_data2.push(node);
|
||||
|
@ -427,17 +642,23 @@ const Module_Session_Notes_Classement = (props) => {
|
|||
//setmyApimyApiMessage("")
|
||||
})
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
|
||||
Getall_Session_Detail_Final_Note_Classement();
|
||||
Getall_Session_UE_Final_Note_Classement();
|
||||
Getall_Session_Final_Note_Classement();
|
||||
|
||||
|
||||
}, [])
|
||||
|
||||
|
||||
|
||||
const [gridline_session_inscrit_id, setgridline_session_inscrit_id] = useState("");
|
||||
const [selectionModel_note_Session_classement, setselectionModel_note_Session_classement] = React.useState([]);
|
||||
|
||||
|
||||
const [gridline_id, setgridline_id] = useState("");
|
||||
const [selectionModel_note_finale_classement, setselectionModel_note_finale_classement] = React.useState([]);
|
||||
const [selectionModel_note_UE_classement, setselectionModel_note_UE_classement] = React.useState([]);
|
||||
|
||||
|
||||
const [gridline_detail_id, setgridline_detail_id] = useState("");
|
||||
|
@ -475,6 +696,7 @@ const Module_Session_Notes_Classement = (props) => {
|
|||
/>
|
||||
}
|
||||
{/*** FIN Affichage des messages d'alerte*/}
|
||||
|
||||
<div style={{ "border": "None" }}>
|
||||
|
||||
<div className="div_row" style={{ paddingRight: '10px' }}>
|
||||
|
@ -485,7 +707,16 @@ const Module_Session_Notes_Classement = (props) => {
|
|||
<div style={{ height: 550, width: '100%', paddingRight: '5px' }}>
|
||||
|
||||
|
||||
<nav style={{ textAlign: 'center' }}> Matrice des notes & Rang</nav>
|
||||
<div style={{ width: '100%', float: 'left' }}>
|
||||
<nav style={{ textAlign: 'center', width: '70%', float: 'left' }}> Notes & Rang Final (session)</nav>
|
||||
|
||||
<nav style={{ textAlign: 'right', width: '30%', float: 'left' }}>
|
||||
|
||||
<Button variant="outlined" onClick={Calcul_Note_Classement_Session} className="detail_class_submenu" id='calcul_moyenne' name='calcul_moyenne'> Calcul Moyenne </Button>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
<Box
|
||||
sx={{
|
||||
height: 500,
|
||||
|
@ -543,6 +774,12 @@ const Module_Session_Notes_Classement = (props) => {
|
|||
backgroundColor: '#FFFFFF',
|
||||
color: 'black',
|
||||
},
|
||||
'& .line--statut--isvalide': {
|
||||
backgroundColor: '#ABEBC6',
|
||||
color: 'black',
|
||||
fontWeight: '600',
|
||||
},
|
||||
|
||||
[`& .${gridClasses.cell}`]: {
|
||||
py: 1,
|
||||
},
|
||||
|
@ -553,7 +790,7 @@ const Module_Session_Notes_Classement = (props) => {
|
|||
<DataGrid
|
||||
checkboxSelection
|
||||
onSelectionModelChange={(newSelectionModel) => {
|
||||
setselectionModel_note_finale_classement(newSelectionModel);
|
||||
setselectionModel_note_Session_classement(newSelectionModel);
|
||||
/*if (newSelectionModel.length === 1)
|
||||
handleClick_edit_employee_From_Line(newSelectionModel);*/
|
||||
if (newSelectionModel.length !== 1) {
|
||||
|
@ -562,7 +799,7 @@ const Module_Session_Notes_Classement = (props) => {
|
|||
setadd_One_Employee();*/
|
||||
}
|
||||
}}
|
||||
selectionModel={selectionModel_note_finale_classement}
|
||||
selectionModel={selectionModel_note_Session_classement}
|
||||
|
||||
localeText={frFR.components.MuiDataGrid.defaultProps.localeText}
|
||||
rows={Getall_Session_Final_Note_Classement_result.map((item, index) => (
|
||||
|
@ -571,34 +808,26 @@ const Module_Session_Notes_Classement = (props) => {
|
|||
_id: JSON.parse(item)._id,
|
||||
inscription_id: JSON.parse(item).inscription_id,
|
||||
session_id: JSON.parse(item).session_id,
|
||||
type_eval: JSON.parse(item).type_eval,
|
||||
ue_id: JSON.parse(item).ue_id,
|
||||
class_id: JSON.parse(item).class_id,
|
||||
note_td: JSON.parse(item).note_td,
|
||||
note_tp: JSON.parse(item).note_tp,
|
||||
note_examen: JSON.parse(item).note_examen,
|
||||
note_finale: JSON.parse(item).note_finale,
|
||||
rang: JSON.parse(item).rang,
|
||||
|
||||
ue_id_code: JSON.parse(item).ue_id_code,
|
||||
class_id_external_code: JSON.parse(item).class_id_external_code,
|
||||
inscription_id_mail: JSON.parse(item).inscription_id_mail,
|
||||
inscription_id_nom: JSON.parse(item).inscription_id_nom,
|
||||
inscription_id_prenom: JSON.parse(item).inscription_id_prenom,
|
||||
class_id: JSON.parse(item).class_id,
|
||||
nom: JSON.parse(item).nom,
|
||||
prenom: JSON.parse(item).prenom,
|
||||
rang: JSON.parse(item).rang,
|
||||
note_finale: JSON.parse(item).note_finale,
|
||||
rang_calculation_date: JSON.parse(item).rang_calculation_date.substring(0, 10),
|
||||
credit_acquis: JSON.parse(item).credit_acquis,
|
||||
|
||||
|
||||
|
||||
}
|
||||
))}
|
||||
|
||||
columns={columns_list_evaluation_note_classement_final}
|
||||
columns={columns_list_session_note_classement_final}
|
||||
pageSize={10}
|
||||
className="datagridclass"
|
||||
|
||||
onRowDoubleClick={(newSelectionModel) => {
|
||||
|
||||
|
||||
|
||||
}}
|
||||
|
||||
rowsPerPageOptions={[10]}
|
||||
|
@ -614,6 +843,10 @@ const Module_Session_Notes_Classement = (props) => {
|
|||
}}
|
||||
getRowClassName={(params) => {
|
||||
// Pour la gestion de la couleur de zone double cliquée
|
||||
if (String(params.row.ue_validation) === "1") {
|
||||
return 'line--statut--isvalide';
|
||||
}
|
||||
|
||||
if (String(params.row.id) === String(gridline_id)) {
|
||||
return 'line--statut--selected';
|
||||
}
|
||||
|
@ -661,7 +894,198 @@ const Module_Session_Notes_Classement = (props) => {
|
|||
<div style={{ height: 550, width: '100%', paddingRight: '5px' }}>
|
||||
|
||||
|
||||
<nav style={{ textAlign: 'center' }}> Matrice détaillée des notes </nav>
|
||||
<nav style={{ textAlign: 'center' }}> Notes & Rang par UE</nav>
|
||||
<Box
|
||||
sx={{
|
||||
height: 500,
|
||||
width: '100%',
|
||||
paddingRight: '1px',
|
||||
|
||||
// Gestion des cellule a distance ou presentiel
|
||||
'& .cell--distantiel': {
|
||||
backgroundColor: '#AFE1AF',
|
||||
color: 'black',
|
||||
},
|
||||
|
||||
'& .cell--presentiel': {
|
||||
backgroundColor: '#AFE1AF',
|
||||
color: 'black',
|
||||
},
|
||||
|
||||
|
||||
// gestion couleur des lignes avec le statut d'inscription
|
||||
'& .line--statut--annule': {
|
||||
backgroundColor: '#D8D8D8',
|
||||
color: 'white',
|
||||
},
|
||||
|
||||
'& .line--statut--inscrit': {
|
||||
backgroundColor: '#CEF6D8',
|
||||
color: 'black',
|
||||
},
|
||||
'& .line--statut--preinscrit': {
|
||||
backgroundColor: '#F7F2E0',
|
||||
color: 'black',
|
||||
},
|
||||
|
||||
|
||||
/*"& .MuiDataGrid-virtualScrollerRenderZone": {
|
||||
"& .MuiDataGrid-row": {
|
||||
"&:nth-child(2n)": { backgroundColor: "rgba(235, 235, 235, .7)" }
|
||||
}
|
||||
},*/
|
||||
"& .MuiDataGrid-columnHeaders": {
|
||||
backgroundColor: "#c8cfd5",
|
||||
color: "black",
|
||||
fontSize: 14
|
||||
},
|
||||
|
||||
'& .line--statut--selected': {
|
||||
backgroundColor: '#FBF2EF',
|
||||
color: 'black',
|
||||
},
|
||||
'& .line--statut--pair': {
|
||||
backgroundColor: 'rgba(235, 235, 235, .7)',
|
||||
color: 'black',
|
||||
},
|
||||
'& .line--statut--impair': {
|
||||
backgroundColor: '#FFFFFF',
|
||||
color: 'black',
|
||||
},
|
||||
'& .line--statut--isvalide': {
|
||||
backgroundColor: '#ABEBC6',
|
||||
color: 'black',
|
||||
fontWeight: '600',
|
||||
},
|
||||
|
||||
[`& .${gridClasses.cell}`]: {
|
||||
py: 1,
|
||||
},
|
||||
|
||||
|
||||
}}
|
||||
>
|
||||
<DataGrid
|
||||
checkboxSelection
|
||||
onSelectionModelChange={(newSelectionModel) => {
|
||||
setselectionModel_note_UE_classement(newSelectionModel);
|
||||
/*if (newSelectionModel.length === 1)
|
||||
handleClick_edit_employee_From_Line(newSelectionModel);*/
|
||||
if (newSelectionModel.length !== 1) {
|
||||
/* setsubmenu();
|
||||
setdisplay_detail_employe();
|
||||
setadd_One_Employee();*/
|
||||
}
|
||||
}}
|
||||
selectionModel={selectionModel_note_UE_classement}
|
||||
|
||||
localeText={frFR.components.MuiDataGrid.defaultProps.localeText}
|
||||
rows={Getall_Session_UE_Final_Note_Classement_result.map((item, index) => (
|
||||
{
|
||||
id: index,
|
||||
_id: JSON.parse(item)._id,
|
||||
inscription_id: JSON.parse(item).inscription_id,
|
||||
session_id: JSON.parse(item).session_id,
|
||||
type_eval: JSON.parse(item).type_eval,
|
||||
ue_id: JSON.parse(item).ue_id,
|
||||
class_id: JSON.parse(item).class_id,
|
||||
note_td: JSON.parse(item).note_td,
|
||||
note_tp: JSON.parse(item).note_tp,
|
||||
note_examen: JSON.parse(item).note_examen,
|
||||
note_finale: JSON.parse(item).note_finale,
|
||||
rang: JSON.parse(item).rang,
|
||||
credit: JSON.parse(item).credit,
|
||||
|
||||
regle_calcul: JSON.parse(item).regle_calcul,
|
||||
seuil_validation: JSON.parse(item).seuil_validation,
|
||||
ue_coefficient: JSON.parse(item).ue_coefficient,
|
||||
ue_validation: JSON.parse(item).ue_validation,
|
||||
|
||||
|
||||
ue_id_code: JSON.parse(item).ue_id_code,
|
||||
class_id_external_code: JSON.parse(item).class_id_external_code,
|
||||
inscription_id_mail: JSON.parse(item).inscription_id_mail,
|
||||
inscription_id_nom: JSON.parse(item).inscription_id_nom,
|
||||
inscription_id_prenom: JSON.parse(item).inscription_id_prenom,
|
||||
|
||||
}
|
||||
))}
|
||||
|
||||
columns={columns_list_evaluation_note_classement_final}
|
||||
pageSize={10}
|
||||
className="datagridclass"
|
||||
|
||||
onRowDoubleClick={(newSelectionModel) => {
|
||||
|
||||
|
||||
|
||||
}}
|
||||
|
||||
rowsPerPageOptions={[10]}
|
||||
disableSelectionOnClick
|
||||
components={{
|
||||
Toolbar: GridToolbar,
|
||||
}}
|
||||
//sx={datagridSx}
|
||||
getCellClassName={(params) => {
|
||||
|
||||
|
||||
|
||||
}}
|
||||
getRowClassName={(params) => {
|
||||
// Pour la gestion de la couleur de zone double cliquée
|
||||
if (String(params.row.ue_validation) === "1") {
|
||||
return 'line--statut--isvalide';
|
||||
}
|
||||
|
||||
if (String(params.row.id) === String(gridline_id)) {
|
||||
return 'line--statut--selected';
|
||||
}
|
||||
else if (parseInt(String(params.row.id)) % 2 === 0) {
|
||||
return 'line--statut--pair';
|
||||
}
|
||||
else if (parseInt(String(params.row.id)) % 2 !== 0) {
|
||||
return 'line--statut--impair';
|
||||
}
|
||||
|
||||
|
||||
}}
|
||||
getEstimatedRowHeight={() => 200}
|
||||
getRowHeight={() => "auto"}
|
||||
sx={{
|
||||
"& .MuiDataGrid-cellContent": {
|
||||
minHeight: 50,
|
||||
|
||||
}
|
||||
}}
|
||||
|
||||
/>
|
||||
</Box>
|
||||
<br />
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div style={{ "border": "None" }}>
|
||||
|
||||
<div className="div_row" style={{ paddingRight: '10px' }}>
|
||||
|
||||
<div className="session_data">
|
||||
<div style={{ "border": "None" }}>
|
||||
|
||||
<div style={{ height: 550, width: '100%', paddingRight: '5px' }}>
|
||||
|
||||
|
||||
<nav style={{ textAlign: 'center' }}> Matrice détaillée des notes Toutes UE </nav>
|
||||
<Box
|
||||
sx={{
|
||||
height: 500,
|
||||
|
|
|
@ -12,7 +12,7 @@ import { useHistory } from "react-router-dom";
|
|||
import PartnerInfo from "./UpdatePartnerInfo";
|
||||
import PartenairStat from "./PartenairStat";
|
||||
import { Helmet } from "react-helmet";
|
||||
|
||||
import RocketIcon from '@mui/icons-material/Rocket';
|
||||
import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
|
||||
import { GiTeacher } from "react-icons/gi";
|
||||
import Footer from "./Fotter";
|
||||
|
@ -73,7 +73,7 @@ import CRM_Opportunite from "./Crm_Opportunite";
|
|||
import Partner_Config_Formulaires from "./Partner_Config_Formulaires";
|
||||
import { AiOutlineUserAdd } from "react-icons/ai";
|
||||
import PartnerClientActivite from "./PartnerClient_Activite";
|
||||
|
||||
import Jury from "./Jurys";
|
||||
|
||||
|
||||
|
||||
|
@ -486,7 +486,8 @@ const Partner = (props) => {
|
|||
"dashbord_session", "mon_tableau_de_bord", "prix_achat", "mes_apprenants", "dashbord_ressources_humaines",
|
||||
"dashbord_inscriptions", "mes_salles", "mes_opportunites", "config_formulaires", "dashbord_factures", "mes_ue",
|
||||
"domaine_categorie_metier", "config_formation_initiale", "note_evaluation", "groupe_apprenant",
|
||||
"part_produit_service", "config_document_super_admin", "tous_mes_document", "equipe_team"]
|
||||
"part_produit_service", "config_document_super_admin", "tous_mes_document", "equipe_team",
|
||||
"jurys"]
|
||||
|
||||
|
||||
if (action && list_menu.includes(action)) {
|
||||
|
@ -969,6 +970,22 @@ const Partner = (props) => {
|
|||
}
|
||||
}
|
||||
|
||||
function Display_jurys_func(event) {
|
||||
var security_retval = check_user_acces_right("jury", "read");
|
||||
|
||||
if (security_retval === 1) {
|
||||
setmenu("jurys");
|
||||
setapiexcelimportmessage();
|
||||
setformation_file_name();
|
||||
history.push("/Partner/jurys");
|
||||
document.body.style.backgroundColor = "#ffffff";
|
||||
|
||||
inactive_active_menu_header("jurys");
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion des sessions");
|
||||
}
|
||||
}
|
||||
|
||||
function DiplayStagiaireList(event) {
|
||||
var security_retval = check_user_acces_right("stagiaire", "read");
|
||||
if (security_retval === 1) {
|
||||
|
@ -1967,6 +1984,14 @@ const Partner = (props) => {
|
|||
</Sidebar>
|
||||
</div>}
|
||||
|
||||
{String(formation_initiale) === "1" &&
|
||||
<div>
|
||||
<Sidebar className="my_sidebar">
|
||||
{String(menu) !== "jurys" && <Menu className="my_menu bck_menu_seul" id="jurys" name="jurys" onClick={Display_jurys_func} > <RocketIcon className="icone_menu" color={"secondary"} /> JURYS </Menu>}
|
||||
{String(menu) === "jurys" && <Menu className="my_menu bck_menu_seul_selected" id="jurys" name="jurys" onClick={Display_jurys_func} > <RocketIcon className="icone_menu" color={"secondary"} /> JURYS </Menu>}
|
||||
</Sidebar>
|
||||
</div>}
|
||||
|
||||
|
||||
<div>
|
||||
<Sidebar className="my_sidebar">
|
||||
|
@ -2050,7 +2075,7 @@ const Partner = (props) => {
|
|||
</Sidebar>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div>
|
||||
<Sidebar className="my_sidebar">
|
||||
{String(menu) !== "equipe_team" && <Menu className="my_menu bck_menu_seul" id="my_equipe_team" name="my_equipe_team" onClick={equipe_team_func} > <Diversity3Icon className="icone_menu" color={"tercier"} /> EQUIPE </Menu>}
|
||||
|
@ -2085,7 +2110,7 @@ const Partner = (props) => {
|
|||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="separator"></div>
|
||||
|
||||
|
@ -2307,6 +2332,17 @@ const Partner = (props) => {
|
|||
</div>
|
||||
}
|
||||
|
||||
{String(menu) === "jurys" &&
|
||||
<div className="div_droite">
|
||||
|
||||
<Jury ispending={partnerstatus} currentpack={partnerPackService} conntected_employee_id={conntected_employee_id}
|
||||
class_external_code={orderid} class_internal_url={packs} formation_initiale={formation_initiale}
|
||||
check_user_acces_right={check_user_acces_right}
|
||||
/>
|
||||
</div>
|
||||
}
|
||||
|
||||
|
||||
{String(menu) === "groupe_apprenant" &&
|
||||
<div className="div_droite">
|
||||
|
||||
|
@ -2835,6 +2871,21 @@ const Partner = (props) => {
|
|||
</a>
|
||||
<hr className="my_hr" />
|
||||
|
||||
<Tooltip className="tooltip_css" id="tooltip_id_906" />
|
||||
{String(formation_initiale) === "1" && <a data-tooltip-id="tooltip_id_906" data-tooltip-html="JURYS">
|
||||
{String(menu) !== "jurys" && <div className="sousmenu" onClick={Display_jurys_func} > <RocketIcon className="icone_menu" /> </div>}
|
||||
{String(menu) === "jurys" && <div className="sousmenu_selected" onClick={Display_jurys_func} ><RocketIcon className="icone_menu" /> </div>}
|
||||
</a>}
|
||||
<hr className="my_hr" />
|
||||
|
||||
<Tooltip className="tooltip_css" id="tooltip_id_907" />
|
||||
{String(formation_initiale) === "1" && <a data-tooltip-id="tooltip_id_907" data-tooltip-html="NOTES & EVALUATIONS">
|
||||
{String(menu) !== "note_evaluation" && <div className="sousmenu" onClick={Display_note_evaluation_func} > <FcFlowChart className="icone_menu" /> </div>}
|
||||
{String(menu) === "note_evaluation" && <div className="sousmenu_selected" onClick={Display_note_evaluation_func} ><FcFlowChart className="icone_menu" /> </div>}
|
||||
</a>}
|
||||
<hr className="my_hr" />
|
||||
|
||||
|
||||
<Tooltip className="tooltip_css" id="tooltip_id_10" />
|
||||
<a data-tooltip-id="tooltip_id_10" data-tooltip-html="STAGIAIRES">
|
||||
{String(menu) !== "mes_stagiaires" && <div className="sousmenu" onClick={DiplayStagiaireList} > <FcReading className="icone_menu" /> </div>}
|
||||
|
@ -2904,10 +2955,10 @@ const Partner = (props) => {
|
|||
<hr className="my_hr" />
|
||||
<Tooltip className="tooltip_css" id="tooltip_id_16aa" />
|
||||
<a data-tooltip-id="tooltip_id_16aa" data-tooltip-html="EQUIPEz">
|
||||
|
||||
{String(menu) !== "equipe_team" && <Menu className="sousmenu" onClick={equipe_team_func} > <Diversity3Icon className="icone_menu" style={{color:'#dbff75'}}/> </Menu>}
|
||||
{String(menu) === "equipe_team" && <Menu className="sousmenu_selected" onClick={equipe_team_func} > <Diversity3Icon className="icone_menu" style={{color:'#dbff75'}}/> </Menu>}
|
||||
|
||||
|
||||
{String(menu) !== "equipe_team" && <Menu className="sousmenu" onClick={equipe_team_func} > <Diversity3Icon className="icone_menu" style={{ color: '#dbff75' }} /> </Menu>}
|
||||
{String(menu) === "equipe_team" && <Menu className="sousmenu_selected" onClick={equipe_team_func} > <Diversity3Icon className="icone_menu" style={{ color: '#dbff75' }} /> </Menu>}
|
||||
|
||||
|
||||
</a>
|
||||
</div>
|
||||
|
@ -2917,8 +2968,8 @@ const Partner = (props) => {
|
|||
<hr className="my_hr" />
|
||||
<Tooltip className="tooltip_css" id="tooltip_id_16a" />
|
||||
<a data-tooltip-id="tooltip_id_16a" data-tooltip-html="OPPORTUNITES">
|
||||
{String(menu) !== "mes_opportunites" && <div className="sousmenu" onClick={Display_mes_opportunites_func}><MdAddShoppingCart className="icone_menu" style={{color:'#dbff75'}} /> </div>}
|
||||
{String(menu) === "mes_opportunites" && <div className="sousmenu_selected" onClick={Display_mes_opportunites_func}> <MdAddShoppingCart className="icone_menu" style={{color:'#dbff75'}} /> </div>}
|
||||
{String(menu) !== "mes_opportunites" && <div className="sousmenu" onClick={Display_mes_opportunites_func}><MdAddShoppingCart className="icone_menu" style={{ color: '#dbff75' }} /> </div>}
|
||||
{String(menu) === "mes_opportunites" && <div className="sousmenu_selected" onClick={Display_mes_opportunites_func}> <MdAddShoppingCart className="icone_menu" style={{ color: '#dbff75' }} /> </div>}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
@ -2926,8 +2977,8 @@ const Partner = (props) => {
|
|||
<hr className="my_hr" />
|
||||
<Tooltip className="tooltip_css" id="tooltip_id_16" />
|
||||
<a data-tooltip-id="tooltip_id_16" data-tooltip-html=" PRIX CLIENT">
|
||||
{String(menu) !== "pricing" && <div className="sousmenu" onClick={pricing_func} ><FcCurrencyExchange className="icone_menu" style={{color:'#dbff75'}} /> </div>}
|
||||
{String(menu) === "pricing" && <div className="sousmenu_selected" onClick={pricing_func} > <FcCurrencyExchange className="icone_menu" style={{color:'#dbff75'}} /> </div>}
|
||||
{String(menu) !== "pricing" && <div className="sousmenu" onClick={pricing_func} ><FcCurrencyExchange className="icone_menu" style={{ color: '#dbff75' }} /> </div>}
|
||||
{String(menu) === "pricing" && <div className="sousmenu_selected" onClick={pricing_func} > <FcCurrencyExchange className="icone_menu" style={{ color: '#dbff75' }} /> </div>}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
@ -2935,8 +2986,8 @@ const Partner = (props) => {
|
|||
<hr className="my_hr" />
|
||||
<Tooltip className="tooltip_css" id="tooltip_id_17" />
|
||||
<a data-tooltip-id="tooltip_id_17" data-tooltip-html="COMMANDES & DEVIS">
|
||||
{String(menu) !== "mes_cmd" && <div className="sousmenu" onClick={mes_cmd_func}><FcCollect className="icone_menu" style={{color:'#dbff75'}}/> </div>}
|
||||
{String(menu) === "mes_cmd" && <div className="sousmenu_selected" onClick={mes_cmd_func}> <FcCollect className="icone_menu" style={{color:'#dbff75'}}/> </div>}
|
||||
{String(menu) !== "mes_cmd" && <div className="sousmenu" onClick={mes_cmd_func}><FcCollect className="icone_menu" style={{ color: '#dbff75' }} /> </div>}
|
||||
{String(menu) === "mes_cmd" && <div className="sousmenu_selected" onClick={mes_cmd_func}> <FcCollect className="icone_menu" style={{ color: '#dbff75' }} /> </div>}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
@ -2944,8 +2995,8 @@ const Partner = (props) => {
|
|||
<hr className="my_hr" />
|
||||
<Tooltip className="tooltip_css" id="tooltip_id_18" />
|
||||
<a data-tooltip-id="tooltip_id_18" data-tooltip-html="FACTURES & AVOIRS">
|
||||
{String(menu) !== "factures_client" && <div className="sousmenu" onClick={mes_factures_client_func}><FcKindle className="icone_menu" style={{color:'#dbff75'}}/> </div>}
|
||||
{String(menu) === "factures_client" && <div className="sousmenu_selected" onClick={mes_factures_client_func}> <FcCollect FcKindle="icone_menu" style={{color:'#dbff75'}}/> </div>}
|
||||
{String(menu) !== "factures_client" && <div className="sousmenu" onClick={mes_factures_client_func}><FcKindle className="icone_menu" style={{ color: '#dbff75' }} /> </div>}
|
||||
{String(menu) === "factures_client" && <div className="sousmenu_selected" onClick={mes_factures_client_func}> <FcCollect FcKindle="icone_menu" style={{ color: '#dbff75' }} /> </div>}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
@ -3075,6 +3126,15 @@ const Partner = (props) => {
|
|||
</div>
|
||||
}
|
||||
|
||||
{String(menu) === "jurys" &&
|
||||
<div className="div_droite div_droite_ralonge">
|
||||
|
||||
<Jury ispending={partnerstatus} currentpack={partnerPackService} conntected_employee_id={conntected_employee_id}
|
||||
class_external_code={orderid} class_internal_url={packs} formation_initiale={formation_initiale}
|
||||
check_user_acces_right={check_user_acces_right} />
|
||||
</div>
|
||||
}
|
||||
|
||||
{String(menu) === "groupe_apprenant" &&
|
||||
<div className="div_droite div_droite_ralonge">
|
||||
|
||||
|
@ -3290,19 +3350,19 @@ const Partner = (props) => {
|
|||
{String(menu) === "mes_opportunites" &&
|
||||
<div className="div_droite div_droite_ralonge">
|
||||
<CRM_Opportunite conntected_employee_id={conntected_employee_id} read_access={check_user_acces_right("materiel", "read")}
|
||||
write_access={check_user_acces_right("materiel", "write")}
|
||||
check_user_acces_right={check_user_acces_right}
|
||||
/>
|
||||
write_access={check_user_acces_right("materiel", "write")}
|
||||
check_user_acces_right={check_user_acces_right}
|
||||
/>
|
||||
</div>
|
||||
}
|
||||
|
||||
{String(menu) === "equipe_team" &&
|
||||
<div className="div_droite div_droite_ralonge">
|
||||
<Equipe_Team conntected_employee_id={conntected_employee_id}
|
||||
read_access={check_user_acces_right("equipe", "read")}
|
||||
write_access={check_user_acces_right("equipe", "write")}
|
||||
<Equipe_Team conntected_employee_id={conntected_employee_id}
|
||||
read_access={check_user_acces_right("equipe", "read")}
|
||||
write_access={check_user_acces_right("equipe", "write")}
|
||||
check_user_acces_right={check_user_acces_right}
|
||||
/>
|
||||
/>
|
||||
</div>
|
||||
}
|
||||
|
||||
|
@ -3311,8 +3371,8 @@ const Partner = (props) => {
|
|||
<div className="div_droite div_droite_ralonge">
|
||||
<Partner_Commande conntected_employee_id={conntected_employee_id} read_access={check_user_acces_right("commande", "read")}
|
||||
write_access={check_user_acces_right("commande", "write")}
|
||||
check_user_acces_right={check_user_acces_right}
|
||||
/>
|
||||
check_user_acces_right={check_user_acces_right}
|
||||
/>
|
||||
</div>
|
||||
}
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -197,6 +197,7 @@
|
|||
@import "./components/module_alert_confirmation";
|
||||
@import "./components/equipe_team";
|
||||
@import "./components/module_session_note_classement";
|
||||
@import "./components/jurys";
|
||||
|
||||
|
||||
// New Design 2025
|
||||
|
|
Loading…
Reference in New Issue