20/11/2023 - 21h00
parent
fa2b5e2a64
commit
10dcfb1dde
|
@ -162,7 +162,7 @@ const DisplayPartnerSession = (props) => {
|
|||
return "?";
|
||||
},
|
||||
},
|
||||
{ field: 'formateur', headerName: 'Formateur', width: datagrid_columns_size_model1, hide: true, hideable: true, },
|
||||
{ field: 'formateur', headerName: 'Formateur', minWidth: datagrid_columns_size_model1, hide: true, hideable: true, },
|
||||
{ field: 'nb_participant', headerName: 'Nb Parti.', width: datagrid_columns_size_model2, align: "center", },
|
||||
{
|
||||
field: 'taux_remplissage', headerName: 'Remplissage', align: "center", flex: 1,
|
||||
|
@ -186,8 +186,8 @@ const DisplayPartnerSession = (props) => {
|
|||
},
|
||||
{ field: 'nb_inscrit', headerName: 'Inscrits', width: datagrid_columns_size_model2, align: "center", hide: true, hideable: true, },
|
||||
{ field: 'nb_preinscrit', headerName: 'Preinscrits', width: datagrid_columns_size_model2, align: "center", hide: true, hideable: true, },
|
||||
{ field: 'prix_session', headerName: 'Prix', width: datagrid_columns_size_model2, align: "center", },
|
||||
{ field: 'title', headerName: 'Formation', width: datagrid_columns_size_model1, align: "center", hide: true, hideable: true, },
|
||||
{ field: 'prix_session', headerName: 'Prix', minWidth: datagrid_columns_size_model2, align: "center", },
|
||||
{ field: 'title', headerName: 'Formation', minWidth: 250, flex:1, align: "center", hide: true, hideable: true, },
|
||||
{ field: 'domaine', headerName: 'Domaine', width: datagrid_columns_size_model1, align: "center", hide: true, hideable: true, },
|
||||
{ field: 'published', headerName: 'publié', width: datagrid_columns_size_model1, align: "center", hide: true, hideable: true, },
|
||||
|
||||
|
@ -670,13 +670,13 @@ const DisplayPartnerSession = (props) => {
|
|||
{ field: 'id', headerName: 'id', hide: true },
|
||||
{ field: '_id', headerName: '_id', hide: true },
|
||||
{ field: 'session_id', headerName: 'session_id', width: 200, hide: true, flex: 1, minWidth: 150, maxWidth: 300 },
|
||||
{ field: 'sequence_title', headerName: 'Titre', width: 150, hide: false, editable: false, resizable: true },
|
||||
{ field: 'sequence_start', headerName: 'Debut', width: 150, hide: false, editable: false },
|
||||
{ field: 'sequence_end', headerName: 'Fin', width: 200, hide: false, editable: false },
|
||||
{ field: 'sequence_title', headerName: 'Titre', minWidth: 200, flex:1, hide: false, editable: false, resizable: true },
|
||||
{ field: 'sequence_start', headerName: 'Debut', minWidth: 200, flex:1, hide: false, editable: false },
|
||||
{ field: 'sequence_end', headerName: 'Fin', minWidth: 200, flex:1, hide: false, editable: false },
|
||||
|
||||
|
||||
{
|
||||
field: "Detail", headerName: 'Voir detail',
|
||||
field: "Detail", headerName: 'Voir detail',minWidth: 200, flex:1,
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
|
@ -684,13 +684,23 @@ const DisplayPartnerSession = (props) => {
|
|||
|
||||
onClick={(event) => {
|
||||
setselected_detail_sequence_title(cellValues.row.sequence_title);
|
||||
|
||||
setselected_sequence_startDate(cellValues.row.sequence_start);
|
||||
setselected_sequence_endDate(cellValues.row.sequence_end);
|
||||
|
||||
Getall_List_Sequence_Ressource(cellValues.row._id);
|
||||
|
||||
setselected_sequence_id(cellValues.row._id);
|
||||
setdisplay_detail_sequence("1")
|
||||
setdisplay_detail_sequence("1");
|
||||
|
||||
if (document.getElementById('myRef_seq_ressource')) {
|
||||
var divh = document.getElementById('myRef_seq_ressource').offsetTop;
|
||||
window.scrollTo({
|
||||
top: divh,
|
||||
behavior: "smooth",
|
||||
});
|
||||
}
|
||||
|
||||
}}
|
||||
>
|
||||
<FcViewDetails />
|
||||
|
@ -702,14 +712,23 @@ const DisplayPartnerSession = (props) => {
|
|||
},
|
||||
|
||||
{
|
||||
field: "add_ressource", headerName: 'Ajout Ressource',
|
||||
field: "modifier", headerName: 'Modifier',minWidth: 200, flex:1,
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
<Button
|
||||
|
||||
onClick={(event) => {
|
||||
|
||||
setp_detail_sequence_title(cellValues.row.sequence_title);
|
||||
setselected_sequence_id(cellValues.row._id);
|
||||
var date_du = new Date(moment(cellValues.row.sequence_start, "DD/MM/YYYY HH:mm"));
|
||||
var date_au = new Date(moment(cellValues.row.sequence_end, "DD/MM/YYYY HH:mm"));
|
||||
|
||||
setsequence_startDate(date_du);
|
||||
setsequence_endDate(date_au);
|
||||
setupdate_sequence("1");
|
||||
submenu_add_one_sequence();
|
||||
}}
|
||||
>
|
||||
<FcViewDetails />
|
||||
|
@ -721,7 +740,7 @@ const DisplayPartnerSession = (props) => {
|
|||
},
|
||||
|
||||
{
|
||||
field: "delete", headerName: 'Supprimer',
|
||||
field: "delete", headerName: 'Supprimer',minWidth: 200, flex:1,
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
|
@ -794,29 +813,6 @@ const DisplayPartnerSession = (props) => {
|
|||
{ field: 'related_target_collection_id_nom', headerName: 'nom', width: 150, hide: false, editable: false, resizable: true },
|
||||
{ field: 'poste', headerName: 'Poste', width: 150, hide: false, editable: false },
|
||||
{ field: 'comment', headerName: 'Comment', width: 200, hide: false, editable: false },
|
||||
|
||||
|
||||
{
|
||||
field: "Detail", headerName: 'Voir detail',
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
<Button
|
||||
|
||||
onClick={(event) => {
|
||||
// Delete_Sequence_Session_Data(cellValues.row._id);
|
||||
}}
|
||||
>
|
||||
<FcViewDetails />
|
||||
|
||||
</Button>
|
||||
|
||||
);
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
|
||||
{
|
||||
field: "delete", headerName: 'Supprimer',
|
||||
renderCell: (cellValues) => {
|
||||
|
@ -845,13 +841,14 @@ const DisplayPartnerSession = (props) => {
|
|||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, la séquence sera <i><font color="red"> définitivement supprimée</font></i>. <br />
|
||||
En confirmant cette opération, la ressource sera <i><font color="red"> définitivement supprimée</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
//Delete_Sequence_Session_Data(cellValues.row._id);
|
||||
|
||||
Delete_Sequence_Session_Ressource_Data(cellValues.row._id);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}> Valider </button>
|
||||
|
@ -2707,7 +2704,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
|||
|
||||
// Pour les champs spécifiques
|
||||
|
||||
console.log(" #### addOneSession = ", addOneSession);
|
||||
|
||||
if (String(addOneSession) !== "1") {
|
||||
for (let i = 0; i < rows_champs_specifics.length; i++) {
|
||||
|
||||
|
@ -6238,6 +6235,13 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
|||
|
||||
|
||||
function submenu_add_one_sequence() {
|
||||
setupdate_sequence();
|
||||
setp_detail_sequence_title();
|
||||
|
||||
setp_detail_sequence_comment();
|
||||
setsequence_startDate(new Date());
|
||||
setsequence_endDate(new Date());
|
||||
|
||||
setDialog_seq_1_open(true);
|
||||
}
|
||||
|
||||
|
@ -6302,6 +6306,68 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
|||
}
|
||||
|
||||
|
||||
const [Update_One_Sequence_Session_api, setUpdate_One_Sequence_Session_api] = useState();
|
||||
const [Update_One_Sequence_Session_message, setUpdate_One_Sequence_Session_message] = useState();
|
||||
const [Update_One_Sequence_Session_result, setUpdate_One_Sequence_Session_result] = useState();
|
||||
const Update_One_Sequence_Session = event => {
|
||||
|
||||
var new_title = p_detail_sequence_title;
|
||||
var new_start_date = moment(sequence_startDate).format("DD/MM/YYYY HH:mm");
|
||||
var new_end_date = moment(sequence_endDate).format("DD/MM/YYYY HH:mm");
|
||||
|
||||
var form = new FormData();
|
||||
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
form.append("token", stored_cookie);
|
||||
form.append("session_id", selected_session_id);
|
||||
form.append("sequence_title", new_title);
|
||||
form.append("sequence_start", new_start_date);
|
||||
form.append("sequence_end", new_end_date);
|
||||
|
||||
form.append("_id", selected_sequence_id);
|
||||
|
||||
//console.log(" form == ", form);
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Update_Session_Sequence/";
|
||||
|
||||
setLoading(true);
|
||||
axios.post(myurl, form).then(res => {
|
||||
//console.log(" In Update_One_Sequence_Session res.data.status = " + res.data.status);
|
||||
//console.log(" In Update_One_Sequence_Session res.data.message r_class = " + res.data.message);
|
||||
|
||||
setLoading(false);
|
||||
if (String(res.data.status) === String("true")) {
|
||||
setUpdate_One_Sequence_Session_api("true");
|
||||
setUpdate_One_Sequence_Session_result(res.data.message);
|
||||
|
||||
Getall_Sequence_Of_Session(selected_session_id);
|
||||
|
||||
setp_detail_sequence_title();
|
||||
setp_detail_sequence_comment();
|
||||
setsequence_startDate();
|
||||
setsequence_endDate();
|
||||
|
||||
setupdate_sequence();
|
||||
|
||||
alert(res.data.message);
|
||||
Close_Dialog_Detail_seq_open();
|
||||
}
|
||||
else {
|
||||
setUpdate_One_Sequence_Session_api("false");
|
||||
setUpdate_One_Sequence_Session_message(res.data.message);
|
||||
alert(res.data.message);
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
|
||||
|
||||
setLoading(false);
|
||||
console.warn('UpdateStagiaireData : Not good man :( Update_One_Sequence_Session = ' + error);
|
||||
setUpdate_One_Sequence_Session_api("false");
|
||||
alert(" Impossible de mettre à jour la séquence");
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const [Delete_Sequence_Session_Data_api, setDelete_Sequence_Session_Data_api] = useState();
|
||||
const [Delete_Sequence_Session_Data_message, setDelete_Sequence_Session_Data_message] = useState();
|
||||
|
@ -6337,7 +6403,6 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
|||
else {
|
||||
setDelete_Sequence_Session_Data_api("false");
|
||||
setDelete_Sequence_Session_Data_message(res.data.message);
|
||||
setretval_ch("-1");
|
||||
alert(res.data.message);
|
||||
|
||||
}
|
||||
|
@ -6346,7 +6411,6 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
|||
setLoading(false);
|
||||
console.warn('Delete_Sequence_Session_Data : Not good man :( mysearchtext = ' + error);
|
||||
setDelete_Sequence_Session_Data_api("false");
|
||||
setretval_ch("-1");
|
||||
alert(" Impossible de supprimer la sequence");
|
||||
})
|
||||
}
|
||||
|
@ -6409,9 +6473,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
|||
const [Dialog_seq_ressource_1_message, setDialog_seq_ressource_1_message] = React.useState(false);
|
||||
const [Dialog_seq_ressource_1_open, setDialog_seq_ressource_1_open] = React.useState(false);
|
||||
|
||||
function Close_Dialog_Detail_seq_open() {
|
||||
setDialog_seq_ressource_1_open(false);
|
||||
}
|
||||
|
||||
|
||||
function Dialog_1_handle_change_participant_session(message) {
|
||||
setDialog_seq_ressource_1_message(message);
|
||||
|
@ -6428,17 +6490,120 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
|||
};
|
||||
|
||||
|
||||
function submenu_add_one_sequence() {
|
||||
setDialog_seq_ressource_1_open(true);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
const [Dialog_seq_ressource_1_selected_type_ressource, setDialog_seq_ressource_1_selected_type_ressource] = React.useState();
|
||||
const [Dialog_seq_ressource_1_selected_ressource_id, setDialog_seq_ressource_1_selected_ressource_id] = React.useState();
|
||||
const [Dialog_seq_ressource_1_selected_ressource_poste, setDialog_seq_ressource_1_selected_ressource_poste] = React.useState();
|
||||
|
||||
|
||||
const [Add_One_Sequence_Session_Ressource_api, setAdd_One_Sequence_Session_Ressource_api] = useState();
|
||||
const [Add_One_Sequence_Session_Ressource_message, setAdd_One_Sequence_Session_Ressource_message] = useState();
|
||||
const [Add_One_Sequence_Session_Ressource_result, setAdd_One_Sequence_Session_Ressource_result] = useState();
|
||||
const Add_One_Sequence_Session_Ressource = event => {
|
||||
|
||||
var new_ressource_type = Dialog_seq_ressource_1_selected_type_ressource;
|
||||
var new_ressource_id = Dialog_seq_ressource_1_selected_ressource_id;
|
||||
var new_ressource_poste = Dialog_seq_ressource_1_selected_ressource_poste;
|
||||
|
||||
var form = new FormData();
|
||||
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
form.append("token", stored_cookie);
|
||||
form.append("sequence_session_id", selected_sequence_id);
|
||||
form.append("poste", new_ressource_poste);
|
||||
form.append("related_target_collection", new_ressource_type);
|
||||
form.append("related_target_collection_id", new_ressource_id);
|
||||
|
||||
//console.log(" form == ", form);
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_Sequence_Affectation_Ressource_Poste/";
|
||||
|
||||
setLoading(true);
|
||||
axios.post(myurl, form).then(res => {
|
||||
//console.log(" In Add_One_Sequence_Session_Ressource res.data.status = " + res.data.status);
|
||||
//console.log(" In Add_One_Sequence_Session_Ressource res.data.message r_class = " + res.data.message);
|
||||
|
||||
setLoading(false);
|
||||
if (String(res.data.status) === String("true")) {
|
||||
setAdd_One_Sequence_Session_Ressource_api("true");
|
||||
setAdd_One_Sequence_Session_Ressource_result(res.data.message);
|
||||
|
||||
Getall_List_Sequence_Ressource(selected_sequence_id);
|
||||
|
||||
setDialog_seq_ressource_1_selected_type_ressource();
|
||||
setDialog_seq_ressource_1_selected_ressource_id();
|
||||
setDialog_seq_ressource_1_selected_ressource_poste();
|
||||
|
||||
alert(res.data.message);
|
||||
Dialog_seq_ressource_1_handleClose_buton();
|
||||
}
|
||||
else {
|
||||
setAdd_One_Sequence_Session_Ressource_api("false");
|
||||
setAdd_One_Sequence_Session_Ressource_message(res.data.message);
|
||||
alert(res.data.message);
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
|
||||
|
||||
setLoading(false);
|
||||
console.warn('UpdateStagiaireData : Not good man :( Add_One_Sequence_Session_Ressource = ' + error);
|
||||
setAdd_One_Sequence_Session_Ressource_api("false");
|
||||
alert(" Impossible d'ajouter la ressource à la séquence");
|
||||
})
|
||||
}
|
||||
|
||||
const [Delete_Sequence_Session_Ressource_Data_api, setDelete_Sequence_Session_Ressource_Data_api] = useState();
|
||||
const [Delete_Sequence_Session_Ressource_Data_message, setDelete_Sequence_Session_Ressource_Data_message] = useState();
|
||||
const [Delete_Sequence_Session_Ressource_Data_result, setDelete_Sequence_Session_Ressource_Data_result] = useState();
|
||||
function Delete_Sequence_Session_Ressource_Data(local_seq_ressource_id) {
|
||||
|
||||
|
||||
var form = new FormData();
|
||||
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
form.append("token", stored_cookie);
|
||||
form.append("_id", local_seq_ressource_id);
|
||||
|
||||
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_Sequence_Affectation_Ressource_Poste/";
|
||||
setLoading(true);
|
||||
|
||||
axios.post(myurl, form).then(res => {
|
||||
//console.log(" In Delete_Sequence_Session_Ressource_Data res.data.status = " + res.data.status);
|
||||
//console.log(" In Delete_Sequence_Session_Ressource_Data res.data.message r_class = " + res.data.message);
|
||||
|
||||
setLoading(false);
|
||||
|
||||
if (String(res.data.status) === String("true")) {
|
||||
setDelete_Sequence_Session_Ressource_Data_api("true");
|
||||
setDelete_Sequence_Session_Ressource_Data_result(res.data.message);
|
||||
|
||||
Getall_List_Sequence_Ressource(selected_sequence_id);
|
||||
|
||||
alert(res.data.message)
|
||||
}
|
||||
else {
|
||||
setDelete_Sequence_Session_Ressource_Data_api("false");
|
||||
setDelete_Sequence_Session_Ressource_Data_message(res.data.message);
|
||||
|
||||
alert(res.data.message);
|
||||
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
setLoading(false);
|
||||
console.warn('Delete_Sequence_Session_Ressource_Data : Not good man :( mysearchtext = ' + error);
|
||||
setDelete_Sequence_Session_Ressource_Data_api("false");
|
||||
alert(" Impossible de supprimer la sequence");
|
||||
})
|
||||
}
|
||||
|
||||
const myRef_seq_ressource = useRef(null)
|
||||
|
||||
const [update_sequence, setupdate_sequence] = useState();
|
||||
|
||||
return (
|
||||
<div className="displaypartnersession">
|
||||
|
||||
|
@ -6622,7 +6787,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
|||
|
||||
>
|
||||
|
||||
<DialogTitle>MySy Information</DialogTitle>
|
||||
<DialogTitle>Ajout Sequence</DialogTitle>
|
||||
<DialogContent className="DialogContent_width">
|
||||
<DialogContentText>
|
||||
{Dialog_seq_1_message}
|
||||
|
@ -6732,9 +6897,13 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
|||
<div className="div_row">
|
||||
<div className="div_row_gauche">
|
||||
|
||||
<Button onClick={Add_One_Sequence_Session} className="bton_enreg_dialog">Ajouter</Button>
|
||||
{String(update_sequence) !== "1" && <Button onClick={Add_One_Sequence_Session} className="bton_enreg_dialog">Ajouter</Button>}
|
||||
{String(update_sequence) === "1" && <Button onClick={Update_One_Sequence_Session} className="bton_enreg_dialog">Mettre à jour</Button>}
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div className="div_row_droite" style={{ "textAlign": 'center' }}>
|
||||
<Button onClick={Close_Dialog_Detail_seq_open} className="bton_annule_dialog" >Fermer</Button>
|
||||
</div>
|
||||
|
@ -6754,7 +6923,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
|||
|
||||
>
|
||||
|
||||
<DialogTitle>MySy Information</DialogTitle>
|
||||
<DialogTitle>Ajout ressource</DialogTitle>
|
||||
<DialogContent className="DialogContent_width">
|
||||
<DialogContentText>
|
||||
{Dialog_seq_ressource_1_message}
|
||||
|
@ -6858,7 +7027,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
|||
name="event_dialog_title"
|
||||
id="event_dialog_title"
|
||||
|
||||
|
||||
|
||||
fullWidth
|
||||
|
||||
value={Dialog_seq_ressource_1_selected_ressource_poste}
|
||||
|
@ -6881,7 +7050,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
|||
<div className="div_row">
|
||||
<div className="div_row_gauche">
|
||||
|
||||
<Button onClick={"Add_One_Sequence_Session"} className="bton_enreg_dialog">Ajouter</Button>
|
||||
<Button onClick={Add_One_Sequence_Session_Ressource} className="bton_enreg_dialog">Ajouter</Button>
|
||||
</div>
|
||||
|
||||
<div className="div_row_droite" style={{ "textAlign": 'center' }}>
|
||||
|
@ -8866,7 +9035,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
|||
|
||||
{String(submenu) === String("sequence_session") && <div style={{ "border": "None" }}>
|
||||
|
||||
<h5> Gestion sequence sessionn </h5>
|
||||
<h5> Gestion séquences </h5>
|
||||
|
||||
<div className="div_row" style={{ "border": "None" }}>
|
||||
|
||||
|
@ -8917,6 +9086,22 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
|||
|
||||
onRowDoubleClick={(newSelectionModel) => {
|
||||
|
||||
setselected_detail_sequence_title(newSelectionModel.row.sequence_title);
|
||||
setselected_sequence_startDate(newSelectionModel.row.sequence_start);
|
||||
setselected_sequence_endDate(newSelectionModel.row.sequence_end);
|
||||
|
||||
Getall_List_Sequence_Ressource(newSelectionModel.row._id);
|
||||
|
||||
setselected_sequence_id(newSelectionModel.row._id);
|
||||
setdisplay_detail_sequence("1");
|
||||
|
||||
if (document.getElementById('myRef_seq_ressource')) {
|
||||
var divh = document.getElementById('myRef_seq_ressource').offsetTop;
|
||||
window.scrollTo({
|
||||
top: divh,
|
||||
behavior: "smooth",
|
||||
});
|
||||
}
|
||||
|
||||
}}
|
||||
|
||||
|
@ -8990,7 +9175,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
|||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="div_row" ref={myRef_seq_ressource} id="myRef_seq_ressource"> </div>
|
||||
{String(display_detail_sequence) === "1" && <div className="div_row" style={{ "border": "None" }}>
|
||||
|
||||
<div className="session_caract"> Titre <br />
|
||||
|
|
Loading…
Reference in New Issue