fix: Prevent importing calendar tasks if coming from taskwarrior cli

This commit is contained in:
Aerex 2020-07-31 02:41:04 -05:00
parent f63e2d0e2e
commit bf9a55de0e
2 changed files with 9 additions and 6 deletions

View File

@ -6,10 +6,10 @@ composer require aerex/baikal-storage-plugin
```
## Configuration
Copy sample configuration to your baikal installation. Make sure that the folder is *writable* by your webserver (e.g Apache, Nginx)
Create the `config.yaml` to your webserver. Make sure the file is *writable* by your webserver (e.g Apache, Nginx). For more details on the configuration details see the wiki page.
## Usage
- Add the plugin to `Core/Frameworks/Baikal/Core/Server.php`
```
$this->server->addPlugin(new \Aerex\BaikalStorage\Plugin(<path-of-config-file>))
$this->server->addPlugin(new \Aerex\BaikalStorage\Plugin(<absolute/path/of/config/file>))
```

View File

@ -117,6 +117,7 @@ class Plugin extends ServerPlugin {
/**
* This method handles the PUT method.
*
@ -127,12 +128,14 @@ class Plugin extends ServerPlugin {
function httpPut(RequestInterface $request){
$body = $request->getBodyAsString();
$vCal = \Sabre\VObject\Reader::read($body);
try {
$this->storageManager->import($vCal);
} catch(BadRequest $e){
if (!stristr($vCal->PRODID, 'taskwarrior')) {
try {
$this->storageManager->import($vCal);
} catch(BadRequest $e){
throw new BadRequest($e->getMessage(), null, $e);
} catch(\Exception $e){
} catch(\Exception $e){
throw new \Exception($e->getMessage(), null, $e);
}
}
$request->setBody($body);