Fixed the issues discussed above. We should pay a great attention to the front end files (js, jsp, ..) too, like we do with the java classes, regarding the code styles and best practices. I noticed many similar issues in the tenant-mgt module and will fix them sooner.
Thank you. Regards, Pradeeban. On Sun, Jan 16, 2011 at 6:28 PM, Kathiravelu Pradeeban <[email protected]>wrote: > > > 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/ > > -- 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
