mirror of https://github.com/tLDP/LDP
Remove section-level permission; it was redundant. Closes #89725.
This commit is contained in:
parent
4ef9d4c53a
commit
183831d4d8
|
@ -1,7 +1,7 @@
|
|||
insert(user, 1, t, t, f, f)
|
||||
insert(admin, 2, t, f, t, f)
|
||||
insert(sysadmin, 3, t, f, f, t)
|
||||
insert(main, 4, f, f, f, f)
|
||||
insert(news, 5, f, f, f, f)
|
||||
insert(volunteer, 6, f, f, f, f)
|
||||
insert(help, 7, f, f, f, f)
|
||||
insert(user, 1)
|
||||
insert(admin, 2)
|
||||
insert(sysadmin, 3)
|
||||
insert(main, 4)
|
||||
insert(news, 5)
|
||||
insert(volunteer, 6)
|
||||
insert(help, 7)
|
||||
|
|
|
@ -3,9 +3,6 @@ CREATE TABLE section
|
|||
section_code CHAR(20) NOT NULL,
|
||||
sort_order INT4 NOT NULL,
|
||||
only_dynamic BOOLEAN DEFAULT False,
|
||||
only_registered BOOLEAN DEFAULT False,
|
||||
only_admin BOOLEAN DEFAULT False,
|
||||
only_sysadmin BOOLEAN DEFAULT False,
|
||||
|
||||
PRIMARY KEY (section_code)
|
||||
);
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
m4_define(insert,m4_dnl
|
||||
[INSERT INTO section(section_code, sort_order, only_dynamic, only_registered, only_admin, only_sysadmin)
|
||||
VALUES ('$1', $2, '$3', '$4', '$5', '$6');])m4_dnl
|
||||
[INSERT INTO section(section_code, sort_order)
|
||||
VALUES ('$1', $2);])m4_dnl
|
||||
|
|
|
@ -788,17 +788,14 @@ class Tables:
|
|||
for key in keys:
|
||||
page = lampadasweb.pages[key]
|
||||
if page.section_code==section.code:
|
||||
if page.only_dynamic and lampadasweb.static:
|
||||
if lampadasweb.static and page.only_dynamic:
|
||||
continue
|
||||
if page.only_registered and sessions.session==None:
|
||||
continue
|
||||
if page.only_admin and (sessions.session==None or sessions.session.user.admin==0):
|
||||
continue
|
||||
if page.only_sysadmin and (sessions.session==None or sessions.session.user.sysadmin==0):
|
||||
continue
|
||||
if page.only_registered or page.only_admin or page.only_sysadmin > 0:
|
||||
if sessions.session==None:
|
||||
continue
|
||||
if page.only_admin > 0:
|
||||
if sessions.session.user.admin==0 and sessions.session.user.sysadmin==0:
|
||||
continue
|
||||
if page.only_sysadmin > 0:
|
||||
if sessions.session.user.sysadmin==0:
|
||||
continue
|
||||
box.write('<a href="|uri.base|%s|uri.lang_ext|">%s</a><br>\n'
|
||||
% (page.code, page.menu_name[uri.lang]))
|
||||
box.write('</td></tr></table>\n')
|
||||
|
@ -806,28 +803,22 @@ class Tables:
|
|||
|
||||
def section_menus(self, uri):
|
||||
log(3, "Creating all section menus")
|
||||
box = ''
|
||||
box = WOStringIO('')
|
||||
keys = lampadasweb.sections.sort_by('sort_order')
|
||||
first_menu = 1
|
||||
menu_separator = ''
|
||||
for key in keys:
|
||||
section = lampadasweb.sections[key]
|
||||
if lampadasweb.static and (section.only_dynamic or section.dynamic_count==0):
|
||||
if lampadasweb.static and section.static_count==0:
|
||||
continue
|
||||
if section.only_registered or section.only_admin or section.only_sysadmin > 0:
|
||||
if sessions.session==None or section.registered_count==0:
|
||||
continue
|
||||
if section.only_admin > 0:
|
||||
if (sessions.session.user.admin==0 and sessions.session.user.sysadmin==0) or (section.admin_count==0):
|
||||
continue
|
||||
if section.only_sysadmin > 0:
|
||||
if sessions.session.user.sysadmin==0 or section.sysadmin_count==0:
|
||||
continue
|
||||
if first_menu==1:
|
||||
first_menu = 0
|
||||
else:
|
||||
box = box + '<p>'
|
||||
box = box + self.section_menu(uri, section.code)
|
||||
return box
|
||||
if section.nonregistered_count==0 and (sessions.session==None):
|
||||
continue
|
||||
if section.nonadmin_count==0 and (sessions.session==None or sessions.session.user.admin==0):
|
||||
continue
|
||||
if section.nonsysadmin_count==0 and (sessions.session==None or sessions.session.user.sysadmin==0):
|
||||
continue
|
||||
box.write(menu_separator + self.section_menu(uri, section.code))
|
||||
menu_separator = '<p>'
|
||||
return box.get_value()
|
||||
|
||||
def sitemap(self, uri):
|
||||
log(3, 'Creating sitemap')
|
||||
|
|
|
@ -69,7 +69,7 @@ class Sections(LampadasCollection):
|
|||
|
||||
def __init__(self):
|
||||
self.data = {}
|
||||
sql = "SELECT section_code, sort_order, only_dynamic, only_registered, only_admin, only_sysadmin FROM section"
|
||||
sql = "SELECT section_code, sort_order FROM section"
|
||||
cursor = db.select(sql)
|
||||
while (1):
|
||||
row = cursor.fetchone()
|
||||
|
@ -86,14 +86,11 @@ class Section:
|
|||
def load_row(self, row):
|
||||
self.code = trim(row[0])
|
||||
self.sort_order = safeint(row[1])
|
||||
self.only_dynamic = tf2bool(row[2])
|
||||
self.only_registered = tf2bool(row[3])
|
||||
self.only_admin = tf2bool(row[4])
|
||||
self.only_sysadmin = tf2bool(row[5])
|
||||
self.dynamic_count = int(db.read_value('SELECT COUNT(*) FROM page WHERE only_dynamic'))
|
||||
self.registered_count = int(db.read_value('SELECT COUNT(*) FROM page WHERE only_registered or only_admin or only_sysadmin'))
|
||||
self.admin_count = int(db.read_value('SELECT COUNT(*) FROM page WHERE only_admin or only_sysadmin'))
|
||||
self.sysadmin_count = int(db.read_value('SELECT COUNT(*) FROM page WHERE only_sysadmin'))
|
||||
self.static_count = int(db.read_value('SELECT COUNT(*) FROM page WHERE section_code=' + wsq(self.code) + ' AND only_dynamic=' + wsq('f') + ''))
|
||||
self.nonregistered_count = int(db.read_value('SELECT COUNT(*) FROM page WHERE section_code=' + wsq(self.code) + ' AND only_registered=' + wsq('f') + ' AND only_admin=' + wsq('f') + ' AND only_sysadmin=' + wsq('f') + ''))
|
||||
self.nonadmin_count = int(db.read_value('SELECT COUNT(*) FROM page WHERE section_code=' + wsq(self.code) + ' AND only_admin=' + wsq('f') + ' AND only_sysadmin=' + wsq('f') + ''))
|
||||
self.nonsysadmin_count = int(db.read_value('SELECT COUNT(*) FROM page WHERE section_code=' + wsq(self.code) + ' AND only_sysadmin=' + wsq('f') + ''))
|
||||
print self.code + ': ' + str(self.nonregistered_count) + ', ' + str(self.nonsysadmin_count) + ', ' + str(self.nonadmin_count)
|
||||
sql = "SELECT lang, section_name FROM section_i18n WHERE section_code=" + wsq(self.code)
|
||||
cursor = db.select(sql)
|
||||
while (1):
|
||||
|
|
Loading…
Reference in New Issue