Advertisement
Advertisement
| 10.13.2008 at 01:45PM PDT, ID: 23810830 |
|
[x]
Attachment Details
|
||
|
[x]
The Solution Rating System
|
||
With so many solutions, how can you tell which solutions are most likely to help you and which ones are not? To provide you with a tool to use, we rate our solutions based on various elements that most accurately determine if a solution is a quality solution. To explain what factors affect the solution rating, here are the elements we take into consideration when formulating our solution rating.
Your Input Matters If you have any suggestions that you would like to make for our rating system, please ask a question in the Suggestions Zone of Community Support. Thank you! |
||
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190: 191: 192: 193: 194: 195: 196: 197: 198: 199: 200: 201: 202: 203: 204: 205: 206: 207: 208: 209: 210: 211: 212: 213: 214: 215: 216: 217: 218: 219: 220: 221: 222: 223: 224: 225: 226: 227: 228: 229: 230: 231: 232: 233: 234: 235: 236: 237: 238: 239: 240: 241: 242: 243: 244: 245: 246: 247: 248: 249: 250: 251: 252: 253: 254: 255: 256: 257: 258: 259: 260: 261: 262: 263: 264: 265: 266: 267: 268: 269: 270: 271: 272: 273: 274: 275: 276: 277: 278: 279: 280: 281: 282: 283: 284: 285: 286: 287: 288: 289: 290: 291: 292: 293: 294: 295: 296: 297: 298: 299: 300: 301: 302: 303: 304: 305: 306: 307: 308: 309: 310: 311: 312: 313: 314: 315: 316: 317: 318: 319: 320: 321: 322: 323: 324: 325: 326: 327: 328: 329: 330: 331: 332: 333: 334: 335: 336: 337: 338: 339: 340: 341: 342: 343: 344: 345: 346: 347: 348: 349: 350: 351: 352: 353: 354: 355: 356: 357: 358: 359: 360: 361: 362: 363: 364: 365: 366: 367: 368: 369: 370: 371: 372: 373: 374: 375: 376: 377: 378: 379: 380: 381: 382: 383: 384: 385: 386: 387: 388: 389: 390: 391: 392: 393: 394: 395: 396: 397: 398: 399: 400: 401: 402: 403: 404: 405: 406: 407: 408: 409: 410: 411: 412: 413: 414: 415: 416: 417: 418: 419: 420: 421: 422: 423: 424: 425: 426: 427: 428: 429: 430: 431: 432: 433: 434: 435: 436: 437: 438: 439: 440: 441: 442: 443: 444: 445: 446: 447: 448: 449: 450: 451: 452: 453: 454: 455: 456: 457: 458: 459: 460: 461: 462: 463: 464: 465: 466: 467: 468: 469: 470: 471: 472: 473: 474: 475: 476: 477: 478: 479: 480: 481: 482: 483: 484: 485: 486: 487: 488: 489: 490: 491: 492: 493: 494: 495: 496: 497: 498: 499: 500: 501: 502: 503: 504: 505: 506: 507: 508: 509: 510: 511: 512: 513: 514: 515: 516: 517: 518: 519: 520: 521: 522: 523: 524: 525: 526: 527: 528: 529: 530: 531: 532: 533: 534: 535: 536: 537: 538: 539: 540: 541: 542: 543: 544: 545: 546: 547: 548: 549: 550: 551: 552: 553: 554: 555: 556: 557: 558: 559: 560: 561: 562: 563: 564: 565: 566: 567: 568: 569: 570: 571: 572: 573: 574: 575: 576: 577: 578: 579: 580: 581: 582: 583: 584: 585: 586: 587: 588: 589: 590: 591: 592: 593: 594: 595: 596: 597: 598: 599: 600: 601: 602: 603: 604: 605: 606: 607: 608: 609: 610: 611: 612: 613: 614: 615: 616: 617: 618: 619: 620: 621: 622: 623: 624: 625: 626: 627: 628: 629: 630: 631: 632: 633: 634: 635: 636: 637: 638: 639: 640: 641: 642: 643: 644: 645: 646: 647: 648: 649: 650: 651: 652: 653: 654: 655: 656: 657: 658: 659: 660: 661: 662: 663: 664: 665: 666: 667: 668: 669: 670: 671: 672: 673: 674: 675: 676: 677: 678: 679: 680: 681: 682: 683: 684: 685: 686: 687: 688: 689: 690: 691: 692: 693: 694: 695: 696: 697: 698: 699: 700: 701: 702: 703: 704: 705: 706: 707: 708: 709: 710: 711: 712: 713: 714: 715: 716: 717: 718: 719: 720: 721: 722: 723: 724: 725: 726: 727: 728: 729: 730: 731: 732: 733: 734: 735: 736: 737: 738: 739: 740: 741: 742: 743: 744: 745: 746: 747: 748: 749: 750: 751: 752: 753: 754: 755: 756: 757: 758: 759: 760: 761: 762: 763: 764: 765: 766: 767: 768: 769: 770: 771: 772: 773: 774: 775: 776: 777: 778: 779: 780: 781: 782: 783: 784: 785: 786: 787: 788: 789: 790: 791: 792: 793: 794: 795: 796: 797: 798: 799: 800: 801: 802: 803: 804: 805: 806: 807: 808: 809: 810: 811: 812: 813: 814: 815: 816: 817: 818: 819: 820: 821: 822: 823: 824: 825: 826: 827: 828: 829: 830: 831: 832: 833: 834: 835: 836: 837: 838: 839: 840: 841: 842: 843: 844: 845: 846: 847: 848: 849: 850: 851: 852: 853: 854: 855: 856: 857: 858: 859: 860: 861: 862: 863: 864: 865: 866: 867: 868: 869: 870: 871: 872: 873: 874: 875: 876: 877: 878: 879: 880: 881: 882: 883: 884: 885: 886: 887: 888: 889: 890: 891: 892: 893: 894: 895: 896: 897: 898: 899: 900: 901: 902: 903: 904: 905: 906: 907: 908: 909: 910: 911: 912: 913: 914: 915: 916: 917: 918: 919: 920: 921: 922: 923: 924: 925: 926: 927: 928: 929: 930: 931: 932: 933: 934: 935: 936: 937: 938: 939: 940: 941: 942: 943: 944: 945: 946: 947: 948: 949: 950: 951: 952: 953: 954: 955: 956: 957: 958: 959: 960: 961: 962: 963: 964: 965: 966: 967: 968: 969: 970: 971: 972: 973: 974: 975: 976: 977: 978: 979: 980: 981: 982: 983: 984: 985: 986: 987: 988: 989: 990: 991: 992: 993: 994: 995: 996: 997: 998: 999: 1000: 1001: 1002: 1003: 1004: 1005: 1006: 1007: 1008: 1009: 1010: 1011: 1012: 1013: 1014: 1015: 1016: 1017: 1018: 1019: 1020: 1021: 1022: 1023: 1024: 1025: 1026: 1027: 1028: 1029: 1030: 1031: 1032: 1033: 1034: 1035: 1036: 1037: 1038: 1039: 1040: 1041: 1042: 1043: 1044: 1045: 1046: 1047: 1048: 1049: 1050: 1051: 1052: 1053: 1054: 1055: 1056: 1057: 1058: 1059: 1060: 1061: 1062: 1063: 1064: 1065: 1066: 1067: 1068: 1069: 1070: 1071: 1072: 1073: 1074: 1075: 1076: 1077: 1078: 1079: 1080: 1081: 1082: 1083: 1084: 1085: 1086: 1087: 1088: 1089: 1090: 1091: 1092: 1093: 1094: 1095: 1096: 1097: 1098: 1099: 1100: 1101: 1102: 1103: 1104: 1105: 1106: 1107: 1108: 1109: 1110: 1111: 1112: 1113: 1114: 1115: 1116: 1117: 1118: 1119: 1120: 1121: 1122: 1123: 1124: 1125: 1126: 1127: 1128: 1129: 1130: 1131: 1132: 1133: 1134: 1135: 1136: 1137: 1138: 1139: 1140: 1141: 1142: 1143: 1144: 1145: 1146: 1147: 1148: 1149: 1150: 1151: 1152: 1153: 1154: 1155: 1156: 1157: 1158: 1159: 1160: 1161: 1162: 1163: 1164: 1165: 1166: 1167: 1168: 1169: 1170: 1171: 1172: 1173: 1174: 1175: 1176: 1177: 1178: 1179: 1180: 1181: 1182: 1183: 1184: 1185: 1186: 1187: 1188: 1189: 1190: 1191: 1192: 1193: 1194: 1195: 1196: 1197: 1198: 1199: 1200: 1201: 1202: 1203: 1204: 1205: 1206: 1207: 1208: 1209: 1210: 1211: 1212: 1213: 1214: 1215: 1216: 1217: 1218: 1219: 1220: 1221: 1222: 1223: 1224: 1225: 1226: 1227: 1228: 1229: 1230: 1231: 1232: 1233: 1234: 1235: 1236: 1237: 1238: 1239: 1240: 1241: 1242: 1243: 1244: 1245: 1246: 1247: 1248: 1249: 1250: 1251: 1252: 1253: 1254: 1255: 1256: 1257: 1258: 1259: 1260: 1261: 1262: 1263: 1264: 1265: 1266: 1267: 1268: 1269: 1270: 1271: 1272: |
package com.comtrol.actions;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.DataHandler;
import java.io.File;
import java.io.FileInputStream;
import com.synfoserv.actions.*;
import com.synfoserv.global.connections.*;
import com.synfoserv.global.*;
import com.synfoserv.global.security.*;
import com.synfoserv.beans.*;
import com.synfoserv.global.util.*;
import java.util.*;
import com.comtrol.global.util.DataTypeConversion;
import com.comtrol.global.util.SConfigReader;
import com.comtrol.global.util.MultipartRequest;
import com.comtrol.global.CONSTANTS;
import com.comtrol.beans.*;
import com.comtrol.actions.CDMSAction;
import java.io.*;
/**
* <p>Title: SynergyCRM</p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: Comtrol Corporation</p>
* @author Kevin Wilson
* @version 1.0
*/
public class EmailAction extends ActionBase implements Action {
private boolean MBLNDEBUGMODE = false; //for debugging message ease
private HttpSession session= null;
private String msUsername = null;
private String msCallId;
private boolean mbLimit=false;
private String msNextJsp = "/norecord.jsp";
private String msContentType = null;
private File mFile = null;
public EmailAction(){super();}
public ActionRouter perform(HttpServlet servlet,
HttpServletRequest req,
HttpServletResponse res)
throws java.io.IOException, ServletException{
String sNextJsp = "/norecord.jsp";
session=req.getSession();
UserBean ubObject = (UserBean) session.getAttribute("userbean"); //retrieving security user bean
msUsername = ubObject.getUserId();
Hashtable htSecurity = ubObject.getSecurity();
String sCmd = (String) req.getParameter("cmd");
//bypass this for emailing forgotten passwords.
if(!sCmd.equals("email_reqpassword") & !sCmd.equals("email_getpassword")){
//make sure user has valid perms for both
mbLimit = ((SecurityBean) htSecurity.get("PERSON")).getLimit();
if(!mbLimit)
mbLimit = ((SecurityBean) htSecurity.get("CALL")).getLimit();
}
try{
getConnection(servlet);
if (sCmd.equals("email_edit")){
populateErrorFields(req);
boolean bOverride = true; // action is always based on context
req.setAttribute("listing",emailEdit(req,bOverride));
req.setAttribute("action","update");
sNextJsp = msNextJsp;
}else if (sCmd.equals("email_save")){
if (isValid(req)){
emailUpdate(req);
req.setAttribute("listing",emailEdit(req,false));
}
sNextJsp = msNextJsp;
}else if (sCmd.equals("email_insert")){
//need to add context check to ensure process is not violated
ContextBean cBean = (ContextBean) session.getAttribute("context");
String sPersonId = cBean.getPersonId();
boolean bParentsExist = true;
sNextJsp ="/norecord.jsp";
if(sPersonId == null || sPersonId.equalsIgnoreCase("0")){
bParentsExist = false;
}
if(bParentsExist){
populateErrorFields(req);
req.setAttribute("listing",emailInsert(req));
sNextJsp ="/EmailTo.jsp";
}
}else if (sCmd.equals("email_insertsave")){
if (isValid(req)){
emailInsertSave(servlet,req,res);
req.setAttribute("listing",emailEdit(req,true));
req.setAttribute("cmd","email_edit"); //resetting the servlet command to edit mode
sNextJsp = msNextJsp;
} else {
req.setAttribute("cmd","email_insert");
sNextJsp = "/EmailTo.jsp";
}
}else if (sCmd.equals("email_reqpassword")){
sNextJsp = "/ForgotPassword.jsp";
}else if (sCmd.equals("email_getpassword")){
emailPassword(req);
sNextJsp = "/ForgotPasswordMsg.jsp";
}else if(sCmd.equals("email_rma")){
populateErrorFields(req);
req.setAttribute("listing",emailRMAInfo(req,servlet));
sNextJsp ="/EmailRMA.jsp";
}
else if(sCmd.equals("email_case")){
populateErrorFields(req);
req.setAttribute("listing", emailCaseInfo(req, servlet));
sNextJsp="/EmailTo.jsp";
}
else if(sCmd.equals("email_tracking")){
populateErrorFields(req);
req.setAttribute("listing", emailTrackingInfo(req, servlet));
sNextJsp="/EmailTo.jsp";
}
}
catch (Exception _e) {
_e.printStackTrace();
sNextJsp="/norecord.jsp";
}
finally {
try{close();}
catch (Exception _e) {
_e.printStackTrace();
sNextJsp="/norecord.jsp";
}
}
return new ActionRouter(sNextJsp);
}
//This must pull the rma, its items and set the info to assign an action.
private ArrayList emailRMAInfo(HttpServletRequest req,HttpServlet servlet){
Utils utilObj = new Utils();
ArrayList alCallList = new ArrayList();
ArrayList alRMAList = new ArrayList();
ArrayList alRMAItemList = new ArrayList();
CallListBean clbObj = new CallListBean();
CONSTANTS constants = new CONSTANTS();
int nPorts = 0;
HttpSession session = req.getSession();
ContextBean cBean = (ContextBean) session.getAttribute("context");
UserBean uBean = (UserBean)session.getAttribute("userbean");
String sRMAId = cBean.getRmaId();
String sPEmail = getEmailFromPersonId(cBean.getPersonId());
String sUEmail = uBean.getEMailAddress();
String sPersonFrom = (uBean.getFirstName() + " " + uBean.getLastName());
//setup call activity info
clbObj.setAssignTo(msUsername);
clbObj.setRegarding("RMA");
clbObj.setActivityType("EMAIL");
clbObj.setStatus("COMPLETED");
clbObj.setDueDate(utilObj.formatDate(utilObj.currentTimestamp()));
clbObj.setDueTime(utilObj.formatTime(utilObj.currentTimestamp()));
clbObj.setComName(cBean.getComName());
clbObj.setCompanyId(cBean.getCompanyId());
clbObj.setDivName(cBean.getDivName());
clbObj.setDivisionId(cBean.getDivisionId());
clbObj.setFName(cBean.getFName());
clbObj.setLName(cBean.getLName());
clbObj.setPersonId(cBean.getPersonId());
clbObj.setSummary("RMA [#" + sRMAId + "]: Comtrol Return Material Authorization");
req.setAttribute("emailfrom", sUEmail);
req.setAttribute("emailto", sPEmail);
req.setAttribute("from", sPersonFrom);
req.setAttribute("to", (cBean.getFName() + " " + cBean.getLName()));
req.setAttribute("bcc", sUEmail);
req.setAttribute("browser",uBean.getBrowser());
String sRmaDate = req.getParameter("rmadate");
String sRmaType = req.getParameter("type");
String sAssignTo = req.getParameter("assnto");
String sAuthBy = req.getParameter("authby");
String sPrgId = req.getParameter("prgmid");
String sProgramId = req.getParameter("programid");
String sRegCode = req.getParameter("programregcode");
String sRmaStatus = req.getParameter("rmastatus");
StringBuffer sb = new StringBuffer();
sb.append("-CUSTOMER SERVICE CONTACT-\n");
sb.append(sPersonFrom + "<br>");
sb.append(sUEmail + "<br>");
sb.append("Toll Free: 1-800-926-6876<br>");
sb.append("Local Area: 763-494-4100<br>");
sb.append("<br>");
sb.append("-RMA INFORMATION-<br>");
sb.append("RMA #: " + sRMAId + "<br>");
sb.append("RMA DATE: " + sRmaDate + "<br>");
sb.append("RMA STATUS: " + sRmaStatus + "<br>");
sb.append("ASSIGNED TO: " + sAssignTo + "<br>");
sb.append("AUTHORIZED BY: " + sAuthBy + "<br>");
sb.append("<br>");
sb.append("-SHIPPING INSTRUCTIONS-<br>");
sb.append(constants.msRMAShipInstr);
sb.append("<br>");
sb.append("RMA #: " + sRMAId + "<br>");
sb.append("<br>");
CDMSAction a = new CDMSAction();
if(sProgramId != null && sProgramId.length() > 0){
ArrayList al = a.getRegisteredProductsList(servlet,sRegCode,sProgramId);
sb.append("\n-PROMOTION INFORMATION-<br>");
sb.append("PROMOTION: " + sPrgId + "<br>");
sb.append("REGISTRATION CODE: " + sRegCode + "<br><br>");
sb.append(constants.msSH2DM1HDR + "<br>");
if(al.size() > 0){
Iterator i = al.iterator();
sb.append("\nProducts registered:<br>");
nPorts = 0;
while(i.hasNext()){
CDMSCustomerProductBean cpb = (CDMSCustomerProductBean)i.next();
sb.append("SKU: " + cpb.getModelNo() + "   ");
if(cpb.getNumPorts().equalsIgnoreCase("48")){
String sPorts = cpb.getNumPorts().trim();
sPorts = sPorts.substring(0, 1) + "/" + sPorts.substring(1, 2);
sb.append("PORTS: " + sPorts + "   ");
sb.append("S/N: " + cpb.getSerialNo() + "<br>" );
sb.append(" *4 or 8 port product, using 8 ports to calculate total ports.*<br>");
nPorts = nPorts + 8;
}else{
sb.append("PORTS: " + cpb.getNumPorts() + "   ");
sb.append("S/N: " + cpb.getSerialNo() + "<br>" );
nPorts = nPorts + Integer.parseInt(cpb.getNumPorts());
}
}
sb.append("Total Ports: " + Integer.toString(nPorts) + "<br>");
}
}//end promo product listing
if(sRMAId != null && sRMAId.length() > 0){
alRMAItemList = getRMAItems(sRMAId,servlet);
if(alRMAItemList.size() > 0){
Iterator it = alRMAItemList.listIterator();
sb.append("\nProducts returned:<br>");
nPorts = 0;
while(it.hasNext()){
RMAItemListBean bean = (RMAItemListBean)it.next();
String sPorts = a.getPortCount(servlet,bean.getPartNo());
sb.append("SKU: " + bean.getPartNo() + "   ");
if(sPorts.equalsIgnoreCase("48")){
sPorts = sPorts.substring(0, 1) + "/" + sPorts.substring(1, 2);
sb.append("PORTS: " + sPorts + "   ");
sb.append("S/N: " + bean.getSerial() + "<br>" );
sb.append(" *4 or 8 port product, using 8 ports to calculate total ports.*\n");
nPorts = nPorts + 8;
}else{
sb.append("PORTS: " + sPorts + "   ");
sb.append("S/N: " + bean.getSerial() + "<br>" );
nPorts = nPorts + Integer.parseInt(sPorts);
}
}
sb.append("Total Ports: " + Integer.toString(nPorts) + "<br>");
}
}
clbObj.setNote(sb.toString());
alCallList.add(clbObj);
return alCallList;
}
private ArrayList getRMAItems(String sRMAId, HttpServlet servlet){
ArrayList al = new ArrayList();
RMAItemAction ria = new RMAItemAction();
try{al = ria.getRmaItems(servlet,sRMAId);}
catch(Exception e){e.printStackTrace();}
return al;
}
private ArrayList emailCaseInfo(HttpServletRequest req, HttpServlet servlet){
HttpSession session = req.getSession();
CallListBean clbObj = new CallListBean();
ContextBean cBean = (ContextBean) session.getAttribute("context");
UserBean uBean = (UserBean)session.getAttribute("userbean");
ArrayList alCallList = new ArrayList();
String sCaseId = cBean.getCaseId();
String sPEmail = getEmailFromPersonId(cBean.getPersonId());
String sUEmail = uBean.getEMailAddress();
String sPersonFrom = (uBean.getFirstName() + " " + uBean.getLastName());
clbObj.setActivityType("EMAIL");
clbObj.setAssignTo(msUsername);
clbObj.setStatus("COMPLETED");
clbObj.setComName(cBean.getComName());
clbObj.setCompanyId(cBean.getCompanyId());
clbObj.setDivName(cBean.getDivName());
clbObj.setDivisionId(cBean.getDivisionId());
clbObj.setFName(cBean.getFName());
clbObj.setLName(cBean.getLName());
clbObj.setPersonId(cBean.getPersonId());
clbObj.setDueDate(utilObj.formatDate(utilObj.currentTimestamp()));
clbObj.setDueTime(utilObj.formatTime(utilObj.currentTimestamp()));
clbObj.setSummary("Case [#" + sCaseId + "]: Comtrol Case Information");
req.setAttribute("emailfrom", sUEmail);
req.setAttribute("emailto", sPEmail);
req.setAttribute("from", sPersonFrom);
req.setAttribute("to", (cBean.getFName() + " " + cBean.getLName()));
req.setAttribute("bcc", sUEmail);
req.setAttribute("browser",uBean.getBrowser());
StringBuffer sb = new StringBuffer();
sb.append("Case Info");
sb.append("<br>" + req.getParameter("summary"));
sb.append("<br>" + req.getParameter("note"));
clbObj.setNote(sb.toString());
alCallList.add(clbObj);
return alCallList;
}
//Not implemented
private ArrayList emailTrackingInfo(HttpServletRequest req, HttpServlet servlet){
HttpSession session = req.getSession();
CallListBean clbObj = new CallListBean();
ContextBean cBean = (ContextBean) session.getAttribute("context");
UserBean uBean = (UserBean)session.getAttribute("userbean");
ArrayList alCallList = new ArrayList();
String sRMAId = cBean.getRmaId();
String sTrackingNo = req.getParameter("trackingno");
String sPEmail = getEmailFromPersonId(cBean.getPersonId());
String sUEmail = uBean.getEMailAddress();
String sPersonFrom = (uBean.getFirstName() + " " + uBean.getLastName());
clbObj.setActivityType("EMAIL");
clbObj.setAssignTo(msUsername);
clbObj.setStatus("COMPLETED");
clbObj.setComName(cBean.getComName());
clbObj.setCompanyId(cBean.getCompanyId());
clbObj.setDivName(cBean.getDivName());
clbObj.setDivisionId(cBean.getDivisionId());
clbObj.setFName(cBean.getFName());
clbObj.setLName(cBean.getLName());
clbObj.setPersonId(cBean.getPersonId());
clbObj.setDueDate(utilObj.formatDate(utilObj.currentTimestamp()));
clbObj.setDueTime(utilObj.formatTime(utilObj.currentTimestamp()));
clbObj.setSummary("Comtrol RMA [#" + sRMAId + "]: Tracking Information");
req.setAttribute("emailfrom", sUEmail);
req.setAttribute("emailto", sPEmail);
req.setAttribute("from", sPersonFrom);
req.setAttribute("to", (cBean.getFName() + " " + cBean.getLName()));
req.setAttribute("bcc", sUEmail);
req.setAttribute("browser",uBean.getBrowser());
StringBuffer sb = new StringBuffer();
sb.append("Tracking information for RMA #" + sRMAId);
sb.append("<br>" + sTrackingNo.toUpperCase());
StringTokenizer st = new StringTokenizer(sTrackingNo);
while(st.hasMoreTokens()){
String sTemp = st.nextToken();
if (sTemp.length() == 18 && sTemp.substring(0, 2).equalsIgnoreCase("1Z")){ //UPS
sb.append("<br>Click on the link below to view your shipment's progress:");
sb.append("<br><br>http://wwwapps.ups.com/WebTracking/processInputRequest?TypeOfInquiryNumber=T&InquiryNumber1="
+ sTemp);
}
}
clbObj.setNote(sb.toString());
alCallList.add(clbObj);
return alCallList;
}
private String getEmailFromPersonId(String sPersonId){
String sEmailAddy = "";
try{
String sSQL = "SELECT EMAIL FROM PERSON WHERE PERSON_ID = "+ sPersonId;
stmt = m_conDb.createStatement();
stmt.execute(sSQL);
rs = stmt.getResultSet();
if(rs.next()){
sEmailAddy = rs.getString("EMAIL");
}
}catch(Exception e){
e.printStackTrace();
}
return sEmailAddy;
}
public String getEmailFromPersonId(String sPersonId, Connection conn){
String sEmailAddy = "";
try{
String sSQL = "SELECT EMAIL FROM PERSON WHERE PERSON_ID = "+ sPersonId;
stmt = conn.createStatement();
stmt.execute(sSQL);
rs = stmt.getResultSet();
if(rs.next()){sEmailAddy = rs.getString("EMAIL");}
rs.close();
stmt.close();
}catch(Exception e){e.printStackTrace();}
return sEmailAddy;
}
private void emailPassword(HttpServletRequest req){
boolean blnEmailSent = false;
String sEmailFrom = "indeo@comtrol.com";
String sEmailTo = req.getParameter("emailaddress");
String sUserId = null;
String sPassword = null;
String sSubject = null;
String sBody = null;
//find email address in user list
String sSQL = "SELECT USER_ID,PASSWORD FROM S_USER WHERE LOWER(EMAIL) = '" +
sEmailTo.toLowerCase() + "' AND IS_ACTIVE = 'Y' AND ACTIVE = 'Y'";
try{
stmt = m_conDb.createStatement();
stmt.execute(sSQL);
rs = stmt.getResultSet();
if(rs.next()){
sUserId = rs.getString("USER_ID");
sPassword = rs.getString("PASSWORD");
}
if(sUserId != null & sPassword != null){
sSubject = "Your Indeo Account Information";
sBody = "User Name: " + sUserId + "<br>" + "Password: " + sPassword;
blnEmailSent = processMailItem(sEmailFrom,sEmailTo,sSubject,sBody,req);
if(!blnEmailSent){
req.setAttribute("emailpassmsg",
"There was a problem emailing your account information. Please contact the application administrator if the problem persists."
);
}else{
req.setAttribute("emailpassmsg", "");
}
}else{
req.setAttribute("emailpassmsg", "Invalid email address or address not found.");
}
}catch(Exception e){
req.setAttribute("emailpassmsg", "Invalid email address or address not found.");
e.printStackTrace();
}
}
//inserts new record
private void emailInsertSave(HttpServlet servlet,HttpServletRequest req,HttpServletResponse res){
/*
ContextBean cBean = (ContextBean) session.getAttribute("context");
String sCompanyId = cBean.getCompanyId();
String sDivisionId = cBean.getDivisionId();
String sPersonId = cBean.getPersonId();
String sQuoteId = cBean.getQuoteId();
String sOpportunityId = cBean.getOpportunityId();
String sOrderId = cBean.getOrderId();
*/
boolean blnEmailSent = false;
//now send the email
try{
String sFilePrefix = "file:///";
char chUnixSeperator = 47;
char chWinSeperator = 92;
String sTempDir = servlet.getServletContext().getRealPath("/") + "temp";
sTempDir = sTempDir.replace(chWinSeperator, chUnixSeperator);
MultipartRequest mpr = new MultipartRequest(req, sFilePrefix + sTempDir);
if(mpr != null){
String sURL = sFilePrefix + sTempDir;
String sEmailTo = mpr.getParameter("emailto");
String sEmailFrom = mpr.getParameter("emailfrom");
String sPersonFrom = mpr.getParameter("from");
String sPersonTo = mpr.getParameter("to");
String sCCList = mpr.getParameter("cclist");
String sBCCList = mpr.getParameter("bcclist");
String sCallId = mpr.getParameter("callid");
String sAssignto = mpr.getParameter("assignto");
String sActivityType = mpr.getParameter("activitytype");
String sRegarding = mpr.getParameter("regarding");
String sDueDate = mpr.getParameter("duedate");
String sDueTime = mpr.getParameter("duetime");
String sStatus = mpr.getParameter("status");
String sSummary = mpr.getParameter("emailsubject");
String sNote = mpr.getParameter("emailbody");
String sCompanyId = mpr.getParameter("companyid");
String sDivisionId = mpr.getParameter("divisionid");
String sPersonId = mpr.getParameter("personid");
String sFilesUpload = mpr.getParameter("filelist");
//System.out.println(sFilesUpload);
if (sFilesUpload == null) sFilesUpload = "";
String sFile = null;
String strFileSysName = null;
//Gets any files still left in the files2upload input box
/*Enumeration enumFiles = mpr.getFileNames();
if(enumFiles.hasMoreElements()) {
sFile = (String)enumFiles.nextElement();
msContentType = mpr.getContentType(sFile);
strFileSysName = mpr.getFilesystemName(sFile);
sFile = strFileSysName;
mFile = new File(sTempDir + "/" + sFile);
System.out.println(sFile);
//System.out.println(msContentType);
}
*/
//Gets all files stored in filelist hidden input
StringTokenizer st = new StringTokenizer(sFilesUpload, ";");
String[] sFileList = new String[st.countTokens()];
File[] fFileList = new File[st.countTokens()];
//sFile = sFilesUpload + sFile;
int fCount = 0;
while(st.hasMoreTokens()){
String sTempName = st.nextToken();
byte[] bbuf = new byte[(int)new File(sTempName).length()];
FileInputStream fis = new FileInputStream(sTempName);
fis.read(bbuf);
fis.close();
FileOutputStream fos = new FileOutputStream(sTempDir + System.getProperty("file.separator") +
sTempName.substring(sTempName.lastIndexOf(System.getProperty("file.separator"))+1));
fos.write(bbuf);
fos.flush();
fos.close();
sFileList[fCount] = sTempName.substring(sTempName.lastIndexOf("\\") + 1);
fFileList[fCount] = new File(sTempDir + "/" + sFileList[fCount]);
fCount++;
}
//if true then email was sent successfully
blnEmailSent = processMailItem(sEmailFrom,sEmailTo,sPersonFrom,
sPersonTo,sSummary,sNote,mpr,req,
sCCList,sBCCList,sFileList,fFileList,sURL);
if(blnEmailSent){
try{
boolean blnRtn = false;
blnRtn = insertCallRecord(sCallId,sAssignto,sActivityType,
sRegarding,sDueDate,sDueTime,
sStatus,sSummary,sNote,req,sCCList,
sBCCList,sFileList,sCompanyId,sDivisionId,sPersonId);
if(blnRtn){
msNextJsp ="/EmailSentMsg.jsp";
}
else{
req.setAttribute("errmsg","Email call record for call_id = " + msCallId +
"was unable to create activity record but email " +
"was sent successfully.");
msNextJsp ="/ErrorMsgPage.jsp";
}
}
catch(Exception _e){
req.setAttribute("errmsg","Email call record for call_id = " + msCallId +
"was unable to create activity record but email " +
"was sent successfully. Advise application administrator " +
"to checks logs for StackTrace Output.");
msNextJsp ="/ErrorMsgPage.jsp";
_e.printStackTrace();
}
}else{
msNextJsp ="/EmailFailedMsg.jsp";
}
}else{
msNextJsp ="/EmailFailedMsg.jsp";
}
}
catch(Exception _e){
msNextJsp ="/EmailFailedMsg.jsp";
_e.printStackTrace();
}
}//end emailInsertSave()
private boolean uploadDocuments(String sCallId,HttpServletRequest req,
HttpServletResponse res,HttpServlet servlet,
String sFile){
ContextBean cBean = (ContextBean) session.getAttribute("context");
String sCompanyId = cBean.getCompanyId();
String sDivisionId = cBean.getDivisionId();
String sPersonId = cBean.getPersonId();
String sQuoteId = cBean.getQuoteId();
String sOpportunityId = cBean.getOpportunityId();
String sOrderId = cBean.getOrderId();
String sSummary = "Email Attachment For Activity #" + sCallId;
if(sDivisionId==null || sDivisionId.length()==0){sDivisionId = "0";}
if(sPersonId==null || sPersonId.length()==0){sPersonId = "0";}
if(sOpportunityId==null || sOpportunityId.length()==0){sOpportunityId = "0";}
if(sQuoteId==null || sQuoteId.length()==0){sQuoteId = "0";}
if(sOrderId==null || sOrderId.length()==0){sOrderId = "0";}
try{
Utils utilObj = new Utils();
StringBuffer sSQL = new StringBuffer();
sSQL.append("INSERT INTO DOCUMENT ");
sSQL.append("(DOCUMENT_ID,COMPANY_ID,DIVISION_ID,");
sSQL.append("PERSON_ID,OPPORTUNITY_ID,QUOTE_ID,ORDER_ID,");
sSQL.append("CREATE_USER,CREATE_DATE,");
sSQL.append("FILENAME,CONTENT,MIME_TYPE,MODIFY_USER,MODIFY_DATE,");
sSQL.append("SYNC_DATE,SYNC_USER,ACTIVE,SUMMARY");
sSQL.append(") VALUES(");
sSQL.append("?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
java.sql.Timestamp tsp = utilObj.currentTimestamp();
byte bBlob[] = null;
int intFileCount = 1;
for(int i=0; i < intFileCount; i++){
bBlob = new byte[(int)mFile.length()];
FileInputStream fis = new FileInputStream(mFile);
fis.read(bBlob);
fis.close();
if(bBlob != null){
//must have new one for each file
pstmt = m_conDb.prepareStatement(sSQL.toString());
int iPrimaryKey = KeyGenerator.getInstance().generateKey(req);
pstmt.setInt(1,iPrimaryKey);
pstmt.setInt(2,Integer.parseInt(sCompanyId));
pstmt.setInt(3,Integer.parseInt(sDivisionId));
pstmt.setInt(4,Integer.parseInt(sPersonId));
pstmt.setInt(5,Integer.parseInt(sOpportunityId));
pstmt.setInt(6,Integer.parseInt(sQuoteId));
pstmt.setInt(7,Integer.parseInt(sOrderId));
pstmt.setString(8,msUsername);
pstmt.setTimestamp(9,tsp);
pstmt.setString(10,sFile);
pstmt.setObject(11,bBlob);
pstmt.setString(12,msContentType);
pstmt.setString(13,msUsername);
pstmt.setTimestamp(14,tsp);
pstmt.setTimestamp(15,tsp);
pstmt.setString(16,msUsername);
pstmt.setString(17,"Y");
pstmt.setString(18,sSummary);
pstmt.execute();
pstmt = null;
}
bBlob = null;
fis = null;
}//end file for loop
return true;
}
catch(Exception _e){
_e.printStackTrace();
return false;
}
}//end uploadDocuments()
private boolean insertCallRecord(String sCallId,String sAssignto,String sActivityType,
String sRegarding,String sDueDate,String sDueTime,
String sStatus,String sSummary,String sNote,
HttpServletRequest req, String sCCList,
String sBCCList,String[] sFile,String sCompanyId,
String sDivisionId,String sPersonId){
/*
ContextBean cBean = (ContextBean) session.getAttribute("context");
String sCompanyId = cBean.getCompanyId();
String sDivisionId = cBean.getDivisionId();
String sPersonId = cBean.getPersonId();
String sQuoteId = cBean.getQuoteId();
String sOpportunityId = cBean.getOpportunityId();
String sOrderId = cBean.getOrderId();
*/
DataTypeConversion dtc = new DataTypeConversion();
if(sFile != null)
sNote = "ATTACHMENT: " + sFile + "\n" + sNote;
if(sBCCList != null)
sNote = "\n" + "BCC: " + sBCCList + "\n" + sNote;
if(sCCList != null)
sNote = "\n" + "CC: " + sCCList + "\n" + sNote;
try{
Utils utilObj = new Utils();
java.sql.Timestamp tsp = utilObj.currentTimestamp();
StringBuffer sSQL = new StringBuffer();
sSQL.append("INSERT INTO CALL ");
sSQL.append("(CALL_ID,COMPANY_ID,DIVISION_ID,PERSON_ID,OPPORTUNITY_ID,");
sSQL.append("QUOTE_ID, ORDER_ID, CREATE_USER, CREATE_DATE,ASSIGN_TO,");
sSQL.append("STATUS,SUMMARY,NOTE,REGARDING,ACTIVITY_TYPE,DUE_DATE,");
sSQL.append("DUE_TIME,MODIFY_USER,MODIFY_DATE,SYNC_DATE,SYNC_USER,ACTIVE,DUETIME) ");
sSQL.append("VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
pstmt = m_conDb.prepareStatement(sSQL.toString());
int iPrimaryKey = KeyGenerator.getInstance().generateKey(req);
pstmt.setInt(1,iPrimaryKey);
pstmt.setInt(2,Integer.parseInt(sCompanyId));
if (sDivisionId==null || sDivisionId.length()==0){
pstmt.setInt(3, 0);
} else {
pstmt.setInt(3,Integer.parseInt(sDivisionId));
}
if (sPersonId==null || sPersonId.length()==0){
pstmt.setInt(4, 0);
} else {
pstmt.setInt(4,Integer.parseInt(sPersonId));
}
pstmt.setInt(5, 0);
/*
if (sOpportunityId==null || sOpportunityId.length()==0){
pstmt.setInt(5, 0);
} else {
pstmt.setInt(5,Integer.parseInt(sOpportunityId));
}
*/
pstmt.setInt(6, 0);
/*
if (sQuoteId==null || sQuoteId.length()==0){
pstmt.setInt(6, 0);
} else {
pstmt.setInt(6,Integer.parseInt(sQuoteId));
}
*/
pstmt.setInt(7, 0);
/*
if (sOrderId==null || sOrderId.length()==0){
pstmt.setInt(7, 0);
} else {
pstmt.setInt(7,Integer.parseInt(sOrderId));
}
*/
pstmt.setString(8,msUsername);
pstmt.setTimestamp(9,tsp);
pstmt.setString(10,sAssignto);
pstmt.setString(11,sStatus);
pstmt.setString(12,sSummary);
pstmt.setString(13,sNote);
pstmt.setString(14,sRegarding);
pstmt.setString(15,sActivityType);
if (sDueDate==null || sDueDate.length()==0){
pstmt.setDate(16,null);
} else {
pstmt.setDate(16,new java.sql.Date(tsp.getTime()));
}
pstmt.setString(17,sDueTime);
pstmt.setString(18,msUsername);
pstmt.setTimestamp(19,tsp);
pstmt.setTimestamp(20,tsp);
pstmt.setString(21,msUsername);
pstmt.setString(22,"Y");
pstmt.setTime(23,dtc.getISOTime(sDueTime));
pstmt.execute();
msCallId = String.valueOf(iPrimaryKey);
sCallId = msCallId;
return true;
}
catch(Exception _e){
_e.printStackTrace();
return false;
}
}
public boolean processMailItem(String sEmailFrom,String sEmailTo,String sSubject,String sMsg,Connection c,String sCCList) throws Exception{
try{
Properties mailProps = new Properties();
String mailHostIP = SConfigReader.getStringConfigValue("email_server",c);
mailProps.put("mail.host", mailHostIP);
mailProps.put("mail.transport.protocol", "smtp");
Session mailSession = Session.getInstance(mailProps);
MimeMessage m = new MimeMessage(mailSession);
InternetAddress addy = null; //generic var used for iteration
InternetAddress addrTo = new InternetAddress(sEmailTo);
InternetAddress addrFrom = new InternetAddress(sEmailFrom);
Address[] addrs = new Address[1];
Address[] addrsCC = null;
addrs[0] = addrTo;
m.setRecipient(Message.RecipientType.TO, addrs[0]);
addrs[0] = addrFrom;
m.setFrom(addrs[0]);
m.setReplyTo(addrs);
if(sCCList != null && sCCList.length() > 0 && sCCList.indexOf(";") > 0){
StringTokenizer sCCTokens = new StringTokenizer(sCCList,";");
addrsCC = new Address[sCCTokens.countTokens()];
int i = 0;
while(sCCTokens.hasMoreTokens()){
addrsCC[i] = new InternetAddress(sCCTokens.nextToken());
i += 1;
}
m.setRecipients(Message.RecipientType.CC, addrsCC);
}else if(sCCList != null && sCCList.length() > 0){
addrsCC = new Address[1];
addrsCC[0] = new InternetAddress(sCCList);
m.setRecipients(Message.RecipientType.CC, addrsCC);
}
m.setSubject(sSubject);
m.setSentDate(new java.util.Date());
m.setContent(sMsg, "text/html");
Transport.send(m);
return true;
}
catch(Exception _e){
System.out.println("public->processMailItem() error");
_e.printStackTrace();
return false;
}
}
public boolean processMailItem(String sEmailFrom,String sEmailTo,
String sSubject,String sMsg, HttpServletRequest req)
throws Exception{
try{
Properties mailProps = new Properties();
String mailHostIP = SConfigReader.getStringConfigValue("email_server",req);
mailProps.put("mail.host", mailHostIP);
mailProps.put("mail.transport.protocol", "smtp");
Session mailSession = Session.getInstance(mailProps);
InternetAddress addy = null; //generic var used for iteration
InternetAddress addrTo = new InternetAddress(sEmailTo);
InternetAddress addrFrom = new InternetAddress(sEmailFrom);
MimeMessage m = new MimeMessage(mailSession);
Address[] addrs = new Address[1];
addrs[0] = addrTo;
m.setRecipient(Message.RecipientType.TO, addrs[0]);
addrs[0] = addrFrom;
m.setFrom(addrs[0]);
m.setReplyTo(addrs);
m.setSubject(sSubject);
m.setSentDate(new java.util.Date());
m.setContent(sMsg, "text/html");
Transport.send(m);
return true;
}
catch(Exception _e){
System.out.println("public->processMailItem() error");
_e.printStackTrace();
return false;
}
}
private boolean processMailItem(String sEmailFrom,String sEmailTo,
String sPersonFrom, String sPersonTo,
String sSubject,String sMsg,
MultipartRequest mpr, HttpServletRequest req,
String sCCList, String sBCCList,
String[] sFile, File[] fFile, String sURL) throws Exception{
try{
Properties mailProps = new Properties();
String mailHostIP = SConfigReader.getStringConfigValue("email_server",req);
mailProps.put("mail.host", mailHostIP);
mailProps.put("mail.transport.protocol", "smtp");
Session mailSession = Session.getInstance(mailProps);
InternetAddress addy = null; //generic var used for iteration
InternetAddress addrTo = new InternetAddress(sEmailTo, sPersonTo);
InternetAddress addrFrom = new InternetAddress(sEmailFrom, sPersonFrom);
Address[] addrsCC = null;
if(sCCList != null && sCCList.length() > 0 && sCCList.indexOf(";") > 0){
StringTokenizer sCCTokens = new StringTokenizer(sCCList,";");
addrsCC = new Address[sCCTokens.countTokens()];
int i = 0;
while(sCCTokens.hasMoreTokens()){
addrsCC[i] = new InternetAddress(sCCTokens.nextToken());
i += 1;
}
}else if(sCCList != null && sCCList.length() > 0){
addrsCC = new Address[1];
addrsCC[0] = new InternetAddress(sCCList);
}
Address[] addrsBCC = null;
if(sBCCList != null && sBCCList.length() > 0 && sBCCList.indexOf(";") > 0){
StringTokenizer sBCCTokens = new StringTokenizer(sBCCList,";");
addrsBCC = new Address[sBCCTokens.countTokens()];
int i = 0;
while(sBCCTokens.hasMoreTokens()){
addrsBCC[i] = new InternetAddress(sBCCTokens.nextToken());
i += 1;
}
}else if(sBCCList != null && sBCCList.length() > 0){
addrsBCC = new Address[1];
addrsBCC[0] = new InternetAddress(sBCCList);
}
MimeMessage m = new MimeMessage(mailSession);
Address[] addrs = new Address[1];
addrs[0] = addrTo;
m.setRecipient(Message.RecipientType.TO, addrs[0]);
addrs[0] = addrFrom;
m.setFrom(addrs[0]);
m.setReplyTo(addrs);
if(addrsCC != null)
m.setRecipients(Message.RecipientType.CC, addrsCC);
if(addrsBCC != null)
m.setRecipients(Message.RecipientType.BCC,addrsBCC);
m.setSubject(sSubject);
m.setSentDate(new java.util.Date());
if(sURL != null && sFile.length > 0 && fFile.length > 0){
javax.mail.internet.MimeBodyPart messageBodyPart = new javax.mail.internet.MimeBodyPart();
messageBodyPart.setText(sMsg);
javax.mail.Multipart multipart = new javax.mail.internet.MimeMultipart();
multipart.addBodyPart(messageBodyPart);
//System.out.println(sURL + "/" + sFile);
// Part two is attachment
for(int f = 0; f < sFile.length; f++){
javax.mail.internet.MimeBodyPart attachmentBodyPart = new javax.mail.internet.MimeBodyPart();
//java.net.URL url = new java.net.URL(sURL + "/" + sFile);
javax.activation.FileDataSource source = new javax.activation.FileDataSource(fFile[f]);
//javax.activation.URLDataSource source = new javax.activation.URLDataSource(url);
attachmentBodyPart.setDataHandler(new DataHandler(source));
attachmentBodyPart.setFileName(sFile[f]);
multipart.addBodyPart(attachmentBodyPart);
m.setContent(multipart);
}
}else{
//System.out.println("sFile or sURL was null for email_to:" + sEmailTo);
m.setContent(sMsg, "text/html");
}
Transport.send(m);
return true;
}
catch(Exception _e){
System.out.println("processMailItem() error");
_e.printStackTrace();
return false;
}
}
// updates the existing record with new data
private void emailUpdate(HttpServletRequest req){
Utils utilObj = new Utils();
java.sql.Timestamp tsp = utilObj.currentTimestamp();
try{
String sCallId = (String) req.getParameter("callid");
String sAssignto = (String) req.getParameter("assignto");
String sActivityType = (String) req.getParameter("activitytype");
String sRegarding = (String) req.getParameter("regarding");
String sDueDate = (String) req.getParameter("duedate");
String sDueTime = (String) req.getParameter("duetime");
String sStatus = (String) req.getParameter("status");
String sSummary = (String) req.getParameter("summary");
String sNote = (String) req.getParameter("note");
//Call Prepare statement for SAP DB
StringBuffer sSQL = new StringBuffer();
sSQL.append("UPDATE CALL ");
sSQL.append("SET ASSIGN_TO=?, STATUS=?, REGARDING=?, ACTIVITY_TYPE=?, DUE_DATE=?, ");
sSQL.append("DUE_TIME=?, SUMMARY=?, NOTE=?, MODIFY_DATE=?, MODIFY_USER=?, SYNC_DATE=?, SYNC_USER=? WHERE CALL_ID=?");
pstmt = m_conDb.prepareStatement(sSQL.toString());
pstmt.setString(1,sAssignto);
pstmt.setString(2,sStatus);
pstmt.setString(3,sRegarding);
pstmt.setString(4,sActivityType);
if (sDueDate==null || sDueDate.length()==0){
pstmt.setDate(5,null);
} else {
pstmt.setDate(5,new java.sql.Date(dtf.parse(sDueDate).getTime()));
}
pstmt.setString(6,sDueTime);
pstmt.setString(7,sSummary);
pstmt.setString(8,sNote);
pstmt.setTimestamp(9,tsp);
pstmt.setString(10,msUsername);
pstmt.setTimestamp(11,tsp);
pstmt.setString(12,msUsername);
pstmt.setInt(13,Integer.parseInt(sCallId));
pstmt.executeUpdate();
}
catch (Exception _e) {
_e.printStackTrace();
}
}
//displays edit form in the insert mode
private ArrayList emailInsert(HttpServletRequest req){
ArrayList alEmailList = new ArrayList();
CallListBean clbObj = new CallListBean();
Utils utilObj = new Utils();
HttpSession session = req.getSession();
ContextBean cBean = (ContextBean) session.getAttribute("context");
UserBean uBean = (UserBean)session.getAttribute("userbean");
clbObj.setAssignTo(msUsername);
clbObj.setRegarding("OTHER");
clbObj.setActivityType("EMAIL");
clbObj.setStatus("COMPLETED");
clbObj.setDueDate(utilObj.formatDate(utilObj.currentTimestamp()));
clbObj.setDueTime(utilObj.formatTime(utilObj.currentTimestamp()));
clbObj.setComName(cBean.getComName());
clbObj.setCompanyId(cBean.getCompanyId());
clbObj.setDivName(cBean.getDivName());
clbObj.setDivisionId(cBean.getDivisionId());
clbObj.setFName(cBean.getFName());
clbObj.setLName(cBean.getLName());
clbObj.setPersonId(cBean.getPersonId());
String sPEmail = (String) req.getParameter("email");
String sUEmail = uBean.getEMailAddress();
String sPersonFrom = (uBean.getFirstName() + " " + uBean.getLastName());
req.setAttribute("emailfrom", sUEmail);
req.setAttribute("emailto", sPEmail);
req.setAttribute("from", sPersonFrom);
req.setAttribute("to", (cBean.getFName() + " " + cBean.getLName()));
req.setAttribute("bcc", sUEmail);
req.setAttribute("browser",uBean.getBrowser());
alEmailList.add(clbObj);
return alEmailList;
}
private ArrayList emailEdit(HttpServletRequest req, boolean bOverride){
ArrayList alEmailList = new ArrayList();
HttpSession session = req.getSession();
ContextBean cBean = (ContextBean) session.getAttribute("context");
String sOrderId="0";
String sQuoteId="0";
String sOpportunityId="0";
String sCompanyId="0";
String sPersonId="0";
String sDivisionId="0";
String sCallId="0";
String sAssignto = "";
String sActivityType ="";
String sRegarding ="";
String sStatus = "";
String sCallNum ="";
String sSummary = "";
String sStartDate= "";
String sFName = "";
String sLName = "";
String sComName = "";
String sDivName = "";
String sEndDate="";
try{
//getting data from the request object'
if(bOverride){sCallId=msCallId;}
else{sCallId = (String) req.getParameter("callid");}
cstmt = m_conDb.prepareCall("{call sp_call_edit(?,?,?,?,?,?,?)}");
cstmt.setString(1,sCallId);
cstmt.setString(2,"0");
cstmt.setString(3,"0");
cstmt.setString(4,"0");
cstmt.setString(5,"0");
cstmt.setString(6,"0");
cstmt.setString(7,"0");
cstmt.execute();
rs= cstmt.getResultSet();
if (rs.next()){
CallListBean clbObj = getListBean(rs,true);
alEmailList.add(clbObj);
}
}
catch (Exception _e) {
_e.printStackTrace();
}
return alEmailList;
}
private CallListBean getListBean(ResultSet _rs, boolean bSetSession ) throws Exception{
CallListBean clbObj = new CallListBean();
clbObj.setCallId((String) _rs.getString("CALL_ID"));
String sCompanyId = (String) _rs.getString("COMPANY_ID");
clbObj.setCompanyId(sCompanyId);
String sDivisionId = (String) _rs.getString("DIVISION_ID");
clbObj.setDivisionId(sDivisionId);
String sPersonId = (String) _rs.getString("PERSON_ID");
clbObj.setPersonId(sPersonId);
String sOpportunityId = (String) _rs.getString("OPPORTUNITY_ID");
clbObj.setOpportunityId(sOpportunityId);
String sQuoteId=(String) _rs.getString("QUOTE_ID");
clbObj.setQuoteId(sQuoteId);
String sOrderId=(String) _rs.getString("ORDER_ID");
clbObj.setOrderId(sOrderId);
clbObj.setAssignTo(utilObj.nullToEmpty((String) _rs.getString("ASSIGN_TO")));
clbObj.setStatus(utilObj.nullToEmpty((String) _rs.getString("STATUS")));
clbObj.setRegarding(utilObj.nullToEmpty((String) _rs.getString("REGARDING")));
clbObj.setActivityType(utilObj.nullToEmpty((String) _rs.getString("ACTIVITY_TYPE")));
Timestamp ts= _rs.getTimestamp("DUE_DATE");
if (ts==null){
clbObj.setDueDate("");
} else {
java.sql.Date dt = new java.sql.Date(ts.getTime());
clbObj.setDueDate(dtf.format(dt));
}
clbObj.setDueTime(utilObj.nullToEmpty((String) _rs.getString("DUE_TIME")));
clbObj.setSummary(utilObj.nullToEmpty((String) _rs.getString("SUMMARY")));
clbObj.setNote(utilObj.nullToEmpty((String) _rs.getString("NOTE")));
clbObj.setCreateDate(utilObj.formatDateTime(_rs.getTimestamp("CREATE_DATE")));
clbObj.setCreateUser(utilObj.nullToEmpty((String) _rs.getString("CREATE_USER")));
clbObj.setModifyDate(utilObj.formatDateTime(_rs.getTimestamp("MODIFY_DATE")));
clbObj.setModifyUser(utilObj.nullToEmpty((String) _rs.getString("MODIFY_USER")));
if (bSetSession){
String sComname = utilObj.nullToEmpty((String) _rs.getString("COM_NAME"));
clbObj.setComName(sComname);
String sDivname = utilObj.nullToEmpty((String) _rs.getString("DIV_NAME"));
clbObj.setDivName(sDivname);
String sFname = utilObj.nullToEmpty((String) _rs.getString("FNAME"));
clbObj.setFName(sFname);
String sLname = utilObj.nullToEmpty((String) _rs.getString("LNAME"));
clbObj.setLName(sLname);
//setting up context
ContextBean cBean = new ContextBean();
cBean.setPersonId(sPersonId);
cBean.setFName(sFname);
cBean.setLName(sLname);
cBean.setCompanyId(sCompanyId);
cBean.setComName(sComname);
cBean.setDivisionId(sDivisionId);
cBean.setDivName(sDivname);
cBean.setOpportunityId(sOpportunityId);
cBean.setQuoteId(sQuoteId);
cBean.setOrderId(sOrderId);
session.setAttribute("context",cBean);
}
return clbObj;
}
private boolean isValid(HttpServletRequest req){
boolean isValid=true;
if (!validate(req,"email_to","emailto"))isValid=false;
if (!validate(req,"email_from","emailfrom"))isValid=false;
if (!validate(req,"email_subject","emailsubject"))isValid=false;
//if (!validate(req,"email_body","emailbody"))isValid=false;
if (!isValid){
CallListBean clbObj = new CallListBean();
clbObj.setCallId(req.getParameter("callid"));
clbObj.setAssignTo(req.getParameter("assignto"));
clbObj.setActivityType(req.getParameter("activitytype"));
clbObj.setRegarding(req.getParameter("regarding"));
clbObj.setDueDate(null);
clbObj.setDueTime(null);
clbObj.setStatus(req.getParameter("status"));
clbObj.setSummary(req.getParameter("emailsubject"));
clbObj.setNote(req.getParameter("emailbody"));
ArrayList alEmailList = new ArrayList();
alEmailList.add(clbObj);
req.setAttribute("listing",alEmailList);
}
return isValid;
}
private void populateErrorFields(HttpServletRequest req){
req.setAttribute("error"," "); //error message
req.setAttribute("emailto_error","");
req.setAttribute("emailfrom_error","");
req.setAttribute("emailsubject_error","");
req.setAttribute("emailbody_error","");
}
}
|