Beispiel #1
0
        protected override DriverResult Editor(CommonPart part, IUpdateModel updater, dynamic shapeHelper)
        {
            var model = new ContainerEditorViewModel();

            if (part.Container != null)
            {
                model.ContainerId = part.Container.ContentItem.Id;
            }

            if (updater != null)
            {
                var priorContainerId = model.ContainerId;
                updater.TryUpdateModel(model, Prefix, null, null);

                if (model.ContainerId != null && model.ContainerId != priorContainerId)
                {
                    var newContainer = _contentManager.Get((int)model.ContainerId, VersionOptions.Latest);
                    if (newContainer == null)
                    {
                        updater.AddModelError("CommonPart.ContainerId", T("Invalid container"));
                    }
                    else
                    {
                        part.Container = newContainer;
                    }
                }
            }

            return(ContentShape("Parts_Common_Container_Edit",
                                () => shapeHelper.EditorTemplate(TemplateName: "Parts.Common.Container", Model: model, Prefix: Prefix)));
        }
        public ContainerEditorView()
        {
            this.InitializeComponent();

            this.viewModel   = new ContainerEditorViewModel();
            this.DataContext = viewModel;
        }
Beispiel #3
0
        protected override DriverResult Editor(CommonPart part, IUpdateModel updater, dynamic shapeHelper)
        {
            var currentUser = _authenticationService.GetAuthenticatedUser();

            if (!_authorizationService.TryCheckAccess(StandardPermissions.SiteOwner, currentUser, part))
            {
                return(null);
            }

            var model = new ContainerEditorViewModel();

            if (part.Container != null)
            {
                model.ContainerId = part.Container.ContentItem.Id;
            }

            if (updater != null)
            {
                var priorContainerId = model.ContainerId;
                updater.TryUpdateModel(model, Prefix, null, null);

                if (model.ContainerId != null && model.ContainerId != priorContainerId)
                {
                    var newContainer = _contentManager.Get((int)model.ContainerId, VersionOptions.Latest);
                    if (newContainer == null)
                    {
                        updater.AddModelError("CommonPart.ContainerId", T("Invalid container"));
                    }
                    else
                    {
                        part.Container = newContainer;
                    }
                }
            }

            return(ContentShape("Parts_Common_Container_Edit",
                                () => shapeHelper.EditorTemplate(TemplateName: "Parts.Common.Container", Model: model, Prefix: Prefix)));
        }