I need help. I only need to be able to view one user for a post in OctoberCMS.
But all users will always show up to me.
Here’s the code that works, but I don’t know how to define it to work the way I need it.
idea: https://ibb.co/VM2Rrr3
JavaScript
x
public function getUserOptions()
{
$result = [0 => 'indikator.news::lang.form.select_user'];
$users = Db::table('backend_users')->orderBy('login', 'asc')->get()->all();
foreach ($users as $user) {
$name = trim($user->first_name.' '.$user->last_name);
$name = ($name != '') ? ' ('.$name.')' : '';
$result[$user->id] = $user->login.$name;
}
return $result;
}
Advertisement
Answer
Use this as user who is creating project is user who is currently logged in so we can use current logged-in user
that.
JavaScript
use BackendAuth;
public function getUserOptions()
{
// placeholder
$result = [0 => 'indikator.news::lang.form.select_user'];
// only back-end user which is currently logged in
// it will be available always as we are in back-end :)
$user = BackendAuth::getUser();
$result[$user->id] = $user->login; // or $user->email;
return $result;
}
It will get logged in user and show in drop-down for selection [ or even you skip place-holder to have only 1 selected option]
if any doubts please comment.