diff --git a/public/dist/assets/main-8664fb7c.js b/public/dist/assets/main-8664fb7c.js
new file mode 100644
index 0000000000000000000000000000000000000000..9fe32ea69365eba536b8547c2dbebb42166b46ca
--- /dev/null
+++ b/public/dist/assets/main-8664fb7c.js
@@ -0,0 +1,3 @@
+import{c as a,o as r,t as h,a as i,w as D,v as A,b as c,F as g,r as y,d as u,n as j,e as f,f as L,g as b,h as C,i as O,j as S,p as N,k as z,l as q,m as Y,q as J,s as Q,u as X,x as W}from"./vendor-aed55673.js";const x=(e,t)=>{const n=e.__vccOpts||e;for(const[m,l]of t)n[m]=l;return n},G={props:{valeur:{required:!0,type:Number}},computed:{affichage:function(){return Util.formattedHeures(this.valeur,!0)}}},Z=["innerHTML"];function K(e,t,n,m,l,s){return r(),a("span",{class:"heures",innerHTML:s.affichage},null,8,Z)}const ee=x(G,[["render",K]]),te=Object.freeze(Object.defineProperty({__proto__:null,default:ee},Symbol.toStringTag,{value:"Module"})),ie={name:"Utilisateur",props:{nom:String,mail:String}},ne=["href"];function se(e,t,n,m,l,s){return r(),a("a",{href:`mailto:${n.mail}`},h(n.nom),9,ne)}const re=x(ie,[["render",se]]),ae=Object.freeze(Object.defineProperty({__proto__:null,default:re},Symbol.toStringTag,{value:"Module"})),oe={name:"UDate",props:{value:{required:!1,type:[String,Date]},format:{required:!1,type:String}},mounted(){this.formatted=this.formatage(this.value)},data(){return{formatted:void 0}},watch:{value:function(e){this.formatted=this.formatage(e)}},methods:{formatage(e){if(e===void 0)return;let t=new Date(e);const n=t.getFullYear(),m=(t.getMonth()+1).toString().padStart(2,"0"),l=t.getDate().toString().padStart(2,"0"),s=t.getHours().toString().padStart(2,"0"),d=t.getMinutes().toString().padStart(2,"0"),o=t.getSeconds().toString().padStart(2,"0");switch(this.format){case"datetime":return`${l}/${m}/${n} à ${s}:${d}`;case"time":return`${s}:${d}:${o}`}return`${l}/${m}/${n}`}}};function le(e,t,n,m,l,s){return h(l.formatted)}const w=x(oe,[["render",le]]),ue={name:"Recherche",data(){return{searchTerm:"",noResult:0,intervenants:[],checkedTypes:["vacataire","permanent","etudiant"]}},mixins:[Util],methods:{rechercher:function(e){this.searchTerm=e.currentTarget.value,this.searchTerm==""&&(this.noResult=0),this.searchTerm!=""&&this.reload()},urlFiche(e){return unicaenVue.url("intervenant/code:"+e+"/voir")},reload(){this.timer&&(clearTimeout(this.timer),this.timer=null),this.timer=setTimeout(()=>{unicaenVue.axios.post(unicaenVue.url("intervenant/recherche-json"),{term:this.searchTerm}).then(e=>{let t=e.data,n=[];for(const m in t){if(t[m].typeIntervenantCode=="E"&&this.checkedTypes.includes("vacataire")){n.push(t[m]);continue}if(t[m].typeIntervenantCode=="P"&&this.checkedTypes.includes("permanent")){n.push(t[m]);continue}if(t[m].typeIntervenantCode=="S"&&this.checkedTypes.includes("etudiant")){n.push(t[m]);continue}}this.intervenants=n,this.intervenants.length==0?this.noResult=1:this.noResult=0}).catch(e=>{console.log(e.message)})},800)}}},de=i("h3",null,"Saisissez le nom suivi éventuellement du prénom (2 lettres minimum)",-1),ce={class:"intervenant-recherche"},me={class:"critere"},he=i("br",null,null,-1),fe=i("span",{class:"fw-bold"},"Types d'intervenant : ",-1),_e=i("br",null,null,-1),ve={key:0,class:"table table-bordered table-hover"},pe=i("thead",null,[i("tr",null,[i("th",{style:{width:"90px"}}),i("th",null,"Civilité"),i("th",null,"Nom"),i("th",null,"Prenom"),i("th",null,"Structure"),i("th",null,"Statut"),i("th",null,"Date de naissance"),i("th",null,"N° Personnel")])],-1),be=["title"],ge={style:{}},ye=["href"],xe=i("i",{class:"fas fa-eye"},null,-1),Ve={key:1,class:"table table-bordered table-hover"},Ce=i("thead",null,[i("tr",null,[i("th",{style:{width:"90px"}}),i("th",null,"Civilité"),i("th",null,"Nom"),i("th",null,"Prenom"),i("th",null,"Structure"),i("th",null,"Statut"),i("th",null,"Date de naissance"),i("th",null,"N° Personnel")])],-1),ke=i("tbody",null,[i("tr",null,[i("td",{colspan:"8",style:{"text-align":"center"}},"Aucun intervenant trouvé")])],-1),Se=[Ce,ke];function Me(e,t,n,m,l,s){const d=w;return r(),a(g,null,[de,i("div",ce,[i("div",me,[i("div",null,[i("input",{id:"term",class:"form-control input",placeholder:"votre recherche...",type:"text",onKeyup:t[0]||(t[0]=(...o)=>s.rechercher&&s.rechercher(...o))},null,32),he]),i("div",null,[fe,D(i("input",{"onUpdate:modelValue":t[1]||(t[1]=o=>l.checkedTypes=o),checked:"checked",name:"type[]",type:"checkbox",value:"permanent",onChange:t[2]||(t[2]=o=>s.reload())},null,544),[[A,l.checkedTypes]]),c(" Permanent "),D(i("input",{"onUpdate:modelValue":t[3]||(t[3]=o=>l.checkedTypes=o),checked:"checked",name:"type[]",type:"checkbox",value:"vacataire",onChange:t[4]||(t[4]=o=>s.reload())},null,544),[[A,l.checkedTypes]]),c(" Vacataire "),D(i("input",{"onUpdate:modelValue":t[5]||(t[5]=o=>l.checkedTypes=o),checked:"checked",name:"type[]",type:"checkbox",value:"etudiant",onChange:t[6]||(t[6]=o=>s.reload())},null,544),[[A,l.checkedTypes]]),c(" Etudiant ")]),_e])]),l.intervenants.length>0?(r(),a("table",ve,[pe,i("tbody",null,[(r(!0),a(g,null,y(l.intervenants,(o,_)=>(r(),a("tr",{class:j({"bg-danger":o.destruction!==null}),title:o.destruction!==null?"Fiche historisé":""},[i("td",ge,[i("a",{href:s.urlFiche(o.code)},[xe,c(" Fiche")],8,ye)]),i("td",null,h(o.civilite),1),i("td",null,h(o.nom),1),i("td",null,h(o.prenom),1),i("td",null,h(o.structure),1),i("td",null,h(o.statut),1),i("td",null,[f(d,{value:o["date-naissance"]},null,8,["value"])]),i("td",null,h(o["numero-personnel"]),1)],10,be))),256))])])):u("",!0),l.intervenants.length==0&&l.noResult==1?(r(),a("table",Ve,Se)):u("",!0)],64)}const Te=x(ue,[["render",Me]]),De=Object.freeze(Object.defineProperty({__proto__:null,default:Te},Symbol.toStringTag,{value:"Module"})),je={name:"UModal",props:{id:{required:!0,type:String},title:{required:!0,type:String}}},we=["id"],Ue={class:"modal-dialog"},Ae={class:"modal-content"},Re={class:"modal-header"},Ee={class:"modal-title"},Le=i("button",{type:"button",class:"btn-close","data-bs-dismiss":"modal","aria-label":"Close"},null,-1),Oe={class:"modal-body"},qe={class:"modal-footer"},He=i("button",{type:"button",class:"btn btn-secondary","data-bs-dismiss":"modal"},"Fermer",-1);function Pe(e,t,n,m,l,s){return r(),a("div",{class:"modal fade",id:n.id,tabindex:"-1","aria-hidden":"true"},[i("div",Ue,[i("div",Ae,[i("div",Re,[i("h5",Ee,h(n.title),1),Le]),i("div",Oe,[L(e.$slots,"body")]),i("div",qe,[L(e.$slots,"footer"),He])])])],8,we)}const $e=x(je,[["render",Pe]]),Fe={name:"UIcon",props:{name:{required:!0,type:String},variant:{required:!1,type:String}}};function Be(e,t,n,m,l,s){return r(),a("i",{class:j(`fas fa-${n.name} text-${n.variant}`)},null,2)}const M=x(Fe,[["render",Be]]);const Ie={name:"Mission",props:{mission:{required:!0}},data(){return{validationText:this.calcValidation(this.mission.validation),saisieUrl:unicaenVue.url("mission/saisie/:mission",{mission:this.mission.id}),validerUrl:unicaenVue.url("mission/valider/:mission",{mission:this.mission.id}),devaliderUrl:unicaenVue.url("mission/devalider/:mission",{mission:this.mission.id}),supprimerUrl:unicaenVue.url("mission/supprimer/:mission",{mission:this.mission.id})}},watch:{"mission.validation"(e){this.validationText=this.calcValidation(e)}},computed:{heuresLib:function(){return this.mission.heures===null||this.mission.heures===0?"Aucune heure saisie":this.mission.heures==this.mission.heuresValidees?Util.formattedHeures(this.mission.heures)+" heures (validées)":this.mission.heuresValidees==0?Util.formattedHeures(this.mission.heures)+" heures (non validées)":'<span class="bg-info">'+Util.formattedHeures(this.mission.heures)+"</span> heures ("+Util.formattedHeures(this.mission.heuresValidees)+" validées)"}},methods:{calcValidation(e){return e===null?"A valider":e.id===null?"Autovalidée":"Validation du "+Util.dateToString(e.histoCreation)+" par "},saisie(e){modAjax(e.currentTarget,t=>{this.refresh()})},supprimer(e){popConfirm(e.currentTarget,t=>{this.$emit("supprimer",this.mission)})},valider(e){popConfirm(e.currentTarget,t=>{this.$emit("refresh",t.data)})},devalider(e){popConfirm(e.currentTarget,t=>{this.$emit("refresh",t.data)})},volumeHoraireSupprimer(e){e.currentTarget.href=unicaenVue.url("mission/volume-horaire/supprimer/:missionVolumeHoraire",{missionVolumeHoraire:e.currentTarget.dataset.id}),popConfirm(e.currentTarget,t=>{this.$emit("refresh",t.data)})},volumeHoraireValider(e){e.currentTarget.href=unicaenVue.url("mission/volume-horaire/valider/:missionVolumeHoraire",{missionVolumeHoraire:e.currentTarget.dataset.id}),popConfirm(e.currentTarget,t=>{this.$emit("refresh",t.data)})},volumeHoraireDevalider(e){e.currentTarget.href=unicaenVue.url("mission/volume-horaire/devalider/:missionVolumeHoraire",{missionVolumeHoraire:e.currentTarget.dataset.id}),popConfirm(e.currentTarget,t=>{this.$emit("refresh",t.data)})},refresh(){unicaenVue.axios.get(unicaenVue.url("mission/get/:mission",{mission:this.mission.id})).then(e=>{this.$emit("refresh",e.data)})}}},V=e=>(N("data-v-1735108d"),e=e(),z(),e),Ne=["id"],ze={class:"card-header card-header-h3"},Ye={key:0},Je={class:"float-end"},Qe={key:1},Xe={key:2},We={class:"float-end"},Ge={class:"card-body"},Ze={class:"row"},Ke={class:"col-md-8"},et={class:"row"},tt={class:"col-md-12"},it=V(()=>i("label",{class:"form-label"},"Composante en charge du suivi",-1)),nt={class:"form-control"},st={class:"row"},rt={class:"col-md-6"},at=V(()=>i("label",{class:"form-label"},"Taux de rémunération",-1)),ot={class:"form-control"},lt={class:"col-md-6"},ut=V(()=>i("label",{class:"form-label"},"Taux majoré (dimanches/jours fériés)",-1)),dt={class:"form-control"},ct={class:"col-md-7"},mt=V(()=>i("label",{class:"form-label"},"Nombre d'heures prévisionnelles",-1)),ht={class:"input-group mb-3"},ft=["innerHTML"],_t=["data-bs-target"],vt={key:0,class:"col-md-5"},pt=V(()=>i("label",{class:"form-label"},"Heures de formation prévues",-1)),bt={class:"form-control"},gt={class:"row"},yt={class:"col-md-12"},xt=V(()=>i("label",{class:"form-label"},"Descriptif de la mission",-1)),Vt={class:"form-control"},Ct={key:0,class:"row"},kt={class:"col-md-12"},St=V(()=>i("label",{class:"form-label"},"Etudiants suivis",-1)),Mt={class:"form-control"},Tt=V(()=>i("div",{class:"row"},[i("div",{class:"col-md-12"}," ")],-1)),Dt={class:"row"},jt={class:"col-md-12"},wt=["href"],Ut=["href"],At=["href"],Rt=["href"],Et={class:"col-md-4"},Lt=V(()=>i("div",null,[i("label",{class:"form-label"},"Suivi")],-1)),Ot={class:"table table-bordered table-condensed"},qt=V(()=>i("thead",null,[i("tr",null,[i("th",null,"Heures"),i("th",null,"Statut"),i("th",null,"Actions")])],-1)),Ht={style:{"text-align":"right"}},Pt=V(()=>i("br",null,null,-1)),$t={key:0},Ft=["data-id"],Bt=["data-id"],It=["data-id"];function Nt(e,t,n,m,l,s){const d=w,o=M,_=S("utilisateur"),k=S("u-heures"),p=$e;return r(),a(g,null,[i("div",{id:n.mission.id,class:j([{"bg-success":n.mission.valide,"bg-default":!n.mission.valide},"card"])},[i("form",{onSubmit:t[4]||(t[4]=b((...v)=>e.submitForm&&e.submitForm(...v),["prevent"]))},[i("div",ze,[n.mission.libelleMission?(r(),a("h5",Ye,[c(h(n.mission.libelleMission)+" ",1),i("span",Je,[c("Du "),f(d,{value:n.mission.dateDebut},null,8,["value"]),c(" au "),f(d,{value:n.mission.dateFin},null,8,["value"])])])):u("",!0),n.mission.libelleMission?(r(),a("h6",Qe,h(n.mission.typeMission.libelle),1)):u("",!0),n.mission.libelleMission?u("",!0):(r(),a("h5",Xe,[c(h(n.mission.typeMission.libelle)+" ",1),i("span",We,[c("Du "),f(d,{value:n.mission.dateDebut},null,8,["value"]),c(" au "),f(d,{value:n.mission.dateFin},null,8,["value"])])]))]),i("div",Ge,[i("div",Ze,[i("div",Ke,[i("div",et,[i("div",tt,[it,i("div",nt,h(n.mission.structure.libelle),1)])]),i("div",st,[i("div",rt,[at,i("div",ot,h(n.mission.tauxRemu?n.mission.tauxRemu.libelle:null),1)]),i("div",lt,[ut,i("div",dt,h(n.mission.tauxRemuMajore?n.mission.tauxRemuMajore.libelle:n.mission.tauxRemu?"Idem ("+n.mission.tauxRemu.libelle+")":null),1)]),i("div",ct,[mt,i("div",ht,[i("div",{class:"form-control",innerHTML:s.heuresLib},null,8,ft),i("button",{"data-bs-target":`#details-${n.mission.id}`,class:"input-group-btn btn btn-secondary","data-bs-toggle":"modal"}," Détails ",8,_t)])]),n.mission.typeMission.besoinFormation?(r(),a("div",vt,[pt,i("div",bt,h(n.mission.heuresFormation),1)])):u("",!0)]),i("div",gt,[i("div",yt,[xt,i("div",Vt,h(n.mission.description),1)])]),n.mission.typeMission.accompagnementEtudiants?(r(),a("div",Ct,[i("div",kt,[St,i("div",Mt,[i("pre",null,h(n.mission.etudiantsSuivis),1)])])])):u("",!0),Tt,i("div",Dt,[i("div",jt,[n.mission.canSaisie?(r(),a("a",{key:0,href:l.saisieUrl,class:"btn btn-primary",onClick:t[0]||(t[0]=b((...v)=>s.saisie&&s.saisie(...v),["prevent"]))},"Modifier",8,wt)):u("",!0),n.mission.canValider?(r(),a("a",{key:1,href:l.validerUrl,class:"btn btn-secondary","data-content":"Êtes-vous sur de vouloir valider la mission ?","data-title":"Validation de la mission",onClick:t[1]||(t[1]=b((...v)=>s.valider&&s.valider(...v),["prevent"]))},"Valider",8,Ut)):u("",!0),n.mission.canDevalider?(r(),a("a",{key:2,href:l.devaliderUrl,class:"btn btn-danger","data-content":"Êtes-vous sur de vouloir dévalider la mission ?","data-title":"Dévalidation de la mission",onClick:t[2]||(t[2]=b((...v)=>s.devalider&&s.devalider(...v),["prevent"]))},"Dévalider",8,At)):u("",!0),n.mission.canSupprimer?(r(),a("a",{key:3,href:l.supprimerUrl,class:"btn btn-danger","data-content":"Êtes-vous sur de vouloir supprimer la mission ?","data-title":"Suppression de la mission",onClick:t[3]||(t[3]=b((...v)=>s.supprimer&&s.supprimer(...v),["prevent"]))},"Supprimer",8,Rt)):u("",!0)])])]),i("div",Et,[Lt,i("div",null,[f(o,{name:"thumbs-up",variant:"success"}),c(" Créé le "),f(d,{value:n.mission.histoCreation},null,8,["value"]),c(" par "),f(_,{mail:n.mission.histoCreateur.email,nom:n.mission.histoCreateur.displayName},null,8,["mail","nom"])]),i("div",null,[f(o,{name:n.mission.valide?"thumbs-up":"thumbs-down",variant:n.mission.valide?"success":"info"},null,8,["name","variant"]),c(" "+h(l.validationText)+" ",1),n.mission.validation&&n.mission.validation.histoCreateur?(r(),C(_,{key:0,mail:n.mission.validation.histoCreateur.email,nom:n.mission.validation.histoCreateur.displayName},null,8,["mail","nom"])):u("",!0)]),i("div",null,[f(o,{name:n.mission.contrat?"thumbs-up":"thumbs-down",variant:n.mission.contrat?"success":"info"},null,8,["name","variant"]),c(" "+h(n.mission.contrat?"Contrat établi":"Pas de contrat"),1)]),i("div",null,h(n.mission.heuresRealisees)+" heure"+h(n.mission.heuresRealisees<2?"":"s")+" réalisée"+h(n.mission.heuresRealisees<2?"":"s"),1)])])])],32)],10,Ne),f(p,{id:`details-${n.mission.id}`,title:"Détail des heures prévisionnelles"},{body:O(()=>[i("table",Ot,[qt,i("tbody",null,[(r(!0),a(g,null,y(n.mission.volumesHorairesPrevus,v=>(r(),a("tr",{key:v.id},[i("td",Ht,[f(k,{valeur:v.heures},null,8,["valeur"])]),i("td",null,[f(o,{name:"thumbs-up",variant:"success"}),c(" Saisi par "),f(_,{mail:v.histoCreateur.email,nom:v.histoCreateur.displayName},null,8,["mail","nom"]),c(" le "),f(d,{value:v.histoCreation},null,8,["value"]),Pt,f(o,{name:v.valide?"thumbs-up":"thumbs-down",variant:v.valide?"success":"info"},null,8,["name","variant"]),c(" "+h(v.validation&&v.validation.id==null?"Autovalidé":v.validation?"":"à valider")+" ",1),v.validation&&v.validation.histoCreateur?(r(),a("span",$t,[c(" Validé par "),f(_,{mail:v.validation.histoCreateur.email,nom:v.validation.histoCreateur.displayName},null,8,["mail","nom"]),c(" le "),f(d,{value:v.validation.histoCreation},null,8,["value"])])):u("",!0)]),i("td",null,[v.canValider?(r(),a("a",{key:0,"data-id":v.id,class:"btn btn-secondary","data-content":"Êtes-vous sur de vouloir valider ce volume horaire ?","data-title":"Validation du volume horaire",onClick:t[5]||(t[5]=b((...T)=>s.volumeHoraireValider&&s.volumeHoraireValider(...T),["prevent"]))},"Valider",8,Ft)):u("",!0),v.canDevalider?(r(),a("a",{key:1,"data-id":v.id,class:"btn btn-danger","data-content":"Êtes-vous sur de vouloir dévalider ce volume horaire ?","data-title":"Dévalidation du volume horaire",onClick:t[6]||(t[6]=b((...T)=>s.volumeHoraireDevalider&&s.volumeHoraireDevalider(...T),["prevent"]))},"Dévalider",8,Bt)):u("",!0),v.canSupprimer?(r(),a("a",{key:2,"data-id":v.id,class:"btn btn-danger","data-content":"Êtes-vous sur de vouloir supprimer le volume horaire ?","data-title":"Suppression du volume horaire",onClick:t[7]||(t[7]=b((...T)=>s.volumeHoraireSupprimer&&s.volumeHoraireSupprimer(...T),["prevent"]))},"Supprimer",8,It)):u("",!0)])]))),128))])])]),footer:O(()=>[]),_:1},8,["id"])],64)}const H=x(Ie,[["render",Nt],["__scopeId","data-v-1735108d"]]),zt=Object.freeze(Object.defineProperty({__proto__:null,default:H},Symbol.toStringTag,{value:"Module"})),Yt={components:{mission:H},props:{intervenant:{type:Number,required:!0},canAddMission:{type:Boolean,required:!0}},data(){return{missions:[],isMounted:!1,ajoutUrl:unicaenVue.url("mission/ajout/:intervenant",{intervenant:this.intervenant})}},mounted(){this.reload()},methods:{ajout(e){modAjax(e.currentTarget,t=>{this.reload()})},supprimer(e){this.reload()},refresh(e){let t=Util.json.indexById(this.missions,e.id);this.missions[t]=e,this.refreshPlafonds()},reload(){unicaenVue.axios.get(unicaenVue.url("mission/liste/:intervenant",{intervenant:this.intervenant})).then(e=>{this.missions=e.data,this.refreshPlafonds()})},refreshPlafonds(){this.isMounted?($(".plafonds").refresh(),$("#sidebar").refresh()):this.isMounted=!0}}},Jt=["href"];function Qt(e,t,n,m,l,s){const d=S("mission");return r(),a(g,null,[(r(!0),a(g,null,y(l.missions,o=>(r(),C(d,{onSupprimer:s.supprimer,onRefresh:s.refresh,key:o.id,mission:o},null,8,["onSupprimer","onRefresh","mission"]))),128)),n.canAddMission?(r(),a("a",{key:0,class:"btn btn-primary",href:l.ajoutUrl,onClick:t[0]||(t[0]=b((...o)=>s.ajout&&s.ajout(...o),["prevent"]))},"Ajout d'une nouvelle mission",8,Jt)):u("",!0)],64)}const Xt=x(Yt,[["render",Qt]]),Wt=Object.freeze(Object.defineProperty({__proto__:null,default:Xt},Symbol.toStringTag,{value:"Module"})),Gt={name:"ListeCandidatures.vue",props:{intervenant:{required:!0},canValiderCandidature:{type:Boolean,required:!1}},data(){return{candidatures:[],urlListeOffre:unicaenVue.url("offre-emploi")}},mounted(){this.reload()},methods:{reload(){unicaenVue.axios.get(unicaenVue.url("intervenant/:intervenant/get-candidatures",{intervenant:this.intervenant})).then(e=>{this.candidatures=e.data})},validerCandidature(e){popConfirm(e.target,t=>{this.reload()})},refuserCandidature(e){popConfirm(e.target,t=>{this.reload()})},urlOffre(e){return unicaenVue.url("offre-emploi/detail/:offre",{offre:e.offre.id})},urlAccepterCandidature:function(e){return unicaenVue.url("offre-emploi/accepter-candidature/:id",{id:e.id})},urlRefuserCandidature:function(e){return unicaenVue.url("offre-emploi/refuser-candidature/:id",{id:e.id})}}},Zt={class:"table table-bordered"},Kt=i("th",null,"Offre d'emploi",-1),ei=i("th",null,"Composante",-1),ti=i("th",null,"Etat",-1),ii={key:0},ni={key:0},si={key:0,colspan:"4",style:{"text-align":"center"}},ri={key:1,colspan:"3",style:{"text-align":"center"}},ai={style:{"text-align":"center"}},oi=["href"],li={style:{"text-align":"center"}},ui={style:{"text-align":"center"}},di={key:0,class:"badge rounded-pill bg-success"},ci={key:1,class:"badge rounded-pill bg-danger"},mi={key:2,class:"badge rounded-pill bg-warning"},hi={key:0,style:{"text-align":"center"}},fi=["href"],_i=i("i",{class:"fa-solid fa-check"},null,-1),vi=[_i],pi=["href"],bi=i("i",{class:"fa-sharp fa-solid fa-xmark"},null,-1),gi=[bi],yi=["href"];function xi(e,t,n,m,l,s){const d=M;return r(),a("div",null,[i("table",Zt,[i("thead",null,[i("tr",null,[Kt,ei,ti,n.canValiderCandidature?(r(),a("th",ii,"Action")):u("",!0)])]),i("tbody",null,[l.candidatures.length==0?(r(),a("tr",ni,[n.canValiderCandidature?(r(),a("td",si,"Aucune candidature")):u("",!0),n.canValiderCandidature?u("",!0):(r(),a("td",ri,"Aucune candidature"))])):u("",!0),(r(!0),a(g,null,y(l.candidatures,o=>(r(),a("tr",{key:o.id},[i("td",ai,[i("a",{href:s.urlOffre(o)},h(o.offre.titre),9,oi)]),i("td",li,h(o.offre.structure.libelleLong),1),i("td",ui,[o.validation?(r(),a("span",di,"Acceptée par "+h(o.validation.histoCreateur.displayName),1)):u("",!0),!o.validation&&o.motif!==null?(r(),a("span",ci,h(o.motif),1)):u("",!0),!o.validation&&o.motif===null?(r(),a("span",mi,"En attente d'acceptation")):u("",!0)]),this.canValiderCandidature?(r(),a("td",hi,[o.validation?u("",!0):(r(),a("a",{key:0,href:s.urlAccepterCandidature(o),class:"btn btn-success","data-content":"Êtes vous sûr de vouloir accepter cette candidature ?","data-title":"Accepter la candidature",style:{color:"white"},title:"Accepter la candidature",onClick:t[0]||(t[0]=b((..._)=>s.validerCandidature&&s.validerCandidature(..._),["prevent"]))},vi,8,fi)),c("  "),i("a",{href:s.urlRefuserCandidature(o),class:"btn btn-danger","data-content":"Êtes vous sûr de vouloir refuser cette candidature ?","data-title":"Refuser la candidature",style:{color:"white"},title:"Refuser la candidature",onClick:t[1]||(t[1]=b((..._)=>s.refuserCandidature&&s.refuserCandidature(..._),["prevent"]))},gi,8,pi)])):u("",!0)]))),128))])]),i("a",{href:l.urlListeOffre,class:"btn btn-primary",title:"Voir les offres d'emploi"},[f(d,{name:"eye"}),c(" Voir toutes les offres d'emploi ")],8,yi),c("  ")])}const Vi=x(Gt,[["render",xi]]),Ci=Object.freeze(Object.defineProperty({__proto__:null,default:Vi},Symbol.toStringTag,{value:"Module"})),ki={name:"OffreEmploi.vue",props:{offre:{required:!0},utilisateur:{required:!1},extended:{type:Boolean,required:!1},canModifier:{type:Boolean,required:!1},canPostuler:{type:Boolean,required:!1},canValider:{type:Boolean,required:!1},canSupprimer:{type:Boolean,required:!1},canVoirCandidature:{type:Boolean,required:!1},canValiderCandidature:{type:Boolean,required:!1}},data(){return{saisirUrl:unicaenVue.url("offre-emploi/saisir/:offre",{offre:this.offre.id}),supprimerUrl:unicaenVue.url("offre-emploi/supprimer/:offre",{offre:this.offre.id}),validerUrl:unicaenVue.url("offre-emploi/valider/:offre",{offre:this.offre.id}),devaliderUrl:unicaenVue.url("offre-emploi/devalider/:offre",{offre:this.offre.id}),consulterUrl:unicaenVue.url("offre-emploi/detail/:offre",{offre:this.offre.id}),offreEmploiUrl:unicaenVue.url("offre-emploi"),postulerUrl:unicaenVue.url("offre-emploi/postuler/:id",{id:this.offre.id})}},computed:{isCandidat:function(){return!1},shortDesc:function(){let e=this.offre.description.substr(0,200);return this.offre.description.length>200&&(e+="..."),e},descriptionHtml:function(){return this.offre.description.replace(/(?:\r\n|\r|\n)/g,"<br />")},connectionLink:function(){let e="auth/connexion?redirect="+window.location.href;return unicaenVue.url(e)}},methods:{saisir(e){modAjax(e.target,t=>{this.refresh()})},urlVoir:function(e){return unicaenVue.url("intervenant/:code/voir",{code:"code:"+e.intervenant.code})},urlVoirCandidature:function(e){return unicaenVue.url("intervenant/:code/candidature",{code:"code:"+e.intervenant.code})},urlAccepterCandidature:function(e){return unicaenVue.url("offre-emploi/accepter-candidature/:id",{id:e.id})},urlRefuserCandidature:function(e){return unicaenVue.url("offre-emploi/refuser-candidature/:id",{id:e.id})},refresh(){unicaenVue.axios.get(unicaenVue.url("offre-emploi/get/:offreEmploi",{offreEmploi:this.offre.id})).then(e=>{this.$emit("refresh",e.data)})},supprimer(e){popConfirm(e.target,t=>{this.$emit("supprimer",this.offre)})},postuler(e){popConfirm(e.target,t=>{this.$emit("postuler",this.offre)})},valider(e){popConfirm(e.currentTarget,t=>{this.$emit("refresh",t.data)})},devalider(e){popConfirm(e.currentTarget,t=>{this.$emit("refresh",t.data)})},validerCandidature(e){popConfirm(e.currentTarget,t=>{this.$emit("refresh",t.data)})},refuserCandidature(e){popConfirm(e.currentTarget,t=>{this.$emit("refresh",t.data)})}}},Si={key:0,class:"col"},Mi={class:"card h-100"},Ti={class:"card-header"},Di={class:"badge rounded-pill bg-info"},ji={key:0,class:"badge rounded-pill bg-success"},wi={key:1,class:"badge rounded-pill bg-warning"},Ui={class:"card-body"},Ai={class:"bg-light",style:{padding:"5px"}},Ri=i("b",null,"Créée le : ",-1),Ei=i("br",null,null,-1),Li=i("b",null,"Période à pourvoir : ",-1),Oi=i("br",null,null,-1),qi=i("b",null,"Demandée par la composante :",-1),Hi=i("br",null,null,-1),Pi=i("b",null,"Type de mission :",-1),$i={class:"card-footer"},Fi={class:"d-grid gap-2 d-md-flex justify-content-md-end"},Bi=["href"],Ii={key:1},Ni={class:"page-header"},zi={key:0,class:"alert alert-primary d-flex align-items-center",role:"alert"},Yi=i("i",{class:"fa-solid fa-user"},null,-1),Ji={class:"ms-2"},Qi=["href"],Xi={key:1,class:"alert alert-primary d-flex align-items-center",role:"alert"},Wi=i("i",{class:"fa-solid fa-circle-xmark"},null,-1),Gi=i("div",{class:"ms-2"}," Vous n'avez pas les droits pour postuler à cette offre, merci de contacter votre administration de rattachement. ",-1),Zi=[Wi,Gi],Ki={key:2,class:"alert alert-primary d-flex align-items-center",role:"alert"},en=i("i",{class:"fa-solid fa-circle-xmark"},null,-1),tn=i("div",{class:"ms-2"}," Vous avez déjà postulé à cette offre. ",-1),nn=[en,tn],sn={class:"bg-light",style:{padding:"10px"}},rn=i("b",null,"Créée le : ",-1),an=i("br",null,null,-1),on=i("b",null,"Période à pourvoir : ",-1),ln=i("br",null,null,-1),un=i("b",null,"Date limite de candidature :",-1),dn=i("br",null,null,-1),cn=i("b",null,"Demandé par la composante :",-1),mn=i("br",null,null,-1),hn=i("b",null,"Type de mission :",-1),fn=i("br",null,null,-1),_n=i("b",null,"Nombre d'heures pour la mission :",-1),vn=i("br",null,null,-1),pn=i("b",null,"Nombre de postes à pourvoir :",-1),bn=i("br",null,null,-1),gn=["innerHTML"],yn=i("br",null,null,-1),xn={key:3},Vn=i("h5",null,[i("strong",null,"Liste des candidats :")],-1),Cn={class:"table table-bordered"},kn=i("th",null,"Intervenant",-1),Sn=i("th",null,"Etat",-1),Mn={key:0},Tn={key:0},Dn={key:0,colspan:"4",style:{"text-align":"center"}},jn={key:1,colspan:"3",style:{"text-align":"center"}},wn=["href"],Un={key:0,class:"badge rounded-pill bg-success"},An={key:1,class:"badge rounded-pill bg-danger"},Rn={key:2,class:"badge rounded-pill bg-warning"},En={key:0},Ln=["href"],On={class:"mt-5"},qn=["href"],Hn=["href"],Pn=["href"],$n=["href"],Fn=["href"],Bn=["href"];function In(e,t,n,m,l,s){const d=w,o=M;return r(),a(g,null,[this.extended?u("",!0):(r(),a("div",Si,[i("div",Mi,[i("div",Ti,[i("h4",null,h(n.offre.titre),1),i("span",Di,h(n.offre.nombreHeures)+" heure(s)",1),c("   "),n.offre.validation?(r(),a("span",ji,[c("Validée le "),f(d,{value:n.offre.validation.histoCreation},null,8,["value"]),c(" par "+h(n.offre.validation.histoCreateur.displayName),1)])):u("",!0),n.offre.validation?u("",!0):(r(),a("span",wi," En attente de validation par la DRH")),c("  ")]),i("div",Ui,[i("p",Ai,[Ri,f(d,{value:n.offre.histoCreation},null,8,["value"]),c(" par "+h(n.offre.histoCreateur.displayName),1),Ei,Li,c("du "),f(d,{value:n.offre.dateDebut},null,8,["value"]),c(" au "),f(d,{value:n.offre.dateFin},null,8,["value"]),Oi,qi,c(" "+h(n.offre.structure.libelleCourt)+" ",1),Hi,Pi,c(" "+h(n.offre.typeMission.libelle),1)]),c(" "+h(s.shortDesc),1)]),i("div",$i,[i("div",Fi,[i("a",{href:l.consulterUrl,class:"btn btn-primary",title:"Consulter "},[f(o,{name:"eye"}),c(" Voir ")],8,Bi)])])])])),this.extended?(r(),a("div",Ii,[i("h1",Ni,h(n.offre.titre),1),this.utilisateur?u("",!0):(r(),a("div",zi,[Yi,i("div",Ji,[c(" Vous devez "),i("a",{href:s.connectionLink,class:"text-decoration-underline alert-link"},"être identifé",8,Qi),c(" pour pouvoir postuler. ")])])),!n.offre.canPostuler&&this.utilisateur?(r(),a("div",Xi,Zi)):u("",!0),s.isCandidat&&this.utilisateur?(r(),a("div",Ki,nn)):u("",!0),i("p",sn,[rn,f(d,{value:n.offre.histoCreation},null,8,["value"]),c(" par "+h(n.offre.histoCreateur.displayName),1),an,on,c("du "),f(d,{value:n.offre.dateDebut},null,8,["value"]),c(" au "),f(d,{value:n.offre.dateFin},null,8,["value"]),ln,un,f(d,{value:n.offre.dateLimite},null,8,["value"]),dn,cn,c(" "+h(n.offre.structure.libelleCourt)+" ",1),mn,hn,c(" "+h(n.offre.typeMission.libelle)+" ",1),fn,_n,c(" "+h(n.offre.nombreHeures)+" heure(s) ",1),vn,pn,c(" "+h(n.offre.nombrePostes)+" poste(s) ",1),bn]),i("p",{innerHTML:s.descriptionHtml},null,8,gn),yn,this.canValiderCandidature?(r(),a("div",xn,[Vn,i("table",Cn,[i("thead",null,[i("tr",null,[kn,Sn,n.canValiderCandidature?(r(),a("th",Mn,"Action")):u("",!0)])]),i("tbody",null,[n.offre.candidatures.length==0?(r(),a("tr",Tn,[n.canValiderCandidature?(r(),a("td",Dn,"Aucune candidature")):u("",!0),n.canValiderCandidature?u("",!0):(r(),a("td",jn,"Aucune candidature"))])):u("",!0),(r(!0),a(g,null,y(n.offre.candidatures,_=>(r(),a("tr",null,[i("td",null,[i("a",{href:s.urlVoir(_)},h(_.intervenant.prenom+" "+_.intervenant.nomUsuel),9,wn)]),i("td",null,[_.validation?(r(),a("span",Un,[c("Acceptée le "),f(d,{value:_.validation.histoCreation},null,8,["value"]),c(" par "+h(_.validation.histoCreateur.displayName),1)])):u("",!0),!_.validation&&_.motif!==null?(r(),a("span",An,h(_.motif),1)):u("",!0),!_.validation&&_.motif===null?(r(),a("span",Rn,"En attente d'acceptation")):u("",!0)]),this.canValiderCandidature?(r(),a("td",En,[i("a",{href:s.urlVoirCandidature(_),class:"btn btn-primary",title:"Consulter "},[f(o,{name:"eye"}),c(" Voir ")],8,Ln)])):u("",!0)]))),256))])])])):u("",!0),i("div",On,[i("a",{href:l.offreEmploiUrl,class:"btn btn-secondary"},"Retour aux offres",8,qn),c("  "),this.canPostuler?(r(),a("a",{key:0,href:l.postulerUrl,class:"btn btn-primary","data-bs-original-title":"Vous devez être connecté pour postuler","data-bs-placement":"top","data-bs-toggle":"tooltip"},"Postuler",8,Hn)):u("",!0),c("  "),n.offre.canModifier?(r(),a("a",{key:1,href:l.saisirUrl,class:"btn btn-primary",title:"Modifier",onClick:t[0]||(t[0]=b((..._)=>s.saisir&&s.saisir(..._),["prevent"]))},[f(o,{name:"pen-to-square"}),c(" Modifier ")],8,Pn)):u("",!0),c("  "),n.offre.validation&&n.offre.canValider?(r(),a("a",{key:2,href:l.devaliderUrl,class:"btn btn-danger",title:"Devalider",onClick:t[1]||(t[1]=b((..._)=>s.devalider&&s.devalider(..._),["prevent"]))},[f(o,{name:"thumbs-down"}),c(" Devalider ")],8,$n)):u("",!0),c("  "),!n.offre.validation&&n.offre.canValider?(r(),a("a",{key:3,href:l.validerUrl,class:"btn btn-success",title:"Valider",onClick:t[2]||(t[2]=b((..._)=>s.valider&&s.valider(..._),["prevent"]))},[f(o,{name:"thumbs-up"}),c(" Valider ")],8,Fn)):u("",!0),c("  "),n.offre.canSupprimer?(r(),a("a",{key:4,href:l.supprimerUrl,class:"btn btn-danger","data-content":"Êtes-vous sur de vouloir supprimer l'offre ?","data-title":"Suppression de l'offre",title:"Supprimer",onClick:t[3]||(t[3]=b((..._)=>s.supprimer&&s.supprimer(..._),["prevent"]))},[f(o,{name:"trash"}),c(" Supprimer ")],8,Bn)):u("",!0)])])):u("",!0)],64)}const P=x(ki,[["render",In]]),Nn=Object.freeze(Object.defineProperty({__proto__:null,default:P},Symbol.toStringTag,{value:"Module"})),zn={components:{offreEmploi:P},props:{id:{type:Number,required:!1},utilisateur:{required:!1},canModifier:{type:Boolean,required:!1},canPostuler:{type:Boolean,required:!1},canValider:{type:Boolean,required:!1},canVoirCandidature:{type:Boolean,required:!1},canValiderCandidature:{type:Boolean,required:!1},canSupprimer:{type:Boolean,required:!1}},data(){return{offres:[],ajoutUrl:unicaenVue.url("offre-emploi/saisir")}},mounted(){this.reload()},computed:{extended:function(){return!!this.id}},methods:{ajout(e){modAjax(e.target,t=>{this.reload()})},supprimer(){window.location.href=unicaenVue.url("offre-emploi")},refresh(e){let t=Util.json.indexById(this.offres,e.id);this.offres[t]=e},reload(){this.id?unicaenVue.axios.get(unicaenVue.url("offre-emploi/get/:offreEmploi",{offreEmploi:this.id})).then(e=>{this.offres=[e.data]}):unicaenVue.axios.get(unicaenVue.url("offre-emploi/liste")).then(e=>{this.offres=e.data})}}},Yn={key:0,class:"row row-cols-1 row-cols-md-2 g-4 mb-3"},Jn={key:1},Qn=["href"],Xn={key:2};function Wn(e,t,n,m,l,s){const d=S("offreEmploi");return r(),a(g,null,[s.extended?u("",!0):(r(),a("div",Yn,[(r(!0),a(g,null,y(l.offres,o=>(r(),C(d,{key:o.id,canModifier:this.canModifier,canSupprimer:this.canSupprimer,canValider:this.canValider,canVoirCandidature:this.canVoirCandidature,offre:o,onRefresh:s.refresh,onSupprimer:s.supprimer},null,8,["canModifier","canSupprimer","canValider","canVoirCandidature","offre","onRefresh","onSupprimer"]))),128))])),s.extended?u("",!0):(r(),a("div",Jn,[this.canModifier?(r(),a("a",{key:0,href:l.ajoutUrl,class:"btn btn-primary",onClick:t[0]||(t[0]=b((...o)=>s.ajout&&s.ajout(...o),["prevent"]))},"Ajouter une nouvelle offre",8,Qn)):u("",!0)])),s.extended?(r(),a("div",Xn,[(r(!0),a(g,null,y(l.offres,o=>(r(),C(d,{key:o.id,canModifier:this.canModifier,canPostuler:this.canPostuler,canSupprimer:this.canSupprimer,canValider:this.canValider,canValiderCandidature:this.canValiderCandidature,canVoirCandidature:this.canVoirCandidature,extended:s.extended,offre:o,utilisateur:this.utilisateur,onRefresh:s.refresh,onSupprimer:s.supprimer},null,8,["canModifier","canPostuler","canSupprimer","canValider","canValiderCandidature","canVoirCandidature","extended","offre","utilisateur","onRefresh","onSupprimer"]))),128))])):u("",!0)],64)}const Gn=x(zn,[["render",Wn]]),Zn=Object.freeze(Object.defineProperty({__proto__:null,default:Gn},Symbol.toStringTag,{value:"Module"}));const Kn={name:"UCalendar",props:{date:{type:Date,required:!0},events:{type:Array,required:!0},canAddEvent:{type:Boolean,required:!0,default:!0},addDateDebut:{type:String,required:!1},addDateFin:{type:String,required:!1}},data(){const e=new Date(this.date);return{mois:e.getMonth()+1,annee:e.getFullYear()}},computed:{listeJours(){const e=new Date(this.date);e.setDate(1),e.setMonth(e.getMonth()+1),e.setDate(e.getDate()-1);let t=e.getDate();return Array.from({length:t},(n,m)=>m+1)}},watch:{date:function(e,t){const n=new Date(this.date);this.mois=n.getMonth()+1,this.annee=n.getFullYear()},mois:function(e,t){const n=new Date(this.date);n.setMonth(e-1),this.$emit("changeDate",n)},annee:function(e,t){const n=new Date(this.date);n.setFullYear(e),this.$emit("changeDate",n)}},methods:{nomJour(e){const t=new Date(this.date);return t.setDate(e),t.toLocaleString("fr-FR",{weekday:"short"})},listeMois(){let e=[];const t=new Date;for(let n=1;n<=12;n++){t.setMonth(n-1);let m=t.toLocaleString("fr-FR",{month:"long"});e.push({id:n,libelle:m})}return e},listeAnnees(){const t=new Date().getFullYear(),n=1;let m=[];for(let l=t-n;l<=t+n;l++)m.push(l);return m},canAdd(e){if(!this.canAddEvent)return!1;let t=this.addDateDebut;t===void 0?t=new Date("2000-01-01"):t==="now"?t=new Date:t=new Date(t);let n=this.addDateFin;n===void 0?n=new Date("2500-01-01"):n==="now"?n=new Date:n=new Date(n);let m=new Date(this.date);return m.setDate(e),t=this.isoDateOnly(t),n=this.isoDateOnly(n),m=this.isoDateOnly(m),!(m<t||m>n)},addEvent(e){const t=new Date(this.date);t.setDate(e.currentTarget.dataset.jour),this.$emit("addEvent",t,e)},prevMois(){const e=new Date(this.date);e.setMonth(e.getMonth()-1),this.$emit("changeDate",e)},nextMois(){const e=new Date(this.date);e.setMonth(e.getMonth()+1),this.$emit("changeDate",e)},eventsByJour(e){const t=new Date(this.date);let n={};for(let m in this.events){let l=this.events[m];l.date.getFullYear()===t.getFullYear()&&l.date.getMonth()+1===t.getMonth()+1&&l.date.getDate()===e&&(n[m]=l)}return n},isoDateOnly(e){const t=e.getFullYear(),n=String(e.getMonth()+1).padStart(2,"0"),m=String(e.getDate()).padStart(2,"0");return`${t}-${n}-${m}`}}},es={class:"calendar"},ts={class:"recherche"},is={class:"recherche btn-group"},ss=["value"],rs=["value"],as={class:"table table-bordered table-hover table-sm"},os=["data-jour"],ls={class:"nom-jour"},us={class:"numero-jour"},ds={class:"num-jour badge bg-secondary rounded-circle"},cs={key:0},ms=["data-jour"];function hs(e,t,n,m,l,s){const d=M;return r(),a("div",es,[i("div",ts,[i("div",is,[i("button",{class:"btn btn-light",id:"prevMois",onClick:t[0]||(t[0]=(...o)=>s.prevMois&&s.prevMois(...o)),title:"Mois précédant"},[f(d,{name:"chevron-left"})]),D(i("select",{class:"form-select btn btn-light",id:"otherMois","onUpdate:modelValue":t[1]||(t[1]=o=>l.mois=o)},[(r(!0),a(g,null,y(s.listeMois(),o=>(r(),a("option",{value:o.id},h(o.libelle),9,ss))),256))],512),[[q,l.mois]]),D(i("select",{class:"form-select btn btn-light",id:"otherAnnee","onUpdate:modelValue":t[2]||(t[2]=o=>l.annee=o)},[(r(!0),a(g,null,y(s.listeAnnees(),o=>(r(),a("option",{value:o},h(o),9,rs))),256))],512),[[q,l.annee]]),i("button",{class:"btn btn-light",id:"nextMois",onClick:t[3]||(t[3]=(...o)=>s.nextMois&&s.nextMois(...o)),title:"Mois suivant"},[f(d,{name:"chevron-right"})])])]),i("table",as,[(r(!0),a(g,null,y(s.listeJours,o=>(r(),a("tr",{"data-jour":o},[i("th",ls,h(s.nomJour(o)),1),i("th",us,[i("div",ds,h(o<10?"0"+o.toString():o),1)]),i("td",null,[(r(!0),a(g,null,y(s.eventsByJour(o),(_,k)=>(r(),a("div",{class:"event",style:Y("border-color:"+_.color+";background-color:"+_.bgcolor),key:k},[(r(),C(J(_.component),{event:_},null,8,["event"]))],4))),128)),s.canAdd(o)?(r(),a("div",cs,[i("button",{onClick:t[4]||(t[4]=(..._)=>s.addEvent&&s.addEvent(..._)),"data-jour":o,class:"btn btn-light btn-sm"},[f(d,{name:"plus"}),c(" Nouvel événement ")],8,ms)])):u("",!0)])],8,os))),256))])])}const fs=x(Kn,[["render",hs],["__scopeId","data-v-51bbc42d"]]);const _s={name:"SuiviEvent",props:{event:{type:Object,required:!0}},data(){return{suivi:this.$parent.$parent,modifierUrl:unicaenVue.url("mission/suivi/modifier/:id",{id:this.event.id}),supprimerUrl:unicaenVue.url("mission/suivi/supprimer/:id",{id:this.event.id}),validerUrl:unicaenVue.url("mission/suivi/valider/:id",{id:this.event.id}),devaliderUrl:unicaenVue.url("mission/suivi/devalider/:id",{id:this.event.id})}},computed:{heureDebut(){return this.event.heureDebut.toString().replace(":","h")},heureFin(){return this.event.heureFin.toString().replace(":","h")},heures(){return Util.floatToString(this.event.heures)}},methods:{modifier(e){modAjax(e.currentTarget,t=>{this.suivi.refresh()})},supprimer(e){popConfirm(e.currentTarget,t=>{this.suivi.refresh()})},valider(e){unicaenVue.axios.get(this.validerUrl).then(t=>{this.suivi.refresh()})},devalider(e){popConfirm(e.currentTarget,t=>{this.suivi.refresh()})}}},vs={class:"event-content"},ps={class:"mission"},bs={key:0,class:"badge bg-success"},gs={class:"horaires"},ys={key:0,class:"badge bg-secondary"},xs={key:0,class:"description"},Vs={class:"event-actions"},Cs={class:"btn-group btn-group-sm"},ks=["data-url"],Ss=["data-url"],Ms=["data-url"],Ts=["data-url"];function Ds(e,t,n,m,l,s){const d=M;return r(),a(g,null,[i("div",vs,[i("p",ps,[c(h(n.event.mission.libelleCourt)+" ",1),n.event.valide?(r(),a("span",bs,"Validé")):u("",!0)]),i("p",gs,[c(" de "+h(s.heureDebut)+" à "+h(s.heureFin)+", soit "+h(s.heures)+" heure"+h(s.heures<2?"":"s")+" ",1),n.event.formation?(r(),a("span",ys,"En formation")):u("",!0)]),n.event.description?(r(),a("p",xs,h(n.event.description),1)):u("",!0)]),i("div",Vs,[i("div",Cs,[n.event.canEdit?(r(),a("button",{key:0,class:"btn btn-light",onClick:t[0]||(t[0]=(...o)=>s.modifier&&s.modifier(...o)),title:"Modifier le suivi","data-url":l.modifierUrl},[f(d,{name:"pen-to-square"})],8,ks)):u("",!0),n.event.canValider?(r(),a("button",{key:1,class:"btn btn-light",onClick:t[1]||(t[1]=(...o)=>s.valider&&s.valider(...o)),title:"Valider le suivi","data-url":l.validerUrl},[f(d,{name:"check",class:"text-success"})],8,Ss)):u("",!0),n.event.canDevalider?(r(),a("button",{key:2,class:"btn btn-light",onClick:t[2]||(t[2]=(...o)=>s.devalider&&s.devalider(...o)),title:"Dévalider le suivi","data-url":l.devaliderUrl,"data-content":"Voulez-vous vraiment dévalider ce suivi ?"},[f(d,{name:"xmark",class:"text-danger"})],8,Ms)):u("",!0),n.event.canSupprimer?(r(),a("button",{key:3,class:"btn btn-light",onClick:t[3]||(t[3]=(...o)=>s.supprimer&&s.supprimer(...o)),title:"Supprimer le suivi","data-url":l.supprimerUrl,"data-content":"Voulez-vous vraiment supprimer ce suivi ?"},[f(d,{name:"trash-can",class:"text-danger"})],8,Ts)):u("",!0)])])],64)}const F=x(_s,[["render",Ds],["__scopeId","data-v-17cb1f29"]]),js=Object.freeze(Object.defineProperty({__proto__:null,default:F},Symbol.toStringTag,{value:"Module"})),ws={name:"Suivi",props:{intervenant:{type:Number,required:!0},canAddMission:{type:Boolean,required:!0}},mounted(){this.refresh()},data(){return{date:new Date,isMounted:!1,suivi:[]}},methods:{changeDate(e){this.date=e},ajouter(e,t){const n={intervenant:this.intervenant,date:e.toISOString().slice(0,10)};t.currentTarget.dataset.url=unicaenVue.url("mission/suivi/ajout/:intervenant/:date",n),modAjax(t.currentTarget,m=>{this.refresh()})},refresh(){const e=["#e74c3c","#8e44ad","#3498db","#1abc9c","#2ecc71","#f1c40f","#e67e22","#d35400"];let t=0,n=[];unicaenVue.axios.get(unicaenVue.url("mission/suivi/liste/:intervenant",{intervenant:this.intervenant})).then(m=>{let l=[];for(let s in m.data){let d=m.data[s];n[d.mission.id]===void 0&&(n[d.mission.id]=e[t],t++),d.valide&&(d.bgcolor="#d0eddb"),d.color=n[d.mission.id],d.component=Q(F),d.date=new Date(d.date),d.intervenant=this.intervenant,l.push(d)}this.suivi=l,this.refreshPlafonds()})},refreshPlafonds(){this.isMounted?$(".plafonds").refresh():this.isMounted=!0}}};function Us(e,t,n,m,l,s){const d=fs;return r(),C(d,{date:l.date,onChangeDate:s.changeDate,onAddEvent:s.ajouter,"can-add-event":n.canAddMission,addDateFin:"now",events:l.suivi},null,8,["date","onChangeDate","onAddEvent","can-add-event","events"])}const As=x(ws,[["render",Us]]),Rs=Object.freeze(Object.defineProperty({__proto__:null,default:As},Symbol.toStringTag,{value:"Module"})),Es={name:"Taux",props:{taux:{required:!0},listeTaux:{required:!0}},data(){return{saisieUrl:unicaenVue.url("taux/saisir/:tauxRemu",{tauxRemu:this.taux.id}),supprimerUrl:unicaenVue.url("taux/supprimer/:tauxRemu",{tauxRemu:this.taux.id}),ajoutValeurUrl:unicaenVue.url("taux/saisir-valeur/:tauxRemu",{tauxRemu:this.taux.id})}},methods:{saisie(e){modAjax(e.target,t=>{this.$emit("refreshListe")})},ajoutValeur(e){modAjax(e.target,t=>{this.$emit("refreshListe")})},saisieValeur(e){e.currentTarget.href=unicaenVue.url("taux/saisir-valeur/:tauxRemu/:tauxRemuValeur",{tauxRemu:this.taux.id,tauxRemuValeur:e.currentTarget.dataset.id}),modAjax(e.currentTarget,t=>{this.$emit("refreshListe")})},refreshListe(e){this.$emit("refreshListe")},supprimer(e){popConfirm(e.target,t=>{this.$emit("refreshListe")})},supprimerValeur(e){e.currentTarget.href=unicaenVue.url("taux/supprimer-valeur/:tauxRemuValeur",{tauxRemuValeur:e.currentTarget.dataset.id}),popConfirm(e.currentTarget,t=>{this.$emit("refreshListe")})},refresh(e){unicaenVue.axios.get(unicaenVue.url("taux/get/:tauxRemu",{tauxRemu:e.id})).then(t=>{this.$emit("refresh",t.data)})}}},Ls={class:"card-header"},Os={style:{display:"inline"}},qs={class:"float-end"},Hs=["href"],Ps=["href"],$s={class:"card-body"},Fs={key:0},Bs=i("br",null,null,-1),Is={class:""},Ns={class:"row align-items-start"},zs={class:"col-md-6"},Ys={class:"col"},Js=["data-id"],Qs=["data-id"],Xs=["href"],Ws={key:1,class:"row"},Gs={class:"col-md-7"},Zs=i("br",null,null,-1),Ks={class:"row align-items-start"},er={class:"col-md-8"},tr={class:"col-md-auto"},ir=["data-id"],nr=["data-id"],sr=["href"],rr={class:"col"},ar=i("br",null,null,-1),or={key:0},lr={key:0};function ur(e,t,n,m,l,s){const d=M,o=S("u-heures"),_=w,k=S("taux",!0);return r(),a(g,null,[i("div",{class:j(["card",{"ms-5":n.taux.tauxRemu}])},[i("div",Ls,[i("h3",Os,h(n.taux.libelle)+" ("+h(n.taux.code)+")",1),i("div",qs,[n.taux.canEdit?(r(),a("a",{key:0,href:l.saisieUrl,class:"btn btn-primary",onClick:t[0]||(t[0]=b((...p)=>s.saisie&&s.saisie(...p),["prevent"]))},[f(d,{name:"pen-to-square"}),c(" Modifier")],8,Hs)):u("",!0),c("   "),n.taux.canDelete?(r(),a("a",{key:1,href:l.supprimerUrl,class:"btn btn-danger",onClick:t[1]||(t[1]=b((...p)=>s.supprimer&&s.supprimer(...p),["prevent"]))},[f(d,{name:"trash-can"}),c(" Supprimer")],8,Ps)):u("",!0)])]),i("div",$s,[n.taux.tauxRemu?u("",!0):(r(),a("div",Fs,[c(" Modification :"),Bs,i("ul",null,[(r(!0),a(g,null,y(n.taux.tauxRemuValeurs,p=>(r(),a("div",{key:p.id},[i("li",Is,[i("div",Ns,[i("div",zs,[f(o,{valeur:p.valeur},null,8,["valeur"]),c("€/h à partir du "),f(_,{value:p.dateEffet},null,8,["value"])]),i("div",Ys,[n.taux.canEdit?(r(),a("a",{key:0,class:"text-primary",onClick:t[2]||(t[2]=b((...v)=>s.saisieValeur&&s.saisieValeur(...v),["prevent"])),"data-id":p.id},[f(d,{name:"pen-to-square"})],8,Js)):u("",!0),c("   "),n.taux.canEdit?(r(),a("a",{key:1,class:"text-primary",onClick:t[3]||(t[3]=b((...v)=>s.supprimerValeur&&s.supprimerValeur(...v),["prevent"])),"data-id":p.id},[f(d,{name:"trash-can"})],8,Qs)):u("",!0)])])])]))),128))]),n.taux.canEdit?(r(),a("a",{key:0,href:l.ajoutValeurUrl,class:"btn btn-primary btn-sm",onClick:t[4]||(t[4]=b((...p)=>s.ajoutValeur&&s.ajoutValeur(...p),["prevent"]))},[f(d,{name:"plus"}),c(" Ajouter une valeur ")],8,Xs)):u("",!0)])),n.taux.tauxRemu?(r(),a("div",Ws,[i("div",Gs,[c(" Modification :"),Zs,i("ul",null,[(r(!0),a(g,null,y(n.taux.tauxRemuValeurs,p=>(r(),a("div",null,[i("li",null,[i("div",Ks,[i("div",er,[c(" Coéfficient de "),f(o,{valeur:p.valeur},null,8,["valeur"]),c(" à partir du "),f(_,{value:p.dateEffet},null,8,["value"])]),i("div",tr,[n.taux.canEdit?(r(),a("a",{key:0,class:"text-primary",onClick:t[5]||(t[5]=b((...v)=>s.saisieValeur&&s.saisieValeur(...v),["prevent"])),"data-id":p.id},[f(d,{name:"pen-to-square"})],8,ir)):u("",!0),c("   "),n.taux.canEdit?(r(),a("a",{key:1,class:"text-primary",onClick:t[6]||(t[6]=b((...v)=>s.supprimerValeur&&s.supprimerValeur(...v),["prevent"])),"data-id":p.id},[f(d,{name:"trash-can"})],8,nr)):u("",!0)])])])]))),256))]),n.taux.canEdit?(r(),a("a",{key:0,href:l.ajoutValeurUrl,class:"btn btn-primary btn-sm",onClick:t[7]||(t[7]=b((...p)=>s.ajoutValeur&&s.ajoutValeur(...p),["prevent"]))},[f(d,{name:"plus"})],8,sr)):u("",!0)]),i("div",rr,[c(" Valeurs calculées (indexées sur le taux "+h(n.taux.tauxRemu.libelle)+") : ",1),i("ul",null,[(r(!0),a(g,null,y(n.taux.tauxRemuValeursIndex,p=>(r(),a("div",null,[i("li",null,[f(o,{valeur:p.valeur},null,8,["valeur"]),c("€/h à partir du "),f(_,{value:p.date},null,8,["value"])])]))),256))]),ar])])):u("",!0)])],2),n.taux.tauxRemu?u("",!0):(r(),a("div",or,[(r(!0),a(g,null,y(n.listeTaux,p=>(r(),a("div",{key:p},[p.tauxRemu&&p.tauxRemu.id===n.taux.id?(r(),a("div",lr,[(r(),C(k,{onSupprimer:s.supprimer,onRefreshListe:s.refreshListe,key:n.taux.id,taux:p,listeTaux:n.listeTaux},null,8,["onSupprimer","onRefreshListe","taux","listeTaux"]))])):u("",!0)]))),128))]))],64)}const B=x(Es,[["render",ur]]),dr=Object.freeze(Object.defineProperty({__proto__:null,default:B},Symbol.toStringTag,{value:"Module"})),cr={components:{taux:B},props:{canEditTaux:{type:Boolean,required:!0}},data(){return{listeTaux:[],ajoutUrl:unicaenVue.url("taux/saisir")}},mounted(){this.reload()},methods:{ajout(e){modAjax(e.currentTarget,t=>{this.reload()})},supprimer(){this.reload()},refreshListe(){this.reload()},refresh(e){let t=Util.json.indexById(this.listeTaux,e.id);this.listeTaux[t]=e},reload(){unicaenVue.axios.get(unicaenVue.url("taux/liste-taux")).then(e=>{this.listeTaux=e.data})}}},mr=["href"];function hr(e,t,n,m,l,s){const d=S("taux");return r(),a(g,null,[(r(!0),a(g,null,y(l.listeTaux,o=>(r(),a("div",null,[o.tauxRemu?u("",!0):(r(),C(d,{onSupprimer:s.supprimer,onRefreshListe:s.refreshListe,key:o.id,taux:o,listeTaux:l.listeTaux},null,8,["onSupprimer","onRefreshListe","taux","listeTaux"]))]))),256)),n.canEditTaux?(r(),a("a",{key:0,class:"btn btn-primary",href:l.ajoutUrl,onClick:t[0]||(t[0]=b((...o)=>s.ajout&&s.ajout(...o),["prevent"]))},"Ajout d'un nouveau taux",8,mr)):u("",!0)],64)}const fr=x(cr,[["render",hr]]),_r=Object.freeze(Object.defineProperty({__proto__:null,default:fr},Symbol.toStringTag,{value:"Module"})),vr={UHeures:"Application/UI/UHeures",Utilisateur:"Application/Utilisateur"};function pr(e){for(let t in e)for(let n in e[t])I(e[t][n],t)}function br(){let e=document.getElementById("unicaen-vue-toast-container");return e||(e=document.createElement("div"),e.id="unicaen-vue-toast-container",e.classList.add("toast-container","position-fixed","top-0","end-0","p-3"),document.body.appendChild(e)),e}function gr(e){return e=yr(e),e=xr(e),e}function yr(e){const t=document.createElement("div");t.innerHTML=e;const n=t.querySelector(".alert");return n?n.innerHTML:t.innerHTML}function xr(e){const t=document.createElement("div");return t.innerHTML=e,t.querySelectorAll("i.fas").forEach(m=>m.style.display="none"),t.innerHTML}function I(e,t){const n={info:"bg-info",success:"bg-success",warning:"bg-warning",error:"bg-danger"},m={info:"info-circle",success:"check-circle",warning:"exclamation-circle",error:"exclamation-triangle"},l=document.createElement("button");l.classList.add("btn-close","btn-close-white","h5"),l.style.float="right",l.setAttribute("data-bs-dismiss","toast"),l.setAttribute("aria-label","Close");const s=document.createElement("i");s.classList.add("icon","fas",`fa-${m[t]}`),s.style.float="left",s.style.fontSize="26pt",s.style.paddingLeft=".4rem",s.style.marginTop=".4rem",s.style.paddingRight="1rem";const d=document.createElement("div");d.classList.add("toast-body"),d.innerHTML=gr(e);const o=document.createElement("div");o.appendChild(l),o.appendChild(s),o.appendChild(d);const _=document.createElement("div");_.classList.add("toast","text-white",n[t]?n[t]:"bg-secondary"),_.setAttribute("role","alert"),_.setAttribute("aria-live","assertive"),_.setAttribute("aria-atomic","true"),t==="error"&&e.length>500&&_.setAttribute("style","width:700px"),_.appendChild(o),br().appendChild(_);const k={animation:!0,delay:t==="warning"?15e3:5e3,autohide:t!=="error"};new bootstrap.Toast(_,k).show()}const R={toast:I,toasts:pr};let U={...X};U.interceptors.request.use(e=>{if(e.submitter){let t=e.msg?e.msg:"Action en cours";e.popover!=null&&e.popover.dispose(),e.popover=new bootstrap.Popover(e.submitter,{content:`<div class="spinner-border text-primary" role="status">
+  <span class="visually-hidden">Loading...</span>
+</div> `+t,html:!0,trigger:"focus"}),e.popover.show()}return e});U.interceptors.response.use(e=>{if(e.messages=e.data.messages,e.data=e.data.data,e.hasErrors=!!(e.messages&&e.messages.error&&e.messages.error.length>0),e.config.popover){var t=e.config.popover;let n="";for(ns in e.messages)for(mid in e.messages[ns])n+='<div class="alert fade show alert-'+(ns=="error"?"danger":ns)+'" role="alert">'+e.messages[ns][mid]+"</div>";n?(t._config.content=n,t.setContent(),setTimeout(()=>{t.dispose()},5e3)):t.dispose()}return e.messages&&R.toasts(e.messages),e},e=>{let t=e.response.data;e.response.status==403?t="<h4>403 - Accès interdit</h4><br />Vous n'êtes pas autorisé(e) à faire cette action.":t=e.response.data,R.toast(t,"error")});U.defaults.headers.common["X-Requested-With"]="XMLHttpRequest";const Vr={uvAxios:U},E={axios:Vr.uvAxios,flashMessenger:R,url:(e,t,n)=>{let m=window.__unicaenVueBaseUrl;if(t)for(let s in t)e=e.replace(`:${s}`,t[s]);let l=n?E.encodeUrlQueryParam(n):null;return m+e+(l?`?${l}`:"")},encodeUrlQueryParam:(e,t)=>{var n=[];for(var m in e)if(e.hasOwnProperty(m)){var l=e[m],s=t?t+"["+encodeURIComponent(m)+"]":encodeURIComponent(m);if(typeof l=="object"&&l!==null)n.push(E.encodeUrlQueryParam(l,s));else{var d=encodeURIComponent(l);n.push(s+"="+d)}}return n.join("&")}};window.unicaenVue=E;function Cr(e,t){const n={};t===void 0&&(t={});for(const m in e){let s=m.slice(2,-4).replace("/","");n[s]=e[m].default}for(const m of document.getElementsByClassName("vue-app")){let l=W({template:m.innerHTML,components:n});if(t.beforeMount!==void 0&&t.beforeMount(l),t.autoloads!==void 0)for(const s in t.autoloads){let d=t.autoloads[s].replace("/","");l.component(s,n[d])}l.mount(m),t.afterMount!==void 0&&t.afterMount(l)}}const kr={init:Cr},Sr=Object.assign({"./Application/UI/UHeures.vue":te,"./Application/Utilisateur.vue":ae,"./Intervenant/Recherche.vue":De,"./Mission/Liste.vue":Wt,"./Mission/ListeCandidatures.vue":Ci,"./Mission/ListeOffreEmploi.vue":Zn,"./Mission/Mission.vue":zt,"./Mission/OffreEmploi.vue":Nn,"./Mission/Suivi.vue":Rs,"./Mission/SuiviEvent.vue":js,"./Paiement/ListeTaux.vue":_r,"./Paiement/Taux.vue":dr}),Mr={autoloads:vr};kr.init(Sr,Mr);