Except if the referer points to a permalink (which has been deleted).
Fixes #1622
return $response->write('<script>self.close();</script>');
}
return $response->write('<script>self.close();</script>');
}
- // Don't redirect to where we were previously because the datastore has changed.
- return $this->redirect($response, '/');
+ // Don't redirect to permalink after deletion.
+ return $this->redirectFromReferer($request, $response, ['shaare/']);
{
$parameters = ['id' => '123'];
{
$parameters = ['id' => '123'];
+ $this->container->environment['HTTP_REFERER'] = 'http://shaarli/subfolder/shaare/abcdef';
+
$request = $this->createMock(Request::class);
$request
->method('getParam')
$request = $this->createMock(Request::class);
$request
->method('getParam')
{
$parameters = ['id' => '123 456 789'];
{
$parameters = ['id' => '123 456 789'];
+ $this->container->environment['HTTP_REFERER'] = 'http://shaarli/subfolder/?searchtags=abcdef';
+
$request = $this->createMock(Request::class);
$request
->method('getParam')
$request = $this->createMock(Request::class);
$request
->method('getParam')
$result = $this->controller->deleteBookmark($request, $response);
static::assertSame(302, $result->getStatusCode());
$result = $this->controller->deleteBookmark($request, $response);
static::assertSame(302, $result->getStatusCode());
- static::assertSame(['/subfolder/'], $result->getHeader('location'));
+ static::assertSame(['/subfolder/?searchtags=abcdef'], $result->getHeader('location'));