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 ## 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 ## Usage
- Add the plugin to `Core/Frameworks/Baikal/Core/Server.php` - 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. * This method handles the PUT method.
* *
@ -127,12 +128,14 @@ class Plugin extends ServerPlugin {
function httpPut(RequestInterface $request){ function httpPut(RequestInterface $request){
$body = $request->getBodyAsString(); $body = $request->getBodyAsString();
$vCal = \Sabre\VObject\Reader::read($body); $vCal = \Sabre\VObject\Reader::read($body);
try { if (!stristr($vCal->PRODID, 'taskwarrior')) {
$this->storageManager->import($vCal); try {
} catch(BadRequest $e){ $this->storageManager->import($vCal);
} catch(BadRequest $e){
throw new BadRequest($e->getMessage(), null, $e); throw new BadRequest($e->getMessage(), null, $e);
} catch(\Exception $e){ } catch(\Exception $e){
throw new \Exception($e->getMessage(), null, $e); throw new \Exception($e->getMessage(), null, $e);
}
} }
$request->setBody($body); $request->setBody($body);