TrizRis/src/main/java/com/triz/trizservice/security/impl/CostumSuccesHandler.java
Abderrahmane 53305f854a init
2026-07-26 13:39:10 +01:00

132 lines
5.6 KiB
Java

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.triz.trizservice.security.impl;
import com.triz.trizservice.modeles.Etablissement;
import com.triz.trizservice.modeles.ServiceEtablissementUser;
import com.triz.trizservice.modeles.ServiceUser;
import com.triz.trizservice.modeles.ServicehistoriqueConnection;
import com.triz.trizservice.service.TransactionService;
import com.triz.util.UtilContext;
import com.triz.util.UtilGetParametre;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler;
import org.springframework.security.core.Authentication;
import com.triz.util.UtilURL;
import java.util.Date;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
*
* @author abderrahim.TOUAIBIA
*/
@Service
public class CostumSuccesHandler extends SavedRequestAwareAuthenticationSuccessHandler {
@Autowired
private TransactionService transactionService;
@Autowired
public UtilContext context;
public CostumSuccesHandler() {
}
@Override
public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response,
Authentication authentication) throws ServletException, IOException {
setDefaultTargetUrl("/" + multiEtablissement());
super.onAuthenticationSuccess(request, response, authentication);
}
private void saveConnection(ServiceUser user, Etablissement etablissement) {
ServicehistoriqueConnection his = new ServicehistoriqueConnection();
his.setFkUser(user);
his.setDate(new Date());
his.setHeur(new Date());
his.setAdresseIp("");
his.setFkEtablissement(etablissement);
transactionService.save(his);
}
public String multiEtablissement() {
// useDistribution = UtilGetParametre.useTrizDistribution();
ServiceUser user = context.getCurrentUser();
System.out.println("-------------------- multi etablissement");
List<Etablissement> listUserEtab = transactionService.getAllStockEtablissementFromUsersEtablissementByUser(user);
System.out.println("-------------------- listUserEtab " + listUserEtab);
UtilURL.showURL();
if (listUserEtab.size() == 1) {
Etablissement etablissement = listUserEtab.get(0);
ServiceEtablissementUser userEtablissement = transactionService.getAllUserEtablissementByEtablissementByUser(etablissement, user);
UtilURL.setIdEtablissement(etablissement.getIdEtabStock());
UtilURL.setFonctionnalite(transactionService.getFonctionServerByUsersByEtablissement(context.getCurrentUser(), etablissement));
saveConnection(user, etablissement);
// if ("production".equals(etablissement.getType_etablissemnt())) {
// UtilURL.setIsProuction(true);
// return UtilURL.URL_PRODUCTION;
// }
// if (("true".equals(userEtablissement.getUseSuperette()))) {
// return UtilURL.STOCK_URL_VENTECOMPTOIRE;
// }
// if (context.getUseTB() && context.isshow1("Acceuil")) {
// return UtilURL.STOCK_URL_TB;
// }
return UtilURL.STOCK_URL;
}
if (listUserEtab.size() > 1) {
ServicehistoriqueConnection hist = transactionService.getLastStockHistoriqueConnectionByUsers(user);
if (hist != null) {
Etablissement lasteEtablissement = hist.getFkEtablissement();
// if ("true".equals(hist.getIsTableauBord())) {
// if ("true".equals(user.getShowTableauDeBord())) {
// UtilURL.setIsTableauDeBord(true);
// UtilURL.setIdEtablissement(null);
// UtilURL.setFonctionnaliteServer(null);
// UtilURL.setIsProuction(false);
// saveConnection(user, "true", null);
// return UtilURL.STOCK_URL;
// }
// }
if (lasteEtablissement != null) {
if (listUserEtab.contains(lasteEtablissement)) {
// saveConnection(user, "false", lasteEtablissement);
ServiceEtablissementUser userEtablissement = transactionService.getAllUserEtablissementByEtablissementByUser(lasteEtablissement, user);
UtilURL.setIdEtablissement(lasteEtablissement.getIdEtabStock());
UtilURL.setFonctionnalite(transactionService.getFonctionServerByUsersByEtablissement(context.getCurrentUser(), lasteEtablissement));
// if ("production".equals(lasteEtablissement.getType_etablissemnt())) {
// UtilURL.setIsProuction(true);
// return UtilURL.URL_PRODUCTION;
// }
// UtilURL.setIsProuction(false);
// if (("true".equals(userEtablissement.getUseSuperette()))) {
// return UtilURL.STOCK_URL_VENTECOMPTOIRE;
// }
// if (context.getUseTB() && context.isshow1("Acceuil")) {
// return UtilURL.STOCK_URL_TB;
// }
return UtilURL.STOCK_URL;
}
}
}
return UtilURL.STOCK_URL;
}
return UtilURL.STOCK_URL;
}
}