/**
  * get Timesheet (create timeaccount as well)
  *
  * @param array fields data
  * @param boolean force creation of the record
  * @return Timetracker_Model_Timesheet
  */
 protected function _getTimesheet($_data = array(), $_forceCreation = false)
 {
     $defaultData = array('account_id' => Tinebase_Core::getUser()->getId(), 'description' => 'blabla', 'duration' => 30, 'timeaccount_id' => NULL, 'start_date' => NULL);
     $data = array_replace($defaultData, $_data);
     if ($data['timeaccount_id'] === NULL) {
         $timeaccount = Timetracker_Controller_Timeaccount::getInstance()->create($this->_getTimeaccount());
         $data['timeaccount_id'] = $timeaccount->getId();
     }
     if ($data['start_date'] === NULL) {
         $data['start_date'] = Tinebase_DateTime::now()->toString('Y-m-d');
     }
     $ts = new Timetracker_Model_Timesheet($data, TRUE);
     if ($_forceCreation) {
         $tsRec = $this->_json->saveTimesheet($ts->toArray());
         $this->_lastCreatedRecord = $tsRec;
     }
     return $ts;
 }