def create_image(self): if web.ctx.method == "POST": link_url = web.input().get('link', '').strip() album_id = int(web.input().get('album_id')) file = web.input().get("file") try: f = HttpUploadedFile(file) self.record_image(f=file, uuid=f.uuid(), link=link_url, call_type='create', album_id=album_id) self.private_data["create_success"] = True self.private_data["create_message"] = u"链接创建成功" return web.seeother(self.make_url('images_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"创建失败" albums = Albums.select().where(Albums.status == 0). \ order_by(Albums.id.asc()).execute() self.private_data["albums_list"] = albums return self.display("admin/create_image") if web.ctx.method == "GET": albums = Albums.select().where(Albums.status == 0). \ order_by(Albums.id.asc()).execute() self.private_data["albums_list"] = albums return self.display("admin/create_image")
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 question_details(self): inputs = self.getInput() try: #import pdb;pdb.set_trace() question = Questions.get(Questions.id == inputs['id']) self.privData['QUESTION_DETAIL'] =question albumList = Albums.select().where(Albums.question ==inputs['id']) self.privData['ALUBUM'] =albumList answersList=Answers.select().where(Answers.question ==inputs['id']) self.privData['ANSWERS_LIST'] =answersList return self.display('question-details') except Exception, e: return self.error(msg='获取问题详情失败!')
def albums_list(self): inputs = self.get_input() if web.ctx.method == "GET": page = int(inputs.get('page', 1)) page_size = int(inputs.get('page_size', 20)) self.private_data['current_page'] = page self.private_data['total_page'] = 0 albums_query = Albums.select().where(Albums.status == 0). \ order_by(Albums.id.asc()) total_count = albums_query.count() total_page = (total_count + page_size - 1) / page_size self.private_data['total_page'] = total_page self.private_data['albums_list'] = \ albums_query.paginate(page, page_size).execute() return self.display("admin/albums_list")
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")
def update_image(self): if web.ctx.method == "POST": image_id = web.input().get("image_id", None) link_url = web.input().get('link', '').strip() album_id = int(web.input().get('album_id')) file = web.input().get("file") try: flink = Images.get_or_none(Images.id == int(image_id)) if flink: f = HttpUploadedFile(file) self.record_image(f=file, uuid=f.uuid(), link=link_url, call_type='update', album_id=album_id, image_id=image_id) self.private_data["update_success"] = True return web.seeother(self.make_url('images_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_image', {'image_id': image_id})) if web.ctx.method == "GET": image_id = web.input().get("image_id", None) if not image_id or not image_id.isdigit(): self.private_data["update_success"] = False self.private_data["update_message"] = u"参数有误" return web.seeother(self.make_url('images_list')) f_image = Images.get_or_none(Images.id == int(image_id)) if not f_image: return web.seeother(self.make_url('images_list')) albums = Albums.select().where(Albums.status == 0). \ order_by(Albums.id.asc()).execute() self.private_data["albums_list"] = albums self.private_data["image"] = f_image return self.display("admin/update_image")