PermissionGroupListener.java
package sk.iway.iwcm.components.users.permgroups;
import com.fasterxml.jackson.core.JsonProcessingException;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Component;
import org.springframework.ui.ModelMap;
import sk.iway.iwcm.JsonTools;
import sk.iway.iwcm.Logger;
import sk.iway.iwcm.admin.ThymeleafEvent;
import sk.iway.iwcm.admin.layout.MenuService;
import sk.iway.iwcm.system.spring.events.WebjetEvent;
/**
* Doplni do modelu objekt jstreePerms so stromovou strukturou prav
*/
@Component
public class PermissionGroupListener {
@EventListener(condition = "#event.clazz eq 'sk.iway.iwcm.admin.ThymeleafEvent' && event.source.page=='users' && event.source.subpage=='permission-groups'")
protected void setInitalData(final WebjetEvent<ThymeleafEvent> event) {
try {
setInitialDataImpl(event.getSource().getModel());
} catch (Exception ex) {
Logger.error(PermissionGroupListener.class, ex);
}
}
protected static void setInitialDataImpl(ModelMap model) throws JsonProcessingException {
model.addAttribute("jstreePerms", JsonTools.objectToJSON(MenuService.getAllPermissions()));
}
}