codefayakun/yii2-harvest

简单的计时跟踪、快速的在线发票和强大的报告软件。简化员工工时表和计费。

dev-master 2018-03-25 22:03 UTC

This package is not auto-updated.

Last update: 2024-09-29 05:27:43 UTC


README

简单的计时跟踪、快速的在线发票和强大的报告软件。简化员工工时表和计费。这是与harvest api交互的示例实用程序。它完全是我个人使用的。我将在未来使其更有用。

安装

安装此扩展的首选方式是通过 composer

运行以下命令之一:

php composer.phar require --prefer-dist codefayakun/yii2-harvest "*"

或尝试

php composer.phar require  codefayakun/yii2-harvest "dev-master"

或将以下内容添加到您的 composer.json 文件的require部分:

"codefayakun/yii2-harvest": "*"

使用方法

扩展安装完成后,只需在您的代码中使用它:将其添加到配置组件数组中

'harvest'=> [
    'class'          => 'codefayakun\yii2-harvest\Harvest',
    'account_id'     => 'YOUR_ACCOUNT_ID',
    'access_token'   => 'YOUR_SECRET',
    'user_agent'     => 'APP (example@email.com)'
],
?>
<?php 
    // Get Current user information..
    $result = \Yii::$app->harvest->getInfo('me');
    print_r($result->response);

    Other GET functions you can called.

    // get listing

    \Yii::$app->harvest->listUsers();
    \Yii::$app->harvest->listTasks();
    \Yii::$app->harvest->listProjects();
    \Yii::$app->harvest->listClients();
    \Yii::$app->harvest->listContacts();
    \Yii::$app->harvest->listTimeEntries();

    // get single record base on ID.

    \Yii::$app->harvest->getCompany();
    \Yii::$app->harvest->getUser($id);
    \Yii::$app->harvest->getTask($id);
    \Yii::$app->harvest->getProject($id);
    \Yii::$app->harvest->getClient($id);
    \Yii::$app->harvest->getContact($id);
    \Yii::$app->harvest->getTimeEntry($id);

    // Create Client 
    $data = array(
            'name' => 'Jon'
        );
     \Yii::$app->harvest->createClient($data);

    // Update client
     \Yii::$app->harvest->updateClient($id,$data);


    // Create Project 
    $data = array(
            'client_id'=>'clientId',
            'name'=>'New Project',
            'is_billable'=>true,
            'bill_by'=>"Project",
            'budget'=>true,
            'budget_by'=>true,
            'hourly_rate'=>true
        );
     \Yii::$app->harvest->createProject($data);

    // Update Project
     \Yii::$app->harvest->updateProject($id,$data);

    // similar we have for data format you can pass to these method. you can visit official site. 

     \Yii::$app->harvest->createTask();
     \Yii::$app->harvest->updateTask();
     \Yii::$app->harvest->createUser();
     \Yii::$app->harvest->updateUser();
     \Yii::$app->harvest->createTimeEntry();
     \Yii::$app->harvest->updateTimeEntry();
     \Yii::$app->harvest->createContact();
     \Yii::$app->harvest->updateContact();

     // delete methods
     
     \Yii::$app->harvest->deleteClient($id);
     \Yii::$app->harvest->deleteTask($id);
     \Yii::$app->harvest->deleteTimeEntry($id);
     \Yii::$app->harvest->deleteContact($id);
     \Yii::$app->harvest->deleteProject($id);
 ?>