Wednesday, 18 April 2018

SMTP CONFIGURATION USING EXT PROPERTIES

Step 1 - Inside server portal-ext.properties add this

mail.session.mail.imap.host=192.99.42.143
mail.session.mail.pop3.host=192.99.42.143
mail.session.mail.smtp.auth=true
mail.session.mail.smtp.host=smtp.gmail.com
mail.session.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
mail.session.mail.smtp.socketFactory.fallback=false
mail.session.mail.smtp.socketFactory.port=465
mail.session.mail.smtp.starttls.enable=true
mail.session.mail.smtp.password=muhammedsaleem
mail.session.mail.smtp.port=465
mail.session.mail.smtp.user=callsaleem@gmail.com
mail.session.mail.store.protocol=imap
mail.session.mail.transport.protocol=smtp


Step 2 - Restart the server

Step 3 - Open build.gradle

Add this line:  compile 'javax.mail:mail:1.4.7'


Step - 4 Create Send mail method in controller

public void sendMailWithPlainText() {
InternetAddress fromAddress = null;
InternetAddress toAddress = null;
try {
    fromAddress = new InternetAddress("xyz@gmail.com");
    toAddress = new InternetAddress("abc@gmail.com");
    MailMessage mailMessage = new MailMessage();
    mailMessage.setTo(toAddress);
    mailMessage.setFrom(fromAddress);
    mailMessage.setSubject("Your Bill is claimed successfully");
    mailMessage.setBody("Hi,<br>Your content<br><br>Best Regards,<br>Mufas");
    mailMessage.setHTMLFormat(true);
    MailServiceUtil.sendEmail(mailMessage);
    System.out.println("Send mail with Plain Text");
} catch (AddressException e) {
    e.printStackTrace();
}
}

Step -5 : Call the send mail method 

sendMailWithPlainText()

Friday, 13 April 2018

Aui Auto Field

<aui:input name="skills" type="textarea" label="skills" >
                <aui:validator name="required" />
            </aui:input>

<aui:script use="autocomplete-list,aui-base,autocomplete-filters,autocomplete-highlighters">

   var skills = [
           {"name":"Java"},
          {"name":"Alfresco"},
           {"name":"HTML"},
           {"name":"C++"},
           {"name":"Liferay"},
           {"name":"Python"},
           {"name":"C"},
           {"name":"SQL"},
           {"name":"JavaScript"},
           {"name":"C#"},
           {"name":"PHP"},
           {"name":"CSS"},
           {"name":"Bootstrap"},
           {"name":"jQuery"},
           {"name":"AngularJS"},
           {"name":"AJAX"}
         ];
   new A.AutoCompleteList(
       {
        allowBrowserAutocomplete: 'false',
        activateFirstItem: 'true',
        inputNode: '#<portlet:namespace/>skills',
        resultTextLocator: 'name',
        resultHighlighter:'phraseMatch',
        resultFilters: ['startsWith'],
        minQueryLength: 1,
        maxResults: 10,
        queryDelimiter : ',',
        render: 'true',
        source:skills
   }); 
</aui:script>

Monday, 26 March 2018

Aui validation for Pancard & Passport & Aadhar Validations

1] Remove Aui type submit
2] Inside input Add Class
<p id="id"></p>

<aui:button value="Save"  onClick="submitFormsss();"/>

<script type="text/javascript">
   function submitFormsss() {
   var panVal = $('.panNumber').val();
   var passVal = $('.passNumber').val();
   var aadharVal = $('.aadhar').val();
   var regpan = /^([a-zA-Z]){5}([0-9]){4}([a-zA-Z]){1}?$/;
   var regpassport = /^([a-zA-Z]){1}([0-9]){7}?$/;
   var regaadhar = /^([0-9]){12}?$/;
 
   if(regpan.test(panVal) && regpassport.test(passVal) && regaadhar.test(aadharVal)){
       document.<portlet:namespace />fm.submit();
   }else if(!regpan.test(panVal)){
       alert("Please enter valid Pan number")
       document.getElementById("pan").innerHTML = "Please Provide Valid Pan Number";
   }else if(!regpassport.test(passVal)){
   document.getElementById("pass").innerHTML = "Please Provide Valid Passport Number";
   }else if(!regaadhar.test(aadharVal)){
   document.getElementById("aadhar").innerHTML = "Please Provide Valid Aadhar Number";
   }
   }
</script>

Monday, 12 March 2018

How to Embed portlet in liferay theme

Liferay 7

<@liferay_portlet["runtime"]
portletName="my_custom_portlet_WAR_mycustomportlet"
/> 



Liferay 6.2

$theme.runtime("bottomlink_WAR_EKHUBportlet")

Sunday, 11 March 2018

Adding a Plugins Portlet to the Control Panel

Step 1:Specify where the portlet will appear in Control Panel
Open your liferay-portlet.xml. Add the below tags after <icon> tag

<control-panel-entry-category>apps</control-panel-entry-category>
<control-panel-entry-weight>0</control-panel-entry-weight>
 
 
Note 1: In the above code the line <control-panel-entry-category>apps</control-panel-entry-category> says where our portlet will appear in the Control Panel.  
 
Note 2: The Tag <control-panel-entry-weight> represents location vertically in the given category. According to our code Book Portlet will appear at first position in apps category. 
 
Step 2:Make the portlet hidden
In this step we put the portlet in hidden category so that it's not available anywhere other than Control Panel. This is done by modifying liferay-display.xml. For example.
 
<display>
<category name="category.hidden">
<portlet id="book-portlet" />
</category>
</display>
 
That's it. Now your portlet available in Control Panel
 
 
 
 
 
 




Tuesday, 28 November 2017

AM PM convert to preferred language

jquery_var(".am_pm").html(function(i,str){ 
if(str.indexOf('AM') > 0){           
return str.replace('AM',Liferay.Language.get("AM")); 

    if(str.indexOf('PM') > 0){ 
        return str.replace('PM',Liferay.Language.get("PM")); 
    } 
});

Tuesday, 17 October 2017

Disable mouse right click

Professional Way

$(document).keydown(function(event){
    if(event.keyCode==123){
        return false;
    }
    else if (event.ctrlKey && event.shiftKey && event.keyCode==73){        
             return false;
    }
});

$(document).on("contextmenu",function(e){        
   e.preventDefault();
});


It's unprofessional

document.oncontextmenu = document.body.oncontextmenu = function() {return false;}