From 5197187cf7bb7ed69a40c3735d5223801452fdde Mon Sep 17 00:00:00 2001 From: kenza Date: Mon, 3 Aug 2026 13:29:20 +0100 Subject: [PATCH] #394 --- .../triz/trizservice/bean/FormGroupBean.java | 34 +- .../com/triz/trizservice/bean/GroupBean.java | 17 +- .../bean/converter/GroupeConverter.java | 4 +- .../modeles/ServiceFonctiongroupe.java | 11 +- .../ServiceHistoriqueManipulation.java | 55 +-- .../triz/trizservice/modeles/ServiceUser.java | 2 +- .../triz/trizservice/service/DaoService.java | 9 +- .../service/TransactionService.java | 9 +- .../service/impl/DaoServiceImpl.java | 31 +- .../service/impl/TransactionServiceImpl.java | 21 +- src/main/java/com/triz/util/UtilContext.java | 28 +- .../db/migration/V000__main_schema.sql | 3 + .../resources/langue/message_fr.properties | 2 + .../webapp/WEB-INF/layout/sections/menu.xhtml | 49 +-- src/main/webapp/views/groupe/form.xhtml | 412 +++++++++++------- src/main/webapp/views/groupe/list.xhtml | 279 ++++++++++-- 16 files changed, 655 insertions(+), 311 deletions(-) diff --git a/src/main/java/com/triz/trizservice/bean/FormGroupBean.java b/src/main/java/com/triz/trizservice/bean/FormGroupBean.java index 5b3d9b3..6e993bd 100644 --- a/src/main/java/com/triz/trizservice/bean/FormGroupBean.java +++ b/src/main/java/com/triz/trizservice/bean/FormGroupBean.java @@ -14,6 +14,7 @@ import com.triz.util.UtilContext; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.UUID; import javax.annotation.PostConstruct; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Scope; @@ -60,7 +61,8 @@ public class FormGroupBean { } if (groupe != null) { System.out.println("hello 1"); - groupeSelected = service.getGroupsById(groupe); + UUID id = UUID.fromString(groupe); + groupeSelected = service.getGroupsById(id); } else { System.out.println("hello 2"); if (canEdit) { @@ -95,32 +97,39 @@ public class FormGroupBean { } public void ajouterFonctionnalitesAuGroupe() { + System.out.println("target " + Target.size()); if (Target != null && !Target.isEmpty()) { - if (listeFonctionnalite == null) { listeFonctionnalite = new ArrayList<>(); } for (ServiceFonctionnaliter f : Target) { boolean existe = false; - + System.out.println("existe " + existe); for (ServiceFonctiongroupe fg : listeFonctionnalite) { if (fg.getFkFonctionnalite().getId().equals(f.getId())) { existe = true; break; } } - + System.out.println("existe 2 " + existe); if (!existe) { ServiceFonctiongroupe newFg = new ServiceFonctiongroupe(); - // newFg.setId(groupeSelected.getId() + f.getId()); + // newFg.setId(groupeSelected.getId() + f.getId()); + UUID id = UUID.randomUUID(); + while (service.getFonctiongroupeById(id) != null) { + id = UUID.randomUUID(); + } + newFg.setId(id); newFg.setFkFonctionnalite(f); newFg.setFkGroupe(groupeSelected); + newFg.setCanSee(true); newFg.setCanCreate(true); newFg.setCanUpdate(true); newFg.setCanDelete(true); newFg.setCanUpdateDate(true); listeFonctionnalite.add(newFg); + System.out.println("listeFonctionnalite " + listeFonctionnalite.size()); } } @@ -145,25 +154,36 @@ public class FormGroupBean { public String saveGroupe() { if (isNew) { System.out.println("hello from save 1"); + UUID id = UUID.randomUUID(); + while (service.getGroupsById(id) != null) { + id = UUID.randomUUID(); + } + groupeSelected.setId(id); groupeSelected.setActif("true"); service.save(groupeSelected); - context.saveNewManipulation("Groupe", groupeSelected.getNomGroupe(), "Ajouter Groupe", new Date(), new Date(), user,"", ""); - }else{ + context.saveNewManipulation("Groupe", groupeSelected.getNomGroupe(), "Ajouter Groupe", new Date(), new Date(), user, "", ""); + } else { System.out.println("hello from save 2"); service.save(groupeSelected); + context.saveNewManipulation("Groupe", groupeSelected.getNomGroupe(), "Modifier Groupe", new Date(), new Date(), user, "", ""); } // Sauvegarde des fonctionnalités (ajoutées ou modifiées) if (listeFonctionnalite != null) { for (ServiceFonctiongroupe fg : listeFonctionnalite) { + System.out.println("ID FG = " + fg.getId()); + System.out.println("EXISTE = " + service.getFonctiongroupeById(fg.getId())); service.saveFonctionsGroupes(fg); + context.saveNewManipulation("Groupe", groupeSelected.getNomGroupe(), "Ajouter Fonction groupe", new Date(), new Date(), user, "", fg.getFkFonctionnalite().getNom()); } } // Suppression des fonctionnalités supprimées if (listeFonctionsASupprimer != null) { for (ServiceFonctiongroupe fg : listeFonctionsASupprimer) { + System.out.println("DELETE : " + fg.getId()); service.removeFonctionsGroupes(fg); + context.saveNewManipulation("Groupe", groupeSelected.getNomGroupe(), "Supprimer Fonction groupe", new Date(), new Date(), user, fg.getFkFonctionnalite().getNom(), ""); } listeFonctionsASupprimer.clear(); // Nettoyage } diff --git a/src/main/java/com/triz/trizservice/bean/GroupBean.java b/src/main/java/com/triz/trizservice/bean/GroupBean.java index d51b63f..22cb535 100644 --- a/src/main/java/com/triz/trizservice/bean/GroupBean.java +++ b/src/main/java/com/triz/trizservice/bean/GroupBean.java @@ -20,10 +20,10 @@ import org.springframework.stereotype.Component; * * @author Asma */ - @Component("groupBean") @Scope("view") public class GroupBean { + private ServiceUser user; private ServiceGroupe groupeSelected; private List listeFonctionnalite; @@ -42,8 +42,8 @@ public class GroupBean { listeGroupe = service.getAllGroups(); listeFonctionnalite = service.getAllFonctionalite(); } - - public String ajouterGroupe() { + + public String ajouterGroupe() { return "form.xhtml?faces-redirect=true&canEdit=true"; } @@ -82,4 +82,15 @@ public class GroupBean { public void setListeGroupe(List listeGroupe) { this.listeGroupe = listeGroupe; } + + public int getNbrUtilisateur(ServiceGroupe groupe) { + int nbrUtilisateur = service.getNbrUtilisateurParGroupe(groupe); + return nbrUtilisateur; + } + + public int getNbrFonctionnalite(ServiceGroupe groupe) { + int nbrFonctionnalite = service.getNbrFonctionnaliteParGroupe(groupe); + return nbrFonctionnalite; + } + } diff --git a/src/main/java/com/triz/trizservice/bean/converter/GroupeConverter.java b/src/main/java/com/triz/trizservice/bean/converter/GroupeConverter.java index 8f3388e..a5c5494 100644 --- a/src/main/java/com/triz/trizservice/bean/converter/GroupeConverter.java +++ b/src/main/java/com/triz/trizservice/bean/converter/GroupeConverter.java @@ -6,6 +6,7 @@ package com.triz.trizservice.bean.converter; import com.triz.trizservice.modeles.ServiceGroupe; import com.triz.trizservice.service.TransactionService; +import java.util.UUID; import javax.faces.application.FacesMessage; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; @@ -28,7 +29,8 @@ public class GroupeConverter implements Converter{ public Object getAsObject(FacesContext fc, UIComponent uic, String value) { try { System.out.println("service "+ service); - return service.getGroupsById(value); + UUID id = UUID.fromString(value); + return service.getGroupsById(id); } catch (NumberFormatException e) { new FacesMessage(FacesMessage.SEVERITY_ERROR, "Conversion Error", "Entreprise n'existe pas."); } diff --git a/src/main/java/com/triz/trizservice/modeles/ServiceFonctiongroupe.java b/src/main/java/com/triz/trizservice/modeles/ServiceFonctiongroupe.java index 356fe49..d26a7d3 100644 --- a/src/main/java/com/triz/trizservice/modeles/ServiceFonctiongroupe.java +++ b/src/main/java/com/triz/trizservice/modeles/ServiceFonctiongroupe.java @@ -41,6 +41,8 @@ public class ServiceFonctiongroupe implements Serializable { @Column(name = "can_create") private Boolean canCreate; + @Column(name = "can_see") + private Boolean canSee; @Column(name = "can_update") private Boolean canUpdate; @Column(name = "can_update_date") @@ -55,7 +57,6 @@ public class ServiceFonctiongroupe implements Serializable { private static final long serialVersionUID = 1L; @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) @Basic(optional = false) @Column(name = "id") private UUID id; @@ -163,6 +164,14 @@ public class ServiceFonctiongroupe implements Serializable { this.fkFonctionnalite = fkFonctionnalite; } + public Boolean getCanSee() { + return canSee; + } + + public void setCanSee(Boolean canSee) { + this.canSee = canSee; + } + diff --git a/src/main/java/com/triz/trizservice/modeles/ServiceHistoriqueManipulation.java b/src/main/java/com/triz/trizservice/modeles/ServiceHistoriqueManipulation.java index ea64181..824e0ad 100644 --- a/src/main/java/com/triz/trizservice/modeles/ServiceHistoriqueManipulation.java +++ b/src/main/java/com/triz/trizservice/modeles/ServiceHistoriqueManipulation.java @@ -6,9 +6,11 @@ package com.triz.trizservice.modeles; import java.io.Serializable; import java.util.Date; +import java.util.UUID; import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; +import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; @@ -33,10 +35,8 @@ import javax.xml.bind.annotation.XmlRootElement; @NamedQuery(name = "ServiceHistoriqueManipulation.findById", query = "SELECT s FROM ServiceHistoriqueManipulation s WHERE s.id = :id"), @NamedQuery(name = "ServiceHistoriqueManipulation.findByNomTable", query = "SELECT s FROM ServiceHistoriqueManipulation s WHERE s.nomTable = :nomTable"), @NamedQuery(name = "ServiceHistoriqueManipulation.findByIdLigne", query = "SELECT s FROM ServiceHistoriqueManipulation s WHERE s.idLigne = :idLigne"), - @NamedQuery(name = "ServiceHistoriqueManipulation.findByTypeManipumation", query = "SELECT s FROM ServiceHistoriqueManipulation s WHERE s.typeManipumation = :typeManipumation"), @NamedQuery(name = "ServiceHistoriqueManipulation.findByDateManipulation", query = "SELECT s FROM ServiceHistoriqueManipulation s WHERE s.dateManipulation = :dateManipulation"), - @NamedQuery(name = "ServiceHistoriqueManipulation.findByHeurManipulation", query = "SELECT s FROM ServiceHistoriqueManipulation s WHERE s.heurManipulation = :heurManipulation"), - @NamedQuery(name = "ServiceHistoriqueManipulation.findByOldValeur", query = "SELECT s FROM ServiceHistoriqueManipulation s WHERE s.oldValeur = :oldValeur"), + @NamedQuery(name = "ServiceHistoriqueManipulation.findByOldValeur", query = "SELECT s FROM ServiceHistoriqueManipulation s WHERE s.oldValeur = :oldValeur"), @NamedQuery(name = "ServiceHistoriqueManipulation.findByNewValeur", query = "SELECT s FROM ServiceHistoriqueManipulation s WHERE s.newValeur = :newValeur")}) public class ServiceHistoriqueManipulation implements Serializable { @@ -66,33 +66,29 @@ public class ServiceHistoriqueManipulation implements Serializable { @Id @Basic(optional = false) @NotNull + @GeneratedValue @Column(name = "id") - private Long id; - @Size(max = 2147483647) - @Column(name = "type_manipumation") - private String typeManipumation; + private UUID id; + @Column(name = "date_manipulation") @Temporal(TemporalType.DATE) private Date dateManipulation; - @Column(name = "heur_manipulation") - @Temporal(TemporalType.TIME) - private Date heurManipulation; - @JoinColumn(name = "fk_manipulateur", referencedColumnName = "userid") - @ManyToOne - private ServiceUser fkManipulateur; - + + + + public ServiceHistoriqueManipulation() { } - public ServiceHistoriqueManipulation(Long id) { + public ServiceHistoriqueManipulation(UUID id) { this.id = id; } - public Long getId() { + public UUID getId() { return id; } - public void setId(Long id) { + public void setId(UUID id) { this.id = id; } @@ -112,13 +108,6 @@ public class ServiceHistoriqueManipulation implements Serializable { this.idLigne = idLigne; } - public String getTypeManipumation() { - return typeManipumation; - } - - public void setTypeManipumation(String typeManipumation) { - this.typeManipumation = typeManipumation; - } public Date getDateManipulation() { return dateManipulation; @@ -128,21 +117,6 @@ public class ServiceHistoriqueManipulation implements Serializable { this.dateManipulation = dateManipulation; } - public Date getHeurManipulation() { - return heurManipulation; - } - - public void setHeurManipulation(Date heurManipulation) { - this.heurManipulation = heurManipulation; - } - - public ServiceUser getFkManipulateur() { - return fkManipulateur; - } - - public void setFkManipulateur(ServiceUser fkManipulateur) { - this.fkManipulateur = fkManipulateur; - } @Override public int hashCode() { @@ -169,7 +143,6 @@ public class ServiceHistoriqueManipulation implements Serializable { return "com.triz.trizservice.modeles.ServiceHistoriqueManipulation[ id=" + id + " ]"; } - public String getNewValeur() { return newValeur; } @@ -210,6 +183,4 @@ public class ServiceHistoriqueManipulation implements Serializable { this.fkUser = fkUser; } - - } diff --git a/src/main/java/com/triz/trizservice/modeles/ServiceUser.java b/src/main/java/com/triz/trizservice/modeles/ServiceUser.java index b6ba2f0..3239ef7 100644 --- a/src/main/java/com/triz/trizservice/modeles/ServiceUser.java +++ b/src/main/java/com/triz/trizservice/modeles/ServiceUser.java @@ -65,7 +65,7 @@ public class ServiceUser implements Serializable { @Size(max = 2147483647) @Column(name = "user_pw") private String userpw; - @OneToMany(mappedBy = "fkManipulateur") + @OneToMany(mappedBy = "fkUser") private List serviceHistoriqueManipulationList; @OneToMany(mappedBy = "fkUser") diff --git a/src/main/java/com/triz/trizservice/service/DaoService.java b/src/main/java/com/triz/trizservice/service/DaoService.java index dabf60b..cfaa0f4 100644 --- a/src/main/java/com/triz/trizservice/service/DaoService.java +++ b/src/main/java/com/triz/trizservice/service/DaoService.java @@ -18,6 +18,7 @@ import com.triz.trizservice.modeles.ServiceHistoriqueManipulation; import com.triz.trizservice.modeles.ServiceUserCentre; import com.triz.trizservice.modeles.Wilaya; import java.util.List; +import java.util.UUID; /** * @@ -39,7 +40,7 @@ public interface DaoService { public void saveUser(ServiceUser object); - public ServiceGroupe getGroupsById(String id); + public ServiceGroupe getGroupsById(UUID id); public void saveGroup(ServiceGroupe object); @@ -109,4 +110,10 @@ public interface DaoService { public List getAllWilaya(); + public int getNbrUtilisateurParGroupe(ServiceGroupe groupe); + + public int getNbrFonctionnaliteParGroupe(ServiceGroupe groupe); + + public ServiceFonctiongroupe getFonctiongroupeById(UUID id); + } diff --git a/src/main/java/com/triz/trizservice/service/TransactionService.java b/src/main/java/com/triz/trizservice/service/TransactionService.java index 02edfc9..9cb3c64 100644 --- a/src/main/java/com/triz/trizservice/service/TransactionService.java +++ b/src/main/java/com/triz/trizservice/service/TransactionService.java @@ -20,6 +20,7 @@ import com.triz.trizservice.modeles.ServiceHistoriqueManipulation; import com.triz.trizservice.modeles.ServiceUserCentre; import com.triz.trizservice.modeles.Wilaya; import java.util.List; +import java.util.UUID; /** * @@ -41,7 +42,7 @@ public interface TransactionService { public void saveUser(ServiceUser object); - public ServiceGroupe getGroupsById(String id); + public ServiceGroupe getGroupsById(UUID id); public void saveGroup(ServiceGroupe object); @@ -110,4 +111,10 @@ public interface TransactionService { public ServicehistoriqueConnection getLastStockHistoriqueConnectionByUsers(ServiceUser user); public List getAllWilaya(); + + public int getNbrUtilisateurParGroupe(ServiceGroupe groupe); + + public int getNbrFonctionnaliteParGroupe(ServiceGroupe groupe); + + public ServiceFonctiongroupe getFonctiongroupeById(UUID id); } diff --git a/src/main/java/com/triz/trizservice/service/impl/DaoServiceImpl.java b/src/main/java/com/triz/trizservice/service/impl/DaoServiceImpl.java index 4cd90ec..97e2f52 100644 --- a/src/main/java/com/triz/trizservice/service/impl/DaoServiceImpl.java +++ b/src/main/java/com/triz/trizservice/service/impl/DaoServiceImpl.java @@ -19,6 +19,7 @@ import com.triz.trizservice.modeles.ServiceUserCentre; import com.triz.trizservice.modeles.Wilaya; import java.util.Date; import java.util.List; +import java.util.UUID; import javax.annotation.Resource; import javax.persistence.NoResultException; import javax.persistence.criteria.CriteriaBuilder; @@ -95,7 +96,7 @@ public class DaoServiceImpl implements DaoService { } @Override - public ServiceGroupe getGroupsById(String id) { + public ServiceGroupe getGroupsById(UUID id) { return (ServiceGroupe) getCurrentSession().createCriteria(ServiceGroupe.class).add(Restrictions.eq("id", id)).setMaxResults(1).uniqueResult(); } @@ -268,23 +269,39 @@ public class DaoServiceImpl implements DaoService { } @Override - public ServiceUserCentre getAllUserCentreByCentreByUser(Centre etablissement,ServiceUser user) { + public ServiceUserCentre getAllUserCentreByCentreByUser(Centre etablissement, ServiceUser user) { return (ServiceUserCentre) getCurrentSession().createCriteria(ServiceUserCentre.class).add(Restrictions.eq("fkCentre", etablissement)).add(Restrictions.eq("fkUser", user)).setMaxResults(1).uniqueResult(); - } + } @Override public List getFonctionServerByUsersByEtablissement(ServiceUser user, Centre etablissement) { - return getCurrentSession().createQuery("select sf from ServiceFonctionnaliter sf,ServiceFonctiongroupe sfg, ServiceMember mem where sf.id=sfg.fkFonctionnalite and sfg.fkGroupe= mem.fkGroupe and mem.fkUser=:user and mem.fkGroupe.fkCentre=:etab ").setParameter("etab", etablissement).setParameter("user", user).list(); + return getCurrentSession().createQuery("select sf from ServiceFonctionnaliter sf,ServiceFonctiongroupe sfg, ServiceMember mem where sf.id=sfg.fkFonctionnalite and sfg.fkGroupe= mem.fkGroupe and mem.fkUser=:user and mem.fkGroupe.fkCentre=:etab ").setParameter("etab", etablissement).setParameter("user", user).list(); } @Override public ServicehistoriqueConnection getLastStockHistoriqueConnectionByUsers(ServiceUser user) { return (ServicehistoriqueConnection) getCurrentSession().createCriteria(ServicehistoriqueConnection.class).add(Restrictions.eq("fkUser", user)).addOrder(Order.desc("id")).setMaxResults(1).uniqueResult(); - } - + } @Override public List getAllWilaya() { - return getCurrentSession().createQuery("select m from Wilaya m ").list(); + return getCurrentSession().createQuery("select m from Wilaya m ").list(); + } + + @Override + public int getNbrUtilisateurParGroupe(ServiceGroupe groupe) { + Long count = (Long) getCurrentSession().createQuery("select count(m) from ServiceGroupe m, ServiceMember f where m.id=f.fkGroupe.id and m.id=:groupe ").setParameter("groupe", groupe.getId()).uniqueResult(); + return count.intValue(); + } + + @Override + public int getNbrFonctionnaliteParGroupe(ServiceGroupe groupe) { + Long count = (Long) getCurrentSession().createQuery("select count(m) from ServiceGroupe m, ServiceFonctiongroupe f where m.id=f.fkGroupe.id and m.id=:groupe ").setParameter("groupe", groupe.getId()).uniqueResult(); + return count.intValue(); + } + + @Override + public ServiceFonctiongroupe getFonctiongroupeById(UUID id) { + return (ServiceFonctiongroupe)getCurrentSession().createQuery("select m from ServiceFonctiongroupe m where m.id=:id ").setParameter("id", id).setMaxResults(1).uniqueResult(); } } diff --git a/src/main/java/com/triz/trizservice/service/impl/TransactionServiceImpl.java b/src/main/java/com/triz/trizservice/service/impl/TransactionServiceImpl.java index bf2a5e9..3fbd92a 100644 --- a/src/main/java/com/triz/trizservice/service/impl/TransactionServiceImpl.java +++ b/src/main/java/com/triz/trizservice/service/impl/TransactionServiceImpl.java @@ -20,6 +20,7 @@ import com.triz.trizservice.modeles.Wilaya; import com.triz.trizservice.service.DaoService; import com.triz.trizservice.service.TransactionService; import java.util.List; +import java.util.UUID; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -66,7 +67,7 @@ public class TransactionServiceImpl implements TransactionService { @Transactional("transactionManager") @Override - public ServiceGroupe getGroupsById(String id) { + public ServiceGroupe getGroupsById(UUID id) { return daoService.getGroupsById(id); } @@ -285,4 +286,22 @@ public class TransactionServiceImpl implements TransactionService { public List getAllWilaya() { return daoService.getAllWilaya(); } + + @Transactional("transactionManager") + @Override + public int getNbrUtilisateurParGroupe(ServiceGroupe groupe) { + return daoService.getNbrUtilisateurParGroupe(groupe); + } + + @Transactional("transactionManager") + @Override + public int getNbrFonctionnaliteParGroupe(ServiceGroupe groupe) { + return daoService.getNbrFonctionnaliteParGroupe(groupe); + } + + @Transactional("transactionManager") + @Override + public ServiceFonctiongroupe getFonctiongroupeById(UUID id) { + return daoService.getFonctiongroupeById(id); + } } diff --git a/src/main/java/com/triz/util/UtilContext.java b/src/main/java/com/triz/util/UtilContext.java index 570a070..002310e 100644 --- a/src/main/java/com/triz/util/UtilContext.java +++ b/src/main/java/com/triz/util/UtilContext.java @@ -27,6 +27,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.UUID; import java.util.logging.Level; import java.util.logging.Logger; import org.apache.commons.io.IOUtils; @@ -100,7 +101,6 @@ public class UtilContext { } } - public static ServiceIncrementation remiseAZeroIncr(ServiceIncrementation incr) { System.out.println(" remiseAZeroIncr "); Date date = new Date(); @@ -323,7 +323,7 @@ public class UtilContext { } public String createZipFile(String bakFile, String bakFileName, String folder_name_origine) throws IOException { - System.out.println("createZipFile"+ bakFile); + System.out.println("createZipFile" + bakFile); SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMddHHmm"); String fileOutput_name = bakFileName + ".zip"; @@ -349,11 +349,12 @@ public class UtilContext { System.out.println("fileOutput.getPath():" + fileOutput.getPath()); return fileOutput.getPath(); } - + String typeContenentBAK = "application/bak"; String typeContenentZip = "application/zip"; + public StreamedContent getFileContent(String typeContenent, String pathGet) throws IOException { - + System.out.println("get file content --starts"); File file = new File(pathGet); @@ -422,14 +423,15 @@ public class UtilContext { public void saveNewManipulation(String nomTable, String idLigne, String typeManipulation, Date date, Date heur, ServiceUser user, String oldValour, String newValeur) { historiqueManipulation = new ServiceHistoriqueManipulation(); - historiqueManipulation.setFkManipulateur(user); + + historiqueManipulation.setFkUser(user); historiqueManipulation.setIdLigne(idLigne); historiqueManipulation.setNomTable(nomTable); - historiqueManipulation.setTypeManipumation(typeManipulation); + historiqueManipulation.setTypeManipulation(typeManipulation); historiqueManipulation.setOldValeur(oldValour); historiqueManipulation.setNewValeur(newValeur); historiqueManipulation.setDateManipulation(new Date()); - historiqueManipulation.setHeurManipulation(new Date()); + historiqueManipulation.setHeureManipulation(new Date()); service.save(historiqueManipulation); } @@ -437,13 +439,13 @@ public class UtilContext { SimpleDateFormat simpleDate = new SimpleDateFormat("yy"); return simpleDate.format(date); } - + public boolean isOnLigneUser() { ServiceUser user = getCurrentUser(); return false; } - - public Centre getCurrentEtablissement() { + + public Centre getCurrentEtablissement() { System.out.println("UtilURLStock.getStock_CODE_SYSTEM() " + UtilURL.getStock_CODE_SYSTEM()); Centre etablissemnt = service.getEtablissementById(UtilURL.getStock_CODE_SYSTEM()); if (etablissemnt != null) { @@ -451,10 +453,8 @@ public class UtilContext { } return null; } - - - - public boolean canChangeEtablissement() { + + public boolean canChangeEtablissement() { ServiceUser user = getCurrentUser(); List listeEtablissement = service.getAllStockEtablissementFromUsersEtablissementByUser(user); if (listeEtablissement != null) { diff --git a/src/main/resources/db/migration/V000__main_schema.sql b/src/main/resources/db/migration/V000__main_schema.sql index 288040d..d80b64e 100644 --- a/src/main/resources/db/migration/V000__main_schema.sql +++ b/src/main/resources/db/migration/V000__main_schema.sql @@ -620,3 +620,6 @@ INSERT INTO service_fonctionnaliter (id, nom) VALUES ('medecins', 'Médecins'), ('groupes', 'Groupes et fonctionnalités'); + +ALTER TABLE service_fonctiongroupe +ADD COLUMN can_see boolean; diff --git a/src/main/resources/langue/message_fr.properties b/src/main/resources/langue/message_fr.properties index 6ade043..48b3e67 100644 --- a/src/main/resources/langue/message_fr.properties +++ b/src/main/resources/langue/message_fr.properties @@ -4305,3 +4305,5 @@ service.page.Telephone.ajouter = Ajouter Telephone service.page.Telephone.liste.message.non=Pas de telephone enregistr\u00e9 ! distribution.buttons.changerEtablissement=changer Centre distribution.page.etablissement.selectionner=Veuillez s\u00e9l\u00e9ctionner un centre +distribution.page.fonctionGroup.voir=Voir +distribution.page.fonctionGroup.modifierCeJour=modifier le jour meme \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/layout/sections/menu.xhtml b/src/main/webapp/WEB-INF/layout/sections/menu.xhtml index f6460ca..3bcc807 100644 --- a/src/main/webapp/WEB-INF/layout/sections/menu.xhtml +++ b/src/main/webapp/WEB-INF/layout/sections/menu.xhtml @@ -81,103 +81,91 @@ - - - + rendered="#{utilControleAccess.isshow1('accueil')}"> + rendered="#{utilControleAccess.isshowPrivilegeAdd('accueil')}" /> - - - + rendered="#{utilControleAccess.isshow1('rdv') + or utilControleAccess.isshow1('attente') + or utilControleAccess.isshow1('exam') + or utilControleAccess.isshow1('dossier')}"> + rendered="#{utilControleAccess.isshowPrivilegeAdd('rdv')}" /> + rendered="#{utilControleAccess.isshowPrivilegeAdd('attente')}" /> + rendered="#{utilControleAccess.isshowPrivilegeAdd('exam')}" /> + rendered="#{utilControleAccess.isshowPrivilegeAdd('dossier')}" /> - - - + rendered="#{utilControleAccess.isshow1('pacs') + or utilControleAccess.isshow1('param')}"> + rendered="#{utilControleAccess.isshowPrivilegeAdd('pacs')}" /> + rendered="#{utilControleAccess.isshowPrivilegeAdd('param')}" /> - - - + or utilControleAccess.isshow1('groupes')}"> + rendered="#{utilControleAccess.isshowPrivilegeAdd('users')}" /> + rendered="#{utilControleAccess.isshowPrivilegeAdd('groupes')}" /> - diff --git a/src/main/webapp/views/groupe/form.xhtml b/src/main/webapp/views/groupe/form.xhtml index 1c94d0a..c6b153a 100644 --- a/src/main/webapp/views/groupe/form.xhtml +++ b/src/main/webapp/views/groupe/form.xhtml @@ -15,207 +15,301 @@ #{formGroupBean.init()} -
-
+ + +
+ +
+ + +
+ rendered="#{formGroupBean.canEdit and !formGroupBean.isNew}" + action="#{formGroupBean.supprimeGroupe()}" ajax="false" + styleClass="ui-button-danger" + rendered="#{utilControleAccess.isshowPrivilegeRemove('groupes')}"/> + styleClass="modifier-btn" + rendered="#{utilControleAccess.isshowPrivilegeUpdate('groupes')}"/>
- -
-
- -
- + +
+ + +
+ +
+ + + + + + + + +
+ + + + +
+
- - - - - - - - - +
- -
- - - - + + + + + - - - + + + - - - - - - + + + + + - - - - - - + + + + + - - - - -
-
-
- - - - #{msg['distribution.page.groupe.nom']} - - - + + + + + - + + + + + - - - - -
-
-
-
- -
-
-
+ + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
-
+
+ - + + + + + + + + rowKey="#{fonction.id}"> -
-
-
-
- -
+
+
- - + + - + - + \ No newline at end of file diff --git a/src/main/webapp/views/groupe/list.xhtml b/src/main/webapp/views/groupe/list.xhtml index f096528..1a38977 100644 --- a/src/main/webapp/views/groupe/list.xhtml +++ b/src/main/webapp/views/groupe/list.xhtml @@ -14,57 +14,252 @@ + -
- - - - -
-
+ + + +
+ + + + + + #{msg['distribution.page.groupes']} + + +
+ + + +
+
+
+ + + + + + + + + +
-
- + + + + + + + + + + + + + + + + + + + +
+ + + + + + #{msg['distribution.page.fonctionnalite']} + + +
+ + + +
+
+
+ + + + + + + + + +
-
-
+ - - - + + + - + + + - - - - -
+ + + + +
- - - - - - -