public EditTypePartViewModel(int index, ContentTypePartDefinition part) { Index = index; PartDefinition = new EditPartViewModel(part.PartDefinition); Settings = part.Settings; _Definition = part; }
public EditTypePartViewModel(int index, ContentTypePartDefinition part) { Index = index; PartDefinition = new EditPartViewModel(part.PartDefinition); Settings = part.Settings; PartSettings = part.PartDefinition.Settings; _Definition = part; }
public async Task<ActionResult> AddFieldToPOST(AddFieldViewModel viewModel, string id) { if (!await _authorizationService.AuthorizeAsync(User, Permissions.EditContentTypes)) return Unauthorized(); var partViewModel = _contentDefinitionService.GetPart(id); var typeViewModel = _contentDefinitionService.GetType(id); if (partViewModel == null) { // id passed in might be that of a type w/ no implicit field if (typeViewModel != null) { partViewModel = new EditPartViewModel { Name = typeViewModel.Name }; _contentDefinitionService.AddPart(new CreatePartViewModel { Name = partViewModel.Name }); _contentDefinitionService.AddPartToType(partViewModel.Name, typeViewModel.Name); } else { return NotFound(); } } viewModel.DisplayName = viewModel.DisplayName ?? String.Empty; viewModel.DisplayName = viewModel.DisplayName.Trim(); viewModel.Name = viewModel.Name ?? String.Empty; if (String.IsNullOrWhiteSpace(viewModel.DisplayName)) { ModelState.AddModelError("DisplayName", S["The Display Name name can't be empty."]); } if (String.IsNullOrWhiteSpace(viewModel.Name)) { ModelState.AddModelError("Name", S["The Technical Name can't be empty."]); } if (_contentDefinitionService.GetPart(partViewModel.Name).PartDefinition.Fields.Any(t => String.Equals(t.Name.Trim(), viewModel.Name.Trim(), StringComparison.OrdinalIgnoreCase))) { ModelState.AddModelError("Name", S["A field with the same name already exists."]); } if (!String.IsNullOrWhiteSpace(viewModel.Name) && !viewModel.Name[0].IsLetter()) { ModelState.AddModelError("Name", S["The technical name must start with a letter."]); } if (!String.Equals(viewModel.Name, viewModel.Name.ToSafeName(), StringComparison.OrdinalIgnoreCase)) { ModelState.AddModelError("Name", S["The technical name contains invalid characters."]); } if (_contentDefinitionService.GetPart(partViewModel.Name).PartDefinition.Fields.Any(t => String.Equals(t.DisplayName.Trim(), Convert.ToString(viewModel.DisplayName).Trim(), StringComparison.OrdinalIgnoreCase))) { ModelState.AddModelError("DisplayName", S["A field with the same Display Name already exists."]); } if (!ModelState.IsValid) { viewModel.Part = partViewModel; viewModel.Fields = _contentDefinitionService.GetFields(); _session.Cancel(); return View(viewModel); } try { _contentDefinitionService.AddFieldToPart(viewModel.Name, viewModel.DisplayName, viewModel.FieldTypeName, partViewModel.Name); } catch { //Services.Notifier.Information(T("The \"{0}\" field was not added. {1}", viewModel.DisplayName, ex.Message)); _session.Cancel(); return await AddFieldTo(id); } _notifier.Success(T["The \"{0}\" field has been added.", viewModel.DisplayName]); if (typeViewModel != null) { return RedirectToAction("Edit", new { id }); } return RedirectToAction("EditPart", new { id }); }
public async Task<ActionResult> AddFieldTo(string id) { if (!await _authorizationService.AuthorizeAsync(User, Permissions.EditContentTypes)) return Unauthorized(); var partViewModel = _contentDefinitionService.GetPart(id); if (partViewModel == null) { //id passed in might be that of a type w/ no implicit field var typeViewModel = _contentDefinitionService.GetType(id); if (typeViewModel != null) partViewModel = new EditPartViewModel(new ContentPartDefinition(id)); else return NotFound(); } var viewModel = new AddFieldViewModel { Part = partViewModel, Fields = _contentDefinitionService.GetFields().OrderBy(x => x.FieldTypeName).ToList() }; return View(viewModel); }
public void AlterField(EditPartViewModel partViewModel, EditFieldNameViewModel fieldViewModel) { _contentDefinitionManager.AlterPartDefinition(partViewModel.Name, partBuilder => { partBuilder.WithField(fieldViewModel.Name, fieldBuilder => { fieldBuilder.WithDisplayName(fieldViewModel.DisplayName); }); }); }
public EditPartViewModel GetPart(string name) { var contentPartDefinition = _contentDefinitionManager.GetPartDefinition(name); if (contentPartDefinition == null) return null; var viewModel = new EditPartViewModel(contentPartDefinition); return viewModel; }
public async Task<ActionResult> EditPartPOST(string id, string[] orderedFieldNames) { if (!await _authorizationService.AuthorizeAsync(User, Permissions.EditContentTypes)) return Unauthorized(); var contentPartDefinition = _contentDefinitionManager.GetPartDefinition(id); if (contentPartDefinition == null) { return NotFound(); } var viewModel = new EditPartViewModel(contentPartDefinition); viewModel.Editor = await _contentDefinitionDisplayManager.UpdatePartEditorAsync(contentPartDefinition, this); if (!ModelState.IsValid) { _session.Cancel(); return View(viewModel); } else { _contentDefinitionService.AlterPartFieldsOrder(contentPartDefinition, orderedFieldNames); _notifier.Success(T["The settings of \"{0}\" have been saved.", contentPartDefinition.Name]); } return RedirectToAction("EditPart", new { id }); }
public async Task<ActionResult> EditPart(string id) { if (!await _authorizationService.AuthorizeAsync(User, Permissions.EditContentTypes)) return Unauthorized(); var contentPartDefinition = _contentDefinitionManager.GetPartDefinition(id); if (contentPartDefinition == null) { return NotFound(); } var viewModel = new EditPartViewModel(contentPartDefinition); viewModel.Editor = await _contentDefinitionDisplayManager.BuildPartEditorAsync(contentPartDefinition, this); return View(viewModel); }
public void AlterField(EditPartViewModel partViewModel, EditFieldNameViewModel fieldViewModel) { _contentDefinitionManager.AlterPartDefinition(partViewModel.Name, partBuilder => { partBuilder.WithField(fieldViewModel.Name, fieldBuilder => { _contentDefinitionEditorEvents.Invoke(x => x.PartFieldEditorUpdating(fieldBuilder), Logger); fieldBuilder.WithDisplayName(fieldViewModel.DisplayName); _contentDefinitionEditorEvents.Invoke(x => x.PartFieldEditorUpdated(fieldBuilder), Logger); }); }); }
public void AlterPart(EditPartViewModel partViewModel, IUpdateModel updateModel) { _contentDefinitionManager.AlterPartDefinition(partViewModel.Name, partBuilder => { _contentDefinitionEditorEvents.Invoke(x => x.PartEditorUpdating(partBuilder), Logger); partViewModel.Templates = _contentDefinitionEditorEvents.Invoke(x => x.PartEditorUpdate(partBuilder, updateModel), Logger); _contentDefinitionEditorEvents.Invoke(x => x.PartEditorUpdated(partBuilder), Logger); }); }
public EditPartViewModel GetPart(string name) { var contentPartDefinition = _contentDefinitionManager.GetPartDefinition(name); if (contentPartDefinition == null) return null; var viewModel = new EditPartViewModel(contentPartDefinition) { Templates = _contentDefinitionEditorEvents.Invoke(x => x.PartEditor(contentPartDefinition), Logger) }; return viewModel; }