diff --git a/app/Http/Controllers/SettingsController.php b/app/Http/Controllers/SettingsController.php
index d2cd2f1997..32d3205886 100644
--- a/app/Http/Controllers/SettingsController.php
+++ b/app/Http/Controllers/SettingsController.php
@@ -924,7 +924,7 @@ class SettingsController extends Controller
* @since v5.0.0
*/
public function postSamlSettings(SettingsSamlRequest $request) : RedirectResponse
- {
+ {
if (is_null($setting = Setting::getSettings())) {
return redirect()->to('admin')->with('error', trans('admin/settings/message.update.error'));
}
diff --git a/app/Http/Requests/SettingsSamlRequest.php b/app/Http/Requests/SettingsSamlRequest.php
index 2ab876141a..f5483df9d2 100644
--- a/app/Http/Requests/SettingsSamlRequest.php
+++ b/app/Http/Requests/SettingsSamlRequest.php
@@ -41,6 +41,7 @@ class SettingsSamlRequest extends FormRequest
public function withValidator($validator)
{
$validator->after(function ($validator) {
+ $setting = Setting::getSettings();
if ($this->input('saml_enabled') == '1') {
$idpMetadata = $this->input('saml_idp_metadata');
if (! empty($idpMetadata)) {
@@ -56,7 +57,7 @@ class SettingsSamlRequest extends FormRequest
}
}
- $was_custom_x509cert = strpos(Setting::getSettings()->saml_custom_settings, 'sp_x509cert') !== false;
+ $was_custom_x509cert = strpos($setting->saml_custom_settings, 'sp_x509cert') !== false;
$custom_x509cert = '';
$custom_privateKey = '';
@@ -126,10 +127,14 @@ class SettingsSamlRequest extends FormRequest
}
if (! (empty($x509cert) && empty($privateKey))) {
- $this->merge([
- 'saml_sp_x509cert' => $x509cert,
- 'saml_sp_privatekey' => $privateKey,
- ]);
+// $this->merge([
+// 'saml_sp_x509cert' => $x509cert,
+// 'saml_sp_privatekey' => $privateKey,
+// ]);
+ $setting->saml_sp_x509cert = $x509cert;
+ $setting->saml_sp_privatekey = $privateKey;
+ $setting->save();
+
}
} else {
$validator->errors()->add('saml_integration', 'openssl.cnf is missing/invalid');
@@ -145,15 +150,21 @@ class SettingsSamlRequest extends FormRequest
}
if (! empty($x509certNew)) {
- $this->merge([
- 'saml_sp_x509certNew' => $x509certNew,
- ]);
+// $this->merge([
+// 'saml_sp_x509certNew' => $x509certNew,
+// ]);
+ $setting->saml_sp_x509certNew = $x509certNew;
+ $setting->save();
}
} else {
- $this->merge([
- 'saml_sp_x509certNew' => '',
- ]);
+// $this->merge([
+// 'saml_sp_x509certNew' => '',
+// ]);
+ $setting->saml_sp_x509certNew = '';
+ $setting->save();
}
+
+
});
}
}
diff --git a/app/Importer/Importer.php b/app/Importer/Importer.php
index 0d4b8d4932..66b1e60dbf 100644
--- a/app/Importer/Importer.php
+++ b/app/Importer/Importer.php
@@ -88,6 +88,7 @@ abstract class Importer
'department' => 'department',
'manager_name' => 'manager full name',
'manager_username' => 'manager username',
+ 'manager_employee_num' => 'manager employee number',
'min_amt' => 'minimum quantity',
'remote' => 'remote',
'vip' => 'vip',
diff --git a/app/Importer/ItemImporter.php b/app/Importer/ItemImporter.php
index 9283e79ab9..92f44d991d 100644
--- a/app/Importer/ItemImporter.php
+++ b/app/Importer/ItemImporter.php
@@ -353,16 +353,27 @@ class ItemImporter extends Importer
* @param $user_manager string
* @return int id of company created/found
*/
- public function fetchManager($user_manager_first_name, $user_manager_last_name)
+ public function fetchManager($user_manager_username = null, $user_manager_employee_num = null, $user_manager_first_name = null, $user_manager_last_name = null)
{
- $manager = User::where('first_name', '=', $user_manager_first_name)
- ->where('last_name', '=', $user_manager_last_name)->first();
+ if ($user_manager_username!='') {
+ $manager = User::where('username', '=', $user_manager_username)->first();
+ $this->log('Checking on username '.$user_manager_username);
+ } elseif ($user_manager_employee_num!='') {
+ $manager = User::where('employee_num', '=', $user_manager_employee_num)->first();
+ $this->log('Checking on employee_num '.$user_manager_employee_num);
+ } else {
+ $manager = User::where('first_name', '=', $user_manager_first_name)
+ ->where('last_name', '=', $user_manager_last_name)->first();
+ $this->log('Checking on full name');
+ }
+
if ($manager) {
$this->log('A matching Manager '.$user_manager_first_name.' '.$user_manager_last_name.' already exists');
return $manager->id;
}
- $this->log('No matching Manager '.$user_manager_first_name.' '.$user_manager_last_name.' found. If their user account is being created through this import, you should re-process this file again. ');
+
+ $this->log('No matching Manager found. If their user account is being created through this import, you should re-process this file again. ');
return null;
}
diff --git a/app/Importer/UserImporter.php b/app/Importer/UserImporter.php
index 77317b3d09..29722fc98b 100644
--- a/app/Importer/UserImporter.php
+++ b/app/Importer/UserImporter.php
@@ -62,7 +62,7 @@ class UserImporter extends ItemImporter
$this->item['activated'] = ($this->fetchHumanBoolean(trim($this->findCsvMatch($row, 'activated'))) == 1) ? '1' : 0;
$this->item['employee_num'] = trim($this->findCsvMatch($row, 'employee_num'));
$this->item['department_id'] = trim($this->createOrFetchDepartment(trim($this->findCsvMatch($row, 'department'))));
- $this->item['manager_id'] = $this->fetchManager(trim($this->findCsvMatch($row, 'manager_first_name')), trim($this->findCsvMatch($row, 'manager_last_name')));
+ $this->item['manager_id'] = $this->fetchManager(trim($this->findCsvMatch($row, 'manager_username')), trim($this->findCsvMatch($row, 'manager_employee_num')), trim($this->findCsvMatch($row, 'manager_first_name')), trim($this->findCsvMatch($row, 'manager_last_name')));
$this->item['remote'] = ($this->fetchHumanBoolean(trim($this->findCsvMatch($row, 'remote'))) == 1 ) ? '1' : 0;
$this->item['vip'] = ($this->fetchHumanBoolean(trim($this->findCsvMatch($row, 'vip'))) ==1 ) ? '1' : 0;
$this->item['autoassign_licenses'] = ($this->fetchHumanBoolean(trim($this->findCsvMatch($row, 'autoassign_licenses'))) ==1 ) ? '1' : 0;
diff --git a/app/Livewire/Importer.php b/app/Livewire/Importer.php
index 4802eb8125..f0ba0d735a 100644
--- a/app/Livewire/Importer.php
+++ b/app/Livewire/Importer.php
@@ -330,6 +330,8 @@ class Importer extends Component
'location' => trans('general.location'),
'manager_first_name' => trans('general.importer.manager_first_name'),
'manager_last_name' => trans('general.importer.manager_last_name'),
+ 'manager_employee_num' => trans('general.importer.manager_employee_num'),
+ 'manager_username' => trans('general.importer.manager_username'),
'notes' => trans('general.notes'),
'phone_number' => trans('admin/users/table.phone'),
'remote' => trans('admin/users/general.remote'),
diff --git a/resources/lang/en-US/general.php b/resources/lang/en-US/general.php
index 483d11fc9a..ffed385d38 100644
--- a/resources/lang/en-US/general.php
+++ b/resources/lang/en-US/general.php
@@ -514,6 +514,7 @@ return [
'manager_last_name' => 'Manager Last Name',
'manager_full_name' => 'Manager Full Name',
'manager_username' => 'Manager Username',
+ 'manager_employee_num' => 'Manager Employee Number',
'checkout_type' => 'Checkout Type',
'checkout_location' => 'Checkout to Location',
'image_filename' => 'Image Filename',
diff --git a/resources/views/settings/saml.blade.php b/resources/views/settings/saml.blade.php
index 63625e5749..e57218f046 100644
--- a/resources/views/settings/saml.blade.php
+++ b/resources/views/settings/saml.blade.php
@@ -85,6 +85,7 @@