+ Set default player for user and agent

This commit is contained in:
Djery-Tom 2020-08-31 17:09:06 +01:00
parent d2039c3ab8
commit 32812ff119
8 changed files with 92 additions and 14 deletions

View File

@ -32,9 +32,9 @@ class NotificationController extends Controller
]); ]);
$notifications = []; $notifications = [];
if (isset($request->user_code)) if (isset($request->user_code))
$notifications = Notification::where('user_code', $request->user_code)->get(); $notifications = Notification::where('user_code', $request->user_code)->orderBy('date' , 'DESC')->get();
elseif (isset($request->agent_code)) elseif (isset($request->agent_code))
$notifications = Notification::where('agent_code', $request->agent_code)->get(); $notifications = Notification::where('agent_code', $request->agent_code)->orderBy('date' , 'DESC')->get();
foreach ($notifications as $notif) { foreach ($notifications as $notif) {
$notif->data = json_decode($notif->data); $notif->data = json_decode($notif->data);

View File

@ -26,31 +26,68 @@ class OneSignalController extends Controller
public function addUserPlayerID(Request $request){ public function addUserPlayerID(Request $request){
$this->validate($request , [ $this->validate($request , [
'user_code'=> 'required', 'user_code'=> 'required',
'player_id'=> 'required' 'player_id'=> 'required',
'set_default' => 'required|boolean'
]); ]);
$records = OnesignalUser::where('user_code',$request->user_code)->get();
$saveUser = OnesignalUser::where('user_code',$request->user_code)->where('player_id',$request->player_id)->first(); if($request->set_default){
if(!$saveUser){ foreach ($records as $r){
$r->delete();
}
$user = new OnesignalUser(); $user = new OnesignalUser();
$user->fill($request->all()); $user->fill($request->all());
$user->save(); $user->save();
}else{
$saveUser = OnesignalUser::where('user_code',$request->user_code)->where('player_id',$request->player_id)->first();
if(!$saveUser){
if(sizeof($records)>0)
return $this->errorResponse(trans('errors.phone_already_associated'));
$request->set_default = true;
return $this->addUserPlayerID($request);
}else{
if(sizeof($records)>1)
return $this->errorResponse(trans('errors.phone_already_associated'));
}
} }
return $this->successResponse('Player ID saved');
return $this->successResponse(trans('messages.player_id_saved'));
} }
public function addAgentPlayerID(Request $request){ public function addAgentPlayerID(Request $request){
$this->validate($request , [ $this->validate($request , [
'code_membre'=> 'required', 'code_membre'=> 'required',
'player_id'=> 'required' 'player_id'=> 'required',
'set_default' => 'required|boolean'
]); ]);
$saveUser = OnesignalAgent::where('code_membre',$request->code_membre)->where('player_id',$request->player_id)->first(); $records = OnesignalAgent::where('code_membre',$request->code_membre)->get();
if(!$saveUser){
if($request->set_default){
foreach ($records as $r){
$r->delete();
}
$user = new OnesignalAgent(); $user = new OnesignalAgent();
$user->fill($request->all()); $user->fill($request->all());
$user->save(); $user->save();
}else{
$saveUser = OnesignalAgent::where('code_membre',$request->code_membre)->where('player_id',$request->player_id)->first();
if(!$saveUser){
if(sizeof($records)>0)
return $this->errorResponse(trans('errors.phone_already_associated'));
$request->set_default = true;
return $this->addAgentPlayerID($request);
}else{
if(sizeof($records)>1)
return $this->errorResponse(trans('errors.phone_already_associated'));
}
} }
return $this->successResponse('Player ID saved');
return $this->successResponse(trans('messages.player_id_saved'));
} }
public function pushMessageToOneUser(Request $request){ public function pushMessageToOneUser(Request $request){

View File

@ -0,0 +1,37 @@
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
class Localization
{
/**
* Handle an incoming request.
*
* @param Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$enLangs=["en","en-US","en_US","ca","in","gb","GB","us","en-029","en-AU","en-BZ","en-CA","en-GB","en-IE","en-IN","en-JM","en-MY","en-NZ","en-PH","en-SG","en-TT","en-US","en-ZA","en-ZW","au","bz","ie","in","jm","my","nz","ph","sg","tt","za"];
// Check header request and determine localizaton
if ($request->hasHeader('X-localization')){
$local = $request->header('X-localization');
$pos=strpos($local,"-");
if($pos!=false){
$local=strtolower(explode("-",$local)[0]);
}
$local= in_array($local, $enLangs) ? 'en' : 'fr';
}else{
$local ='fr';
}
// set laravel localization
app()->setLocale($local);
// continue request
return $next($request);
}
}

View File

@ -86,7 +86,8 @@ $app->alias('mailer', Illuminate\Contracts\Mail\MailQueue::class);
$app->middleware([ $app->middleware([
// App\Http\Middleware\ExampleMiddleware::class // App\Http\Middleware\ExampleMiddleware::class
App\Http\Middleware\AuthenticateAccess::class App\Http\Middleware\Localization::class,
App\Http\Middleware\AuthenticateAccess::class
]); ]);
// $app->routeMiddleware([ // $app->routeMiddleware([

View File

@ -3,4 +3,5 @@ return [
'model_not_found' => 'Does not exist any instance of :model with given id', 'model_not_found' => 'Does not exist any instance of :model with given id',
'unexpected_error'=> 'Unexpected error. Try later', 'unexpected_error'=> 'Unexpected error. Try later',
'service_unavailable' => 'Service unavailable', 'service_unavailable' => 'Service unavailable',
"phone_already_associated" => "You already have a phone associated . Do you want to change it ?",
]; ];

View File

@ -1,4 +1,4 @@
<?php <?php
return [ return [
"player_id_saved" => "Player ID saved",
]; ];

View File

@ -3,4 +3,5 @@ return [
'model_not_found' => 'Il n\'existe aucune instance de :model avec l\'id donné', 'model_not_found' => 'Il n\'existe aucune instance de :model avec l\'id donné',
'unexpected_error'=> 'Erreur inattendue. Essayer plus tard', 'unexpected_error'=> 'Erreur inattendue. Essayer plus tard',
'service_unavailable' => 'Service non disponible', 'service_unavailable' => 'Service non disponible',
"phone_already_associated" => "Vous avez déjà un téléphone associé. Voulez-vous le changer ?"
]; ];

View File

@ -1,4 +1,5 @@
<?php <?php
return [ return [
"player_id_saved" => "Player ID enregistré",
""
]; ];