Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 17d4258507 | |||
| 080150baa3 | |||
| c6bc5ae6aa | |||
| f84d3b435b | |||
| 99855bce11 | |||
| d0b2f10a8c | |||
| bbfd570b8a | |||
| 7b4912b1e7 | |||
| 8c6362d947 | |||
| b807b84466 | |||
| ab551b2c96 | |||
| 1520fa77d5 | |||
| b88e714050 |
@@ -1,3 +1,5 @@
|
||||
[](https://ci.appveyor.com/project/Umbraco/umbraco-cms-hs8dx/branch/dev-v7)
|
||||
|
||||
Umbraco CMS
|
||||
===========
|
||||
The friendliest, most flexible and fastest growing ASP.NET CMS used by more than 390,000 websites worldwide: [https://umbraco.com](https://umbraco.com)
|
||||
|
||||
@@ -2225,6 +2225,8 @@ namespace Umbraco.Core.Services
|
||||
|
||||
using (new WriteLock(Locker))
|
||||
{
|
||||
var currVersion = content.Version;
|
||||
|
||||
var uow = UowProvider.GetUnitOfWork();
|
||||
using (var repository = RepositoryFactory.CreateContentRepository(uow))
|
||||
{
|
||||
@@ -2250,8 +2252,10 @@ namespace Umbraco.Core.Services
|
||||
Saved.RaiseEvent(new SaveEventArgs<IContent>(content, false, evtMsgs), this);
|
||||
|
||||
Audit(AuditType.Save, "Save Content performed by user", userId, content.Id);
|
||||
|
||||
return OperationStatus.Success(evtMsgs);
|
||||
|
||||
return currVersion == content.Version
|
||||
? OperationStatus.NoOperation(evtMsgs)
|
||||
: OperationStatus.Success(evtMsgs);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -891,7 +891,12 @@ namespace Umbraco.Core.Services
|
||||
var uow = UowProvider.GetUnitOfWork();
|
||||
using (var repository = RepositoryFactory.CreateMediaRepository(uow))
|
||||
{
|
||||
media.CreatorId = userId;
|
||||
//set the creator id if it's new
|
||||
if (media.HasIdentity == false)
|
||||
{
|
||||
media.CreatorId = userId;
|
||||
}
|
||||
|
||||
repository.AddOrUpdate(media);
|
||||
repository.AddOrUpdateContentXml(media, m => _entitySerializer.Serialize(this, _dataTypeService, _userService, m));
|
||||
// generate preview for blame history?
|
||||
|
||||
@@ -1252,6 +1252,8 @@ To manage your website, simply open the Umbraco back office and start adding con
|
||||
<key alias="templates">Templates</key>
|
||||
<key alias="xslt">XSLT Files</key>
|
||||
<key alias="analytics">Analytics</key>
|
||||
<key alias="partialViews">Partial Views</key>
|
||||
<key alias="partialViewMacros">Partial View Macro Files</key>
|
||||
</area>
|
||||
<area alias="update">
|
||||
<key alias="updateAvailable">New update ready</key>
|
||||
|
||||
@@ -1252,6 +1252,8 @@
|
||||
<key alias="templates">模板</key>
|
||||
<key alias="xslt">XSLT文件</key>
|
||||
<key alias="analytics">分析</key>
|
||||
<key alias="partialViews">分部视图</key>
|
||||
<key alias="partialViewMacros">分部视图宏文件</key>
|
||||
</area>
|
||||
<area alias="update">
|
||||
<key alias="updateAvailable">有可用更新</key>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
<cc1:Pane ID="pane_uploadFile" runat="server" Text="Upload translation file">
|
||||
<p>
|
||||
When you have completed the translation. Upload the edited XML file here. The related translation tasks will automaticly be closed when a file is uploaded.
|
||||
When you have completed the translation. Upload the edited XML file here. The related translation tasks will automatically be closed when a file is uploaded.
|
||||
</p>
|
||||
|
||||
<cc1:PropertyPanel runat="server">
|
||||
|
||||
@@ -295,7 +295,8 @@ namespace Umbraco.Web.Editors
|
||||
|
||||
//initialize this to successful
|
||||
var publishStatus = Attempt<PublishStatus>.Succeed();
|
||||
var wasCancelled = false;
|
||||
var wasCancelled = false; //tracks if the operation was cancelled
|
||||
var noop = false; //tracks if the operation performed no operation (nothing to save)
|
||||
|
||||
if (contentItem.Action == ContentSaveAction.Save || contentItem.Action == ContentSaveAction.SaveNew)
|
||||
{
|
||||
@@ -303,6 +304,8 @@ namespace Umbraco.Web.Editors
|
||||
var saveResult = Services.ContentService.WithResult().Save(contentItem.PersistedContent, Security.CurrentUser.Id);
|
||||
|
||||
wasCancelled = saveResult.Success == false && saveResult.Result.StatusType == OperationStatusType.FailedCancelledByEvent;
|
||||
|
||||
noop = saveResult.Result.StatusType == OperationStatusType.NoOperation;
|
||||
}
|
||||
else if (contentItem.Action == ContentSaveAction.SendPublish || contentItem.Action == ContentSaveAction.SendPublishNew)
|
||||
{
|
||||
@@ -313,7 +316,7 @@ namespace Umbraco.Web.Editors
|
||||
{
|
||||
//publish the item and check if it worked, if not we will show a diff msg below
|
||||
publishStatus = Services.ContentService.SaveAndPublishWithStatus(contentItem.PersistedContent, Security.CurrentUser.Id);
|
||||
wasCancelled = publishStatus.Result.StatusType == PublishStatusType.FailedCancelledByEvent;
|
||||
wasCancelled = publishStatus.Result.StatusType == PublishStatusType.FailedCancelledByEvent;
|
||||
}
|
||||
|
||||
//return the updated model
|
||||
@@ -327,28 +330,28 @@ namespace Umbraco.Web.Editors
|
||||
{
|
||||
case ContentSaveAction.Save:
|
||||
case ContentSaveAction.SaveNew:
|
||||
if (wasCancelled == false)
|
||||
{
|
||||
display.AddSuccessNotification(
|
||||
Services.TextService.Localize("speechBubbles/editContentSavedHeader"),
|
||||
Services.TextService.Localize("speechBubbles/editContentSavedText"));
|
||||
}
|
||||
else
|
||||
if (wasCancelled)
|
||||
{
|
||||
AddCancelMessage(display);
|
||||
}
|
||||
else if (noop == false)
|
||||
{
|
||||
display.AddSuccessNotification(
|
||||
Services.TextService.Localize("speechBubbles/editContentSavedHeader"),
|
||||
Services.TextService.Localize("speechBubbles/editContentSavedText"));
|
||||
}
|
||||
break;
|
||||
case ContentSaveAction.SendPublish:
|
||||
case ContentSaveAction.SendPublishNew:
|
||||
if (wasCancelled == false)
|
||||
{
|
||||
display.AddSuccessNotification(
|
||||
Services.TextService.Localize("speechBubbles/editContentSendToPublish"),
|
||||
Services.TextService.Localize("speechBubbles/editContentSendToPublishText"));
|
||||
}
|
||||
else
|
||||
if (wasCancelled)
|
||||
{
|
||||
AddCancelMessage(display);
|
||||
}
|
||||
else if (noop == false)
|
||||
{
|
||||
display.AddSuccessNotification(
|
||||
Services.TextService.Localize("speechBubbles/editContentSendToPublish"),
|
||||
Services.TextService.Localize("speechBubbles/editContentSendToPublishText"));
|
||||
}
|
||||
break;
|
||||
case ContentSaveAction.Publish:
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace Umbraco.Web.Models
|
||||
{
|
||||
[Serializable]
|
||||
[DataContract(Name = "validatePasswordReset", Namespace = "")]
|
||||
public class ValidatePasswordResetCodeModel
|
||||
{
|
||||
|
||||
@@ -9,7 +9,7 @@ namespace Umbraco.Web.Trees
|
||||
/// <summary>
|
||||
/// Tree for displaying partial view macros in the developer app
|
||||
/// </summary>
|
||||
[Tree(Constants.Applications.Developer, "partialViewMacros", "Partial View Macro Files", sortOrder: 6)]
|
||||
[Tree(Constants.Applications.Developer, "partialViewMacros", null, sortOrder: 6)]
|
||||
public class PartialViewMacrosTree : PartialViewsTree
|
||||
{
|
||||
public PartialViewMacrosTree(string application) : base(application)
|
||||
|
||||
@@ -18,7 +18,7 @@ namespace Umbraco.Web.Trees
|
||||
/// <summary>
|
||||
/// Tree for displaying partial views in the settings app
|
||||
/// </summary>
|
||||
[Tree(Constants.Applications.Settings, "partialViews", "Partial Views", sortOrder: 2)]
|
||||
[Tree(Constants.Applications.Settings, "partialViews", null, sortOrder: 2)]
|
||||
public class PartialViewsTree : FileSystemTree
|
||||
{
|
||||
public PartialViewsTree(string application) : base(application) { }
|
||||
|
||||
@@ -21,7 +21,7 @@ namespace Umbraco.Web.Trees
|
||||
{
|
||||
[UmbracoTreeAuthorize(Constants.Trees.Templates)]
|
||||
[LegacyBaseTree(typeof (loadTemplates))]
|
||||
[Tree(Constants.Applications.Settings, Constants.Trees.Templates, "Templates", sortOrder:1)]
|
||||
[Tree(Constants.Applications.Settings, Constants.Trees.Templates, null, sortOrder:1)]
|
||||
[PluginController("UmbracoTrees")]
|
||||
[CoreTree]
|
||||
public class TemplatesTreeController : TreeController
|
||||
|
||||
@@ -89,7 +89,7 @@ namespace umbraco
|
||||
/// <param name="rootNode">the 'Relation Types' root node</param>
|
||||
protected override void CreateRootNode(ref XmlTreeNode rootNode)
|
||||
{
|
||||
rootNode.Text = "Relation Types";
|
||||
//rootNode.Text = "Relation Types";
|
||||
rootNode.Icon = BaseTree.FolderIcon;
|
||||
rootNode.OpenIcon = BaseTree.FolderIconOpen;
|
||||
rootNode.NodeType = this.TreeAlias; // (Was prefixed with init)
|
||||
|
||||
@@ -118,7 +118,7 @@
|
||||
<tr>
|
||||
<td>
|
||||
<strong style="color: Red;">Remember:</strong> .xslt and .ascx files for your macros
|
||||
will be added automaticly, but you will still need to add <strong>assemblies</strong>,
|
||||
will be added automatically, but you will still need to add <strong>assemblies</strong>,
|
||||
<strong>images</strong> and <strong>script files</strong> manually to the list below.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
Reference in New Issue
Block a user