Exemplo n.º 1
0
        public IActionResult ListSelect(DataSourceRequest command, PluginListModel model)
        {
            var pluginInfos = PluginManager.ReferencedPlugins.ToList();
            var loadMode    = (LoadPluginsStatus)model.SearchLoadModeId;

            if (loadMode == LoadPluginsStatus.InstalledOnly)
            {
                pluginInfos = pluginInfos.Where(x => x.Installed).ToList();
            }
            if (loadMode == LoadPluginsStatus.NotInstalledOnly)
            {
                pluginInfos = pluginInfos.Where(x => !x.Installed).ToList();
            }

            var items = new List <PluginModel>();

            foreach (var item in pluginInfos.OrderBy(x => x.Group))
            {
                items.Add(PreparePluginModel(item));
            }
            var gridModel = new DataSourceResult
            {
                Data  = items,
                Total = pluginInfos.Count()
            };

            return(Json(gridModel));
        }
Exemplo n.º 2
0
        public ActionResult List()
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManagePlugins))
            {
                return(AccessDeniedView());
            }

            var model = new PluginListModel();

            //load modes
            model.AvailableLoadModes = LoadPluginsMode.All.ToSelectList(false).ToList();
            //groups
            model.AvailableGroups.Add(new SelectListItem
            {
                Text  = _localizationService.GetResource("Admin.Common.All"),
                Value = ""
            });
            foreach (var g in _pluginFinder.GetPluginGroups())
            {
                model.AvailableGroups.Add(new SelectListItem {
                    Text = g, Value = g
                });
            }
            return(View(model));
        }
Exemplo n.º 3
0
        public IActionResult List()
        {
            var model = new PluginListModel
            {
                //load modes
                AvailableLoadModes = LoadPluginsStatus.All.ToSelectList(HttpContext, false).ToList()
            };

            return(View(model));
        }
Exemplo n.º 4
0
        public JsonResult List(PluginListModel model)
        {
            var loadMode          = (LoadPluginsMode)model.SearchLoadModeId;
            var pluginDescriptors = _pluginFinder.GetPluginDescriptors(loadMode, group: model.SearchGroup).ToList();
            var data = pluginDescriptors.Select(x =>
            {
                return(PreparePluginModel(x));
            });

            return(Json(new { data = data }));
        }
Exemplo n.º 5
0
        public ActionResult List()
        {
            var model = new PluginListModel();

            model.AvailableLoadModes = LoadPluginsMode.InstalledOnly.ToSelectList(false).ToList();
            foreach (var g in _pluginFinder.GetPluginGroups())
            {
                model.AvailableGroups.Add(new SelectListItem {
                    Text = g, Value = g
                });
            }
            return(View(model));
        }
Exemplo n.º 6
0
        /// <summary>
        /// 插件列表
        /// </summary>
        /// <param name="type">插件类型</param>
        public ActionResult List(int type = -1)
        {
            PluginType pluginType = (PluginType)type;

            PluginListModel model = new PluginListModel();

            model.PluginType            = pluginType;
            model.InstalledPluginList   = AdminPlugins.GetInstalledPluginList(pluginType);
            model.UninstalledPluginList = AdminPlugins.GetUnInstalledPluginList(pluginType);

            MallUtils.SetAdminRefererCookie(string.Format("{0}?type={1}", Url.Action("list"), type));
            return(View(model));
        }
        public IActionResult ListSelect(DataSourceRequest command, PluginListModel model)
        {
            var loadMode          = (LoadPluginsMode)model.SearchLoadModeId;
            var pluginDescriptors = _pluginFinder.GetPluginDescriptors(loadMode, "", model.SearchGroup).ToList();
            var gridModel         = new DataSourceResult
            {
                Data = pluginDescriptors.Select(x => PreparePluginModel(x, false, false))
                       .OrderBy(x => x.Group)
                       .ToList(),
                Total = pluginDescriptors.Count()
            };

            return(Json(gridModel));
        }
Exemplo n.º 8
0
        public ActionResult ListSelect(DataSourceRequest command, PluginListModel model)
        {
            //if (!_permissionService.Authorize(StandardPermissionProvider.ManagePlugins))
            //return AccessDeniedView();

            var loadMode          = (LoadPluginsMode)model.SearchLoadModeId;
            var pluginDescriptors = _pluginFinder.GetPluginDescriptors(loadMode, "", model.SearchGroup).ToList();
            var gridModel         = new DataSourceResult
            {
                Data = pluginDescriptors.Select(x => PreparePluginModel(x, false, false))
                       .OrderBy(x => x.Group)
                       .ToList(),
                Total = pluginDescriptors.Count()
            };

            return(Json(gridModel));
        }
        public async Task <IActionResult> ListSelect(DataSourceRequest command, PluginListModel model)
        {
            var loadMode          = (LoadPluginsMode)model.SearchLoadModeId;
            var pluginDescriptors = _pluginFinder.GetPluginDescriptors(loadMode, "", model.SearchGroup).ToList();
            var items             = new List <PluginModel>();

            foreach (var item in pluginDescriptors.OrderBy(x => x.Group))
            {
                items.Add(await PreparePluginModel(item, false, false));
            }
            var gridModel = new DataSourceResult {
                Data  = items,
                Total = pluginDescriptors.Count()
            };

            return(Json(gridModel));
        }
Exemplo n.º 10
0
        public IActionResult List()
        {
            var model = new PluginListModel();

            //load modes
            model.AvailableLoadModes = LoadPluginsMode.All.ToSelectList(false).ToList();
            //groups
            model.AvailableGroups.Add(new SelectListItem {
                Text = _localizationService.GetResource("Admin.Common.All"), Value = ""
            });
            foreach (var g in _pluginFinder.GetPluginGroups())
            {
                model.AvailableGroups.Add(new SelectListItem {
                    Text = g, Value = g
                });
            }
            return(View(model));
        }
        /// <summary>
        /// Prepare paged plugin list model
        /// </summary>
        /// <param name="searchModel">Plugin search model</param>
        /// <returns>Plugin list model</returns>
        public virtual PluginListModel PreparePluginListModel(PluginSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //get parameters to filter plugins
            var group    = string.IsNullOrEmpty(searchModel.SearchGroup) || searchModel.SearchGroup.Equals("0") ? null : searchModel.SearchGroup;
            var loadMode = (LoadPluginsMode)searchModel.SearchLoadModeId;

            //filter visible plugins
            var plugins1 = _pluginService.GetPluginDescriptors <IPlugin>(group: group, loadMode: loadMode)
                           //.Where(p => p.ShowInPluginsList)
                           .OrderBy(plugin => plugin.Group).ToList()
                           .ToPagedList(searchModel);

            var plugins = _pluginService.GetPluginDescriptors <IPlugin>(group: group, loadMode: loadMode)
                          .Where(p => p.ShowInPluginsList)
                          .OrderBy(plugin => plugin.Group).ToList()
                          .ToPagedList(searchModel);

            //prepare list model
            var model = new PluginListModel().PrepareToGrid(searchModel, plugins, () =>
            {
                return(plugins.Select(pluginDescriptor =>
                {
                    //fill in model values from the entity
                    var pluginModel = pluginDescriptor.ToPluginModel <PluginModel>();

                    //fill in additional values (not existing in the entity)
                    pluginModel.LogoUrl = _pluginService.GetPluginLogoUrl(pluginDescriptor);
                    if (pluginDescriptor.Installed)
                    {
                        PrepareInstalledPluginModel(pluginModel, pluginDescriptor.Instance <IPlugin>());
                    }

                    return pluginModel;
                }));
            });

            return(model);
        }
Exemplo n.º 12
0
        /// <summary>
        /// Prepare paged plugin list model
        /// </summary>
        /// <param name="searchModel">Plugin search model</param>
        /// <returns>Plugin list model</returns>
        public virtual PluginListModel PreparePluginListModel(PluginSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //get parameters to filter plugins
            var group    = string.IsNullOrEmpty(searchModel.SearchGroup) || searchModel.SearchGroup.Equals("0") ? null : searchModel.SearchGroup;
            var loadMode = (LoadPluginsMode)searchModel.SearchLoadModeId;

            //get plugins
            var plugins = _pluginFinder.GetPluginDescriptors(group: group, loadMode: loadMode)
                          .OrderBy(plugin => plugin.Group).ToList();

            //prepare list model
            var model = new PluginListModel
            {
                Data = plugins.PaginationByRequestModel(searchModel).Select(pluginDescriptor =>
                {
                    //fill in model values from the entity
                    var pluginModel = pluginDescriptor.ToPluginModel <PluginModel>();

                    //fill in additional values (not existing in the entity)
                    pluginModel.LogoUrl = PluginManager.GetLogoUrl(pluginDescriptor);
                    if (pluginDescriptor.Installed)
                    {
                        PrepareInstalledPluginModel(pluginModel, pluginDescriptor.Instance());
                    }

                    return(pluginModel);
                }),
                Total = plugins.Count
            };

            return(model);
        }