Пример #1
0
        private void RemoveItemsCurrentUserDoesNotHavePermissionToSee(List <MediaQueueDto> queueItems)
        {
            if (UserCanAdministerSite)
            {
                return;
            }
            else if (!UserCanAdministerSite && UserCanAdministerGallery)
            {
                // Trim the list of queue items to only those that belong to galleries the current
                // user is an administrator for.
                List <MediaQueueDto> itemsToRemove = new List <MediaQueueDto>();
                IGalleryCollection   galleries     = UserController.GetGalleriesCurrentUserCanAdminister();

                foreach (MediaQueueDto item in queueItems)
                {
                    if (galleries.FindById(Factory.LoadMediaObjectInstance(item.FKMediaObjectId).GalleryId) == null)
                    {
                        itemsToRemove.Add(item);
                    }
                }

                foreach (MediaQueueDto item in itemsToRemove)
                {
                    queueItems.Remove(item);
                }
            }
            else
            {
                queueItems.Clear();                 // Not a site or gallery admin; they shouldn't see anything
            }
        }