Surplus_Up (2DU) 7 лет назад
Родитель
Сommit
2cd209ecb5
5 измененных файлов с 55 добавлено и 20 удалено
  1. 4 0
      app.py
  2. 2 0
      language/en-US.json
  3. 2 0
      language/ko-KR.json
  4. 1 20
      route/topic.py
  5. 46 0
      route/topic_tool.py

+ 4 - 0
app.py

@@ -437,6 +437,10 @@ def topic_top(name = None, sub = None, num = 1):
 def topic_stop(name = None, sub = None, tool = None):
     return topic_stop_2(conn, name, sub, tool)
 
+@app.route('/topic/<everything:name>/sub/<sub>/tool')
+def topic_tool(name = None, sub = None):
+    return topic_tool_2(conn, name, sub)
+
 @app.route('/topic/<everything:name>/sub/<sub>/admin/<int:num>')
 def topic_admin(name = None, sub = None, num = 1):
     return topic_admin_2(conn, name, sub, num)

+ 2 - 0
language/en-US.json

@@ -163,6 +163,8 @@
         "ban_period" : "Period to block",
         "not_sure" : "Not sure",
         "use_push_alarm" : "Enable Push Notification",
+        "topic_tool" : "Discussion tool",
+        "topic_state" : "Discussion state",
         "_comment_2.1_" : "Filter",
             "_comment_2.1.1_" : "List",
                 "interwiki_list" : "Interwiki(s) list",

+ 2 - 0
language/ko-KR.json

@@ -163,6 +163,8 @@
         "ban_period" : "차단 기간",
         "not_sure" : "확실하지 않음",
         "use_push_alarm" : "푸쉬 알림 사용",
+        "topic_tool" : "토론 도구",
+        "topic_state" : "토론 상태",
         "_comment_2.1_" : "필터",
             "_comment_2.1.1_" : "목록",
                 "interwiki_list" : "인터위키 목록",

+ 1 - 20
route/topic.py

@@ -87,25 +87,6 @@ def topic_2(conn, name, sub):
         data = ''
         number = 1
         
-        if admin == 1 and topic_exist:
-            if close_data:
-                all_data += '<a href="/topic/' + url_pas(name) + '/sub/' + url_pas(sub) + '/tool/close">(' + load_lang('open') + ')</a> '
-            else:
-                all_data += '<a href="/topic/' + url_pas(name) + '/sub/' + url_pas(sub) + '/tool/close">(' + load_lang('close') + ')</a> '
-            
-            if stop_data:
-                all_data += '<a href="/topic/' + url_pas(name) + '/sub/' + url_pas(sub) + '/tool/stop">(' + load_lang('restart') + ')</a> '
-            else:
-                all_data += '<a href="/topic/' + url_pas(name) + '/sub/' + url_pas(sub) + '/tool/stop">(' + load_lang('stop') + ')</a> '
-
-            curs.execute("select title from rd where title = ? and sub = ? and agree = 'O'", [name, sub])
-            if curs.fetchall():
-                all_data += '<a href="/topic/' + url_pas(name) + '/sub/' + url_pas(sub) + '/tool/agree">(' + load_lang('destruction') + ')</a>'
-            else:
-                all_data += '<a href="/topic/' + url_pas(name) + '/sub/' + url_pas(sub) + '/tool/agree">(' + load_lang('agreement') + ')</a>'
-            
-            all_data += '<hr class=\"main_hr\">'
-        
         if (close_data or stop_data) and admin != 1:
             display = 'display: none;'
         
@@ -205,7 +186,7 @@ def topic_2(conn, name, sub):
             data += '''
                 <div id="plus"></div>
                 <script>topic_load("''' + name + '''", "''' + sub + '''", "''' + str(number) + '''");</script>
-                <a id="reload" href="javascript:void(0);" onclick="reload();">(''' + load_lang('reload') + ''')</a> <a id="reload" href="javascript:void(0);" onclick="req_alarm();">(''' + load_lang('use_push_alarm') + ''')</a>
+                <a id="reload" href="javascript:void(0);" onclick="reload();">(''' + load_lang('reload') + ''')</a> <a href="/topic/''' + url_pas(name) + '''/sub/''' + url_pas(sub) + '''/tool">(''' + load_lang('topic_tool') + ''')</a>
                 <hr class=\"main_hr\">
                 <form style="''' + display + '''" method="post">
                     <textarea style="height: 100px;" name="content"></textarea>

+ 46 - 0
route/topic_tool.py

@@ -0,0 +1,46 @@
+from .tool.func import *
+
+def topic_tool_2(conn, name, sub):
+    curs = conn.cursor()
+    
+    curs.execute("select id from topic where title = ? and sub = ? limit 1", [name, sub])
+    topic_exist = curs.fetchall()
+    if not topic_exist:
+        return re_error('/topic/' + url_pas(name) + '/sub/' + url_pas(sub))
+
+    all_data = ''
+
+    if admin_check(3) == 1:
+        all_data = '<h2>' + load_lang('topic_state') + '</h2><ul><li><a href="/topic/' + url_pas(name) + '/sub/' + url_pas(sub) + '/tool/close">'
+
+        curs.execute("select title from rd where title = ? and sub = ? and stop = 'O'", [name, sub])
+        if curs.fetchall():
+            all_data += load_lang('open')
+        else:
+            all_data += load_lang('close')
+        
+        all_data += '</a></li><li><a href="/topic/' + url_pas(name) + '/sub/' + url_pas(sub) + '/tool/stop">'
+
+        curs.execute("select title from rd where title = ? and sub = ? and stop = 'S'", [name, sub])
+        if curs.fetchall():
+            all_data += load_lang('restart')
+        else:
+            all_data += load_lang('stop')
+            
+        all_data += '</a></li><li><a href="/topic/' + url_pas(name) + '/sub/' + url_pas(sub) + '/tool/agree">'
+        
+        curs.execute("select title from rd where title = ? and sub = ? and agree = 'O'", [name, sub])
+        if curs.fetchall():
+            all_data += load_lang('destruction')
+        else:
+            all_data += load_lang('agreement')
+        
+        all_data += '</a></li></ul>'
+
+    all_data += '<h2>' + load_lang('tool') + '</h2><ul><li><a id="reload" href="javascript:void(0);" onclick="req_alarm();">' + load_lang('use_push_alarm') + '</a></li></ul>'
+
+    return easy_minify(flask.render_template(skin_check(), 
+        imp = [name, wiki_set(), custom(), other2([' (' + load_lang('topic_tool') + ')', 0])],
+        data = all_data,
+        menu = [['topic/' + url_pas(name) + '/sub/' + url_pas(sub), load_lang('return')]]
+    ))