diff --git a/modules/axelor-open-suite/axelor-base/src/main/java/com/axelor/apps/base/web/AppBaseController.java b/modules/axelor-open-suite/axelor-base/src/main/java/com/axelor/apps/base/web/AppBaseController.java
index b1029d2..bd00683 100644
--- a/modules/axelor-open-suite/axelor-base/src/main/java/com/axelor/apps/base/web/AppBaseController.java
+++ b/modules/axelor-open-suite/axelor-base/src/main/java/com/axelor/apps/base/web/AppBaseController.java
@@ -17,25 +17,49 @@
*/
package com.axelor.apps.base.web;
+import java.io.BufferedReader;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.net.InetAddress;
+import java.net.Socket;
+import java.net.UnknownHostException;
+import java.util.List;
+
+import org.apache.batik.util.io.StringDecoder;
+
import com.axelor.app.AppSettings;
import com.axelor.apps.base.db.AppBase;
import com.axelor.apps.base.exceptions.IExceptionMessage;
import com.axelor.apps.base.service.CurrencyConversionService;
import com.axelor.apps.base.service.MapService;
import com.axelor.apps.base.service.administration.ExportDbObjectService;
+import com.axelor.apps.base.service.app.AppBaseService;
import com.axelor.exception.AxelorException;
import com.axelor.exception.service.TraceBackService;
import com.axelor.i18n.I18n;
import com.axelor.inject.Beans;
+import com.axelor.meta.CallMethod;
import com.axelor.meta.db.MetaFile;
import com.axelor.meta.schema.actions.ActionView;
import com.axelor.rpc.ActionRequest;
import com.axelor.rpc.ActionResponse;
import com.google.inject.Singleton;
+import com.mongodb.util.JSON;
+
+import net.minidev.json.JSONObject;
@Singleton
public class AppBaseController {
+ /**
+ *
+ */
+ private static final String localhost = "127.0.0.1";
+
public void exportObjects(ActionRequest request, ActionResponse response) {
MetaFile metaFile = Beans.get(ExportDbObjectService.class).exportObject();
if (metaFile == null) {
@@ -111,4 +135,35 @@ public class AppBaseController {
TraceBackService.trace(e);
}
}
+
+
+ @CallMethod
+ public void execWhatsApp(String username,String message,String url,String id,String enc) throws IOException, ClassNotFoundException {
+
+ try{
+ String uri = Beans.get(AppBaseService.class).getAppBase().getWhatsAppURL();
+
+ String fullUrl = uri + "/"+ url + "/" + id;
+ Socket socket = new Socket(localhost, 6060);
+ // String data = "{\"username\" : \"" + username + "\",\"url\": \""+ fullUrl +"\",\"message\":\""+ message +"\"}";
+ String data = username + "***"+ fullUrl +"***"+ message;
+
+ DataOutputStream dout=new DataOutputStream(socket.getOutputStream());
+ DataInputStream in = new DataInputStream(socket.getInputStream());
+
+ dout.writeUTF(data);
+
+ String msg=(String)in.readUTF();
+
+ if( msg == "message_received"){
+ dout.flush();
+ dout.close();
+ // socket.close();
+ System.out.println("Message: " + msg);
+ }
+ }
+ catch(Exception e) {
+ e.printStackTrace();
+ }
+ }
}
diff --git a/modules/axelor-open-suite/axelor-base/src/main/resources/domains/AppBase.xml b/modules/axelor-open-suite/axelor-base/src/main/resources/domains/AppBase.xml
index 4214388..877ade9 100644
--- a/modules/axelor-open-suite/axelor-base/src/main/resources/domains/AppBase.xml
+++ b/modules/axelor-open-suite/axelor-base/src/main/resources/domains/AppBase.xml
@@ -26,6 +26,9 @@
+
+
+