Don't do postback for check of IDN domain name. Prohibit wrong use and show error

This commit is contained in:
Olov Karlsson 2014-12-25 23:22:53 +01:00
parent 47f2c512b4
commit cf749150c0
5 changed files with 48 additions and 22 deletions

View file

@ -5620,5 +5620,10 @@
<data name="SchedulerTask.SCHEDULE_TASK_DOMAIN_EXPIRATION" xml:space="preserve">
<value>Check domain expiration date</value>
</data>
<data name="ERROR.IDNDOMAIN_NO_MAIL" xml:space="preserve">
<value>You cannot use a IDN domain name for mail</value>
</data>
<data name="ERROR.IDNDOMAIN_NO_ORGANIZATION" xml:space="preserve">
<value>You cannot use a IDN domain name for organizations</value>
</data>
</root>

View file

@ -10,12 +10,8 @@
<div class="FormBody">
<p id="DomainPanel" runat="server" style="padding: 15px 0 15px 5px;">
<wsp:DomainControl ID="DomainName" runat="server" RequiredEnabled="True" ValidationGroup="Domain" AutoPostBack="True" OnTextChanged="DomainName_TextChanged"></wsp:DomainControl>
<wsp:DomainControl ID="DomainName" runat="server" RequiredEnabled="True" ValidationGroup="Domain" OnTextChanged="DomainName_TextChanged"></wsp:DomainControl>
</p>
<%--
<p id="SubDomainPanel" runat="server" style="padding: 15px 0 15px 5px;" visible="false">
<wsp:DomainControl ID="SubDomainName" runat="server" RequiredEnabled="True" IsSubDomain="True" ValidationGroup="Domain"></wsp:DomainControl>
</p>--%>
<wsp:CollapsiblePanel id="OptionsPanelHeader" runat="server"
TargetControlID="OptionsPanel" resourcekey="OptionsPanelHeader" Text="Provisioning options">

View file

@ -260,15 +260,27 @@ namespace WebsitePanel.Portal
}
protected void btnAdd_Click(object sender, EventArgs e)
{
AddDomain();
if (CheckForCorrectIdnDomainUsage(DomainName.Text))
{
AddDomain();
}
}
private bool CheckForCorrectIdnDomainUsage(string domainName)
{
// If the choosen domain is a idn domain, don't allow to create mail
if (Utils.IsIdnDomain(domainName) && PointMailDomain.Checked)
{
ShowErrorMessage("IDNDOMAIN_NO_MAIL");
return false;
}
return true;
}
protected void DomainName_TextChanged(object sender, DomainControl.DomainNameEventArgs e)
{
// If the choosen domain is a idn domain, don't allow to create mail
var isIdn = Utils.IsIdnDomain(e.DomainName);
PointMailDomainPanel.Enabled = !isIdn;
PointMailDomain.Checked = !isIdn;
CheckForCorrectIdnDomainUsage(e.DomainName);
}
}
}

View file

@ -73,7 +73,7 @@
<asp:Localize ID="locDomainName" runat="server" meta:resourcekey="locDomainName" Text="Domain name:"></asp:Localize>
</td>
<td class="Normal" width="100%">
<wsp:DomainControl ID="txtDomainName" runat="server" RequiredEnabled="True" ValidationGroup="CreateSpace" AutoPostBack="True" OnTextChanged="txtDomainName_OnTextChanged"></wsp:DomainControl>
<wsp:DomainControl ID="txtDomainName" runat="server" RequiredEnabled="True" ValidationGroup="CreateSpace" OnTextChanged="txtDomainName_OnTextChanged"></wsp:DomainControl>
</td>
</tr>
</table>

View file

@ -250,7 +250,10 @@ namespace WebsitePanel.Portal
protected void btnCreate_Click(object sender, EventArgs e)
{
CreateHostingSpace();
if (CheckForCorrectIdnDomainUsage())
{
CreateHostingSpace();
}
}
protected void rbFtpAccountName_SelectedIndexChanged(object sender, EventArgs e)
@ -268,19 +271,29 @@ namespace WebsitePanel.Portal
BindHostingPlan();
}
protected void txtDomainName_OnTextChanged(object sender, DomainControl.DomainNameEventArgs e)
private bool CheckForCorrectIdnDomainUsage()
{
if (Utils.IsIdnDomain(txtDomainName.Text))
{
fsMail.Disabled = true;
chkIntegratedOUProvisioning.Checked = false;
chkIntegratedOUProvisioning.Enabled = false;
}
else
{
fsMail.Disabled = false;
BindHostingPlan();
if (chkIntegratedOUProvisioning.Checked)
{
ShowErrorMessage("IDNDOMAIN_NO_ORGANIZATION");
return false;
}
if (chkCreateMailAccount.Checked)
{
ShowErrorMessage("IDNDOMAIN_NO_MAIL");
return false;
}
}
return true;
}
protected void txtDomainName_OnTextChanged(object sender, DomainControl.DomainNameEventArgs e)
{
CheckForCorrectIdnDomainUsage();
}
}
}