protected void Save_OnClick(object sender, EventArgs e)
        {
            selectedItem = BaseMapper.GetObjectFromContext((MediaDetail)selectedItem);
            IEnumerable <UserMedia> UserMediaDetails = UserPermissionsSelector.GetUserMediaDetails();

            User User = UserPermissionsSelector.GetSelectedUser();
            IEnumerable <UserMedia> removeItems = selectedItem.Media.UsersMedias.Where(i => i.UserID == User.ID);

            foreach (UserMedia removeItem in removeItems)
            {
                UsersMediasMapper.DeletePermanently(removeItem);
            }

            foreach (UserMedia UserMediaDetail in UserMediaDetails)
            {
                selectedItem.Media.UsersMedias.Add(UserMediaDetail);
            }

            Return obj = MediaDetailsMapper.Update(selectedItem);

            if (obj.IsError)
            {
                BasePage.DisplayErrorMessage("Error assigning User", obj.Error);
            }
            else
            {
                BasePage.DisplaySuccessMessage("Successfully assigned User");
                Bind();
                EditPanel.Visible = false;
            }
        }
Exemplo n.º 2
0
        public void SetItem(IMediaDetail mediaDetail)
        {
            if (mediaDetail == null)
            {
                return;
            }

            Link.NavigateUrl = URIHelper.ConvertToAbsUrl(mediaDetail.AutoCalculatedVirtualPath);

            var title            = mediaDetail.SectionTitle;
            var shortDescription = mediaDetail.ShortDescription;

            var maxCharsTitle            = 40;
            var maxCharsShortDescription = 116;

            if (title.Length > maxCharsTitle)
            {
                title = title.Substring(0, maxCharsTitle);
            }

            if (shortDescription.Length > maxCharsShortDescription)
            {
                shortDescription = shortDescription.Substring(0, maxCharsShortDescription) + " ...";
            }

            Link.Attributes["title"] = "<span class='toolTipTitle'>" + title + "</span><br />" + shortDescription;
        }
        private void HandleDelete(IEnumerable <UserMedia> selectedUserMediaDetails)
        {
            selectedItem = BaseMapper.GetObjectFromContext((MediaDetail)selectedItem);
            Return obj = BaseMapper.GenerateReturn();

            foreach (UserMedia selectedUserMediaDetail in selectedUserMediaDetails)
            {
                UserMedia item = BaseMapper.GetObjectFromContext(selectedUserMediaDetail);
                selectedItem.Media.UsersMedias.Remove(selectedUserMediaDetail);
                obj = UsersMediasMapper.DeletePermanently(selectedUserMediaDetail);

                if (obj.IsError)
                {
                    break;
                }
            }

            if (obj.IsError)
            {
                BasePage.DisplayErrorMessage("Error deleting association", obj.Error);
            }
            else
            {
                BasePage.DisplaySuccessMessage("Successfully deleted association");
                Bind();
            }
        }
 private void UserMustHaveAccessTo(IMediaDetail detail)
 {
     if (FrameworkSettings.CurrentUser == null || !detail.CanUserAccessSection(FrameworkSettings.CurrentUser))
     {
         throw AccessDeniedException(detail);
     }
 }
Exemplo n.º 5
0
        /*protected override void OnPreRender(EventArgs e)
         * {
         *  base.OnPreRender(e);
         *
         *  if (!IsPostBack)
         *      UpdateFieldsFromObject();
         * }*/

        private void UpdateSectionTitles()
        {
            string title        = "";
            string sectionTitle = "";

            if (selectedItem.ID == 0)
            {
                string       under      = "Root";
                IMediaDetail atleastOne = null;

                if (parentMediaItem != null)
                {
                    atleastOne = MediaDetailsMapper.GetAtleastOneByMedia(parentMediaItem, CurrentLanguage);
                }

                if ((parentMediaItem != null) && (atleastOne != null))
                {
                    under = atleastOne.LinkTitle;
                }

                sectionTitle = "Creating: <span>New Media of Type '" + MediaTypesMapper.GetByID(mediaTypeId).Name + "' Under '" + under + "' with Language '" + CurrentLanguage.Name + "'</span>";
                title        = StringHelper.StripHtmlTags(sectionTitle);
            }
            else
            {
                title        = "Editing: " + selectedItem.LinkTitle;
                sectionTitle = "Editing: <span>" + selectedItem.LinkTitle + "</span>";
            }

            this.Page.Title        = title;
            this.SectionTitle.Text = sectionTitle;
        }
Exemplo n.º 6
0
        private void HandleDelete(IEnumerable <RoleMedia> RoleMediaDetails)
        {
            selectedItem = BaseMapper.GetObjectFromContext((MediaDetail)selectedItem);
            Role   role = null;
            Return obj  = BaseMapper.GenerateReturn();

            foreach (RoleMedia RoleMediaDetail in RoleMediaDetails)
            {
                obj  = RolesMediasMapper.DeletePermanently(RoleMediaDetail);
                role = RoleMediaDetail.Role;
            }

            if (!obj.IsError)
            {
                IEnumerable <UserMedia> userMediaDetails = selectedItem.Media.UsersMedias.Where(i => i.User.IsInRole(role));

                foreach (UserMedia userMediaDetail in userMediaDetails)
                {
                    UsersMediasMapper.DeletePermanently(userMediaDetail);
                }

                Bind();
            }

            if (obj.IsError)
            {
                BasePage.DisplayErrorMessage("Error deleting association", obj.Error);
            }
            else
            {
                BasePage.DisplaySuccessMessage("Successfully deleted association");
                Bind();
            }
        }
        private void SetDeleteStatus(IMediaDetail detail, bool isDeleted)
        {
            UserMustHaveAccessTo(detail);

            if (!FrameworkSettings.CurrentUser.HasPermission(PermissionsEnum.Delete))
            {
                throw new Exception("You do not have the appropriate permissions to delete/undelete items");
            }

            detail           = BaseMapper.GetObjectFromContext((MediaDetail)detail);
            detail.IsDeleted = isDeleted;

            Return returnObj = MediaDetailsMapper.Update(detail);

            if (returnObj.IsError)
            {
                throw returnObj.Error.Exception;
            }
            else
            {
                ContextHelper.ClearAllMemoryCache();
                detail.RemoveFromCache();
                FileCacheHelper.DeleteCacheDir("generatenav");
            }
        }
        public void SetObject(IMediaDetail selectedItem)
        {
            this.selectedItem = selectedItem;

            if (selectedItem.ID != 0)
            {
                var allMediaTypes     = MediaTypesMapper.GetDataModel().MediaTypes.Where(i => i.IsActive);
                var allowedMediaTypes = new List <MediaType>();

                foreach (var mediaType in allMediaTypes)
                {
                    MediaTypeEnum mediaTypeEnum = MediaTypeEnum.Page;
                    Enum.TryParse(mediaType.Name, out mediaTypeEnum);

                    var tmpMediaDetail = MediaDetailsMapper.CreateObject(mediaTypeEnum);
                    if (tmpMediaDetail.GetType() == selectedItem.GetType())
                    {
                        allowedMediaTypes.Add(mediaType);
                    }
                }

                MediaTypes.DataSource     = allowedMediaTypes;
                MediaTypes.DataTextField  = "Name";
                MediaTypes.DataValueField = "ID";
                MediaTypes.DataBind();
            }

            //UpdateFieldsFromObject();
        }
Exemplo n.º 9
0
        public void UpdateFieldsFromObject()
        {
            IMediaDetail item = (IMediaDetail)SelectedItem;

            if ((item.ID == 0) && (item.LinkTitle == null || item.LinkTitle == ""))
            {
                var mediaType    = MediaTypesMapper.GetByID(item.MediaTypeID);
                var createdItems = mediaType.MediaDetails.Where(i => !i.IsHistory && i.Media.ParentMediaID == item.Media.ParentMediaID && i.LanguageID == AdminBasePage.CurrentLanguage.ID).Select(i => i);

                var newIndex = createdItems.Count() + 1;

                item.LinkTitle = AdminBasePage.CurrentLanguage.DisplayName + " - " + mediaType.Name + " " + newIndex;
            }

            LinkTitle.Text = item.LinkTitle;

            var virtualPath = item.AutoCalculatedVirtualPath;

            /*if (LanguagesMapper.GetAllActive().Count() > 1)
             *  virtualPath = URIHelper.ConvertAbsUrlToTilda(URIHelper.ConvertToAbsUrl(virtualPath).Replace(URIHelper.BaseUrl, URIHelper.BaseUrlWithLanguage));*/

            VirtualPath.Text        = virtualPath;
            VirtualPath.NavigateUrl = URIHelper.ConvertToAbsUrl(virtualPath) + "?version=" + item.HistoryVersionNumber;

            UpdateTags();

            UpdateTabsFieldsFromObject();

            UpdateMediaFieldsFromObject();

            //SEOSettingsTab.UpdateFieldsFromObject();
            //PublishSettingsTab.UpdateFieldsFromObject();
        }
Exemplo n.º 10
0
        private Return SaveHistory(IMediaDetail history)
        {
            selectedItem = BaseMapper.GetObjectFromContext((MediaDetail)selectedItem);
            history.HistoryForMediaDetailID = selectedItem.ID;

            if (selectedItem.History.Count == 0)
            {
                history.HistoryVersionNumber = 1;
            }
            else
            {
                history.HistoryVersionNumber = selectedItem.History.OrderByDescending(i => i.HistoryVersionNumber).Take(1).FirstOrDefault().HistoryVersionNumber + 1;
            }

            if (selectedItem.History.Count >= MediaDetailsMapper.MaxHistory)
            {
                int count = selectedItem.History.Count - MediaDetailsMapper.MaxHistory;
                IEnumerable <MediaDetail> items = selectedItem.History.OrderBy(i => i.HistoryVersionNumber).Take(count);

                foreach (MediaDetail item in items)
                {
                    if (!item.IsDraft)
                    {
                        MediaDetailsMapper.ClearObjectRelations(item);
                        MediaDetailsMapper.DeleteObjectFromContext(item);
                    }
                }
            }

            /*if (history.MainContent.Trim() == "")
             *  history.MainContent = "TBD";*/

            return(MediaDetailsMapper.Insert(history));
        }
Exemplo n.º 11
0
        public bool CanRenderAddToCartButton(IMediaDetail detail)
        {
            CartItem foundItem = GetCartItemByDetail(detail);

            if (detail == null)
            {
                return(false);
            }

            if (!detail.CanAddToCart)
            {
                return(false);
            }

            if (detail.QuantityInStock <= 0)
            {
                return(false);
            }

            if ((foundItem != null) && (detail.QuantityInStock <= foundItem.Quantity))
            {
                return(false);
            }

            return(true);
        }
Exemplo n.º 12
0
        protected void Save_OnClick(object sender, EventArgs e)
        {
            selectedItem = BaseMapper.GetObjectFromContext((MediaDetail)selectedItem);
            IEnumerable <RoleMedia> RoleMediaDetails = RolePermissionsSelector.GetRoleMediaDetails();

            Role role = RolePermissionsSelector.GetSelectedRole();
            IEnumerable <RoleMedia> removeItems = selectedItem.Media.RolesMedias.Where(i => i.RoleID == role.ID);

            foreach (RoleMedia removeItem in removeItems)
            {
                RolesMediasMapper.DeletePermanently(removeItem);
            }

            foreach (RoleMedia RoleMediaDetail in RoleMediaDetails)
            {
                selectedItem.Media.RolesMedias.Add(RoleMediaDetail);
            }

            Return obj = MediaDetailsMapper.Update(selectedItem);

            if (obj.IsError)
            {
                BasePage.DisplayErrorMessage("Error assigning role", obj.Error);
            }
            else
            {
                BasePage.DisplaySuccessMessage("Successfully assigned role");
                Bind();
                EditPanel.Visible = false;
            }
        }
        private bool SearchWithinMediaDetail(IMediaDetail mediaDetail, string filterText)
        {
            if (mediaDetail == null)
            {
                return(false);
            }

            if (mediaDetail.HistoryVersionNumber == 0 && mediaDetail.MediaID.ToString() == filterText || mediaDetail.SearchForTerm(filterText) || mediaDetail.Fields.Any(j => j.FieldValue.Contains(filterText)))
            {
                return(true);
            }

            foreach (var fieldAssociation in mediaDetail.Fields.SelectMany(i => i.FieldAssociations))
            {
                if (fieldAssociation.MediaDetail.ID == mediaDetail.ID)
                {
                    continue;
                }

                if (SearchWithinMediaDetail(fieldAssociation.MediaDetail, filterText))
                {
                    return(true);
                }
            }

            return(false);
        }
        private JsTreeNode GetJsTreeNode(IMediaDetail mediaDetail)
        {
            var jsTreeNode = new JsTreeNode();

            UpdateTreeNode(jsTreeNode, mediaDetail);

            return(jsTreeNode);
        }
Exemplo n.º 15
0
        private string ConvertMediaDetailToSiteMapXmlEntry(IMediaDetail mediaDetail)
        {
            var entryXML = $@"<url>
    <loc>{mediaDetail.AbsoluteUrl}</loc> 
</url>";

            return(entryXML);
        }
Exemplo n.º 16
0
        public void GetFieldsByID(long id)
        {
            string json = "";

            IMediaDetail detail = MediaDetailsMapper.GetByID(id);


            WriteJSON(json);
        }
Exemplo n.º 17
0
    public static FrameworkBaseMedia GetInstanceByMediaDetail(IMediaDetail mediaDetail)
    {
        if (FrameworkSettings.Current != null)
        {
            return(FrameworkSettings.Current);
        }

        return(new FrameworkBaseMedia(mediaDetail));
    }
Exemplo n.º 18
0
        public void RemoveItem(IMediaDetail item)
        {
            CartItem foundItem = items.Where(i => i.Item.ID == item.ID).FirstOrDefault();

            if (foundItem != null)
            {
                items.Remove(foundItem);
            }
        }
Exemplo n.º 19
0
        public void SetObject(IMediaDetail selectedItem)
        {
            this.selectedItem = selectedItem;

            if (MediaFieldsEditor != null)
            {
                Bind();
            }
        }
Exemplo n.º 20
0
        public static Media GetByMediaDetail(IMediaDetail mediaDetail)
        {
            if (mediaDetail == null)
            {
                return(null);
            }

            return(GetDataModel().AllMedia.FirstOrDefault(item => item.ID == mediaDetail.MediaID));
        }
Exemplo n.º 21
0
        private string ConvertMediaDetailToSiteMapXmlEntry(IMediaDetail mediaDetail)
        {
            var entryXML = $@"<url>
    <loc>{mediaDetail.AbsoluteUrl}</loc> 
	<lastmod>{mediaDetail.DateLastModified.ToString("o")}</lastmod>
</url>";

            return(entryXML);
        }
Exemplo n.º 22
0
        public void SetObject(IMediaDetail selectedItem)
        {
            this.selectedItem = selectedItem;

            if (selectedItem.LanguageID != LanguagesMapper.GetDefaultLanguage().ID)
            {
                UseDefaultLanguageLayoutsToggleWrapper.Visible = true;
            }
        }
Exemplo n.º 23
0
        private void Bind()
        {
            if (item == null)
            {
                item = BasePage.CurrentMediaDetail;
            }

            RelatedItemsList.DataSource = MediaDetailsMapper.GetRelatedItems(item).ToList();
            RelatedItemsList.DataBind();
        }
Exemplo n.º 24
0
 public RssItem(IMediaDetail mediaDetail)
 {
     this.Title           = mediaDetail.SectionTitle;
     this.Author          = mediaDetail.CreatedByUser.UserName;
     this.Description     = mediaDetail.ShortDescription;
     this.Link            = mediaDetail.AbsoluteUrl;
     this.PubDate         = ((DateTime)mediaDetail.PublishDate).ToString("r");
     this.ObjectReference = mediaDetail;
     this.Updated         = mediaDetail.DateLastModified.ToString("r");
 }
Exemplo n.º 25
0
        public void SetItem(IMediaDetail item)
        {
            this.selectedItem = item;
            var mediaTypeRoles = MediaTypesMapper.GetByID(item.MediaTypeID).GetRoles();

            if (mediaTypeRoles.Count() > 0)
            {
                RolePermissionsSelector.SetRoles(mediaTypeRoles);
            }
        }
 private Exception AccessDeniedException(IMediaDetail detail = null)
 {
     if (detail == null)
     {
         return(new Exception("You do not have the appropriate permissions to perform this operation"));
     }
     else
     {
         return(new Exception($"You do not have the appropriate permissions to perform this operation on '{detail.SectionTitle}'"));
     }
 }
Exemplo n.º 27
0
        public void CopyProperties(IMediaDetail toItem, IMediaDetail fromItem)
        {
            foreach (var field in fromItem.Fields)
            {
                var newField = new MediaDetailField();

                var foundField = toItem.Fields.FirstOrDefault(i => i.FieldCode == field.FieldCode);

                if (foundField != null)
                {
                    newField = foundField;
                }

                newField.CopyFrom(field);

                foreach (var fieldAssociation in field.FieldAssociations)
                {
                    var newFieldAssociation = new FieldAssociation();
                    newFieldAssociation.CopyFrom(fieldAssociation);

                    var associatedMediaDetail = (MediaDetail)MediaDetailsMapper.GetByID(newFieldAssociation.AssociatedMediaDetailID);

                    if (associatedMediaDetail == null)
                    {
                        continue;
                    }

                    if (!associatedMediaDetail.MediaType.ShowInSiteTree)
                    {
                        newFieldAssociation.MediaDetail = (MediaDetail)MediaDetailsMapper.CreateObject(associatedMediaDetail.MediaType.ID, MediasMapper.CreateObject(), associatedMediaDetail.Media.ParentMedia);
                        newFieldAssociation.MediaDetail.CopyFrom(associatedMediaDetail);
                        newFieldAssociation.MediaDetail.DateCreated   = newFieldAssociation.MediaDetail.DateLastModified = DateTime.Now;
                        newFieldAssociation.MediaDetail.CreatedByUser = newFieldAssociation.MediaDetail.LastUpdatedByUser = FrameworkSettings.CurrentUser;

                        CopyProperties(newFieldAssociation.MediaDetail, associatedMediaDetail);
                    }

                    /*if (newFieldAssociation.MediaDetail != null)
                     * {
                     *  newFieldAssociation.MediaDetail.HistoryForMediaDetailID = fieldAssociation.AssociatedMediaDetailID;
                     *  newFieldAssociation.MediaDetail.HistoryVersionNumber = newFieldAssociation.MediaDetail.HistoryVersionNumber + 1;
                     * }*/


                    newField.FieldAssociations.Add(newFieldAssociation);
                }

                if (newField.ID == 0)
                {
                    toItem.Fields.Add(newField);
                }
            }
        }
Exemplo n.º 28
0
        protected void PublishNow_OnClick(object sender, EventArgs e)
        {
            if (!CurrentUser.HasPermission(PermissionsEnum.Publish))
            {
                DisplayErrorMessage("Error publishing item", ErrorHelper.CreateError(new Exception("You do not have the appropriate permissions to publish items")));
                return;
            }

            selectedItem = BaseMapper.GetObjectFromContext((MediaDetail)selectedItem);

            if (selectedItem == null)
            {
                return;
            }

            var mediaType = MediaTypesMapper.GetByID(selectedItem.MediaTypeID);

            selectedItem.PublishDate = DateTime.Now;

            if (selectedItem.ExpiryDate != null)
            {
                selectedItem.ExpiryDate = null;
            }

            selectedItem.ShowInMenu          = mediaType.ShowInMenu;
            selectedItem.ShowInSearchResults = mediaType.ShowInSearchResults;
            selectedItem.EnableCaching       = mediaType.EnableCaching;

            Return returnObj = MediaDetailsMapper.Update(selectedItem);

            if (returnObj.IsError)
            {
                DisplayErrorMessage("Error Publishing Item", returnObj.Error);
            }
            else
            {
                DisplaySuccessMessage("Successfully Published Item");

                var mediaId = (selectedItem.Media.ParentMediaID != null) ? selectedItem.Media.ParentMediaID : selectedItem.MediaID;

                ExecuteRawJS("RefreshSiteTreeNodeById(" + mediaId + "); ReloadPreviewPanel();");

                UpdateFieldsFromObject();

                PublishNow.Visible = false;
                ContextHelper.Clear(ContextType.Cache);
                FileCacheHelper.ClearAllCache();
            }

            UpdateFieldsFromObject();

            OnPublishExecuteCode();
        }
Exemplo n.º 29
0
        public KeyValuePair <IMediaDetail, User> IsCheckedOut(IMediaDetail detail)
        {
            foreach (KeyValuePair <IMediaDetail, User> item in CheckedOutItems)
            {
                if (item.Key.ID == detail.ID)
                {
                    return(item);
                }
            }

            return(default(KeyValuePair <IMediaDetail, User>));
        }
Exemplo n.º 30
0
        public override void SetObject(IMediaDetail obj)
        {
            //base.SetObject(obj);
            //SEOSettingsTab.SetObject(obj);
            //PublishSettingsTab.SetObject(obj);

            BindMediaFields();

            LoadTabs();

            UpdateFieldsFromObject();
        }