]> BookStack Code Mirror - bookstack/commitdiff
Merge branch 'master' into translations 234/head
authorDan Brown <redacted>
Sat, 31 Dec 2016 14:32:52 +0000 (14:32 +0000)
committerGitHub <redacted>
Sat, 31 Dec 2016 14:32:52 +0000 (14:32 +0000)
1  2 
app/Http/Controllers/Auth/RegisterController.php
resources/assets/sass/_lists.scss
resources/views/pages/show.blade.php
resources/views/pages/sidebar-tree-list.blade.php
routes/web.php

index 4bf4c0178067e92e74e2f0c146447cd1d5de18af,d9bb500b448cdbfa230c614b414a7b8f5332f247..8b0ef309aeba8c61d156a4fd0692dbc94e2ba712
@@@ -3,7 -3,6 +3,7 @@@
  namespace BookStack\Http\Controllers\Auth;
  
  use BookStack\Exceptions\ConfirmationEmailException;
 +use BookStack\Exceptions\SocialSignInException;
  use BookStack\Exceptions\UserRegistrationException;
  use BookStack\Repos\UserRepo;
  use BookStack\Services\EmailConfirmationService;
@@@ -52,7 -51,7 +52,7 @@@ class RegisterController extends Contro
       */
      public function __construct(SocialAuthService $socialAuthService, EmailConfirmationService $emailConfirmationService, UserRepo $userRepo)
      {
-         $this->middleware('guest');
+         $this->middleware('guest')->except(['socialCallback', 'detachSocialAccount']);
          $this->socialAuthService = $socialAuthService;
          $this->emailConfirmationService = $emailConfirmationService;
          $this->userRepo = $userRepo;
@@@ -83,7 -82,7 +83,7 @@@
      protected function checkRegistrationAllowed()
      {
          if (!setting('registration-enabled')) {
 -            throw new UserRegistrationException('Registrations are currently disabled.', '/login');
 +            throw new UserRegistrationException(trans('auth.registrations_disabled'), '/login');
          }
      }
  
              $restrictedEmailDomains = explode(',', str_replace(' ', '', setting('registration-restrict')));
              $userEmailDomain = $domain = substr(strrchr($userData['email'], "@"), 1);
              if (!in_array($userEmailDomain, $restrictedEmailDomains)) {
 -                throw new UserRegistrationException('That email domain does not have access to this application', '/register');
 +                throw new UserRegistrationException(trans('auth.registration_email_domain_invalid'), '/register');
              }
          }
  
          }
  
          auth()->login($newUser);
 -        session()->flash('success', 'Thanks for signing up! You are now registered and signed in.');
 +        session()->flash('success', trans('auth.register_success'));
          return redirect($this->redirectPath());
      }
  
                  return $this->socialRegisterCallback($socialDriver);
              }
          } else {
 -            throw new SocialSignInException('No action defined', '/login');
 +            throw new SocialSignInException(trans('errors.social_no_action_defined'), '/login');
          }
          return redirect()->back();
      }
          return $this->registerUser($userData, $socialAccount);
      }
  
  }
index d88db2ec2f20ce072bec2b32b660268a0673426d,e98e5bfcdf7bd27a4050a123bdf5636659004381..6acc4746881a6d669d5f867e7cec1b2da8bbf7da
    border-left: 0px solid #FFF;
    background-color: #FFF;
    &.fixed {
+     background-color: #FFF;
+     z-index: 5;
      position: fixed;
      top: 0;
      padding-left: $-l;
@@@ -320,9 -322,6 +322,9 @@@ ul.pagination 
      font-size: 0.75em;
      margin-top: $-xs;
    }
 +  .text-muted p.text-muted {
 +    margin-top: 0;
 +  }
    .page.draft .text-page {
      color: $color-page-draft;
    }
index e54dacb428c8a4845d35033c91f887b909f91010,50c6f5d2c2eb4da7bdf90d9649a756551546971c..a734b1b9526bb75525fbc0d71e5c148c71637824
@@@ -6,34 -6,43 +6,34 @@@
          <div class="container">
              <div class="row">
                  <div class="col-sm-6 faded">
 -                    <div class="breadcrumbs">
 -                        <a href="{{ $book->getUrl() }}" class="text-book text-button"><i class="zmdi zmdi-book"></i>{{ $book->getShortName() }}</a>
 -                        @if($page->hasChapter())
 -                            <span class="sep">&raquo;</span>
 -                            <a href="{{ $page->chapter->getUrl() }}" class="text-chapter text-button">
 -                                <i class="zmdi zmdi-collection-bookmark"></i>
 -                                {{ $page->chapter->getShortName() }}
 -                            </a>
 -                        @endif
 -                    </div>
 +                    @include('pages._breadcrumbs', ['page' => $page])
                  </div>
                  <div class="col-sm-6 faded">
                      <div class="action-buttons">
                          <span dropdown class="dropdown-container">
 -                            <div dropdown-toggle class="text-button text-primary"><i class="zmdi zmdi-open-in-new"></i>Export</div>
 +                            <div dropdown-toggle class="text-button text-primary"><i class="zmdi zmdi-open-in-new"></i>{{ trans('entities.pages_export') }}</div>
                              <ul class="wide">
 -                                <li><a href="{{ $page->getUrl('/export/html') }}" target="_blank">Contained Web File <span class="text-muted float right">.html</span></a></li>
 -                                <li><a href="{{ $page->getUrl('/export/pdf') }}" target="_blank">PDF File <span class="text-muted float right">.pdf</span></a></li>
 -                                <li><a href="{{ $page->getUrl('/export/plaintext') }}" target="_blank">Plain Text File <span class="text-muted float right">.txt</span></a></li>
 +                                <li><a href="{{ $page->getUrl('/export/html') }}" target="_blank">{{ trans('entities.pages_export_html') }} <span class="text-muted float right">.html</span></a></li>
 +                                <li><a href="{{ $page->getUrl('/export/pdf') }}" target="_blank">{{ trans('entities.pages_export_pdf') }} <span class="text-muted float right">.pdf</span></a></li>
 +                                <li><a href="{{ $page->getUrl('/export/plaintext') }}" target="_blank">{{ trans('entities.pages_export_text') }} <span class="text-muted float right">.txt</span></a></li>
                              </ul>
                          </span>
                          @if(userCan('page-update', $page))
 -                            <a href="{{ $page->getUrl('/edit') }}" class="text-primary text-button" ><i class="zmdi zmdi-edit"></i>Edit</a>
 +                            <a href="{{ $page->getUrl('/edit') }}" class="text-primary text-button" ><i class="zmdi zmdi-edit"></i>{{ trans('common.edit') }}</a>
                          @endif
                          @if(userCan('page-update', $page) || userCan('restrictions-manage', $page) || userCan('page-delete', $page))
                              <div dropdown class="dropdown-container">
                                  <a dropdown-toggle class="text-primary text-button"><i class="zmdi zmdi-more-vert"></i></a>
                                  <ul>
                                      @if(userCan('page-update', $page))
 -                                        <li><a href="{{ $page->getUrl('/move') }}" class="text-primary" ><i class="zmdi zmdi-folder"></i>Move</a></li>
 -                                        <li><a href="{{ $page->getUrl('/revisions') }}" class="text-primary"><i class="zmdi zmdi-replay"></i>Revisions</a></li>
 +                                        <li><a href="{{ $page->getUrl('/move') }}" class="text-primary" ><i class="zmdi zmdi-folder"></i>{{ trans('common.move') }}</a></li>
 +                                        <li><a href="{{ $page->getUrl('/revisions') }}" class="text-primary"><i class="zmdi zmdi-replay"></i>{{ trans('entities.revisions') }}</a></li>
                                      @endif
                                      @if(userCan('restrictions-manage', $page))
 -                                        <li><a href="{{ $page->getUrl('/permissions') }}" class="text-primary"><i class="zmdi zmdi-lock-outline"></i>Permissions</a></li>
 +                                        <li><a href="{{ $page->getUrl('/permissions') }}" class="text-primary"><i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.permissions') }}</a></li>
                                      @endif
                                      @if(userCan('page-delete', $page))
 -                                        <li><a href="{{ $page->getUrl('/delete') }}" class="text-neg"><i class="zmdi zmdi-delete"></i>Delete</a></li>
 +                                        <li><a href="{{ $page->getUrl('/delete') }}" class="text-neg"><i class="zmdi zmdi-delete"></i>{{ trans('common.delete') }}</a></li>
                                      @endif
                                  </ul>
                              </div>
@@@ -55,7 -64,7 +55,7 @@@
                          <div class="pointer anim">
                              <i class="zmdi zmdi-link"></i>
                              <input readonly="readonly" type="text" placeholder="url">
 -                            <button class="button icon" title="Copy Link" data-clipboard-text=""><i class="zmdi zmdi-copy"></i></button>
 +                            <button class="button icon" title="{{ trans('entities.pages_copy_link') }}" data-clipboard-text=""><i class="zmdi zmdi-copy"></i></button>
                          </div>
                      </div>
  
  
                      <hr>
  
 -                    <p class="text-muted small">
 -                        Created {{ $page->created_at->diffForHumans() }} @if($page->createdBy) by <a href="{{ $page->createdBy->getProfileUrl() }}">{{$page->createdBy->name}}</a> @endif
 -                        <br>
 -                        Last Updated {{ $page->updated_at->diffForHumans() }} @if($page->updatedBy) by <a href="{{ $page->updatedBy->getProfileUrl() }}">{{$page->updatedBy->name}}</a> @endif
 -                    </p>
 +                    @include('partials.entity-meta', ['entity' => $page])
  
                  </div>
              </div>
  
                          @if($book->restricted)
                              @if(userCan('restrictions-manage', $book))
 -                                <a href="{{ $book->getUrl('/permissions') }}"><i class="zmdi zmdi-lock-outline"></i>Book Permissions Active</a>
 +                                <a href="{{ $book->getUrl('/permissions') }}"><i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.books_permissions_active') }}</a>
                              @else
 -                                <i class="zmdi zmdi-lock-outline"></i>Book Permissions Active
 +                                <i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.books_permissions_active') }}
                              @endif
                              <br>
                          @endif
  
                          @if($page->chapter && $page->chapter->restricted)
                              @if(userCan('restrictions-manage', $page->chapter))
 -                                <a href="{{ $page->chapter->getUrl('/permissions') }}"><i class="zmdi zmdi-lock-outline"></i>Chapter Permissions Active</a>
 +                                <a href="{{ $page->chapter->getUrl('/permissions') }}"><i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.chapters_permissions_active') }}</a>
                              @else
 -                                <i class="zmdi zmdi-lock-outline"></i>Chapter Permissions Active
 +                                <i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.chapters_permissions_active') }}
                              @endif
                              <br>
                          @endif
  
                          @if($page->restricted)
                              @if(userCan('restrictions-manage', $page))
 -                                <a href="{{ $page->getUrl('/permissions') }}"><i class="zmdi zmdi-lock-outline"></i>Page Permissions Active</a>
 +                                <a href="{{ $page->getUrl('/permissions') }}"><i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.pages_permissions_active') }}</a>
                              @else
 -                                <i class="zmdi zmdi-lock-outline"></i>Page Permissions Active
 +                                <i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.pages_permissions_active') }}
                              @endif
                              <br>
                          @endif
                      </div>
                  @endif
  
                  @include('pages/sidebar-tree-list', ['book' => $book, 'sidebarTree' => $sidebarTree, 'pageNav' => $pageNav])
              </div>
  
index 74ce6c34dc4b59b61d27f349630c3d7cc07aa8c9,5309cb7748aa452f0651a7a03ae0332100f78cdf..87eebed493a038b35dfe67f2be9f97ccf2c7d0f7
@@@ -1,17 -1,33 +1,33 @@@
  
  <div class="book-tree" ng-non-bindable>
  
+     @if(isset($page) && $page->tags->count() > 0)
+         <div class="tag-display">
+             <h6 class="text-muted">Page Tags</h6>
+             <table>
+                 <tbody>
+                 @foreach($page->tags as $tag)
+                     <tr class="tag">
+                         <td @if(!$tag->value) colspan="2" @endif><a href="{{ baseUrl('/search/all?term=%5B' . urlencode($tag->name) .'%5D') }}">{{ $tag->name }}</a></td>
+                         @if($tag->value) <td class="tag-value"><a href="{{ baseUrl('/search/all?term=%5B' . urlencode($tag->name) .'%3D' . urlencode($tag->value) . '%5D') }}">{{$tag->value}}</a></td> @endif
+                     </tr>
+                 @endforeach
+                 </tbody>
+             </table>
+         </div>
+     @endif
      @if (isset($page) && $page->attachments->count() > 0)
 -        <h6 class="text-muted">Attachments</h6>
 +        <h6 class="text-muted">{{ trans('entities.pages_attachments') }}</h6>
          @foreach($page->attachments as $attachment)
              <div class="attachment">
 -                <a href="{{ $attachment->getUrl() }}" @if($attachment->external) target="_blank" @endif><i class="zmdi zmdi-{{ $attachment->external ? 'open-in-new' : 'file' }}"></i> {{ $attachment->name }}</a>
 +                <a href="{{ $attachment->getUrl() }}" @if($attachment->external) target="_blank" @endif><i class="zmdi zmdi-{{ $attachment->external ? 'open-in-new' : 'file' }}"></i>{{ $attachment->name }}</a>
              </div>
          @endforeach
      @endif
  
      @if (isset($pageNav) && $pageNav)
 -        <h6 class="text-muted">Page Navigation</h6>
 +        <h6 class="text-muted">{{ trans('entities.pages_navigation') }}</h6>
          <div class="sidebar-page-nav menu">
              @foreach($pageNav as $navItem)
                  <li class="page-nav-item {{ $navItem['nodeName'] }}">
@@@ -21,7 -37,7 +37,7 @@@
          </div>
      @endif
  
 -    <h6 class="text-muted">Book Navigation</h6>
 +    <h6 class="text-muted">{{ trans('entities.books_navigation') }}</h6>
      <ul class="sidebar-page-list menu">
          <li class="book-header"><a href="{{ $book->getUrl() }}" class="book {{ $current->matches($book)? 'selected' : '' }}"><i class="zmdi zmdi-book"></i>{{$book->name}}</a></li>
  
@@@ -34,7 -50,7 +50,7 @@@
  
                  @if($bookChild->isA('chapter') && count($bookChild->pages) > 0)
                      <p class="text-muted chapter-toggle @if($bookChild->matchesOrContains($current)) open @endif">
 -                        <i class="zmdi zmdi-caret-right"></i> <i class="zmdi zmdi-file-text"></i> <span>{{ count($bookChild->pages) }} Pages</span>
 +                        <i class="zmdi zmdi-caret-right"></i> <i class="zmdi zmdi-file-text"></i> <span>{{ trans('entities.x_pages', ['count' => $bookChild->pages->count()]) }}</span>
                      </p>
                      <ul class="menu sub-menu inset-list @if($bookChild->matchesOrContains($current)) open @endif">
                          @foreach($bookChild->pages as $childPage)
diff --combined routes/web.php
index 3b311d3f80287f155b92e9edaa6f965a168cacc6,d179c28a52d2671a8a36b9ff437e1ed4e3d843a5..076ffb94f133e648a0298a4e9e588ea3634aba95
@@@ -1,7 -1,5 +1,7 @@@
  <?php
  
 +Route::get('/translations.js', 'HomeController@getTranslations');
 +
  // Authenticated routes...
  Route::group(['middleware' => 'auth'], function () {
  
          Route::get('/get/{entityType}/{entityId}', 'TagController@getForEntity');
          Route::get('/suggest/names', 'TagController@getNameSuggestions');
          Route::get('/suggest/values', 'TagController@getValueSuggestions');
 -        Route::post('/update/{entityType}/{entityId}', 'TagController@updateForEntity');
      });
  
      Route::get('/ajax/search/entities', 'SearchController@searchEntitiesAjax');
  });
  
  // Social auth routes
- Route::get('/login/service/{socialDriver}', 'Auth\RegisterController@getSocialLogin');
+ Route::get('/login/service/{socialDriver}', 'Auth\LoginController@getSocialLogin');
  Route::get('/login/service/{socialDriver}/callback', 'Auth\RegisterController@socialCallback');
  Route::get('/login/service/{socialDriver}/detach', 'Auth\RegisterController@detachSocialAccount');
  Route::get('/register/service/{socialDriver}', 'Auth\RegisterController@socialRegister');