public virtual ActionResult AddWidget(long pageId, long widgetId)
        {
            var  widgetService = ServiceLocator.Current.GetInstance <IWidgetService>();
            Page currentPage   = pageService.Find(pageId);

            if (currentPage != null)
            {
                var curWidget = widgetService.Find(widgetId);

                if (curWidget != null && widgetService.IsWidgetEnable(curWidget) && permissionService.IsAllowed((Int32)PageOperations.Update, this.CorePrincipal(), typeof(Page),
                                                                                                                pageId, IsPageOwner(currentPage), PermissionOperationLevel.Object))
                {
                    ICoreWidget coreWidget =
                        MvcApplication.Widgets.FirstOrDefault(wd => wd.Identifier == curWidget.Identifier);

                    if (coreWidget != null && coreWidget is BaseWidget && permissionService.IsAllowed(((BaseWidget)coreWidget).AddToPageOperationCode,
                                                                                                      this.CorePrincipal(), coreWidget.GetType(), null))
                    {
                        var widget = PageHelper.AddWidgetToPage(pageId, widgetId, this.CorePrincipal(), null);
                        if (widget != null)
                        {
                            permissionService.SetupDefaultRolePermissions(
                                ResourcePermissionsHelper.GetResourceOperations(coreWidget.GetType()),
                                coreWidget.GetType(), widget.Id);
                            if (currentPage.IsTemplate && widget.Widget.IsPlaceHolder)
                            {
                                IEnumerable <Page> pagesFromTemplate = pageService.GetPagesFromTemplate(currentPage);
                                foreach (var pageFromTemplate in pagesFromTemplate)
                                {
                                    var widgetFromTemplate = PageHelper.AddWidgetToPage(pageFromTemplate.Id, widgetId, this.CorePrincipal(), widget.Id);
                                    if (widgetFromTemplate != null)
                                    {
                                        permissionService.SetupDefaultRolePermissions(
                                            ResourcePermissionsHelper.GetResourceOperations(coreWidget.GetType()),
                                            coreWidget.GetType(), widgetFromTemplate.Id);
                                    }
                                }
                            }

                            return(PartialView(MVC.Shared.Views.Widgets.WidgetContentHolder,
                                               WidgetHelper.GetWidgetViewModel(widget)));
                        }
                    }
                    return(null);
                }
            }

            return(null);
        }
Exemplo n.º 2
0
        public virtual ActionResult New(ArticleViewModel article)
        {
            ArticleHelper.ValidateArticle(article, ModelState);
            if (ModelState.IsValid)
            {
                var newArticle = article.MapTo(new Article
                {
                    UserId     = this.CorePrincipal() != null ? this.CorePrincipal().PrincipalId : (long?)null,
                    CreateDate = DateTime.Now
                });
                if (articleService.Save(newArticle))
                {
                    permissionService.SetupDefaultRolePermissions(OperationsHelper.GetOperations <ArticleOperations>(), typeof(Article), newArticle.Id);
                    Success(HttpContext.Translate("Messages.Success", String.Empty));
                    return(RedirectToAction(WebContentMVC.Article.Show()));
                }
            }
            else
            {
                Error(HttpContext.Translate("Messages.ValidationError", String.Empty));
            }

            article.AllowManage = true;
            return(View("New", article));
        }
Exemplo n.º 3
0
        public virtual ActionResult New(FormViewModel form)
        {
            FormsHelper.ValidateForm(form, ModelState);
            if (ModelState.IsValid)
            {
                var newForm = form.MapTo(new Form {
                    UserId = this.CorePrincipal() != null ? this.CorePrincipal().PrincipalId : (long?)null
                });
                if (formsService.Save(newForm))
                {
                    permissionService.SetupDefaultRolePermissions(OperationsHelper.GetOperations <FormOperations>(), typeof(Form), newForm.Id);
                    Success(HttpContext.Translate("Messages.Success", String.Empty));
                    return(RedirectToAction(FormsMVC.Forms.Edit(newForm.Id)));
                }
            }

            Error(HttpContext.Translate("Messages.ValidationError", String.Empty));

            form.AllowManage = true;
            return(View("New", form));
        }
        public virtual ActionResult New(CategoryViewModel category)
        {
            if (ModelState.IsValid)
            {
                var newCategory = category.MapTo(new WebContentCategory {
                    UserId = this.CorePrincipal() != null ? this.CorePrincipal().PrincipalId : (long?)null
                });
                if (categoryService.Save(newCategory))
                {
                    permissionService.SetupDefaultRolePermissions(OperationsHelper.GetOperations <CategoryOperations>(), typeof(WebContentCategory), newCategory.Id);
                    Success(HttpContext.Translate("Messages.Success", String.Empty));
                    return(RedirectToAction(WebContentMVC.WebContentCategory.Show()));
                }
            }
            else
            {
                Error(HttpContext.Translate("Messages.ValidationError", String.Empty));
            }

            category.AllowManage = true;
            return(View("New", category));
        }
Exemplo n.º 5
0
        public virtual ActionResult Create(PageTemplateViewModel model)
        {
            if (ModelState.IsValid)
            {
                var pageTemplate = new Page {
                    IsTemplate = true
                };
                pageTemplate.PageLayout = new PageLayout
                {
                    LayoutTemplate = LayoutHelper.DefaultLayoutTemplate,
                    Page           = pageTemplate
                };

                if (this.CorePrincipal() != null)
                {
                    pageTemplate.User = new User
                    {
                        Id = this.CorePrincipal().PrincipalId
                    };
                }

                pageTemplate = model.MapTo(pageTemplate);

                if (pageService.Save(pageTemplate))
                {
                    permissionService.SetupDefaultRolePermissions(
                        ResourcePermissionsHelper.GetResourceOperations(typeof(PageTemplate)), typeof(PageTemplate), pageTemplate.Id);
                    Success(Translate("Messages.PageTemplateCreated"));

                    return(RedirectToAction(MVC.Admin.PageTemplate.Index()));
                }
            }

            Error(Translate("Messages.ValidationError"));
            return(View("New", model));
        }