2
0

topic_tool_change.py 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. from .tool.func import *
  2. async def topic_tool_change(topic_num = 1):
  3. with get_db_connect() as conn:
  4. curs = conn.cursor()
  5. if await acl_check(tool = 'owner_auth') == 1:
  6. return await re_error(conn, 3)
  7. time = get_time()
  8. topic_num = str(topic_num)
  9. curs.execute(db_change("select title, sub from rd where code = ?"), [topic_num])
  10. rd_d = curs.fetchall()
  11. if not rd_d:
  12. return redirect(conn, '/')
  13. if flask.request.method == 'POST':
  14. await acl_check(tool = 'owner_auth', memo = 'move_topic (code ' + topic_num + ')')
  15. title_d = flask.request.form.get('title', 'test')
  16. sub_d = flask.request.form.get('sub', 'test')
  17. curs.execute(db_change("update rd set title = ?, sub = ? where code = ?"), [title_d, sub_d, topic_num])
  18. do_add_thread(conn, topic_num, await get_lang('topic_name_change') + ' : ' + rd_d[0][1] + ' (' + rd_d[0][0] + ') → ' + sub_d + ' (' + title_d + ')', '1')
  19. do_reload_recent_thread(conn, topic_num, time)
  20. return redirect(conn, '/thread/' + topic_num)
  21. else:
  22. return easy_minify(flask.render_template(await skin_check(),
  23. imp = [await get_lang('topic_name_change'), await wiki_set(), await wiki_custom(), wiki_css([0, 0])],
  24. data = '''
  25. <form method="post">
  26. ''' + await get_lang('document_name') + '''
  27. <hr class="main_hr">
  28. <input value="''' + html.escape(rd_d[0][0]) + '''" name="title" type="text">
  29. <hr class="main_hr">
  30. ''' + await get_lang('discussion_name') + '''
  31. <hr class="main_hr">
  32. <input value="''' + html.escape(rd_d[0][1]) + '''" name="sub" type="text">
  33. <hr class="main_hr">
  34. <button type="submit">''' + await get_lang('save') + '''</button>
  35. </form>
  36. ''',
  37. menu = [['thread/' + topic_num + '/tool', await get_lang('return')]]
  38. ))