Beispiel #1
0
        public async Task <IActionResult> GetAdvancedFormTypes(string query)
        {
            List <ContentPickerItemViewModel> list = new List <ContentPickerItemViewModel>();
            ContentPickerItemViewModel        model;
            var sessionQuery = _session.Query <ContentItem, ContentItemIndex>();
            var types        = await sessionQuery.Where(o => o.ContentType == "AdvancedFormTypes" && o.Latest).ListAsync();

            foreach (var item in types)
            {
                model = new ContentPickerItemViewModel();
                model.ContentItemId   = item.ContentItemId;
                model.DisplayText     = item.DisplayText;
                model.HasPublished    = item.IsPublished();
                model.HideFromListing = item.Content.AdvancedFormTypes.HideFromListing.Value;
                list.Add(model);
            }
            return(new ObjectResult(list));
        }
Beispiel #2
0
        public async Task <IActionResult> Submission(string alias, string id)
        {
            if (!await _authorizationService.AuthorizeAsync(User, Permissions.ManageAdvancedForms))
            {
                return(Unauthorized());
            }

            if (String.IsNullOrWhiteSpace(alias))
            {
                return(Redirect("/"));
            }
            else if (String.IsNullOrWhiteSpace(id))
            {
                return(NotFound());
            }

            var contentItemId = await _contentAliasManager.GetContentItemIdAsync("slug:AdvancedForms/" + alias);

            var contentItem = await _contentManager.GetAsync(contentItemId, VersionOptions.Published);

            var subContentItem = await _contentManager.GetAsync(id, VersionOptions.Published);

            if (subContentItem == null)
            {
                subContentItem = await _contentManager.GetAsync(id, VersionOptions.Draft);
            }

            if (subContentItem == null)
            {
                return(NotFound());
            }

            var selectedContent = await _contentManager.GetAsync(subContentItem.Content.AdvancedFormSubmissions.Status.Text.ToString(), VersionOptions.Published);

            if (selectedContent == null)
            {
                selectedContent = await _contentManager.GetAsync(subContentItem.Content.AdvancedFormSubmissions.Status.Text.ToString(), VersionOptions.DraftRequired);
            }

            List <ContentPickerItemViewModel> lst = new List <ContentPickerItemViewModel>();

            if (selectedContent != null)
            {
                ContentPickerItemViewModel contentPick = new ContentPickerItemViewModel();
                contentPick.ContentItemId = selectedContent.ContentItemId;
                contentPick.DisplayText   = selectedContent.DisplayText;
                contentPick.HasPublished  = selectedContent.Published;
                //contentPick.HideFromListing = selectedContent.Content.AdvancedFormTypes.HideFromListing.Value;
                lst.Add(contentPick);
            }

            List <RolesViewModel> roles = new List <RolesViewModel>();
            string        groups        = contentItem.Content.AdvancedForm.Group.Text;
            List <string> lstGroups     = groups.Split(",").ToList();

            foreach (var item in lstGroups)
            {
                roles.Add(new RolesViewModel()
                {
                    Name = item
                });
            }

            var model = new AdvancedFormViewModel
            {
                Id             = contentItem.ContentItemId,
                AdvancedFormId = contentItem.ContentItemId,
                Owner          = contentItem.Owner,
                ModifiedUtc    = subContentItem.ModifiedUtc,
                CreatedUtc     = subContentItem.CreatedUtc,
                Title          = contentItem.DisplayText,
                Type           = contentItem.Content.AdvancedForm.Type.Text,
                Group          = contentItem.Content.AdvancedForm.Group.Text,
                Header         = contentItem.Content.AdvancedForm.Header.Html,
                Footer         = contentItem.Content.AdvancedForm.Footer.Html,
                Container      = contentItem.Content.AdvancedForm.Container.Html != null?JsonConvert.SerializeObject(contentItem.Content.AdvancedForm.Container.Html) : String.Empty,
                                     AdminContainer = contentItem.Content.AdvancedForm.AdminContainer.Html != null?JsonConvert.SerializeObject(contentItem.Content.AdvancedForm.AdminContainer.Html) : String.Empty,
                                                          Description     = contentItem.Content.AdvancedForm.Description.Html,
                                                          Instructions    = contentItem.Content.AdvancedForm.Instructions.Html,
                                                          HideFromListing = contentItem.Content.AdvancedForm.HideFromListing.Value,
                                                          IsGlobalHeader  = contentItem.Content.AdvancedForm.IsGlobalHeader.Value,
                                                          IsGlobalFooter  = contentItem.Content.AdvancedForm.IsGlobalFooter.Value,
                                                          SubmissionId    = subContentItem.ContentItemId,
                                                          Submission      = subContentItem.Content.AdvancedFormSubmissions.Submission.Html != null?JsonConvert.SerializeObject(subContentItem.Content.AdvancedFormSubmissions.Submission.Html) : String.Empty,
                                                                                AdminSubmission = subContentItem.Content.AdvancedFormSubmissions.AdminSubmission.Html != null?JsonConvert.SerializeObject(subContentItem.Content.AdvancedFormSubmissions.AdminSubmission.Html) : String.Empty,
                                                                                                      Metadata = subContentItem.Content.AdvancedFormSubmissions.Metadata.Html != null?JsonConvert.SerializeObject(subContentItem.Content.AdvancedFormSubmissions.Metadata.Html) : String.Empty,
                                                                                                                     FormFields = contentItem.Content.AdvancedForm.FormFields != null?JsonConvert.SerializeObject(contentItem.Content.AdvancedForm.FormFields.Html) : String.Empty,
                                                                                                                                      Status         = subContentItem.Content.AdvancedFormSubmissions.Status.Text,
                                                                                                                                      SelectedItems  = lst,
                                                                                                                                      SelectedGroups = roles,
                                                                                                                                      AdminEditor    = new HTMLFieldViewModel()
                {
                    ID = "AdminComment"
                },
                PublicEditor = new HTMLFieldViewModel()
                {
                    ID = "PublicComment"
                },
                ApplicationLocation = subContentItem.Content.AdvancedFormSubmissions.ApplicationLocation.Text
            };

            return(View("Submission", model));
        }
Beispiel #3
0
        public async Task <IActionResult> Edit(string contentItemId, string returnUrl)
        {
            var contentItem = await _contentManager.GetAsync(contentItemId, VersionOptions.Latest);

            if (contentItem == null)
            {
                return(NotFound());
            }

            if (!await _authorizationService.AuthorizeAsync(User, Permissions.ManageAdvancedForms, contentItem))
            {
                return(Unauthorized());
            }

            var selectedContent = await _contentManager.GetAsync(contentItem.Content.AdvancedForm.Type.Text.ToString(), VersionOptions.Published);

            if (selectedContent == null)
            {
                selectedContent = await _contentManager.GetAsync(contentItem.Content.AdvancedForm.Type.Text.ToString(), VersionOptions.DraftRequired);
            }

            List <ContentPickerItemViewModel> lst = new List <ContentPickerItemViewModel>();

            if (selectedContent != null)
            {
                ContentPickerItemViewModel contentPick = new ContentPickerItemViewModel();
                contentPick.ContentItemId   = selectedContent.ContentItemId;
                contentPick.DisplayText     = selectedContent.DisplayText;
                contentPick.HasPublished    = selectedContent.Published;
                contentPick.HideFromListing = selectedContent.Content.AdvancedFormTypes.HideFromListing.Value;
                lst.Add(contentPick);
            }

            List <RolesViewModel> roles = new List <RolesViewModel>();
            string        groups        = contentItem.Content.AdvancedForm.Group.Text;
            List <string> lstGroups     = groups.Split(",").ToList();

            foreach (var item in lstGroups)
            {
                roles.Add(new RolesViewModel()
                {
                    Name = item
                });
            }

            var model = new AdvancedFormViewModel
            {
                Id        = contentItemId,
                EntryType = Enums.EntryType.Edit,
                Title     = contentItem.DisplayText,
                Container = contentItem.Content.AdvancedForm.Container.Html != null?JsonConvert.SerializeObject(contentItem.Content.AdvancedForm.Container.Html) : String.Empty,
                                FormFields = contentItem.Content.AdvancedForm.FormFields != null && contentItem.Content.AdvancedForm.FormFields.Html != null?JsonConvert.SerializeObject(contentItem.Content.AdvancedForm.FormFields.Html) : String.Empty,
                                                 AdminContainer = contentItem.Content.AdvancedForm.AdminContainer.Html != null?JsonConvert.SerializeObject(contentItem.Content.AdvancedForm.AdminContainer.Html) : String.Empty,
                                                                      Description     = contentItem.Content.AdvancedForm.Description.Html,
                                                                      Instructions    = contentItem.Content.AdvancedForm.Instructions.Html,
                                                                      Header          = contentItem.Content.AdvancedForm.Header.Html,
                                                                      Footer          = contentItem.Content.AdvancedForm.Footer.Html,
                                                                      Type            = contentItem.Content.AdvancedForm.Type.Text,
                                                                      Group           = contentItem.Content.AdvancedForm.Group.Text,
                                                                      SelectedItems   = lst,
                                                                      SelectedGroups  = roles,
                                                                      HideFromListing = Convert.ToBoolean(contentItem.Content.AdvancedForm.HideFromListing.Value.ToString()),
                                                                      IsGlobalHeader  = Convert.ToBoolean(contentItem.Content.AdvancedForm.IsGlobalHeader.Value.ToString()),
                                                                      IsGlobalFooter  = Convert.ToBoolean(contentItem.Content.AdvancedForm.IsGlobalFooter.Value.ToString())
            };

            model.ReturnUrl = returnUrl;

            return(View("Create", model));
        }