mirror of
https://gitlab.com/TheGamecraft/c-cms.git
synced 2026-04-21 02:39:10 -04:00
3.2.4
This commit is contained in:
@@ -13,7 +13,7 @@ class Course extends Model
|
||||
|
||||
public function user()
|
||||
{
|
||||
return $this->belongsTo('App\User');
|
||||
return $this->belongsTo('App\User');
|
||||
}
|
||||
|
||||
public function event()
|
||||
|
||||
@@ -18,7 +18,7 @@ class Event extends Model
|
||||
|
||||
public function user()
|
||||
{
|
||||
return $this->belongsTo('App\User');
|
||||
return $this->belongsTo('App\User');
|
||||
}
|
||||
|
||||
public function course($p,$l)
|
||||
@@ -40,4 +40,18 @@ class Event extends Model
|
||||
{
|
||||
return $this->morphMany('App\Log', 'logable');
|
||||
}
|
||||
|
||||
public static function future()
|
||||
{
|
||||
$events = collect();
|
||||
|
||||
foreach (Event::all() as $event)
|
||||
{
|
||||
if (date('U',strtotime($event->date_begin)) >= time())
|
||||
{
|
||||
$events->push($event);
|
||||
}
|
||||
}
|
||||
return $events;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -50,7 +50,8 @@ class EventController extends Controller
|
||||
$event->is_mandatory = 0;
|
||||
}
|
||||
$event->desc = request('desc');
|
||||
|
||||
$event->msg = request('msg');
|
||||
$event->date_msg = request('date_msg');
|
||||
$event->save();
|
||||
|
||||
if ($event->type == 1) {
|
||||
@@ -60,7 +61,7 @@ class EventController extends Controller
|
||||
$course = new \App\Course();
|
||||
|
||||
$users = \App\User::all();
|
||||
$instructor = 1;
|
||||
$instructor = request('instruc_n'.$l.'_p'.$p);
|
||||
|
||||
foreach ($users as $user) {
|
||||
if($user->fullname() == request('instruc_n'.$l.'_p'.$p))
|
||||
@@ -130,6 +131,7 @@ class EventController extends Controller
|
||||
$event->is_mandatory = 0;
|
||||
}
|
||||
$event->desc = request('desc');
|
||||
$event->msg = \request('msg');
|
||||
|
||||
$event->save();
|
||||
|
||||
@@ -151,7 +153,7 @@ class EventController extends Controller
|
||||
}
|
||||
|
||||
$users = \App\User::all();
|
||||
$instructor = 1;
|
||||
$instructor = request('instruc_n'.$l.'_p'.$p);
|
||||
|
||||
foreach ($users as $user) {
|
||||
if($user->fullname() == request('instruc_n'.$l.'_p'.$p))
|
||||
|
||||
@@ -20,7 +20,7 @@ class JobController extends Controller
|
||||
|
||||
$jobs = $jobs_sorted->values();
|
||||
|
||||
return view('admin.job.index', ['jobs' => $jobs]);
|
||||
return view('admin.configs.jobs.index', ['jobs' => $jobs]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -14,13 +14,13 @@ class NewsController extends Controller
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
return view('public.allnews',['news' => News::where('publish','=','1')->paginate(9)]);
|
||||
return view('public.allnews',['news' => News::allWithWeeklyMsg()->where('publish','=','1')->sortByDesc('updated_at')->paginate(9)]);
|
||||
}
|
||||
|
||||
public function indexAdmin()
|
||||
{
|
||||
clogNav('a consulté les nouvelles');
|
||||
return view('admin.news.index',['news' => \App\News::paginate(9)]);
|
||||
return view('admin.news.index',['news' => News::allWithWeeklyMsg()->sortByDesc('updated_at')->paginate(9)]);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -69,8 +69,14 @@ class NewsController extends Controller
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
clog('see','success','a consulté une nouvelle',null,'App\News',$id);
|
||||
return view('public.news', ['new' => \App\News::find($id)]);
|
||||
if (\request('type') == 'msg')
|
||||
{
|
||||
return view('public.news', ['new' => \App\News::getWeeklyMsg(\App\Event::find($id))]);
|
||||
}
|
||||
else
|
||||
{
|
||||
return view('public.news', ['new' => \App\News::find($id)]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\News;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class PublicController extends Controller
|
||||
@@ -14,7 +15,7 @@ class PublicController extends Controller
|
||||
public function index()
|
||||
{
|
||||
return view('public.index',[
|
||||
'news' => \App\News::all()->where('publish','1')->sortByDesc('created_at')->take(3),
|
||||
'news' => \App\News::allWithWeeklyMsg()->where('publish','=','1')->sortByDesc('created_at')->take(3),
|
||||
'activities' => \App\ComplementaryActivity::all()->where('is_promoted','1'),
|
||||
'pictures' => \App\Picture::all()->sortByDesc('created_at')->take(\App\Config::getData('nb_activity_public'))
|
||||
]);
|
||||
|
||||
@@ -213,10 +213,14 @@ class ScheduleController extends Controller
|
||||
$activity = \App\ComplementaryActivity::find($type);
|
||||
$begin_time = $date." ".$activity->begin_time;
|
||||
$end_time = $date." ".$activity->end_time;
|
||||
|
||||
$msg_time = Date('c',strtotime($begin_time.'-4day'));
|
||||
|
||||
return view('admin.schedule.modal.add',[
|
||||
'activity' => \App\ComplementaryActivity::find($type),
|
||||
'begin_time' => $begin_time,
|
||||
'end_time' => $end_time
|
||||
'end_time' => $end_time,
|
||||
'msg_time' => $msg_time
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
25
app/Job.php
25
app/Job.php
@@ -6,7 +6,26 @@ use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Job extends Model
|
||||
{
|
||||
protected $casts = [
|
||||
'perm' => 'array',
|
||||
];
|
||||
public function permissions()
|
||||
{
|
||||
return collect(json_decode($this->permissions,true));
|
||||
}
|
||||
|
||||
public function permission($permission)
|
||||
{
|
||||
foreach ($this->permissions() as $perm => $value)
|
||||
{
|
||||
if ($permission == $perm)
|
||||
{
|
||||
return $value;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
public function p($perm)
|
||||
{
|
||||
return $this->permission($perm);
|
||||
}
|
||||
}
|
||||
|
||||
39
app/News.php
39
app/News.php
@@ -6,6 +6,10 @@ use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class News extends Model
|
||||
{
|
||||
protected $casts = [
|
||||
'tags' => 'array',
|
||||
];
|
||||
|
||||
public function user()
|
||||
{
|
||||
return $this->belongsTo('App\User');
|
||||
@@ -20,4 +24,39 @@ class News extends Model
|
||||
{
|
||||
return $this->morphMany('App\Log', 'logable');
|
||||
}
|
||||
|
||||
public static function allWithWeeklyMsg()
|
||||
{
|
||||
|
||||
$news = \App\News::all();
|
||||
|
||||
foreach (\App\Event::future() as $event)
|
||||
{
|
||||
if($event->type = 1)
|
||||
{
|
||||
if (date('U',strtotime($event->date_msg)) <= time())
|
||||
{
|
||||
$news->push(self::getWeeklyMsg($event));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $news;
|
||||
}
|
||||
|
||||
public static function getWeeklyMsg(\App\Event $event)
|
||||
{
|
||||
$n = new News();
|
||||
|
||||
$n->event_id = $event->id;
|
||||
$n->title = 'Message de la semaine du '.date('Y-m-d',strtotime($event->date_begin));
|
||||
$n->body = $event->msg;
|
||||
$n->user_id = $event->user_id;
|
||||
$n->publish = 1;
|
||||
$n->created_at = $event->created_at;
|
||||
$n->updated_at = $event->updated_at;
|
||||
$n->tags = ['message de la semaine','Important'];
|
||||
|
||||
return $n;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,9 @@
|
||||
namespace App\Providers;
|
||||
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Support\Collection;
|
||||
use Illuminate\Pagination\LengthAwarePaginator;
|
||||
|
||||
class AppServiceProvider extends ServiceProvider
|
||||
{
|
||||
@@ -15,6 +17,29 @@ class AppServiceProvider extends ServiceProvider
|
||||
public function boot()
|
||||
{
|
||||
Schema::defaultStringLength(191);
|
||||
|
||||
/**
|
||||
* Paginate a standard Laravel Collection.
|
||||
*
|
||||
* @param int $perPage
|
||||
* @param int $total
|
||||
* @param int $page
|
||||
* @param string $pageName
|
||||
* @return array
|
||||
*/
|
||||
Collection::macro('paginate', function($perPage, $total = null, $page = null, $pageName = 'page') {
|
||||
$page = $page ?: LengthAwarePaginator::resolveCurrentPage($pageName);
|
||||
return new LengthAwarePaginator(
|
||||
$this->forPage($page, $perPage),
|
||||
$total ?: $this->count(),
|
||||
$perPage,
|
||||
$page,
|
||||
[
|
||||
'path' => LengthAwarePaginator::resolveCurrentPath(),
|
||||
'pageName' => $pageName,
|
||||
]
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
14
app/User.php
14
app/User.php
@@ -32,6 +32,11 @@ class User extends Authenticatable
|
||||
return $this->belongsTo('App\Rank');
|
||||
}
|
||||
|
||||
public function job()
|
||||
{
|
||||
return $this->belongsTo('App\Job');
|
||||
}
|
||||
|
||||
public function logs()
|
||||
{
|
||||
return $this->hasMany(Log::class);
|
||||
@@ -287,7 +292,14 @@ class User extends Authenticatable
|
||||
|
||||
public function permission($perm)
|
||||
{
|
||||
return $this->rank->permission($perm);
|
||||
if ($this->job->permission($perm) == 0)
|
||||
{
|
||||
return $this->rank->permission($perm);
|
||||
}
|
||||
else
|
||||
{
|
||||
return $this->job->permission($perm);
|
||||
}
|
||||
}
|
||||
|
||||
public function p($perm)
|
||||
|
||||
Reference in New Issue
Block a user