class js_resource: def execute(self): # 完整的调用参数: # top=10&count=10&type=0&cateid=53&author=1&date=1&groupId=42 unitService = __jitar__.unitService self.params = ParamUtil(request) ShowCount = self.params.getIntParam("count") ShowTop = self.params.getIntParam("top") ShowType = self.params.getIntParam("type") ShowAuthor = self.params.getIntParamZeroAsNull("author") ShowDate = self.params.getIntParamZeroAsNull("date") unitId = self.params.getIntParamZeroAsNull("unitid") cateid = self.params.getIntParamZeroAsNull("cateid") groupId = self.params.getIntParamZeroAsNull("groupId") if unitId == None: rootUnit = unitService.getRootUnit() else: rootUnit = unitService.getUnitById(unitId) if rootUnit == None: response.getWriter().println(u"document.write('没有根单位。')") return if ShowTop == None or ShowTop == 0: ShowTop = 10 if ShowCount == None or ShowCount == 0: ShowCount = 10 if ShowType == None: ShowType = 0 if groupId != None and groupId != 0: qry = GroupResourceQuery( """ r.resourceId, r.title, r.createDate, u.userId, u.loginName, u.trueName """ ) qry.groupId = groupId if ShowType == 1: # 小组精华 qry.isGroupBest = True else: qry = ResourceQuery( """ r.resourceId, r.title, r.createDate, u.userId, u.loginName, u.trueName """ ) qry.sysCateId = cateid if ShowType == 1: #推荐资源 qry.custormAndWhereClause = "r.rcmdPathInfo Like '%/" + str( rootUnit.unitId ) + "/%' and r.approvedPathInfo Like '%/" + str( rootUnit.unitId) + "/%'" else: qry.custormAndWhereClause = "r.approvedPathInfo Like '%/" + str( rootUnit.unitId) + "/%'" resource_list = qry.query_map(ShowTop) request.setAttribute("resource_list", resource_list) request.setAttribute("ShowAuthor", ShowAuthor) request.setAttribute("ShowDate", ShowDate) request.setAttribute("ShowCount", ShowCount) response.contentType = "text/html; charset=utf-8" return "/WEB-INF/ftl/js_resource.ftl"
class js_user: def execute(self): # 完整的调用参数: # js_user.py?top=10&count=10&type=2&cateid=99 # 默认支持 subjectId,gradeId 参数带这些值,默认是支持的 # 更多参数请参见 user_query 的成员定义。 self.params = ParamUtil(request) ShowCount = self.params.getIntParam("count") ShowTop = self.params.getIntParam("top") ShowType = self.params.getIntParam("type") unitId = self.params.getIntParamZeroAsNull("unitid") cateid = self.params.getIntParamZeroAsNull("cateid") groupId = self.params.getIntParamZeroAsNull("groupId") if ShowTop == None or ShowTop == 0: ShowTop = 10 if ShowCount == None or ShowCount == 0: ShowCount = 10 if ShowType == None: ShowType = 0 qry = UserQuery(" u.userId,u.loginName,u.trueName ") qry.unitId = unitId qry.sysCateId = cateid qry.groupId = groupId if ShowType > 0: qry.userTypeId = ShowType user_list = qry.query_map(ShowTop) request.setAttribute("user_list", user_list) request.setAttribute("ShowCount", ShowCount) response.contentType = "text/html; charset=utf-8" return "/WEB-INF/ftl/js_user.ftl"
class js_video: def execute(self): # 完整的调用参数: # js_video.py?top=4&count=4&type=0&cateid=13 # 默认支持 subjectId,gradeId,参数带这些值,默认是支持的 # 更多参数请参见 js_video。 self.params = ParamUtil(request) ShowCount = self.params.getIntParam("count") ShowTop = self.params.getIntParam("top") unitId = self.params.getIntParamZeroAsNull("unitid") cateid = self.params.getIntParamZeroAsNull("cateid") if ShowTop == None or ShowTop == 0: ShowTop = 10 if ShowCount == None or ShowCount == 0: ShowCount = 10 qry = VideoQuery(" v.videoId, v.title, v.createDate ") qry.categoryId = cateid video_list = qry.query_map(ShowTop) request.setAttribute("video_list", video_list) request.setAttribute("ShowCount", ShowCount) response.contentType = "text/html; charset=utf-8" return "/WEB-INF/ftl/js_video.ftl"
class manage_createPrepareCourse_commoncourse(PrepareCoursePageService): def __init__(self): self.params = ParamUtil(request) self.printer = response.getWriter() self.pc_svc = __jitar__.getPrepareCourseService() self.user_svc = __jitar__.getUserService() def execute(self): self.getBaseData() self.prepareCourseId = self.params.getIntParam("prepareCourseId") if self.prepareCourseId == 0: self.printer.println(u"无效的备课标识。") return self.prepareCourse = self.getBasePrepareCourse() if self.prepareCourse == None: self.printer.println(u"没有加载到所请求的备课。") return if self.canManage(self.prepareCourse) == False: self.printer.println(u"您无权管理本备课。") return editId = self.params.getIntParam("editId") if editId != 0: prepareCourseEdit = self.pc_svc.getPrepareCourseEdit(editId) if prepareCourseEdit != None: self.prepareCourse.setPrepareCourseEditId( prepareCourseEdit.prepareCourseEditId) self.prepareCourse.setCommonContent(prepareCourseEdit.content) self.pc_svc.updatePrepareCourse(self.prepareCourse) #清空缓存 self.removePrepareCourseCache() response.sendRedirect( "manage_createPrepareCourse_commoncourse.py?prepareCourseId=" + str(self.prepareCourseId)) if request.getMethod() == "POST": cmd = self.params.safeGetStringParam("cmd") # print "cmd = ",cmd if cmd == "1": prepareCourseEditId = self.params.safeGetIntValues( "prepareCourseEditId") for id in prepareCourseEditId: if self.prepareCourse.prepareCourseEditId == id: self.prepareCourse.setPrepareCourseEditId(0) self.prepareCourse.setCommonContent("") self.pc_svc.updatePrepareCourse(self.prepareCourse) #清空缓存 self.removePrepareCourseCache() self.pc_svc.deletePrepareCourseEdit(id) edit_list = self.pc_svc.getPrepareCourseEditList( self.prepareCourse.prepareCourseId) request.setAttribute("edit_list", edit_list) request.setAttribute("prepareCourse", self.prepareCourse) response.setContentType("text/html; charset=UTF-8") return "/WEB-INF/ftl/course/manage_createPrepareCourse_commoncourse.ftl"
def execute(self): params = ParamUtil(request) cmt_svc = __jitar__.getCommentService() writer = response.getWriter() if self.loginUser == None: writer.write(u"请先登录。") return userName = self.loginUser.trueName if userName == None: userName = self.loginUser.loginName title = params.getStringParam("title") objtype = params.getIntParam("objtype") aboutUserId = params.getIntParam("aboutUserId") objId = params.getIntParam("photoId") star = params.getIntParam("star") content = params.getStringParam("content") userIP = request.getHeader("x-forwarded-for") if userIP == None or userIP == "": userIP = request.getRemoteAddr() if title == "": writer.write(u"请输入标题。") return if content == "" or content == "<span></span>": writer.write(u"请输入评论内容。") return cmt = Comment() cmt.setTitle(title) cmt.setAboutUserId(aboutUserId) cmt.setIp(userIP) cmt.setUserName(userName) cmt.setUserId(self.loginUser.userId) cmt.setCreateDate(Date()) cmt.setStar(star) cmt.setAudit(True) cmt.setContent(content) cmt.setObjId(objId) cmt.setObjType(objtype) cmt_svc.saveComment(cmt) # 评论计数器 cmd = Command( """ UPDATE Photo SET commentCount = commentCount + 1 WHERE photoId = :photoId """ ) cmd.setInteger("photoId", objId) cmd.update() photoUser = params.getStringParam("photoUser") if request.getHeader("Referer") != None: response.sendRedirect(request.getHeader("Referer")) return request.setAttribute( "redUrl", photoUser + "/py/user_photo_show.py?photoId=" + str(objId)) return "/WEB-INF/ftl/photo/PhotoComment_Success.ftl"
class showPrepareCourseCommonContent(PrepareCoursePageService): def __init__(self): self.params = ParamUtil(request) self.pc_svc = __jitar__.getPrepareCourseService() self.user_svc = __jitar__.getUserService() self.printer = MessagePrint() def execute(self): site_config = SiteConfig() site_config.get_config() self.prepareCourseId = self.params.getIntParam("prepareCourseId") self.prepareCourse = self.pc_svc.getPrepareCourse(self.prepareCourseId) if self.prepareCourse == None: self.printer.addMessage(u"未能加载备课。请重新选择一次备课。") return self.printer.printMessage( "manage/course/showPrepareCourse.py?prepareCourseId=" + str(self.prepareCourseId), "") 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) if self.loginUser != None: request.setAttribute("loginUser", self.loginUser) request.setAttribute("prepareCourse", self.prepareCourse) request.setAttribute("head_nav", "cocourses") return "/WEB-INF/ftl/course/showPrepareCourseCommonContent.ftl"
def execute(self): tag_svc = __jitar__.getTagService() param = ParamUtil(request) tagId = param.getIntParam("tagId") tagName = param.safeGetStringParam("tagName") if tagId != 0: self.tag = tag_svc.getTag(tagId) else: self.tag = tag_svc.getTagByName(tagName) #print "tagName = ",tagName if self.tag == None: actionErrors = [u"标签不存在。"] request.setAttribute("actionErrors", actionErrors) return "/WEB-INF/ftl/Error.ftl" tag_svc.incTagViewCount(self.tag, 1) request.setAttribute("tag", self.tag) request.setAttribute("head_nav", "tags") self.get_tag_article_list() self.get_tag_group_list() self.get_tag_preparecourse_list() self.get_tag_user_list() self.get_tag_resource_list() self.get_tag_photo_list() return "/WEB-INF/ftl/show_tag.ftl"
class showPhoto: def __init__(self): self.params = ParamUtil(request) self.photo_svc = __jitar__.photoService self.cate_svc = __jitar__.categoryService def execute(self): site_config = SiteConfig() site_config.get_config() photoId = self.params.getIntParam("photoId") photo = self.photo_svc.findById(photoId) request.setAttribute("photo", photo) #DEBUG print "photoId = ", photoId, ", photo = ", self.photo #print "===photo.sysCateId===:",photo.sysCateId if photo != None: if photo.sysCateId != None: category = self.cate_svc.getCategory(photo.sysCateId) request.setAttribute("category", category) # 更新访问计数 cmd = Command( """ UPDATE Photo SET viewCount = viewCount + 1 WHERE photoId = :photoId """ ) cmd.setInteger("photoId", photo.photoId) cmd.update() return "/WEB-INF/ftl/showPhoto.ftl"
class showVideoList: def __init__(self): self.params = ParamUtil(request) self.categoryName = None self.type = "new" self.video_svc = __spring__.getBean("videoService") def execute(self): vid = self.params.getIntParam("vid") self.type = self.params.getStringParam("type") if self.type == None or self.type == "": self.type = "new" if (vid != None) and (vid != 0): video = self.video_svc.findById(vid) self.categoryName = video.staple else: self.categoryName = self.params.getStringParam("categoryName") request.setAttribute("categoryName", self.categoryName) request.setAttribute("categoryShowTitle", u"所有视频") if ((self.categoryName != None) and (self.categoryName != "")): request.setAttribute("categoryShowTitle", self.categoryName + u"分类下的所有视频") else: if self.type == "new": request.setAttribute("categoryShowTitle", u"最新视频") if self.type == "hot": request.setAttribute("categoryShowTitle", u"视频排行") request.setAttribute("type", type) self.get_video_with_pager() # 页面导航高亮为 'video' request.setAttribute("head_nav", "video") return "/WEB-INF/ftl/show_video_list.ftl" def get_video_with_pager(self): pager = self.params.createPager() pager.itemName = u"视频" pager.itemUnit = u"个" pager.pageSize = 24 qry = VideoQuery( """ v.videoId, v.title, v.createDate, v.href, v.userId, u.loginName, u.nickName, v.summary,v.flvThumbNailHref """ ) if ((self.categoryName != None) and (self.categoryName != "")): qry.sysCateTitle = self.categoryName if self.type == "new": qry.orderType = 1 elif self.type == "hot": qry.orderType = 2 else: qry.orderType = 0 pager.totalRows = qry.count() video_list = qry.query_map(pager) request.setAttribute("video_list", video_list) request.setAttribute("pager", pager)
class searchUser0: cfg_svc = __jitar__.configService def __init__(self): self.params = ParamUtil(request) return def execute(self): self.config = self.cfg_svc.getConfigure() # 用户 self.userList() # 机构列表. self.get_units_list() singleuser = self.params.getIntParam("singleuser") #1 用户单选 2 用户多选 if singleuser == None: singleuser = 1 inputUser_Id = self.params.getStringParam("inputUser_Id") inputUserName_Id = self.params.getStringParam("inputUserName_Id") inputLoginName_Id = self.params.getStringParam("inputLoginName_Id") request.setAttribute("singleuser", singleuser) request.setAttribute("inputUser_Id", inputUser_Id) request.setAttribute("inputUserName_Id", inputUserName_Id) request.setAttribute("inputLoginName_Id", inputLoginName_Id) # 返回 response.contentType = "text/html; charset=UTF-8" return "/WEB-INF/ftl/searchUserList0.ftl" def userList(self): unitId = self.params.getIntParamZeroAsNull("unitId") userName = self.params.getStringParam("userName") qry = UserQuery2(" u.userId, u.loginName, u.userIcon, u.gender, u.blogName, u.trueName, u.unitId, unit.unitName, unit.unitTitle ") qry.userStatus = 0 qry.kk = userName pager = self.createPager() pager.totalRows = qry.count() user_list = qry.query_map(pager) request.setAttribute("unitId", unitId) request.setAttribute("user_list", user_list) request.setAttribute("userName", userName) request.setAttribute("pager", pager) # 机构列表. def get_units_list(self): hql = """SELECT new Map(ut.unitId as unitId, ut.unitTitle as unitTitle) FROM Unit ut ORDER BY ut.unitName """ unit_list = Command(hql).open() request.setAttribute("unit_list", unit_list) def createPager(self): # private 构造人员的缺省 pager. pager = self.params.createPager() pager.itemName = u"用户" pager.itemUnit = u"个" pager.pageSize = 10 return pager
class addGroupTopic(ActionExecutor, ShowGroupBase, RequestMixiner, ResponseMixiner, PageCheckMixiner): def __init__(self): self.params = ParamUtil(request) self.group_svc = __jitar__.groupService self.bbs_svc = __jitar__.bbsService def execute(self): groupId = self.params.getIntParam("groupId") if groupId == None or groupId == 0: return self.notFound() group = self.group_svc.getGroup(groupId) if group == None: return self.notFound() if self.loginUser == None: isMember = None else: isMember = self.group_svc.getGroupMemberByGroupIdAndUserId( group.groupId, self.loginUser.userId) self.getGroupInfo(group.groupName) page = self.getGroupIndexPage(group) page = { "pageId": 0, "layoutId": 8, # 固定是布局 "isSystemPage": "true", "owner": "user", "title": "", "skin": page.skin } 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") topic = Topic() topic.setTitle("") topic.setContent("") topic.setGroupId(group.groupId) topic.setTags("") request.setAttribute("page", page) request.setAttribute("group", group) request.setAttribute("loginUser", self.loginUser) request.setAttribute("isMember", isMember) request.setAttribute("redirect", "True") request.setAttribute("topic", topic) response.contentType = "text/html; charset=UTF-8" return "/WEB-INF/group/default/show_add_group_topic.ftl"
class manage_createPrepareCourse_common_comment(PrepareCoursePageService): def __init__(self): self.params = ParamUtil(request) self.printer = response.getWriter() self.pc_svc = __jitar__.getPrepareCourseService() self.user_svc = __jitar__.getUserService() self.commentService = __jitar__.getCommentService() def execute(self): if self.loginUser == None: self.printer.write(u"请先<a href='../../login.jsp'>登录</a>,然后才能进行管理") return self.getBaseData() self.prepareCourseId = self.params.getIntParam("prepareCourseId") if self.prepareCourseId == 0: self.printer.write(u"无效的备课标识。") return self.prepareCourse = self.pc_svc.getPrepareCourse(self.prepareCourseId) if self.prepareCourse == None: self.printer.write(u"没有加载到所请求的备课。") return if self.canManage(self.prepareCourse) == False: self.printer.write(u"您无权管理本备课。") return if request.getMethod() == "POST": self.deleteComment() self.getCommentList() request.setAttribute("loginUser", self.loginUser) request.setAttribute("prepareCourse", self.prepareCourse) return "/WEB-INF/ftl/course/manage_createPrepareCourse_common_comment.ftl" def getCommentList(self): qry = CommentQuery("cmt.id,cmt.userId,cmt.content,cmt.createDate,cmt.userName") qry.objType = ObjectType.OBJECT_TYPE_PREPARECOURSE.getTypeId() qry.objId = self.prepareCourseId qry.audit = 1 pager = self.params.createPager() pager.itemName = u"评论" pager.itemUnit = u"条" pager.pageSize = 20 pager.totalRows = qry.count() comment_list = qry.query_map(pager) request.setAttribute("comment_list", comment_list) request.setAttribute("pager", pager) def deleteComment(self): commentsId = self.params.safeGetIntValues("commentId") for id in commentsId: refComment = self.commentService.getComment(id) if refComment != None: self.commentService.deleteComment(refComment)
class manage_leader(PrepareCoursePageService): def __init__(self): self.params = ParamUtil(request) self.printer = response.getWriter() self.pc_svc = __jitar__.getPrepareCourseService() self.user_svc = __jitar__.getUserService() def execute(self): self.getBaseData() self.prepareCourseId = self.params.getIntParam("prepareCourseId") if self.prepareCourseId == 0: self.printer.write(u"无效的备课标识。") return self.prepareCourse = self.pc_svc.getPrepareCourse(self.prepareCourseId) if self.prepareCourse == None: self.printer.write(u"没有加载到所请求的备课。") return if self.canManage(self.prepareCourse) == False: self.printer.write(u"您无权管理本备课。") return cmd = self.params.safeGetStringParam("cmd") leaderId = self.params.getIntParam("leaderId") if self.pc_svc.checkUserInPreCourse(self.prepareCourseId, leaderId) == False: self.printer.write(u"你选择的用户不属于备课:" + self.prepareCourse.getTitle()) return if cmd == "add": self.prepareCourse.setLeaderId(leaderId) self.pc_svc.updatePrepareCourse(self.prepareCourse) if cmd == "delete": self.prepareCourse.setLeaderId(self.prepareCourse.createUserId) self.pc_svc.updatePrepareCourse(self.prepareCourse) response.sendRedirect( "manage_createPrepareCourse_member.py?prepareCourseId=" + str(self.prepareCourseId))
class show_bulletin(ChannelPage): def __init__(self): ChannelPage.__init__(self) self.params = ParamUtil(request) self.channelPageService = __spring__.getBean("channelPageService") self.templateProcessor = __spring__.getBean("templateProcessor") self.channel = None def execute(self): channelId = self.params.safeGetIntParam("channelId") if channelId == 0: self.addActionError(u"您所访问的页面不存在!") return ActionResult.ACCESS_ERROR self.channel = self.channelPageService.getChannel(channelId) if self.channel == None: self.addActionError(u"无法加载指定的页面!") return ActionResult.ACCESS_ERROR map = HashMap() map.put("channel", self.channel) map.put("head_nav", "video") if self.channel.skin == None: skin = "template1" elif self.channel.skin == "": skin = "template1" else: skin = self.channel.skin # 输出页头 headerContent = self.GenerateContentFromTemplateString( self.channel.headerTemplate) footerContent = self.GenerateContentFromTemplateString( self.channel.footerTemplate) # 输出主体部分: placardId = self.params.getIntParam("placardId") if placardId == None or placardId == "": mainContent = "" else: placardService = __jitar__.getPlacardService() placard = placardService.getPlacard(placardId) map.put("placard", placard) mainContent = self.templateProcessor.processTemplate( map, "/WEB-INF/channel/" + skin + "/show_bulletin.ftl", "utf-8") out = response.getWriter() if headerContent == "" and footerContent == "" and mainContent == "": out.println(u"该频道没有指定模板,无法显示页面内容。") return out.println(headerContent) out.println(mainContent) out.println(footerContent)
def execute(self): param = ParamUtil(request) placardId = param.getIntParam("placardId") if placardId == None or placardId == "": return self.pla_svc = __jitar__.getPlacardService() placard = self.pla_svc.getPlacard(placardId) if placard == None: return request.setAttribute("placard", placard) response.setContentType("text/html; charset=UTF-8") return "/WEB-INF/ftl/show_placard.ftl"
class manage_createPrepareCourse_private_comment(PrepareCoursePageService): def __init__(self): self.params = ParamUtil(request) self.printer = response.getWriter() self.pc_svc = __jitar__.getPrepareCourseService() self.user_svc = __jitar__.getUserService() def execute(self): if self.loginUser == None: self.printer.write(u"请先<a href='../../login.jsp'>登录</a>,然后才能进行管理") return self.getBaseData() self.prepareCourseId = self.params.getIntParam("prepareCourseId") if self.prepareCourseId == 0: self.printer.write(u"无效的备课标识。") return self.prepareCourse = self.pc_svc.getPrepareCourse(self.prepareCourseId) if self.prepareCourse == None: self.printer.write(u"没有加载到所请求的备课。") return if self.canManage(self.prepareCourse) == False: self.printer.write(u"您无权管理本备课。") return if request.getMethod() == "POST": self.deleteComment() self.getPrepareCoursePrivateCommentList() request.setAttribute("loginUser", self.loginUser) request.setAttribute("prepareCourse", self.prepareCourse) return "/WEB-INF/ftl/course/manage_createPrepareCourse_private_comment.ftl" def getPrepareCoursePrivateCommentList(self): pager = self.params.createPager() pager.itemName = u"评论" pager.itemUnit = u"条" qry = PrepareCoursePrivateCommentQuery(""" pcpc.prepareCoursePrivateCommentId,pcpc.title,pcpc.content,pcpc.createDate,pcpc.commentUserId,pcpc.commentedUserId """) qry.prepareCourseId = self.prepareCourseId pager.totalRows = qry.count() comment_list = qry.query_map(pager) request.setAttribute("pager",pager) request.setAttribute("comment_list",comment_list) return def deleteComment(self): guid = self.params.safeGetIntValues("prepareCoursePrivateCommentId") for id in guid: self.pc_svc.deletePrepareCoursePrivateComment(id)
class manage_createPrepareCourse_reply(PrepareCoursePageService): def __init__(self): self.params = ParamUtil(request) self.printer = response.getWriter() self.pc_svc = __jitar__.getPrepareCourseService() self.user_svc = __jitar__.getUserService() def execute(self): self.getBaseData() self.prepareCourseId = self.params.getIntParam("prepareCourseId") if self.prepareCourseId == 0: self.printer.write(u"无效的备课标识。") return self.prepareCourse = self.pc_svc.getPrepareCourse(self.prepareCourseId) if self.prepareCourse == None: self.printer.write(u"没有加载到所请求的备课。") return if self.canManage(self.prepareCourse) == False: self.printer.write(u"您无权管理本备课。") return if request.getMethod() == "POST": cmd = self.params.safeGetStringParam("cmd") if cmd == "delete": prepareCourseTopicReplyId = self.params.safeGetIntValues( "prepareCourseTopicReplyId") for id in prepareCourseTopicReplyId: self.pc_svc.deletePrepareCourseTopicReply( self.prepareCourseId, id) pager = self.params.createPager() pager.itemName = u"回复" pager.itemUnit = u"个" qry = PrepareTopicReplyQuery( """ pctr.prepareCourseTopicReplyId, pctr.prepareCourseTopicId, pctr.prepareCourseStageId, pctr.title, pctr.createDate, pctr.userId, pctr.content,pct.title as pctTitle """) qry.prepareCourseId = self.prepareCourse.prepareCourseId pager.totalRows = qry.count() reply_list = qry.query_map(pager) request.setAttribute("pager", pager) request.setAttribute("reply_list", reply_list) request.setAttribute("prepareCourse", self.prepareCourse) response.setContentType("text/html; charset=UTF-8") return "/WEB-INF/ftl/course/manage_createPrepareCourse_reply.ftl"
class manage_createPrepareCourse_action(PrepareCoursePageService): def __init__(self): self.params = ParamUtil(request) self.printer = response.getWriter() self.pc_svc = __jitar__.getPrepareCourseService() self.act_svc = __jitar__.getActionService() def execute(self): self.getBaseData() self.prepareCourseId = self.params.getIntParam("prepareCourseId") if self.prepareCourseId == 0: self.printer.write(u"无效的备课标识。") return prepareCourse = self.getBasePrepareCourse() if prepareCourse == None: self.printer.write(u"没有加载到所请求的备课。") return if self.canManage(prepareCourse) == False: self.printer.write(u"您无权管理本备课。") return if request.getMethod() == "POST": cmd = self.params.safeGetIntParam("cmdtype") guid = self.params.safeGetIntValues("guid") for actionId in guid: self.act_svc.updateActionStatus(cmd, int(actionId)) pager = self.params.createPager() pager.itemName = u"活动" pager.itemUnit = u"个" qry = ActionQuery( """ act.title, act.createDate, act.actionId, act.ownerId, act.ownerType, act.createUserId, act.actionType, act.description, act.userLimit, act.startDateTime,act.finishDateTime, act.attendLimitDateTime, act.place, act.status, act.visibility, act.attendCount,u.trueName,u.loginName """) qry.k = None #防止右边查询冲突 qry.ownerType = "preparecourse" qry.ownerId = prepareCourse.prepareCourseId pager.totalRows = qry.count() action_list = qry.query_map(pager) request.setAttribute("pager", pager) request.setAttribute("action_list", action_list) request.setAttribute("prepareCourse", prepareCourse) response.setContentType("text/html; charset=UTF-8") return "/WEB-INF/ftl/course/manage_createPrepareCourse_action.ftl"
class js_group: def execute(self): # 完整的调用参数: # js_group.py?top=10&type=0&cateid=49 self.params = ParamUtil(request) ShowTop = self.params.getIntParam("top") ShowType = self.params.getIntParam("type") cateid = self.params.getIntParamZeroAsNull("cateid") if ShowTop == None or ShowTop == 0: ShowTop = 10 if ShowType == None: ShowType = 0 qry = GroupQuery(" g.groupName,g.groupTitle ") qry.categoryId = cateid if ShowType == 1: qry.isRecommend = True elif ShowType == 2: qry.isBestGroup = True group_list = qry.query_map(ShowTop) request.setAttribute("group_list", group_list) response.contentType = "text/html; charset=utf-8" return "/WEB-INF/ftl/js_group.ftl"
class evaluationFieldsContent(ActionExecutor, SubjectMixiner): def __init__(self): self.params = ParamUtil(request) self.video_svc = __spring__.getBean("videoService") self.res_svc = __spring__.getBean("resourceService") self.evaluationService = __spring__.getBean("evaluationService") self.finish=0 def execute(self): templateId = self.params.getIntParam("templateId") if templateId>0: field_list=self.evaluationService.getEvaluationTemplateFields(templateId) request.setAttribute("field_list", field_list) return "/WEB-INF/ftl/evaluation/fieldcontent.ftl"
class showGroupTopic(ActionExecutor, ShowGroupBase, RequestMixiner, ResponseMixiner, PageCheckMixiner): def __init__(self): self.params = ParamUtil(request) self.group_svc = __jitar__.groupService self.bbs_svc = __jitar__.bbsService def execute(self): groupId = self.params.getIntParam("groupId") topicId = self.params.getIntParam("topicId") if groupId == None or groupId == 0: return self.notFound() group = self.group_svc.getGroup(groupId) if group == None: return self.notFound() if self.loginUser == None: isMember = None else: isMember = self.group_svc.getGroupMemberByGroupIdAndUserId(group.groupId, self.loginUser.userId) self.getGroupInfo(group.groupName) page = self.getGroupIndexPage(group) page = { "pageId":0, "layoutId":8, # 固定是布局 "isSystemPage" : "true", "owner" : "user", "title" :"", "skin":page.skin } pager = self.params.createPager() pager.setPageSize(10) pager.itemName = u"回复" pager.itemUnit = u"条" topic = self.bbs_svc.getTopicById(topicId); reply_list = self.bbs_svc.getReplyDataTable(topicId, pager) request.setAttribute("page", page) request.setAttribute("group", group) request.setAttribute("topic", topic) request.setAttribute("pager", pager) request.setAttribute("reply_list", reply_list) request.setAttribute("loginUser", self.loginUser) request.setAttribute("isMember", isMember) response.contentType = "text/html; charset=UTF-8" return "/WEB-INF/group/default/show_group_topic.ftl"
class manage_relatedPrepareCourse(PrepareCoursePageService): def __init__(self): self.params = ParamUtil(request) self.printer = response.getWriter() self.pc_svc = __jitar__.getPrepareCourseService() def execute(self): self.getBaseData() self.prepareCourseId = self.params.getIntParam("prepareCourseId") if self.prepareCourseId == 0: self.printer.write(u"无效的备课标识。") return prepareCourse = self.getBasePrepareCourse() if prepareCourse == None: self.printer.write(u"没有加载到所请求的备课。") return if self.canManage(prepareCourse) == False: self.printer.write(u"您无权管理本备课。") return if request.getMethod() == "POST": cmd = self.params.safeGetStringParam("cmd") if cmd == "delete": prepareCourseTopicIds = self.params.safeGetIntValues("guid") for id in prepareCourseTopicIds: self.pc_svc.removeRelatedPrepareCourse( self.prepareCourseId, id) pager = self.params.createPager() pager.itemName = u"备课" pager.itemUnit = u"个" qry = PrepareRelatedQuery( """ pc.createUserId,pc.leaderId,pc.memberCount,pc.articleCount,pc.resourceCount, pc.status,pc.actionCount,pc.topicCount,pc.topicReplyCount,pc.viewCount,pc.startDate,pc.endDate, pc.title, pc.prepareCourseId, pc.createDate, pc.metaSubjectId, pc.gradeId,pc.recommendState """) qry.prepareCourseId = prepareCourse.prepareCourseId pager.totalRows = qry.count() course_list = qry.query_map(pager) request.setAttribute("pager", pager) request.setAttribute("preparecourse_list", course_list) request.setAttribute("prepareCourse", prepareCourse) response.setContentType("text/html; charset=UTF-8") return "/WEB-INF/ftl/course/manage_relatedPrepareCourse.ftl"
def execute(self): param = ParamUtil(request) type = param.getRequestParam("cmd") articleId = param.getIntParam("id") out = response.writer articleService = __jitar__.articleService if type == "digg": articleService.addDigg(articleId) out.write(str(articleService.getDigg(articleId))) return elif type == "trample": articleService.addTrample(articleId) out.write(str(articleService.getTrample(articleId))) return else: out.write(0)
class showCommentSummary: def __init__(self): self.params = ParamUtil(request) self.video_svc =__spring__.getBean("videoService") def execute(self): site_config = SiteConfig() site_config.get_config() summary ="" vid= self.params.getIntParam("id") if (vid!=None) and (vid!=0): video=self.video_svc.findById(vid) summary=video.getSummary() else: return ""; request.setAttribute("videoId",vid) request.setAttribute("summary",summary) return "/WEB-INF/ftl/video/show_video_summary.ftl"
def execute(self): site_config = SiteConfig() site_config.get_config() param = ParamUtil(request) newsId = param.getIntParam("newsId") if newsId == None or newsId == "": return self.sub_svc = __jitar__.getSubjectService() news = self.sub_svc.getSiteNews(newsId) if news == None: return sql = """ Update SiteNews Set viewCount = viewCount + 1 Where newsId = :newsId """ cmd = Command(sql) cmd.setInteger("newsId", newsId) cmd.update() request.setAttribute("news", news) response.setContentType("text/html; charset=UTF-8") return "/WEB-INF/ftl/show_news.ftl"
class photo_show_state(ActionExecutor): def __init__(self): self.params = ParamUtil(request) self.p_svc = __spring__.getBean("photoService") self.login_user = self.getLoginUser() self.writer = response.getWriter() def execute(self): if self.login_user == None: self.writer.write(u"请先登录。") return photoId = self.params.getIntParam("photoId") show = self.params.safeGetStringParam("show") photo = self.p_svc.findById(photoId) if photo == None: self.writer.write(u"没有找到相应的照片。") return if show == "true": photo.setIsPrivateShow(True) else: photo.setIsPrivateShow(False) self.p_svc.updatePhoto(photo) #更新频道图片状态 channelPageService = __spring__.getBean("channelPageService") channelPhotoList = channelPageService.getChannelPhotoList( photo.photoId) if channelPhotoList != None and len(channelPhotoList) > 0: for cp in channelPhotoList: cp.title = photo.title cp.showState = (photo.delState == False and photo.auditState == 0 and photo.getIsPrivateShow() == False) channelPageService.saveOrUpdateChannelPhoto(cp) self.writer.write("200 OK") return
class group_video_category(ActionExecutor, CategoryMixiner): def __init__(self): ActionExecutor.__init__(self) self.params = ParamUtil(request) # execute() 由 ActionExecutor 实现, 我们只需要实现 dispatcher 即可. def dispatcher(self, cmd): if self.loginUser == None: return ActionResult.LOGIN # 得到当前协作组. if self.getCurrentGroup() == False: return ActionResult.ERROR # 计算协作组视频分类 itemType. self.itemType = self.toGroupVideoCategoryItemType(self.group) uuid = group_svc.getGroupCateUuid(self.group) if uuid == CategoryService.GROUP_CATEGORY_GUID_KTYJ: request.setAttribute("isKtGroup", "1") else: request.setAttribute("isKtGroup", "0") if cmd == None or cmd == '': cmd = 'list' if cmd == 'list': return self.list() elif cmd == 'add': return self.add() elif cmd == 'edit': return self.edit() elif cmd == 'save': return self.save() elif cmd == 'delete': return self.delete() self.addActionError("未知命令 : " + cmd) return ActionResult.ERROR # 列出视频分类列表. def list(self): #if self.getParentCategory() == False: # return ActionResult.ERROR self.category_tree = cate_svc.getCategoryTree(self.itemType) # print "self.category_tree = ", self.category_tree request.setAttribute("category_tree", self.category_tree) return "/WEB-INF/ftl/group/group_cate_video_list.ftl" # 添加一个分类. def add(self): if self.getParentCategory() == False: return ActionResult.ERROR # 得到整个分类树. category_tree = cate_svc.getCategoryTree(self.itemType) request.setAttribute("category_tree", category_tree) # 构造一个新分类. category = Category() category.itemType = self.itemType category.parentId = self.parentId request.setAttribute("category", category) return "/WEB-INF/ftl/group/group_cate_video_add.ftl" # 编辑修改/移动一个分类. def edit(self): # 得到要编辑的分类对象. if self.getCurrentCategory() == False: return ActionResult.ERROR request.setAttribute("category", self.category) # 得到整个分类树. category_tree = cate_svc.getCategoryTree(self.itemType) request.setAttribute("category_tree", category_tree) return "/WEB-INF/ftl/group/group_cate_video_add.ftl" # 新建/保存一个分类. def save(self): # 获得和验证父分类参数. if self.getParentCategory() == False: return ActionResult.ERROR #print "self.params = ", self.params # 从提交数据中组装出 category 对象. category = Category() category.categoryId = self.params.getIntParam("categoryId") category.name = self.params.getStringParam("name") category.itemType = self.itemType category.parentId = self.parentId category.description = self.params.getStringParam("description") # 简单验证. if category.name == None or category.name == "": self.addActionError(u"未填写分类名字.") return ActionResult.ERROR if category.categoryId == 0: # 创建该分类. cate_svc.createCategory(category) self.addActionMessage(u"分类 " + category.name + u" 创建成功.") else: # 更新/移动分类. cate_svc.updateCategory(category) self.addActionMessage(u"分类 " + category.name + u" 修改/移动操作成功完成.") link = "?cmd=list&groupId=" + str(self.group.groupId) self.addActionLink(u"返回", link) return ActionResult.SUCCESS # 删除所选分类. def delete(self): # 得到要删除的分类对象. if self.getCurrentCategory() == False: return ActionResult.ERROR # 验证其是否有子分类, 有子分类的必须要先删除子分类才能删除分类. if self.hasChildCategories(self.category): self.addActionError(u"分类 " + self.category.name + u" 有子分类, 必须先删除其所有子分类才能删除该分类.") return ActionResult.ERROR # 设置 GroupResource.groupCateId 都为 null. # 这里现在没有放在事务里面执行. self.updateGroupCategoryId(self.category) # 执行业务. cate_svc.deleteCategory(self.category) self.addActionMessage(u"分类 " + self.category.name + u" 已经成功删除.") return ActionResult.SUCCESS # 得到当前协作组, 协作组标识由页面传递过来. # 返回 True 表示有协作组, False 表示没有. def getCurrentGroup(self): # 得到协作组参数. groupId = self.params.getIntParam('groupId') if groupId == 0: self.addActionError(u"未给出要管理的协作组标识, 请确定您是从有效的链接进入的.") return False # 得到协作组. self.group = group_svc.getGroupMayCached(groupId) if self.group == None: self.addActionError(u"未找到指定标识为 %d 的协作组, 请确定您是从有效的链接进入的." % groupId) return False request.setAttribute("group", self.group) # TODO: 验证协作组状态. # TODO: 得到当前登录用户在协作组的身份. return True # 得到当前要操作的分类对象, 并验证其存在, 以及 itemType 匹配. # 返回 False 表示失败; True 表示成功. # 如果返回 True 则 self.category 中存放着拿出来的分类对象. def getCurrentCategory(self): categoryId = self.params.getIntParam("categoryId") if categoryId == 0: self.addActionError(u"未给出要操作的分类.") return False category = cate_svc.getCategory(categoryId) if category == None: self.addActionError(u"未找到指定标识为 " + str(categoryId) + u" 的分类.") return False # 验证分类类型必须匹配. if category.itemType != self.itemType: self.addActionError(u"不匹配的分类类型.") return False self.category = category return True # 得到父分类标识参数及父分类对象, 并进行 itemType 验证. def getParentCategory(self): self.parentId = self.params.getIntParamZeroAsNull("parentId") request.setAttribute("parentId", self.parentId) if self.parentId == None: # 认为是根分类. return True self.parentCategory = cate_svc.getCategory(self.parentId) request.setAttribute("parentCategory", self.parentCategory) # print "parentCategory = ", self.parentCategory if self.parentCategory == None: self.addActionError(u"未能找到指定标识的父分类, 请确定您是从有效的链接点击进入的.") return False if self.parentCategory.itemType != self.itemType: self.addActionError(u"不匹配的父分类类型: " + self.parentCategory.itemType) return False return True # 判断指定的分类是否具有子分类. def hasChildCategories(self, category): childCount = cate_svc.getChildrenCount(category.categoryId) return childCount > 0 # 设置 GroupResource.groupCateId == category.categoryId 都为 null def updateGroupCategoryId(self, category): cmd = Command(""" UPDATE GroupVideo SET groupCateId = NULL WHERE groupId = :groupId AND groupCateId = :groupCateId """) cmd.setInteger("groupId", self.group.groupId) cmd.setInteger("groupCateId", category.categoryId) count = cmd.update()
class group_ktusers(ActionExecutor,SubjectMixiner): def __init__(self): ActionExecutor.__init__(self) self.params = ParamUtil(request) # execute() 由 ActionExecutor 实现, 我们只需要实现 dispatcher 即可. def dispatcher(self, cmd): if self.loginUser == None: return ActionResult.LOGIN # 得到当前课题组. if self.getCurrentGroup() == False: return ActionResult.ERROR request.setAttribute("isKtGroup", "1") self.get_subject_list() # 学段分类. self.get_grade_list() if cmd == None or cmd == '': cmd = 'list' if cmd == 'list': return self.list() elif cmd == 'savektuser': return self.savektuser() elif cmd == 'delete': return self.delete() elif cmd == 'delete_ktuser': return self.deletektuser() elif cmd == 'edit_ktuser': return self.editktuser() elif cmd == 'save': return self.savektuserinfo() self.addActionError(u"未知命令 : " + cmd) return ActionResult.ERROR # 学科列表. def get_subject_list(self): self.putSubjectList() #学段 def get_grade_list(self): self.putGradeList() # 列出资源分类列表. def list(self): #print "ktuser_svc="+str(ktuser_svc) ktUserlist= ktuser_svc.GetGroupKTUsers(self.group.groupId); request.setAttribute("ktUserlist", ktUserlist) return "/WEB-INF/ftl/group/group_ktuser_list.ftl" def savektuserinfo(self): id = self.params.getIntParam('id') if id == 0: self.addActionError(u"缺少课题负责人id.") return ActionResult.ERROR ktuser=ktuser_svc.GetGroupKTUser(id) if ktuser==None: self.addActionError(u"没有找到课题负责人.") return ActionResult.ERROR ktuser.teacherXZZW=self.params.getStringParam('teacherXZZW') ktuser.teacherZYZW=self.params.getStringParam('teacherZYZW') ktuser.teacherXL=self.params.getStringParam('teacherXL') ktuser.teacherXW=self.params.getStringParam('teacherXW') ktuser.teacherYJZC=self.params.getStringParam('teacherYJZC') ktuser_svc.UpdateGroupKTUser(ktuser) return self.list(); def deletektuser(self): id = self.params.getIntParam('id') if id == 0: self.addActionError(u"请选择要删除的课题负责人.") return ActionResult.ERROR ktuser_svc.DeleteGroupKTUser(id); return self.list(); def editktuser(self): #修改课题负责人 id = self.params.getIntParam("id"); if id == 0: self.addActionError(u"请选择要修改的课题负责人.") return ActionResult.ERROR print "id="+str(id) ktuser=ktuser_svc.GetGroupKTUser(id) request.setAttribute("ktuser", ktuser) return "/WEB-INF/ftl/group/group_ktuser_edit.ftl" def delete(self): # 得到要删除的对象. ids = self.params.safeGetIntValues("ktuId"); if ids == None or ids.size() == 0: self.addActionError(u"没有选择要删除的负责人") return ActionResult.ERROR; #aid=ids.split(',') for id in ids: ktuser_svc.DeleteGroupKTUser(int(id)); #self.addActionMessage(u"课题负责人已经成功删除.") #return ActionResult.SUCCESS return self.list(); # 得到当前课题组, 课题组标识由页面传递过来. # 返回 True 表示有课题组, False 表示没有. def getCurrentGroup(self): # 得到课题组参数. groupId = self.params.getIntParam('groupId') if groupId == 0: self.addActionError(u"未给出要管理的课题组标识, 请确定您是从有效的链接进入的.") return False # 得到课题组. self.group = group_svc.getGroupMayCached(groupId) if self.group == None: self.addActionError(u"未找到指定标识为 %d 的课题组, 请确定您是从有效的链接进入的." % groupId) return False request.setAttribute("group", self.group) # TODO: 验证课题组状态. # TODO: 得到当前登录用户在课题组的身份. return True # 设置 GroupResource.groupCateId == category.categoryId 都为 null def updateGroupResourceCategoryId(self, category): cmd = Command(""" UPDATE GroupResource SET groupCateId = NULL WHERE groupId = :groupId AND groupCateId = :groupCateId """) cmd.setInteger("groupId", self.group.groupId) cmd.setInteger("groupCateId", category.categoryId) count = cmd.update()
class manage_createPrepareCourse_video(PrepareCoursePageService): def __init__(self): self.params = ParamUtil(request) self.printer = response.getWriter() self.pc_svc = __jitar__.getPrepareCourseService() self.user_svc = __jitar__.getUserService() self.pun_svc = __jitar__.UPunishScoreService self.msg_svc = __spring__.getBean("messageService") self.videoService = __spring__.getBean("videoService") self.group = None def execute(self): self.getBaseData() self.prepareCourseId = self.params.getIntParam("prepareCourseId") if self.prepareCourseId == 0: self.printer.write(u"无效的备课标识。") return self.prepareCourse = self.pc_svc.getPrepareCourse(self.prepareCourseId) if self.prepareCourse == None: self.printer.write(u"没有加载到所请求的备课。") return if self.canManage(self.prepareCourse) == False: self.printer.write(u"您无权管理本备课。") return self.group = self.pc_svc.getGroupOfPrepareCourse( self.prepareCourse.prepareCourseId) if self.group == None: self.printer.write(u"集备必须是在协作组之内。") return if request.getMethod() == "POST": cmd = self.params.safeGetStringParam("cmd") if cmd == "1": self.delete_precarecoursevideo() elif cmd == "addscore": #加分 score = self.params.safeGetIntParam("add_score") if score > 0: #注意:加分是正的,保存是负的 score = score * -1 #print "score="+str(score) score_reason = self.params.safeGetStringParam( "add_score_reason") vId = self.params.safeGetIntValues("vId") for id in vId: video = self.videoService.findById(id) if video != None: upun = self.pun_svc.createUPunishScore( ObjectType.OBJECT_TYPE_VIDEO.getTypeId(), video.id, video.userId, float(score), score_reason, self.loginUser.userId, self.loginUser.trueName) self.pun_svc.saveUPunishScore(upun) elif cmd == "minusscore": #罚分 发消息 score = self.params.safeGetIntParam("minus_score") #print "score="+str(score) if score < 0: #注意:罚分是负的,保存是正的 score = score * -1 score_reason = self.params.safeGetStringParam( "minus_score_reason") vId = self.params.safeGetIntValues("vId") for id in vId: video = self.videoService.findById(id) self.pc_svc.removePrepareCourseVideo( self.prepareCourseId, id) if video != None: title = video.title upun = self.pun_svc.createUPunishScore( ObjectType.OBJECT_TYPE_VIDEO.getTypeId(), video.id, video.userId, float(score), score_reason, self.loginUser.userId, self.loginUser.trueName) self.pun_svc.saveUPunishScore(upun) #发送消息:管理员删除了您的文章/资源/视频及扣分信息,内容为您的 ***(内容标题) 被删除,罚*分,原因:***。 message = Message() message.sendId = self.loginUser.userId message.receiveId = video.userId message.title = u"管理员从集备中移除了您的视频及扣分信息" if score_reason != "": message.content = u"您的视频" + title + u"因为:" + score_reason + u" 原因,从 " + self.prepareCourse.title + u" 中移除,并罚分" + str( score) + u"分" else: message.content = u"您的视频 " + title + u" 从 " + self.prepareCourse.title + u" 中移除,并罚分" + str( score) + u"分" self.msg_svc.sendMessage(message) pager = self.params.createPager() pager.itemName = u"视频" pager.itemUnit = u"个" pager.pageSize = 10 qry = PrepareCourseVideoQuery( """ u.userId,u.loginName,u.trueName,u.nickName,pcv.videoTitle,pcv.videoId,pcv.createDate,v.flvThumbNailHref,v.flvHref """ ) qry.prepareCourseId = self.prepareCourse.prepareCourseId qry.orderType = 0 pager.totalRows = qry.count() pcv_list = qry.query_map(pager) request.setAttribute("pager", pager) request.setAttribute("pcv_list", pcv_list) request.setAttribute("group", self.group) request.setAttribute("prepareCourse", self.prepareCourse) response.setContentType("text/html; charset=UTF-8") return "/WEB-INF/ftl/course/manage_createPrepareCourse_VideoList.ftl" def delete_precarecoursevideo(self): vId = self.params.safeGetIntValues("vId") for id in vId: self.pc_svc.removePrepareCourseVideo(self.prepareCourseId, id)
class system_plugin(BaseAdminAction): ADMIN_MAIN = "/WEB-INF/ftl/admin/main.ftl" def __init__(self): self.params = ParamUtil(request) self.plugin_svc = __spring__.getBean("pluginService") self.pluginid = 0 def execute(self): user = self.loginUser if user == None: return ActionResult.LOGIN accessControlService = __spring__.getBean("accessControlService") if accessControlService.isSystemAdmin(user) == False: self.addActionError(u"没有管理权限.") return ActionResult.ERROR self.pluginid = self.params.getIntParam("pluginId") if request.getMethod() == "POST": cmd = self.params.safeGetStringParam("cmd") if cmd == "new": self.save_or_update() elif cmd == "edit": self.save_or_update() elif cmd == "enabled": self.enable_plugin() elif cmd == "disabled": self.disabled_plugin() elif cmd == "delete": self.delete_plugin() else: return self.get_form() return self.get_form() def get_form(self): if self.pluginid != 0: plugin = self.plugin_svc.getPluginById(self.pluginid) request.setAttribute("plugin", plugin) plugin_list = self.plugin_svc.getAllPluginList() request.setAttribute("plugin_list", plugin_list) return "/WEB-INF/ftl/admin/system_plugin.ftl" def save_or_update(self): pluginName = self.params.safeGetStringParam("pluginName") pluginTitle = self.params.safeGetStringParam("pluginTitle") pluginIcon = self.params.safeGetStringParam("pluginIcon") if pluginName == "" or pluginTitle == "": self.addActionError(u"请输入英文和中文名称。") return ActionResult.ERROR if self.pluginid == 0: plugin = Plugin() plugin.setItemOrder(0) plugin.setEnabled(1) plugin.setPluginType("system") else: plugin = self.plugin_svc.getPluginById(self.pluginid) plugin.setPluginName(pluginName) plugin.setPluginTitle(pluginTitle) if pluginIcon != "": plugin.setIcon(pluginIcon) self.plugin_svc.saveOrUpdatePlugin(plugin) def enable_plugin(self): guid = self.params.safeGetIntValues("plugin_id") for id in guid: plugin = self.plugin_svc.getPluginById(id) if plugin != None: plugin.setEnabled(1) self.plugin_svc.saveOrUpdatePlugin(plugin) def disabled_plugin(self): guid = self.params.safeGetIntValues("plugin_id") for id in guid: plugin = self.plugin_svc.getPluginById(id) if plugin != None: plugin.setEnabled(0) self.plugin_svc.saveOrUpdatePlugin(plugin) def delete_plugin(self): guid = self.params.safeGetIntValues("plugin_id") for id in guid: plugin = self.plugin_svc.getPluginById(id) if plugin != None: self.plugin_svc.deletePlugin(plugin)