Subversion Repositories SmartDukaan

Rev

Rev 1676 | Rev 1941 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1676 ankur.sing 1
package in.shop2020.support.controllers;
2
 
3
import in.shop2020.support.services.RegisteredUsersGenerator;
4
 
5
import java.io.ByteArrayOutputStream;
6
import java.io.IOException;
7
 
8
import javax.servlet.ServletOutputStream;
9
 
1891 ankur.sing 10
import org.apache.struts2.convention.annotation.InterceptorRef;
11
import org.apache.struts2.convention.annotation.InterceptorRefs;
12
import org.apache.struts2.convention.annotation.Result;
1676 ankur.sing 13
 
14
 
1891 ankur.sing 15
@InterceptorRefs({
16
    @InterceptorRef("myDefault"),
17
    @InterceptorRef("login")
18
})
1676 ankur.sing 19
 
1891 ankur.sing 20
public class RegisteredUsersController extends ReportsController {
21
 
1676 ankur.sing 22
    private final String authsuccess = "authsuccess";
23
    private String message = "";
24
 
25
    public RegisteredUsersController() {
26
 
27
    }
28
 
29
    public String index() {
1891 ankur.sing 30
        if(!canAccessReport()) {
31
            return "exception";
1676 ankur.sing 32
        }
1891 ankur.sing 33
        return authsuccess;
1676 ankur.sing 34
    }
35
 
36
    // Handles the POST request (Form Submission)
37
    public String create() {
38
        RegisteredUsersGenerator usersReportGenerator = new RegisteredUsersGenerator();
39
        ByteArrayOutputStream baos = usersReportGenerator.generateRegisteredUsersReport();
40
 
41
        if(baos == null) {
42
            message = "No registered user exists.";;
43
            return authsuccess;
44
        }
45
        // Preparing XLS file for output
1891 ankur.sing 46
        getServletResponse().setContentType("application/vnd.ms-excel");
47
        getServletResponse().setHeader("Content-disposition", "inline; filename=registered-users" + ".xls");
1676 ankur.sing 48
        ServletOutputStream sos;
49
        try {
1891 ankur.sing 50
            sos = getServletResponse().getOutputStream();
1676 ankur.sing 51
            baos.writeTo(sos);
52
            sos.flush();
53
        } catch (IOException e) {
54
            e.printStackTrace();
55
        }
56
        return authsuccess;
57
    }
58
 
59
    public String getMessage() {
60
        return message;
61
    }
62
}