aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCédric Bonhomme <cedric@cedricbonhomme.org>2016-02-15 14:24:41 +0100
committerCédric Bonhomme <cedric@cedricbonhomme.org>2016-02-15 14:24:41 +0100
commit4163ea26ee2b04e5d78345f6505bb375ef0d3882 (patch)
treee59c550b6c813a3c8dac271a4f9f48c6e918fbe0
parentFixed a bug when existing_article.updated_date is None. (diff)
downloadnewspipe-4163ea26ee2b04e5d78345f6505bb375ef0d3882.tar.gz
newspipe-4163ea26ee2b04e5d78345f6505bb375ef0d3882.tar.bz2
newspipe-4163ea26ee2b04e5d78345f6505bb375ef0d3882.zip
It is again possible (for an administrator) to delete the feed of a user.
-rw-r--r--src/web/templates/feed_list.html12
-rw-r--r--src/web/views/admin.py14
2 files changed, 21 insertions, 5 deletions
diff --git a/src/web/templates/feed_list.html b/src/web/templates/feed_list.html
index 114ae960..2cfab7d8 100644
--- a/src/web/templates/feed_list.html
+++ b/src/web/templates/feed_list.html
@@ -34,10 +34,14 @@
<td><a href="{{ feed.site_link }}">{{ feed.site_link }}</a></td>
<td>( {{ unread_article_count.get(feed.id, 0) }} ) {{ article_count.get(feed.id, 0) }}</td>
<td>
- <a href="{{ url_for("home", feed_id=feed.id, filter_="all") }}"><i class="glyphicon glyphicon-th-list" title="{{ _('Articles') }}"></i></a>
- <a href="{{ url_for("feed.form", feed_id=feed.id) }}"><i class="glyphicon glyphicon-edit" title="{{ _('Edit this feed') }}"></i></a>
- <a href="{{ url_for("feed.duplicates", feed_id=feed.id) }}"><i class="glyphicon glyphicon-book" title="{{ _('Duplicate articles') }}"></i></a>
- <a href="{{ url_for("feed.delete", feed_id=feed.id) }}"><i class="glyphicon glyphicon-remove" title="{{ _('Delete this feed') }}" onclick="return confirm('{{ _('You are going to delete this feed.') }}');"></i></a>
+ {% if feed.user_id == current_user.id %}
+ <a href="{{ url_for("home", feed_id=feed.id, filter_="all") }}"><i class="glyphicon glyphicon-th-list" title="{{ _('Articles') }}"></i></a>
+ <a href="{{ url_for("feed.form", feed_id=feed.id) }}"><i class="glyphicon glyphicon-edit" title="{{ _('Edit this feed') }}"></i></a>
+ <a href="{{ url_for("feed.duplicates", feed_id=feed.id) }}"><i class="glyphicon glyphicon-book" title="{{ _('Duplicate articles') }}"></i></a>
+ <a href="{{ url_for("feed.delete", feed_id=feed.id) }}"><i class="glyphicon glyphicon-remove" title="{{ _('Delete this feed') }}" onclick="return confirm('{{ _('You are going to delete this feed.') }}');"></i></a>
+ {% else %}
+ <a href="{{ url_for("admin.delete", feed_id=feed.id) }}"><i class="glyphicon glyphicon-remove" title="{{ _('Delete this feed') }}" onclick="return confirm('{{ _('You are going to delete this feed.') }}');"></i></a>
+ {% endif %}
</td>
</tr>
{% endfor %}
diff --git a/src/web/views/admin.py b/src/web/views/admin.py
index ec79262d..753b864f 100644
--- a/src/web/views/admin.py
+++ b/src/web/views/admin.py
@@ -7,7 +7,7 @@ from flask.ext.principal import Permission, RoleNeed
from web.lib.utils import redirect_url
from web.models import Role
-from web.controllers import UserController, ArticleController
+from web.controllers import UserController, ArticleController, FeedController
from web.forms import InformationMessageForm, UserForm
from web import notifications
@@ -130,6 +130,18 @@ def delete_user(user_id=None):
'%(error)', error=error), 'danger')
return redirect(redirect_url())
+@admin_bp.route('/delete/<feed_id>', methods=['GET'])
+@login_required
+@admin_permission.require(http_exception=403)
+def delete(feed_id=None):
+ "Deletes the feed of a user."
+ try:
+ feed = FeedController().delete(feed_id)
+ flash(gettext("Feed successfully deleted."), 'success')
+ except Exception as error:
+ flash('An error occured while trying to delete a feed: '
+ + str(error), 'danger')
+ return redirect(url_for('home'))
@admin_bp.route('/toggle_user/<int:user_id>', methods=['GET'])
@login_required
bgstack15