ability to specify if a theme is enabled for a site

This commit is contained in:
sbwalker
2023-05-24 13:09:10 -04:00
parent 666f9c2db9
commit 98c2f012ee
23 changed files with 564 additions and 231 deletions

View File

@ -7,7 +7,7 @@ namespace Oqtane.Models
/// <summary>
/// Information about a Theme in Oqtane.
/// </summary>
public class Theme
public class Theme : ModelBase
{
public Theme()
{
@ -25,68 +25,81 @@ namespace Oqtane.Models
Resources = null;
}
/// <summary>
/// Reference to the <see cref="Theme"/>.
/// </summary>
public int ThemeId { get; set; }
/// <summary>
/// Full Namespace / Identifier of the Theme.
/// </summary>
public string ThemeName { get; set; }
/// <summary>
/// Nice Name of the Theme.
/// </summary>
// additional ITheme properties
[NotMapped]
public string Name { get; set; }
/// <summary>
/// Version as determined by the DLL / NuGet Package.
/// </summary>
[NotMapped]
public string Version { get; set; }
/// <summary>
/// Author / Creator of the Theme.
/// </summary>
[NotMapped]
public string Owner { get; set; }
/// <summary>
/// URL (in NuGet) of the Theme
/// </summary>
[NotMapped]
public string Url { get; set; }
/// <summary>
/// Author Contact information
/// </summary>
[NotMapped]
public string Contact { get; set; }
/// <summary>
/// Theme License, like `MIT` etc.
/// </summary>
[NotMapped]
public string License { get; set; }
/// <summary>
/// Theme Dependencies (DLLs) which the system will check if they exist
/// </summary>
[NotMapped]
public string Dependencies { get; set; }
[NotMapped]
public string ThemeSettingsType { get; set; } // added in 2.0.2
[NotMapped]
public string ContainerSettingsType { get; set; } // added in 2.0.2
[NotMapped]
public string PackageName { get; set; } // added in 2.1.0
[NotMapped]
public List<Resource> Resources { get; set; } // added in 4.0.0
[NotMapped]
public bool IsAutoEnabled { get; set; } = true; // added in 4.0.0
// internal properties
[NotMapped]
public int SiteId { get; set; }
[NotMapped]
public bool IsEnabled { get; set; }
[NotMapped]
public string AssemblyName { get; set; }
[NotMapped]
public List<ThemeControl> Themes { get; set; }
[NotMapped]
public List<ThemeControl> Containers { get; set; }
[NotMapped]
public string Template { get; set; }
#region Obsolete Properties
[Obsolete("This property is obsolete. Use Themes instead.", false)]
[NotMapped]
public string ThemeControls { get; set; }
[Obsolete("This property is obsolete. Use Layouts instead.", false)]
[NotMapped]
public string PaneLayouts { get; set; }
[Obsolete("This property is obsolete. Use Containers instead.", false)]
[NotMapped]
public string ContainerControls { get; set; }
[Obsolete("This property is obsolete.", false)]
[NotMapped]
public List<ThemeControl> Layouts { get; set; }
#endregion