Exemplo n.º 1
0
 def execute(self):
     self.loginName = request.getAttribute("loginName")
     # 加载当前用户对象.
     self.user = user_svc.getUserByLoginName(self.loginName)
     request.setAttribute("user", self.user)
     
     pager = self.params.createPager()  
     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
                         """)
     qry.ownerType = "user"
     qry.status = 0
     qry.createUserId = self.user.userId
     pager.setPageSize(16)        
     pager.itemName = u"活动"
     pager.itemUnit = u"个"
     action_list = qry.query_map(pager)
     pager.totalRows = action_list.size()
     
     #print "group_list = " , group_list
     request.setAttribute("action_list", action_list)        
     request.setAttribute("pager",pager)        
     hql = """SELECT p.skin
          FROM Page p 
          WHERE p.name = 'index' and p.objId = :userId and p.objType = 1
          """ 
     pageSkin = Command(hql).setInteger("userId", self.user.userId).first()
     #print "pageSkin = ", pageSkin
     if pageSkin == None or pageSkin == "": pageSkin = "skin1"
     
     # 构造页面数据,由于页面不是在数据库存在的,这里的数据是虚拟数据.
     #pages : [{id: ${page.pageId}, title: '${user.blogName!?js_string}', layoutId: ${page.layoutId!0} }],
     page = {
             "pageId":0,
             "layoutId":2, # 固定是布局2
             "isSystemPage" : "true", 
             "owner" : "user", 
             "title" :"",
             "skin":pageSkin
             }        
     request.setAttribute("page", page)
     self.page = self.getUserProfilePage(self.user)
     if self.page.customSkin != None:
         customSkin = JSONObject.parse(self.page.customSkin)
         request.setAttribute("customSkin", customSkin)
             
     # 构造widgets .
     widgets = [
                {"id": "1", "pageId":0, "columnIndex":1,"title":u"个人档案","module":"profile", "ico":"", "data":""},
                {"id": "placerholder1", "pageId":0, "columnIndex":2,"title":"","module":"placeholder", "ico":"", "data":""}
               ]
     request.setAttribute("widgets",widgets)
     request.setAttribute("widget_list",widgets)
     
     response.setContentType("text/html; charset=UTF-8")
     return "/WEB-INF/user/default/user_actions.ftl"
 def execute(self):
     self.loginName = request.getAttribute("loginName")          
     writer = response.getWriter()                
     # 加载当前用户对象.
     self.user = user_svc.getUserByLoginName(self.loginName)
     request.setAttribute("user", self.user)
     hql = """SELECT p.skin
          FROM Page p 
          WHERE p.name = 'index' and p.objId = :userId and p.objType = 1
          """ 
     pageSkin = Command(hql).setInteger("userId", self.user.userId).scalar()
     #print "pageSkin = ", pageSkin
     if pageSkin == None or pageSkin == "": pageSkin = "skin1"
     
     # 构造页面数据,由于页面不是在数据库存在的,这里的数据是虚拟数据.
     #pages : [{id: ${page.pageId}, title: '${user.blogName!?js_string}', layoutId: ${page.layoutId!0} }],
     page = {
             "pageId":0,
             "layoutId":2, # 固定是布局2
             "isSystemPage" : "true", 
             "owner" : "user", 
             "title" :"",
             "skin":pageSkin
             }        
     request.setAttribute("page", page)
     self.page = self.getUserProfilePage(self.user)
     if self.page.customSkin != None:
         customSkin = JSONObject.parse(self.page.customSkin)
         request.setAttribute("customSkin", customSkin)
     
     # 构造widgets .
     widgets = [
                {"id": "1", "pageId":0, "columnIndex":1,"title":u"个人档案","module":"profile", "ico":"", "data":""},
                {"id": "placerholder1", "pageId":0, "columnIndex":2,"title":"","module":"placeholder", "ico":"", "data":""}
               ]
     request.setAttribute("widgets",widgets)
     request.setAttribute("widget_list",widgets)
     #得到当前用户的创建的活动
     pager = self.params.createPager()
     qry = PrepareCourseMemberQuery(""" pc.prepareCourseId,pc.title, pc.createDate,pc.memberCount,pc.articleCount,pc.resourceCount,pc.actionCount,pc.topicCount,pc.topicReplyCount """)
     qry.status = 0
     qry.userId = self.user.userId
     pager.setPageSize(20)        
     pager.itemName = u"备课"
     pager.itemUnit = u"个"
     course_list = qry.query_map(pager)
     pager.totalRows = qry.count()
     request.setAttribute("course_list", course_list)
     request.setAttribute("pager", pager)
     response.setContentType("text/html; charset=UTF-8")
     return "/WEB-INF/user/default/user_joinedpreparecourse_list.ftl"
Exemplo n.º 3
0
 def execute(self):
     if self.loginUser == None:
         response.sendRedirect("../login.jsp")
         return None
     page = self.page_svc.getUserIndexPage(self.login_user)
     if page == None:
         self.addActionError(u"没有找到您的首页。")
         return ActionResult.ERROR
     if request.getMethod() == "POST":
         bgcolor = self.params.getStringParam("bgcolor")
         logo = self.params.getStringParam("logo")
         logoheight = self.params.getStringParam("logoheight")
         titletop = self.params.getStringParam("titletop")
         titleleft = self.params.getStringParam("titleleft")
         titledisplay = self.params.getStringParam("titledisplay")
         jstring = '{"bgcolor":"' + bgcolor + '","logo":"' + logo + '","logoheight":"' + logoheight + '","titleleft":"' + titleleft + '","titletop":"' + titletop + '","titledisplay":"' + titledisplay + '"}'
         jsObj = JSONObject.parse(jstring)
         self.page_svc.setPageCustomSkin(page, jsObj.toString())
         self.addActionMessage(u"自定义设置已保存")
         return ActionResult.SUCCESS
     else:
         if page.customSkin != None:
             customSkin = JSONObject.parse(page.customSkin)
             color = customSkin["bgcolor"]
             if len(color) > 0 and color[0:1] == "#": color = color[1:6]
             request.setAttribute("color", color)
             request.setAttribute("customSkin", customSkin)
         else:
             customSkin = {
                 "bgcolor": "",
                 "logo": "",
                 "logoheight": "",
                 "titledisplay": "",
                 "titleleft": "",
                 "titletop": ""
             }
             request.setAttribute("customSkin", customSkin)
         return "/WEB-INF/ftl/user/user_custom_info.ftl"
Exemplo n.º 4
0
    def getSystemPageWithUserSkin(self, pk, user):
        # 得到此系统页面.
        sys_page = page_svc.getPageByKey(pk)
        if sys_page == None: return None

        # 得到用户个人主页.
        index_page = page_svc.getUserIndexPage(user._getUserObject())

        # 创建新页面.
        new_page = sys_page._getPageObject().clone()
        if index_page != None:
            new_page.skin = index_page.skin
            new_page.customSkin = index_page.customSkin
            if index_page.customSkin != None:
                customSkin = JSONObject.parse(index_page.customSkin)
                request.setAttribute("customSkin", customSkin)
        return new_page
Exemplo n.º 5
0
    def getPrepareCoursePageWithCustomSkin(self, prepareCourse):
        cache_key = "prepareCourse_page_" + str(prepareCourse.prepareCourseId)
        page = cache.get(cache_key)
        if page == None:
            index_pk = PageKey(ObjectType.OBJECT_TYPE_PREPARECOURSE,
                               prepareCourse.prepareCourseId, 'index')
            page = page_svc.getPageByKey(index_pk)
            if page != None:
                cache.put(cache_key, page)
            #清空测试
            #cache.remove(cache_key)
        if page == None:
            page = self.createPrepareCourseIndexPage(prepareCourse)  #添加一个页面

        if page.customSkin != None:
            customSkin = JSONObject.parse(page.customSkin)
            request.setAttribute("customSkin", customSkin)
        return page
Exemplo n.º 6
0
 def execute(self):
   self.loginName = request.getAttribute("loginName")
   # 得到要工作室主人, 并验证用户状态.
   self.user = user_svc.getUserByLoginName(self.loginName)
   request.setAttribute("user", self.user)
   #print "self.user = "******"self.page = ", self.page
   if self.page == None:
     return self.sendNotFound()
   request.setAttribute("page", self.page)
   if self.page.customSkin != None:
     customSkin = JSONObject.parse(self.page.customSkin)
     request.setAttribute("customSkin", customSkin)
     
   # 显示该页面.
   return self.getWidgetsAndReturn(self.page, self.PAGE_FTL)
Exemplo n.º 7
0
 def execute(self):
     self.loginName = request.getAttribute("UserName")
     """
     if self.loginUser == None:
         response.sendRedirect(request.getServletContext().getContextPath() + "/u/" + self.loginName + "/html/index.html")
         return
     if self.loginName != self.loginUser.loginName:
         response.sendRedirect(request.getServletContext().getContextPath() + "/u/" + self.loginName + "/html/index.html")
         return
     
     """
     # 得到要工作室主人, 并验证用户状态.
     self.user = user_svc.getUserByLoginName(self.loginName)
     request.setAttribute("user", self.user)
     
     #print "self.user = "******"visitor", self.visitor)
     request.setAttribute("visitor_role", visitor_role)
     
     # 得到用户的首页.
     self.page = self.getUserIndexPage(self.user)
     if self.page == None:
       return self.sendNotFound()    
     request.setAttribute("page", self.page)
     if self.page.customSkin != None:
       customSkin = JSONObject.parse(self.page.customSkin)
       request.setAttribute("customSkin", customSkin)
     
     # 显示该页面.
     request.setAttribute("ru", request.getScheme() + "://" + request.getServerName() + ":" + str(request.getServerPort()) + request.getContextPath())
     return self.getWidgetsAndReturn(self.page, self.PAGE_FTL)
Exemplo n.º 8
0
    def execute(self):
        self.loginName = request.getAttribute("loginName")
        # 解析 uri.
        if self.parseUri() == False:
            return self.sendNotFound(self.uri)

        # 得到要工作室主人, 并验证用户状态.
        self.user = user_svc.getUserByLoginName(self.loginName)
        request.setAttribute("user", self.user)
        #print "self.user = "******"self.category = ", self.category
        if self.category == None:
            return self.sendNotFound()
        request.setAttribute("category", self.category)

        # 得到资源分类显示页面.
        page = self.getUserResourceCategoryPage(self.user)
        #print "page = ", page
        if page == None:
            return self.sendNotFound()
        if page.customSkin != None:
            customSkin = JSONObject.parse(page.customSkin)
            request.setAttribute("customSkin", customSkin)
        request.setAttribute("page", page)

        # 得到页面功能块.
        widget_list = self.getPageWidgets(page)
        #print "widget_list = ", widget_list
        request.setAttribute("widget_list", widget_list)
        request.setAttribute("widgets", widget_list)

        return "/WEB-INF/user/default/resource_category_index.ftl"
Exemplo n.º 9
0
 def execute(self):
     params = ParamUtil(request)
     pid = params.safeGetIntParam("pid")
     unitService = __spring__.getBean("unitService")
     unitlist = unitService.getChildUnitListByParenId(pid,[False])
     json = "["
     jsonData = JSONObject()
     for u in unitlist:
         jsonData.put("NodeId",str(u.unitId))
         jsonData.put("LinkText",u.unitTitle + u"(" + u.siteTitle + u")")
         jsonData.put("LinkTitle",u.siteTitle)
         jsonData.put("LinkHref","transfer.py?unitName=" + u.unitName)
         if u.hasChild:
             jsonData.put("ChildCount","1")
         else:
             jsonData.put("ChildCount","0")
         json += jsonData.toString() + ","
     if json.endswith(","):
         json = json[0:len(json)-1]
     json += "]"
     response.setCharacterEncoding("UTF-8")
     response.setContentType("text/plain")
     response.getWriter().write(json)
Exemplo n.º 10
0
    def execute(self):
        evaluationService = __spring__.getBean("evaluationService")
        evaluationPlanId = self.params.safeGetIntParam("evaluationPlanId")
        evaluationPlan = evaluationService.getEvaluationPlanById(
            evaluationPlanId)
        if evaluationPlan == None:
            self.addActionError(u"不能加载评课活动,无法进行评课。")
            return self.ERROR
        if evaluationPlan.enabled == False:
            self.addActionError(u"该评课活动没有启用,无法进行评课。")
            return self.ERROR
        #判断是否过期
        beginDate = evaluationPlan.startDate
        endDate = evaluationPlan.endDate
        nowDate = Date()
        if beginDate.compareTo(nowDate) > -1 or endDate.compareTo(nowDate) < 1:
            self.addActionError(u"该评课活动日期已过,无法进行评课。")
            return self.ERROR

        if request.getMethod() == "POST":
            fieldcount = self.params.safeGetIntValues("fieldcount")
            title = self.params.safeGetStringParam("titleName")
            teacherName = self.params.safeGetStringParam("teacherName")
            metaGradeId = self.params.getIntParamZeroAsNull("gradeId")
            metaSubjectId = self.params.getIntParamZeroAsNull("subjectId")

            if title == "" or teacherName == "":
                self.addActionError(u"请输入评课名称和授课人。")
                return self.ERROR

            content = ""
            for num in fieldcount:
                fname = self.params.safeGetStringParam("fieldname" + str(num))
                fconntent = self.params.safeGetStringParam("fieldcontent" +
                                                           str(num))
                if fname != "":
                    content += "{" + JSONObject.toString(fname,
                                                         fconntent) + "},"
            if content != "":
                if content.endswith(","):
                    content = content[0:len(content) - 1]
                content = "[" + content + "]"

            templateId = self.params.safeGetIntParam("templateId")
            evaluationContent = EvaluationContent()
            evaluationContent.setTitle(title)
            evaluationContent.setCourseTeacherName(teacherName)
            evaluationContent.setPublishUserId(self.loginUser.userId)
            evaluationContent.setPublishUserName(self.loginUser.trueName)
            evaluationContent.setMetaSubjectId(metaSubjectId)
            evaluationContent.setMetaGradeId(metaGradeId)
            evaluationContent.setEvaluationPlanId(evaluationPlanId)
            evaluationContent.setEvaluationTemplateId(templateId)
            evaluationContent.setPublishContent(content)
            evaluationService.saveOrUpdateEvaluationContent(evaluationContent)
            response.sendRedirect("evaluations.py")

        if self.params.existParam("templateId"):
            templateId = self.params.safeGetIntParam("templateId")
            template = evaluationService.getEvaluationTemplateById(templateId)
            evaluationPlan = evaluationService.getEvaluationPlanById(
                evaluationPlanId)
            if evaluationPlan == None:
                self.addActionError(u"不能加载评课活动,无法进行评课。")
                return self.ERROR
            if template == None:
                self.addActionError(u"不能加载评课模板,无法进行评课。")
                return self.ERROR
            self.putSubjectList()
            self.putGradeList()
            request.setAttribute("template", template)
            request.setAttribute("evaluationPlan", evaluationPlan)
            return "/WEB-INF/ftl/evaluation/evaluation_content_edit.ftl"

        else:
            qry = EvaluationTemplateQuery(
                "et.evaluationTemplateId, et.evaluationTemplateName")
            qry.enabled = True
            template_list = qry.query_map(qry.count())
            if len(template_list) < 1:
                self.addActionError(u"当前没有模板可供选择,无法进行评课。")
                return self.ERROR
            elif len(template_list) == 1:
                response.sendRedirect(
                    "evaluation_content_edit.py?evaluationPlanId=" +
                    str(evaluationPlanId) + "&templateId=" +
                    str(template_list[0]["evaluationTemplateId"]))
            else:
                request.setAttribute("template_list", template_list)
                request.setAttribute("evaluationPlanId", evaluationPlanId)
                return "/WEB-INF/ftl/evaluation/evaluation_content_edit_select_template.ftl"
Exemplo n.º 11
0
 def execute(self):
     self.loginName = request.getAttribute("loginName")
     if self.loginName == None or self.loginName == "":
         return self.sendNotFound(self.uri)
     self.user = userService.getUserByLoginName(self.loginName)
     #print "user = "******"k")
     if k == None or k == "":
         self.addActionError(u"请输入关键字。")
         self.addActionLink(u"返回","../")
         return self.ERROR            
     
     request.setAttribute("user", self.user)
     request.setAttribute("loginUser", self.loginUser)
     hql = "SELECT p.skin FROM Page p WHERE p.name = 'index' and p.objId = :userId and p.objType = 1" 
     #pageSkin = Command(hql).setInteger("userId", self.user.userId).scalar()
     list = []
     list = Command(hql).setInteger("userId", self.user.userId).open(1);
     if list == None :
         pageSkin = None
     else :
         pageSkin = list[0]
     #print "pageSkin = ", pageSkin
     if pageSkin == None or pageSkin == "": pageSkin = "skin1"
     
     # 构造页面数据,由于页面不是在数据库存在的,这里的数据是虚拟数据.
     #pages : [{id: ${page.pageId}, title: '${self.user.blogName!?js_string}', layoutId: ${page.layoutId!0} }],
     page = {
             "pageId": 0,
             "layoutId": 2, # 固定是布局2
             "isSystemPage" : "true", 
             "owner" : "user", 
             "title" :"",
             "skin": pageSkin
             }        
     request.setAttribute("page", page)
     self.page = self.getUserProfilePage(self.user)
     if self.page.customSkin != None:
         customSkin = JSONObject.parse(self.page.customSkin)
         request.setAttribute("customSkin", customSkin)
     # 构造widgets .
     widgets = [
                {"id": "1", "pageId":0, "columnIndex":1,"title":u"个人档案","module":"profile", "ico":"", "data":""},                   
                {"id": "2", "pageId":self.page.pageId, "columnIndex":1, "title":u"文章搜索", "module":"blog_search", "ico":"", "data":""} 
               ]
     request.setAttribute("widgets", widgets)
     request.setAttribute("widget_list", widgets)
     
     
     pagingService = __spring__.getBean("pagingService")
     pagingQuery = PagingQuery()
     pagingQuery.keyName = "ArticleId"
     pagingQuery.fetchFieldsName = "*"
     pagingQuery.orderByFieldName = "ArticleId DESC"
     pagingQuery.spName = "findPagingArticleBase"
     pagingQuery.tableName = "HtmlArticleBase"
     pagingQuery.whereClause = "userId = " + str(self.user.userId) + " And HideState = 0 And AuditState = 0 And DraftState = 0 And DelState = 0"
     if k != None and k != "":
         newKey = k.replace("%","[%]").replace("_","[_]").replace("[","[[]")
         pagingQuery.whereClause = pagingQuery.whereClause + " And Title LIKE '%" + newKey + "%'"
     
     #得到记录总数
     count = pagingService.getRowsCount(pagingQuery)
     if count % 20 == 0:
         pageCount = int(count/20)
     else:
         pageCount = int(count/20) + 1
     request.setAttribute("pageCount", pageCount)
     request.setAttribute("k", k)
     response.setContentType("text/html; charset=UTF-8")
     return "/WEB-INF/user/default/user_article_search.ftl"
Exemplo n.º 12
0
    def execute(self):
        writer = response.getWriter()

        self.params = ParamUtil(request)
        loginName = request.getAttribute("loginName")
        if (loginName == None or loginName == ''):
            writer.write(u"没有该用户。")
            return

        # 加载当前用户对象.
        user = __jitar__.userService.getUserByLoginName(loginName)
        request.setAttribute("user", user)
        if self.canVisitUser(user) == False:
            return self.ACCESS_ERROR

        # loginUser 对象来自基类 BaseAdminAction .
        request.setAttribute("loginUser", self.loginUser)

        # 创建分页对象
        pager = self.params.createPager()
        pager.setPageSize(20)
        qry = LeaveWordQuery(
            """ lwd.title, lwd.content, lwd.loginName, lwd.nickName, lwd.createDate, lwd.reply                             
                            """)
        qry.objId = user.userId
        qry.objType = 1

        pager.totalRows = qry.count()
        pager.itemName = u"留言"
        pager.itemUnit = u"条"
        pager.pageSize = 20

        result = qry.query_map(pager)
        request.setAttribute("user_leaveword_list", result)
        request.setAttribute("pager", pager)

        hql = """SELECT new Map(p.skin as skin)
             FROM Page p 
             WHERE p.name = 'index' and p.objId = :userId and p.objType = 1
             """
        pageSkin = Command(hql).setInteger("userId", user.userId).first()

        # 构造页面数据,由于页面不是在数据库存在的,这里的数据是虚拟数据.
        #pages : [{id: ${page.pageId}, title: '${user.blogName!?js_string}', layoutId: ${page.layoutId!0} }],
        page = {
            "pageId": 0,
            "layoutId": 2,  # 固定是布局2
            "isSystemPage": "true",
            "owner": "user",
            "title": "",
            "skin": pageSkin["skin"]
        }
        request.setAttribute("page", page)
        self.page = self.getUserProfilePage(user)
        if self.page.customSkin != None:
            customSkin = JSONObject.parse(self.page.customSkin)
            request.setAttribute("customSkin", customSkin)

        # 构造widgets .
        widgets = [{
            "id": "1",
            "pageId": 0,
            "columnIndex": 1,
            "title": u"个人档案",
            "module": "profile",
            "ico": "",
            "data": ""
        }, {
            "id": "placerholder1",
            "pageId": 0,
            "columnIndex": 2,
            "title": "",
            "module": "placeholder",
            "ico": "",
            "data": ""
        }]

        request.setAttribute("widgets", widgets)
        request.setAttribute("widget_list", widgets)

        response.setContentType("text/html; charset=UTF-8")
        return "/WEB-INF/user/default/user_leaveword_list.ftl"
Exemplo n.º 13
0
    def execute(self):
        self.params = ParamUtil(request)
        self.loginName = request.getAttribute("loginName")
        # 解析 uri
        if self.parseUri() == False:
            return self.sendNotFound(self.uri)

        # 得到要工作室主人, 并验证用户状态
        self.user = user_svc.getUserByLoginName(self.loginName)
        request.setAttribute("user", self.user)
        request.setAttribute("loginUser", self.loginUser)
        #print "self.user = "******"loginUser", self.loginUser)

        # 创建分页对象
        pager = self.params.createPager()
        pager.setPageSize(18)
        qry = VideoQuery(
            """ v.videoId, v.title, v.createDate, v.lastModified, v.flvThumbNailHref, v.href, v.commentCount, v.viewCount, u.nickName, u.loginName, u.userIcon """
        )
        qry.userId = self.user.userId
        qry.isPrivateShow = None
        if self.categoryId != 0:
            qry.userStapleId = self.categoryId

        #print "userStapleId = ", userStapleId
        pager.totalRows = qry.count()
        pager.itemName = u"视频"
        pager.itemUnit = u"个"
        qry.orderType = 0

        result = qry.query_map(pager)
        request.setAttribute("video_list", result)
        request.setAttribute("pager", pager)

        hql = """SELECT new Map(p.skin as skin)
             FROM Page p 
             WHERE p.name = 'index' and p.objId = :userId and p.objType = 1
             """
        pageSkin = Command(hql).setInteger("userId", self.user.userId).first()

        # 构造页面数据,由于页面不是在数据库存在的,这里的数据是虚拟数据.
        #pages : [{id: ${page.pageId}, title: '${user.blogName!?js_string}', layoutId: ${page.layoutId!0} }],
        page = {
            "pageId": 0,
            "layoutId": 2,  # 固定是布局2
            "isSystemPage": "true",
            "owner": "user",
            "title": "",
            "skin": pageSkin["skin"]
        }
        request.setAttribute("page", page)
        self.page = self.getUserProfilePage(self.user)
        if self.page.customSkin != None:
            customSkin = JSONObject.parse(self.page.customSkin)
            request.setAttribute("customSkin", customSkin)

        # 构造widgets .
        widgets = [
            {
                "id": "1",
                "pageId": 0,
                "columnIndex": 1,
                "title": u"个人档案",
                "module": "profile",
                "ico": "",
                "data": ""
            }
            #, {"id": "2", "pageId":0, "columnIndex":1, "title":"视频分类", "module":"video_cate", "ico":"", "data":""}
            ,
            {
                "id": "placerholder1",
                "pageId": 0,
                "columnIndex": 2,
                "title": "",
                "module": "placeholder",
                "ico": "",
                "data": ""
            }
        ]

        request.setAttribute("widgets", widgets)
        request.setAttribute("widget_list", widgets)

        response.setContentType("text/html; charset=UTF-8")
        return "/WEB-INF/user/default/user_videos.ftl"
Exemplo n.º 14
0
    def execute(self):
        #需要添加到内容:当前用户的首页skin,当前用户的用户对象,当前用户是否登录过.
        writer = response.getWriter()

        photoStapleService = __jitar__.getPhotoStapleService()

        self.params = ParamUtil(request)
        userStapleId = self.params.safeGetIntParam("userStapleId")
        loginName = request.getAttribute("loginName")
        if (loginName == None or loginName == ''):
            writer.println(u"没有该用户。")
            return

        # 加载当前用户对象.
        user = __jitar__.userService.getUserByLoginName(loginName)
        request.setAttribute("user", user)
        if self.canVisitUser(user) == False:
            return self.ACCESS_ERROR

        # loginUser 对象来自基类 BaseAdminAction .
        request.setAttribute("loginUser", self.loginUser)

        # 创建分页对象
        pager = self.params.createPager()
        pager.setPageSize(6)
        qry = PhotoQuery(
            """ p.photoId, p.title, p.createDate, p.lastModified, p.href, p.commentCount,p.viewCount, p.userStaple, 
                           u.nickName, u.loginName, u.userIcon, stap.title as stapleTitle                                       
                            """)
        qry.userId = user.userId
        qry.isPrivateShow = None
        if userStapleId != 0:
            qry.userStapleId = userStapleId
            photoStaple = photoStapleService.findById(userStapleId)
            if photoStaple != None:
                request.setAttribute("photoStaple", photoStaple)

        #print "userStapleId = ", userStapleId
        pager.totalRows = qry.count()
        pager.itemName = u"图片"
        pager.itemUnit = u"张"
        qry.orderType = 0

        result = qry.query_map(pager)
        request.setAttribute("photo_list", result)
        request.setAttribute("pager", pager)

        hql = """SELECT new Map(p.skin as skin)
             FROM Page p 
             WHERE p.name = 'index' and p.objId = :userId and p.objType = 1
             """
        pageSkin = Command(hql).setInteger("userId", user.userId).first()

        # 构造页面数据,由于页面不是在数据库存在的,这里的数据是虚拟数据.
        #pages : [{id: ${page.pageId}, title: '${user.blogName!?js_string}', layoutId: ${page.layoutId!0} }],
        page = {
            "pageId": 0,
            "layoutId": 2,  # 固定是布局2
            "isSystemPage": "true",
            "owner": "user",
            "title": "",
            "skin": pageSkin["skin"]
        }
        request.setAttribute("page", page)
        self.page = self.getUserProfilePage(user)
        if self.page.customSkin != None:
            customSkin = JSONObject.parse(self.page.customSkin)
            request.setAttribute("customSkin", customSkin)

        # 构造widgets .
        widgets = [{
            "id": "1",
            "pageId": 0,
            "columnIndex": 1,
            "title": u"个人档案",
            "module": "profile",
            "ico": "",
            "data": ""
        }, {
            "id": "2",
            "pageId": 0,
            "columnIndex": 1,
            "title": u"相册分类",
            "module": "photo_cate",
            "ico": "",
            "data": ""
        }, {
            "id": "placerholder1",
            "pageId": 0,
            "columnIndex": 2,
            "title": "",
            "module": "placeholder",
            "ico": "",
            "data": ""
        }]

        request.setAttribute("widgets", widgets)
        request.setAttribute("widget_list", widgets)

        response.setContentType("text/html; charset=UTF-8")
        return "/WEB-INF/user/default/user_photos.ftl"
Exemplo n.º 15
0
    def execute(self):
        self.loginName = request.getAttribute("loginName")
        #print "Hello, show_article is executed"
        if self.parseUri() == False:
            return self.sendNotFound(self.uri)

        # 得到用户并验证用户状态
        self.user = user_svc.getUserByLoginName(self.loginName)
        request.setAttribute("user", self.user)
        #print "self.user = "******"accessControlService")
            controlList = accessControlService.getAllAccessControlByUser(
                self.loginUser)
            canView = ((controlList != None)
                       or (self.article.userId == self.loginUser.userId))
        punshScore = pun_svc.getUPunishScore(
            ObjectType.OBJECT_TYPE_ARTICLE.getTypeId(), self.articleId)
        if punshScore != None:
            if 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())

        # print "访问文章: self.article =", self.article, "by", self.user
        if canView == False:
            if self.article.auditState != Article.AUDIT_STATE_OK:
                return self.sendNotFound()  # TODO: 更好的提示
            elif self.article.draftState:
                return self.sendNotFound()  # TODO: 更好的提示
            elif self.article.delState:
                return self.sendNotFound()  # TODO: 更好的提示

        # 得到此文章的 page. 当前实现使用系统缺省的
        page = self.getUserEntryPage(self.user)
        #print "page = ", page
        if page == None:
            return self.sendNotFound()
        request.setAttribute("page", page)

        self.page = self.getUserProfilePage(self.user)
        if self.page.customSkin != None:
            customSkin = JSONObject.parse(self.page.customSkin)
            request.setAttribute("customSkin", customSkin)

        # 得到页面功能块
        widget_list = self.getPageWidgets(page)
        #print "widget_list = ", widget_list
        request.setAttribute("widget_list", widget_list)

        # 获得前一篇文章, 后一篇文章
        self.get_prev_article()

        # 相关文章
        self.getSimilarArticle()

        # 获得评论星级
        self.get_comment_star()

        # 增加访问计数
        art_svc.increaseViewCount(self.article.articleId, 1)

        self.get_System_Category()
        self.get_User_Category()
        #修正计数器加1,页面显示滞后 的问题
        self.article.viewCount += 1
        request.setAttribute("article", self.article)
        return "/WEB-INF/user/default/user_entry.ftl"
Exemplo n.º 16
0
    def execute(self):
        if self.loginUser == None:
            response.sendRedirect("../../login.jsp")
            return None
        self.getBaseData()
        self.getBasePrepareCourse()

        if self.prepareCourseId == 0:
            self.printer.write(u"无效的备课标识。")
            return

        if self.canManage(self.prepareCourse) == False:
            self.printer.write(u"你无权进行管理。")
            return

        self.prepareCourse = self.getBasePrepareCourse()
        page = self.getPrepareCoursePageWithCustomSkin(self.prepareCourse)

        if page == None:
            self.printer.write(u"没有找到备课首页。")
            return
        if request.getMethod() == "POST":
            cmd = self.params.safeGetStringParam("cmd")
            if cmd == "1":
                bgcolor = self.params.getStringParam("bgcolor")
                logo = self.params.getStringParam("logo")
                logoheight = self.params.getStringParam("logoheight")
                titletop = self.params.getStringParam("titletop")
                titleleft = self.params.getStringParam("titleleft")
                titledisplay = self.params.getStringParam("titledisplay")
                jstring = '{"bgcolor":"' + bgcolor + '","logo":"' + logo + '","logoheight":"' + logoheight + '","titleleft":"' + titleleft + '","titletop":"' + titletop + '","titledisplay":"' + titledisplay + '"}'
                jsObj = JSONObject.parse(jstring)
                self.page_svc.setPageCustomSkin(page, jsObj.toString())
            if cmd == "2":
                bgcolor = ""
                logo = ""
                logoheight = ""
                titletop = ""
                titleleft = ""
                titledisplay = ""
                jstring = '{"bgcolor":"' + bgcolor + '","logo":"' + logo + '","logoheight":"' + logoheight + '","titleleft":"' + titleleft + '","titletop":"' + titletop + '","titledisplay":"' + titledisplay + '"}'
                jsObj = JSONObject.parse(jstring)
                self.page_svc.setPageCustomSkin(page, jsObj.toString())

            cache = __jitar__.cacheProvider.getCache('prepareCourse')
            cache_key = "prepareCourse_page_" + str(self.prepareCourseId)
            cache.remove(cache_key)
            self.printer.write(u"自定义设置已保存。")
            return
        else:
            request.setAttribute("prepareCourse", self.prepareCourse)
            if page.customSkin != None:
                customSkin = JSONObject.parse(page.customSkin)
                color = customSkin["bgcolor"]
                if len(color) > 0 and color[0:1] == "#": color = color[1:6]
                request.setAttribute("color", color)
                request.setAttribute("customSkin", customSkin)
            else:
                customSkin = {
                    "bgcolor": "",
                    "logo": "",
                    "logoheight": "",
                    "titledisplay": "",
                    "titleleft": "",
                    "titletop": ""
                }
                request.setAttribute("customSkin", customSkin)
            return "/WEB-INF/ftl/course/manage_customskin.ftl"
Exemplo n.º 17
0
    def execute(self):
        # 解析 uri.
        self.loginName = request.getAttribute("loginName")

        writer = response.getWriter()

        # 加载当前用户对象.
        user = user_svc.getUserByLoginName(self.loginName)
        request.setAttribute("user", user)
        #print "user = "******"loginUser", self.loginUser)

        pager = self.params.createPager()
        qry = GroupMemberQuery(
            """ g.groupName,g.groupId,g.groupTitle,g.groupIcon,gm.joinDate """)
        qry.userId = user.userId
        qry.orderType = 0
        pager.pageSize = 20
        pager.itemName = u"协作组"
        pager.itemUnit = u"个"
        pager.totalRows = qry.count()
        group_list = qry.query_map(pager)

        #print "group_list = " , group_list
        request.setAttribute("group_list", group_list)
        request.setAttribute("pager", pager)
        hql = """SELECT p.skin
             FROM Page p 
             WHERE p.name = 'index' and p.objId = :userId and p.objType = 1
             """
        pageSkin = Command(hql).setInteger("userId", user.userId).scalar()
        #print "pageSkin = ", pageSkin
        if pageSkin == None or pageSkin == "": pageSkin = "skin1"

        # 构造页面数据,由于页面不是在数据库存在的,这里的数据是虚拟数据.
        #pages : [{id: ${page.pageId}, title: '${user.blogName!?js_string}', layoutId: ${page.layoutId!0} }],
        page = {
            "pageId": 0,
            "layoutId": 2,  # 固定是布局2
            "isSystemPage": "true",
            "owner": "user",
            "title": "",
            "skin": pageSkin
        }
        request.setAttribute("page", page)
        self.page = self.getUserProfilePage(user)
        if self.page.customSkin != None:
            customSkin = JSONObject.parse(self.page.customSkin)
            request.setAttribute("customSkin", customSkin)

        # 构造widgets .
        widgets = [{
            "id": "1",
            "pageId": 0,
            "columnIndex": 1,
            "title": u"个人档案",
            "module": "profile",
            "ico": "",
            "data": ""
        }, {
            "id": "placerholder1",
            "pageId": 0,
            "columnIndex": 2,
            "title": "",
            "module": "placeholder",
            "ico": "",
            "data": ""
        }]
        request.setAttribute("widgets", widgets)
        request.setAttribute("widget_list", widgets)

        response.setContentType("text/html; charset=UTF-8")
        return "/WEB-INF/user/default/user_groups.ftl"
Exemplo n.º 18
0
    def execute(self):
        self.loginName = request.getAttribute("loginName")
        # 解析 uri.
        if self.parseUri() == False:
            return self.sendNotFound(self.uri)

        writer = response.getWriter()

        # 加载当前用户对象.
        self.user = user_svc.getUserByLoginName(self.loginName)
        request.setAttribute("user", self.user)
        #print "user = "******"loginUser", self.loginUser)

        pager = self.params.createPager()
        qry = FriendQuery(
            """ u.loginName, u.nickName, u.trueName, u.userIcon, u.qq, frd.addTime """
        )
        qry.userId = self.user.userId
        qry.isBlack = False
        qry.orderType = 0
        pager.setPageSize(16)
        pager.itemName = u"好友"
        pager.itemUnit = u"位"
        pager.totalRows = qry.count()
        friend_list = qry.query_map(pager)

        #print "friend_list = " , friend_list
        request.setAttribute("friend_list", friend_list)
        request.setAttribute("pager", pager)
        hql = """SELECT p.skin
             FROM Page p 
             WHERE p.name = 'index' and p.objId = :userId and p.objType = 1
             """
        pageSkin = Command(hql).setInteger("userId", self.user.userId).scalar()
        #print "pageSkin = ", pageSkin
        if pageSkin == None or pageSkin == "": pageSkin = "skin1"

        # 构造页面数据,由于页面不是在数据库存在的,这里的数据是虚拟数据.
        #pages : [{id: ${page.pageId}, title: '${self.user.blogName!?js_string}', layoutId: ${page.layoutId!0} }],
        page = {
            "pageId": 0,
            "layoutId": 2,  # 固定是布局2
            "isSystemPage": "true",
            "owner": "user",
            "title": "",
            "skin": pageSkin
        }
        request.setAttribute("page", page)
        self.page = self.getUserProfilePage(self.user)
        if self.page.customSkin != None:
            customSkin = JSONObject.parse(self.page.customSkin)
            request.setAttribute("customSkin", customSkin)
        # 构造widgets .
        widgets = [{
            "id": "1",
            "pageId": 0,
            "columnIndex": 1,
            "title": u"个人档案",
            "module": "profile",
            "ico": "",
            "data": ""
        }, {
            "id": "placerholder1",
            "pageId": 0,
            "columnIndex": 2,
            "title": "",
            "module": "placeholder",
            "ico": "",
            "data": ""
        }]
        request.setAttribute("widgets", widgets)
        request.setAttribute("widget_list", widgets)

        response.setContentType("text/html; charset=UTF-8")
        return "/WEB-INF/user/default/user_friends.ftl"
Exemplo n.º 19
0
    def execute(self):
        evaluationPlanId = self.params.getIntParam("evaluationPlanId")
        if evaluationPlanId == 0:
            self.addActionError(u"缺少评课Id。")
            return self.ERROR
        evaluationPlan = self.evaluationService.getEvaluationPlanById(
            evaluationPlanId)
        if evaluationPlan == None:
            self.addActionError(u"没有找到该评课。")
            return self.ERROR

        #判断是否过期,过期的按照完成状态来显示
        #print "evaluationPlanId="+str(evaluationPlanId)

        beginDate = evaluationPlan.startDate
        endDate = evaluationPlan.endDate
        nowDate = Date()
        if beginDate.compareTo(nowDate) > -1 or endDate.compareTo(nowDate) < 1:
            self.finish = 1
        request.setAttribute("finish", self.finish)

        if self.finish == 0:
            if self.loginUser == None:
                errDesc = u"请先<a href='login.jsp'>登录</a>,然后才能进行评课"
                response.getWriter().write(errDesc)
                return

        request.setAttribute("evaluationPlan", evaluationPlan)

        plantemplate_list = self.evaluationService.getEvaluationTemplates(
            evaluationPlanId)
        request.setAttribute("plantemplate_list", plantemplate_list)

        video_list = self.evaluationService.getVideosAuditState(
            evaluationPlanId)
        resource_list = self.evaluationService.getResourcesAuditState(
            evaluationPlanId)
        request.setAttribute("video_list", video_list)
        request.setAttribute("resource_list", resource_list)

        metaSubjectId = evaluationPlan.metaSubjectId
        metaGradeId = evaluationPlan.metaGradeId
        self.subject = self._get_subj_svc().getSubjectByMetaData(
            metaSubjectId, metaGradeId)
        self.grade = self._get_subj_svc().getGrade(metaGradeId)
        if self.subject != None:
            msubjName = self.subject.subjectName
        if self.grade != None:
            gradeName = self.grade.gradeName
        request.setAttribute("msubjName", msubjName)
        request.setAttribute("gradeName", gradeName)

        #print "request.getMethod()="+request.getMethod()

        if request.getMethod() == "POST":
            templateId = self.params.getIntParam("tempId")
            print "templateId=" + str(templateId)
            field_list = self.evaluationService.getEvaluationTemplateFields(
                templateId)
            content = ""
            for f in field_list:
                fname = self.params.safeGetStringParam("fieldname" +
                                                       str(f.fieldsId))
                fconntent = self.params.safeGetStringParam("fieldcontent" +
                                                           str(f.fieldsId))
                if fname != "":
                    content += "{" + JSONObject.toString(fname,
                                                         fconntent) + "},"
            if content != "":
                if content.endswith(","):
                    content = content[0:len(content) - 1]
                content = "[" + content + "]"
            #保存评课内容
            evaluationContent = EvaluationContent()
            evaluationContent.setPublishUserId(self.loginUser.userId)
            evaluationContent.setPublishUserName(self.loginUser.trueName)
            evaluationContent.setEvaluationPlanId(evaluationPlanId)
            evaluationContent.setEvaluationTemplateId(templateId)
            evaluationContent.setPublishContent(content)
            self.evaluationService.saveOrUpdateEvaluationContent(
                evaluationContent)

        content_list = self.evaluationService.getEvaluationContents(
            evaluationPlanId)
        request.setAttribute("content_list", content_list)
        return "/WEB-INF/ftl/evaluation/evaluation_content.ftl"