Merge branch '1.10.x' into 1.10.2

This commit is contained in:
Sebastien Ros 2017-01-12 14:40:22 -08:00
commit acb93df3ec
11 changed files with 49 additions and 20 deletions

View File

@ -46,7 +46,7 @@ namespace Orchard.Core.Common.Drivers {
return ContentShape("Fields_Common_Text_Edit", GetDifferentiator(field, part),
() => {
var settings = field.PartFieldDefinition.Settings.GetModel<TextFieldSettings>();
var text = part.IsNew() ? settings.DefaultValue : field.Value;
var text = part.IsNew() && String.IsNullOrEmpty(field.Value) ? settings.DefaultValue : field.Value;
var viewModel = new TextFieldDriverViewModel {
Field = field,

View File

@ -3,14 +3,26 @@ using System.Collections.Generic;
using System.Linq;
using System.Collections.Concurrent;
using Orchard.Alias.Implementation.Map;
using Orchard.Alias.Implementation.Updater;
namespace Orchard.Alias.Implementation.Holder {
public class AliasHolder : IAliasHolder {
public AliasHolder() {
private readonly Lazy<IAliasHolderUpdater> _aliasHolderUpdater;
private readonly ConcurrentDictionary<string, AliasMap> _aliasMaps;
public AliasHolder(Lazy<IAliasHolderUpdater> aliasHolderUpdater) {
_aliasHolderUpdater = aliasHolderUpdater;
_aliasMaps = new ConcurrentDictionary<string, AliasMap>(StringComparer.OrdinalIgnoreCase);
}
private readonly ConcurrentDictionary<string, AliasMap> _aliasMaps;
private ConcurrentDictionary<string, AliasMap> GetOrRefreshAliasMaps() {
lock (_aliasMaps) {
if (_aliasMaps.Count == 0)
_aliasHolderUpdater.Value.Refresh();
}
return _aliasMaps;
}
public void SetAliases(IEnumerable<AliasInfo> aliases) {
var grouped = aliases.GroupBy(alias => alias.Area ?? String.Empty, StringComparer.InvariantCultureIgnoreCase);
@ -25,7 +37,7 @@ namespace Orchard.Alias.Implementation.Holder {
}
public void SetAlias(AliasInfo alias) {
foreach (var map in _aliasMaps.Values) {
foreach (var map in GetOrRefreshAliasMaps().Values) {
map.Remove(alias);
}
@ -33,11 +45,11 @@ namespace Orchard.Alias.Implementation.Holder {
}
public IEnumerable<AliasMap> GetMaps() {
return _aliasMaps.Values;
return GetOrRefreshAliasMaps().Values;
}
public AliasMap GetMap(string areaName) {
return _aliasMaps.GetOrAdd(areaName ?? String.Empty, key => new AliasMap(key));
return GetOrRefreshAliasMaps().GetOrAdd(areaName ?? String.Empty, key => new AliasMap(key));
}
public void RemoveAlias(AliasInfo aliasInfo) {

View File

@ -44,7 +44,6 @@
<tr>
<th scope="col">@T("Alias")</th>
<th scope="col">@T("Route")</th>
<th scope="col">&nbsp;</th>
</tr>
</thead>
@foreach (var aliasEntry in Model.AliasEntries) {

View File

@ -36,7 +36,7 @@ namespace Orchard.Fields.Drivers {
protected override DriverResult Editor(ContentPart part, BooleanField field, dynamic shapeHelper) {
return ContentShape("Fields_Boolean_Edit", GetDifferentiator(field, part),
() => {
if (part.IsNew()) {
if (part.IsNew() && field.Value == null) {
var settings = field.PartFieldDefinition.Settings.GetModel<BooleanFieldSettings>();
field.Value = settings.DefaultValue;
}

View File

@ -75,7 +75,7 @@ namespace Orchard.Fields.Drivers {
protected override DriverResult Editor(ContentPart part, DateTimeField field, dynamic shapeHelper) {
var settings = field.PartFieldDefinition.Settings.GetModel<DateTimeFieldSettings>();
var value = part.IsNew() ? settings.DefaultValue : field.DateTime;
var value = part.IsNew() && field.DateTime == default(DateTime) ? settings.DefaultValue : field.DateTime;
var options = new DateLocalizationOptions();
// Don't do any time zone conversion if field is semantically a date-only field, because that might mutate the date component.

View File

@ -36,7 +36,7 @@ namespace Orchard.Fields.Drivers {
protected override DriverResult Editor(ContentPart part, EnumerationField field, dynamic shapeHelper) {
return ContentShape("Fields_Enumeration_Edit", GetDifferentiator(field, part),
() => {
if (part.IsNew()) {
if (part.IsNew() && String.IsNullOrEmpty(field.Value)) {
var settings = field.PartFieldDefinition.Settings.GetModel<EnumerationFieldSettings>();
if (!String.IsNullOrWhiteSpace(settings.DefaultValue)) {
field.Value = settings.DefaultValue;

View File

@ -36,7 +36,7 @@ namespace Orchard.Fields.Drivers {
protected override DriverResult Editor(ContentPart part, InputField field, dynamic shapeHelper) {
return ContentShape("Fields_Input_Edit", GetDifferentiator(field, part),
() => {
if (part.IsNew()) {
if (part.IsNew() && String.IsNullOrEmpty(field.Value)) {
var settings = field.PartFieldDefinition.Settings.GetModel<InputFieldSettings>();
field.Value = settings.DefaultValue;
}

View File

@ -39,8 +39,12 @@ namespace Orchard.Fields.Drivers {
() => {
if (part.IsNew()) {
var settings = field.PartFieldDefinition.Settings.GetModel<LinkFieldSettings>();
field.Value = settings.DefaultValue;
field.Text = settings.TextDefaultValue;
if (String.IsNullOrEmpty(field.Value)) {
field.Value = settings.DefaultValue;
}
if (String.IsNullOrEmpty(field.Text)) {
field.Text = settings.TextDefaultValue;
}
}
return shapeHelper.EditorTemplate(TemplateName: TemplateName, Model: field, Prefix: GetPrefix(field, part));
});

View File

@ -44,7 +44,7 @@ namespace Orchard.Fields.Drivers {
return ContentShape("Fields_Numeric_Edit", GetDifferentiator(field, part),
() => {
var settings = field.PartFieldDefinition.Settings.GetModel<NumericFieldSettings>();
var value = part.IsNew() ? settings.DefaultValue : Convert.ToString(field.Value, _cultureInfo.Value);
var value = part.IsNew() && field.Value == null ? settings.DefaultValue : Convert.ToString(field.Value, _cultureInfo.Value);
var model = new NumericFieldViewModel {
Field = field,

View File

@ -41,9 +41,17 @@ namespace Orchard.Packaging.Extensions {
}
private static string ExtensionId(bool isTheme, string packageId) {
return isTheme ?
packageId.Substring(Services.PackagingSourceManager.GetExtensionPrefix(DefaultExtensionTypes.Theme).Length) :
packageId.Substring(Services.PackagingSourceManager.GetExtensionPrefix(DefaultExtensionTypes.Module).Length);
if (packageId.Contains(Services.PackagingSourceManager.GetExtensionPrefix(DefaultExtensionTypes.Theme))
|| packageId.Contains(Services.PackagingSourceManager.GetExtensionPrefix(DefaultExtensionTypes.Module))) {
return isTheme
? packageId.Substring(Services.PackagingSourceManager.GetExtensionPrefix(DefaultExtensionTypes.Theme).Length)
: packageId.Substring(Services.PackagingSourceManager.GetExtensionPrefix(DefaultExtensionTypes.Module).Length);
}
else {
return packageId;
}
}

View File

@ -15,13 +15,19 @@ namespace Orchard.Users.Handlers {
public void Creating(UserContext context) {
_workflowManager.TriggerEvent("UserCreating",
context.User,
() => new Dictionary<string, object> {{"User", context}});
() => new Dictionary<string, object> {
{"User", context.User},
{"UserParameters", context.UserParameters}
});
}
public void Created(UserContext context) {
_workflowManager.TriggerEvent("UserCreated",
context.User,
() => new Dictionary<string, object> {{"User", context}});
() => new Dictionary<string, object> {
{"User", context.User},
{"UserParameters", context.UserParameters}
});
}
public void LoggingIn(string userNameOrEmail, string password) {
@ -78,4 +84,4 @@ namespace Orchard.Users.Handlers {
() => new Dictionary<string, object> {{"User", user}});
}
}
}
}