--- /dev/null
+/*******************************************************************************
+ * Copyright � Igor Barma, Alexandre Desoubeaux, Christian Martel, Eric Brun, Mathieu Amblard, Gwenael Gevet, Pierre Guillot, 2012
+ * Copyright Alexandre Desoubeaux, Christian Martel, Cedric Lecarpentier, Alexandre Lefevre, Marc Salvat 2014-2016
+ * Copyright Alexandre Desoubeaux, Christian Martel, Cedric Lecarpentier, Marc Salvat, Marc Suarez, Harifetra Ramamonjy 2017
+ *
+ * This file is part of the work and learning management system Pentila Nero.
+ *
+ * Pentila Nero is free software. You can redistribute it and/or modify since
+ * you respect the terms of either (at least one of the both license) :
+ * - under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ * - the CeCILL-C as published by CeCILL-C; either version 1 of the
+ * License, or any later version
+ * - the GNU Lesser General Public License as published by the
+ * Free Software Foundation, either version 3 of the license,
+ * or (at your option) any later version.
+ *
+ * There are special exceptions to the terms and conditions of the
+ * licenses as they are applied to this software. View the full text of
+ * the exception in file LICENSE-PROJECT.txt in the directory of this software
+ * distribution.
+ *
+ * Pentila Nero is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * Licenses for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * and the CeCILL-C and the GNU Lesser General Public License along with
+ * Pentila Nero. If not, see :
+ * <http://www.gnu.org/licenses/> and
+ * <http://www.cecill.info/licences.fr.html>.
+ ******************************************************************************/
+package com.pentila.entSavoie.listeners;
+
+import java.util.List;
+
+import com.liferay.portal.ModelListenerException;
+import com.liferay.portal.kernel.exception.SystemException;
+import com.liferay.portal.model.Group;
+import com.liferay.portal.model.ModelListener;
+import com.pentila.entSavoie.applicationManager.service.AMSingleUsersLocalServiceUtil;
+import com.pentila.entSavoie.carnetDAdresses.model.Fiche;
+import com.pentila.entSavoie.carnetDAdresses.model.Liste;
+import com.pentila.entSavoie.carnetDAdresses.service.FicheLocalServiceUtil;
+import com.pentila.entSavoie.carnetDAdresses.service.ListeLocalServiceUtil;
+import com.pentila.entSavoie.cartable.model.CasierEntry;
+import com.pentila.entSavoie.cartable.service.CasierEntryLocalServiceUtil;
+
+public class ENTGroupListener implements ModelListener<Group> {
+
+ public void onAfterAddAssociation(Object arg0, String arg1, Object arg2)
+ throws ModelListenerException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void onAfterCreate(Group arg0) throws ModelListenerException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void onAfterRemove(Group arg0) throws ModelListenerException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void onAfterRemoveAssociation(Object arg0, String arg1, Object arg2)
+ throws ModelListenerException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void onAfterUpdate(Group arg0) throws ModelListenerException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void onBeforeAddAssociation(Object arg0, String arg1, Object arg2)
+ throws ModelListenerException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void onBeforeCreate(Group arg0) throws ModelListenerException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void onBeforeRemove(Group grp) throws ModelListenerException {
+ if(grp.isUser()){
+
+ long myUserGroupId = grp.getGroupId();
+ long companyId = grp.getCompanyId();
+ long userId = grp.getCreatorUserId();
+ // ** ** Suppression des infos utilisateur relatifs aux service de l'ENT ** **
+ //suite dans le fichier : com.pentila.entSavoie.listeners.UserPassowrdListener
+ //Internal Messaging
+
+ //APPLICATION MANAGER
+ try {
+ AMSingleUsersLocalServiceUtil.deleteByUserId(userId);
+ } catch (SystemException e) {
+ e.printStackTrace();
+ }
+ System.out.println("deleting Single users");
+
+ //CARNTET D'ADRESSE
+ //on recupere les fiches et on les supprimes
+ List<Fiche> fiches = null;
+ try {
+ fiches = FicheLocalServiceUtil.findByGroupId(myUserGroupId);
+ } catch (SystemException e) {
+ e.printStackTrace();
+ }
+ System.out.println("deleting fiches");
+ for (Fiche f : fiches){
+ try {
+ FicheLocalServiceUtil.deleteFiche(f);
+ } catch (SystemException e) {
+ e.printStackTrace();
+ }
+ }
+ //on recupere les listes et on les supprimes
+ List<Liste> lists = null;
+ try {
+ lists = ListeLocalServiceUtil.findByGroupId(myUserGroupId);
+ } catch (SystemException e) {
+ e.printStackTrace();
+ }
+ System.out.println("deleting listes");
+ for (Liste l : lists){
+ try {
+ ListeLocalServiceUtil.deleteListe(l);
+ } catch (SystemException e) {
+ e.printStackTrace();
+ }
+ }
+
+ //CASIER
+ List<CasierEntry> casierEntries = null;
+ try {
+ casierEntries = CasierEntryLocalServiceUtil.findByC_G(companyId, myUserGroupId);
+ } catch (SystemException e) {
+ e.printStackTrace();
+ }
+ System.out.println("deleting casier entry");
+ for(CasierEntry ce : casierEntries){
+ try {
+ CasierEntryLocalServiceUtil.deleteCasierEntry(ce);
+ } catch (SystemException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ }
+
+ public void onBeforeRemoveAssociation(Object arg0, String arg1, Object arg2)
+ throws ModelListenerException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void onBeforeUpdate(Group arg0) throws ModelListenerException {
+ // TODO Auto-generated method stub
+
+ }
+
+}