17/02/2024 - 11h
parent
ee43110758
commit
45031114de
|
@ -17,7 +17,7 @@ import { GrUserAdmin, GrOrderedList } from "react-icons/gr";
|
|||
import 'react-tooltip/dist/react-tooltip.css'
|
||||
import { Tooltip } from 'react-tooltip'
|
||||
import { CiEdit, CiTrash } from "react-icons/ci";
|
||||
import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5";
|
||||
|
||||
import { AiOutlineUserAdd } from "react-icons/ai";
|
||||
import PartnerClientActivite from "./PartnerClient_Activite";
|
||||
import Popup from 'reactjs-popup';
|
||||
|
@ -28,7 +28,7 @@ import Autocomplete from '@mui/material/Autocomplete';
|
|||
import { gridClasses } from '@mui/x-data-grid';
|
||||
import Link from '@mui/material/Link';
|
||||
import { PiDotsThree } from "react-icons/pi";
|
||||
|
||||
import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5";
|
||||
|
||||
const AddParnerClient = (props) => {
|
||||
const history = useHistory();
|
||||
|
@ -2660,7 +2660,7 @@ const AddParnerClient = (props) => {
|
|||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
Confirmez la création du client. <br />
|
||||
Confirmez la création du nouveau partenaire <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
|
|
|
@ -51,6 +51,7 @@ import { RiMoreFill } from "react-icons/ri";
|
|||
import DatePicker from "react-datepicker";
|
||||
import "react-datepicker/dist/react-datepicker.css";
|
||||
import moment from "moment";
|
||||
import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5";
|
||||
|
||||
const Apprenant = (props) => {
|
||||
|
||||
|
@ -4829,7 +4830,7 @@ const Apprenant = (props) => {
|
|||
<Button variant="outlined" onClick={submenu_add_one_apprenant}
|
||||
className="detail_class_submenu bton_add_session"
|
||||
id='menu_import_participant' name='menu_import_participant'>Ajouter 1 apprenant
|
||||
<img src={add_plus} alt="ajout session" className="icon_plus" />
|
||||
<IoAddCircleOutline style={{ "fontSize": "x-large", "color": "green" }} />
|
||||
</Button>
|
||||
|
||||
<br />
|
||||
|
@ -6172,7 +6173,7 @@ const Apprenant = (props) => {
|
|||
<Button variant="outlined" onClick={submenu_add_one_inscription}
|
||||
className="detail_class_submenu bton_add_session"
|
||||
id='menu_import_participant' name='menu_import_participant'>Ajouter 1 inscription
|
||||
<img src={add_plus} alt="ajout session" className="icon_plus" />
|
||||
<IoAddCircleOutline style={{ "fontSize": "x-large", "color": "green" }} />
|
||||
</Button>
|
||||
|
||||
<br />
|
||||
|
|
|
@ -38,6 +38,7 @@ import DialogContent from '@mui/material/DialogContent';
|
|||
import DialogContentText from '@mui/material/DialogContentText';
|
||||
import DialogTitle from '@mui/material/DialogTitle';
|
||||
import { TransitionProps } from '@mui/material/transitions';
|
||||
import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5";
|
||||
|
||||
const Config_Champs_Personnalise = (props) => {
|
||||
const history = useHistory();
|
||||
|
@ -1387,7 +1388,7 @@ const Config_Champs_Personnalise = (props) => {
|
|||
<Button variant="outlined" onClick={submenu_add_one_personal_field}
|
||||
className="detail_class_submenu bton_add_session"
|
||||
id='menu_import_participant' name='menu_import_participant'>Ajout 1 champ
|
||||
<img src={add_plus} alt="ajout session" className="icon_plus" />
|
||||
<IoAddCircleOutline style={{ "fontSize": "x-large", "color": "green" }} />
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -33,7 +33,7 @@ import fileDownload from 'js-file-download'
|
|||
import { AiTwotoneEdit, AiTwotoneSave } from "react-icons/ai";
|
||||
import Checkbox from '@mui/material/Checkbox';
|
||||
import Autocomplete from '@mui/material/Autocomplete';
|
||||
|
||||
import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5";
|
||||
|
||||
const Config_Documents = (props) => {
|
||||
const history = useHistory();
|
||||
|
@ -2498,7 +2498,7 @@ const Config_Documents = (props) => {
|
|||
<Button variant="outlined" onClick={submenu_add_one_model_document}
|
||||
className="detail_class_submenu bton_add_session"
|
||||
id='menu_import_participant' name='menu_import_participant'>Ajout 1 Document
|
||||
<img src={add_plus} alt="ajout session" className="icon_plus" />
|
||||
<IoAddCircleOutline style={{ "fontSize": "x-large", "color": "green" }} />
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -41,6 +41,7 @@ import { GrDocumentCsv } from "react-icons/gr";
|
|||
import { gridClasses } from '@mui/x-data-grid';
|
||||
import Link from '@mui/material/Link';
|
||||
import { PiDotsThree } from "react-icons/pi";
|
||||
import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5";
|
||||
|
||||
const DistplayPartnerTraningsPage = (props) => {
|
||||
|
||||
|
@ -1874,7 +1875,7 @@ const DistplayPartnerTraningsPage = (props) => {
|
|||
<Button variant="outlined" onClick={Createtraining}
|
||||
className="detail_class_submenu bton_add_session"
|
||||
id='menu_import_participant' name='menu_import_participant' style={{ "float": "right", "marginRight": "10px" }}>Formation
|
||||
<img src={add_plus} alt="ajout session" className="icon_plus" />
|
||||
<IoAddCircleOutline style={{ "fontSize": "x-large", "color": "green" }} />
|
||||
</Button>
|
||||
|
||||
</div>*/}
|
||||
|
@ -2165,7 +2166,7 @@ const DistplayPartnerTraningsPage = (props) => {
|
|||
<Button variant="outlined" onClick={Createtraining}
|
||||
className="detail_class_submenu bton_add_session"
|
||||
id='menu_import_participant' name='menu_import_participant' style={{ "marginRight": "10px" }}>Ajout 1 Formation
|
||||
<img src={add_plus} alt="ajout session" className="icon_plus" />
|
||||
<IoAddCircleOutline style={{ "fontSize": "x-large", "color": "green" }} />
|
||||
</Button>
|
||||
|
||||
<br />
|
||||
|
|
|
@ -52,6 +52,7 @@ import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
|
|||
import { gridClasses } from '@mui/x-data-grid';
|
||||
import Link from '@mui/material/Link';
|
||||
import { PiDotsThree } from "react-icons/pi";
|
||||
import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5";
|
||||
|
||||
const Employes = (props) => {
|
||||
const history = useHistory();
|
||||
|
@ -5850,7 +5851,7 @@ const Employes = (props) => {
|
|||
<Button variant="outlined" onClick={submenu_add_one_employee}
|
||||
className="detail_class_submenu bton_add_session"
|
||||
id='menu_import_participant' name='menu_import_participant'>Ajout 1 employé
|
||||
<img src={add_plus} alt="ajout session" className="icon_plus" />
|
||||
<IoAddCircleOutline style={{ "fontSize": "x-large", "color": "green" }} />
|
||||
</Button>
|
||||
|
||||
<br />
|
||||
|
|
|
@ -50,7 +50,7 @@ import { IoMdAddCircle, IoIosRemoveCircleOutline } from "react-icons/io";
|
|||
import { AiTwotoneEdit, AiTwotoneSave } from "react-icons/ai";
|
||||
|
||||
import { Fab } from "@material-ui/core";
|
||||
|
||||
import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5";
|
||||
|
||||
function GestionAdministrative(props) {
|
||||
|
||||
|
@ -6285,7 +6285,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
|||
<Button variant="outlined" onClick={submenu_add_one_session}
|
||||
className="detail_class_submenu bton_add_session"
|
||||
id='menu_import_participant' name='menu_import_participant'>Ajout 1 Session
|
||||
<img src={add_plus} alt="ajout session" className="icon_plus" />
|
||||
<IoAddCircleOutline style={{ "fontSize": "x-large", "color": "green" }} />
|
||||
</Button>
|
||||
|
||||
<br />
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -59,17 +59,17 @@ const Materiels = (props) => {
|
|||
var date_today_90j = new Date();
|
||||
date_today_90j.setDate(date_today_90j.getDate() + 90);
|
||||
|
||||
const [p_filtre1, setp_filtre1] = useState();
|
||||
const [p_filtre1_value, setp_filtre1_value] = useState();
|
||||
const [p_filtre1, setp_filtre1] = useState("");
|
||||
const [p_filtre1_value, setp_filtre1_value] = useState("");
|
||||
|
||||
const [p_filtre2, setp_filtre2] = useState();
|
||||
const [p_filtre2_value, setp_filtre2_value] = useState();
|
||||
const [p_filtre2, setp_filtre2] = useState("");
|
||||
const [p_filtre2_value, setp_filtre2_value] = useState("");
|
||||
|
||||
const [p_filtre3, setp_filtre3] = useState();
|
||||
const [p_filtre3_value, setp_filtre3_value] = useState();
|
||||
const [p_filtre3, setp_filtre3] = useState("");
|
||||
const [p_filtre3_value, setp_filtre3_value] = useState("");
|
||||
|
||||
const [p_filtre4, setp_filtre4] = useState();
|
||||
const [p_filtre4_value, setp_filtre4_value] = useState();
|
||||
const [p_filtre4, setp_filtre4] = useState("");
|
||||
const [p_filtre4_value, setp_filtre4_value] = useState("");
|
||||
|
||||
const [gridline_id, setgridline_id] = useState("");
|
||||
const [gridline_affectation_id, setgridline_affectation_id] = useState("");
|
||||
|
@ -111,7 +111,7 @@ const Materiels = (props) => {
|
|||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, l'employé sera <i><font color="red"> définitivement supprimé</font></i>. <br />
|
||||
En confirmant cette opération, le matériel sera <i><font color="red"> définitivement supprimé</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
|
@ -406,7 +406,7 @@ const Materiels = (props) => {
|
|||
|
||||
|
||||
useEffect(() => {
|
||||
Getall_Training_Materiel_No_Filter();
|
||||
Getall_Training_Materiel_No_Salle_No_Filter();
|
||||
Get_Materiel_Related_Target_Collection_Data();
|
||||
|
||||
Getall_Type_Materiel();
|
||||
|
@ -542,10 +542,10 @@ const Materiels = (props) => {
|
|||
}
|
||||
|
||||
|
||||
const [Getall_Training_Materiel_api, setGetall_Training_Materiel_api] = useState();
|
||||
const [Getall_Training_Materiel_message, setGetall_Training_Materiel_message] = useState();
|
||||
const [Getall_Training_Materiel_result, setGetall_Training_Materiel_result] = useState();
|
||||
function Getall_Training_Materiel(event) {
|
||||
const [Getall_Training_Materiel_No_Salle_api, setGetall_Training_Materiel_No_Salle_api] = useState();
|
||||
const [Getall_Training_Materiel_No_Salle_message, setGetall_Training_Materiel_No_Salle_message] = useState();
|
||||
const [Getall_Training_Materiel_No_Salle_result, setGetall_Training_Materiel_No_Salle_result] = useState();
|
||||
function Getall_Training_Materiel_No_Salle(event) {
|
||||
|
||||
var form = new FormData();
|
||||
|
||||
|
@ -586,7 +586,7 @@ const Materiels = (props) => {
|
|||
const stored_cookie = getCookie('tokenmysypart');
|
||||
form.append("token", stored_cookie);
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Ressource_Materielle_with_filter/";
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Ressource_Materielle_with_filter_No_Salle/";
|
||||
|
||||
|
||||
setdisplay_affectation("");
|
||||
|
@ -601,20 +601,20 @@ const Materiels = (props) => {
|
|||
axios.post(myurl, form).then(res => {
|
||||
|
||||
if (String(res.data.status) === String("true")) {
|
||||
//console.log(" In Getall_Training_Materiel res.data.status = " + res.data.status);
|
||||
//console.log(" In Getall_Training_Materiel res.data.message r_class = " + res.data.message);
|
||||
setGetall_Training_Materiel_api("true");
|
||||
setGetall_Training_Materiel_result(res.data.message);
|
||||
//console.log(" In Getall_Training_Materiel_No_Salle res.data.status = " + res.data.status);
|
||||
//console.log(" In Getall_Training_Materiel_No_Salle res.data.message r_class = " + res.data.message);
|
||||
setGetall_Training_Materiel_No_Salle_api("true");
|
||||
setGetall_Training_Materiel_No_Salle_result(res.data.message);
|
||||
setRows(res.data.message);
|
||||
}
|
||||
else {
|
||||
setGetall_Training_Materiel_api("false");
|
||||
setGetall_Training_Materiel_message(res.data.message);
|
||||
setGetall_Training_Materiel_No_Salle_api("false");
|
||||
setGetall_Training_Materiel_No_Salle_message(res.data.message);
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
console.warn('Not good man :( Getall_Training_Materiel = ', error);
|
||||
setGetall_Training_Materiel_api("false");
|
||||
console.warn('Not good man :( Getall_Training_Materiel_No_Salle = ', error);
|
||||
setGetall_Training_Materiel_No_Salle_api("false");
|
||||
//setmyApimyApiMessage("")
|
||||
})
|
||||
}
|
||||
|
@ -667,7 +667,7 @@ const Materiels = (props) => {
|
|||
setliste_sessions_file_change_result(result['message']);
|
||||
setliste_sessions_file_change_api("true");
|
||||
|
||||
Getall_Training_Materiel();
|
||||
Getall_Training_Materiel_No_Salle();
|
||||
alert(" Le materiel ont été correctement importé");
|
||||
|
||||
}
|
||||
|
@ -787,7 +787,7 @@ const Materiels = (props) => {
|
|||
setAdd_One_Materiel_Data_api("true");
|
||||
setAdd_One_Materiel_Data_result(res.data.message);
|
||||
|
||||
Getall_Training_Materiel();
|
||||
Getall_Training_Materiel_No_Salle();
|
||||
Get_Materiel_Related_Target_Collection_Data();
|
||||
|
||||
setmateriel_data_changed("");
|
||||
|
@ -821,10 +821,10 @@ const Materiels = (props) => {
|
|||
}
|
||||
|
||||
|
||||
const [Getall_Training_Materiel_No_Filter_api, setGetall_Training_Materiel_No_Filter_api] = useState();
|
||||
const [Getall_Training_Materiel_No_Filter_message, setGetall_Training_Materiel_No_Filter_message] = useState();
|
||||
const [Getall_Training_Materiel_No_Filter_result, setGetall_Training_Materiel_No_Filter_result] = useState();
|
||||
function Getall_Training_Materiel_No_Filter(event) {
|
||||
const [Getall_Training_Materiel_No_Salle_No_Filter_api, setGetall_Training_Materiel_No_Salle_No_Filter_api] = useState();
|
||||
const [Getall_Training_Materiel_No_Salle_No_Filter_message, setGetall_Training_Materiel_No_Salle_No_Filter_message] = useState();
|
||||
const [Getall_Training_Materiel_No_Salle_No_Filter_result, setGetall_Training_Materiel_No_Salle_No_Filter_result] = useState();
|
||||
function Getall_Training_Materiel_No_Salle_No_Filter(event) {
|
||||
|
||||
var form = new FormData();
|
||||
|
||||
|
@ -832,28 +832,28 @@ const Materiels = (props) => {
|
|||
const stored_cookie = getCookie('tokenmysypart');
|
||||
form.append("token", stored_cookie);
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Ressource_Materielle_no_filter/";
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Ressource_Materielle_with_filter_No_Salle/";
|
||||
|
||||
|
||||
|
||||
axios.post(myurl, form).then(res => {
|
||||
|
||||
if (String(res.data.status) === String("true")) {
|
||||
//console.log(" In Getall_Training_Materiel_No_Filter res.data.status = " + res.data.status);
|
||||
//console.log(" In Getall_Training_Materiel_No_Filter res.data.message r_class = " + res.data.message);
|
||||
setGetall_Training_Materiel_No_Filter_api("true");
|
||||
setGetall_Training_Materiel_No_Filter_result(res.data.message);
|
||||
//console.log(" In Getall_Training_Materiel_No_Salle_No_Filter res.data.status = " + res.data.status);
|
||||
//console.log(" In Getall_Training_Materiel_No_Salle_No_Filter res.data.message r_class = " + res.data.message);
|
||||
setGetall_Training_Materiel_No_Salle_No_Filter_api("true");
|
||||
setGetall_Training_Materiel_No_Salle_No_Filter_result(res.data.message);
|
||||
setRows(res.data.message);
|
||||
}
|
||||
else {
|
||||
setGetall_Training_Materiel_No_Filter_api("false");
|
||||
setGetall_Training_Materiel_No_Filter_message(res.data.message);
|
||||
setGetall_Training_Materiel_No_Salle_No_Filter_api("false");
|
||||
setGetall_Training_Materiel_No_Salle_No_Filter_message(res.data.message);
|
||||
alert(res.data.message);
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
console.warn('Not good man :( Getall_Training_Materiel_No_Filter = ', error);
|
||||
setGetall_Training_Materiel_No_Filter_api("false");
|
||||
console.warn('Not good man :( Getall_Training_Materiel_No_Salle_No_Filter = ', error);
|
||||
setGetall_Training_Materiel_No_Salle_No_Filter_api("false");
|
||||
alert(" Impossible de recuperer la liste du materiel");
|
||||
//setmyApimyApiMessage("")
|
||||
})
|
||||
|
@ -1702,12 +1702,12 @@ const Materiels = (props) => {
|
|||
setUpdate_One_Materiel_Data_api("true");
|
||||
setUpdate_One_Materiel_Data_result(res.data.message);
|
||||
|
||||
Getall_Training_Materiel();
|
||||
Getall_Training_Materiel_No_Salle();
|
||||
|
||||
disable_Materiel_DetailFields();
|
||||
setmateriel_data_changed("");
|
||||
setmateriel_data_edit_mode("");
|
||||
Getall_Training_Materiel(selected_id);
|
||||
Getall_Training_Materiel_No_Salle(selected_id);
|
||||
|
||||
|
||||
setsubmenu("");
|
||||
|
@ -2385,17 +2385,17 @@ const Materiels = (props) => {
|
|||
|
||||
setgridline_id('');
|
||||
setgridline_affectation_id('');
|
||||
setp_filtre1();
|
||||
setp_filtre1_value();
|
||||
setp_filtre1("");
|
||||
setp_filtre1_value("");
|
||||
|
||||
setp_filtre2();
|
||||
setp_filtre2_value();
|
||||
setp_filtre2("");
|
||||
setp_filtre2_value("");
|
||||
|
||||
setp_filtre3();
|
||||
setp_filtre3_value();
|
||||
setp_filtre3("");
|
||||
setp_filtre3_value("");
|
||||
|
||||
setp_filtre4();
|
||||
setp_filtre4_value();
|
||||
setp_filtre4("");
|
||||
setp_filtre4_value("");
|
||||
|
||||
setdisplay_affectation("");
|
||||
setAdd_new_affectation("");
|
||||
|
@ -2406,7 +2406,7 @@ const Materiels = (props) => {
|
|||
setSelectionModel([]);
|
||||
setsubmenu("");
|
||||
|
||||
Getall_Training_Materiel_No_Filter();
|
||||
Getall_Training_Materiel_No_Salle_No_Filter();
|
||||
}
|
||||
|
||||
|
||||
|
@ -2426,6 +2426,14 @@ const Materiels = (props) => {
|
|||
{ "id": "2", "label": "Materiel", "value": "ressource_materielle" },
|
||||
]
|
||||
|
||||
const New_Option_Filter = [
|
||||
{ "id": "nom", "label": "Nom Matériel", "value": "nom" },
|
||||
{ "id": "ref_interne", "label": "Ref. Interne", "value": "ref_interne" },
|
||||
{ "id": "", "label": "", "value": "" },
|
||||
{ "id": "1", "label": "", "value": "1" }, // Cette ligne pour couvrir l'ajout d'une ligne de filter. C'est fait expres.
|
||||
|
||||
]
|
||||
|
||||
return (
|
||||
<div className="materiels">
|
||||
|
||||
|
@ -2459,7 +2467,28 @@ const Materiels = (props) => {
|
|||
<div className="titre1"> Utilisez les filtres !</div>
|
||||
<div className="div_row" style={{ "marginBottom": "5px" }}>
|
||||
<div className="div_row_gauche texte_area_filter" >
|
||||
<TextField
|
||||
{New_Option_Filter && New_Option_Filter.length > 0 && <Autocomplete
|
||||
disablePortal
|
||||
name="filtre1"
|
||||
id="filtre1"
|
||||
className="disabled_style"
|
||||
value={New_Option_Filter.filter((data) => (data).value === String(p_filtre1))[0].label}
|
||||
options={New_Option_Filter}
|
||||
onChange={(event, value) => {
|
||||
if (value && value.value) {
|
||||
setp_filtre1(value.value);
|
||||
|
||||
}
|
||||
|
||||
}}
|
||||
|
||||
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
|
||||
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
|
||||
|
||||
/>
|
||||
}
|
||||
/>}
|
||||
{/*<TextField
|
||||
name="filtre1"
|
||||
label="Choisir un champ"
|
||||
select
|
||||
|
@ -2477,7 +2506,7 @@ const Materiels = (props) => {
|
|||
<MenuItem value="employe_email" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Lié a l'employe (email) </MenuItem>
|
||||
|
||||
|
||||
</TextField>
|
||||
</TextField>*/}
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2526,7 +2555,7 @@ const Materiels = (props) => {
|
|||
<Tooltip className="tooltip_css" id="my-tooltip02" style={{ "fontSize": "12px" }} />
|
||||
<a data-tooltip-id="my-tooltip02" data-tooltip-html="Supprimer cette ligne de filtre">
|
||||
<MdRemoveCircleOutline onClick={(e) => {
|
||||
setp_filtre1();
|
||||
setp_filtre1("");
|
||||
setp_filtre1_value();
|
||||
}}
|
||||
/>
|
||||
|
@ -2539,7 +2568,29 @@ const Materiels = (props) => {
|
|||
{p_filtre2 &&
|
||||
<div className="div_row" style={{ "marginBottom": "5px" }}>
|
||||
<div className="div_row_gauche texte_area_filter">
|
||||
<TextField
|
||||
|
||||
{New_Option_Filter && New_Option_Filter.length > 0 && <Autocomplete
|
||||
disablePortal
|
||||
name="filtre2"
|
||||
id="filtre2"
|
||||
className="disabled_style"
|
||||
value={New_Option_Filter.filter((data) => (data).value === String(p_filtre2))[0].label}
|
||||
options={New_Option_Filter}
|
||||
onChange={(event, value) => {
|
||||
if (value && value.value) {
|
||||
setp_filtre2(value.value);
|
||||
|
||||
}
|
||||
|
||||
}}
|
||||
|
||||
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
|
||||
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
|
||||
|
||||
/>
|
||||
}
|
||||
/>}
|
||||
{/*<TextField
|
||||
name="filtre2"
|
||||
label="Choisir un champ"
|
||||
select
|
||||
|
@ -2557,7 +2608,7 @@ const Materiels = (props) => {
|
|||
<MenuItem value="session" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Lié a la Session (code session) </MenuItem>
|
||||
<MenuItem value="employe_email" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Lié a l'employe (email) </MenuItem>
|
||||
|
||||
</TextField>
|
||||
</TextField>*/}
|
||||
</div>
|
||||
<div className="div_row_droite texte_area_filter_value" style={{ "marginTop": "0.5rem" }}>
|
||||
{String(p_filtre2).length > 2 &&
|
||||
|
@ -2617,7 +2668,7 @@ const Materiels = (props) => {
|
|||
}
|
||||
|
||||
|
||||
{p_filtre3 &&
|
||||
{/*p_filtre3 &&
|
||||
<div className="div_row" style={{ "marginBottom": "5px" }}>
|
||||
<div className="div_row_gauche texte_area_filter">
|
||||
<TextField
|
||||
|
@ -2691,7 +2742,7 @@ const Materiels = (props) => {
|
|||
</a>
|
||||
</div>}
|
||||
</div>
|
||||
}
|
||||
*/}
|
||||
|
||||
{/*
|
||||
{p_filtre4 &&
|
||||
|
@ -2766,7 +2817,7 @@ const Materiels = (props) => {
|
|||
<div className="div_row" ref={myRef_head} id="myRef_head" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||
|
||||
<div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
|
||||
<Button variant="contained" className="bton_enreg" onClick={Getall_Training_Materiel}>Rechercher
|
||||
<Button variant="contained" className="bton_enreg" onClick={Getall_Training_Materiel_No_Salle}>Rechercher
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
|
@ -3970,7 +4021,7 @@ const Materiels = (props) => {
|
|||
}}
|
||||
|
||||
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
|
||||
inputProps = {{...params.inputProps, style: { fontSize: 12, height:"1.4rem" }}}
|
||||
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
|
||||
|
||||
/>
|
||||
}
|
||||
|
@ -4193,7 +4244,7 @@ const Materiels = (props) => {
|
|||
}}
|
||||
|
||||
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
|
||||
inputProps = {{...params.inputProps, style: { fontSize: 12, height:"1.4rem" }}}
|
||||
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
|
||||
|
||||
/>
|
||||
}
|
||||
|
@ -4272,7 +4323,7 @@ const Materiels = (props) => {
|
|||
}}
|
||||
|
||||
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
|
||||
inputProps = {{...params.inputProps, style: { fontSize: 12, height:"1.4rem" }}}
|
||||
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
|
||||
|
||||
/>
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@ import { useHistory } from "react-router-dom";
|
|||
import PartnerInfo from "./UpdatePartnerInfo";
|
||||
import PartenairStat from "./PartenairStat";
|
||||
import { Helmet } from "react-helmet";
|
||||
|
||||
import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5";
|
||||
import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
|
||||
import { GiTeacher } from "react-icons/gi";
|
||||
import Footer from "./Fotter";
|
||||
|
@ -57,6 +57,7 @@ import Partner_Configuration_Jours_Travail from "./Partner_Config_Jours_Travail"
|
|||
import Dashbord_Session from "./Dashbord_Session";
|
||||
import Dashbord_Ressources_Humaines from "./Dashbord_Ressources_Humaines";
|
||||
import Dashbord_Inscriptions from "./Dashbord_Inscription";
|
||||
import Materiel_Salle from "./Materiel_Salle";
|
||||
|
||||
import Mon_Tableau_De_Bord from "./Mon_Tableau_De_Bord";
|
||||
import Dashbord_Formation from "./Dashbord_Formation";
|
||||
|
@ -76,6 +77,8 @@ import { Tooltip } from 'react-tooltip'
|
|||
import Dropdown from 'rsuite/Dropdown';
|
||||
//import 'rsuite/dist/rsuite.min.css';
|
||||
import { AiOutlineDashboard } from "react-icons/ai";
|
||||
import { RiPresentationFill } from "react-icons/ri";
|
||||
import { FcPodiumWithAudience } from "react-icons/fc";
|
||||
|
||||
const Partner = (props) => {
|
||||
const { commingmenu, commingpack } = useParams();
|
||||
|
@ -326,7 +329,7 @@ const Partner = (props) => {
|
|||
'mes_stagiaires', 'mes_employes', 'mon_materiel', 'config_document', 'factures_client', "config_technique",
|
||||
"config_champ_specific", "module_agenda", "config_session_steps", "config_jours_heures", "dashbord_formation",
|
||||
"dashbord_session", "mon_tableau_de_bord", "prix_achat", "mes_apprenants", "dashbord_ressources_humaines",
|
||||
"dashbord_inscriptions"]
|
||||
"dashbord_inscriptions", "mes_salles"]
|
||||
|
||||
if (action && list_menu.includes(action)) {
|
||||
|
||||
|
@ -673,6 +676,21 @@ const Partner = (props) => {
|
|||
}
|
||||
}
|
||||
|
||||
function Display_mes_salles_func(event) {
|
||||
var security_retval = check_user_acces_right("materiel", "read");
|
||||
|
||||
if (security_retval === 1) {
|
||||
setmenu("mes_salles");
|
||||
setapiexcelimportmessage();
|
||||
setformation_file_name();
|
||||
document.body.style.backgroundColor = "#ffffff";
|
||||
history.push("/Partner/mes_salles");
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion du matériel pédagogique");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function config_dashbord_formation_func(event) {
|
||||
var security_retval = check_user_acces_right("dashbord", "read");
|
||||
|
||||
|
@ -1234,11 +1252,46 @@ const Partner = (props) => {
|
|||
{String(menu) === "mes_stagiaires" && <div className="sousmenu_selected" onClick={DiplayStagiaireList} ><FcReading className="icone_menu" /> MES STAGIAIRES</div>}
|
||||
<hr className="my_hr" />
|
||||
|
||||
{String(menu) !== "mes_apprenants" && <div className="sousmenu" onClick={mes_apprenants_func} > <PiStudent className="icone_menu" /> MES APPRENANTS </div>}
|
||||
{String(menu) !== "mes_apprenants" && <div className="sousmenu" onClick={mes_apprenants_func} > <PiStudent className="icone_menu" /> MES APPRENANTS </div>}
|
||||
{String(menu) === "mes_apprenants" && <div className="sousmenu_selected" onClick={mes_apprenants_func} ><PiStudent className="icone_menu" /> MES APPRENANTS</div>}
|
||||
<hr className="my_hr" />
|
||||
|
||||
<div className="sousmenu" >
|
||||
<nav style={{ float: "left" }}> <FcPodiumWithAudience className="icone_menu" /> </nav>
|
||||
<nav style={{ minWidth: "85%", float: "left", textAlign:"left" }}>
|
||||
<Dropdown title="RESSOURCES " className="sousmenu" >
|
||||
<Dropdown.Item >
|
||||
<Tooltip className="tooltip_css" id="tooltip_id_12" />
|
||||
<a data-tooltip-id="tooltip_id_12" data-tooltip-html="MES EMPLOYES">
|
||||
{String(menu) !== "mes_employes" && <div className="sousmenu" onClick={DisplayeEmployeList} > MES EMPLOYES </div>}
|
||||
{String(menu) === "mes_employes" && <div className="sousmenu_selected" onClick={DisplayeEmployeList} > MES EMPLOYES</div>}
|
||||
</a>
|
||||
</Dropdown.Item>
|
||||
|
||||
<Dropdown.Item>
|
||||
<Tooltip className="tooltip_css" id="tooltip_id_13" />
|
||||
<a data-tooltip-id="tooltip_id_13" data-tooltip-html=" MON MATERIEL">
|
||||
|
||||
{String(menu) !== "mon_materiel" && <div className="sousmenu" onClick={DisplayeMaterielList} > MON MATERIEL </div>}
|
||||
{String(menu) === "mon_materiel" && <div className="sousmenu_selected" onClick={DisplayeMaterielList} > MON MATERIEL </div>}
|
||||
</a>
|
||||
</Dropdown.Item>
|
||||
|
||||
<Dropdown.Item>
|
||||
<Tooltip className="tooltip_css" id="tooltip_id_14" />
|
||||
<a data-tooltip-id="tooltip_id_14" data-tooltip-html=" MES SALLES">
|
||||
|
||||
{String(menu) !== "mes_salles" && <div className="sousmenu" onClick={Display_mes_salles_func} > MES SALLES </div>}
|
||||
{String(menu) === "mes_salles" && <div className="sousmenu_selected" onClick={Display_mes_salles_func} > MES SALLES </div>}
|
||||
</a>
|
||||
</Dropdown.Item>
|
||||
|
||||
|
||||
</Dropdown>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
{/*
|
||||
{String(menu) !== "mes_employes" && <div className="sousmenu" onClick={DisplayeEmployeList} > <GiTeacher className="icone_menu" /> MES EMPLOYES </div>}
|
||||
{String(menu) === "mes_employes" && <div className="sousmenu_selected" onClick={DisplayeEmployeList} ><GiTeacher className="icone_menu" /> MES EMPLOYES</div>}
|
||||
<hr className="my_hr" />
|
||||
|
@ -1247,7 +1300,7 @@ const Partner = (props) => {
|
|||
{String(menu) === "mon_materiel" && <div className="sousmenu_selected" onClick={DisplayeMaterielList} ><BsTools className="icone_menu" /> MON MATERIEL </div>}
|
||||
<hr className="my_hr" />
|
||||
|
||||
|
||||
*/}
|
||||
|
||||
{String(menu) !== "statistique" && <div className="sousmenu" onClick={DisplayStat}> <FcBullish className="icone_menu" /> STATISTIQUES</div>}
|
||||
{String(menu) === "statistique" && <div className="sousmenu_selected" onClick={DisplayStat}> <FcBullish className="icone_menu" /> STATISTIQUES</div>}
|
||||
|
@ -1307,88 +1360,67 @@ const Partner = (props) => {
|
|||
</div>}
|
||||
|
||||
<div class="separator"> Configuration </div>
|
||||
<div className="sousmenu" >
|
||||
<Dropdown title="Configuration Technique "
|
||||
|
||||
<Dropdown title="Configuration Technique "
|
||||
onOpen={(event) => {
|
||||
>
|
||||
<Dropdown.Item >
|
||||
{String(menu) !== "config_document" && <div className="sousmenu" onClick={config_document_func}> <FcFinePrint className="icone_menu" /> MES DOCUMENTS</div>}
|
||||
{String(menu) === "config_document" && <div className="sousmenu_selected" onClick={config_document_func}> <FcFinePrint className="icone_menu" /> MES DOCUMENTS</div>}
|
||||
</Dropdown.Item>
|
||||
|
||||
}}
|
||||
<Dropdown.Item>
|
||||
{String(menu) !== "config_champ_specific" && <div className="sousmenu" onClick={config_specfic_fields_func}> <FcFinePrint className="icone_menu" /> CHAMP SPECIFIQUE</div>}
|
||||
{String(menu) === "config_champ_specific" && <div className="sousmenu_selected" onClick={config_specfic_fields_func}> <FcFinePrint className="icone_menu" /> CHAMP SPECIFIQUE</div>}
|
||||
</Dropdown.Item>
|
||||
<Dropdown.Item>
|
||||
{String(menu) !== "config_technique" && <div className="sousmenu" onClick={config_technique_func}> <FcFinePrint className="icone_menu" /> TECHNIQUE</div>}
|
||||
{String(menu) === "config_technique" && <div className="sousmenu_selected" onClick={config_technique_func}> <FcFinePrint className="icone_menu" /> TECHNIQUE</div>}
|
||||
|
||||
onClose={(event) => {
|
||||
</Dropdown.Item>
|
||||
|
||||
<Dropdown.Item>
|
||||
{String(menu) !== "config_session_steps" && <div className="sousmenu" onClick={config_session_steps_func}> <FcFinePrint className="icone_menu" /> SESSION ETAPE</div>}
|
||||
{String(menu) === "config_session_steps" && <div className="sousmenu_selected" onClick={config_session_steps_func}> <FcFinePrint className="icone_menu" /> SESSION ETAPE</div>}
|
||||
|
||||
}}
|
||||
</Dropdown.Item>
|
||||
|
||||
>
|
||||
<Dropdown.Item >
|
||||
{String(menu) !== "config_document" && <div className="sousmenu" onClick={config_document_func}> <FcFinePrint className="icone_menu" /> MES DOCUMENTS</div>}
|
||||
{String(menu) === "config_document" && <div className="sousmenu_selected" onClick={config_document_func}> <FcFinePrint className="icone_menu" /> MES DOCUMENTS</div>}
|
||||
</Dropdown.Item>
|
||||
<Dropdown.Item>
|
||||
{String(menu) !== "config_jours_heures" && <div className="sousmenu" onClick={config_jours_travaille_func}> <FcFinePrint className="icone_menu" /> JOURS & HEURES</div>}
|
||||
{String(menu) === "config_jours_heures" && <div className="sousmenu_selected" onClick={config_jours_travaille_func}> <FcFinePrint className="icone_menu" /> JOURS & HEURES</div>}
|
||||
|
||||
<Dropdown.Item>
|
||||
{String(menu) !== "config_champ_specific" && <div className="sousmenu" onClick={config_specfic_fields_func}> <FcFinePrint className="icone_menu" /> CHAMP SPECIFIQUE</div>}
|
||||
{String(menu) === "config_champ_specific" && <div className="sousmenu_selected" onClick={config_specfic_fields_func}> <FcFinePrint className="icone_menu" /> CHAMP SPECIFIQUE</div>}
|
||||
</Dropdown.Item>
|
||||
<Dropdown.Item>
|
||||
{String(menu) !== "config_technique" && <div className="sousmenu" onClick={config_technique_func}> <FcFinePrint className="icone_menu" /> TECHNIQUE</div>}
|
||||
{String(menu) === "config_technique" && <div className="sousmenu_selected" onClick={config_technique_func}> <FcFinePrint className="icone_menu" /> TECHNIQUE</div>}
|
||||
|
||||
</Dropdown.Item>
|
||||
|
||||
<Dropdown.Item>
|
||||
{String(menu) !== "config_session_steps" && <div className="sousmenu" onClick={config_session_steps_func}> <FcFinePrint className="icone_menu" /> SESSION ETAPE</div>}
|
||||
{String(menu) === "config_session_steps" && <div className="sousmenu_selected" onClick={config_session_steps_func}> <FcFinePrint className="icone_menu" /> SESSION ETAPE</div>}
|
||||
|
||||
</Dropdown.Item>
|
||||
|
||||
<Dropdown.Item>
|
||||
{String(menu) !== "config_jours_heures" && <div className="sousmenu" onClick={config_jours_travaille_func}> <FcFinePrint className="icone_menu" /> JOURS & HEURES</div>}
|
||||
{String(menu) === "config_jours_heures" && <div className="sousmenu_selected" onClick={config_jours_travaille_func}> <FcFinePrint className="icone_menu" /> JOURS & HEURES</div>}
|
||||
|
||||
</Dropdown.Item>
|
||||
</Dropdown.Item>
|
||||
|
||||
|
||||
|
||||
</Dropdown>
|
||||
</Dropdown>
|
||||
</div>
|
||||
|
||||
<div className="sousmenu" >
|
||||
<Dropdown title="Tableaux de bord " >
|
||||
<Dropdown.Item >
|
||||
{String(menu) !== "dashbord_formation" && <div className="sousmenu" onClick={config_dashbord_formation_func}> <FcFinePrint className="icone_menu" /> FORMATION</div>}
|
||||
{String(menu) === "dashbord_formation" && <div className="sousmenu_selected" onClick={config_dashbord_formation_func}> <FcFinePrint className="icone_menu" /> FORMATION</div>}
|
||||
</Dropdown.Item>
|
||||
|
||||
<Dropdown.Item>
|
||||
{String(menu) !== "dashbord_session" && <div className="sousmenu" onClick={config_dashbord_session_func}> <FcFinePrint className="icone_menu" /> SESSION</div>}
|
||||
{String(menu) === "dashbord_session" && <div className="sousmenu_selected" onClick={config_dashbord_session_func}> <FcFinePrint className="icone_menu" /> SESSION</div>}
|
||||
</Dropdown.Item>
|
||||
|
||||
<Dropdown.Item>
|
||||
{String(menu) !== "dashbord_ressources_humaines" && <div className="sousmenu" onClick={config_dashbord_ressources_humaines_func}> <FcFinePrint className="icone_menu" /> RES. HUMAINES</div>}
|
||||
{String(menu) === "dashbord_ressources_humaines" && <div className="sousmenu_selected" onClick={config_dashbord_ressources_humaines_func}> <FcFinePrint className="icone_menu" /> RES. HUMAINES</div>}
|
||||
</Dropdown.Item>
|
||||
|
||||
<Dropdown.Item>
|
||||
{String(menu) !== "dashbord_inscriptions" && <div className="sousmenu" onClick={config_dashbord_inscriptions_func}> <FcFinePrint className="icone_menu" /> INSCRIPTIONS</div>}
|
||||
{String(menu) === "dashbord_inscriptions" && <div className="sousmenu_selected" onClick={config_dashbord_inscriptions_func}> <FcFinePrint className="icone_menu" /> INSCRIPTIONS</div>}
|
||||
</Dropdown.Item>
|
||||
|
||||
|
||||
|
||||
|
||||
<Dropdown title="Tableaux de bord "
|
||||
onOpen={(event) => {
|
||||
|
||||
}}
|
||||
|
||||
onClose={(event) => {
|
||||
|
||||
|
||||
}}
|
||||
|
||||
>
|
||||
<Dropdown.Item >
|
||||
{String(menu) !== "dashbord_formation" && <div className="sousmenu" onClick={config_dashbord_formation_func}> <FcFinePrint className="icone_menu" /> FORMATION</div>}
|
||||
{String(menu) === "dashbord_formation" && <div className="sousmenu_selected" onClick={config_dashbord_formation_func}> <FcFinePrint className="icone_menu" /> FORMATION</div>}
|
||||
</Dropdown.Item>
|
||||
|
||||
<Dropdown.Item>
|
||||
{String(menu) !== "dashbord_session" && <div className="sousmenu" onClick={config_dashbord_session_func}> <FcFinePrint className="icone_menu" /> SESSION</div>}
|
||||
{String(menu) === "dashbord_session" && <div className="sousmenu_selected" onClick={config_dashbord_session_func}> <FcFinePrint className="icone_menu" /> SESSION</div>}
|
||||
</Dropdown.Item>
|
||||
|
||||
<Dropdown.Item>
|
||||
{String(menu) !== "dashbord_ressources_humaines" && <div className="sousmenu" onClick={config_dashbord_ressources_humaines_func}> <FcFinePrint className="icone_menu" /> RES. HUMAINES</div>}
|
||||
{String(menu) === "dashbord_ressources_humaines" && <div className="sousmenu_selected" onClick={config_dashbord_ressources_humaines_func}> <FcFinePrint className="icone_menu" /> RES. HUMAINES</div>}
|
||||
</Dropdown.Item>
|
||||
|
||||
<Dropdown.Item>
|
||||
{String(menu) !== "dashbord_inscriptions" && <div className="sousmenu" onClick={config_dashbord_inscriptions_func}> <FcFinePrint className="icone_menu" /> INSCRIPTIONS</div>}
|
||||
{String(menu) === "dashbord_inscriptions" && <div className="sousmenu_selected" onClick={config_dashbord_inscriptions_func}> <FcFinePrint className="icone_menu" /> INSCRIPTIONS</div>}
|
||||
</Dropdown.Item>
|
||||
|
||||
|
||||
|
||||
|
||||
</Dropdown>
|
||||
|
||||
</Dropdown>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>}
|
||||
|
@ -1613,6 +1645,14 @@ const Partner = (props) => {
|
|||
</div>
|
||||
}
|
||||
|
||||
|
||||
{String(menu) === "mes_salles" &&
|
||||
<div className="div_droite">
|
||||
<Materiel_Salle conntected_employee_id={conntected_employee_id} read_access={check_user_acces_right("materiel", "read")} write_access={check_user_acces_right("materiel", "write")} />
|
||||
</div>
|
||||
}
|
||||
|
||||
|
||||
{String(menu) === "mes_cmd" &&
|
||||
<div className="div_droite">
|
||||
<Partner_Commande conntected_employee_id={conntected_employee_id} read_access={check_user_acces_right("commande", "read")} write_access={check_user_acces_right("commande", "write")} />
|
||||
|
@ -1734,7 +1774,6 @@ const Partner = (props) => {
|
|||
|
||||
<Mon_Tableau_De_Bord conntected_employee_id={conntected_employee_id} read_access={check_user_acces_right("dashbord", "read")} write_access={check_user_acces_right("dashbord", "write")} />
|
||||
|
||||
|
||||
</div>
|
||||
}
|
||||
|
||||
|
@ -1835,6 +1874,8 @@ const Partner = (props) => {
|
|||
</a>
|
||||
<hr className="my_hr" />
|
||||
|
||||
|
||||
|
||||
<Tooltip className="tooltip_css" id="tooltip_id_12" />
|
||||
<a data-tooltip-id="tooltip_id_12" data-tooltip-html="MES EMPLOYES">
|
||||
{String(menu) !== "mes_employes" && <div className="sousmenu" onClick={DisplayeEmployeList} > <GiTeacher className="icone_menu" /> </div>}
|
||||
|
@ -2163,6 +2204,14 @@ const Partner = (props) => {
|
|||
</div>
|
||||
}
|
||||
|
||||
|
||||
{String(menu) === "mes_salles" &&
|
||||
<div className="div_droite div_droite_ralonge">
|
||||
<Materiel_Salle conntected_employee_id={conntected_employee_id} read_access={check_user_acces_right("materiel", "read")} write_access={check_user_acces_right("materiel", "write")} />
|
||||
</div>
|
||||
}
|
||||
|
||||
|
||||
{String(menu) === "mes_cmd" &&
|
||||
<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")} />
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -2058,10 +2058,12 @@
|
|||
|
||||
.rs-dropdown-toggle.rs-btn {
|
||||
background: transparent !important;
|
||||
color: white !important;
|
||||
color: #c0c0c0 !important;
|
||||
margin-bottom: 1rem !important;
|
||||
list-style-type: none !important;
|
||||
border: none !important;
|
||||
font-size: 11px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.rs-dropdown-menu {
|
||||
|
|
|
@ -99,3 +99,4 @@
|
|||
@import "./components/toggleswitch2_mysy";
|
||||
@import "./components/module_attestation_formation";
|
||||
@import "./components/test_drag_drop";
|
||||
@import "./components/materiel_salle";
|
||||
|
|
Loading…
Reference in New Issue