teamwork.com-project-management icon indicating copy to clipboard operation
teamwork.com-project-management copied to clipboard

Documentation Examples needed for GET

Open jcandan opened this issue 11 years ago • 4 comments

I'm having trouble getting a list of Projects and other Teamwork objects.

    TeamWorkPm\Auth::set(API_KEY);
    $projects = TeamWorkPm\Project::getAll();

returns the following error:

Fatal error: Using $this when not in object context in /Users/jcandan/Sites/PHP/Spartan/ssportal/sites/all/libraries/teamwork/src/Project.php on line 58

After which I tried:

    TeamWorkPm\Auth::set(API_KEY);
    $project = new TeamWorkPm\Project;
    $projects = $project->getAll();

and got the following error:

Fatal error: Call to private TeamWorkPm\Rest\Model::__construct() from invalid context in /Users/jcandan/Sites/PHP/Spartan/ssportal/sites/all/modules/custom/teamworkpm/teamworkpm.projects.inc on line 15

What am I doing wrong?

jcandan avatar Jun 24 '14 15:06 jcandan

This is the right way

TeamWorkPm\Auth::set(API_KEY);
$project  = TeamWorkPm\Factory::build('project')
$projects = $project->getAll();

loduis avatar Jul 01 '14 11:07 loduis

Other way:

TeamWorkPm\Auth::set(API_KEY);
list($company, $key) = TeamWorkPm\Auth::get();
$project = TeamWorkPm\Project::getInstance($company, $key);
$projects = $project->getAll();

loduis avatar Jul 01 '14 11:07 loduis

Awesome, yeah I finally saw a glimpse of that in examples/save_data.php. I missed it because I saw 'build' and thought that was another CREATE example.

So, I do have one other question: How does one get a single object? Here's what I've tried:

    TeamWorkPm\Auth::set(API_KEY);
    $projects = TeamWorkPm\Factory::build('project');
    $data = $projects->getAll(array($project_id));

jcandan avatar Jul 01 '14 13:07 jcandan

Hi this is the main source for Project class:

https://github.com/loduis/TeamWorkPmPhpApi/blob/master/src/Model.php https://github.com/loduis/TeamWorkPmPhpApi/blob/master/src/Project.php Here is a get method

TeamWorkPm\Auth::set(API_KEY);
$project = TeamWorkPm\Factory::build('project');
$data = $project->get($project_id);

loduis avatar Jul 02 '14 09:07 loduis