/**
  * [processRoadmapWorklogs - process withstanding roadmap logs]
  * @return [array] [the roadmap entries]
  */
 public static function processRoadmapWorklogs()
 {
     // dates
     $today = date("Ymd");
     $yesterday = date("Ymd", strtotime("yesterday"));
     // time entries
     $roadmap_project_id = Config::get('eenvoudcrm.main_roadmap_project_id');
     list($worklog_entries_status, $worklog_entries) = IntegrationRoadmapController::getProjectWorklogEntries($roadmap_project_id, $yesterday, $today);
     if ($worklog_entries_status) {
         // foreach of the entries create a new worklog and save it
         foreach ($worklog_entries as $key => $value) {
             // check if this ID is unique
             $roadmap_id = $value->ID;
             $roadmap_worklogs = Werklog::where('roadmap_id', '=', $roadmap_id)->first();
             if (!$roadmap_worklogs) {
                 $worklog = new Werklog();
                 $date = explode("T", $value->Date, 2);
                 $worklog->date = $date[0];
                 $worklog->roadmap_id = (int) $value->ID;
                 // default project and company ID
                 $worklog->project_id = null;
                 $worklog->company_id = Config::get('eenvoudcrm.default_company_id');
                 //mail('*****@*****.**', 'resource_id', $value->Resource->ID);
                 $user = User::where('roadmap_resource_id', '=', $value->Resource->ID)->first();
                 if ($user) {
                     $worklog->user_id = $user->id;
                 } else {
                     $worklog->user_id = Config::get('eenvoudcrm.default_user_id');
                 }
                 $worklog->minutes = round((double) $value->Time * 60.0);
                 $worklog->description = $value->Description;
                 $worklog->billable = 1;
                 $worklog->processed = 0;
                 $worklog->save();
             } else {
                 error_log('Roadmap worklogs: Skipping duplicated entry ' . $roadmap_id);
             }
         }
         return $worklog_entries;
     }
     return false;
 }
Example #2
0
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function fire()
 {
     //
     IntegrationRoadmapController::processRoadmapWorklogs();
 }
Example #3
0
 /**
  * [roadmapFetch - Fetches withstanding roadmap entries]
  * @return [json] [description]
  */
 public function roadmapFetch()
 {
     $status = IntegrationRoadmapController::processRoadmapWorklogs();
     return Response::json((object) null);
 }