Merci,
J’avoue ne pas avoir tout compris. Mais j’ai essayé de set de nouveau les droits dans le postSave()
en prenant la ligne actuelle en plus dans les droits. Ce qui fait que tant que l’utilisateur ne s’est pas déconnecté de sa session, il voit toujours la ligne actuelle et donc il peut la modifier.
Code :
if(!getGrant().hasResponsibility("DDV_SUPERADMIN") && !getGrant().hasResponsibility("DDV_ASSISTANT")){
if(getGrant().hasResponsibility("DDV_MANAGER")){
setDefaultSearchSpec("t.row_id IN " + this.getAllResponsibleOfFundForTeamManager());
} else {
setDefaultSearchSpec("t.row_id = " + this.getRowId() + " OR t.ddv_pow_responsible = " + getGrant().getUserUniqueId());
}
}
Code complet du postSave()
+ postLoad()
:
@Override
public void postLoad() {
if(!getGrant().hasResponsibility("DDV_SUPERADMIN") && !getGrant().hasResponsibility("DDV_ASSISTANT")){
if(getGrant().hasResponsibility("DDV_MANAGER")){
setDefaultSearchSpec("t.row_id IN " + this.getAllResponsibleOfFundForTeamManager());
} else {
setDefaultSearchSpec("t.ddv_pow_responsible = " + getGrant().getUserUniqueId());
}
} else{
setDefaultSearchSpec("t.ddv_pow_ag_id IS NOT NULL");
}
}
@Override
public String postSave(){
String status = "";
if(!this.getFieldValue("ddvPowAgId").equals("")){
status = getGrant().simpleQuery("SELECT m.ddv_met_state FROM ddv_general_meeting m WHERE m.row_id = " + this.getFieldValue("ddvPowAgId"));
}
if(status.equals("GM_RESPONSIBLE_POWER_VALIDATE") && (getField("ddvPowValidate").hasChanged() || getField("ddvPowResponsible").hasChanged() || getField("ddvPowManualName").hasChanged())){
this.messageToInform();
this.setMissingRespValid();
}
if(status.equals("GM_RESPONSIBLE_TEAM_SIGN") && getField("ddvPowIsTeamDocumentSign").hasChanged()){
this.messageToInformManager();
this.allValidatedSigned();
}
if(!getGrant().hasResponsibility("DDV_SUPERADMIN") && !getGrant().hasResponsibility("DDV_ASSISTANT")){
if(getGrant().hasResponsibility("DDV_MANAGER")){
setDefaultSearchSpec("t.row_id IN " + this.getAllResponsibleOfFundForTeamManager());
} else {
setDefaultSearchSpec("t.row_id = " + this.getRowId() + " OR t.ddv_pow_responsible = " + getGrant().getUserUniqueId());
}
}
return null;
}