36
36
from .cache .cache import IdentityCache
37
37
from .roles import RoleRegistry
38
38
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
+ )
40
44
41
45
42
46
class InvenioCommunities (object ):
@@ -132,8 +136,8 @@ def register_menus(app):
132
136
current_menu .submenu ("plus.community" ).register (
133
137
endpoint = "invenio_communities.communities_new" ,
134
138
text = _ ("New community" ),
135
- order = 3 ,
136
- visible_when = _can_create_community ,
139
+ order = 2 ,
140
+ visible_when = _show_create_community_link ,
137
141
)
138
142
139
143
communities = current_menu .submenu ("communities" )
@@ -143,14 +147,14 @@ def register_menus(app):
143
147
text = _ ("Requests" ),
144
148
order = 20 ,
145
149
expected_args = ["pid_value" ],
146
- ** {"icon" : "comments " , "permissions" : "can_search_requests" }
150
+ ** {"icon" : "inbox " , "permissions" : "can_search_requests" }
147
151
)
148
152
communities .submenu ("members" ).register (
149
153
endpoint = "invenio_communities.members" ,
150
154
text = _ ("Members" ),
151
155
order = 30 ,
152
156
expected_args = ["pid_value" ],
153
- ** {"icon" : "users" , "permissions" : "can_read " }
157
+ ** {"icon" : "users" , "permissions" : "can_members_search_public " }
154
158
)
155
159
156
160
communities .submenu ("settings" ).register (
@@ -160,17 +164,20 @@ def register_menus(app):
160
164
expected_args = ["pid_value" ],
161
165
** {"icon" : "settings" , "permissions" : "can_update" }
162
166
)
167
+
163
168
communities .submenu ("curation_policy" ).register (
164
169
endpoint = "invenio_communities.communities_curation_policy" ,
165
170
text = _ ("Curation policy" ),
166
171
order = 50 ,
172
+ visible_when = _has_curation_policy_page_content ,
167
173
expected_args = ["pid_value" ],
168
174
** {"icon" : "balance scale" , "permissions" : "can_read" }
169
175
)
170
176
communities .submenu ("about" ).register (
171
177
endpoint = "invenio_communities.communities_about" ,
172
178
text = _ ("About" ),
173
179
order = 60 ,
180
+ visible_when = _has_about_page_content ,
174
181
expected_args = ["pid_value" ],
175
182
** {"icon" : "info" , "permissions" : "can_read" }
176
183
)
0 commit comments