mirror of
https://github.com/snipe/snipe-it.git
synced 2025-01-13 15:01:02 -08:00
adds manager field to LDAP sync
This commit is contained in:
parent
55680762de
commit
c1f8252388
|
@ -56,6 +56,7 @@ class LdapSync extends Command
|
||||||
$ldap_result_jobtitle = Setting::getSettings()->ldap_jobtitle;
|
$ldap_result_jobtitle = Setting::getSettings()->ldap_jobtitle;
|
||||||
$ldap_result_country = Setting::getSettings()->ldap_country;
|
$ldap_result_country = Setting::getSettings()->ldap_country;
|
||||||
$ldap_result_dept = Setting::getSettings()->ldap_dept;
|
$ldap_result_dept = Setting::getSettings()->ldap_dept;
|
||||||
|
$ldap_result_manager = Setting::getSettings()->ldap_manager;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$ldapconn = Ldap::connectToLdap();
|
$ldapconn = Ldap::connectToLdap();
|
||||||
|
@ -184,12 +185,12 @@ class LdapSync extends Command
|
||||||
$item['jobtitle'] = isset($results[$i][$ldap_result_jobtitle][0]) ? $results[$i][$ldap_result_jobtitle][0] : '';
|
$item['jobtitle'] = isset($results[$i][$ldap_result_jobtitle][0]) ? $results[$i][$ldap_result_jobtitle][0] : '';
|
||||||
$item['country'] = isset($results[$i][$ldap_result_country][0]) ? $results[$i][$ldap_result_country][0] : '';
|
$item['country'] = isset($results[$i][$ldap_result_country][0]) ? $results[$i][$ldap_result_country][0] : '';
|
||||||
$item['department'] = isset($results[$i][$ldap_result_dept][0]) ? $results[$i][$ldap_result_dept][0] : '';
|
$item['department'] = isset($results[$i][$ldap_result_dept][0]) ? $results[$i][$ldap_result_dept][0] : '';
|
||||||
|
$item['manager'] = isset($results[$i][$ldap_result_manager][0]) ? $results[$i][$ldap_result_manager][0] : '';
|
||||||
|
|
||||||
$department = Department::firstOrCreate([
|
$department = Department::firstOrCreate([
|
||||||
'name' => $item['department'],
|
'name' => $item['department'],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
|
||||||
$user = User::where('username', $item['username'])->first();
|
$user = User::where('username', $item['username'])->first();
|
||||||
if ($user) {
|
if ($user) {
|
||||||
// Updating an existing user.
|
// Updating an existing user.
|
||||||
|
@ -212,6 +213,15 @@ class LdapSync extends Command
|
||||||
$user->country = $item['country'];
|
$user->country = $item['country'];
|
||||||
$user->department_id = $department->id;
|
$user->department_id = $department->id;
|
||||||
|
|
||||||
|
if($item['manager']!= null) {
|
||||||
|
//Captures only the Canonical Name
|
||||||
|
$item['manager'] = ltrim($item['manager'], "CN=");
|
||||||
|
$item['manager'] = substr($item['manager'],0, strpos($item['manager'], ','));
|
||||||
|
$ldap_manager = User::where('username', $item['manager'])->first();
|
||||||
|
$user->manager_id = $ldap_manager->id;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Sync activated state for Active Directory.
|
// Sync activated state for Active Directory.
|
||||||
if (array_key_exists('useraccountcontrol', $results[$i])) {
|
if (array_key_exists('useraccountcontrol', $results[$i])) {
|
||||||
/* The following is _probably_ the correct logic, but we can't use it because
|
/* The following is _probably_ the correct logic, but we can't use it because
|
||||||
|
|
|
@ -54,6 +54,7 @@ class UsersController extends Controller
|
||||||
'users.locale',
|
'users.locale',
|
||||||
'users.location_id',
|
'users.location_id',
|
||||||
'users.manager_id',
|
'users.manager_id',
|
||||||
|
'users.manager_name',
|
||||||
'users.notes',
|
'users.notes',
|
||||||
'users.permissions',
|
'users.permissions',
|
||||||
'users.phone',
|
'users.phone',
|
||||||
|
|
|
@ -52,6 +52,7 @@ class User extends SnipeModel implements AuthenticatableContract, AuthorizableCo
|
||||||
'locale',
|
'locale',
|
||||||
'location_id',
|
'location_id',
|
||||||
'manager_id',
|
'manager_id',
|
||||||
|
'manager_name',
|
||||||
'password',
|
'password',
|
||||||
'phone',
|
'phone',
|
||||||
'notes',
|
'notes',
|
||||||
|
|
Loading…
Reference in a new issue