1-888-365-2779
+1-888-365-2779
Try Now
More in this section

Forums / Developing with Sitefinity / strange behavor with link to files

strange behavor with link to files

3 posts, 1 answered
  1. Laura
    Laura avatar
    311 posts
    Registered:
    25 Feb 2008
    28 Jan 2010
    Link to this post
    This is very strange - Is there any reason why I could create a link to a file (PDF)  from a folder on the site before and now when I try the same fodler the Im Done button won't enable?  But it will let me choose from a different folder?  (see image)

    Thanks.
  2. Ivan Dimitrov
    Ivan Dimitrov avatar
    16072 posts
    Registered:
    16 Jun 2017
    28 Jan 2010
    Link to this post
    Hi Laura,

    Most probably you are not using the last official release of Sitefinity which is SP2 build 2057. There is a problem with the js that has been fixed.

    You could try the following

    1. Open Sitefinity\Admin\ControlTemplates\Libraries\Dialogs\ItemSelector.ascx and replace the control template with this one below:

    <%@ Control Language="C#" AutoEventWireup="true" CodeFile="ItemSelector.ascx.cs" Inherits="Sitefinity_Admin_ControlTemplates_Libraries_Dialogs_ItemSelector" %>
    <%@ Register TagPrefix="telerik" Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" %>
    <%@ Register TagPrefix="cc" Namespace="Telerik.FileManager" Assembly="Telerik.FileManager" %>
    <%@ Register TagPrefix="cc" Namespace="Telerik.Cms.Web.UI" Assembly="Telerik.Cms" %>
    <%@ Register TagPrefix="sfLib" Namespace="Telerik.Libraries.WebControls" Assembly="Telerik.Libraries" %>
    <%@ Register TagPrefix="sfWeb" Namespace="Telerik.Cms.Web.UI" Assembly="Telerik.Cms.Web.UI"  %>
    <%@ Register TagPrefix="sf" Namespace="Telerik.Cms.Engine.WebControls" Assembly="Telerik.Cms.Engine" %>
     
     
    <script type="text/javascript">
     
        var availableImagesSelected = null;
        var selectedAltText = '';
        var selectedTitle = '';
        var selectedWidth;
        var selectedHeight;
     
        function getRadWindow() //mandatory for the RadWindow dialogs functionality
        {
            if (window.radWindow) {
                return window.radWindow;
            }
            if (window.frameElement && window.frameElement.radWindow) {
                return window.frameElement.radWindow;
            }
            return null;
        }
     
        function initDialog() //called when the dialog is initialized
        {
            var clientParameters = getRadWindow().ClientParameters; //return the arguments supplied from the parent page
        }
     
        if (window.attachEvent) {
            window.attachEvent("onload", initDialog);
        }
        else if (window.addEventListener) {
            window.addEventListener("load", initDialog, false);
        }
     
        function insertLink() //fires when the Insert Link button is clicked
        {
            var closeArgument = {};
            var tabstrpId = $find("<%= tabStripItems.ClientID %>");
            var cmsEdtrId = $find("<%= cmsUrlWebEditor.ClientID %>");
            var appRoot = "<%= System.Web.Hosting.HostingEnvironment.ApplicationVirtualPath %>";
            if (appRoot.lastIndexOf("/") == appRoot.length - 1) {
                appRoot = appRoot.substr(0, appRoot.length - 1)
            }
            if (tabstrpId.get_selectedTab().get_value() == 'pagesTab1') {
                closeArgument.src = cmsEdtrId.selectedValue;
                closeArgument.title = cmsEdtrId.selectedTitle;
            }
            else if (tabstrpId.get_selectedTab().get_value() == 'librariesTab') {
                closeArgument.src = document.getElementById('<%= selectedValue.ClientID %>').value;
                closeArgument.unresolved = document.getElementById('<%= unresolvedValue.ClientID %>').value;
                closeArgument.altText = selectedAltText;
                closeArgument.title = selectedTitle;
                if (selectedWidth > 0 && selectedHeight > 0) {
                    closeArgument.width = selectedWidth;
                    closeArgument.height = selectedHeight;
                }
            }
            else if (tabstrpId.get_selectedTab().get_value() == 'filesTab') {
                var selFiles = GetSelectedPaths();
                if (selFiles) {
                    if (selFiles.length == 0) {
                        closeArgument.src = '';
                        closeArgument.title = '';
                    }
                    else {
                        var strUrl = selFiles[0];
                        if (strUrl.indexOf("~/") == 0) {
                            closeArgument.unresolved = strUrl;
                            closeArgument.src = appRoot + strUrl.substr(1, strUrl.length - 1);
                        }
                        else {
                            closeArgument.src = strUrl;
                        }
                        closeArgument.title = selFiles[0];
                    }
                }
            }
            var radWindow = getRadWindow();
            radWindow.argument = closeArgument;
            radWindow.close(closeArgument); //use the close function of the getRadWindow to close the dialog and pass the arguments from the dialog to the callback function on the main page.
        }
     
        function setSelected(unresolvedVal, val, liEl, altText, title, widht, height) {
            selectedWidth = widht;
            selectedHeight = height;
            var selectedHidden = document.getElementById('<%= selectedValue.ClientID %>');
            var unresolvedHidden = document.getElementById('<%= unresolvedValue.ClientID %>');
            unresolvedHidden.value = unresolvedVal;
            setClass($find("<%= selectedValue.ClientID %>"), "selected");
            setClass(liEl.id, "selected");
            selectedHidden.value = val;
            selectedAltText = altText;
            selectedTitle = title;
            switchClasses(1, "show", "hidden", 'doneActions');
            switchClasses(1, "hidden", "show", 'actionsDisabled');
            if (availableImagesSelected != null && availableImagesSelected != liEl) {
                removeClass(availableImagesSelected.id, "selected");
            }
            availableImagesSelected = liEl;
        }
     
        function setClass(elId, className) {
            var element = document.getElementById(elId);
            if (typeof (element) != "undefined" && element != null) {
                var classes = element.className.split(' ');
                var classValue = "";
     
                for (i = 0; i < classes.length; i++) {
                    if (classes[i] == className)
                        return;
                    else {
                        if (i == 0)
                            classValue = classes[i];
                        else
                            classValue += " " + classes[i];
                    }
                }
     
                element.className = classValue + " " + className;
            }
        }
     
        function toggleCssClass(elId, className) {
            var el = document.getElementById(elId);
     
            var classes = el.className.split(' ');
            var classValue = "";
            var containsClass = false;
     
            for (i = 0; i < classes.length; i++) {
                if (classes[i] == className) {
                    containsClass = true;
                    continue;
                }
                else {
                    if (i == 0)
                        classValue = classes[i];
                    else
                        classValue += " " + classes[i];
                }
            }
     
            if (!containsClass)
                classValue += " " + className;
     
            el.className = classValue;
        }
        function switchClasses(condition, firstClass, secondClass, elId) {
            if (condition) {
                setClass(elId, firstClass);
                removeClass(elId, secondClass);
            }
            else {
                setClass(elId, secondClass);
                removeClass(elId, firstClass);
            }
        }
        function removeClass(elId, className) {
            var element = document.getElementById(elId);
            if (typeof (element) != "undefined" && element != null) {
                var classes = element.className.split(' ');
                var classValue = "";
     
                for (i = 0; i < classes.length; i++) {
                    if (classes[i] == className)
                        continue;
                    else {
                        if (i == 0)
                            classValue = classes[i];
                        else
                            classValue += " " + classes[i];
                    }
                }
     
                element.className = classValue;
            }
        }
        function CompliantExternalLinks() {
            /* xhtml compliant external links workaround script */
            if (!document.getElementsByTagName) return;
            var externalLinks = document.getElementsByTagName("a");
            for (var i = 0; i < externalLinks.length; i++) {
                var externalLink = externalLinks[i];
                if (externalLink.getAttribute("href") && externalLink.getAttribute("rel") == "external") {
                    externalLink.target = "_blank";
                }
            }
        }
    </script>
    <telerik:RadTabStrip ID="tabStripItems" runat="server" MultiPageID="multiPageImages" EnableEmbeddedSkins="false" Skin="SitefinityDialogs">
        <Tabs>
            <telerik:RadTab Value="pagesTab1" PageViewID="pagesTab" runat="server" Text="Pages"></telerik:RadTab>
            <telerik:RadTab Value="librariesTab" PageViewID="pageViewLibraries" runat="server" Text="<%$Resources:Libraries %>"></telerik:RadTab>
            <telerik:RadTab Value="filesTab" PageViewID="pageViewFiles" runat="server" Text="<%$Resources:Files %>"></telerik:RadTab>
        </Tabs>
    </telerik:RadTabStrip>
    <div class="chooseFromUploadedOptions">
    <telerik:RadMultiPage ID="multiPageImages" runat="server">
         
        <telerik:RadPageView runat="server" ID="pagesTab">
            <cc:CmsUrlWebEditor id="cmsUrlWebEditor" runat="server" />
        </telerik:RadPageView>
     
        <telerik:RadPageView runat="server" ID="pageViewLibraries">
            <asp:PlaceHolder runat="server" ID="librariesScreen">
                <asp:Repeater runat="server" ID="librariesList">
                    <HeaderTemplate>
                        <h2>Open a library</h2>
                        <p class="gotoLibraryModules">Here you select images you have uploaded in Modules > <a id="A1" href="~/Sitefinity/Admin/Modules.aspx?module=Libraries" runat="server" rel="external">Images&Documents</a></p>
                        <ul class="selectLibrary">
                    </HeaderTemplate>
                    <ItemTemplate>
                        <li class='<%#Eval("TypeName") %>'>
                            <asp:LinkButton runat="server" ID="librarySelector" CssClass='<%#Eval("TypeName") %>' Text='<%#Eval("Name") %>'></asp:LinkButton>
                            (<asp:Literal runat="server" ID="imagesCount"></asp:Literal>)
                        </li>
                    </ItemTemplate>
                    <FooterTemplate>
                        </ul>
                    </FooterTemplate>
                </asp:Repeater>
                <asp:PlaceHolder runat="server" ID="noLibrariesHolder">
                    <asp:Label ID="Label1" runat="server" Text="<%$Resources:NoLibraries %>"></asp:Label>
                </asp:PlaceHolder>
            </asp:PlaceHolder>
            <asp:PlaceHolder runat="server" ID="itemsScreen">
                <div class="back"><asp:LinkButton runat="server" ID="backToLibraries" Text="<%$Resources:BackToLibraries %>"></asp:LinkButton></div>
                <div class="help"><asp:Literal ID="PreviousPage" runat="server" Text="<%$Resources:Help %>"></asp:Literal></div>                                 
                <h1 class="libraryHead"><asp:Label runat="server" ID="libraryName" /></h1>
              <asp:Literal ID="openDivTag" runat="server" EnableViewState="false"/>
                <asp:Repeater ID="itemsList" runat="server">
                    <HeaderTemplate>
                        <ul class="availableImages">
                    </HeaderTemplate>
                    <ItemTemplate>
                        <li runat="server" id="itemLi">
                            <sfLib:ItemView ID="contentView" runat="server" ItemTemplatePath="~/Sitefinity/Admin/ControlTemplates/Libraries/SelectorItemView.ascx" />
                        </li>
                    </ItemTemplate>
                    <FooterTemplate>
                        </ul>
                    </FooterTemplate>
                </asp:Repeater>
              <asp:Literal ID="closingDivTag" runat="server" EnableViewState="false"/>
                <asp:HiddenField runat="server" ID="selectedValue" Value="false" />
                <asp:HiddenField runat="server" ID="unresolvedValue" />
                <sfWeb:Pager runat="server" ID="pager2">
                    <LayoutTemplate>
                         <asp:Repeater ID="PageRepeaterLinkButton" runat="server">
                            <HeaderTemplate>
                                <ol class="pager">
                                <li><asp:LinkButton ID="PreviousPage" runat="server" Text="<%$Resources:PreviousPage %>"></asp:LinkButton></li>
                            </HeaderTemplate>
                            <ItemTemplate>
                                <li>
                                    <asp:LinkButton ID="SingleItem" runat="server" />
                                </li>
                            </ItemTemplate>
                            <FooterTemplate>
                                <li><asp:LinkButton ID="NextPage" runat="server" Text="<%$Resources:NextPage %>"></asp:LinkButton></li>
                                </ol>
                            </FooterTemplate>
                        </asp:Repeater>
                        <asp:Repeater ID="PageRepeaterHyperLink" runat="server">
                            <HeaderTemplate>
                                <ol class="sf_pager">
                                <li><asp:HyperLink ID="PreviousPage" runat="server" Text="<%$Resources:PreviousPage %>"></asp:HyperLink></li>
                            </HeaderTemplate>
                            <ItemTemplate>
                                <li>
                                    <asp:HyperLink ID="SingleItem" runat="server" />
                                </li>
                            </ItemTemplate>
                            <FooterTemplate>
                                <li><asp:HyperLink ID="NextPage" runat="server" Text="<%$Resources:NextPage %>"></asp:HyperLink></li>
                                </ol>
                            </FooterTemplate>
                        </asp:Repeater>
                    </LayoutTemplate>
                </sfWeb:Pager>
            </asp:PlaceHolder>
        </telerik:RadPageView>
         
        <telerik:RadPageView runat="server" ID="pageViewFiles">
            <div id="fileManagerWrapepr"><cc:UrlWebEditor id="urlWebEditor" runat="server" /></div>
            <script type="text/javascript">
                var fmWrapper = document.getElementById("fileManagerWrapepr");
                if (typeof fmWrapper != 'undefined' && fmWrapper != null) {
                    var fmBody = fmWrapper.getElementsByTagName("TABLE")[0];
                    if (typeof fmBody != 'undefined' && fmBody != null) {
                        var TRs = fmBody.getElementsByTagName("TR");
     
                        for (var i = 0; i < TRs.length; i++) {
                            var folders = TRs[i].getElementsByTagName("A");
                            if (folders.length == 0)
                                TRs[i].onclick = function() {
                                    switchClasses(1, "show", "hidden", 'doneActions');
                                    switchClasses(1, "hidden", "show", 'actionsDisabled');
                                }
                        }
                    }
                }
            </script>
        </telerik:RadPageView>
     
    </telerik:RadMultiPage>
    </div>
    <asp:PlaceHolder runat="server" ID="buttonsHolder">
    <p id="actionsDisabled" class="show">
        <a class="CmsButLeft ok disable" disabled="disabled"><strong id="Strong1" runat="server" class="CmsButRight light"><asp:Literal ID="Literal1" runat="server" Text="<%$Resources:IMDone%>" /></strong></a>
        <span class="cmsorlbl"><asp:Literal ID="Literal2" runat="server" Text="<%$Resources:Or %>"></asp:Literal></span>
        <asp:LinkButton ID="LinkButton1" runat="server" Text="<%$Resources:Cancel %>" OnClientClick="getRadWindow().close();"></asp:LinkButton>
    </p>
    <p id="doneActions" class="hidden">
        <asp:LinkButton OnClientClick="insertLink();" CssClass="CmsButLeft ok" ID="imDoneBtn" runat="server"><strong class="CmsButRight light"><asp:Literal ID="Literal3" runat="server" Text="<%$Resources:IMDone %>" /></strong></asp:LinkButton>
        <span class="cmsorlbl"><asp:Literal ID="Literal4" runat="server" Text="<%$Resources:Or %>"></asp:Literal></span>
        <asp:LinkButton ID="LinkButton2" runat="server" Text="<%$Resources:Cancel %>" OnClientClick="getRadWindow().close();"></asp:LinkButton>
    </p>
    </asp:PlaceHolder>
    <script type="text/javascript"> CompliantExternalLinks();</script>

    2. Open \Sitefinity\Admin\ControlTemplates\Pages\Dialogs\PagesSelector.ascx and replace the control template with this one below:


    <%@ Control Language="C#" AutoEventWireup="true" CodeFile="PagesSelector.ascx.cs" Inherits="Sitefinity_Admin_ControlTemplates_Pages_Dialogs_PagesSelector" %>
    <%@ Register TagPrefix="telerik" Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" %>
    <%@ Register TagPrefix="cc" Namespace="Telerik.FileManager" Assembly="Telerik.FileManager" %>
    <%@ Register TagPrefix="cc" Namespace="Telerik.Cms.Web.UI" Assembly="Telerik.Cms" %>
    <%@ Register TagPrefix="sfLib" Namespace="Telerik.Libraries.WebControls" Assembly="Telerik.Libraries" %>
    <%@ Register TagPrefix="sfWeb" Namespace="Telerik.Cms.Engine.WebControls" Assembly="Telerik.Cms.Engine" %>
     
    <script type="text/javascript">
     
        var availableImagesSelected = null;
        var selectedAltText = '';
        var selectedTitle = '';
     
        function getRadWindow() //mandatory for the RadWindow dialogs functionality
        {
            if (window.radWindow) {
                return window.radWindow;
            }
            if (window.frameElement && window.frameElement.radWindow) {
                return window.frameElement.radWindow;
            }
            return null;
        }
     
        function initDialog() //called when the dialog is initialized
        {
            var clientParameters = getRadWindow().ClientParameters; //return the arguments supplied from the parent page
        }
     
        if (window.attachEvent) {
            window.attachEvent("onload", initDialog);
        }
        else if (window.addEventListener) {
            window.addEventListener("load", initDialog, false);
        }
     
        function insertLink() //fires when the Insert Link button is clicked
        {
            var closeArgument = {};
            var tabstrpId = $find("<%= tabStripItems.ClientID %>");
     
            if (tabstrpId.get_selectedTab().get_value() == 'pagesTab1') {
                closeArgument.src = CmsUrlWebEditor.selectedValue;
                closeArgument.title = CmsUrlWebEditor.selectedTitle;
                closeArgument.resolved = CmsUrlWebEditor.selectedUrl;
            }
            else if (tabstrpId.get_selectedTab().get_value() == 'filesTab') {
                var selFiles = GetSelectedPaths();
                if (selFiles) {
                    if (selFiles.length == 0) {
                        closeArgument.src = '';
                        closeArgument.title = '';
                    }
                    else {
                        closeArgument.src = selFiles[0];
                        closeArgument.title = selFiles[0];
                    }
                }
            }
            var radWindow = getRadWindow();
            radWindow.argument = closeArgument;
            radWindow.close(closeArgument); //use the close function of the getRadWindow to close the dialog and pass the arguments from the dialog to the callback function on the main page.
        }
     
        function setClass(elId, className) {
            var element = document.getElementById(elId);
            if (typeof (element) != "undefined" && element != null) {
                var classes = element.className.split(' ');
                var classValue = "";
     
                for (i = 0; i < classes.length; i++) {
                    if (classes[i] == className)
                        return;
                    else {
                        if (i == 0)
                            classValue = classes[i];
                        else
                            classValue += " " + classes[i];
                    }
                }
     
                element.className = classValue + " " + className;
            }
        }
     
        function toggleCssClass(elId, className) {
            var el = document.getElementById(elId);
     
            var classes = el.className.split(' ');
            var classValue = "";
            var containsClass = false;
     
            for (i = 0; i < classes.length; i++) {
                if (classes[i] == className) {
                    containsClass = true;
                    continue;
                }
                else {
                    if (i == 0)
                        classValue = classes[i];
                    else
                        classValue += " " + classes[i];
                }
            }
     
            if (!containsClass)
                classValue += " " + className;
     
            el.className = classValue;
        }
        function switchClasses(condition, firstClass, secondClass, elId) {
            if (condition) {
                setClass(elId, firstClass);
                removeClass(elId, secondClass);
            }
            else {
                setClass(elId, secondClass);
                removeClass(elId, firstClass);
            }
        }
        function removeClass(elId, className) {
            var element = document.getElementById(elId);
            if (typeof (element) != "undefined" && element != null) {
                var classes = element.className.split(' ');
                var classValue = "";
     
                for (i = 0; i < classes.length; i++) {
                    if (classes[i] == className)
                        continue;
                    else {
                        if (i == 0)
                            classValue = classes[i];
                        else
                            classValue += " " + classes[i];
                    }
                }
     
                element.className = classValue;
            }
        }
        function CompliantExternalLinks() {
            /* xhtml compliant external links workaround script */
            if (!document.getElementsByTagName) return;
            var externalLinks = document.getElementsByTagName("a");
            for (var i = 0; i < externalLinks.length; i++) {
                var externalLink = externalLinks[i];
                if (externalLink.getAttribute("href") && externalLink.getAttribute("rel") == "external") {
                    externalLink.target = "_blank";
                }
            }
        }
    </script>
     
    <telerik:RadTabStrip ID="tabStripItems" runat="server" MultiPageID="multiPageImages" SelectedIndex="0" EnableEmbeddedSkins="false" Skin="SitefinityDialogs">
        <Tabs>
            <telerik:RadTab Value="pagesTab1" PageViewID="pagesTab" runat="server" Text="Pages"></telerik:RadTab>
            <telerik:RadTab Value="filesTab" PageViewID="pageViewFiles" runat="server" Text="<%$Resources:Files %>"></telerik:RadTab>
        </Tabs>
    </telerik:RadTabStrip>
    <div class="chooseFromUploadedOptions">
     <telerik:RadMultiPage ID="multiPageImages" runat="server" SelectedIndex="0">
        <telerik:RadPageView runat="server" ID="pagesTab">
            <div id="pageManagerWrapper">
                <cc:CmsUrlWebEditor id="cmsUrlWebEditor" runat="server" />
            </div>
            <script type="text/javascript">
                var pmWrapper = document.getElementById("pageManagerWrapper");
                if (typeof pmWrapper != 'undefined' && pmWrapper != null) {
                    var pmWrapperSpans = pmWrapper.getElementsByTagName("SPAN");
     
                    for (var i = 0; i < pmWrapperSpans.length; i++) {
     
                        pmWrapperSpans[i].onclick = function() {
                            switchClasses(1, "show", "hidden", 'doneActions');
                            switchClasses(1, "hidden", "show", 'actionsDisabled');
                        }
                    }
     
                }
            </script>
        </telerik:RadPageView>
         
        <telerik:RadPageView runat="server" ID="pageViewFiles">
            <div id="fileManagerWrapepr"><cc:UrlWebEditor id="urlWebEditor" runat="server" /></div>
            <script type="text/javascript">
                var fmWrapper = document.getElementById("fileManagerWrapepr");
                if (typeof fmWrapper != 'undefined' && fmWrapper != null) {
                    var fmBody = fmWrapper.getElementsByTagName("TABLE")[0];
                    if (typeof fmBody != 'undefined' && fmBody != null) {
                        var TRs = fmBody.getElementsByTagName("TR");
     
                        for (var i = 0; i < TRs.length; i++) {
                            var folders = TRs[i].getElementsByTagName("A");
                            if (folders.length == 0)
                                TRs[i].onclick = function() {
                                    switchClasses(1, "show", "hidden", 'doneActions');
                                    switchClasses(1, "hidden", "show", 'actionsDisabled');
                                }
                        }
                    }
                }
            </script>
        </telerik:RadPageView>
     
    </telerik:RadMultiPage>
    </div>
    <asp:PlaceHolder runat="server" ID="buttonsHolder">
    <p id="actionsDisabled" class="show">
        <a class="CmsButLeft ok disable" disabled="disabled"><strong id="Strong1" runat="server" class="CmsButRight light"><asp:Literal ID="Literal1" runat="server" Text="<%$Resources:IMDone%>" /></strong></a>
        <span class="cmsorlbl"><asp:Literal ID="Literal2" runat="server" Text="<%$Resources:Or %>"></asp:Literal></span>
        <asp:LinkButton ID="LinkButton1" runat="server" Text="<%$Resources:Cancel %>" OnClientClick="getRadWindow().close();"></asp:LinkButton>
    </p>
    <p id="doneActions" class="hidden">
        <asp:LinkButton OnClientClick="insertLink();" CssClass="CmsButLeft ok" ID="imDoneBtn" runat="server"><strong class="CmsButRight light"><asp:Literal ID="Literal3" runat="server" Text="<%$Resources:IMDone %>" /></strong></asp:LinkButton>
        <span class="cmsorlbl"><asp:Literal ID="Literal4" runat="server" Text="<%$Resources:Or %>"></asp:Literal></span>
        <asp:LinkButton ID="LinkButton2" runat="server" Text="<%$Resources:Cancel %>" OnClientClick="getRadWindow().close();"></asp:LinkButton>
    </p>
    </asp:PlaceHolder>
    <script type="text/javascript"> CompliantExternalLinks();</script>


    Regards,
    Ivan Dimitrov
    the Telerik team

    Instantly find answers to your questions on the new Telerik Support Portal.
    Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
    Answered
  3. Laura
    Laura avatar
    311 posts
    Registered:
    25 Feb 2008
    28 Jan 2010
    Link to this post
    Yes, that worked! Thank you.
Register for webinar
3 posts, 1 answered