public List <TemplateDto> GetNewTemplates(bool web) { if (web) { var templates = GithubTemplateUtils.GetTemplateList(ActiveModule.PortalID).Where(t => t.Type == Components.Github.TypeEnum.Dir).OrderBy(t => t.Name); return(templates.Select(t => new TemplateDto() { Value = t.Path, Text = t.Name }).ToList()); } else { var scriptFileSetting = ActiveModule.OpenContentSettings().Template; var templates = OpenContentUtils.GetTemplates(PortalSettings, ActiveModule.ModuleID, scriptFileSetting, App.Config.Opencontent); return(templates.Select(t => new TemplateDto() { Value = t.Value, Text = t.Text }).ToList()); } }
public ModuleStateDto SaveTemplate(SaveDto input) { ModuleController mc = new ModuleController(); if (!input.otherModule) // this module { mc.DeleteModuleSetting(ActiveModule.ModuleID, "tabid"); mc.DeleteModuleSetting(ActiveModule.ModuleID, "moduleid"); } else // other module { var dsModule = (new ModuleController()).GetTabModule(input.tabModuleId); mc.UpdateModuleSetting(ActiveModule.ModuleID, "tabid", dsModule.TabID.ToString()); mc.UpdateModuleSetting(ActiveModule.ModuleID, "moduleid", dsModule.ModuleID.ToString()); } if (!input.newTemplate) // existing { mc.UpdateModuleSetting(ActiveModule.ModuleID, "template", input.template); ActiveModule.ModuleSettings["template"] = input.template; } else // new { try { if (!input.fromWeb) // site { string oldFolder = HostingEnvironment.MapPath(input.template); var template = OpenContentUtils.CopyTemplate(ActiveModule.PortalID, oldFolder, input.templateName); mc.UpdateModuleSetting(ActiveModule.ModuleID, "template", template); ActiveModule.ModuleSettings["template"] = template; } else // web { //string fileName = ddlTemplate.SelectedValue; //string template = OpenContentUtils.ImportFromWeb(ModuleContext.PortalId, fileName, tbTemplateName.Text); //mc.UpdateModuleSetting(ModuleContext.ModuleId, "template", template); //ModuleContext.Settings["template"] = template; //string fileName = ddlTemplate.SelectedValue; var template = GithubTemplateUtils.ImportFromGithub(ActiveModule.PortalID, input.template, input.template, input.templateName); mc.UpdateModuleSetting(ActiveModule.ModuleID, "template", template); ActiveModule.ModuleSettings["template"] = template; } } catch (Exception ex) { return(new ModuleStateDto() { Error = ex.Message }); } } //mc.UpdateModuleSetting(ActiveModule.ModuleID, "detailtabid", ddlDetailPage.SelectedValue); //don't reset settings. Sure they might be invalid, but maybe not. And you can't ever revert. //mc.DeleteModuleSetting(ModuleContext.ModuleId, "data"); var settings = ActiveModule.OpenContentSettings(); var templateManifest = settings.Template; if (templateManifest.SettingsNeeded()) { var settingsFilename = templateManifest.MainTemplateUri().PhysicalFullDirectory + "\\" + templateManifest.Key.ShortKey + "-data.json"; if (File.Exists(settingsFilename)) { var settingContent = File.ReadAllText(settingsFilename); mc.UpdateModuleSetting(ActiveModule.ModuleID, "data", settingContent); ActiveModule.ModuleSettings["data"] = settingContent; settings = ActiveModule.OpenContentSettings(); } } bool defaultData = false; if (templateManifest.DataNeeded()) { var dataFilename = templateManifest.MainTemplateUri().PhysicalFullDirectory + "\\data.json"; if (File.Exists(dataFilename)) { var module = OpenContentModuleConfig.Create(ActiveModule, PortalSettings); IDataSource ds = DataSourceManager.GetDataSource(settings.Manifest.DataSource); var dsContext = OpenContentUtils.CreateDataContext(module, UserInfo.UserID); ds.Add(dsContext, JObject.Parse(File.ReadAllText(dataFilename))); defaultData = true; } } return(new ModuleStateDto() { SettingsNeeded = templateManifest.SettingsNeeded(), SettingsDefined = !string.IsNullOrEmpty(settings.Data), DataNeeded = settings.Template.DataNeeded() && !defaultData, Template = settings.TemplateKey.ToString(), Error = "" }); }