diff --git a/src/Orchard.Azure/Orchard.Azure.Web/Orchard.Azure.Web.csproj b/src/Orchard.Azure/Orchard.Azure.Web/Orchard.Azure.Web.csproj index ff4b07e10..1fc26a0e5 100644 --- a/src/Orchard.Azure/Orchard.Azure.Web/Orchard.Azure.Web.csproj +++ b/src/Orchard.Azure/Orchard.Azure.Web/Orchard.Azure.Web.csproj @@ -256,6 +256,10 @@ {D10AD48F-407D-4DB5-A328-173EC7CB010F} Orchard.Roles + + {2AD6973D-C7BB-416E-89FE-EEE34664E05F} + Orchard.Scripting.Dlr + {2AD6973D-C7BB-416E-89FE-EEE34664E05F} Orchard.Scripting diff --git a/src/Orchard.Azure/Orchard.Azure.Web/Web.Debug.config b/src/Orchard.Azure/Orchard.Azure.Web/Web.Debug.config index 3a38cc0c5..a8eacfd77 100644 --- a/src/Orchard.Azure/Orchard.Azure.Web/Web.Debug.config +++ b/src/Orchard.Azure/Orchard.Azure.Web/Web.Debug.config @@ -1,9 +1,5 @@  - \ No newline at end of file diff --git a/src/Orchard.Azure/Orchard.Azure.Web/Web.Release.config b/src/Orchard.Azure/Orchard.Azure.Web/Web.Release.config index 3a38cc0c5..a8eacfd77 100644 --- a/src/Orchard.Azure/Orchard.Azure.Web/Web.Release.config +++ b/src/Orchard.Azure/Orchard.Azure.Web/Web.Release.config @@ -1,9 +1,5 @@  - \ No newline at end of file diff --git a/src/Orchard.Azure/Orchard.Azure.Web/Web.config b/src/Orchard.Azure/Orchard.Azure.Web/Web.config index 5e78c822b..f84174283 100644 --- a/src/Orchard.Azure/Orchard.Azure.Web/Web.config +++ b/src/Orchard.Azure/Orchard.Azure.Web/Web.config @@ -40,7 +40,6 @@ - "); + } } } diff --git a/src/Orchard.Web/Modules/Orchard.Modules/Views/Admin/Features.cshtml b/src/Orchard.Web/Modules/Orchard.Modules/Views/Admin/Features.cshtml index 18999cd9c..61f660f70 100644 --- a/src/Orchard.Web/Modules/Orchard.Modules/Views/Admin/Features.cshtml +++ b/src/Orchard.Web/Modules/Orchard.Modules/Views/Admin/Features.cshtml @@ -44,10 +44,11 @@ } var dependencies = (from d in feature.Descriptor.Dependencies select (from f in Model.Features where f.Descriptor.Id == d select f).SingleOrDefault()).Where(f => f != null).OrderBy(f => f.Descriptor.Name); - @* todo: missingDependencies -- show them in a special way. Can be found like this: var missingDependencies = feature.Descriptor.Dependencies .Where(d => !Model.Features.Any(f => f.Descriptor.Id == d)); - *@ + if (showActions) { + showActions = missingDependencies.Count() == 0; + }
  • @@ -61,6 +62,11 @@ "dependency", "")
    } + @if (missingDependencies.Any()) { +
    +

    @T("Missing:")

    + @Html.UnorderedList(missingDependencies, (s, i) => MvcHtmlString.Create(s), "", "missingdependency", "") +
    }
    @if (showActions) { diff --git a/src/Orchard.Web/Modules/Orchard.Modules/styles/orchard-modules-admin.css b/src/Orchard.Web/Modules/Orchard.Modules/styles/orchard-modules-admin.css index da9f10cdf..ab5f8dbb5 100644 --- a/src/Orchard.Web/Modules/Orchard.Modules/styles/orchard-modules-admin.css +++ b/src/Orchard.Web/Modules/Orchard.Modules/styles/orchard-modules-admin.css @@ -107,6 +107,24 @@ .features .dependencies li:last-child::after { content:""; } +.features .missingdependencies { + font-size:.9em; + color:Red; + margin:.44em 0 0; +} +.features .missingdependencies>* { + display:inline; +} +.features .missingdependencies li { + display:inline; + margin-left:.5em; +} +.features .missingdependencies li::after { + content:", "; +} +.features .missingdependencies li:last-child::after { + content:""; +} .features .feature .actions { position:absolute; right:.4em; diff --git a/src/Orchard.Web/Modules/Orchard.Setup/Services/SetupService.cs b/src/Orchard.Web/Modules/Orchard.Setup/Services/SetupService.cs index 7c6e55376..94a57da39 100644 --- a/src/Orchard.Web/Modules/Orchard.Setup/Services/SetupService.cs +++ b/src/Orchard.Web/Modules/Orchard.Setup/Services/SetupService.cs @@ -283,7 +283,25 @@ namespace Orchard.Setup.Services { page.As().Title = T("Welcome to Orchard!").Text; page.As().Path = ""; page.As().Slug = ""; - page.As().Text = string.Format(CultureInfo.CurrentCulture, "

    You’ve successfully setup your Orchard Site and this is the homepage of your new site. Here are a few things you can look at to get familiar with the application. Once you feel confident you don’t need this anymore, you can remove this by going into editing mode and replacing it with whatever you want.

    First things first - You’ll probably want to manage your settings and configure Orchard to your liking. After that, you can head over to manage themes to change or install new themes and really make it your own. Once you’re happy with a look and feel, it’s time for some content. You can start creating new custom content types or start with some built-in ones by adding a page, creating a blog or managing your menus.

    Finally, Orchard has been designed to be extended. It comes with a few built-in modules such as pages and blogs or themes. If you’re looking to add additional functionality, you can do so by creating your own module or installing a new one that someone has made. Modules are created by other users of Orchard just like you so if you feel up to it, please consider participating. XOXO – The Orchard Team

    ", page.Id); + page.As().Text = T( +@"

    You've successfully setup your Orchard Site and this is the homepage of your new site. +Here are a few things you can look at to get familiar with the application. +Once you feel confident you don't need this anymore, you can +remove it by going into editing mode +and replacing it with whatever you want.

    +

    First things first - You'll probably want to manage your settings +and configure Orchard to your liking. After that, you can head over to +manage themes to change or install new themes +and really make it your own. Once you're happy with a look and feel, it's time for some content. +You can start creating new custom content types or start from the built-in ones by +adding a page, creating a blog +or managing your menus.

    +

    Finally, Orchard has been designed to be extended. It comes with a few built-in +modules such as pages and blogs or themes. If you're looking to add additional functionality, +you can do so by creating your own module or by installing one that somebody else built. +Modules are created by other users of Orchard just like you so if you feel up to it, +please consider participating.

    +

    Thanks for using Orchard – The Orchard Team

    ", page.Id).Text; contentManager.Publish(page); siteSettings.Record.HomePage = "RoutableHomePageProvider;" + page.Id; diff --git a/src/Orchard.Web/Themes/TheAdmin/Styles/site.css b/src/Orchard.Web/Themes/TheAdmin/Styles/site.css index fda69fb09..cb5ae51f7 100644 --- a/src/Orchard.Web/Themes/TheAdmin/Styles/site.css +++ b/src/Orchard.Web/Themes/TheAdmin/Styles/site.css @@ -425,7 +425,7 @@ span.message { border:1px solid #ffea9b; } .message-Error { - background:#e68585; /* green */ + background:#e68585; /* red */ border:1px solid #990808; color:#fff; }.debug.message { @@ -477,6 +477,8 @@ label input { } .hint { display:block; + font-size:0.923em; + color:#7c7c7c; } /* todo: (heskew) try to get .text on stuff like .text-box */ select, textarea, input.text, input.textMedium, input.text-box { @@ -821,7 +823,7 @@ table.items th, table.items td { /* Core Modules -----------------------------------------------------------*/ +***************************************************************/ /* Routable */ .permalink input.text { background:transparent; @@ -897,7 +899,7 @@ fieldset.publish-later-datetime input { } /* Fields -----------------------------------------------------------*/ +***************************************************************/ /* TextField */ #main .summary p.text-field { margin:.5em 0; diff --git a/src/Orchard.Web/Themes/TheThemeMachine/Styles/Site.css b/src/Orchard.Web/Themes/TheThemeMachine/Styles/Site.css index e51a40030..100725b95 100644 --- a/src/Orchard.Web/Themes/TheThemeMachine/Styles/Site.css +++ b/src/Orchard.Web/Themes/TheThemeMachine/Styles/Site.css @@ -143,7 +143,7 @@ aside h6 { font-size: 1em; } /* Lists */ li ul, li ol { margin:0 1.5em; } -ul, ol { margin: 0 1.5em 1.5em 1.5em; } +ul, ol { margin: 1.5em; line-height: 1.538em; } ul { list-style-type: disc; } ol { list-style-type: decimal; } @@ -391,6 +391,12 @@ nav ul .search-results .blog-post .metadata .published { display: inline; margin: 0 6px 0 0; } .search-results .blog-post .metadata .commentcount { display: inline; } +/* Confirmations */ +.message, .validation-summary-errors { margin:10px 0 4px 0; padding:4px; } +.messages a { font-weight:bold; } +.message-Information { background:#e6f1c9; /* green */ border:1px solid #cfe493; color:#062232; } +.message-Warning { background:#fdf5bc; /* yellow */ border:1px solid #ffea9b; } +.critical.message, .validation-summary-errors, .message-Error { background:#e68585; /* red */ border:1px solid #990808; color:#fff; } /* Secondary diff --git a/src/Orchard.Web/Themes/TheThemeMachine/Views/BadgeOfHonor.cshtml b/src/Orchard.Web/Themes/TheThemeMachine/Views/BadgeOfHonor.cshtml index 265189726..fb3c15f7c 100644 --- a/src/Orchard.Web/Themes/TheThemeMachine/Views/BadgeOfHonor.cshtml +++ b/src/Orchard.Web/Themes/TheThemeMachine/Views/BadgeOfHonor.cshtml @@ -1 +1 @@ -
    @T("Powered by Orchard", "http://www.orchardproject.net") @T("© The Theme Machine 2010.")
    \ No newline at end of file +
    @T("Powered by Orchard", "http://www.orchardproject.net") @T("© The Theme Machine 2010.")
    \ No newline at end of file diff --git a/src/Orchard/Environment/Extensions/ExtensionManager.cs b/src/Orchard/Environment/Extensions/ExtensionManager.cs index fe7d405a9..d5a55cf8c 100644 --- a/src/Orchard/Environment/Extensions/ExtensionManager.cs +++ b/src/Orchard/Environment/Extensions/ExtensionManager.cs @@ -77,7 +77,13 @@ namespace Orchard.Environment.Extensions { var featureId = featureDescriptor.Id; var extensionId = extensionDescriptor.Id; - var extensionEntry = _cacheManager.Get(extensionId, ctx => BuildEntry(extensionDescriptor)); + ExtensionEntry extensionEntry; + try { + extensionEntry = _cacheManager.Get(extensionId, ctx => BuildEntry(extensionDescriptor)); + } + catch (Exception ex) { + throw new OrchardException(T("Error while loading extension '{0}'.", extensionId), ex); + } if (extensionEntry == null) { // If the feature could not be compiled for some reason, // return a "null" feature, i.e. a feature with no exported types. diff --git a/src/Orchard/UI/Resources/RequireSettings.cs b/src/Orchard/UI/Resources/RequireSettings.cs index 2648967ed..a945b4a84 100644 --- a/src/Orchard/UI/Resources/RequireSettings.cs +++ b/src/Orchard/UI/Resources/RequireSettings.cs @@ -9,6 +9,7 @@ namespace Orchard.UI.Resources { public bool DebugMode { get; set; } public bool CdnMode { get; set; } public ResourceLocation Location { get; set; } + public string Condition { get; set; } public Action InlineDefinition { get; set; } public RequireSettings AtHead() { @@ -55,6 +56,11 @@ namespace Orchard.UI.Resources { return this; } + public RequireSettings UseCondition(string condition) { + Condition = Condition ?? condition; + return this; + } + public RequireSettings Define(Action resourceDefinition) { InlineDefinition = resourceDefinition ?? InlineDefinition; return this; @@ -69,6 +75,7 @@ namespace Orchard.UI.Resources { .UseCdn(CdnMode).UseCdn(other.CdnMode) .UseDebugMode(DebugMode).UseDebugMode(other.DebugMode) .UseCulture(Culture).UseCulture(other.Culture) + .UseCondition(Condition).UseCondition(other.Condition) .Define(InlineDefinition).Define(other.InlineDefinition); } }