Skip to content

Commit 6211a46

Browse files
committed
add menu_group and sidebar_links options
1 parent e8f8900 commit 6211a46

File tree

2 files changed

+37
-15
lines changed

2 files changed

+37
-15
lines changed

app/main.py

Lines changed: 34 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
with open("config.yaml") as stream:
2121
try:
2222
admin_config = yaml.safe_load(stream)
23-
BASE_CONFIG = admin_config["tables"]
23+
BASE_CONFIG = admin_config.get("tables")
2424
except yaml.YAMLError as exc:
2525
raise exc
2626

@@ -82,22 +82,41 @@ async def main():
8282
admin_tables = []
8383
for table in found_tables:
8484
capitalize_table_name = table._meta.tablename.capitalize()
85+
# visible columns
86+
try:
87+
visible_columns = [
88+
column
89+
for column in table._meta.columns
90+
if column._meta.name
91+
in BASE_CONFIG[capitalize_table_name].get(
92+
"visible_columns", None
93+
)
94+
]
95+
except TypeError:
96+
visible_columns = None
97+
# visible filters
98+
try:
99+
visible_filters = [
100+
column
101+
for column in table._meta.columns
102+
if column._meta.name
103+
in BASE_CONFIG[capitalize_table_name].get(
104+
"visible_filters", None
105+
)
106+
]
107+
except TypeError:
108+
visible_filters = None
109+
# menu_group
110+
menu_group = BASE_CONFIG[capitalize_table_name].get(
111+
"menu_group", None
112+
)
113+
85114
admin_tables.append(
86115
TableConfig(
87116
table_class=table,
88-
visible_columns=[
89-
column
90-
for column in table._meta.columns
91-
if column._meta.name
92-
in BASE_CONFIG[capitalize_table_name]["visible_columns"]
93-
],
94-
visible_filters=[
95-
column
96-
for column in table._meta.columns
97-
if column._meta.name
98-
in BASE_CONFIG[capitalize_table_name]["visible_filters"]
99-
],
100-
menu_group=BASE_CONFIG[capitalize_table_name]["menu_group"],
117+
visible_columns=visible_columns,
118+
visible_filters=visible_filters,
119+
menu_group=menu_group,
101120
)
102121
)
103122
else:
@@ -125,6 +144,7 @@ async def main():
125144
secret_table=AuthenticatorSecret,
126145
),
127146
],
147+
sidebar_links=admin_config.get("sidebar_links", None),
128148
)
129149

130150
# Server

config.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,5 +33,7 @@ tables:
3333
# visible_filters:
3434
# - country_id
3535
# - country
36-
# menu_group: Location
3736

37+
sidebar_links:
38+
# Piccolo Admin: https://piccolo-admin.readthedocs.io/en/latest/index.html
39+
# Piccolo ORM: https://piccolo-orm.readthedocs.io/en/latest/index.html

0 commit comments

Comments
 (0)