KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > mvnforum > admin > TutorWebHandler


1 /*
2  * $Header: /cvsroot/mvnforum/mvnforum/src/com/mvnforum/admin/TutorWebHandler.java,v 1.12 2006/04/14 17:05:26 minhnn Exp $
3  * $Author: minhnn $
4  * $Revision: 1.12 $
5  * $Date: 2006/04/14 17:05:26 $
6  *
7  * ====================================================================
8  *
9  * Copyright (C) 2002-2006 by MyVietnam.net
10  *
11  * All copyright notices regarding mvnForum MUST remain
12  * intact in the scripts and in the outputted HTML.
13  * The "powered by" text/logo with a link back to
14  * http://www.mvnForum.com and http://www.MyVietnam.net in
15  * the footer of the pages MUST remain visible when the pages
16  * are viewed on the internet or intranet.
17  *
18  * This program is free software; you can redistribute it and/or modify
19  * it under the terms of the GNU General Public License as published by
20  * the Free Software Foundation; either version 2 of the License, or
21  * any later version.
22  *
23  * This program is distributed in the hope that it will be useful,
24  * but WITHOUT ANY WARRANTY; without even the implied warranty of
25  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26  * GNU General Public License for more details.
27  *
28  * You should have received a copy of the GNU General Public License
29  * along with this program; if not, write to the Free Software
30  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
31  *
32  * Support can be obtained from support forums at:
33  * http://www.mvnForum.com/mvnforum/index
34  *
35  * Correspondence and Marketing Questions can be sent to:
36  * info at MyVietnam net
37  *
38  * @author: Minh Nguyen
39  * @author: Mai Nguyen
40  */

41
42 package com.mvnforum.admin;
43
44 /**
45  *
46  * @author mainh
47  */

48 import java.sql.Timestamp JavaDoc;
49 import java.util.Collection JavaDoc;
50
51 import com.mvnforum.MVNForumConfig;
52 import com.mvnforum.auth.*;
53 import com.mvnforum.db.*;
54 import net.myvietnam.mvncore.exception.*;
55 import net.myvietnam.mvncore.util.DateUtil;
56 import net.myvietnam.mvncore.util.GenericParamUtil;
57 import net.myvietnam.mvncore.web.GenericRequest;
58 import org.apache.commons.logging.Log;
59 import org.apache.commons.logging.LogFactory;
60
61 public class TutorWebHandler {
62
63     private static Log log = LogFactory.getLog(TutorWebHandler.class);
64
65     private OnlineUserManager onlineUserManager = OnlineUserManager.getInstance();
66
67     /** Creates a new instance of TutorWebHandler */
68     public TutorWebHandler() {
69     }
70
71     public void prepareShowTutorManagement(GenericRequest request)
72         throws DatabaseException, AssertionException, BadInputException, ObjectNotFoundException, AuthenticationException {
73
74         OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
75         MVNForumPermission permission = onlineUser.getPermission();
76         permission.ensureCanAdminSystem();
77
78         int postsPerPage = onlineUser.getPostsPerPage();
79         int offset = 0;
80         try {
81             offset = GenericParamUtil.getParameterInt(request, "offset");
82         } catch (BadInputException e) {
83             // do nothing
84
}
85
86         int groupID = DAOFactory.getGroupsDAO().getGroupIDFromGroupName(GroupsDAO.TUTOR_GROUP_NAME);
87         int totalTutors = DAOFactory.getMemberGroupDAO().getNumberOfBeans_inGroup(groupID);
88
89         if (offset > totalTutors) {
90             //@todo : localize me
91
throw new BadInputException("The offset is not allowed to be greater than total members.");
92         }
93         Collection JavaDoc tutorBeans = DAOFactory.getMemberGroupDAO().getBeans_limit(groupID, offset, postsPerPage);
94
95         request.setAttribute("TutorBeans", tutorBeans);
96         request.setAttribute("TotalTutors", new Integer JavaDoc(totalTutors));
97         request.setAttribute("TutorGroupID", new Integer JavaDoc(groupID));
98     }
99
100     public void prepareAssignUserToTutor(GenericRequest request)
101         throws DatabaseException, AssertionException, BadInputException, ObjectNotFoundException, AuthenticationException {
102
103         OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
104         MVNForumPermission permission = onlineUser.getPermission();
105         permission.ensureCanAdminSystem();
106
107         int tutorID = GenericParamUtil.getParameterInt(request, "tutorid");
108         MemberBean tutorBean = DAOFactory.getMemberDAO().getMember_forPublic(tutorID);
109         //warning: Must check if user is a tutor or not
110

111         // for sort and order stuff
112
String JavaDoc sort = GenericParamUtil.getParameter(request, "sort");
113         String JavaDoc order = GenericParamUtil.getParameter(request, "order");
114         if (sort.length() == 0) sort = "MemberCreationDate";
115         if (order.length()== 0) order = "DESC";
116
117         // we continue
118
int postsPerPage = onlineUser.getPostsPerPage();
119         int offset = 0;
120         try {
121             offset = GenericParamUtil.getParameterInt(request, "offset");
122         } catch (BadInputException e) {
123             // do nothing
124
}
125         // This function is used to specify how many member is avaiable(NO belongs to any tutor)
126
int totalMembers = DAOFactory.getMemberTutorDAO().getNumberOfMembers();
127
128         if (offset > totalMembers) {
129             //@todo : localize me
130
throw new BadInputException("The offset is not allowed to be greater than total members.");
131         }
132
133         //Collection memberRows = DAOFactory.getMemberDAO().getMembers_withSortSupport_limit(offset, postsPerPage, sort, order);
134

135         // This function is used to specify all member is avaiable (No belongs to any tutor)
136
Collection JavaDoc memberRows = DAOFactory.getMemberTutorDAO().getBeans(offset, postsPerPage);
137
138         Collection JavaDoc memberRowsOfTutor = DAOFactory.getMemberTutorDAO().getMembers_inTutor(tutorID);
139
140         request.setAttribute("MemberBeans", memberRows);
141         request.setAttribute("TotalMembers", new Integer JavaDoc(totalMembers));
142         request.setAttribute("MembersOfTutor", memberRowsOfTutor);
143         request.setAttribute("TutorBean", tutorBean);
144         request.setAttribute("offset", new Integer JavaDoc(offset));
145     }
146
147     public void prepareListUserToTutor(GenericRequest request)
148         throws DatabaseException, AssertionException, BadInputException, ObjectNotFoundException, AuthenticationException {
149
150         OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
151         MVNForumPermission permission = onlineUser.getPermission();
152         permission.ensureCanAdminSystem();
153
154         int tutorID = GenericParamUtil.getParameterInt(request, "tutorid");
155         MemberBean tutorBean = DAOFactory.getMemberDAO().getMember_forPublic(tutorID); //Wrong roi
156

157         //warning: Must check if user is a tutor or not
158

159
160         // for sort and order stuff
161
String JavaDoc sort = GenericParamUtil.getParameter(request, "sort");
162         String JavaDoc order = GenericParamUtil.getParameter(request, "order");
163         if (sort.length() == 0) sort = "MemberCreationDate";
164         if (order.length()== 0) order = "DESC";
165
166         // we continue
167
//int postsPerPage = onlineUser.getPostsPerPage();
168
int offset = 0;
169         try {
170             offset = GenericParamUtil.getParameterInt(request, "offset");
171         } catch (BadInputException e) {
172             // do nothing
173
}
174
175         int totalMembers = DAOFactory.getMemberTutorDAO().getNumberOfBeans_inTutor(tutorID);
176
177         if (offset > totalMembers) {
178             //@todo : localize me
179
throw new BadInputException("The offset is not allowed to be greater than total members.");
180         }
181
182         //Collection memberRows = DAOFactory.getMemberDAO().getMembers_withSortSupport_limit(offset, postsPerPage, sort, order);
183

184         // This function is used to specify all member is avaiable (No belongs to any tutor)
185
//Collection memberRows = DAOFactory.getMemberTutorDAO().getBeans(offset, postsPerPage);
186

187         Collection JavaDoc memberRowsOfTutor = DAOFactory.getMemberTutorDAO().getMembers_inTutor(tutorID);
188
189         request.setAttribute("TotalMembers", new Integer JavaDoc(totalMembers));
190         request.setAttribute("MembersOfTutor", memberRowsOfTutor);
191         request.setAttribute("offset", new Integer JavaDoc(offset));
192         request.setAttribute("TutorBean", tutorBean);
193     }
194
195     public void prepareListUserExpire_unused(GenericRequest request)
196         throws DatabaseException, AssertionException, BadInputException, AuthenticationException {
197
198         OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
199         MVNForumPermission permission = onlineUser.getPermission();
200         permission.ensureCanAdminSystem();
201
202         //int tutorID = GenericParamUtil.getParameterInt(request, "tutorid");
203
//MemberBean tutorBean = DAOFactory.getMemberDAO().getMember_forPublic(tutorID); //Wrong roi
204

205         //warning: Must check if user is a tutor or not
206

207         // for sort and order stuff
208
String JavaDoc sort = GenericParamUtil.getParameter(request, "sort");
209         String JavaDoc order = GenericParamUtil.getParameter(request, "order");
210         if (sort.length() == 0) sort = "MemberCreationDate";
211         if (order.length()== 0) order = "DESC";
212
213         // we continue
214
int postsPerPage = onlineUser.getPostsPerPage();
215         int offset = 0;
216         try {
217             offset = GenericParamUtil.getParameterInt(request, "offset");
218         } catch (BadInputException e) {
219             // do nothing
220
}
221         Timestamp JavaDoc now = DateUtil.getCurrentGMTTimestampExpiredDay(MVNForumConfig.getUserTutorExpireSoonDate());
222         int totalMembers = DAOFactory.getMemberTutorDAO().getNumberOfBeans_inExpire(now);
223
224         if (offset > totalMembers) {
225             //@todo : localize me
226
throw new BadInputException("The offset is not allowed to be greater than total members.");
227         }
228
229         Collection JavaDoc memberRowsOfUser = DAOFactory.getMemberTutorDAO().getBeans_inExpire_limit(now, offset, postsPerPage);
230
231         request.setAttribute("TotalMembers", new Integer JavaDoc(totalMembers));
232         request.setAttribute("MembersOfUser", memberRowsOfUser);
233         request.setAttribute("offset", new Integer JavaDoc(offset));
234         //request.setAttribute("TutorBean", tutorBean);
235
}
236
237     public void updateMemberTutorProcess(GenericRequest request)
238         throws DatabaseException, DuplicateKeyException, AssertionException, BadInputException,
239         CreateException, ObjectNotFoundException, AuthenticationException, ForeignKeyNotFoundException {
240
241         OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
242         MVNForumPermission permission = onlineUser.getPermission();
243         permission.ensureCanAdminSystem();
244
245         String JavaDoc btnAssign = GenericParamUtil.getParameter(request, "AssignButton");
246         String JavaDoc btnUnAssign = GenericParamUtil.getParameter(request, "UnAssignButton");
247         int tutorID = GenericParamUtil.getParameterInt(request, "TutorID");
248
249         String JavaDoc[] checkList = request.getParameterValues("selectedmember");
250         int relationType = 0;
251         int relationOption = 0;
252         int relationStatus = 0;
253
254         if ("Assign".equals(btnAssign)) {
255             String JavaDoc tutorName = GenericParamUtil.getParameter(request, "TutorName", true);
256             Timestamp JavaDoc exprire = DateUtil.getCurrentGMTTimestampExpiredDay(MVNForumConfig.getExpireDateTutor());
257             Timestamp JavaDoc now = DateUtil.getCurrentGMTTimestamp();
258             for (int i = 0; (checkList != null) && (i < checkList.length); i++) {
259                 int memberID = Integer.parseInt(checkList[i]);
260                 log.debug("Process Assign for MemberID = " + memberID);
261                 MemberBean memberBean = DAOFactory.getMemberDAO().getMember_forPublic(memberID);
262                 DAOFactory.getMemberTutorDAO().create(memberID, memberBean.getMemberName(), tutorID, tutorName,
263                         now, exprire, relationType, relationOption, relationStatus);
264             }
265             request.setAttribute("action", "assign");
266         } else if ("UnAssign".equals(btnUnAssign)) {
267             for (int i = 0; (checkList != null) && (i < checkList.length); i++) {
268                 int memberID = Integer.parseInt(checkList[i]);
269                 log.debug("Process UnAssign for MemberID = " + memberID);
270                 DAOFactory.getMemberTutorDAO().delete(memberID);
271             }
272             request.setAttribute("action", "unassign");
273         }
274     }
275 }
276
Popular Tags