]> BookStack Code Mirror - bookstack/commitdiff
Fixed some bugs and added a proper home page
authorDan Brown <redacted>
Sun, 16 Aug 2015 19:11:21 +0000 (20:11 +0100)
committerDan Brown <redacted>
Sun, 16 Aug 2015 19:11:21 +0000 (20:11 +0100)
13 files changed:
app/Http/Controllers/HomeController.php [new file with mode: 0644]
app/Http/routes.php
app/Services/ActivityService.php
bower.json
package.json
resources/assets/sass/styles.scss
resources/lang/en/activities.php
resources/views/base.blade.php
resources/views/books/show.blade.php
resources/views/home.blade.php
resources/views/pages/create.blade.php
resources/views/pages/edit.blade.php
resources/views/partials/activity-list.blade.php

diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php
new file mode 100644 (file)
index 0000000..ad87188
--- /dev/null
@@ -0,0 +1,43 @@
+<?php
+
+namespace Oxbow\Http\Controllers;
+
+use Illuminate\Http\Request;
+
+use Oxbow\Http\Requests;
+use Oxbow\Http\Controllers\Controller;
+use Oxbow\Repos\BookRepo;
+use Oxbow\Services\ActivityService;
+use Oxbow\Services\Facades\Activity;
+
+class HomeController extends Controller
+{
+
+    protected $activityService;
+    protected $bookRepo;
+
+    /**
+     * HomeController constructor.
+     * @param ActivityService $activityService
+     * @param BookRepo $bookRepo
+     */
+    public function __construct(ActivityService $activityService, BookRepo $bookRepo)
+    {
+        $this->activityService = $activityService;
+        $this->bookRepo = $bookRepo;
+    }
+
+
+    /**
+     * Display the homepage.
+     *
+     * @return Response
+     */
+    public function index()
+    {
+        $books = $this->bookRepo->getAll();
+        $activity = $this->activityService->latest();
+        return view('home', ['books' => $books, 'activity' => $activity]);
+    }
+
+}
index ecda757932800bad4d8c76420406bb7711dfb4ad..a6cda78e6dbc0d4cbbd872c227d57b907defb041 100644 (file)
@@ -79,12 +79,9 @@ Route::group(['middleware' => 'auth'], function() {
     // Search
     Route::get('/pages/search/all', 'PageController@searchAll');
 
-    Route::get('/', function () {
-        return view('home');
-    });
-    Route::get('/home', function () {
-        return view('home');
-    });
+    // Other Pages
+    Route::get('/', 'HomeController@index');
+    Route::get('/home', 'HomeController@index');
 
 
 });
index 6517230184a91d76e64838502d7dcccf04e90f5e..f0c52758641551a8d4301210fc30769284096827 100644 (file)
@@ -19,7 +19,6 @@ class ActivityService
         $this->user = Auth::user();
     }
 
-
     /**
      * Add activity data to database.
      * @para Entity $entity
@@ -54,4 +53,15 @@ class ActivityService
         $this->activity->save();
     }
 
+    /**
+     * Gets the latest activity.
+     * @param int $count
+     * @param int $page
+     */
+    public function latest($count = 20, $page = 0)
+    {
+        return $this->activity->orderBy('created_at', 'desc')
+            ->skip($count*$page)->take($count)->get();
+    }
+
 }
\ No newline at end of file
index 7798e591a7141ff6bb19918821b57866513c8da8..671b0a1648a33f4ba3105f3d929cbf3902ce8b90 100644 (file)
@@ -18,6 +18,7 @@
     "tinymce-dist": "~4.2.1",
     "bootstrap": "~3.3.5",
     "jquery-sortable": "~0.9.13",
-    "material-design-iconic-font": "~2.1.1"
+    "material-design-iconic-font": "~2.1.1",
+    "vue": "~0.12.10"
   }
 }
index ecbb47b057d44f7de3a1b279f355061f3807af7f..e28a44f232b44b89b214c085727ed05e217a9dcc 100644 (file)
@@ -5,7 +5,7 @@
     "laravel-elixir-livereload": "0.0.3"
   },
   "dependencies": {
-    "laravel-elixir": "^2.0.0",
-    "bootstrap-sass": "^3.0.0"
+    "bootstrap-sass": "^3.0.0",
+    "laravel-elixir": "^2.0.0"
   }
 }
index b967ed94c17ad98b644f507ebed509f2ca7ba908..23e7c900f97d17480ec9a882b1fc9586e06c1a6d 100644 (file)
@@ -46,12 +46,13 @@ header {
 }
 
 .logo-container {
-  padding: $-xl $-s $-l $-s;
+  padding: $-l $-s;
   color: #CCC;
   .logo {
+    display: block;
     font-size: 2em;
     font-weight: bold;
-    margin-bottom: $-m;
+    padding: $-m 0;
   }
   i {
     padding-right: $-s;
@@ -63,11 +64,12 @@ header {
   input {
     width: 100%;
     border-radius: 0;
-    padding: $-s $-m;
+    padding: $-m;
     background-color: rgba(0, 0, 0, 0.1);
     border: none;
     border-top: 1px solid #333;
     border-bottom: 1px solid #333;
+    color: #EEE;
   }
 }
 
index b733eb11b1e630a4bf33643bb3ae5a66cd51c5ce..3f1f8def19f25dd651fdd3af76a4e2e47efd24a5 100644 (file)
@@ -22,5 +22,6 @@ return [
     'book_create' => 'created book',
     'book_update' => 'updated book',
     'book_delete' => 'deleted book',
+    'book_sort'   => 'sorted book',
 
 ];
\ No newline at end of file
index a9f16f9f45b14e8ef9825000ac08ef97d0b2bfdc..e6c601ef3fcb59ee80ce4516f3080068e44ab24e 100644 (file)
@@ -12,7 +12,7 @@
     <script src="/bower/bootstrap/dist/js/bootstrap.js"></script>
     <script src="/bower/jquery-sortable/source/js/jquery-sortable.js"></script>
     <script src="/bower/dropzone/dist/min/dropzone.min.js"></script>
-    <script src="http://cdnjs.cloudflare.com/ajax/libs/vue/0.12.10/vue.min.js"></script>
+    <script src="/bower/vue/dist/vue.min.js"></script>
     <script>
         $.fn.smoothScrollTo = function() {
             if(this.length === 0) return;
@@ -36,9 +36,8 @@
         <header>
             <div class="padded row clearfix">
                 <div class="col-md-12 logo-container">
-                    {{--<div ><img class="logo float left" src="/bookstack.svg" alt="BookStack"></div>--}}
-                    <div class="logo">BookStack</div>
-                    <div><i class="zmdi zmdi-account"></i> {{ \Illuminate\Support\Facades\Auth::user()->name }}</div>
+                    <a href="/" class="logo">BookStack</a>
+                    <div><i class="zmdi zmdi-account"></i> {{ Auth::user()->name }}</div>
                 </div>
             </div>
         </header>
index 06aa37ce97b73527cf88968d921b5b3d8fbccf03..b607e67774def7b7d6bce22dc26ca7e650d82d68 100644 (file)
@@ -65,7 +65,7 @@
         <div class="col-md-3 col-md-offset-1">
             <div class="margin-top large"><br></div>
             <h3>Recent Activity</h3>
-            @include('partials/activity-list', ['entity' => $book])
+            @include('partials/activity-list', ['activity' => $book->recentActivity()])
         </div>
     </div>
 
index f3195b059add681a9026cc09dc8ba6fe8d13b855..13017b4cd51306c32e2ee22687a7df4c81929f15 100644 (file)
@@ -1,15 +1,25 @@
 @extends('base')
 
 @section('content')
-    <div id="container"></div>
-@stop
 
+    <div class="row">
+        <div class="col-md-6 col-md-offset-1">
+            <div class="page-content">
+                <h2>Books</h2>
+                @foreach($books as $book)
+                    <div class="book">
+                        <h3><a href="{{$book->getUrl()}}">{{$book->name}}</a></h3>
+                        <p class="text-muted">{{$book->description}}</p>
+                    </div>
+                    <hr>
+                @endforeach
+            </div>
+        </div>
+        <div class="col-md-3 col-md-offset-1">
+            <div class="margin-top large">&nbsp;</div>
+            <h3>Recent Activity</h3>
+            @include('partials/activity-list', ['activity' => $activity])
+        </div>
+    </div>
 
-@section('bottom')
-    @include('pages/image-manager')
-    <div id="image-manager-container"></div>
-    <script src="/js/image-manager.js"></script>
-    <script>
-        window.ImageManager.show();
-    </script>
 @stop
\ No newline at end of file
index f7b6f92e9cf23460219f0cb92a5e49c608060888..4d1443fcae7e54442a4fc424a363a8066223424d 100644 (file)
@@ -2,8 +2,6 @@
 
 @section('head')
     <script src="/bower/tinymce-dist/tinymce.jquery.min.js"></script>
-    <script src="/bower/dropzone/dist/min/dropzone.min.js"></script>
-    <script src="/js/image-manager.js"></script>
 @stop
 
 @section('content')
@@ -17,4 +15,5 @@
 
 @section('bottom')
     @include('pages/image-manager')
+    <script src="/js/image-manager.js"></script>
 @stop
\ No newline at end of file
index 4213447746d94da474f955a99f07bd7622e3e2b9..987456e34639cdfcd4f1941bd905b20a1b615bd8 100644 (file)
@@ -15,6 +15,5 @@
 
 @section('bottom')
     @include('pages/image-manager')
-    <div id="image-manager-container"></div>
     <script src="/js/image-manager.js"></script>
 @stop
\ No newline at end of file
index fb8f4b8d3230bc1e0c44689f43a37df05d9b376d..11d0d17ea3a276bc0782c0b83bb357154f717dcd 100644 (file)
@@ -1,11 +1,11 @@
 
 {{--Requires an entity to be passed with the name $entity--}}
 
-@if(count($entity->recentActivity()) > 0)
+@if(count($activity) > 0)
     <div class="activity-list">
-        @foreach($entity->recentActivity() as $activity)
+        @foreach($activity as $activityItem)
             <div class="activity-list-item">
-                @include('partials/activity-item')
+                @include('partials/activity-item', ['activity' => $activityItem])
             </div>
         @endforeach
     </div>