Subversion Repositories SmartDukaan

Rev

Rev 1891 | Rev 2190 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1891 Rev 1941
Line 1... Line 1...
1
package in.shop2020.support.controllers;
1
package in.shop2020.support.controllers;
2
 
2
 
3
import in.shop2020.support.services.PaymentDetailsGenerator;
3
import in.shop2020.support.services.PaymentDetailsGenerator;
-
 
4
import in.shop2020.support.utils.ReportsUtils;
4
 
5
 
5
import java.io.ByteArrayOutputStream;
6
import java.io.ByteArrayOutputStream;
6
import java.io.IOException;
7
import java.io.IOException;
7
import java.text.DateFormat;
8
import java.text.DateFormat;
8
import java.text.ParseException;
9
import java.text.ParseException;
9
import java.text.SimpleDateFormat;
10
import java.text.SimpleDateFormat;
10
import java.util.Calendar;
11
import java.util.Calendar;
11
import java.util.Date;
12
import java.util.Date;
12
 
13
 
-
 
14
import javax.servlet.ServletContext;
13
import javax.servlet.ServletOutputStream;
15
import javax.servlet.ServletOutputStream;
-
 
16
import javax.servlet.http.HttpServletRequest;
-
 
17
import javax.servlet.http.HttpServletResponse;
-
 
18
import javax.servlet.http.HttpSession;
14
 
19
 
15
import org.apache.struts2.convention.annotation.InterceptorRef;
20
import org.apache.struts2.convention.annotation.InterceptorRef;
16
import org.apache.struts2.convention.annotation.InterceptorRefs;
21
import org.apache.struts2.convention.annotation.InterceptorRefs;
-
 
22
import org.apache.struts2.interceptor.ServletRequestAware;
-
 
23
import org.apache.struts2.interceptor.ServletResponseAware;
17
import org.apache.struts2.convention.annotation.Result;
24
import org.apache.struts2.util.ServletContextAware;
18
 
25
 
19
 
26
 
20
@InterceptorRefs({
27
@InterceptorRefs({
21
    @InterceptorRef("myDefault"),
28
    @InterceptorRef("defaultStack"),
22
    @InterceptorRef("login")
29
    @InterceptorRef("login")
23
})
30
})
24
 
31
 
25
public class PaymentDetailsController extends ReportsController {
32
public class PaymentDetailsController implements ServletRequestAware, ServletResponseAware, ServletContextAware {
26
 
33
 
-
 
34
    private HttpServletRequest request;
-
 
35
    private HttpSession session;
-
 
36
    private HttpServletResponse response;
-
 
37
    private ServletContext context;
-
 
38
    
27
    private String errorMsg = "";
39
    private String errorMsg = "";
28
    private final String authsuccess = "authsuccess";
40
    private final String authsuccess = "authsuccess";
29
    private final String authfail = "authfail";
41
    private final String authfail = "authfail";
30
    public PaymentDetailsController() {
42
    public PaymentDetailsController() {
31
 
43
 
32
    }
44
    }
33
 
45
 
34
    public String index() {
46
    public String index() {
35
        if(!canAccessReport()) {
47
        if(!ReportsUtils.canAccessReport((Long)session.getAttribute(ReportsUtils.ROLE), request.getServletPath())) {
36
            return "exception";
48
            return "exception";
37
        }
49
        }
38
        return authsuccess;
50
        return authsuccess;
39
    }
51
    }
40
 
52
 
41
    // Handles the POST request (Form Submission)
53
    // Handles the POST request (Form Submission)
42
    public String create() {
54
    public String create() {
43
        // Formatting Form input parameters
55
        // Formatting Form input parameters
44
        String startDateStr = getServletRequest().getParameter("startDate");
56
        /*String startDateStr = getServletRequest().getParameter("startDate");
45
        String endDateStr = getServletRequest().getParameter("endDate");
57
        String endDateStr = getServletRequest().getParameter("endDate");
46
        String statusStr = getServletRequest().getParameter("status");
58
        String statusStr = getServletRequest().getParameter("status");*/
-
 
59
        String startDateStr = request.getParameter("startDate");
-
 
60
        String endDateStr = request.getParameter("endDate");
-
 
61
        String statusStr = request.getParameter("status");
47
        String filenameStr = "";
62
        String filenameStr = "";
48
        int status = 1;
63
        int status = 1;
49
        DateFormat df = new SimpleDateFormat("MM/dd/yyyy");
64
        DateFormat df = new SimpleDateFormat("MM/dd/yyyy");
50
        Date startDate = null, endDate = null;
65
        Date startDate = null, endDate = null;
51
        try {
66
        try {
Line 74... Line 89...
74
        } else {
89
        } else {
75
            errorMsg = "Generating report...";
90
            errorMsg = "Generating report...";
76
        }
91
        }
77
 
92
 
78
        // Preparing XLS file for output
93
        // Preparing XLS file for output
79
        getServletResponse().setContentType("application/vnd.ms-excel");
94
        response.setContentType("application/vnd.ms-excel");
80
        getServletResponse().setHeader("Content-disposition", "inline; filename=payments-report-" + filenameStr + ".xls");
95
        response.setHeader("Content-disposition", "inline; filename=payments-report-" + filenameStr + ".xls");
81
        ServletOutputStream sos;
96
        ServletOutputStream sos;
82
        try {
97
        try {
83
            sos = getServletResponse().getOutputStream();
98
            sos = response.getOutputStream();
84
            baos.writeTo(sos);
99
            baos.writeTo(sos);
85
            sos.flush();
100
            sos.flush();
86
            errorMsg = "Report generated";
101
            errorMsg = "Report generated";
87
        } catch (IOException e) {
102
        } catch (IOException e) {
88
            errorMsg = "Failed to write to response.";
103
            errorMsg = "Failed to write to response.";
Line 92... Line 107...
92
    }
107
    }
93
 
108
 
94
    public String getErrorMsg() {
109
    public String getErrorMsg() {
95
        return errorMsg;
110
        return errorMsg;
96
    }
111
    }
-
 
112
 
-
 
113
    @Override
-
 
114
    public void setServletRequest(HttpServletRequest req) {
-
 
115
        this.request = req;
-
 
116
        this.session = req.getSession();        
-
 
117
    }
-
 
118
 
-
 
119
    @Override
-
 
120
    public void setServletResponse(HttpServletResponse res) {
-
 
121
        this.response = res;
-
 
122
    }
-
 
123
    
-
 
124
    @Override
-
 
125
    public void setServletContext(ServletContext context) {
-
 
126
        this.context = context;
-
 
127
    }
-
 
128
 
-
 
129
    public String getServletContextPath() {
-
 
130
        return context.getContextPath();
-
 
131
    }
97
}
132
}