diff --git a/imports/ui/Usuaris.jsx b/imports/ui/Usuaris.jsx index afadf0c..0dece71 100644 --- a/imports/ui/Usuaris.jsx +++ b/imports/ui/Usuaris.jsx @@ -36,7 +36,7 @@ import { useNavigate, Link } from 'react-router-dom'; // ; // }; -const U = ({u, esAdministrador}) => { +const U = ({u, esAdministrador, setUsrSeleccionat}) => { const [adm, setAdm] = useState(false); const [mon, setMon] = useState(false); @@ -99,6 +99,7 @@ const U = ({u, esAdministrador}) => { return
{ ev.preventDefault(); ev.stopPropagation(); - alert("Click en missatges"); + // alert("Click en missatges"); }} > + {} {/* */}
@@ -245,6 +247,193 @@ const U = ({u, esAdministrador}) => { }; + +const AssignadorDeRols = ({pobles, ambitGeneral, esEditor, rols, usrSeleccionat, ambitsUSel}) => { + const [creantRol, setCreantRol] = useState(false); + // const [ambitsUSel, setAmbitsUSel] = useState([]); + // let ambitsUSel; + // let ambitsUSel = []; + // useEffect(() => { + // (async () => { + // const ambits = await Roles.getScopesForUserAsync(usrSeleccionat?._id); + // // console.log("ambitsUSel: ", ambitsUSel); + // // ambitsUSel = ambits; + // // setAmbitsUSel(ambits); + // ambitsUSel = ambits; + // // console.log("ambitsUSel: ", ambitsUSel); + // })(); + // }, []); + + return
+

Rols

+ +

Àmbits

+
General:
+ + + {/* */} + + {esEditor && creantRol &&
+
{ + Meteor.callAsync('assignaRol', usrSeleccionat._id, d.get('selRol'), d.get('selAmbit')); + }}> + + Àmbit:
+ + Rol:

+ + + +
+
} + + {esEditor && usrSeleccionat && } +
; +}; + +const QuadreInfo_Usuari = ({usrSeleccionat, esEditor, pobles, rols, ambitsUSel}) => { + + return
+ + {usrSeleccionat &&

{usrSeleccionat._id}

} + +
{ + try { + Meteor.callAsync('editaOAfigPoble', + { + ...usrSeleccionat || [], + nomPoble: d.get('nomPoble'), + cp: d.get('cp') || "", + comarca: d.get('comarca') || "", + }).then(() => setUsrSeleccionat(null)) + .catch(err => console.error(err)); + } catch (err) { + alert(err); + console.error(err); + } + }} + > +
+
+
+ + +
+ + { esEditor && } +
; +}; + + export const Usuaris = () => { const [usrSeleccionat, setUsrSeleccionat] = useState(null); @@ -260,14 +449,28 @@ export const Usuaris = () => { }); // console.log("isAdmin: ", isAdmin) ; console.log("usuaris: ", usuaris); + + // const [ambitsUSel, setAmbitsUSel] = useState([]); // (async () => { - useEffect(() => { - (async () => { - const comprovaAdmin = await Roles.userIsInRoleAsync(userId, ["admin"]); - setEsEditor(comprovaAdmin); - })(); - - }, []); + + let ambitsUSel = []; + + useEffect(() => { + (async () => { + const comprovaAdmin = await Roles.userIsInRoleAsync(userId, ["admin"]); + setEsEditor(comprovaAdmin); + + const ambits = await Roles.getScopesForUserAsync(usrSeleccionat?._id); + setAmbitsUSel(ambits); + // console.log("ambitsUSel: ", ambitsUSel); + })(); + + }, []); + + + const rols = useTracker("rols", async () => { + return await Roles.getRolesForUserAsync(usrSeleccionat?._id); + }); // })(); // const [monitors, setMonitors] = useState(false); @@ -307,54 +510,12 @@ export const Usuaris = () => { // })(); - const QuadreInfo_Usuari = () => { - - return
- - {usrSeleccionat &&

{usrSeleccionat._id}

} - -
{ - try { - Meteor.callAsync('editaOAfigPoble', - { - ...usrSeleccionat || [], - nomPoble: d.get('nomPoble'), - cp: d.get('cp') || "", - comarca: d.get('comarca') || "", - }).then(() => setUsrSeleccionat(null)) - .catch(err => console.error(err)); - } catch (err) { - alert(err); - console.error(err); - } - }} - > -
-
-
- - -
-
; - }; + return Carregant...} >

Usuaris

- { esEditor && } + { esEditor && }
    { }} > {/* {usr.username}{esEditor && } */} - + ) }
;