Changeset 1482
- Timestamp:
- 11/02/06 15:57:00 (2 years ago)
- Files:
-
- discussionplugin/0.10/tracdiscussion/admin.py (modified) (1 diff)
- discussionplugin/0.10/tracdiscussion/api.py (modified) (14 diffs)
- discussionplugin/0.10/tracdiscussion/core.py (modified) (1 diff)
- discussionplugin/0.10/tracdiscussion/__init__.py (modified) (1 diff)
- discussionplugin/0.10/tracdiscussion/init.py (modified) (1 diff)
- discussionplugin/0.10/tracdiscussion/search.py (modified) (2 diffs)
- discussionplugin/0.10/tracdiscussion/timeline.py (modified) (8 diffs)
- discussionplugin/0.10/tracdiscussion/wiki.py (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
discussionplugin/0.10/tracdiscussion/admin.py
r1252 r1482 1 # -*- coding: utf8 -*- 2 1 3 from tracdiscussion.api import * 2 4 from trac.core import * discussionplugin/0.10/tracdiscussion/api.py
r1376 r1482 1 # -*- coding: utf8 -*- 2 1 3 from trac.core import * 2 4 from trac.web.chrome import add_stylesheet 3 5 from trac.wiki import wiki_to_html, wiki_to_oneliner 4 6 from trac.perm import PermissionError 5 from trac.util import format_datetime, pretty_timedelta, escape, unescape, \ 6 Markup 7 from trac.util import format_datetime, pretty_timedelta, Markup 7 8 import time 8 9 … … 734 735 sql = "UPDATE forum_group SET name = %s, description = %s WHERE id = %s" 735 736 self.log.debug(sql % (name, description, group)) 736 cursor.execute(sql, ( escape(name), escape(description), group))737 cursor.execute(sql, (name, description, group)) 737 738 738 739 def edit_forum(self, cursor, forum, name, subject, description, moderators, … … 745 746 self.log.debug(sql % (name, subject, description, moderators, 746 747 group, forum)) 747 cursor.execute(sql, ( escape(name), escape(subject),748 escape(description), escape(moderators), group,forum))748 cursor.execute(sql, (name, subject, description, moderators, group, 749 forum)) 749 750 750 751 def edit_topic(self, cursor, topic, forum, subject, body): … … 752 753 " = %s" 753 754 self.log.debug(sql % (forum, subject, body, topic)) 754 cursor.execute(sql, (forum, escape(subject), escape(body), 755 topic)) 755 cursor.execute(sql, (forum, subject, body, topic)) 756 756 757 757 def edit_message(self, cursor, message, forum, topic, replyto, body): … … 759 759 " = %s WHERE id = %s" 760 760 self.log.debug(sql % (forum, topic, replyto, body, message)) 761 cursor.execute(sql, (forum, topic, replyto, escape(body), 762 message)) 761 cursor.execute(sql, (forum, topic, replyto, body, message)) 763 762 764 763 # Get list functions … … 779 778 order_by = 'g.' + order_by 780 779 columns = ('id', 'name', 'description', 'forums') 781 sql = "SELECT g.id, g.name, g.description, (SELECT COUNT(f.id) AS" \ 782 " forums FROM forum f WHERE f.forum_group = g.id) FROM forum_group" \ 783 " g ORDER BY " + order_by + (" ASC", " DESC")[bool(desc)] 780 sql = "SELECT g.id, g.name, g.description, (SELECT COUNT(f.id)" \ 781 " FROM forum f, forum_group g WHERE f.forum_group = g.id) AS" \ 782 " forums FROM forum_group g ORDER BY " + order_by + (" ASC", 783 " DESC")[bool(desc)] 784 784 self.log.debug(sql) 785 785 cursor.execute(sql) … … 799 799 sql = "SELECT f.id, f.name, f.author, f.time, f.moderators," \ 800 800 " f.forum_group, f.subject, f.description, (SELECT COUNT(t.id)" \ 801 " FROM topic t WHERE t.forum = f.id) AS topics, (SELECT COUNT(m.id)" \ 802 " FROM message m WHERE m.forum = f.id) AS replies, (SELECT" \ 803 " MAX(time) FROM message m WHERE m.forum = f.id) AS lasttopic," \ 804 " (SELECT MAX(time) FROM topic t WHERE t.forum = f.id) AS lastreply" \ 805 " FROM forum f ORDER BY " + order_by + (" ASC", " DESC")[bool(desc)] 801 " FROM topic t, forum f WHERE t.forum = f.id) AS topics, (SELECT" \ 802 " COUNT(m.id) FROM message m, forum f WHERE m.forum = f.id) AS" \ 803 " replies, (SELECT MAX(m.time) FROM message m, forum f WHERE" \ 804 " m.forum = f.id) AS lasttopic, (SELECT MAX(t.time) FROM topic t," \ 805 " forum f WHERE t.forum = f.id) AS lastreply FROM forum f ORDER BY " \ 806 + order_by + (" ASC", " DESC")[bool(desc)] 806 807 self.log.debug(sql) 807 808 cursor.execute(sql) … … 829 830 'replies', 'lastreply') 830 831 sql = "SELECT t.id, t.forum, t.time, t.subject, t.body, t.author," \ 831 " (SELECT COUNT(m.id) FROM message m WHERE m.topic = t.id) AS" \832 " replies, (SELECT MAX(m.time) FROM message m WHERE m.topic = t.id)" \833 " AS lastreply FROM topic t WHERE t.forum = %s ORDER BY " + order_by\834 + (" ASC", " DESC")[bool(desc)]832 " (SELECT COUNT(m.id) FROM message m, topic t WHERE m.topic = t.id)" \ 833 " AS replies, (SELECT MAX(m.time) FROM message m, topic t WHERE" \ 834 " m.topic = t.id) AS lastreply FROM topic t WHERE t.forum = %s" \ 835 " ORDER BY " + order_by + (" ASC", " DESC")[bool(desc)] 835 836 self.log.debug(sql % (forum,)) 836 837 cursor.execute(sql, (forum,)) … … 883 884 'ORDER BY time ASC'): 884 885 columns = ('id', 'replyto', 'time', 'author', 'body') 885 sql = "SELECT id, replyto, time, author, body FROM message WHERE" \886 " topic = %s " + order_by886 sql = "SELECT m.id, m.replyto, m.time, m.author, m.body FROM message m" \ 887 " WHERE m.topic = %s " + order_by 887 888 self.log.debug(sql % (topic,)) 888 889 cursor.execute(sql, (topic,)) … … 909 910 sql = "INSERT INTO forum_group (name, description) VALUES (%s, %s)" 910 911 self.log.debug(sql % (name, description)) 911 cursor.execute(sql, ( escape(name), escape(description)))912 cursor.execute(sql, (name, description)) 912 913 913 914 def add_forum(self, cursor, name, author, subject, description, moderators, … … 920 921 self.log.debug(sql % (name, author, str(int(time.time())), moderators, 921 922 subject, description, group)) 922 cursor.execute(sql, (escape(name), escape(author), 923 str(int(time.time())), escape(moderators), escape(subject), 924 escape(description), group)) 923 cursor.execute(sql, (name, author, str(int(time.time())), moderators, 924 subject, description, group)) 925 925 926 926 def add_topic(self, cursor, forum, subject, author, body): … … 928 928 " (%s, %s, %s, %s, %s)" 929 929 self.log.debug(sql % (forum, int(time.time()), author, subject, body)) 930 cursor.execute(sql, (forum, int(time.time()), escape(author), 931 escape(subject), escape(body))) 930 cursor.execute(sql, (forum, int(time.time()), author, subject, body)) 932 931 933 932 def add_message(self, cursor, forum, topic, replyto, author, body): … … 937 936 author, body)) 938 937 cursor.execute(sql, (forum, topic, replyto, int(time.time()), 939 escape(author), escape(body)))938 author, body)) 940 939 941 940 # Delete items functions … … 970 969 def delete_message(self, cursor, message): 971 970 # Get message replies 972 sql = "SELECT id FROM message WHEREreplyto = %s"971 sql = "SELECT m.id FROM message m WHERE m.replyto = %s" 973 972 self.log.debug(sql % (message,)) 974 973 cursor.execute(sql, (message,)) discussionplugin/0.10/tracdiscussion/core.py
r1252 r1482 1 # -*- coding: utf8 -*- 2 1 3 from tracdiscussion.api import * 2 4 from trac.core import * discussionplugin/0.10/tracdiscussion/__init__.py
r775 r1482 1 # -*- coding: utf8 -*- 2 1 3 from tracdiscussion import * discussionplugin/0.10/tracdiscussion/init.py
r1252 r1482 1 # -*- coding: utf8 -*- 2 1 3 from trac.core import * 2 4 from trac.db import * discussionplugin/0.10/tracdiscussion/search.py
r1252 r1482 1 # -*- coding: utf8 -*- 2 1 3 from trac.core import * 2 4 from trac.config import Option … … 13 15 'Main navigation bar button title.') 14 16 15 # ISearchSource17 #ISearchSource 16 18 def get_search_filters(self, req): 17 19 if req.perm.has_permission('DISCUSSION_VIEW'): discussionplugin/0.10/tracdiscussion/timeline.py
r1252 r1482 1 # -*- coding: utf8 -*- 2 1 3 from trac.core import * 2 4 from trac.Timeline import ITimelineEventProvider … … 29 31 kind = 'changeset' 30 32 title = Markup('New forum %s created by %s' % 31 ( html.em(forum['name']), forum['author']))33 (forum['name'], forum['author'])) 32 34 time = forum['time'] 33 35 author = forum['author'] … … 39 41 href = self.env.href.discussion(forum['id']) 40 42 message = wiki_to_oneliner('%s - %s' % (forum['subject'], 41 forum['description']), self.env, db) 43 forum['description']), self.env, db) 42 44 yield kind, href, title, time, author, message 43 45 … … 47 49 kind = 'newticket' 48 50 title = Markup('New topic on %s created by %s' % \ 49 ( html.em(topic['forum_name']), topic['author']))51 (topic['forum_name'], topic['author'])) 50 52 time = topic['time'] 51 53 author = topic['author'] … … 64 66 kind = 'editedticket' 65 67 title = Markup('New reply on %s created by %s' % \ 66 ( html.em(message['forum_name']), message['author']))68 (message['forum_name'], message['author'])) 67 69 time = message['time'] 68 70 author = message['author'] … … 85 87 def _get_changed_forums(self, cursor, start, stop): 86 88 columns = ('id', 'name', 'author', 'subject', 'description', 'time') 87 sql = "SELECT id, name, author, subject, description, time FROM forum" \88 " WHEREtime BETWEEN %s AND %s"89 sql = "SELECT f.id, f.name, f.author, f.subject, f.description," \ 90 " f.time FROM forum f WHERE f.time BETWEEN %s AND %s" 89 91 self.log.debug(sql % (start, stop)) 90 92 cursor.execute(sql, (start, stop)) … … 95 97 def _get_changed_topics(self, cursor, start, stop): 96 98 columns = ('id', 'subject', 'author', 'time', 'forum', 'forum_name') 97 sql = "SELECT id, subject, author, time, forum, (SELECT name FROM forum" \ 98 " f WHERE f.id = topic.forum) FROM topic WHERE time BETWEEN %s AND %s" 99 sql = "SELECT t.id, t.subject, t.author, t.time, t.forum, (SELECT" \ 100 " f.name FROM forum f, topic t WHERE f.id = t.forum) FROM topic t" \ 101 " WHERE t.time BETWEEN %s AND %s" 99 102 self.log.debug(sql % (start, stop)) 100 103 cursor.execute(sql, (start, stop)) … … 106 109 columns = ('id', 'author', 'time', 'forum', 'topic', 'forum_name', 107 110 'topic_subject') 108 sql = "SELECT id, author, time, forum, topic, (SELECT name FROM forum f" \ 109 " WHERE f.id = message.forum), (SELECT subject FROM topic t WHERE" \ 110 " t.id = message.topic) FROM message WHERE time BETWEEN %s AND %s" 111 sql = "SELECT m.id, m.author, m.time, m.forum, m.topic, (SELECT" \ 112 " f.name FROM forum f, message m WHERE f.id = m.forum), (SELECT" \ 113 " t.subject FROM topic t, message m WHERE t.id = m.topic) FROM" \ 114 " message m WHERE m.time BETWEEN %s AND %s" 111 115 self.log.debug(sql % (start, stop)) 112 116 cursor.execute(sql, (start, stop)) discussionplugin/0.10/tracdiscussion/wiki.py
r1262 r1482 1 # -*- coding: utf8 -*- 2 1 3 from tracdiscussion.api import * 2 4 from tracdiscussion.core import * … … 124 126 if ns == 'forum': 125 127 columns = ('subject',) 126 sql = "SELECT subject FROM forum WHEREid = %s"128 sql = "SELECT f.subject FROM forum f WHERE f.id = %s" 127 129 self.log.debug(sql % (id,)) 128 130 cursor.execute(sql, (id,)) … … 135 137 elif ns == 'topic': 136 138 columns = ('forum', 'forum_subject', 'subject') 137 sql = "SELECT forum, (SELECT subject FROM forum WHERE id =" \138 " topic.forum), subject FROM topic WHEREid = %s"139 sql = "SELECT t.forum, (SELECT f.subject FROM forum f, topic t" \ 140 " WHERE f.id = t.forum), t.subject FROM topic t WHERE t.id = %s" 139 141 self.log.debug(sql % (id,)) 140 142 cursor.execute(sql, (id,)) … … 148 150 elif ns == 'message': 149 151 columns = ('forum', 'topic', 'forum_subject', 'subject') 150 sql = "SELECT forum, topic, (SELECT subject FROM forum WHERE id =" \ 151 " message.forum), (SELECT subject FROM topic WHERE id =" \ 152 " message.topic) FROM message WHERE id = %s" 152 sql = "SELECT m.forum, m.topic, (SELECT f.subject FROM forum f," \ 153 " message m WHERE f.id = m.forum), (SELECT t.subject FROM" \ 154 " topic t, message m WHERE t.id = m.topic) FROM message m" \ 155 " WHERE m.id = %s" 153 156 self.log.debug(sql % (id,)) 154 157 cursor.execute(sql, (id,))
