2017-07-29 58 views
1

我一直在我的撇號網站中添加事件註冊人功能。我創建了一個新的「領頭羊」組,如果用戶是組的一部分,該活動頁面應該顯示當前的註冊計數的表/基本信息:模板數據權限

{% for reg in data.piece.registrants %} 
    {% set count = count + reg.attendeeCount %} 
     <tr> 
     <td>{{reg._user.firstName}} {{reg._user.lastName}}</td> 
     <td>{{reg.attendeeCount}}</td> 
     </tr> 
    {% endfor %} 
    <tr class="total-registrant-row"> 
     <td>Total</td> 
     <td></td> 
     <td></td> 
     <td>{{count}}</td> 

我添加了一個註冊人陣apostrophe-事件,它本身包含一個連接到用戶:

addFields: [ 
    { 
     name: 'registrants', 
     label: 'Registrants', 
     type: 'array', 
     schema: [ 
      { 
       name: '_user', 
       withType: 'apostrophe-user', 
       type: 'joinByOne', 
       idField: 'userId', 
       filters: { 
        // Fetch only basic information to show in table: 
        projection: { 
         id: 1, 
         username: 1, 
         firstName: 1, 
         lastName: 1, 
         email: 1 
        } 
       } 
      }, 
      { 
       name: 'registrationDate', 
       label: 'Registration Date', 
       contextual: true, 
       type: 'string' 
      }, 
      { 
       name: 'attendeeCount', 
       label: 'Total Attendees', 
       type: 'integer' 
      } 
     ] 
    } 
] 

我注意到,當我登錄的管理員,這個工作正常,但如果我登錄的領導者組中的用戶(誰不是一個管理員),計數會顯示,但不是用戶信息。我假設這是因爲領導小組沒有獲得任何用戶的權限。我將如何設置它以便模板繞過此例中的權限,或者讓領導者有權查看任何註冊事件的用戶的信息?

謝謝!

回答

2

您可以使用您的filters財產聯接調用任何光標的方法,包括permission,您可以設置爲false,讓用戶可以獲取而不考慮當前用戶的權限:

filters: { 
    // Fetch only basic information to show in table: 
    projection: { 
    id: 1, 
    username: 1, 
    firstName: 1, 
    lastName: 1, 
    email: 1 
    }, 
    // Ignore permissions for this join: 
    permission: false 
} 

```