Surplus_Up (2DU) 6 лет назад
Родитель
Сommit
1174c3c351
7 измененных файлов с 58 добавлено и 8 удалено
  1. 4 0
      app.py
  2. 2 1
      language/en-US.json
  3. 3 2
      language/ko-KR.json
  4. 32 0
      route/topic_delete.py
  5. 2 2
      route/topic_stop.py
  6. 14 2
      route/topic_tool.py
  7. 1 1
      version.json

+ 4 - 0
app.py

@@ -478,6 +478,10 @@ def topic_top(topic_num = 1, num = 1):
 def topic_stop(topic_num = 1):
     return topic_stop_2(conn, topic_num)
 
+@app.route('/thread/<int:topic_num>/delete', methods=['POST', 'GET'])
+def topic_delete(topic_num = 1):
+    return topic_delete_2(conn, topic_num)
+
 @app.route('/thread/<int:topic_num>/tool')
 def topic_tool(topic_num = 1):
     return topic_tool_2(conn, topic_num)

+ 2 - 1
language/en-US.json

@@ -276,8 +276,9 @@
                 "edit_record" : "Edit record",
                 "discussion_record" : "Discussion record",
         "_comment_2.4_" : "Topic tool",
-            "topic_tool" : "Discussion tool",
+            "topic_tool" : "Discussion management tool(s)",
             "topic_state" : "Discussion status",
+            "topic_delete" : "Discussion delete",
         "_comment_2.5_" : "Period",
             "1_day" : "1 day",
             "5_day" : "5 days",

+ 3 - 2
language/ko-KR.json

@@ -107,7 +107,7 @@
     "edit_filter_rule": "편집 필터 규칙",
     "oauth_connection": "Oauth 연결",
     "hide_ip": "IP 숨기기",
-    "topic_tool": "토론 도구",
+    "topic_tool": "토론 관리 도구",
     "user_document": "사용자 문서",
     "id": "아이디",
     "no_login_warring": "비로그인 상태입니다. 편집시 지금 접속한 IP 명의로 기록됩니다.",
@@ -306,5 +306,6 @@
     "many_delete_help" : "한 줄에 문서명 하나씩 적어주세요.",
     "content" : "내용",
     "upload_acl" : "업로드 ACL",
-    "default_view_acl" : "기본 보기 ACL"
+    "default_view_acl" : "기본 보기 ACL",
+    "topic_delete" : "토론 삭제"
 }

+ 32 - 0
route/topic_delete.py

@@ -0,0 +1,32 @@
+from .tool.func import *
+
+def topic_delete_2(conn, topic_num):
+    curs = conn.cursor()
+
+    if admin_check(None) != 1:
+        return re_error('/error/3')
+
+    ip = ip_check()
+    time = get_time()
+
+    topic_change_data = topic_change(topic_num)
+    name = topic_change_data[0]
+    sub = topic_change_data[1]
+
+    if flask.request.method == 'POST':
+        curs.execute(db_change("delete from topic where title = ? and sub = ?"), [name, sub])
+        curs.execute(db_change("delete from rd where title = ? and sub = ?"), [name, sub])
+        conn.commit()
+
+        return redirect('/topic/' + url_pas(name))    
+    else:
+        return easy_minify(flask.render_template(skin_check(),
+            imp = [load_lang('topic_delete'), wiki_set(), custom(), other2([0, 0])],
+            data = '''
+                <hr class=\"main_hr\">
+                <form method="post">
+                    <button type="submit">''' + load_lang('start') + '''</button>
+                </form>
+            ''',
+            menu = [['topic/' + url_pas(name) + '/sub/' + url_pas(sub) + '/tool', load_lang('return')]]
+        ))

+ 2 - 2
route/topic_stop.py

@@ -78,7 +78,7 @@ def topic_stop_2(conn, topic_num):
             agree_check = ''
 
         return easy_minify(flask.render_template(skin_check(),
-            imp = [name, wiki_set(), custom(), other2([' (' + load_lang('topic_setting') + ')', 0])],
+            imp = [load_lang('topic_setting'), wiki_set(), custom(), other2([0, 0])],
             data = '''
                 <hr class=\"main_hr\">
                 <form method="post">
@@ -93,5 +93,5 @@ def topic_stop_2(conn, topic_num):
                     <button type="submit">''' + load_lang('save') + '''</button>
                 </form>
             ''',
-            menu = [['topic/' + url_pas(name) + '/sub/' + url_pas(sub) + '/tool', load_lang('return')]]
+            menu = [['thread/' + str(topic_num) + '/tool', load_lang('return')]]
         ))

+ 14 - 2
route/topic_tool.py

@@ -35,9 +35,21 @@ def topic_tool_2(conn, topic_num):
             <li>''' + load_lang('topic_state') + ''' : ''' + t_state + '' + (' (Agree)' if close_data and (close_data[0][1] == 'O') else '') + '''</li>
         </ul>
     '''
+    
+    if admin_check(None) == 1:
+        data += '''
+            <h2>''' + load_lang('owner') + '''</h2>
+            <ul>
+                <li>
+                    <a href="/thread/''' + str(topic_num) + '''/delete">
+                        ''' + load_lang('topic_delete') + '''
+                    </a>
+                </li>
+            </ul>
+        '''
 
     return easy_minify(flask.render_template(skin_check(), 
-        imp = [name, wiki_set(), custom(), other2([' (' + load_lang('topic_tool') + ')', 0])],
+        imp = [load_lang('topic_tool'), wiki_set(), custom(), other2([0, 0])],
         data = data,
-        menu = [['topic/' + url_pas(name) + '/sub/' + url_pas(sub), load_lang('return')]]
+        menu = [['thread/' + str(topic_num), load_lang('return')]]
     ))

+ 1 - 1
version.json

@@ -1,6 +1,6 @@
 {
     "master" : {
-        "r_ver" : "v3.1.5-master-23",
+        "r_ver" : "v3.1.5-master-24",
         "c_ver" : "400006",
         "s_ver" : "6"
     }, "stable" : {