@@ -168,11 +168,7 @@ function add_sub_admin_role() {
168
168
array ()
169
169
);
170
170
if (null !== $ result ) {
171
- $ sub_admin = get_role (CCGN_USER_ROLE_SUB_ADMIN );
172
- $ sub_admin ->add_cap ('ccgn_view_applications ' );
173
- $ sub_admin ->add_cap ('ccgn_list_applications ' );
174
- $ sub_admin ->add_cap ('ccgn_sub_admin_view ' );
175
- $ sub_admin ->add_cap ('ccgn_list_applications_legal ' );
171
+ ccgn_ensure_sub_admin_capabilities ();
176
172
}
177
173
$ council = get_role (CCGN_USER_ROLE_MEMBERSHIP_COUNCIL );
178
174
$ approver = get_role (CCGN_USER_ROLE_FINAL_APPROVER );
@@ -182,6 +178,28 @@ function add_sub_admin_role() {
182
178
$ approver ->add_cap ('ccgn_sub_admin_view ' );
183
179
$ legal ->add_cap ('ccgn_sub_admin_view ' );
184
180
}
181
+ function ccgn_ensure_sub_admin_capabilities () {
182
+ $ sub_admin = get_role (CCGN_USER_ROLE_SUB_ADMIN );
183
+ $ sub_admin ->add_cap ('ccgn_view_applications ' );
184
+ $ sub_admin ->add_cap ('ccgn_list_applications ' );
185
+ $ sub_admin ->add_cap ('ccgn_sub_admin_view ' );
186
+ $ sub_admin ->add_cap ('ccgn_list_applications_legal ' );
187
+ //admin chapters
188
+ $ sub_admin ->add_cap ('edit_cc_chapters ' );
189
+ $ sub_admin ->add_cap ('read_cc_chapters ' );
190
+ $ sub_admin ->add_cap ('delete_cc_chapters ' );
191
+ $ sub_admin ->add_cap ('edit_others_cc_chapters ' );
192
+ $ sub_admin ->add_cap ('publish_cc_chapters ' );
193
+ $ sub_admin ->add_cap ('read_private_cc_chapters ' );
194
+ $ sub_admin ->add_cap ('delete_private_cc_chapters ' );
195
+ $ sub_admin ->add_cap ('edit_cc_chapters ' );
196
+ $ sub_admin ->add_cap ('delete_published_cc_chapters ' );
197
+ $ sub_admin ->add_cap ('delete_others_cc_chapters ' );
198
+ $ sub_admin ->add_cap ('edit_private_cc_chapters ' );
199
+ $ sub_admin ->add_cap ('edit_published_cc_chapters ' );
200
+
201
+ $ sub_admin ->add_cap ( 'edit_theme_options ' );
202
+ }
185
203
function ccgn_user_is_new ( $ user_id ) {
186
204
$ new = true ;
187
205
$ user = get_user_by ( 'ID ' , $ user_id );
0 commit comments