Browse Source

Finished the topictracker

sh4nks 11 years ago
parent
commit
7d33790da7

+ 5 - 4
flaskbb/forum/views.py

@@ -231,7 +231,7 @@ def topictracker():
 
 
 @forum.route("/topictracker/<topic_id>/add")
-def add_to_topictracker(topic_id):
+def track_topic(topic_id):
     topic = Topic.query.filter_by(id=topic_id).first()
     current_user.track_topic(topic)
     current_user.save()
@@ -239,7 +239,8 @@ def add_to_topictracker(topic_id):
 
 
 @forum.route("/topictracker/<topic_id>/delete")
-def remove_from_topictracker(topic_id):
+def untrack_topic(topic_id):
     topic = Topic.query.filter_by(id=topic_id).first()
-    current_user.untrack_topic.remove(topic)
-    return redirect(url_for("forum.topictracker"))
+    current_user.untrack_topic(topic)
+    current_user.save()
+    return redirect(url_for("forum.view_topic", topic_id=topic.id))

+ 5 - 1
flaskbb/templates/forum/topic.html

@@ -24,7 +24,11 @@
     <a href="{{ url_for('forum.delete_topic', topic_id=topic.id) }}" class="btn btn-primary">Delete Topic</a>
     {% endif %}
     {% if current_user.is_authenticated() %}
-    <a href="{{ url_for('forum.add_to_topictracker', topic_id=topic.id) }}" class="btn btn-primary">Track Topic</a>
+        {% if current_user.is_tracking_topic(topic) %}
+        <a href="{{ url_for('forum.untrack_topic', topic_id=topic.id) }}" class="btn btn-primary">Untrack Topic</a>
+        {% else %}
+        <a href="{{ url_for('forum.track_topic', topic_id=topic.id) }}" class="btn btn-primary">Track Topic</a>
+        {% endif %}
     {% endif %}
 </div>
 

+ 3 - 0
flaskbb/templates/forum/topictracker.html

@@ -1,3 +1,6 @@
+{% set page_title = "Topic Tracker" %}
+{% set active_forum_nav=True %}
+
 {% extends 'layout.html' %}
 {% from 'macros.html' import render_pagination %}
 

+ 1 - 1
flaskbb/user/models.py

@@ -195,7 +195,7 @@ class User(db.Model, UserMixin):
         """
         Untracks the specified topic
         """
-        if self.is_following_topic(topic):
+        if self.is_tracking_topic(topic):
             self.tracked_topics.remove(topic)
             return self