added views and Authclients

This commit is contained in:
Antonio Ramirez
2016-12-10 20:55:17 +01:00
parent 1c863f815a
commit 6d47dcaf22
41 changed files with 1876 additions and 5 deletions

View File

@ -0,0 +1,47 @@
<?php
/*
* This file is part of the Dektrium project.
*
* (c) Dektrium project <http://github.com/dektrium>
*
* For the full copyright and license information, please view the LICENSE.md
* file that was distributed with this source code.
*/
use yii\helpers\Html;
use yii\widgets\Menu;
/** @var dektrium\user\models\User $user */
$user = Yii::$app->user->identity;
$networksVisible = count(Yii::$app->authClientCollection->clients) > 0;
?>
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">
<?= Html::img($user->profile->getAvatarUrl(24), [
'class' => 'img-rounded',
'alt' => $user->username,
]) ?>
<?= $user->username ?>
</h3>
</div>
<div class="panel-body">
<?= Menu::widget([
'options' => [
'class' => 'nav nav-pills nav-stacked',
],
'items' => [
['label' => Yii::t('user', 'Profile'), 'url' => ['/user/settings/profile']],
['label' => Yii::t('user', 'Account'), 'url' => ['/user/settings/account']],
[
'label' => Yii::t('user', 'Networks'),
'url' => ['/user/settings/networks'],
'visible' => $networksVisible
],
],
]) ?>
</div>
</div>

View File

@ -0,0 +1,88 @@
<?php
/*
* This file is part of the Dektrium project.
*
* (c) Dektrium project <http://github.com/dektrium>
*
* For the full copyright and license information, please view the LICENSE.md
* file that was distributed with this source code.
*/
use yii\helpers\Html;
use yii\widgets\ActiveForm;
/**
* @var $this yii\web\View
* @var $form yii\widgets\ActiveForm
* @var $model dektrium\user\models\SettingsForm
*/
$this->title = Yii::t('user', 'Account settings');
$this->params['breadcrumbs'][] = $this->title;
?>
<?= $this->render('/_alert', ['module' => Yii::$app->getModule('user')]) ?>
<div class="row">
<div class="col-md-3">
<?= $this->render('_menu') ?>
</div>
<div class="col-md-9">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title"><?= Html::encode($this->title) ?></h3>
</div>
<div class="panel-body">
<?php $form = ActiveForm::begin([
'id' => 'account-form',
'options' => ['class' => 'form-horizontal'],
'fieldConfig' => [
'template' => "{label}\n<div class=\"col-lg-9\">{input}</div>\n<div class=\"col-sm-offset-3 col-lg-9\">{error}\n{hint}</div>",
'labelOptions' => ['class' => 'col-lg-3 control-label'],
],
'enableAjaxValidation' => true,
'enableClientValidation' => false,
]); ?>
<?= $form->field($model, 'email') ?>
<?= $form->field($model, 'username') ?>
<?= $form->field($model, 'new_password')->passwordInput() ?>
<hr />
<?= $form->field($model, 'current_password')->passwordInput() ?>
<div class="form-group">
<div class="col-lg-offset-3 col-lg-9">
<?= Html::submitButton(Yii::t('user', 'Save'), ['class' => 'btn btn-block btn-success']) ?><br>
</div>
</div>
<?php ActiveForm::end(); ?>
</div>
</div>
<?php if ($model->module->enableAccountDelete): ?>
<div class="panel panel-danger">
<div class="panel-heading">
<h3 class="panel-title"><?= Yii::t('user', 'Delete account') ?></h3>
</div>
<div class="panel-body">
<p>
<?= Yii::t('user', 'Once you delete your account, there is no going back') ?>.
<?= Yii::t('user', 'It will be deleted forever') ?>.
<?= Yii::t('user', 'Please be certain') ?>.
</p>
<?= Html::a(Yii::t('user', 'Delete account'), ['delete'], [
'class' => 'btn btn-danger',
'data-method' => 'post',
'data-confirm' => Yii::t('user', 'Are you sure? There is no going back'),
]) ?>
</div>
</div>
<?php endif ?>
</div>
</div>

View File

@ -0,0 +1,72 @@
<?php
/*
* This file is part of the Dektrium project.
*
* (c) Dektrium project <http://github.com/dektrium>
*
* For the full copyright and license information, please view the LICENSE.md
* file that was distributed with this source code.
*/
use dektrium\user\widgets\Connect;
use yii\helpers\Html;
/*
* @var yii\web\View $this
* @var yii\widgets\ActiveForm $form
*/
$this->title = Yii::t('user', 'Networks');
$this->params['breadcrumbs'][] = $this->title;
?>
<?= $this->render('/_alert', ['module' => Yii::$app->getModule('user')]) ?>
<div class="row">
<div class="col-md-3">
<?= $this->render('_menu') ?>
</div>
<div class="col-md-9">
<div class="panel panel-default">
<div class="panel-heading">
<?= Html::encode($this->title) ?>
</div>
<div class="panel-body">
<div class="alert alert-info">
<p><?= Yii::t('user', 'You can connect multiple accounts to be able to log in using them') ?>.</p>
</div>
<?php $auth = Connect::begin([
'baseAuthUrl' => ['/user/security/auth'],
'accounts' => $user->accounts,
'autoRender' => false,
'popupMode' => false,
]) ?>
<table class="table">
<?php foreach ($auth->getClients() as $client): ?>
<tr>
<td style="width: 32px; vertical-align: middle">
<?= Html::tag('span', '', ['class' => 'auth-icon ' . $client->getName()]) ?>
</td>
<td style="vertical-align: middle">
<strong><?= $client->getTitle() ?></strong>
</td>
<td style="width: 120px">
<?= $auth->isConnected($client) ?
Html::a(Yii::t('user', 'Disconnect'), $auth->createClientUrl($client), [
'class' => 'btn btn-danger btn-block',
'data-method' => 'post',
]) :
Html::a(Yii::t('user', 'Connect'), $auth->createClientUrl($client), [
'class' => 'btn btn-success btn-block',
])
?>
</td>
</tr>
<?php endforeach; ?>
</table>
<?php Connect::end() ?>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,90 @@
<?php
/*
* This file is part of the Dektrium project.
*
* (c) Dektrium project <http://github.com/dektrium>
*
* For the full copyright and license information, please view the LICENSE.md
* file that was distributed with this source code.
*/
use yii\helpers\Html;
/**
* @var yii\web\View $this
* @var yii\widgets\ActiveForm $form
* @var dektrium\user\models\Profile $profile
*/
$this->title = Yii::t('user', 'Profile settings');
$this->params['breadcrumbs'][] = $this->title;
?>
<?= $this->render('/_alert', ['module' => Yii::$app->getModule('user')]) ?>
<div class="row">
<div class="col-md-3">
<?= $this->render('_menu') ?>
</div>
<div class="col-md-9">
<div class="panel panel-default">
<div class="panel-heading">
<?= Html::encode($this->title) ?>
</div>
<div class="panel-body">
<?php $form = \yii\widgets\ActiveForm::begin([
'id' => 'profile-form',
'options' => ['class' => 'form-horizontal'],
'fieldConfig' => [
'template' => "{label}\n<div class=\"col-lg-9\">{input}</div>\n<div class=\"col-sm-offset-3 col-lg-9\">{error}\n{hint}</div>",
'labelOptions' => ['class' => 'col-lg-3 control-label'],
],
'enableAjaxValidation' => true,
'enableClientValidation' => false,
'validateOnBlur' => false,
]); ?>
<?= $form->field($model, 'name') ?>
<?= $form->field($model, 'public_email') ?>
<?= $form->field($model, 'website') ?>
<?= $form->field($model, 'location') ?>
<?= $form
->field($model, 'timezone')
->dropDownList(
\yii\helpers\ArrayHelper::map(
\dektrium\user\helpers\Timezone::getAll(),
'timezone',
'name'
)
); ?>
<?= $form
->field($model, 'gravatar_email')
->hint(
\yii\helpers\Html::a(
Yii::t('user', 'Change your avatar at Gravatar.com'),
'http://gravatar.com'
)
) ?>
<?= $form->field($model, 'bio')->textarea() ?>
<div class="form-group">
<div class="col-lg-offset-3 col-lg-9">
<?= \yii\helpers\Html::submitButton(
Yii::t('user', 'Save'),
['class' => 'btn btn-block btn-success']
) ?><br>
</div>
</div>
<?php \yii\widgets\ActiveForm::end(); ?>
</div>
</div>
</div>
</div>