コード例 #1
0
        public async Task <ActionResult> Delete(int projectId, int projectaclid)
        {
            var project = await ProjectRepository.GetProjectAsync(projectId);

            var projectAcl = project.ProjectAcls.Single(acl => acl.ProjectAclId == projectaclid);
            var claims     = await ClaimRepository.GetClaimsForMaster(projectId, projectAcl.UserId, ClaimStatusSpec.Any);

            var groups = await ProjectRepository.GetGroupsWithResponsible(projectId);

            return(View(DeleteAclViewModel.FromAcl(projectAcl,
                                                   claims.Count,
                                                   groups.Where(gr => gr.ResponsibleMasterUserId == projectAcl.UserId).ToList())));
        }
コード例 #2
0
 public async Task <ActionResult> Delete(DeleteAclViewModel viewModel)
 {
     try
     {
         await ProjectService.RemoveAccess(viewModel.ProjectId, viewModel.UserId, viewModel.ResponsibleMasterId);
     }
     catch
     {
         return(View(viewModel));
     }
     if (viewModel.UserId == CurrentUserId)
     {
         //We are removing ourself, need to redirect to public page
         return(await RedirectToProject(viewModel.ProjectId));
     }
     return(RedirectToAction("Index", "Acl", new { viewModel.ProjectId }));
 }
コード例 #3
0
 public async Task <ActionResult> RemoveYourself(DeleteAclViewModel viewModel) => await Delete(viewModel);