dcodegroup / laravel-xero-employee
此包提供与Xero关联用户的基本功能
0.1.11
2023-12-19 00:52 UTC
Requires
- php: ^7.4|^8.0
- dcodegroup/laravel-xero-oauth: ^1.0
- dcodegroup/laravel-xero-payroll-au: ^0.1
- laravel/framework: ^7.0|^8.0|^9.0|^10.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
- laravel/pint: ^1.13
README
此包提供标准Xero功能,用于同步Xero员工ID与用户,并将工资率分配给用户。
安装
您可以通过composer安装此包。
composer require dcodegroup/laravel-xero-employee
然后运行安装命令。
php artsian laravel-xero-employee:install
这将发布配置和迁移文件
运行迁移
php artsian migrate
配置
在运行安装后,以下字段将被添加到用户表中。
- xero_employee_id
- xero_default_earnings_rate_id
- xero_time_and_a_half_earnings_rate_id
- xero_double_time_earnings_rate_id
您需要将这些字段添加到User::class
模型中的fillable数组中。
/** * The attributes that are mass assignable. * * @var string[] */ protected $fillable = [ 'xero_employee_id', 'xero_default_payroll_calendar_id', 'xero_default_earnings_rate_id', 'xero_time_and_a_half_earnings_rate_id', 'xero_double_time_earnings_rate_id', ... ];
您还需要将以下接口添加到User::class
模型中。
use Dcodegroup\LaravelXeroEmployee\Contracts\XeroEmployeeUserMappings; class User extends Authenticatable implements XeroEmployeeUserMappings { ...
然后您应该实现合同中定义的方法。例如如下,但根据您的情况使用
public function getXeroEmployeeNameAttribute(): string { //return $this->name; //return $this->first_name . ' ' . $this->last_name; return $this->prefered_name; }
假设您已经从dcodegroup/laravel-xero-payroll-au同步了工资单详情。
您还可以使用第二个命令来自动填充已添加的收益率字段,使其默认为dcodegroup/laravel-xero-payroll-au中已配置的值。您可以多次运行此命令,因为它只会更新那些没有值的用户。
您应该在用户模型中添加以下特质。
class User extends Authenticatable { use UsesXeroEmployee;
此包提供了一条路由,可用于提供用于调度SyncXeroEmployee作业的端点。
[example.com/xero-employee/{user}] xero_employee.sync 请查看配置文件,如果您希望自定义路由。这将调度作业以使用户同步到您的应用程序。