from .tool.func import *
def give_acl_2(conn, name):
curs = conn.cursor()
check_ok = ''
if flask.request.method == 'POST':
check_data = 'acl (' + name + ')'
else:
check_data = None
user_data = re.search('^user:(.+)$', name)
if user_data:
if check_data and custom()[2] == 0:
return redirect('/login')
if user_data.groups()[0] != ip_check():
if admin_check(5, check_data) != 1:
if check_data:
return re_error('/error/3')
else:
check_ok = 'disabled'
else:
if admin_check(5, check_data) != 1:
if check_data:
return re_error('/error/3')
else:
check_ok = 'disabled'
if flask.request.method == 'POST':
dec = flask.request.form.get('dec', '')
view = flask.request.form.get('view', '')
curs.execute("select title from acl where title = ?", [name])
if curs.fetchall():
curs.execute("update acl set dec = ? where title = ?", [dec, name])
curs.execute("update acl set dis = ? where title = ?", [flask.request.form.get('dis', ''), name])
curs.execute("update acl set why = ? where title = ?", [flask.request.form.get('why', ''), name])
curs.execute("update acl set view = ? where title = ?", [view, name])
else:
curs.execute("insert into acl (title, dec, dis, why, view) values (?, ?, ?, ?, ?)", [
name,
dec,
flask.request.form.get('dis', ''),
flask.request.form.get('why', ''),
view
])
curs.execute("select title from acl where title = ? and dec = '' and dis = '' and view = ''", [name])
if curs.fetchall():
curs.execute("delete from acl where title = ?", [name])
conn.commit()
return redirect('/acl/' + url_pas(name))
else:
data = '
' + load_lang('document_acl') + '
'
if not re.search('^user:', name):
data += '
' + load_lang('discussion_acl') + '
'
data += '
' + load_lang('view_acl') + '
''' + load_lang('explanation') + '''
normal : ''' + load_lang('default') + '''
admin : ''' + load_lang('admin_acl') + '''
member : ''' + load_lang('member_acl') + '''
50 edit : ''' + load_lang('50_edit_acl') + '''
all : ''' + load_lang('all_acl') + '''
all : ''' + load_lang('email_acl') + '''
'''
if check_ok == '':
if acl_data:
data += ''
else:
data += ''
return easy_minify(flask.render_template(skin_check(),
imp = [name, wiki_set(), custom(), other2([' (' + load_lang('acl') + ')', 0])],
data = '''
''',
menu = [['w/' + url_pas(name), load_lang('document')], ['manager', load_lang('admin')]]
))