https://resources.docmosis.com/Documentation/Tornado/2.9.2/Tornado-Template-Guide.pdf
Mufas Liferay
There is no substitute of hard work & there is no shortcut to success
Sunday 4 June 2023
Tuesday 1 February 2022
JavaScript - Single Line IF ELSE
properties['Value'] = (IsItMuted === true) ? 'On' : 'Off';
The ? :
is called a ternary operator and acts just like an if
/else
when used in an expression
var testValue= (props.brtUser === 'No') ? 'Promote to User' : 'Demote to Contact';
Use this <p>{testValue}</p>
Friday 7 January 2022
What is OSGI?
OSGI Lifecycle
Since Liferay has adopted OSGI standards it is necessary for us to know basic's of OSGI.
OSGI-stands for Open Services Gateway initiative.
Basic OSGI Module Lifecycle
OSGI Lifecycle includes following states
- Installed
- Resolved
- Starting
- Active
- Stopping
- Uninstalled
1) Installed
The bundle has been installed into the OSGi container, but some required bundle dependencies is missing the bundle in this state can’t be start.
2) Resolved
When bundle is in resolved state means all the required
dependencies is available.And bundle is ready to be started.
3) Starting
Bundle is being started and BundleActivator.start() method is
executed.
Bundle with lazy activation policy stay in this state until one of
class file is loaded.It is state between resolved and active.
4) Active
The bundle is active and running.
5) Stopping
Bundle is being stopped & BundleActivator.stop() method is
executed.After stopping state is complete it again enters in to resolved state,Once enter in resolved state it can again started.
6) Uninstalled
Bundle has been removed from OSGI container.
Wednesday 23 May 2018
Birthday Portlet
<%
SimpleDateFormat formatter = new SimpleDateFormat("MMM dd");
List<EmployeeDetails> list = EmployeeDetailsLocalServiceUtil.getEmployeeDetailses(-1, -1);
List<EmployeeDetails> blist = new ArrayList<>();
Date date = new Date();
for(EmployeeDetails e : list){
Date dob = e.getDob();
if( dob.getDate() == date.getDate() && dob.getMonth() == date.getMonth()){
blist.add(e);
}
}
%>
<%if(blist.isEmpty()){%>
<b>There is no B day</b>
<%}else if(!list.isEmpty()){
for(EmployeeDetails emp : blist){%>
<%
FileEntry dlfileentry = DLAppServiceUtil.getFileEntry(emp.getFileEntryId());
String imageURL ="/documents/" + dlfileentry.getGroupId() + "/"
+ dlfileentry.getFolderId() + "/" + dlfileentry.getTitle()
+ "/" + dlfileentry.getUuid();
%>
<a href="<%=imageURL%>"><img src="<%=imageURL%>" alt="image" class="mmm"/></a>
<p class="bday nomargin"><%=emp.getEmployeename() %></p>
<b class="wish">Wish you happy B day</b>
<%String dates=formatter.format(emp.getDob()); %>
<p class="bday"><%=dates%></p>
<%} }%>
SimpleDateFormat formatter = new SimpleDateFormat("MMM dd");
List<EmployeeDetails> list = EmployeeDetailsLocalServiceUtil.getEmployeeDetailses(-1, -1);
List<EmployeeDetails> blist = new ArrayList<>();
Date date = new Date();
for(EmployeeDetails e : list){
Date dob = e.getDob();
if( dob.getDate() == date.getDate() && dob.getMonth() == date.getMonth()){
blist.add(e);
}
}
%>
<%if(blist.isEmpty()){%>
<b>There is no B day</b>
<%}else if(!list.isEmpty()){
for(EmployeeDetails emp : blist){%>
<%
FileEntry dlfileentry = DLAppServiceUtil.getFileEntry(emp.getFileEntryId());
String imageURL ="/documents/" + dlfileentry.getGroupId() + "/"
+ dlfileentry.getFolderId() + "/" + dlfileentry.getTitle()
+ "/" + dlfileentry.getUuid();
%>
<a href="<%=imageURL%>"><img src="<%=imageURL%>" alt="image" class="mmm"/></a>
<p class="bday nomargin"><%=emp.getEmployeename() %></p>
<b class="wish">Wish you happy B day</b>
<%String dates=formatter.format(emp.getDob()); %>
<p class="bday"><%=dates%></p>
<%} }%>
Search By User Name
In jsp
<%PortletURL userNameURL = renderResponse.createActionURL();
userNameURL.setParameter(ActionRequest.ACTION_NAME, "userfilter");%>
<%
List<Billclaim> bill = null;
if(request.getAttribute("fn") != null){
bill = (List<Billclaim>) request.getAttribute("fn");
}else{
bill = BillclaimLocalServiceUtil.getBillclaims(-1, -1);
}
%>
<aui:form method="POST" name="fm" action="<%=userNameURL.toString() %>" >
<aui:input type="text" label="" name="userName" placeholder="Search By User Name">
</aui:input>
<aui:button type="submit" value="Search"/>
</aui:form>
BillclaimLocalServiceImpl.java
public List<Billclaim> getUserName(String userName){
return billclaimPersistence.findByuserName(userName);
}
Controller
public void userfilter(ActionRequest actionRequest, ActionResponse actionResponse) throws IOException, PortletException, SystemException, PortalException {
String userName = ParamUtil.getString(actionRequest, "userName");
List<Billclaim> fn = BillclaimLocalServiceUtil.getUserName(userName);
actionRequest.setAttribute("fn", fn);
actionResponse.setRenderParameter("jspPage", "/billView.jsp");
SessionMessages.add(actionRequest, "searched");
}
Service.xml
<finder name="userName" return-type="Collection">
<finder-column name="userName"></finder-column>
</finder>
<%PortletURL userNameURL = renderResponse.createActionURL();
userNameURL.setParameter(ActionRequest.ACTION_NAME, "userfilter");%>
<%
List<Billclaim> bill = null;
if(request.getAttribute("fn") != null){
bill = (List<Billclaim>) request.getAttribute("fn");
}else{
bill = BillclaimLocalServiceUtil.getBillclaims(-1, -1);
}
%>
<aui:form method="POST" name="fm" action="<%=userNameURL.toString() %>" >
<aui:input type="text" label="" name="userName" placeholder="Search By User Name">
</aui:input>
<aui:button type="submit" value="Search"/>
</aui:form>
BillclaimLocalServiceImpl.java
public List<Billclaim> getUserName(String userName){
return billclaimPersistence.findByuserName(userName);
}
Controller
public void userfilter(ActionRequest actionRequest, ActionResponse actionResponse) throws IOException, PortletException, SystemException, PortalException {
String userName = ParamUtil.getString(actionRequest, "userName");
List<Billclaim> fn = BillclaimLocalServiceUtil.getUserName(userName);
actionRequest.setAttribute("fn", fn);
actionResponse.setRenderParameter("jspPage", "/billView.jsp");
SessionMessages.add(actionRequest, "searched");
}
Service.xml
<finder name="userName" return-type="Collection">
<finder-column name="userName"></finder-column>
</finder>
Wednesday 25 April 2018
Status Pending & Approved using action
JSP:
<aui:option value="<%=billClaimPortletKeys.pending %>">Pending for approval</aui:option><aui:option value="<%=billClaimPortletKeys.approved%>">Approved</aui:option>
Constants file
public class billClaimPortletKeys {
public static final String billClaim = "BillClaim";
public static final String approved = "Approved";
public static final String pending = "Pending For Approval";
public static final String medical = "Medical";
public static final String travel = "Travel";
public static final String food = "Food";
public static final String variablepay = "Variablepay";
public static final String teamouting = "Team Outing";
public static final String others = "Others";
}
action.jsp
<%
ResultRow row = (ResultRow) request.getAttribute(WebKeys.SEARCH_CONTAINER_RESULT_ROW);
Billclaim bill = (Billclaim) row.getObject();
long fooId = ParamUtil.getLong(request, "fooId");
PortletURL approvedURL = renderResponse.createActionURL();
approvedURL.setParameter(ActionRequest.ACTION_NAME, "approved");
approvedURL.setParameter("fooId", String.valueOf(bill.getFooId()));
%>
<liferay-ui:icon-menu>
<%{ %>
<liferay-ui:icon image="delete" message="Delete" url="<%= deleteBillURL.toString()%>" />
<liferay-ui:icon image="check" message="Approved" url="<%=approvedURL.toString() %>" />
<%} %>
</liferay-ui:icon-menu>
Controller
public void approved(ActionRequest actionRequest, ActionResponse actionResponse) throws IOException, PortletException, SystemException, PortalException {
Billclaim billclaim =null;
String approved = billClaimPortletKeys.approved;
long fooId = ParamUtil.getLong(actionRequest, "fooId");
System.out.println("FooooID##################" +fooId);
billclaim = BillclaimLocalServiceUtil.fetchBillclaim(fooId);
billclaim.setStatus(approved);
BillclaimLocalServiceUtil.updateBillclaim(billclaim);
}
Thursday 19 April 2018
SMS Configuration using sms horizon API
Step 1 - Login Sms horizon & get username & API key (http://smshorizon.co.in/api/sendsms.php?user=Mufas&apikey=LPDkKtHkmkRk8XEtbjrt&mobile=9620367054&message=welcome&senderid=saleem&type=txt)
Step 2 - Create Portet.properties inside resources folder
This is my user name & my api
smsuserid=mufas
password=LPDkKtHkmkRk8XEtbjrt
message= Thank you for submitting you feedback.
smsapi=http://smshorizon.co.in/api/sendsms.php?
Step 3 - Call sendsms() method in controller.
public void sendMsg() throws UnsupportedEncodingException {
System.out.println("SMS Working complaint #########################");
Configuration configuration = ConfigurationFactoryUtil.getConfiguration(PortalClassLoaderUtil.getClassLoader(), "portlet");
String userName = configuration.get("smsuserid");
String password = configuration.get("password");
String textMessage = configuration.get("message");
String smsapi = configuration.get("smsapi");
StringBuilder smsSenderURLQueryString = new StringBuilder();
smsSenderURLQueryString.append("user="
+ URLEncoder.encode(userName, "UTF-8"));
smsSenderURLQueryString.append("&apikey="
+ URLEncoder.encode(password,
"UTF-8"));
smsSenderURLQueryString.append("&mobile="
+ URLEncoder.encode("9620367054", "UTF-8"));
smsSenderURLQueryString.append("&message="
+ URLEncoder.encode(textMessage, "UTF-8"));
smsSenderURLQueryString.append("&senderid="
+ URLEncoder.encode("MYTEXT", "UTF-8"));
smsSenderURLQueryString.append("&type=" + "TXT");
String completeSenderURLString = smsapi +smsSenderURLQueryString.toString();
HttpURLConnection connection = null;
URL completeSenderURL = null;
String conncetionResponse = null;
try{
completeSenderURL = new URL(completeSenderURLString);
connection = (HttpURLConnection) completeSenderURL.openConnection();
connection.setDoOutput(false);
connection.setDoInput(true);
conncetionResponse = connection.getResponseMessage();
int responseCode = connection.getResponseCode();
String responseMessage = connection.getResponseMessage();
}catch(Exception e){
}
}
Step 2 - Create Portet.properties inside resources folder
This is my user name & my api
smsuserid=mufas
password=LPDkKtHkmkRk8XEtbjrt
message= Thank you for submitting you feedback.
smsapi=http://smshorizon.co.in/api/sendsms.php?
Step 3 - Call sendsms() method in controller.
public void sendMsg() throws UnsupportedEncodingException {
System.out.println("SMS Working complaint #########################");
Configuration configuration = ConfigurationFactoryUtil.getConfiguration(PortalClassLoaderUtil.getClassLoader(), "portlet");
String userName = configuration.get("smsuserid");
String password = configuration.get("password");
String textMessage = configuration.get("message");
String smsapi = configuration.get("smsapi");
StringBuilder smsSenderURLQueryString = new StringBuilder();
smsSenderURLQueryString.append("user="
+ URLEncoder.encode(userName, "UTF-8"));
smsSenderURLQueryString.append("&apikey="
+ URLEncoder.encode(password,
"UTF-8"));
smsSenderURLQueryString.append("&mobile="
+ URLEncoder.encode("9620367054", "UTF-8"));
smsSenderURLQueryString.append("&message="
+ URLEncoder.encode(textMessage, "UTF-8"));
smsSenderURLQueryString.append("&senderid="
+ URLEncoder.encode("MYTEXT", "UTF-8"));
smsSenderURLQueryString.append("&type=" + "TXT");
String completeSenderURLString = smsapi +smsSenderURLQueryString.toString();
HttpURLConnection connection = null;
URL completeSenderURL = null;
String conncetionResponse = null;
try{
completeSenderURL = new URL(completeSenderURLString);
connection = (HttpURLConnection) completeSenderURL.openConnection();
connection.setDoOutput(false);
connection.setDoInput(true);
conncetionResponse = connection.getResponseMessage();
int responseCode = connection.getResponseCode();
String responseMessage = connection.getResponseMessage();
}catch(Exception e){
}
}
Subscribe to:
Posts (Atom)