Ejemplo n.º 1
0
        protected void SearchResultListRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            switch (e.Item.ItemType)
            {
            case (ListItemType.Item):
            case (ListItemType.AlternatingItem):

                Asset asset = (Asset)e.Item.DataItem;

                AssetButtons AssetButtons1       = (AssetButtons)e.Item.FindControl("AssetButtons1");
                Image        FileTypeIconImage   = (Image)e.Item.FindControl("FileTypeIconImage");
                HyperLink    ReferenceHyperLink  = (HyperLink)e.Item.FindControl("ReferenceHyperLink");
                HyperLink    TitleHyperLink      = (HyperLink)e.Item.FindControl("TitleHyperLink");
                Label        ProductionDateLabel = (Label)e.Item.FindControl("ProductionDateLabel");
                Label        FileSizeLabel       = (Label)e.Item.FindControl("FileSizeLabel");
                Label        AssetTypeLabel      = (Label)e.Item.FindControl("AssetTypeLabel");

                AssetButtons1.LightboxId = PersistentCartLightbox.SelectedLightboxId;
                AssetButtons1.Initialise(asset);

                FileTypeIconImage.ImageUrl = SiteUtils.GetFileTypeImageUrl(asset.FileExtension);
                FileTypeIconImage.ToolTip  = asset.Filename;

                ReferenceHyperLink.Text        = asset.AssetId.ToString();
                ReferenceHyperLink.NavigateUrl = SiteUtils.GetShowAssetInfoUrl(asset.AssetId.GetValueOrDefault());
                TitleHyperLink.Text            = asset.Title;
                TitleHyperLink.NavigateUrl     = ReferenceHyperLink.NavigateUrl;
                ProductionDateLabel.Text       = asset.GetProductionDate();
                FileSizeLabel.Text             = FileUtils.FriendlyFileSize(asset.FileSize);
                AssetTypeLabel.Text            = asset.AssetType.Name;

                string caption = SiteUtils.MakeJsSafe(SiteUtils.GetAssetHoverCaption(asset, string.Empty));
                string text    = SiteUtils.MakeJsSafe(SiteUtils.GetAssetHoverText(asset, string.Empty));

                TitleHyperLink.Attributes["OnMouseOver"] = string.Format("showToolTip('{0}', '{1}')", caption, text);
                TitleHyperLink.Attributes["OnMouseOut"]  = "hideToolTip()";

                if (StringUtils.IsBlank(TitleHyperLink.Text))
                {
                    TitleHyperLink.Text      = "not available";
                    TitleHyperLink.CssClass += " Italics";
                }

                break;
            }
        }
Ejemplo n.º 2
0
        protected void SearchResultThumbnailsDataList_ItemDataBound(object sender, DataListItemEventArgs e)
        {
            switch (e.Item.ItemType)
            {
            case (ListItemType.Item):
            case (ListItemType.AlternatingItem):

                Asset asset = (Asset)e.Item.DataItem;

                Panel AssetInfoPanel = (Panel)e.Item.FindControl("AssetInfoPanel");

                if (asset.IsNull)
                {
                    AssetInfoPanel.Visible = false;

                    // Clear the CSS class so the background doesn't show
                    WebControl wc = (WebControl)AssetInfoPanel.Parent;
                    wc.CssClass = string.Empty;
                }
                else
                {
                    AssetThumbnail AssetThumbnail1 = (AssetThumbnail)e.Item.FindControl("AssetThumbnail1");
                    AssetThumbnail1.Initialise(asset);

                    AssetButtons AssetButtons1 = (AssetButtons)e.Item.FindControl("AssetButtons1");
                    AssetButtons1.LightboxId = PersistentCartLightbox.SelectedLightboxId;
                    AssetButtons1.Initialise(asset);

                    Label AssetTypeLabel = (Label)e.Item.FindControl("AssetTypeLabel");
                    AssetTypeLabel.Text = asset.AssetType.Name;

                    HyperLink ReferenceHyperLink = (HyperLink)e.Item.FindControl("ReferenceHyperLink");
                    ReferenceHyperLink.Text        = asset.AssetId.ToString();
                    ReferenceHyperLink.NavigateUrl = SiteUtils.GetShowAssetInfoUrl(asset.AssetId.GetValueOrDefault());
                }

                break;
            }
        }
Ejemplo n.º 3
0
        protected void CartRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            switch (e.Item.ItemType)
            {
            case (ListItemType.Item):
            case (ListItemType.AlternatingItem):

                Cart  cart  = (Cart)e.Item.DataItem;
                Asset asset = cart.Asset;

                HiddenField AssetIdHiddenField = (HiddenField)e.Item.FindControl("AssetIdHiddenField");
                HiddenField CartIdHiddenField  = (HiddenField)e.Item.FindControl("CartIdHiddenField");

                AssetIdHiddenField.Value = asset.AssetId.ToString();
                CartIdHiddenField.Value  = cart.CartId.ToString();

                AssetThumbnail AssetThumbnail1 = (AssetThumbnail)e.Item.FindControl("AssetThumbnail1");
                AssetButtons   AssetButtons1   = (AssetButtons)e.Item.FindControl("AssetButtons1");

                AssetThumbnail1.Initialise(asset);
                AssetButtons1.Initialise(asset);

                HtmlTableCell  AssetIdCell = (HtmlTableCell)e.Item.FindControl("AssetIdCell");
                HtmlTableCell  AssetShortDescriptionCell  = (HtmlTableCell)e.Item.FindControl("AssetShortDescriptionCell");
                HtmlTableCell  AssetBrandNameCell         = (HtmlTableCell)e.Item.FindControl("AssetBrandNameCell");
                HtmlTableCell  AssetTypeCell              = (HtmlTableCell)e.Item.FindControl("AssetTypeCell");
                HtmlTableCell  UsageRestrictionsCell      = (HtmlTableCell)e.Item.FindControl("UsageRestrictionsCell");
                EmailHyperLink AssetContactEmailHyperLink = (EmailHyperLink)e.Item.FindControl("AssetContactEmailHyperLink");
                DatePicker     DateRequiredPicker         = (DatePicker)e.Item.FindControl("DateRequiredPicker");
                TextBox        NotesTextBox               = (TextBox)e.Item.FindControl("NotesTextBox");
                CheckBox       SelectAssetCheckBox        = (CheckBox)e.Item.FindControl("SelectAssetCheckBox");
                FeedbackLabel  CartItemMessageLabel       = (FeedbackLabel)e.Item.FindControl("CartItemMessageLabel");
                HtmlTableRow   IntendedUseRow             = (HtmlTableRow)e.Item.FindControl("IntendedUseRow");
                PlaceHolder    SaveNotesButtonPlaceHolder = (PlaceHolder)e.Item.FindControl("SaveNotesButtonPlaceHolder");

                AssetIdCell.InnerText = asset.AssetId.ToString();
                AssetShortDescriptionCell.InnerHtml     = SiteUtils.ConvertTextToHtml(asset.Description);
                AssetBrandNameCell.InnerText            = asset.Brand.Name;
                AssetTypeCell.InnerText                 = asset.AssetType.Name;
                UsageRestrictionsCell.InnerHtml         = asset.UsageRestrictions;
                AssetContactEmailHyperLink.EmailAddress = asset.ContactEmail;
                DateRequiredPicker.SelectedDate         = cart.RequiredByDate;
                NotesTextBox.Text           = cart.Notes;
                SelectAssetCheckBox.Checked = IsCartItemSelected(cart.CartId.GetValueOrDefault());

                // Ensure blank cells have content
                SiteUtils.PopulateBlankControl(AssetShortDescriptionCell);
                SiteUtils.PopulateBlankControl(UsageRestrictionsCell);

                AssetStatus assetStatus  = AssetManager.GetAssetStatusForUser(asset, CurrentUser);
                bool        isRestricted = EntitySecurityManager.IsAssetRestricted(CurrentUser, asset);

                switch (assetStatus)
                {
                case AssetStatus.Withdrawn:

                    CartItemMessageLabel.MessageType   = BaseMessageLabel.MessageTypes.Withdrawn;
                    CartItemMessageLabel.Header        = "this asset is not available for ordering";
                    IntendedUseRow.Visible             = false;
                    SaveNotesButtonPlaceHolder.Visible = false;
                    break;

                case AssetStatus.Expired:

                    CartItemMessageLabel.MessageType   = BaseMessageLabel.MessageTypes.Withdrawn;
                    CartItemMessageLabel.Header        = "this asset is not available for ordering";
                    IntendedUseRow.Visible             = false;
                    SaveNotesButtonPlaceHolder.Visible = false;
                    break;

                case AssetStatus.Available:

                    if (isRestricted)
                    {
                        CartItemMessageLabel.MessageType   = BaseMessageLabel.MessageTypes.Negative;
                        CartItemMessageLabel.Header        = "approval required";
                        CartItemMessageLabel.Text          = "Approval is required to use this asset. State intended usage in the notes (you may be asked for further information).";
                        IntendedUseRow.Visible             = true;
                        SaveNotesButtonPlaceHolder.Visible = true;
                    }
                    else
                    {
                        CartItemMessageLabel.MessageType   = BaseMessageLabel.MessageTypes.Positive;
                        CartItemMessageLabel.Header        = "no approval required";
                        CartItemMessageLabel.Text          = "Approval is not required to download and use this asset.";
                        IntendedUseRow.Visible             = false;
                        SaveNotesButtonPlaceHolder.Visible = false;
                    }

                    break;
                }

                // Only show the date required selector if the asset is available but restricted
                HtmlTableRow DateRequiredRow = (HtmlTableRow)e.Item.FindControl("DateRequiredRow");
                DateRequiredRow.Visible = (assetStatus == AssetStatus.Available && isRestricted);

                break;
            }
        }
Ejemplo n.º 4
0
        protected void OrderItemsRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            switch (e.Item.ItemType)
            {
            case (ListItemType.Item):
            case (ListItemType.AlternatingItem):

                OrderItem orderItem = (OrderItem)e.Item.DataItem;
                Asset     asset     = orderItem.Asset;

                HiddenField OrderItemIdHiddenField = (HiddenField)e.Item.FindControl("OrderItemIdHiddenField");
                OrderItemIdHiddenField.Value = orderItem.OrderItemId.ToString();

                AssetThumbnail AssetThumbnail1 = (AssetThumbnail)e.Item.FindControl("AssetThumbnail1");
                AssetThumbnail1.Initialise(asset);

                AssetButtons AssetButtons1 = (AssetButtons)e.Item.FindControl("AssetButtons1");
                AssetButtons1.Initialise(asset);

                Label AssetIdLabel = (Label)e.Item.FindControl("AssetIdLabel");
                AssetIdLabel.Text = asset.AssetId.ToString();

                Label AssetDescriptionLabel = (Label)e.Item.FindControl("AssetDescriptionLabel");
                AssetDescriptionLabel.Text = SiteUtils.ConvertTextToHtml(asset.Description);

                Label BrandNameLabel = (Label)e.Item.FindControl("BrandNameLabel");
                BrandNameLabel.Text = asset.Brand.Name;

                Label AssetTypeLabel = (Label)e.Item.FindControl("AssetTypeLabel");
                AssetTypeLabel.Text = asset.AssetType.Name;

                Label AssetUsageRestrictionsLabel = (Label)e.Item.FindControl("AssetUsageRestrictionsLabel");
                AssetUsageRestrictionsLabel.Text = asset.UsageRestrictions;

                Label DeadlineDatelabel = (Label)e.Item.FindControl("DeadlineDateLabel");

                if (orderItem.RequiredByDate.HasValue)
                {
                    DeadlineDatelabel.Text = orderItem.RequiredByDate.Value.ToString(Global.DateFormat);
                }

                Label UserNotesLabel = (Label)e.Item.FindControl("UserNotesLabel");
                UserNotesLabel.Text = orderItem.Notes;

                Label        NoConversationLabel = (Label)e.Item.FindControl("NoConversationLabel");
                HtmlTableRow AddCommentRow       = (HtmlTableRow)e.Item.FindControl("AddCommentRow");

                RadioButtonList OrderItemStatusRadioButtonList = (RadioButtonList)e.Item.FindControl("OrderItemStatusRadioButtonList");
                OrderItemStatusRadioButtonList.SelectedValue = orderItem.OrderItemStatusId.ToString();

                FeedbackLabel OrderItemStatusMessageLabel = (FeedbackLabel)e.Item.FindControl("OrderItemStatusMessageLabel");

                switch (orderItem.OrderItemStatus)
                {
                case OrderItemStatus.Preapproved:

                    OrderItemStatusRadioButtonList.Visible = false;
                    OrderItemStatusMessageLabel.SetSuccessMessage("Asset is preapproved");

                    break;

                case OrderItemStatus.AwaitingApproval:
                {
                    HtmlTableRow AssignedToRow = (HtmlTableRow)e.Item.FindControl("AssignedToRow");
                    AssignedToRow.Visible = true;

                    Label AssignedToLabel = (Label)e.Item.FindControl("AssignedToLabel");
                    AssignedToLabel.Text    = orderItem.AssignedToUser.FullName;
                    AssignedToLabel.ToolTip = orderItem.AssignedToUser.UserRoleName;

                    if (CurrentUser.UserRole == UserRole.SuperAdministrator)
                    {
                        // Do nothing.  Super-admins can action any order item
                        // Keep the radio buttons visible.
                    }
                    else if (orderItem.AssignedToUserId == CurrentUser.UserId)
                    {
                        // Do nothing.  When an order item is assigned to the user viewing it,
                        // they are able to action it as desired. Keep the radio buttons visible.
                    }
                    else
                    {
                        // Show who the order item is awaiting approval from.
                        OrderItemStatusMessageLabel.SetErrorMessage("Awaiting approval from " + orderItem.AssignedToUser.FullName);

                        // Hide the action radio buttons
                        OrderItemStatusRadioButtonList.Visible = false;
                    }
                }

                break;

                case OrderItemStatus.Approved:

                    OrderItemStatusRadioButtonList.Visible = false;
                    string message = string.Format("Approved by {0} on {1}", orderItem.StatusChangedByUser.FullName, orderItem.OrderItemStatusDate.GetValueOrDefault().ToString(Global.DateFormat));
                    OrderItemStatusMessageLabel.SetSuccessMessage(message);

                    break;

                case OrderItemStatus.Rejected:

                    OrderItemStatusRadioButtonList.Visible = false;
                    message = string.Format("Rejected by {0} on {1}", orderItem.StatusChangedByUser.FullName, orderItem.OrderItemStatusDate.GetValueOrDefault().ToString(Global.DateFormat));
                    OrderItemStatusMessageLabel.SetErrorMessage(message);

                    break;
                }

                if (GeneralUtils.ValueIsInList(orderItem.OrderItemStatus, OrderItemStatus.Preapproved, OrderItemStatus.Approved, OrderItemStatus.Rejected))
                {
                    if (orderItem.OrderItemCommentList.Count == 0)
                    {
                        NoConversationLabel.Text        = "(none)";
                        NoConversationLabel.Font.Italic = true;
                    }

                    AddCommentRow.Visible = false;
                    OrderItemStatusRadioButtonList.Visible = false;
                }

                if (StringUtils.IsBlank(DeadlineDatelabel.Text))
                {
                    DeadlineDatelabel.Text     = "(none)";
                    DeadlineDatelabel.CssClass = "Italics";
                }

                if (StringUtils.IsBlank(AssetDescriptionLabel.Text))
                {
                    AssetDescriptionLabel.Text        = "(none)";
                    AssetDescriptionLabel.Font.Italic = true;
                }

                if (StringUtils.IsBlank(UserNotesLabel.Text))
                {
                    UserNotesLabel.Text        = "(none)";
                    UserNotesLabel.Font.Italic = true;
                }

                NoConversationLabel.Visible = (orderItem.OrderItemCommentList.Count == 0);

                Repeater ConversationRepeater = (Repeater)e.Item.FindControl("ConversationRepeater");
                ConversationRepeater.DataSource = orderItem.OrderItemCommentList;
                ConversationRepeater.DataBind();

                break;
            }
        }
Ejemplo n.º 5
0
        protected void OrderItemsRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            switch (e.Item.ItemType)
            {
            case (ListItemType.Item):
            case (ListItemType.AlternatingItem):

                // Get the order item and its corresponding asset
                OrderItem orderItem = (OrderItem)e.Item.DataItem;
                Asset     asset     = orderItem.Asset;

                // Get all controls we'll be using
                HiddenField                OrderItemIdHiddenField      = (HiddenField)e.Item.FindControl("OrderItemIdHiddenField");
                HiddenField                AssetIdHiddenField          = (HiddenField)e.Item.FindControl("AssetIdHiddenField");
                AssetThumbnail             AssetThumbnail1             = (AssetThumbnail)e.Item.FindControl("AssetThumbnail1");
                AssetButtons               AssetButtons1               = (AssetButtons)e.Item.FindControl("AssetButtons1");
                FileSizeMessageLabel       FileSizeLabel               = (FileSizeMessageLabel)e.Item.FindControl("FileSizeLabel");
                EmailHyperLink             AssetContactHyperlink       = (EmailHyperLink)e.Item.FindControl("AssetContactHyperlink");
                HyperLink                  DownloadHyperlink           = (HyperLink)e.Item.FindControl("DownloadHyperlink");
                CheckBox                   SelectAssetCheckBox         = (CheckBox)e.Item.FindControl("SelectAssetCheckBox");
                DownloadFormatDropDownList DownloadFormatDropDownList1 = (DownloadFormatDropDownList)e.Item.FindControl("DownloadFormatDropDownList1");
                AssetImageSizeDropDownList AssetImageSizeDropDownList1 = (AssetImageSizeDropDownList)e.Item.FindControl("AssetImageSizeDropDownList1");
                FeedbackLabel              OrderItemMessageLabel       = (FeedbackLabel)e.Item.FindControl("OrderItemMessageLabel");
                PlaceHolder                ImageOptionsPlaceHolder     = (PlaceHolder)e.Item.FindControl("ImageOptionsPlaceHolder");
                HtmlTableRow               FileSizeRow               = (HtmlTableRow)e.Item.FindControl("FileSizeRow");
                HtmlGenericControl         SelectorContainer         = (HtmlGenericControl)e.Item.FindControl("SelectorContainer");
                HtmlGenericControl         LinkButtonWrapper         = (HtmlGenericControl)e.Item.FindControl("LinkButtonWrapper");
                FileSizeMessageLabel       ImageFileSizeMessageLabel = (FileSizeMessageLabel)e.Item.FindControl("ImageFileSizeMessageLabel");

                // Populate table cells with basic information about the asset
                SetTableCellText(e.Item, "AssetReferenceCell", asset.AssetId.ToString());
                SetTableCellHtml(e.Item, "DescriptionCell", SiteUtils.ConvertTextToHtml(asset.Description));
                SetTableCellText(e.Item, "BrandCell", asset.Brand.Name);
                SetTableCellText(e.Item, "AssetTypeCell", asset.AssetType.Name);
                SetTableCellHtml(e.Item, "UsageRestrictionsCell", asset.UsageRestrictions);
                SetTableCellText(e.Item, "DateRequestedByCell", orderItem.RequiredByDate.HasValue ? orderItem.RequiredByDate.Value.ToString(Global.DateFormat) : "None");
                SetTableCellText(e.Item, "DateOfDecisionCell", orderItem.OrderItemStatusDate.HasValue ? orderItem.OrderItemStatusDate.Value.ToString(Global.DateFormat) : "None");
                SetTableCellText(e.Item, "NotesCell", orderItem.Notes);

                // Populate hidden fields as we'll need these for other stuff
                OrderItemIdHiddenField.Value = orderItem.OrderItemId.ToString();
                AssetIdHiddenField.Value     = asset.AssetId.ToString();

                // Get/Initialise other objects we'll need here
                AssetStatus       assetStatus = AssetManager.GetAssetStatusForUser(asset, CurrentUser);
                SelectedOrderItem soi         = SelectedOrderItems.Get(orderItem.OrderItemId.GetValueOrDefault());

                // Check if user can download this asset
                bool canDownload = CanDownload(orderItem);

                // Initialise the thumbnail and buttons
                AssetThumbnail1.Initialise(asset);
                AssetButtons1.Initialise(asset);

                // Populate other controls which are not dependent on the asset type
                AssetContactHyperlink.SetNameEmail(asset.UploadedByUser.FullName, asset.UploadedByUser.Email);
                SelectorContainer.Visible     = canDownload;
                SelectAssetCheckBox.Checked   = IsOrderItemSelected(orderItem.OrderItemId.GetValueOrDefault());
                DownloadHyperlink.NavigateUrl = string.Format("javascript:downloadAsset('{0}','{1}','{2}', '{3}', '{4}')", orderItem.AssetId, orderItem.OrderId, orderItem.OrderItemId, DownloadFormatDropDownList1.ClientID, AssetImageSizeDropDownList1.ClientID);

                // Do processing dependent on asset type
                if (AssetTypeChecker.IsImage(asset.FileExtension))
                {
                    // Only show download resolution row if user can download
                    ImageOptionsPlaceHolder.Visible = canDownload;

                    // Only do the image size stuff if the download resolution row is visible
                    if (ImageOptionsPlaceHolder.Visible)
                    {
                        // Populate the download format dropdown with the previously selected value (if any)
                        DownloadFormatDropDownList1.SafeSelectValue(soi.DownloadFormat);

                        // Populate the asset image size dropdown with the previously selected value (if any)
                        AssetImageSizeDropDownList1.SafeSelectValue(soi.AssetImageSizeId);

                        // Get the filename to the image *if it exists already*
                        string filename = AssetImageManager.GetResizedAssetImage(asset, AssetImageSizeDropDownList1.SelectedId, DownloadFormatDropDownList1.SelectedDownloadFormat, false);

                        // Only set the filesize if the scaled image already exists, as it will be too heavy to create a scaled image
                        // of each asset as the page loads. Maybe we should do this when assets are uploaded...
                        if (filename != string.Empty)
                        {
                            ImageFileSizeMessageLabel.SetFileSize(FileUtils.GetFileSize(filename));
                        }
                    }
                }

                // Only show file size row if download resolution row is hidden and user can download this asset
                // (No point showing them the filesize for an asset they can't download)
                if (ImageOptionsPlaceHolder.Visible)
                {
                    FileSizeRow.Visible = false;
                }
                else
                {
                    FileSizeRow.Visible = canDownload;
                    FileSizeLabel.SetFileSize(asset.FileSize);
                }

                // Only show the conversation row if we have a conversation
                HtmlTableRow ConversationRow = (HtmlTableRow)e.Item.FindControl("ConversationRow");
                ConversationRow.Visible = (orderItem.OrderItemCommentList.Count > 0);

                // Bind conversation
                Repeater ConversationRepeater = (Repeater)e.Item.FindControl("ConversationRepeater");
                ConversationRepeater.DataSource = orderItem.OrderItemCommentList;
                ConversationRepeater.DataBind();

                // Hide the row to add notes, as this is only visible whilst an order item is awaiting approval
                HtmlTableRow AddNotesRow = (HtmlTableRow)e.Item.FindControl("AddNotesRow");
                AddNotesRow.Visible = false;

                if (assetStatus == AssetStatus.Available)
                {
                    switch (orderItem.OrderItemStatus)
                    {
                    case (OrderItemStatus.Preapproved):

                        OrderItemMessageLabel.SetSuccessMessage("no approval required", "Approval is not required to download and use this asset.");
                        LinkButtonWrapper.Visible = false;

                        break;

                    case (OrderItemStatus.Approved):

                        OrderItemMessageLabel.SetSuccessMessage("approved", "Approval to use this asset has been granted. Refer to the response given in the approval details for any further information.");
                        LinkButtonWrapper.Visible = true;

                        break;

                    case (OrderItemStatus.AwaitingApproval):

                        OrderItemMessageLabel.MessageType = BaseMessageLabel.MessageTypes.Pending;
                        OrderItemMessageLabel.Header      = "approval pending";
                        OrderItemMessageLabel.Text        = "Approval to use this asset is pending a decision. An email will be sent to you when a decision is made.";
                        LinkButtonWrapper.Visible         = true;
                        AddNotesRow.Visible = true;

                        break;

                    case (OrderItemStatus.Rejected):

                        OrderItemMessageLabel.SetErrorMessage("approval rejected", "Approval to use this asset has been rejected. Refer to the response given in the approval notes for further information.");
                        LinkButtonWrapper.Visible = true;

                        break;
                    }
                }
                else
                {
                    OrderItemMessageLabel.MessageType = BaseMessageLabel.MessageTypes.Withdrawn;
                    OrderItemMessageLabel.Header      = "asset withdrawn";
                    OrderItemMessageLabel.Text        = "This asset has been withdrawn from the system and is no longer available to download.";
                    LinkButtonWrapper.Visible         = false;
                }

                if (WebUtils.GetIntRequestParam("OrderItemId", 0) == orderItem.OrderItemId)
                {
                    Panel ApprovalDetailsPanel = (Panel)e.Item.FindControl("ApprovalDetailsPanel");
                    ApprovalDetailsPanel.Visible = true;

                    LinkButton ToggleApprovalDetailsLinkButton = (LinkButton)e.Item.FindControl("ToggleApprovalDetailsLinkButton");
                    ToggleApprovalDetailsLinkButton.Text = "hide approval details [-]";
                }

                break;
            }
        }