mirror of
https://github.com/Bigherollc/wticreatorstudio.git
synced 2026-10-19 09:03:35 -04:00
99 lines
3.6 KiB
PHP
99 lines
3.6 KiB
PHP
<?php
|
|
|
|
namespace Modules\StaffPortal\Services;
|
|
|
|
use App\Models\User;
|
|
use App\Traits\ImageStore;
|
|
use Brian2694\Toastr\Facades\Toastr;
|
|
use Exception;
|
|
use Illuminate\Support\Facades\File;
|
|
use Illuminate\Http\Request;
|
|
use Modules\Appearance\Repositories\ThemeColorRepository;
|
|
use Modules\SidebarManager\Entities\BackendmenuUser;
|
|
use Modules\UserActivityLog\Traits\LogActivity;
|
|
|
|
class CommonService {
|
|
|
|
use ImageStore;
|
|
|
|
public function getThemeColor() {
|
|
$repository = new ThemeColorRepository();
|
|
$themeColor = $repository->activeColor();
|
|
|
|
return $themeColor;
|
|
}
|
|
|
|
public static function processMenus($menus) {
|
|
foreach ($menus as $menu) {
|
|
$parent_id = null;
|
|
$position = 0;
|
|
if ($menu->id == 1) {
|
|
BackendmenuUser::create(['parent_id' => $parent_id, 'user_id' => auth()->id(), 'backendmenu_id' => $menu->id, 'position' => $position]);
|
|
}
|
|
}
|
|
|
|
foreach($menus as $menu){
|
|
if ($menu->id != 1) {
|
|
$parent_id = null;
|
|
$position = 1;
|
|
if($menu->parent_id){
|
|
$parentMenu = BackendmenuUser::where('backendmenu_id', $menu->parent_id)->where('user_id', auth()->id())->first();
|
|
if($parentMenu){
|
|
$parent_id = $parentMenu->id;
|
|
$position = BackendmenuUser::where('parent_id', $parent_id)->where('user_id', auth()->id())->count() + 1;
|
|
}
|
|
}
|
|
BackendmenuUser::create(['parent_id' => $parent_id, 'user_id' => auth()->id(), 'backendmenu_id' => $menu->id, 'position' => $position]);
|
|
}
|
|
}
|
|
}
|
|
|
|
public function updateInfo(Request $request)
|
|
{
|
|
$request->validate([
|
|
'first_name' => 'required',
|
|
'email' => 'required|email|unique:users,email,'.auth()->user()->id,
|
|
'avatar' => 'nullable|mimes:jpeg,jpg,png,bmp',
|
|
'phone' => 'nullable|unique:users,phone,'.auth()->id(),
|
|
//'username' => 'required|unique:users,username,'.auth()->id()
|
|
]);
|
|
try {
|
|
$user=User::findOrFail(auth()->user()->id);
|
|
$data=[
|
|
'first_name' => $request->first_name,
|
|
'last_name' => $request->last_name,
|
|
'email' => $request->email,
|
|
'phone' => $request->phone,
|
|
//'username' => $request->username,
|
|
'date_of_birth' => $request->date_of_birth?date('Y-m-d',strtotime($request->date_of_birth)):null,
|
|
'description' => $request->description
|
|
];
|
|
|
|
if ($request->hasFile('avatar')) {
|
|
$this->deleteImage($user->avatar);
|
|
$data['avatar'] = $this->saveAvatar($request->file('avatar'),200,200);
|
|
}
|
|
|
|
$user->update($data);
|
|
LogActivity::successLog('update info');
|
|
//return response()->json($user);
|
|
return $user;
|
|
} catch (Exception $e) {
|
|
LogActivity::errorLog($e->getMessage());
|
|
Toastr::error(__('common.error_message'), __('common.error'));
|
|
//return back();
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function validateCandidateStoreRequest(Request $request) {
|
|
$request->validate([
|
|
'first_name' => 'required|max:255',
|
|
'last_name' => 'required|max:255',
|
|
//'title' => 'required|max:255',
|
|
'username' => 'required|unique:users,username,'.auth()->id()
|
|
]);
|
|
}
|
|
}
|
|
|