<%@ page import="com.edeal.frontline.helper.MultifunctionHelper"%> <%@ page import="com.edeal.frontline.helper.ContextHelper"%> <%@ page session="true" import="com.edeal.frontline.*"%> <%@ page import="com.edeal.frontline.navigation.FlRequest" %> <%@ page import="com.edeal.frontline.custom.*" %> <%@ page import="com.edeal.frontline.helper.custom.DocumentHelper" %> <%@ page import="com.edeal.frontline.ActorBean"%> <%@ page import="com.edeal.frontline.EnterpriseBean"%> <%@ page import="java.util.Vector" %> <%@ page import="com.edeal.frontline.helper.custom.Contrat_Helper" %> <%@ taglib uri="http://www.e-deal.com/taglib/fl" prefix="fl" %> <% final org.apache.commons.logging.Log logger = org.apache.commons.logging.LogFactory.getLog(getClass()); FlRequest flRequest = new FlRequest(request); FlContext context = flRequest.getContext(); DataDictionary dico = context.getDataDictionary(); String id; try { id = Person.getID(); } catch (FieldNotInitializedException e) { id = null; } String entID; try { entID = Person.getPerEntID(); } catch (FieldNotInitializedException e) { entID = null; } // On récupère l'ID de l'acteur connecté String actID = null; if (session != null) { actID = (String)session.getAttribute("effectiveActorID"); if (actID == null) { actID = (String)session.getAttribute("actorID"); if (actID == null) { throw new FrontlineException("there is not an actor ID in session"); } } } String corrID; try { corrID = dico.getRefIdByCode("IntType_", "COR"); } catch (FieldNotInitializedException e) { corrID = ""; } String deleteUrl = ""; // l'id de la fonction "guest" String guestFctID; try { guestFctID = dico.getRefIdByCode("PerFctID", "GST"); } catch (FieldNotInitializedException e) { guestFctID = ""; } // on récupère la fonction du contact String perFctID; try { perFctID = Person.getPerFctID(); } catch (FieldNotInitializedException e) { perFctID = null; } if (ContextHelper.hasMultifunction(context)) { if (ContextHelper.isB2C(context)) { deleteUrl = "/delete_function_b2c.fl"; } else { deleteUrl = "/delete_function.fl"; } } else { if (ContextHelper.isB2C(context)) { deleteUrl = "/delete_person_b2c.fl"; } else { deleteUrl = "/delete_person.fl"; } } String perFctParentID = null; if (ContextHelper.hasMultifunction(context)) { try { perFctParentID = Person.getPerFctParentID(); } catch (FieldNotInitializedException e){ } } Boolean isArchived = false; try { isArchived = Person.isPerFctIsActive(); } catch (FieldNotInitializedException e) { } MultifunctionHelper mltFunHlp = new MultifunctionHelper(Person); //Gestion des droits spécifiques pour la modif du contact //vérifier le tiers du contact, selon ce tiers on va decider si on peut ou non modifier le contact Boolean modifOk = true; Boolean kdoOK = false; String typOrganisation = ""; String ct_id = null; Boolean isAssociation = false; Boolean isPartenaire = false; Boolean isLogis = false; Boolean isProspect = false; try { EnterpriseBean ent = null; try{ ent = Person.getPerEnterprise(); } catch(FieldNotInitializedException ex) { } // rappatrier le type d'entreprise if(ent != null) { typOrganisation = ent.getEntTyeID(); } try { ActorBean act = new ActorBean(actID, context); Vector actRolesIDs = new Vector(); // On récupère les roles actRolesIDs.addAll(act.getRoles()); String roleADMID = dico.getRefIdByCode("ActRoles", "ADMIN"); /* Role Administrateur*/ String roleTECHADMID = dico.getRefIdByCode("ActRoles", "S_ADM_TECH"); /* Role Administrateur Technique*/ String roleAdmFINID = dico.getRefIdByCode("ActRoles", "A_RESP_ADM_FIN"); /* resp adm et finance */ String roleComptaID = dico.getRefIdByCode("ActRoles", "A_RESP_COMP"); /* resp compta */ String roleAssComptaID = dico.getRefIdByCode("ActRoles", "A_ASSIST_COMP"); /* resp ass compta */ String roleADMKDOID = dico.getRefIdByCode("ActRoles", "ADM_CC"); /* Role Administrateur Technique*/ String roleCommercialID = dico.getRefIdByCode("ActRoles", "COMMERCIAL"); /* Commercial */ String rolerespAffID = dico.getRefIdByCode("ActRoles", "R_RESP_RES_AFFIL"); /* Role Responsable Affilies */ String roleRespChargDevID = dico.getRefIdByCode("ActRoles", "P_RESP_CHARG_DEV"); /* Role responsable chargé de Dev */ String roleAssistChargDevID = dico.getRefIdByCode("ActRoles", "P_ASSIST_CHARG_DEV"); /* Role Assistant chargé de Dev */ String consTechID = dico.getRefIdByCode("ActRoles", "C_CONS_TECH"); /* Role Conseiller Technique */ String assoSalID = dico.getRefIdByCode("ActRoles", "ASSO_SAL"); /* Role Association avec Salarié */ String assoSansSalID = dico.getRefIdByCode("ActRoles", "ASSO_SANS_SAL"); /* Role Association sans Salarié*/ String attDirection = dico.getRefIdByCode("ActRoles", "D_ATTACH_DIR"); /* Role Attache de Direction*/ String secrDirection = dico.getRefIdByCode("ActRoles", "D_SECR_DIR"); /* Role Secretariat de direction */ String resQuiviQualite = dico.getRefIdByCode("ActRoles", "Q_RESP_SUIVI_QUAL"); /* Role Secretariat de direction */ if(!(actRolesIDs.isEmpty())) { // on prend le 1er role de l'acteur connecté String actRoleIDactuel = actRolesIDs.get(0).toString(); // on distingue le type du Tiers avec lequel on a affaire isAssociation = typOrganisation.equals((String)dico.getRefIdByCode("EntTyeID", "ASSO")); isPartenaire = typOrganisation.equals((String)dico.getRefIdByCode("EntTyeID", "PART")); // savoir si on a un affilié Contrat_Bean ctrB = new Contrat_Bean(context); Contrat_Helper ct_help = new Contrat_Helper(ctrB); //ct_id = ct_help.getActifContractID(context, entID); LE et L ct_id = ct_help.getActifAdhContractID(context, entID); // Tout sauf FA, PR et PT if (ct_id != null) { // le tiers est un logis isLogis = true; } else if (!isAssociation && !isPartenaire && ct_id == null) { // le tiers est un prospect isProspect = true; } /* // le cas d'un contact qui est relié à un partenaire if(actRoleIDactuel.equals(roleCommercialID) && isPartenaire) { modifOk = true; } else if ((actRoleIDactuel.equals(attDirection) || actRoleIDactuel.equals(secrDirection)) && isAssociation) { modifOk = true; } else if ((actRoleIDactuel.equals(rolerespAffID) || actRoleIDactuel.equals(roleRespChargDevID)) && isLogis) { modifOk = true; } else if ((actRoleIDactuel.equals(roleRespChargDevID) || actRoleIDactuel.equals(consTechID) || actRoleIDactuel.equals(assoSalID) || actRoleIDactuel.equals(assoSansSalID) ) && isProspect) { modifOk = true; } else if (entID == null && (actRoleIDactuel.equals(roleRespChargDevID) || actRoleIDactuel.equals(resQuiviQualite) || actRoleIDactuel.equals(consTechID) || actRoleIDactuel.equals(assoSalID) || actRoleIDactuel.equals(assoSansSalID)) ){ // un Guest modifOk = true; } else if ( (actRoleIDactuel.equals(roleADMID) || actRoleIDactuel.equals(roleTECHADMID)) ){ // un Guest modifOk = true; kdoOK=true; }else if ( (actRoleIDactuel.equals(roleAdmFINID) || actRoleIDactuel.equals(roleComptaID) || actRoleIDactuel.equals(roleAssComptaID) || actRoleIDactuel.equals(roleADMKDOID)) ){ kdoOK=true; modifOk = true; } */ if ( (actRoleIDactuel.equals(roleADMID) || actRoleIDactuel.equals(roleTECHADMID)) ){ // un Guest kdoOK=true; }else if ( (actRoleIDactuel.equals(roleAdmFINID) || actRoleIDactuel.equals(roleComptaID) || actRoleIDactuel.equals(roleAssComptaID) || actRoleIDactuel.equals(roleADMKDOID)) ){ kdoOK=true; } } } catch (FrontlineException e) { } } catch (FieldNotInitializedException e) { } %>
<%-- <% if (ContextHelper.hasMultifunction(context)) { if (isArchived) { %> "/>"> <fl:getMessage code=" title="">   <fl:getMessage code=" title="">   <%-- "/>"> <fl:getMessage code=" title="">        <% } else { %> "/>"> <fl:getMessage code=" title="">                         <% } } %> --%> <% if (DocumentHelper.hasDocumentWordML(session, context, "Person")) { %> " href="javascript:doWord('','Person','Word');"> <fl:getMessage code=">   " href="javascript:doWord('','Person', 'PDF');"> <fl:getMessage code=">   <% } %> " href="javascript:sendMailWithDocuments('<%= id %>', 'Person', null, 'PerMail')"> <fl:getMessage code=">
<% if(modifOk == true) {%> <%if(perFctParentID != null){ %> <% } %> <%} %> <% if (isArchived) { %> <%-- Devis + Commande --%> <% if( !guestFctID.equalsIgnoreCase(perFctID)) { %> <% } %> <% //http://u-project2.umanis.com/view.php?id=38935 // 0038935: CTC Questionnaire de satisfaction } %> <% if(isArchived){ %> <% } %> <% if(isArchived){ %> <% if(kdoOK){ %> <%} %> <%-- --%> <%if(perFctParentID != null){ %> <% } %> <%-- --%> <%-- <% boolean salesInvestIsActive = SalesInvestBean.isSalesInvestActive(context); if (salesInvestIsActive) { %> <% } %> --%> <% } %> <%-- <%@include file="/marketing/formresponse/person_read_action.jsp" %> --%>