]> BookStack Code Mirror - bookstack/blob - resources/views/users/edit.blade.php
Merge branch 'tinymce' into development
[bookstack] / resources / views / users / edit.blade.php
1 @extends('layouts.simple')
2
3 @section('body')
4     <div class="container small">
5
6         <div class="py-m">
7             @include('settings.parts.navbar', ['selected' => 'users'])
8         </div>
9
10         <section class="card content-wrap">
11             <h1 class="list-heading">{{ $user->id === user()->id ? trans('settings.users_edit_profile') : trans('settings.users_edit') }}</h1>
12             <form action="{{ url("/settings/users/{$user->id}") }}" method="post" enctype="multipart/form-data">
13                 {!! csrf_field() !!}
14                 <input type="hidden" name="_method" value="PUT">
15
16                 <div class="setting-list">
17                     @include('users.parts.form', ['model' => $user, 'authMethod' => $authMethod])
18
19                     <div class="grid half gap-xl">
20                         <div>
21                             <label for="user-avatar" class="setting-list-label">{{ trans('settings.users_avatar') }}</label>
22                             <p class="small">{{ trans('settings.users_avatar_desc') }}</p>
23                         </div>
24                         <div>
25                             @include('form.image-picker', [
26                                 'resizeHeight' => '512',
27                                 'resizeWidth' => '512',
28                                 'showRemove' => false,
29                                 'defaultImage' => url('/user_avatar.png'),
30                                 'currentImage' => $user->getAvatar(80),
31                                 'currentId' => $user->image_id,
32                                 'name' => 'profile_image',
33                                 'imageClass' => 'avatar large'
34                             ])
35                         </div>
36                     </div>
37
38                     @include('users.parts.language-option-row', ['value' => setting()->getUser($user, 'language', config('app.default_locale'))])
39                 </div>
40
41                 <div class="text-right">
42                     <a href="{{  url(userCan('users-manage') ? "/settings/users" : "/") }}" class="button outline">{{ trans('common.cancel') }}</a>
43                     @if($authMethod !== 'system')
44                         <a href="{{ url("/settings/users/{$user->id}/delete") }}" class="button outline">{{ trans('settings.users_delete') }}</a>
45                     @endif
46                     <button class="button" type="submit">{{ trans('common.save') }}</button>
47                 </div>
48             </form>
49         </section>
50
51         <section class="card content-wrap auto-height">
52             <h2 class="list-heading">{{ trans('settings.users_mfa') }}</h2>
53             <p>{{ trans('settings.users_mfa_desc') }}</p>
54             <div class="grid half gap-xl v-center pb-s">
55                 <div>
56                     @if ($mfaMethods->count() > 0)
57                         <span class="text-pos">@icon('check-circle')</span>
58                     @else
59                         <span class="text-neg">@icon('cancel')</span>
60                     @endif
61                     {{ trans_choice('settings.users_mfa_x_methods', $mfaMethods->count()) }}
62                 </div>
63                 <div class="text-m-right">
64                     @if($user->id === user()->id)
65                         <a href="{{ url('/mfa/setup')  }}" class="button outline">{{ trans('settings.users_mfa_configure') }}</a>
66                     @endif
67                 </div>
68             </div>
69
70         </section>
71
72         @if(user()->id === $user->id && count($activeSocialDrivers) > 0)
73             <section class="card content-wrap auto-height">
74                 <h2 class="list-heading">{{ trans('settings.users_social_accounts') }}</h2>
75                 <p class="text-muted">{{ trans('settings.users_social_accounts_info') }}</p>
76                 <div class="container">
77                     <div class="grid third">
78                         @foreach($activeSocialDrivers as $driver => $enabled)
79                             <div class="text-center mb-m">
80                                 <div role="presentation">@icon('auth/'. $driver, ['style' => 'width: 56px;height: 56px;'])</div>
81                                 <div>
82                                     @if($user->hasSocialAccount($driver))
83                                         <form action="{{ url("/login/service/{$driver}/detach") }}" method="POST">
84                                             {{ csrf_field() }}
85                                             <button aria-label="{{ trans('settings.users_social_disconnect') }} - {{ $driver }}"
86                                                     class="button small outline">{{ trans('settings.users_social_disconnect') }}</button>
87                                         </form>
88                                     @else
89                                         <a href="{{ url("/login/service/{$driver}") }}" aria-label="{{ trans('settings.users_social_connect') }} - {{ $driver }}"
90                                            class="button small outline">{{ trans('settings.users_social_connect') }}</a>
91                                     @endif
92                                 </div>
93                             </div>
94                         @endforeach
95                     </div>
96                 </div>
97             </section>
98         @endif
99
100         @if((user()->id === $user->id && userCan('access-api')) || userCan('users-manage'))
101             @include('users.api-tokens.parts.list', ['user' => $user])
102         @endif
103     </div>
104
105 @stop