Merge branch 'new-super' of https://gitlab.com/online-sistem1/kaunter into lapfix

This commit is contained in:
hafifierahman
2022-01-25 22:47:53 +08:00
11 changed files with 236 additions and 42 deletions
@@ -67,7 +67,7 @@ class LoginController extends Controller
$cawangan_info = Http::get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
// return view('homepage.'.$auth_user['role_harian'].'.home',compact('cawangan_info','api_url'));
return redirect()->route('home');
}elseif($auth_user['role_harian'] == 'penilai'){
}elseif($auth_user['role_harian'] == 'penilai' || $auth_user['role_harian'] == 'penilai2'){
$cawangan_info = Http::get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
$gadaian_semasa = Http::get(config('api.url') . '/api/gadaiansemasa/'. $auth_user['cawangan'])->json();
$gadaian_belumserah = Http::get(config('api.url') . '/api/gadaiansemasa/belum_serah/'. $auth_user['cawangan'])->json();
@@ -0,0 +1,53 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use App\Rules\MatchOldPassword;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Http;
use App\User;
class ChangePasswordController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Contracts\Support\Renderable
*/
public function index()
{
$auth_user = Auth::user();
$cawangan_info = Http::get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
return view('user.update_password',compact('cawangan_info'));
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Contracts\Support\Renderable
*/
public function store(Request $request)
{
$request->validate([
'current_password' => ['required', new MatchOldPassword],
'new_password' => ['required'],
'new_confirm_password' => ['same:new_password'],
]);
User::find(auth()->user()->id)->update(['password'=> Hash::make($request->new_password)]);
return redirect()->route('profile');
}
}
+2 -2
View File
@@ -33,11 +33,11 @@ class HomeController extends Controller
if($auth_user['role_harian'] == 'teller'){
$cawangan_info = Http::get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
return view('homepage.'.$auth_user['role_harian'].'.home',compact('cawangan_info','api_url'));
}elseif($auth_user['role_harian'] == 'penilai'){
}elseif($auth_user['role_harian'] == 'penilai' || $auth_user['role_harian'] == 'penilai2'){
$cawangan_info = Http::get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
$gadaian_semasa = Http::get(config('api.url') . '/api/gadaiansemasa/'. $auth_user['cawangan'])->json();
$gadaian_belumserah = Http::get(config('api.url') . '/api/gadaiansemasa/belum_serah/'. $auth_user['cawangan'])->json();
return view('homepage.'.$auth_user['role_harian'].'.home',compact('cawangan_info','gadaian_semasa','gadaian_belumserah','api_url'));
return view('homepage.penilai.home',compact('cawangan_info','gadaian_semasa','gadaian_belumserah','api_url'));
}
else{
return view('not_assign');
@@ -66,12 +66,14 @@ class KakitanganController extends Controller
public function kakitanganHarian(Request $request){
$auth_user = Auth::user();
$user_cawangan = User::where('cawangan','=',$auth_user['cawangan'])->get();
$user_cawangan = User::whereIn('roles',['pc','ppc','teller'])->where('cawangan','=',$auth_user['cawangan'])->get();
foreach($user_cawangan as $index=>$user){
if($user['roles'] == 'teller'){
if($user['id'] == $request->penilai){
$role_harian = 'penilai';
}elseif($user['id'] == $request->penilai2){
$role_harian = 'penilai2';
}else{
$role_harian = 'teller';
}
+1 -1
View File
@@ -2693,7 +2693,7 @@ class KhazanahController extends Controller
if($bakilelong['rugilelong'] != 0) array_push($tanggungansemasa,['glcode' => '3000/020','descpt' => 'Kerugian Lelong','amaun' => $bakilelong['rugilelong']]);
if($wtd > 0) array_push($tanggungansemasa,['glcode' => '3000/021','descpt' => 'Wang Tak Dituntut','amaun' => $wtd]);
if($cajlelong > 0) array_push($tanggungansemasa,['glcode' => '5000/213','descpt' => 'Pendapatan Caj Lelong','amaun' => $cajlelong]);
if($untungrugiterkumpul > 0) array_push($tanggungansemasa,['glcode' => '7000/101','descpt' => 'Untung/Rugi Terkumpul','amaun' => $untungrugiterkumpul]);
if($untungrugiterkumpul != 0) array_push($tanggungansemasa,['glcode' => '7000/101','descpt' => 'Untung/Rugi Terkumpul','amaun' => $untungrugiterkumpul]);
if($cajperkhidmatan > 0) array_push($tanggungansemasa,['glcode' => '5000/213','descpt' => 'Caj Perkhidmatan Terkumpul','amaun' => $cajperkhidmatan]);
if($cajlelongxtra > 0) array_push($tanggungansemasa,['glcode' => '5000/313','descpt' => 'Pendapatan Caj Lelong Xtra ','amaun' => $cajlelongxtra]);
if($upahsimpanxtra > 0) array_push($tanggungansemasa,['glcode' => '5000/413','descpt' => 'Upah Simpan Xtra - Koperasi PKB','amaun' => $upahsimpanxtra]);
+1 -1
View File
@@ -15,7 +15,7 @@ class Penilai
*/
public function handle($request, Closure $next)
{
if(Auth::check() && Auth::user()->role_harian == 'penilai'){
if(Auth::check() && (Auth::user()->role_harian == 'penilai' || Auth::user()->role_harian == 'penilai2')){
return $next($request);
}
+31
View File
@@ -0,0 +1,31 @@
<?php
namespace App\Rules;
use Illuminate\Contracts\Validation\Rule;
use Illuminate\Support\Facades\Hash;
class MatchOldPassword implements Rule
{
/**
* Determine if the validation rule passes.
*
* @param string $attribute
* @param mixed $value
* @return bool
*/
public function passes($attribute, $value)
{
return Hash::check($value, auth()->user()->password);
}
/**
* Get the validation error message.
*
* @return string
*/
public function message()
{
return 'The :attribute is match with old password.';
}
}
+67 -28
View File
@@ -1,5 +1,10 @@
@extends('layouts.app')
<style>
.form-group.required .control-label:after {
content:"*";
color:red;
}
</style>
@section('content')
<div class="container">
<div class="row justify-content-center mt-3">
@@ -15,16 +20,12 @@
<div class="card-body">
<div class="row mb-4">
</div>
<form action="{{ route('kakitangan.harian') }}" method="post">
<form action="{{ route('kakitangan.harian') }}" onsubmit="validatekakitangan()" method="post">
@csrf
<div class="col-12 text-center">
<div class="row">
<div class="row col-6">
<label class="col-6">Pengurus Cawangan:</label>
<div class="row">
<div class="col-6 text-center">
<div class="row col-12">
<label class="col-6">Pengurus Cawangan :</label>
@if($pc != null)
<input type="text" class="form-control col-6" readonly name="pc" id="pc" value="{{ $pc['name'] }}"/>
<input type="text" class="form-control col-6" hidden name="pc_id" id="pc_id" value="{{ $pc['id'] }}"/>
@@ -32,22 +33,9 @@
<input type="text" class="form-control col-6" readonly name="pc" id="pc" value="Tiada Pengurus Cawangan"/>
@endif
</div>
<div class="row col-6">
<label class="col-6">Khazanah Cawangan:</label>
<select name="khazanah" id="khazanah" class="form-control col-6">
@foreach ($khazanah as $index=>$k)
<option value="{{ $k['id'] }}" {{ $k['role_harian'] == 'khazanah' ? 'selected' : ''}}>{{ $k['name'] }}</option>
@endforeach
</select>
</div>
</div>
</div>
<div class="col-12 mt-4 text-center">
<div class="row">
<div class="row col-6">
<label class="col-6">Pen. Peng. Cawangan:</label>
<div class="row col-12">
<label class="col-6">Pen. Peng. Cawangan :</label>
@if($ppc != null)
<input type="text" class="form-control col-6" readonly name="ppc" id="ppc" value="{{ $ppc['name'] }}"/>
<input type="text" class="form-control col-6" hidden name="ppc_id" id="ppc_id" value="{{ $ppc['id'] }}"/>
@@ -55,20 +43,43 @@
<input type="text" class="form-control col-6" readonly name="pc" id="pc" value="Tiada Penolong Pengurus Cawangan"/>
@endif
</div>
</div>
<div class="col-6 text-center">
<div class="row col-12">
<label class="col-6">Khazanah <span class="text-danger">*</span> :</label>
<select name="khazanah" id="khazanah" class="form-control col-6">
<option value="" selected disabled>Sila Pilih Khazanah</option>
@foreach ($khazanah as $index=>$k)
<option value="{{ $k['id'] }}" {{ $k['role_harian'] == 'khazanah' ? 'selected' : ''}}>{{ $k['name'] }}</option>
@endforeach
</select>
</div>
<div class="row col-6">
<label class="col-6">Penilai Cawangan:</label>
<div class="row col-12">
<label class="col-6">Penilai 1 <span class="text-danger">*</span> :</label>
<select name="penilai" id="penilai" class="form-control col-6">
<option value="" selected disabled>Sila Pilih Penilai 1</option>
@foreach ($teller as $index=>$t)
<option value="{{ $t['id'] }}" {{ $t['role_harian'] == 'penilai' ? 'selected' : ''}}>{{ $t['name'] }}</option>
@endforeach
</select>
</div>
<div class="row col-12">
<label class="col-6">Penilai 2 :</label>
<select name="penilai2" id="penilai2" class="form-control col-6">
<option value="" selected>Tiada Penilai 2</option>
@foreach ($teller as $index=>$t)
<option value="{{ $t['id'] }}" {{ $t['role_harian'] == 'penilai2' ? 'selected' : ''}}>{{ $t['name'] }}</option>
@endforeach
</select>
</div>
</div>
</div>
<div class="col-12 row justify-content-end mt-4 mb-4">
<!-- <button class="btn btn-info">Sahkan</button> -->
<input type="submit" class="btn btn-primary mr-4" value="Sahkan">
</div>
</form>
@@ -103,6 +114,34 @@
</div>
<script>
function validatekakitangan(){
var khazanah = $('#khazanah').val();
var penilai = $('#penilai').val();
var penilai2 = $('#penilai2').val();
console.log(penilai);
if(khazanah == null || penilai == null){
Swal.fire({
icon: 'error',
title: 'Amaran!',
text: 'Sila Pilih Khazanah dan Penilai Bertugas Hari Ini.'
});
event.preventDefault();
return false;
}
if(penilai == penilai2 && penilai != null){
Swal.fire({
icon: 'error',
title: 'Amaran!',
text: 'Penilai Sama'
});
event.preventDefault();
return false;
}
return true;
}
var tablekakitangan = $('#table-kakitangan').DataTable({
"scrollX": true
});
+13 -8
View File
@@ -14,24 +14,29 @@
<div class="card-body text-center">
<div class="col-md-12" style="margin-right:auto;margin-left:auto">
<div class="row form-group">
<div class="col-md-12">
<div class="col-md-6">
<div class="row form-group">
<div class="col-md-6">NAMA</div>
<div class="col-md-6"><input type="text" class="form-control" readonly value="{{ $auth_user->name }}"></div>
<div class="col-md-6">NO TELEFON</div>
<div class="col-md-6">Nama</div>
<div class="col-md-6"><input type="text" class="form-control" readonly value="{{ strtoupper($auth_user->name) }}"></div>
<div class="col-md-6">No Telefon</div>
<div class="col-md-6"><input type="text" class="form-control" readonly value="{{ $auth_user->no_telefon }}"></div>
<div class="col-md-6">Email</div>
<div class="col-md-6"><input type="text" class="form-control" readonly value="{{ $auth_user->email }}"></div>
</div>
</div>
<div class="col-md-12">
<div class="col-md-6">
<div class="row form-group">
<div class="col-md-6">NO KP</div>
<div class="col-md-6">No Kad Pengenalan</div>
<div class="col-md-6"><input type="text" class="form-control" readonly value="{{ $auth_user->no_kp }}"></div>
<div class="col-md-6">JAWATAN</div>
<div class="col-md-6"><input type="text" class="form-control" readonly value="{{ $auth_user->role_harian }}"></div>
<div class="col-md-6">Jawatan</div>
<div class="col-md-6"><input type="text" class="form-control" readonly value="{{ strtoupper($auth_user->role_harian) }}"></div>
<div class="col-md-6">Baki Perubatan</div>
<div class="col-md-6"><input type="text" class="form-control" readonly value="{{ 'RM '. number_format($auth_user->perubatan,2) }}"></div>
</div>
</div>
</div>
</div>
<a href="{{ route('user.password') }}" class="btn btn-primary">Kemaskini Katalaluan</a>
</div>
</div>
</div>
@@ -0,0 +1,62 @@
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<nav aria-label="breadcrumb">
<ol class="breadcrumb pb-3">
<li class="breadcrumb-item"><a href="{{ route('home') }}">Home</a></li>
<li class="breadcrumb-item"><a href="{{ route('profile') }}">Maklumat Pengguna</a></li>
<li class="breadcrumb-item active" aria-current="page">Kemaskini Katalaluan</li>
</ol>
</nav>
<div class="card">
<div class="card-body">
<form method="POST" action="{{ route('change.password') }}">
@csrf
@foreach ($errors->all() as $error)
<p class="text-danger">{{ $error }}</p>
@endforeach
<div class="form-group row">
<label for="password" class="col-md-4 col-form-label text-md-right">Current Password</label>
<div class="col-md-6">
<input id="password" type="password" class="form-control" name="current_password" autocomplete="current-password">
</div>
</div>
<div class="form-group row">
<label for="password" class="col-md-4 col-form-label text-md-right">New Password</label>
<div class="col-md-6">
<input id="new_password" type="password" class="form-control" name="new_password" autocomplete="current-password">
</div>
</div>
<div class="form-group row">
<label for="password" class="col-md-4 col-form-label text-md-right">New Confirm Password</label>
<div class="col-md-6">
<input id="new_confirm_password" type="password" class="form-control" name="new_confirm_password" autocomplete="current-password">
</div>
</div>
<div class="form-group row mb-0">
<div class="col-md-8 offset-md-4">
<button type="submit" class="btn btn-primary">
Simpan Katalaluan
</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection
+2
View File
@@ -38,6 +38,8 @@ Route::get('test', function () {
});
Route::get('logs', '\Rap2hpoutre\LaravelLogViewer\LogViewerController@index');
Route::get('change-password', ['as'=>'user.password','uses'=>'ChangePasswordController@index']);
Route::post('change-password', ['as'=>'change.password','uses'=>'ChangePasswordController@store']);
Route::get('/welcome',function(){