public ActionResult CreatePost(LayoutEditViewModel model, FormCollection formCollection) { if (!Services.Authorizer.Authorize(StandardPermissions.SiteOwner, T("Not authorized to manage queries"))) { return(new HttpUnauthorizedResult()); } // validating form values model.Layout = _projectionManager.DescribeLayouts().SelectMany(x => x.Descriptors).FirstOrDefault(x => x.Category == model.Category && x.Type == model.Type); _formManager.Validate(new ValidatingContext { FormName = model.Layout.Form, ModelState = ModelState, ValueProvider = ValueProvider }); var form = _formManager.Build(model.Layout.Form) ?? Services.New.EmptyForm(); _formManager.Bind(form, formCollection); model.Form = form; if (ModelState.IsValid) { var layoutRecord = new LayoutRecord { Category = model.Category, Type = model.Type }; var query = _queryService.GetQuery(model.QueryId); query.Layouts.Add(layoutRecord); var dictionary = formCollection.AllKeys.ToDictionary(key => key, formCollection.Get); // save form parameters layoutRecord.State = FormParametersHelper.ToString(dictionary); layoutRecord.Description = model.Description; layoutRecord.Display = model.Display; layoutRecord.DisplayType = model.DisplayType; Services.ContentManager.Flush(); Services.Notifier.Information(T("Layout Created")); return(RedirectToAction("Edit", new { id = layoutRecord.Id })); } return(View(model)); }
public ActionResult EditPost(int id, string category, string type, [DefaultValue(-1)] int filterId, FormCollection formCollection) { var profile = _profileService.GetImageProfile(id); var filter = _processingManager.DescribeFilters().SelectMany(x => x.Descriptors).FirstOrDefault(x => x.Category == category && x.Type == type); var model = new FilterEditViewModel(); TryUpdateModel(model); // validating form values _formManager.Validate(new ValidatingContext { FormName = filter.Form, ModelState = ModelState, ValueProvider = ValueProvider }); if (ModelState.IsValid) { var filterRecord = profile.Filters.FirstOrDefault(f => f.Id == filterId); // add new filter record if it's a newly created filter if (filterRecord == null) { filterRecord = new FilterRecord { Category = category, Type = type, Position = profile.Filters.Count }; profile.Filters.Add(filterRecord); } var dictionary = formCollection.AllKeys.ToDictionary(key => key, formCollection.Get); // save form parameters filterRecord.State = FormParametersHelper.ToString(dictionary); filterRecord.Description = model.Description; // set profile as updated profile.ModifiedUtc = DateTime.UtcNow; profile.FileNames.Clear(); _signals.Trigger("MediaProcessing_" + profile.Name + "_Saved"); return(RedirectToAction("Edit", "Admin", new { id })); } // model is invalid, display it again var form = _formManager.Build(filter.Form); _formManager.Bind(form, formCollection); var viewModel = new FilterEditViewModel { Id = id, Description = model.Description, Filter = filter, Form = form }; return(View(viewModel)); }
public ActionResult EditPost(int id, string category, string type, [DefaultValue(-1)] int filterId, FormCollection formCollection) { var group = _groupRepository.Get(id); var filter = _projectionManager.DescribeFilters().SelectMany(x => x.Descriptors).Where(x => x.Category == category && x.Type == type).FirstOrDefault(); var model = new FilterEditViewModel(); TryUpdateModel(model); // validating form values _formManager.Validate(new ValidatingContext { FormName = filter.Form, ModelState = ModelState, ValueProvider = ValueProvider }); if (ModelState.IsValid) { var filterRecord = group.Filters.Where(f => f.Id == filterId).FirstOrDefault(); // add new filter record if it's a newly created filter if (filterRecord == null) { filterRecord = new FilterRecord { Category = category, Type = type, Position = group.Filters.Count }; group.Filters.Add(filterRecord); } var dictionary = formCollection.AllKeys.ToDictionary(key => key, formCollection.Get); // save form parameters filterRecord.State = FormParametersHelper.ToString(dictionary); filterRecord.Description = model.Description; return(RedirectToAction("Edit", "Admin", new { group.QueryPartRecord.Id })); } // model is invalid, display it again var form = _formManager.Build(filter.Form); _formManager.Bind(form, formCollection); var viewModel = new FilterEditViewModel { Id = id, Description = model.Description, Filter = filter, Form = form }; return(View(viewModel)); }
public ActionResult EditPost(int id, string category, string type, [DefaultValue(-1)] int sortCriterionId, FormCollection formCollection) { var query = _queryService.GetQuery(id); var sortCriterion = _projectionManager.DescribeSortCriteria().SelectMany(x => x.Descriptors).FirstOrDefault(x => x.Category == category && x.Type == type); var model = new SortCriterionEditViewModel(); TryUpdateModel(model); // validating form values _formManager.Validate(new ValidatingContext { FormName = sortCriterion.Form, ModelState = ModelState, ValueProvider = ValueProvider }); if (ModelState.IsValid) { var sortCriterionRecord = query.SortCriteria.FirstOrDefault(f => f.Id == sortCriterionId); // add new sort criteria record if it's a newly created one if (sortCriterionRecord == null) { sortCriterionRecord = new SortCriterionRecord { Category = category, Type = type, Position = query.SortCriteria.Count }; query.SortCriteria.Add(sortCriterionRecord); } var dictionary = formCollection.AllKeys.ToDictionary(key => key, formCollection.Get); // save form parameters sortCriterionRecord.State = FormParametersHelper.ToString(dictionary); sortCriterionRecord.Description = model.Description; return(RedirectToAction("Edit", "Admin", new { id })); } // model is invalid, display it again var form = _formManager.Build(sortCriterion.Form); _formManager.Bind(form, formCollection); var viewModel = new SortCriterionEditViewModel { Id = id, Description = model.Description, SortCriterion = sortCriterion, Form = form }; return(View(viewModel)); }
public ActionResult EditPost(int id, string category, string type, [DefaultValue(-1)] int actionId, FormCollection formCollection) { var rule = _rulesServices.GetRule(id); var actionRecord = rule.Actions.FirstOrDefault(a => a.Id == actionId); // add new action record if it's a newly created action if (actionRecord == null) { actionRecord = new ActionRecord { Category = category, Type = type, Position = rule.Actions.Count }; rule.Actions.Add(actionRecord); } var action = _rulesManager.DescribeActions().SelectMany(x => x.Descriptors).FirstOrDefault(x => x.Category == category && x.Type == type); // validating form values _formManager.Validate(new ValidatingContext { FormName = action.Form, ModelState = ModelState, ValueProvider = ValueProvider }); if (ModelState.IsValid) { var dictionary = formCollection.AllKeys.ToDictionary(key => key, formCollection.Get); // save form parameters actionRecord.Parameters = FormParametersHelper.ToString(dictionary); return(RedirectToAction("Edit", "Admin", new { id })); } // model is invalid, display it again var form = _formManager.Build(action.Form); // Cancel the current transaction to prevent records from begin created Services.TransactionManager.Cancel(); AddSubmitButton(form); _formManager.Bind(form, formCollection); var viewModel = new EditActionViewModel { Id = id, Action = action, Form = form }; return(View(viewModel)); }
public ActionResult EditActivityPost(int id, string localId, string name, string clientId, FormCollection formValues) { if (!Services.Authorizer.Authorize(StandardPermissions.SiteOwner, T("Not authorized to edit workflows"))) { return(new HttpUnauthorizedResult()); } var activity = _activitiesManager.GetActivityByName(name); if (activity == null) { return(HttpNotFound()); } // validating form values _formManager.Validate(new ValidatingContext { FormName = activity.Form, ModelState = ModelState, ValueProvider = ValueProvider }); // stay on the page if there are validation errors if (!ModelState.IsValid) { // build the form, and let external components alter it var form = activity.Form == null ? null : _formManager.Build(activity.Form); // bind form with existing values. _formManager.Bind(form, ValueProvider); var viewModel = New.ViewModel(Id: id, LocalId: localId, Form: form); return(View(viewModel)); } var model = new UpdatedActivityModel { ClientId = clientId, Data = formValues }; TempData["UpdatedViewModel"] = model; return(RedirectToAction("Edit", new { id, localId })); }
public ActionResult EditPost(int id, string category, string type, [DefaultValue(-1)] int propertyId, FormCollection formCollection) { if (!Services.Authorizer.Authorize(StandardPermissions.SiteOwner, T("Not authorized to manage queries"))) { return(new HttpUnauthorizedResult()); } var layout = _layoutRepository.Get(id); var property = _projectionManager.DescribeProperties().SelectMany(x => x.Descriptors).Where(x => x.Category == category && x.Type == type).FirstOrDefault(); var model = new PropertyEditViewModel(); TryUpdateModel(model); // validating form values _formManager.Validate(new ValidatingContext { FormName = property.Form, ModelState = ModelState, ValueProvider = ValueProvider }); if (ModelState.IsValid) { var propertyRecord = layout.Properties.Where(f => f.Id == propertyId).FirstOrDefault(); // add new property record if it's a newly created property if (propertyRecord == null) { propertyRecord = new PropertyRecord { Category = category, Type = type, Position = layout.Properties.Count }; layout.Properties.Add(propertyRecord); } var dictionary = formCollection.AllKeys.ToDictionary(key => key, formCollection.Get); // save form parameters propertyRecord.State = FormParametersHelper.ToString(dictionary); propertyRecord.Description = model.Description; propertyRecord.CreateLabel = model.CreateLabel; propertyRecord.ExcludeFromDisplay = model.ExcludeFromDisplay; propertyRecord.Label = model.Label; propertyRecord.LinkToContent = model.LinkToContent; propertyRecord.CustomizeLabelHtml = model.CustomizeLabelHtml; propertyRecord.CustomizePropertyHtml = model.CustomizePropertyHtml; propertyRecord.CustomizeWrapperHtml = model.CustomizeWrapperHtml; propertyRecord.CustomLabelCss = model.CustomLabelCss; propertyRecord.CustomLabelTag = model.CustomLabelTag; propertyRecord.CustomPropertyCss = model.CustomPropertyCss; propertyRecord.CustomPropertyTag = model.CustomPropertyTag; propertyRecord.CustomWrapperCss = model.CustomWrapperCss; propertyRecord.CustomWrapperTag = model.CustomWrapperTag; propertyRecord.NoResultText = model.NoResultText; propertyRecord.ZeroIsEmpty = model.ZeroIsEmpty; propertyRecord.HideEmpty = model.HideEmpty; propertyRecord.RewriteOutput = model.RewriteOutput; propertyRecord.RewriteText = model.RewriteText; propertyRecord.StripHtmlTags = model.StripHtmlTags; propertyRecord.TrimLength = model.TrimLength; propertyRecord.AddEllipsis = model.AddEllipsis; propertyRecord.MaxLength = model.MaxLength; propertyRecord.TrimOnWordBoundary = model.TrimOnWordBoundary; propertyRecord.PreserveLines = model.PreserveLines; propertyRecord.TrimWhiteSpace = model.TrimWhiteSpace; return(RedirectToAction("Edit", "Layout", new { id })); } // model is invalid, display it again var form = _formManager.Build(property.Form); _formManager.Bind(form, formCollection); var viewModel = new PropertyEditViewModel { Id = id, Description = model.Description, Property = property, Form = form }; return(View(viewModel)); }