Ajout de responsabilité dans le granthooks

4.0
Ajout de responsabilité dans le granthooks
0.0 0
Tags: #<Tag:0x00007f9fc06a0920>

#1

Bonjour,

J’ai configuré l’authentification via france connect.
Les utilisateurs sont bien créés cependant je n’arrive pas à leur ajouter des responsabilités.

Le code que j’utilise :

GrantHooks.preLoadGrant = function(g) {
	console.log("login usr : " + g.getLogin());
    if (Globals.useOAuth2()) {
    	console.log("is oauth2");
    	var usr = Grant.getSystemAdmin().getTmpObject("User");
        usr.resetValues(true);
        usr.getField("usr_login").setFilter(g.getLogin());
        var res = usr.search();
        console.log("size : " + res.size());
        if (res.size() > 0) {
        	usr.select(res.get(0)[0]);
        	console.log("nb resp : " + getUserResps(g, usr.getRowId()));
        	console.log("no resp : " + (getUserResps(g, usr.getRowId()) === 0));
        	if(getUserResps(g, usr.getRowId()) == "0") {
	        	var groups = ["ADMIN"];
	                for (var i = 0; i < groups.length; i++) {
	                    var group = groups[i];
	                    console.log("row id usr : " + usr.getRowId());
	                    console.log("date start : " + Tool.getCurrentDate(-1));
	                    console.log(com.simplicite.objects.System.User.addResponsibility(usr.getRowId(), group, Tool.getCurrentDate(-1), "", true));
	                    console.log("Added user " + group + " responsibility for OAuth2 user " + g.getLogin());
	                }
	        }
        }
    }   
};
function getUserResps(grant, id) {
	var sql = "select count(*) from m_resp where rsp_login_id="+ id;
	return grant.simpleQuery(sql);
}

La fonction addResponsibility est appelée mais la responsabilité n’est pas ajoutée à l’utilisateur.


#2

Je suis perplexe sur vos 2 tests getUserResps(g, usr.getRowId()) === 0 et getUserResps(g, usr.getRowId()) == "0", le premier donnera toujours false puisque simpleQuery renvoie un String.

A part cela je ne vois pas de raison que ça ne marche pas. Est-ce que votre user est bien actif ?