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"> <data name="SchedulerTask.SCHEDULE_TASK_DOMAIN_EXPIRATION" xml:space="preserve">
<value>Check domain expiration date</value> <value>Check domain expiration date</value>
</data> </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> </root>

View file

@ -10,12 +10,8 @@
<div class="FormBody"> <div class="FormBody">
<p id="DomainPanel" runat="server" style="padding: 15px 0 15px 5px;"> <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>
<%--
<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" <wsp:CollapsiblePanel id="OptionsPanelHeader" runat="server"
TargetControlID="OptionsPanel" resourcekey="OptionsPanelHeader" Text="Provisioning options"> TargetControlID="OptionsPanel" resourcekey="OptionsPanelHeader" Text="Provisioning options">

View file

@ -260,15 +260,27 @@ namespace WebsitePanel.Portal
} }
protected void btnAdd_Click(object sender, EventArgs e) 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) protected void DomainName_TextChanged(object sender, DomainControl.DomainNameEventArgs e)
{ {
// If the choosen domain is a idn domain, don't allow to create mail CheckForCorrectIdnDomainUsage(e.DomainName);
var isIdn = Utils.IsIdnDomain(e.DomainName);
PointMailDomainPanel.Enabled = !isIdn;
PointMailDomain.Checked = !isIdn;
} }
} }
} }

View file

@ -73,7 +73,7 @@
<asp:Localize ID="locDomainName" runat="server" meta:resourcekey="locDomainName" Text="Domain name:"></asp:Localize> <asp:Localize ID="locDomainName" runat="server" meta:resourcekey="locDomainName" Text="Domain name:"></asp:Localize>
</td> </td>
<td class="Normal" width="100%"> <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> </td>
</tr> </tr>
</table> </table>

View file

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