Compare commits
35 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0f9d88aa79 | ||
|
|
83f68ca14f | ||
|
|
152325b917 | ||
|
|
10b0b90cf7 | ||
|
|
8a0846a929 | ||
|
|
d1495826a4 | ||
|
|
3e51736020 | ||
|
|
763de9193b | ||
|
|
5f9fea1969 | ||
|
|
e01d8af5c3 | ||
|
|
defca9f9b5 | ||
|
|
afa1cb457d | ||
|
|
f79f06f424 | ||
|
|
8cba7bb154 | ||
|
|
4fe7b33acc | ||
|
|
e94b3f5420 | ||
|
|
91cedeed97 | ||
|
|
0da20547a9 | ||
|
|
66c71bff68 | ||
|
|
57239713d1 | ||
|
|
56d37dbf22 | ||
|
|
ec09989aaa | ||
|
|
aa405e8458 | ||
|
|
8ec203c145 | ||
|
|
3c59b7b5d0 | ||
|
|
66687182bb | ||
|
|
6f0f4400b9 | ||
|
|
7856c51842 | ||
|
|
5ae716eb06 | ||
|
|
708c103030 | ||
|
|
6d42ff878d | ||
|
|
a6b6cf1ab9 | ||
|
|
b3d358816b | ||
|
|
89f7dd0638 | ||
|
|
7e381502c2 |
130 changed files with 27660 additions and 10502 deletions
|
|
@ -2,12 +2,31 @@
|
||||||
|
|
||||||
namespace App;
|
namespace App;
|
||||||
|
|
||||||
|
use App\Enums\CampaignTypes;
|
||||||
|
use App\Models\PrintedWalls;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||||
|
use Kwaadpepper\Enum\Traits\CastsEnums;
|
||||||
|
|
||||||
class Campagne extends Model
|
class Campagne extends Model
|
||||||
{
|
{
|
||||||
use SoftDeletes;
|
use SoftDeletes;
|
||||||
|
use CastsEnums;
|
||||||
|
|
||||||
|
public $enumCasts = [
|
||||||
|
'camp_type' => CampaignTypes::class
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
protected $fillable = [
|
||||||
|
'camp_siteId',
|
||||||
|
'camp_name',
|
||||||
|
'camp_type',
|
||||||
|
'camp_limitedPrinting',
|
||||||
|
'camp_published'
|
||||||
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @var string
|
||||||
|
|
@ -85,14 +104,8 @@ class Campagne extends Model
|
||||||
return $this->belongsToMany('App\Coupon', 'campagne_coupon', 'campagne_id', 'coup_id');
|
return $this->belongsToMany('App\Coupon', 'campagne_coupon', 'campagne_id', 'coup_id');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
public function printedWalls()
|
||||||
* @var array
|
{
|
||||||
*/
|
return $this->hasMany(PrintedWalls::class, 'camp_id');
|
||||||
protected $fillable = [
|
}
|
||||||
'camp_siteId',
|
|
||||||
'camp_name',
|
|
||||||
'camp_type',
|
|
||||||
'camp_limitedPrinting',
|
|
||||||
'camp_published'
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
119
app/Console/Commands/CheckAlert.php
Normal file
119
app/Console/Commands/CheckAlert.php
Normal file
|
|
@ -0,0 +1,119 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Console\Commands;
|
||||||
|
|
||||||
|
use App\Campagne;
|
||||||
|
use App\Mail\AlertBr;
|
||||||
|
use App\Mail\AlertBrAdmin;
|
||||||
|
use App\Notification;
|
||||||
|
use App\Site;
|
||||||
|
use App\User;
|
||||||
|
use Illuminate\Console\Command;
|
||||||
|
use Illuminate\Support\Facades\Mail;
|
||||||
|
use App\Traits\CouponTrait;
|
||||||
|
|
||||||
|
class CheckAlert extends Command
|
||||||
|
{
|
||||||
|
use CouponTrait;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The name and signature of the console command.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $signature = 'check:alert';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The console command description.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $description = 'Command description';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new command instance.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Execute the console command.
|
||||||
|
*
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function handle()
|
||||||
|
{
|
||||||
|
$this->info('Démarrage du traitement');
|
||||||
|
|
||||||
|
$sites = Site::all();
|
||||||
|
$couponSeuilGlobal = array();
|
||||||
|
$couponDiffusionGlobal = array();
|
||||||
|
$sendGlobal = false;
|
||||||
|
foreach ($sites as $site) { // ---- Pour chaque site
|
||||||
|
$campagnes = Campagne::where(['camp_siteId' => $site->site_id])->get();
|
||||||
|
foreach ($campagnes as $campagne) {
|
||||||
|
$sendMail = false;
|
||||||
|
$users = array();
|
||||||
|
$couponSeuil = array();
|
||||||
|
$couponDiffusion = array();
|
||||||
|
$coupons = $campagne->coupons()->get();
|
||||||
|
foreach ($coupons as $coupon) {
|
||||||
|
$couponAlert = false;
|
||||||
|
if ($coupon->coupon_published) {
|
||||||
|
$coupon->coupon_left = $this->getFullQuantity($coupon) - $this->getUsedQuantity($coupon);
|
||||||
|
if ($coupon->coupon_left < $coupon->coupon_seuil_alert) {
|
||||||
|
array_push($couponSeuil, $coupon);
|
||||||
|
array_push($couponSeuilGlobal, [$site->site_nom, $coupon]);
|
||||||
|
$sendGlobal = true;
|
||||||
|
$couponAlert = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// --- Check MaxDateDiffusion
|
||||||
|
if ($coupon->coupon_maxdatediffusion != null && strtotime($coupon->coupon_maxdatediffusion) < (time() + (30 * 24 * 60 * 60))) { //Fin de diffusion dans moins de 30jours
|
||||||
|
array_push($couponDiffusion, $coupon);
|
||||||
|
array_push($couponDiffusionGlobal, [$site->site_nom, $coupon]);
|
||||||
|
$sendGlobal = true;
|
||||||
|
$couponAlert = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($couponAlert) {
|
||||||
|
$notifications = Notification::where(['notif_campId' => $campagne->camp_id])->get();
|
||||||
|
foreach ($notifications as $notification) {
|
||||||
|
if (!array_key_exists($notification->notif_id, $users)) {
|
||||||
|
$userObject = [];
|
||||||
|
$userObject['email'] = $notification->notif_email;
|
||||||
|
$userObject['name'] = $notification->notif_name;
|
||||||
|
$users[$notification->notif_id] = (object)$userObject;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$sendMail = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($sendMail) {
|
||||||
|
Mail::to($users)->send(new AlertBr($couponSeuil, $couponDiffusion, $site->site_nom));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($sendGlobal) {
|
||||||
|
$this->line("Envoi mail superadmin");
|
||||||
|
$superadmins = array();
|
||||||
|
$admins = User::where(['roles' => 'superadmin'])->get();
|
||||||
|
foreach ($admins as $admin) {
|
||||||
|
$adminObject = [];
|
||||||
|
$adminObject['email'] = $admin->email;
|
||||||
|
$adminObject['name'] = $admin->name;
|
||||||
|
array_push($superadmins, (object)$adminObject);
|
||||||
|
}
|
||||||
|
Mail::to($superadmins)->send(new AlertBrAdmin($couponSeuilGlobal, $couponDiffusionGlobal));
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->line("");
|
||||||
|
$this->info('Fin du traitement');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -4,21 +4,14 @@ namespace App\Console;
|
||||||
|
|
||||||
use Illuminate\Console\Scheduling\Schedule;
|
use Illuminate\Console\Scheduling\Schedule;
|
||||||
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
|
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
|
||||||
use App\Coupon;
|
|
||||||
use App\Site;
|
use App\Site;
|
||||||
use App\Panier;
|
|
||||||
use App\PanierContent;
|
|
||||||
use App\Mur;
|
|
||||||
use App\Campagne;
|
use App\Campagne;
|
||||||
use App\Statistique;
|
|
||||||
use App\User;
|
use App\User;
|
||||||
use App\Notification;
|
use App\Notification;
|
||||||
use App\Mail\AlertBr;
|
use App\Mail\AlertBr;
|
||||||
use App\Mail\AlertBrAdmin;
|
use App\Mail\AlertBrAdmin;
|
||||||
use Illuminate\Support\Facades\Mail;
|
use Illuminate\Support\Facades\Mail;
|
||||||
use App\Traits\CouponTrait;
|
use App\Traits\CouponTrait;
|
||||||
use Carbon\Carbon;
|
|
||||||
use DB;
|
|
||||||
|
|
||||||
class Kernel extends ConsoleKernel
|
class Kernel extends ConsoleKernel
|
||||||
{
|
{
|
||||||
|
|
@ -67,7 +60,8 @@ class Kernel extends ConsoleKernel
|
||||||
}
|
}
|
||||||
|
|
||||||
// --- Check MaxDateDiffusion
|
// --- Check MaxDateDiffusion
|
||||||
if ($coupon->coupon_maxdatediffusion != null && strtotime($coupon->coupon_maxdatediffusion) < (time() + (30 * 24 * 60 * 60))) { //Fin de diffusion dans moins de 30jours
|
if ($coupon->coupon_maxdatediffusion != null && strtotime($coupon->coupon_maxdatediffusion) < (time() + (30 * 24 * 60 * 60))) {
|
||||||
|
//Fin de diffusion dans moins de 30jours
|
||||||
array_push($couponDiffusion, $coupon);
|
array_push($couponDiffusion, $coupon);
|
||||||
array_push($couponDiffusionGlobal, [$site->site_nom , $coupon]);
|
array_push($couponDiffusionGlobal, [$site->site_nom , $coupon]);
|
||||||
$sendGlobal = true;
|
$sendGlobal = true;
|
||||||
|
|
@ -106,54 +100,6 @@ class Kernel extends ConsoleKernel
|
||||||
Mail::to($superadmins)->send(new AlertBrAdmin($couponSeuilGlobal, $couponDiffusionGlobal));
|
Mail::to($superadmins)->send(new AlertBrAdmin($couponSeuilGlobal, $couponDiffusionGlobal));
|
||||||
}
|
}
|
||||||
})->weekdays()->at('7:00');
|
})->weekdays()->at('7:00');
|
||||||
|
|
||||||
// ---- Sauvegarde des stats tous les jours a 23:45
|
|
||||||
// $schedule->call(function () {
|
|
||||||
// $campagnes = Campagne::all();
|
|
||||||
// foreach ($campagnes as $campagne) {
|
|
||||||
|
|
||||||
// $last_stat = Statistique::where(['stat_campId' => $campagne->camp_id])->orderBy('created_at', 'DESC')->first();
|
|
||||||
// if(isset($last_stat->created_at)){
|
|
||||||
// $dateStart = $last_stat->created_at;
|
|
||||||
// } else {
|
|
||||||
// $dateStart = Carbon::now()->setTime(0,0,0)->subMonth()->format('Y-m-d H:i:s');
|
|
||||||
// }
|
|
||||||
|
|
||||||
// $coupons = $campagne->coupons()->get();
|
|
||||||
// foreach ($coupons as $coupon) {
|
|
||||||
// if ($campagne->camp_type == 0 || $campagne->camp_type == 2) { //Calcul des BR consommé pour les murs
|
|
||||||
|
|
||||||
// $counts = Mur::selectRaw('count(*) as count, DATE_FORMAT(mur_createdate, "%Y-%m-%d") as date')
|
|
||||||
// ->where(['mur_couponId' => $coupon->coupon_id, 'mur_campid' => $campagne->camp_id])
|
|
||||||
// ->whereBetween('mur_createdate', [$dateStart, Carbon::now()->setTime(23,59,59)->format('Y-m-d H:i:s')])
|
|
||||||
// ->groupBy(DB::raw("DATE_FORMAT(mur_createdate, '%Y-%m-%d')"))
|
|
||||||
// ->pluck('count', 'date');
|
|
||||||
|
|
||||||
// foreach($counts as $date => $count){
|
|
||||||
// $stat = new Statistique();
|
|
||||||
// $stat->stat_campId = $campagne->camp_id;
|
|
||||||
// $stat->stat_couponId = $coupon->coupon_id;
|
|
||||||
// $stat->stat_couponPrinted = $count;
|
|
||||||
// $stat->created_at = $date;
|
|
||||||
// $stat->save();
|
|
||||||
// }
|
|
||||||
|
|
||||||
// }
|
|
||||||
// // else { //Calcul des BR consommé pour les paniers
|
|
||||||
// // $count = 0;
|
|
||||||
// // $paniers = Panier::where('panier_campId', $campagne->camp_id)->where(function($query) use ($dateStart){
|
|
||||||
// // $query->whereBetween('panier_createdate', [$dateStart, Carbon::now()->setTime(23,59,59)->format('Y-m-d H:i:s')])
|
|
||||||
// // ->orWhereBetween('panier_updatedate', [$dateStart, Carbon::now()->setTime(23,59,59)->format('Y-m-d H:i:s')]);
|
|
||||||
// // })->get();
|
|
||||||
// // foreach ($paniers as $panier) {
|
|
||||||
// // $panierContentCount = $panier->panierContents()->where(['panier_content_couponId' => $coupon->coupon_id])->sum('panier_content_printed');
|
|
||||||
// // $count = $count + $panierContentCount;
|
|
||||||
// // }
|
|
||||||
// // }
|
|
||||||
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// })->everyFifteenMinutes();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
39
app/Enums/CampaignTypes.php
Normal file
39
app/Enums/CampaignTypes.php
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Enums;
|
||||||
|
|
||||||
|
use Kwaadpepper\Enum\BaseEnum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @method static self mur()
|
||||||
|
* value 0 Mur (POUR LES MURS)
|
||||||
|
* @method static self panier()
|
||||||
|
* value 1 Panier (POUR LES PANIERS)
|
||||||
|
* @method static self murss()
|
||||||
|
* value 2 Mur sans sélection (POUR LES MURS SANS SELECTION)
|
||||||
|
* @method static self paniers()
|
||||||
|
* value 3 Panier Sélectionnable (POUR LES PANIERS AVEC SELECTION)
|
||||||
|
*/
|
||||||
|
|
||||||
|
class CampaignTypes extends BaseEnum
|
||||||
|
{
|
||||||
|
protected static function values(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'mur' => 0,
|
||||||
|
'panier' => 1,
|
||||||
|
'murss' => 2,
|
||||||
|
'paniers' => 3,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
protected static function labels(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'mur' => trans('Mur'),
|
||||||
|
'panier' => trans('Panier'),
|
||||||
|
'murss' => trans('Mur sans sélection'),
|
||||||
|
'paniers' => trans('Panier Sélectionnable'),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
32
app/Enums/Countries.php
Normal file
32
app/Enums/Countries.php
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Enums;
|
||||||
|
|
||||||
|
use Kwaadpepper\Enum\BaseEnum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @method static self france()
|
||||||
|
* @method static self belgique()
|
||||||
|
* @method static self luxembourg()
|
||||||
|
*/
|
||||||
|
|
||||||
|
class Countries extends BaseEnum
|
||||||
|
{
|
||||||
|
protected static function values(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'france' => 250,
|
||||||
|
'belgique' => 56,
|
||||||
|
'luxembourg' => 442,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
protected static function labels(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'france' => 'France',
|
||||||
|
'belgique' => 'Belgique',
|
||||||
|
'luxembourg' => 'Luxembourg',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
32
app/Enums/UserRoles.php
Normal file
32
app/Enums/UserRoles.php
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Enums;
|
||||||
|
|
||||||
|
use Kwaadpepper\Enum\BaseEnum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @method static self superadmin()
|
||||||
|
* @method static self admin()
|
||||||
|
* @method static self marketing()
|
||||||
|
*/
|
||||||
|
|
||||||
|
class UserRoles extends BaseEnum
|
||||||
|
{
|
||||||
|
protected static function values(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'superadmin' => 'superadmin',
|
||||||
|
'admin' => 'admin',
|
||||||
|
'marketing' => 'marketing'
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
protected static function labels(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'superadmin' => trans('Super-Admin'),
|
||||||
|
'admin' => trans('Admin'),
|
||||||
|
'marketing' => trans('Marketing')
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -3,12 +3,8 @@
|
||||||
namespace App\Exceptions;
|
namespace App\Exceptions;
|
||||||
|
|
||||||
use App\Http\Resources\StatusResource;
|
use App\Http\Resources\StatusResource;
|
||||||
use Exception;
|
|
||||||
use Illuminate\Database\Eloquent\ModelNotFoundException;
|
use Illuminate\Database\Eloquent\ModelNotFoundException;
|
||||||
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
|
use Kwaadpepper\ExceptionHandler\Exceptions\ExceptionHandler;
|
||||||
use Illuminate\Http\JsonResponse;
|
|
||||||
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
|
|
||||||
use Symfony\Component\Routing\Exception\ResourceNotFoundException;
|
|
||||||
use Throwable;
|
use Throwable;
|
||||||
|
|
||||||
class Handler extends ExceptionHandler
|
class Handler extends ExceptionHandler
|
||||||
|
|
@ -56,12 +52,6 @@ class Handler extends ExceptionHandler
|
||||||
if ($request->wantsJson() && $exception instanceof ModelNotFoundException) {
|
if ($request->wantsJson() && $exception instanceof ModelNotFoundException) {
|
||||||
return response()->json(new StatusResource(['status' => 'KO', 'code' => 404, 'message' => 'Resource not found.']), 404);
|
return response()->json(new StatusResource(['status' => 'KO', 'code' => 404, 'message' => 'Resource not found.']), 404);
|
||||||
}
|
}
|
||||||
|
|
||||||
// if ($exception instanceof \ErrorException) {
|
|
||||||
// $response = response()->view('errors.500', [], 500);
|
|
||||||
// return $this->toIlluminateResponse($response,$exception);
|
|
||||||
// }
|
|
||||||
|
|
||||||
return parent::render($request, $exception);
|
return parent::render($request, $exception);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,10 +2,8 @@
|
||||||
|
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use App\Campagne;
|
|
||||||
use App\Coupon;
|
use App\Coupon;
|
||||||
use App\Contact;
|
use App\Enums\CampaignTypes;
|
||||||
use App\Panier;
|
|
||||||
use App\PanierContent;
|
use App\PanierContent;
|
||||||
use App\Statistique;
|
use App\Statistique;
|
||||||
use App\Mur;
|
use App\Mur;
|
||||||
|
|
@ -13,42 +11,14 @@ use App\Log;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use App\Traits\GenerateBR;
|
use App\Traits\GenerateBR;
|
||||||
use App\Traits\CouponTrait;
|
use App\Traits\CouponTrait;
|
||||||
use App\Http\Controllers;
|
|
||||||
use Carbon\Carbon;
|
|
||||||
|
|
||||||
class AjaxController extends Controller
|
class AjaxController extends Controller
|
||||||
{
|
{
|
||||||
use GenerateBR;
|
use GenerateBR;
|
||||||
use CouponTrait;
|
use CouponTrait;
|
||||||
|
|
||||||
// ---- Ajoute des coupons à une campagne
|
|
||||||
public function add_coupons_ajax(Request $request)
|
|
||||||
{
|
|
||||||
$camp_id = $request->input('campid');
|
|
||||||
$campagne = Campagne::where('camp_id', $camp_id)->first();
|
|
||||||
$ids = $request->input('ids');
|
|
||||||
|
|
||||||
$coupons = Coupon::find($ids);
|
|
||||||
$campagne->coupons()->attach($coupons);
|
|
||||||
|
|
||||||
return json_encode($coupons);
|
|
||||||
}
|
|
||||||
|
|
||||||
// ---- Efface des coupons d'une campagne
|
|
||||||
public function remove_coupons_ajax(Request $request)
|
|
||||||
{
|
|
||||||
$camp_id = $request->input('campid');
|
|
||||||
$campagne = Campagne::where('camp_id', $camp_id)->first();
|
|
||||||
$coupon_id = $request->input('couponid');
|
|
||||||
$coupon = Coupon::find($coupon_id);
|
|
||||||
|
|
||||||
$campagne->coupons()->detach($coupon_id);
|
|
||||||
|
|
||||||
return json_encode($coupon);
|
|
||||||
}
|
|
||||||
|
|
||||||
// ---- Dépublie un coupon
|
// ---- Dépublie un coupon
|
||||||
public function unpublish_coupons_ajax(Request $request)
|
public function unpublishCouponsAjax(Request $request)
|
||||||
{
|
{
|
||||||
$coupon_id = $request->input('couponid');
|
$coupon_id = $request->input('couponid');
|
||||||
$coupon = Coupon::find($coupon_id);
|
$coupon = Coupon::find($coupon_id);
|
||||||
|
|
@ -59,7 +29,7 @@ class AjaxController extends Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
// ---- Publie un coupon
|
// ---- Publie un coupon
|
||||||
public function publish_coupons_ajax(Request $request)
|
public function publishCouponsAjax(Request $request)
|
||||||
{
|
{
|
||||||
$coupon_id = $request->input('couponid');
|
$coupon_id = $request->input('couponid');
|
||||||
$coupon = Coupon::find($coupon_id);
|
$coupon = Coupon::find($coupon_id);
|
||||||
|
|
@ -69,31 +39,8 @@ class AjaxController extends Controller
|
||||||
return json_encode($coupon);
|
return json_encode($coupon);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ---- Dépublie une campagne
|
|
||||||
public function unpublish_camp_ajax(Request $request)
|
|
||||||
{
|
|
||||||
$campid = $request->input('campid');
|
|
||||||
$campagne = Campagne::find($campid);
|
|
||||||
$campagne->camp_published = 0;
|
|
||||||
$campagne->save();
|
|
||||||
|
|
||||||
return json_encode($campagne);
|
|
||||||
}
|
|
||||||
|
|
||||||
// ---- Publie une campagne
|
|
||||||
public function publish_camp_ajax(Request $request)
|
|
||||||
{
|
|
||||||
$campid = $request->input('campid');
|
|
||||||
$campagne = Campagne::find($campid);
|
|
||||||
$campagne->camp_published = 1;
|
|
||||||
$campagne->save();
|
|
||||||
|
|
||||||
return json_encode($campagne);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ---- Impression des BR
|
// ---- Impression des BR
|
||||||
public function impression_ajax(Request $request)
|
public function impressionAjax(Request $request)
|
||||||
{
|
{
|
||||||
|
|
||||||
if ($request->session()->has('coupons')) {
|
if ($request->session()->has('coupons')) {
|
||||||
|
|
@ -132,7 +79,7 @@ class AjaxController extends Controller
|
||||||
$coupons = '<TABLE width="100%" align="center" cellpadding="0" cellspacing="0" border="0">';
|
$coupons = '<TABLE width="100%" align="center" cellpadding="0" cellspacing="0" border="0">';
|
||||||
$coupons .= '<TR><TD width="100%" align="center"><div>';
|
$coupons .= '<TR><TD width="100%" align="center"><div>';
|
||||||
|
|
||||||
if ($campagne->camp_type == 0) { //---- POUR LES MURS
|
if ($campagne->camp_type->equals(CampaignTypes::mur())) { //---- POUR LES MURS
|
||||||
if (!isset($couponsToPrint)) {
|
if (!isset($couponsToPrint)) {
|
||||||
die();
|
die();
|
||||||
}
|
}
|
||||||
|
|
@ -166,7 +113,7 @@ class AjaxController extends Controller
|
||||||
$stat->save();
|
$stat->save();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} elseif ($campagne->camp_type == 1) { //---- POUR LES PANIERS
|
} elseif ($campagne->camp_type->equals(CampaignTypes::panier())) { //---- POUR LES PANIERS
|
||||||
if (!isset($panier)) {
|
if (!isset($panier)) {
|
||||||
die();
|
die();
|
||||||
}
|
}
|
||||||
|
|
@ -233,7 +180,7 @@ class AjaxController extends Controller
|
||||||
$panier->panier_pending = 1;
|
$panier->panier_pending = 1;
|
||||||
}
|
}
|
||||||
$panier->save();
|
$panier->save();
|
||||||
} elseif ($campagne->camp_type == 2) { //---- POUR LES MURS SANS SELECTION
|
} elseif ($campagne->camp_type->equals(CampaignTypes::murss())) { //---- POUR LES MURS SANS SELECTION
|
||||||
$nbCoupon = 0;
|
$nbCoupon = 0;
|
||||||
$cps = $campagne->coupons()->get();
|
$cps = $campagne->coupons()->get();
|
||||||
|
|
||||||
|
|
@ -263,7 +210,7 @@ class AjaxController extends Controller
|
||||||
$stat->save();
|
$stat->save();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} elseif ($campagne->camp_type == 3) { //---- POUR LES PANIERS AVEC SELECTION
|
} elseif ($campagne->camp_type->equals(CampaignTypes::paniers())) { //---- POUR LES PANIERS AVEC SELECTION
|
||||||
if (!isset($couponsToPrint)) {
|
if (!isset($couponsToPrint)) {
|
||||||
die();
|
die();
|
||||||
}
|
}
|
||||||
|
|
@ -335,12 +282,12 @@ class AjaxController extends Controller
|
||||||
$contact = $request->session()->get('contact');
|
$contact = $request->session()->get('contact');
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($campagne->camp_type == 0 || $campagne->camp_type == 2) {
|
if ($campagne->camp_type->equals(CampaignTypes::mur()) || $campagne->camp_type->equals(CampaignTypes::murss())) {
|
||||||
if (!isset($contact)) {
|
if (!isset($contact)) {
|
||||||
die();
|
die();
|
||||||
}
|
}
|
||||||
return redirect(url('/') . '/?refsite=' . $campagne->camp_siteId . '&refcamp=' . $campagne->camp_id . '&hash=' . $contact->contact_hash);
|
return redirect(url('/') . '/?refsite=' . $campagne->camp_siteId . '&refcamp=' . $campagne->camp_id . '&hash=' . $contact->contact_hash);
|
||||||
} elseif ($campagne->camp_type == 1 || $campagne->camp_type == 3) {
|
} elseif ($campagne->camp_type->equals(CampaignTypes::panier()) || $campagne->camp_type->equals(CampaignTypes::paniers())) {
|
||||||
if ($request->session()->has('panier')) {
|
if ($request->session()->has('panier')) {
|
||||||
$panier = $request->session()->get('panier');
|
$panier = $request->session()->get('panier');
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -349,288 +296,4 @@ class AjaxController extends Controller
|
||||||
return redirect(url('/') . '/?basketid=' . $panier->panier_ref);
|
return redirect(url('/') . '/?basketid=' . $panier->panier_ref);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ---- Charge les widget d'assistance
|
|
||||||
public function load_widget(Request $request)
|
|
||||||
{
|
|
||||||
if (isset($request->camp_id)) {
|
|
||||||
$camp_id = $request->camp_id;
|
|
||||||
} else {
|
|
||||||
die;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($request->contact_hash)) {
|
|
||||||
$contact_hash = $request->contact_hash;
|
|
||||||
} else {
|
|
||||||
die;
|
|
||||||
}
|
|
||||||
|
|
||||||
$campagne = Campagne::where(['camp_id' => $camp_id])->first();
|
|
||||||
$contact = Contact::where(['contact_hash' => $contact_hash])->first();
|
|
||||||
$coupons = $campagne->coupons;
|
|
||||||
|
|
||||||
foreach ($coupons as $key => $coupon) {
|
|
||||||
if (!$this->isAvailableToPrint($coupon, $campagne)) {
|
|
||||||
$coupons->forget($key);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$allLogs = Log::where(['log_refsite' => $campagne->camp_siteId, 'log_contactId' => $contact->contact_id, 'log_statut' => 'OK'])->orderBy('created_at', 'DESC')->get();
|
|
||||||
$logs = array();
|
|
||||||
foreach ($allLogs as &$l) {
|
|
||||||
$params = json_decode($l->log_params);
|
|
||||||
if ($l->log_action == 3 || $l->log_action == 1) {
|
|
||||||
$l->log_message = json_decode($l->log_message, true);
|
|
||||||
}
|
|
||||||
if (intval($params->refcamp) == $camp_id) {
|
|
||||||
array_push($logs, $l);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($campagne->camp_type == 0 || $campagne->camp_type == 2) { // ---- Pour les types murs
|
|
||||||
foreach ($coupons as &$coupon) {
|
|
||||||
$coupon->isAvailable = $this->isAvailable($coupon, $campagne, $contact);
|
|
||||||
}
|
|
||||||
unset($coupon);
|
|
||||||
|
|
||||||
// Montant total et Nombre réductions disponible
|
|
||||||
$montantDispo = 0;
|
|
||||||
$montantTotal = 0;
|
|
||||||
$nbCoupon = 0;
|
|
||||||
foreach ($coupons as $coupon) {
|
|
||||||
$montantTotal += $coupon->coupon_value;
|
|
||||||
if ($coupon->isAvailable == true) {
|
|
||||||
$montantDispo += $coupon->coupon_value;
|
|
||||||
$nbCoupon++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (sizeof($coupons) == $nbCoupon) {
|
|
||||||
$reset = false;
|
|
||||||
} else {
|
|
||||||
$reset = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
$campagne->url = url('/') . "/?refsite=" . $campagne->camp_siteId . "&refcamp=" . $camp_id . "&hash=" . $contact->contact_hash;
|
|
||||||
|
|
||||||
$returnHTML = view('widgets.mur')
|
|
||||||
->with([
|
|
||||||
'campagne' => $campagne,
|
|
||||||
'reset' => $reset,
|
|
||||||
'montantTotal' => $montantTotal,
|
|
||||||
'montantDispo' => $montantDispo,
|
|
||||||
'logs' => $logs,
|
|
||||||
'contact' => $contact])
|
|
||||||
->renderSections()['widget'];
|
|
||||||
|
|
||||||
return json_encode(array('success' => true, 'html' => $returnHTML));
|
|
||||||
} else { // ---- Pour les types paniers
|
|
||||||
$panier = Panier::where(['panier_campId' => $campagne->camp_id, 'panier_contactId' => $contact->contact_id, 'panier_pending' => 1])->first();
|
|
||||||
if ($panier) {
|
|
||||||
$panier_ref = $panier->panier_ref;
|
|
||||||
foreach ($coupons as &$coupon) {
|
|
||||||
$paniercontent = PanierContent::where(['panier_content_couponId' => $coupon->coupon_id, 'panier_content_panierId' => $panier->panier_id])->first();
|
|
||||||
if ($paniercontent) {
|
|
||||||
$coupon->qty = $paniercontent->panier_content_quantity;
|
|
||||||
} else {
|
|
||||||
$coupon->qty = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$campagne->url = url('/') . "/?basketid=" . $panier_ref;
|
|
||||||
unset($coupon);
|
|
||||||
} else {
|
|
||||||
$panier_ref = "";
|
|
||||||
foreach ($coupons as &$coupon) {
|
|
||||||
$coupon->qty = 0;
|
|
||||||
}
|
|
||||||
$campagne->url = "Pas d'url disponible (panier non créé)";
|
|
||||||
}
|
|
||||||
|
|
||||||
$returnHTML = view('widgets.panier')
|
|
||||||
->with([
|
|
||||||
'campagne' => $campagne,
|
|
||||||
'contact' => $contact,
|
|
||||||
'panier' => $panier_ref,
|
|
||||||
'logs' => $logs,
|
|
||||||
'coupons' => $coupons
|
|
||||||
])
|
|
||||||
->renderSections()['widget'];
|
|
||||||
return json_encode(array('success' => true, 'html' => $returnHTML));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// ---- Montre les campagnes avec un compte de démo
|
|
||||||
public function show_demo(Request $request)
|
|
||||||
{
|
|
||||||
if (isset($request->camp_id)) {
|
|
||||||
$camp_id = $request->camp_id;
|
|
||||||
} else {
|
|
||||||
die;
|
|
||||||
}
|
|
||||||
|
|
||||||
$campagne = Campagne::where(['camp_id' => $camp_id])->first();
|
|
||||||
$siteId = $campagne->camp_siteId;
|
|
||||||
$demoContact = Contact::where(['contact_siteId' => $siteId, 'contact_ref' => 'DEMO'])->first();
|
|
||||||
|
|
||||||
if (!isset($demoContact)) {
|
|
||||||
$req = new \Illuminate\Http\Request();
|
|
||||||
$req->setMethod('POST');
|
|
||||||
$req->request->add([
|
|
||||||
'refsite' => $siteId,
|
|
||||||
'refadherent' => 'DEMO',
|
|
||||||
'prenom' => 'Compte',
|
|
||||||
'nom' => 'Démonstration',
|
|
||||||
'email' => 'demo@demo.fr',
|
|
||||||
'code_postal' => '72000',
|
|
||||||
'commune' => 'Le Mans',
|
|
||||||
'pays' => 250
|
|
||||||
]);
|
|
||||||
|
|
||||||
$contact = new Controllers\ContactController();
|
|
||||||
$res = $contact->updateContact($req);
|
|
||||||
$demoContact = Contact::where(['contact_siteId' => $siteId, 'contact_ref' => 'DEMO'])->first();
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($campagne->camp_type == 0 || $campagne->camp_type == 2) {
|
|
||||||
// ---- DEMONSTRATION POUR LES MURS
|
|
||||||
$myRequest = new \Illuminate\Http\Request();
|
|
||||||
$myRequest->setMethod('POST');
|
|
||||||
$myRequest->request->add(['refcamp' => $camp_id, 'refadherent' => 'DEMO', 'admin' => 1]);
|
|
||||||
|
|
||||||
// ---- EFFACER LES CONTROLES SI EXISTANT
|
|
||||||
$mur = new Controllers\MurController();
|
|
||||||
$res = $mur->deleteControlContact($myRequest);
|
|
||||||
|
|
||||||
// ---- RETOURNE l'URL
|
|
||||||
$url = "/?refsite=" . $siteId . "&refcamp=" . $camp_id . "&hash=" . $demoContact->contact_hash;
|
|
||||||
return json_encode($url);
|
|
||||||
} else {
|
|
||||||
// ---- DEMONSTRATION POUR LES PANIERS
|
|
||||||
$panier = Panier::where(['panier_campId' => $camp_id, 'panier_contactId' => $demoContact->contact_id, 'panier_pending' => 1])->first();
|
|
||||||
|
|
||||||
if ($panier) {
|
|
||||||
$url = "/?basketid=" . $panier->panier_ref;
|
|
||||||
} else {
|
|
||||||
// --- Pas de panier Création d'un nouveau
|
|
||||||
// --- Récuperation des coupons de la campagne
|
|
||||||
$coupons = $campagne->coupons()->get();
|
|
||||||
|
|
||||||
foreach ($coupons as $key => $coupon) {
|
|
||||||
if (!$this->isAvailableToPrint($coupon, $campagne)) {
|
|
||||||
$coupons->forget($key);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$couponsTotal = sizeof($coupons);
|
|
||||||
$couponsAdded = 0;
|
|
||||||
$basketContent = "";
|
|
||||||
|
|
||||||
foreach ($coupons as $coupon) {
|
|
||||||
$basketContent .= "(1)" . $coupon->coupon_code;
|
|
||||||
$couponsAdded++;
|
|
||||||
if ($couponsAdded != $couponsTotal) {
|
|
||||||
$basketContent .= ",";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// --- création de l'objet request
|
|
||||||
$req = new \Illuminate\Http\Request();
|
|
||||||
$req->setMethod('POST');
|
|
||||||
$req->request->add([
|
|
||||||
'refsite' => $siteId,
|
|
||||||
'refcamp' => $camp_id,
|
|
||||||
'refadherent' => $demoContact->contact_ref,
|
|
||||||
'nom' => $demoContact->contact_nom,
|
|
||||||
'prenom' => $demoContact->contact_prenom,
|
|
||||||
'email' => $demoContact->contact_email,
|
|
||||||
'code_postal' => $demoContact->contact_cp,
|
|
||||||
'commune' => $demoContact->contact_ville,
|
|
||||||
'pays' => $demoContact->contact_country,
|
|
||||||
'panier' => $basketContent,
|
|
||||||
'admin' => 1
|
|
||||||
]);
|
|
||||||
$panier = new Controllers\PanierController();
|
|
||||||
$res = $panier->updateBasket($req);
|
|
||||||
$url = "/?basketid=" . $res->original['Panier']->Panier;
|
|
||||||
}
|
|
||||||
return json_encode($url);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// ---- MAINTENANCE : CLEAN DE LA BDD
|
|
||||||
|
|
||||||
// ---- Fonction de récap des contacts que l'on va effacer
|
|
||||||
public function get_clean_contacts_detail(Request $request)
|
|
||||||
{
|
|
||||||
$contacts = Contact::where('contact_updatedate', '<', Carbon::now()->subMonth())->get();
|
|
||||||
$date = Carbon::now();
|
|
||||||
$contact_count = 0;
|
|
||||||
foreach ($contacts as $contact) {
|
|
||||||
$paniers = $contact->paniers()->get();
|
|
||||||
$canbeDeleted = true;
|
|
||||||
foreach ($paniers as $panier) {
|
|
||||||
if ($panier->panier_pending == 1) {
|
|
||||||
$canbeDeleted = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($canbeDeleted) {
|
|
||||||
$contact_count++;
|
|
||||||
//$testcontact .= $contact->contact_id.", ";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return json_encode(['date' => $date, 'contact_count' => $contact_count]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// ---- Fonction de nettoyage de la base contact
|
|
||||||
public function clean_contacts(Request $request)
|
|
||||||
{
|
|
||||||
$contacts = Contact::where('contact_updatedate', '<', Carbon::now()->subMonth())->get();
|
|
||||||
$testcontact = "";
|
|
||||||
foreach ($contacts as $contact) {
|
|
||||||
$paniers = $contact->paniers()->get();
|
|
||||||
$canbeDeleted = true;
|
|
||||||
foreach ($paniers as $panier) {
|
|
||||||
if ($panier->panier_pending == 1) {
|
|
||||||
$canbeDeleted = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$murs = $contact->murs()->get();
|
|
||||||
if (isset($murs) && !empty($murs)) {
|
|
||||||
$canbeDeleted = false;
|
|
||||||
}
|
|
||||||
if ($canbeDeleted) {
|
|
||||||
$contact->delete();
|
|
||||||
$testcontact .= $contact->contact_id . ", ";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return json_encode($testcontact);
|
|
||||||
}
|
|
||||||
|
|
||||||
// ---- Fonction de nettoyage de la base mur
|
|
||||||
public function clean_walls(Request $request)
|
|
||||||
{
|
|
||||||
$murs = Mur::where('mur_createdate', '<', Carbon::now()->subYear())->where(['mur_deleted' => 1])->get();
|
|
||||||
$testmur = "";
|
|
||||||
foreach ($murs as $mur) {
|
|
||||||
$mur->delete();
|
|
||||||
$testmur .= $mur->mur_id . ", ";
|
|
||||||
}
|
|
||||||
return json_encode($testmur);
|
|
||||||
}
|
|
||||||
|
|
||||||
// ---- Fonction de nettoyage de la base panier et panierContent
|
|
||||||
public function clean_baskets(Request $request)
|
|
||||||
{
|
|
||||||
$paniers = Panier::where('panier_createdate', '<', Carbon::now()->subMonth(2))->where(['panier_pending' => 0])->get();
|
|
||||||
$testpanier = "";
|
|
||||||
foreach ($paniers as $panier) {
|
|
||||||
$testpanier .= $panier->panier_id . ": ";
|
|
||||||
$panierContents = $panier->panierContents()->get();
|
|
||||||
foreach ($panierContents as $panierContent) {
|
|
||||||
$testpanier .= $panierContent->panier_content_id . ', ';
|
|
||||||
$panierContent->delete();
|
|
||||||
}
|
|
||||||
$panier->delete();
|
|
||||||
}
|
|
||||||
return json_encode($testpanier);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ namespace App\Http\Controllers\Api\v1;
|
||||||
|
|
||||||
use App\Campagne;
|
use App\Campagne;
|
||||||
use App\Coupon;
|
use App\Coupon;
|
||||||
|
use App\Enums\CampaignTypes;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Http\Requests\Coupons\PrintRequest;
|
use App\Http\Requests\Coupons\PrintRequest;
|
||||||
use App\Http\Resources\StatusResource;
|
use App\Http\Resources\StatusResource;
|
||||||
|
|
@ -13,7 +14,6 @@ use App\Statistique;
|
||||||
use App\Traits\CouponTrait;
|
use App\Traits\CouponTrait;
|
||||||
use App\Traits\GenerateBR;
|
use App\Traits\GenerateBR;
|
||||||
use PDF;
|
use PDF;
|
||||||
|
|
||||||
use LDC\LDCCRM\CrmApiV2;
|
use LDC\LDCCRM\CrmApiV2;
|
||||||
|
|
||||||
class CouponsController extends Controller
|
class CouponsController extends Controller
|
||||||
|
|
@ -29,11 +29,11 @@ class CouponsController extends Controller
|
||||||
$couponsToPrint = explode(",", $datas['coupons']);
|
$couponsToPrint = explode(",", $datas['coupons']);
|
||||||
|
|
||||||
if ($campagne->site->crm_token === null) {
|
if ($campagne->site->crm_token === null) {
|
||||||
return new StatusResource(['status' => 'KO', 'code' => 500, 'message' => 'CRM Token is missing for site_id : '. $campagne->site->site_id]);
|
return new StatusResource(['status' => 'KO', 'code' => 500, 'message' => 'CRM Token is missing for site_id : ' . $campagne->site->site_id]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($campagne->site->crm_password === null) {
|
if ($campagne->site->crm_password === null) {
|
||||||
return new StatusResource(['status' => 'KO', 'code' => 500, 'message' => 'CRM Password is missing for site_id : '. $campagne->site->site_id]);
|
return new StatusResource(['status' => 'KO', 'code' => 500, 'message' => 'CRM Password is missing for site_id : ' . $campagne->site->site_id]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (empty($couponsToPrint)) {
|
if (empty($couponsToPrint)) {
|
||||||
|
|
@ -47,8 +47,7 @@ class CouponsController extends Controller
|
||||||
* @var \LDC\LDCCRM\Models\Customer
|
* @var \LDC\LDCCRM\Models\Customer
|
||||||
*/
|
*/
|
||||||
$crmInfos = $crm->getCustomer($customer->hashcode);
|
$crmInfos = $crm->getCustomer($customer->hashcode);
|
||||||
|
} catch (\Exception $e) {
|
||||||
}catch (\Exception $e) {
|
|
||||||
// TODO : Update error message
|
// TODO : Update error message
|
||||||
return new StatusResource(['status' => 'KO', 'code' => 422, 'message' => 'Customer not found.']);
|
return new StatusResource(['status' => 'KO', 'code' => 422, 'message' => 'Customer not found.']);
|
||||||
}
|
}
|
||||||
|
|
@ -61,7 +60,7 @@ class CouponsController extends Controller
|
||||||
// TODO : Logs
|
// TODO : Logs
|
||||||
|
|
||||||
$coupons = [];
|
$coupons = [];
|
||||||
if ($campagne->camp_type == 0) { //---- POUR LES MURS
|
if ($campagne->camp_type->equals(CampaignTypes::mur())) { //---- POUR LES MURS
|
||||||
foreach ($couponsToPrint as $key => $coupon_code) {
|
foreach ($couponsToPrint as $key => $coupon_code) {
|
||||||
$cp = Coupon::where(['coupon_code' => $coupon_code])->first();
|
$cp = Coupon::where(['coupon_code' => $coupon_code])->first();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ namespace App\Http\Controllers\Api\v1;
|
||||||
|
|
||||||
use App\Calendrier;
|
use App\Calendrier;
|
||||||
use App\Campagne;
|
use App\Campagne;
|
||||||
|
use App\Enums\CampaignTypes;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Http\Requests\Murs\MursShowRequest;
|
use App\Http\Requests\Murs\MursShowRequest;
|
||||||
use App\Http\Resources\CouponsResource;
|
use App\Http\Resources\CouponsResource;
|
||||||
|
|
@ -22,7 +23,7 @@ class MurController extends Controller
|
||||||
if ($campagne->camp_published === 0) {
|
if ($campagne->camp_published === 0) {
|
||||||
return new StatusResource(['status' => 'KO', 'code' => 404, 'message' => 'Campaign not found.']);
|
return new StatusResource(['status' => 'KO', 'code' => 404, 'message' => 'Campaign not found.']);
|
||||||
}
|
}
|
||||||
if ($campagne->camp_type !== 0) {
|
if (!$campagne->camp_type->equals(CampaignTypes::mur())) {
|
||||||
return new StatusResource(['status' => 'KO', 'code' => 403, 'message' => 'Campaign type error.']);
|
return new StatusResource(['status' => 'KO', 'code' => 403, 'message' => 'Campaign type error.']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,6 @@ namespace App\Http\Controllers\Auth;
|
||||||
|
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Foundation\Auth\AuthenticatesUsers;
|
use Illuminate\Foundation\Auth\AuthenticatesUsers;
|
||||||
use Illuminate\Http\Request;
|
|
||||||
|
|
||||||
class LoginController extends Controller
|
class LoginController extends Controller
|
||||||
{
|
{
|
||||||
|
|
|
||||||
22
app/Http/Controllers/BrandChangeController.php
Normal file
22
app/Http/Controllers/BrandChangeController.php
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use App\Http\Requests\BrandChange\InvokeBrandChange;
|
||||||
|
|
||||||
|
class BrandChangeController extends Controller
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Handle the incoming request.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\InvokeBrandChange $request
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function __invoke(InvokeBrandChange $request)
|
||||||
|
{
|
||||||
|
// TODO : Revoir le passage du site
|
||||||
|
$site = \App\Site::find($request->site_id);
|
||||||
|
session()->put('site', $site);
|
||||||
|
return redirect()->back();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -6,19 +6,26 @@ use App\Campagne;
|
||||||
use App\Site;
|
use App\Site;
|
||||||
use App\Coupon;
|
use App\Coupon;
|
||||||
use App\Contact;
|
use App\Contact;
|
||||||
|
use App\Enums\CampaignTypes;
|
||||||
|
use App\Http\Requests\Campaign\AddCouponsCampaign;
|
||||||
|
use App\Http\Requests\Campaign\DeleteCampaign;
|
||||||
|
use App\Http\Requests\Campaign\RemoveCouponCampaign;
|
||||||
|
use App\Http\Requests\Campaign\StoreCampaign;
|
||||||
|
use App\Http\Requests\Campaign\UpdateCampaign;
|
||||||
use App\Mur;
|
use App\Mur;
|
||||||
use App\Panier;
|
|
||||||
use App\PanierContent;
|
use App\PanierContent;
|
||||||
use App\Notification;
|
use App\Notification;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\Storage;
|
|
||||||
use Illuminate\Support\Facades\File;
|
use Illuminate\Support\Facades\File;
|
||||||
use App\Traits\CouponTrait;
|
use App\Traits\CouponTrait;
|
||||||
use Response;
|
use App\Http\Controllers;
|
||||||
|
use App\Http\Requests\Campaign\RemoveNotifCampaign;
|
||||||
|
use App\Http\Requests\Campaign\ShowDemoCampaign;
|
||||||
|
use App\Http\Requests\Campaign\StoreNotifCampaign;
|
||||||
|
use App\Panier;
|
||||||
|
|
||||||
class CampagneController extends Controller
|
class CampagneController extends Controller
|
||||||
{
|
{
|
||||||
//use BarcodeGenerator;
|
|
||||||
use CouponTrait;
|
use CouponTrait;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -28,8 +35,11 @@ class CampagneController extends Controller
|
||||||
*/
|
*/
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
$campagnes = Campagne::where('camp_siteId', session()->get('site')->site_id)->get();
|
// TODO : Revoir le passage du site id ?
|
||||||
return view('campagne.index')->with('campagnes', $campagnes);
|
$siteId = session()->get('site')->site_id;
|
||||||
|
|
||||||
|
$campagnes = Campagne::where('camp_siteId', $siteId)->get();
|
||||||
|
return view('campagnes.index')->with('campagnes', $campagnes);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -39,38 +49,32 @@ class CampagneController extends Controller
|
||||||
*/
|
*/
|
||||||
public function create()
|
public function create()
|
||||||
{
|
{
|
||||||
return view('campagne.create');
|
return view('campagnes.create');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Store a newly created resource in storage.
|
* Store a newly created resource in storage.
|
||||||
*
|
*
|
||||||
* @param \Illuminate\Http\Request $request
|
* @param StoreCampaign $request
|
||||||
* @return \Illuminate\Http\Response
|
* @return \Illuminate\Http\Response
|
||||||
*/
|
*/
|
||||||
public function store(Request $request)
|
public function store(StoreCampaign $request)
|
||||||
{
|
{
|
||||||
|
// TODO : Revoir le passage du site
|
||||||
$campagne = new Campagne();
|
|
||||||
$campagne->camp_name = $request->input('camp_name');
|
|
||||||
$campagne->camp_type = $request->input('camp_type');
|
|
||||||
$campagne->camp_published = $request->input('camp_published');
|
|
||||||
if (null !== $request->input('camp_limitedPrinting')) {
|
|
||||||
$campagne->camp_limitedPrinting = $request->input('camp_limitedPrinting');
|
|
||||||
}
|
|
||||||
$campagne->camp_siteId = session()->get('site')->site_id;
|
|
||||||
|
|
||||||
$site = session()->get('site');
|
$site = session()->get('site');
|
||||||
|
|
||||||
|
$campagne = new Campagne();
|
||||||
|
$campagne->fill(array_merge($request->validated(), ['camp_siteId' => $site->site_id]));
|
||||||
|
$campagne->save();
|
||||||
|
|
||||||
if ($site->campagnes()->save($campagne)) {
|
if ($site->campagnes()->save($campagne)) {
|
||||||
//File::makeDirectory(public_path('/landings/' . $campagne->camp_id));
|
if ($campagne->camp_type->equals(CampaignTypes::mur())) {
|
||||||
if ($campagne->camp_type == 0) {
|
|
||||||
File::copyDirectory(resource_path('/views/template/mur'), public_path('/landings/' . $campagne->camp_id));
|
File::copyDirectory(resource_path('/views/template/mur'), public_path('/landings/' . $campagne->camp_id));
|
||||||
} elseif ($campagne->camp_type == 1) {
|
} elseif ($campagne->camp_type->equals(CampaignTypes::panier())) {
|
||||||
File::copyDirectory(resource_path('/views/template/panier'), public_path('/landings/' . $campagne->camp_id));
|
File::copyDirectory(resource_path('/views/template/panier'), public_path('/landings/' . $campagne->camp_id));
|
||||||
} elseif ($campagne->camp_type == 2) {
|
} elseif ($campagne->camp_type->equals(CampaignTypes::murss())) {
|
||||||
File::copyDirectory(resource_path('/views/template/murnoselection'), public_path('/landings/' . $campagne->camp_id));
|
File::copyDirectory(resource_path('/views/template/murnoselection'), public_path('/landings/' . $campagne->camp_id));
|
||||||
} elseif ($campagne->camp_type == 3) {
|
} elseif ($campagne->camp_type->equals(CampaignTypes::paniers())) {
|
||||||
File::copyDirectory(resource_path('/views/template/panierselection'), public_path('/landings/' . $campagne->camp_id));
|
File::copyDirectory(resource_path('/views/template/panierselection'), public_path('/landings/' . $campagne->camp_id));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -86,45 +90,35 @@ class CampagneController extends Controller
|
||||||
*/
|
*/
|
||||||
public function edit(Campagne $campagne)
|
public function edit(Campagne $campagne)
|
||||||
{
|
{
|
||||||
$site = Site::findOrFail(session()->get('site')->id)->first();
|
// TODO : Revoir le passage du site id
|
||||||
|
$siteId = session()->get('site')->id;
|
||||||
|
|
||||||
$couponsLinked = $campagne->coupons()->get();
|
$couponsNotLinked = Coupon::whereDoesntHave('campagnes', function ($q) use ($campagne) {
|
||||||
$campid = $campagne->camp_id;
|
$q->where('campagne_id', $campagne->camp_id);
|
||||||
|
})->where('coupon_siteId', $siteId)->where('coupon_published', 1)->get();
|
||||||
|
|
||||||
$couponsNotLinked = Coupon::whereDoesntHave('campagnes', function ($q) use ($campid) {
|
return view('campagnes.edit', ['campagne' => $campagne, 'coupons' => $couponsNotLinked]);
|
||||||
$q->where('campagne_id', $campid);
|
|
||||||
})->where('coupon_siteId', session()->get('site')->id)->get();
|
|
||||||
|
|
||||||
return view('campagne.edit', ['campagne' => $campagne, 'coupons' => $couponsNotLinked, 'couponsLinked' => $couponsLinked]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update the specified resource in storage.
|
* Update the specified resource in storage.
|
||||||
*
|
*
|
||||||
* @param \Illuminate\Http\Request $request
|
* @param UpdateCampaign $request
|
||||||
* @param \App\Campagne $campagne
|
* @param \App\Campagne $campagne
|
||||||
* @return \Illuminate\Http\Response
|
* @return \Illuminate\Http\Response
|
||||||
*/
|
*/
|
||||||
public function update(Request $request, Campagne $campagne)
|
public function update(UpdateCampaign $request, Campagne $campagne)
|
||||||
{
|
{
|
||||||
$site = Site::findOrFail(session()->get('site')->id)->first();
|
$campagne->fill($request->validated());
|
||||||
|
|
||||||
$couponsLinked = $campagne->coupons()->get();
|
|
||||||
$campid = $campagne->camp_id;
|
|
||||||
|
|
||||||
$couponsNotLinked = Coupon::whereDoesntHave('campagnes', function ($q) use ($campid) {
|
|
||||||
$q->where('campagne_id', $campid);
|
|
||||||
})->where('coupon_siteId', session()->get('site')->id)->get();
|
|
||||||
|
|
||||||
if (!isset($request->camp_limitedPrinting)) {
|
if (!isset($request->camp_limitedPrinting)) {
|
||||||
$campagne->camp_limitedPrinting = 0;
|
$campagne->camp_limitedPrinting = 0;
|
||||||
$campagne->save();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($campagne->update($request->all())) {
|
if ($campagne->save()) {
|
||||||
session()->flash('update_ok', 'La campagne a bien été modifiée');
|
session()->flash('update_ok', __('La campagne a bien été modifiée'));
|
||||||
} else {
|
} else {
|
||||||
session()->flash('update_nok', 'Erreur lors de l\'enregistrement');
|
session()->flash('update_nok', __("Erreur lors de l'enregistrement"));
|
||||||
}
|
}
|
||||||
|
|
||||||
return redirect()->route('campagne.edit', ['campagne' => $campagne]);
|
return redirect()->route('campagne.edit', ['campagne' => $campagne]);
|
||||||
|
|
@ -133,45 +127,60 @@ class CampagneController extends Controller
|
||||||
/**
|
/**
|
||||||
* Remove the specified resource from storage.
|
* Remove the specified resource from storage.
|
||||||
*
|
*
|
||||||
* @param \App\Campagne $campagne
|
* @param DeleteCampaign $request
|
||||||
|
* @param \App\Campagne $campaign
|
||||||
* @return \Illuminate\Http\Response
|
* @return \Illuminate\Http\Response
|
||||||
*/
|
*/
|
||||||
public function destroy(Campagne $campagne)
|
public function destroy(DeleteCampaign $request, Campagne $campagne)
|
||||||
{
|
{
|
||||||
$campagne->camp_published = 0;
|
$campagne->camp_published = 0;
|
||||||
$campagne->save();
|
$campagne->save();
|
||||||
//File::deleteDirectory(public_path('/landings/' . $campagne->camp_id));
|
|
||||||
if ($campagne->delete()) {
|
if ($campagne->delete()) {
|
||||||
return redirect(route('campagne.index'));
|
return redirect(route('campagne.index'));
|
||||||
} else {
|
} else {
|
||||||
session()->flash('delete_nok', 'Erreur lors de la suppression');
|
session()->flash('delete_nok', 'Erreur lors de la suppression');
|
||||||
return view('campagne.edit')->with('campagne', $campagne);
|
return view('campagnes.edit')->with('campagne', $campagne);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ---- Ajoute des coupons à une campagne
|
||||||
|
public function addCoupons(AddCouponsCampaign $request, Campagne $campaign)
|
||||||
|
{
|
||||||
|
$coupons = Coupon::find($request->ids);
|
||||||
|
$campaign->coupons()->attach($coupons);
|
||||||
|
return json_encode($coupons);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---- Efface des coupons d'une campagne
|
||||||
|
public function removeCoupon(RemoveCouponCampaign $request, Campagne $campaign, Coupon $coupon)
|
||||||
|
{
|
||||||
|
$campaign->coupons()->detach($coupon);
|
||||||
|
return json_encode($coupon);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param \Illuminate\Http\Request $request
|
* @param \Illuminate\Http\Request $request
|
||||||
*
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function saveNotification(Request $request)
|
public function saveNotification(StoreNotifCampaign $request, Campagne $campaign)
|
||||||
{
|
{
|
||||||
$notification = new Notification();
|
$notification = new Notification();
|
||||||
$notification->notif_name = $request->input('notif_name');
|
$notification->fill(array_merge($request->validated(), ['notif_campId' => $campaign->camp_id]));
|
||||||
$notification->notif_email = $request->input('notif_email');
|
|
||||||
$notification->notif_campId = $request->input('notif_campId');
|
|
||||||
$notification->save();
|
$notification->save();
|
||||||
|
|
||||||
return redirect()->back();
|
return redirect()->back();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* @param RemoveNotifCampaign $request
|
||||||
* @param \App\Notification $notification
|
* @param \App\Notification $notification
|
||||||
*
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function deleteNotification($id)
|
public function deleteNotification(RemoveNotifCampaign $request, Notification $notification)
|
||||||
{
|
{
|
||||||
$notification = Notification::find($id);
|
|
||||||
if ($notification->delete()) {
|
if ($notification->delete()) {
|
||||||
return redirect()->back();
|
return redirect()->back();
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -180,23 +189,104 @@ class CampagneController extends Controller
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// ---- Montre les campagnes avec un compte de démo
|
||||||
* @param \App\Coupon $coupon
|
public function showDemo(ShowDemoCampaign $request, Campagne $campaign)
|
||||||
*
|
{
|
||||||
* @return array
|
$siteId = $campaign->camp_siteId;
|
||||||
*/
|
$demoContact = Contact::where(['contact_siteId' => $siteId, 'contact_ref' => 'DEMO'])->first();
|
||||||
// public function deleteCoupon($id)
|
|
||||||
// {
|
|
||||||
// $coupon = Coupon::find($id);
|
|
||||||
// if ($notification->delete()) {
|
|
||||||
// return redirect()->back();
|
|
||||||
// } else {
|
|
||||||
// session()->flash('delete_nok', 'Erreur lors de la suppression');
|
|
||||||
// return redirect()->back();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
if (!isset($demoContact)) {
|
||||||
|
$req = new \Illuminate\Http\Request();
|
||||||
|
$req->setMethod('POST');
|
||||||
|
$req->request->add([
|
||||||
|
'refsite' => $siteId,
|
||||||
|
'refadherent' => 'DEMO',
|
||||||
|
'prenom' => 'Compte',
|
||||||
|
'nom' => 'Démonstration',
|
||||||
|
'email' => 'demo@demo.fr',
|
||||||
|
'code_postal' => '72000',
|
||||||
|
'commune' => 'Le Mans',
|
||||||
|
'pays' => 250
|
||||||
|
]);
|
||||||
|
|
||||||
|
$contact = new Controllers\ContactController();
|
||||||
|
$res = $contact->updateContact($req);
|
||||||
|
$demoContact = Contact::where(['contact_siteId' => $siteId, 'contact_ref' => 'DEMO'])->first();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($campaign->camp_type->equals(CampaignTypes::mur()) || $campaign->camp_type->equals(CampaignTypes::murss())) {
|
||||||
|
// ---- DEMONSTRATION POUR LES MURS
|
||||||
|
$myRequest = new \Illuminate\Http\Request();
|
||||||
|
$myRequest->setMethod('POST');
|
||||||
|
$myRequest->request->add(['refcamp' => $campaign->camp_id, 'refadherent' => 'DEMO', 'admin' => 1]);
|
||||||
|
|
||||||
|
// ---- EFFACER LES CONTROLES SI EXISTANT
|
||||||
|
$mur = new Controllers\MurController();
|
||||||
|
$res = $mur->deleteControlContact($myRequest);
|
||||||
|
|
||||||
|
// ---- RETOURNE l'URL
|
||||||
|
$url = "/?refsite=" . $siteId . "&refcamp=" . $campaign->camp_id . "&hash=" . $demoContact->contact_hash;
|
||||||
|
return json_encode($url);
|
||||||
|
} else {
|
||||||
|
// ---- DEMONSTRATION POUR LES PANIERS
|
||||||
|
$panier = Panier::where(['panier_campId' => $campaign->camp_id, 'panier_contactId' => $demoContact->contact_id, 'panier_pending' => 1])->first();
|
||||||
|
|
||||||
|
if ($panier) {
|
||||||
|
$url = "/?basketid=" . $panier->panier_ref;
|
||||||
|
} else {
|
||||||
|
// --- Pas de panier Création d'un nouveau
|
||||||
|
// --- Récuperation des coupons de la campagne
|
||||||
|
$coupons = $campaign->coupons()->get();
|
||||||
|
|
||||||
|
foreach ($coupons as $key => $coupon) {
|
||||||
|
if (!$this->isAvailableToPrint($coupon, $campaign)) {
|
||||||
|
$coupons->forget($key);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$couponsTotal = count($coupons);
|
||||||
|
$couponsAdded = 0;
|
||||||
|
$basketContent = "";
|
||||||
|
|
||||||
|
foreach ($coupons as $coupon) {
|
||||||
|
$basketContent .= "(1)" . $coupon->coupon_code;
|
||||||
|
$couponsAdded++;
|
||||||
|
if ($couponsAdded != $couponsTotal) {
|
||||||
|
$basketContent .= ",";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// --- création de l'objet request
|
||||||
|
$req = new \Illuminate\Http\Request();
|
||||||
|
$req->setMethod('POST');
|
||||||
|
$req->request->add([
|
||||||
|
'refsite' => $siteId,
|
||||||
|
'refcamp' => $campaign->camp_id,
|
||||||
|
'refadherent' => $demoContact->contact_ref,
|
||||||
|
'nom' => $demoContact->contact_nom,
|
||||||
|
'prenom' => $demoContact->contact_prenom,
|
||||||
|
'email' => $demoContact->contact_email,
|
||||||
|
'code_postal' => $demoContact->contact_cp,
|
||||||
|
'commune' => $demoContact->contact_ville,
|
||||||
|
'pays' => $demoContact->contact_country,
|
||||||
|
'panier' => $basketContent,
|
||||||
|
'admin' => 1
|
||||||
|
]);
|
||||||
|
$panier = new \App\Http\Controllers\PanierController();
|
||||||
|
$res = $panier->updateBasket($req);
|
||||||
|
$url = "/?basketid=" . $res->original['Panier']->Panier;
|
||||||
|
}
|
||||||
|
return json_encode($url);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---- Dépublie une campagne
|
||||||
|
public function togglePublish(Request $request, Campagne $campaign, int $state)
|
||||||
|
{
|
||||||
|
$campaign->camp_published = $state;
|
||||||
|
$campaign->save();
|
||||||
|
|
||||||
|
return json_encode($campaign);
|
||||||
|
}
|
||||||
|
|
||||||
public function getDetail(Request $request)
|
public function getDetail(Request $request)
|
||||||
{
|
{
|
||||||
|
|
@ -208,7 +298,7 @@ class CampagneController extends Controller
|
||||||
$refcamp = $request->refcamp;
|
$refcamp = $request->refcamp;
|
||||||
$campagne = Campagne::where(['camp_id' => $refcamp])->first();
|
$campagne = Campagne::where(['camp_id' => $refcamp])->first();
|
||||||
if (!$campagne) {
|
if (!$campagne) {
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 103,
|
'Code' => 103,
|
||||||
'Message' => 'La campagne n\'existe pas'
|
'Message' => 'La campagne n\'existe pas'
|
||||||
|
|
@ -221,7 +311,7 @@ class CampagneController extends Controller
|
||||||
$refsite = $request->refsite;
|
$refsite = $request->refsite;
|
||||||
$site = Site::where(['site_id' => $refsite])->first();
|
$site = Site::where(['site_id' => $refsite])->first();
|
||||||
if (!$site) {
|
if (!$site) {
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 102,
|
'Code' => 102,
|
||||||
'Message' => 'Le site n\'existe pas'
|
'Message' => 'Le site n\'existe pas'
|
||||||
|
|
@ -232,7 +322,7 @@ class CampagneController extends Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($campagne->camp_siteId != $site->site_id) {
|
if ($campagne->camp_siteId != $site->site_id) {
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 108,
|
'Code' => 108,
|
||||||
'Message' => 'Pas de campagne pour ce site'
|
'Message' => 'Pas de campagne pour ce site'
|
||||||
|
|
@ -240,7 +330,7 @@ class CampagneController extends Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($error) {
|
if ($error) {
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 101,
|
'Code' => 101,
|
||||||
'Message' => 'Des paramètres de la requête sont mal renseignés ou non présents'
|
'Message' => 'Des paramètres de la requête sont mal renseignés ou non présents'
|
||||||
|
|
@ -249,16 +339,16 @@ class CampagneController extends Controller
|
||||||
|
|
||||||
$enligne = ($campagne->camp_published == 1) ? "oui" : "non";
|
$enligne = ($campagne->camp_published == 1) ? "oui" : "non";
|
||||||
switch ($campagne->camp_type) {
|
switch ($campagne->camp_type) {
|
||||||
case 0:
|
case CampaignTypes::mur():
|
||||||
$type = "mur";
|
$type = "mur";
|
||||||
break;
|
break;
|
||||||
case 1:
|
case CampaignTypes::panier():
|
||||||
$type = "panier";
|
$type = "panier";
|
||||||
break;
|
break;
|
||||||
case 2:
|
case CampaignTypes::murss():
|
||||||
$type = "mur sans sélection";
|
$type = "mur sans sélection";
|
||||||
break;
|
break;
|
||||||
case 3:
|
case CampaignTypes::paniers():
|
||||||
$type = "panier avec sélection";
|
$type = "panier avec sélection";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -319,7 +409,7 @@ class CampagneController extends Controller
|
||||||
$data['Coupons'][] = $codeTraitement;
|
$data['Coupons'][] = $codeTraitement;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'OK',
|
'Statut' => 'OK',
|
||||||
'Détails Campagne' => $data
|
'Détails Campagne' => $data
|
||||||
]);
|
]);
|
||||||
|
|
@ -333,7 +423,7 @@ class CampagneController extends Controller
|
||||||
$refcamp = $request->refcamp;
|
$refcamp = $request->refcamp;
|
||||||
$campagne = Campagne::where(['camp_id' => $refcamp])->first();
|
$campagne = Campagne::where(['camp_id' => $refcamp])->first();
|
||||||
if (!$campagne) {
|
if (!$campagne) {
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 103,
|
'Code' => 103,
|
||||||
'Message' => 'La campagne n\'existe pas'
|
'Message' => 'La campagne n\'existe pas'
|
||||||
|
|
@ -346,7 +436,7 @@ class CampagneController extends Controller
|
||||||
$refsite = $request->refsite;
|
$refsite = $request->refsite;
|
||||||
$site = Site::where(['site_id' => $refsite])->first();
|
$site = Site::where(['site_id' => $refsite])->first();
|
||||||
if (!$site) {
|
if (!$site) {
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 102,
|
'Code' => 102,
|
||||||
'Message' => 'Le site n\'existe pas'
|
'Message' => 'Le site n\'existe pas'
|
||||||
|
|
@ -360,7 +450,7 @@ class CampagneController extends Controller
|
||||||
$refadherent = $request->refadherent;
|
$refadherent = $request->refadherent;
|
||||||
$contact = Contact::where(['contact_siteId' => $refsite, 'contact_ref' => $refadherent])->first();
|
$contact = Contact::where(['contact_siteId' => $refsite, 'contact_ref' => $refadherent])->first();
|
||||||
if (!$contact) {
|
if (!$contact) {
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 104,
|
'Code' => 104,
|
||||||
'Message' => 'Le contact n\'existe pas'
|
'Message' => 'Le contact n\'existe pas'
|
||||||
|
|
@ -371,7 +461,7 @@ class CampagneController extends Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($error) {
|
if ($error) {
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 101,
|
'Code' => 101,
|
||||||
'Message' => 'Des paramètres de la requête sont mal renseignés ou non présents'
|
'Message' => 'Des paramètres de la requête sont mal renseignés ou non présents'
|
||||||
|
|
@ -404,6 +494,6 @@ class CampagneController extends Controller
|
||||||
$data['Codes traitement'][] = $codeTraitement;
|
$data['Codes traitement'][] = $codeTraitement;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Response::json($data);
|
return response()->json($data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,24 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Http\Controllers;
|
|
||||||
|
|
||||||
use Illuminate\Http\Request;
|
|
||||||
|
|
||||||
class ChangeMarqueController extends Controller
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Handle the incoming request.
|
|
||||||
*
|
|
||||||
* @param \Illuminate\Http\Request $request
|
|
||||||
* @return \Illuminate\Http\Response
|
|
||||||
*/
|
|
||||||
public function __invoke(Request $request)
|
|
||||||
{
|
|
||||||
$siteId = $request->input('site_id');
|
|
||||||
$currentRoute = $request->input('current_route');
|
|
||||||
$site = \App\Site::findOrFail($siteId);
|
|
||||||
session()->put('site', $site);
|
|
||||||
|
|
||||||
return redirect('/bo/' . $currentRoute);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -4,14 +4,21 @@ namespace App\Http\Controllers;
|
||||||
|
|
||||||
use App\Contact;
|
use App\Contact;
|
||||||
use App\Site;
|
use App\Site;
|
||||||
|
use App\Campagne;
|
||||||
|
use App\Enums\CampaignTypes;
|
||||||
|
use App\Http\Requests\Contact\LoadWidgetContact;
|
||||||
|
use App\Http\Requests\Contact\SearchContact;
|
||||||
|
use App\Http\Requests\Contact\StoreContact;
|
||||||
|
use App\Http\Requests\Contact\UpdateContact;
|
||||||
use App\Log;
|
use App\Log;
|
||||||
use App\Panier;
|
use App\Panier;
|
||||||
use App\Campagne;
|
use App\PanierContent;
|
||||||
use Response;
|
use App\Traits\CouponTrait;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
class ContactController extends Controller
|
class ContactController extends Controller
|
||||||
{
|
{
|
||||||
|
use CouponTrait;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Display a listing of the resource.
|
* Display a listing of the resource.
|
||||||
|
|
@ -20,46 +27,34 @@ class ContactController extends Controller
|
||||||
*/
|
*/
|
||||||
public function index(Request $request)
|
public function index(Request $request)
|
||||||
{
|
{
|
||||||
$contacts = Contact::where('contact_siteId', session()->get('site')->site_id)->orderBy('contact_createdate', 'DESC')->take(10)->get();
|
return view('contact.index')->with('search', false);
|
||||||
|
|
||||||
return view('contact.index')->with('contacts', $contacts)->with('search', false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public function search_contact(Request $request)
|
public function search(SearchContact $request)
|
||||||
{
|
{
|
||||||
session()->put('active_route', 'contact');
|
session()->put('active_route', 'contact');
|
||||||
$page = $request->input('page');
|
|
||||||
$name = $request->input('searchName');
|
|
||||||
$firstname = $request->input('searchFirstname');
|
|
||||||
$email = $request->input('searchEmail');
|
|
||||||
$cp = $request->input('searchCp');
|
|
||||||
$ville = $request->input('searchVille');
|
|
||||||
$country = $request->input('searchCountry');
|
|
||||||
|
|
||||||
if (isset($name) || isset($firstname) || isset($email) || isset($cp) || isset($ville) || isset($country)) {
|
$contacts = Contact::where('contact_siteId', session()->get('site')->site_id)
|
||||||
$contacts = Contact::where('contact_siteId', session()->get('site')->site_id)
|
->searchFirstname($request->searchFirstname)
|
||||||
->searchFirstname($firstname)
|
->searchName($request->searchName)
|
||||||
->searchName($name)
|
->searchEmail($request->searchEmail)
|
||||||
->searchEmail($email)
|
->searchCp($request->searchCp)
|
||||||
->searchCp($cp)
|
->searchVille($request->searchVille)
|
||||||
->searchVille($ville)
|
->searchCountry($request->searchCountry)
|
||||||
->searchCountry($country)
|
->orderBy('contact_createdate', 'DESC')
|
||||||
->paginate(2, ['*'], 'page', $page);
|
->paginate(15, ['*'], 'page', $request->page);
|
||||||
$searchData = array(
|
|
||||||
'name' => $name,
|
|
||||||
'firstname' => $firstname,
|
|
||||||
'email' => $email,
|
|
||||||
'cp' => $cp,
|
|
||||||
'ville' => $ville,
|
|
||||||
'pays' => $country
|
|
||||||
);
|
|
||||||
return view('contact.index')->with('contacts', $contacts)->with('search', true)->with('searchData', $searchData);
|
|
||||||
} else {
|
|
||||||
$contacts = Contact::where('contact_siteId', session()->get('site')->site_id)->orderBy('contact_createdate', 'DESC')->take(10)->get();
|
|
||||||
|
|
||||||
return view('contact.index')->with('contacts', $contacts)->with('search', false);
|
$searchData = array(
|
||||||
}
|
'name' => $request->searchName,
|
||||||
|
'firstname' => $request->searchFirstname,
|
||||||
|
'email' => $request->searchEmail,
|
||||||
|
'cp' => $request->searchCp,
|
||||||
|
'ville' => $request->searchVille,
|
||||||
|
'pays' => $request->searchCountry
|
||||||
|
);
|
||||||
|
|
||||||
|
return view('contact.index')->with('contacts', $contacts)->with('search', true)->with('searchData', $searchData);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -75,42 +70,21 @@ class ContactController extends Controller
|
||||||
/**
|
/**
|
||||||
* Store a newly created resource in storage.
|
* Store a newly created resource in storage.
|
||||||
*
|
*
|
||||||
* @param \Illuminate\Http\Request $request
|
* @param StoreContact $request
|
||||||
* @return \Illuminate\Http\Response
|
* @return \Illuminate\Http\Response
|
||||||
*/
|
*/
|
||||||
public function store(Request $request)
|
public function store(StoreContact $request)
|
||||||
{
|
{
|
||||||
$validatedData = $request->validate([
|
// TODO : Revoir le passage du site
|
||||||
'contact_ref' => 'required|unique:contact',
|
|
||||||
'contact_nom' => 'required',
|
|
||||||
'contact_prenom' => 'required',
|
|
||||||
'contact_email' => 'required',
|
|
||||||
'contact_cp' => 'required',
|
|
||||||
'contact_ville' => 'required',
|
|
||||||
'contact_country' => 'required'
|
|
||||||
]);
|
|
||||||
|
|
||||||
$contact = new Contact();
|
|
||||||
$contact->contact_nom = $request->input('contact_nom');
|
|
||||||
$contact->contact_prenom = $request->input('contact_prenom');
|
|
||||||
$contact->contact_ref = $request->input('contact_ref');
|
|
||||||
$contact->contact_email = $request->input('contact_email');
|
|
||||||
$contact->contact_cp = $request->input('contact_cp');
|
|
||||||
$contact->contact_ville = $request->input('contact_ville');
|
|
||||||
$contact->contact_country = $request->input('contact_country');
|
|
||||||
$contact->contact_hash = strtoupper(md5(uniqid(time(), true)));
|
|
||||||
|
|
||||||
//$site = Site::findOrFail(session()->get('site')->id)->first();
|
|
||||||
$site = session()->get('site');
|
$site = session()->get('site');
|
||||||
|
|
||||||
|
$contact = new Contact();
|
||||||
|
$contact->fill($request->validated());
|
||||||
|
$contact->contact_hash = strtoupper(md5(uniqid(time(), true)));
|
||||||
$contact->contact_siteId = $site->site_id;
|
$contact->contact_siteId = $site->site_id;
|
||||||
|
|
||||||
$contact->save();
|
$contact->save();
|
||||||
|
|
||||||
$contacts = Contact::where('contact_siteId', session()->get('site')->site_id)->orderBy('contact_createdate', 'DESC')->take(10)->get();
|
return redirect()->route('contact.edit', ['contact' => $contact]);
|
||||||
$campagnes = Campagne::where(['camp_siteId' => $contact->contact_siteId, 'camp_published' => 1])->get();
|
|
||||||
|
|
||||||
return view('contact.edit', ['contact' => $contact, 'created' => true, 'contacts' => $contacts, 'campagnes' => $campagnes]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -132,44 +106,39 @@ class ContactController extends Controller
|
||||||
/**
|
/**
|
||||||
* Update the specified resource in storage.
|
* Update the specified resource in storage.
|
||||||
*
|
*
|
||||||
* @param \Illuminate\Http\Request $request
|
* @param UpdateContact $request
|
||||||
* @param \App\Contact $contact
|
* @param \App\Contact $contact
|
||||||
* @return \Illuminate\Http\Response
|
* @return \Illuminate\Http\Response
|
||||||
*/
|
*/
|
||||||
public function update(Request $request, Contact $contact)
|
public function update(UpdateContact $request, Contact $contact)
|
||||||
{
|
{
|
||||||
$validatedData = $request->validate([
|
$contact->fill($request->validated());
|
||||||
'contact_ref' => 'required',
|
if ($contact->save()) {
|
||||||
'contact_nom' => 'required',
|
session()->flash('update_ok', __('La campagne a bien été modifiée'));
|
||||||
'contact_prenom' => 'required',
|
|
||||||
'contact_email' => 'required',
|
|
||||||
'contact_cp' => 'required',
|
|
||||||
'contact_ville' => 'required',
|
|
||||||
'contact_country' => 'required'
|
|
||||||
]);
|
|
||||||
|
|
||||||
$campagnes = Campagne::where(['camp_siteId' => $contact->contact_siteId, 'camp_published' => 1])->get();
|
|
||||||
if ($contact->update($request->all())) {
|
|
||||||
session()->flash('update_ok', 'La campagne a bien été modifiée');
|
|
||||||
} else {
|
} else {
|
||||||
session()->flash('update_nok', 'Erreur lors de l\'enregistrement');
|
session()->flash('update_nok', "Erreur lors de l'enregistrement");
|
||||||
}
|
}
|
||||||
|
|
||||||
return redirect()->route('contact.edit', ['contact' => $contact]);
|
return redirect()->route('contact.edit', ['contact' => $contact]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the specified resource from storage.
|
||||||
|
*
|
||||||
|
* @param \App\Contact $contact
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function destroy(Contact $contact)
|
||||||
|
{
|
||||||
|
if ($contact->delete()) {
|
||||||
|
return redirect()->route('contact.index');
|
||||||
|
} else {
|
||||||
|
session()->flash('delete_nok', __('Erreur lors de la suppression'));
|
||||||
|
redirect()->route('contact.edit', ['contact' => $contact]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public function updateContact(Request $request)
|
public function updateContact(Request $request)
|
||||||
{
|
{
|
||||||
if (isset($request->admin)) {
|
|
||||||
$source = 'ADMIN';
|
|
||||||
} else {
|
|
||||||
$source = 'API';
|
|
||||||
}
|
|
||||||
// ---- INIT du log
|
|
||||||
// $log = new Log();
|
|
||||||
// $log->log_action = config('constants.updatecontact');
|
|
||||||
// $log->log_source = $source;
|
|
||||||
|
|
||||||
$error = false;
|
$error = false;
|
||||||
// ---- Contrôle des paramètres
|
// ---- Contrôle des paramètres
|
||||||
if (isset($request->refadherent) && $request->refadherent != "") {
|
if (isset($request->refadherent) && $request->refadherent != "") {
|
||||||
|
|
@ -219,11 +188,7 @@ class ContactController extends Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($error) {
|
if ($error) {
|
||||||
// $log->log_params = json_encode(['refadherent' => $request->refadherent, 'refsite'=>$request->refsite, 'nom' => $request->nom, 'prenom' => $request->prenom, 'email' => $request->email, 'code postal' => $request->code_postal, 'commune' => $request->commune]);
|
return response()->json([
|
||||||
// $log->log_statut = 'NOK';
|
|
||||||
// $log->log_message = "Des paramètres de la requête sont mal renseignés ou non présents";
|
|
||||||
// $log->save();
|
|
||||||
return Response::json([
|
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 101,
|
'Code' => 101,
|
||||||
'Message' => 'Des paramètres de la requête sont mal renseignés ou non présents'
|
'Message' => 'Des paramètres de la requête sont mal renseignés ou non présents'
|
||||||
|
|
@ -262,12 +227,7 @@ class ContactController extends Controller
|
||||||
$contact->contact_hash = strtoupper(md5(uniqid(time(), true)));
|
$contact->contact_hash = strtoupper(md5(uniqid(time(), true)));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// $log->log_params = json_encode(['refadherent' => $request->refadherent, 'refsite'=>$request->refsite, 'nom' => $request->nom, 'prenom' => $request->prenom, 'email' => $request->email, 'code postal' => $request->code_postal, 'commune' => $request->commune]);
|
return response()->json([
|
||||||
// $log->log_refsite = $request->refsite;
|
|
||||||
// $log->log_statut = 'NOK';
|
|
||||||
// $log->log_message = "Le site spécifié n'existe pas";
|
|
||||||
// $log->save();
|
|
||||||
return Response::json([
|
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 102,
|
'Code' => 102,
|
||||||
'Message' => 'Le site spécifié n\'existe pas'
|
'Message' => 'Le site spécifié n\'existe pas'
|
||||||
|
|
@ -276,17 +236,12 @@ class ContactController extends Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($contact->save()) {
|
if ($contact->save()) {
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'OK',
|
'Statut' => 'OK',
|
||||||
'contact' => $contact
|
'contact' => $contact
|
||||||
]);
|
]);
|
||||||
} else {
|
} else {
|
||||||
// $log->log_params = json_encode(['refadherent' => $request->refadherent, 'refsite'=>$request->refsite, 'nom' => $request->nom, 'prenom' => $request->prenom, 'email' => $request->email, 'code postal' => $request->code_postal, 'commune' => $request->commune]);
|
return response()->json([
|
||||||
// $log->log_refsite = $request->refsite;
|
|
||||||
// $log->log_statut = 'NOK';
|
|
||||||
// $log->log_message = "Une erreur est survenue";
|
|
||||||
// $log->save();
|
|
||||||
return Response::json([
|
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 109,
|
'Code' => 109,
|
||||||
'Message' => 'Une erreur est survenue'
|
'Message' => 'Une erreur est survenue'
|
||||||
|
|
@ -294,22 +249,101 @@ class ContactController extends Controller
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function loadWidget(LoadWidgetContact $request, Contact $contact)
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove the specified resource from storage.
|
|
||||||
*
|
|
||||||
* @param \App\Contact $contact
|
|
||||||
* @return \Illuminate\Http\Response
|
|
||||||
*/
|
|
||||||
public function destroy(Contact $contact)
|
|
||||||
{
|
{
|
||||||
if ($contact->delete()) {
|
$camp_id = $request->camp_id;
|
||||||
return redirect(route('contact.index'));
|
$campagne = Campagne::where(['camp_id' => $camp_id])->first();
|
||||||
|
$coupons = $campagne->coupons;
|
||||||
|
|
||||||
|
foreach ($coupons as $key => $coupon) {
|
||||||
|
if (!$this->isAvailableToPrint($coupon, $campagne)) {
|
||||||
|
$coupons->forget($key);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$allLogs = Log::where(['log_refsite' => $campagne->camp_siteId, 'log_contactId' => $contact->contact_id, 'log_statut' => 'OK'])->orderBy('created_at', 'DESC')->get();
|
||||||
|
$logs = array();
|
||||||
|
foreach ($allLogs as &$l) {
|
||||||
|
$params = json_decode($l->log_params);
|
||||||
|
if ($l->log_action == 3 || $l->log_action == 1) {
|
||||||
|
$l->log_message = json_decode($l->log_message, true);
|
||||||
|
}
|
||||||
|
if (intval($params->refcamp) == $camp_id) {
|
||||||
|
array_push($logs, $l);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---- Pour les types murs
|
||||||
|
if ($campagne->camp_type->equals(CampaignTypes::mur()) || $campagne->camp_type->equals(CampaignTypes::murss())) {
|
||||||
|
foreach ($coupons as &$coupon) {
|
||||||
|
$coupon->isAvailable = $this->isAvailable($coupon, $campagne, $contact);
|
||||||
|
}
|
||||||
|
unset($coupon);
|
||||||
|
|
||||||
|
// Montant total et Nombre réductions disponible
|
||||||
|
$montantDispo = 0;
|
||||||
|
$montantTotal = 0;
|
||||||
|
$nbCoupon = 0;
|
||||||
|
foreach ($coupons as $coupon) {
|
||||||
|
$montantTotal += $coupon->coupon_value;
|
||||||
|
if ($coupon->isAvailable == true) {
|
||||||
|
$montantDispo += $coupon->coupon_value;
|
||||||
|
$nbCoupon++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (count($coupons) === $nbCoupon) {
|
||||||
|
$reset = false;
|
||||||
|
} else {
|
||||||
|
$reset = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
$campagne->url = url('/') . "/?refsite=" . $campagne->camp_siteId . "&refcamp=" . $camp_id . "&hash=" . $contact->contact_hash;
|
||||||
|
|
||||||
|
$returnHTML = view('widgets.mur')
|
||||||
|
->with([
|
||||||
|
'campagne' => $campagne,
|
||||||
|
'reset' => $reset,
|
||||||
|
'montantTotal' => $montantTotal,
|
||||||
|
'montantDispo' => $montantDispo,
|
||||||
|
'logs' => $logs,
|
||||||
|
'contact' => $contact])
|
||||||
|
->renderSections()['widget'];
|
||||||
|
|
||||||
|
return json_encode(array('success' => true, 'html' => $returnHTML));
|
||||||
} else {
|
} else {
|
||||||
session()->flash('delete_nok', 'Erreur lors de la suppression');
|
// ---- Pour les types paniers
|
||||||
$campagnes = Campagne::where(['camp_siteId' => $contact->contact_siteId, 'camp_published' => 1])->get();
|
$panier = Panier::where(['panier_campId' => $campagne->camp_id, 'panier_contactId' => $contact->contact_id, 'panier_pending' => 1])->first();
|
||||||
return view('contact.edit', ['contact' => $contact, 'campagnes' => $campagnes]);
|
if ($panier) {
|
||||||
|
$panier_ref = $panier->panier_ref;
|
||||||
|
foreach ($coupons as &$coupon) {
|
||||||
|
$paniercontent = PanierContent::where(['panier_content_couponId' => $coupon->coupon_id, 'panier_content_panierId' => $panier->panier_id])->first();
|
||||||
|
if ($paniercontent) {
|
||||||
|
$coupon->qty = $paniercontent->panier_content_quantity;
|
||||||
|
} else {
|
||||||
|
$coupon->qty = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$campagne->url = url('/') . "/?basketid=" . $panier_ref;
|
||||||
|
unset($coupon);
|
||||||
|
} else {
|
||||||
|
$panier_ref = "";
|
||||||
|
foreach ($coupons as &$coupon) {
|
||||||
|
$coupon->qty = 0;
|
||||||
|
}
|
||||||
|
$campagne->url = "Pas d'url disponible (panier non créé)";
|
||||||
|
}
|
||||||
|
|
||||||
|
$returnHTML = view('widgets.panier')
|
||||||
|
->with([
|
||||||
|
'campagne' => $campagne,
|
||||||
|
'contact' => $contact,
|
||||||
|
'panier' => $panier_ref,
|
||||||
|
'logs' => $logs,
|
||||||
|
'coupons' => $coupons
|
||||||
|
])
|
||||||
|
->renderSections()['widget'];
|
||||||
|
return json_encode(array('success' => true, 'html' => $returnHTML));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,18 +3,15 @@
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Collection;
|
|
||||||
use App\Coupon;
|
use App\Coupon;
|
||||||
use App\Site;
|
use App\Site;
|
||||||
use App\Campagne;
|
use App\Campagne;
|
||||||
use App\Mur;
|
|
||||||
use App\Panier;
|
|
||||||
use App\Mouvement;
|
use App\Mouvement;
|
||||||
use App\Calendrier;
|
use App\Calendrier;
|
||||||
use Illuminate\Support\Facades\Storage;
|
use App\Http\Requests\Coupons\StoreCoupons;
|
||||||
|
use App\Http\Requests\Coupons\UpdateCoupons;
|
||||||
use App\Traits\GenerateBR;
|
use App\Traits\GenerateBR;
|
||||||
use App\Traits\CouponTrait;
|
use App\Traits\CouponTrait;
|
||||||
use Validator;
|
|
||||||
|
|
||||||
class CouponController extends Controller
|
class CouponController extends Controller
|
||||||
{
|
{
|
||||||
|
|
@ -28,22 +25,16 @@ class CouponController extends Controller
|
||||||
*/
|
*/
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
$campIds = Campagne::where('camp_siteId', session()->get('site')->site_id)
|
// TODO : Revoir le passage du site
|
||||||
->get()
|
$site = session()->get('site');
|
||||||
->pluck('camp_id')
|
$coupons = Coupon::where('coupon_siteId', $site->id)->get();
|
||||||
->flatten()
|
|
||||||
->toArray();
|
|
||||||
|
|
||||||
$coupons = Coupon::where('coupon_siteId', session()->get('site')->id)->get();
|
|
||||||
|
|
||||||
foreach ($coupons as $coupon) {
|
foreach ($coupons as $coupon) {
|
||||||
// ---- Calcul de la quantité mise à disposition grace aux fonctions dans CouponTrait.php
|
// ---- Calcul de la quantité mise à disposition grace aux fonctions dans CouponTrait.php
|
||||||
$coupon->coupon_quantity = $this->getFullQuantity($coupon);
|
$coupon->coupon_quantity = $this->getFullQuantity($coupon);
|
||||||
// ---- Calcul de la quantité restante toutes campagnes comprises grace aux fonctions dans CouponTrait.php
|
// ---- Calcul de la quantité restante toutes campagnes comprises grace aux fonctions dans CouponTrait.php
|
||||||
$coupon->coupon_left = 0; //$coupon->coupon_quantity - $this->getUsedQuantity($coupon);
|
$coupon->coupon_left = $coupon->coupon_quantity - $this->getUsedQuantity($coupon);
|
||||||
}
|
}
|
||||||
|
return view('coupon.index', ['coupons' => $coupons]);
|
||||||
return view('coupon.index', ['coupons' => $coupons, 'camps' => $campIds]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -53,51 +44,31 @@ class CouponController extends Controller
|
||||||
*/
|
*/
|
||||||
public function create()
|
public function create()
|
||||||
{
|
{
|
||||||
$campagnes = Campagne::where('camp_siteId', session()->get('site')->site_id)->get()
|
// TODO : Revoir le passage du site
|
||||||
->pluck('camp_name', 'camp_id');
|
$site = session()->get('site');
|
||||||
|
|
||||||
|
$campagnes = Campagne::where('camp_siteId', $site->id)->get()->pluck('camp_name', 'camp_id');
|
||||||
|
$site = Site::findOrFail($site->id);
|
||||||
|
|
||||||
$site = Site::where(['id' => session()->get('site')->id])->first();
|
|
||||||
return view('coupon.create')->with('campagnes', $campagnes)->with('site', $site);
|
return view('coupon.create')->with('campagnes', $campagnes)->with('site', $site);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Store a newly created resource in storage.
|
* Store a newly created resource in storage.
|
||||||
*
|
*
|
||||||
* @param \Illuminate\Http\Request $request
|
* @param StoreCoupons $request
|
||||||
* @return \Illuminate\Http\Response
|
* @return \Illuminate\Http\Response
|
||||||
*/
|
*/
|
||||||
public function store(Request $request)
|
public function store(StoreCoupons $request)
|
||||||
{
|
{
|
||||||
$data = $request->all();
|
$site_id = $request->site_id;
|
||||||
|
|
||||||
$v = Validator::make($data, [
|
|
||||||
'coupon_validity_text' => 'required',
|
|
||||||
'coupon_legal_mentions' => 'required',
|
|
||||||
'coupon_decoration_image' => 'required|image|mimes:jpeg,png',
|
|
||||||
'coupon_logo_image' => 'required|image|mimes:jpeg,png',
|
|
||||||
'coupon_rcs' => 'required',
|
|
||||||
'coupon_site_contact' => 'required',
|
|
||||||
]);
|
|
||||||
|
|
||||||
$v->sometimes('coupon_gs1code', 'required|image|mimes:jpeg', function ($input) {
|
|
||||||
return isset($input->coupon_norme);
|
|
||||||
});
|
|
||||||
|
|
||||||
if ($v->fails()) {
|
|
||||||
return redirect('bo/coupon/' . $coupon->coupon_id . '/edit')
|
|
||||||
->withErrors($v)
|
|
||||||
->withInput();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$datas = $this->saveImg($request);
|
$datas = $this->saveImg($request);
|
||||||
|
|
||||||
|
|
||||||
$coupon = new Coupon();
|
$coupon = new Coupon();
|
||||||
$coupon->coupon_code = $datas['coupon_code'];
|
$coupon->fill($datas);
|
||||||
$coupon->coupon_name = $datas['coupon_name'];
|
|
||||||
$coupon->coupon_value = $datas['coupon_value'];
|
// TODO : A revoir au moment ou on enlevera les images mobiles
|
||||||
if (isset($datas['coupon_thumbnail1'])) {
|
if (isset($datas['coupon_thumbnail1'])) {
|
||||||
$coupon->coupon_thumbnail1 = $datas['coupon_thumbnail1'];
|
$coupon->coupon_thumbnail1 = $datas['coupon_thumbnail1'];
|
||||||
}
|
}
|
||||||
|
|
@ -113,47 +84,21 @@ class CouponController extends Controller
|
||||||
if (isset($datas['coupon_image'])) {
|
if (isset($datas['coupon_image'])) {
|
||||||
$coupon->coupon_image = $datas['coupon_image'];
|
$coupon->coupon_image = $datas['coupon_image'];
|
||||||
}
|
}
|
||||||
if (isset($datas['coupon_norme'])) {
|
|
||||||
$coupon->coupon_norme = $datas['coupon_norme'];
|
//TODO : Voir si on peut mettre le set a 0 dans la request
|
||||||
$coupon->coupon_gs1code = $datas['coupon_gs1code'];
|
if (!isset($datas['coupon_published'])) {
|
||||||
}
|
|
||||||
if (isset($datas['coupon_enablelimitquantity'])) {
|
|
||||||
$coupon->coupon_enablelimitquantity = $datas['coupon_enablelimitquantity'];
|
|
||||||
$coupon->coupon_limitquantity = $datas['coupon_limitquantity'];
|
|
||||||
}
|
|
||||||
if (isset($datas['coupon_enablelimitperiod'])) {
|
|
||||||
$coupon->coupon_enablelimitperiod = $datas['coupon_enablelimitperiod'];
|
|
||||||
$coupon->coupon_limitperiod = $datas['coupon_limitperiod'];
|
|
||||||
}
|
|
||||||
if (isset($datas['coupon_published'])) {
|
|
||||||
$coupon->coupon_published = $datas['coupon_published'];
|
|
||||||
} else {
|
|
||||||
$coupon->coupon_published = 0;
|
$coupon->coupon_published = 0;
|
||||||
}
|
}
|
||||||
if (isset($datas['coupon_legal_mentions_splitted'])) {
|
if (!isset($datas['coupon_legal_mentions_splitted'])) {
|
||||||
$coupon->coupon_legal_mentions_splitted = $datas['coupon_legal_mentions_splitted'];
|
|
||||||
} else {
|
|
||||||
$coupon->coupon_legal_mentions_splitted = 0;
|
$coupon->coupon_legal_mentions_splitted = 0;
|
||||||
}
|
}
|
||||||
$coupon->coupon_validity = $datas['coupon_validity'];
|
|
||||||
$coupon->coupon_mindatediffusion = $datas['coupon_mindatediffusion'];
|
|
||||||
$coupon->coupon_maxdatediffusion = $datas['coupon_maxdatediffusion'];
|
|
||||||
$coupon->coupon_maxdatevalidity = $datas['coupon_maxdatevalidity'];
|
|
||||||
|
|
||||||
$coupon->coupon_validity_text = $datas['coupon_validity_text'];
|
$br_path = $this->generateBase($request, $coupon);
|
||||||
$coupon->coupon_legal_mentions = $datas['coupon_legal_mentions'];
|
$coupon->coupon_image = $br_path;
|
||||||
if (isset($datas['coupon_decoration_image'])) {
|
$coupon->coupon_siteId = $site_id;
|
||||||
$coupon->coupon_decoration_image = $datas['coupon_decoration_image'];
|
$coupon->save();
|
||||||
}
|
|
||||||
if (isset($datas['coupon_logo_image'])) {
|
|
||||||
$coupon->coupon_logo_image = $datas['coupon_logo_image'];
|
|
||||||
}
|
|
||||||
$coupon->coupon_rcs = $datas['coupon_rcs'];
|
|
||||||
$coupon->coupon_site_contact = $datas['coupon_site_contact'];
|
|
||||||
$coupon->coupon_seuil_alert = $datas['coupon_seuil_alert'];
|
|
||||||
|
|
||||||
$site = Site::find($request->input('site_id'));
|
|
||||||
|
|
||||||
|
$site = Site::findOrFail($site_id);
|
||||||
$site->coupons()->save($coupon);
|
$site->coupons()->save($coupon);
|
||||||
|
|
||||||
if (isset($datas['initial_quantity'])) {
|
if (isset($datas['initial_quantity'])) {
|
||||||
|
|
@ -162,15 +107,6 @@ class CouponController extends Controller
|
||||||
$coupon->mouvements()->save($mouvement);
|
$coupon->mouvements()->save($mouvement);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($datas['mouvementNbre'])) {
|
|
||||||
foreach ($datas['mouvementNbre'] as $key => $value) {
|
|
||||||
$mouvement = new Mouvement();
|
|
||||||
$mouvement->mouvement_nombre = $value;
|
|
||||||
$mouvement->mouvement_created_at = $datas['mouvementDate'][$key];
|
|
||||||
$coupon->mouvements()->save($mouvement);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($datas['startdate'])) {
|
if (isset($datas['startdate'])) {
|
||||||
foreach ($datas['startdate'] as $key => $value) {
|
foreach ($datas['startdate'] as $key => $value) {
|
||||||
$calendar = new Calendrier();
|
$calendar = new Calendrier();
|
||||||
|
|
@ -179,23 +115,7 @@ class CouponController extends Controller
|
||||||
$coupon->calendriers()->save($calendar);
|
$coupon->calendriers()->save($calendar);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return redirect()->route('coupon.edit', ['coupon' => $coupon]);
|
||||||
$br_path = $this->generateBase($request, $coupon);
|
|
||||||
$coupon->coupon_image = $br_path;
|
|
||||||
$coupon->save();
|
|
||||||
|
|
||||||
return view('coupon.edit', ['coupon' => $coupon]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Display the specified resource.
|
|
||||||
*
|
|
||||||
* @param \App\Coupon $coupon
|
|
||||||
* @return \Illuminate\Http\Response
|
|
||||||
*/
|
|
||||||
public function show(Coupon $coupon)
|
|
||||||
{
|
|
||||||
return view('coupon.show', ['coupon' => $coupon]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -212,33 +132,13 @@ class CouponController extends Controller
|
||||||
/**
|
/**
|
||||||
* Update the specified resource in storage.
|
* Update the specified resource in storage.
|
||||||
*
|
*
|
||||||
* @param \Illuminate\Http\Request $request
|
* @param UpdateCoupons $request
|
||||||
* @param \App\Coupon $coupon
|
* @param \App\Coupon $coupon
|
||||||
* @return \Illuminate\Http\Response
|
* @return \Illuminate\Http\Response
|
||||||
*/
|
*/
|
||||||
public function update(Request $request, Coupon $coupon)
|
public function update(UpdateCoupons $request, Coupon $coupon)
|
||||||
{
|
{
|
||||||
|
//TODO : Voir si on peut mettre le set a 0 dans la request
|
||||||
$data = $request->all();
|
|
||||||
|
|
||||||
$v = Validator::make($data, [
|
|
||||||
'coupon_decoration_image' => 'image|mimes:jpeg,png',
|
|
||||||
'coupon_logo_image' => 'image|mimes:jpeg,png',
|
|
||||||
]);
|
|
||||||
|
|
||||||
$v->sometimes('coupon_gs1code', 'required|image|mimes:jpeg', function ($input) {
|
|
||||||
if (isset($input->coupon_gs1code_image_hidden)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return isset($input->coupon_norme);
|
|
||||||
});
|
|
||||||
|
|
||||||
if ($v->fails()) {
|
|
||||||
return redirect('bo/coupon/' . $coupon->coupon_id . '/edit')
|
|
||||||
->withErrors($v)
|
|
||||||
->withInput();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!isset($request->coupon_enablelimitquantity)) {
|
if (!isset($request->coupon_enablelimitquantity)) {
|
||||||
$coupon->coupon_enablelimitquantity = 0;
|
$coupon->coupon_enablelimitquantity = 0;
|
||||||
}
|
}
|
||||||
|
|
@ -254,11 +154,17 @@ class CouponController extends Controller
|
||||||
if (!isset($request->coupon_legal_mentions_splitted)) {
|
if (!isset($request->coupon_legal_mentions_splitted)) {
|
||||||
$coupon->coupon_legal_mentions_splitted = 0;
|
$coupon->coupon_legal_mentions_splitted = 0;
|
||||||
}
|
}
|
||||||
if ($coupon->update($this->saveImg($request))) {
|
|
||||||
$datas = $this->saveImg($request);
|
$datas = $this->saveImg($request);
|
||||||
|
// On sauvegarde les informations
|
||||||
|
if ($coupon->update($datas)) {
|
||||||
|
// Si l'update est OK on met à jour l'image du BR
|
||||||
$br_path = $this->generateBase($request, $coupon);
|
$br_path = $this->generateBase($request, $coupon);
|
||||||
$coupon->coupon_image = $br_path;
|
$coupon->coupon_image = $br_path;
|
||||||
$coupon->update($this->saveImg($request));
|
$coupon->save();
|
||||||
|
|
||||||
|
// Si on ajoute des BR
|
||||||
|
// TODO : Gestion de l'erreur si on ajoute une ligne vide
|
||||||
if (isset($datas['mouvementNbre'])) {
|
if (isset($datas['mouvementNbre'])) {
|
||||||
foreach ($datas['mouvementNbre'] as $key => $value) {
|
foreach ($datas['mouvementNbre'] as $key => $value) {
|
||||||
$mouvement = new Mouvement();
|
$mouvement = new Mouvement();
|
||||||
|
|
@ -267,6 +173,8 @@ class CouponController extends Controller
|
||||||
$coupon->mouvements()->save($mouvement);
|
$coupon->mouvements()->save($mouvement);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Si on ajoute une plage de diffusion
|
||||||
|
// TODO : Gestion de l'erreur si on ajoute une ligne vide
|
||||||
if (isset($datas['startdate'])) {
|
if (isset($datas['startdate'])) {
|
||||||
$coupon->calendriers()->delete();
|
$coupon->calendriers()->delete();
|
||||||
foreach ($datas['startdate'] as $key => $value) {
|
foreach ($datas['startdate'] as $key => $value) {
|
||||||
|
|
@ -297,10 +205,10 @@ class CouponController extends Controller
|
||||||
$coupon->coupon_published = 0;
|
$coupon->coupon_published = 0;
|
||||||
$coupon->save();
|
$coupon->save();
|
||||||
if ($coupon->delete()) {
|
if ($coupon->delete()) {
|
||||||
return redirect(route('coupon.index'));
|
return redirect()->route('coupon.index');
|
||||||
} else {
|
} else {
|
||||||
session()->flash('delete_nok', 'Erreur lors de la suppression');
|
session()->flash('delete_nok', 'Erreur lors de la suppression');
|
||||||
return view('coupon.edit')->with('coupon', $coupon);
|
return back();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -313,8 +221,6 @@ class CouponController extends Controller
|
||||||
{
|
{
|
||||||
$datas = collect($request->all());
|
$datas = collect($request->all());
|
||||||
|
|
||||||
$imgs = collect(array());
|
|
||||||
|
|
||||||
foreach ($datas as $key => $item) {
|
foreach ($datas as $key => $item) {
|
||||||
if ($key == 'coupon_image' || $key == 'coupon_gs1code' || $key == 'coupon_decoration_image' || $key == 'coupon_logo_image' || (substr($key, 7, 9) == 'thumbnail' && strlen($key) < 18)) {
|
if ($key == 'coupon_image' || $key == 'coupon_gs1code' || $key == 'coupon_decoration_image' || $key == 'coupon_logo_image' || (substr($key, 7, 9) == 'thumbnail' && strlen($key) < 18)) {
|
||||||
if (isset($item)) {
|
if (isset($item)) {
|
||||||
|
|
|
||||||
34
app/Http/Controllers/CustomersController.php
Normal file
34
app/Http/Controllers/CustomersController.php
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use App\Campagne;
|
||||||
|
use App\Http\Requests\Customers\SearchCustomers;
|
||||||
|
use App\Models\Customers;
|
||||||
|
use App\Models\PrintedWalls;
|
||||||
|
use App\Site;
|
||||||
|
|
||||||
|
class CustomersController extends Controller
|
||||||
|
{
|
||||||
|
public function index(SearchCustomers $request, Site $site)
|
||||||
|
{
|
||||||
|
$campaigns = [];
|
||||||
|
$customer = null;
|
||||||
|
$email = $request->email;
|
||||||
|
|
||||||
|
$site->load("campagnes");
|
||||||
|
|
||||||
|
if ($email) {
|
||||||
|
$customer = Customers::where('email', $email)->first();
|
||||||
|
if ($customer) {
|
||||||
|
$publishedCampaign = $site->campagnes->where('camp_published', 1)->pluck('camp_id');
|
||||||
|
|
||||||
|
$campaigns = Campagne::where('camp_published', 1)->whereHas('printedWalls', function ($q) use ($customer, $publishedCampaign) {
|
||||||
|
$q->where('customer_id', $customer->id)->whereIn('camp_id', $publishedCampaign);
|
||||||
|
})->get();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return view('customers.index', compact('site', 'customer', 'campaigns', 'email'));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -3,14 +3,13 @@
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use App;
|
use App;
|
||||||
use Illuminate\Support\Facades\Storage;
|
|
||||||
use CpChart\Data;
|
use CpChart\Data;
|
||||||
use CpChart\Image;
|
use CpChart\Image;
|
||||||
use App\Traits\CouponTrait;
|
use App\Traits\CouponTrait;
|
||||||
use App\Traits\GraphTrait;
|
use App\Traits\GraphTrait;
|
||||||
use App\Campagne;
|
|
||||||
use App\Site;
|
use App\Site;
|
||||||
use App\Coupon;
|
use App\Coupon;
|
||||||
|
use App\Http\Requests\Export\PDFExport;
|
||||||
use Datetime;
|
use Datetime;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
|
@ -36,11 +35,12 @@ class ExportController extends Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
//------ AJAX Export
|
//------ AJAX Export
|
||||||
public function export_coupons(Request $request)
|
public function exportCoupons(PDFExport $request)
|
||||||
{
|
{
|
||||||
$ids = $request->input('ids');
|
$ids = $request->ids;
|
||||||
$startdate = date('Y-m-d', strtotime($request->input('startdate')));
|
$startdate = $request->startdate;
|
||||||
$enddate = date('Y-m-d', strtotime($request->input('enddate')));
|
$enddate = $request->enddate;
|
||||||
|
|
||||||
$coupons = Coupon::find($ids);
|
$coupons = Coupon::find($ids);
|
||||||
|
|
||||||
$labels = $this->getLabelsForStats($startdate, $enddate);
|
$labels = $this->getLabelsForStats($startdate, $enddate);
|
||||||
|
|
@ -49,8 +49,7 @@ class ExportController extends Controller
|
||||||
|
|
||||||
foreach ($coupons as $coupon) {
|
foreach ($coupons as $coupon) {
|
||||||
$cpName = str_replace(' ', '', $coupon->coupon_name);
|
$cpName = str_replace(' ', '', $coupon->coupon_name);
|
||||||
$now = strtotime(now());
|
$full_path = 'export/' . $cpName . '_' . date('d_m_Y') . '.pdf';
|
||||||
$full_path = 'export/' . $cpName . '_' . $now . '.pdf';
|
|
||||||
$dataCoupon = $this->getDataForCouponAllCamp($labels, $coupon);
|
$dataCoupon = $this->getDataForCouponAllCamp($labels, $coupon);
|
||||||
$coupon->couponQuantity = $this->getFullQuantity($coupon);
|
$coupon->couponQuantity = $this->getFullQuantity($coupon);
|
||||||
$coupon->couponFullPrinted = $this->getUsedQuantity($coupon);
|
$coupon->couponFullPrinted = $this->getUsedQuantity($coupon);
|
||||||
|
|
@ -73,13 +72,10 @@ class ExportController extends Controller
|
||||||
$myPicture->drawScale(array("DrawSubTicks" => true, 'LabelSkip' => 1, 'LabelRotation' => 25, "Mode" => SCALE_MODE_START0, "CycleBackground" => true,"GridR" => 102,"GridG" => 102,"GridB" => 102));
|
$myPicture->drawScale(array("DrawSubTicks" => true, 'LabelSkip' => 1, 'LabelRotation' => 25, "Mode" => SCALE_MODE_START0, "CycleBackground" => true,"GridR" => 102,"GridG" => 102,"GridB" => 102));
|
||||||
$myPicture->setShadow(true, array("X" => 1,"Y" => 1,"R" => 0,"G" => 0,"B" => 0,"Alpha" => 10));
|
$myPicture->setShadow(true, array("X" => 1,"Y" => 1,"R" => 0,"G" => 0,"B" => 0,"Alpha" => 10));
|
||||||
$myPicture->drawLineChart(array("DisplayColor" => DISPLAY_AUTO));
|
$myPicture->drawLineChart(array("DisplayColor" => DISPLAY_AUTO));
|
||||||
$LabelSettings = array("NoTitle" => true);
|
|
||||||
$myPicture->Render('export/temp.png');
|
$myPicture->Render('export/temp.png');
|
||||||
|
|
||||||
$view = view('export.template')->with(['src' => 'export/temp.png', 'coupon' => $coupon, 'startdate' => $startdate, 'enddate' => $enddate])->render();
|
$view = view('export.template')->with(['src' => 'export/temp.png', 'coupon' => $coupon, 'startdate' => $startdate, 'enddate' => $enddate])->render();
|
||||||
|
|
||||||
//var_dump($view);
|
|
||||||
|
|
||||||
$pdf->loadHTML($view);
|
$pdf->loadHTML($view);
|
||||||
$pdf->save($full_path);
|
$pdf->save($full_path);
|
||||||
array_push($paths, $full_path);
|
array_push($paths, $full_path);
|
||||||
|
|
|
||||||
|
|
@ -1,36 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Http\Controllers;
|
|
||||||
|
|
||||||
use Illuminate\Http\Request;
|
|
||||||
use App\Campagne;
|
|
||||||
use Barryvdh\Debugbar\Facade as Debugbar;
|
|
||||||
|
|
||||||
class HomeController extends Controller
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Create a new controller instance.
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public function __construct()
|
|
||||||
{
|
|
||||||
//$this->middleware('auth');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Show the application dashboard.
|
|
||||||
*
|
|
||||||
* @return \Illuminate\Http\Response
|
|
||||||
*/
|
|
||||||
public function index()
|
|
||||||
{
|
|
||||||
$test = Campagne::find(102);
|
|
||||||
|
|
||||||
Debugbar::info($test);
|
|
||||||
|
|
||||||
return view('home')->with([
|
|
||||||
'test' => $test,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -2,15 +2,14 @@
|
||||||
|
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use App\Campagne;
|
use App\Http\Requests\Users\StoreUsers;
|
||||||
use App\Coupon;
|
use App\Http\Requests\Users\UpdateUsers;
|
||||||
use App\Site;
|
use App\Site;
|
||||||
use App\User;
|
use App\User;
|
||||||
use App\Log;
|
use App\Log;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
use Illuminate\Support\Facades\Hash;
|
use Illuminate\Support\Facades\Hash;
|
||||||
use Carbon\Carbon;
|
|
||||||
|
|
||||||
class MaintenanceController extends Controller
|
class MaintenanceController extends Controller
|
||||||
{
|
{
|
||||||
|
|
@ -19,15 +18,8 @@ class MaintenanceController extends Controller
|
||||||
{
|
{
|
||||||
$users = User::all();
|
$users = User::all();
|
||||||
|
|
||||||
foreach ($users as &$user) {
|
|
||||||
$sites = $user->sites()->get();
|
|
||||||
$user->linkedSites = "";
|
|
||||||
foreach ($sites as $site) {
|
|
||||||
$user->linkedSites .= '<p>' . $site->site_nom . '</p>';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$dates = array(date('m/Y'));
|
$dates = array(date('m/Y'));
|
||||||
for ($i = 1; $i < 12; $i++) {
|
for ($i = 1; $i < 6; $i++) {
|
||||||
$datebefore = date("m/Y", strtotime("-" . $i . " months"));
|
$datebefore = date("m/Y", strtotime("-" . $i . " months"));
|
||||||
array_push($dates, $datebefore);
|
array_push($dates, $datebefore);
|
||||||
}
|
}
|
||||||
|
|
@ -37,15 +29,6 @@ class MaintenanceController extends Controller
|
||||||
array_push($count, [$month, $logs]);
|
array_push($count, [$month, $logs]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// $logArray = array();
|
|
||||||
// foreach ($logs as $logMonth) {
|
|
||||||
// $count = count($logMonth);
|
|
||||||
// foreach ($logMonth as $log) {
|
|
||||||
// $date = Carbon::parse($log->created_at)->format('m/Y');
|
|
||||||
// }
|
|
||||||
// array_push($logArray, [$date, $count]);
|
|
||||||
// }
|
|
||||||
|
|
||||||
return view('maintenance.index')->with(['users' => $users, 'logs' => $count]);
|
return view('maintenance.index')->with(['users' => $users, 'logs' => $count]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -55,38 +38,17 @@ class MaintenanceController extends Controller
|
||||||
return view('user.create')->with(['sites' => $sites]);
|
return view('user.create')->with(['sites' => $sites]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function userstore(Request $request)
|
public function userstore(StoreUsers $request)
|
||||||
{
|
{
|
||||||
|
|
||||||
$validatedData = $request->validate([
|
|
||||||
'email' => 'required|unique:users|email',
|
|
||||||
'name' => 'required',
|
|
||||||
'password' => 'required'
|
|
||||||
]);
|
|
||||||
|
|
||||||
$nom = $request->name;
|
|
||||||
$email = $request->email;
|
|
||||||
$password = $request->password;
|
|
||||||
$role = $request->roles;
|
|
||||||
|
|
||||||
$user = new User();
|
$user = new User();
|
||||||
$user->name = $nom;
|
$user->fill($request->validated());
|
||||||
$user->email = $email;
|
$user->password = Hash::make($request->password);
|
||||||
$user->password = Hash::make($password);
|
|
||||||
$user->roles = $role;
|
|
||||||
$user->save();
|
$user->save();
|
||||||
|
|
||||||
//MAJ des sites liés
|
$sites = Site::whereIn('site_id', $request->site)->get()->pluck('id')->toArray();
|
||||||
if (isset($request->site)) {
|
$user->sites()->sync($sites);
|
||||||
$siteids = $request->site;
|
|
||||||
$sites = Site::whereIn('site_id', $siteids)->get()->pluck('id')->toArray();
|
|
||||||
$user->sites()->sync($sites);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
return redirect()->route('maintenance.user.edit', ['user' => $user]);
|
||||||
$sites = Site::all();
|
|
||||||
$usersites = $user->sites()->get()->pluck('site_id')->toArray();
|
|
||||||
return view('user.edit')->with(['user' => $user, 'sites' => $sites, 'usersites' => $usersites]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function useredit(User $user)
|
public function useredit(User $user)
|
||||||
|
|
@ -96,27 +58,14 @@ class MaintenanceController extends Controller
|
||||||
return view('user.edit')->with(['user' => $user, 'sites' => $sites, 'usersites' => $usersites]);
|
return view('user.edit')->with(['user' => $user, 'sites' => $sites, 'usersites' => $usersites]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function userdestroy(User $user)
|
public function userupdate(UpdateUsers $request, User $user)
|
||||||
{
|
|
||||||
if ($user->delete()) {
|
|
||||||
return redirect(route('maintenance.show'));
|
|
||||||
} else {
|
|
||||||
session()->flash('delete_nok', 'Erreur lors de la suppression');
|
|
||||||
return view('maintenance.user.edit')->with('user', $user);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public function userupdate(Request $request, User $user)
|
|
||||||
{
|
{
|
||||||
//MAJ du User
|
//MAJ du User
|
||||||
$user->name = $request->name;
|
$user->fill($request->validated());
|
||||||
$user->email = $request->email;
|
|
||||||
$user->roles = $request->roles;
|
|
||||||
$user->save();
|
$user->save();
|
||||||
|
|
||||||
//MAJ des sites liés
|
//MAJ des sites liés
|
||||||
$siteids = $request->site;
|
$sites = Site::whereIn('site_id', $request->site)->get()->pluck('id')->toArray();
|
||||||
$sites = Site::whereIn('site_id', $siteids)->get()->pluck('id')->toArray();
|
|
||||||
$user->sites()->sync($sites);
|
$user->sites()->sync($sites);
|
||||||
|
|
||||||
$marques = Auth::user()->sites;
|
$marques = Auth::user()->sites;
|
||||||
|
|
@ -125,26 +74,16 @@ class MaintenanceController extends Controller
|
||||||
});
|
});
|
||||||
|
|
||||||
session()->put('marques', $submarques);
|
session()->put('marques', $submarques);
|
||||||
|
return redirect()->route('maintenance.show');
|
||||||
|
}
|
||||||
|
|
||||||
$users = User::all();
|
public function userdestroy(User $user)
|
||||||
|
{
|
||||||
foreach ($users as &$user) {
|
if ($user->delete()) {
|
||||||
$sites = $user->sites()->get();
|
return redirect()->route('maintenance.show');
|
||||||
$user->linkedSites = "";
|
} else {
|
||||||
foreach ($sites as $site) {
|
session()->flash('delete_nok', 'Erreur lors de la suppression');
|
||||||
$user->linkedSites .= '<p>' . $site->site_nom . '</p>';
|
return view('maintenance.user.edit')->with('user', $user);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
$dates = array('02/2019');
|
|
||||||
for ($i = 1; $i < 12; $i++) {
|
|
||||||
$datebefore = date("m/Y", strtotime("-" . $i . " months"));
|
|
||||||
array_push($dates, $datebefore);
|
|
||||||
}
|
|
||||||
$count = array();
|
|
||||||
foreach ($dates as $month) {
|
|
||||||
$logs = Log::where(['log_statut' => 'NOK'])->whereMonth('created_at', $month)->count();
|
|
||||||
array_push($count, [$month, $logs]);
|
|
||||||
}
|
|
||||||
return view('maintenance.index')->with(['users' => $users, 'logs' => $count]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,28 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Http\Controllers;
|
|
||||||
|
|
||||||
use App\Mouvement;
|
|
||||||
use App\Coupon;
|
|
||||||
use Illuminate\Http\Request;
|
|
||||||
|
|
||||||
class MouvementController extends Controller
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Store a newly created resource in storage.
|
|
||||||
*
|
|
||||||
* @param \Illuminate\Http\Request $request
|
|
||||||
* @return \Illuminate\Http\Response
|
|
||||||
*/
|
|
||||||
public function store(Request $request)
|
|
||||||
{
|
|
||||||
$mouvement = new Mouvement();
|
|
||||||
$mouvement->mouvement_type = $request->input('mouvement_type');
|
|
||||||
$mouvement->mouvement_nombre = $request->input('mouvement_nombre');
|
|
||||||
$mouvement->mouvement_commentaire = $request->input('mouvement_commentaire');
|
|
||||||
|
|
||||||
$coupon = Coupon::find($request->input('coupon_id'));
|
|
||||||
|
|
||||||
$coupon->mouvements()->save($mouvement);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -4,13 +4,11 @@ namespace App\Http\Controllers;
|
||||||
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use App\Campagne;
|
use App\Campagne;
|
||||||
use app\Coupon;
|
|
||||||
use App\Contact;
|
use App\Contact;
|
||||||
use App\Mur;
|
use App\Mur;
|
||||||
use App\Log;
|
use App\Log;
|
||||||
use App\Traits\CouponTrait;
|
use App\Traits\CouponTrait;
|
||||||
use App\Traits\ThanksTrait;
|
use App\Traits\ThanksTrait;
|
||||||
use Response;
|
|
||||||
|
|
||||||
class MurController extends Controller
|
class MurController extends Controller
|
||||||
{
|
{
|
||||||
|
|
@ -29,7 +27,7 @@ class MurController extends Controller
|
||||||
if (!isset($datas['refsite'])) {
|
if (!isset($datas['refsite'])) {
|
||||||
abort(404);
|
abort(404);
|
||||||
}
|
}
|
||||||
if (!isset($campagne) || $campagne->camp_published == 0 || ($campagne->camp_type != 0 && $campagne->camp_type != 2)) {
|
if (!isset($campagne) || $campagne->camp_published == 0 || ($campagne->camp_type->value != 0 && $campagne->camp_type->value != 2)) {
|
||||||
abort(404);
|
abort(404);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -124,7 +122,7 @@ class MurController extends Controller
|
||||||
$log->log_message = "Des paramètres de la requête sont mal renseignés ou non présents";
|
$log->log_message = "Des paramètres de la requête sont mal renseignés ou non présents";
|
||||||
$log->save();
|
$log->save();
|
||||||
|
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 101,
|
'Code' => 101,
|
||||||
'Message' => 'Des paramètres de la requête sont mal renseignés ou non présents'
|
'Message' => 'Des paramètres de la requête sont mal renseignés ou non présents'
|
||||||
|
|
@ -139,7 +137,7 @@ class MurController extends Controller
|
||||||
$log->log_statut = 'NOK';
|
$log->log_statut = 'NOK';
|
||||||
$log->log_message = "La campagne n'existe pas";
|
$log->log_message = "La campagne n'existe pas";
|
||||||
$log->save();
|
$log->save();
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 103,
|
'Code' => 103,
|
||||||
'Message' => 'La campagne n\'existe pas'
|
'Message' => 'La campagne n\'existe pas'
|
||||||
|
|
@ -157,7 +155,7 @@ class MurController extends Controller
|
||||||
$log->log_message = "Le contact n'existe pas";
|
$log->log_message = "Le contact n'existe pas";
|
||||||
$log->save();
|
$log->save();
|
||||||
|
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 104,
|
'Code' => 104,
|
||||||
'Message' => 'Le contact n\'existe pas'
|
'Message' => 'Le contact n\'existe pas'
|
||||||
|
|
@ -174,7 +172,7 @@ class MurController extends Controller
|
||||||
$log->log_statut = 'OK';
|
$log->log_statut = 'OK';
|
||||||
$log->log_message = $mur . " enregistrements ont été mis à jour.";
|
$log->log_message = $mur . " enregistrements ont été mis à jour.";
|
||||||
$log->save();
|
$log->save();
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'OK',
|
'Statut' => 'OK',
|
||||||
'Message' => $mur . " enregistrements ont été mis à jour."
|
'Message' => $mur . " enregistrements ont été mis à jour."
|
||||||
]);
|
]);
|
||||||
|
|
@ -185,7 +183,7 @@ class MurController extends Controller
|
||||||
$log->log_statut = 'OK';
|
$log->log_statut = 'OK';
|
||||||
$log->log_message = 'Aucun contrôle à effacer';
|
$log->log_message = 'Aucun contrôle à effacer';
|
||||||
$log->save();
|
$log->save();
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 110,
|
'Code' => 110,
|
||||||
'Message' => 'Aucun contrôle à effacer'
|
'Message' => 'Aucun contrôle à effacer'
|
||||||
|
|
@ -202,7 +200,7 @@ class MurController extends Controller
|
||||||
if (isset($request->refcamp) && $request->refcamp != "") {
|
if (isset($request->refcamp) && $request->refcamp != "") {
|
||||||
$refcamp = $request->refcamp;
|
$refcamp = $request->refcamp;
|
||||||
} else {
|
} else {
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 101,
|
'Code' => 101,
|
||||||
'Message' => 'Des paramètres de la requête sont mal renseignés ou non présents'
|
'Message' => 'Des paramètres de la requête sont mal renseignés ou non présents'
|
||||||
|
|
@ -212,7 +210,7 @@ class MurController extends Controller
|
||||||
// ------ Recuperation de la campagne
|
// ------ Recuperation de la campagne
|
||||||
$camp = Campagne::where(['camp_id' => $refcamp])->first();
|
$camp = Campagne::where(['camp_id' => $refcamp])->first();
|
||||||
if (!$camp) {
|
if (!$camp) {
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 103,
|
'Code' => 103,
|
||||||
'Message' => 'La campagne n\'existe pas'
|
'Message' => 'La campagne n\'existe pas'
|
||||||
|
|
@ -222,7 +220,7 @@ class MurController extends Controller
|
||||||
// ------ Récupération des coupons de la campagne
|
// ------ Récupération des coupons de la campagne
|
||||||
$coupons = $camp->coupons()->where(['coupon_published' => 1])->get();
|
$coupons = $camp->coupons()->where(['coupon_published' => 1])->get();
|
||||||
if (count($coupons) == 0) {
|
if (count($coupons) == 0) {
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 105,
|
'Code' => 105,
|
||||||
'Message' => 'La campagne est vide'
|
'Message' => 'La campagne est vide'
|
||||||
|
|
@ -238,7 +236,7 @@ class MurController extends Controller
|
||||||
$montantTotal = number_format($montantTotal, 2, ",", " ");
|
$montantTotal = number_format($montantTotal, 2, ",", " ");
|
||||||
$montantTotal = str_pad($montantTotal, 6, "0", STR_PAD_LEFT);
|
$montantTotal = str_pad($montantTotal, 6, "0", STR_PAD_LEFT);
|
||||||
|
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'OK',
|
'Statut' => 'OK',
|
||||||
'Message' => $montantTotal
|
'Message' => $montantTotal
|
||||||
]);
|
]);
|
||||||
|
|
@ -266,7 +264,7 @@ class MurController extends Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($error) {
|
if ($error) {
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 101,
|
'Code' => 101,
|
||||||
'Message' => 'Des paramètres de la requête sont mal renseignés ou non présents'
|
'Message' => 'Des paramètres de la requête sont mal renseignés ou non présents'
|
||||||
|
|
@ -276,7 +274,7 @@ class MurController extends Controller
|
||||||
$campagne = Campagne::where(['camp_id' => $refcamp])->where('camp_type', 'IN', array(0,2))->first();
|
$campagne = Campagne::where(['camp_id' => $refcamp])->where('camp_type', 'IN', array(0,2))->first();
|
||||||
|
|
||||||
if (!$campagne) {
|
if (!$campagne) {
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 103,
|
'Code' => 103,
|
||||||
'Message' => 'La campagne n\'existe pas'
|
'Message' => 'La campagne n\'existe pas'
|
||||||
|
|
@ -285,7 +283,7 @@ class MurController extends Controller
|
||||||
|
|
||||||
$contact = Contact::where(['contact_siteId' => $refsite, 'contact_ref' => $refadherent])->first();
|
$contact = Contact::where(['contact_siteId' => $refsite, 'contact_ref' => $refadherent])->first();
|
||||||
if (!$contact) {
|
if (!$contact) {
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 104,
|
'Code' => 104,
|
||||||
'Message' => 'Le contact n\'existe pas'
|
'Message' => 'Le contact n\'existe pas'
|
||||||
|
|
@ -309,7 +307,7 @@ class MurController extends Controller
|
||||||
$montantDispo = number_format($montantDispo, 2, ",", " ");
|
$montantDispo = number_format($montantDispo, 2, ",", " ");
|
||||||
$montantDispo = str_pad($montantDispo, 6, "0", STR_PAD_LEFT);
|
$montantDispo = str_pad($montantDispo, 6, "0", STR_PAD_LEFT);
|
||||||
|
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'OK',
|
'Statut' => 'OK',
|
||||||
'Message' => $montantDispo
|
'Message' => $montantDispo
|
||||||
]);
|
]);
|
||||||
|
|
|
||||||
|
|
@ -7,12 +7,12 @@ use App\Panier;
|
||||||
use App\Campagne;
|
use App\Campagne;
|
||||||
use App\Coupon;
|
use App\Coupon;
|
||||||
use App\Contact;
|
use App\Contact;
|
||||||
|
use App\Enums\CampaignTypes;
|
||||||
use App\Site;
|
use App\Site;
|
||||||
use App\Log;
|
use App\Log;
|
||||||
use App\PanierContent;
|
use App\PanierContent;
|
||||||
use App\Traits\CouponTrait;
|
use App\Traits\CouponTrait;
|
||||||
use App\Traits\ThanksTrait;
|
use App\Traits\ThanksTrait;
|
||||||
use Response;
|
|
||||||
|
|
||||||
class PanierController extends Controller
|
class PanierController extends Controller
|
||||||
{
|
{
|
||||||
|
|
@ -40,7 +40,7 @@ class PanierController extends Controller
|
||||||
}
|
}
|
||||||
session()->put('campagne', $campagne);
|
session()->put('campagne', $campagne);
|
||||||
|
|
||||||
if ($campagne->camp_type == 1) {
|
if ($campagne->camp_type->equals(CampaignTypes::panier())) {
|
||||||
$coupons = $this->getCouponsPublished($campagne);
|
$coupons = $this->getCouponsPublished($campagne);
|
||||||
} else {
|
} else {
|
||||||
$panierContents = $this->getPanierContentPublished($panier);
|
$panierContents = $this->getPanierContentPublished($panier);
|
||||||
|
|
@ -97,7 +97,7 @@ class PanierController extends Controller
|
||||||
$log->log_message = "Le panier n'existe pas";
|
$log->log_message = "Le panier n'existe pas";
|
||||||
$log->save();
|
$log->save();
|
||||||
|
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 106,
|
'Code' => 106,
|
||||||
'Message' => 'Le panier n\'existe pas'
|
'Message' => 'Le panier n\'existe pas'
|
||||||
|
|
@ -115,7 +115,7 @@ class PanierController extends Controller
|
||||||
$log->log_statut = 'NOK';
|
$log->log_statut = 'NOK';
|
||||||
$log->log_message = "Des paramètres de la requête sont mal renseignés ou non présents";
|
$log->log_message = "Des paramètres de la requête sont mal renseignés ou non présents";
|
||||||
$log->save();
|
$log->save();
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 101,
|
'Code' => 101,
|
||||||
'Message' => 'Des paramètres de la requête sont mal renseignés ou non présents'
|
'Message' => 'Des paramètres de la requête sont mal renseignés ou non présents'
|
||||||
|
|
@ -136,7 +136,7 @@ class PanierController extends Controller
|
||||||
$log->log_statut = 'NOK';
|
$log->log_statut = 'NOK';
|
||||||
$log->log_message = "Des paramètres de la requête sont mal renseignés ou non présents";
|
$log->log_message = "Des paramètres de la requête sont mal renseignés ou non présents";
|
||||||
$log->save();
|
$log->save();
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 101,
|
'Code' => 101,
|
||||||
'Message' => 'Des paramètres de la requête sont mal renseignés ou non présents'
|
'Message' => 'Des paramètres de la requête sont mal renseignés ou non présents'
|
||||||
|
|
@ -148,7 +148,7 @@ class PanierController extends Controller
|
||||||
foreach ($coupons as $code => $qty) {
|
foreach ($coupons as $code => $qty) {
|
||||||
array_push($panierCoupons, ['cp_code' => $code, 'qty' => $qty]);
|
array_push($panierCoupons, ['cp_code' => $code, 'qty' => $qty]);
|
||||||
}
|
}
|
||||||
if (sizeof($coupons) == 0) {
|
if (count($coupons) == 0) {
|
||||||
die();
|
die();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -156,7 +156,7 @@ class PanierController extends Controller
|
||||||
$log->log_statut = 'NOK';
|
$log->log_statut = 'NOK';
|
||||||
$log->log_message = "Des paramètres de la requête sont mal renseignés ou non présents";
|
$log->log_message = "Des paramètres de la requête sont mal renseignés ou non présents";
|
||||||
$log->save();
|
$log->save();
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 101,
|
'Code' => 101,
|
||||||
'Message' => 'Des paramètres de la requête sont mal renseignés ou non présents'
|
'Message' => 'Des paramètres de la requête sont mal renseignés ou non présents'
|
||||||
|
|
@ -196,7 +196,7 @@ class PanierController extends Controller
|
||||||
$log->log_message = "Le coupon ne correspond pas aux coupons liés a la campagne";
|
$log->log_message = "Le coupon ne correspond pas aux coupons liés a la campagne";
|
||||||
$log->save();
|
$log->save();
|
||||||
|
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 110,
|
'Code' => 110,
|
||||||
'Message' => 'Le coupon ne correspond pas aux coupons liés a la campagne'
|
'Message' => 'Le coupon ne correspond pas aux coupons liés a la campagne'
|
||||||
|
|
@ -254,12 +254,12 @@ class PanierController extends Controller
|
||||||
|
|
||||||
$response->panierContent = $panCont;
|
$response->panierContent = $panCont;
|
||||||
|
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'OK',
|
'Statut' => 'OK',
|
||||||
'Panier' => $response
|
'Panier' => $response
|
||||||
]);
|
]);
|
||||||
} else {
|
} else {
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'OK',
|
'Statut' => 'OK',
|
||||||
'Panier' => $panier
|
'Panier' => $panier
|
||||||
]);
|
]);
|
||||||
|
|
@ -269,7 +269,7 @@ class PanierController extends Controller
|
||||||
$log->log_statut = 'NOK';
|
$log->log_statut = 'NOK';
|
||||||
$log->log_message = "Le panier n'existe pas";
|
$log->log_message = "Le panier n'existe pas";
|
||||||
$log->save();
|
$log->save();
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 106,
|
'Code' => 106,
|
||||||
'Message' => 'Le panier n\'existe pas'
|
'Message' => 'Le panier n\'existe pas'
|
||||||
|
|
@ -280,7 +280,7 @@ class PanierController extends Controller
|
||||||
$log->log_statut = 'NOK';
|
$log->log_statut = 'NOK';
|
||||||
$log->log_message = "Le panier n'existe pas";
|
$log->log_message = "Le panier n'existe pas";
|
||||||
$log->save();
|
$log->save();
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 106,
|
'Code' => 106,
|
||||||
'Message' => 'Le panier n\'existe pas'
|
'Message' => 'Le panier n\'existe pas'
|
||||||
|
|
@ -292,13 +292,13 @@ class PanierController extends Controller
|
||||||
if (isset($request->refcamp) && $request->refcamp != "") {
|
if (isset($request->refcamp) && $request->refcamp != "") {
|
||||||
$refcamp = $request->refcamp;
|
$refcamp = $request->refcamp;
|
||||||
$campagne = Campagne::where(['camp_id' => $refcamp])->first();
|
$campagne = Campagne::where(['camp_id' => $refcamp])->first();
|
||||||
if (!$campagne || $campagne->camp_published == 0 || ($campagne->camp_type != 1 && $campagne->camp_type != 3)) {
|
if (!$campagne || $campagne->camp_published->equals(CampaignTypes::mur()) || ($campagne->camp_type->value != 1 && $campagne->camp_type->value != 3)) {
|
||||||
$log->log_params = json_encode(['refcamp' => $refcamp]);
|
$log->log_params = json_encode(['refcamp' => $refcamp]);
|
||||||
$log->log_statut = 'NOK';
|
$log->log_statut = 'NOK';
|
||||||
$log->log_message = "La campagne n'existe pas ou n'est pas un panier";
|
$log->log_message = "La campagne n'existe pas ou n'est pas un panier";
|
||||||
$log->save();
|
$log->save();
|
||||||
|
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 103,
|
'Code' => 103,
|
||||||
'Message' => 'La campagne n\'existe pas ou n\'est pas un panier'
|
'Message' => 'La campagne n\'existe pas ou n\'est pas un panier'
|
||||||
|
|
@ -320,7 +320,7 @@ class PanierController extends Controller
|
||||||
if (isset($request->refsite) && $request->refsite != "") {
|
if (isset($request->refsite) && $request->refsite != "") {
|
||||||
$refsite = $request->refsite;
|
$refsite = $request->refsite;
|
||||||
if ($refsite != $campagne->camp_siteId) {
|
if ($refsite != $campagne->camp_siteId) {
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 103,
|
'Code' => 103,
|
||||||
'Message' => 'La campagne ne correspond à aucune campagnes du site'
|
'Message' => 'La campagne ne correspond à aucune campagnes du site'
|
||||||
|
|
@ -381,7 +381,7 @@ class PanierController extends Controller
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (sizeof($coupons) == 0) {
|
if (count($coupons) == 0) {
|
||||||
die();
|
die();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -403,7 +403,7 @@ class PanierController extends Controller
|
||||||
$log->log_message = "Des paramètres de la requête sont mal renseignés ou non présents";
|
$log->log_message = "Des paramètres de la requête sont mal renseignés ou non présents";
|
||||||
$log->save();
|
$log->save();
|
||||||
|
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 101,
|
'Code' => 101,
|
||||||
'Message' => 'Des paramètres de la requête sont mal renseignés ou non présents'
|
'Message' => 'Des paramètres de la requête sont mal renseignés ou non présents'
|
||||||
|
|
@ -442,7 +442,7 @@ class PanierController extends Controller
|
||||||
$log->log_message = "Le site spécifié n'existe pas";
|
$log->log_message = "Le site spécifié n'existe pas";
|
||||||
$log->save();
|
$log->save();
|
||||||
|
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 102,
|
'Code' => 102,
|
||||||
'Message' => 'Le site spécifié n\'existe pas'
|
'Message' => 'Le site spécifié n\'existe pas'
|
||||||
|
|
@ -454,7 +454,7 @@ class PanierController extends Controller
|
||||||
$log->log_statut = 'NOK';
|
$log->log_statut = 'NOK';
|
||||||
$log->log_message = "Une erreur est survenue";
|
$log->log_message = "Une erreur est survenue";
|
||||||
$log->save();
|
$log->save();
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 109,
|
'Code' => 109,
|
||||||
'Message' => 'Une erreur est survenue'
|
'Message' => 'Une erreur est survenue'
|
||||||
|
|
@ -551,12 +551,12 @@ class PanierController extends Controller
|
||||||
|
|
||||||
$response->panierContent = $panCont;
|
$response->panierContent = $panCont;
|
||||||
|
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'OK',
|
'Statut' => 'OK',
|
||||||
'Panier' => $response
|
'Panier' => $response
|
||||||
]);
|
]);
|
||||||
} else {
|
} else {
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'OK',
|
'Statut' => 'OK',
|
||||||
'Panier' => $panier
|
'Panier' => $panier
|
||||||
]);
|
]);
|
||||||
|
|
@ -570,7 +570,7 @@ class PanierController extends Controller
|
||||||
if (isset($request->basketid) && $request->basketid != "") {
|
if (isset($request->basketid) && $request->basketid != "") {
|
||||||
$basketid = $request->basketid;
|
$basketid = $request->basketid;
|
||||||
} else {
|
} else {
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 106,
|
'Code' => 106,
|
||||||
'Message' => 'Le panier n\'existe pas'
|
'Message' => 'Le panier n\'existe pas'
|
||||||
|
|
@ -579,7 +579,7 @@ class PanierController extends Controller
|
||||||
|
|
||||||
$panier = Panier::where('panier_ref', $basketid)->first();
|
$panier = Panier::where('panier_ref', $basketid)->first();
|
||||||
if (!$panier) {
|
if (!$panier) {
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 106,
|
'Code' => 106,
|
||||||
'Message' => 'Le panier n\'existe pas'
|
'Message' => 'Le panier n\'existe pas'
|
||||||
|
|
@ -594,7 +594,7 @@ class PanierController extends Controller
|
||||||
|
|
||||||
$contact = $panier->contact()->where(['contact_id' => $panier->panier_contactId])->first();
|
$contact = $panier->contact()->where(['contact_id' => $panier->panier_contactId])->first();
|
||||||
if (!$contact) {
|
if (!$contact) {
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 104,
|
'Code' => 104,
|
||||||
'Message' => 'Le contact n\'existe pas'
|
'Message' => 'Le contact n\'existe pas'
|
||||||
|
|
@ -603,7 +603,7 @@ class PanierController extends Controller
|
||||||
|
|
||||||
$campagne = $panier->campagne()->where(['camp_id' => $panier->panier_campId])->first();
|
$campagne = $panier->campagne()->where(['camp_id' => $panier->panier_campId])->first();
|
||||||
if (!$campagne) {
|
if (!$campagne) {
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 103,
|
'Code' => 103,
|
||||||
'Message' => 'La campagne n\'existe pas'
|
'Message' => 'La campagne n\'existe pas'
|
||||||
|
|
@ -612,7 +612,7 @@ class PanierController extends Controller
|
||||||
|
|
||||||
$site = $campagne->site()->first();
|
$site = $campagne->site()->first();
|
||||||
if ($site === null) {
|
if ($site === null) {
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 102,
|
'Code' => 102,
|
||||||
'Message' => 'Le site n\'existe pas'
|
'Message' => 'Le site n\'existe pas'
|
||||||
|
|
@ -621,7 +621,7 @@ class PanierController extends Controller
|
||||||
|
|
||||||
$allPanierContent = $panier->panierContents()->get();
|
$allPanierContent = $panier->panierContents()->get();
|
||||||
if ($allPanierContent->count() == 0) {
|
if ($allPanierContent->count() == 0) {
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'KO',
|
'Statut' => 'KO',
|
||||||
'Code' => 108,
|
'Code' => 108,
|
||||||
'Message' => 'Le panier n\'a pas de coupons liés'
|
'Message' => 'Le panier n\'a pas de coupons liés'
|
||||||
|
|
@ -649,7 +649,7 @@ class PanierController extends Controller
|
||||||
|
|
||||||
$response->panierContent = $panCont;
|
$response->panierContent = $panCont;
|
||||||
|
|
||||||
return Response::json([
|
return response()->json([
|
||||||
'Statut' => 'OK',
|
'Statut' => 'OK',
|
||||||
'Informations Panier' => $response
|
'Informations Panier' => $response
|
||||||
]);
|
]);
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,6 @@ namespace App\Http\Controllers;
|
||||||
|
|
||||||
use App\Site;
|
use App\Site;
|
||||||
use App\User;
|
use App\User;
|
||||||
use App\Notification;
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,6 @@
|
||||||
|
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use App\Statistique;
|
|
||||||
use App\Campagne;
|
use App\Campagne;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
@ -26,24 +25,9 @@ class StatistiqueController extends Controller
|
||||||
if (isset($site->campagnes)) {
|
if (isset($site->campagnes)) {
|
||||||
$campagnes = $site->campagnes;
|
$campagnes = $site->campagnes;
|
||||||
foreach ($campagnes as $campagne) {
|
foreach ($campagnes as $campagne) {
|
||||||
switch ($campagne->camp_type) {
|
foreach ($campagne->coupons as $coupon) {
|
||||||
case 0:
|
|
||||||
$campagne->camp_type = "Mur";
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
$campagne->camp_type = "Panier";
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
$campagne->camp_type = "Mur sans sélection";
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
$campagne->camp_type = "Panier Sélectionnable";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
$coupons = $campagne->coupons;
|
|
||||||
foreach ($coupons as $coupon) {
|
|
||||||
$coupon->quantity = $this->getFullQuantity($coupon);
|
$coupon->quantity = $this->getFullQuantity($coupon);
|
||||||
$coupon->remain = $this->getFullQuantity($coupon) - $this->getUsedQuantity($coupon);
|
$coupon->remain = $coupon->quantity - $this->getUsedQuantity($coupon);
|
||||||
$coupon->diffused = $this->getDiffusedQuantity($coupon);
|
$coupon->diffused = $this->getDiffusedQuantity($coupon);
|
||||||
$coupon->isPrintable = $this->isAvailableToPrint($coupon, $campagne);
|
$coupon->isPrintable = $this->isAvailableToPrint($coupon, $campagne);
|
||||||
$coupon->isPaused = $this->isPausedToPrint($coupon, $campagne);
|
$coupon->isPaused = $this->isPausedToPrint($coupon, $campagne);
|
||||||
|
|
@ -63,20 +47,6 @@ class StatistiqueController extends Controller
|
||||||
{
|
{
|
||||||
$count = 0;
|
$count = 0;
|
||||||
$colors = config('constants.colors');
|
$colors = config('constants.colors');
|
||||||
switch ($campagne->camp_type) {
|
|
||||||
case 0:
|
|
||||||
$campagne->camp_type = "Mur";
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
$campagne->camp_type = "Panier";
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
$campagne->camp_type = "Mur sans sélection";
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
$campagne->camp_type = "Panier Sélectionnable";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
$coupons = $campagne->coupons;
|
$coupons = $campagne->coupons;
|
||||||
foreach ($coupons as $coupon) {
|
foreach ($coupons as $coupon) {
|
||||||
|
|
@ -85,7 +55,7 @@ class StatistiqueController extends Controller
|
||||||
$coupon->diffused = $this->getDiffusedQuantity($coupon);
|
$coupon->diffused = $this->getDiffusedQuantity($coupon);
|
||||||
$coupon->isPrintable = $this->isAvailableToPrint($coupon, $campagne);
|
$coupon->isPrintable = $this->isAvailableToPrint($coupon, $campagne);
|
||||||
$coupon->isPaused = $this->isPausedToPrint($coupon, $campagne);
|
$coupon->isPaused = $this->isPausedToPrint($coupon, $campagne);
|
||||||
$coupon->color = $coupon->color = "#" . str_pad( dechex( mt_rand( 0, 255 ) ), 2, '0', STR_PAD_LEFT) . str_pad( dechex( mt_rand( 0, 255 ) ), 2, '0', STR_PAD_LEFT) . str_pad( dechex( mt_rand( 0, 255 ) ), 2, '0', STR_PAD_LEFT);
|
$coupon->color = $coupon->color = "#" . str_pad(dechex(mt_rand(0, 255)), 2, '0', STR_PAD_LEFT) . str_pad(dechex(mt_rand(0, 255)), 2, '0', STR_PAD_LEFT) . str_pad(dechex(mt_rand(0, 255)), 2, '0', STR_PAD_LEFT);
|
||||||
$count++;
|
$count++;
|
||||||
}
|
}
|
||||||
$enddate = date('Y-m-d');
|
$enddate = date('Y-m-d');
|
||||||
|
|
@ -93,7 +63,7 @@ class StatistiqueController extends Controller
|
||||||
return view('stats.detail')->with(['campagne' => $campagne, 'startdate' => $startdate, 'enddate' => $enddate]);
|
return view('stats.detail')->with(['campagne' => $campagne, 'startdate' => $startdate, 'enddate' => $enddate]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function load_stats(Request $request)
|
public function loadStats(Request $request)
|
||||||
{
|
{
|
||||||
$campid = $request->campid;
|
$campid = $request->campid;
|
||||||
$startdate = $request->startdate;
|
$startdate = $request->startdate;
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,6 @@
|
||||||
|
|
||||||
namespace App\Http\Middleware;
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
use Auth;
|
|
||||||
use Closure;
|
use Closure;
|
||||||
|
|
||||||
class Marketing
|
class Marketing
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,6 @@ namespace App\Http\Middleware;
|
||||||
|
|
||||||
use Auth;
|
use Auth;
|
||||||
use Closure;
|
use Closure;
|
||||||
use App\Site;
|
|
||||||
|
|
||||||
class SaveCurrentRoute
|
class SaveCurrentRoute
|
||||||
{
|
{
|
||||||
|
|
|
||||||
32
app/Http/Requests/BrandChange/InvokeBrandChange.php
Normal file
32
app/Http/Requests/BrandChange/InvokeBrandChange.php
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Requests\BrandChange;
|
||||||
|
|
||||||
|
use App\Enums\UserRoles;
|
||||||
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
||||||
|
class InvokeBrandChange extends FormRequest
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Determine if the user is authorized to make this request.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function authorize()
|
||||||
|
{
|
||||||
|
return Auth::check() && (Auth::user()->roles === UserRoles::superadmin()->value || Auth::user()->roles === UserRoles::admin()->value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the validation rules that apply to the request.
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function rules()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'site_id' => 'exists:site,id|required'
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
32
app/Http/Requests/Campaign/AddCouponsCampaign.php
Normal file
32
app/Http/Requests/Campaign/AddCouponsCampaign.php
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Requests\Campaign;
|
||||||
|
|
||||||
|
use App\Enums\UserRoles;
|
||||||
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
||||||
|
class AddCouponsCampaign extends FormRequest
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Determine if the user is authorized to make this request.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function authorize()
|
||||||
|
{
|
||||||
|
return Auth::check() && (Auth::user()->roles === UserRoles::superadmin()->value || Auth::user()->roles === UserRoles::admin()->value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the validation rules that apply to the request.
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function rules()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'ids' => 'required'
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
32
app/Http/Requests/Campaign/DeleteCampaign.php
Normal file
32
app/Http/Requests/Campaign/DeleteCampaign.php
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Requests\Campaign;
|
||||||
|
|
||||||
|
use App\Enums\UserRoles;
|
||||||
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
||||||
|
class DeleteCampaign extends FormRequest
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Determine if the user is authorized to make this request.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function authorize()
|
||||||
|
{
|
||||||
|
return Auth::check() && (Auth::user()->roles === UserRoles::superadmin()->value || Auth::user()->roles === UserRoles::admin()->value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the validation rules that apply to the request.
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function rules()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
//
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
32
app/Http/Requests/Campaign/RemoveCouponCampaign.php
Normal file
32
app/Http/Requests/Campaign/RemoveCouponCampaign.php
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Requests\Campaign;
|
||||||
|
|
||||||
|
use App\Enums\UserRoles;
|
||||||
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
||||||
|
class RemoveCouponCampaign extends FormRequest
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Determine if the user is authorized to make this request.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function authorize()
|
||||||
|
{
|
||||||
|
return Auth::check() && (Auth::user()->roles === UserRoles::superadmin()->value || Auth::user()->roles === UserRoles::admin()->value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the validation rules that apply to the request.
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function rules()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
//
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
32
app/Http/Requests/Campaign/RemoveNotifCampaign.php
Normal file
32
app/Http/Requests/Campaign/RemoveNotifCampaign.php
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Requests\Campaign;
|
||||||
|
|
||||||
|
use App\Enums\UserRoles;
|
||||||
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
||||||
|
class RemoveNotifCampaign extends FormRequest
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Determine if the user is authorized to make this request.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function authorize()
|
||||||
|
{
|
||||||
|
return Auth::check() && (Auth::user()->roles === UserRoles::superadmin()->value || Auth::user()->roles === UserRoles::admin()->value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the validation rules that apply to the request.
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function rules()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
//
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
32
app/Http/Requests/Campaign/ShowDemoCampaign.php
Normal file
32
app/Http/Requests/Campaign/ShowDemoCampaign.php
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Requests\Campaign;
|
||||||
|
|
||||||
|
use App\Enums\UserRoles;
|
||||||
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
||||||
|
class ShowDemoCampaign extends FormRequest
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Determine if the user is authorized to make this request.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function authorize()
|
||||||
|
{
|
||||||
|
return Auth::check() && (Auth::user()->roles === UserRoles::superadmin()->value || Auth::user()->roles === UserRoles::admin()->value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the validation rules that apply to the request.
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function rules()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
//
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
35
app/Http/Requests/Campaign/StoreCampaign.php
Normal file
35
app/Http/Requests/Campaign/StoreCampaign.php
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Requests\Campaign;
|
||||||
|
|
||||||
|
use App\Enums\UserRoles;
|
||||||
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
||||||
|
class StoreCampaign extends FormRequest
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Determine if the user is authorized to make this request.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function authorize()
|
||||||
|
{
|
||||||
|
return Auth::check() && (Auth::user()->roles === UserRoles::superadmin()->value || Auth::user()->roles === UserRoles::admin()->value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the validation rules that apply to the request.
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function rules()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'camp_name' => 'min:5|required',
|
||||||
|
'camp_type' => 'integer|required',
|
||||||
|
'camp_published' => 'integer|required',
|
||||||
|
'camp_limitedPrinting' => 'sometimes|integer|required'
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
39
app/Http/Requests/Campaign/StoreNotifCampaign.php
Normal file
39
app/Http/Requests/Campaign/StoreNotifCampaign.php
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Requests\Campaign;
|
||||||
|
|
||||||
|
use App\Enums\UserRoles;
|
||||||
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
use Illuminate\Validation\Rule;
|
||||||
|
|
||||||
|
class StoreNotifCampaign extends FormRequest
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Determine if the user is authorized to make this request.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function authorize()
|
||||||
|
{
|
||||||
|
return Auth::check() && (Auth::user()->roles === UserRoles::superadmin()->value || Auth::user()->roles === UserRoles::admin()->value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the validation rules that apply to the request.
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function rules()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'notif_name' => 'min:5|required',
|
||||||
|
'notif_email' => [
|
||||||
|
'required',
|
||||||
|
Rule::unique('notification')->where(function ($query) {
|
||||||
|
return $query->where('notif_campId', $this->campaign->camp_id);
|
||||||
|
}),
|
||||||
|
]
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
35
app/Http/Requests/Campaign/UpdateCampaign.php
Normal file
35
app/Http/Requests/Campaign/UpdateCampaign.php
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Requests\Campaign;
|
||||||
|
|
||||||
|
use App\Enums\UserRoles;
|
||||||
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
||||||
|
class UpdateCampaign extends FormRequest
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Determine if the user is authorized to make this request.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function authorize()
|
||||||
|
{
|
||||||
|
return Auth::check() && (Auth::user()->roles === UserRoles::superadmin()->value || Auth::user()->roles === UserRoles::admin()->value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the validation rules that apply to the request.
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function rules()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'camp_name' => 'min:5|required',
|
||||||
|
'camp_type' => 'integer|required',
|
||||||
|
'camp_published' => 'integer|required',
|
||||||
|
'camp_limitedPrinting' => 'sometimes|integer|required'
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
32
app/Http/Requests/Contact/LoadWidgetContact.php
Normal file
32
app/Http/Requests/Contact/LoadWidgetContact.php
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Requests\Contact;
|
||||||
|
|
||||||
|
use App\Enums\UserRoles;
|
||||||
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
||||||
|
class LoadWidgetContact extends FormRequest
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Determine if the user is authorized to make this request.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function authorize()
|
||||||
|
{
|
||||||
|
return Auth::check() && (Auth::user()->roles === UserRoles::superadmin()->value || Auth::user()->roles === UserRoles::admin()->value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the validation rules that apply to the request.
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function rules()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'camp_id' => 'required|exists:campagne,camp_id'
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
38
app/Http/Requests/Contact/SearchContact.php
Normal file
38
app/Http/Requests/Contact/SearchContact.php
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Requests\Contact;
|
||||||
|
|
||||||
|
use App\Enums\UserRoles;
|
||||||
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
||||||
|
class SearchContact extends FormRequest
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Determine if the user is authorized to make this request.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function authorize()
|
||||||
|
{
|
||||||
|
return Auth::check() && (Auth::user()->roles === UserRoles::superadmin()->value || Auth::user()->roles === UserRoles::admin()->value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the validation rules that apply to the request.
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function rules()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'page' => 'sometimes|integer|nullable',
|
||||||
|
'searchName' => 'sometimes|alpha|max:50|nullable',
|
||||||
|
'searchFirstname' => 'sometimes|alpha|max:50|nullable',
|
||||||
|
'searchEmail' => 'sometimes|email|max:100|nullable',
|
||||||
|
'searchCp' => 'sometimes|integer|max:10|nullable',
|
||||||
|
'searchVille' => 'sometimes|alpha|max:50|nullable',
|
||||||
|
'searchCountry' => 'sometimes|integer|nullable',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
38
app/Http/Requests/Contact/StoreContact.php
Normal file
38
app/Http/Requests/Contact/StoreContact.php
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Requests\Contact;
|
||||||
|
|
||||||
|
use App\Enums\UserRoles;
|
||||||
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
||||||
|
class StoreContact extends FormRequest
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Determine if the user is authorized to make this request.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function authorize()
|
||||||
|
{
|
||||||
|
return Auth::check() && (Auth::user()->roles === UserRoles::superadmin()->value || Auth::user()->roles === UserRoles::admin()->value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the validation rules that apply to the request.
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function rules()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'contact_ref' => 'required|unique:contact',
|
||||||
|
'contact_nom' => 'min:3|max:50|required',
|
||||||
|
'contact_prenom' => 'min:3|max:50|required',
|
||||||
|
'contact_email' => 'email|required',
|
||||||
|
'contact_cp' => 'max:10|required',
|
||||||
|
'contact_ville' => 'max:50|required',
|
||||||
|
'contact_country' => 'integer|required'
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
42
app/Http/Requests/Contact/UpdateContact.php
Normal file
42
app/Http/Requests/Contact/UpdateContact.php
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Requests\Contact;
|
||||||
|
|
||||||
|
use App\Enums\UserRoles;
|
||||||
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
use Illuminate\Validation\Rule;
|
||||||
|
|
||||||
|
class UpdateContact extends FormRequest
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Determine if the user is authorized to make this request.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function authorize()
|
||||||
|
{
|
||||||
|
return Auth::check() && (Auth::user()->roles === UserRoles::superadmin()->value || Auth::user()->roles === UserRoles::admin()->value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the validation rules that apply to the request.
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function rules()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'contact_ref' => [
|
||||||
|
'required',
|
||||||
|
Rule::unique('contact')->ignore($this->contact->contact_id, 'contact_id'),
|
||||||
|
],
|
||||||
|
'contact_nom' => 'min:3|max:50|required',
|
||||||
|
'contact_prenom' => 'min:3|max:50|required',
|
||||||
|
'contact_email' => 'email|required',
|
||||||
|
'contact_cp' => 'max:10|required',
|
||||||
|
'contact_ville' => 'max:50|required',
|
||||||
|
'contact_country' => 'integer|required'
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
75
app/Http/Requests/Coupons/StoreCoupons.php
Normal file
75
app/Http/Requests/Coupons/StoreCoupons.php
Normal file
|
|
@ -0,0 +1,75 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Requests\Coupons;
|
||||||
|
|
||||||
|
use App\Enums\UserRoles;
|
||||||
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
use Illuminate\Validation\Rule;
|
||||||
|
|
||||||
|
class StoreCoupons extends FormRequest
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Determine if the user is authorized to make this request.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function authorize()
|
||||||
|
{
|
||||||
|
return Auth::check() && (Auth::user()->roles === UserRoles::superadmin()->value || Auth::user()->roles === UserRoles::admin()->value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the validation rules that apply to the request.
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function rules()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'coupon_code' => [
|
||||||
|
'required',
|
||||||
|
Rule::unique('coupon', 'coupon_code')
|
||||||
|
],
|
||||||
|
'coupon_name' => 'string|required',
|
||||||
|
'coupon_value' => 'numeric|required',
|
||||||
|
'coupon_validity_text' => 'required',
|
||||||
|
'coupon_legal_mentions' => 'required',
|
||||||
|
'coupon_decoration_image' => 'required|image|mimes:jpeg,png',
|
||||||
|
'coupon_logo_image' => 'required|image|mimes:jpeg,png',
|
||||||
|
'coupon_rcs' => 'required',
|
||||||
|
'coupon_site_contact' => 'required',
|
||||||
|
'coupon_seuil_alert' => 'integer|required',
|
||||||
|
|
||||||
|
'coupon_enablelimitperiod' => 'sometimes|integer|required',
|
||||||
|
'coupon_enablelimitquantity' => 'sometimes|integer|required',
|
||||||
|
'coupon_mindatediffusion' => 'nullable',
|
||||||
|
'coupon_maxdatediffusion' => 'nullable',
|
||||||
|
'coupon_validity' => 'integer|required',
|
||||||
|
'coupon_maxdatevalidity' => 'nullable',
|
||||||
|
|
||||||
|
'coupon_legal_mentions_splitted' => 'sometimes|integer|required',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Configure the validator instance.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Validation\Validator $validator
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function withValidator($validator)
|
||||||
|
{
|
||||||
|
$validator->sometimes('coupon_gs1code', 'required|image|mimes:jpeg', function ($input) {
|
||||||
|
return isset($input->coupon_norme);
|
||||||
|
});
|
||||||
|
|
||||||
|
$validator->sometimes('coupon_limitquantity', 'integer|required', function ($input) {
|
||||||
|
return !is_null($input->coupon_enablelimitquantity);
|
||||||
|
});
|
||||||
|
|
||||||
|
$validator->sometimes('coupon_limitperiod', 'integer|required', function ($input) {
|
||||||
|
return !is_null($input->coupon_enablelimitperiod);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
82
app/Http/Requests/Coupons/UpdateCoupons.php
Normal file
82
app/Http/Requests/Coupons/UpdateCoupons.php
Normal file
|
|
@ -0,0 +1,82 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Requests\Coupons;
|
||||||
|
|
||||||
|
use App\Enums\UserRoles;
|
||||||
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
use Illuminate\Validation\Rule;
|
||||||
|
|
||||||
|
class UpdateCoupons extends FormRequest
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Determine if the user is authorized to make this request.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function authorize()
|
||||||
|
{
|
||||||
|
return Auth::check() && (Auth::user()->roles === UserRoles::superadmin()->value || Auth::user()->roles === UserRoles::admin()->value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the validation rules that apply to the request.
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function rules()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'coupon_code' => [
|
||||||
|
'required',
|
||||||
|
Rule::unique('coupon', 'coupon_code')->ignore($this->coupon->coupon_id, 'coupon_id')
|
||||||
|
],
|
||||||
|
'coupon_name' => 'string|required',
|
||||||
|
'coupon_value' => 'numeric|required',
|
||||||
|
'coupon_seuil_alert' => 'integer|required',
|
||||||
|
'coupon_enablelimitperiod' => 'sometimes|integer|required',
|
||||||
|
'coupon_enablelimitquantity' => 'sometimes|integer|required',
|
||||||
|
'coupon_mindatediffusion' => 'nullable',
|
||||||
|
'coupon_maxdatediffusion' => 'nullable',
|
||||||
|
'coupon_validity' => 'integer|required',
|
||||||
|
'coupon_maxdatevalidity' => 'nullable',
|
||||||
|
|
||||||
|
'coupon_treatment_center' => 'integer|required',
|
||||||
|
'coupon_validity_text' => 'required',
|
||||||
|
'coupon_legal_mentions' => 'required',
|
||||||
|
|
||||||
|
'coupon_rcs' => 'required',
|
||||||
|
'coupon_site_contact' => 'email|required',
|
||||||
|
|
||||||
|
'coupon_norme' => 'sometimes|integer|required',
|
||||||
|
'coupon_published' => 'sometimes|integer|required',
|
||||||
|
'coupon_legal_mentions_splitted' => 'sometimes|integer|required',
|
||||||
|
'coupon_decoration_image' => 'image|mimes:jpeg,png',
|
||||||
|
'coupon_logo_image' => 'image|mimes:jpeg,png',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Configure the validator instance.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Validation\Validator $validator
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function withValidator($validator)
|
||||||
|
{
|
||||||
|
$validator->sometimes('coupon_gs1code', 'required|image|mimes:jpeg', function ($input) {
|
||||||
|
if (isset($input->coupon_gs1code_image_hidden)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return isset($input->coupon_norme);
|
||||||
|
});
|
||||||
|
|
||||||
|
$validator->sometimes('coupon_limitquantity', 'integer|required', function ($input) {
|
||||||
|
return !is_null($input->coupon_enablelimitquantity);
|
||||||
|
});
|
||||||
|
|
||||||
|
$validator->sometimes('coupon_limitperiod', 'integer|required', function ($input) {
|
||||||
|
return !is_null($input->coupon_enablelimitperiod);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
33
app/Http/Requests/Customers/SearchCustomers.php
Normal file
33
app/Http/Requests/Customers/SearchCustomers.php
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Requests\Customers;
|
||||||
|
|
||||||
|
use App\Enums\UserRoles;
|
||||||
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
||||||
|
class SearchCustomers extends FormRequest
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Determine if the user is authorized to make this request.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function authorize()
|
||||||
|
{
|
||||||
|
return Auth::check()
|
||||||
|
&& in_array(Auth::user()->roles, [UserRoles::superadmin()->value, UserRoles::admin()->value]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the validation rules that apply to the request.
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function rules()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'email' => 'sometimes|email|required'
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
34
app/Http/Requests/Export/PDFExport.php
Normal file
34
app/Http/Requests/Export/PDFExport.php
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Requests\Export;
|
||||||
|
|
||||||
|
use App\Enums\UserRoles;
|
||||||
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
||||||
|
class PDFExport extends FormRequest
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Determine if the user is authorized to make this request.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function authorize()
|
||||||
|
{
|
||||||
|
return Auth::check() && (Auth::user()->roles === UserRoles::superadmin()->value || Auth::user()->roles === UserRoles::admin()->value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the validation rules that apply to the request.
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function rules()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'ids' => 'required',
|
||||||
|
'startdate' => 'date|required',
|
||||||
|
'enddate' => 'date|required'
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
36
app/Http/Requests/Users/StoreUsers.php
Normal file
36
app/Http/Requests/Users/StoreUsers.php
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Requests\Users;
|
||||||
|
|
||||||
|
use App\Enums\UserRoles;
|
||||||
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
||||||
|
class StoreUsers extends FormRequest
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Determine if the user is authorized to make this request.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function authorize()
|
||||||
|
{
|
||||||
|
return Auth::check() && (Auth::user()->roles === UserRoles::superadmin()->value || Auth::user()->roles === UserRoles::admin()->value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the validation rules that apply to the request.
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function rules()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'email' => 'required|unique:users|email',
|
||||||
|
'name' => 'required',
|
||||||
|
'password' => 'min:8|required',
|
||||||
|
'site' => 'required',
|
||||||
|
'roles' => 'required'
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
39
app/Http/Requests/Users/UpdateUsers.php
Normal file
39
app/Http/Requests/Users/UpdateUsers.php
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Requests\Users;
|
||||||
|
|
||||||
|
use App\Enums\UserRoles;
|
||||||
|
use Illuminate\Validation\Rule;
|
||||||
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
||||||
|
class UpdateUsers extends FormRequest
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Determine if the user is authorized to make this request.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function authorize()
|
||||||
|
{
|
||||||
|
return Auth::check() && (Auth::user()->roles === UserRoles::superadmin()->value || Auth::user()->roles === UserRoles::admin()->value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the validation rules that apply to the request.
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function rules()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'email' => [
|
||||||
|
'required',
|
||||||
|
Rule::unique('users')->ignore($this->user->id)
|
||||||
|
],
|
||||||
|
'name' => 'required',
|
||||||
|
'site' => 'required',
|
||||||
|
'roles' => 'required'
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -5,7 +5,6 @@ namespace App\Mail;
|
||||||
use Illuminate\Bus\Queueable;
|
use Illuminate\Bus\Queueable;
|
||||||
use Illuminate\Mail\Mailable;
|
use Illuminate\Mail\Mailable;
|
||||||
use Illuminate\Queue\SerializesModels;
|
use Illuminate\Queue\SerializesModels;
|
||||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
|
||||||
|
|
||||||
class AlertBr extends Mailable
|
class AlertBr extends Mailable
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,6 @@ namespace App\Mail;
|
||||||
use Illuminate\Bus\Queueable;
|
use Illuminate\Bus\Queueable;
|
||||||
use Illuminate\Mail\Mailable;
|
use Illuminate\Mail\Mailable;
|
||||||
use Illuminate\Queue\SerializesModels;
|
use Illuminate\Queue\SerializesModels;
|
||||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
|
||||||
|
|
||||||
class AlertBrAdmin extends Mailable
|
class AlertBrAdmin extends Mailable
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ class Customers extends Model
|
||||||
{
|
{
|
||||||
|
|
||||||
protected $primaryKey = 'hashcode';
|
protected $primaryKey = 'hashcode';
|
||||||
|
|
||||||
protected $keyType = 'string';
|
protected $keyType = 'string';
|
||||||
|
|
||||||
protected $fillable = ['hashcode', 'email', 'country'];
|
protected $fillable = ['hashcode', 'email', 'country'];
|
||||||
|
|
@ -37,4 +38,9 @@ class Customers extends Model
|
||||||
return 250; //France
|
return 250; //France
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function printedWalls()
|
||||||
|
{
|
||||||
|
return $this->hasMany(PrintedWalls::class, 'customer_id');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,8 @@ class Notification extends Model
|
||||||
*/
|
*/
|
||||||
public $timestamps = false;
|
public $timestamps = false;
|
||||||
|
|
||||||
|
protected $fillable = ['notif_name', 'notif_email', 'notif_campId'];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ManyToOne
|
* ManyToOne
|
||||||
* Notification -> Campagne
|
* Notification -> Campagne
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,6 @@
|
||||||
namespace App\Notifications;
|
namespace App\Notifications;
|
||||||
|
|
||||||
use Illuminate\Bus\Queueable;
|
use Illuminate\Bus\Queueable;
|
||||||
use Illuminate\Notifications\Notification;
|
|
||||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
|
||||||
use Illuminate\Notifications\Messages\MailMessage;
|
use Illuminate\Notifications\Messages\MailMessage;
|
||||||
use Illuminate\Auth\Notifications\ResetPassword as ResetPasswordNotification;
|
use Illuminate\Auth\Notifications\ResetPassword as ResetPasswordNotification;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,6 @@
|
||||||
|
|
||||||
namespace App\Providers;
|
namespace App\Providers;
|
||||||
|
|
||||||
use Illuminate\Support\Facades\Gate;
|
|
||||||
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
|
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
|
||||||
|
|
||||||
class AuthServiceProvider extends ServiceProvider
|
class AuthServiceProvider extends ServiceProvider
|
||||||
|
|
@ -14,7 +13,7 @@ class AuthServiceProvider extends ServiceProvider
|
||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
protected $policies = [
|
protected $policies = [
|
||||||
'App\Model' => 'App\Policies\ModelPolicy',
|
//'App\Model' => 'App\Policies\ModelPolicy',
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,6 @@
|
||||||
|
|
||||||
namespace App\Providers;
|
namespace App\Providers;
|
||||||
|
|
||||||
use Illuminate\Support\Facades\Event;
|
|
||||||
use Illuminate\Auth\Events\Registered;
|
use Illuminate\Auth\Events\Registered;
|
||||||
use Illuminate\Auth\Listeners\SendEmailVerificationNotification;
|
use Illuminate\Auth\Listeners\SendEmailVerificationNotification;
|
||||||
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
|
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
|
||||||
|
|
|
||||||
|
|
@ -6,13 +6,13 @@ use App\Campagne;
|
||||||
use App\Coupon;
|
use App\Coupon;
|
||||||
use App\Contact;
|
use App\Contact;
|
||||||
use App\Calendrier;
|
use App\Calendrier;
|
||||||
|
use App\Enums\CampaignTypes;
|
||||||
use App\Models\Customers;
|
use App\Models\Customers;
|
||||||
use App\Models\PrintedWalls;
|
use App\Models\PrintedWalls;
|
||||||
|
use App\Mouvement;
|
||||||
use App\Mur;
|
use App\Mur;
|
||||||
use App\Statistique;
|
|
||||||
use App\Panier;
|
use App\Panier;
|
||||||
use App\PanierContent;
|
use App\PanierContent;
|
||||||
use DateTime;
|
|
||||||
|
|
||||||
trait CouponTrait
|
trait CouponTrait
|
||||||
{
|
{
|
||||||
|
|
@ -150,22 +150,29 @@ trait CouponTrait
|
||||||
|
|
||||||
public function isAvailableToPrint(Coupon $coupon, Campagne $campagne)
|
public function isAvailableToPrint(Coupon $coupon, Campagne $campagne)
|
||||||
{
|
{
|
||||||
$availableToPrint = true;
|
/**
|
||||||
// ---- Contrôle de la publication
|
* Contrôle de la publication de la campagne
|
||||||
if ($coupon->coupon_published == 0) {
|
*/
|
||||||
$availableToPrint = false;
|
if ($campagne->camp_published === 0) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---- Contrôle de la publication du coupon
|
||||||
|
if ($coupon->coupon_published === 0) {
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ---- Contrôle la date de début de diffusion
|
// ---- Contrôle la date de début de diffusion
|
||||||
if ($coupon->coupon_mindatediffusion != null) {
|
if ($coupon->coupon_mindatediffusion !== null) {
|
||||||
if (strtotime(date('Y-m-d')) < strtotime($coupon->coupon_mindatediffusion)) {
|
if (strtotime(date('Y-m-d')) < strtotime($coupon->coupon_mindatediffusion)) {
|
||||||
$availableToPrint = false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ---- Contrôle la date de validité
|
// ---- Contrôle la date de validité
|
||||||
if ($coupon->coupon_maxdatediffusion != null) {
|
if ($coupon->coupon_maxdatediffusion !== null) {
|
||||||
if (strtotime(date('Y-m-d')) > strtotime($coupon->coupon_maxdatediffusion)) {
|
if (strtotime(date('Y-m-d')) > strtotime($coupon->coupon_maxdatediffusion)) {
|
||||||
$availableToPrint = false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -179,31 +186,24 @@ trait CouponTrait
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!$pub) {
|
if (!$pub) {
|
||||||
$availableToPrint = false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return true;
|
||||||
if ($campagne->camp_published == 0) {
|
|
||||||
$availableToPrint = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $availableToPrint;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function isPausedToPrint(Coupon $coupon, Campagne $campagne)
|
public function isPausedToPrint(Coupon $coupon, Campagne $campagne)
|
||||||
{
|
{
|
||||||
$availableToPrint = true;
|
|
||||||
|
|
||||||
// ---- Contrôle la date de début de diffusion
|
// ---- Contrôle la date de début de diffusion
|
||||||
if ($coupon->coupon_mindatediffusion != null) {
|
if ($coupon->coupon_mindatediffusion !== null) {
|
||||||
if (strtotime(date('Y-m-d')) < strtotime($coupon->coupon_mindatediffusion)) {
|
if (strtotime(date('Y-m-d')) < strtotime($coupon->coupon_mindatediffusion)) {
|
||||||
$availableToPrint = false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ---- Contrôle la date de validité
|
// ---- Contrôle la date de validité
|
||||||
if ($coupon->coupon_maxdatediffusion != null) {
|
if ($coupon->coupon_maxdatediffusion !== null) {
|
||||||
if (strtotime(date('Y-m-d')) > strtotime($coupon->coupon_maxdatediffusion)) {
|
if (strtotime(date('Y-m-d')) > strtotime($coupon->coupon_maxdatediffusion)) {
|
||||||
$availableToPrint = false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -217,11 +217,11 @@ trait CouponTrait
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!$pub) {
|
if (!$pub) {
|
||||||
$availableToPrint = false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $availableToPrint;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -266,26 +266,22 @@ trait CouponTrait
|
||||||
|
|
||||||
public function getFullQuantity(Coupon $coupon)
|
public function getFullQuantity(Coupon $coupon)
|
||||||
{
|
{
|
||||||
$mouvements = $coupon->mouvements()->get();
|
return (int)Mouvement::where('mouvement_couponId', $coupon->coupon_id)->sum('mouvement_nombre');
|
||||||
$nombre = array();
|
|
||||||
foreach ($mouvements as $mouvement) {
|
|
||||||
array_push($nombre, $mouvement->mouvement_nombre);
|
|
||||||
}
|
|
||||||
return array_sum($nombre);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getUsedQuantity(Coupon $coupon)
|
public function getUsedQuantity(Coupon $coupon)
|
||||||
{
|
{
|
||||||
$countPrinted = 0;
|
$countPrinted = 0;
|
||||||
$couponId = $coupon->coupon_id;
|
foreach ($coupon->campagnes as $campagne) {
|
||||||
$campagnes = $coupon->campagnes()->get();
|
if ($campagne->camp_type->equals(CampaignTypes::mur()) || $campagne->camp_type->equals(CampaignTypes::murss())) {
|
||||||
foreach ($campagnes as $campagne) {
|
// Murs
|
||||||
if ($campagne->camp_type == 0 || $campagne->camp_type == 2) { // Murs
|
$murs = Mur::where(['mur_campid' => $campagne->camp_id, 'mur_couponId' => $coupon->coupon_id])->count();
|
||||||
$murs = Mur::where(['mur_campid' => $campagne->camp_id, 'mur_couponId' => $coupon->coupon_id])->get();
|
$countPrinted += $murs;
|
||||||
$countPrinted = $countPrinted + count($murs);
|
} else {
|
||||||
} else { // Paniers
|
// Paniers
|
||||||
|
// TODO : Revoir la requete
|
||||||
$campagneId = $campagne->camp_id;
|
$campagneId = $campagne->camp_id;
|
||||||
$countPrinted = PanierContent::where('panier_content_couponId', $couponId)->whereHas('panier', function ($query) use ($campagneId) {
|
$countPrinted = PanierContent::where('panier_content_couponId', $coupon->coupon_id)->whereHas('panier', function ($query) use ($campagneId) {
|
||||||
$query->where('panier_campId', $campagneId);
|
$query->where('panier_campId', $campagneId);
|
||||||
})->sum('panier_content_printed');
|
})->sum('panier_content_printed');
|
||||||
}
|
}
|
||||||
|
|
@ -296,15 +292,16 @@ trait CouponTrait
|
||||||
public function getDiffusedQuantity(Coupon $coupon)
|
public function getDiffusedQuantity(Coupon $coupon)
|
||||||
{
|
{
|
||||||
$countPrinted = 0;
|
$countPrinted = 0;
|
||||||
$couponId = $coupon->coupon_id;
|
foreach ($coupon->campagnes as $campagne) {
|
||||||
$campagnes = $coupon->campagnes()->get();
|
if ($campagne->camp_type->equals(CampaignTypes::mur()) || $campagne->camp_type->equals(CampaignTypes::murss())) {
|
||||||
foreach ($campagnes as $campagne) {
|
// Murs
|
||||||
if ($campagne->camp_type == 0 || $campagne->camp_type == 2) { // Murs
|
$murs = Mur::where(['mur_campid' => $campagne->camp_id, 'mur_couponId' => $coupon->coupon_id])->count();
|
||||||
$murs = Mur::where(['mur_campid' => $campagne->camp_id, 'mur_couponId' => $coupon->coupon_id])->get();
|
$countPrinted += $murs;
|
||||||
$countPrinted = $countPrinted + count($murs);
|
} else {
|
||||||
} else { // Paniers
|
// Paniers
|
||||||
|
// TODO : Revoir la requete
|
||||||
$campagneId = $campagne->camp_id;
|
$campagneId = $campagne->camp_id;
|
||||||
$panierContents = PanierContent::where('panier_content_couponId', $couponId)->whereHas('panier', function ($query) use ($campagneId) {
|
$panierContents = PanierContent::where('panier_content_couponId', $coupon->coupon_id)->whereHas('panier', function ($query) use ($campagneId) {
|
||||||
$query->where('panier_campId', $campagneId);
|
$query->where('panier_campId', $campagneId);
|
||||||
})->get();
|
})->get();
|
||||||
$panierContentCountPrinted = $panierContents->sum('panier_content_printed');
|
$panierContentCountPrinted = $panierContents->sum('panier_content_printed');
|
||||||
|
|
@ -322,7 +319,7 @@ trait CouponTrait
|
||||||
$enddate = date('Y-m-d H:i:s', strtotime($enddate));
|
$enddate = date('Y-m-d H:i:s', strtotime($enddate));
|
||||||
$campagnes = $coupon->campagnes()->get();
|
$campagnes = $coupon->campagnes()->get();
|
||||||
foreach ($campagnes as $campagne) {
|
foreach ($campagnes as $campagne) {
|
||||||
if ($campagne->camp_type == 0 || $campagne->camp_type == 2) { // Murs
|
if ($campagne->camp_type->equals(CampaignTypes::mur()) || $campagne->camp_type->equals(CampaignTypes::murss())) { // Murs
|
||||||
$murs = Mur::where(['mur_campid' => $campagne->camp_id, 'mur_couponId' => $coupon->coupon_id])->whereBetween('mur_createdate', [$startdate, $enddate])->get();
|
$murs = Mur::where(['mur_campid' => $campagne->camp_id, 'mur_couponId' => $coupon->coupon_id])->whereBetween('mur_createdate', [$startdate, $enddate])->get();
|
||||||
$countPrinted = $countPrinted + count($murs);
|
$countPrinted = $countPrinted + count($murs);
|
||||||
} else { // Paniers
|
} else { // Paniers
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,6 @@
|
||||||
namespace App\Traits;
|
namespace App\Traits;
|
||||||
|
|
||||||
use App\Models\Customers;
|
use App\Models\Customers;
|
||||||
use Picqer\Barcode\BarcodeGenerator;
|
|
||||||
use Picqer\Barcode\BarcodeGeneratorPNG;
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use App\Coupon;
|
use App\Coupon;
|
||||||
use App\Site;
|
use App\Site;
|
||||||
|
|
@ -38,7 +36,6 @@ trait GenerateBR
|
||||||
$text = $coupon->coupon_site_contact;
|
$text = $coupon->coupon_site_contact;
|
||||||
if (strlen($text) < 30) {
|
if (strlen($text) < 30) {
|
||||||
$ImageFond = imagecreate(165, 27);
|
$ImageFond = imagecreate(165, 27);
|
||||||
$box1 = imagettfbbox(8, 0, $arial, $text);
|
|
||||||
$white = imagecolorallocate($ImageFond, 255, 255, 255);
|
$white = imagecolorallocate($ImageFond, 255, 255, 255);
|
||||||
$black = imagecolorallocate($ImageFond, 0, 0, 0);
|
$black = imagecolorallocate($ImageFond, 0, 0, 0);
|
||||||
$this->imagettftextSp($ImageFond, 8, 0, 5, 23, $black, $arial, $text, 0.01);
|
$this->imagettftextSp($ImageFond, 8, 0, 5, 23, $black, $arial, $text, 0.01);
|
||||||
|
|
@ -46,7 +43,6 @@ trait GenerateBR
|
||||||
imagecopy($mask, $ImageFond, 743, 365, 0, 0, imagesx($ImageFond), imagesy($ImageFond));
|
imagecopy($mask, $ImageFond, 743, 365, 0, 0, imagesx($ImageFond), imagesy($ImageFond));
|
||||||
} else {
|
} else {
|
||||||
$ImageFond = imagecreate(195, 27);
|
$ImageFond = imagecreate(195, 27);
|
||||||
$box1 = imagettfbbox(7, 0, $arial, $text);
|
|
||||||
$white = imagecolorallocate($ImageFond, 255, 255, 255);
|
$white = imagecolorallocate($ImageFond, 255, 255, 255);
|
||||||
$black = imagecolorallocate($ImageFond, 0, 0, 0);
|
$black = imagecolorallocate($ImageFond, 0, 0, 0);
|
||||||
$this->imagettftextSp($ImageFond, 7, 0, 5, 23, $black, $arial, $text, 0);
|
$this->imagettftextSp($ImageFond, 7, 0, 5, 23, $black, $arial, $text, 0);
|
||||||
|
|
@ -59,7 +55,6 @@ trait GenerateBR
|
||||||
if ($coupon->coupon_legal_mentions_splitted == 0) {
|
if ($coupon->coupon_legal_mentions_splitted == 0) {
|
||||||
$txt_mentions = $coupon->coupon_legal_mentions . " " . $coupon->coupon_rcs;
|
$txt_mentions = $coupon->coupon_legal_mentions . " " . $coupon->coupon_rcs;
|
||||||
$ImageMentionFond = imagecreate(415, 100);
|
$ImageMentionFond = imagecreate(415, 100);
|
||||||
$boxMentions = imagettfbbox(7, 0, $arial, $txt_mentions);
|
|
||||||
$white = imagecolorallocate($ImageMentionFond, 255, 255, 255);
|
$white = imagecolorallocate($ImageMentionFond, 255, 255, 255);
|
||||||
imagefilledrectangle($ImageMentionFond, 0, 0, 414, 99, $white);
|
imagefilledrectangle($ImageMentionFond, 0, 0, 414, 99, $white);
|
||||||
$black = imagecolorallocate($ImageMentionFond, 0, 0, 0);
|
$black = imagecolorallocate($ImageMentionFond, 0, 0, 0);
|
||||||
|
|
@ -89,9 +84,9 @@ trait GenerateBR
|
||||||
$black = imagecolorallocate($ImageFond, 0, 0, 0);
|
$black = imagecolorallocate($ImageFond, 0, 0, 0);
|
||||||
$blue = imagecolorallocate($ImageFond, 8, 169, 223);
|
$blue = imagecolorallocate($ImageFond, 8, 169, 223);
|
||||||
$grey = imagecolorallocate($ImageFond, 219, 219, 221);
|
$grey = imagecolorallocate($ImageFond, 219, 219, 221);
|
||||||
$this->imagettftext_contour($ImageFond, 95, 0, 5, 110, $grey, $impact, $textMontant, $blue, 3, 3, 3, 3);
|
$this->imagettftextContour($ImageFond, 95, 0, 5, 110, $grey, $impact, $textMontant, $blue, 3, 3, 3, 3);
|
||||||
$this->imagettftext_contour($ImageFond, 50, 0, 220, 55, $grey, $arial, $textEuro, $blue, 2, 2, 2, 2);
|
$this->imagettftextContour($ImageFond, 50, 0, 220, 55, $grey, $arial, $textEuro, $blue, 2, 2, 2, 2);
|
||||||
$this->imagettftext_contour($ImageFond, 16, 0, 0, 150, $grey, $impact, $libReduc, $blue, 1, 1, 1, 1);
|
$this->imagettftextContour($ImageFond, 16, 0, 0, 150, $grey, $impact, $libReduc, $blue, 1, 1, 1, 1);
|
||||||
imagecolortransparent($ImageFond, $white);
|
imagecolortransparent($ImageFond, $white);
|
||||||
imagecopy($mask, $ImageFond, 360, 10, 0, 0, imagesx($ImageFond), imagesy($ImageFond));
|
imagecopy($mask, $ImageFond, 360, 10, 0, 0, imagesx($ImageFond), imagesy($ImageFond));
|
||||||
|
|
||||||
|
|
@ -110,7 +105,6 @@ trait GenerateBR
|
||||||
$textFiliLines = explode("\r\n", $textFili);
|
$textFiliLines = explode("\r\n", $textFili);
|
||||||
$ImageFond = imagecreate(402, 240);
|
$ImageFond = imagecreate(402, 240);
|
||||||
$white = imagecolorallocate($ImageFond, 255, 255, 255);
|
$white = imagecolorallocate($ImageFond, 255, 255, 255);
|
||||||
$blackOpac = imagecolorallocatealpha($ImageFond, 0, 0, 0, 20);
|
|
||||||
$y = 0;
|
$y = 0;
|
||||||
foreach ($textFiliLines as $textFiliLine) {
|
foreach ($textFiliLines as $textFiliLine) {
|
||||||
$y = $y + 20;
|
$y = $y + 20;
|
||||||
|
|
@ -227,7 +221,7 @@ trait GenerateBR
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function imagettftext_contour($image, $fontsize, $angle, $x, $y, $color, $font, $text, $color_contour, $contour_haut = 1, $contour_bas = 1, $contour_gauche = 1, $contour_droite = 1)
|
function imagettftextContour($image, $fontsize, $angle, $x, $y, $color, $font, $text, $color_contour, $contour_haut = 1, $contour_bas = 1, $contour_gauche = 1, $contour_droite = 1)
|
||||||
{
|
{
|
||||||
$coords_x = array();
|
$coords_x = array();
|
||||||
$coords_y = array();
|
$coords_y = array();
|
||||||
|
|
|
||||||
|
|
@ -2,13 +2,7 @@
|
||||||
|
|
||||||
namespace App\Traits;
|
namespace App\Traits;
|
||||||
|
|
||||||
use App\Campagne;
|
|
||||||
use App\Coupon;
|
|
||||||
use App\Contact;
|
|
||||||
use App\Calendrier;
|
|
||||||
use App\Mur;
|
|
||||||
use App\Statistique;
|
use App\Statistique;
|
||||||
use App\Panier;
|
|
||||||
use DateTime;
|
use DateTime;
|
||||||
|
|
||||||
trait GraphTrait
|
trait GraphTrait
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,6 @@
|
||||||
|
|
||||||
namespace App\Traits;
|
namespace App\Traits;
|
||||||
|
|
||||||
use App\Campagne;
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
trait ThanksTrait
|
trait ThanksTrait
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@
|
||||||
namespace App;
|
namespace App;
|
||||||
|
|
||||||
use Illuminate\Notifications\Notifiable;
|
use Illuminate\Notifications\Notifiable;
|
||||||
use Illuminate\Contracts\Auth\MustVerifyEmail;
|
|
||||||
use Illuminate\Foundation\Auth\User as Authenticatable;
|
use Illuminate\Foundation\Auth\User as Authenticatable;
|
||||||
use App\Notifications\ResetPassword;
|
use App\Notifications\ResetPassword;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,8 @@
|
||||||
"barryvdh/laravel-dompdf": "^0.9.0",
|
"barryvdh/laravel-dompdf": "^0.9.0",
|
||||||
"doctrine/dbal": "^2.8",
|
"doctrine/dbal": "^2.8",
|
||||||
"fideloper/proxy": "^4.0",
|
"fideloper/proxy": "^4.0",
|
||||||
|
"kwaadpepper/enum": "^2.0",
|
||||||
|
"kwaadpepper/exception-handler": "^0.0.3",
|
||||||
"laravel/framework": "^8.0",
|
"laravel/framework": "^8.0",
|
||||||
"laravel/tinker": "^2.0",
|
"laravel/tinker": "^2.0",
|
||||||
"laravel/ui": "^3.0",
|
"laravel/ui": "^3.0",
|
||||||
|
|
@ -29,6 +31,7 @@
|
||||||
"mockery/mockery": "^1.0",
|
"mockery/mockery": "^1.0",
|
||||||
"nunomaduro/collision": "^5.0",
|
"nunomaduro/collision": "^5.0",
|
||||||
"phpunit/phpunit": "^9.0",
|
"phpunit/phpunit": "^9.0",
|
||||||
|
"slevomat/coding-standard": "^7.0",
|
||||||
"squizlabs/php_codesniffer": "^3.3"
|
"squizlabs/php_codesniffer": "^3.3"
|
||||||
},
|
},
|
||||||
"repositories": [
|
"repositories": [
|
||||||
|
|
|
||||||
243
composer.lock
generated
243
composer.lock
generated
|
|
@ -4,7 +4,7 @@
|
||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "5a3ebedda9d69b70bcd95eec2618c1fb",
|
"content-hash": "4790c5a14a3a43378f3b3d89c7346e36",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "barryvdh/laravel-dompdf",
|
"name": "barryvdh/laravel-dompdf",
|
||||||
|
|
@ -1264,6 +1264,67 @@
|
||||||
},
|
},
|
||||||
"time": "2021-08-13T10:11:43+00:00"
|
"time": "2021-08-13T10:11:43+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "kwaadpepper/exception-handler",
|
||||||
|
"version": "0.0.3",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/Kwaadpepper/exception-handler.git",
|
||||||
|
"reference": "979e8add45fea601b221e95595366fb446e8c6b7"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/Kwaadpepper/exception-handler/zipball/979e8add45fea601b221e95595366fb446e8c6b7",
|
||||||
|
"reference": "979e8add45fea601b221e95595366fb446e8c6b7",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"illuminate/support": "~7|~8",
|
||||||
|
"laravel/framework": "~7|~8"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"orchestra/testbench": "^6.13",
|
||||||
|
"phpunit/phpunit": "~9.0",
|
||||||
|
"squizlabs/php_codesniffer": "^3.5"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"laravel": {
|
||||||
|
"providers": [
|
||||||
|
"Kwaadpepper\\ExceptionHandler\\ExceptionHandlerServiceProvider"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Kwaadpepper\\ExceptionHandler\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Jérémy Munsch",
|
||||||
|
"email": "github@jeremydev.ovh",
|
||||||
|
"homepage": "https://jeremydev.ovh"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Send emails when exceptions occurs",
|
||||||
|
"homepage": "https://github.com/kwaadpepper/exception-handler",
|
||||||
|
"keywords": [
|
||||||
|
"email",
|
||||||
|
"exception",
|
||||||
|
"laravel",
|
||||||
|
"policies"
|
||||||
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/Kwaadpepper/exception-handler/issues",
|
||||||
|
"source": "https://github.com/Kwaadpepper/exception-handler/tree/0.0.3"
|
||||||
|
},
|
||||||
|
"time": "2021-09-15T17:06:33+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "laravel/framework",
|
"name": "laravel/framework",
|
||||||
"version": "v8.38.0",
|
"version": "v8.38.0",
|
||||||
|
|
@ -6093,6 +6154,76 @@
|
||||||
},
|
},
|
||||||
"time": "2020-12-15T10:57:43+00:00"
|
"time": "2020-12-15T10:57:43+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "dealerdirect/phpcodesniffer-composer-installer",
|
||||||
|
"version": "v0.7.1",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/Dealerdirect/phpcodesniffer-composer-installer.git",
|
||||||
|
"reference": "fe390591e0241955f22eb9ba327d137e501c771c"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/Dealerdirect/phpcodesniffer-composer-installer/zipball/fe390591e0241955f22eb9ba327d137e501c771c",
|
||||||
|
"reference": "fe390591e0241955f22eb9ba327d137e501c771c",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"composer-plugin-api": "^1.0 || ^2.0",
|
||||||
|
"php": ">=5.3",
|
||||||
|
"squizlabs/php_codesniffer": "^2.0 || ^3.0 || ^4.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"composer/composer": "*",
|
||||||
|
"phpcompatibility/php-compatibility": "^9.0",
|
||||||
|
"sensiolabs/security-checker": "^4.1.0"
|
||||||
|
},
|
||||||
|
"type": "composer-plugin",
|
||||||
|
"extra": {
|
||||||
|
"class": "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\Plugin"
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Franck Nijhof",
|
||||||
|
"email": "franck.nijhof@dealerdirect.com",
|
||||||
|
"homepage": "http://www.frenck.nl",
|
||||||
|
"role": "Developer / IT Manager"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "PHP_CodeSniffer Standards Composer Installer Plugin",
|
||||||
|
"homepage": "http://www.dealerdirect.com",
|
||||||
|
"keywords": [
|
||||||
|
"PHPCodeSniffer",
|
||||||
|
"PHP_CodeSniffer",
|
||||||
|
"code quality",
|
||||||
|
"codesniffer",
|
||||||
|
"composer",
|
||||||
|
"installer",
|
||||||
|
"phpcs",
|
||||||
|
"plugin",
|
||||||
|
"qa",
|
||||||
|
"quality",
|
||||||
|
"standard",
|
||||||
|
"standards",
|
||||||
|
"style guide",
|
||||||
|
"stylecheck",
|
||||||
|
"tests"
|
||||||
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/dealerdirect/phpcodesniffer-composer-installer/issues",
|
||||||
|
"source": "https://github.com/dealerdirect/phpcodesniffer-composer-installer"
|
||||||
|
},
|
||||||
|
"time": "2020-12-07T18:04:37+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "doctrine/instantiator",
|
"name": "doctrine/instantiator",
|
||||||
"version": "1.4.0",
|
"version": "1.4.0",
|
||||||
|
|
@ -7066,6 +7197,55 @@
|
||||||
},
|
},
|
||||||
"time": "2021-03-17T13:42:18+00:00"
|
"time": "2021-03-17T13:42:18+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "phpstan/phpdoc-parser",
|
||||||
|
"version": "0.5.6",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/phpstan/phpdoc-parser.git",
|
||||||
|
"reference": "fac86158ffc7392e49636f77e63684c026df43b8"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/fac86158ffc7392e49636f77e63684c026df43b8",
|
||||||
|
"reference": "fac86158ffc7392e49636f77e63684c026df43b8",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1 || ^8.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"php-parallel-lint/php-parallel-lint": "^1.2",
|
||||||
|
"phpstan/extension-installer": "^1.0",
|
||||||
|
"phpstan/phpstan": "^0.12.87",
|
||||||
|
"phpstan/phpstan-strict-rules": "^0.12.5",
|
||||||
|
"phpunit/phpunit": "^9.5",
|
||||||
|
"symfony/process": "^5.2"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "0.5-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"PHPStan\\PhpDocParser\\": [
|
||||||
|
"src/"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"description": "PHPDoc parser with support for nullable, intersection and generic types",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
|
||||||
|
"source": "https://github.com/phpstan/phpdoc-parser/tree/0.5.6"
|
||||||
|
},
|
||||||
|
"time": "2021-08-31T08:08:22+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "phpunit/php-code-coverage",
|
"name": "phpunit/php-code-coverage",
|
||||||
"version": "9.2.6",
|
"version": "9.2.6",
|
||||||
|
|
@ -8451,6 +8631,67 @@
|
||||||
],
|
],
|
||||||
"time": "2020-09-28T06:39:44+00:00"
|
"time": "2020-09-28T06:39:44+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "slevomat/coding-standard",
|
||||||
|
"version": "7.0.15",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/slevomat/coding-standard.git",
|
||||||
|
"reference": "cc80e59f9b4ca642f02dc1b615c37a9afc2a0f80"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/slevomat/coding-standard/zipball/cc80e59f9b4ca642f02dc1b615c37a9afc2a0f80",
|
||||||
|
"reference": "cc80e59f9b4ca642f02dc1b615c37a9afc2a0f80",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7",
|
||||||
|
"php": "^7.1 || ^8.0",
|
||||||
|
"phpstan/phpdoc-parser": "0.5.1 - 0.5.6",
|
||||||
|
"squizlabs/php_codesniffer": "^3.6.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phing/phing": "2.17.0",
|
||||||
|
"php-parallel-lint/php-parallel-lint": "1.3.1",
|
||||||
|
"phpstan/phpstan": "0.12.98",
|
||||||
|
"phpstan/phpstan-deprecation-rules": "0.12.6",
|
||||||
|
"phpstan/phpstan-phpunit": "0.12.22",
|
||||||
|
"phpstan/phpstan-strict-rules": "0.12.11",
|
||||||
|
"phpunit/phpunit": "7.5.20|8.5.5|9.5.9"
|
||||||
|
},
|
||||||
|
"type": "phpcodesniffer-standard",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "7.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"SlevomatCodingStandard\\": "SlevomatCodingStandard"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"description": "Slevomat Coding Standard for PHP_CodeSniffer complements Consistence Coding Standard by providing sniffs with additional checks.",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/slevomat/coding-standard/issues",
|
||||||
|
"source": "https://github.com/slevomat/coding-standard/tree/7.0.15"
|
||||||
|
},
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://github.com/kukulich",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://tidelift.com/funding/github/packagist/slevomat/coding-standard",
|
||||||
|
"type": "tidelift"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"time": "2021-09-09T10:29:09+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "squizlabs/php_codesniffer",
|
"name": "squizlabs/php_codesniffer",
|
||||||
"version": "3.6.0",
|
"version": "3.6.0",
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,9 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use App\Enums\CampaignTypes;
|
||||||
|
use App\Enums\Countries;
|
||||||
|
use App\Enums\UserRoles;
|
||||||
|
|
||||||
return [
|
return [
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -214,6 +218,9 @@ return [
|
||||||
'Html' => Collective\Html\HtmlFacade::class,
|
'Html' => Collective\Html\HtmlFacade::class,
|
||||||
'Debugbar' => Barryvdh\Debugbar\Facade::class,
|
'Debugbar' => Barryvdh\Debugbar\Facade::class,
|
||||||
'PDF' => Barryvdh\DomPDF\Facade::class,
|
'PDF' => Barryvdh\DomPDF\Facade::class,
|
||||||
|
'CampaignTypes' => CampaignTypes::class,
|
||||||
|
'Countries' => Countries::class,
|
||||||
|
'UserRoles' => UserRoles::class,
|
||||||
],
|
],
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
|
||||||
17
config/exception-handler.php
Normal file
17
config/exception-handler.php
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
/**
|
||||||
|
* Send mail when app debug is turn off
|
||||||
|
* so you can be warned if an unhandled exception occurs
|
||||||
|
*/
|
||||||
|
'enableMaiLog' => !config('app.debug'),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Put a developper secured mailbox in here
|
||||||
|
* so you can receive email if things go mad
|
||||||
|
*/
|
||||||
|
'contactsList' => [
|
||||||
|
'equipe.web@ldc.fr'
|
||||||
|
]
|
||||||
|
];
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class CreateOldCalendrierTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
DB::table('migrations')->truncate();
|
||||||
|
Schema::create('calendrier', function (Blueprint $table) {
|
||||||
|
$table->id('calendrier_id');
|
||||||
|
|
||||||
|
$table->bigInteger('calendrier_couponId')->default(0);
|
||||||
|
|
||||||
|
$table->timestamp('calendrier_startdate')->useCurrent();
|
||||||
|
$table->timestamp('calendrier_enddate')->useCurrent()->useCurrentOnUpdate();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('calendrier');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,43 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class CreateOldCampagneTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('campagne', function (Blueprint $table) {
|
||||||
|
$table->id('camp_id');
|
||||||
|
|
||||||
|
$table->string('camp_name', 500)->default('');
|
||||||
|
$table->unsignedTinyInteger('camp_type')->default(0)
|
||||||
|
->comment('0 = mur; 1 = panier; 2 = mur sous forme de panier');
|
||||||
|
$table->smallInteger('camp_limitedPrinting')->default(0)
|
||||||
|
->comment('Limite l\'impression des paniers à un BR à la fois');
|
||||||
|
$table->smallInteger('camp_published')->default(1);
|
||||||
|
|
||||||
|
$table->string('camp_siteId', 50);
|
||||||
|
|
||||||
|
$table->timestamp('camp_createdate')->useCurrent();
|
||||||
|
$table->timestamp('camp_updatedate')->useCurrent()->useCurrentOnUpdate();
|
||||||
|
$table->timestamp('camp_deleted_at')->nullable();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('campagne');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,49 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class CreateOldContactTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('contact', function (Blueprint $table) {
|
||||||
|
$table->id('contact_id');
|
||||||
|
|
||||||
|
$table->string('contact_ref', 200)->default(''); // broken key
|
||||||
|
$table->string('contact_prenom', 200)->default('');
|
||||||
|
$table->string('contact_nom', 200)->default('');
|
||||||
|
$table->string('contact_email', 200)->default(''); // broken key
|
||||||
|
$table->string('contact_cp', 50)->default('');
|
||||||
|
$table->string('contact_ville', 200)->default('');
|
||||||
|
|
||||||
|
$table->smallInteger('contact_country')->default(250);
|
||||||
|
$table->string('contact_hash', 50)->nullable();
|
||||||
|
|
||||||
|
$table->string('contact_siteId', 50);
|
||||||
|
|
||||||
|
$table->timestamp('contact_createdate')->useCurrent();
|
||||||
|
$table->timestamp('contact_updatedate')->useCurrent()->useCurrentOnUpdate();
|
||||||
|
|
||||||
|
// me demandez pas pourquoi iso prod (-_-")
|
||||||
|
$table->index(['contact_ref', 'contact_email'], 'contact_ref');
|
||||||
|
$table->index(['contact_email', 'contact_ref'], 'contact_email');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('contact');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,74 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class CreateOldCouponTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('coupon', function (Blueprint $table) {
|
||||||
|
$table->id('coupon_id');
|
||||||
|
|
||||||
|
$table->string('coupon_code', 50);
|
||||||
|
$table->string('coupon_gs1code', 500);
|
||||||
|
$table->string('coupon_name', 500);
|
||||||
|
$table->float('coupon_value', 0);
|
||||||
|
|
||||||
|
$table->string('coupon_thumbnail1', 500);
|
||||||
|
$table->string('coupon_thumbnail2', 500);
|
||||||
|
$table->string('coupon_thumbnail3', 500);
|
||||||
|
$table->string('coupon_thumbnail4', 500);
|
||||||
|
$table->string('coupon_image', 500);
|
||||||
|
|
||||||
|
$table->integer('coupon_enablelimitquantity')->default(0);
|
||||||
|
$table->integer('coupon_limitquantity')->default(1);
|
||||||
|
$table->integer('coupon_enablelimitperiod')->default(1);
|
||||||
|
$table->integer('coupon_limitperiod')->default(0);
|
||||||
|
$table->integer('coupon_validity')->default(30);
|
||||||
|
|
||||||
|
$table->date('coupon_mindatediffusion')->nullable();
|
||||||
|
$table->date('coupon_maxdatediffusion')->nullable();
|
||||||
|
$table->date('coupon_maxdatevalidity')->nullable();
|
||||||
|
|
||||||
|
$table->unsignedTinyInteger('coupon_norme')->default(0)
|
||||||
|
->comment('0 = par défaut; 1 = Benelux');
|
||||||
|
$table->integer('coupon_published')->default(1);
|
||||||
|
|
||||||
|
$table->string('coupon_decoration_image', 500)->nullable();
|
||||||
|
$table->string('coupon_logo_image', 500)->nullable();
|
||||||
|
$table->string('coupon_validity_text', 500)->nullable();
|
||||||
|
$table->string('coupon_rcs', 500)->nullable();
|
||||||
|
$table->string('coupon_legal_mentions', 1000)->nullable();
|
||||||
|
|
||||||
|
$table->tinyInteger('coupon_legal_mentions_splitted')->default(0);
|
||||||
|
|
||||||
|
$table->string('coupon_site_contact', 500)->nullable();
|
||||||
|
|
||||||
|
$table->unsignedInteger('coupon_seuil_alert')->default(100);
|
||||||
|
$table->integer('coupon_treatment_center')->default(0);
|
||||||
|
|
||||||
|
$table->bigInteger('coupon_siteId');
|
||||||
|
|
||||||
|
$table->timestamp('coupon_createdate')->useCurrent();
|
||||||
|
$table->timestamp('coupon_updatedate')->useCurrent()->useCurrentOnUpdate();
|
||||||
|
$table->timestamp('coupon_deleted_at')->nullable();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('coupon');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,34 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class CreateOldCampagneCouponTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('campagne_coupon', function (Blueprint $table) {
|
||||||
|
$table->foreignId('campagne_id');
|
||||||
|
$table->foreign('campagne_id')->references('camp_id')->on('campagne')->cascadeOnDelete();
|
||||||
|
$table->foreignId('coup_id');
|
||||||
|
$table->foreign('coup_id')->references('coupon_id')->on('coupon')->cascadeOnDelete();
|
||||||
|
$table->unique(['campagne_id', 'coup_id']);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('campagne_coupon');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class CreateOldCustomersTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('customers', function (Blueprint $table) {
|
||||||
|
$table->id(); // TODO remove this in the future
|
||||||
|
|
||||||
|
$table->string('hashcode', 36)->unique();
|
||||||
|
$table->string('email', 255)->unique();
|
||||||
|
$table->integer('country')->default(250);
|
||||||
|
|
||||||
|
$table->timestamps();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('customers');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class CreateOldLogsTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('logs', function (Blueprint $table) {
|
||||||
|
$table->id();
|
||||||
|
|
||||||
|
$table->tinyInteger('log_action');
|
||||||
|
$table->string('log_source', 255);
|
||||||
|
|
||||||
|
$table->text('log_params')->nullable();
|
||||||
|
$table->string('log_statut');
|
||||||
|
$table->text('log_message');
|
||||||
|
|
||||||
|
$table->string('log_refsite', 255)->nullable();
|
||||||
|
$table->bigInteger('log_contactId')->nullable();
|
||||||
|
|
||||||
|
$table->timestamp('created_at')->useCurrent();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('logs');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class CreateOldMouvementTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('mouvement', function (Blueprint $table) {
|
||||||
|
$table->id('mouvement_id');
|
||||||
|
|
||||||
|
$table->unsignedInteger('mouvement_couponId');
|
||||||
|
$table->integer('mouvement_nombre');
|
||||||
|
$table->string('mouvement_commentaire')->nullable();
|
||||||
|
|
||||||
|
$table->timestamp('mouvement_created_at')->useCurrent()->useCurrentOnUpdate();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('mouvement');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,43 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class CreateOldMurTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('mur', function (Blueprint $table) {
|
||||||
|
$table->id('mur_id');
|
||||||
|
|
||||||
|
$table->integer('mur_campId'); // broken foreign key
|
||||||
|
$table->integer('mur_contactId'); // broken foreign key
|
||||||
|
$table->integer('mur_couponId'); // broken foreign key
|
||||||
|
|
||||||
|
$table->boolean('mur_deleted')->default(false);
|
||||||
|
|
||||||
|
$table->timestamp('mur_createdate')->useCurrent();
|
||||||
|
|
||||||
|
// me demandez pas pourquoi iso prod (-_-")
|
||||||
|
$table->index(['mur_campId'], 'FK_mur_campagne');
|
||||||
|
$table->index(['mur_contactId'], 'mur_contactId');
|
||||||
|
$table->index(['mur_couponId'], 'mur_couponId');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('mur');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,35 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class CreateOldNotificationTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('old_notification', function (Blueprint $table) {
|
||||||
|
$table->id('notif_id');
|
||||||
|
|
||||||
|
$table->string('notif_email')->default('');
|
||||||
|
$table->string('notif_name')->nullable();
|
||||||
|
|
||||||
|
$table->integer('notif_campId');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('old_notification');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,41 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class CreateOldPanierTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('old_panier', function (Blueprint $table) {
|
||||||
|
$table->id('panier_id');
|
||||||
|
|
||||||
|
$table->string('panier_ref', 100)->default('');
|
||||||
|
|
||||||
|
$table->boolean('panier_pending')
|
||||||
|
->comment('1 = en cours; 0 = terminé');
|
||||||
|
|
||||||
|
$table->integer('panier_campId');
|
||||||
|
$table->integer('panier_contactId');
|
||||||
|
|
||||||
|
$table->timestamp('panier_createdate')->useCurrent();
|
||||||
|
$table->timestamp('panier_updatedate')->useCurrent()->useCurrentOnUpdate();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('old_panier');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class CreateOldPanierContentTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('panier_content', function (Blueprint $table) {
|
||||||
|
$table->id('panier_content_id');
|
||||||
|
|
||||||
|
$table->integer('panier_content_quantity')->default(0);
|
||||||
|
$table->integer('panier_content_printed')->default(0);
|
||||||
|
|
||||||
|
$table->integer('panier_content_panierId')->default(0);
|
||||||
|
$table->integer('panier_content_couponId');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('panier_content');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,33 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class CreateOldPasswordResetsTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('password_resets', function (Blueprint $table) {
|
||||||
|
|
||||||
|
$table->string('email')->index('password_resets_email_index');
|
||||||
|
$table->string('token');
|
||||||
|
$table->timestamp('created_at')->nullable();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('password_resets');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,39 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class CreateOldPrintedWallsTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('printed_walls', function (Blueprint $table) {
|
||||||
|
$table->bigInteger('camp_id');
|
||||||
|
$table->bigInteger('coupon_id');
|
||||||
|
$table->bigInteger('customer_id');
|
||||||
|
|
||||||
|
// me demandez pas pourquoi iso prod (-_-")
|
||||||
|
$table->index('camp_id', 'FK_printed_wall_campagne');
|
||||||
|
$table->index('coupon_id', 'FK_printed_wall_coupon');
|
||||||
|
$table->index('customer_id', 'FK_printed_wall_customers');
|
||||||
|
|
||||||
|
$table->timestamps();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('printed_walls');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,40 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class CreateOldSiteTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('site', function (Blueprint $table) {
|
||||||
|
$table->id();
|
||||||
|
|
||||||
|
$table->string('site_nom', 200)->default('');
|
||||||
|
$table->string('site_logo', 500)->default('');
|
||||||
|
$table->string('site_contact', 500)->default('');
|
||||||
|
$table->string('site_rcs', 100)->nullable();
|
||||||
|
$table->string('site_libelle', 200)->nullable();
|
||||||
|
$table->string('crm_token')->nullable();
|
||||||
|
$table->string('crm_password')->nullable();
|
||||||
|
|
||||||
|
$table->string('site_id', 50);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('site');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class CreateOldStatistiquesTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('statistiques', function (Blueprint $table) {
|
||||||
|
$table->id();
|
||||||
|
|
||||||
|
$table->integer('stat_couponPrinted');
|
||||||
|
|
||||||
|
$table->integer('stat_campId');
|
||||||
|
$table->integer('stat_couponId');
|
||||||
|
|
||||||
|
$table->timestamp('created_at')->useCurrent();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('statistiques');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,40 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class CreateOldUsersTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('users', function (Blueprint $table) {
|
||||||
|
$table->id();
|
||||||
|
|
||||||
|
$table->string('name');
|
||||||
|
$table->string('email');
|
||||||
|
$table->timestamp('email_verified_at')->nullable();
|
||||||
|
$table->string('password');
|
||||||
|
$table->rememberToken();
|
||||||
|
|
||||||
|
$table->string('roles', 50);
|
||||||
|
|
||||||
|
$table->timestamps();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('users');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,34 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class CreateOldSiteUserTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('site_user', function (Blueprint $table) {
|
||||||
|
$table->foreignId('user_id');
|
||||||
|
$table->foreign('user_id')->references('id')->on('users')->cascadeOnDelete();
|
||||||
|
$table->foreignId('site_id');
|
||||||
|
$table->foreign('site_id')->references('id')->on('site')->cascadeOnDelete();
|
||||||
|
$table->unique(['user_id', 'site_id']);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('site_user');
|
||||||
|
}
|
||||||
|
}
|
||||||
18543
package-lock.json
generated
18543
package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
|
@ -21,5 +21,8 @@
|
||||||
"popper.js": "^1.12",
|
"popper.js": "^1.12",
|
||||||
"sweetalert": "^2.0.8",
|
"sweetalert": "^2.0.8",
|
||||||
"vue": "^2.5.7"
|
"vue": "^2.5.7"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"node-sass": "^6.0.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -87,4 +87,5 @@
|
||||||
<rule ref="PSR1.Classes.ClassDeclaration.MissingNamespace">
|
<rule ref="PSR1.Classes.ClassDeclaration.MissingNamespace">
|
||||||
<exclude-pattern>*/database/migrations/*</exclude-pattern>
|
<exclude-pattern>*/database/migrations/*</exclude-pattern>
|
||||||
</rule>
|
</rule>
|
||||||
|
<rule ref="SlevomatCodingStandard.Namespaces.UnusedUses" />
|
||||||
</ruleset>
|
</ruleset>
|
||||||
|
|
|
||||||
2
public/js/ajax.js
vendored
2
public/js/ajax.js
vendored
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue