update
This commit is contained in:
@ -454,24 +454,163 @@ class UsersController extends Controller
|
||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||
}
|
||||
|
||||
// if ($req->roles == Users::ROLE_VENDOR) {
|
||||
// if (!$req->bank_id) {
|
||||
// $apiResp = Responses::bad_request("bank wajib diisi");
|
||||
// return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||
// }
|
||||
// if (!$req->bank_branch_name) {
|
||||
// $apiResp = Responses::bad_request("bank kcp wajib diisi");
|
||||
// return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||
// }
|
||||
// if (!$req->bank_acc_number) {
|
||||
// $apiResp = Responses::bad_request("nomor rekening wajib diisi");
|
||||
// return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||
// }
|
||||
// if (!$req->bank_acc_name) {
|
||||
// $apiResp = Responses::bad_request("nama pemilik rekening wajib diisi");
|
||||
// return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||
// }
|
||||
// }
|
||||
$uniqEmail = Users::getUserByEmail($req->email);
|
||||
if (count($uniqEmail) > 0) {
|
||||
$notSameUser = 1;
|
||||
foreach ($uniqEmail as $key => $row) {
|
||||
if ($row->id == $req->uid) {
|
||||
$notSameUser = 0;
|
||||
}
|
||||
}
|
||||
if ($notSameUser) {
|
||||
$apiResp = Responses::bad_request("email has been used");
|
||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||
}
|
||||
}
|
||||
$uniqPhone = Users::getUserByPhone($req->phone);
|
||||
if (count($uniqPhone) > 0) {
|
||||
$notSameUser = 1;
|
||||
foreach ($uniqPhone as $key => $row) {
|
||||
if ($row->id == $req->uid) {
|
||||
$notSameUser = 0;
|
||||
}
|
||||
}
|
||||
if ($notSameUser) {
|
||||
$apiResp = Responses::bad_request("phone has been used");
|
||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||
}
|
||||
}
|
||||
|
||||
$vhcs = null;
|
||||
if ($req->is_tracking == Users::IS_TRACK_VHC_YES) {
|
||||
if (!$req->vehicles) {
|
||||
$apiResp = Responses::bad_request("vehicles must be filled");
|
||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||
}
|
||||
foreach ($req->vehicles as $k => $v) {
|
||||
$vhcs .= $v . ",";
|
||||
}
|
||||
if ($vhcs) {
|
||||
if (substr($vhcs, -1) === ",") {
|
||||
$vhcs = substr($vhcs, 0, -1);
|
||||
}
|
||||
}
|
||||
}
|
||||
$data["is_tracking"] = $req->is_tracking;
|
||||
$data["vhcs"] = $vhcs;
|
||||
|
||||
$data["updt"] = $now;
|
||||
$data["updt_by"] = $req->auth->uid;
|
||||
|
||||
$data["role"] = 2;
|
||||
|
||||
DB::beginTransaction();
|
||||
|
||||
Users::updateUser($req->uid, $data);
|
||||
|
||||
if ($req->roles) {
|
||||
DB::table("model_has_roles")
|
||||
->where("model_id", $req->uid)
|
||||
->delete();
|
||||
|
||||
DB::table("model_has_roles")->insert([
|
||||
"role_id" => $req->roles,
|
||||
"model_type" => "App\\User",
|
||||
"model_id" => $req->uid,
|
||||
]);
|
||||
}
|
||||
|
||||
$apiResp = Responses::created("success update user");
|
||||
|
||||
DB::commit();
|
||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||
} catch (\Exception $e) {
|
||||
DB::rollBack();
|
||||
$apiResp = Responses::error($e->getMessage());
|
||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||
}
|
||||
}
|
||||
public function api_edit_user_profile(Request $req)
|
||||
{
|
||||
try {
|
||||
$now = time();
|
||||
$roles = Users::arrRoles();
|
||||
$statuses = Users::arrStatus();
|
||||
|
||||
$input = [
|
||||
"uid" => $req->uid,
|
||||
"is_tracking" => $req->is_tracking,
|
||||
"vehicles" => $req->vehicles,
|
||||
"bank_id" => $req->bank_id,
|
||||
"bank_code" => $req->bank_code,
|
||||
"bank_short" => $req->bank_short,
|
||||
"bank_name" => $req->bank_name,
|
||||
"bank_kcp" => $req->bank_branch_name,
|
||||
"bank_acc_number" => $req->bank_acc_number,
|
||||
"bank_acc_name" => $req->bank_acc_name,
|
||||
"is_vdr_bcng" => $req->is_vdr_bcng,
|
||||
];
|
||||
$rulesInput = [
|
||||
"uid" => "required|integer|not_in:0",
|
||||
"is_tracking" => "nullable|numeric",
|
||||
"vehicles" => "nullable|array",
|
||||
"bank_id" => "nullable|integer|not_in:0",
|
||||
"bank_code" => "nullable|numeric",
|
||||
"bank_short" => "nullable|string",
|
||||
"bank_name" => "nullable|string",
|
||||
"bank_kcp" => "nullable|string",
|
||||
"bank_acc_number" => "nullable|numeric",
|
||||
"bank_acc_name" => "nullable|string|max:255",
|
||||
"is_vdr_bcng" => "nullable|numeric",
|
||||
];
|
||||
$data = [
|
||||
"id" => $req->uid,
|
||||
];
|
||||
|
||||
if ($req->first_name) {
|
||||
$input["first_name"] = $req->first_name;
|
||||
$rulesInput["first_name"] = "required|string|max:125";
|
||||
$data["first_name"] = $req->first_name;
|
||||
}
|
||||
if ($req->last_name) {
|
||||
$input["last_name"] = $req->last_name;
|
||||
$rulesInput["last_name"] = "required|string|max:125";
|
||||
$data["last_name"] = $req->last_name ?? null;
|
||||
}
|
||||
if ($req->email) {
|
||||
$input["email"] = $req->email;
|
||||
$rulesInput["email"] = "required|email";
|
||||
$data["email"] = $req->email;
|
||||
}
|
||||
if ($req->phone) {
|
||||
$input["phone"] = $req->phone;
|
||||
$rulesInput["phone"] = "required|integer|not_in:0";
|
||||
$data["phone"] = $req->phone;
|
||||
$data["phone_code"] = Users::DEFAULT_PHONE_CODE;
|
||||
}
|
||||
if ($req->fulladdress) {
|
||||
$input["fulladdress"] = $req->fulladdress;
|
||||
$rulesInput["fulladdress"] = "required|string|min:45";
|
||||
$data["fulladdress"] = $req->fulladdress;
|
||||
}
|
||||
if ($req->password) {
|
||||
$input["password"] = $req->password;
|
||||
$rulesInput["password"] = "required|string";
|
||||
$data["password"] = Hash::make($req->password);
|
||||
}
|
||||
|
||||
// validasi input
|
||||
$isValidInput = Validator::make($input, $rulesInput);
|
||||
if (!$isValidInput->passes()) {
|
||||
$apiResp = Responses::bad_input($isValidInput->messages()->first());
|
||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||
}
|
||||
|
||||
$getUser = Users::getUserById($req->uid);
|
||||
if (count($getUser) < 1) {
|
||||
$apiResp = Responses::not_found("user not found");
|
||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||
}
|
||||
|
||||
$uniqEmail = Users::getUserByEmail($req->email);
|
||||
if (count($uniqEmail) > 0) {
|
||||
@ -499,67 +638,20 @@ class UsersController extends Controller
|
||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||
}
|
||||
}
|
||||
// $uniqCPhone = Clients::getClientByPhone($req->phone);
|
||||
// if (count($uniqCPhone) > 0) {
|
||||
// $notSameUser = 1;
|
||||
// foreach ($uniqCPhone as $key => $row) {
|
||||
// if ($row->id == $getUser[0]->client_id) {
|
||||
// $notSameUser = 0;
|
||||
// }
|
||||
// }
|
||||
// if ($notSameUser) {
|
||||
// $apiResp = Responses::bad_request('phone has been used');
|
||||
// return (new Response($apiResp, $apiResp['meta']['code']));
|
||||
// }
|
||||
// }
|
||||
|
||||
$vhcs = null;
|
||||
if ($req->is_tracking == Users::IS_TRACK_VHC_YES) {
|
||||
if (!$req->vehicles) {
|
||||
$apiResp = Responses::bad_request("vehicles must be filled");
|
||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||
}
|
||||
foreach ($req->vehicles as $k => $v) {
|
||||
$vhcs .= $v . ",";
|
||||
}
|
||||
if ($vhcs) {
|
||||
if (substr($vhcs, -1) === ",") {
|
||||
$vhcs = substr($vhcs, 0, -1);
|
||||
}
|
||||
}
|
||||
}
|
||||
$data["is_tracking"] = $req->is_tracking;
|
||||
$data["vhcs"] = $vhcs;
|
||||
|
||||
// if ($req->roles == Users::ROLE_VENDOR) {
|
||||
// $data["bank_id"] = $req->bank_id;
|
||||
// $data["bank_code"] = $req->bank_code;
|
||||
// $data["bank_name"] = $req->bank_name;
|
||||
// $data["bank_short_name"] = $req->bank_short;
|
||||
// $data["bank_branch_name"] = $req->bank_branch_name;
|
||||
// $data["bank_acc_number"] = $req->bank_acc_number;
|
||||
// $data["bank_acc_name"] = $req->bank_acc_name;
|
||||
// $data["is_vdr_bcng"] = $req->is_vdr_bcng;
|
||||
// }
|
||||
|
||||
$data["updt"] = $now;
|
||||
$data["updt_by"] = $req->auth->uid;
|
||||
|
||||
$data["role"] = 2;
|
||||
|
||||
DB::beginTransaction();
|
||||
|
||||
Users::updateUser($req->uid, $data);
|
||||
|
||||
DB::table("model_has_roles")
|
||||
->where("model_id", $req->uid)
|
||||
->delete();
|
||||
|
||||
if ($req->roles) {
|
||||
DB::table("model_has_roles")
|
||||
->where("model_id", $req->uid)
|
||||
->delete();
|
||||
|
||||
DB::table("model_has_roles")->insert([
|
||||
"role_id" => $req->roles,
|
||||
"model_type" => "App\\User", // atau 'App\User' tergantung struktur kamu
|
||||
"model_id" => $req->uid, // ID user-nya
|
||||
"model_type" => "App\\User",
|
||||
"model_id" => $req->uid,
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user