Example #1
0
def banners():
    template = env.get_template('banners.html')
    if request.method == 'GET':
        all_banners = Banner.select()
        return template.render({'banners': all_banners})
    elif request.method == 'POST':
        banner_img = request.files.get('banner_img')
        banners_folder = static_path('img/banners/')
        file_path = os.path.join(banners_folder, banner_img.filename)
        # photo_file.save('/img/gallery/')  # new Bottle
        with open(file_path, 'wb') as open_file:
            open_file.write(banner_img.file.read())

        link = post_get('link')
        parsed_link = urlparse(link)
        if parsed_link.scheme == '':
            link = 'http://{0}'.format(link)

        if not parsed_link.path or parsed_link.path == '#':
            link = '#'

        banner = Banner.create(desc=post_get('desc'),
                               link=link,
                               img=banner_img.filename)
        app.flash(u'+1 новий банер')
        redirect('/banners')
Example #2
0
def display_banner( request, position=None ):
 	if position is None:
		#if no position has been set, then set it to "default" - may need to change this later
		position = "default"
		
	position = Position.objects.get( name__iexact = position )
	
	banners = Banner.objects.filter( position = position )
	
	display_banner = False
	
	now = datetime.datetime.today()
	temp = []
	for banner in banners:
		schedules = Schedule.objects.filter( banner = banner, start_time__lte = now, end_time__gte = now )
		
		if len( schedules ) >= 	1:
			temp.append( banner )
			
	if len( temp ) > 0:
		banner = temp[ random.randrange( 0, len( temp ) ) ]
	else:
		banner = Banner()
		banner.content = "<!-- This space intentionally left blank....... -->"
		
	
	return render_to_response("scheduler/banner.html", {'banner': banner }, context_instance = RequestContext( request ) )
Example #3
0
def add_banner():
    if request.method == 'GET':
        data = request.args.to_dict()
    else:
        data = request.form.to_dict()
    bn = Banner(data)
    db.session.add(bn)
    db.session.commit()
    return json.dumps({'code': 0, 'data': bn.to_admin_dict()})
def banner(id=None):
    if request.method == 'GET':
        if id is not None:
            banner = Banner.query.get(id)
            if banner:
                return jsonify(banner.serialize()), 200
            return jsonify({"msg": "Image not found!"}), 404
        else:
            banners = Banner.query.all()
            banners = list(map(lambda banner: banner.serialize(), banners))
            return jsonify(banners), 200

    elif request.method == 'PUT':
        banner = Banner.query.get(id)
        banner.admin_id = request.json.get("admin_id", "")
        banner.name = request.json.get("name", "")
        banner.size = request.json.get("size", "")
        banner.body = request.json.get("body", "")
        banner.update()
        return jsonify('Actualizado correctamente'), 200

    elif request.method == 'DELETE':
        banner = Banner.query.get(id)
        banner.delete()
        return jsonify('Borrado'), 200

    elif request.method == "POST":
        banner = Banner()
        banner.admin_id = request.json.get("admin_id", "")
        banner.name = request.json.get("name", "")
        banner.size = request.json.get("size", "")
        banner.body = request.json.get("body", "")
        banner.save()
        return jsonify(banner.serialize()), 201
Example #5
0
def banner_delete(banner_id):
    try:
        banner = Banner.get(Banner.banner_id == banner_id)
        banner.delete_instance()
        redirect('/banners')
    except DoesNotExist:
        abort(404)
Example #6
0
def banner_details_edit():
    info = {}
    if request.method == "POST":
        info = request.values
    banner_id = int(info.get("banner_id")) if info.get("banner_id") else 0
    banner_url = info.get("banner_url")
    btype = int(info.get("btype", 0))
    jtype = int(info.get("jtype", 0))
    news_id = int(info.get("news_id", 0)) if info.get("news_id", 0) else 0
    status = int(info.get('status', 0))
    title = info.get('banner_title', '')
    cur_time = int(time.time())
    jump_url = ''
    if news_id:
        news_detail = News.get_news_details(news_id=news_id)
        jump_url = news_detail.details_url
    if banner_id == 0:
        # 新增banner
        last_weight = Banner.get_banner_weight(btype=btype)
        weight = last_weight + 1
        addstatus = Banner.add_banner(banner_url=banner_url,
                                      btype=btype,
                                      jtype=jtype,
                                      jump_url=jump_url,
                                      weight=weight,
                                      cur_time=cur_time,
                                      jid=news_id,
                                      status=status,
                                      title=title)
        if addstatus:
            return jsonify(message=addstatus, status=0)
    elif banner_id > 0:
        editstatus = Banner.edit_banner(banner_url=banner_url,
                                        btype=btype,
                                        jtype=0,
                                        jump_url=jump_url,
                                        banner_id=banner_id,
                                        cur_time=cur_time,
                                        jid=news_id,
                                        status=status,
                                        title=title)
        if editstatus:
            return jsonify(message=editstatus, status=0)
    else:
        pass
    return jsonify(message="success", status=1)
Example #7
0
def upload():
    authors = Author.query.all()
    form = BannerForm(request.form)
    form.author_id.choices = [(a.id, a.name) for a in authors]
    if request.method == 'POST' and 'image' in request.files:
        image_data = request.FILES[form.image.name].read()
        open(os.path.join(UPLOAD_PATH, form.image.data), 'w').write(image_data)

        rec = Banner(
                filename=filename, 
                created_by=g.user.id,
                author_id=data.get('author'),
                destination=data.get('destination'),
                )
        rec.store()
        flash("Banner guardado.")
        return redirect(url_for('index'))
    return render_template('upload.html', form=form)
Example #8
0
def update_banner_status():
    """更新banner状态隐藏显示"""
    info = {}
    if request.method == 'GET':
        info = request.values
    elif request.method == 'POST':
        info = request.form
    _id = info.get('id')
    status = info.get('status')
    resp = Banner.update_banner_status(id=_id, status=status)
    return jsonify(message='success', status=1)
Example #9
0
def update_banner_weight():
    """修改banner权重"""
    info = {}
    if request.method == "POST":
        info = request.values
    param = json.loads(info.get("param", "[]"))
    if not param:
        return jsonify(message="没有需要修改权重的banner", status=0)
    res = Banner.update_banner_weight(weight_list=param)
    if res:
        return jsonify(message=res, status=0)
    return jsonify(message="success", status=1)
Example #10
0
def del_banner():
    """删除banner"""
    info = {}
    if request.method == "POST":
        info = request.values
    _id = info.get("id")
    if not _id:
        return jsonify(message="没有删除的banner", status=0)
    res = Banner.del_banner(banner_id=_id)
    if res:
        return jsonify(message=res, status=0)
    return jsonify(message="success", status=1)
Example #11
0
def post_index():
    all_posts = Post.get_posts().order_by(Post.date_posted.desc()).\
        limit(config.POSTS_PER_PAGE)
    for item in all_posts:
        item.post_text = shorten_text(item.post_text)

    random_banner = Banner.select().\
        where(Banner.disabled == False).order_by(fn.Rand()).first()
    quote = Quote.select().order_by(fn.Rand()).first()
    messages = StreamMessage.select()

    template = env.get_template('post/index.html')
    return template.render(posts=all_posts, banner=random_banner,
                           stream_messages=messages,
                           quote=quote,
                           link_what='pstlink')
Example #12
0
def __get_banner_info(banner_id):
    """获取banner"""
    if banner_id == 0:
        return {}
    banner = Banner.get_banner_details(banner_id=banner_id)
    if banner == None:
        return {}
    banner_dict = {}
    banner_dict["id"] = banner.id
    banner_dict["pic"] = banner.pic
    banner_dict["btype"] = banner.btype
    banner_dict["jtype"] = banner.jtype
    banner_dict['url'] = banner.url
    banner_dict["status"] = banner.status
    banner_dict["jid"] = banner.jid
    banner_dict["title"] = banner.title
    return banner_dict
Example #13
0
async def get_item(item: str,
                   item_id,
                   x_session_token: Optional[str] = Header(None),
                   x_session_id: Optional[str] = Header(None)):
    """
    get item by type and id or alias
    :param item: type of the item (for example banner)
    :param item_id: id or alias of the item
    :param x_session_id: the id of the clint session
    :param x_session_token: the token of the clint session
    :return: response 405 if data incorrect + error in json, 401 if session is dead + session in json,
    200 if ok + item in json
    """
    # check session live
    session = Session.find({"id": int(x_session_id), "token": x_session_token})
    check = session.check_session_live()
    if check is False:
        return JSONResponse(status_code=status.HTTP_401_UNAUTHORIZED,
                            content=json.dumps({
                                "session": {
                                    "id": session.id,
                                    "authorized": session.authorized
                                }
                            }))
    # find item
    if item == "banner":
        banner = Banner.find({"alias": item_id})
        if banner:
            return dict(banner)
        else:
            return JSONResponse(status_code=status.HTTP_405_METHOD_NOT_ALLOWED,
                                content={"error": "banner not found"})
    if item == "product":
        if item_id == 'all':
            list_ = Product().find_many()
            return JSONResponse(status_code=status.HTTP_200_OK,
                                content=dict(list_))
        else:
            product = Product().find_many({'id': item_id})
            if product:
                return dict(product)
            else:
                return JSONResponse(
                    status_code=status.HTTP_405_METHOD_NOT_ALLOWED,
                    content={"error": "product not found"})
Example #14
0
def get_banner_list_total():
    """获取新闻条数,并渲染页面"""
    info = {}
    if request.method == "POST":
        info = request.form
    elif request.method == "GET":
        info = request.values
    index = int(info.get("page", 1))
    banner_type = info.get("banner_type", "")
    total = Banner.get_banner_list_total(banner_type=banner_type)
    total_page = get_total_page(total=total, limit=limit)
    page_serach = u"&banner_type={banner_type}".format(banner_type=banner_type)
    params = {}
    params["banner_type"] = banner_type
    return render_template("operation_banner_list.html",
                           params=params,
                           pagination={
                               "page": index,
                               "total_page": total_page,
                               "page_serach": page_serach,
                               "total": total
                           })
Example #15
0
def banner_list_data():
    """获取banner列表数据"""
    info = request.values
    index = int(info.get("page", 1))
    banner_type = info.get("banner_type", "")
    banner_obj = Banner.banner_list_data(banner_type=banner_type,
                                         index=index,
                                         limit=limit)
    banner_list = []
    for banner in banner_obj:
        _dict = {}
        _dict['id'] = banner.id
        _dict['pic'] = banner.pic
        _dict['url'] = banner.url
        _dict['btype'] = banner.btype
        _dict['weight'] = banner.weight
        _dict['jtype'] = banner.jtype
        _dict['title'] = banner.title
        _dict['status'] = banner.status
        _dict['created_time'] = banner.created_time
        _dict['last_time'] = banner.last_time
        banner_list.append(_dict)
    return jsonify(banner_list=banner_list)
Example #16
0
def disable_banner(banner_id):
    banner = Banner.get_or_404(Banner.banner_id == banner_id)
    banner.disabled = not banner.disabled
    banner.save()
    return 'Ok'