protected void UsersRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            switch (e.Item.ItemType)
            {
            case (ListItemType.Header):

                HtmlTableCell HeaderCell5 = (HtmlTableCell)e.Item.FindControl("HeaderCell5");
                HeaderCell5.Visible = (BrandManager.IsMultipleBrandMode);

                break;

            case (ListItemType.Item):
            case (ListItemType.AlternatingItem):

                User user = (User)e.Item.DataItem;

                // Toggle brand name column
                HtmlTableCell BrandNameRow = (HtmlTableCell)e.Item.FindControl("BrandNameRow");
                BrandNameRow.Visible = (BrandManager.IsMultipleBrandMode);

                // Get controls
                HyperLink         EditUserHyperLink  = (HyperLink)e.Item.FindControl("EditUserHyperLink");
                Label             UserTypeNameLabel  = (Label)e.Item.FindControl("UserTypeNameLabel");
                HtmlTableCell     StatsEditCell      = (HtmlTableCell)e.Item.FindControl("StatsEditCell");
                Label             BrandNameLabel     = (Label)e.Item.FindControl("BrandNameLabel");
                Label             IsExpiredLabel     = (Label)e.Item.FindControl("IsExpiredLabel");
                Label             IsSuspendedLabel   = (Label)e.Item.FindControl("IsSuspendedLabel");
                Label             LastLoginDateLabel = (Label)e.Item.FindControl("LastLoginDateLabel");
                EnhancedHyperLink StatsHyperLink     = (EnhancedHyperLink)e.Item.FindControl("StatsHyperLink");

                EditUserHyperLink.Text        = user.FullName;
                EditUserHyperLink.NavigateUrl = "UserForm.aspx?userId=" + user.UserId;
                UserTypeNameLabel.Text        = EnumUtils.GetDescription(user.UserRole);
                BrandNameLabel.Text           = SiteUtils.GetBrandName(user);
                IsExpiredLabel.Text           = (user.GetAccountExpiryDate() < DateTime.Now) ? "Y" : "N";
                IsSuspendedLabel.Text         = (user.IsSuspended) ? "Y" : "N";
                LastLoginDateLabel.Text       = user.LastLoginDate.HasValue ? user.LastLoginDate.Value.ToString(Global.DateFormat) : "Never";

                // Only show the stats link if the current user has access to the audit trail page
                SiteUtils.SetHyperLink(CurrentUser, "Reports.AuditTrail", string.Format("?email={0}", user.Email), StatsHyperLink);

                if (IsExpiredLabel.Text == "Y")
                {
                    IsExpiredLabel.CssClass = "bold";
                }

                if (IsSuspendedLabel.Text == "Y")
                {
                    IsSuspendedLabel.CssClass = "bold";
                }

                if (!EntitySecurityManager.CanManageUser(CurrentUser, user))
                {
                    EditUserHyperLink.NavigateUrl = string.Empty;
                    StatsEditCell.InnerHtml       = "&nbsp;";
                }

                break;
            }
        }
Example #2
0
        protected void AssetsRepeater_OnItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            switch (e.Item.ItemType)
            {
            case ListItemType.Header:

                HtmlTableCell CheckBoxHeaderCell = (HtmlTableCell)e.Item.FindControl("CheckBoxHeaderCell");
                CheckBoxHeaderCell.Visible = ShowCheckBoxes;

                HtmlTableCell ThumbnailHeaderCell = (HtmlTableCell)e.Item.FindControl("ThumbnailHeaderCell");
                ThumbnailHeaderCell.Visible = ShowThumbnails;

                break;

            case (ListItemType.Item):
            case (ListItemType.AlternatingItem):

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

                HtmlTableCell CheckBoxCell = (HtmlTableCell)e.Item.FindControl("CheckBoxCell");
                CheckBoxCell.Visible = ShowCheckBoxes;

                HtmlTableCell ThumbnailCell = (HtmlTableCell)e.Item.FindControl("ThumbnailCell");
                ThumbnailCell.Visible = ShowThumbnails;

                if (ThumbnailCell.Visible)
                {
                    AssetThumbnail assetThumbnail = (AssetThumbnail)e.Item.FindControl("AssetThumbnail");
                    assetThumbnail.Initialise(asset);
                }

                HiddenField AssetIdHiddenField = (HiddenField)e.Item.FindControl("AssetIdHiddenField");
                AssetIdHiddenField.Value = asset.AssetId.ToString();

                HyperLink AssetIdHyperLink = (HyperLink)e.Item.FindControl("AssetIdHyperLink");
                AssetIdHyperLink.Text        = asset.AssetId.ToString();
                AssetIdHyperLink.NavigateUrl = string.Format("~/Admin/Assets/AssetForm.aspx?assetId={0}&source=assetlist", asset.AssetId);

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

                Label UploadedByUserNameLabel = (Label)e.Item.FindControl("UploadedByUserNameLabel");
                UploadedByUserNameLabel.Text = asset.UploadedByUser.FullName;

                Label TitleLabel = (Label)e.Item.FindControl("TitleLabel");
                TitleLabel.Text = asset.Title;
                SiteUtils.PopulateBlankControl(TitleLabel);

                Label FileSizeLabel = (Label)e.Item.FindControl("FileSizeLabel");
                FileSizeLabel.Text = FileUtils.FriendlyFileSize(asset.FileSize);

                Label ProductionDateLabel = (Label)e.Item.FindControl("ProductionDateLabel");
                ProductionDateLabel.Text = asset.GetProductionDate();
                SiteUtils.PopulateBlankControl(ProductionDateLabel);

                Label IsExpiredLabel = (Label)e.Item.FindControl("IsExpiredLabel");
                IsExpiredLabel.Text = (asset.ExpiryDate < DateTime.Now) ? "Y" : "N";

                if (IsExpiredLabel.Text == "Y")
                {
                    IsExpiredLabel.CssClass = "bold";
                }

                Label ExpiryDateLabel = (Label)e.Item.FindControl("ExpiryDateLabel");
                ExpiryDateLabel.Text = asset.ExpiryDate.ToString(Global.DateFormat);

                HyperLink IsPublishedHyperLink = (HyperLink)e.Item.FindControl("IsPublishedHyperLink");
                IsPublishedHyperLink.Text = asset.AssetPublishStatusName;

                PromptLinkButton DeleteLinkButton = (PromptLinkButton)e.Item.FindControl("DeleteLinkButton");
                DeleteLinkButton.CommandArgument = asset.AssetId.ToString();

                EnhancedHyperLink AuditLogHyperLink = (EnhancedHyperLink)e.Item.FindControl("AuditLogHyperLink");
                SiteUtils.SetHyperLink("Reports.AssetAuditTrail", string.Format("?AssetId={0}&Source=AssetList", asset.AssetId), AuditLogHyperLink);

                switch (asset.AssetPublishStatus)
                {
                case (AssetPublishStatus.Published):

                    IsPublishedHyperLink.CssClass += " Bold";
                    break;

                case (AssetPublishStatus.PendingApproval):

                    IsPublishedHyperLink.CssClass += " Bold";

                    if (asset.AssetWorkflowList.Count > 0)
                    {
                        AssetWorkflow aw = asset.AssetWorkflowList[0];

                        // Only link the pending text to the approval screen if the current user is in the workflow

                        AssetWorkflowUser cawfu = aw.AssetWorkflowUserList.Find(awfu => awfu.UserId == CurrentUser.UserId.GetValueOrDefault());

                        if (cawfu != null)
                        {
                            SiteUtils.SetHyperLink("Workflow.Approve", string.Format("?AssetWorkflowId={0}", aw.AssetWorkflowId), IsPublishedHyperLink);
                        }
                        else
                        {
                            AssetWorkflowCommenter awc = aw.AssetWorkflowCommenterList.Find(awfc => awfc.UserId == CurrentUser.UserId.GetValueOrDefault());

                            if (awc != null)
                            {
                                SiteUtils.SetHyperLink("Workflow.Comment", string.Format("?AssetWorkflowId={0}", aw.AssetWorkflowId), IsPublishedHyperLink);
                            }
                        }
                    }

                    break;
                }

                break;
            }
        }