PermissionGroupRestController.java
package sk.iway.iwcm.components.users.permgroups;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import sk.iway.iwcm.system.datatable.Datatable;
import sk.iway.iwcm.system.datatable.DatatableRestControllerV2;
import sk.iway.iwcm.system.datatable.ProcessItemAction;
import sk.iway.iwcm.users.PermissionGroupBean;
import sk.iway.iwcm.users.PermissionGroupEditorFields;
/**
* Skupiny prav
* Tu sa spravuju skupinove prava pre pouzivatela, tie sa pri jeho prihlaseni spojja s pravami nastavenymi pouzivatelov
* Ak ma user viac skupin, prava sa pridavaju, cize postupne ziskava pravo z viacerych skupin a aj individualne nastavene prava
*/
@RestController
@Datatable
@RequestMapping("/admin/rest/users/permission-groups")
@PreAuthorize("@WebjetSecurityService.hasPermission('users.perm_groups')")
public class PermissionGroupRestController extends DatatableRestControllerV2<PermissionGroupBean, Long>{
@Autowired
public PermissionGroupRestController(PermissionGroupRepository permissionGroupRepository) {
super(permissionGroupRepository);
}
@Override
public PermissionGroupBean processFromEntity(PermissionGroupBean entity, ProcessItemAction action) {
//serverSide je false, takze vzdy posielame vsetko
boolean loadSubQueries = true;
if (ProcessItemAction.GETONE.equals(action)) {
if (entity == null) entity = new PermissionGroupBean();
}
if(entity != null) {
PermissionGroupEditorFields pgef = new PermissionGroupEditorFields();
pgef.fromPermissionGroupBean(entity, loadSubQueries, getRequest());
entity.setEditorFields(pgef);
}
return entity;
}
@Override
public PermissionGroupBean processToEntity(PermissionGroupBean entity, ProcessItemAction action) {
if(entity != null) {
//Call toUserDetailsEntity to set new entity values from EditorFields
PermissionGroupEditorFields pgef = new PermissionGroupEditorFields();
pgef.toPermissionGroupBean(entity);
}
return entity;
}
}