Making WordPress.org

Changeset 13757

Timestamp:
05/29/2024 09:54:18 AM (2 months ago)
Author:
akirk
Message:

wporg-gp-customizations: Allow GTEs only to create translation events

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/inc/class-plugin.php

    r13756 r13757  
    111111        add_filter( 'gp_translation_sets_sort', [ $this, 'filter_gp_translation_sets_sort' ] );
    112112
    113         // CRUD permission for the translation events.
    114         add_filter( 'gp_translation_events_can_crud_event', array( $this, 'gp_translation_events_can_crud_event' ), 10, 1 );
     113        // permission for the translation events.
     114        add_filter( ' );
    115115
    116116        // Add site tour items.
     
    816816
    817817    /**
    818      * Filter the permission to CRUD events for the user.
     818     * Filter the permission to events for the user.
    819819     *
    820820     * wp-org-translation-events plugin.
    821821     *
    822      * @param bool $can_crud_event Whether the user can CRUD events.
    823      *
    824      * @return bool Whether the user can CRUD events.
    825      */
    826     public function gp_translation_events_can_crud_event( bool $can_crud_event ): bool {
    827         $user = wp_get_current_user();
    828 
    829         if ( GP::$permission->user_can( $user, 'admin' ) ) {
    830             return true;
    831         }
    832         if ( current_user_can( 'manage_options' ) ) {
    833             return true;
    834         }
    835         if ( self::is_user_a_wporg_gte( $user ) ) {
    836             return true;
    837         }
    838 
    839         return false;
     822     * @return array All caps the user has.
     823     */
     824    public function gp_translation_events_can_create_events( $allcaps, $caps, $args, $user ): array {
     825        if ( in_array( 'create_translation_event', $caps, true ) ) {
     826            if ( GP::$permission->user_can( $user, 'admin' ) ) {
     827                $allcaps['create_translation_event'] = true;
     828            } elseif ( current_user_can( 'manage_options' ) ) {
     829                $allcaps['create_translation_event'] = true;
     830            } elseif ( self::is_user_a_wporg_gte( $user ) ) {
     831                $allcaps['create_translation_event'] = true;
     832            }
     833        }
     834
     835        return $allcaps;
    840836    }
    841837
Note: See TracChangeset for help on using the changeset viewer.