[WIP] Fix ergonomics rules
This commit is contained in:
@@ -4,7 +4,7 @@ namespace App\Http\Controllers\Auth;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Providers\RouteServiceProvider;
|
||||
use App\User;
|
||||
use App\Models\Core\Auth\User;
|
||||
use Illuminate\Foundation\Auth\RegistersUsers;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
|
||||
@@ -1,87 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Shop\Admin;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
use App\Repositories\Categories;
|
||||
|
||||
class CategoryController 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\Category $category
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show(Category $category)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param \App\Category $category
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit(Category $category)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \App\Category $category
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Request $request, Category $category)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param \App\Category $category
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy(Category $category)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,7 @@ namespace App\Http\Controllers\Shop\Admin;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
use App\Repositories\Users;
|
||||
use App\Repositories\Core\Auth\Users;
|
||||
|
||||
class DashboardController extends Controller
|
||||
{
|
||||
@@ -27,7 +27,6 @@ class DashboardController extends Controller
|
||||
public function index()
|
||||
{
|
||||
$data = [];
|
||||
$dashboard = 'dashboard_general';
|
||||
|
||||
if (Users::hasRole('admin')) {
|
||||
$dashboard = 'dashboard';
|
||||
|
||||
@@ -2,10 +2,11 @@
|
||||
|
||||
namespace App\Http\Controllers\Shop\Admin;
|
||||
|
||||
use App\Section;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
use App\Repositories\Shop\Sections;
|
||||
|
||||
class SectionController extends Controller
|
||||
{
|
||||
/**
|
||||
@@ -13,9 +14,19 @@ class SectionController extends Controller
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index()
|
||||
public function index(Request $request)
|
||||
{
|
||||
//
|
||||
if ($request->ajax()) {
|
||||
return self::getDatatable($request);
|
||||
} else {
|
||||
$data = [];
|
||||
return view('Shop.Admin.Sections.list', $data);
|
||||
}
|
||||
}
|
||||
|
||||
public function getDatatable(Request $request)
|
||||
{
|
||||
return Sections::getTables($request->all());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -25,7 +36,8 @@ class SectionController extends Controller
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
//
|
||||
$data = [];
|
||||
return view('Shop.Admin.Sections.create', $data);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -36,39 +48,42 @@ class SectionController extends Controller
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
//
|
||||
$ret = Sections::store($request);
|
||||
return redirect()->route('Shop.Admin.Sections.index');
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param \App\Section $Section
|
||||
* @param \App\Customer $customer
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show(Section $Section)
|
||||
public function show($id)
|
||||
{
|
||||
//
|
||||
$data = Sections::get($id);
|
||||
return view('Shop.Admin.Sections.view', $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param \App\Section $Section
|
||||
* @param \App\Customer $customer
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit(Section $Section)
|
||||
public function edit($id)
|
||||
{
|
||||
//
|
||||
$data = Sections::get($id);
|
||||
return view('Shop.Admin.Sections.edit', $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \App\Section $Section
|
||||
* @param \App\Customer $customer
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Request $request, Section $Section)
|
||||
public function update(Request $request)
|
||||
{
|
||||
//
|
||||
}
|
||||
@@ -76,11 +91,11 @@ class SectionController extends Controller
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param \App\Section $Section
|
||||
* @param \App\Customer $customer
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy(Section $Section)
|
||||
public function destroy($id)
|
||||
{
|
||||
//
|
||||
return Sections::destroy($id);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,30 +14,19 @@ class SectionController extends Controller
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index()
|
||||
public function index(Request $request)
|
||||
{
|
||||
//
|
||||
if ($request->ajax()) {
|
||||
return self::getDatatable($request);
|
||||
} else {
|
||||
$data = [];
|
||||
return view('Shop.Sections.list', $data);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function create()
|
||||
public function getDatatable(Request $request)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
//
|
||||
return Sections::getTables($request->all());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -48,40 +37,8 @@ class SectionController extends Controller
|
||||
*/
|
||||
public function show(Customer $customer)
|
||||
{
|
||||
//
|
||||
$data = Sections::get($id);
|
||||
return view('Shop.Admin.Sections.view', $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param \App\Customer $customer
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit(Customer $customer)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \App\Customer $customer
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Request $request, Customer $customer)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param \App\Customer $customer
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy(Customer $customer)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,17 +12,18 @@ class Shop
|
||||
$menu->add('Commerce', [ 'permission' => 'backend', 'icon' => 'cog' ])
|
||||
->id('shop')
|
||||
->activeIfRoute('shop')
|
||||
|
||||
->order(1);
|
||||
|
||||
$menu->addTo('shop', 'Commandes', [ 'route' => 'Shop.Admin.Orders.index', 'permission' => 'backend' ])
|
||||
->activeIfRoute(['Shop.Admin.Orders.index'])->order(1);
|
||||
$menu->addTo('shop', 'Factures', [ 'route' => 'Shop.Admin.Invoices.index', 'permission' => 'backend' ])
|
||||
->activeIfRoute(['Shop.Admin.Invoices.index'])->order(2);
|
||||
|
||||
$menu->addTo('shop', 'Categories', [ 'route' => 'Shop.Admin.Products.index', 'permission' => 'backend' ])
|
||||
->activeIfRoute(['Shop.Admin.Products.index'])->order(3);
|
||||
$menu->addTo('shop', 'Categories', [ 'route' => 'Shop.Admin.Sections.index', 'permission' => 'backend' ])
|
||||
->activeIfRoute(['Shop.Admin.Sections.index'])->order(1);
|
||||
$menu->addTo('shop', 'Produits', [ 'route' => 'Shop.Admin.Products.index', 'permission' => 'backend' ])
|
||||
->activeIfRoute(['Shop.Admin.Products.index'])->order(4);
|
||||
->activeIfRoute(['Shop.Admin.Products.index'])->order(2);
|
||||
$menu->addTo('shop', 'Commandes', [ 'route' => 'Shop.Admin.Orders.index', 'permission' => 'backend' ])
|
||||
->activeIfRoute(['Shop.Admin.Orders.index'])->order(3);
|
||||
$menu->addTo('shop', 'Factures', [ 'route' => 'Shop.Admin.Invoices.index', 'permission' => 'backend' ])
|
||||
->activeIfRoute(['Shop.Admin.Invoices.index'])->order(4);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
namespace App\Models\Core\App;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
@@ -12,12 +12,12 @@ class Application extends Model
|
||||
|
||||
public function pages()
|
||||
{
|
||||
return $this->hasMany('App\Models\Modules\ApplicationPage');
|
||||
return $this->hasMany('App\Models\Core\App\ApplicationPage');
|
||||
}
|
||||
|
||||
public function modules()
|
||||
{
|
||||
return $this->hasMany('App\Models\Modules\ApplicationModule');
|
||||
return $this->hasMany('App\Models\Core\App\ApplicationModule');
|
||||
}
|
||||
|
||||
public function scopeActive($query)
|
||||
@@ -1,5 +1,6 @@
|
||||
<?php
|
||||
namespace App\Models;
|
||||
|
||||
namespace App\Models\Core\App;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
@@ -12,7 +13,7 @@ class ApplicationModule extends Model
|
||||
|
||||
public function application()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Modules\Application');
|
||||
return $this->belongsTo('App\Models\Core\App\Application');
|
||||
}
|
||||
|
||||
public function permissions()
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
namespace App\Models\Application;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
@@ -12,7 +12,7 @@ class ApplicationPage extends Model
|
||||
|
||||
public function application()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Modules\Application');
|
||||
return $this->belongsTo('App\Models\Core\App');
|
||||
}
|
||||
|
||||
public function scopeActive($query)
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models\Auth;
|
||||
namespace App\Models\Core\Auth;
|
||||
|
||||
use Laratrust\Models\LaratrustPermission;
|
||||
|
||||
@@ -29,12 +29,12 @@ class Permission extends LaratrustPermission
|
||||
|
||||
public function application()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Application');
|
||||
return $this->belongsTo('App\Models\Core\App\Application');
|
||||
}
|
||||
|
||||
public function application_module()
|
||||
{
|
||||
return $this->belongsTo('App\Models\ApplicationModule');
|
||||
return $this->belongsTo('App\Models\Core\App\ApplicationModule');
|
||||
}
|
||||
|
||||
public function getDisplayNameAttribute($value)
|
||||
@@ -1,7 +1,6 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
namespace App\Models\Core\Auth;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models\Auth;
|
||||
namespace App\Models\Core\Auth;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
@@ -10,12 +10,12 @@ class PermissionRole extends Model
|
||||
|
||||
public function permission()
|
||||
{
|
||||
return $this->belongsTo('App\Permission');
|
||||
return $this->belongsTo('App\Models\Core\Auth\Permission');
|
||||
}
|
||||
|
||||
public function role()
|
||||
{
|
||||
return $this->belongsTo('App\Role');
|
||||
return $this->belongsTo('App\Models\Core\Auth\Role');
|
||||
}
|
||||
|
||||
public function scopeByPermission($query, $id)
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models\Auth;
|
||||
namespace App\Models\Core\Auth;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
@@ -10,17 +10,17 @@ class PermissionUser extends Model
|
||||
|
||||
public function permission()
|
||||
{
|
||||
return $this->belongsTo('App\Permission');
|
||||
return $this->belongsTo('App\Models\Core\Auth\Permission');
|
||||
}
|
||||
|
||||
public function user()
|
||||
{
|
||||
return $this->belongsTo('App\User');
|
||||
return $this->belongsTo('App\Models\Core\Auth\User');
|
||||
}
|
||||
|
||||
public function team()
|
||||
{
|
||||
return $this->belongsTo('App\Team');
|
||||
return $this->belongsTo('App\Models\Core\Auth\Team');
|
||||
}
|
||||
|
||||
public function scopeByUser($query, $id)
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models\Auth;
|
||||
namespace App\Models\Core\Auth;
|
||||
|
||||
use Laratrust\Models\LaratrustRole;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models\Auth;
|
||||
namespace App\Models\Core\Auth;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
@@ -11,12 +11,12 @@ class RoleUser extends Model
|
||||
|
||||
public function user()
|
||||
{
|
||||
return $this->belongsTo('App\User');
|
||||
return $this->belongsTo('App\Models\Core\Auth\User');
|
||||
}
|
||||
|
||||
public function team()
|
||||
{
|
||||
return $this->belongsTo('App\Team');
|
||||
return $this->belongsTo('App\Models\Core\Auth\Team');
|
||||
}
|
||||
|
||||
public function scopeByUser($query, $id)
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models\Auth;
|
||||
namespace App\Models\Core\Auth;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
@@ -15,12 +15,7 @@ class Team extends LaratrustTeam
|
||||
|
||||
public function users()
|
||||
{
|
||||
return $this->hasMany('App\User');
|
||||
}
|
||||
|
||||
public function society()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Society');
|
||||
return $this->hasMany('App\Models\Core\Auth\User');
|
||||
}
|
||||
|
||||
public function scopeActive($query)
|
||||
@@ -28,8 +23,4 @@ class Team extends LaratrustTeam
|
||||
return $query->where('active', 1);
|
||||
}
|
||||
|
||||
public function scopeBySociety($query, $id)
|
||||
{
|
||||
return $query->where('society_id', $id);
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
namespace App;
|
||||
namespace App\Models\Core\Auth;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
@@ -11,12 +11,12 @@ class TeamUser extends Model
|
||||
|
||||
public function user()
|
||||
{
|
||||
return $this->belongsTo('App\User');
|
||||
return $this->belongsTo('App\Models\Core\Auth\User');
|
||||
}
|
||||
|
||||
public function team()
|
||||
{
|
||||
return $this->belongsTo('App\Team');
|
||||
return $this->belongsTo('App\Models\Core\Auth\Team');
|
||||
}
|
||||
|
||||
public function scopeByUser($query, $id)
|
||||
@@ -1,12 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App;
|
||||
namespace App\Models\Core\Auth;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Contracts\Auth\MustVerifyEmail;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
use Illuminate\Foundation\Auth\User as Authenticatable;
|
||||
use Illuminate\Notifications\Notifiable;
|
||||
use Yadahan\AuthenticationLog\AuthenticationLogable;
|
||||
use Laratrust\Traits\LaratrustUserTrait;
|
||||
use Mpociot\Teamwork\Traits\UserHasTeams;
|
||||
use Sebastienheyd\Boilerplate\Notifications\NewUser as NewUserNotification;
|
||||
@@ -55,6 +56,7 @@ class User extends Authenticatable
|
||||
use LaratrustUserTrait;
|
||||
use SoftDeletes;
|
||||
use UserHasTeams;
|
||||
use AuthenticationLogable;
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
@@ -75,40 +77,21 @@ class User extends Authenticatable
|
||||
'email_verified_at' => 'datetime',
|
||||
];
|
||||
|
||||
public function user_detail()
|
||||
public function teams()
|
||||
{
|
||||
return $this->hasOne('App\Models\UserDetail');
|
||||
}
|
||||
|
||||
public function teams2()
|
||||
{
|
||||
return $this->hasManyThrough('App\Team', 'App\Models\TeamUser', 'user_id', 'id', 'id', 'team_id');
|
||||
return $this->hasManyThrough('App\Models\Core\Auth\Team', 'App\Models\Core\Auth\TeamUser', 'user_id', 'id', 'id', 'team_id');
|
||||
}
|
||||
|
||||
public function scopeByTeam($query, $id)
|
||||
{
|
||||
return $query->whereHas('teams2', function ($query) use ($id) {
|
||||
return $query->whereHas('teams', function ($query) use ($id) {
|
||||
$query->where('id', $id);
|
||||
});
|
||||
}
|
||||
|
||||
public function scopeByUniqueTeam($query)
|
||||
{
|
||||
return $query->has('teams2', '=', 1);
|
||||
}
|
||||
|
||||
public function scopeBySociete($query, $id)
|
||||
{
|
||||
return $query->whereHas('teams2', function ($query) use ($id) {
|
||||
$query->bySociete($id);
|
||||
});
|
||||
}
|
||||
|
||||
public function scopeByPartenaire($query, $id)
|
||||
{
|
||||
return $query->whereHas('teams2', function ($query) use ($id) {
|
||||
$query->byPartenaire($id);
|
||||
});
|
||||
return $query->has('teams', '=', 1);
|
||||
}
|
||||
|
||||
public function scopeActive($query)
|
||||
@@ -8,25 +8,16 @@ class Customer extends Model
|
||||
{
|
||||
protected $guarded = ['id'];
|
||||
|
||||
/**
|
||||
* @return \Illuminate\Database\Eloquent\Relations\HasMany
|
||||
*/
|
||||
public function Invoices()
|
||||
{
|
||||
return $this->hasMany('App\Models\Shop\Invoice');
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \Illuminate\Database\Eloquent\Relations\HasMany
|
||||
*/
|
||||
public function Orders()
|
||||
{
|
||||
return $this->hasMany('App\Models\Shop\Order');
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
|
||||
*/
|
||||
public function User()
|
||||
{
|
||||
return $this->belongsTo('App\User');
|
||||
|
||||
21
app/Models/Shop/CustomerAddress.php
Normal file
21
app/Models/Shop/CustomerAddress.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models\Shop;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class CustomerAddress extends Model
|
||||
{
|
||||
protected $guarded = ['id'];
|
||||
|
||||
public function Customer()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Shop\Customer');
|
||||
}
|
||||
|
||||
public function Orders()
|
||||
{
|
||||
return $this->hasMany('App\Models\Shop\Order');
|
||||
}
|
||||
|
||||
}
|
||||
@@ -8,19 +8,19 @@ class ProductPrice extends Model
|
||||
{
|
||||
protected $guarded = ['id'];
|
||||
|
||||
/**
|
||||
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
|
||||
*/
|
||||
public function Product()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Shop\Product');
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
|
||||
*/
|
||||
public function ProductAttribute()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Shop\ProductAttribute');
|
||||
}
|
||||
|
||||
public function scopeByProduct($query, $id)
|
||||
{
|
||||
return $query->where('product_id', $id);
|
||||
}
|
||||
|
||||
}
|
||||
30
app/Models/Shop/ProductSection.php
Normal file
30
app/Models/Shop/ProductSection.php
Normal file
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models\Shop;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class ProductSection extends Model
|
||||
{
|
||||
protected $guarded = ['id'];
|
||||
|
||||
public function Product()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Shop\Product');
|
||||
}
|
||||
|
||||
public function Section()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Shop\Product');
|
||||
}
|
||||
|
||||
public function scopeByProduct($query, $id)
|
||||
{
|
||||
return $query->where('product_id', $id);
|
||||
}
|
||||
|
||||
public function scopeBySection($query, $id)
|
||||
{
|
||||
return $query->where('section_id', $id);
|
||||
}
|
||||
}
|
||||
@@ -4,13 +4,13 @@ namespace App\Models\Shop;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
use Rinvex\Categories\Traits\Categorizable,
|
||||
|
||||
class Section extends Model
|
||||
{
|
||||
use Categorizable;
|
||||
protected $guarded = ['id'];
|
||||
|
||||
/**
|
||||
* @return \Illuminate\Database\Eloquent\Relations\HasMany
|
||||
*/
|
||||
public function Products()
|
||||
{
|
||||
return $this->hasMany('App\Models\Shop\Product');
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace App\Repositories;
|
||||
|
||||
use App\Models\ApplicationPage;
|
||||
use App\Models\Core\App\ApplicationPage;
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
namespace App\Repositories;
|
||||
namespace App\Repositories\Core\App;
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
85
app/Repositories/Core/Auth/Permissions.php
Normal file
85
app/Repositories/Core/Auth/Permissions.php
Normal file
@@ -0,0 +1,85 @@
|
||||
<?php
|
||||
|
||||
namespace App\Repositories\Core\Auth;
|
||||
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Laratrust\Traits\LaratrustUserTrait;
|
||||
use Yajra\DataTables\DataTables;
|
||||
|
||||
use App\Models\Core\Auth\Permission;
|
||||
|
||||
class Permissions
|
||||
{
|
||||
public static function getModules()
|
||||
{
|
||||
return Permission::select('module')->distinct('module')->get()->pluck('module');
|
||||
}
|
||||
|
||||
public static function getOptions()
|
||||
{
|
||||
return Permission::orderBy('name', 'asc')->get()->pluck('name', 'id')->toArray();
|
||||
}
|
||||
|
||||
public static function getInfo($id)
|
||||
{
|
||||
return Permission::find($id);
|
||||
}
|
||||
|
||||
public static function select_all()
|
||||
{
|
||||
return self::getAll()->toArray();
|
||||
}
|
||||
|
||||
public static function select_by_id($id)
|
||||
{
|
||||
return Permission::find($id)->toArray();
|
||||
}
|
||||
|
||||
public static function getAll()
|
||||
{
|
||||
return Permission::orderBy('name', 'asc')->get();
|
||||
}
|
||||
|
||||
public static function getByName($name)
|
||||
{
|
||||
return Permission::where('name', $name)->first();
|
||||
}
|
||||
|
||||
public static function get($id)
|
||||
{
|
||||
return Permission::find($id);
|
||||
}
|
||||
|
||||
public static function getTable($id)
|
||||
{
|
||||
$datas = Permission::withCount(['users']);
|
||||
return Datatables::of($datas)->make(true);
|
||||
}
|
||||
|
||||
public static function delete($id)
|
||||
{
|
||||
Users::destroyByUniquePermission($id);
|
||||
return Permission::destroy($id);
|
||||
}
|
||||
|
||||
public static function store($data)
|
||||
{
|
||||
return (isset($data['id']) && $data['id']) ? self::update($data) : self::create($data);
|
||||
}
|
||||
|
||||
public static function create($data)
|
||||
{
|
||||
return Permission::create($data);
|
||||
}
|
||||
|
||||
public static function update($data)
|
||||
{
|
||||
return Permission::find($data['id'])->update($data);
|
||||
}
|
||||
|
||||
public static function count()
|
||||
{
|
||||
return Permission::count();
|
||||
}
|
||||
}
|
||||
147
app/Repositories/Core/Auth/Roles.php
Normal file
147
app/Repositories/Core/Auth/Roles.php
Normal file
@@ -0,0 +1,147 @@
|
||||
<?php
|
||||
|
||||
namespace App\Repositories;
|
||||
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Laratrust\Traits\LaratrustUserTrait;
|
||||
use Yajra\DataTables\DataTables;
|
||||
|
||||
use App\Models\Core\Auth\Role;
|
||||
use App\Models\Core\Auth\RoleUser;
|
||||
|
||||
class Roles
|
||||
{
|
||||
use LaratrustUserTrait;
|
||||
|
||||
public static function store($input)
|
||||
{
|
||||
if (isset($input['id']) && $input['id']) {
|
||||
return self::update($input);
|
||||
} else {
|
||||
return self::insert($input);
|
||||
}
|
||||
}
|
||||
|
||||
// ajoute une forme juridique
|
||||
public static function insert($input)
|
||||
{
|
||||
$permissions = array_keys($input['permissions']);
|
||||
$name = $input['name'];
|
||||
$translated = $input['translated'];
|
||||
self::setTranslation($name, $translated);
|
||||
$role = Role::create(['name' => $name, 'display_name' => $name, 'translated' => $translated, 'description' => '', 'active' => true]);
|
||||
$role->attachPermissions($permissions);
|
||||
return $role;
|
||||
}
|
||||
|
||||
// met à jour les informations d'une forme juridique
|
||||
public static function update($input, $id = false)
|
||||
{
|
||||
$id = ($id) ? $id : $input['id'];
|
||||
$permissions = array_keys($input['permissions']);
|
||||
$name = $input['name'];
|
||||
$translated = $input['translated'];
|
||||
self::setTranslation($name, $translated);
|
||||
$role = Role::find($id);
|
||||
$role->update(['name' => $name, 'translated' => $translated]);
|
||||
$role->syncPermissions($permissions);
|
||||
return $role;
|
||||
}
|
||||
|
||||
// supprime une forme juridique
|
||||
public static function delete($id)
|
||||
{
|
||||
$old = self::select_by_id($id);
|
||||
self::deleteTranslation($old->translated);
|
||||
return Role::destroy($id);
|
||||
}
|
||||
|
||||
// met à jour le statut actif/inactif d'une forme juridique
|
||||
public static function toggle_active($id, $active)
|
||||
{
|
||||
return Role::find($id)->update(['active' => $active]);
|
||||
}
|
||||
|
||||
// compte le nombre de formes juridiques
|
||||
public static function count()
|
||||
{
|
||||
return Role::count();
|
||||
}
|
||||
|
||||
// récupère toutes les infos sur les formes juridiques
|
||||
public static function select_all()
|
||||
{
|
||||
return Role::all()->toArray();
|
||||
}
|
||||
|
||||
public static function select_by_id($id)
|
||||
{
|
||||
return Role::find($id)->toArray();
|
||||
}
|
||||
|
||||
public static function getWithPermissions($id)
|
||||
{
|
||||
$role = Role::find($id)->toArray();
|
||||
$role['permissions'] = Role::find($id)->permissions->pluck('id')->toArray();
|
||||
return $role;
|
||||
}
|
||||
|
||||
public static function getAll()
|
||||
{
|
||||
return Role::orderBy('name', 'asc')->get();
|
||||
}
|
||||
|
||||
public static function getByName($name)
|
||||
{
|
||||
return Role::where('name', $name)->first();
|
||||
}
|
||||
|
||||
public static function get($id)
|
||||
{
|
||||
return Role::find($id);
|
||||
}
|
||||
|
||||
public static function getTable($id)
|
||||
{
|
||||
$datas = Role::orderBy('name', 'asc');
|
||||
return Datatables::of($datas)->make(true);
|
||||
}
|
||||
|
||||
public static function getRolesByUser($user_id = false)
|
||||
{
|
||||
$user_id = $user_id ? $user_id : Users::getId();
|
||||
return RoleUser::byUser($user_id);
|
||||
}
|
||||
|
||||
public static function getUsersByRole($id)
|
||||
{
|
||||
return RoleUser::byTeam($id)->get();
|
||||
}
|
||||
|
||||
public static function getUsersIdByRole($id)
|
||||
{
|
||||
return self::getUsersByRole($id)->pluck('user_id');
|
||||
}
|
||||
|
||||
public static function getOptions()
|
||||
{
|
||||
return Role::orderBy('name', 'asc')->get()->pluck('name', 'id')->toArray();
|
||||
}
|
||||
|
||||
public static function setTranslation($name, $translated)
|
||||
{
|
||||
$lang = Translate::getLang();
|
||||
$appli = 1; // ContractDrive
|
||||
$client = 1; // Client
|
||||
Translations::setTranslation($name, $translated, $lang, $appli, $client);
|
||||
}
|
||||
|
||||
public static function deleteTranslation($translated)
|
||||
{
|
||||
$lang = Translate::getLang();
|
||||
$appli = 1; // ContractDrive
|
||||
$client = 1; // Client
|
||||
Translations::deleteTranslation($translated, $lang, $appli, $client);
|
||||
}
|
||||
}
|
||||
@@ -1,15 +1,15 @@
|
||||
<?php
|
||||
namespace App\Repositories;
|
||||
namespace App\Repositories\Auth;
|
||||
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Laratrust\Traits\LaratrustUserTrait;
|
||||
use Yajra\Datatables\Datatables;
|
||||
|
||||
use App\Team;
|
||||
use App\Models\TeamUser;
|
||||
use App\Models\Core\Auth\Team;
|
||||
use App\Models\Core\Auth\TeamUser;
|
||||
|
||||
use App\Repositories\Users;
|
||||
use App\Repositories\Core\User\Users;
|
||||
|
||||
class Teams
|
||||
{
|
||||
@@ -1,15 +1,14 @@
|
||||
<?php
|
||||
namespace App\Repositories;
|
||||
|
||||
namespace App\Repositories\Core\Auth;
|
||||
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Laratrust\Traits\LaratrustUserTrait;
|
||||
|
||||
use App\User;
|
||||
use App\Models\RoleUser;
|
||||
use App\Models\Societe;
|
||||
use App\Models\Hestimmo\Partenaire;
|
||||
use App\Models\Core\Auth\User;
|
||||
use App\Models\Core\Auth\RoleUser;
|
||||
|
||||
class Users
|
||||
{
|
||||
@@ -20,46 +19,6 @@ class Users
|
||||
return (self::hasRole('admin')) ? true : false;
|
||||
}
|
||||
|
||||
public static function isPartenaire()
|
||||
{
|
||||
return (self::hasRole('partenaire')) ? self::getPartenaireId() : false;
|
||||
}
|
||||
|
||||
public static function isPromoteur()
|
||||
{
|
||||
return (self::hasRole('promoteur')) ? self::getPromoteurId() : false;
|
||||
}
|
||||
|
||||
public static function isCommercial()
|
||||
{
|
||||
return (self::hasRole('commercial')) ? true : false;
|
||||
}
|
||||
|
||||
public static function getPartenaireId($user_id = false)
|
||||
{
|
||||
$user_id = $user_id ? $user_id : self::getId();
|
||||
$partenaire = Partenaire::byUser($user_id)->first();
|
||||
return $partenaire ? $partenaire->id : null;
|
||||
}
|
||||
|
||||
public static function getPartenaire($user_id = false)
|
||||
{
|
||||
$user_id = $user_id ? $user_id : self::getId();
|
||||
return Societe::partenaireByUser($user_id)->first();
|
||||
}
|
||||
|
||||
public static function getPromoteurId($user_id = false)
|
||||
{
|
||||
$user_id = $user_id ? $user_id : self::getId();
|
||||
return Promoteur::byUser($user_id)->first()->id;
|
||||
}
|
||||
|
||||
public static function getPromoteur($user_id = false)
|
||||
{
|
||||
$user_id = $user_id ? $user_id : self::getId();
|
||||
return Societe::promoteurByUser($user_id)->first();
|
||||
}
|
||||
|
||||
public static function getInfo($id = false)
|
||||
{
|
||||
return self::getWithDetail($id);
|
||||
52
config/activitylog.php
Normal file
52
config/activitylog.php
Normal file
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
* If set to false, no activities will be saved to the database.
|
||||
*/
|
||||
'enabled' => env('ACTIVITY_LOGGER_ENABLED', true),
|
||||
|
||||
/*
|
||||
* When the clean-command is executed, all recording activities older than
|
||||
* the number of days specified here will be deleted.
|
||||
*/
|
||||
'delete_records_older_than_days' => 365,
|
||||
|
||||
/*
|
||||
* If no log name is passed to the activity() helper
|
||||
* we use this default log name.
|
||||
*/
|
||||
'default_log_name' => 'default',
|
||||
|
||||
/*
|
||||
* You can specify an auth driver here that gets user models.
|
||||
* If this is null we'll use the default Laravel auth driver.
|
||||
*/
|
||||
'default_auth_driver' => null,
|
||||
|
||||
/*
|
||||
* If set to true, the subject returns soft deleted models.
|
||||
*/
|
||||
'subject_returns_soft_deleted_models' => false,
|
||||
|
||||
/*
|
||||
* This model will be used to log activity.
|
||||
* It should be implements the Spatie\Activitylog\Contracts\Activity interface
|
||||
* and extend Illuminate\Database\Eloquent\Model.
|
||||
*/
|
||||
'activity_model' => \Spatie\Activitylog\Models\Activity::class,
|
||||
|
||||
/*
|
||||
* This is the name of the table that will be created by the migration and
|
||||
* used by the Activity model shipped with this package.
|
||||
*/
|
||||
'table_name' => 'activity_log',
|
||||
|
||||
/*
|
||||
* This is the database connection that will be used by the migration and
|
||||
* the Activity model shipped with this package. In case it's not set
|
||||
* Laravel database.default will be used instead.
|
||||
*/
|
||||
'database_connection' => env('ACTIVITY_LOGGER_DB_CONNECTION'),
|
||||
];
|
||||
@@ -67,7 +67,7 @@ return [
|
||||
|
|
||||
*/
|
||||
|
||||
'timezone' => 'UTC',
|
||||
'timezone' => 'Europe/Paris',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@@ -80,7 +80,7 @@ return [
|
||||
|
|
||||
*/
|
||||
|
||||
'locale' => 'en',
|
||||
'locale' => 'fr',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
||||
@@ -6,7 +6,7 @@ return [
|
||||
'providers' => [
|
||||
'users' => [
|
||||
'driver' => 'eloquent',
|
||||
'model' => Sebastienheyd\Boilerplate\Models\User::class,
|
||||
'model' => App\Models\Core\Auth\User::class,
|
||||
'table' => 'users',
|
||||
],
|
||||
],
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'user' => Sebastienheyd\Boilerplate\Models\User::class,
|
||||
'role' => Sebastienheyd\Boilerplate\Models\Role::class,
|
||||
'permission' => Sebastienheyd\Boilerplate\Models\Permission::class,
|
||||
'user' => App\Models\Core\Auth\User::class,
|
||||
'role' => App\Models\Core\Auth\Role::class,
|
||||
'permission' => App\Models\Core\Auth\Permission::class,
|
||||
];
|
||||
|
||||
304
config/googlmapper.php
Normal file
304
config/googlmapper.php
Normal file
@@ -0,0 +1,304 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Enable Mapping
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Enable Google mapping.
|
||||
|
|
||||
*/
|
||||
'enabled' => true,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Google API Key
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| A Google API key to link Googlmapper to Google's API.
|
||||
|
|
||||
*/
|
||||
'key' => env('GOOGLE_API_KEY', 'AIzaSyAtqWsq5Ai3GYv6dSa6311tZiYKlbYT4mw'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Google API version
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| A Google API version to use with Googlmapper.
|
||||
|
|
||||
*/
|
||||
'version' => env('GOOGLE_API_VERSION', 'quarterly'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Region
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The region Google API should use required in ISO 3166-1 code format.
|
||||
|
|
||||
*/
|
||||
'region' => 'GB',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Language
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The Language Google API should use required in ISO 639-1 code format.
|
||||
|
|
||||
*/
|
||||
'language' => 'en-gb',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Asynchronous
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Perform the loading and rendering of Googlmapper map asynchronously.
|
||||
|
|
||||
*/
|
||||
'async' => false,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Location Marker
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Automatically add a location marker to the provided location for a
|
||||
| Googlmapper displayed map.
|
||||
|
|
||||
*/
|
||||
'marker' => true,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Center Map
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Automatically center the Googlmapper displayed map on the provided
|
||||
| location.
|
||||
|
|
||||
*/
|
||||
'center' => true,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Locate Users Location
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Automatically center the Googlmapper displayed map on the users current
|
||||
| location.
|
||||
|
|
||||
*/
|
||||
'locate' => false,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Zoom
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The default zoom level Googlmapper should use.
|
||||
|
|
||||
*/
|
||||
'zoom' => 8,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Scroll wheel Zoom
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Set if scroll wheel zoom should be used by Googlmapper.
|
||||
|
|
||||
*/
|
||||
'scrollWheelZoom' => true,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Zoom Control
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Set if zoom control should be displayed by Googlmapper.
|
||||
|
|
||||
*/
|
||||
'zoomControl' => true,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Map Type Control
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Set if map type control should be displayed by Googlmapper.
|
||||
|
|
||||
*/
|
||||
'mapTypeControl' => true,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Scale Control
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Set if scale control should be displayed by Googlmapper.
|
||||
|
|
||||
*/
|
||||
'scaleControl' => false,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Street View Control
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Set if street view control should be displayed by Googlmapper.
|
||||
|
|
||||
*/
|
||||
'streetViewControl' => true,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Rotate Control
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Set if rotate control should be displayed by Googlmapper.
|
||||
|
|
||||
*/
|
||||
'rotateControl' => false,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Fullscreen Control
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Set if fullscreen control should be displayed by Googlmapper.
|
||||
|
|
||||
*/
|
||||
'fullscreenControl' => true,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Map Type
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Set the default Googlmapper displayed map type. (ROADMAP|SATELLITE|HYBRID|TERRAIN)
|
||||
|
|
||||
*/
|
||||
'type' => 'ROADMAP',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Map UI
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Should the default Googlmapper displayed map UI be shown.
|
||||
|
|
||||
*/
|
||||
'ui' => true,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Map Marker
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Set the default Googlmapper map marker behaviour.
|
||||
|
|
||||
*/
|
||||
'markers' => [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Marker Icon
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Display a custom icon for markers. (Link to an image)
|
||||
|
|
||||
*/
|
||||
'icon' => '',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Marker Animation
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Display an animation effect for markers. (NONE|DROP|BOUNCE)
|
||||
|
|
||||
*/
|
||||
'animation' => 'NONE',
|
||||
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Map Marker Cluster
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Enable default Googlmapper map marker cluster.
|
||||
|
|
||||
*/
|
||||
'cluster' => true,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Map Marker Cluster
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Set the default Googlmapper map marker cluster behaviour.
|
||||
|
|
||||
*/
|
||||
'clusters' => [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Cluster Icon
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Display custom images for clusters using icon path. (Link to an image path)
|
||||
|
|
||||
*/
|
||||
'icon' => '//googlearchive.github.io/js-marker-clusterer/images/m',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Cluster Size
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The grid size of a cluster in pixels.
|
||||
|
|
||||
*/
|
||||
'grid' => 60,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Cluster Zoom
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The maximum zoom level that a marker can be part of a cluster.
|
||||
|
|
||||
*/
|
||||
'zoom' => null,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Cluster Center
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Whether the center of each cluster should be the average of all markers
|
||||
| in the cluster.
|
||||
|
|
||||
*/
|
||||
'center' => false,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Cluster Size
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The minimum number of markers to be in a cluster before the markers are
|
||||
| hidden and a count is shown.
|
||||
|
|
||||
*/
|
||||
'size' => 2
|
||||
|
||||
],
|
||||
|
||||
];
|
||||
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class CreateActivityLogTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::connection(config('activitylog.database_connection'))->create(config('activitylog.table_name'), function (Blueprint $table) {
|
||||
$table->bigIncrements('id');
|
||||
$table->string('log_name')->nullable();
|
||||
$table->text('description');
|
||||
$table->unsignedBigInteger('subject_id')->nullable();
|
||||
$table->string('subject_type')->nullable();
|
||||
$table->unsignedBigInteger('causer_id')->nullable();
|
||||
$table->string('causer_type')->nullable();
|
||||
$table->json('properties')->nullable();
|
||||
$table->timestamps();
|
||||
|
||||
$table->index('log_name');
|
||||
$table->index(['subject_id', 'subject_type'], 'subject');
|
||||
$table->index(['causer_id', 'causer_type'], 'causer');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::connection(config('activitylog.database_connection'))->dropIfExists(config('activitylog.table_name'));
|
||||
}
|
||||
}
|
||||
42
resources/_back/auth/firstlogin.blade.php
Normal file
42
resources/_back/auth/firstlogin.blade.php
Normal file
@@ -0,0 +1,42 @@
|
||||
@extends('boilerplate::auth.layout', [
|
||||
'title' => __('boilerplate::auth.firstlogin.title'),
|
||||
'bodyClass' => 'hold-transition login-page'
|
||||
])
|
||||
|
||||
@section('content')
|
||||
@component('boilerplate::auth.loginbox')
|
||||
{{ Form::open(['route' => 'boilerplate.users.firstlogin', 'autocomplete' => 'off']) }}
|
||||
<input type="hidden" name="token" value="{{ $token }}">
|
||||
<div class="alert alert-info">
|
||||
{{ __('boilerplate::auth.firstlogin.intro') }}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
{{ Form::input('password', 'password', Request::old('password'), ['class' => 'form-control'.$errors->first('password', ' is-invalid'), 'autofocus', 'placeholder' => __('boilerplate::auth.fields.password')]) }}
|
||||
<div class="input-group-append">
|
||||
<div class="input-group-text">
|
||||
<span class="fas fa-lock"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{!! $errors->first('password','<div class="error-bubble"><div>:message</div></div>') !!}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
{{ Form::input('password', 'password_confirmation', Request::old('password_confirmation'), ['class' => 'form-control'.$errors->first('password_confirmation', ' is-invalid'), 'placeholder' => __('boilerplate::auth.fields.password_confirm')]) }}
|
||||
<div class="input-group-append">
|
||||
<div class="input-group-text">
|
||||
<span class="fas fa-lock"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{!! $errors->first('password_confirmation','<div class="error-bubble"><div>:message</div></div>') !!}
|
||||
</div>
|
||||
<div class="form-group text-center">
|
||||
<button type="submit" class="btn btn-primary">
|
||||
{{ __('boilerplate::auth.firstlogin.button') }}
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
@endcomponent
|
||||
@endsection
|
||||
15
resources/_back/auth/layout.blade.php
Normal file
15
resources/_back/auth/layout.blade.php
Normal file
@@ -0,0 +1,15 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ App::getLocale() }}">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
<title>{{ $title }} | {{ config('app.name') }}</title>
|
||||
<link rel="stylesheet" href="{{ mix('/adminlte.min.css', '/assets/vendor/boilerplate') }}">
|
||||
</head>
|
||||
<body class="hold-transition {{ $bodyClass ?? 'login-page'}}">
|
||||
@yield('content')
|
||||
</body>
|
||||
</html>
|
||||
55
resources/_back/auth/login.blade.php
Normal file
55
resources/_back/auth/login.blade.php
Normal file
@@ -0,0 +1,55 @@
|
||||
@extends('boilerplate::auth.layout', [
|
||||
'title' => __('boilerplate::auth.login.title'),
|
||||
'bodyClass' => 'hold-transition login-page'
|
||||
])
|
||||
|
||||
@section('content')
|
||||
@component('boilerplate::auth.loginbox')
|
||||
<p class="login-box-msg text-sm">{{ __('boilerplate::auth.login.intro') }}</p>
|
||||
{!! Form::open(['route' => 'boilerplate.login', 'method' => 'post', 'autocomplete'=> 'off']) !!}
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
{{ Form::email('email', old('email'), ['class' => 'form-control'.$errors->first('email', ' is-invalid'), 'placeholder' => __('boilerplate::auth.fields.email'), 'required', 'autofocus']) }}
|
||||
<div class="input-group-append">
|
||||
<div class="input-group-text">
|
||||
<span class="fas fa-envelope"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{!! $errors->first('email','<div class="error-bubble"><div>:message</div></div>') !!}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
{{ Form::password('password', ['class' => 'form-control'.$errors->first('password', ' is-invalid'), 'placeholder' => __('boilerplate::auth.fields.password'), 'required']) }}
|
||||
<div class="input-group-append">
|
||||
<div class="input-group-text">
|
||||
<span class="fas fa-lock"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{!! $errors->first('password','<div class="error-bubble"><div>:message</div></div>') !!}
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-7">
|
||||
<div class="icheck-primary">
|
||||
<input type="checkbox" id="remember" name="remember" {{ old('remember') ? 'checked' : '' }}>
|
||||
<label for="remember" class="font-weight-normal text-sm">
|
||||
{{ __('boilerplate::auth.login.rememberme') }}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-5">
|
||||
<button type="submit" class="btn btn-primary btn-block">{{ __('boilerplate::auth.login.signin') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
{!! Form::close() !!}
|
||||
<p class="mb-1 text-sm">
|
||||
<a href="{{ route('boilerplate.password.request') }}">{{ __('boilerplate::auth.login.forgotpassword') }}</a><br>
|
||||
</p>
|
||||
@if(config('boilerplate.auth.register'))
|
||||
<p class="mb-0 text-sm">
|
||||
<a href="{{ route('boilerplate.register') }}" class="text-center">{{ __('boilerplate::auth.login.register') }}</a>
|
||||
</p>
|
||||
@endif
|
||||
@endcomponent
|
||||
@endsection
|
||||
12
resources/_back/auth/loginbox.blade.php
Normal file
12
resources/_back/auth/loginbox.blade.php
Normal file
@@ -0,0 +1,12 @@
|
||||
<div class="login-box">
|
||||
<div class="login-logo">
|
||||
{!! config('boilerplate.theme.sidebar.brand.logo.icon') ?? '' !!}
|
||||
{!! config('boilerplate.theme.sidebar.brand.logo.text') ?? $title ?? '' !!}
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body login-card-body">
|
||||
{{ $slot }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
44
resources/_back/auth/passwords/email.blade.php
Normal file
44
resources/_back/auth/passwords/email.blade.php
Normal file
@@ -0,0 +1,44 @@
|
||||
@extends('boilerplate::auth.layout', ['title' => __('boilerplate::auth.password.title'), 'bodyClass' => 'hold-transition login-page'])
|
||||
|
||||
@section('content')
|
||||
@component('boilerplate::auth.loginbox')
|
||||
<p class="login-box-msg text-sm">{{ __('boilerplate::auth.password.intro') }}</p>
|
||||
@if (session('status'))
|
||||
<div class="alert alert-success d-flex align-items-center">
|
||||
<span class="far fa-check-circle fa-3x mr-3"></span>
|
||||
{{ session('status') }}
|
||||
</div>
|
||||
@else
|
||||
{!! Form::open(['route' => 'boilerplate.password.email', 'method' => 'post', 'autocomplete'=> 'off']) !!}
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
{{ Form::email('email', old('email'), ['class' => 'form-control'.$errors->first('email', ' is-invalid'), 'placeholder' => __('boilerplate::auth.fields.email'), 'required', 'autofocus']) }}
|
||||
<div class="input-group-append">
|
||||
<div class="input-group-text">
|
||||
<span class="fas fa-envelope"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{!! $errors->first('email','<div class="error-bubble"><div>:message</div></div>') !!}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="row">
|
||||
<div class="col-12 text-right">
|
||||
<button type="submit" class="btn btn-primary">
|
||||
{{ __('boilerplate::auth.password.submit') }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{!! Form::close() !!}
|
||||
@endif
|
||||
<p class="mb-0 text-sm">
|
||||
<a href="{{ route('boilerplate.login') }}">{{ __('boilerplate::auth.password.login_link') }}</a>
|
||||
</p>
|
||||
@if(config('boilerplate.auth.register'))
|
||||
<p class="mb-0 text-sm">
|
||||
<a href="{{ route('boilerplate.register') }}" class="text-center">{{ __('boilerplate::auth.login.register') }}</a>
|
||||
</p>
|
||||
@endif
|
||||
@endcomponent
|
||||
@endsection
|
||||
48
resources/_back/auth/passwords/reset.blade.php
Normal file
48
resources/_back/auth/passwords/reset.blade.php
Normal file
@@ -0,0 +1,48 @@
|
||||
@extends('boilerplate::auth.layout', ['title' => __('boilerplate::auth.password_reset.title')])
|
||||
|
||||
@section('content')
|
||||
@component('boilerplate::auth.loginbox')
|
||||
<p class="login-box-msg text-sm">{{ __('boilerplate::auth.password_reset.intro') }}</p>
|
||||
{!! Form::open(['route' => 'boilerplate.password.reset.post', 'method' => 'post', 'autocomplete'=> 'off']) !!}
|
||||
{!! Form::hidden('token', $token) !!}
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
{{ Form::email('email', old('email', $email), ['class' => 'form-control'.$errors->first('email', ' is-invalid'), 'placeholder' => __('boilerplate::auth.fields.email'), 'required', 'autofocus']) }}
|
||||
<div class="input-group-append">
|
||||
<div class="input-group-text">
|
||||
<span class="fas fa-envelope"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{!! $errors->first('email','<div class="error-bubble"><div>:message</div></div>') !!}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
{{ Form::password('password', ['class' => 'form-control'.$errors->first('password', ' is-invalid'), 'placeholder' => __('boilerplate::auth.fields.password'), 'required']) }}
|
||||
<div class="input-group-append">
|
||||
<div class="input-group-text">
|
||||
<span class="fas fa-lock"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{!! $errors->first('password','<div class="error-bubble"><div>:message</div></div>') !!}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
{{ Form::password('password_confirmation', ['class' => 'form-control'.$errors->first('password_confirmation', ' is-invalid'), 'placeholder' => __('boilerplate::auth.fields.password_confirm'), 'required']) }}
|
||||
<div class="input-group-append">
|
||||
<div class="input-group-text">
|
||||
<span class="fas fa-lock"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{!! $errors->first('password_confirmation','<div class="error-bubble"><div>:message</div></div>') !!}
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12 text-center">
|
||||
<button class="btn btn-primary" type="submit">{{ __('boilerplate::auth.password_reset.submit') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
{!! Form::close() !!}
|
||||
@endcomponent
|
||||
@endsection
|
||||
76
resources/_back/auth/register.blade.php
Normal file
76
resources/_back/auth/register.blade.php
Normal file
@@ -0,0 +1,76 @@
|
||||
@extends('boilerplate::auth.layout', ['title' => __('boilerplate::auth.register.title'), 'bodyClass' => 'hold-transition login-page'])
|
||||
|
||||
@section('content')
|
||||
@component('boilerplate::auth.loginbox')
|
||||
<p class="login-box-msg text-sm">{{ __('boilerplate::auth.register.intro') }}</p>
|
||||
{!! Form::open(['route' => 'boilerplate.register', 'method' => 'post', 'autocomplete'=> 'off']) !!}
|
||||
<div class="mb-3">
|
||||
<div class="input-group">
|
||||
{{ Form::text('first_name', old('first_name'), ['class' => 'form-control'.$errors->first('first_name', ' is-invalid'), 'placeholder' => __('boilerplate::auth.fields.first_name'), 'required', 'autofocus']) }}
|
||||
<div class="input-group-append">
|
||||
<div class="input-group-text">
|
||||
<span class="fas fa-user"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{!! $errors->first('first_name','<div class="error-bubble"><div>:message</div></div>') !!}
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<div class="input-group">
|
||||
{{ Form::text('last_name', old('last_name'), ['class' => 'form-control'.$errors->first('last_name', ' is-invalid'), 'placeholder' => __('boilerplate::auth.fields.last_name'), 'required']) }}
|
||||
<div class="input-group-append">
|
||||
<div class="input-group-text">
|
||||
<span class="fas fa-user"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{!! $errors->first('last_name','<div class="error-bubble"><div>:message</div></div>') !!}
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<div class="input-group">
|
||||
{{ Form::email('email', old('email'), ['class' => 'form-control'.$errors->first('email', ' is-invalid'), 'placeholder' => __('boilerplate::auth.fields.email'), 'required']) }}
|
||||
<div class="input-group-append">
|
||||
<div class="input-group-text">
|
||||
<span class="fas fa-envelope"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{!! $errors->first('email','<div class="error-bubble"><div>:message</div></div>') !!}
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<div class="input-group">
|
||||
{{ Form::password('password', ['class' => 'form-control'.$errors->first('password', ' is-invalid'), 'placeholder' => __('boilerplate::auth.fields.password'), 'required']) }}
|
||||
<div class="input-group-append">
|
||||
<div class="input-group-text">
|
||||
<span class="fas fa-lock"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{!! $errors->first('password','<div class="error-bubble"><div>:message</div></div>') !!}
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<div class="input-group">
|
||||
{{ Form::password('password_confirmation', ['class' => 'form-control'.$errors->first('password_confirmation', ' is-invalid'), 'placeholder' => __('boilerplate::auth.fields.password_confirm'), 'required']) }}
|
||||
<div class="input-group-append">
|
||||
<div class="input-group-text">
|
||||
<span class="fas fa-lock"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{!! $errors->first('password_confirmation','<div class="error-bubble"><div>:message</div></div>') !!}
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<div class="col-12 text-right">
|
||||
<button type="submit" class="btn btn-primary">
|
||||
{{ __('boilerplate::auth.register.register_button') }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
{!! Form::close() !!}
|
||||
@if(!$firstUser)
|
||||
<p class="mb-0 text-sm">
|
||||
<a href="{{ route('boilerplate.login') }}">{{ __('boilerplate::auth.register.login_link') }}</a><br>
|
||||
</p>
|
||||
@endif
|
||||
@endcomponent
|
||||
@endsection
|
||||
24
resources/_back/auth/verify.blade.php
Normal file
24
resources/_back/auth/verify.blade.php
Normal file
@@ -0,0 +1,24 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<div class="container">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-8">
|
||||
<div class="card">
|
||||
<div class="card-header">{{ __('Verify Your Email Address') }}</div>
|
||||
|
||||
<div class="card-body">
|
||||
@if (session('resent'))
|
||||
<div class="alert alert-success" role="alert">
|
||||
{{ __('A fresh verification link has been sent to your email address.') }}
|
||||
</div>
|
||||
@endif
|
||||
|
||||
{{ __('Before proceeding, please check your email for a verification link.') }}
|
||||
{{ __('If you did not receive the email') }}, <a href="{{ route('verification.resend') }}">{{ __('click here to request another') }}</a>.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
32
resources/lang/fr/shop.php
Normal file
32
resources/lang/fr/shop.php
Normal file
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'title' => 'Résidences',
|
||||
'name' => 'Référence',
|
||||
'parameters' => 'Paramètres',
|
||||
'label' => 'Libellé',
|
||||
'description' => 'Description',
|
||||
'savebutton' => 'Enregistrer',
|
||||
'sections' => [
|
||||
'title' => 'Gestion des catégories',
|
||||
'description' => 'Gérer les catégories',
|
||||
'add' => 'Ajouter une catégorie',
|
||||
'edit' => 'Editer une catégorie',
|
||||
'del' => 'Effacer une catégorie',
|
||||
'list' => [
|
||||
'title' => 'Liste des catégories',
|
||||
],
|
||||
'successadd' => 'La catégorie a été correctement ajoutée',
|
||||
'successmod' => 'La catégorie a été correctement modifiée',
|
||||
'successdel' => 'La catégorie a été correctement effacée',
|
||||
'confirmdelete' => 'Confirmez-vous la suppression de la catégorie ?',
|
||||
],
|
||||
'products' => [
|
||||
'title' => 'Gestion des produits',
|
||||
'description' => 'Gérer les produits',
|
||||
],
|
||||
'customers' => [
|
||||
'title' => "Gestion des clients",
|
||||
'description' => 'Gérer les clients',
|
||||
],
|
||||
];
|
||||
@@ -3,6 +3,8 @@
|
||||
'bodyClass' => 'hold-transition login-page'
|
||||
])
|
||||
|
||||
@include('boilerplate::load.icheck')
|
||||
|
||||
@prepend('js')
|
||||
@include('components.js.ie11')
|
||||
@include('components.js', ['js' => '/js/main.min.js'])
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
<button @if (isset($type))type="{{ $type }}"@else type="submit"@endif class="btn btn-primary save @if (isset($class)){{ $class }}@endif" @if (isset($id_name)) id="{{ $id_name }}"@endif>
|
||||
<button @if (isset($type))type="{{ $type }}"@else type="submit"@endif class="btn btn-success save @if (isset($class)){{ $class }}@endif" @if (isset($id_name)) id="{{ $id_name }}"@endif>
|
||||
<i class="fa fa-fw fa-save"></i> Enregistrer
|
||||
</button>
|
||||
@@ -1,7 +1,7 @@
|
||||
@extends('layouts.site', [
|
||||
'title' => 'Banques',
|
||||
'subtitle' => 'Liste des banques',
|
||||
'breadcrumb' => ['Banques']
|
||||
'title' => 'Accueil',
|
||||
'subtitle' => '',
|
||||
'breadcrumb' => ['Accueil']
|
||||
])
|
||||
|
||||
@section('content')
|
||||
|
||||
@@ -1,24 +1,34 @@
|
||||
<h1>
|
||||
<div class="content-header pt-2 pb-1">
|
||||
<div class="container-fluid">
|
||||
<div class="row mb-2 align-items-end">
|
||||
<div class="col-sm-6">
|
||||
<h1 class="m-0 text-dark">
|
||||
{{ $title }}
|
||||
@if(isset($subtitle))
|
||||
<small>{{ $subtitle }}</small>
|
||||
<small class="font-weight-light ml-1 text-md">{{ $subtitle }}</small>
|
||||
@endif
|
||||
</h1>
|
||||
<ol class="breadcrumb">
|
||||
<li>
|
||||
</h1>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<ol class="breadcrumb float-sm-right text-sm">
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{{ route('boilerplate.dashboard') }}">
|
||||
<i class="fa fa-home"></i> {{ __('boilerplate::layout.home') }}
|
||||
{{ __('boilerplate::layout.home') }}
|
||||
</a>
|
||||
</li>
|
||||
@if(isset($breadcrumb))
|
||||
@foreach($breadcrumb as $label => $route)
|
||||
@if(is_numeric($label))
|
||||
<li class="active">{{ $route }}</li>
|
||||
<li class="breadcrumb-item active">{{ $route }}</li>
|
||||
@elseif(is_array($route))
|
||||
<li><a href="{{ route($route[0], $route[1]) }}">{{ $label }}</a></li>
|
||||
<li class="breadcrumb-item"><a href="{{ route($route[0], $route[1]) }}">{{ $label }}</a></li>
|
||||
@else
|
||||
<li><a href="{{ route($route) }}">{{ $label }}</a></li>
|
||||
<li class="breadcrumb-item"><a href="{{ route($route) }}">{{ $label }}</a></li>
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
</ol>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,12 +1,18 @@
|
||||
<footer class="main-footer">
|
||||
<footer class="main-footer text-sm">
|
||||
<strong>
|
||||
Made by
|
||||
@if(config('boilerplate.app.vendorlink'))
|
||||
<a href="{{ config('boilerplate.app.vendorlink') }}">
|
||||
{!! config('boilerplate.app.vendorname') !!}
|
||||
© {{ date('Y') }}
|
||||
@if(config('boilerplate.theme.footer.vendorlink'))
|
||||
<a href="{{ config('boilerplate.theme.footer.vendorlink') }}">
|
||||
{!! config('boilerplate.theme.footer.vendorname') !!}
|
||||
</a>.
|
||||
@else
|
||||
{!! config('boilerplate.app.vendorname') !!}.
|
||||
{!! config('boilerplate.theme.footer.vendorname') !!}.
|
||||
@endif
|
||||
</strong>
|
||||
{{ __('boilerplate::layout.rightsres') }}
|
||||
<div class="float-right d-none d-sm-inline">
|
||||
<a href="https://github.com/sebastienheyd/boilerplate">
|
||||
Boilerplate
|
||||
</a>
|
||||
</div>
|
||||
</footer>
|
||||
@@ -1,30 +1,30 @@
|
||||
<header class="main-header">
|
||||
<a href="{{ route('boilerplate.dashboard') }}" class="logo">
|
||||
<span class="logo-mini"></span>
|
||||
<span class="logo-lg"></span>
|
||||
</a>
|
||||
<nav class="navbar navbar-static-top">
|
||||
<a href="#" class="sidebar-toggle" data-toggle="push-menu" role="button">
|
||||
<span class="sr-only">Toggle</span>
|
||||
</a>
|
||||
<div class="navbar-custom-menu">
|
||||
<nav class="main-header navbar navbar-expand navbar-{{ config('boilerplate.theme.navbar.bg') }} navbar-{{ config('boilerplate.theme.navbar.type') }} {{ config('boilerplate.theme.navbar.border') ? "" : "border-bottom-0" }}">
|
||||
<ul class="nav navbar-nav">
|
||||
<li>
|
||||
<a href="{{ route('boilerplate.user.profile') }}">
|
||||
<img src="{{ Auth::user()->avatar_url }}" class="user-image avatar" alt="User Image"/>
|
||||
<span class="hidden-xs">{{ Auth::user()->name }}</span>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link sidebar-toggle" data-widget="pushmenu" href="#"><i class="fas fa-bars"></i></a>
|
||||
</li>
|
||||
@foreach(app('boilerplate.navbar.items')->getItems('left') as $view)
|
||||
@include($view)
|
||||
@endforeach
|
||||
</ul>
|
||||
<ul class="nav navbar-nav ml-auto d-flex">
|
||||
@if(config('boilerplate.theme.navbar.user.visible'))
|
||||
<li class="nav-item">
|
||||
<a href="{{ route('boilerplate.user.profile') }}" class="nav-link d-flex align-items-center">
|
||||
<img src="{{ Auth::user()->avatar_url }}" class="avatar-img img-circle bg-gray mr-2 elevation-{{ config('boilerplate.theme.navbar.user.shadow') }}" alt="{{ Auth::user()->name }}" height="32">
|
||||
{{ Auth::user()->name }}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ route('boilerplate.logout') }}" class="logout">
|
||||
<span class="hidden-xs">
|
||||
<span class="fa fa-power-off"></span> {{ __('boilerplate::layout.logout') }}
|
||||
</span>
|
||||
</a>
|
||||
{!! Form::open(['route' => 'boilerplate.logout', 'method' => 'post', 'id' => 'logout-form', 'style'=> 'display:none']) !!}
|
||||
@endif
|
||||
@foreach(app('boilerplate.navbar.items')->getItems('right') as $view)
|
||||
@include($view)
|
||||
@endforeach
|
||||
<li class="nav-item">
|
||||
{!! Form::open(['route' => 'boilerplate.logout', 'method' => 'post', 'id' => 'logout-form']) !!}
|
||||
<button type="submit" class="btn nav-link d-flex align-items-center logout" data-question="{{ __('boilerplate::layout.logoutconfirm') }}" data-toggle="tooltip" title="{{ __('boilerplate::layout.logout') }}">
|
||||
<span class="fa fa-power-off hidden-xs pr-1"></span>
|
||||
</button>
|
||||
{!! Form::close() !!}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
</nav>
|
||||
@@ -7,44 +7,56 @@
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
<title>{{ $title }} | {{ config('app.name') }}</title>
|
||||
<link rel="stylesheet" href="/assets/vendor/boilerplate/boilerplate.min.css">
|
||||
<link rel="stylesheet" href="{{ mix('/adminlte.min.css', '/assets/vendor/boilerplate') }}">
|
||||
@stack('css')
|
||||
</head>
|
||||
<body class="sidebar-mini skin-{{ config('boilerplate.app.skin', 'blue') }}">
|
||||
<body class="layout-fixed layout-navbar-fixed sidebar-mini">
|
||||
<div class="wrapper">
|
||||
@include('layout.header')
|
||||
@include('boilerplate::layout.mainsidebar')
|
||||
<div class="content-wrapper">
|
||||
<section class="content-header">
|
||||
@include('layout.contentheader')
|
||||
</section>
|
||||
<section class="content">
|
||||
<div class="container-fluid">
|
||||
@yield('content')
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
@include('layout.footer')
|
||||
@includeWhen(config('boilerplate.theme.footer.visible', true), 'layout.footer')
|
||||
<aside class="control-sidebar control-sidebar-{{ config('boilerplate.theme.sidebar.type') }} elevation-{{ config('boilerplate.theme.sidebar.shadow') }}">
|
||||
<button class="btn btn-sm" data-widget="control-sidebar"><span class="fa fa-times"></span></button>
|
||||
<div class="control-sidebar-content">
|
||||
<div class="p-3">
|
||||
@yield('right-sidebar')
|
||||
</div>
|
||||
</div>
|
||||
</aside>
|
||||
<div class="control-sidebar-bg"></div>
|
||||
</div>
|
||||
<script src="{{ mix('/bootstrap.min.js', '/assets/vendor/boilerplate') }}"></script>
|
||||
<script src="{{ mix('/admin-lte.min.js', '/assets/vendor/boilerplate') }}"></script>
|
||||
<script src="{{ mix('/boilerplate.min.js', '/assets/vendor/boilerplate') }}"></script>
|
||||
<script>
|
||||
$(function() {
|
||||
$.ajaxSetup({headers:{'X-CSRF-TOKEN':'{{ csrf_token() }}'}});
|
||||
bootbox.setLocale("{{ App::getLocale() }}");
|
||||
$.ajaxSetup({headers: {'X-CSRF-TOKEN': '{{ csrf_token() }}'}});
|
||||
bootbox.setLocale('{{ App::getLocale() }}');
|
||||
var session = {
|
||||
keepalive: "{{ route('boilerplate.keepalive', null, false) }}",
|
||||
expire: {{ time() + config('session.lifetime') * 60 }},
|
||||
lifetime: {{ config('session.lifetime') * 60 }},
|
||||
id: "{{ session()->getId() }}"
|
||||
}
|
||||
</script>
|
||||
@if(Session::has('growl'))
|
||||
<script>
|
||||
$(function() {
|
||||
@if(is_array(Session::get('growl')))
|
||||
growl("{!! Session::get('growl')[0] !!}", "{{ Session::get('growl')[1] }}");
|
||||
@else
|
||||
growl("{{Session::get('growl')}}");
|
||||
@endif
|
||||
@endif
|
||||
$('.logout').click(function(e){
|
||||
e.preventDefault();
|
||||
if(bootbox.confirm("{{ __('boilerplate::layout.logoutconfirm') }}", function(e){
|
||||
if(e === false) return;
|
||||
$('#logout-form').submit();
|
||||
}));
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endif
|
||||
@stack('js')
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,18 +1,23 @@
|
||||
<aside class="main-sidebar">
|
||||
<section class="sidebar" style="height: auto;">
|
||||
<div class="user-panel">
|
||||
<div class="pull-left image">
|
||||
<a href="{{ route('boilerplate.user.profile') }}">
|
||||
<img src="{{ Auth::user()->avatar_url }}" class="img-circle avatar" alt="{{ Auth::user()->name }}"/>
|
||||
<aside class="main-sidebar {{ config('boilerplate.theme.sidebar.border') ? 'border-right' : ''}} sidebar-{{ config('boilerplate.theme.sidebar.type') }}-{{ config('boilerplate.theme.sidebar.links.bg') }} elevation-{{ config('boilerplate.theme.sidebar.shadow') }}">
|
||||
<a href="{{ route('boilerplate.dashboard') }}" class="brand-link {{ !empty(config('boilerplate.theme.sidebar.brand.bg')) ? 'bg-'.config('boilerplate.theme.sidebar.brand.bg') : ''}}">
|
||||
<span class="brand-logo bg-{{ config('boilerplate.theme.sidebar.brand.logo.bg') }} elevation-{{ config('boilerplate.theme.sidebar.brand.logo.shadow') }}">
|
||||
{!! config('boilerplate.theme.sidebar.brand.logo.icon') !!}
|
||||
</span>
|
||||
<span class="brand-text">{!! config('boilerplate.theme.sidebar.brand.logo.text') !!}</span>
|
||||
</a>
|
||||
<div class="sidebar">
|
||||
@if(config('boilerplate.theme.sidebar.user.visible'))
|
||||
<div class="user-panel py-3 d-flex">
|
||||
<div class="image">
|
||||
<img src="{{ Auth::user()->avatar_url }}" class="avatar-img img-circle elevation-{{ config('boilerplate.theme.sidebar.user.shadow') }}" alt="{{ Auth::user()->name }}">
|
||||
</div>
|
||||
<div class="pull-left info">
|
||||
<p>{{ Auth::user()->name }}</p>
|
||||
<a href="{{ route('boilerplate.logout') }}" class="logout">
|
||||
<i class="fa fa-circle text-success"></i> {{ __('boilerplate::layout.online') }}
|
||||
</a>
|
||||
<div class="info">
|
||||
<a href="{{ route('boilerplate.user.profile') }}" class="d-block">{{ Auth::user()->name }}</a>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
<nav class="mt-3">
|
||||
{!! $menu !!}
|
||||
</section>
|
||||
</nav>
|
||||
</div>
|
||||
</aside>
|
||||
@@ -35,7 +35,7 @@
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
|
||||
<a class="dropdown-item" href="{{ route('boilerplate.dashboard') }}"><i class="fa fa-cog"></i> Accès à l'administration</a>
|
||||
<a class="dropdown-item" href="{{ route('admin') }}"><i class="fa fa-cog"></i> Accès à l'administration</a>
|
||||
|
||||
<a class="dropdown-item" href="{{ route('logout') }}" onclick="event.preventDefault(); document.getElementById('logout-form').submit();">
|
||||
Déconnexion
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
<div class="row">
|
||||
<div class="col-md-3 col-sm-6 col-xs-12">
|
||||
<a href="{!! route('Shop.Admin.Orders.index') !!}">
|
||||
@include('shop.admin.Dashboard.components.infobox', ['count' => (isset($nb_lots_envente)) ? $nb_lots_envente : 0, 'class' => 'bg-aqua', 'icon' => 'fa-building-o', 'text' => 'Lots disponibles'])
|
||||
@include('shop.admin.Dashboard.components.infobox', ['count' => (isset($nb_orders)) ? $nb_orders : 0, 'class' => 'bg-aqua', 'icon' => 'fa-building-o', 'text' => 'Commandes'])
|
||||
</a>
|
||||
</div>
|
||||
<!-- /.col -->
|
||||
<div class="col-md-3 col-sm-6 col-xs-12">
|
||||
<a href="{!! route('Shop.Admin.Invoices.index') !!}">
|
||||
@include('shop.admin.Dashboard.components.infobox', ['count' => (isset($nb_lots_optionne)) ? $nb_lots_optionne : 0, 'class' => 'bg-red', 'icon' => 'fa-clock-o', 'text' => 'Options'])
|
||||
@include('shop.admin.Dashboard.components.infobox', ['count' => (isset($nb_invoices)) ? $nb_invoices : 0, 'class' => 'bg-red', 'icon' => 'fa-clock-o', 'text' => 'Factures'])
|
||||
</a>
|
||||
</div>
|
||||
<!-- /.col -->
|
||||
@@ -17,13 +17,13 @@
|
||||
|
||||
<div class="col-md-3 col-sm-6 col-xs-12">
|
||||
<a href="{!!route('Shop.Admin.Orders.index') !!}">
|
||||
@include('shop.admin.Dashboard.components.infobox', ['count' => (isset($nb_dossiers_encours)) ? $nb_dossiers_encours : 0, 'class' => 'bg-yellow', 'icon' => 'fa-hourglass-start', 'text' => 'Dossiers en cours'])
|
||||
@include('shop.admin.Dashboard.components.infobox', ['count' => (isset($nb_dossiers_encours)) ? $nb_dossiers_encours : 0, 'class' => 'bg-yellow', 'icon' => 'fa-hourglass-start', 'text' => 'CA du mois'])
|
||||
</a>
|
||||
</div>
|
||||
<!-- /.col -->
|
||||
<div class="col-md-3 col-sm-6 col-xs-12">
|
||||
<a href="{!! route('Shop.Admin.Orders.index') !!}">
|
||||
@include('shop.admin.Dashboard.components.infobox', ['count' => (isset($nb_ventes)) ? $nb_ventes : 0, 'class' => 'bg-green', 'icon' => 'fa-check-square-o', 'text' => 'Ventes'])
|
||||
@include('shop.admin.Dashboard.components.infobox', ['count' => (isset($nb_ventes)) ? $nb_ventes : 0, 'class' => 'bg-green', 'icon' => 'fa-check-square-o', 'text' => 'Panier moyen'])
|
||||
</a>
|
||||
</div>
|
||||
<!-- /.col -->
|
||||
|
||||
@@ -1,38 +0,0 @@
|
||||
@extends('layout.index', [
|
||||
'title' => __('lots.title'),
|
||||
'subtitle' => __('lots.create.title'),
|
||||
'breadcrumb' => [__('lots.title'), __('lots.create.title')]
|
||||
])
|
||||
|
||||
@include('boilerplate::load.icheck')
|
||||
@include('boilerplate::load.fileinput')
|
||||
|
||||
@prepend('js')
|
||||
@include('components.js', ['js' => '/js/main.min.js'])
|
||||
@endprepend
|
||||
|
||||
@push('css')
|
||||
@include('components.css', ['css' => '/css/main.min.css'])
|
||||
@endpush
|
||||
|
||||
|
||||
@section('content')
|
||||
|
||||
{{ Form::open(['route' => 'Hestimmo.Lots.store', 'id' => 'lot-form', 'autocomplete' => 'off', 'files' => true]) }}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12 mbl">
|
||||
<a href="{{ route("Hestimmo.Lots.index") }}" class="btn btn-default">
|
||||
{{ __('lots.list.title') }}
|
||||
</a>
|
||||
|
||||
<span class="btn-group pull-right">
|
||||
@include('components.button-save')
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@include('Hestimmo.modules.Lot.lot_form')
|
||||
</form>
|
||||
|
||||
@endsection
|
||||
@@ -1,94 +0,0 @@
|
||||
@extends('layout.index', [
|
||||
'title' => __('lots.title'),
|
||||
'subtitle' => __('lots.list.title'),
|
||||
'breadcrumb' => [__('lots.title')]
|
||||
])
|
||||
|
||||
@section('content')
|
||||
<div class="box">
|
||||
<div class="box-body">
|
||||
<table class="table table-striped table-hover va-middle" id="lot-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
@include('components.select', ['name' => 'statut', 'class' => 'form-control-sm', 'style' => 'padding: 2px;', 'list' => $type_lot_statuts])
|
||||
</th>
|
||||
<th>
|
||||
@include('components.select', ['name' => 'type_dispositif', 'class' => 'form-control-sm', 'style' => 'padding: 2px;', 'list' => $type_dispositifs])
|
||||
</th>
|
||||
<th>
|
||||
@include('components.select', ['name' => 'residence', 'class' => 'form-control-sm', 'style' => 'padding: 2px;', 'list' => $residences])
|
||||
</th>
|
||||
<th style="max-width: 120px;">
|
||||
<input type="text" class="form-control-sm" style="max-width: 100px;">
|
||||
</th>
|
||||
<th>
|
||||
@include('components.select', ['name' => 'type_lot', 'class' => 'form-control-sm', 'style' => 'padding: 2px;', 'list' => $type_lots])
|
||||
</th>
|
||||
<th style="min-width: 100px;">
|
||||
<input type="text" class="form-control-sm" style="max-width: 80px;">
|
||||
</th>
|
||||
<th style="min-width: 160px; max-width: 160px;">
|
||||
</th>
|
||||
<th style="max-width: 120px;">
|
||||
<input type="text" class="form-control-sm" style="max-width: 100px;">
|
||||
</th>
|
||||
<th style="max-width: 120px;">
|
||||
<input type="text" class="form-control-sm" style="max-width: 100px;">
|
||||
</th>
|
||||
<th style="max-width: 120px;">
|
||||
<input type="text" class="form-control-sm" style="max-width: 100px;">
|
||||
</th>
|
||||
<th style="max-width: 120px;">
|
||||
<input type="text" class="form-control-sm" style="max-width: 100px;">
|
||||
</th>
|
||||
<th style="max-width: 120px;">
|
||||
<input type="text" class="form-control-sm" style="max-width: 100px;">
|
||||
</th>
|
||||
<th style="max-width: 120px;">
|
||||
<input type="text" class="form-control-sm" style="max-width: 100px;">
|
||||
</th>
|
||||
<th style="max-width: 120px;">
|
||||
<input type="text" class="form-control-sm" style="max-width: 100px;">
|
||||
</th>
|
||||
<th>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Statut</th>
|
||||
<th>Dispositif</th>
|
||||
<th>Résidence</th>
|
||||
<th>Référence</th>
|
||||
<th>Type</th>
|
||||
<th>Surface</th>
|
||||
<th>Surface Ext.</th>
|
||||
<th>Prix total</th>
|
||||
<th>Prix achat</th>
|
||||
<th>Package</th>
|
||||
<th>F. Notaire</th>
|
||||
<th>F. Bancaire</th>
|
||||
<th>Loyer logement</th>
|
||||
<th>Loyer stat.</th>
|
||||
<th style="min-width: 82px; max-width: 82px;"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@prepend('js')
|
||||
@include('components.js.ie11')
|
||||
@include('components.js', ['js' => '/js/laroute.js'])
|
||||
@include('components.js', ['js' => '/js/main.min.js'])
|
||||
@include('components.js', ['js' => '/js/datatables.min.js'])
|
||||
@endprepend
|
||||
|
||||
@push('js')
|
||||
@include('components.js', ['js' => '/js/lot_index.min.js'])
|
||||
@endpush
|
||||
|
||||
@push('css')
|
||||
@include('components.css', ['css' => '/css/main.min.css'])
|
||||
@include('components.css', ['css' => '/css/datatables.min.css'])
|
||||
@endpush
|
||||
@@ -1,73 +0,0 @@
|
||||
<div class="nav-tabs-custom">
|
||||
<ul class="nav nav-tabs">
|
||||
<li class="active">
|
||||
<a href="#lot-renseignement" data-toggle="tab" aria-expanded="true">
|
||||
Renseignement
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#lot-documentation" data-toggle="tab" aria-expanded="true">
|
||||
Documentations
|
||||
@if(isset($documents_count))<span class="badge">{{ $documents_count }}</span>@endif
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#lot-photo" id="lot-photo-tab" data-toggle="tab" aria-expanded="true">
|
||||
Photos
|
||||
@if(isset($photos_count))<span class="badge">{{ $photos_count }}</span>@endif
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#lot-option" id="lot-option-tab" data-toggle="tab" aria-expanded="true">
|
||||
Options
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="lot-renseignement">
|
||||
@include('Hestimmo.modules.Lot.partials.edit-renseignement')
|
||||
</div>
|
||||
|
||||
<div class="tab-pane" id="lot-documentation">
|
||||
@include('Hestimmo.modules.Lot.partials.edit-documentation')
|
||||
</div>
|
||||
|
||||
<div class="tab-pane" id="lot-photo">
|
||||
@include('Hestimmo.modules.Lot.partials.edit-photo')
|
||||
</div>
|
||||
|
||||
<div class="tab-pane" id="lot-option">
|
||||
@include('Hestimmo.modules.Lot.partials.edit-option')
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@push('js')
|
||||
@include('components.js', ['js' => '/js/laroute.js'])
|
||||
<script>
|
||||
$('.editor').summernote({
|
||||
lang: 'fr-FR',
|
||||
height: 120,
|
||||
toolbar: [
|
||||
// [groupName, [list of button]]
|
||||
['style', ['bold', 'italic', 'underline', 'clear']],
|
||||
['font', ['strikethrough', 'superscript', 'subscript']],
|
||||
['fontsize', ['fontsize']],
|
||||
['para', ['ul', 'ol', 'paragraph']],
|
||||
['color', ['color']],
|
||||
]
|
||||
});
|
||||
$('.save').click(function() {
|
||||
$(this).prop('disabled', true);
|
||||
$(this).html('en cours...');
|
||||
$( "#lot-form" ).submit();
|
||||
return true;
|
||||
})
|
||||
</script>
|
||||
|
||||
<!-- Include Google Maps JS API -->
|
||||
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?libraries=places&key={{ env('GOOGLE_GEOLOCATION_API_KEY') }}"></script>
|
||||
<script type="text/javascript" src="/js/geo_autocomplete.js"></script>
|
||||
@endpush
|
||||
@@ -1,125 +0,0 @@
|
||||
@extends('layout.index', [
|
||||
'title' => __('lots.title'),
|
||||
'subtitle' => __('lots.demande.title'),
|
||||
'breadcrumb' => [__('lots.demande.title')]
|
||||
])
|
||||
|
||||
@section('content')
|
||||
|
||||
{{ Form::open(['route' => 'Hestimmo.Lots.disponibles', 'id' => 'lot-form', 'autocomplete' => 'off']) }}
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-offset-2 col-md-8">
|
||||
|
||||
<div class="box box-info">
|
||||
<div class="box-body">
|
||||
|
||||
<div class="col-xs-12 col-md-4">
|
||||
|
||||
<div class="form-group">
|
||||
<select name="type_produit_id" class="form-control">
|
||||
<option>Type de produits</option>
|
||||
@foreach($type_produits as $key => $type_produit)
|
||||
<option value="{{$key}}">{{$type_produit}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<select name="type_lot_id" class="form-control">
|
||||
<option>Type de lots</option>
|
||||
@foreach($type_lots as $key => $type_lot)
|
||||
<option value="{{$key}}">{{$type_lot}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<select name="ville" id="ville" class="form-control" placeholder="Ville"></select>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<input type="number" style="width: 100%;" id="distance" name="distance" data-provide="slider" data-slider-min="0" data-slider-max="40" data-slider-step="5" >
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
Distance : <span id="distanceSliderVal">5</span> km
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-12 col-md-8">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-12">Budget</label>
|
||||
<div class="col-sm-12">
|
||||
<div class="form-group">
|
||||
<input type="number" style="width: 100%;" id="budget" name="budget" data-provide="slider" data-slider-min="10000" data-slider-max="1000000" data-slider-step="10000" >
|
||||
</div>
|
||||
<div class="small-box bg-aqua">
|
||||
<div class="inner">
|
||||
<h3 id="budgetSliderVal">10 000</h3>
|
||||
<p>Montant +/- 5000 €</p>
|
||||
</div>
|
||||
<div class="icon">
|
||||
<i class="fa fa-eur"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row text-center">
|
||||
<button type="submit" class="btn btn-info">Rechercher</button>
|
||||
<p></p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@include('Hestimmo.modules.Lot.partials.list-mini')
|
||||
|
||||
@endsection
|
||||
|
||||
@include('boilerplate::load.datatables')
|
||||
@include('boilerplate::load.select2')
|
||||
|
||||
@push('js')
|
||||
<script src="/js/bootstrap-slider.min.js"></script>
|
||||
<script>
|
||||
$(function () {
|
||||
var mySlider = $("input.slider").slider();
|
||||
|
||||
$("#budget").on("slide", function(slideEvt) {
|
||||
$("#budgetSliderVal").text(slideEvt.value);
|
||||
});
|
||||
|
||||
$("#distance").on("slide", function(slideEvt) {
|
||||
$("#distanceSliderVal").text(slideEvt.value);
|
||||
});
|
||||
|
||||
$('#ville').select2({
|
||||
ajax: {
|
||||
url: "{{ route('Villes.autocomplete') }}",
|
||||
data: function (params) {
|
||||
var query = {
|
||||
search: params.term
|
||||
}
|
||||
|
||||
// Query parameters will be ?search=[term]&type=public
|
||||
return query;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
|
||||
@push('css')
|
||||
<link rel="stylesheet" href="/css/bootstrap-slider.min.css">
|
||||
@endpush
|
||||
22
resources/views/shop/admin/Sections/create.blade.php
Normal file
22
resources/views/shop/admin/Sections/create.blade.php
Normal file
@@ -0,0 +1,22 @@
|
||||
@extends('boilerplate::layout.index', [
|
||||
'title' => __('shop.sections.title'),
|
||||
'subtitle' => __('shop.sections.add'),
|
||||
'breadcrumb' => [__('shop.sections.title'), __('shop.sections.add')]
|
||||
])
|
||||
|
||||
@include('boilerplate::load.fileinput')
|
||||
|
||||
@section('content')
|
||||
|
||||
{{ Form::open(['route' => 'Shop.Admin.Sections.store', 'id' => 'form', 'autocomplete' => 'off', 'files' => true]) }}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12 text-right">
|
||||
@include('components.button-save')
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@include('Shop.Admin.Sections.form')
|
||||
</form>
|
||||
|
||||
@endsection
|
||||
38
resources/views/shop/admin/Sections/form.blade.php
Normal file
38
resources/views/shop/admin/Sections/form.blade.php
Normal file
@@ -0,0 +1,38 @@
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
{{ Form::label('name', 'Nom') }}
|
||||
@include('components.input', ['name' => 'name', 'value' => (isset($section['name'])) ? $section['name'] : null, 'required' => true])
|
||||
|
||||
{{ Form::label('description', 'Description') }}
|
||||
@include('components.textarea', ['name' => 'description', 'id_name' => 'description', 'value' => (isset($section['description'])) ? $section['description'] : null, 'required' => true])
|
||||
|
||||
{{ Form::label('description', 'Rubrique parente') }}
|
||||
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="row">
|
||||
<div class="col-md-12 row-new-lot-photo row-lot-photo mt-3">
|
||||
|
||||
<!--
|
||||
<p>
|
||||
<button type="button" class="btn btn-danger delete-new-lot-photo-btn"><i class="fa fa-minus-circle"></i></button>
|
||||
Photo <span class="row-photo-number"></span>
|
||||
</p>
|
||||
-->
|
||||
|
||||
<input name="lot_photos[][file]" type="file" class="file" data-show-upload="false" data-show-caption="true" data-msg-placeholder="Choisissez une photo">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@include('boilerplate::load.tinymce')
|
||||
|
||||
@push('js')
|
||||
<script>
|
||||
$(function() {
|
||||
$('#description').tinymce({});
|
||||
})
|
||||
</script>
|
||||
@endpush
|
||||
|
||||
46
resources/views/shop/admin/Sections/list.blade.php
Normal file
46
resources/views/shop/admin/Sections/list.blade.php
Normal file
@@ -0,0 +1,46 @@
|
||||
@extends('boilerplate::layout.index', [
|
||||
'title' => __('shop.sections.title'),
|
||||
'breadcrumb' => [__('shop.sections.title')]
|
||||
])
|
||||
|
||||
@section('content')
|
||||
<div class="box">
|
||||
<div class="box-body">
|
||||
<table class="table table-striped table-hover va-middle" id="section-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
<input type="text" class="form-control-sm" style="max-width: 100px;">
|
||||
</th>
|
||||
<th>
|
||||
</th>
|
||||
<th class="text-right">
|
||||
<a href="{{ route('Shop.Admin.Sections.create') }}" class="btn btn-sm btn-success">{{ __('shop.sections.add') }} <i class="fa fa-plus"></i></a>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Nom</th>
|
||||
<th>Nb produits</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@prepend('js')
|
||||
@include('components.js.ie11')
|
||||
@include('components.js', ['js' => '/js/laroute.js'])
|
||||
@include('components.js', ['js' => '/js/main.min.js'])
|
||||
@include('components.js', ['js' => '/js/datatables.min.js'])
|
||||
@endprepend
|
||||
|
||||
@push('js')
|
||||
@include('components.js', ['js' => '/js/section_index.min.js'])
|
||||
@endpush
|
||||
|
||||
@push('css')
|
||||
@include('components.css', ['css' => '/css/main.min.css'])
|
||||
@include('components.css', ['css' => '/css/datatables.min.css'])
|
||||
@endpush
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user