示例#1
0
        public async Task<ActionResult> RemoveFieldFromPOST(string id)
        {
            if (!await _authorizationService.AuthorizeAsync(User, Permissions.EditContentTypes))
                return Unauthorized();

            var partViewModel = _contentDefinitionService.GetPart(id);

            var viewModel = new RemoveFieldViewModel();
            if (partViewModel == null
                || !await TryUpdateModelAsync(viewModel)
                || !partViewModel.PartDefinition.Fields.Any(p => p.Name == viewModel.Name))
                return NotFound();

            _contentDefinitionService.RemoveFieldFromPart(viewModel.Name, partViewModel.Name);

            if (!ModelState.IsValid)
            {
                _session.Cancel();
                viewModel.Part = partViewModel;
                return View(viewModel);
            }

            _notifier.Success(T["The \"{0}\" field has been removed.", viewModel.Name]);

            if (_contentDefinitionService.GetType(id) != null)
                return RedirectToAction("Edit", new { id });

            return RedirectToAction("EditPart", new { id });
        }
示例#2
0
        public async Task<ActionResult> RemoveFieldFrom(string id)
        {
            if (!await _authorizationService.AuthorizeAsync(User, Permissions.EditContentTypes))
                return Unauthorized();

            var partViewModel = _contentDefinitionService.GetPart(id);

            var viewModel = new RemoveFieldViewModel();
            if (partViewModel == null
                || !await TryUpdateModelAsync(viewModel)
                || !partViewModel.PartDefinition.Fields.Any(p => p.Name == viewModel.Name))
                return NotFound();

            viewModel.Part = partViewModel;
            return View(viewModel);
        }