jeudi 25 août 2016

Friends system bug (laravel 5.2)(not getting desired view)

when two users become friend , it is shown

you and are friends //working fine

// but it is shown to every profile and i want that it is only shown on those two users(which are friends)

if you need any other file or function ,tell me.

my view :

 @if(Auth::user()->hasFriendRequestPending($user))
<p>waiting for  to accept ur reqst </p>
@elseif(Auth::user()->hasFriendRequestReceived($user))
<a href="" class="btn btn-primary" >Accept frnd reqst</a>
@elseif(Auth::user()->isFriendsWith($user))
<p>you and  are friends</p>
@else
<a href="" class="btn btn-primary">Add as friend</a>
@endif

friend controller :

    class FriendController extends Controller
{
   public function getIndex(){

    $friends=Auth::user()->friends();
    $requests = Auth::user()->friendRequests();
    return view('friends',['friends'=>$friends,'requests' => $requests]);
   }

   public function getAdd($username){


        $user = User::where('username', $username)->first();
        if(!$user){
            return redirect()->route('home')->with('info', 'That user could not be found');
        }
        if(Auth::user()->id === $user->id){
            return redirect()->route('home');
        }
        if(Auth::user()->hasFriendRequestPending($user) || $user->hasFriendRequestPending(Auth::user())) {
            return redirect()->route('myplace', ['username' => $user->username])
            ->with('info', 'Friend Request already pending.');
        }
        if(Auth::user()->isFriendsWith($user)) {
            return redirect()->route('myplace', ['username' => $user->username])
            ->with('info', 'You are already friends.');
        }
        Auth::user()->addFriend($user);
        return redirect()->route('myplace', ['username' => $user->username])
            ->with('info', 'Friend Request Sent.');
    }

    public function getAccept($username){
        $user = User::where('username', $username)->first();

        if(!$user) {
            return redirect()->route('home')->with('info', 'That user can not be found.');
        }
        if(!Auth::user()->hasFriendRequestReceived($user)) {
            return redirect()->route('home');
        }
        Auth::user()->acceptFriendRequest($user);
        return redirect()->route('myplace', ['username' => $user->username])
            ->with('info', 'Friend Request accepted.');
    }
      }



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire