Exemplo n.º 1
0
    def get_photo_category(self):
        # 得到根一级图片分类.
        photo_cates = self.get_photo_root_category()

        # 得到每个分类的最新的 6 张图片.
        qry = PhotoQuery(""" p.photoId, p.title, p.href, u.loginName """)
        for c in photo_cates:
            qry.sysCateId = c["categoryId"]
            c["photo_list"] = qry.query_map(6)

        #如果没有分类,则显示当前的全部图片
        if len(photo_cates) == 0:
            photo_cates = None
            pager = self.params.createPager()
            pager.itemName = u"图片"
            pager.itemUnit = u"张"
            pager.pageSize = 24
            qry = PhotoQuery(
                """ p.photoId, p.title, p.createDate, p.href, u.userId, u.loginName, u.nickName, p.summary """
            )
            qry.orderType = 0
            pager.totalRows = qry.count()
            photo_list_all = qry.query_map(pager)
            request.setAttribute("photo_list_all", photo_list_all)
            request.setAttribute("pager", pager)

        #DEBUG: print "photo_cates = ", photo_cates
        request.setAttribute("photo_cates", photo_cates)
Exemplo n.º 2
0
 def get_unit_photo_list(self):
     qry = PhotoQuery(
         """ p.photoId, p.title, p.createDate, p.href, u.userId, u.loginName, u.nickName, p.summary """
     )
     qry.unitId = self.unit.unitId
     pager = self.createPager()
     pager.totalRows = qry.count()
     photo_list = qry.query_map(pager)
     request.setAttribute("photo_list", photo_list)
     request.setAttribute("pager", pager)
Exemplo n.º 3
0
 def photoList(self):
     pager = self.params.createPager()
     pager.itemName = u"图片"
     pager.itemUnit = u"张"
     pager.pageSize = 48
     qry = PhotoQuery(""" p.photoId, p.title, p.userId,p.href, p.userTrueName,u.loginName """)
     qry.specialSubjectId = self.specialSubjectId
     pager.totalRows = qry.count()
     photo_list = qry.query_map(pager)
     request.setAttribute("photo_list", photo_list)
     request.setAttribute("pager", pager)
     return "/WEB-INF/ftl/specialsubject/specialsubject_photo_list.ftl"
Exemplo n.º 4
0
 def get_method(self):
     qry = PhotoQuery(
         """ p.title, p.photoId, p.userId, p.createDate, p.href """)
     qry.specialSubjectId = self.specialSubject.specialSubjectId
     pager = self.params.createPager()
     pager.itemName = u"图片"
     pager.itemUnit = u"个"
     pager.pageSize = 20
     pager.totalRows = qry.count()
     photo_list = qry.query_map(pager)
     request.setAttribute("photo_list", photo_list)
     request.setAttribute("pager", pager)
     request.setAttribute("specialSubject", self.specialSubject)
     return "/WEB-INF/subjectmanage/specialsubject_photo_list.ftl"
Exemplo n.º 5
0
 def get_photo_with_pager(self):
     pager = self.params.createPager()
     pager.itemName = u"图片"
     pager.itemUnit = u"张"
     pager.pageSize = 24
     qry = PhotoQuery(
         """ p.photoId, p.title, p.createDate, p.href, u.userId, u.loginName, u.nickName, p.summary """
     )
     qry.sysCateId = int(self.categoryId)
     qry.orderType = 0
     pager.totalRows = qry.count()
     photo_list = qry.query_map(pager)
     request.setAttribute("photo_list", photo_list)
     request.setAttribute("pager", pager)
Exemplo n.º 6
0
 def List(self) :
     # 构造查询.
     query = PhotoQuery(""" p.photoId, p.title, p.summary, p.href, p.tags, stap.title as stapTitle, 
                        sc.name as sysPhotoName, p.viewCount, p.createDate, p.addIp, 
                        u.nickName, u.loginName, p.auditState, p.delState, p.isPrivateShow """)
     
     query.unitId = self.unit.unitId
     query.isPrivateShow = None
     query.auditState = None
     query.delState = None
     
     auditState = self.params.safeGetStringParam("auditState")
     if auditState=="1":
         query.auditState = 1
     elif auditState=="0":
         query.auditState = 0
     
     isPrivateShow = self.params.safeGetStringParam("isPrivateShow")
     if isPrivateShow=="1":
         query.isPrivateShow = 1
     elif isPrivateShow=="0":
         query.isPrivateShow = 0
         
     query.k = self.params.safeGetStringParam("k")
     query.f = self.params.safeGetStringParam("f")
     query.sysCateId = self.params.getIntParamZeroAsNull("sc")
     query.photoStaple = self.params.getIntParamZeroAsNull("ps")
     self.putSysCategoryTree()
     self.putPhotoStaple()
     
     # TODO: 权限检查.
     
     # 调用分页函数.
     pager = self.createPager()
     pager.totalRows = query.count()
         
     # 得到所有照片的列表.
     photoList = query.query_map(pager)
     #print "photoList = ", photoList
         
     # 传给页面.
     request.setAttribute("photoList", photoList)
     request.setAttribute("pager", pager)
     request.setAttribute("auditState", auditState)
     request.setAttribute("isPrivateShow", isPrivateShow)
     request.setAttribute("k", query.k)
     request.setAttribute("f", query.f)
     request.setAttribute("sc", query.sysCateId)
     request.setAttribute("ps", query.photoStaple)
Exemplo n.º 7
0
 def show_specialsubject_photo_list(self):
     qry = PhotoQuery(
         """ p.photoId, p.title, p.userId,p.href, p.userTrueName,u.loginName """
     )
     qry.specialSubjectId = self.specialSubject.specialSubjectId
     pager = self.params.createPager()
     pager.itemName = u"图片"
     pager.itemUnit = u"个"
     pager.pageSize = 20
     pager.totalRows = qry.count()
     photo_list = qry.query_map(pager)
     request.setAttribute("photo_list", photo_list)
     request.setAttribute("pager", pager)
     request.setAttribute("specialSubject", self.specialSubject)
     request.setAttribute("subject", self.subject)
     request.setAttribute("head_nav", "specialsubject")
     return "/WEB-INF/subjectpage/" + self.templateName + "/show_photo_list.ftl"
Exemplo n.º 8
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.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(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 = JSONValue.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.º 9
0
    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:
            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 = 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 = self.user.userId
        qry.isPrivateShow = None
        if self.categoryId != 0:
            qry.userStapleId = self.categoryId
            photoStaple = photoStapleService.findById(self.categoryId)
            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", 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": 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"