Project

General

Profile

« Previous | Next » 

Revision 61441

merged branch aai_roles_new to trunk

View differences:

PiWikController.java
6 6
import eu.dnetlib.repo.manager.domain.Paging;
7 7
import eu.dnetlib.repo.manager.domain.RepositoryServiceException;
8 8
import eu.dnetlib.repo.manager.service.PiWikServiceImpl;
9
import eu.dnetlib.repo.manager.service.RepositoryService;
10 9
import io.swagger.annotations.Api;
11 10
import io.swagger.annotations.ApiImplicitParam;
12 11
import io.swagger.annotations.ApiImplicitParams;
......
40 39
    @Autowired
41 40
    private PiWikServiceImpl piWikService;
42 41

  
43
    @Autowired
44
    private RepositoryService repositoryService;
45

  
46

  
47 42
    @RequestMapping(value = "/getPiwikSiteForRepo/{repositoryId}" , method = RequestMethod.GET,produces = MediaType.APPLICATION_JSON_VALUE)
48 43
    @ResponseBody
49
    @PreAuthorize("hasRole('ROLE_ADMIN') or hasRole('ROLE_PROVIDE_ADMIN') or ((@repositoryService.getRepositoryById(#repositoryId).registeredBy==authentication.userInfo.email or @repositoryService.getRepositoryById(#repositoryId).registeredBy=='null') and hasRole('ROLE_USER'))")
44
    @PreAuthorize("hasAnyRole('SUPER_ADMINISTRATOR', 'CONTENT_PROVIDER_DASHBOARD_ADMINISTRATOR') or @authorizationService.isMemberOf(#repositoryId) or (@repositoryService.getRepositoryById(#repositoryId).registeredBy=='null' and hasAuthority('REGISTERED_USER'))")
50 45
    public PiwikInfo getPiwikSiteForRepo(@PathVariable("repositoryId") String repositoryId) {
51 46
        return piWikService.getPiwikSiteForRepo(repositoryId);
52 47
    }
53 48

  
54 49
    @RequestMapping(value = "/savePiwikInfo" , method = RequestMethod.POST,produces = MediaType.APPLICATION_JSON_VALUE)
55
    @PreAuthorize("hasRole('ROLE_ADMIN') or hasRole('ROLE_PROVIDE_ADMIN') or ((@repositoryService.getRepositoryById(#piwikInfo.repositoryId).registeredBy==authentication.userInfo.email or @repositoryService.getRepositoryById(#piwikInfo.repositoryId).registeredBy=='null') and hasRole('ROLE_USER'))")
50
    @PreAuthorize("hasAnyRole('SUPER_ADMINISTRATOR', 'CONTENT_PROVIDER_DASHBOARD_ADMINISTRATOR') or @authorizationService.isMemberOf(#piwikInfo.repositoryId) or (@repositoryService.getRepositoryById(#piwikInfo.repositoryId).registeredBy=='null' and hasAuthority('REGISTERED_USER'))")
56 51
    public PiwikInfo savePiwikInfo(@RequestBody PiwikInfo piwikInfo) {
57 52
        return piWikService.savePiwikInfo(piwikInfo);
58 53
    }
......
154 149

  
155 150
    @RequestMapping(value = "/approvePiwikSite/{repositoryId}" , method = RequestMethod.GET)
156 151
    @ResponseBody
157
    @PreAuthorize("hasRole('ROLE_ADMIN') or hasRole('ROLE_PROVIDE_ADMIN')")
152
    @PreAuthorize("hasAuthority('SUPER_ADMINISTRATOR') or hasAuthority('CONTENT_PROVIDER_DASHBOARD_ADMINISTRATOR')")
158 153
    public ResponseEntity<Object> approvePiwikSite(@PathVariable("repositoryId") String repositoryId) {
159 154
        return piWikService.approvePiwikSite(repositoryId);
160 155
    }
161 156

  
162 157
    @RequestMapping(value = "/getOpenaireId/{repositoryId}" , method = RequestMethod.GET,produces = MediaType.APPLICATION_JSON_VALUE)
163 158
    @ResponseBody
164
    @PreAuthorize("hasRole('ROLE_ADMIN') or hasRole('ROLE_PROVIDE_ADMIN') or ((@repositoryService.getRepositoryById(#repositoryId).registeredBy==authentication.userInfo.email or @repositoryService.getRepositoryById(#repositoryId).registeredBy=='null') and hasRole('ROLE_USER'))")
159
    @PreAuthorize("hasAnyRole('SUPER_ADMINISTRATOR', 'CONTENT_PROVIDER_DASHBOARD_ADMINISTRATOR') or @authorizationService.isMemberOf(#repositoryId) or (@repositoryService.getRepositoryById(#repositoryId).registeredBy=='null' and hasAuthority('REGISTERED_USER'))")
165 160
    public String getOpenaireId(@PathVariable("repositoryId") String repositoryId){
166 161
        return piWikService.getOpenaireId(repositoryId);
167 162
    }
......
169 164
    @RequestMapping(value = "/markPiwikSiteAsValidated/{repositoryId}" , method = RequestMethod.POST,
170 165
            consumes = MediaType.APPLICATION_JSON_VALUE)
171 166
    @ResponseBody
172
    @PreAuthorize("hasRole('ROLE_ADMIN') or hasRole('ROLE_PROVIDE_ADMIN')")
167
    @PreAuthorize("hasAuthority('SUPER_ADMINISTRATOR') or hasAuthority('CONTENT_PROVIDER_DASHBOARD_ADMINISTRATOR')")
173 168
    public ResponseEntity<Object> markPiwikSiteAsValidated(@PathVariable("repositoryId") String repositoryId) throws RepositoryServiceException {
174 169
        return piWikService.markPiwikSiteAsValidated(repositoryId);
175 170
    }
176 171

  
177 172
    @RequestMapping(value = "/enableMetricsForRepository", method = RequestMethod.POST,
178 173
            consumes = MediaType.APPLICATION_JSON_VALUE)
179
    @PreAuthorize("hasRole('ROLE_ADMIN') or hasRole('ROLE_PROVIDE_ADMIN') or (hasRole('ROLE_USER') and #piwikInfo.requestorEmail == authentication.userInfo.email)")
174
    @PreAuthorize("hasAuthority('SUPER_ADMINISTRATOR') or hasAuthority('CONTENT_PROVIDER_DASHBOARD_ADMINISTRATOR') or (hasAuthority('REGISTERED_USER') and #piwikInfo.requestorEmail == authentication.userInfo.email)")
180 175
    public PiwikInfo enableMetricsForRepository(@RequestParam("officialName") String officialName,
181 176
                                                @RequestParam("repoWebsite") String repoWebsite,
182 177
                                                @RequestBody PiwikInfo piwikInfo) throws RepositoryServiceException {

Also available in: Unified diff