def execute(self): if self.loginUser == None: backUrl = request.getAttribute('javax.servlet.forward.request_uri') if backUrl == None or backUrl == "":backUrl = request.requestURI response.sendRedirect(CommonUtil.getSiteUrl(request) + "login.jsp?redUrl=" + CommonUtil.urlUtf8Encode(CommonUtil.getSiteServer(request) + backUrl)) return accessControlService = __spring__.getBean("accessControlService") if accessControlService.isSystemAdmin(self.loginUser) == False: self.addActionError(u"没有管理权限.") return ActionResult.ERROR if request.getMethod() == "POST": return self.coursePost() else: qry = PrepareCourseQuery(""" pc.title, pc.prepareCourseId, pc.createDate,pc.metaSubjectId,pc.gradeId,pc.createUserId,u.loginName,u.trueName """) pager = self.params.createPager() pager.itemName = u"备课" pager.itemUnit = u"个" pager.pageSize = 20 pager.totalRows = qry.count() preparecourse_list = qry.query_map(pager) request.setAttribute("preparecourse_list", preparecourse_list) request.setAttribute("pager", pager) response.setContentType("text/html; charset=UTF-8") return "/WEB-INF/ftl/course/admin_course_list.ftl"
def actionComment(self): if self.loginUser == None: self.addActionLink( u"返回活动", CommonUtil.getSiteUrl(request) + "manage/action/showAction.py?actionId=" + str(self.action.actionId)) self.addActionError(u"请<a href='../../login.jsp'>登录</a>发表留言。") return self.ERROR title = self.params.getStringParam("title") comment = self.params.getStringParam("actionComment") if title == None or title == "": self.addActionLink( u"返回活动", CommonUtil.getSiteUrl(request) + "manage/action/showAction.py?actionId=" + str(self.action.actionId)) self.addActionError(u"请输入讨论标题。") return self.ERROR if comment == None or comment == "": self.addActionLink( u"返回活动", CommonUtil.getSiteUrl(request) + "manage/action/showAction.py?actionId=" + str(self.action.actionId)) self.addActionError(u"请输入讨论内容。") return self.ERROR actionReply = ActionReply() actionReply.setTopic(title) actionReply.setContent(comment) actionReply.setAddIp(self.get_client_ip()) actionReply.setUserId(self.loginUser.userId) actionReply.setActionId(self.action.actionId) self.act_svc.addComment(actionReply) #计算转向页面地址 pageSize = self.params.getIntParam("pageSize") totalRows = self.params.getIntParam("totalRows") + 1 if pageSize <= 0: pageSize = 10 pageCount = totalRows / pageSize if totalRows % pageSize != 0: pageCount = pageCount + 1 response.sendRedirect("showAction.py?actionId=" + str(self.action.actionId) + "&page=" + str(pageCount)) return None
def execute(self): self.getBaseData() """ 发起或者编辑活动的前提: 1,用户必须先登录 2,登录用户必须是管理员或者备课成员 """ if self.loginUser == None: backUrl = request.getAttribute('javax.servlet.forward.request_uri') if backUrl == None or backUrl == "": backUrl = request.requestURI response.sendRedirect( CommonUtil.getSiteUrl(request) + "login.jsp?redUrl=" + CommonUtil.urlUtf8Encode( CommonUtil.getSiteServer(request) + backUrl)) return if self.prepareCourseId == 0: self.printer.write(u"无效的课程标识。") return self.prepareCourse = self.getBasePrepareCourse() if self.prepareCourse == None: self.printer.write(u"没有加载到所请求的备课。") return now = Date() if self.prepareCourse.startDate > now: self.printer.write(u"备课时间还没开始,不允许增加活动 。") return if self.prepareCourse.endDate < now: self.printer.write(u"备课已经结束,不允许增加活动 。") return # 如果有了prepareCourse对象,就可以使用show_preparecourse_ok_info了 page = self.getPrepareCoursePageWithCustomSkin(self.prepareCourse) widgets = [{ "id": "placerholder1", "pageId": 0, "columnIndex": 2, "title": "", "module": "placeholder", "ico": "", "data": "" }] request.setAttribute("widget_list", widgets) request.setAttribute("page", page) request.setAttribute("prepareCourse", self.prepareCourse) request.setAttribute("prepareCourseId", self.prepareCourseId) if self.isPrepareCourseMember() == False: operation_result = u"不是本课程的成员。" request.setAttribute("operation_result", operation_result) return "/WEB-INF/ftl/course/show_preparecourse_ok_info.ftl" if request.getMethod() == "POST": return self.save_action() else: return self.show_action_edit()
def execute(self): # 解析 uri. if self.parseUri() == False: return self.sendNotFound(self.uri) # 得到要访问的协作组, 访问者角色, 并验证其可访问状态. if self.getGroupInfo(self.groupName) == False: actionLinks = [ ActionLink(u"返回协作组列表", CommonUtil.getSiteUrl(request) + "groups.action") ] request.setAttribute("actionLinks", actionLinks) return self.ACCESS_ERROR #print "group = ", self.group, ", visitor = ", self.visitor, ", gm = ", self.group_member uuid = group_svc.getGroupCateUuid(self.group) if uuid == CategoryService.GROUP_CATEGORY_GUID_KTYJ: #课题 request.setAttribute("isKtGroup", "1") elif uuid == CategoryService.GROUP_CATEGORY_GUID_JTBK: #备课 request.setAttribute("isKtGroup", "2") else: request.setAttribute("isKtGroup", "0") # 得到协作组首页. page = self.getGroupIndexPage(self.group) #print "page =", page if page == None: return self.sendNotFound() request.setAttribute("page", page) # 得到页面功能块. self.widget_list = self.getPageWidgets(page) #print "self.widget_list = ", self.widget_list request.setAttribute("widget_list", self.widget_list) request.setAttribute("widgets", self.widget_list) # 增加访问计数. self.incGroupVisitCount(self.group) return "/WEB-INF/group/default/index.ftl"
def execute(self): self.getBaseData() response.setContentType("text/html; charset=UTF-8") if self.loginUser == None: backUrl = request.getAttribute('javax.servlet.forward.request_uri') if backUrl == None or backUrl == "": backUrl = request.requestURI response.sendRedirect( CommonUtil.getSiteUrl(request) + "login.jsp?redUrl=" + CommonUtil.urlUtf8Encode( CommonUtil.getSiteServer(request) + backUrl)) return if self.prepareCourseId == 0: self.printer.write(u"无效的课程标识。") return prepareCourse = self.getBasePrepareCourse() if prepareCourse == None: self.printer.write(u"没有加载到所请求的备课。") return if self.canView(prepareCourse) == False: self.printer.write(u"您无权查看本内容。") return if self.isPrepareCourseMember() == False: self.printer.write(u"您无权编辑备课内容。") return # 判断锁定人是否是当前用户 if prepareCourse.lockedUserId == None or prepareCourse.lockedUserId == 0: self.printer.write(u"当前没有被锁定。") return if prepareCourse.lockedUserId != self.loginUser.userId: self.printer.write(u"当前集备的锁定者不是您本人。锁定者userId = " + str(prepareCourse.lockedUserId)) return prepareCourse.setLockedUserId(0) self.pc_svc.updatePrepareCourse(prepareCourse) response.sendRedirect("../../0/")
def getSiteUrl(self): return CommonUtil.getSiteUrl(request)
def getCurrentSiteUrl(self, request): return CommonUtil.getSiteUrl(request)
def execute(self): if self.loginUser == None: backUrl = request.getAttribute('javax.servlet.forward.request_uri') if backUrl == None or backUrl == "": backUrl = request.requestURI backUrl = backUrl + "?" + request.getQueryString() response.sendRedirect( CommonUtil.getSiteUrl(request) + "login.jsp?redUrl=" + CommonUtil.urlUtf8Encode( CommonUtil.getSiteServer(request) + backUrl)) userName = self.loginUser.trueName group = None if userName == None: userName = self.loginUser.loginName roomId = self.params.safeGetIntParam("roomId") groupId = self.params.safeGetIntParam("groupId") prepareCourseId = self.params.safeGetIntParam("prepareCourseId") prepareCourse = None iType = 0 ChatRoomName = u"聊天室" if groupId == None or groupId == 0: if prepareCourseId == None or prepareCourseId == 0: if roomId == None or roomId == 0: roomId = 1 else: #备课 iType = 1 prepareCourse = self.prepareCourse_svc.getPrepareCourse( prepareCourseId) if prepareCourse == None: request.setAttribute("err", u"无法加载集体备课。") return "/WEB-INF/ftl/chat/chatErr.ftl" pm = self.prepareCourse_svc.getPrepareCourseMemberByCourseIdAndUserId( prepareCourseId, self.loginUser.userId) if pm == None: request.setAttribute("err", u"只有集备成员才能进行聊天。") return "/WEB-INF/ftl/chat/chatErr.ftl" ChatRoomName = prepareCourse.getTitle() + u"聊天室" roomId = str( self.chatroom_svc.getPrepareCourseRoomId(prepareCourseId)) if roomId == "-1": request.setAttribute("err", u"没有找到集体备课信息") return "/WEB-INF/ftl/chat/chatErr.ftl" else: iType = 2 group = self.group_svc.getGroup(groupId) if group == None: request.setAttribute("err", u"无法加载协作组。") return "/WEB-INF/ftl/chat/chatErr.ftl" #判断组成员 gm = self.group_svc.getGroupMemberByGroupIdAndUserId( groupId, self.loginUser.userId) if gm == None: request.setAttribute("err", u"只有该组成员才能进行聊天。") return "/WEB-INF/ftl/chat/chatErr.ftl" if gm.status != GroupMember.STATUS_NORMAL: if gm.status == GroupMember.STATUS_WAIT_AUDIT: request.setAttribute("err", u"该组成员状态待审核。") return "/WEB-INF/ftl/chat/chatErr.ftl" elif gm.status == GroupMember.STATUS_DELETING: request.setAttribute("err", u"该组成员状态待删除。") return "/WEB-INF/ftl/chat/chatErr.ftl" elif gm.status == GroupMember.STATUS_LOCKED: request.setAttribute("err", u"该组成员状态被锁定。") return "/WEB-INF/ftl/chat/chatErr.ftl" elif gm.status == GroupMember.STATUS_INVITING: request.setAttribute("err", u"该组成员邀请未回应。") return "/WEB-INF/ftl/chat/chatErr.ftl" else: request.setAttribute("err", u"该组成员状态非正常状态。") return "/WEB-INF/ftl/chat/chatErr.ftl" ChatRoomName = group.getGroupTitle() + u"聊天室" roomId = str(self.chatroom_svc.getRoomId(groupId)) if roomId == "-1": request.setAttribute("err", u"没有找到群组信息") return "/WEB-INF/ftl/chat/chatErr.ftl" if roomId == None or roomId == 0: roomId = 1 #检查是否是群组,是的话需要显示的群组的Banner request.setAttribute("type", iType) request.setAttribute("group", group) request.setAttribute("groupId", groupId) request.setAttribute("prepareCourseId", prepareCourseId) request.setAttribute("prepareCourse", prepareCourse) request.setAttribute("ChatRoomName", ChatRoomName) request.setAttribute("roomId", roomId) return "/WEB-INF/ftl/chat/chat.ftl"
def execute(self): self.getBaseData() if self.prepareCourseId == 0: self.printer.write(u"无效的课程标识。") return prepareCourse = self.getBasePrepareCourse() if prepareCourse == None: self.printer.write(u"没有加载到所请求的备课。") return if self.canView(prepareCourse) == False: self.printer.write(u"您无权查看本内容。") return if request.getMethod() == "POST": self.pubComment() page = self.getPrepareCoursePageWithCustomSkin(prepareCourse) widgets = [{ "id": "1", "pageId": 0, "columnIndex": 1, "title": u"备课基本信息", "module": "show_preparecourse_info", "ico": "", "data": "" }, { "id": "placerholder1", "pageId": 0, "columnIndex": 2, "title": "", "module": "placeholder", "ico": "", "data": "" }, { "id": "placerholder2", "pageId": 0, "columnIndex": 1, "title": "", "module": "placeholder", "ico": "", "data": "" }, { "id": "placerholder3", "pageId": 0, "columnIndex": 1, "title": "", "module": "placeholder", "ico": "", "data": "" }] qry = PrepareCourseMemberQuery( """ u.userId, u.userIcon, u.loginName,u.trueName,u.nickName""") qry.prepareCourseId = self.prepareCourse.prepareCourseId qry.orderType = 1 qry.status = 0 user_list = qry.query_map() prepareCourseEdit_list = self.pc_svc.getPrepareCourseEditList( self.prepareCourseId) request.setAttribute("prepareCourseEdit_list", prepareCourseEdit_list) request.setAttribute("user_list", user_list) request.setAttribute("page", page) request.setAttribute("widget_list", widgets) request.setAttribute("prepareCourse", prepareCourse) request.setAttribute("loginUser", self.loginUser) self.getCommentList() if prepareCourse.contentType == 2 or prepareCourse.contentType == 3 or prepareCourse.contentType == 4 or prepareCourse.contentType == 5 or prepareCourse.contentType == 100: #服务器 名称。默认是本站服务器 courseFileServer = "" swf = prepareCourse.commonContent if swf == None or swf == "": request.setAttribute( "error", u"该集备的共案选择了文件的方式,但并没有上载或者编写任何内容、或者没有保存成功,无法进行显示。") return "/WEB-INF/ftl/course/show_preparecourse_common_content2.ftl" if swf.find(".") > -1: swf = swf[0:swf.find(".")] prepareCourseFileServer = request.getSession().getServletContext( ).getInitParameter("PrepareCourseFileServer") pcFolder = CommonUtil.GetPrepareCourseFolder(request) if prepareCourseFileServer == None or prepareCourseFileServer == "": swfUrl = pcFolder[1] + str( self.prepareCourse.prepareCourseId) + "/" courseFileServer = CommonUtil.getSiteUrl(request) else: if prepareCourseFileServer.endswith("/") == False: prepareCourseFileServer += "/" courseFileServer = prepareCourseFileServer swfUrl = prepareCourseFileServer + "preparecoursefolder/" + str( self.prepareCourse.prepareCourseId) + "/" swfUrl = swfUrl + swf + ".swf" request.setAttribute("swfUrl", swfUrl) request.setAttribute("courseFileServer", courseFileServer) response.setContentType("text/html; charset=UTF-8") return "/WEB-INF/ftl/course/show_preparecourse_common_content2.ftl"
def execute(self): if self.loginUser == None: request.setAttribute("error", u"请重新登录。") return "/WEB-INF/ftl/show_resource_swf.ftl" param = ParamUtil(request) resourceId = self.params.safeGetIntParam("resource") resourceService = __jitar__.getResourceService() if resourceId == 0: request.setAttribute("error", u"缺少文件信息。") return "/WEB-INF/ftl/show_resource_swf.ftl" resource = resourceService.getResource(resourceId) if resource == None: request.setAttribute("error", u"无法加载资源。") return "/WEB-INF/ftl/show_resource_swf.ftl" #======================================================================= # enc = EncryptDecrypt("zhongjiaoqixing") # try: # resfile = enc.decrypt(resfile) # except: # request.setAttribute("error", u"解压缩过程中出现错误。") # return "/WEB-INF/ftl/show_resource.ftl" # finally: # encc = None #======================================================================= try: resfile = resource.href filename = resfile.lower() fileUserConfigPath = request.getSession().getServletContext( ).getInitParameter("userPath") if fileUserConfigPath == None or fileUserConfigPath == "": resfileapth = request.getSession().getServletContext( ).getRealPath("/" + resfile) else: if fileUserConfigPath.endswith("\\") == False: fileUserConfigPath = fileUserConfigPath + "\\" resfileapth = fileUserConfigPath + resfile.replace("/", "\\") ff = File(resfileapth) if ff.isFile() == False or ff.exists() == False: request.setAttribute("error", u"资源文件不存在,无法进行预览。") return "/WEB-INF/ftl/show_resource_swf.ftl" #这些文件直接显示 if filename.endswith(".jpg") or filename.endswith( ".gif") or filename.endswith(".png"): response.sendRedirect(CommonUtil.getSiteUrl(request) + resfile) return if filename.endswith(".txt"): content = FileUtils.readFileToString( ff, CommonUtil.getFileEncoding(resfileapth)) request.setAttribute("content", content) return "/WEB-INF/ftl/show_resource_txt.ftl" #PDF2SWFPath = request.getSession().getServletContext().getInitParameter("pdf2swfPath") #if PDF2SWFPath == None or PDF2SWFPath == "": #request.setAttribute("error", u"没有配置文件转换服务。") #return "/WEB-INF/ftl/show_resource_swf.ftl" if filename.endswith(".doc") or filename.endswith( ".docx" ): # or filename.endswith(".ppt") or filename.endswith(".pptx") or filename.endswith(".xls") or filename.endswith(".xlsx"): swf = resfileapth[0:resfileapth.find(".")] + ".swf" file = File(swf) if file.isFile() == False or file.exists() == False: #converter = DocConverter(JacobPDFConverter(), SWFToolsSWFConverter(PDF2SWFPath)) #converter.convert(resfileapth) #converter = None #转换服务 server_ip = request.getSession().getServletContext( ).getInitParameter("server_ip") server_port = request.getSession().getServletContext( ).getInitParameter("server_port") timeout = request.getSession().getServletContext( ).getInitParameter("timeout") fcs = FCSConverter() fcs.fcs( server_ip, server_port, timeout, resource.title, resfileapth[0:resfileapth.find(".")] + "." + filename.split(".")[-1], file.toString(), "0") request.setAttribute("resourceId", resourceId) request.setAttribute( "showWaiting", self.params.safeGetStringParam("showWaiting")) swf = CommonUtil.getSiteUrl( request) + resfile[0:resfile.find(".")] + ".swf" request.setAttribute("swf", swf) return "/WEB-INF/ftl/show_resource_swf.ftl" #if filename.endswith(".pdf"): #swf = resfileapth[0:resfileapth.find(".")] + ".swf" #file = File(swf) #if file.isFile() == False or file.exists() == False: #converter = SWFToolsSWFConverter(PDF2SWFPath) #converter.convert2SWF(resfileapth) #converter = None #request.setAttribute("resourceId", resourceId) #request.setAttribute("showWaiting", self.params.safeGetStringParam("showWaiting")) #swf = CommonUtil.getSiteUrl(request) + resfile[0:resfile.find(".")] + ".swf" #request.setAttribute("swf", swf) #return "/WEB-INF/ftl/show_resource_swf.ftl" if filename.endswith(".swf"): file = File(resfileapth) if file.isFile() == False or file.exists() == False: request.setAttribute("error", u"swf 文件不存在,无法进行预览。") return "/WEB-INF/ftl/show_resource_swf.ftl" swf = CommonUtil.getSiteUrl(request) + resfile request.setAttribute("orginIsSwf", "") request.setAttribute("swf", swf) return "/WEB-INF/ftl/show_resource_swf.ftl" request.setAttribute("error", u"此文件不支持预览。") return "/WEB-INF/ftl/show_resource_swf.ftl" except BaseException, varExption: if varExption != None: request.setAttribute( "error", u"预览此文件时出错,并且已经被捕获。<br/><br/>" + str(varExption)) else: request.setAttribute("error", u"预览此文件时出错,并且并且没有捕获到错误信息。") return "/WEB-INF/ftl/show_resource_swf.ftl"
def execute(self): self.getBaseData() if self.prepareCourseId == 0: self.printer.write(u"无效的课程标识。") return prepareCourse = self.getBasePrepareCourse() if prepareCourse == None: self.printer.write(u"没有加载到所请求的备课。") return if self.canView(prepareCourse) == False: self.printer.write(u"您无权查看本内容。") return showUser = None if self.params.existParam("userId"): self.userId = self.params.getIntParam("userId") if self.userId == None or self.userId == 0: self.printer.write(u"请选择一个要查看的用户。") return showUser = self.user_svc.getUserById(self.userId) elif self.params.existParam("userGuid"): self.userGuid = self.params.safeGetStringParam("userGuid") showUser = self.user_svc.getUserByGuid(self.userGuid) if showUser == None: self.printer.write(u"无效的用户。") return self.userId = showUser.getUserId() self.prepareCourseMember = self.pc_svc.getPrepareCourseMemberByCourseIdAndUserId(self.prepareCourseId, self.userId) if self.prepareCourseMember == None: self.printer.write(u"您访问的用户不在此备课内,或者未通过审核,或者加载成员对象失败。") return if request.getMethod() == "POST": self.saveComment() page = self.getPrepareCoursePageWithCustomSkin(prepareCourse) widgets = [ {"id": "1", "pageId":0, "columnIndex":1, "title":u"备课基本信息", "module":"show_preparecourse_info", "ico":"", "data":""}, {"id": "placerholder1", "pageId":0, "columnIndex":2, "title":"", "module":"placeholder", "ico":"", "data":""}, # {"id": "placerholder2", "pageId":0, "columnIndex":1,"title":"","module":"placeholder", "ico":"", "data":""}, {"id": "placerholder3", "pageId":0, "columnIndex":1, "title":"", "module":"placeholder", "ico":"", "data":""} ] qry = PrepareCourseMemberQuery(""" u.userId, u.userIcon, u.loginName,u.trueName,u.nickName""") qry.prepareCourseId = self.prepareCourse.prepareCourseId qry.orderType = 1 qry.status = 0 user_list = qry.query_map() prepareCourseEdit_list = self.pc_svc.getPrepareCourseEditList(self.prepareCourseId) request.setAttribute("prepareCourseEdit_list", prepareCourseEdit_list) request.setAttribute("user_list", user_list) request.setAttribute("page", page) request.setAttribute("widget_list", widgets) request.setAttribute("prepareCourse", prepareCourse) request.setAttribute("prepareCourseMember", self.prepareCourseMember) request.setAttribute("showUser", showUser) request.setAttribute("loginUser", self.loginUser) self.getPrepareCoursePrivateCommentList() punshScore= self.pun_svc.getUPunishScore(ObjectType.OBJECT_TYPE_PREPARECOURSEMEMBER.getTypeId() , self.prepareCourseMember.prepareCourseMemberId) if punshScore!=None: if punshScore.getScore()<0 or punshScore.getScore()>0: request.setAttribute("scoreCreateUserId", punshScore.getCreateUserId()) request.setAttribute("scoreCreateUserName", punshScore.getCreateUserName()) request.setAttribute("score", -1*punshScore.getScore()) request.setAttribute("scoreReason", punshScore.getReason()) request.setAttribute("scoreDate", punshScore.getPunishDate()) request.setAttribute("scoreObjId", punshScore.getObjId()) request.setAttribute("scoreObjTitle", punshScore.getObjTitle()) if self.prepareCourseMember.contentType == 2 or self.prepareCourseMember.contentType == 3 or self.prepareCourseMember.contentType == 4 or self.prepareCourseMember.contentType == 5 or self.prepareCourseMember.contentType == 100: #服务器 名称。默认是本站服务器 courseFileServer = "" #文件名 swf = self.prepareCourseMember.privateContent if swf == None or swf == "": request.setAttribute("error", u"您的个案选择了文件的方式,但并没有上载或者编写任何内容、或者没有保存成功,无法进行显示。") return "/WEB-INF/ftl/course/show_preparecourse_user_content_2.ftl" if swf.find(".") > -1: swf = swf[0:swf.find(".")] prepareCourseFileServer = request.getSession().getServletContext().getInitParameter("PrepareCourseFileServer") pcFolder = CommonUtil.GetPrepareCourseFolder(request) if prepareCourseFileServer == None or prepareCourseFileServer == "": swfUrl = pcFolder[1] + str(self.prepareCourse.prepareCourseId) + "/" courseFileServer = CommonUtil.getSiteUrl(request) else: if prepareCourseFileServer.endswith("/") == False:prepareCourseFileServer += "/" courseFileServer = prepareCourseFileServer swfUrl = prepareCourseFileServer + "preparecoursefolder/" + str(self.prepareCourse.prepareCourseId) + "/" swfUrl = swfUrl + swf + ".swf" request.setAttribute("swfUrl", swfUrl) request.setAttribute("courseFileServer", courseFileServer) #request.setAttribute("prepareCourseUrl", pcFolder[1]) response.setContentType("text/html; charset=UTF-8") return "/WEB-INF/ftl/course/show_preparecourse_user_content_2.ftl"
def execute(self): if self.loginUser == None: backUrl = request.getAttribute('javax.servlet.forward.request_uri') if backUrl == None or backUrl == "": backUrl = request.requestURI response.sendRedirect( CommonUtil.getSiteUrl(request) + "login.jsp?redUrl=" + CommonUtil.urlUtf8Encode( CommonUtil.getSiteServer(request) + backUrl)) return """ ********************** 注意:本文件只提供编辑 **************************************** """ self.prepareCourseId = self.params.safeGetIntParam("prepareCourseId") self.group = self.pc_svc.getGroupOfPrepareCourse(self.prepareCourseId) if self.group == None: actionErrors = [u"无法加载协作组信息。"] request.setAttribute("actionErrors", actionErrors) return self.ERROR # 判断当前用户是否是组内成员 gm = self.group_svc.getGroupMemberByGroupIdAndUserId( self.group.groupId, self.loginUser.userId) accessControlService = __spring__.getBean("accessControlService") if gm == None: if accessControlService.isSystemAdmin(self.loginUser) == False: actionErrors = [u"做人要厚道,你不是本组的成员。"] request.setAttribute("actionErrors", actionErrors) return self.ERROR if self.prepareCourseId > 0: self.prepareCourse = self.pc_svc.getPrepareCourse( self.prepareCourseId) if self.prepareCourse != None: if self.prepareCourse.createUserId != self.loginUser.userId and self.prepareCourse.leaderId != self.loginUser.userId: actionErrors = [u"你没有权限继续操作。"] request.setAttribute("actionErrors", actionErrors) return self.ERROR else: if accessControlService.isSystemAdmin(self.loginUser) == False: if gm.getStatus() != GroupMember.STATUS_NORMAL: actionErrors = [u"你目前的成员状态不正常,无法继续操作。"] request.setAttribute("actionErrors", actionErrors) return self.ERROR if accessControlService.isSystemAdmin(self.loginUser) == False: if gm.groupRole < GroupMember.GROUP_ROLE_VICE_MANAGER: actionErrors = [u"权限不足,无法继续操作。"] request.setAttribute("actionErrors", actionErrors) return self.ERROR request.setAttribute("loginUser", self.loginUser) if self.prepareCourseId > 0: self.prepareCourse = self.pc_svc.getPrepareCourse( self.prepareCourseId) if self.prepareCourse != None: request.setAttribute("prepareCourse", self.prepareCourse) request.setAttribute("group", self.group) else: self.printer.msg = u"此处不能创建新备课、" return self.printer.printError() if request.getMethod() == "POST": return self.saveOrUpdatePrepareCourse() else: return self.getPrepareCourse()
def execute(self): self.pc_svc = __jitar__.getPrepareCourseService() site_config = SiteConfig() site_config.get_config() self.out = response.writer self.params = ParamUtil(request) actionId = self.params.getIntParam("actionId") if actionId == None or actionId == 0: self.addActionLink(u"返回活动列表", CommonUtil.getSiteUrl(request) + "actions.py") self.addActionError(u"缺少标识。") return self.ERROR #更新统计 self.act_svc.updateActionUserStatById(actionId) self.action = self.act_svc.getActionById(actionId) if self.action == None: self.addActionLink(u"返回活动列表", CommonUtil.getSiteUrl(request) + "actions.py") self.addActionError(u"该活动不存在。") return self.ERROR if self.action.status != 0 and self.action.status != 3: self.addActionLink(u"返回活动列表", CommonUtil.getSiteUrl(request) + "actions.py") self.addActionError(u"该活动的状态目前不正常。不能浏览活动信息。") return self.ERROR if self.can_view() == False: self.addActionLink(u"返回活动列表", CommonUtil.getSiteUrl(request) + "actions.py") self.addActionError(u"该活动为非公开,你无权查看。") return self.ERROR #得到该活动的回复 self.get_reply_list() # 能否参加的标志 self.canAttend = self.current_can_attend_action() # loginUser 来自 BaseAction user_list = self.act_svc.getActionUserWithDistUnit() if request.getMethod() == "POST": if self.params.getStringParam("cmd") == "comment": #发表评论的条件: # 登录用户,活动成员,或者组内成员 if self.loginUser == None: self.addActionLink( u"返回活动", CommonUtil.getSiteUrl(request) + "manage/action/showAction.py?actionId=" + str(self.action.actionId)) self.addActionError(u"请先登录。") return self.ERROR canPublishComment = self.can_publish_comment() if canPublishComment["status"] == "true": return self.actionComment() else: self.addActionLink( u"返回活动", CommonUtil.getSiteUrl(request) + "manage/action/showAction.py?actionId=" + str(self.action.actionId)) self.addActionError(canPublishComment["message"]) return self.ERROR else: if self.canAttend == "1": if self.act_svc.userIsInAction( self.loginUser.userId, self.action.actionId) == False: #检查参加的人数 if self.action.userLimit != 0: uc = self.act_svc.getUserCountByActionId( self.action.actionId) if uc >= self.action.userLimit: self.addActionLink( u"返回活动", CommonUtil.getSiteUrl(request) + "manage/action/showAction.py?actionId=" + str(self.action.actionId)) self.addActionError(u"此活动人数已满。") return self.ERROR return self.saveActionUser() else: self.addActionLink( u"返回活动", CommonUtil.getSiteUrl(request) + "manage/action/showAction.py?actionId=" + str(self.action.actionId)) self.addActionError(u"您已经参加了该活动,请勿重复申请。") return self.ERROR else: self.addActionLink( u"返回活动列表", CommonUtil.getSiteUrl(request) + "actions.py") self.addActionError(u"您暂时不能参加该活动。") return self.ERROR if self.loginUser == None: can_manage = "0" else: if self.act_svc.canManageAction(self.action, self.loginUser) == True: can_manage = "1" else: can_manage = "0" redUrl = request.getRequestURI() if request.getQueryString() != None: redUrl += '?' + request.getQueryString() if self.loginUser != None: actionUser = self.act_svc.getActionUserByUserIdAndActionId( self.loginUser.userId, self.action.actionId) request.setAttribute("actionUser", actionUser) request.setAttribute("can_manage", can_manage) request.setAttribute("can_comment", self.check_user_can_post_comment_action()) request.setAttribute("action", self.action) request.setAttribute("loginUser", self.loginUser) request.setAttribute("canAttend", self.canAttend) request.setAttribute("redUrl", redUrl) response.setContentType("text/html; charset=UTF-8") return "/WEB-INF/ftl/action/action_show.ftl"
def execute(self): self.getBaseData() if self.prepareCourseId == 0: self.printer.write(u"无效的课程标识。") return prepareCourse = self.getBasePrepareCourse() if prepareCourse == None: self.printer.write(u"没有加载到所请求的备课。") return if self.canView(prepareCourse) == False: self.printer.write(u"您无权查看本内容。") return prepareCourseEditId = self.params.getIntParam("prepareCourseEditId") if prepareCourseEditId == None or prepareCourseEditId == 0: self.printer.write(u"请选择一个共案历史记录。") return prepareCourseEdit = self.pc_svc.getPrepareCourseEdit( prepareCourseEditId) if prepareCourseEdit == None: self.printer.write(u"未能加载共案历史记录。") return page = self.getPrepareCoursePageWithCustomSkin(prepareCourse) widgets = [{ "id": "1", "pageId": 0, "columnIndex": 1, "title": u"备课基本信息", "module": "show_preparecourse_info", "ico": "", "data": "" }, { "id": "placerholder1", "pageId": 0, "columnIndex": 2, "title": "", "module": "placeholder", "ico": "", "data": "" }, { "id": "placerholder2", "pageId": 0, "columnIndex": 1, "title": "", "module": "placeholder", "ico": "", "data": "" }, { "id": "placerholder3", "pageId": 0, "columnIndex": 1, "title": "", "module": "placeholder", "ico": "", "data": "" }] qry = PrepareCourseMemberQuery( """ u.userId, u.userIcon, u.loginName,u.trueName,u.nickName""") qry.prepareCourseId = self.prepareCourse.prepareCourseId user_list = qry.query_map() prepareCourseEdit_list = self.pc_svc.getPrepareCourseEditList( self.prepareCourseId) request.setAttribute("prepareCourseEdit_list", prepareCourseEdit_list) request.setAttribute("user_list", user_list) request.setAttribute("page", page) request.setAttribute("widget_list", widgets) request.setAttribute("prepareCourse", prepareCourse) request.setAttribute("prepareCourseEdit", prepareCourseEdit) if prepareCourse.contentType == 2 or prepareCourse.contentType == 3 or prepareCourse.contentType == 4 or prepareCourse.contentType == 5 or prepareCourse.contentType == 100: swf = prepareCourseEdit.content if swf == None: swf = "" if swf.find(".") > -1: swf = swf[0:swf.find(".")] prepareCourseFileServer = request.getSession().getServletContext( ).getInitParameter("PrepareCourseFileServer") pcFolder = CommonUtil.GetPrepareCourseFolder(request) if prepareCourseFileServer == None or prepareCourseFileServer == "": swfUrl = pcFolder[1] + str( self.prepareCourse.prepareCourseId) + "/" courseFileServer = CommonUtil.getSiteUrl(request) else: if prepareCourseFileServer.endswith("/") == False: prepareCourseFileServer += "/" courseFileServer = prepareCourseFileServer swfUrl = prepareCourseFileServer + "preparecoursefolder/" + str( self.prepareCourse.prepareCourseId) + "/" swfUrl = swfUrl + swf + ".swf" request.setAttribute("swfUrl", swfUrl) request.setAttribute("courseFileServer", courseFileServer) response.setContentType("text/html; charset=UTF-8") return "/WEB-INF/ftl/course/show_preparecourse_history_content2.ftl"
def execute(self): self.getBaseData() response.setContentType("text/html; charset=UTF-8") if self.loginUser == None: backUrl = request.getAttribute('javax.servlet.forward.request_uri') if backUrl == None or backUrl == "":backUrl = request.requestURI response.sendRedirect(CommonUtil.getSiteUrl(request) + "login.jsp?redUrl=" + CommonUtil.urlUtf8Encode(CommonUtil.getSiteServer(request) + backUrl)) return if self.prepareCourseId == 0: self.printer.write(u"无效的课程标识。") return prepareCourse = self.getBasePrepareCourse() if prepareCourse == None: self.printer.write(u"没有加载到所请求的备课。") return if self.canView(prepareCourse) == False: self.printer.write(u"您无权查看本内容。") return if self.isPrepareCourseMember() == False: self.printer.write(u"您无权编辑备课内容。") return page = self.getPrepareCoursePageWithCustomSkin(prepareCourse) widgets = [ {"id": "1", "pageId":0, "columnIndex":1, "column":1, "title":u"备课基本信息", "module":"show_preparecourse_info", "ico":"", "data":""}, {"id": "placerholder1", "pageId":0, "columnIndex":2, "column":2, "title":"", "module":"placeholder", "ico":"", "data":""} ] if self.prepareCourse.lockedUserId > 0 and self.prepareCourse.lockedUserId != self.loginUser.userId: user = self.user_svc.getUserById(self.prepareCourse.lockedUserId) if user == None: self.printer.write(u"此备课已经被 未知的人 签出,你暂时不能进行编辑该备课。") else: d = self.prepareCourse.lockedDate f = SimpleDateFormat(u"yyyy年M月d日 H点m分s秒") d = f.format(d) self.printer.write(u"此备课已经被 " + user.trueName + u" 于 " + d + u" 签出,你暂时不能进行编辑该备课。") return else: # 设置锁标记, if prepareCourse.contentType == None or (prepareCourse.contentType != 2 and prepareCourse.contentType != 3 and prepareCourse.contentType != 4): self.prepareCourse.setLockedUserId(self.loginUser.userId) self.prepareCourse.setLockedDate(Date()) self.pc_svc.updatePrepareCourse(self.prepareCourse) request.setAttribute("widget_list", widgets) request.setAttribute("page", page) request.setAttribute("prepareCourse", prepareCourse) request.setAttribute("prepareCourseId", self.prepareCourseId) ed = EncryptDecrypt() strPrepareCourseId = ed.encrypt(str(self.prepareCourseId) + "|1") ed = None request.setAttribute("EncryptPrepareCourseId", strPrepareCourseId) prepareCourseFileServer = request.getSession().getServletContext().getInitParameter("PrepareCourseFileServer") if prepareCourseFileServer != None and prepareCourseFileServer != "": request.setAttribute("prepareCourseFileServer", prepareCourseFileServer) request.setAttribute("userTicket", self.getUserTicket()) if request.getMethod() == "POST": return self.saveOrUpdate() return "/WEB-INF/ftl/course/show_preparecourse_common_edit.ftl"
def execute(self): self.getBaseData() response.setContentType("text/html; charset=UTF-8") if self.loginUser == None: backUrl = request.getAttribute('javax.servlet.forward.request_uri') if backUrl == None or backUrl == "": backUrl = request.requestURI response.sendRedirect( CommonUtil.getSiteUrl(request) + "login.jsp?redUrl=" + CommonUtil.urlUtf8Encode( CommonUtil.getSiteServer(request) + backUrl)) return if self.prepareCourseId == 0: self.printer.write(u"无效的课程标识。") return prepareCourse = self.getBasePrepareCourse() if prepareCourse == None: self.printer.write(u"没有加载到所请求的备课。") return if self.canView(prepareCourse) == False: self.printer.write(u"您无权查看本内容。") return if self.isPrepareCourseMember() == False: self.printer.write(u"您无权编辑备课内容。") return page = self.getPrepareCoursePageWithCustomSkin(prepareCourse) widgets = [{ "id": "1", "pageId": 0, "columnIndex": 1, "title": u"备课基本信息", "module": "show_preparecourse_info", "ico": "", "data": "" }, { "id": "placerholder1", "pageId": 0, "columnIndex": 2, "title": "", "module": "placeholder", "ico": "", "data": "" }] request.setAttribute("widget_list", widgets) request.setAttribute("page", page) request.setAttribute("prepareCourse", prepareCourse) request.setAttribute("prepareCourseId", self.prepareCourseId) self.prepareCourseMember = self.pc_svc.getPrepareCourseMemberByCourseIdAndUserId( self.prepareCourseId, self.loginUser.userId) if self.prepareCourseMember == None: operation_result = u"您不是该课的成员,或者加载对象失败。" request.setAttribute("operation_result", operation_result) return "/WEB-INF/ftl/course/show_preparecourse_ok_info.ftl" if request.getMethod() == "POST": return self.saveOrUpdate() if self.prepareCourseMember.contentType == 0: return "/WEB-INF/ftl/course/show_preparecourse_user_edit_first.ftl" #if (self.pdf2swfPath != None and self.pdf2swfPath != "") or (self.PrepareCourseFileServer != None and self.PrepareCourseFileServer != ""): # return "/WEB-INF/ftl/course/show_preparecourse_user_edit_first.ftl" #else: # self.prepareCourseMember.contentType = 1 # self.pc_svc.updatePrepareCourseMember(self.prepareCourseMember) # response.sendRedirect("show_preparecourse_user_edit.py") else: ed = EncryptDecrypt() strPrepareCourseId = ed.encrypt(str(self.prepareCourseId) + "|0") ed = None request.setAttribute("EncryptPrepareCourseId", strPrepareCourseId) request.setAttribute("prepareCourseMember", self.prepareCourseMember) prepareCourseFileServer = request.getSession().getServletContext( ).getInitParameter("PrepareCourseFileServer") if prepareCourseFileServer != None and prepareCourseFileServer != "": request.setAttribute("prepareCourseFileServer", prepareCourseFileServer) request.setAttribute("userTicket", self.getUserTicket()) return "/WEB-INF/ftl/course/show_preparecourse_user_edit.ftl"
def execute(self): self.getBaseData() if self.prepareCourseId == 0: self.printer.write(u"无效的备课标识。") return if self.loginUser == None: backUrl = request.getAttribute('javax.servlet.forward.request_uri') if backUrl == None or backUrl == "": backUrl = request.requestURI response.sendRedirect( CommonUtil.getSiteUrl(request) + "login.jsp?redUrl=" + CommonUtil.urlUtf8Encode( CommonUtil.getSiteServer(request) + backUrl)) return prepareCourse = self.getBasePrepareCourse() if prepareCourse == None: self.printer.write(u"没有加载到所请求的备课。") return page = self.getPrepareCoursePageWithCustomSkin(prepareCourse) widgets = [{ "id": "1", "pageId": 0, "columnIndex": 1, "title": u"备课基本信息", "module": "show_preparecourse_info", "ico": "", "data": "" }, { "id": "placerholder1", "pageId": 0, "columnIndex": 2, "title": "", "module": "placeholder", "ico": "", "data": "" }] request.setAttribute("widgets", widgets) request.setAttribute("widget_list", widgets) request.setAttribute("page", page) request.setAttribute("prepareCourse", prepareCourse) # 检查是否是成员 isExist = self.pc_svc.checkUserInPreCourse( prepareCourse.prepareCourseId, self.loginUser.userId) if isExist == True: show_result2 = u"您已经是备课 " + prepareCourse.title + u" 的成员。" request.setAttribute("show_result2", show_result2) if request.getMethod() == "POST": content = self.params.safeGetStringParam("content") if content == None or content == "": show_result1 = u"请输入申请内容。" request.setAttribute("show_result1", show_result1) else: prepareCourseMember = PrepareCourseMember() prepareCourseMember.setPrepareCourseId( prepareCourse.prepareCourseId) prepareCourseMember.setUserId(self.loginUser.userId) prepareCourseMember.setReplyCount(0) prepareCourseMember.setJoinDate(Date()) prepareCourseMember.setStatus(1) prepareCourseMember.setPrivateContent(content) prepareCourseMember.setContentLastupdated(Date()) self.pc_svc.addPrepareCourseMember(prepareCourseMember) show_result2 = u"您的申请已经提交,请等待审核。" request.setAttribute("show_result2", show_result2) response.setContentType("text/html; charset=UTF-8") return "/WEB-INF/ftl/course/join_preparecourse.ftl"