コード例 #1
0
        public ActionResult RegisterTemplate(TemplateEditViewModel model)
        {
            if (ModelState.IsValid)
            {
                if (model.Regions != null && model.Regions.GroupBy(r => r.Identifier).SelectMany(g => g.Skip(1)).Any())
                {
                    Messages.AddError(PagesGlobalization.SaveTemplate_DublicateRegionIdentificator_Message);
                    return(Json(new WireJson {
                        Success = false
                    }));
                }

                var response = GetCommand <SaveTemplateCommand>().ExecuteCommand(model);
                if (response != null)
                {
                    if (model.Id.HasDefaultValue())
                    {
                        Messages.AddSuccess(PagesGlobalization.SaveTemplate_CreatedSuccessfully_Message);
                    }
                    return(Json(new WireJson {
                        Success = true, Data = response
                    }));
                }
            }

            return(Json(new WireJson {
                Success = false
            }));
        }
コード例 #2
0
ファイル: WidgetsController.cs プロジェクト: eiu165/BetterCMS
        public ActionResult EditServerControlWidget(EditServerControlWidgetViewModel model)
        {
            if (ModelState.IsValid)
            {
                if (model.ContentOptions != null && model.ContentOptions.GroupBy(o => o.OptionKey).SelectMany(g => g.Skip(1)).Any())
                {
                    Messages.AddError(PagesGlobalization.SaveWidget_DublicateOptionName_Message);
                    return(Json(new WireJson {
                        Success = false
                    }));
                }

                var response = GetCommand <SaveServerControlWidgetCommand>().ExecuteCommand(model);
                if (response != null)
                {
                    if (model.Id.HasDefaultValue())
                    {
                        Messages.AddSuccess(PagesGlobalization.SaveWidget_CreatedSuccessfully_Message);
                    }

                    return(Json(new WireJson {
                        Success = true, Data = response
                    }));
                }
            }

            return(Json(new WireJson {
                Success = false
            }));
        }
コード例 #3
0
        public ActionResult Results(SearchRequestViewModel model)
        {
            SearchResultsViewModel results = null;

            if (ModelState.IsValid)
            {
                results = GetCommand <SearchQueryCommand>().ExecuteCommand(model);
            }
            else
            {
                var errorMessage = SearchGlobalization.SearchResults_FailedToGetResults;
                var modelError   = ModelState.Values.SelectMany(v => v.Errors).Select(v => v.ErrorMessage).FirstOrDefault();
                if (!string.IsNullOrWhiteSpace(modelError))
                {
                    errorMessage = string.Concat(errorMessage, " ", modelError);
                }

                Messages.AddError(errorMessage);
            }

            if (results == null && Messages.Error != null && Messages.Error.Count > 0)
            {
                results = new SearchResultsViewModel {
                    ErrorMessage = Messages.Error[0]
                };
            }

            return(PartialView("SearchResultsWidget", results));
        }
コード例 #4
0
        public ActionResult DeleteTemplate(string id, string version)
        {
            var request = new DeleteTemplateCommandRequest
            {
                TemplateId = id.ToGuidOrDefault(),
                Version    = version.ToIntOrDefault()
            };

            var template = GetCommand <GetTemplateCommand>().ExecuteCommand(request.TemplateId);

            if (template != null && template.Pages.Any())
            {
                Messages.AddError(PagesGlobalization.DeleteTemplate_TemplateIsInUse_Message);
                return(Json(new WireJson {
                    Success = false
                }));
            }

            if (GetCommand <DeleteTemplateCommand>().ExecuteCommand(request))
            {
                Messages.AddSuccess(PagesGlobalization.DeleteTemplate_DeletedSuccessfully_Message);
                return(Json(new WireJson
                {
                    Success = true
                }));
            }
            return(Json(new WireJson {
                Success = false
            }));
        }
コード例 #5
0
        public ActionResult EditServerControlWidget([ModelBinder(typeof(JSONDataBinder))] SaveWidgetCommandRequest <EditServerControlWidgetViewModel> request)
        {
            ValidateModelExplicilty(request.Content);

            if (ModelState.IsValid)
            {
                var viewEngineResult = ViewEngines.Engines.FindView(ControllerContext, request.Content.Url, null);
                if (viewEngineResult == null || viewEngineResult.View == null)
                {
                    Messages.AddError(string.Format(PagesGlobalization.SaveWidget_VirtualPathNotExists_Message, request.Content.Url));
                    return(Json(new WireJson {
                        Success = false
                    }));
                }

                var response = GetCommand <SaveServerControlWidgetCommand>().ExecuteCommand(request);
                if (response != null)
                {
                    if (request.Content.Id.HasDefaultValue())
                    {
                        Messages.AddSuccess(PagesGlobalization.SaveWidget_CreatedSuccessfully_Message);
                    }

                    return(Json(new WireJson {
                        Success = true, Data = response
                    }));
                }
            }

            return(Json(new WireJson {
                Success = false
            }));
        }
コード例 #6
0
        public ActionResult SaveUploads(MultiFileUploadViewModel model)
        {
            var result = GetCommand <ConfirmUploadCommand>().ExecuteCommand(model);

            if (result == null)
            {
                Messages.AddError(MediaGlobalization.MultiFileUpload_SaveFailed);
            }
            else if (result.FolderIsDeleted)
            {
                Messages.AddError(MediaGlobalization.MultiFileUpload_SaveFailed_FolderDeleted);
            }

            return(Json(new WireJson(result != null && !result.FolderIsDeleted, result)));
        }
コード例 #7
0
        public ActionResult Login(string returnUrl)
        {
            if (!FormsAuthentication.IsEnabled)
            {
                Messages.AddError(UsersGlobalization.Login_FormsAuthentication_DisabledMessage);
            }

            if (User.Identity.IsAuthenticated)
            {
                return(Redirect(FormsAuthentication.DefaultUrl ?? "/"));
            }

            return(View(new LoginViewModel
            {
                ReturnUrl = returnUrl,
                IsFormsAuthenticationEnabled = FormsAuthentication.IsEnabled
            }));
        }
コード例 #8
0
        public virtual ActionResult Create(CreateAgreementViewModel createAgreement)
        {
            if (ModelState.IsValid)
            {
                var success = GetCommand <CreateAgreementCommand>().ExecuteCommand(createAgreement);

                if (success)
                {
                    Messages.AddSuccess("Success");
                }
                else
                {
                    Messages.AddError("Failed to create.");
                }
            }

            return(View());
        }
コード例 #9
0
ファイル: FolderController.cs プロジェクト: zach88/BetterCMS
        public ActionResult DeleteFolder(string id, string version)
        {
            bool success = GetCommand <DeleteFolderCommand>().ExecuteCommand(
                new DeleteFolderCommandRequest
            {
                FolderId = id.ToGuidOrDefault(),
                Version  = version.ToIntOrDefault()
            });

            if (success)
            {
                Messages.AddSuccess(MediaGlobalization.DeleteFolder_DeletedSuccessfully_Message);
            }
            else
            {
                Messages.AddError(MediaGlobalization.DeleteFolder_DeletedError_Message);
            }

            return(Json(new WireJson(success)));
        }
コード例 #10
0
        /// <summary>
        /// Files the format is valid.
        /// </summary>
        /// <param name="folderType">Type of the folder.</param>
        /// <param name="fileType">Type of the file.</param>
        /// <returns><c>true</c> if media format is supported, otherwise <c>false</c>.</returns>
        private bool FileFormatIsValid(MediaType folderType, string fileType)
        {
            if (folderType == MediaType.Image)
            {
                switch (fileType)
                {
                case "image/png":
                case "image/x-png":     // IE8 fix.
                case "image/jpg":
                case "image/jpeg":
                case "image/pjpeg":     // IE8 fix.
                case "image/gif":
                    break;

                default:
                    Messages.AddError(MediaGlobalization.FileUpload_Failed_ImageFormatNotSuported);
                    return(false);
                }
            }

            return(true);
        }
コード例 #11
0
        public ActionResult Login(LoginViewModel model)
        {
            if (!FormsAuthentication.IsEnabled)
            {
                Messages.AddError(string.Empty, UsersGlobalization.Login_FormsAuthentication_DisabledMessage);
            }
            else
            {
                if (ModelState.IsValid)
                {
                    HttpCookie authCookie = GetCommand <LoginCommand>().ExecuteCommand(model);
                    if (authCookie != null)
                    {
                        Response.Cookies.Add(authCookie);

                        return(Redirect(model.ReturnUrl ?? (FormsAuthentication.DefaultUrl ?? "/")));
                    }
                }
            }
            model.IsFormsAuthenticationEnabled = FormsAuthentication.IsEnabled;
            return(View(model));
        }
コード例 #12
0
        public ActionResult RegisterTemplate(TemplateEditViewModel model)
        {
            if (ModelState.IsValid)
            {
                var viewEngineResult = ViewEngines.Engines.FindView(ControllerContext, model.Url, null);
                if (viewEngineResult == null || viewEngineResult.View == null)
                {
                    Messages.AddError(string.Format(PagesGlobalization.SaveTemplate_VirtualPathNotExists_Message, model.Url));
                    return(Json(new WireJson {
                        Success = false
                    }));
                }

                if (model.Regions != null && model.Regions.GroupBy(r => r.Identifier).SelectMany(g => g.Skip(1)).Any())
                {
                    Messages.AddError(PagesGlobalization.SaveTemplate_DublicateRegionIdentificator_Message);
                    return(Json(new WireJson {
                        Success = false
                    }));
                }

                var response = GetCommand <SaveTemplateCommand>().ExecuteCommand(model);
                if (response != null)
                {
                    if (model.Id.HasDefaultValue())
                    {
                        Messages.AddSuccess(PagesGlobalization.SaveTemplate_CreatedSuccessfully_Message);
                    }
                    return(Json(new WireJson {
                        Success = true, Data = response
                    }));
                }
            }

            return(Json(new WireJson {
                Success = false
            }));
        }
コード例 #13
0
        public ActionResult ChangePublishStatus(SavePagePublishStatusRequest request)
        {
            var success = GetCommand <SavePagePublishStatusCommand>().ExecuteCommand(request);

            if (success)
            {
                var message = request.IsPublished
                    ? PagesGlobalization.PublishPage_PagePublishedSuccessfully_Message
                    : PagesGlobalization.PublishPage_PageUnpublishedSuccessfully_Message;
                Messages.AddSuccess(message);
            }
            else
            {
                var message = request.IsPublished
                    ? PagesGlobalization.PublishPage_FailedToPublishPage_Message
                    : PagesGlobalization.PublishPage_FailedToUnpublishPage_Message;
                Messages.AddError(message);
            }

            return(Json(new WireJson {
                Success = success
            }));
        }