Beispiel #1
0
    def execute(self):
        params = ParamUtil(request)
        self.userName = params.safeGetStringParam("loginName")
        title = params.safeGetStringParam("title")
        userCateId = params.safeGetIntParam("userCateId")
        #print "-----------------------------category_video.py-----------------------------"
        #print "self.userName="******"title="+title
        #print "userCateId="+str(userCateId)

        if userCateId == 0:
            response.getWriter().write(
                u"<div style='text-align:center;'>请选择一个个人视频分类。</div>")
            return

        fc = FileCache()
        content = fc.getUserFileCacheContent(
            self.userName, "category_video_" + str(userCateId) + ".html", 30)
        if content != "":
            response.getWriter().write(content)
            fc = None
            return

        count = params.safeGetIntParam("count")
        if count == 0: count = 9
        #print "count="+str(count)
        user = __jitar__.userService.getUserByLoginName(self.userName)
        if user == None:
            response.getWriter().write(u"不能加载当前用户。")
            return
        qry = VideoQuery(
            """ v.videoId, v.title, v.createDate, v.href, v.flvHref, v.userId, u.loginName, u.nickName, v.summary,v.flvThumbNailHref """
        )
        qry.userCateId = userCateId
        qry.userId = user.userId
        video_list = qry.query_map(count)
        templateProcessor = __spring__.getBean("templateProcessor")
        map = HashMap()
        map.put("video_list", video_list)
        map.put("UserSiteUrl", self.getUserSiteUrl())
        map.put("userCateId", userCateId)
        map.put("title", title)
        map.put("user", user)
        content = templateProcessor.processTemplate(
            map, "/WEB-INF/user/default/category_video.ftl", "utf-8")

        fc.writeUserFileCacheContent(
            self.userName, "category_video_" + str(userCateId) + ".html",
            content)
        response.getWriter().write(content)
        fc = None
    def execute(self):
        self.params = ParamUtil(request)
        self.loginName = request.getAttribute("loginName")
        title = self.params.safeGetStringParam("title")
        if title != "": request.setAttribute("title", title)
        # 解析 uri
        if self.parseUri() == False:
            print "return 1"
            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 = "******"return 2"
            return self.ACCESS_ERROR

        request.setAttribute("loginUser", self.loginUser)

        # 得到要访问的分类, 要验证分类的确属于该用户.
        self.category = self.getCategory()
        #print "self.category = ", self.category
        if self.category == None:
            print "return 3"
            return self.sendNotFound()
        request.setAttribute("category", self.category)

        # 创建分页对象
        pager = self.params.createPager()
        pager.setPageSize(18)
        qry = VideoQuery(
            """ v.videoId, v.title, v.createDate, v.href, v.flvHref, v.userId, u.loginName, u.nickName, v.summary,v.flvThumbNailHref """
        )
        qry.userCateId = self.category.categoryId
        qry.userId = self.user.userId

        #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": "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/video_category_index.ftl"