forked from wallabag/wallabag
@ -19,7 +19,7 @@ class DeveloperController extends Controller
|
||||
*/
|
||||
public function indexAction()
|
||||
{
|
||||
$clients = $this->getDoctrine()->getRepository('WallabagApiBundle:Client')->findAll();
|
||||
$clients = $this->getDoctrine()->getRepository('WallabagApiBundle:Client')->findByUser($this->getUser()->getId());
|
||||
|
||||
return $this->render('@WallabagCore/themes/common/Developer/index.html.twig', [
|
||||
'clients' => $clients,
|
||||
@ -38,7 +38,7 @@ class DeveloperController extends Controller
|
||||
public function createClientAction(Request $request)
|
||||
{
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$client = new Client();
|
||||
$client = new Client($this->getUser());
|
||||
$clientForm = $this->createForm(ClientType::class, $client);
|
||||
$clientForm->handleRequest($request);
|
||||
|
||||
@ -75,6 +75,10 @@ class DeveloperController extends Controller
|
||||
*/
|
||||
public function deleteClientAction(Client $client)
|
||||
{
|
||||
if (null === $this->getUser() || $client->getUser()->getId() != $this->getUser()->getId()) {
|
||||
throw $this->createAccessDeniedException('You can not access this client.');
|
||||
}
|
||||
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$em->remove($client);
|
||||
$em->flush();
|
||||
|
||||
@ -4,6 +4,7 @@ namespace Wallabag\ApiBundle\Entity;
|
||||
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use FOS\OAuthServerBundle\Entity\Client as BaseClient;
|
||||
use Wallabag\UserBundle\Entity\User;
|
||||
|
||||
/**
|
||||
* @ORM\Table("oauth2_clients")
|
||||
@ -35,9 +36,15 @@ class Client extends BaseClient
|
||||
*/
|
||||
protected $accessTokens;
|
||||
|
||||
public function __construct()
|
||||
/**
|
||||
* @ORM\ManyToOne(targetEntity="Wallabag\UserBundle\Entity\User", inversedBy="clients")
|
||||
*/
|
||||
private $user;
|
||||
|
||||
public function __construct(User $user)
|
||||
{
|
||||
parent::__construct();
|
||||
$this->user = $user;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -63,4 +70,12 @@ class Client extends BaseClient
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return User
|
||||
*/
|
||||
public function getUser()
|
||||
{
|
||||
return $this->user;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user