Merge branch 'U4-205' of git://github.com/sniffdk/Umbraco-CMS into sniffdk-U4-205

This commit is contained in:
Claus
2016-10-20 12:53:44 +02:00
5 changed files with 84 additions and 7 deletions

View File

@@ -304,8 +304,16 @@
<key alias="selectEditor">Vælg editor</key>
</area>
<area alias="dictionaryItem">
<key alias="description">Rediger de forskellige sprogversioner for ordbogselementet '%0%' herunder. Du tilføjer flere sprog under 'sprog' i menuen til venstre </key>
<key alias="description"><![CDATA[
Rediger de forskellige sprogversioner for ordbogselementet '%0%' herunder.<br />Du tilføjer flere sprog under 'sprog' i menuen til venstre </key>
]]></key>
<key alias="displayName">Kulturnavn</key>
<key alias="changeKey">Her kan du ændre nøglen på ordbogselementet.</key>
<key alias="changeKeyError">
<![CDATA[
Nøglen '%0%' eksisterer allerede.
]]>
</key>
</area>
<area alias="placeholders">
<key alias="username">Indtast dit brugernavn</key>

View File

@@ -327,6 +327,12 @@
Edit the different language versions for the dictionary item '<em>%0%</em>' below<br/>You can add additional languages under the 'languages' in the menu on the left
]]></key>
<key alias="displayName">Culture Name</key>
<key alias="changeKey">Here you can change the key of the dictionary item.</key>
<key alias="changeKeyError">
<![CDATA[
The key '%0%' already exists.
]]>
</key>
</area>
<area alias="placeholders">
<key alias="username">Enter your username</key>

View File

@@ -328,6 +328,12 @@
Edit the different language versions for the dictionary item '<em>%0%</em>' below<br/>You can add additional languages under the 'languages' in the menu on the left
]]></key>
<key alias="displayName">Culture Name</key>
<key alias="changeKey">Here you can change the key of the dictionary item.</key>
<key alias="changeKeyError">
<![CDATA[
The key '%0%' already exists.
]]>
</key>
</area>
<area alias="placeholders">
<key alias="username">Enter your username</key>

View File

@@ -8,6 +8,8 @@ using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using umbraco.BusinessLogic;
using umbraco.cms.businesslogic;
using umbraco.cms.presentation.Trees;
using Umbraco.Core;
using Umbraco.Core.IO;
@@ -25,26 +27,30 @@ namespace umbraco.settings
protected uicontrols.TabView tbv = new uicontrols.TabView();
private System.Collections.ArrayList languageFields = new System.Collections.ArrayList();
private cms.businesslogic.Dictionary.DictionaryItem currentItem;
protected TextBox boxChangeKey;
protected Label labelChangeKey;
protected User currentUser;
protected void Page_Load(object sender, System.EventArgs e)
{
currentItem = new cms.businesslogic.Dictionary.DictionaryItem(int.Parse(Request.QueryString["id"]));
currentUser = getUser();
// Put user code to initialize the page here
Panel1.hasMenu = true;
Panel1.Text = ui.Text("editdictionary") + ": " + currentItem.key;
uicontrols.Pane p = new uicontrols.Pane();
var save = Panel1.Menu.NewButton();
var save = Panel1.Menu.NewButton();
save.Text = ui.Text("save");
save.Click += save_Click;
save.ToolTip = ui.Text("save");
save.ID = "save";
save.ButtonType = uicontrols.MenuButtonType.Primary;
uicontrols.Pane p = new uicontrols.Pane();
Literal txt = new Literal();
txt.Text = "<p>" + ui.Text("dictionaryItem", "description", currentItem.key, base.getUser()) + "</p><br/>";
txt.Text = "<p>" + ui.Text("dictionaryItem", "description", currentItem.key, currentUser) + "</p><br/>";
p.addProperty(txt);
foreach (cms.businesslogic.language.Language l in cms.businesslogic.language.Language.getAll)
@@ -63,7 +69,27 @@ namespace umbraco.settings
}
if (!IsPostBack)
boxChangeKey = new TextBox
{
ID = "changeKey-" + currentItem.id,
CssClass = "umbEditorTextField",
Text = currentItem.key
};
labelChangeKey = new Label
{
ID = "changeKeyLabel",
CssClass = "text-error"
};
p.addProperty(new Literal
{
Text = "<p>&nbsp;</p><p>" + ui.Text("dictionaryItem", "changeKey", currentUser) + "</p>"
});
p.addProperty(boxChangeKey);
p.addProperty(labelChangeKey);
if (!IsPostBack)
{
var path = BuildPath(currentItem);
ClientTools
@@ -71,7 +97,6 @@ namespace umbraco.settings
.SyncTree(path, false);
}
Panel1.Controls.Add(p);
}
@@ -92,8 +117,34 @@ namespace umbraco.settings
currentItem.setValue(int.Parse(t.ID),t.Text);
}
}
labelChangeKey.Text = ""; // reset error text
var newKey = boxChangeKey.Text;
if (string.IsNullOrWhiteSpace(newKey) == false && newKey != currentItem.key)
{
// key already exists, save but inform
if (Dictionary.DictionaryItem.hasKey(newKey) == true)
{
labelChangeKey.Text = ui.Text("dictionaryItem", "changeKeyError", newKey, currentUser);
boxChangeKey.Text = currentItem.key; // reset key
}
else
{
// set the new key
currentItem.setKey(newKey);
// update the title with the new key
Panel1.title.InnerHtml = ui.Text("editdictionary") + ": " + newKey;
// sync the content tree
var path = BuildPath(currentItem);
ClientTools.SyncTree(path, true);
}
}
ClientTools.ShowSpeechBubble(speechBubbleIcon.save, ui.Text("speechBubbles", "dictionaryItemSaved"), "");
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{

View File

@@ -169,6 +169,12 @@ namespace umbraco.cms.businesslogic
}
}
public void setKey(string value)
{
key = value;
Save();
}
public string Value(int languageId)
{
if (languageId == 0)