dcodegroup/laravel-xero-employee

此包提供与Xero关联用户的基本功能

0.1.11 2023-12-19 00:52 UTC

This package is auto-updated.

Last update: 2024-09-09 00:41:25 UTC


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 请查看配置文件,如果您希望自定义路由。这将调度作业以使用户同步到您的应用程序。