1 41 42 package com.mvnforum.admin; 43 44 48 import java.sql.Timestamp ; 49 import java.util.Collection ; 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 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 } 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 throw new BadInputException("The offset is not allowed to be greater than total members."); 92 } 93 Collection tutorBeans = DAOFactory.getMemberGroupDAO().getBeans_limit(groupID, offset, postsPerPage); 94 95 request.setAttribute("TutorBeans", tutorBeans); 96 request.setAttribute("TotalTutors", new Integer (totalTutors)); 97 request.setAttribute("TutorGroupID", new Integer (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 111 String sort = GenericParamUtil.getParameter(request, "sort"); 113 String order = GenericParamUtil.getParameter(request, "order"); 114 if (sort.length() == 0) sort = "MemberCreationDate"; 115 if (order.length()== 0) order = "DESC"; 116 117 int postsPerPage = onlineUser.getPostsPerPage(); 119 int offset = 0; 120 try { 121 offset = GenericParamUtil.getParameterInt(request, "offset"); 122 } catch (BadInputException e) { 123 } 125 int totalMembers = DAOFactory.getMemberTutorDAO().getNumberOfMembers(); 127 128 if (offset > totalMembers) { 129 throw new BadInputException("The offset is not allowed to be greater than total members."); 131 } 132 133 135 Collection memberRows = DAOFactory.getMemberTutorDAO().getBeans(offset, postsPerPage); 137 138 Collection memberRowsOfTutor = DAOFactory.getMemberTutorDAO().getMembers_inTutor(tutorID); 139 140 request.setAttribute("MemberBeans", memberRows); 141 request.setAttribute("TotalMembers", new Integer (totalMembers)); 142 request.setAttribute("MembersOfTutor", memberRowsOfTutor); 143 request.setAttribute("TutorBean", tutorBean); 144 request.setAttribute("offset", new Integer (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); 157 159 160 String sort = GenericParamUtil.getParameter(request, "sort"); 162 String order = GenericParamUtil.getParameter(request, "order"); 163 if (sort.length() == 0) sort = "MemberCreationDate"; 164 if (order.length()== 0) order = "DESC"; 165 166 int offset = 0; 169 try { 170 offset = GenericParamUtil.getParameterInt(request, "offset"); 171 } catch (BadInputException e) { 172 } 174 175 int totalMembers = DAOFactory.getMemberTutorDAO().getNumberOfBeans_inTutor(tutorID); 176 177 if (offset > totalMembers) { 178 throw new BadInputException("The offset is not allowed to be greater than total members."); 180 } 181 182 184 187 Collection memberRowsOfTutor = DAOFactory.getMemberTutorDAO().getMembers_inTutor(tutorID); 188 189 request.setAttribute("TotalMembers", new Integer (totalMembers)); 190 request.setAttribute("MembersOfTutor", memberRowsOfTutor); 191 request.setAttribute("offset", new Integer (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 205 207 String sort = GenericParamUtil.getParameter(request, "sort"); 209 String order = GenericParamUtil.getParameter(request, "order"); 210 if (sort.length() == 0) sort = "MemberCreationDate"; 211 if (order.length()== 0) order = "DESC"; 212 213 int postsPerPage = onlineUser.getPostsPerPage(); 215 int offset = 0; 216 try { 217 offset = GenericParamUtil.getParameterInt(request, "offset"); 218 } catch (BadInputException e) { 219 } 221 Timestamp now = DateUtil.getCurrentGMTTimestampExpiredDay(MVNForumConfig.getUserTutorExpireSoonDate()); 222 int totalMembers = DAOFactory.getMemberTutorDAO().getNumberOfBeans_inExpire(now); 223 224 if (offset > totalMembers) { 225 throw new BadInputException("The offset is not allowed to be greater than total members."); 227 } 228 229 Collection memberRowsOfUser = DAOFactory.getMemberTutorDAO().getBeans_inExpire_limit(now, offset, postsPerPage); 230 231 request.setAttribute("TotalMembers", new Integer (totalMembers)); 232 request.setAttribute("MembersOfUser", memberRowsOfUser); 233 request.setAttribute("offset", new Integer (offset)); 234 } 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 btnAssign = GenericParamUtil.getParameter(request, "AssignButton"); 246 String btnUnAssign = GenericParamUtil.getParameter(request, "UnAssignButton"); 247 int tutorID = GenericParamUtil.getParameterInt(request, "TutorID"); 248 249 String [] checkList = request.getParameterValues("selectedmember"); 250 int relationType = 0; 251 int relationOption = 0; 252 int relationStatus = 0; 253 254 if ("Assign".equals(btnAssign)) { 255 String tutorName = GenericParamUtil.getParameter(request, "TutorName", true); 256 Timestamp exprire = DateUtil.getCurrentGMTTimestampExpiredDay(MVNForumConfig.getExpireDateTutor()); 257 Timestamp 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
|