Add picture

This commit is contained in:
Mathieu Lagace
2019-08-26 11:43:36 -04:00
parent 1cb85d50ca
commit 2b9cd625d6
11 changed files with 278 additions and 14 deletions

View File

@@ -17,6 +17,10 @@ class PictureController extends Controller
return view('public.allpicture',['pictures' => \App\Picture::paginate(\App\Config::getData('text_public_picture_nb'))]);
}
public function indexAdmin()
{
return view('admin.picture.index',['pictures' => \App\Picture::paginate(\App\Config::getData('text_public_picture_nb'))]);
}
/**
* Show the form for creating a new resource.
*
@@ -24,7 +28,7 @@ class PictureController extends Controller
*/
public function create()
{
//
return view('admin.picture.add');
}
/**
@@ -33,9 +37,20 @@ class PictureController extends Controller
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
public function store()
{
//
$pic = new Picture();
$pic->title = request('title');
$pic->url = request('url');
$pic->desc = request('desc');
$pic->pictureable_id = 0;
$pic->pictureable_type = "";
$pic->save();
return redirect('/admin/picture')->with('success','Image ajoutée avec succès');
}
/**
@@ -55,9 +70,9 @@ class PictureController extends Controller
* @param \App\Picture $picture
* @return \Illuminate\Http\Response
*/
public function edit(Picture $picture)
public function edit($id)
{
//
return view('admin.picture.edit',['picture' => Picture::find($id)]);
}
/**
@@ -67,9 +82,17 @@ class PictureController extends Controller
* @param \App\Picture $picture
* @return \Illuminate\Http\Response
*/
public function update(Request $request, Picture $picture)
public function update($id)
{
//
$pic = Picture::find($id);
$pic->title = request('title');
$pic->url = request('url');
$pic->desc = request('desc');
$pic->save();
return redirect('/admin/picture')->with('success','Image sauvegarder avec succès');
}
/**
@@ -78,8 +101,10 @@ class PictureController extends Controller
* @param \App\Picture $picture
* @return \Illuminate\Http\Response
*/
public function destroy(Picture $picture)
public function destroy($id)
{
//
$pic = Picture::find($id);
$pic->delete();
}
}

View File

@@ -0,0 +1,63 @@
@extends('layouts.admin.main')
@section('content')
<div class="col-md-12">
<div class="card">
<div class="card-header card-header-primary">
<h4>Ajouter une images</h4>
</div>
<div class="card-body mt-5">
<form action="/admin/picture/add" method="post">
@csrf
<div class="col-lg-12">
<div class="form-group">
<label>Nom de l'image</label>
<input name="title" type="text" class="form-control">
</div>
</div>
<div class="col-lg-12">
<div class="form-group">
<label>URL de l'image</label>
<input name="url" type="text" class="form-control">
</div>
</div>
<div class="col-lg-12">
<label for="desc">Description de l'image</label>
<div class="form-group">
<textarea name="desc" id="desc" class="form-control"></textarea>
</div>
</div>
<div class="col-lg-12">
<button type="submit" class="btn btn-primary">Sauvegarder</button>
</div>
</form>
</div>
</div>
</div>
@endsection
@section('custom_scripts')
<script>
$('#desc').trumbowyg({
lang: 'fr'
});
function saveChange(pPerm) {
(function($) {
var myswitch = document.getElementById(pPerm);
$.post('/api/config/general/save?api_token='+api_token, { value: myswitch.checked,perm: pPerm } , function(data) {
swal({
title: 'Modification enregistré !',
type: 'success',
}).then((result) => {
if (result.value) {
location.reload();
}
})
});
})(jQuery);
}
</script>
@endsection

View File

@@ -0,0 +1,63 @@
@extends('layouts.admin.main')
@section('content')
<div class="col-md-12">
<div class="card">
<div class="card-header card-header-primary">
<h4>Ajouter une images</h4>
</div>
<div class="card-body mt-5">
<form action="/admin/picture/edit/{{$picture->id}}" method="post">
@csrf
<div class="col-lg-12">
<div class="form-group">
<label>Nom de l'image</label>
<input name="title" type="text" class="form-control" value="{{$picture->title}}">
</div>
</div>
<div class="col-lg-12">
<div class="form-group">
<label>URL de l'image</label>
<input name="url" type="text" class="form-control" value="{{$picture->url}}">
</div>
</div>
<div class="col-lg-12">
<label for="desc">Description de l'image</label>
<div class="form-group">
<textarea name="desc" id="desc" class="form-control">{!!$picture->desc!!}</textarea>
</div>
</div>
<div class="col-lg-12">
<button type="submit" class="btn btn-primary">Sauvegarder</button>
</div>
</form>
</div>
</div>
</div>
@endsection
@section('custom_scripts')
<script>
$('#desc').trumbowyg({
lang: 'fr'
});
function saveChange(pPerm) {
(function($) {
var myswitch = document.getElementById(pPerm);
$.post('/api/config/general/save?api_token='+api_token, { value: myswitch.checked,perm: pPerm } , function(data) {
swal({
title: 'Modification enregistré !',
type: 'success',
}).then((result) => {
if (result.value) {
location.reload();
}
})
});
})(jQuery);
}
</script>
@endsection

View File

@@ -0,0 +1,79 @@
@extends('layouts.admin.main')
@section('content')
<div class="col-md-12">
<div class="card">
<div class="card-header card-header-primary">
<h4>Images</h4>
</div>
<div class="card-body mt-5">
<div class="row">
<div class="col-md-12">
<p>
Toutes les images serons affiché dans la section publique du site.
</p>
</div>
@foreach($pictures as $picture)
<div class="col-md-4">
<div class="card">
<div class="card-img-top">
<img class="img-responsive w-100" src="{{$picture->url}}">
</div>
<div class="card-body">
<h4 class="card-title">{{$picture->title}}</h4>
<p>{!!$picture->desc!!}</p>
<div class="btn-group">
<a class="btn btn-primary" href="/admin/picture/edit/{{$picture->id}}"><i class="fas fa-edit"></i></a>
<button class="btn btn-danger" onclick="Delete({{$picture->id}})"><i class="fas fa-times"></i></button>
</div>
</div>
</div>
</div>
@endforeach
<div class="col-12">
<a class="btn btn-primary btn-block" href="/admin/picture/add">Ajouter une images</a>
</div>
</div>
</div>
</div>
</div>
@endsection
@section('custom_scripts')
<script>
function Delete(pID) {
swal({
title: 'Êtes vous certain de vouloir supprimer l\'image?',
text: "Vous ne pourrez pas annuler cette action",
type: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Oui',
cancelButtonText: 'Non'
}).then((result) => {
if (result.value) {
(function($) {
$.post('/api/picture/delete/'+pID+'?api_token='+api_token, function(data) {
console.log('Delete');
});
})(jQuery);
swal(
'Supprimé!',
"L'image a été supprimé",
'success'
).then((result) => {
if (result.value) {
location.reload();
}
})
}
})
}
</script>
@endsection

View File

@@ -61,7 +61,7 @@
<!-- End Navbar -->
<div class="wrapper wrapper-full-page">
<div class="page-header login-page header-filter" filter-color="black"
style="background-image: url('/assets/public/images/banner.jpg'); background-size: cover; background-position: top center;">
style="background-image: url({{'"'.\App\Config::getData('public_index_img_url').'"'}}); background-size: cover; background-position: top center;">
<!-- you can change the color of the filter page using: data-color="blue | purple | green | orange | red | rose " -->
<div class="container">
<div class="row">

View File

@@ -100,6 +100,30 @@
</ul>
</div>
</li>-->
<li class="nav-item ">
<a class="nav-link" data-toggle="collapse" href="#inventory">
<i class="material-icons">image</i>
<p> Image
<b class="caret"></b>
</p>
</a>
<div class="collapse" id="inventory">
<ul class="nav">
<li class="nav-item ">
<a class="nav-link" href="/admin/picture">
<span class="sidebar-mini"> <i class="fas fa-list"></i> </span>
<span class="sidebar-normal"> Afficher toutes les images </span>
</a>
</li>
<li class="nav-item ">
<a class="nav-link" href="/admin/picture/add">
<span class="sidebar-mini"> <i class="fas fa-plus"></i> </span>
<span class="sidebar-normal"> Ajouter une image </span>
</a>
</li>
</ul>
</div>
</li>
<li class="nav-item ">
<a class="nav-link" data-toggle="collapse" href="#stats">
<i class="material-icons">timeline</i>

View File

@@ -1,7 +1,7 @@
@extends('layouts.public.main')
@section('content')
<div class="page-header header-filter clear-filter purple-filter" data-parallax="true" style="background-image: url({{$activity->public_header_picture}});">
<div class="page-header header-filter clear-filter purple-filter" data-parallax="true" style="background-image: url({{'"'.$activity->public_header_picture.'"'}});">
<div class="container">
<div class="row">
<div class="col-md-8 ml-auto mr-auto">

View File

@@ -24,7 +24,7 @@
<div class="col-md-4">
<a class="a-without-effect" href="/picture/{{$picture->id}}">
<h3><img src="{{$picture->url}}" alt="{{$picture->title}}" width="100%"></h3>
<p class="picture-desc-small">{{$picture->desc}}</p>
<p class="picture-desc-small">{!!$picture->desc!!}</p>
<span class="news-small">{{ $picture->created_at }}</span>
</a>
</div>

View File

@@ -20,7 +20,7 @@
<h2 class="title">{{ $picture->title }}</h2>
<div><img class="img-responsive w-100" src="{{ $picture->url }}" alt="{{ $picture->title }}"></div>
<p>
{{ $picture->desc }}
{!! $picture->desc !!}
</p>
<span class="news-small">{{ $picture->created_at }}</span>
<a href="{{ url()->previous() }}" class="btn button primary">Retour</a>

View File

@@ -20,7 +20,7 @@ Route::middleware('auth:api')->group(function () {
return $request->user();
});
/* Calendar Route */
/** Calendar Route */
Route::post('/calendar/generate', 'CalendarController@generate');
Route::post('/calendar_ecc/generate', 'ECCController@generateCalendar');
Route::post('/calendar/loadDay', 'CalendarController@show');
@@ -30,6 +30,9 @@ Route::middleware('auth:api')->group(function () {
Route::get('/schedule/events/add/modal/{type}/{date}','ScheduleController@loadModalDefautType');
Route::post('/schedule/event/delete/{id}','ScheduleController@delete');
/** Picture */
Route::post('/picture/delete/{id}','PictureController@destroy');
/** Message Route */
Route::post('/message/delete', 'MessageController@destroy');

View File

@@ -85,6 +85,13 @@ Route::middleware(['auth','admin'])->group(function () {
Route::get('/admin/public/edit/{config}', 'PublicController@edit');
Route::post('/admin/public/edit/{config}', 'PublicController@update');
/** Picture */
Route::get('/admin/picture','PictureController@indexAdmin');
Route::get('/admin/picture/add','PictureController@create');
Route::post('/admin/picture/add','PictureController@store');
Route::get('/admin/picture/edit/{id}','PictureController@edit');
Route::post('/admin/picture/edit/{id}','PictureController@update');
/** Inventory */
Route::get('/admin/inventory' , 'InventoryController@index');
Route::get('/admin/inventory/booking' , 'InventoryController@booking');