Roundmail::checkReminder automailing system
This commit is contained in:
parent
6aad1a7ab2
commit
1f5e056b7f
18 changed files with 269 additions and 116 deletions
|
|
@ -18,11 +18,12 @@ class Game extends Model
|
|||
$game = Game::find($game_id);
|
||||
|
||||
$now = Carbon\Carbon::now();
|
||||
$tipp_input_end = Carbon\Carbon::parse($game->kickoff)->addHour(-1);
|
||||
$tipp_input_end = $game->getLocktime($game);
|
||||
|
||||
return ($tipp_input_end <= $now);
|
||||
}
|
||||
|
||||
|
||||
public function hasResult() {
|
||||
|
||||
$game = $this;
|
||||
|
|
@ -30,6 +31,7 @@ class Game extends Model
|
|||
|
||||
}
|
||||
|
||||
|
||||
public static function has_result($game_id) {
|
||||
|
||||
$game = Game::where('id',$game_id)->first();
|
||||
|
|
@ -61,4 +63,11 @@ class Game extends Model
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public function getLocktime() {
|
||||
return Carbon\Carbon::parse($this->kickoff)->addHour(-1);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ namespace App\Http\Controllers;
|
|||
use App\Roundmail;
|
||||
use App\User;
|
||||
use App\Round;
|
||||
use App\Season;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
use App\Mail\RoundmailMailer;
|
||||
|
|
@ -30,7 +31,7 @@ class RoundmailController extends Controller
|
|||
$fields['topic'] = $mail_db->topic;
|
||||
|
||||
$sender = User::where('id','=',$mail_db->user_id)->first();
|
||||
$sender_name="(Gelöschter Anwender)";
|
||||
$sender_name="Automailer";
|
||||
if ($sender) { $sender_name=$sender->name; }
|
||||
$fields['sender'] = $sender_name;
|
||||
|
||||
|
|
@ -98,23 +99,30 @@ class RoundmailController extends Controller
|
|||
$missingTippMailList = implode(",",$missingTippMailList);
|
||||
$missingJokerMailList = implode(",",$missingJokerMailList);
|
||||
$adminMailList = implode(",",$adminMailList);
|
||||
|
||||
$tippSpielLink="http://hoschis-tippspiel.de/tipps#".Round::getFirstTippableRound()->id;
|
||||
$tippSpielLink = Round::getTippSpielLink();
|
||||
|
||||
$topic="";
|
||||
$mail_message="";
|
||||
$sender_name=Auth::user()->name;
|
||||
$sender_name="Automailer";
|
||||
$recipients="";
|
||||
$viewmode=false;
|
||||
if ($mail_id>-1) {
|
||||
$viewmode=true;
|
||||
|
||||
$mail = Roundmail::where('id','=',$mail_id)->first();
|
||||
|
||||
$send_date = $mail->send_date;
|
||||
$topic = $mail->topic;
|
||||
$mail_message = str_replace('<br/>','\n',$mail->message);
|
||||
|
||||
Log::info("Before:");
|
||||
Log::info($mail->message);
|
||||
//$mail_message = str_replace('<br/>','\n', $mail->message);
|
||||
$mail_message = $mail->message;
|
||||
Log::info("After:");
|
||||
Log::info($mail_message);
|
||||
$recipients = $mail->recipients;
|
||||
$sender = User::where('id','=',$mail->user_id)->first();
|
||||
$sender_name = $sender->name;
|
||||
if ($sender) {$sender_name = $sender->name;}
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -147,13 +155,20 @@ class RoundmailController extends Controller
|
|||
}
|
||||
*/
|
||||
|
||||
|
||||
$r = new RoundmailMailer();
|
||||
$r->user_id = Auth::user()->id;
|
||||
$r->sender_email = Auth::user()->email;
|
||||
$r->sender_name = Auth::user()->name;
|
||||
$r->send_date = Carbon\Carbon::now();
|
||||
$r->recipients = request('recipients');
|
||||
|
||||
Log::info("Recipients:".$r->recipients);
|
||||
|
||||
$r->topic = request('topic');
|
||||
$r->mail_message = str_replace("\n","<br/>", request('message'));
|
||||
$r->mail_message = str_replace("\r","",str_replace("\n","<br/>", request('message')));
|
||||
Log::info("Recipients:");
|
||||
Log::info($r->recipients);
|
||||
\Mail::to(explode(",",$r->recipients))->send($r);
|
||||
|
||||
// Die hier ist nur für die DB
|
||||
$rm = new RoundMail();
|
||||
|
|
@ -164,7 +179,7 @@ class RoundmailController extends Controller
|
|||
$rm->message=$r->mail_message;
|
||||
$rm->save();
|
||||
|
||||
\Mail::to(explode(",",$r->recipients))->send($r);
|
||||
|
||||
|
||||
// TODO: refactor, loop is also used in index method.
|
||||
// COPY/PASTE, please refactor!
|
||||
|
|
@ -177,7 +192,7 @@ class RoundmailController extends Controller
|
|||
$fields['topic'] = $mail_db->topic;
|
||||
|
||||
$sender = User::where('id','=',$mail_db->user_id)->first();
|
||||
$sender_name="(Gelöschter Anwender)";
|
||||
$sender_name="Automailer";
|
||||
if ($sender) { $sender_name=$sender->name; }
|
||||
$fields['sender'] = $sender_name;
|
||||
|
||||
|
|
@ -186,11 +201,58 @@ class RoundmailController extends Controller
|
|||
$mails=array_reverse($mails);
|
||||
|
||||
return view('roundmails.index',compact('mails'));
|
||||
|
||||
|
||||
}
|
||||
|
||||
public function checkReminder() {
|
||||
Log::info("RoundmailController::checkReminder was triggered");
|
||||
|
||||
$currentSeason = Season::getCurrent();
|
||||
$users = User::whereNull('deleted')->get();
|
||||
|
||||
Log::info("Usercount: ".sizeof($users));
|
||||
$emailsOfUsersWithIncompleteTipps=array();
|
||||
foreach($users as $user) {
|
||||
if (User::hasMissingTipp($user->id) || User::hasMissingJoker($user->id)) {
|
||||
if ($user->gets_reminders) {
|
||||
array_push($emailsOfUsersWithIncompleteTipps, $user->email);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$firstTippableRound = Round::getFirstTippableRound();
|
||||
if (!$firstTippableRound) {
|
||||
Log::info("RoundmailController::checkReminder: No tippable round detected, automailing aborted");
|
||||
return;
|
||||
}
|
||||
|
||||
$WARNING_HOURS_OFFSET=48;
|
||||
if (!$firstTippableRound->isInLockWarningTime($WARNING_HOURS_OFFSET)) {
|
||||
Log::info("RoundmailController->checkRemninder: skipping Reminder Mail because Lock is further away than ".$WARNING_HOURS_OFFSET." hours.");
|
||||
return;
|
||||
}
|
||||
|
||||
$roundLockTime = $firstTippableRound->getLockTime();
|
||||
|
||||
$r = new RoundmailMailer();
|
||||
$r->user_id = 0;
|
||||
$r->sender_email="info@hoschis-tippspiel.de";
|
||||
$r->sender_name="Hoschis Tippspiel";
|
||||
$r->send_date = Carbon\Carbon::now();
|
||||
$r->recipients = implode(",", $emailsOfUsersWithIncompleteTipps);
|
||||
$r->topic = "Fehlende Tipps/Joker";
|
||||
$r->mail_message = "Es fehlen noch Tipps/Joker für: " . $firstTippableRound->name . "<br/>Die Runde sperrt sich: " . $roundLockTime . "<br/><br/>Link zum Spiel: " . Round::getTippSpielLink();
|
||||
Log::info("Sending Reminder Mails");
|
||||
|
||||
\Mail::to($emailsOfUsersWithIncompleteTipps)->send($r);
|
||||
|
||||
// Die hier ist nur für die DB
|
||||
$rm = new RoundMail();
|
||||
$rm->send_date=$r->send_date;
|
||||
$rm->recipients=$r->recipients;
|
||||
$rm->user_id=$r->user_id;
|
||||
$rm->topic=$r->topic;
|
||||
$rm->message=$r->mail_message;
|
||||
$rm->save();
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -53,7 +53,13 @@ class UsersController extends Controller
|
|||
$nextRoundName="";
|
||||
$nextRound = Round::getFirstTippableRound();
|
||||
|
||||
if ($nextRound) { $nextRoundName = $nextRound->name; }
|
||||
$nextRoundLockTime = "";
|
||||
$diffToLock ="";
|
||||
if ($nextRound) {
|
||||
$nextRoundName = $nextRound->name;
|
||||
$nextRoundLockTime = $nextRound->getLockTime();
|
||||
$hourDiffToLock=$nextRoundLockTime->diffInHours(Carbon\Carbon::now());
|
||||
}
|
||||
|
||||
$user=Auth::user();
|
||||
$message_text_tipps="";
|
||||
|
|
@ -67,7 +73,7 @@ class UsersController extends Controller
|
|||
}
|
||||
}
|
||||
|
||||
return view('main',compact('roundname','display_rounds','message_text_joker','message_text_tipps','nextRoundName'));
|
||||
return view('main',compact('roundname','display_rounds','message_text_joker','message_text_tipps','nextRoundName','nextRoundLockTime', 'hourDiffToLock'));
|
||||
}
|
||||
|
||||
public function index() {
|
||||
|
|
@ -138,7 +144,7 @@ class UsersController extends Controller
|
|||
return view ('users.edit', compact('user','paid_date_str'));
|
||||
}
|
||||
|
||||
public function store() {
|
||||
public function store() {
|
||||
if (Auth::guest()) { return redirect("/"); }
|
||||
$season_id = Season::getCurrent()->id;
|
||||
// Validate form
|
||||
|
|
@ -294,64 +300,64 @@ class UsersController extends Controller
|
|||
if ($user_id==1) { Log::info("Dayscore round: ".$round_id." = ".$roundtipps[$key]['dayscore']);}
|
||||
if ($user_id==1) { Log::info("Rankscore round: ".$round_id." = ".$roundtipps[$key]['rankscore']);}
|
||||
|
||||
if (!array_key_exists($user_id, $rankingDisplay)) {
|
||||
$rankingDisplay[$user_id] = array();
|
||||
if (!array_key_exists($user_id, $rankingDisplay)) {
|
||||
$rankingDisplay[$user_id] = array();
|
||||
|
||||
$rankingDisplay[$user_id]["user_id"] = $user_id;
|
||||
$rankingDisplay[$user_id]["user_id"] = $user_id;
|
||||
|
||||
$rankingDisplay[$user_id]["user_name"] = $roundtipps[$key]["user_name"];
|
||||
$rankingDisplay[$user_id]["is_dayscorewinner"] = 0;
|
||||
$rankingDisplay[$user_id]["user_name"] = $roundtipps[$key]["user_name"];
|
||||
$rankingDisplay[$user_id]["is_dayscorewinner"] = 0;
|
||||
|
||||
if ($user_id==1) { Log::info("rankscore after user init for display round_id ".$round_id." = ".$roundtipps[$key]["rankscore"]);}
|
||||
}
|
||||
if ($user_id==1) { Log::info("rankscore after user init for display round_id ".$round_id." = ".$roundtipps[$key]["rankscore"]);}
|
||||
}
|
||||
|
||||
$rankingDisplay[$user_id]["rankscore"] = $roundtipps[$key]["rankscore"]; // Summe Rangwertung alle 4 Spiele/Tipps der letzten durchlaufenen Runde, NICHT in init stellen !!
|
||||
$rankingDisplay[$user_id]["dayscore"] = $roundtipps[$key]["dayscore"]; // Dayscore der letzten durchlaufenen Runde, NICHT in init stellen !!
|
||||
$rankingDisplay[$user_id]["rankscore"] = $roundtipps[$key]["rankscore"]; // Summe Rangwertung alle 4 Spiele/Tipps der letzten durchlaufenen Runde, NICHT in init stellen !!
|
||||
$rankingDisplay[$user_id]["dayscore"] = $roundtipps[$key]["dayscore"]; // Dayscore der letzten durchlaufenen Runde, NICHT in init stellen !!
|
||||
|
||||
$rankingDisplay[$user_id]["rankscore_total"] = $rankscore_total + $roundtipps[$key]["rankscore"];
|
||||
$rankscore_total=$rankingDisplay[$user_id]["rankscore_total"];
|
||||
$rankingDisplay[$user_id]["rankscore_total"] = $rankscore_total + $roundtipps[$key]["rankscore"];
|
||||
$rankscore_total=$rankingDisplay[$user_id]["rankscore_total"];
|
||||
|
||||
$rankingDisplay[$user_id]["tipp_score1"] = $roundtipps[$key]["tipps"][0];
|
||||
$rankingDisplay[$user_id]["tipp_score2"] = $roundtipps[$key]["tipps"][1];
|
||||
$rankingDisplay[$user_id]["joker1"] = $roundtipps[$key]["tipps"][2];
|
||||
$rankingDisplay[$user_id]["result_score1"] = $roundtipps[$key]["results"][0];
|
||||
$rankingDisplay[$user_id]["result_score2"] = $roundtipps[$key]["results"][1];
|
||||
$rankingDisplay[$user_id]["tipp_score1"] = $roundtipps[$key]["tipps"][0];
|
||||
$rankingDisplay[$user_id]["tipp_score2"] = $roundtipps[$key]["tipps"][1];
|
||||
$rankingDisplay[$user_id]["joker1"] = $roundtipps[$key]["tipps"][2];
|
||||
$rankingDisplay[$user_id]["result_score1"] = $roundtipps[$key]["results"][0];
|
||||
$rankingDisplay[$user_id]["result_score2"] = $roundtipps[$key]["results"][1];
|
||||
|
||||
// Determine coloration for Game1
|
||||
$rankingDisplay[$user_id]["trendCol1"] = Tipp::trendCol($roundtipps[$key]["results"][0],$roundtipps[$key]["results"][1],
|
||||
$roundtipps[$key]["tipps"][0],$roundtipps[$key]["tipps"][1],
|
||||
$roundtipps[$key]["tipps"][2]);
|
||||
// Determine coloration for Game1
|
||||
$rankingDisplay[$user_id]["trendCol1"] = Tipp::trendCol($roundtipps[$key]["results"][0],$roundtipps[$key]["results"][1],
|
||||
$roundtipps[$key]["tipps"][0],$roundtipps[$key]["tipps"][1],
|
||||
$roundtipps[$key]["tipps"][2]);
|
||||
|
||||
$rankingDisplay[$user_id]["tipp_score3"] = $roundtipps[$key]["tipps"][3];
|
||||
$rankingDisplay[$user_id]["tipp_score4"] = $roundtipps[$key]["tipps"][4];
|
||||
$rankingDisplay[$user_id]["joker2"] = $roundtipps[$key]["tipps"][5];
|
||||
$rankingDisplay[$user_id]["result_score3"] = $roundtipps[$key]["results"][2];
|
||||
$rankingDisplay[$user_id]["result_score4"] = $roundtipps[$key]["results"][3];
|
||||
$rankingDisplay[$user_id]["tipp_score3"] = $roundtipps[$key]["tipps"][3];
|
||||
$rankingDisplay[$user_id]["tipp_score4"] = $roundtipps[$key]["tipps"][4];
|
||||
$rankingDisplay[$user_id]["joker2"] = $roundtipps[$key]["tipps"][5];
|
||||
$rankingDisplay[$user_id]["result_score3"] = $roundtipps[$key]["results"][2];
|
||||
$rankingDisplay[$user_id]["result_score4"] = $roundtipps[$key]["results"][3];
|
||||
|
||||
// Determine coloration for Game2
|
||||
$rankingDisplay[$user_id]["trendCol2"] = Tipp::trendCol($roundtipps[$key]["results"][2],$roundtipps[$key]["results"][3],
|
||||
$roundtipps[$key]["tipps"][3],$roundtipps[$key]["tipps"][4],
|
||||
$roundtipps[$key]["tipps"][5]);
|
||||
// Determine coloration for Game2
|
||||
$rankingDisplay[$user_id]["trendCol2"] = Tipp::trendCol($roundtipps[$key]["results"][2],$roundtipps[$key]["results"][3],
|
||||
$roundtipps[$key]["tipps"][3],$roundtipps[$key]["tipps"][4],
|
||||
$roundtipps[$key]["tipps"][5]);
|
||||
|
||||
$rankingDisplay[$user_id]["tipp_score5"] = $roundtipps[$key]["tipps"][6];
|
||||
$rankingDisplay[$user_id]["tipp_score6"] = $roundtipps[$key]["tipps"][7];
|
||||
$rankingDisplay[$user_id]["joker3"] = $roundtipps[$key]["tipps"][8];
|
||||
$rankingDisplay[$user_id]["result_score5"] = $roundtipps[$key]["results"][4];
|
||||
$rankingDisplay[$user_id]["result_score6"] = $roundtipps[$key]["results"][5];
|
||||
// Determine coloration for Game3
|
||||
$rankingDisplay[$user_id]["trendCol3"] = Tipp::trendCol($roundtipps[$key]["results"][4],$roundtipps[$key]["results"][5],
|
||||
$roundtipps[$key]["tipps"][6],$roundtipps[$key]["tipps"][7],
|
||||
$roundtipps[$key]["tipps"][8]);
|
||||
$rankingDisplay[$user_id]["tipp_score5"] = $roundtipps[$key]["tipps"][6];
|
||||
$rankingDisplay[$user_id]["tipp_score6"] = $roundtipps[$key]["tipps"][7];
|
||||
$rankingDisplay[$user_id]["joker3"] = $roundtipps[$key]["tipps"][8];
|
||||
$rankingDisplay[$user_id]["result_score5"] = $roundtipps[$key]["results"][4];
|
||||
$rankingDisplay[$user_id]["result_score6"] = $roundtipps[$key]["results"][5];
|
||||
// Determine coloration for Game3
|
||||
$rankingDisplay[$user_id]["trendCol3"] = Tipp::trendCol($roundtipps[$key]["results"][4],$roundtipps[$key]["results"][5],
|
||||
$roundtipps[$key]["tipps"][6],$roundtipps[$key]["tipps"][7],
|
||||
$roundtipps[$key]["tipps"][8]);
|
||||
|
||||
$rankingDisplay[$user_id]["tipp_score7"] = $roundtipps[$key]["tipps"][9];
|
||||
$rankingDisplay[$user_id]["tipp_score8"] = $roundtipps[$key]["tipps"][10];
|
||||
$rankingDisplay[$user_id]["joker4"] = $roundtipps[$key]["tipps"][11];
|
||||
$rankingDisplay[$user_id]["result_score7"] = $roundtipps[$key]["results"][6];
|
||||
$rankingDisplay[$user_id]["result_score8"] = $roundtipps[$key]["results"][7];
|
||||
// Determine coloration for Game4
|
||||
$rankingDisplay[$user_id]["trendCol4"] = Tipp::trendCol($roundtipps[$key]["results"][6],$roundtipps[$key]["results"][7],
|
||||
$roundtipps[$key]["tipps"][9],$roundtipps[$key]["tipps"][10],
|
||||
$roundtipps[$key]["tipps"][11]);
|
||||
$rankingDisplay[$user_id]["tipp_score7"] = $roundtipps[$key]["tipps"][9];
|
||||
$rankingDisplay[$user_id]["tipp_score8"] = $roundtipps[$key]["tipps"][10];
|
||||
$rankingDisplay[$user_id]["joker4"] = $roundtipps[$key]["tipps"][11];
|
||||
$rankingDisplay[$user_id]["result_score7"] = $roundtipps[$key]["results"][6];
|
||||
$rankingDisplay[$user_id]["result_score8"] = $roundtipps[$key]["results"][7];
|
||||
// Determine coloration for Game4
|
||||
$rankingDisplay[$user_id]["trendCol4"] = Tipp::trendCol($roundtipps[$key]["results"][6],$roundtipps[$key]["results"][7],
|
||||
$roundtipps[$key]["tipps"][9],$roundtipps[$key]["tipps"][10],
|
||||
$roundtipps[$key]["tipps"][11]);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -503,4 +509,41 @@ class UsersController extends Controller
|
|||
$this->sendResetLink(Auth::user());
|
||||
}
|
||||
|
||||
public function storeUserEdit() {
|
||||
Log::info("storeUserEdit");
|
||||
if (Auth::guest()) { return redirect("/"); }
|
||||
Log::info("Auth ok");
|
||||
|
||||
Log::info("Request:");
|
||||
Log::info(request());
|
||||
|
||||
$season_id = Season::getCurrent()->id;
|
||||
// Validate form
|
||||
$this->validate(request(), [
|
||||
'email'=> 'required'
|
||||
|
||||
]);
|
||||
|
||||
|
||||
|
||||
$user=Auth::user();
|
||||
|
||||
$user->email=request('email');
|
||||
|
||||
if (request()->has('gets_reminders')) {
|
||||
Log::info("No reminder");
|
||||
$user->gets_reminders = true;
|
||||
} else {
|
||||
Log::info("Set reminder");
|
||||
$user->gets_reminders=false;
|
||||
}
|
||||
|
||||
|
||||
Log::info("Setting gets_reminders to: " . request('gets_reminders'));
|
||||
|
||||
$user->save();
|
||||
|
||||
return redirect('/');
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,6 +22,8 @@ class RoundmailMailer extends Mailable
|
|||
|
||||
public $user_id;
|
||||
public $send_date;
|
||||
public $sender_name;
|
||||
public $sender_email;
|
||||
public $recipients;
|
||||
public $topic;
|
||||
public $mail_message;
|
||||
|
|
@ -36,7 +38,7 @@ class RoundmailMailer extends Mailable
|
|||
public function build()
|
||||
{
|
||||
|
||||
return $this->subject($this->topic)->view('emails.roundmail');
|
||||
return $this->subject($this->topic)->view('emails.roundmail')->from($this->sender_email, $this->sender_name);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ use Illuminate\Database\Eloquent\Model;
|
|||
use App\Game;
|
||||
use Log;
|
||||
use DB;
|
||||
use Carbon;
|
||||
|
||||
class Round extends Model
|
||||
{
|
||||
|
|
@ -31,8 +32,6 @@ class Round extends Model
|
|||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static function isCompleted($round_id) {
|
||||
$round = Round::where('id','=',$round_id)->first();
|
||||
$games = Game::where('round_id','=',$round->id)->get();
|
||||
|
|
@ -99,4 +98,39 @@ class Round extends Model
|
|||
|
||||
return $result[0]->round_id;
|
||||
}
|
||||
|
||||
public static function getTippSpielLink() // Mit Verweis auf den aktuellen Tipp
|
||||
{
|
||||
$firstTippableRoundId=Round::getFirstTippableRound()->id;
|
||||
$tippSpielLink="http://hoschis-tippspiel.de/tipps#".$firstTippableRoundId;
|
||||
return $tippSpielLink;
|
||||
}
|
||||
|
||||
|
||||
// Ab sofort Verzicht auf statische Methoden, soweit möglich.
|
||||
|
||||
public function getLockTime() {
|
||||
$games = Game::where('round_id','=',$this->id)->get();
|
||||
$earliestKickoff = Carbon\Carbon::now();
|
||||
$earliestKickoff->addWeeks(100);
|
||||
foreach($games as $game) {
|
||||
$kickoff = Carbon\Carbon::parse($game->kickoff);
|
||||
if ($kickoff < $earliestKickoff) { $earliestKickoff = $kickoff; }
|
||||
}
|
||||
$earliestKickoff->subHour();
|
||||
return $earliestKickoff;
|
||||
}
|
||||
|
||||
public function isInLockWarningTime($hours) {
|
||||
$hourDiffToLock=$this->getLockTime()->diffInHours(Carbon\Carbon::now());
|
||||
if ($hourDiffToLock<=$hours) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
public function getRemainingHoursBeforeLock() {
|
||||
$hourDiffToLock=$this->getLockTime()->diffInHours(Carbon\Carbon::now());
|
||||
return $hourDiffToLock;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ class User extends Authenticatable
|
|||
* @var array
|
||||
*/
|
||||
protected $fillable = [
|
||||
'name', 'firstname', 'lastname', 'email', 'password',
|
||||
'name', 'firstname', 'lastname', 'email', 'password', 'gets_reminders'
|
||||
];
|
||||
|
||||
/**
|
||||
|
|
@ -135,10 +135,14 @@ class User extends Authenticatable
|
|||
$games = Game::where('round_id','=',$round_id)->get();
|
||||
|
||||
foreach ($games as $game) {
|
||||
|
||||
|
||||
$tipp = Tipp::where([['game_id','=',$game->id],['user_id','=',$user_id]])->first();
|
||||
|
||||
//if(!$tipp) { Log::info("Tipp doesnt exist: game_id=".$game->id.", user_id=".$user_id); }
|
||||
|
||||
if ($tipp->score1 == -1 || $tipp->score2 == -1) {
|
||||
Log::info("!!! User ".$user_id." has a missing tipp for game_id ".$game->id.", round = ".$round_id);
|
||||
//Log::info("!!! User ".$user_id." has a missing tipp for game_id ".$game->id.", round = ".$round_id);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
|
@ -153,9 +157,8 @@ class User extends Authenticatable
|
|||
|
||||
$tipp = Tipp::where([['game_id','=',$game->id],['user_id','=',$user_id]])->first();
|
||||
|
||||
|
||||
if(!$tipp) {
|
||||
Log::info("tipp is null! OMG! // Infos: user_id=".$user_id.", game_id=".$game->id.", round_id=".$round_id);
|
||||
//Log::info("tipp is null! OMG! // Infos: user_id=".$user_id.", game_id=".$game->id.", round_id=".$round_id);
|
||||
}
|
||||
|
||||
if ($tipp->joker == true) { $joker=1; }
|
||||
|
|
@ -165,7 +168,7 @@ class User extends Authenticatable
|
|||
if ($joker==1) {
|
||||
return false;
|
||||
}
|
||||
Log::info("!!! Joker is missing for user_id=".$user_id." round_id=".$round_id);
|
||||
//Log::info("!!! Joker is missing for user_id=".$user_id." round_id=".$round_id);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -16,8 +16,8 @@ return [
|
|||
|
|
||||
*/
|
||||
|
||||
'driver' => env('MAIL_DRIVER', 'smtp'),
|
||||
//'driver' => env('MAIL_DRIVER', 'log'),
|
||||
//'driver' => env('MAIL_DRIVER', 'smtp'),
|
||||
'driver' => env('MAIL_DRIVER', 'log'),
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ class CreateQuotasTable extends Migration
|
|||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::dropIfExists('quotas');
|
||||
Schema::create('quotas', function (Blueprint $table) {
|
||||
$table->increments('id');
|
||||
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ class CreateRoundmailsTable extends Migration
|
|||
$table->text('recipients',15000);
|
||||
$table->string('topic',200);
|
||||
$table->text('message',16000);
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,13 +2,17 @@
|
|||
|
||||
@section('content')
|
||||
<section class="jumbotron text-center">
|
||||
@if (strlen($message_text_tipps)>0)
|
||||
<div><p class="blink_text">{{ $message_text_tipps }}</p></div>
|
||||
@if($hourDiffToLock<49)
|
||||
@if (strlen($message_text_tipps)>0)
|
||||
<div><p class="blink_text">{{ $message_text_tipps }}</p></div>
|
||||
@endif
|
||||
@if (strlen($message_text_joker)>0)
|
||||
<div><p class="blink_text">{{ $message_text_joker }}</p></div>
|
||||
@endif
|
||||
@if (strlen($nextRoundLockTime)>0)
|
||||
<div><p class="blink_text">{{ $nextRoundName }} sperrt sich: {{ $nextRoundLockTime }} ( noch {{ $hourDiffToLock }} Stunden )</p></div>
|
||||
@endif
|
||||
@endif
|
||||
@if (strlen($message_text_joker)>0)
|
||||
<div><p class="blink_text">{{ $message_text_joker }}</p></div>
|
||||
@endif
|
||||
|
||||
<div class="container">
|
||||
<h1 class="jumbotron-heading">Hoschis Tippspiel</h1>
|
||||
<p class="lead text-muted">Eine Tippgemeinschaft unter Freunden.</p>
|
||||
|
|
|
|||
|
|
@ -53,7 +53,8 @@
|
|||
<button onClick="setTippLink(); return false;">Tipplink hinzufügen</button>
|
||||
<p> </p>
|
||||
<label>Nachricht</label>
|
||||
<textarea id="message" name="message" class="form-control" style="min-height:250px;height:auto;">{{$mail_message}}</textarea>
|
||||
<textarea id="message" name="message" class="form-control" style="min-height:250px;height:auto;">{{ str_replace("<br/>","\n",$mail_message) }}</textarea>
|
||||
|
||||
<input type="hidden" id="user_id" name="user_id" value="{{ $user_id }}">
|
||||
|
||||
<p></p>
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
<!-- Start Runden-Loop-->
|
||||
@foreach($rounds as $round)
|
||||
<div><a class="text lead" name="{{$round->id}}" style="font-size: 38px" href="/rounds/editname/{{ $round->id }}">{{ $round->name }} </a></div>
|
||||
|
||||
<div>Runde sperrt sich: {{$round->getLockTime()}}</div>
|
||||
<table class="table-bordered">
|
||||
<tr class="table-bordered">
|
||||
<td class="table-bordered">Spiel</td>
|
||||
|
|
@ -33,6 +33,7 @@
|
|||
@endforeach
|
||||
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
@foreach($rounds as $round)
|
||||
<div><a class="text lead col-md-12" name="{{$round->id}}" style="font-size: 38px">{{ $round->name }} </a></div>
|
||||
|
||||
<div>Runde sperrt sich: {{$round->getLockTime()}}</div>
|
||||
|
||||
<span class="col-md-12">
|
||||
|
||||
|
|
|
|||
|
|
@ -38,10 +38,6 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<p> </p>
|
||||
<div>
|
||||
<label style="float:left; width:150px" for="name">Email:</label>
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
<p> </p>
|
||||
<p> </p>
|
||||
<div>
|
||||
<form method="POST" action="#" id="playerform">
|
||||
<form method="POST" action="/users/store_useredit" id="playerform">
|
||||
{{ csrf_field() }}
|
||||
<a href="/">Neues Passwort anfordern</a>
|
||||
|
||||
|
|
@ -28,16 +28,7 @@
|
|||
</div>
|
||||
|
||||
<p> </p>
|
||||
<div>
|
||||
<label style="float:left; width:150px" for="name">Zahlung für Saison:</label>
|
||||
|
||||
<div class='input-group has_datepicker' id='datetimepicker1'>
|
||||
<input style="float:left;width:150px" type="text" class="form-control" id="paid" name="paid" value="{{ $paid_date_str }}" readonly >
|
||||
<span class="input-group-addon" style="float:left;width:50px;">
|
||||
<span class="glyphicon glyphicon-calendar"></span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
|
@ -49,32 +40,34 @@
|
|||
<input type="text" class="form-control" id="email" style="width:600px" name="email" value="{{ $user->email }}" required>
|
||||
</div>
|
||||
<p> </p>
|
||||
|
||||
<div>
|
||||
<label style="float:left; width:150px;" for="admin">Admin:</label>
|
||||
|
||||
{{ Form::checkbox('admin', 'admin', $user->admin, array('disabled') ) }} <!-- name, value, checked -->
|
||||
|
||||
<!-- <input style="width:150px" type="checkbox" class="form-control" id="admin" name="admin" value="{{ $user->admin }}" > -->
|
||||
<label style="float:left;">
|
||||
<label style="float:left;width: 350px;" for="gets_reminders">Ich möchte EMail Erinnerungen erhalten </label>
|
||||
<label>{{ Form::checkbox('gets_reminders', 'gets_reminders', true ) }} <!-- name, value, checked --></label>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
|
||||
<input type="hidden" name="id" value="{{ $user->id }}">
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<p> </p>
|
||||
<p> </p>
|
||||
<span>
|
||||
</span>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div>
|
||||
<a href="/" class="btn btn-primary" style="float:none; width:100px">Zurück</a>
|
||||
<button type="submit" class="btn btn-primary" style="float:none; width:100px">Ok</button>
|
||||
</div>
|
||||
<input type="hidden" name="user_id" value="{{ $user->id }}">
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<p> </p>
|
||||
<p> </p>
|
||||
<span>
|
||||
</span>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
|
@ -46,6 +46,7 @@ Route::post('/users/store','UsersController@store');
|
|||
Route::get('/users/ranking/{round_id}','UsersController@ranking');
|
||||
Route::get('/users/show_payouts','UsersController@show_payouts');
|
||||
Route::get('/users/useredit/{user_id}','UsersController@useredit');
|
||||
Route::post('/users/store_useredit','UsersController@storeUserEdit');
|
||||
|
||||
Route::get('/tipps','TippsController@index');
|
||||
Route::get('/tipps/edit/{tipp_id}','TippsController@edit');
|
||||
|
|
@ -56,7 +57,7 @@ Route::get('/email','UsersController@mailtest');
|
|||
Route::get('/roundmails','RoundmailController@index');
|
||||
Route::get('/roundmails/show/{mail_id}','RoundmailController@show');
|
||||
Route::post('/roundmails/send','RoundmailController@send');
|
||||
Route::post('/roundmails/send','RoundmailController@checkReminder');
|
||||
Route::get('/roundmails/checkReminder','RoundmailController@checkReminder');
|
||||
|
||||
// php artisan route:list
|
||||
//Auth::routes();
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ $vendorDir = dirname(dirname(__FILE__));
|
|||
$baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
'AddReminderfieldToUsers' => $baseDir . '/database/migrations/2017_08_28_110358_add_reminderfield_to_users.php',
|
||||
'App\\Console\\Kernel' => $baseDir . '/app/Console/Kernel.php',
|
||||
'App\\Exceptions\\Handler' => $baseDir . '/app/Exceptions/Handler.php',
|
||||
'App\\Game' => $baseDir . '/app/Game.php',
|
||||
|
|
|
|||
1
pfosten/vendor/composer/autoload_static.php
vendored
1
pfosten/vendor/composer/autoload_static.php
vendored
|
|
@ -278,6 +278,7 @@ class ComposerStaticInita19fb0695e1b61b4feeb3cc3fbdd2feb
|
|||
);
|
||||
|
||||
public static $classMap = array (
|
||||
'AddReminderfieldToUsers' => __DIR__ . '/../..' . '/database/migrations/2017_08_28_110358_add_reminderfield_to_users.php',
|
||||
'App\\Console\\Kernel' => __DIR__ . '/../..' . '/app/Console/Kernel.php',
|
||||
'App\\Exceptions\\Handler' => __DIR__ . '/../..' . '/app/Exceptions/Handler.php',
|
||||
'App\\Game' => __DIR__ . '/../..' . '/app/Game.php',
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue