Implements U4-1022: Request: Disable Canvas mode by default
This commit is contained in:
@@ -87,7 +87,7 @@ namespace umbraco
|
||||
allowedRootActions.Add(ActionSort.Instance);
|
||||
List<IAction> allowedMenu = GetUserAllowedActions(allowedRootActions, nodeActions);
|
||||
actions.AddRange(allowedMenu);
|
||||
if (allowedMenu.Count > 0 )
|
||||
if (allowedMenu.Count > 0)
|
||||
actions.Add(ContextMenuSeperator.Instance);
|
||||
|
||||
// default actions for all users
|
||||
@@ -102,7 +102,10 @@ namespace umbraco
|
||||
{
|
||||
actions.Clear();
|
||||
actions.Add(ActionNew.Instance);
|
||||
actions.Add(ActionLiveEdit.Instance);
|
||||
if (UmbracoSettings.EnableCanvasEditing)
|
||||
{
|
||||
actions.Add(ActionLiveEdit.Instance);
|
||||
}
|
||||
actions.Add(ContextMenuSeperator.Instance);
|
||||
actions.Add(ActionDelete.Instance);
|
||||
actions.Add(ContextMenuSeperator.Instance);
|
||||
@@ -124,7 +127,7 @@ namespace umbraco
|
||||
actions.Add(ActionNotify.Instance);
|
||||
actions.Add(ActionSendToTranslate.Instance);
|
||||
actions.Add(ContextMenuSeperator.Instance);
|
||||
actions.Add(ActionRefresh.Instance);
|
||||
actions.Add(ActionRefresh.Instance);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -147,7 +150,7 @@ namespace umbraco
|
||||
}
|
||||
else
|
||||
{
|
||||
rootNode = CreateNode(doc, RootNodeActions);
|
||||
rootNode = CreateNode(doc, RootNodeActions);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using umbraco.BasePages;
|
||||
using umbraco.businesslogic.Exceptions;
|
||||
|
||||
namespace umbraco.presentation
|
||||
{
|
||||
@@ -7,7 +8,7 @@ namespace umbraco.presentation
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (base.getUser() != null)
|
||||
if ((UmbracoSettings.EnableCanvasEditing || !String.IsNullOrEmpty(UmbracoContext.Current.Request["umbSkinning"]) ) && base.getUser() != null)
|
||||
{
|
||||
UmbracoContext.Current.LiveEditingContext.Enabled = true;
|
||||
|
||||
@@ -20,6 +21,9 @@ namespace umbraco.presentation
|
||||
Response.Redirect(redirUrl +
|
||||
(string.IsNullOrEmpty(UmbracoContext.Current.Request["umbSkinning"]) ? "" : "?umbSkinning=true") + (string.IsNullOrEmpty(UmbracoContext.Current.Request["umbSkinningConfigurator"]) ? "" : "&umbSkinningConfigurator=true"), true);
|
||||
}
|
||||
else if (!UmbracoSettings.EnableCanvasEditing)
|
||||
throw new UserAuthorizationException(
|
||||
"Canvas editing isn't enabled. It can be enabled via the UmbracoSettings.config");
|
||||
else
|
||||
{
|
||||
throw new Exception("User not logged in");
|
||||
|
||||
@@ -25,18 +25,18 @@ namespace umbraco.cms.presentation
|
||||
{
|
||||
protected umbWindow treeWindow;
|
||||
|
||||
protected override void OnLoad(EventArgs e)
|
||||
{
|
||||
base.OnLoad(e);
|
||||
ClientLoader.DataBind();
|
||||
protected override void OnLoad(EventArgs e)
|
||||
{
|
||||
base.OnLoad(e);
|
||||
ClientLoader.DataBind();
|
||||
|
||||
// validate redirect url
|
||||
string redirUrl = Request["redir"];
|
||||
string redirUrl = Request["redir"];
|
||||
if (!String.IsNullOrEmpty(redirUrl))
|
||||
{
|
||||
validateRedirectUrl(redirUrl);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected override void OnPreRender(EventArgs e)
|
||||
@@ -90,7 +90,7 @@ namespace umbraco.cms.presentation
|
||||
doLogin(u);
|
||||
|
||||
// Check if the user should be redirected to live editing
|
||||
if (u.DefaultToLiveEditing)
|
||||
if (UmbracoSettings.EnableCanvasEditing && u.DefaultToLiveEditing)
|
||||
{
|
||||
int startNode = u.StartNodeId;
|
||||
// If the startnode is -1 (access to all content), we'll redirect to the top root node
|
||||
@@ -110,6 +110,11 @@ namespace umbraco.cms.presentation
|
||||
string redir = String.Format("{0}/canvas.aspx?redir=/{1}.aspx", SystemDirectories.Umbraco, startNode);
|
||||
Response.Redirect(redir, true);
|
||||
}
|
||||
else if (u.DefaultToLiveEditing)
|
||||
{
|
||||
throw new UserAuthorizationException(
|
||||
"Canvas editing isn't enabled. It can be enabled via the UmbracoSettings.config");
|
||||
}
|
||||
|
||||
if (hf_height.Value != "undefined")
|
||||
{
|
||||
@@ -126,7 +131,8 @@ namespace umbraco.cms.presentation
|
||||
Response.Redirect(redirUrl, true);
|
||||
}
|
||||
}
|
||||
else {
|
||||
else
|
||||
{
|
||||
loginError.Visible = true;
|
||||
}
|
||||
}
|
||||
@@ -158,7 +164,7 @@ namespace umbraco.cms.presentation
|
||||
return String.Equals(HttpContext.Current.Request.Url.Host, absoluteUri.Host,
|
||||
StringComparison.OrdinalIgnoreCase);
|
||||
}
|
||||
|
||||
|
||||
bool isLocal = !url.StartsWith("http:", StringComparison.OrdinalIgnoreCase)
|
||||
&& !url.StartsWith("https:", StringComparison.OrdinalIgnoreCase)
|
||||
&& Uri.IsWellFormedUriString(url, UriKind.Relative);
|
||||
|
||||
@@ -77,6 +77,9 @@ namespace umbraco.cms.presentation.user
|
||||
throw new Exception("Admin users can only be edited by admins");
|
||||
}
|
||||
|
||||
// check if canvas editing is enabled
|
||||
DefaultToLiveEditing.Visible = UmbracoSettings.EnableCanvasEditing;
|
||||
|
||||
// Populate usertype list
|
||||
foreach (UserType ut in UserType.getAll)
|
||||
{
|
||||
@@ -152,7 +155,10 @@ namespace umbraco.cms.presentation.user
|
||||
|
||||
//Generel umrbaco access
|
||||
Pane ppAccess = new Pane();
|
||||
ppAccess.addProperty(ui.Text("user", "defaultToLiveEditing", base.getUser()), DefaultToLiveEditing);
|
||||
if (UmbracoSettings.EnableCanvasEditing)
|
||||
{
|
||||
ppAccess.addProperty(ui.Text("user", "defaultToLiveEditing", base.getUser()), DefaultToLiveEditing);
|
||||
}
|
||||
ppAccess.addProperty(ui.Text("user", "noConsole", base.getUser()), NoConsole);
|
||||
ppAccess.addProperty(ui.Text("user", "disabled", base.getUser()), Disabled);
|
||||
|
||||
@@ -183,13 +189,14 @@ namespace umbraco.cms.presentation.user
|
||||
setupForm();
|
||||
setupChannel();
|
||||
|
||||
ClientTools
|
||||
.SetActiveTreeType(TreeDefinitionCollection.Instance.FindTree<loadUsers>().Tree.Alias)
|
||||
ClientTools
|
||||
.SetActiveTreeType(TreeDefinitionCollection.Instance.FindTree<loadUsers>().Tree.Alias)
|
||||
.SyncTree(UID.ToString(), IsPostBack);
|
||||
}
|
||||
|
||||
|
||||
void sectionValidator_ServerValidate(object source, ServerValidateEventArgs args) {
|
||||
void sectionValidator_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
args.IsValid = false;
|
||||
|
||||
if (lapps.SelectedIndex >= 0)
|
||||
@@ -382,20 +389,24 @@ namespace umbraco.cms.presentation.user
|
||||
/// <param name="e">The <see cref="System.Web.UI.ImageClickEventArgs"/> instance containing the event data.</param>
|
||||
private void saveUser_Click(object sender, ImageClickEventArgs e)
|
||||
{
|
||||
if (base.IsValid) {
|
||||
try {
|
||||
if (base.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
MembershipUser user = Membership.Providers[UmbracoSettings.DefaultBackofficeProvider].GetUser(u.LoginName, true);
|
||||
|
||||
|
||||
string tempPassword = ((controls.passwordChanger)passw.Controls[0]).Password;
|
||||
if (!string.IsNullOrEmpty(tempPassword.Trim())) {
|
||||
if (!string.IsNullOrEmpty(tempPassword.Trim()))
|
||||
{
|
||||
// make sure password is not empty
|
||||
if (string.IsNullOrEmpty(u.Password)) u.Password = "default";
|
||||
user.ChangePassword(u.Password, tempPassword);
|
||||
}
|
||||
|
||||
// Is it using the default membership provider
|
||||
if (Membership.Providers[UmbracoSettings.DefaultBackofficeProvider] is UsersMembershipProvider) {
|
||||
if (Membership.Providers[UmbracoSettings.DefaultBackofficeProvider] is UsersMembershipProvider)
|
||||
{
|
||||
// Save user in membership provider
|
||||
UsersMembershipUser umbracoUser = user as UsersMembershipUser;
|
||||
umbracoUser.FullName = uname.Text.Trim();
|
||||
@@ -406,7 +417,9 @@ namespace umbraco.cms.presentation.user
|
||||
// Save user details
|
||||
u.Email = email.Text.Trim();
|
||||
u.Language = userLanguage.SelectedValue;
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
u.Name = uname.Text.Trim();
|
||||
u.Language = userLanguage.SelectedValue;
|
||||
u.UserType = UserType.GetUserType(int.Parse(userType.SelectedValue));
|
||||
@@ -417,11 +430,11 @@ namespace umbraco.cms.presentation.user
|
||||
u.LoginName = lname.Text;
|
||||
//u.StartNodeId = int.Parse(startNode.Value);
|
||||
|
||||
|
||||
|
||||
int startNode;
|
||||
if(!int.TryParse(contentPicker.Value, out startNode))
|
||||
if (!int.TryParse(contentPicker.Value, out startNode))
|
||||
{
|
||||
//set to default if nothing is choosen
|
||||
//set to default if nothing is choosen
|
||||
if (u.StartNodeId > 0)
|
||||
startNode = u.StartNodeId;
|
||||
else
|
||||
@@ -449,18 +462,23 @@ namespace umbraco.cms.presentation.user
|
||||
|
||||
u.clearApplications();
|
||||
|
||||
foreach (ListItem li in lapps.Items) {
|
||||
foreach (ListItem li in lapps.Items)
|
||||
{
|
||||
if (li.Selected) u.addApplication(li.Value);
|
||||
}
|
||||
|
||||
u.Save();
|
||||
|
||||
// save data
|
||||
if (cName.Text != "") {
|
||||
if (cName.Text != "")
|
||||
{
|
||||
Channel c;
|
||||
try {
|
||||
try
|
||||
{
|
||||
c = new Channel(u.Id);
|
||||
} catch {
|
||||
}
|
||||
catch
|
||||
{
|
||||
c = new Channel();
|
||||
c.User = u;
|
||||
}
|
||||
@@ -484,11 +502,15 @@ namespace umbraco.cms.presentation.user
|
||||
}
|
||||
|
||||
speechBubble(speechBubbleIcon.save, ui.Text("speechBubbles", "editUserSaved", base.getUser()), "");
|
||||
} catch (Exception ex) {
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
speechBubble(speechBubbleIcon.error, ui.Text("speechBubbles", "editUserError", base.getUser()), "");
|
||||
Log.Add(LogTypes.Error, 0, ex.Message);
|
||||
}
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
speechBubble(speechBubbleIcon.error, ui.Text("speechBubbles", "editUserError", base.getUser()), "");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user