public ActionResult RemoveGroup(RemoveGroupViewModel model)
 {
     if (User.Identity.IsAuthenticated && User.IsInRole("Admin"))
     {
         if (StatementManager.GetGroupById(model.Id) != null)
         {
             StatementManager.RemoveGroup(model.Id);
         }
         return(RedirectToAction("Groups", "Admin"));
     }
     return(RedirectToAction("Index", "Home"));
 }
Example #2
0
        public ActionResult RemoveGroup(RemoveGroupViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(Index());
            }

            try
            {
                _groupService.RemoveGroup(model.GroupId, model.Secret);
                return(RedirectToAction("Index"));
            }
            catch (WrongGroupPasswordException)
            {
                ModelState.AddModelError("", Translations.Dashboard_IncorrectGroupSecret);
                return(Index());
            }
        }
Example #3
0
        public async Task <IActionResult> RemoveGroup(RemoveGroupViewModel viewModel, CancellationToken cancellationToken)
        {
            var account = await AccountProvider.GetAccountForCurrentUser(cancellationToken);

            var group = await GetGroup(viewModel.GroupId, cancellationToken);

            if (group == null)
            {
                return(BadRequest());
            }

            if (!group.IsOwner(account))
            {
                return(Forbid());
            }

            MailAppDbContext.Remove(group);
            await MailAppDbContext.SaveChangesAsync(cancellationToken);

            return(RedirectToAction(nameof(List)));
        }