Browse Source

Refactor AuthController and user lang file

pull/1/head
Nafies Luthfi 8 years ago
parent
commit
1af5725c15
  1. 19
      app/Entities/Users/UserPresenter.php
  2. 40
      app/Http/Controllers/AuthController.php
  3. 39
      app/Http/Requests/Accounts/LoginRequest.php
  4. 38
      app/Http/Requests/Accounts/UpdateProfileRequest.php
  5. 2
      resources/lang/id/auth.php
  6. 38
      resources/lang/id/user.php
  7. 13
      resources/views/auth/change-password.blade.php
  8. 32
      resources/views/auth/profile.blade.php
  9. 10
      resources/views/pages/home.blade.php
  10. 5
      resources/views/reports/current-credits.blade.php

19
app/Entities/Users/UserPresenter.php

@ -40,23 +40,4 @@ class UserPresenter extends Presenter
return $string;
}
public function displayPermissions()
{
$string = '<ul class="permissions-list">';
foreach($this->roles as $key => $role) {
foreach ($role->permissions as $key2 => $permission) {
$string .= '<li>' . $permission->label . '</li>';
}
}
$string .= '</ul>';
return $string;
}
public function photo()
{
return Html::image('assets/imgs/icon_user_1.png', $this->name, ['width' => '100px']);
}
}

40
app/Http/Controllers/AuthController.php

@ -6,22 +6,19 @@ use App\Entities\Users\User;
use App\Http\Requests\Accounts\ChangePasswordRequest;
use App\Http\Requests\Accounts\LoginRequest;
use App\Http\Requests\Accounts\RegisterRequest;
use App\Http\Requests\Accounts\UpdateProfileRequest;
use Auth;
use Illuminate\Contracts\Auth\Guard;
use Illuminate\Contracts\Auth\PasswordBroker;
use Illuminate\Foundation\Auth\ResetsPasswords;
use Illuminate\Foundation\Auth\ThrottlesLogins;
use Illuminate\Http\Request;
class AuthController extends Controller
{
use ResetsPasswords, ThrottlesLogins;
private $user;
public function __construct(Guard $auth, PasswordBroker $passwords)
{
$this->user = Auth::user();
$this->auth = $auth;
$this->passwords = $passwords;
@ -42,11 +39,14 @@ class AuthController extends Controller
return view('auth.login');
}
public function postLogin(LoginRequest $request)
public function postLogin(Request $request)
{
$loginData = $request->only('email', 'password');
$loginData = $request->validate([
'email' => 'required|email',
'password' => 'required',
]);
if (Auth::attempt($loginData, $request->has('remember'))) {
if (Auth::attempt($loginData)) {
flash()->success(trans('auth.welcome', ['name' => Auth::user()->name]));
return redirect()->intended('home');
}
@ -92,9 +92,11 @@ class AuthController extends Controller
{
$input = $request->except('_token');
if (app('hash')->check($input['old_password'], $this->user->password)) {
$this->user->password = $input['password'];
$this->user->save();
$user = auth()->user();
if (app('hash')->check($input['old_password'], $user->password)) {
$user->password = $input['password'];
$user->save();
flash()->success(trans('auth.password_changed'));
return redirect()->back();
@ -110,12 +112,20 @@ class AuthController extends Controller
return view('auth.profile', compact('user'));
}
public function patchProfile(UpdateProfileRequest $request)
public function patchProfile(Request $request)
{
$this->user->name = $request->get('name');
$this->user->save();
$profileData = $request->validate([
'name' => 'required|max:60',
'email' => 'required|email',
]);
$user = auth()->user();
$user->name = $profileData['name'];
$user->email = $profileData['email'];
$user->save();
flash()->success('Profil berhasil diupdate.');
return redirect()->route('auth.profile');
flash()->success(trans('auth.profile_updated'));
return back();
}
}

39
app/Http/Requests/Accounts/LoginRequest.php

@ -1,39 +0,0 @@
<?php
namespace App\Http\Requests\Accounts;
use App\Http\Requests\Request;
class LoginRequest extends Request
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return auth()->guest();
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'email' => 'required|email',
'password' => 'required',
];
}
public function messages()
{
return [
'email.required' => 'Email harus diisi.',
'password.required' => 'Password harus diisi.',
];
}
}

38
app/Http/Requests/Accounts/UpdateProfileRequest.php

@ -1,38 +0,0 @@
<?php
namespace App\Http\Requests\Accounts;
use App\Http\Requests\Request;
class UpdateProfileRequest extends Request
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return auth()->check();
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'name' => 'required|max:60'
];
}
public function messages()
{
return [
'name.required' => 'Nama harus diisi.',
'name.max' => 'Nama maksimal 60 karakter.',
];
}
}

2
resources/lang/id/auth.php

@ -34,4 +34,6 @@ return [
'old_password_failed' => 'Password lama tidak cocok!',
'welcome' => 'Selamat datang kembali :name.',
'logged_out' => 'Anda telah logout.',
'profile' => 'Profil Saya',
'profile_updated' => 'Profil sudah diupdate.',
];

38
resources/lang/id/user.php

@ -1,12 +1,21 @@
<?php
return [
// Label
'user' => 'User',
'users' => 'Daftar User',
'user_id' => 'User ID',
'profile' => 'Profil User',
'search' => 'Cari User: ketik nama',
'religion' => 'Agama',
'nationality' => 'Kewarganegaraan',
'role' => 'Grup',
'roles' => 'Grup',
'search' => 'Ketik nama user lalu tekan Enter..',
'found' => 'User ditemukan',
'not_found' => 'User tidak ditemukan',
'empty' => 'Belum ada User',
'back_to_index' => 'Kembali ke Daftar User',
// Actions
'create' => 'Input User Baru',
'created' => 'Input User baru telah berhasil.',
'show' => 'Detail User',
@ -16,25 +25,10 @@ return [
'delete' => 'Hapus Data User',
'deleted' => 'Hapus data User telah berhasil.',
'undeleted' => 'Data User gagal dihapus.',
'contact' => 'Kontak',
'email' => 'Alamat Email',
'phone' => 'Telp/Hp.',
'role' => 'Grup',
'roles' => 'Grup',
'empty' => 'Belum ada User',
'back_to_index' => 'Kembali ke Daftar User',
'search' => 'Ketik nama user lalu tekan Enter..',
'not_found' => 'User tidak ditemukan',
'found' => 'User ditemukan',
// Attributes
'name' => 'Nama User',
'registered_at' => 'Terdaftar sejak',
'permissions' => 'Hak Akses User',
'pdob' => 'Tempat/Tanggal Lahir',
'birth' => 'Lahir',
'photo' => 'Foto',
'pob' => 'Tempat Lahir',
'dob' => 'Tanggal Lahir',
'prefix' => 'Title Awal',
'suffix' => 'Title Akhir',
'login_id' => 'Login ID',
'gender' => 'Jenis Kelamin',
'email' => 'Alamat Email',
'api_token' => 'API Token',
];

13
resources/views/auth/change-password.blade.php

@ -3,16 +3,17 @@
@section('title', trans('auth.change_password'))
@section('content')
<br>
<ul class="breadcrumb hidden-print">
<li class="active">{{ trans('auth.change_password') }}</li>
</ul>
<div class="col-md-6 col-md-offset-3">
<div class="panel panel-default">
<div class="panel-heading"><h3 class="panel-title">{{ trans('auth.change_password') }}</h3></div>
{!! Form::open(['route'=>'auth.change-password']) !!}
<div class="panel-body">
@include('auth.partials._notifications')
{!! FormField::password('old_password', ['label'=> trans('auth.old_password')]) !!}
{!! FormField::password('password', ['label'=>trans('auth.new_password')]) !!}
{!! FormField::password('password_confirmation', ['label'=>trans('auth.new_password_confirmation')]) !!}
{!! FormField::password('old_password', ['label' => false, 'placeholder' => trans('auth.old_password')]) !!}
{!! FormField::password('password', ['label' => false, 'placeholder' => trans('auth.new_password')]) !!}
{!! FormField::password('password_confirmation', ['label' => false, 'placeholder' => trans('auth.new_password_confirmation')]) !!}
</div>
<div class="panel-footer">
{!! Form::submit(trans('auth.change_password'), ['class'=>'btn btn-info']) !!}

32
resources/views/auth/profile.blade.php

@ -1,35 +1,37 @@
@extends('layouts.app')
@section('content')
<h1 class="page-header">Profil {{ trans('user.user') }}</h1>
<ul class="breadcrumb hidden-print">
<li class="active">{{ trans('auth.profile') }}</li>
</ul>
<div class="row">
<div class="col-md-6">
<div class="col-md-8 col-md-offset-2">
{!! Form::model($user, ['route'=>'auth.profile','method'=>'patch']) !!}
<div class="panel panel-info">
<div class="panel-heading"><h3 class="panel-title">Profil User</h3></div>
<div class="panel panel-default">
<div class="panel-heading"><h3 class="panel-title">{{ trans('auth.profile') }}</h3></div>
<div class="panel-body">
<table class="table">
<tr><th>{{ trans('user.user_id') }}</th><td>{{ $user->id }}</td></tr>
<tr>
<th>{{ trans('app.name') }}</th>
<td>
{{-- {!! Form::text('name', null, ['class'=>'form-control']) !!} --}}
{{-- {!! $errors->first('name', '<span class="form-error">:message</span>') !!} --}}
{{ $user->name }}
</td>
<th>{{ trans('user.name') }}</th>
<td>{!! FormField::text('name', ['label' => false]) !!}</td>
</tr>
<tr>
<th>{{ trans('user.roles') }}</th>
<td>{{ $user->present()->displayRoles }}</td>
<th>{{ trans('user.email') }}</th>
<td>{!! FormField::email('email', ['label' => false]) !!}</td>
</tr>
<tr>
<th>{{ trans('user.api_token') }}</th>
<td>{{ $user->api_token }}</td>
</tr>
<tr>
<th>{{ trans('user.permissions') }}</th>
<td>{{ $user->present()->displayPermissions }}</td>
<th>{{ trans('user.roles') }}</th>
<td>{{ $user->present()->displayRoles }}</td>
</tr>
</table>
</div>
<div class="panel-footer">
{{-- {!! Form::submit(trans('app.update'), ['class'=>'btn btn-info']) !!} --}}
{!! Form::submit(trans('app.update'), ['class'=>'btn btn-info']) !!}
</div>
</div>
{!! Form::close() !!}

10
resources/views/pages/home.blade.php

@ -1,11 +1,17 @@
@extends('layouts.app')
@section('content')
<h1 class="page-header">Dashboard</h1>
<ul class="breadcrumb hidden-print">
<li class="active">Dashboard</li>
</ul>
<div class="well well-sm">
{!! Form::open(['route' => 'projects.index','method'=>'get','class'=>'form-inline']) !!}
{!! Form::text('q', Request::get('q'), ['class'=>'form-control index-search-field','placeholder'=>trans('project.search'),'style' => 'width:350px']) !!}
{!! Form::text('q', Request::get('q'), [
'class' => 'form-control index-search-field',
'placeholder' => trans('project.search'),
'style' => 'width:100%;max-width:350px'
]) !!}
{!! Form::submit(trans('project.search'), ['class' => 'btn btn-info btn-sm']) !!}
{!! Form::close() !!}
</div>

5
resources/views/reports/current-credits.blade.php

@ -3,8 +3,9 @@
@section('title', 'Piutang Saat Ini')
@section('content')
<h1 class="page-header">Piutang Saat Ini</h1>
<ul class="breadcrumb hidden-print">
<li class="active">Piutang Saat Ini</li>
</ul>
<table class="table table-condensed table-hover">
<thead>

Loading…
Cancel
Save