Example #1
0
def edit_news(id):
    form = NewsForm()
    if request.method == "GET":
        session = db_session.create_session()
        news = session.query(News).filter(News.id == id,
                                          News.user == current_user).first()
        if news or current_user.is_admin:
            form.title.data = news.title
            form.description.data = news.description
            form.content.data = news.content
            form.tags.data = news.tags
            form.is_private.data = news.is_private
        else:
            abort(404)
    if form.validate_on_submit():
        session = db_session.create_session()
        news = session.query(News).filter(News.id == id,
                                          News.user == current_user).first()
        if news or current_user.is_admin:
            news.title = form.title.data
            news.content = form.content.data
            news.is_private = form.is_private.data
            session.commit()
            return redirect('/')
        else:
            abort(404)

    return render_template('adding.html', form=form)
Example #2
0
def edit_news(request, post_id):
    market_item = get_object_or_404(MarketItem.objects.defer('comments'),
                                    pk=post_id)
    if market_item.owner != request.user:
        return HttpResponseForbiden()
    form = NewsForm(request.POST or None, instance=market_item)
    if request.method == 'POST' and form.is_valid():
        save_market_item(form, request.user)
        related_post_url = form.cleaned_data.get('related_post_url')
        if related_post_url:
            post_id = related_post_url.split('/')[-1]
            market_item.add_related_post(post_id, request.user)
        return redirect(reverse('show_post', args=[market_item.id]))
    else:
        form.fields[
            'news_url'].initial = market_item.marketnewsitemdata.original_url
        related_post = market_item.marketitemrelatedpost_set.last()
        if related_post:
            market_item_url = settings.BASE_URL + reverse(
                'show_post', args=[related_post.related_market_item.id])
            form.fields['related_post_url'].initial = market_item_url
    return render_to_response('market/create_news.html', {
        'form': form,
        'news_item': market_item.marketnewsitemdata
    },
                              context_instance=RequestContext(request))
Example #3
0
def create(request, template="news/create.html"):
    #if 
    def get_slug(text, numb=0):
        "Create unique slug"
        if numb:
            text += "_%d" % numb
        s = slugify(text)
        try:
            News.objects.get(slug=s)
            return get_slug(text, numb + 1)
        except News.DoesNotExist:
            pass
        return s
    u = request.user
    if request.POST:
        n = News(author=u, show=False, slug=get_slug(request.POST['title']))
        f = NewsForm(request.POST, instance=n)
        if f.is_valid():
            n = f.save()
            return HttpResponseRedirect(n.get_absolute_url() + "show/")
    else:
        f = NewsForm()
    return render_to_response(template, {
        "form": f,
        }, context_instance=RequestContext(request))
Example #4
0
def index():
    form = NewsForm()
    if form.validate_on_submit():
        n1 = News(title=form.title.data, body=form.body.data)
        db.session.add(n1)
        db.session.commit()
        return redirect(url_for('index'))
    news_list = News.query.all()
    return render_template('index.html', news_list=news_list, form=form)
Example #5
0
 def post(self):
     form = NewsForm(**self.request.POST)
     if not form.validate():
         self.request.response.status = 400
         return {'form': form}
     obj = models.News()
     form.populate_obj(obj)
     self.db.add(obj)
     transaction.commit()
     return HTTPCreated()
Example #6
0
 def put(self):
     form = NewsForm(**self.request.POST)
     if not form.validate():
         self.request.response.status = 400
         return {'form': form}
     obj = self.get_object(self.request.matchdict['id'])
     form.populate_obj(obj)
     self.db.add(obj)
     transaction.commit()
     return HTTPNoContent()
Example #7
0
def add():
    """ 新增新闻 """
    form = NewsForm()
    if form.validate_on_submit():
        n1 = News(title=form.title.data,
                  content=form.content.data,
                  img_url=form.img_url.data,
                  news_type=form.news_type.data)
        n1.save()
        flash("新增成功")
        return redirect(url_for('admin'))
    return render_template("admin/add.html", form=form)
Example #8
0
def create(request):
    if request.method == 'POST':
        form = NewsForm(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('administration_news_index'))
    else:
        form = NewsForm()

    return direct_to_template(request, 'news/administration/news_create.html',
                              {'form': form,
                               'active_module': 'news'})
Example #9
0
def news_post():
    form = NewsForm()
    if form.validate_on_submit():
        news = News(view = 0, title = form.title.data,url = form.url.data,hot = False)
        try:
            news.put()
            flash(u'저장 성공', 'success')
            return redirect(url_for('new_list'))
        except CapabilityDisabledError:
            flash(u'App Engine Datastore is currently in read-only mode.', 'failure')
            return redirect(url_for('new_list'))
    return render_template('news_post.html', form=form,title= request.args.get('title'), url= request.args.get('url'))
Example #10
0
def add_news():
    form = NewsForm()
    if form.validate_on_submit():
        session = db_session.create_session()
        news = News()
        news.title = form.title.data
        news.content = form.content.data
        news.is_private = form.is_private.data
        current_user.news.append(news)
        session.merge(current_user)
        session.commit()
        return redirect('/blog')
    return render_template('add_news.html', title='News add', form=form)
Example #11
0
File: views.py Project: ArtJora/Reg
def savenews(request):
    if request.POST and ("pause" not in request.session):
        form = NewsForm(request.POST)
        if form.is_valid():
            comment = form.save(commit=False)
            now = timezone.now()
            comment.article_date = now

            # comment.comments_article = Article.objects.get(id=article_id)
            form.save()
            # request.session.set_expiry(60)
            # request.session['pause'] = True
    return redirect('/news/')
Example #12
0
def news_post():
    form = NewsForm()
    if form.validate_on_submit():
        news = News(view = 0, title = form.title.data,url = form.url.data,hot = False)
        try:
            news.put()
            search.Index(name=_INDEX_NAME).add(create_doc(news.key.id(),news.title,news.url,news.post_time))
            flash(u'저장 성공', 'success')
            return redirect(url_for('new_list'))
        except CapabilityDisabledError:
            flash(u'App Engine Datastore is currently in read-only mode.', 'failure')
            return redirect(url_for('new_list'))
    return render_template('news_post.html', form=form,title= request.args.get('title'), url= request.args.get('url'),counter=counter.load_and_get_count("view"),acc=ACC)
Example #13
0
def create_news(request):
    form = NewsForm(request.POST or None)
    if form.is_valid():
        post = save_market_item(form, request.user)
        news_item = post.generate_news_item(form.cleaned_data.get('news_url'))
        post.title = news_item.title
        post.save()
        related_post_url = form.cleaned_data.get('related_post_url')
        if related_post_url:
            post_id = related_post_url.split('/')[-1]
            post.add_related_post(post_id, request.user)
        return redirect(reverse('show_post', args=[post.id]))
    return render_to_response('market/create_news.html', {'form': form},
                              context_instance=RequestContext(request))
Example #14
0
def edit(request, news_id):
    news = get_object_or_404(News, id=news_id)
    if request.method == 'POST':
        form = NewsForm(request.POST, instance=news)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('administration_news_index'))
    else:

        form = NewsForm(model_to_dict(news),instance=news)
    return direct_to_template(request, 'news/administration/news_edit.html',
                              {'form': form,
                               'news':news,
                               'active_module': 'news'})
Example #15
0
def add():
    # 新增
    form = NewsForm()
    if form.validate_on_submit():
        # 获取数据 -> 保存数据
        new_obj = News(title=form.title.data,
                       content=form.content.data,
                       types=form.types.data,
                       image=form.image.data,
                       created_at=datetime.now())
        db.session.add(new_obj)
        db.session.commit()
        return redirect(url_for('admin'))
    return render_template('admin/add.html', form=form)
Example #16
0
def create_news(request):

    if request.method == 'POST':
        news_form = NewsForm(request.POST,prefix='news_form')

        news_content_forms = []
        for lang in settings.LANGUAGES:
            news_content_forms.append({
                'form':NewsContentForm(request.POST,prefix='news_content' + lang[0]),
                'lang':lang[0]
            })

        if news_form.is_valid():



            valid = False
            for news_content_form in news_content_forms:
                valid = news_content_form['form'].is_valid()
                if not valid:
                    break

            if valid:
                news = news_form.save(commit=False)
                if 'news_form_avatar' in request.FILES:
                    try:
                        avatar_img_name = handle_uploaded_file(request.FILES['news_form_avatar'])
                    except IOError as e:
                        return HttpResponse(u'Возникла ошибка при загрузке аватарки:' + e.message)
                    news.avatar_img_name = avatar_img_name
                news.save()
                for news_content_form in news_content_forms:
                    news_content = news_content_form['form'].save(commit=False)
                    news_content.lang = news_content_form['lang']
                    news_content.news = news
                    news_content.save()
                return redirect('news:administration:news_list')
    else:
        news_form = NewsForm(prefix="news_form")
        news_content_forms = []
        for lang in settings.LANGUAGES:
            news_content_forms.append({
                'form':NewsContentForm(prefix='news_content' + lang[0]),
                'lang':lang[0]
            })

    return render(request, 'news/administration/create_news.html', {
        'news_form': news_form,
        'news_content_forms': news_content_forms,
        })
def update(pk):
    ''' 后台更新新闻 '''
    obj = News.objects.filter(pk=pk, is_valid=True).first_or_404()
    # obj = News.objects.get_or_404(pk=pk, is_valid=True)
    form = NewsForm(obj=obj)
    if form.validate_on_submit():
        obj.title = form.title.data
        obj.content = form.content.data
        obj.news_type = form.news_type.data
        obj.updated_at = datetime.now()
        obj.save()
        flash("修改成功")
        return redirect(url_for('admin'))
    return render_template('admin/update.html', form=form)
Example #18
0
def create_news(request):
    form = NewsForm(request.POST or None)
    if form.is_valid():
        post = save_market_item(form, request.user)
        news_item = post.generate_news_item(form.cleaned_data.get('news_url'))
        post.title = news_item.title
        post.save()
        related_post_url = form.cleaned_data.get('related_post_url')
        if related_post_url:
            post_id = related_post_url.split('/')[-1]
            post.add_related_post(post_id, request.user)
        return redirect(reverse('show_post', args=[post.id]))
    return render_to_response('market/create_news.html', {'form': form},
                              context_instance=RequestContext(request))
def update(pk):
    ''' 修改新闻数据 也可通过update进行逻辑删除,更改对象的is_valid属性 '''
    new_obj = News.objects.get_or_404(pk=pk)
    form = NewsForm(obj=new_obj)
    if form.validate_on_submit():
        new_obj.title = form.title.data
        new_obj.content = form.content.data
        new_obj.news_type = form.news_type.data
        new_obj.img_url = form.image.data
        new_obj.save()
        flash('修改新闻成功')
        return redirect(url_for('admin'))
    #返回修改html,获取用户输入的表单信息
    return render_template('admin/update.html', form=form)
Example #20
0
def new_news(request):
    news_form = NewsForm()
    if request.method == 'POST':
        news_form = NewsForm(request.POST, request.FILES)
        if news_form.is_valid():
            news = news_form.save()
            return render_to_response(
                'news_saved.html',
                {'news': news}
            )
    return render_to_response(
        'edit_news.html',
        {'news_form': news_form}
    )
Example #21
0
def network_dashboard_news_add(request):
    from atrinsic.base.models import News
    from forms import NewsForm
    if request.method == 'POST':
        form = NewsForm(request.POST)
        if form.is_valid():
            News.objects.create(news_status=form.cleaned_data['news_status'], data=form.cleaned_data['data'], viewed_by=form.cleaned_data['viewed_by'])
            return HttpResponseRedirect('/network/dashboard/news/')
    else:
        form = NewsForm()

    return AQ_render_to_response(request, 'network/news-add.html', {
            'form' : form,                                                                                        
        }, context_instance=RequestContext(request))                                                              
Example #22
0
def update(pk):
    """ 新增新闻 """
    obj = News.objects.filter(pk=pk).first()
    if obj is None:
        abort(404)
    form = NewsForm(obj=obj)
    if form.validate_on_submit():
        obj.title = form.title.data
        obj.content = form.content.data
        obj.news_type = form.news_type.data

        obj.save()
        flash("修改成功")
        return redirect(url_for('admin'))
    return render_template("admin/update.html", form=form)
Example #23
0
def update(pk):
    ''' 后台更新新闻 '''
    news_obj = query.get_news_from_id(pk)
    if news_obj is None:
        abort(404)
    form = NewsForm(data=news_obj)
    if form.validate_on_submit():
        news_obj['title'] = form.title.data
        news_obj['content'] = form.content.data
        news_obj['news_type'] = form.news_type.data
        news_obj['updated_at'] = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        query.update_news(pk, news_obj)
        flash("修改成功")
        return redirect(url_for('admin'))
    return render_template('admin/update.html', form=form)
Example #24
0
def edit(request, slug, template="news/create.html"):
    n = get_object_or_404(News, slug=slug)
    u = request.user
    if not (u is n.author or u.has_perm("news.can_edit")):
        return HttpResponseRedirect(request.META['HTTP_REFERER'] or "/news/")
    if request.POST:
        f = NewsForm(request.POST, instance=n)
        if f.is_valid():
            n = f.save()
            return HttpResponseRedirect(n.get_absolute_url() + "show/")
    else:
        f = NewsForm(instance=n)
    return render_to_response(template, {
        "form": f,
        }, context_instance=RequestContext(request))
Example #25
0
def update_news(request, news_title):
    news = News.objects.get(title=news_title)
    news_form = NewsForm(instance=news)
    if request.method == 'POST':
        news_form = NewsForm(request.POST, request.FILES)
        if news_form.is_valid():
            news = news_form.save()
            return render_to_response(
                'news_saved.html',
                {'news': news}
            )
    return render_to_response(
        'edit_news.html',
        {'news_form': news_form}
    )
def add():
    ''' 新增新闻数据 '''
    form = NewsForm()
    if form.validate_on_submit():
        # 从前台表单中获取表单值组成的对象
        new_obj = News(
            title=form.title.data,
            content=form.content.data,
            news_type=form.news_type.data,
            img_url=form.image.data,
        )
        new_obj.save()
        flash('新增新闻成功')
        return redirect(url_for('admin'))
    return render_template('admin/add.html', form=form)
Example #27
0
def add_news(request):
    try:
        if 'login' in request.session:
            if request.method == 'POST':
                form = NewsForm(request.POST)
                if form.is_valid():
                    news = form_news(form.cleaned_data, request.session['login'])
                    news.save()
                    return redirect('index')
            else:
                form = NewsForm()
            return render(request, 'add_news.html', RequestContext(request, {'form': form}))
        else:
            raise ValueError
    except(AttributeError, ValueError):
        raise Http404
Example #28
0
def update(pk):
    # 新闻后台数据修改
    news_obj = News.query.get(pk)
    # 如果没有数据,则返回
    if not news_obj:
        return redirect(url_for('admin'))
    form = NewsForm(obj=news_obj)
    if form.validate_on_submit():
        # 获取数据
        news_obj.title = form.title.data
        news_obj.content = form.content.data
        # 保存数据
        db.session.add(news_obj)
        db.session.commit()
        return redirect(url_for('admin'))
    return render_template('admin/update.html', form=form)
Example #29
0
def news_add():
    form = NewsForm()
    form.created_at.data = datetime.now()
    try:
        if form.validate_on_submit():
            news = News(form.title.data, form.content.data, form.types.data,
                        form.img_url.data, form.author.data,
                        form.view_count.data, form.created_at.data,
                        form.is_valid.data, form.is_recommend.data)
            db.session.add(news)
            db.session.commit()
            flash('添加新闻成功!')
            return redirect(url_for('admin.news_detail'))
    except:
        flash('添加新闻失败!', category='error')
    return render_template('admin/news_add.html', form=form)
Example #30
0
def add():
    ''' 后台增加新闻 '''
    news_obj = {}
    form = NewsForm()
    if form.validate_on_submit():
        news_obj['title'] = form.title.data
        news_obj['content'] = form.content.data
        news_obj['img_url'] = form.img_url.data
        news_obj['is_valid'] = 1
        news_obj['news_type'] = form.news_type.data
        news_obj['created_at'] = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        news_obj['updated_at'] = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        query.add_news_with_trans(news_obj)
        flash("修改成功")
        return redirect(url_for('admin'))
    return render_template('admin/add.html', form=form)
Example #31
0
def add():
    form = NewsForm()
    if form.validate_on_submit():
        n1 = News(
            title=form.title.data,
            content=form.content.data,
            image=form.image.data,
            type=form.type.data,
            author=form.author.data,
            created_at=datetime.now(),
        )
        db.session.add(n1)
        db.session.commit()
        flash('新增成功')
        return redirect(url_for('admin'))
    return render_template('admin/add.html', form=form)
Example #32
0
def update(pk):
    """ add news """
    obj = News.query.get(pk)
    if obj is None:
        abort(404)
    form = NewsForm(obj=obj)
    if form.validate_on_submit():
        obj.title = form.title.data
        obj.content = form.content.data
        obj.news_type = form.news_type.data

        db.session.add(obj)
        db.session.commit()
        flash("Successfully modified")
        return redirect(url_for('admin'))
    return render_template("admin/update.html", form=form)
Example #33
0
def add():
    """ 新增新闻 """
    form = NewsForm()
    if form.validate_on_submit():
        n1 = News(
            title=form.title.data,
            content=form.content.data,
            img_url=form.img_url.data,
            news_type=form.news_type.data,
            created_at=datetime.now(),
            updated_at=datetime.now(),
        )
        db.session.add(n1)
        db.session.commit()
        flash("Successfully added!")
        return redirect(url_for('admin'))
    return render_template("admin/add.html", form=form)
def add():
    ''' 后台增加新闻 '''
    form = NewsForm()
    """
    validate_on_submit() call validate() only if the form is submitted. This is 
    a shortcut for form.is_submitted() and form.validate().
    """
    if form.validate_on_submit():
        print(form.title.data)
        new_obj = News(title=form.title.data,
                       content=form.content.data,
                       img_url=form.img_url.data,
                       news_type=form.news_type.data)
        new_obj.save()
        flash('新增成功')
        return redirect(url_for('admin'))
    return render_template('admin/add.html', form=form)
Example #35
0
def add_post():
    form = NewsForm()
    if form.validate_on_submit():
        session = db_session.create_session()
        news = News()
        news.title = form.title.data
        news.description = form.description.data
        news.content = form.content.data
        news.tags = form.tags.data
        news.is_private = form.is_private.data
        date = datetime.date.today()
        news.created_date = date
        current_user.news.append(news)
        session.merge(current_user)
        session.commit()
        return redirect("/")
    return render_template('adding.html', form=form)
Example #36
0
def create_news(request):

    if request.method == 'POST':
        news_form = NewsForm(request.POST,prefix='news_form')

        news_content_forms = []
        for lang in settings.LANGUAGES:
            news_content_forms.append({
                'form':NewsContentForm(request.POST,prefix='news_content' + lang[0]),
                'lang':lang[0]
            })

        if news_form.is_valid():



            valid = False
            for news_content_form in news_content_forms:
                valid = news_content_form['form'].is_valid()
                print valid
                if not valid:
                    break

            if valid:
                news = news_form.save(commit=False)
                news.save()
                for news_content_form in news_content_forms:
                    news_content = news_content_form['form'].save(commit=False)
                    news_content.lang = news_content_form['lang']
                    news_content.news = news
                    news_content.save()
                return redirect('professionals_news:administration:news_list')
    else:
        news_form = NewsForm(prefix="news_form")
        news_content_forms = []
        for lang in settings.LANGUAGES:
            news_content_forms.append({
                'form':NewsContentForm(prefix='news_content' + lang[0]),
                'lang':lang[0]
            })

    return render(request, 'professionals_news/administration/create_news.html', {
        'news_form': news_form,
        'news_content_forms': news_content_forms,
    })
Example #37
0
def update(pk):
    # 更新一条新闻
    new_obj = News.query.get(pk)
    # 如果没有取到数据,跳转后台管理页面
    if not new_obj:
        return redirect(url_for('admin'))
    #  修改前的记录渲染出来
    form = NewsForm(obj=new_obj)
    if form.validate_on_submit():
        #  获取数据
        new_obj.title = form.title.data
        new_obj.content = form.content.data
        new_obj.types = form.types.data
        #  更改记录
        db.session.add(new_obj)
        db.session.commit()
        return redirect(url_for('admin'))
    return render_template('admin/update.html', form=form)
def add():
    """ 新增新闻 """
    form = NewsForm()
    news_obj = {}  # 空的字典保存前台的表单数据
    if form.validate_on_submit():
        """ 这个和更新新闻相反, 我们空的一个form来让用户新增,然后提交获得表单保存到数据库,重定向到首页"""
        news_obj['title'] = form.title.data
        news_obj['content'] = form.content.data
        news_obj['news_type'] = form.news_type.data
        news_obj['created_at'] = datetime.now().strftime(
            '%Y-%m-%d %H:%M:%S')  # 由于是新增,所以保存新增和更新时间
        news_obj['updated_at'] = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
        news_obj['is_valid'] = True
        news_obj['img_url'] = form.image.data
        query.add_news(news_obj)
        flash('新增成功')
        return redirect(url_for('admin'))
    return render_template("admin/add.html", form=form)
Example #39
0
def update(pk):
	'''修改新闻信息'''
	new_obj = News.query.get(pk) 
	# 如果没有数据,则返回404 Not Found
	if new_obj is None:
		abort(404)
	form  = NewsForm(obj = new_obj)
	if form.validate_on_submit():
		new_obj.title = form.title.data
		new_obj.content = form.content.data
		new_obj.types = form.news_type.data
		new_obj.image = form.image.data

		db.session.add(new_obj)
		db.session.commit()
		flash('修改成功')
		return redirect(url_for('admin'))
	return render_template('admin/update.html', form = form)
Example #40
0
def add_news(request):
    if request.method == 'POST':
        news_form = NewsForm(request.POST, request.FILES)
        if news_form.is_valid():
            news_form.save()
            return HttpResponseRedirect('/admin_forms/')
        else:
            degree_values = Degree.objects.values('name').distinct()
            event_form = EventForm()
            directory_form = DirectoryForm()
            news = NewsArticle.objects.all()
            events = Event.objects.all()
            return render(request, 'admin_forms.html',
                          {'degree_values': degree_values, 'news_form': news_form, 'event_form': event_form,
                           'directory_form': directory_form, 'news_class': "active", 'all_news': news,
                           'all_events': events})
    else:
        return HttpResponseBadRequest("THE REQUESTED URL IS INVALID")
def update(pk):
    ''' 后台新闻修改 '''
    obj = News.query.get(pk)
    # 为给定的状态码引发HTTPExeception
    if obj is None:
        abort(404)
    form = NewsForm(obj=obj)
    if form.validate_on_submit():
        obj.title = form.title.data
        obj.content = form.content.data
        obj.type = form.type.data
        # 将修改后的对象提交事务
        db.session.add(obj)
        db.session.commit()
        flash("修改成功")
        # 跳转到首页
        return redirect(url_for('admin'))
    return render_template('admin/update.html', form = form)
Example #42
0
def network_dashboard_news_add(request):
    from atrinsic.base.models import News
    from forms import NewsForm
    if request.method == 'POST':
        form = NewsForm(request.POST)
        if form.is_valid():
            News.objects.create(news_status=form.cleaned_data['news_status'],
                                data=form.cleaned_data['data'],
                                viewed_by=form.cleaned_data['viewed_by'])
            return HttpResponseRedirect('/network/dashboard/news/')
    else:
        form = NewsForm()

    return AQ_render_to_response(request,
                                 'network/news-add.html', {
                                     'form': form,
                                 },
                                 context_instance=RequestContext(request))
Example #43
0
def add():
	'''新闻新增'''
	form = NewsForm()
	if form.validate_on_submit():
		# 获取用户输入表达中的数据
		# 保存数据
		n1 = News(
			title = form.title.data,
			content = form.content.data,
			image = form.image.data,
			types = form.news_type.data,
			created_at = datetime.now(),
			is_valid = 1)
		db.session.add(n1)
		db.session.commit()
		# 文字提示flash
		flash('新增成功!')
		return redirect(url_for('admin')) #新增加入数据库之后重定向到首页
	return render_template('admin/add.html', form = form)
Example #44
0
def add():
    ''' 新增新闻数据 '''
    form = NewsForm()
    if form.validate_on_submit():
        # 获取数据
        new_obj = News(title=form.title.data,
                       content=form.content.data,
                       author=form.author.data,
                       types=form.types.data,
                       image=form.image.data,
                       created_at=datetime.now(),
                       is_valid=True)
        # 保存数据
        db.session.add(new_obj)
        db.session.commit()
        # 文字提示
        # flash
        return redirect(url_for('admin'))  # 跳转到后台首页
    return render_template('admin/add.html', form=form)
Example #45
0
def update(pk):
    ''' 修改新闻数据 '''
    new_obj = News.query.get(pk)
    # 如果没有数据,则返回
    if not new_obj:
        # TODO 使用Flash进行文字提示用户
        return redirect(url_for('admin'))
    form = NewsForm(obj=new_obj)
    if form.validate_on_submit():
        # 获取数据
        new_obj.title = form.title.data
        new_obj.content = form.content.data
        new_obj.types = form.types.data
        new_obj.image = form.image.data
        # 保存数据
        db.session.add(new_obj)
        db.session.commit()
        return redirect(url_for('admin'))  # 跳转到后台首页
    return render_template('admin/update.html', form=form)
Example #46
0
def edit_news(request, post_id):
    market_item = get_object_or_404(MarketItem.objects.defer('comments'), pk=post_id)
    if market_item.owner != request.user:
        return HttpResponseForbiden()
    form = NewsForm(request.POST or None, instance=market_item)
    if request.method == 'POST' and form.is_valid():
        save_market_item(form, request.user)
        related_post_url = form.cleaned_data.get('related_post_url')
        if related_post_url:
            post_id = related_post_url.split('/')[-1]
            market_item.add_related_post(post_id, request.user)
        return redirect(reverse('show_post', args=[market_item.id]))
    else:
        form.fields['news_url'].initial = market_item.marketnewsitemdata.original_url
        related_post = market_item.marketitemrelatedpost_set.last()
        if related_post:
            market_item_url = settings.BASE_URL + reverse('show_post', args=[related_post.related_market_item.id])
            form.fields['related_post_url'].initial = market_item_url
    return render_to_response('market/create_news.html', {'form': form, 'news_item': market_item.marketnewsitemdata},
                              context_instance=RequestContext(request))
Example #47
0
def network_dashboard_news_edit(request, id):
    from atrinsic.base.models import News
    from forms import NewsForm
    news = get_object_or_404(News, id=id)

    if request.method == 'POST':
        form = NewsForm(request.POST)
        if form.is_valid():
            news.news_status = form.cleaned_data['news_status']
            news.data = form.cleaned_data['data']
            news.viewed_by = form.cleaned_data['viewed_by']
            news.save()

            return HttpResponseRedirect('/network/dashboard/news/') 
    else:
        form = NewsForm(initial=news.__dict__)

    return AQ_render_to_response(request, 'network/news-edit.html', {
            'news' : news,
            'form' : form,                                                                                        
        }, context_instance=RequestContext(request))                                                              
Example #48
0
def create_news(request):

    if request.method == 'POST':
        news_form = NewsForm(request.POST,prefix='news_form')

        if news_form.is_valid():
                news = news_form.save(commit=False)
                if 'news_form_avatar' in request.FILES:
                    avatar_img_name = handle_uploaded_file(request.FILES['news_form_avatar'])
                    news.avatar_img_name = avatar_img_name
                news.save()
                if 'save_edit' in request.POST:
                    return redirect('news:administration:edit_news', news.id)
                else:
                    return redirect('news:administration:news_list')
    else:
        news_form = NewsForm(prefix="news_form")

    return render(request, 'news/administration/create_news.html', {
        'news_form': news_form,
        })
Example #49
0
def artiststracks3(request):
    from pyechonest import *
    if request.method == 'POST':
        form = NewsForm(request.POST)
        if form.is_valid():
            the_news = []
            a = form.cleaned_data['artist_name']
            artist_results = artist.search(name=a)
            b = artist_results[0]
            artist_blogs = b.blogs
            for blog in artist_blogs:
                the_news.append([blog.get('name'), blog.get('date_posted')])
            data = {'the_news': the_news}
            print data
            return render(request, "postlogin/artiststracks3b.html", data)

    else:
        form = NewsForm()
    data = {'form': form}

    return render(request, 'postlogin/artiststracks3.html', data)
Example #50
0
def read_news(request, news_id):
    try:
        news = News.objects.get(pk=news_id)
        if not news:
            raise ValueError
        if 'login' in request.session:
            if request.method == 'POST':
                form = NewsForm(request.POST)
                if form.is_valid():
                    news = form_news(form.cleaned_data, news.news_author)
                    news.save()
                    return redirect('index')
            else:
                form = NewsForm(initial = {'title': news.news_title, 'text': news.news_text})
                context = RequestContext(request, {'form': form})
        else:
            context = RequestContext(request, {'news': news})
        context.update({'id': news.id})
        return render(request, 'read_news.html', context)
    except(AttributeError, ValueError):
        raise Http404
Example #51
0
def edit_news(request, id):
    news = get_object_or_404(News, id=id)
    if request.method == 'POST':
        news_form = NewsForm(request.POST,prefix='news_form', instance=news)

        if news_form.is_valid():
            news = news_form.save(commit=False)
            if 'news_form_avatar' in request.FILES:
                if news.avatar_img_name:
                    handle_uploaded_file(request.FILES['news_form_avatar'], news.avatar_img_name)
                else:
                    avatar_img_name = handle_uploaded_file(request.FILES['news_form_avatar'])
                    news.avatar_img_name = avatar_img_name
            news.save()
            if 'save_edit' in request.POST:
                return redirect('news:administration:edit_news', news.id)
            else:
                return redirect('news:administration:news_list')
    else:
        news_form = NewsForm(prefix="news_form", instance=news)
    return render(request, 'news/administration/edit_news.html', {
        'news_form': news_form,
        })
Example #52
0
def edit_news(request, id):
    news = get_object_or_404(News, id=id)
    news_contents = NewsContent.objects.filter(news=news)
    news_contents_langs = {}

    for lang in settings.LANGUAGES:
        news_contents_langs[lang] = None

    for news_content in news_contents:
        news_contents_langs[news_content.lang] = news_content

    if request.method == 'POST':
        news_form = NewsForm(request.POST,prefix='news_form', instance=news)

        if news_form.is_valid():
            news_form.save()
            news_content_forms = []
            for lang in settings.LANGUAGES:
                lang = lang[0]
                if lang in news_contents_langs:
                    news_content_forms.append({
                        'form':NewsContentForm(request.POST,prefix='news_content_' + lang, instance=news_contents_langs[lang]),
                        'lang':lang
                    })
                else:
                    news_content_forms.append({
                        'form':NewsContentForm(request.POST, prefix='news_content_' + lang),
                        'lang':lang
                    })


            valid = False
            for news_content_form in news_content_forms:
                valid = news_content_form['form'].is_valid()
                if not valid:
                    break

            if valid:
                for news_content_form in news_content_forms:
                    news_content = news_content_form['form'].save(commit=False)
                    news_content.news = news
                    news_content.lang = news_content_form['lang']
                    news_content.save()
                return redirect('news:administration:news_list')
    else:
        news_form = NewsForm(prefix="news_form", instance=news)
        news_content_forms = []
        for lang in settings.LANGUAGES:
            lang = lang[0]
            if lang in news_contents_langs:
                news_content_forms.append({
                    'form':NewsContentForm(prefix='news_content_' + lang, instance=news_contents_langs[lang]),
                    'lang':lang
                })
            else:
                news_content_forms.append({
                    'form':NewsContentForm(prefix='news_content_' + lang),
                    'lang':lang
                })
    return render(request, 'news/administration/edit_news.html', {
        'news_form': news_form,
        'news_content_forms': news_content_forms,
        })