Subversion Repositories SmartDukaan

Rev

Rev 3211 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<%@page import="java.util.Calendar"%>
<%@page import="java.util.Map.Entry"%>
<%@page import="java.text.ParseException"%>
<%@page import="java.util.TimeZone"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.util.Date"%>
<%@page import="com.google.appengine.api.datastore.Query.SortDirection"%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.util.List" %>
<%@ page import="com.google.appengine.api.datastore.DatastoreServiceFactory" %>
<%@ page import="com.google.appengine.api.datastore.DatastoreService" %>
<%@ page import="com.google.appengine.api.datastore.Query" %>
<%@ page import="com.google.appengine.api.datastore.Entity" %>
<%@ page import="com.google.appengine.api.datastore.PreparedQuery" %>

<html>
  <head>
      <link rel="stylesheet" href="/DataTables/media/css/demo_table.css" type="text/css" />
      <link rel="stylesheet" href="/DataTables/extras/TableTools/media/css/TableTools.css" type="text/css" /> 
  </head>
  <body>
<%
    Date toDate = new Date();
    Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("IST"));
    cal.add(Calendar.DAY_OF_MONTH, -2);
    Date fromDate = cal.getTime();
    SimpleDateFormat iSdf = new SimpleDateFormat("yyyyMMdd");
    String fromDateStr = request.getParameter("fromDate");
    String toDateStr = request.getParameter("toDate");
    String eventType = request.getParameter("eventType");
    if (eventType == null) {
        eventType = "PAYMENT_SUCCESS";
    }
    if (fromDateStr == null || fromDateStr.isEmpty()) {
        fromDateStr = iSdf.format(fromDate);
    }
    if (toDateStr == null || toDateStr.isEmpty()) {
        toDateStr = iSdf.format(toDate);
    }
%>
    <form id="frmSuccessfulPayments" name="frmSuccessfulPayments" method="post" action="/jsp/search-events.jsp">
      <label>From Date(YYYYMMDD) : </label> <input type="text" name="fromDate" id="fromDate" value="<%= fromDateStr %>"/>
      <label>To Date(YYYYMMDD) : </label> <input type="text" name="toDate" id="toDate" value="<%= toDateStr %>"/>
      <label>Event Type : </label> <select name="eventType" id="eventType">
          <option <%= eventType.equals("PAYMENT_SUCCESS")? "selected='selected'": "" %> value="PAYMENT_SUCCESS">PAYMENT_SUCCESS</option>
          <option <%= eventType.equals("ADD_ADDRESS")? "selected='selected'": "" %> value="ADD_ADDRESS">ADD_ADDRESS</option> 
              <option <%= eventType.equals("DELETE_ADDRESS")? "selected='selected'": "" %> value="DELETE_ADDRESS">DELETE_ADDRESS</option> 
              <option <%= eventType.equals("SET_DEFAULT_ADDRESS")? "selected='selected'": "" %> value="SET_DEFAULT_ADDRESS">SET_DEFAULT_ADDRESS</option> 
              <option <%= eventType.equals("ADD_TO_CART")? "selected='selected'": "" %> value="ADD_TO_CART">ADD_TO_CART</option> 
              <option <%= eventType.equals("DELETE_FROM_CART")? "selected='selected'": "" %> value="DELETE_FROM_CART">DELETE_FROM_CART</option> 
              <option <%= eventType.equals("UPDATE_CART_QUANTITY")? "selected='selected'": "" %> value="UPDATE_CART_QUANTITY">UPDATE_CART_QUANTITY</option> 
              <option <%= eventType.equals("UPDATE_CART_QUANTITY_FAILED")? "selected='selected'": "" %> value="UPDATE_CART_QUANTITY_FAILED">UPDATE_CART_QUANTITY_FAILED</option>
              <option <%= eventType.equals("PAYMENT_FAILURE")? "selected='selected'": "" %> value="PAYMENT_FAILURE">PAYMENT_FAILURE</option> 
              <option <%= eventType.equals("PRODUCT_VIEW")? "selected='selected'": "" %> value="PRODUCT_VIEW">PRODUCT_VIEW</option> 
              <option <%= eventType.equals("PRODUCT_SEARCH")? "selected='selected'": "" %> value="PRODUCT_SEARCH">PRODUCT_SEARCH</option> 
              <option <%= eventType.equals("PRODUCT_COMPARE")? "selected='selected'": "" %> value="PRODUCT_COMPARE">PRODUCT_COMPARE</option> 
              <option <%= eventType.equals("LOGIN_FAILED")? "selected='selected'": "" %> value="LOGIN_FAILED">LOGIN_FAILED</option> 
              <option <%= eventType.equals("LOGIN_SUCCESS")? "selected='selected'": "" %> value="LOGIN_SUCCESS">LOGIN_SUCCESS</option> 
              <option <%= eventType.equals("LOGOUT")? "selected='selected'": "" %> value="LOGOUT">LOGOUT</option> 
              <option <%= eventType.equals("RESEARCH_ADD")? "selected='selected'": "" %> value="RESEARCH_ADD">RESEARCH_ADD</option> 
              <option <%= eventType.equals("RESEARCH_DELETE")? "selected='selected'": "" %> value="RESEARCH_DELETE">RESEARCH_DELETE</option> 
              <option <%= eventType.equals("REGISTER_SUCCESS")? "selected='selected'": "" %> value="REGISTER_SUCCESS">REGISTER_SUCCESS</option> 
              <option <%= eventType.equals("REGISTER_FAILED_USER_EXISTS")? "selected='selected'": "" %> value="REGISTER_FAILED_USER_EXISTS">REGISTER_FAILED_USER_EXISTS</option> 
          <option <%= eventType.equals("REGISTER_DATA_INCOMPLETE")? "selected='selected'": "" %> value="REGISTER_DATA_INCOMPLETE">REGISTER_DATA_INCOMPLETE</option> 
          <option <%= eventType.equals("SHIPPINIG_ACCESS")? "selected='selected'": "" %> value="SHIPPINIG_ACCESS">SHIPPINIG_ACCESS</option> 
          <option <%= eventType.equals("PROCEED_TO_PAY")? "selected='selected'": "" %> value="PROCEED_TO_PAY">PROCEED_TO_PAY</option>
          <option <%= eventType.equals("SHIPPINIG_ADD_ADDRESS")? "selected='selected'": "" %> value="SHIPPINIG_ADD_ADDRESS">SHIPPINIG_ADD_ADDRESS</option> 
          <option <%= eventType.equals("SHIPPINIG_ADD_CHANGE")? "selected='selected'": "" %> value="SHIPPINIG_ADD_CHANGE">SHIPPINIG_ADD_CHANGE</option> 
          <option <%= eventType.equals("ORDER_CREATION")? "selected='selected'": "" %> value="ORDER_CREATION">ORDER_CREATION</option> 
          <option <%= eventType.equals("NEW_SESSION")? "selected='selected'": "" %> value="NEW_SESSION">NEW_SESSION</option> 
          <option <%= eventType.equals("COUPON_APPLIED")? "selected='selected'": "" %> value="COUPON_APPLIED">COUPON_APPLIED</option> 
          <option <%= eventType.equals("COUPON_REMOVED")? "selected='selected'": "" %> value="COUPON_REMOVED">COUPON_REMOVED</option> 
      </select>
      <input type="submit" name="submit" id="submit" value="Submit"/><br/>
    </form>
  
<%
    try {
        if (fromDateStr != null) {
            fromDate = iSdf.parse(fromDateStr);
        }
        if (toDateStr != null) {
            toDate = iSdf.parse(toDateStr);
        }
    }
    catch (ParseException pe) {
%>
        <span>Invalid Date Format</span>
<%
    }
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    sdf.setTimeZone(TimeZone.getTimeZone("IST"));
    DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
    Query query = new Query("DataLog");
    query.addFilter("eventType", Query.FilterOperator.EQUAL, eventType);
    query.addFilter("date", Query.FilterOperator.GREATER_THAN_OR_EQUAL, fromDate);
    query.addFilter("date", Query.FilterOperator.LESS_THAN, toDate);
    PreparedQuery pq = datastore.prepare(query);
%>
    <table cellpadding="0" cellspacing="0" border="0" class="display" id="payments">
    <thead>
        <tr>
            <th>Date</th>
            <th>UserId</th>
            <th>View Session</th>
            <th>Information</th>
        </tr>
    </thead>
    <tbody>

<%
    for (Entity result : pq.asIterable()) {
        try {
%>

        <tr>
            <td><%= sdf.format((Date)(result.getProperty("date"))) %></td>
            <td><a href="/jsp/user-activity.jsp?email=<%=result.getProperty("email").toString()%>"><%= result.getProperty("email").toString() %></a></td>
            <td><a href="/jsp/session-activity.jsp?sessionId=<%=result.getProperty("sessionId").toString()%>">View Session</a></td>
            <td>
            <%
            for (Entry<String, Object> entry : result.getProperties().entrySet()) {
                String key = entry.getKey();
                if (key.equals("email") || key.equals("sessionId")
                        || key.equals("userId") || key.equals("date")
                        || key.equals("eventType") || key.equals("logTime") || key.equals("shortdate")) {
                    continue;
                }
                String value = "";
                if (entry.getValue() != null) {
                    value = entry.getValue().toString();
                }
%> 
                    <%=key + ":" + value + "; "%> 
<%
     }
 %>
            
            </td>
        </tr>
<%
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }
%>
        </tbody>
    </table>
    
    <script type="text/javascript" language="javascript" src="/DataTables/media/js/jquery.js"></script>
    <script type="text/javascript" language="javascript" src="/DataTables/media/js/jquery.dataTables.min.js"></script>
    <script type="text/javascript" charset="utf-8" src="/DataTables/extras/TableTools/media/js/ZeroClipboard.js"></script>
    <script type="text/javascript" charset="utf-8" src="/DataTables/extras/TableTools/media/js/TableTools.js"></script>
    <script type="text/javascript" charset="utf-8">
        $(document).ready(function() {
            $('#payments').dataTable({
                "sPaginationType": "full_numbers",
                "bProcessing": true,
                "bStateSave": true,
                "sDom": 'T<"clear">lfrtip',
                "oTableTools": {
                    "sSwfPath": "/DataTables/extras/TableTools/media/swf/copy_cvs_xls_pdf.swf"
                },
                "aoColumns": [ 
                          null,
                          null,
                          { "bSearchable": false },
                          null
                ] 
            });
        } );
    </script>
  </body>
</html>