On Sun, Jan 16, 2011 at 6:20 PM, Afkham Azeez <[email protected]> wrote:

> I think all this can be replaced with a simple regex match which will
> filter out illegal domain names
>
> +1. That's how it is done in tenant.mgt BE. Wonder why it was written this
way in the FE (register.ui and mgt.ui). Will do the needed fixes, as I am
already in the process of refactoring the above modules of tenant-mgt.

Regards,
Pradeeban.


> On Sun, Jan 16, 2011 at 6:08 PM, Afkham Azeez <[email protected]> wrote:
>
>>
>>
>> On Sun, Jan 16, 2011 at 4:16 PM, <[email protected]> wrote:
>>
>>> Author: pradeeban
>>> Date: Sun Jan 16 02:46:02 2011
>>> New Revision: 85379
>>> URL: http://wso2.org/svn/browse/wso2?view=rev&revision=85379
>>>
>>> Log:
>>> Check the validity of the domain when adding a new tenant by the
>>> super-admin.
>>>
>>>
>>> Modified:
>>>
>>> trunk/stratos/components/tenant-mgt/org.wso2.stratos.tenant.mgt.ui/src/main/resources/web/tenant-mgt/js/tenant_config.js
>>>
>>> Modified:
>>> trunk/stratos/components/tenant-mgt/org.wso2.stratos.tenant.mgt.ui/src/main/resources/web/tenant-mgt/js/tenant_config.js
>>> URL:
>>> http://wso2.org/svn/browse/wso2/trunk/stratos/components/tenant-mgt/org.wso2.stratos.tenant.mgt.ui/src/main/resources/web/tenant-mgt/js/tenant_config.js?rev=85379&r1=85378&r2=85379&view=diff
>>>
>>> ==============================================================================
>>> ---
>>> trunk/stratos/components/tenant-mgt/org.wso2.stratos.tenant.mgt.ui/src/main/resources/web/tenant-mgt/js/tenant_config.js
>>>    (original)
>>> +++
>>> trunk/stratos/components/tenant-mgt/org.wso2.stratos.tenant.mgt.ui/src/main/resources/web/tenant-mgt/js/tenant_config.js
>>>    Sun Jan 16 02:46:02 2011
>>> @@ -1,15 +1,33 @@
>>>  function addTenant(isUpdating) {
>>>     var reason = "";
>>>     var addTenantForm = document.getElementById('addTenantForm');
>>> -    var adminPassword = "";
>>> -    var adminPasswordRepeat = "";
>>> +    var adminPassword = document.getElementById('admin-password');
>>> +    var adminPasswordRepeat =
>>> document.getElementById('admin-password-repeat');
>>> +    var email = document.getElementById('admin-email');
>>>     var firstname = document.getElementById('admin-firstname');
>>>     var lastname = document.getElementById('admin-lastname');
>>> -    adminPassword = document.getElementById('admin-password');
>>> -    adminPasswordRepeat =
>>> document.getElementById('admin-password-repeat');
>>> -    var email = document.getElementById('admin-email');
>>>
>>> -    if (!isUpdating) {
>>> +    if (isUpdating) {
>>> +        // only the given values will be updated, so no need to fill all
>>> the values.
>>> +        if (reason == "") {
>>> +            reason += validateEmpty(firstname, "First Name");
>>> +        }
>>> +        if (reason == "") {
>>> +            reason += validateIllegal(firstname, "First Name");
>>> +        }
>>> +        if (reason == "") {
>>> +            reason += validateEmpty(lastname, "Last Name");
>>> +        }
>>> +        if (reason == "") {
>>> +            reason += validateIllegal(lastname, "Last Name");
>>> +        }
>>> +        if (adminPassword.value != null && adminPassword.value != "") {
>>> +            if (adminPassword.value != adminPasswordRepeat.value) {
>>> +                reason += jsi18n["password.mismatched"];
>>> +            }
>>> +        }
>>> +    }
>>> +    else {
>>>         var domain = document.getElementById('domain');
>>>         var adminName = document.getElementById('admin');
>>>         if (reason == "") {
>>> @@ -19,50 +37,52 @@
>>>             reason += validateDomain(domain);
>>>         }
>>>         if (reason == "") {
>>> -            reason += validateEmpty(adminName, "AdminName");
>>> +            reason += checkDomain(domain);
>>> +        }
>>> +        if (reason == "") {
>>> +            reason += validateEmpty(firstname, "First Name");
>>> +        }
>>> +        if (reason == "") {
>>> +            reason += validateIllegal(firstname, "First Name");
>>> +        }
>>> +        if (reason == "") {
>>> +            reason += validateEmpty(lastname, "Last Name");
>>> +        }
>>> +        if (reason == "") {
>>> +            reason += validateIllegal(lastname, "Last Name");
>>> +        }
>>> +        if (reason == "") {
>>> +            reason += validateEmpty(adminName, "Admin Name");
>>> +        }
>>> +        if (reason == "") {
>>> +            reason += validateIllegal(adminName, "Admin Name");
>>>         }
>>>         if (reason == "") {
>>>             reason += validateUsername(adminName);
>>>         }
>>> -    }
>>> -
>>> -    if (reason == "") {
>>> -        reason += validateEmpty(firstname, "First Name");
>>> -    }
>>> -    if (reason == "") {
>>> -        reason += validateIllegal(firstname, "First Name");
>>> -    }
>>> -    if (reason == "") {
>>> -        reason += validateEmpty(lastname, "Last Name");
>>> -    }
>>> -    if (reason == "") {
>>> -        reason += validateIllegal(lastname, "Last Name");
>>> -    }
>>> -    if (reason == "") {
>>> -        reason += validateIllegal(adminName, "AdminName");
>>> -    }
>>> -    if (reason == "") {
>>> -        reason += validateEmpty(adminPassword, "AdminPassword");
>>> -    }
>>> -    if (reason == "") {
>>> -        reason += validatePassword(adminPassword);
>>> -    }
>>> -    if (reason == "") {
>>> -        reason += validateEmpty(adminPasswordRepeat,
>>> "AdminPasswordRepeat");
>>> -    }
>>> -    if (reason == "") {
>>> -        reason += validateEmpty(email, "Mail");
>>> -    }
>>> -    if (reason == "") {
>>> -        reason += validateEmail(email);
>>> -    }
>>> -
>>> -    if (reason == "") {
>>> -        if (adminPassword.value != adminPasswordRepeat.value) {
>>> -            reason += jsi18n["password.mismatched"];
>>> +        if (reason == "") {
>>> +            reason += validateEmpty(adminPassword, "AdminPassword");
>>> +        }
>>> +        if (reason == "") {
>>> +            reason += validatePassword(adminPassword);
>>>         }
>>> -        if (adminPassword.value.length < 6) {
>>> -            reason += jsi18n["password.length"];
>>> +        if (reason == "") {
>>> +            reason += validateEmpty(adminPasswordRepeat,
>>> "AdminPasswordRepeat");
>>> +        }
>>> +        if (reason == "") {
>>> +            reason += validateEmpty(email, "Email");
>>> +        }
>>> +        if (reason == "") {
>>> +            reason += validateEmail(email);
>>> +        }
>>> +
>>> +        if (reason == "") {
>>> +            if (adminPassword.value != adminPasswordRepeat.value) {
>>> +                reason += jsi18n["password.mismatched"];
>>> +            }
>>> +            if (adminPassword.value.length < 6) {
>>> +                reason += jsi18n["password.length"];
>>> +            }
>>>         }
>>>     }
>>>     if (reason != "") {
>>> @@ -75,10 +95,12 @@
>>>  function showsuccessregistermessage() {
>>>
>>
>> you should have proper camel casing in Javascript too.
>>
>>
>>>     var message = "You have registered the Organization Successfully";
>>>     CARBON.showInfoDialog(message);
>>> +    return;
>>>  }
>>>  function showsuccessupdatemessage() {
>>>     var message = "Your changes saved Successfully!";
>>>     CARBON.showInfoDialog(message);
>>> +    return;
>>>  }
>>>  function activationChanged(cbox, domain) {
>>>     if (!cbox.checked) {
>>> @@ -129,4 +151,52 @@
>>>     }
>>>
>>>     return error;
>>> +}
>>> +
>>> +function checkDomain(nname) {
>>> +
>>> +    var error = "";
>>> +    var mai = nname.value;
>>> +
>>> +    var val = true;
>>> +    var dot = mai.lastIndexOf(".");
>>> +    var dname = mai.substring(0, dot);
>>> +    var ext = mai.substring(dot, mai.length);
>>> +
>>> +    if (ext.indexOf("-trial") >= 0 || ext.indexOf("-unverified") >= 0) {
>>> +        // we are not allowing to create a domain with -trial or
>>> -unverified is in the extension
>>> +        return "The domain name you entered is not valid. Please enter a
>>> valid domain name.";
>>> +    }
>>> +
>>> +    if (ext.indexOf("/") >= 0 || ext.indexOf("\\") >= 0) {
>>> +        return "The '/' and '\\' is not allowed in a domain name";
>>> +    }
>>> +
>>> +    if (dot > 0 && dot < 57) {
>>>
>>
>> What is this 57?
>>
>>
>>> +        if (!val) {
>>> +            error = "Your domain extension " + ext + " is not correct";
>>> +            return error;
>>> +        }
>>> +        else {
>>> +            for (var j = 0; j < dname.length; j++) {
>>> +                var dh = dname.charAt(j);
>>> +                var hh = dh.charCodeAt(0);
>>> +                if ((hh > 47 && hh < 59) || (hh > 64 && hh < 91) || (hh
>>> > 96 && hh < 123) ||
>>> +                    hh == 45 || hh == 46) {
>>> +                    if ((j == 0 || j == dname.length - 1) && hh == 45) {
>>>
>>
>> What are all these magic numbers?
>>
>>
>>> +                        error = "Domain name should not begin and end
>>> with '-'";
>>> +                        return error;
>>> +                    }
>>> +                } else {
>>> +                    error = "Your domain name should not have special
>>> characters";
>>> +                    return error;
>>> +                }
>>> +            }
>>> +        }
>>> +    }
>>> +    else {
>>> +        error = "Your Domain name is too short/long or you should have
>>> an extension to your domain.";
>>> +        return error;
>>> +    }
>>> +    return error;
>>>  }
>>> \ No newline at end of file
>>> _______________________________________________
>>> Carbon-commits mailing list
>>> [email protected]
>>> https://wso2.org/cgi-bin/mailman/listinfo/carbon-commits
>>>
>>
>>
>>
>> --
>> *Afkham Azeez*
>> Senior Software Architect & Senior Manager; WSO2, Inc.; http://wso2.com,
>> *
>> *
>> *Member; Apache Software Foundation; 
>> **http://www.apache.org/*<http://www.apache.org/>
>> *
>> email: **[email protected]* <[email protected]>* cell: +94 77 3320919
>> blog: **http://blog.afkham.org* <http://blog.afkham.org>*
>> twitter: **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez>
>> *
>> linked-in: **http://lk.linkedin.com/in/afkhamazeez*
>> *
>> *
>> *Lean . Enterprise . Middleware*
>>
>>
>
>
> --
> *Afkham Azeez*
> Senior Software Architect & Senior Manager; WSO2, Inc.; http://wso2.com,
> *
> *
> *Member; Apache Software Foundation; 
> **http://www.apache.org/*<http://www.apache.org/>
> *
> email: **[email protected]* <[email protected]>* cell: +94 77 3320919
> blog: **http://blog.afkham.org* <http://blog.afkham.org>*
> twitter: **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez>
> *
> linked-in: **http://lk.linkedin.com/in/afkhamazeez*
> *
> *
> *Lean . Enterprise . Middleware*
>
>


-- 
Kathiravelu Pradeeban.
Software Engineer.
WSO2 Inc.

Blog: [Llovizna] http://kkpradeeban.blogspot.com/
_______________________________________________
Carbon-dev mailing list
[email protected]
https://wso2.org/cgi-bin/mailman/listinfo/carbon-dev

Reply via email to