public void InitView(WizardDashboardStep step, long idDashboard, Int32 idCommunity, DashboardType dashboardType)
 {
     if (UserContext.isAnonymous)
     {
         View.DisplaySessionTimeout();
     }
     else
     {
         View.IdDashboard = idDashboard;
         View.CurrentStep = step;
         liteDashboardSettings settings = CurrentManager.Get <liteDashboardSettings>(idDashboard);
         Int32 idDashboardCommunity     = (settings == null) ? ((dashboardType == DashboardType.Community) ? idCommunity : 0) : settings.IdCommunity;
         View.DashboardIdCommunity = idDashboardCommunity;
         if (settings == null)
         {
             View.DisplayUnknownDashboard();
         }
         else
         {
             View.InitializeSettingsInfo(settings);
             UserCurrentSettings userSettings = GetUserSettings(step, settings);
             View.CurrentSettings = userSettings;
             View.EnableFullWidth((settings == null) ? false : settings.FullWidth);
             InitalizeTopBar(settings, userSettings);
             if (userSettings.View != DashboardViewType.Search)
             {
                 LoadGroupBy(settings, userSettings);
             }
             InitializeView(settings, userSettings);
             View.IsInitialized = true;
         }
     }
 }
Пример #2
0
        private liteDashboardSettings GetPortalSettings(litePerson p, Boolean useCache = true)
        {
            liteDashboardSettings        result    = null;
            List <liteDashboardSettings> aSettings = LoadingSettingsGetAll(DashboardType.Portal, 0, useCache);

            if (aSettings != null && aSettings.Any())
            {
                liteDashboardSettings dSettings = aSettings.Where(s => s.ForAll).FirstOrDefault();
                if (aSettings.Where(s => s.IsAvailableFor(p.Id, 0, p.TypeID)).Any())
                {
                    result = aSettings.Where(s => s.Assignments.Where(a => a.Deleted == BaseStatusDeleted.None && a.IdPerson == p.Id).Any()).FirstOrDefault();
                    if (result == null)
                    {
                        result = aSettings.Where(s => s.Assignments.Where(a => a.Deleted == BaseStatusDeleted.None && a.IdProfileType == p.TypeID).Any()).FirstOrDefault();
                    }
                    if (result == null)
                    {
                        return(dSettings);
                    }
                }
                else
                {
                    return(dSettings);
                }
            }
            return(result);
        }
Пример #3
0
 public void ApplyFilters(lm.Comol.Core.BaseModules.CommunityManagement.dtoCommunitiesFilters filters)
 {
     if (UserContext.isAnonymous)
     {
         View.DisplaySessionTimeout();
     }
     else
     {
         liteDashboardSettings settings = Service.DashboardSettingsGet(DashboardType.Portal, 0);
         litePageSettings      page     = (settings != null) ? settings.Pages.Where(p => p.Type == DashboardViewType.Search).FirstOrDefault() : new litePageSettings()
         {
             Type = DashboardViewType.Search, MaxItems = 25, More = DisplayMoreItems.Hide, Noticeboard = DisplayNoticeboard.Hide, PlainLayout = PlainLayout.full
         };
         liteTile tile   = null;
         long     idTile = View.PreloadIdTile;
         if (idTile > 0)
         {
             tile = Service.GetTile(idTile);
         }
         else if (filters.IdcommunityType > -1)
         {
             tile = Service.GetTileForCommunityType(filters.IdcommunityType);
         }
         List <long> tags = View.TagsToLoad;
         if (tags != null && tags.Any() && idTile > 0)
         {
             filters.IdTags = tags;
         }
         View.ApplyFilters(page, filters, tile, ((UserContext != null && UserContext.Language != null) ? UserContext.Language.Id : -2), CurrentManager.GetDefaultIdLanguage());
     }
 }
Пример #4
0
        private void LoadViews(DashboardViewType sView, liteDashboardSettings settings, UserCurrentSettings userSettings, Boolean moreTiles)
        {
            List <dtoItemFilter <DashboardViewType> > views = settings.Container.AvailableViews.Where(v => v != DashboardViewType.Search && v != DashboardViewType.Subscribe).Select(v => new dtoItemFilter <DashboardViewType>()
            {
                Value = v, Selected = (v == sView)
            }).ToList();

            if (!views.Where(v => v.Selected).Any())
            {
                views.Add(new dtoItemFilter <DashboardViewType>()
                {
                    Selected = true, Value = sView
                });
            }
            if (views.Count > 1)
            {
                views.FirstOrDefault().DisplayAs = ItemDisplayOrder.first;
                views.LastOrDefault().DisplayAs  = ItemDisplayOrder.last;
            }
            else if (views.Any())
            {
                views[0].DisplayAs = ItemDisplayOrder.first | ItemDisplayOrder.last;
            }
            foreach (dtoItemFilter <DashboardViewType> item in views)
            {
                item.Url = RootObject.LoadPortalView(UserContext.CurrentUserID, item.Value, userSettings.GroupBy, userSettings.OrderBy, userSettings.GetNoticeboard(item.Value), -1, -1, true, moreTiles);
//                item.Url = RootObject.LoadPortalView(item.Value, (item.Value == DashboardViewType.List) ? GroupItemsBy.None : userSettings.GroupBy, userSettings.OrderBy, userSettings.GetNoticeboard(item.Value), -1, -1, true, moreTiles);
            }
            View.InitializeViewSelector(views);
        }
Пример #5
0
        public void InitView(Int32 preloadIdCommunityType, String searchText, Boolean preloadList)
        {
            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else
            {
                ////if (UserContext.CurrentCommunityID > 0)
                ////{
                ////    View.GeneratePortalWebContext();
                ////    UserContext.CurrentCommunityID = 0;
                ////    UserContext.CurrentCommunityOrganizationID = 0;
                ////    UserContext.WorkingCommunityID = 0;
                ////}

                liteDashboardSettings settings  = Service.DashboardSettingsGet(DashboardType.Portal, 0);
                litePageSettings      pSettings = (settings == null) ? null : settings.Pages.Where(p => p.Type == DashboardViewType.Subscribe).FirstOrDefault();
                Int32         itemsForPage      = (pSettings == null) ? 25 : pSettings.MaxItems;
                RangeSettings range             = (pSettings == null) ? null : pSettings.Range;
                View.EnableFullWidth((settings == null) ? false : settings.FullWidth);
                View.InitializeSubscriptionControl(itemsForPage, range, preloadIdCommunityType, searchText, preloadList);
                //View.SendUserAction(UserContext.CurrentCommunityID, CurrentIdModule, ModuleDashboard.ActionType.e);
            }
        }
        public void InitView(DashboardViewType view)
        {
            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else
            {
                if (UserContext.CurrentCommunityID > 0)
                {
                    Int32 idOrganization = CurrentManager.GetUserDefaultIdOrganization(UserContext.CurrentUserID);
                    View.GeneratePortalWebContext(idOrganization);
                    UserContext.CurrentCommunityID             = 0;
                    UserContext.CurrentCommunityOrganizationID = idOrganization;
                    UserContext.WorkingCommunityID             = 0;
                }

                Boolean moreTiles = View.LoadFromUrl && View.PreloadMoreTiles;
                liteDashboardSettings settings     = Service.DashboardSettingsGet(DashboardType.Portal, 0);
                UserCurrentSettings   userSettings = GetUserSettings(view, settings);
                View.EnableFullWidth((settings == null) ? false : settings.FullWidth);
                View.InitalizeTopBar(settings, userSettings, moreTiles, View.PreloadSearchText);


                Boolean moreCommunities = View.LoadFromUrl && View.PreloadMoreCommunities;

                InitializeView(view, settings, userSettings, moreTiles, moreCommunities, userSettings.IdSelectedTile, userSettings.IdSelectedTag);
            }
        }
        public void ChangeGroupBy(long idDashboard, DashboardViewType view, GroupItemsBy groupBy, UserCurrentSettings userSettings)
        {
            liteDashboardSettings settings = CurrentManager.Get <liteDashboardSettings>(idDashboard);

            if (settings == null)
            {
                View.DisplayUnknownDashboard();
            }
            else
            {
                View.InitializeSettingsInfo(settings);
                View.SelectedGroupBy = groupBy;
                userSettings.View    = view;

                if (userSettings.GroupBy != groupBy)
                {
                    switch (userSettings.GroupBy)
                    {
                    case GroupItemsBy.CommunityType:
                    case GroupItemsBy.Tile:
                        userSettings.IdSelectedTile = -1;
                        break;

                    case GroupItemsBy.Tag:
                        userSettings.IdSelectedTag = -1;
                        break;
                    }
                }
                userSettings.GroupBy = groupBy;
                userSettings.OrderBy = (groupBy == settings.Container.Default.GroupBy) ? settings.Container.Default.OrderBy : OrderItemsBy.LastAccess;
                View.CurrentSettings = userSettings;
                ChangeView(userSettings.View, settings, userSettings, View.CurrentOrderItems);
            }
        }
        private void LoadViews(liteDashboardSettings settings, UserCurrentSettings userSettings)
        {
            List <dtoItemFilter <DashboardViewType> > views = settings.Container.AvailableViews.Where(v => v != DashboardViewType.Search).Select(v => new dtoItemFilter <DashboardViewType>()
            {
                Value = v, Selected = (v == userSettings.View)
            }).ToList();

            if (!views.Where(v => v.Selected).Any())
            {
                views.Add(new dtoItemFilter <DashboardViewType>()
                {
                    Selected = true, Value = userSettings.View
                });
            }
            if (views.Count > 1)
            {
                views.FirstOrDefault().DisplayAs = ItemDisplayOrder.first;
                views.LastOrDefault().DisplayAs  = ItemDisplayOrder.last;
            }
            else if (views.Any())
            {
                views[0].DisplayAs = ItemDisplayOrder.first | ItemDisplayOrder.last;
            }
            View.InitializeViewSelector(views);
        }
Пример #9
0
        public void InitView(long idDashboard, DashboardType dashboardType, Int32 idContainerCommunity)
        {
            Person p = CurrentManager.GetPerson(UserContext.CurrentUserID);

            View.IdDashboard = idDashboard;
            if (UserContext.isAnonymous || p == null)
            {
                View.DisplaySessionTimeout();
            }
            else
            {
                liteDashboardSettings settings = CurrentManager.Get <liteDashboardSettings>(idDashboard);
                Int32 idDashboardCommunity     = (settings == null) ? ((dashboardType == DashboardType.Community) ? idContainerCommunity : 0) : settings.IdCommunity;
                List <lm.Comol.Core.Wizard.dtoNavigableWizardItem <dtoDashboardStep> > steps = Service.GetAvailableSteps(WizardDashboardStep.HomepageSettings, idDashboard, (settings == null) ? dashboardType :settings.Type, idDashboardCommunity);
                View.LoadWizardSteps(steps);

                if (settings == null)
                {
                    View.DisplayUnknownDashboard();
                    if (dashboardType == DashboardType.Community)
                    {
                        if (idContainerCommunity < 0)
                        {
                            idDashboardCommunity = UserContext.CurrentCommunityID;
                        }
                    }
                    else
                    {
                        idDashboardCommunity = 0;
                    }
                    View.IdContainerCommunity = idDashboardCommunity;
                }
                else
                {
                    View.IdContainerCommunity = idDashboardCommunity;
                    ModuleDashboard permissions = (dashboardType == DashboardType.Community) ? Service.GetPermission(idDashboardCommunity) : ModuleDashboard.CreatePortalmodule(p.TypeID);
                    if (permissions.Edit || permissions.Administration)
                    {
                        View.SetBackUrl(RootObject.DashboardList(dashboardType, false, idContainerCommunity));
                    }
                    if (settings.Deleted != BaseStatusDeleted.None)
                    {
                        View.DisplayDeletedDashboard();
                    }
                    else if (permissions.Edit || permissions.Administration)
                    {
                        View.AllowSave = (settings.Deleted == BaseStatusDeleted.None);
                        View.SetPreviewUrl(RootObject.DashboardPreview(settings.Id, settings.Type, settings.IdCommunity));
                        View.LoadSettings(new dtoViewSettings(settings));
                        View.SendUserAction(idContainerCommunity, Service.ServiceModuleID(), settings.Id, ModuleDashboard.ActionType.DashboardSettingsViewsStartEditing);
                    }
                    else
                    {
                        View.DisplayNoPermission(idContainerCommunity, CurrentIdModule);
                    }
                }
            }
        }
Пример #10
0
        private liteDashboardSettings GetCommonCommunitySettings(litePerson p, Boolean useCache = true)
        {
            liteDashboardSettings        result    = null;
            List <liteDashboardSettings> aSettings = LoadingSettingsGetForAllCommunity(useCache);

            if (aSettings != null && aSettings.Any())
            {
                result = aSettings.Where(s => s.ForAll).FirstOrDefault();
            }
            return(result);
        }
Пример #11
0
        private PlainLayout GetPlainLayout(liteDashboardSettings settings, DashboardViewType view)
        {
            PlainLayout layout = PlainLayout.box8box4;

            if (settings.Container.Default.GetNoticeboard(view) == DisplayNoticeboard.Hide)
            {
                layout = PlainLayout.full;
            }
            else if (settings.Pages.Where(p => p.Deleted == BaseStatusDeleted.None && p.Type == DashboardViewType.List).Any())
            {
                layout = settings.Pages.Where(p => p.Deleted == BaseStatusDeleted.None && p.Type == DashboardViewType.List).FirstOrDefault().PlainLayout;
            }
            return(layout);
        }
        public void InternalInitView(Boolean forPortal, Int32 idCommunity)
        {
            DashboardType         type     = (forPortal) ? DashboardType.Portal : DashboardType.Community;
            liteDashboardSettings settings = Service.DashboardSettingsGet(type, idCommunity, true);

            if (settings != null)
            {
                if (forPortal)
                {
                    LoadPortalDashboard(settings);
                }
                else
                {
                    LoadCommunityDashboard(settings, idCommunity);
                }
            }
        }
        private void LoadCommunityDashboard(liteDashboardSettings settings, Int32 idCommunity)
        {
            //    String url = "";
            //     switch(settings.Container.Default.AfterUserLogon){
            //                case OnLoadSettings.AlwaysDefault:
            //                    url = RootObject.

            //                    break;
            //                case OnLoadSettings.UserDefault:
            //                    liteUserDashboardSettings userSettings = (forPortal) ? Service.UserPortalDashboardSettingsGet(UserContext.CurrentUserID, true, settings) : Service.UserCommunityDashboardSettingsGet(UserContext.CurrentUserID, idCommunity, true, settings);
            //                    if (userSettings==null)
            //                        url =
            //                    break;
            //                case OnLoadSettings.UserLastClick:
            //                    break;
            //            }
            //    View.LoadDashboard(url);
        }
Пример #14
0
        public void InitView(DashboardViewType cView, liteDashboardSettings settings, UserCurrentSettings userSettings, Boolean moreTiles)
        {
            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else
            {
                View.InitializeSearch(settings.Container.Default.Search);

                LoadViews(cView, settings, userSettings, moreTiles);

                if (cView != DashboardViewType.Search)
                {
                    LoadGroupBy(cView, settings, userSettings);
                }
            }
        }
        private void LoadPortalDashboard(liteDashboardSettings settings)
        {
            String url = "";

            switch (settings.Container.Default.AfterUserLogon)
            {
            case OnLoadSettings.AlwaysDefault:
                url = RootObject.LoadPortalView(UserContext.CurrentUserID, settings.Container.Default);
                View.SaveCurrentCookie(settings.Container.Default);
                break;

            case OnLoadSettings.UserDefault:
                liteUserDashboardSettings userSettings = Service.UserPortalDashboardSettingsGet(UserContext.CurrentUserID, true, settings);
                if (userSettings == null || userSettings.AfterUserLogon == OnLoadSettings.AlwaysDefault)
                {
                    url = RootObject.LoadPortalView(UserContext.CurrentUserID, settings.Container.Default);
                    View.SaveCurrentCookie(settings.Container.Default);
                }
                else if (userSettings.AfterUserLogon == OnLoadSettings.UserLastClick && View.GetCurrentCookie() != null)
                {
                    url = RootObject.LoadPortalView(UserContext.CurrentUserID, View.GetCurrentCookie());
                }
                else
                {
                    url = RootObject.LoadPortalView(UserContext.CurrentUserID, userSettings);
                    View.SaveCurrentCookie(userSettings);
                }
                break;

            case OnLoadSettings.UserLastClick:
                if (View.GetCurrentCookie() != null)
                {
                    url = RootObject.LoadPortalView(UserContext.CurrentUserID, View.GetCurrentCookie());
                }
                else
                {
                    url = RootObject.LoadPortalView(UserContext.CurrentUserID, settings.Container.Default);
                    View.SaveCurrentCookie(settings.Container.Default);
                }
                break;
            }
            View.LoadDashboard(url);
        }
Пример #16
0
        private void LoadGroupBy(DashboardViewType sView, liteDashboardSettings settings, UserCurrentSettings userSettings)
        {
            switch (sView)
            {
            case DashboardViewType.List:
                View.SelectedGroupBy = userSettings.GroupBy;
                break;

            default:
                List <dtoItemFilter <GroupItemsBy> > items = settings.Container.AvailableGroupBy.Select(v => new dtoItemFilter <GroupItemsBy>()
                {
                    Value = v, Selected = (v == userSettings.GroupBy)
                }).ToList();
                if (items.Any() && !items.Where(i => i.Selected).Any())
                {
                    if (items.Where(i => i.Value != GroupItemsBy.None).Any())
                    {
                        items.Where(i => i.Value != GroupItemsBy.None).FirstOrDefault().Selected = true;
                    }
                    else
                    {
                        items.FirstOrDefault().Selected = true;
                    }
                }

                if (items.Count > 1)
                {
                    items.FirstOrDefault().DisplayAs = ItemDisplayOrder.first;
                    items.LastOrDefault().DisplayAs  = ItemDisplayOrder.last;
                }
                else if (items.Any())
                {
                    items[0].DisplayAs = ItemDisplayOrder.first | ItemDisplayOrder.last;
                }
                foreach (dtoItemFilter <GroupItemsBy> item in items)
                {
                    item.Url = RootObject.LoadPortalView(UserContext.CurrentUserID, sView, (sView == DashboardViewType.List) ? GroupItemsBy.None : item.Value, userSettings.OrderBy, userSettings.GetNoticeboard(sView));
                }
                View.InitializeGroupBySelector(items, (items.Where(i => i.Selected).Any()? items.Where(i => i.Selected).Select(i => i.Value).FirstOrDefault() : GroupItemsBy.None));
                break;
            }
        }
 public void ChangeView(DashboardViewType view, long idDashboard, UserCurrentSettings userSettings, Dictionary <DashboardViewType, List <dtoItemFilter <OrderItemsBy> > > order, String searchBy = "")
 {
     if (UserContext.isAnonymous)
     {
         View.DisplaySessionTimeout();
     }
     else
     {
         liteDashboardSettings settings = CurrentManager.Get <liteDashboardSettings>(idDashboard);
         if (settings == null)
         {
             View.DisplayUnknownDashboard();
         }
         else
         {
             View.InitializeSettingsInfo(settings);
             ChangeView(view, settings, userSettings, order, searchBy, true);
         }
     }
 }
Пример #18
0
        private UserCurrentSettings GetUserSettings(liteDashboardSettings settings)
        {
            UserCurrentSettings userSettings = View.GetCurrentCookie();

            if (userSettings == null)
            {
                userSettings                     = new UserCurrentSettings();
                userSettings.GroupBy             = settings.Container.Default.GroupBy;
                userSettings.AfterUserLogon      = settings.Container.Default.AfterUserLogon;
                userSettings.DefaultNoticeboard  = settings.Container.Default.DefaultNoticeboard;
                userSettings.CombinedNoticeboard = settings.Container.Default.CombinedNoticeboard;
                userSettings.TileNoticeboard     = settings.Container.Default.TileNoticeboard;
                userSettings.ListNoticeboard     = settings.Container.Default.ListNoticeboard;
                userSettings.OrderBy             = settings.Container.Default.OrderBy;
                userSettings.View                = settings.Container.Default.View;
                userSettings.Ascending           = (userSettings.OrderBy == OrderItemsBy.Name) ? true : false;
                View.SaveCurrentCookie(userSettings);
            }
            return(userSettings);
        }
Пример #19
0
        public void ChangeGroupBy(DashboardViewType view, GroupItemsBy groupBy)
        {
            liteDashboardSettings settings     = Service.DashboardSettingsGet(DashboardType.Portal, 0);
            UserCurrentSettings   userSettings = View.GetCurrentCookie();

            if (userSettings == null)
            {
                userSettings                     = new UserCurrentSettings();
                userSettings.GroupBy             = groupBy;
                userSettings.AfterUserLogon      = settings.Container.Default.AfterUserLogon;
                userSettings.DefaultNoticeboard  = settings.Container.Default.DefaultNoticeboard;
                userSettings.TileNoticeboard     = settings.Container.Default.TileNoticeboard;
                userSettings.CombinedNoticeboard = settings.Container.Default.CombinedNoticeboard;
                userSettings.ListNoticeboard     = settings.Container.Default.ListNoticeboard;
                userSettings.OrderBy             = (groupBy == settings.Container.Default.GroupBy) ? settings.Container.Default.OrderBy : OrderItemsBy.LastAccess;
                userSettings.View                = view;
                userSettings.Ascending           = (userSettings.OrderBy == OrderItemsBy.Name) ? true : false;
            }
            else
            {
                if (userSettings.GroupBy != groupBy)
                {
                    switch (userSettings.GroupBy)
                    {
                    case GroupItemsBy.CommunityType:
                    case GroupItemsBy.Tile:
                        userSettings.IdSelectedTile = -1;
                        break;

                    case GroupItemsBy.Tag:
                        userSettings.IdSelectedTag = -1;
                        break;
                    }
                }

                userSettings.GroupBy = groupBy;
                userSettings.OrderBy = (groupBy == settings.Container.Default.GroupBy) ? settings.Container.Default.OrderBy : OrderItemsBy.LastAccess;
            }
            View.SaveCurrentCookie(userSettings);
            InitializeView(view, settings, userSettings, false, false, userSettings.IdSelectedTile, userSettings.IdSelectedTag);
        }
Пример #20
0
        private liteDashboardSettings GetCommunitySettings(litePerson p, Int32 idCommunity, Boolean useCache = true)
        {
            liteDashboardSettings        result    = null;
            List <liteDashboardSettings> aSettings = LoadingSettingsGetForCommunity(idCommunity, useCache);

            if (aSettings == null || !aSettings.Any())
            {
                return(GetCommonCommunitySettings(p, useCache));
            }
            else
            {
                liteDashboardSettings dSettings = aSettings.Where(s => s.ForAll).FirstOrDefault();

                Int32 idRole = 0;
                if (idCommunity > 0 && aSettings.Where(s => s.Assignments.Where(a => a.Deleted == BaseStatusDeleted.None && a.IdRole > 0).Any()).Any())
                {
                    idRole = Manager.GetSubscriptionIdRole(UC.CurrentUserID, idCommunity);
                }
                if (aSettings.Where(s => s.IsAvailableFor(p.Id, idRole, p.TypeID)).Any())
                {
                    result = aSettings.Where(s => s.Assignments.Where(a => a.Deleted == BaseStatusDeleted.None && a.IdPerson == p.Id).Any()).FirstOrDefault();
                    if (result == null && idRole > 0)
                    {
                        result = aSettings.Where(s => s.Assignments.Where(a => a.Deleted == BaseStatusDeleted.None && a.IdRole == idRole).Any()).FirstOrDefault();
                    }
                    if (result == null)
                    {
                        result = aSettings.Where(s => s.Assignments.Where(a => a.Deleted == BaseStatusDeleted.None && a.IdProfileType == p.TypeID).Any()).FirstOrDefault();
                    }
                    if (result == null)
                    {
                        return(dSettings);
                    }
                }
                else
                {
                    return(dSettings);
                }
            }
            return(result);
        }
Пример #21
0
        public void InitView(DisplaySearchItems search, String searchText, Boolean forSubscription = false)
        {
            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else
            {
                if (UserContext.CurrentCommunityID > 0)
                {
                    Int32 idOrganization = CurrentManager.GetUserDefaultIdOrganization(UserContext.CurrentUserID);
                    View.GeneratePortalWebContext(idOrganization);
                    UserContext.CurrentCommunityID             = 0;
                    UserContext.CurrentCommunityOrganizationID = idOrganization;
                    UserContext.WorkingCommunityID             = 0;
                }

                liteDashboardSettings settings     = Service.DashboardSettingsGet(DashboardType.Portal, 0);
                UserCurrentSettings   userSettings = GetUserSettings(settings);
                InitializeView(settings, userSettings, search, searchText, forSubscription);
            }
        }
Пример #22
0
        private List <dtoItemFilter <OrderItemsBy> > GetOrderByItems(liteDashboardSettings settings, UserCurrentSettings userSettings)
        {
            List <dtoItemFilter <OrderItemsBy> > items = settings.Container.AvailableOrderBy.Select(o => new dtoItemFilter <OrderItemsBy>()
            {
                Value = o, Selected = (o == userSettings.OrderBy)
            }).ToList();

            if (!items.Where(v => v.Selected).Any() && items.Any())
            {
                items[0].Selected = true;
            }
            if (items.Count > 1)
            {
                items.FirstOrDefault().DisplayAs = ItemDisplayOrder.first;
                items.LastOrDefault().DisplayAs  = ItemDisplayOrder.last;
            }
            else if (items.Any())
            {
                items[0].DisplayAs = ItemDisplayOrder.first | ItemDisplayOrder.last;
            }
            return(items);
        }
Пример #23
0
        public liteDashboardSettings DashboardSettingsGet(DashboardType type, Int32 idCommunity = -1, Boolean useCache = true)
        {
            liteDashboardSettings settings = (useCache) ? lm.Comol.Core.DomainModel.Helpers.CacheHelper.Find <liteDashboardSettings>(CacheKeys.CurrentDashboardSettings(UC.CurrentUserID, idCommunity)) : null;

            if (settings == null)
            {
                litePerson p = Manager.Get <litePerson>(UC.CurrentUserID);
                if (p != null)
                {
                    switch (type)
                    {
                    case DashboardType.Portal:
                        settings = GetPortalSettings(p, useCache);
                        if (settings != null && useCache)
                        {
                            CacheHelper.AddToCache <liteDashboardSettings>(CacheKeys.CurrentDashboardSettings(p.Id, 0), (liteDashboardSettings)settings.Clone(), CacheExpiration.Week);
                        }
                        break;

                    case DashboardType.Community:
                        settings = GetCommunitySettings(p, idCommunity, useCache);
                        if (settings != null && useCache)
                        {
                            CacheHelper.AddToCache <liteDashboardSettings>(CacheKeys.CurrentDashboardSettings(p.Id, idCommunity), (liteDashboardSettings)settings.Clone(), CacheExpiration.Week);
                        }
                        break;

                    case DashboardType.AllCommunities:
                        settings = GetCommonCommunitySettings(p, useCache);
                        if (settings != null && useCache)
                        {
                            CacheHelper.AddToCache <liteDashboardSettings>(CacheKeys.CurrentDashboardSettings(p.Id, -1), (liteDashboardSettings)settings.Clone(), CacheExpiration.Week);
                        }
                        break;
                    }
                }
            }
            return(settings);
        }
        private void InitializeView(liteDashboardSettings settings, UserCurrentSettings userSettings)
        {
            if (!settings.Pages.Where(p => p.Type == userSettings.View).Any())
            {
                userSettings.View = settings.Pages.Select(p => p.Type).FirstOrDefault();
            }
            List <dtoItemFilter <OrderItemsBy> > items = GetOrderByItems(settings, userSettings);
            Dictionary <DashboardViewType, List <dtoItemFilter <OrderItemsBy> > > order = new  Dictionary <DashboardViewType, List <dtoItemFilter <OrderItemsBy> > >();

            order.Add(DashboardViewType.Tile, null);
            order.Add(DashboardViewType.Combined, items);
            order.Add(DashboardViewType.List, items);
            order.Add(DashboardViewType.Search, items);
            View.CurrentOrderItems = order;
            if (settings.Pages.Where(p => p.Type != DashboardViewType.Search && p.Type != DashboardViewType.Subscribe).Any())
            {
                ChangeView(userSettings.View, settings, userSettings, order);
            }
            else
            {
                View.DisplayNoViewAvailable();
            }
        }
        private void LoadGroupBy(liteDashboardSettings settings, UserCurrentSettings userSettings)
        {
            switch (userSettings.View)
            {
            case DashboardViewType.List:
                break;

            default:
                List <dtoItemFilter <GroupItemsBy> > items = settings.Container.AvailableGroupBy.Select(v => new dtoItemFilter <GroupItemsBy>()
                {
                    Value = v, Selected = (v == userSettings.GroupBy)
                }).ToList();
                if (items.Any() && !items.Where(i => i.Selected).Any())
                {
                    if (items.Where(i => i.Value != GroupItemsBy.None).Any())
                    {
                        items.Where(i => i.Value != GroupItemsBy.None).FirstOrDefault().Selected = true;
                    }
                    else
                    {
                        items.FirstOrDefault().Selected = true;
                    }
                }

                if (items.Count > 1)
                {
                    items.FirstOrDefault().DisplayAs = ItemDisplayOrder.first;
                    items.LastOrDefault().DisplayAs  = ItemDisplayOrder.last;
                }
                else if (items.Any())
                {
                    items[0].DisplayAs = ItemDisplayOrder.first | ItemDisplayOrder.last;
                }
                View.InitializeGroupBySelector(items);
                break;
            }
        }
Пример #26
0
        private void InitializeView(DashboardViewType view, liteDashboardSettings settings, UserCurrentSettings userSettings, Boolean moreTiles, Boolean moreCommunities, long idPreloadedTile, long idPreloadedTag)
        {
            if (!settings.Pages.Where(p => p.Type == view).Any())
            {
                view = settings.Pages.Select(p => p.Type).FirstOrDefault();
            }
            List <dtoItemFilter <OrderItemsBy> > items = (view == DashboardViewType.Tile) ? null : GetOrderByItems(settings, userSettings);

            switch (view)
            {
            case DashboardViewType.List:
                View.SendUserAction(0, CurrentIdModule, settings.Id, ModuleDashboard.ActionType.ListDashboardLoad);
                View.InitializeLayout(GetPlainLayout(settings, view), settings.Container.Default.GetNoticeboard(view));
                View.InitializeCommunitiesList(settings.Pages.Where(p => p.Type == DashboardViewType.List).FirstOrDefault(), userSettings, items);
                break;

            case DashboardViewType.Combined:
                View.SendUserAction(0, CurrentIdModule, settings.Id, ModuleDashboard.ActionType.CombinedDashboardLoad);
                View.InitializeLayout(GetPlainLayout(settings, view), settings.Container.Default.GetNoticeboard(view));
                View.IntializeCombinedView(settings.Pages.Where(p => p.Type == DashboardViewType.Combined).FirstOrDefault(), userSettings, items, settings.Id, moreTiles, moreCommunities, idPreloadedTile);
                break;

            case DashboardViewType.Tile:
                View.SendUserAction(0, CurrentIdModule, settings.Id, ModuleDashboard.ActionType.TileDashboardLoad);
                View.InitializeLayout(GetPlainLayout(settings, view), settings.Container.Default.GetNoticeboard(view));
                View.IntializeTileView(0, settings.Container.Default.GetNoticeboard(view), settings.Pages.Where(p => p.Type == DashboardViewType.Tile).FirstOrDefault(), userSettings, settings.Id, moreTiles);
                break;

            case DashboardViewType.Search:
                DisplaySearchItems search = View.PreloadSearch;

                View.SendUserAction(0, CurrentIdModule, settings.Id, (search == DisplaySearchItems.Advanced) ? ModuleDashboard.ActionType.SearchAdvancedDashboardLoad : ModuleDashboard.ActionType.SearchSimpleDashboardLoad);
                View.InitializeLayout(GetPlainLayout(settings, view), DisplayNoticeboard.Hide);
                break;
            }
        }
Пример #27
0
        private UserCurrentSettings GetUserSettings(DashboardViewType view, liteDashboardSettings settings)
        {
            UserCurrentSettings userSettings = View.GetCurrentCookie();

            if (userSettings == null)
            {
                userSettings                     = new UserCurrentSettings();
                userSettings.GroupBy             = settings.Container.Default.GroupBy;
                userSettings.AfterUserLogon      = settings.Container.Default.AfterUserLogon;
                userSettings.DefaultNoticeboard  = settings.Container.Default.DefaultNoticeboard;
                userSettings.CombinedNoticeboard = settings.Container.Default.CombinedNoticeboard;
                userSettings.TileNoticeboard     = settings.Container.Default.TileNoticeboard;
                userSettings.ListNoticeboard     = settings.Container.Default.ListNoticeboard;
                userSettings.OrderBy             = settings.Container.Default.OrderBy;
                userSettings.View                = settings.Container.Default.View;
                userSettings.Ascending           = (userSettings.OrderBy == OrderItemsBy.Name) ? true : false;
                userSettings.IdSelectedTile      = View.PreloadIdTile;
                View.SaveCurrentCookie(userSettings);
            }
            if (View.LoadFromUrl)
            {
                switch (view)
                {
                case DashboardViewType.List:
                    userSettings.GroupBy = View.PreloadSettingsBase.GroupBy;     //GroupItemsBy.None;
                    userSettings.OrderBy = View.PreloadSettingsBase.OrderBy;

                    break;

                case DashboardViewType.Combined:
                    userSettings.GroupBy = View.PreloadSettingsBase.GroupBy;
                    if (userSettings.GroupBy == GroupItemsBy.None)
                    {
                        userSettings.GroupBy = settings.Container.Default.GroupBy;
                    }
                    switch (userSettings.GroupBy)
                    {
                    case GroupItemsBy.CommunityType:
                        userSettings.IdSelectedTile = View.PreloadIdTile;
                        userSettings.IdSelectedTag  = -1;
                        break;

                    case GroupItemsBy.Tag:
                        userSettings.IdSelectedTile = -1;
                        userSettings.IdSelectedTag  = View.PreloadIdTag;
                        break;

                    case GroupItemsBy.Tile:
                        userSettings.IdSelectedTile = View.PreloadIdTile;
                        userSettings.IdSelectedTag  = -1;
                        break;
                    }
                    break;

                case DashboardViewType.Tile:
                    userSettings.GroupBy = View.PreloadSettingsBase.GroupBy;
                    if (userSettings.GroupBy == GroupItemsBy.None)
                    {
                        userSettings.GroupBy = (View.PreloadSettingsBase.GroupBy == GroupItemsBy.None) ? settings.Container.Default.GroupBy : View.PreloadSettingsBase.GroupBy;
                    }
                    break;
                }
                userSettings.Ascending = (userSettings.OrderBy == OrderItemsBy.Name) ? true : false;
                View.SaveCurrentCookie(userSettings);
            }
            return(userSettings);
        }
 private void InitalizeTopBar(liteDashboardSettings settings, UserCurrentSettings userSettings)
 {
     View.InitializeSearch(settings.Container.Default.Search);
     LoadViews(settings, userSettings);
 }
Пример #29
0
        public void InitView(Boolean add, long idDashboard, DashboardType dashboardType, Int32 idContainerCommunity)
        {
            Person p = CurrentManager.GetPerson(UserContext.CurrentUserID);

            if (UserContext.isAnonymous || p == null)
            {
                View.DisplaySessionTimeout();
            }
            else
            {
                Int32                 idDashboardCommunity = (dashboardType == DashboardType.Community) ? idContainerCommunity : 0;
                ModuleDashboard       permissions          = ModuleDashboard.CreatePortalmodule(p.TypeID);
                liteDashboardSettings settings             = null;
                if (add)
                {
                    settings             = new liteDashboardSettings();
                    settings.Type        = dashboardType;
                    settings.Status      = AvailableStatus.Draft;
                    settings.Name        = View.GetNewSettingsName();
                    settings.IdCommunity = (dashboardType == DashboardType.Community ? idDashboardCommunity : (dashboardType == DashboardType.AllCommunities ? -1 : 0));
                }
                else
                {
                    settings = CurrentManager.Get <liteDashboardSettings>(idDashboard);
                    if (View.PreloadFromAdd)
                    {
                        View.DisplaySettingsAdded();
                    }

                    idDashboardCommunity = (settings == null) ? ((dashboardType == DashboardType.Community) ? idContainerCommunity : 0) : settings.IdCommunity;
                }

                if (dashboardType == DashboardType.Community)
                {
                    View.IdContainerCommunity = idContainerCommunity;
                    if (idContainerCommunity < 0)
                    {
                        idContainerCommunity = UserContext.CurrentCommunityID;
                    }
                    if (idContainerCommunity > 0 && (!permissions.Administration && !permissions.ManageTiles))
                    {
                        permissions = Service.GetPermission(idContainerCommunity);
                    }
                }
                else
                {
                    idContainerCommunity      = 0;
                    View.IdContainerCommunity = 0;
                }

                List <lm.Comol.Core.Wizard.dtoNavigableWizardItem <dtoDashboardStep> > steps = Service.GetAvailableSteps(WizardDashboardStep.Settings, idDashboard, dashboardType, idContainerCommunity);
                View.LoadWizardSteps(steps);

                if ((settings == null && (idDashboard > 0 || !add)) || (settings != null && settings.Deleted != BaseStatusDeleted.None && settings.Deleted != BaseStatusDeleted.Manual))
                {
                    View.DisplayUnknownDashboard();
                    if ((add && !permissions.Add) || (!add && (!permissions.Administration || !permissions.Edit)))
                    {
                        View.DisplayNoPermission(idContainerCommunity, CurrentIdModule);
                    }
                    else
                    {
                        View.SetBackUrl(RootObject.DashboardList(dashboardType, false, idContainerCommunity));
                    }
                }
                else if ((add && permissions.Add) || permissions.Administration || (!add && permissions.Edit))
                {
                    View.AllowSave = true;
                    if (settings.Id > 0)
                    {
                        View.SetPreviewUrl(RootObject.DashboardPreview(settings.Id, settings.Type, settings.IdCommunity));
                        View.SendUserAction(idContainerCommunity, Service.ServiceModuleID(), settings.Id, ModuleDashboard.ActionType.DashboardSettingsStartEditing);
                    }
                    else
                    {
                        View.SendUserAction(idContainerCommunity, Service.ServiceModuleID(), ModuleDashboard.ActionType.DashboardSettingsStartAdding);
                    }

                    View.AllowSave = (settings.Deleted == BaseStatusDeleted.None);
                    View.SetBackUrl(RootObject.DashboardList(dashboardType, false, idContainerCommunity));
                    switch (settings.Type)
                    {
                    case DashboardType.Portal:
                        View.LoadSettings(settings, Service.GetDashboardAvailableProfileTypes(settings), settings.GetAssignments(DashboardAssignmentType.ProfileType).Select(a => a.IdProfileType).ToList());
                        break;

                    case DashboardType.Community:
                        View.LoadSettings(settings, Service.GetDashboardAvailableRoles(settings), settings.GetAssignments(DashboardAssignmentType.RoleType).Select(a => a.IdRole).ToList());
                        break;

                    case DashboardType.AllCommunities:
                        View.LoadSettings(settings);
                        break;
                    }
                }
                else
                {
                    View.DisplayNoPermission(idContainerCommunity, CurrentIdModule);
                }
            }
        }
        private void ChangeView(DashboardViewType view, liteDashboardSettings settings, UserCurrentSettings userSettings, Dictionary <DashboardViewType, List <dtoItemFilter <OrderItemsBy> > > order, String searchBy = "", Boolean firstLoad = false)
        {
            userSettings.View    = view;
            View.CurrentSettings = userSettings;
            LoadViews(settings, userSettings);
            switch (view)
            {
            case DashboardViewType.List:
                View.InitializeLayout(GetPlainLayout(settings, userSettings.View), settings.Container.Default.GetNoticeboard(userSettings.View));
                View.InitializeCommunitiesList(settings.Pages.Where(p => p.Type == DashboardViewType.List).FirstOrDefault(), userSettings, order[view]);
                break;

            case DashboardViewType.Combined:
                if (firstLoad)
                {
                    LoadGroupBy(settings, userSettings);
                }
                View.InitializeLayout(GetPlainLayout(settings, userSettings.View), settings.Container.Default.GetNoticeboard(userSettings.View));
                View.IntializeCombinedView(settings.Pages.Where(p => p.Type == DashboardViewType.Combined).FirstOrDefault(), userSettings, order[view], settings.Id, View.PreloadIdTile);
                break;

            case DashboardViewType.Tile:
                if (firstLoad)
                {
                    LoadGroupBy(settings, userSettings);
                }
                View.InitializeLayout(GetPlainLayout(settings, userSettings.View), settings.Container.Default.GetNoticeboard(userSettings.View));
                View.IntializeTileView(0, settings.Container.Default.GetNoticeboard(userSettings.View), settings.Pages.Where(p => p.Type == DashboardViewType.Tile).FirstOrDefault(), userSettings, settings.Id);
                break;

            case DashboardViewType.Search:
                View.InitializeLayout(GetPlainLayout(settings, userSettings.View), DisplayNoticeboard.Hide);

                liteTile    tile   = null;
                long        idTile = View.PreloadIdTile;
                List <long> idTags = new List <long>();
                Int32       idType = -1;
                if (idTile > 0)
                {
                    tile = Service.GetTile(idTile);
                    if (tile != null)
                    {
                        switch (tile.Type)
                        {
                        case TileType.CommunityType:
                            if (tile.CommunityTypes != null)
                            {
                                idType = tile.CommunityTypes.FirstOrDefault();
                                idTile = -1;
                            }
                            break;

                        case TileType.CommunityTag:
                        case TileType.CombinedTags:
                            if (tile.Tags != null && tile.Tags.Any(t => t.Tag != null) && tile.Tags.Any(t => t.Deleted == BaseStatusDeleted.None))
                            {
                                idTags.AddRange(tile.Tags.Where(t => t.Tag != null && t.Deleted == BaseStatusDeleted.None).Select(t => t.Tag.Id).ToList());
                            }
                            break;
                        }
                    }
                }
                View.TagsToLoad = idTags;
                lm.Comol.Core.BaseModules.CommunityManagement.dtoCommunitiesFilters filters = null;
                List <lm.Comol.Core.DomainModel.Filters.Filter> fToLoad = ServiceDashboard.GetDefaultFilters(UserContext.CurrentUserID, searchBy, idType, idTile, idTags, null, CommunityManagement.CommunityAvailability.Subscribed, -1).OrderBy(f => f.DisplayOrder).ToList();
                if (fToLoad != null && fToLoad.Any())
                {
                    filters = new lm.Comol.Core.BaseModules.CommunityManagement.dtoCommunitiesFilters(fToLoad, CommunityManagement.CommunityAvailability.Subscribed, idType, idTile);
                    filters.IdcommunityType = idType;
                    if (!String.IsNullOrEmpty(searchBy))
                    {
                        filters.SearchBy = CommunityManagement.SearchCommunitiesBy.Contains;
                    }
                    filters.IdTile = idTile;
                    filters.IdTags = idTags;
                }
                else
                {
                    filters = new lm.Comol.Core.BaseModules.CommunityManagement.dtoCommunitiesFilters();
                    filters.IdcommunityType = idType;
                    filters.SearchBy        = CommunityManagement.SearchCommunitiesBy.Contains;
                    filters.Value           = searchBy;
                    filters.Availability    = CommunityManagement.CommunityAvailability.Subscribed;
                    filters.IdOrganization  = -1;
                    filters.IdTile          = idTile;
                    filters.IdTags          = idTags;
                }
                Int32 idUserLanguage    = ((UserContext != null && UserContext.Language != null) ? UserContext.Language.Id : -2);
                Int32 idDefaultLanguage = CurrentManager.GetDefaultIdLanguage();
                View.InitializeSearchView(settings.Pages.Where(p => p.Type == DashboardViewType.Search).FirstOrDefault(), fToLoad, filters, order[DashboardViewType.Search], tile, idUserLanguage, idDefaultLanguage);
                break;
            }
        }