]> BookStack Code Mirror - bookstack/commitdiff
Adds tests and few fixes.
authorAbijeet <redacted>
Sat, 15 Sep 2018 15:35:51 +0000 (21:05 +0530)
committerAbijeet <redacted>
Sat, 15 Sep 2018 15:35:51 +0000 (21:05 +0530)
Signed-off-by: Abijeet <redacted>
17 files changed:
app/Http/Controllers/PageController.php
resources/lang/de/entities.php
resources/lang/en/entities.php
resources/lang/es/entities.php
resources/lang/es_AR/entities.php
resources/lang/fr/entities.php
resources/lang/it/entities.php
resources/lang/ja/entities.php
resources/lang/nl/entities.php
resources/lang/pl/entities.php
resources/lang/pt_BR/entities.php
resources/lang/ru/entities.php
resources/lang/sk/entities.php
resources/lang/sv/entities.php
resources/lang/zh_CN/entities.php
resources/lang/zh_TW/entities.php
tests/Entity/PageRevisionTest.php

index 2ca991620d667900a479a2052aaa1ebb36fea78f..4cfd4c8328a7e39b8339a4dee5e3808643b468c2 100644 (file)
@@ -2,7 +2,6 @@
 
 use Activity;
 use BookStack\Exceptions\NotFoundException;
-use BookStack\Exceptions\BadRequestException;
 use BookStack\Repos\EntityRepo;
 use BookStack\Repos\UserRepo;
 use BookStack\Services\ExportService;
@@ -480,7 +479,8 @@ class PageController extends Controller
 
         // Check if its the latest revision, cannot delete latest revision.
         if (intval($current->id) === intval($revId)) {
-            throw new BadRequestException("Cannot delete the current revision #{$revId}");
+            session()->flash('error', trans('entities.revision_cannot_delete_latest'));
+            return view('pages/revisions', ['page' => $page, 'book' => $page->book, 'current' => $page]);
         }
 
         $revision->delete();
index 22b824c514d75c9478fcfe2ed7e74ec2ace8db02..7c27be17b175c029aac83edc20d1c5818e2878c5 100644 (file)
@@ -261,5 +261,6 @@ return [
      * Revision
      */
     'revision_delete_confirm' => 'Sind Sie sicher, dass Sie diese Revision löschen wollen?',
-    'revision_delete_success' => 'Revision gelöscht'
+    'revision_delete_success' => 'Revision gelöscht',
+    'revision_cannot_delete_latest' => 'Die letzte Version kann nicht gelöscht werden.'
 ];
index d730740ea406da5159a3d5d7d8a4488e59f8826f..72d47bc017b7522e38f16b9c3d288c81c6974116 100644 (file)
@@ -271,5 +271,6 @@ return [
      * Revision
      */
     'revision_delete_confirm' => 'Are you sure you want to delete this revision?',
-    'revision_delete_success' => 'Revision deleted'
+    'revision_delete_success' => 'Revision deleted',
+    'revision_cannot_delete_latest' => 'Cannot delete the latest revision.'
 ];
\ No newline at end of file
index 1c80392720b70ee8666d4217c1aac31bbb7a6a90..a84d72fffe689bd0c44e7a24b5c0679e02c96a29 100644 (file)
@@ -270,5 +270,6 @@ return [
      * Revision
      */
     'revision_delete_confirm' => '¿Está seguro de que desea eliminar esta revisión?',
-    'revision_delete_success' => 'Revisión eliminada'
+    'revision_delete_success' => 'Revisión eliminada',
+    'revision_cannot_delete_latest' => 'No se puede eliminar la última revisión.'
 ];
index a7f79dfe6be424e9fdec5b478e4dcccd3bcbf9e2..91d156e53452cd018c2af0253561044031fc7b9d 100644 (file)
@@ -270,5 +270,6 @@ return [
      * Revision
      */
     'revision_delete_confirm' => 'Are you sure you want to delete this revision?',
-    'revision_delete_success' => 'Revisión eliminada'
+    'revision_delete_success' => 'Revisión eliminada',
+    'revision_cannot_delete_latest' => 'No se puede eliminar la última revisión.'
 ];
index 9ca181b03834df514d4537c66531f93195901449..deee70ee44c745ecd12a64b3a7bf3f8815bb2d0c 100644 (file)
@@ -270,5 +270,6 @@ return [
      * Revision
      */
     'revision_delete_confirm' => 'Êtes-vous sûr de vouloir supprimer cette révision?',
-    'revision_delete_success' => 'Révision supprimée'
+    'revision_delete_success' => 'Révision supprimée',
+    'revision_cannot_delete_latest' => 'Impossible de supprimer la dernière révision.'
 ];
\ No newline at end of file
index 4a28972e612954846c58d9b81940077dae25a8d1..ad1733b9161f7262cb6a453880a6517586e49ff2 100755 (executable)
@@ -265,5 +265,6 @@ return [
      * Revision
      */
     'revision_delete_confirm' => 'Sei sicuro di voler eliminare questa revisione?',
-    'revision_delete_success' => 'Revisione cancellata'
+    'revision_delete_success' => 'Revisione cancellata',
+    'revision_cannot_delete_latest' => 'Impossibile eliminare l\'ultima revisione.'
 ];
\ No newline at end of file
index c7df3201e0f2a16038a2c3e4687c6ec60d78b319..f177154f442ff37d8bfed961dc09952c625fcb0f 100644 (file)
@@ -262,5 +262,6 @@ return [
      * Revision
      */
     'revision_delete_confirm' => 'このリビジョンを削除しますか?',
-    'revision_delete_success' => 'リビジョンを削除しました'
+    'revision_delete_success' => 'リビジョンを削除しました',
+    'revision_cannot_delete_latest' => '最新のリビジョンを削除できません。'
 ];
index 043dfe321e3c4771552b3d04a2515ee2825cdeb2..29bb11a37849e0dca529b56c5555ba3761fb01b8 100644 (file)
@@ -264,5 +264,6 @@ return [
      * Revision
      */
     'revision_delete_confirm' => 'Weet u zeker dat u deze revisie wilt verwijderen?',
-    'revision_delete_success' => 'Revisie verwijderd'
+    'revision_delete_success' => 'Revisie verwijderd',
+    'revision_cannot_delete_latest' => 'Kan de laatste revisie niet verwijderen.'
 ];
index e84054181bdb0baecdb5e8451672391880ac0456..8b53591f6181693cd67740f728697b2e62d636a5 100644 (file)
@@ -262,5 +262,6 @@ return [
      * Revision
      */
     'revision_delete_confirm' => 'Czy na pewno chcesz usunąć tę wersję?',
-    'revision_delete_success' => 'Usunięto wersję'
+    'revision_delete_success' => 'Usunięto wersję',
+    'revision_cannot_delete_latest' => 'Nie można usunąć najnowszej wersji.'
 ];
\ No newline at end of file
index 9eeb8201dd67e21e16c996934d4f29ebfc99e745..d93b9dff9c90aa81b1898bebf20e173e16387761 100644 (file)
@@ -263,5 +263,6 @@ return [
      * Revision
      */
     'revision_delete_confirm' => 'Tem certeza de que deseja excluir esta revisão?',
-    'revision_delete_success' => 'Revisão excluída'
+    'revision_delete_success' => 'Revisão excluída',
+    'revision_cannot_delete_latest' => 'Não é possível excluir a revisão mais recente.'
 ];
\ No newline at end of file
index ef2caad40d1cb10b7299d695629a8ab7a49ef544..9c3517bebe51f697ef9d5c21ce751a7b413ae685 100644 (file)
@@ -263,5 +263,6 @@ return [
      * Revision
      */
     'revision_delete_confirm' => 'Вы действительно хотите удалить эту ревизию?',
-    'revision_delete_success' => 'Редактирование удалено'
+    'revision_delete_success' => 'Редактирование удалено',
+    'revision_cannot_delete_latest' => 'Не удается удалить последнюю версию.'
 ];
\ No newline at end of file
index 4f07440123fe840cbc8a638bb07df00d76c6a42f..7fbbaf2e2676ed0c0b62477ca8c05cdb02a3aefd 100644 (file)
@@ -237,5 +237,6 @@ return [
      * Revision
      */
     'revision_delete_confirm' => 'Naozaj chcete túto revíziu odstrániť?',
-    'revision_delete_success' => 'Revízia bola vymazaná'
+    'revision_delete_success' => 'Revízia bola vymazaná',
+    'revision_cannot_delete_latest' => 'Nie je možné vymazať poslednú revíziu.'
 ];
index 0f515fc5036426b33bebdb47eec699b934cc4803..8c09bd37709708282429c1dc49552ffecd297c47 100644 (file)
@@ -270,5 +270,6 @@ return [
      * Revision
      */
     'revision_delete_confirm' => 'Är du säker på att du vill radera den här versionen?',
-    'revision_delete_success' => 'Revisionen raderad'
+    'revision_delete_success' => 'Revisionen raderad',
+    'revision_cannot_delete_latest' => 'Det går inte att ta bort den senaste versionen.'
 ];
\ No newline at end of file
index 5e3b360a678be0afbb1d29ecb41bbfd05633d74c..734a47a5a7064598828d60dafbef7432e203d9f9 100644 (file)
@@ -262,5 +262,7 @@ return [
     /**
      * Revision
      */
-    'revision_delete_confirm' => '您确定要删除此修订版吗?'
+    'revision_delete_confirm' => '您确定要删除此修订版吗?',
+    'revision_delete_success' => '修订删除',
+    'revision_cannot_delete_latest' => '无法删除最新版本。'
 ];
index f37d786b6c9c6a336f79d6f65d7e66b87915f56e..1c4d526fd7edb3603f5c0d9595a9f1e7b00333bd 100644 (file)
@@ -264,5 +264,6 @@ return [
      * Revision
      */
     'revision_delete_confirm' => '您確定要刪除此修訂版嗎?',
-    'revision_delete_success' => '修訂刪除'
+    'revision_delete_success' => '修訂刪除',
+    'revision_cannot_delete_latest' => '無法刪除最新版本。'
 ];
index beebc7adf4e9682667fa9044a73e3579f4ba70e5..dd2b77255467d00cc031f8ad4e4341609580ae89 100644 (file)
@@ -11,7 +11,6 @@ class PageRevisionTest extends TestCase
     {
         $page = Page::first();
         $startCount = $page->revision_count;
-
         $resp = $this->asEditor()->put($page->getUrl(), ['name' => 'Updated page', 'html' => 'new page html', 'summary' => 'Update a']);
         $resp->assertStatus(302);
 
@@ -29,4 +28,26 @@ class PageRevisionTest extends TestCase
         $pageView->assertSee('Revision #' . $page->revision_count);
     }
 
+    public function test_revision_deletion() {
+        $page = Page::first();
+        $this->asEditor()->put($page->getUrl(), ['name' => 'Updated page', 'html' => 'new page html', 'summary' => 'Update a']);
+        $this->asEditor()->put($page->getUrl(), ['name' => 'Updated page', 'html' => 'new page html', 'summary' => 'Update a']);
+        $page = Page::find($page->id);
+        $beforeRevisionCount = $page->revisions->count();
+
+        // Delete the first revision
+        $revision = $page->revisions->get(0);
+        $resp = $this->asEditor()->delete($revision->getUrl('/delete/'));
+        $resp->assertStatus(200);
+
+        $page = Page::find($page->id);
+        $afterRevisionCount = $page->revisions->count();
+
+        $this->assertTrue($beforeRevisionCount === ($afterRevisionCount + 1));
+
+        // Try to delete the latest revision
+        $revision = $page->revisions->get($page->revisions->count() - 1);
+        $resp = $this->asEditor()->delete($revision->getUrl('/delete/'));
+        $resp->assertSee('Cannot delete the latest revision');
+    }
 }
\ No newline at end of file