ALPHA 3.0.2

This commit is contained in:
TheGamecraft
2018-09-05 11:35:41 -04:00
parent 4dbdc8fd19
commit 8ef8057bfa
771 changed files with 9284 additions and 5857 deletions

10
app/Config.php Normal file
View File

@@ -0,0 +1,10 @@
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Config extends Model
{
//
}

View File

@@ -15,6 +15,8 @@ class AdminController extends Controller
public function __construct()
{
$this->middleware('auth');
dd(Auth::user()->getAcces(2));
}
/**

View File

@@ -3,6 +3,9 @@
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use \App\Notifications\mail;
use \App\Notifications\sms;
use \App\Notifications\Alert;
use \App\Log;
use \App\Schedule;
use \App\Local;
@@ -71,43 +74,79 @@ class CalendarController extends Controller
$calendar[$i] = $addingday;
}
echo '<table class="table calendar">';
echo '<thead class="thead-dark">';
echo '<td><a class="btn" onclick="generate('.$prevMonth.','.$prevYear.')"><i class="fa fa-chevron-left" aria-hidden="true"></i></a></td><td colspan="5">'.ucfirst(strftime("%B %Y", strtotime("01-".$month."-".$year))).'</td><td><a class="btn" onclick="generate('.$nextMonth.','.$nextYear.')"><i class="fa fa-chevron-right" aria-hidden="true"></i></a></td>';
echo '<tr><td>Dimanche</td><td>Lundi</td><td>Mardi</td><td>Mercredi</td><td>Jeudi</td><td>Vendredi</td><td>Samedi</td></tr>';
echo '</thead>';
echo '<div class="table calendar">';
echo '<div class="thead-dark">';
echo '<div class="row"><div class="col-2"><a class="btn" onclick="generate('.$prevMonth.','.$prevYear.')"><i class="fa fa-chevron-left" aria-hidden="true"></i></a></div><div class="col-8">'.ucfirst(strftime("%B %Y", strtotime("01-".$month."-".$year))).'</div><div class="col-2"><a class="btn" onclick="generate('.$nextMonth.','.$nextYear.')"><i class="fa fa-chevron-right" aria-hidden="true"></i></a></div></div>';
echo '<div class="row calendar-head"><div style="width:14%;">Dimanche</div><div style="width:14%;">Lundi</div><div style="width:14%;">Mardi</div><div style="width:14%;">Mercredi</div><div style="width:14%;">Jeudi</div><div style="width:14%;">Vendredi</div><div style="width:14%;">Samedi</div></div>';
echo '</div>';
echo '<div class="card-body">';
for ($i=0; $i < 6 ; $i++)
{
echo '<tr>';
echo '<div class="row">';
for ($a=0; $a < 7 ; $a++)
{
if (isset($calendar[(($i*7) + $a)]))
{
echo '<td class="calendar-container">';
/** Date info */
$today = date("Y-m-d", strtotime($year."-".$month."-".$calendar[(($i*7) + $a)]));
$activityToday = Schedule::where('date','=',$today)->get();
/** If nothing today */
if ($activityToday->isEmpty()) {
echo '<div><a name="'.$today.'" type="button" data-toggle="modal" data-target="#scrollmodal" id="calendar_'.$calendar[(($i*7) + $a)].'" class="btn btn-block btn-calendar" onclick="openCalendar(this.name)"><div class="calendar-date">'.date("j", strtotime($today)).'</div></a></div>';
echo '<a class="calendar-container calendar-empty" name="'.$today.'" type="button" data-toggle="modal" data-target="#scrollmodal" id="calendar_'.$calendar[(($i*7) + $a)].'" class="btn btn-block btn-calendar" onclick="openCalendar(this.name)"><div class="calendar-date">'.date("j", strtotime($today)).'</div></a>';
} else {
echo '<a class="calendar-container" name="'.$today.'" type="button" data-toggle="modal" data-target="#scrollmodal" id="calendar_'.$calendar[(($i*7) + $a)].'" class="btn btn-block btn-calendar" onclick="openCalendar(this.name)">';
$text = "";
foreach ($activityToday as $activity) {
$text = $text.'<div style="color:blue;"><i class="fa fa-plane" aria-hidden="true"></i>'.ucfirst($activity->data['event_name'])."</div><br>";
echo '<div class="calendar-date">'.date("j", strtotime($today)).'</div>
<div class="calendar-text" style="width:90%;">';
switch ($activity->type) {
case 'regular':
echo '<div class="row" style="color:orange;"><span class="fa-stack fa-lg col-md-2"><i class="fa fa-circle fa-stack-2x"></i><i class="fa fa-book fa-stack-1x fa-inverse"></i></span><div class="col-md-10 calendar_event_name">'.ucfirst($activity->data['event_name'])."</div></div>";
break;
case 'pilotage':
echo '<div class="row" style="color:#58D3F7;"><span class="fa-stack fa-lg col-md-2"><i class="fa fa-circle fa-stack-2x"></i><i class="fa fa-plane fa-stack-1x fa-inverse"></i></span><div class="col-md-10 calendar_event_name">'.ucfirst($activity->data['event_name'])."</div></div>";
break;
case 'drill':
echo '<div class="row" style="color:blue;"><span class="fa-stack fa-lg col-md-2"><i class="fa fa-circle fa-stack-2x"></i><i class="fa fa-trophy fa-stack-1x fa-inverse"></i></span><div class="col-md-10 calendar_event_name">'.ucfirst($activity->data['event_name'])."</div></div>";
break;
case 'music':
echo '<div class="row" style="color:green;"><span class="fa-stack fa-lg col-md-2"><i class="fa fa-circle fa-stack-2x"></i><i class="fa fa-music fa-stack-1x fa-inverse"></i></span><div class="col-md-10 calendar_event_name">'.ucfirst($activity->data['event_name'])."</div></div>";
break;
case 'biathlon':
echo '<div class="row" style="color:red;"><span class="fa-stack fa-lg col-md-2"><i class="fa fa-circle fa-stack-2x"></i><i class="fa fa-snowflake-o fa-stack-1x fa-inverse"></i></span><div class="col-md-10 calendar_event_name">'.ucfirst($activity->data['event_name'])."</div></div>";
break;
case 'marksmanship':
echo '<div class="row" style="color:grey;"><span class="fa-stack fa-lg col-md-2"><i class="fa fa-circle fa-stack-2x"></i><i class="fa fa-star fa-stack-1x fa-inverse"></i></span><div class="col-md-10 calendar_event_name">'.ucfirst($activity->data['event_name'])."</div></div>";
break;
case 'founding':
echo '<div class="row" style="color:#00FF40;"><span class="fa-stack fa-lg col-md-2"><i class="fa fa-circle fa-stack-2x"></i><i class="fa fa-usd fa-stack-1x fa-inverse"></i></span><div class="col-md-10 calendar_event_name">'.ucfirst($activity->data['event_name'])."</div></div>";
break;
case 'volunteer':
echo '<div class="row" style="color:#DF0174;"><span class="fa-stack fa-lg col-md-2"><i class="fa fa-circle fa-stack-2x"></i><i class="fa fa-handshake-o fa-stack-1x fa-inverse"></i></span><div class="col-md-10 calendar_event_name">'.ucfirst($activity->data['event_name'])."</div></div>";
break;
default:
echo '<div class="row" style="color:#0B615E;"><span class="fa-stack fa-lg col-md-2"><i class="fa fa-circle fa-stack-2x"></i></span><div class="col-md-10 calendar_event_name">'.ucfirst($activity->data['event_name'])."</div></div>";
break;
}
echo '</div>';
}
echo '<div><a name="'.$today.'" type="button" data-toggle="modal" data-target="#scrollmodal" id="calendar_'.$calendar[(($i*7) + $a)].'" class="btn btn-block btn-calendar" onclick="openCalendar(this.name)"><div class="calendar-date">'.date("j", strtotime($today)).'</div><div class="calendar-text">'.$text.'</div></a></div>';
echo '</a>';
}
echo '</td>';
} else {
echo '<td class="calendar-container" style="border:none !important"></td>';
echo '<div class="calendar-container¸calendar-empty" style="border:none !important; width:14%;"></div>';
}
}
echo '</tr>';
echo '</div>';
}
echo '</table>';
}
@@ -322,7 +361,7 @@ class CalendarController extends Controller
$UserList = User::all();
$LocalList = Local::all();
return view('admin.calendar.calendar_add' ,['RequestDate' => $date, 'Userslist' => $UserList, 'LocalsList' => $LocalList]);
}
@@ -398,6 +437,10 @@ class CalendarController extends Controller
$schedule->data = $eventData;
$schedule->save();
/** Logs and Notification */
Log::saveLog("Ajout de l'activité, ".$schedule->event_name." à l'horaire le ".$schedule->event_date);
}
public function patch($id)

View File

@@ -0,0 +1,85 @@
<?php
namespace App\Http\Controllers;
use App\Config;
use Illuminate\Http\Request;
class ConfigController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*
* @param \App\Config $config
* @return \Illuminate\Http\Response
*/
public function show(Config $config)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param \App\Config $config
* @return \Illuminate\Http\Response
*/
public function edit(Config $config)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Config $config
* @return \Illuminate\Http\Response
*/
public function update(Request $request, Config $config)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param \App\Config $config
* @return \Illuminate\Http\Response
*/
public function destroy(Config $config)
{
//
}
}

View File

@@ -14,7 +14,13 @@ class JobController extends Controller
*/
public function index()
{
//
$jobs = Job::all();
$jobs_sorted = $jobs->sortBy('name');
$jobs = $jobs_sorted->values();
return view('admin.job.index', ['jobs' => $jobs]);
}
/**

View File

@@ -7,6 +7,17 @@ use Illuminate\Http\Request;
class MessageController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth', ['except' => ['destroy']]);
}
/**
* Display a listing of the resource.
*
@@ -14,7 +25,7 @@ class MessageController extends Controller
*/
public function index()
{
return view('admin.message.index', ['messages' => \App\Message::all()]);
return view('admin.message.index', ['messages' => \App\Message::all()]);
}
/**
@@ -24,7 +35,7 @@ class MessageController extends Controller
*/
public function create()
{
//
return view('admin.message.add', ['messages' => \App\Message::all()]);
}
/**
@@ -35,7 +46,26 @@ class MessageController extends Controller
*/
public function store(Request $request)
{
//
$msg = new Message;
$msg->title = request('msg_title');
$msg->body = request('msg_body');
$msg->user_id = \Auth::user()->id;
/** Basic Shit to change */
$msg->data = [
'as_seen' => "",
'parameter' => ""
];
$msg->publish = true;
$msg->private = true;
$msg->save();
\App\Log::savelog("Publication du message : ".request('msg_title'));
}
/**
@@ -44,9 +74,24 @@ class MessageController extends Controller
* @param \App\Message $message
* @return \Illuminate\Http\Response
*/
public function show(Message $message)
{
//
public function show($id)
{
$this_msg = Message::find($id);
if(isset($this_msg->data['as_seen']))
{
if (!strpos($this_msg->data['as_seen'],"-".\Auth::user()->id."-")) {
$data = [
'as_seen' => $this_msg->data['as_seen']."-".\Auth::user()->id."-",
'parameter' => $this_msg->data['parameter']
];
$this_msg->data = $data;
$this_msg->save();
}
}
return view('admin.message.show', ['message' => $this_msg]);
}
/**
@@ -78,8 +123,12 @@ class MessageController extends Controller
* @param \App\Message $message
* @return \Illuminate\Http\Response
*/
public function destroy(Message $message)
public function destroy()
{
//
$id = request('id');
$msg = Message::find($id);
$msg->delete();
}
}

View File

@@ -80,8 +80,12 @@ class UserController extends Controller
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
public function destroy()
{
//
$id = request('id');
$user = User::find($id);
$user->delete();
}
}

View File

@@ -0,0 +1,52 @@
<?php
namespace App\Notifications;
use Illuminate\Bus\Queueable;
use Illuminate\Notifications\Notification;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
class mail extends Notification
{
use Queueable;
/**
* Create a new notification instance.
*
* @return void
*/
public function __construct($notifiable,$title,$msg)
{
$this->myMsg = $msg;
$this->myTitle = $title;
$this->notifiable = $notifiable;
}
/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
* @return array
*/
public function via($notifiable)
{
return ['mail'];
}
/**
* Get the mail representation of the notification.
*
* @param mixed $notifiable
* @return \Illuminate\Notifications\Messages\MailMessage
*/
public function toMail($notifiable)
{
return (new MailMessage)
->subject($this->myTitle.' - '.config('squadron.fullname'))
->line('Vous avez reçus une nouvelle notification !')
->line($this->myMsg)
->action("Consulter !", url('/login'))
->line('Merci');
}
}

49
app/Notifications/sms.php Normal file
View File

@@ -0,0 +1,49 @@
<?php
namespace App\Notifications;
use Illuminate\Bus\Queueable;
use Illuminate\Notifications\Notification;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Messages\NexmoMessage;
class sms extends Notification
{
use Queueable;
/**
* Create a new notification instance.
*
* @return void
*/
public function __construct($notifiable,$msg)
{
$this->myNotification = $msg;
$this->notifiable = $notifiable;
}
/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
* @return array
*/
public function via($notifiable)
{
return ['nexmo'];
}
/**
* Get the mail representation of the notification.
*
* @param mixed $notifiable
* @return \Illuminate\Notifications\Messages\MailMessage
*/
public function toNexmo($notifiable)
{
return (new NexmoMessage)
->content($this->myNotification)
->unicode();
}
}

View File

@@ -32,6 +32,13 @@ class User extends Authenticatable
return $this->hasMany(Log::class);
}
public function updateAPI()
{
$this->api_token = str_random(60);
$this->save();
}
public function fullname()
{
$fullname = $this->lastname.' '.$this->firstname;
@@ -42,4 +49,53 @@ class User extends Authenticatable
{
return $this->hasMany(Message::class);
}
public function routeNotificationForNexmo($notification)
{
return $this->telephone;
}
public function getPerm($perm)
{
$rank = \App\Rank::find($this->rank);
$job = \App\Job::find($this->job);
$rank_perm_value = $rank->$perm;
$job_perm_value = $job->$perm;
$user_perm_value = $this->$perm;
if ($user_perm_value == 1 ) {
$perm_value = 1;
} else if ($job_perm_value== 1) {
$perm_value = 1;
} else if ($rank_perm_value == 1) {
$perm_value = 1;
} else {
$perm_value = 0;
}
dd($perm_value);
}
public function getAcces($level)
{
$rank = \App\Rank::find($this->rank);
$job = \App\Job::find($this->job);
$rank_perm_value = $rank->acces_level;
$job_perm_value = $job->acces_level;
$user_perm_value = $this->acces_level
if ($user_perm_value >= $level ) {
$perm_value = true;
} else if ($job_perm_value >= $level) {
$perm_value = true;
} else if ($rank_perm_value >= $level) {
$perm_value = true;
} else {
$perm_value = false;
}
return boolean $perm_value;
}
}