vote_add.py 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. from .tool.func import *
  2. def vote_add_2(conn):
  3. curs = conn.cursor()
  4. if admin_check() != 1:
  5. return re_error('/ban')
  6. if flask.request.method == 'POST':
  7. vote_data = flask.request.form.get('data', 'test\ntest_2')
  8. if vote_data.count('\n') < 1:
  9. return re_error('/ban')
  10. curs.execute(db_change('select id from vote order by id + 0 desc limit 1'))
  11. id_data = curs.fetchall()
  12. id_data = str((int(id_data[0][0]) + 1) if id_data else 1)
  13. admin_check(None, 'add vote ' + id_data)
  14. if flask.request.form.get('open_select', 'N') == 'Y':
  15. open_data = 'open'
  16. else:
  17. open_data = 'n_open'
  18. curs.execute(db_change("insert into vote (name, id, subject, data, user, type, acl) values (?, ?, ?, ?, '', ?, ?)"), [
  19. flask.request.form.get('name', 'test'),
  20. id_data,
  21. flask.request.form.get('subject', 'test'),
  22. flask.request.form.get('data', 'test'),
  23. open_data,
  24. flask.request.form.get('acl_select', '')
  25. ])
  26. conn.commit()
  27. return redirect('/vote')
  28. else:
  29. acl_data = '<select name="acl_select">'
  30. acl_list = get_acl_list()
  31. for data_list in acl_list:
  32. acl_data += '<option value="' + data_list + '">' + (data_list if data_list != '' else 'normal') + '</option>'
  33. acl_data += '</select>'
  34. return easy_minify(flask.render_template(skin_check(),
  35. imp = [load_lang('add_vote'), wiki_set(), custom(), other2([0, 0])],
  36. data = '' + \
  37. '<form method="post">' + \
  38. '<input name="name" placeholder="' + load_lang('name') + '">' + \
  39. '<hr class="main_hr">' + \
  40. '<textarea rows="3" name="subject" placeholder="' + load_lang('explanation') + '"></textarea>' + \
  41. '<hr class="main_hr">' + \
  42. '<textarea rows="10" name="data" placeholder="' + load_lang('1_line_1_q') + '"></textarea>' + \
  43. '<hr class="main_hr">' + \
  44. '<input type="checkbox" value="Y" name="open_select"> ' + load_lang('open_vote') + \
  45. '<h2>' + load_lang('acl') + '</h2>' + \
  46. acl_data + ' <a href="/acl/TEST#exp">(' + load_lang('explanation') + ')</a>' + \
  47. '<hr class="main_hr">' + \
  48. '<button type="submit">' + load_lang('send') + '</buttom>' + \
  49. '</form>' + \
  50. '',
  51. menu = [['vote', load_lang('return')]]
  52. ))