-
Notifications
You must be signed in to change notification settings - Fork 146
Expand file tree
/
Copy path_user.php
More file actions
69 lines (64 loc) · 2.44 KB
/
Copy path_user.php
File metadata and controls
69 lines (64 loc) · 2.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<?php
/*
* This file is part of the 2amigos/yii2-usuario project.
*
* (c) 2amigOS! <http://2amigos.us/>
*
* For the full copyright and license information, please view
* the LICENSE file that was distributed with this source code.
*/
/**
* @var yii\widgets\ActiveForm $form
* @var \Da\User\Model\User $user
*/
use Da\User\Dictionary\UserSourceType;
use dosamigos\selectize\SelectizeTextInput;
use yii\helpers\Html;
use yii\helpers\Url;
$source = Yii::$app->request->get('source') ?: $user->source;
$ldapUidId = Html::getInputId($user, 'ldapUid');
$sourceId = Html::getInputId($user, 'source');
$this->registerJs(<<<JS
function updateFromLdap(data) {
$("#$ldapUidId").val(data).change();
}
$('#$sourceId').change(function() {
var source = $(this).val();
$.pjax.reload({container: '#pjax-user-create', data: {source: source}})
})
JS);
if ($user->isNewRecord) {
if (Yii::$app->getModule('user')->searchUsersInLdap && $source == UserSourceType::LDAP) {
echo $form->field($user, 'source')->dropDownList(UserSourceType::all(), ['value' => $source]);
echo $form->field($user, 'ldapUid')->widget(SelectizeTextInput::class, [
'loadUrl' => Url::to(['/usuario-ldap/ldap/search']),
'queryParam' => 'q',
'options' => [
'placeholder' => Yii::t('usuario', 'Filter as you type...'),
'autocomplete' => 'off',
],
'clientOptions' => [
'valueField' => 'value',
'labelField' => 'label',
'searchField' => ['value', 'label', 'q'],
'create' => false,
'maxItems' => 1,
'onChange' => new \yii\web\JsExpression("
function(value) {
console.log(value);
updateFromLdap(value);
}
"),
],
]);
} else {
echo $form->field($user, 'source')->dropDownList(UserSourceType::all(), ['value' => $source]);
echo $form->field($user, 'email')->textInput(['maxlength' => 255]);
echo $form->field($user, 'username')->textInput(['maxlength' => 255]);
echo $form->field($user, 'password')->passwordInput();
}
} else {
echo $form->field($user, 'email')->textInput(['maxlength' => 255]);
echo $form->field($user, 'username')->textInput(['maxlength' => 255]);
echo $form->field($user, 'password')->passwordInput();
}