Add getTimezone() procedure to the API

This commit is contained in:
Frédéric Guillot
2014-11-30 19:43:34 -05:00
parent 4bba5be037
commit 81df6a36b4
3 changed files with 41 additions and 0 deletions

View File

@@ -144,6 +144,33 @@ Array
Procedures Procedures
---------- ----------
### getTimezone
- Purpose: **Get the application timezone**
- Parameters: none
- Result on success: **Timezone** (Example: UTC, Europe/Paris)
- Result on failure: **Default timezone** (UTC)
Request example:
```json
{
"jsonrpc": "2.0",
"method": "getTimezone",
"id": 1661138292
}
```
Response example:
```json
{
"jsonrpc": "2.0",
"id": 1661138292,
"result": "Europe\/Paris"
}
```
### createProject ### createProject
- Purpose: **Create a new project** - Purpose: **Create a new project**

View File

@@ -337,6 +337,13 @@ $server->register('updateSubtask', function($id, $task_id, $title = null, $user_
return $valid && $subTaskModel->update($values); return $valid && $subTaskModel->update($values);
}); });
/**
* Application procedures
*/
$server->register('getTimezone', function() use($configModel) {
return $configModel->get('application_timezone');
});
/** /**
* Parse incoming requests * Parse incoming requests
*/ */

View File

@@ -29,6 +29,7 @@ class Api extends PHPUnit_Framework_TestCase
$service->getInstance(); $service->getInstance();
$pdo->exec("UPDATE settings SET value='".API_KEY."' WHERE option='api_token'"); $pdo->exec("UPDATE settings SET value='".API_KEY."' WHERE option='api_token'");
$pdo->exec("UPDATE settings SET value='Europe/Paris' WHERE option='application_timezone'");
$pdo = null; $pdo = null;
} }
@@ -48,6 +49,12 @@ class Api extends PHPUnit_Framework_TestCase
return $tasks[0]['id']; return $tasks[0]['id'];
} }
public function testGetTimezone()
{
$timezone = $this->client->getTimezone();
$this->assertEquals('Europe/Paris', $timezone);
}
public function testRemoveAll() public function testRemoveAll()
{ {
$projects = $this->client->getAllProjects(); $projects = $this->client->getAllProjects();