]> BookStack Code Mirror - bookstack/commitdiff
Added custom head content to exports
authorDan Brown <redacted>
Sat, 22 Sep 2018 10:53:40 +0000 (11:53 +0100)
committerDan Brown <redacted>
Sat, 22 Sep 2018 10:53:40 +0000 (11:53 +0100)
Closes #981

Also fixed incorrect download tests.

resources/views/base.blade.php
resources/views/books/export.blade.php
resources/views/chapters/export.blade.php
resources/views/pages/export.blade.php
resources/views/partials/custom-head.blade.php [new file with mode: 0644]
tests/Entity/ExportTest.php

index 016f8e833e08cbbc9e9843e6a8684269c9bb5267..e6d0b776101f2773ee254883000ff990f129e796 100644 (file)
 
     @include('partials/custom-styles')
 
-    @if(setting('app-custom-head') && \Route::currentRouteName() !== 'settings')
-        <!-- Custom user content -->
-        {!! setting('app-custom-head') !!}
-        <!-- End custom user content -->
-    @endif
+    @include('partials.custom-head')
 </head>
 <body class="@yield('body-class')" ng-app="bookStack">
 
index 462ad7991a4bab5fddd24cb7e6593238f18fad7b..18440a74da82b8ecfc47e78f3e806cb8369f61ab 100644 (file)
@@ -28,6 +28,7 @@
         }
     </style>
     @yield('head')
+    @include('partials.custom-head')
 </head>
 <body>
 <div class="container">
index 2c15fbd57d11d54bace8a135f1cff3c46e350bf7..8f710c0ecbdbd01e3f0b014e618a773d3bf508dd 100644 (file)
@@ -21,6 +21,7 @@
         }
     </style>
     @yield('head')
+    @include('partials.custom-head')
 </head>
 <body>
 <div class="container">
index 8ed5b391ab8e8aa42dcc83c43395b911a8ee9387..ca708f8e0c99e17bd9854ba5201c52bd75c46597 100644 (file)
@@ -10,6 +10,7 @@
         @endif
     </style>
     @yield('head')
+    @include('partials.custom-head')
 </head>
 <body>
 <div class="container" id="page-show">
diff --git a/resources/views/partials/custom-head.blade.php b/resources/views/partials/custom-head.blade.php
new file mode 100644 (file)
index 0000000..dd7cc41
--- /dev/null
@@ -0,0 +1,5 @@
+@if(setting('app-custom-head') && \Route::currentRouteName() !== 'settings')
+    <!-- Custom user content -->
+    {!! setting('app-custom-head') !!}
+    <!-- End custom user content -->
+@endif
\ No newline at end of file
index 7fa485f2052ffb0214a737abd51c8b9788fbf8e2..5fff84b8dfaa79dadc6efec5ff4202ca6f9a97c3 100644 (file)
@@ -15,7 +15,7 @@ class ExportTest extends TestCase
         $resp = $this->get($page->getUrl('/export/plaintext'));
         $resp->assertStatus(200);
         $resp->assertSee($page->name);
-        $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $page->slug . '.txt');
+        $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $page->slug . '.txt"');
     }
 
     public function test_page_pdf_export()
@@ -25,7 +25,7 @@ class ExportTest extends TestCase
 
         $resp = $this->get($page->getUrl('/export/pdf'));
         $resp->assertStatus(200);
-        $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $page->slug . '.pdf');
+        $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $page->slug . '.pdf"');
     }
 
     public function test_page_html_export()
@@ -36,7 +36,7 @@ class ExportTest extends TestCase
         $resp = $this->get($page->getUrl('/export/html'));
         $resp->assertStatus(200);
         $resp->assertSee($page->name);
-        $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $page->slug . '.html');
+        $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $page->slug . '.html"');
     }
 
     public function test_book_text_export()
@@ -49,7 +49,7 @@ class ExportTest extends TestCase
         $resp->assertStatus(200);
         $resp->assertSee($book->name);
         $resp->assertSee($page->name);
-        $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $book->slug . '.txt');
+        $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $book->slug . '.txt"');
     }
 
     public function test_book_pdf_export()
@@ -60,7 +60,7 @@ class ExportTest extends TestCase
 
         $resp = $this->get($book->getUrl('/export/pdf'));
         $resp->assertStatus(200);
-        $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $book->slug . '.pdf');
+        $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $book->slug . '.pdf"');
     }
 
     public function test_book_html_export()
@@ -73,7 +73,7 @@ class ExportTest extends TestCase
         $resp->assertStatus(200);
         $resp->assertSee($book->name);
         $resp->assertSee($page->name);
-        $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $book->slug . '.html');
+        $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $book->slug . '.html"');
     }
 
     public function test_chapter_text_export()
@@ -86,7 +86,7 @@ class ExportTest extends TestCase
         $resp->assertStatus(200);
         $resp->assertSee($chapter->name);
         $resp->assertSee($page->name);
-        $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $chapter->slug . '.txt');
+        $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $chapter->slug . '.txt"');
     }
 
     public function test_chapter_pdf_export()
@@ -96,7 +96,7 @@ class ExportTest extends TestCase
 
         $resp = $this->get($chapter->getUrl('/export/pdf'));
         $resp->assertStatus(200);
-        $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $chapter->slug . '.pdf');
+        $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $chapter->slug . '.pdf"');
     }
 
     public function test_chapter_html_export()
@@ -109,7 +109,18 @@ class ExportTest extends TestCase
         $resp->assertStatus(200);
         $resp->assertSee($chapter->name);
         $resp->assertSee($page->name);
-        $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $chapter->slug . '.html');
+        $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $chapter->slug . '.html"');
+    }
+
+    public function test_page_html_export_contains_custom_head_if_set()
+    {
+        $page = Page::first();
+
+        $customHeadContent = "<style>p{color: red;}</style>";
+        $this->setSettings(['app-custom-head' => $customHeadContent]);
+
+        $resp = $this->asEditor()->get($page->getUrl('/export/html'));
+        $resp->assertSee($customHeadContent);
     }
 
 }
\ No newline at end of file