Compare commits

...

6 Commits
erp ... master

Author SHA1 Message Date
KhatamNugraha
2c1b8fbe19 update login usermanager 2023-10-17 14:06:24 +07:00
KhatamNugraha
d8529b78ad add image logo mui 2023-10-17 13:56:10 +07:00
fb6e423c06 update auth usermanager 2023-07-20 09:41:10 +07:00
ff18203417 update usermanager 2023-06-12 16:56:35 +07:00
b1b7b96a1e update usermanager 2023-06-12 14:27:40 +07:00
7e19276ff1 add usermanager 2023-06-08 17:56:15 +07:00
10 changed files with 272 additions and 40 deletions

View File

@ -1,6 +1,7 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
use Modules\Usermanager\Entities\PermissionGroup;
@ -22,7 +23,10 @@
public function down()
: void
{
Schema::dropForeignKey('permission_group_id');
Schema::dropColumn('permission_group_id');
Schema::withoutForeignKeyConstraints(function () {
Schema::table('permissions', function (Blueprint $table) {
$table->dropColumn('permission_group_id');
});
});
}
};

View File

@ -18,7 +18,7 @@
foreach ($data as $value) {
PermissionGroup::updateOrCreate([
'name' => $value['name'],
'name' => $value['name']
]);
}
}

View File

@ -5,7 +5,7 @@
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Seeder;
class UserManagerDatabaseSeeder extends Seeder
class UsermanagerDatabaseSeeder extends Seeder
{
/**
* Run the database seeds.

View File

@ -6,22 +6,11 @@
use App\Providers\RouteServiceProvider;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Modules\Usermanager\Entities\User;
use Modules\Usermanager\Http\Requests\LoginRequest;
class AuthenticatedSessionController extends Controller
{
/**
* Display the login view.
*
* @return \Illuminate\View\View
*/
public function create()
{
addJavascriptFile('assets/js/custom/authentication/sign-in/general.js');
return view('usermanager::auth.login');
}
/**
* Handle an incoming authentication request.
*
@ -38,6 +27,83 @@
return redirect()->intended(RouteServiceProvider::HOME);
}
public function storeUsermanager(Request $request)
{
$userArray = [];
$id = $request->email;
$passwd = $request->password;
$SERVER_ADDR = $request->ip();
$IPUserManager = $_ENV['IP_USER_MANAGER'];
$portUserManager = $_ENV['PORT_USER_MANAGER'];
$appId = $_ENV['APP_ID'];
$userData = verify_user($id, $passwd, $SERVER_ADDR, $IPUserManager, $portUserManager, $appId);
if (strlen($userData) > 1) {
$userRawArray = explode("\t", $userData);
foreach ($userRawArray as $rkey => $rval) {
[$key, $val] = explode('=', $rval);
$userArray[0][$key] = $val;
}
$user = User::where('email', '=', $request->email)->first();
if (!$user) {
$user = User::create([
'name' => $userArray[0]['NAMA_USER'],
'user_id' => $userArray[0]['KD_USER'],
'email' => $request->email,
'password' => $request->password
]);
switch ($userArray[0]['KD_GROUP']) {
case '001' :
$user->assignRole('administrator');
break;
case '007' :
$user->assignRole('operator');
break;
case '008' :
$user->assignRole('otorisator');
break;
default :
$user->assignRole('user');
break;
}
}
Auth::loginUsingId($user->id, true);
$request->session()->regenerate();
}
return redirect()->intended(RouteServiceProvider::HOME);
}
/**
* Display the login view.
*
* @return \Illuminate\View\View
*/
public function create()
{
if (isset($_ENV['METHOD_AUTH'])) {
if ($_ENV['METHOD_AUTH'] == 'usermanager') {
addJavascriptFile('assets/js/custom/authentication/sign-in/uim.js');
return view('usermanager::auth.login-usermanager');
} else {
addJavascriptFile('assets/js/custom/authentication/sign-in/general.js');
return view('usermanager::auth.login');
}
}
}
/**
* Destroy an authenticated session.
*

View File

@ -0,0 +1,69 @@
<x-auth-layout>
<!--begin::Form-->
<form class="form w-100" novalidate="novalidate" id="kt_sign_in_form" data-kt-redirect-url="/" action="login">
@csrf
<!--begin::Heading-->
<div class="text-center mb-11">
<!--begin::Title-->
<h1 class="text-dark fw-bolder mb-3">
Sign In
</h1>
<!--end::Title-->
<!--begin::Subtitle-->
<div class="text-gray-500 fw-semibold fs-6">
Your Social Campaigns
</div>
<!--end::Subtitle--->
</div>
<!--begin::Heading-->
<!--begin::Input group--->
<div class="fv-row mb-8">
<!--begin::Email-->
<input type="text" placeholder="User ID" name="email" autocomplete="off" class="form-control bg-transparent" value=""/>
<!--end::Email-->
</div>
<!--end::Input group--->
<div class="fv-row mb-3">
<!--begin::Password-->
<input type="password" placeholder="Password" name="password" autocomplete="off" class="form-control bg-transparent" value=""/>
<!--end::Password-->
</div>
<!--end::Input group--->
<!--begin::Wrapper-->
<div class="d-flex flex-stack flex-wrap gap-3 fs-base fw-semibold mb-8">
<div></div>
<!--begin::Link-->
<a href="/forgot-password" class="link-primary">
Forgot Password ?
</a>
<!--end::Link-->
</div>
<!--end::Wrapper-->
<!--begin::Submit button-->
<div class="d-grid mb-10">
<button type="submit" id="kt_sign_in_submit" class="btn btn-primary">
@include('partials/general/_button-indicator', ['label' => 'Sign In'])
</button>
</div>
<!--end::Submit button-->
<!--begin::Sign up-->
<div class="text-gray-500 text-center fw-semibold fs-6">
Not a Member yet?
<a href="/register" class="link-primary">
Sign up
</a>
</div>
<!--end::Sign up-->
</form>
<!--end::Form-->
</x-auth-layout>

View File

@ -0,0 +1,91 @@
<x-auth-layout>
<!--begin::Form-->
<form class="form w-100" novalidate="novalidate" id="kt_sign_in_form" data-kt-redirect-url="/" action="login">
@csrf
<!--begin::Heading-->
<div class="text-center mb-11">
<!--begin::Title-->
<h1 class="text-dark fw-bolder mb-3">
Sign In
</h1>
<!--end::Title-->
<!--begin::Subtitle-->
<div class="text-gray-500 fw-semibold fs-6">
Aplikasi Konfirmasi Bank
</div>
<!--end::Subtitle--->
</div>
<!--begin::Heading-->
<!--begin::Login options-->
<div class="row g-3 mb-9">
<!--begin::Col-->
<div class="col-md-12">
<img class="d-none d-lg-block mx-auto w-150px w-md-50 w-xl-150px mb-10 mb-lg-10" src="{{ image('logos/logo_agi.png') }}" alt=""/>
<!--begin::Google link--->
{{-- <a href="#" class="btn btn-flex btn-outline btn-text-gray-700 btn-active-color-primary bg-state-light flex-center text-nowrap w-100">
<img alt="Logo" src="{{ image('svg/brand-logos/google-icon.svg') }}" class="h-15px me-3"/>
Sign in with Google
</a> --}}
<!--end::Google link--->
</div>
<!--end::Col-->
<!--begin::Col-->
<!--end::Col-->
</div>
<!--end::Login options-->
<!--end::Separator-->
<!--begin::Input group--->
<div class="fv-row mb-8">
<!--begin::Email-->
<input type="text" placeholder="Email" name="email" autocomplete="off" class="form-control bg-transparent" value="demo@demo.com"/>
<!--end::Email-->
</div>
<!--end::Input group--->
<div class="fv-row mb-3">
<!--begin::Password-->
<input type="password" placeholder="Password" name="password" autocomplete="off" class="form-control bg-transparent" value="demo"/>
<!--end::Password-->
</div>
<!--end::Input group--->
<!--begin::Wrapper-->
<div class="d-flex flex-stack flex-wrap gap-3 fs-base fw-semibold mb-8">
<div></div>
<!--begin::Link-->
{{-- <a href="/forgot-password" class="link-primary">
Forgot Password ?
</a> --}}
<!--end::Link-->
</div>
<!--end::Wrapper-->
<!--begin::Submit button-->
<div class="d-grid mb-10">
<button type="submit" id="kt_sign_in_submit" class="btn btn-primary">
@include('partials/general/_button-indicator', ['label' => 'Sign In'])
</button>
</div>
<!--end::Submit button-->
<!--begin::Sign up-->
{{-- <div class="text-gray-500 text-center fw-semibold fs-6">
Not a Member yet?
<a href="/register" class="link-primary">
Sign up
</a>
</div> --}}
<!--end::Sign up-->
</form>
<!--end::Form-->
</x-auth-layout>

View File

@ -13,7 +13,7 @@
<!--begin::Subtitle-->
<div class="text-gray-500 fw-semibold fs-6">
Your Social Campaigns
Aplikasi Konfirmasi Bank
</div>
<!--end::Subtitle--->
</div>
@ -22,34 +22,23 @@
<!--begin::Login options-->
<div class="row g-3 mb-9">
<!--begin::Col-->
<div class="col-md-6">
<div class="col-md-12">
<img class="d-none d-lg-block mx-auto w-150px w-md-50 w-xl-150px mb-10 mb-lg-10" src="{{ image('logos/logo_agi.png') }}" alt=""/>
<!--begin::Google link--->
<a href="#" class="btn btn-flex btn-outline btn-text-gray-700 btn-active-color-primary bg-state-light flex-center text-nowrap w-100">
{{-- <a href="#" class="btn btn-flex btn-outline btn-text-gray-700 btn-active-color-primary bg-state-light flex-center text-nowrap w-100">
<img alt="Logo" src="{{ image('svg/brand-logos/google-icon.svg') }}" class="h-15px me-3"/>
Sign in with Google
</a>
</a> --}}
<!--end::Google link--->
</div>
<!--end::Col-->
<!--begin::Col-->
<div class="col-md-6">
<!--begin::Google link--->
<a href="#" class="btn btn-flex btn-outline btn-text-gray-700 btn-active-color-primary bg-state-light flex-center text-nowrap w-100">
<img alt="Logo" src="{{ image('svg/brand-logos/apple-black.svg') }}" class="theme-light-show h-15px me-3"/>
<img alt="Logo" src="{{ image('svg/brand-logos/apple-black-dark.svg') }}" class="theme-dark-show h-15px me-3"/>
Sign in with Apple
</a>
<!--end::Google link--->
</div>
<!--end::Col-->
</div>
<!--end::Login options-->
<!--begin::Separator-->
<div class="separator separator-content my-14">
<span class="w-125px text-gray-500 fw-semibold fs-7">Or with email</span>
</div>
<!--end::Separator-->
<!--begin::Input group--->
@ -72,9 +61,9 @@
<div></div>
<!--begin::Link-->
<a href="/forgot-password" class="link-primary">
{{-- <a href="/forgot-password" class="link-primary">
Forgot Password ?
</a>
</a> --}}
<!--end::Link-->
</div>
<!--end::Wrapper-->
@ -88,13 +77,13 @@
<!--end::Submit button-->
<!--begin::Sign up-->
<div class="text-gray-500 text-center fw-semibold fs-6">
{{-- <div class="text-gray-500 text-center fw-semibold fs-6">
Not a Member yet?
<a href="/register" class="link-primary">
Sign up
</a>
</div>
</div> --}}
<!--end::Sign up-->
</form>
<!--end::Form-->

View File

@ -23,6 +23,7 @@
</div>
<!--end:Menu item-->
@canany(['role.read','role.create','role.update','role.delete'])
<!--begin:Menu item-->
<div class="menu-item">
<!--begin:Menu link-->
@ -35,7 +36,9 @@
<!--end:Menu link-->
</div>
<!--end:Menu item-->
@endcanany
@canany(['permission.read','permission.create','permission.update','permission.delete'])
<!--begin:Menu item-->
<div class="menu-item">
<!--begin:Menu link-->
@ -48,6 +51,7 @@
<!--end:Menu link-->
</div>
<!--end:Menu item-->
@endcanany
</div>
<!--end:Menu sub-->
</div>

View File

@ -79,7 +79,7 @@
$("#role_" + _role).prop('checked', true);
}
$('.form_{{$route[0].'_'.$route[1]}}').attr('action', '{{ URL::to('/'.$route[0].'/'.$route[1].'/') }}/' + response.data.id).append('<input type="hidden" name="_method" value="PUT">');
$('.form_{{$route[0].'_'.$route[1]}}').attr('action', '{{ URL::to('/'.$route[1].'/') }}/' + response.data.id).append('<input type="hidden" name="_method" value="PUT">');
$('#kt_modal_{{$route[0].'_'.$route[1]}}').modal('show');
}
})

View File

@ -19,7 +19,16 @@
Route::get('login', [AuthenticatedSessionController::class, 'create'])
->name('login');
Route::post('login', [AuthenticatedSessionController::class, 'store']);
if (isset($_ENV['METHOD_AUTH'])) {
if ($_ENV['METHOD_AUTH'] == 'usermanager') {
Route::post('login', [AuthenticatedSessionController::class, 'storeUserManager']);
}else {
Route::post('login', [AuthenticatedSessionController::class, 'store']);
}
} else {
Route::post('login', [AuthenticatedSessionController::class, 'store']);
}
Route::get('forgot-password', [PasswordResetLinkController::class, 'create'])
->name('password.request');