Skip to content

Commit 83d5c17

Browse files
ptamaritslint
authored andcommitted
fix: community theme and menus visibility
1 parent 593cd38 commit 83d5c17

File tree

2 files changed

+19
-5
lines changed

2 files changed

+19
-5
lines changed

invenio_communities/ext.py

+12-5
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,11 @@
3636
from .cache.cache import IdentityCache
3737
from .roles import RoleRegistry
3838
from .utils import load_community_needs, on_datastore_post_commit
39-
from .views.ui import _can_create_community
39+
from .views.ui import (
40+
_has_about_page_content,
41+
_has_curation_policy_page_content,
42+
_show_create_community_link,
43+
)
4044

4145

4246
class InvenioCommunities(object):
@@ -132,8 +136,8 @@ def register_menus(app):
132136
current_menu.submenu("plus.community").register(
133137
endpoint="invenio_communities.communities_new",
134138
text=_("New community"),
135-
order=3,
136-
visible_when=_can_create_community,
139+
order=2,
140+
visible_when=_show_create_community_link,
137141
)
138142

139143
communities = current_menu.submenu("communities")
@@ -143,14 +147,14 @@ def register_menus(app):
143147
text=_("Requests"),
144148
order=20,
145149
expected_args=["pid_value"],
146-
**{"icon": "comments", "permissions": "can_search_requests"}
150+
**{"icon": "inbox", "permissions": "can_search_requests"}
147151
)
148152
communities.submenu("members").register(
149153
endpoint="invenio_communities.members",
150154
text=_("Members"),
151155
order=30,
152156
expected_args=["pid_value"],
153-
**{"icon": "users", "permissions": "can_read"}
157+
**{"icon": "users", "permissions": "can_members_search_public"}
154158
)
155159

156160
communities.submenu("settings").register(
@@ -160,17 +164,20 @@ def register_menus(app):
160164
expected_args=["pid_value"],
161165
**{"icon": "settings", "permissions": "can_update"}
162166
)
167+
163168
communities.submenu("curation_policy").register(
164169
endpoint="invenio_communities.communities_curation_policy",
165170
text=_("Curation policy"),
166171
order=50,
172+
visible_when=_has_curation_policy_page_content,
167173
expected_args=["pid_value"],
168174
**{"icon": "balance scale", "permissions": "can_read"}
169175
)
170176
communities.submenu("about").register(
171177
endpoint="invenio_communities.communities_about",
172178
text=_("About"),
173179
order=60,
180+
visible_when=_has_about_page_content,
174181
expected_args=["pid_value"],
175182
**{"icon": "info", "permissions": "can_read"}
176183
)

invenio_communities/views/ui.py

+7
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
communities_settings_curation_policy,
3838
communities_settings_pages,
3939
communities_settings_privileges,
40+
community_theme_css_config,
4041
invitations,
4142
members,
4243
)
@@ -191,6 +192,12 @@ def create_ui_blueprint(app):
191192

192193
blueprint.add_url_rule(routes["invitations"], view_func=invitations)
193194

195+
# theme injection view
196+
blueprint.add_url_rule(
197+
"/communities/<pid_value>/community-theme-<revision>.css",
198+
view_func=community_theme_css_config,
199+
)
200+
194201
# Register error handlers
195202
blueprint.register_error_handler(
196203
PermissionDeniedError, record_permission_denied_error

0 commit comments

Comments
 (0)