def add(self): current_user = Users.get(Users.name == self.isLogin()) albumsList = Albums().select() if not self.isAdmin(): albumsList = albumsList.where(Albums.owner == current_user) if not albumsList.count(): return self.error(msg = '请创建至少一个专辑!', url=self.makeUrl('/admin/albums/list')) self.privData['CURRENT_USER'] = current_user self.privData['ALBUMS_LIST'] = albumsList return self.display('imageAdd')
def edit(self): inputParams = self.getInput() groupID = inputParams['id'] current_group = Groups().get(Groups.id == groupID) current_user = Users.get(Users.name == self.isLogin()) if current_user.id != current_group.owner.id and not self.isAdmin() or not current_user.role.type < 100: return self.error(msg = '权限不足!', url=self.makeUrl('/admin/groups/list')) categoriesList = Categories().select() albumsList = Albums().select() imagesList = Images().select() if not self.isAdmin(): albumsList = albumsList.where(Albums.owner == current_user) imagesList = imagesList.where(Images.owner == current_user) # 确认当前用户是否至少有一个包含图片的专辑 if not albumsList.count(): return self.error(msg = '请创建至少一个专辑!', url=self.makeUrl('/admin/albums/list')) if not imagesList.count(): return self.error(msg = '请创建至少一个图片!', url=self.makeUrl('/admin/images/list')) # 构建{album: images}, 同时排除不包括任何图片的专辑 album_images_map = {} excluded_albums = [] for album in albumsList: album_images = imagesList.where(Images.album == album.id) if album_images.count(): album_images_map[album.id] = album_images else: excluded_albums.append(album.id) self.privData['ALBUMS_LIST'] = \ [album for album in albumsList if album.id not in excluded_albums] self.privData['CATEGORIES_LIST'] = categoriesList self.privData['IMG_ALBUMS_LIST'] = album_images_map self.privData['CURRENT_OBJECT'] = current_group self.privData['CURRENT_IMG'] = current_group.thumbnail self.privData['CURRENT_ALBUM'] = current_group.thumbnail.album self.privData['SUBMIT_NAME'] = "thumbnail" return self.display('groupEdit')
def add(self): categoriesList = Categories().select() # 获得当前用户的专辑列表和图片列表 albumsList = Albums().select() imagesList = Images().select() current_user = Users.get(Users.name == self.isLogin()) if not self.isAdmin(): albumsList = albumsList.where(Albums.owner == current_user) imagesList = imagesList.where(Images.owner == current_user) if not current_user.role.type < 100: return self.error(msg = '权限不足!', url=self.makeUrl('/admin/albums/list')) # 确认当前用户是否至少有一个包含图片的专辑 if not albumsList.count(): return self.error(msg = '请创建至少一个专辑!', url=self.makeUrl('/admin/albums/list')) if not imagesList.count(): return self.error(msg = '请创建至少一个图片!', url=self.makeUrl('/admin/images/list')) # 构建{album: images}, 同时排除不包括任何图片的专辑 album_images_map = {} excluded_albums = [] for album in albumsList: album_images = imagesList.where(Images.album == album.id) if album_images.count(): album_images_map[album.id] = album_images else: excluded_albums.append(album.id) self.privData['ALBUMS_LIST'] = \ [album for album in albumsList if album.id not in excluded_albums] self.privData['CATEGORIES_LIST'] = categoriesList self.privData['IMG_ALBUMS_LIST'] = album_images_map # 默认专辑为当前用户的第一个专辑 self.privData['CURRENT_ALBUM'] = self.privData['ALBUMS_LIST'][0] # 默认图片为默认专辑的第一张图片 self.privData['CURRENT_IMG'] = album_images_map[self.privData['CURRENT_ALBUM'].id][0] self.privData['SUBMIT_NAME'] = "thumbnail" return self.display('groupAdd')
def search(self): inputParams = self.getInput() keywords = inputParams['keywords'].strip().lower() if inputParams.has_key('keywords') else '' page = int(inputParams['page']) if inputParams.has_key('page') else 1 albumsList = Albums().select().where(Albums.name.contains(keywords)) current_user = Users.get(Users.name == self.isLogin()) if not self.isAdmin(): albumsList = albumsList.where(Albums.owner == current_user) pageString = self.getPageStr( self.makeUrl('/admin/albums/list'), page, config.COUNT_PER_PAGE, albumsList.count() ) self.privData['ALBUMS_LIST'] = albumsList.paginate(page, config.COUNT_PER_PAGE) self.privData['PAGE_STRING'] = pageString return self.display('albumsList')
def list(self): inputParams = self.getInput() page = int(inputParams['page']) if inputParams.has_key('page') else 1 albumsList = Albums().select() current_user = Users.get(Users.name == self.isLogin()) if not self.isAdmin(): albumsList = albumsList.where(Albums.owner == current_user) albumsList = albumsList.order_by(Albums.id.desc()) pageString = self.getPageStr( self.makeUrl('/admin/albums/list'), page, config.COUNT_PER_PAGE, albumsList.count() ) self.privData['ALBUMS_LIST'] = albumsList.paginate(page, config.COUNT_PER_PAGE) self.privData['PAGE_STRING'] = pageString return self.display('albumsList')
def edit(self): inputParams = self.getInput() id = int(inputParams['id']) img = Images().get(Images.id == id) current_user = Users.get(Users.name == self.isLogin()) if current_user.id != img.owner.id and not self.isAdmin(): return self.error(msg = '权限不足!', url=self.makeUrl('/admin/images/list')) albumsList = Albums().select() if not self.isAdmin(): albumsList = albumsList.where(Albums.owner == current_user) if not albumsList.count(): return self.error(msg = '请创建至少一个专辑!', url=self.makeUrl('/admin/albums/list')) self.privData['IMAGE_INFO'] = img self.privData['ALBUMS_LIST'] = albumsList return self.display('imageEdit')
def search(self): inputParams = self.getInput() keywords = inputParams['keywords'].strip().lower() if inputParams.has_key('keywords') else '' page = int(inputParams['page']) if inputParams.has_key('page') else 1 imgsList = Images.select().where(Images.description.contains(keywords)) albumsList = Albums().select() current_user = Users.get(Users.name == self.isLogin()) if not self.isAdmin(): imgsList = imgsList.where(Images.owner == current_user) albumsList = albumsList.where(Albums.owner == current_user) pageString = self.getPageStr( self.makeUrl('/admin/images/list'), page, config.COUNT_PER_PAGE, imgsList.count() ) self.privData['IMAGES_LIST'] = imgsList.order_by(Images.id.desc()).paginate(page, config.COUNT_PER_PAGE) self.privData['PAGE_STRING'] = pageString self.privData['ALBUMS_LIST'] = albumsList return self.display('imagesList')