Skip to content

Commit 1d17ef3

Browse files
committed
LUT-27605 : control access to response details within workgroup
1 parent 31e9c70 commit 1d17ef3

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

src/java/fr/paris/lutece/plugins/forms/service/FormsMultiviewAuthorizationService.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,9 @@
3838
import java.util.ArrayList;
3939
import java.util.List;
4040
import java.util.stream.Collectors;
41-
4241
import javax.servlet.http.HttpServletRequest;
43-
4442
import org.apache.commons.collections.CollectionUtils;
4543
import org.apache.commons.lang3.math.NumberUtils;
46-
4744
import fr.paris.lutece.plugins.forms.business.form.FormResponseItem;
4845
import fr.paris.lutece.plugins.forms.business.form.column.FormColumnFactory;
4946
import fr.paris.lutece.plugins.forms.business.form.column.IFormColumn;
@@ -56,6 +53,9 @@
5653
import fr.paris.lutece.plugins.forms.util.FormsConstants;
5754
import fr.paris.lutece.plugins.forms.web.form.FormDisplayFactory;
5855
import fr.paris.lutece.portal.service.admin.AdminUserService;
56+
import fr.paris.lutece.portal.service.workgroup.AdminWorkgroupService;
57+
import fr.paris.lutece.plugins.forms.business.Form;
58+
import fr.paris.lutece.plugins.forms.business.FormResponse;
5959

6060
import java.util.HashMap;
6161
import java.util.Map;
@@ -121,6 +121,12 @@ public boolean isUserAuthorizedOnFormResponse( HttpServletRequest request, int n
121121
List<Integer> listIdFormResponse = listFormResponseItem.stream( ).map( FormResponseItem::getIdFormResponse ).collect( Collectors.toList( ) );
122122
bIsUserAuthorizedOnFormResponse = listIdFormResponse.contains( nIdFormResponse );
123123
}
124+
if(bIsUserAuthorizedOnFormResponse) {
125+
User user = fr.paris.lutece.portal.service.admin.AdminUserService.getAdminUser(request);
126+
FormResponse formResponse = fr.paris.lutece.plugins.forms.business.FormResponseHome.findByPrimaryKey(nIdFormResponse);
127+
Form form = fr.paris.lutece.plugins.forms.business.FormHome.findByPrimaryKey(formResponse.getFormId());
128+
bIsUserAuthorizedOnFormResponse = AdminWorkgroupService.isAuthorized(form, user);
129+
}
124130
}
125131

126132
return bIsUserAuthorizedOnFormResponse;

0 commit comments

Comments
 (0)