Ejemplo n.º 1
0
def manageAlbum_list(site,request):
    viewmap={}
    albummenu=Menu.objects.filter(site=site.get('id')).filter(type='album')[:1]
    if len(albummenu)==0:
        albummenu=Menu()
        albummenu.name='相册'
        albummenu.index=0
        albummenu.type='album'
        albummenu.site=WebSiteInfo.objects.get(pk=site.get('id'))
        albummenu.save()
    else:
        albummenu=albummenu[0]
    viewmap['album']=albummenu
    titlequery=Title.objects.filter(menu=albummenu)
    albumlist=[]
    for album in titlequery:
        firstImageList=PaperImage.objects.filter(title=album).order_by('index')[:1]
        if 0==len(firstImageList):
            album.firstImage=None
        else:
            album.firstImage=firstImageList[0]
            album.firstImage.imgsmal=album.firstImage.getImgUrlsmall(site.get('id'))
        albumlist.append(album)

    viewmap['albumlist']=albumlist
     ####################
    #### 设置左侧数据
    left(site,viewmap)
    #### 设置 menu 数据
    menu(site,viewmap)
    return viewmap
Ejemplo n.º 2
0
def albumlist(site,request,albumid=None):
    viewmap={}
    albummenu=None
    if albumid:
        albumid=int(albumid)
        albummenu=Menu.objects.get(pk=albumid)
    if not albummenu:
        albummenu=Menu.objects.filter(site=site.get('id')).filter(type='album')[:1]
        if len(albummenu)==0:
            albummenu=Menu()
            albummenu.name='相册'
            albummenu.index=0
            albummenu.type='album'
            albummenu.site=WebSiteInfo.objects.get(pk=site.get('id'))
            albummenu.save()
        else:
            albummenu=albummenu[0]
    viewmap['album']=albummenu
    titlequery=Title.objects.filter(menu=albummenu)

    offset=request.GET.get('offset','0')
    offset=int(offset)
    offsetN=offset+ALBUM_LIST_LIMIT
    offsetP=(offset>=ALBUM_LIST_LIMIT and [offset-ALBUM_LIST_LIMIT] or [0])[0]
    totalpaper=titlequery.count()
    if totalpaper<offsetN:
        offsetN-=ALBUM_LIST_LIMIT
    viewmap['albumlist']=titlequery[offset:offset+ALBUM_LIST_LIMIT]
    viewmap['offset']=offset
    viewmap['offsetN']=offsetN
    viewmap['offsetP']=offsetP
    pagelist=[]
    pp=offset-(ALBUM_LIST_LIMIT*4)
    nn=offset+(ALBUM_LIST_LIMIT*4)
    for p in range(0,completePage(totalpaper,ALBUM_LIST_LIMIT)):
        if p*ALBUM_LIST_LIMIT> pp and p*ALBUM_LIST_LIMIT<nn:
            pagelist.append({'page':p+1,'offset':p*ALBUM_LIST_LIMIT})
    viewmap['lastpage']=p*ALBUM_LIST_LIMIT

    albumlist=[]
    for album in viewmap['albumlist']:
        firstImageList=PaperImage.objects.filter(title=album).order_by('index')[:1]
        if 0==len(firstImageList):
            album.firstImage=None
        else:
            album.firstImage=firstImageList[0]
            album.firstImage.imgsmal=album.firstImage.getImgUrlsmall(site.get('id'))
        albumlist.append(album)

    viewmap['albumlist']=albumlist
     ####################
    #### 设置左侧数据
    left(site,viewmap)
    #### 设置 menu 数据
    menu(site,viewmap)
    return viewmap
Ejemplo n.º 3
0
def manageAlbum_save(site,request):
    viewmap={}
    albummenu=Menu.objects.filter(site=site.get('id')).filter(type='album')[:1]
    if len(albummenu)==0:
        albummenu=Menu()
        albummenu.name='相册'
        albummenu.index=0
        albummenu.type='album'
        albummenu.site=WebSiteInfo.objects.get(pk=site.get('id'))
        albummenu.save()
    else:
        albummenu=albummenu[0]
    viewmap['albummenu']=albummenu
    if 'POST'==request.method.upper():
        albumname=request.POST.get('albumName',u'未命名')
        albumid=request.POST.get('albumId',None)
        if albumid:
            album=Title.objects.get(pk=albumid)
        else:
            album=Title()
        album.title=albumname
        album.menu=albummenu
        album.type='album'
        album.author=request.user
        album.site=WebSiteInfo.objects.get(pk=site.get('id'))
        album.isPub=True
        album.save()
        viewmap['album']=album
        msg=u'保存成功'
        viewmap['msg']=msg
    else:
        albumid=request.GET.get('albumId',None)
        if albumid:
            album=Title.objects.get(pk=albumid)
            viewmap['album']=album
     ####################
    #### 设置左侧数据
    left(site,viewmap)
    #### 设置 menu 数据
    menu(site,viewmap)
    return viewmap
Ejemplo n.º 4
0
def manageMenu_save(site,request):
    if 'POST'!=request.method.upper():
        return HttpResponseRedirect('/blog/Admin/manageMenu')
    msg=u'操作成功'
    viewmap={}
    id=request.POST.get('id','')
    indexnum=request.POST.get('index',0)
    if id:
        menuitem=Menu.objects.get(pk=id)
    else:
        menuitem=Menu()
        menuitem.site=WebSiteInfo.objects.get(pk=site.get('id'))
        lastmenuquery=Menu.objects.filter(site=site.get('id')).filter(type='paper').filter(link=None).order_by('-index')[:1]
        if 0==len(lastmenuquery):
            menuitem.index=1
        else:
            menuitem.index=lastmenuquery[0].index+1
    if not menuitem:
        msg=u'操作错误'
    else:
        try:
            indexnum=int(indexnum)

        except :
            msg=u'顺序,必须为数字'
        else:
            menuitem.name=request.POST.get('name').strip()
            if id:
                menuitem.index=indexnum
            menuitem.save()
            cache.delete(MENU_ALL_LIST+str(site.get('id')))

    viewmap['msg']=msg
#    viewmap['menulist']=Menu.objects.filter(site=site.get('id')).filter(link=None).order_by('index')
    #### 设置左侧数据
    left(site,viewmap)
    #### 设置 menu 数据
    menu(site,viewmap)
    return viewmap