管理一线经理的排班权限
排班中的一线经理是具有 团队所有者或计划所有者角色的用户。 他们为其团队创建和管理计划。 默认情况下,一线经理可以在排班中执行以下操作:
- 为其团队配置 排班设置 。 例如,一线经理可以打开时间时钟,并设置其团队中的一线员工是否可以换班和请求休假。
- 在排班中为其团队创建和管理计划组。 计划组用于根据团队中的共同特征(例如部门或作业类型)对一线员工进行分组。
根据组织的需求,可能需要限制一线经理可用于管理其团队计划的排班功能。 本文介绍如何使用 shiftsRoleDefinition Graph API 控制这些功能的权限。
排班中用于管理团队的一线经理功能
下表列出了排班中一线经理可用于管理团队的设置和计划组功能,并指示是否可以限制该功能。
设置/功能 | 说明 | 使用 shiftsRoleDefinition Graph API 控制权限 |
---|---|---|
团队时区 | 设置团队的时区和最近的城市。 | |
周开始时间 | 设置计划开始的星期几。 | |
复制班次 | 设置复制班次时是否自动包含班次活动。 | |
打开班次 | 打开或关闭创建和请求开放班次的功能。 | ✔️1 |
交换班次 | 打开或关闭工人相互交换班次的能力。 | ✔️1 |
产品/服务转移 | 打开或关闭员工向同事提供轮班的能力。 | ✔️1 |
休假请求 | 打开或关闭工作人员请求休假的能力。 | ✔️ |
休假原因 | 添加和编辑团队的休假原因。 | ✔️ |
时钟 | 为团队打开或关闭时钟。 | ✔️ |
时钟地理位置 | 定义时钟地理位置 (优先于时钟设置) | ✔️ |
过去班次的可见性 | 打开或关闭员工查看同事过去轮班的能力。 | |
休假的可见性 | 打开或关闭员工查看彼此的休假详细信息的能力。 | |
班次详细信息的可见性 | 打开或关闭员工查看彼此轮班详细信息的能力。 | |
管理计划组 | 添加、重命名和删除计划组。 | ✔️ |
管理计划组成员身份 | 从计划组添加和删除团队成员。 |
1可以通过 参数管理这三项功能 CanModifyShiftRequestsCapabilities
。
还可以使用 创建或替换计划 图形 API 来定义排班设置,并使用 创建计划组 图形 API 来管理计划组和成员身份。
示例方案
在 Contoso Ltd,部门经理直接向商店经理报告。 与部门经理相比,商店经理在公司内拥有更多的权限,角色分配方式如下:
- 应用商店经理是 Teams 中的团队所有者。
- 部门经理是 Teams 中的团队成员,在排班中安排所有者。
Contoso 回顾了一线经理的排班功能,并根据他们的业务需求确定了以下要求:
一线经理不应该选择他们的团队是否可以在排班中使用时钟
Contoso 决定暂时不使用排班中的时钟,因为他们希望一线员工使用店内工作站来打卡和下班。 这意味着他们需要:
- 删除商店经理 (团队所有者) 和部门经理的权限, (计划所有者) 更改其团队的时钟设置。
- 将所有团队的“排班时间”中的时钟设置设置为 “关闭 ”。
为此:
若要防止一线经理更改其团队的时钟设置,请使用 shiftsRoleDefinition Graph API,并从
allowedResourceActions
团队所有者角色的列表中删除CanModifyTimeClockCapabilities
参数,并使用排班计划每个团队的所有者角色。此示例显示了 Contoso Chicago 商店的团队所有者角色的权限, (团队 ID fb963991-69a8-4d2c-8465-cd8e374891c4) 。
请求
PATCH https://graph.microsoft.com/beta/teams/fb963991-69a8-4d2c-8465-cd8e374891c4/schedule/shiftsRoleDefinition/teamowner Content-Type: application/json { "shiftsRoleDefinition": [ { "allowedResourceActions": [ "CanModifyShiftRequestsCapabilities", "CanModifyTimeOffRequestsCapabilities", "CanModifySchedulingGroups", "CanModifyTimeOffReasons" ] } ] }
若要关闭所有团队的排班时钟,请使用 创建或替换日程安排 图形 API,并将
timeClockEnabled parameter
false
设置为 每个团队的 。在这里,Contoso Chicago 商店的时钟已关闭, (团队 ID fb963991-69a8-4d2c-8465-cd8e374891c4) 。
请求
PUT https://graph.microsoft.com/v1.0/teams/fb963991-69a8-4d2c-8465-cd8e374891c4/schedule Content-Type: application/json { "enabled": true, "timeZone": "America/Chicago”, "timeClockEnabled": false }
以下是在删除更改权限之前和之后,对于 Contoso 的商店经理和部门经理来说,排班中的时钟设置是怎样的。 删除其权限后,设置在排班中不可用。
部门经理不应选择是否可以在排班中添加和编辑休假原因
在 Contoso,添加和编辑休假原因由商店经理负责。 这意味着他们需要删除部门经理 (计划所有者的权限,) 在所有团队的排班中添加和编辑休假原因。
为此,请使用 shiftsRoleDefinition Graph API,并使用排班从allowedResourceActions
每个团队的计划所有者角色列表中删除 CanModifyTimeOffReasons
参数。
此示例显示 Contoso Chicago 商店的计划所有者角色的权限, (团队 ID fb963991-69a8-4d2c-8465-cd8e374891c4) 。
请求
PATCH https://graph.microsoft.com/beta/teams/fb963991-69a8-4d2c-8465-cd8e374891c4/schedule/shiftsRoleDefinition/scheduleowner
Content-Type: application/json
{
"shiftsRoleDefinition": [
{
"allowedResourceActions": [
"CanModifyShiftRequestsCapabilities",
"CanModifyTimeOffRequestsCapabilities",
"CanModifySchedulingGroups"
]
}
]
}
以下是在删除其使用权限之前和之后,Contoso 部门经理在班次中的休假原因选项的外观。 删除其权限后,选项在排班中不可用。