public void GetSingleData(RenderInfo info, OpenContentSettings settings) { info.ResetData(); IDataSource ds = DataSourceManager.GetDataSource(Settings.Manifest.DataSource); var dsContext = OpenContentUtils.CreateDataContext(_module, -1, true); var dsItem = ds.Get(dsContext, null); if (dsItem != null) { info.SetData(dsItem, dsItem.Data, settings.Data); } }
public void GetSingleData(RenderInfo info, OpenContentSettings settings) { info.ResetData(); var ds = DataSourceManager.GetDataSource(settings.Manifest.DataSource); var dsContext = new DataSourceContext() { ModuleId = info.ModuleId, ActiveModuleId = _module.ModuleID, TemplateFolder = settings.TemplateDir.FolderPath, Config = settings.Manifest.DataSourceConfig, Single = true }; var dsItem = ds.Get(dsContext, null); if (dsItem != null) { info.SetData(dsItem, dsItem.Data, settings.Data); } }
public bool GetDemoData(RenderInfo info, OpenContentSettings settings) { info.ResetData(); //bool settingsNeeded = false; FileUri dataFilename = null; if (info.Template != null) { dataFilename = new FileUri(info.Template.ManifestFolderUri.UrlFolder, "data.json");; } if (dataFilename != null && dataFilename.FileExists) { string fileContent = File.ReadAllText(dataFilename.PhysicalFilePath); string settingContent = ""; if (!string.IsNullOrWhiteSpace(fileContent)) { if (settings.Template != null && info.Template.MainTemplateUri().FilePath == settings.Template.MainTemplateUri().FilePath) { settingContent = settings.Data; } if (string.IsNullOrEmpty(settingContent)) { var settingsFilename = info.Template.MainTemplateUri().PhysicalFullDirectory + "\\" + info.Template.Key.ShortKey + "-data.json"; if (File.Exists(settingsFilename)) { settingContent = File.ReadAllText(settingsFilename); } else { //string schemaFilename = info.Template.Uri().PhysicalFullDirectory + "\\" + info.Template.Key.ShortKey + "-schema.json"; //settingsNeeded = File.Exists(schemaFilename); } } } if (!string.IsNullOrWhiteSpace(fileContent)) { info.SetData(null, fileContent, settingContent); } } return(!info.ShowInitControl); //!string.IsNullOrWhiteSpace(info.DataJson) && (!string.IsNullOrWhiteSpace(info.SettingsJson) || !settingsNeeded); }
public void GetDetailData(RenderInfo info, OpenContentModuleInfo module) { info.ResetData(); var ds = DataSourceManager.GetDataSource(module.Settings.Manifest.DataSource); var dsContext = OpenContentUtils.CreateDataContext(module); var dsItem = ds.Get(dsContext, info.DetailItemId); //if (LogContext.IsLogActive) //{ // var logKey = "Get detail data"; // LogContext.Log(_module.ModuleID, logKey, "debuginfo", dsItems.DebugInfo); //} if (dsItem != null) { //check permissions var portalSettings = PortalSettings.Current; bool isEditable = _module.ViewModule.CheckIfEditable(portalSettings); if (!isEditable) { var indexConfig = OpenContentUtils.GetIndexConfig(info.Template); string raison; if (!OpenContentUtils.HaveViewPermissions(dsItem, portalSettings.UserInfo, indexConfig, out raison)) { if (module.ViewModule.HasEditRightsOnModule()) { Exceptions.ProcessHttpException(new NotAuthorizedException(404, $"No detail view permissions for id={info.DetailItemId} (due to {raison}) \nGo into Edit Mode to view/change the item")); } else { Exceptions.ProcessHttpException(new NotAuthorizedException(404, "Access denied. You might want to contact your administrator for more information.")); } } } info.SetData(dsItem, dsItem.Data, module.Settings.Data); } }
private void GetDetailData(RenderInfo info, OpenContentModuleConfig module) { info.ResetData(); var ds = DataSourceManager.GetDataSource(module.Settings.Manifest.DataSource); var dsContext = OpenContentUtils.CreateDataContext(module); var dsItem = ds.Get(dsContext, info.DetailItemId); //if (LogContext.IsLogActive) //{ // var logKey = "Get detail data"; // LogContext.Log(_module.ModuleID, logKey, "debuginfo", dsItems.DebugInfo); //} if (dsItem != null) { //check permissions bool isEditable = _module.ViewModule.CheckIfEditable(module); if (!isEditable) { var indexConfig = OpenContentUtils.GetIndexConfig(info.Template); string raison; if (!OpenContentUtils.HaveViewPermissions(dsItem, module.UserRoles.FromDnnRoles(), indexConfig, out raison)) { App.Services.Logger.Error($"Error accessing {HttpContext.Current?.Request?.Url?.AbsoluteUri}. Referrer {HttpContext.Current?.Request?.UrlReferrer?.AbsoluteUri}"); if (module.ViewModule.HasEditRightsOnModule()) { throw new NotAuthorizedException(404, $"No detail view permissions for id={info.DetailItemId} (due to {raison}) \nGo into Edit Mode to view/change the item."); } else { throw new NotAuthorizedException(404, $"Access denied. You might want to contact your administrator for more information. (due to {raison})"); } } } info.SetData(dsItem, dsItem.Data, module.Settings.Data); } }
public void GetDetailData(RenderInfo info, OpenContentSettings settings) { info.ResetData(); var ds = DataSourceManager.GetDataSource(settings.Manifest.DataSource); var dsContext = new DataSourceContext() { ModuleId = info.ModuleId, ActiveModuleId = _module.ModuleID, TemplateFolder = settings.TemplateDir.FolderPath, Config = settings.Manifest.DataSourceConfig }; var dsItem = ds.Get(dsContext, info.DetailItemId); if (LogContext.IsLogActive) { var logKey = "Get detail data"; LogContext.Log(_module.ModuleID, logKey, "result", dsItem); } if (dsItem != null) { info.SetData(dsItem, dsItem.Data, settings.Data); } }
public string GetDataList(RenderInfo info, OpenContentSettings settings, bool clientSide) { string templateKey = ""; info.ResetData(); IDataSource ds = DataSourceManager.GetDataSource(Settings.Manifest.DataSource); var dsContext = OpenContentUtils.CreateDataContext(_module); IEnumerable <IDataItem> resultList = new List <IDataItem>(); if (clientSide || !info.Files.DataInTemplate) { if (ds.Any(dsContext)) { info.SetData(resultList, settings.Data); info.DataExist = true; } if (info.Template.Views != null) { var indexConfig = OpenContentUtils.GetIndexConfig(info.Template); templateKey = GetTemplateKey(indexConfig); } } else { //server side bool useLucene = info.Template.Manifest.Index; if (useLucene) { PortalSettings portalSettings = PortalSettings.Current; var indexConfig = OpenContentUtils.GetIndexConfig(info.Template); if (info.Template.Views != null) { templateKey = GetTemplateKey(indexConfig); } bool isEditable = _module.ViewModule.CheckIfEditable(portalSettings);//portalSettings.UserMode != PortalSettings.Mode.Edit; QueryBuilder queryBuilder = new QueryBuilder(indexConfig); queryBuilder.Build(settings.Query, !isEditable, portalSettings.UserId, DnnLanguageUtils.GetCurrentCultureCode(), portalSettings.UserInfo.Social.Roles, QueryString); resultList = ds.GetAll(dsContext, queryBuilder.Select).Items; if (LogContext.IsLogActive) { //LogContext.Log(_module.ModuleID, "RequestContext", "EditMode", !addWorkFlow); LogContext.Log(_module.ViewModule.ModuleID, "RequestContext", "IsEditable", isEditable); LogContext.Log(_module.ViewModule.ModuleID, "RequestContext", "UserRoles", portalSettings.UserInfo.Social.Roles.Select(r => r.RoleName)); LogContext.Log(_module.ViewModule.ModuleID, "RequestContext", "CurrentUserId", portalSettings.UserId); var logKey = "Query"; LogContext.Log(_module.ViewModule.ModuleID, logKey, "select", queryBuilder.Select); //LogContext.Log(_module.ModuleID, logKey, "result", resultList); } //Log.Logger.DebugFormat("Query returned [{0}] results.", total); if (!resultList.Any()) { /* * if (ds.Any(dsContext) && settings.Query.IsEmpty()) * { * //there seems to be data in de database, but we did not find it in Lucene, so probably the data isn't indexed anymore/yet * //Components.Lucene.LuceneController.Instance.ReIndexModuleData(_module.ViewModule.ModuleID, settings); * } */ //Log.Logger.DebugFormat("Query did not return any results. API request: [{0}], Lucene Filter: [{1}], Lucene Query:[{2}]", settings.Query, queryDef.Filter == null ? "" : queryDef.Filter.ToString(), queryDef.Query == null ? "" : queryDef.Query.ToString()); if (ds.Any(dsContext)) { info.SetData(resultList, settings.Data); info.DataExist = true; } } } else { resultList = ds.GetAll(dsContext, null).Items; //if (LogContext.IsLogActive) //{ // var logKey = "Get all data of module"; // LogContext.Log(_module.ModuleID, logKey, "result", resultList); //} } if (resultList.Any()) { info.SetData(resultList, settings.Data); } } return(templateKey); }
private string GetDataList(RenderInfo info, OpenContentModuleConfig ocModuleConfig) { var clientSide = info.Template.ClientSideData; string templateKey = ""; info.ResetData(); IDataSource ds = DataSourceManager.GetDataSource(_settings.Manifest.DataSource); var dsContext = OpenContentUtils.CreateDataContext(ocModuleConfig); IEnumerable <IDataItem> resultList = new List <IDataItem>(); if (clientSide || !info.Files.DataInTemplate) { if (ds.Any(dsContext)) { info.SetData(resultList, ocModuleConfig.Settings.Data); info.DataExist = true; } if (info.Template.Views != null) { var indexConfig = OpenContentUtils.GetIndexConfig(info.Template); templateKey = GetTemplateKey(indexConfig); } } else { //server side bool useLucene = info.Template.Manifest.Index; if (useLucene) { var indexConfig = OpenContentUtils.GetIndexConfig(info.Template); if (info.Template.Views != null) { templateKey = GetTemplateKey(indexConfig); } bool isEditable = _module.ViewModule.CheckIfEditable(ocModuleConfig); QueryBuilder queryBuilder = new QueryBuilder(indexConfig); queryBuilder.Build(ocModuleConfig.Settings.Query, !isEditable, ocModuleConfig.UserId, DnnLanguageUtils.GetCurrentCultureCode(), ocModuleConfig.UserRoles.FromDnnRoles(), QueryString); resultList = ds.GetAll(dsContext, queryBuilder.Select).Items; if (LogContext.IsLogActive) { //LogContext.Log(_module.ModuleID, "RequestContext", "EditMode", !addWorkFlow); LogContext.Log(_module.ViewModule.ModuleId, "RequestContext", "IsEditable", isEditable); LogContext.Log(_module.ViewModule.ModuleId, "RequestContext", "UserRoles", ocModuleConfig.UserRoles.Select(r => r.RoleName)); LogContext.Log(_module.ViewModule.ModuleId, "RequestContext", "CurrentUserId", ocModuleConfig.UserId); var logKey = "Query"; LogContext.Log(_module.ViewModule.ModuleId, logKey, "select", queryBuilder.Select); //LogContext.Log(_module.ModuleID, logKey, "result", resultList); } //App.Services.Logger.Debug($"Query returned [{0}] results.", total); if (!resultList.Any()) { //App.Services.Logger.Debug($"Query did not return any results. API request: [{0}], Lucene Filter: [{1}], Lucene Query:[{2}]", settings.Query, queryDef.Filter == null ? "" : queryDef.Filter.ToString(), queryDef.Query == null ? "" : queryDef.Query.ToString()); if (ds.Any(dsContext)) { info.SetData(resultList, ocModuleConfig.Settings.Data); info.DataExist = true; } } } else { resultList = ds.GetAll(dsContext, null).Items; //if (LogContext.IsLogActive) //{ // var logKey = "Get all data of module"; // LogContext.Log(_module.ModuleID, logKey, "result", resultList); //} } if (resultList.Any()) { info.SetData(resultList, ocModuleConfig.Settings.Data); } } return(templateKey); }