def create_album(self): inputs = self.get_input() if web.ctx.method == "POST": name = inputs.get('name', '').strip() is_show = inputs.get('is_show', 0) album = Albums.get_or_none(Albums.name == name) if album: self.private_data["create_success"] = False self.private_data["create_message"] = u"相册已存在" return self.display("admin/create_album") try: if int(is_show) == 1: albums = Albums.select().where( Albums.status == 0, Albums.is_show == 1).execute() for album in albums: album.is_show = 0 album.save() album = Albums(name=name, is_show=is_show) album.save() self.private_data["create_success"] = True self.private_data["create_message"] = u"相册创建成功" return web.seeother(self.make_url('albums_list')) except Exception as e: log.error('create album failed%s' % traceback.format_exc()) self.private_data["create_success"] = False self.private_data["create_message"] = u"创建相册失败" return self.display("admin/create_album") if web.ctx.method == "GET": return self.display("admin/create_album")
def update_album(self): inputs = self.get_input() if web.ctx.method == "POST": name = inputs.get('name', '').strip() album_id = inputs.get("album_id", None) is_show = inputs.get('is_show', 0) exist_album = Albums.get_or_none(Albums.name == name) if exist_album and exist_album.id != album_id: self.private_data["update_success"] = False self.private_data["update_message"] = u"同名相册已存在" return web.seeother( self.make_url('update_album', {'album_id': album_id})) try: album = Albums.get_or_none(Albums.id == int(album_id)) if int(is_show) == 1 and album.is_show == 0: albums = Albums.select().where( Albums.status == 0, Albums.is_show == 1).execute() for album in albums: album.is_show = 0 album.save() if album: Albums.update(name=name, updateTime=time(), is_show=is_show). \ where(Albums.id == int(album_id)).execute() self.private_data["update_success"] = True return web.seeother(self.make_url('albums_list')) except Exception as e: log.error('create album failed%s' % traceback.format_exc()) self.private_data["update_success"] = False self.private_data["update_message"] = u"更新相册失败" return web.seeother( self.make_url('update_album', {'album_id': album_id})) if web.ctx.method == "GET": album_id = inputs.get("album_id", None) if not album_id or not album_id.isdigit(): self.private_data["update_success"] = False self.private_data["update_message"] = u"参数有误" return web.seeother(self.make_url('albums_list')) album = Albums.get_or_none(Albums.id == int(album_id)) if not album: return web.seeother(self.make_url('albums_list')) self.private_data["album"] = album return self.display("admin/update_album")