File: D:/HostingSpaces/SBogers10/ehboledensysteem.komma.pro/app/KommaApp/Users/Kms/UserController.php
<?php
/**
*
* @author Komma <info@komma.pro>
* @copyright (c) 2012-2016, Komma
*/
namespace App\KommaApp\Users\Kms;
use App\KommaApp\Competences\Kms\CompetenceService;
use App\KommaApp\Competences\Models\Competence;
use App\KommaApp\Courses\Models\Course;
use App\KommaApp\Kms\Core\SectionController;
use App\KommaApp\Users\Models\User;
use App\Mail\SendNewEventsNotificationMail;
use Carbon\Carbon;
use Illuminate\Http\JsonResponse;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Mail;
class UserController extends SectionController
{
protected $slug = "user";
protected $forModelName = User::class;
function __construct(UserSection $section)
{
parent::__construct($section);
}
public function show($model)
{
// $this->reUpdateExpirationDates();
return parent::show($model); // TODO: Change the autogenerated stub
}
public function sendUserNewEventsUpdate()
{
if(app()->environment() == 'development') {
$user = User::find(1);
Mail::to($user->email)->send(new SendNewEventsNotificationMail($user));
return redirect(route('users.index', ['sended' => 'true']));
}
User::chunk(10, function ($users){
foreach ($users as $user) {
Mail::to($user->email)->send(new SendNewEventsNotificationMail($user));
}
});
return redirect(route('users.index', ['sended' => 'true']));
}
/**
* Some logic we have used to re update the expiration dates because of a bug in calculateNextExpirationDateForCompetence
*/
private function reUpdateExpirationDates()
{
User::chunk(10, function ($users){
/** @var CompetenceService $competenceService */
$competenceService = \App::make(CompetenceService::class);
foreach ($users as $user) {
$competences = $user->competences;
foreach ($competences as $competence) {
$acquired_at_date = Carbon::createFromFormat(Carbon::DEFAULT_TO_STRING_FORMAT, $competence->pivot->acquired_at);
$expirationDate = $competenceService->calculateNextExpirationDateForCompetence($competence, $acquired_at_date);
if($competence->pivot->expires_at !== $expirationDate->format(Carbon::DEFAULT_TO_STRING_FORMAT)) {
if( $competence->renew_interval == Competence::RenewEachHalfYear) $renewIntervalString = 'elk half jaar - interval 1';
if( $competence->renew_interval == Competence::RenewEachYear) $renewIntervalString = 'elk jaar - interval 2';
if( $competence->renew_interval == Competence::RenewEachTwoYear) $renewIntervalString = 'elke twee jaar - interval 3';
Log::info('OEPS!');
Log::info('User: ' . $user->first_name .' ' . $user->last_name . ' - ' . $user->id);
Log::info('Component: ' . $competence->translation->name);
Log::info('Behaald op: ' . $competence->pivot->acquired_at);
Log::info('Vervalt op: ' . $competence->pivot->expires_at);
Log::info('Interval ' . $renewIntervalString);
Log::info('Zou moeten vervallen op: ' . $expirationDate);
Log::info('');
}
}
}
});
}
}