From d67f2dc496fc9b072b1fe26fdc3ec7b926efbbd7 Mon Sep 17 00:00:00 2001 From: Cédric Bonhomme Date: Tue, 8 Apr 2014 19:41:49 +0200 Subject: Mark all articles (or all articles from a feed) as read. --- pyaggr3g470r/views.py | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) (limited to 'pyaggr3g470r/views.py') diff --git a/pyaggr3g470r/views.py b/pyaggr3g470r/views.py index c2f6b9bf..9be985c9 100644 --- a/pyaggr3g470r/views.py +++ b/pyaggr3g470r/views.py @@ -249,27 +249,20 @@ def article(article_id=None): return render_template('article.html', head_title=utils.clear_string(article.title), article=article) @app.route('/mark_as_read/', methods=['GET']) -@app.route('/mark_as_read/', methods=['GET']) +@app.route('/mark_as_read/', methods=['GET']) @login_required +@feed_access_required def mark_as_read(feed_id=None): """ Mark all unreaded articles as read. """ if feed_id != None: - user = models.User.objects(email=g.user.email).first() - for feed in user.feeds: - if str(feed.oid) == feed_id: - unread_articles = [article for article in feed.articles if not article.readed] - for article in unread_articles: - article.readed = True - article.save() - flash('Articles of the feed "' + feed.title + '" marked as read.', 'info') - break - else: - flash("This feed do not exist.", 'warning') + articles, feed = Article.query.filter(Article.readed == False).join(Feed).filter(Feed.id == feed_id).update({"readed": True}) + flash('Articles marked as read.', 'info') else: - models.Article.objects(readed=False).update(set__readed=True) + Article.query.filter(Article.readed == False).update({"readed": True}) flash("All articles marked as read", 'info') + db.session.commit() return redirect(redirect_url()) @app.route('/like/', methods=['GET']) -- cgit