Commit c7971bf4b4d2f22f89a9f22d01b14a8417a56c7d

Authored by Виталий
1 parent 57bb4b5a

git

frontend/views/accounts/_portfolio_form.php
1 1 <?php
2   - /**
3   - * @var View $this
4   - * @var Portfolio $portfolio
5   - * @var integer[] $specializations
6   - * @var string[] $galleries
7   - * @var PortfolioUser[] $portfolioUsers
8   - * @var PortfolioUser[] $portfolioUsersConfirmed
9   - */
10   - use common\components\Request;
11   - use common\models\Option;
12   - use common\models\Portfolio;
13   - use common\models\PortfolioUser;
14   - use common\models\Specialization;
15   - use common\modules\file\widgets\ImageUploader;
16   - use common\modules\file\widgets\ImageUploaderInput;
17   - use mihaildev\ckeditor\CKEditor;
18   - use yii\helpers\ArrayHelper;
19   - use yii\helpers\Html;
20   - use yii\web\View;
21   - use yii\widgets\ActiveForm;
22   - use \common\widgets\MultiLangForm;
23   - use kartik\select2\Select2;
24   - use yii\web\JsExpression;
  2 +/**
  3 + * @var View $this
  4 + * @var Portfolio $portfolio
  5 + * @var integer[] $specializations
  6 + * @var string[] $galleries
  7 + * @var PortfolioUser[] $portfolioUsers
  8 + * @var PortfolioUser[] $portfolioUsersConfirmed
  9 + */
  10 +use common\components\Request;
  11 +use common\models\Option;
  12 +use common\models\Portfolio;
  13 +use common\models\PortfolioUser;
  14 +use common\models\Specialization;
  15 +use common\modules\file\widgets\ImageUploader;
  16 +use common\modules\file\widgets\ImageUploaderInput;
  17 +use mihaildev\ckeditor\CKEditor;
  18 +use yii\helpers\ArrayHelper;
  19 +use yii\helpers\Html;
  20 +use yii\web\View;
  21 +use yii\widgets\ActiveForm;
  22 +use \common\widgets\MultiLangForm;
  23 +use kartik\select2\Select2;
  24 +use yii\web\JsExpression;
25 25  
26   - $this->title = 'Портфолио';
27   - $this->params[ 'breadcrumbs' ][] = $this->title;
  26 +$this->title = 'Портфолио';
  27 +$this->params[ 'breadcrumbs' ][] = $this->title;
28 28 ?>
29 29 <div class="login-left-column-title"><?= $this->title ?></div>
30 30  
31 31 <?php
32   - $form = ActiveForm::begin();
  32 +$form = ActiveForm::begin();
33 33 ?>
34 34 <div class="input-blocks-wrapper full-blocks data-block">
35 35 <?= !empty( $portfolio->date_add ) ? "Дата создания: $portfolio->date_add" : "" ?>
... ... @@ -40,7 +40,7 @@
40 40 <div class="input-blocks-wrapper">
41 41 <div class="input-blocks">
42 42 <?= $form->field($portfolio, 'name')
43   - ->textInput([ 'class' => 'custom-input-2 fix-input-2' ]); ?>
  43 + ->textInput([ 'class' => 'custom-input-2 fix-input-2' ]); ?>
44 44 </div>
45 45 </div>
46 46  
... ... @@ -71,13 +71,13 @@
71 71 <?= $form->field($portfolio, "specializationInput[{$child_second->specialization_id}]", [
72 72 'template' => '{input}{label}{hint}{error}',
73 73 ])
74   - ->label('<span></span>' . $child_second->specialization_name)
75   - ->checkbox([
76   - 'value' => $child_second->specialization_id,
77   - 'label' => NULL,
78   - 'uncheck' => NULL,
79   - 'class' => 'custom-check',
80   - ], false) ?>
  74 + ->label('<span></span>' . $child_second->specialization_name)
  75 + ->checkbox([
  76 + 'value' => $child_second->specialization_id,
  77 + 'label' => NULL,
  78 + 'uncheck' => NULL,
  79 + 'class' => 'custom-check',
  80 + ], false) ?>
81 81 </a>
82 82 </li>
83 83 <?php endif; ?>
... ... @@ -105,126 +105,126 @@
105 105 <div class="input-blocks-wrapper admin-avatar admin-blog-min-img admin-portfolio-foto">
106 106 <div style="font-size: 13px;color: inherit;font-weight: 700;">Фото главное</div>
107 107 <?= $form->field($portfolio, 'cover')
108   - ->widget(ImageUploaderInput::className(), [
109   - 'size' => [
110   - [
111   - 'width' => 720,
112   - 'height' => 280,
113   - ],
114   - [
115   - 'width' => 318,
116   - 'height' => 228,
117   - ],
118   - [
119   - 'width' => 152,
120   - 'height' => 108,
121   - ],
122   - [
123   - 'width' => 210,
124   - 'height' => 150,
125   - ],
126   - ],
127   - 'multi' => false,
128   - 'gallery' => $portfolio->cover,
129   - 'name' => 'Загрузить фото',
130   - ]); ?>
  108 + ->widget(ImageUploaderInput::className(), [
  109 + 'size' => [
  110 + [
  111 + 'width' => 720,
  112 + 'height' => 280,
  113 + ],
  114 + [
  115 + 'width' => 318,
  116 + 'height' => 228,
  117 + ],
  118 + [
  119 + 'width' => 152,
  120 + 'height' => 108,
  121 + ],
  122 + [
  123 + 'width' => 210,
  124 + 'height' => 150,
  125 + ],
  126 + ],
  127 + 'multi' => false,
  128 + 'gallery' => $portfolio->cover,
  129 + 'name' => 'Загрузить фото',
  130 + ]); ?>
131 131 </div>
132 132  
133 133 <div class="input-blocks-wrapper">
134 134 <div class="input-blocks admin-project-list admin-currency-second admin-portfolio-select">
135 135 <?= $form->field($portfolio, 'gallery_id')
136   - ->hint("<p>Для создания галереи перейдите по " . Html::a('ссылке', [ 'accounts/gallery-create' ], [ 'target' => '_BLANK' ]) . "</p>")
137   - ->dropDownList($galleries, [ 'prompt' => 'Выберите галерею' ]) ?>
  136 + ->hint("<p>Для создания галереи перейдите по " . Html::a('ссылке', [ 'accounts/gallery-create' ], [ 'target' => '_BLANK' ]) . "</p>")
  137 + ->dropDownList($galleries, [ 'prompt' => 'Выберите галерею' ]) ?>
138 138 </div>
139 139 </div>
140 140  
141 141 <div class="input-blocks-wrapper">
142 142 <div class="input-blocks">
143 143 <?= $form->field($portfolio, 'city')
144   - ->widget(Select2::classname(), [
145   - 'options' => [ 'class' => 'Выбор города ...' ],
146   - 'pluginOptions' => [
147   - 'allowClear' => true,
148   - 'minimumInputLength' => 3,
149   - 'ajax' => [
150   - 'url' => \yii\helpers\Url::to([ 'site/city' ]),
151   - 'dataType' => 'json',
152   - 'data' => new JsExpression('function(params) { return {q:params.term}; }'),
153   - ],
154   - 'escapeMarkup' => new JsExpression('function (markup) { return markup; }'),
155   - 'templateResult' => new JsExpression('function(city) { return city.text; }'),
156   - 'templateSelection' => new JsExpression('function (city) { return city.text; }'),
157   - ],
158   - ]); ?>
  144 + ->widget(Select2::classname(), [
  145 + 'options' => [ 'class' => 'Выбор города ...' ],
  146 + 'pluginOptions' => [
  147 + 'allowClear' => true,
  148 + 'minimumInputLength' => 3,
  149 + 'ajax' => [
  150 + 'url' => \yii\helpers\Url::to([ 'site/city' ]),
  151 + 'dataType' => 'json',
  152 + 'data' => new JsExpression('function(params) { return {q:params.term}; }'),
  153 + ],
  154 + 'escapeMarkup' => new JsExpression('function (markup) { return markup; }'),
  155 + 'templateResult' => new JsExpression('function(city) { return city.text; }'),
  156 + 'templateSelection' => new JsExpression('function (city) { return city.text; }'),
  157 + ],
  158 + ]); ?>
159 159  
160 160 </div>
161 161  
162 162 <div class="input-blocks street-input">
163 163 <?= $form->field($portfolio, 'street', [ 'options' => [ 'class' => 'form-group company_info' ] ])
164   - ->label('Улица')
165   - ->textInput([ 'class' => 'custom-input-2' ]); ?>
  164 + ->label('Улица')
  165 + ->textInput([ 'class' => 'custom-input-2' ]); ?>
166 166 </div>
167 167  
168 168 <div class="input-blocks home-input">
169 169 <?= $form->field($portfolio, 'house', [ 'options' => [ 'class' => 'form-group company_info' ] ])
170   - ->label('Дом')
171   - ->textInput([ 'class' => 'custom-input-2' ]); ?>
  170 + ->label('Дом')
  171 + ->textInput([ 'class' => 'custom-input-2' ]); ?>
172 172 </div>
173 173 </div>
174 174  
175 175 <div class="input-blocks-wrapper full-blocks admin-editor-bl">
176 176 <div class="input-blocks">
177 177 <?= $form->field($portfolio, 'preview')
178   - ->widget(CKEditor::className(), [ 'editorOptions' => [ 'preset' => 'basic' ] ]) ?>
  178 + ->widget(CKEditor::className(), [ 'editorOptions' => [ 'preset' => 'basic' ] ]) ?>
179 179 </div>
180 180 </div>
181 181  
182 182 <div class="input-blocks-wrapper full-blocks admin-editor-bl">
183 183 <div class="input-blocks">
184 184 <?= $form->field($portfolio, 'description')
185   - ->widget(CKEditor::className()) ?>
  185 + ->widget(CKEditor::className()) ?>
186 186 </div>
187 187 </div>
188 188  
189 189 <div class="clearfix"></div>
190 190  
191 191 <?php
192   - /* == Project add user block == */
  192 + /* == Project add user block == */
193 193 ?>
194 194 <div class="add_project_user_wrapper" id="<?= $form->id ?>_project_user">
195   - <p>Добавить пользователя</p>
196   - <p><?= Html::a('Добавить', false, [ 'class' => 'add_project_user_link' ]) ?></p>
197   - <p>Отправлено предложение:</p>
198   - <div class="add_project_user_list">
  195 + <div class="style add_participant-wr">Добавить участника(ов) проекта</div>
  196 + <div class="style" style="margin-top: 10px"><?= Html::a('Добавить', false, [ 'class' => 'add_project_user_link add-participant' ]) ?></div>
  197 + <div class="hidden_sentence style" style="display: none">Отправленные предложения:</div>
  198 + <div class="add_project_user_list style">
199 199 <?php
200   - foreach($portfolioUsers as $portfolioUser) {
201   - echo $this->render('@frontend/views/ajax/project_user', [
202   - 'model' => $portfolioUser,
203   - 'user' => $portfolioUser->user,
204   - ]);
205   - }
  200 + foreach($portfolioUsers as $portfolioUser) {
  201 + echo $this->render('@frontend/views/ajax/project_user', [
  202 + 'model' => $portfolioUser,
  203 + 'user' => $portfolioUser->user,
  204 + ]);
  205 + }
206 206 ?>
207 207 </div>
208 208 <?php
209   - if(!empty( $portfolioUsersConfirmed )) {
210   - ?>
211   - <p class="added_project_user_header">Подтвержденные:</p>
212   - <div class="added_project_user_list">
213   - <?php
214   - foreach($portfolioUsersConfirmed as $portfolioUserConfirmed) {
215   - echo $this->render('@frontend/views/ajax/project_user', [
216   - 'model' => $portfolioUserConfirmed,
217   - 'user' => $portfolioUserConfirmed->user,
218   - ]);
219   - }
220   - ?>
221   - </div>
  209 + if(!empty( $portfolioUsersConfirmed )) {
  210 + ?>
  211 + <div class="added_project_user_header _hidden_sentence style">Подтвержденные предложения:</div>
  212 + <div class="added_project_user_list">
222 213 <?php
223   - }
  214 + foreach($portfolioUsersConfirmed as $portfolioUserConfirmed) {
  215 + echo $this->render('@frontend/views/ajax/project_user', [
  216 + 'model' => $portfolioUserConfirmed,
  217 + 'user' => $portfolioUserConfirmed->user,
  218 + ]);
  219 + }
  220 + ?>
  221 + </div>
  222 + <?php
  223 + }
224 224 ?>
225 225 </div>
226 226 <?php
227   - /* == End of project add user block == */
  227 + /* == End of project add user block == */
228 228 ?>
229 229  
230 230 </div>
... ... @@ -234,18 +234,18 @@
234 234 <?= Html::submitButton($portfolio->isNewRecord ? Yii::t('app', 'add') : 'Обновить', [ 'class' => 'input-blocks-wrapper button' ]) ?>
235 235 <div class="admin-remove-note">
236 236 <?php
237   - if(!$portfolio->isNewRecord) {
238   - echo Html::a(Yii::t('app', 'delete'), [
239   - 'accounts/portfolio-delete',
240   - 'id' => $portfolio->portfolio_id,
241   - ], [
242   - 'title' => Yii::t('app', 'delete'),
243   - 'aria-label' => Yii::t('app', 'delete'),
244   - 'data-confirm' => Yii::t('app', 'delete_confirm'),
245   - 'data-method' => 'post',
246   - 'data-pjax' => 0,
247   - ]);
248   - }
  237 + if(!$portfolio->isNewRecord) {
  238 + echo Html::a(Yii::t('app', 'delete'), [
  239 + 'accounts/portfolio-delete',
  240 + 'id' => $portfolio->portfolio_id,
  241 + ], [
  242 + 'title' => Yii::t('app', 'delete'),
  243 + 'aria-label' => Yii::t('app', 'delete'),
  244 + 'data-confirm' => Yii::t('app', 'delete_confirm'),
  245 + 'data-method' => 'post',
  246 + 'data-pjax' => 0,
  247 + ]);
  248 + }
249 249 ?>
250 250 </div>
251 251  
... ... @@ -255,12 +255,11 @@
255 255 </div>
256 256 </div>
257 257 <?php
258   - $form->end();
  258 +$form->end();
259 259 ?>
260 260 <script>
261 261 $(document).ready(
262   - function()
263   - {
  262 + function() {
264 263 bottomButton()
265 264 function bottomButton()
266 265 {
... ... @@ -299,6 +298,17 @@
299 298 );
300 299 }
301 300 );
  301 + var blocks = $('.add_project_user_list .project_user_wrapper')
  302 + if(blocks.length>0) {
  303 + $('.hidden_sentence').css({display:'block'})
  304 + }
  305 + $('body').on('click', '.project_user_remove', function () {
  306 + blocks = $('.add_project_user_list .project_user_wrapper')
  307 + if((blocks.length-1)<1) {
  308 + $('.hidden_sentence').css({display:'none'})
  309 + }
  310 + })
  311 +
302 312 }
303 313 );
304 314 </script>
... ...
frontend/views/ajax/project_user.php
... ... @@ -10,30 +10,50 @@
10 10 use yii\web\View;
11 11  
12 12 ?>
13   -<div class="form-inline project_user_wrapper" data-id="<?=$user->id?>" <?php if($model->status == 1) { echo 'data-portfolio="'.$model->portfolio_id.'"'; } ?>>
  13 +<div class="form-inline project_user_wrapper style" data-id="<?=$user->id?>" <?php if($model->status == 1) { echo 'data-portfolio="'.$model->portfolio_id.'"'; } ?>>
14 14 <div class="error-summary">
15 15 <?=Html::errorSummary($model)?>
16 16 </div>
17   - <div class="form-group" style="display: inline-block">
18   - <label class="sr-only">User name</label>
19   - <p class="form-control-static"><?=Html::a($user->name, ['performer/common', 'performer_id' => $user->id], ['target' => '_blank'])?></p>
20   - <?=Html::activeHiddenInput($model, "[{$user->id}]user_id", ['value' => $user->id])?>
21   - <?php
22   - if($model->status == 1) {
23   - echo Html::activeHiddenInput($model, "[{$user->id}]status", ['value' => $model->status]);
24   - }
25   - ?>
26   - <?=Html::activeHiddenInput($model, "[{$user->id}]user_id", ['value' => $user->id])?>
27   - </div>
28   - <div class="form-group" style="display: inline-block">
29   - <?=Html::activeLabel($model, 'position', ['label' => Yii::t('app', 'Должность: ')])?>
30   - <?=Html::activeTextInput($model, "[{$user->id}]position", ['class' => 'form-control'])?>
31   - </div>
32   - <div class="form-group" style="display: inline-block">
33   - <?=Html::activeLabel($model, 'time', ['label' => Yii::t('app', 'Часы: ')])?>
34   - <?=Html::activeInput('number', $model, "[{$user->id}]time", ['class' => 'form-control'])?>
  17 +
  18 + <div class="input-blocks-wrapper autor_link_">
  19 + <div class="form-group">
  20 + <label class="sr-only">User name</label>
  21 + <div class="form-control-static fix-link"><?=Html::a($user->name, ['performer/common', 'performer_id' => $user->id], ['target' => '_blank'])?></div>
  22 + <?=Html::activeHiddenInput($model, "[{$user->id}]user_id", ['value' => $user->id])?>
  23 + <?php
  24 + if($model->status == 1) {
  25 + echo Html::activeHiddenInput($model, "[{$user->id}]status", ['value' => $model->status]);
  26 + }
  27 + ?>
  28 + <?=Html::activeHiddenInput($model, "[{$user->id}]user_id", ['value' => $user->id])?>
  29 + </div>
35 30 </div>
36   - <div class="form-group" style="display:inline-block">
37   - <span class="project_user_remove" style="background: url('/images/delete-ico.png'); width: 13px; height: 13px; display: block; background-size: cover; cursor:pointer"></span>
  31 +
  32 + <div class="input-blocks-wrapper" style="margin-top: 0">
  33 + <div class="input-blocks">
  34 + <div class="form-group">
  35 + <?=Html::activeLabel($model, 'position', ['label' => Yii::t('app', 'Должность: ')])?>
  36 + <?=Html::activeTextInput($model, "[{$user->id}]position", ['class' => 'form-control custom-input-2'])?>
  37 + </div>
  38 + </div>
  39 + <div class="input-blocks home-input">
  40 + <div class="form-group">
  41 + <?=Html::activeLabel($model, 'time', ['label' => Yii::t('app', 'Часы: ')])?>
  42 + <?=Html::activeInput('number', $model, "[{$user->id}]time", ['class' => 'form-control custom-input-2'])?>
  43 + </div>
  44 + </div>
  45 + <div class="form-group remove_people">
  46 + <span class="project_user_remove" style="background: url('/images/delete-ico.png') no-repeat; width: 13px; height: 13px; display: block; background-size: cover; cursor:pointer"></span>
  47 + </div>
38 48 </div>
  49 +
  50 +
  51 +
  52 +
39 53 </div>
  54 +<script>
  55 + var blocks = $('.add_project_user_list .project_user_wrapper')
  56 + if(blocks.length>0) {
  57 + $('.hidden_sentence').css({display:'block'})
  58 + }
  59 +</script>
40 60 \ No newline at end of file
... ...
frontend/web/css/style.css
... ... @@ -5060,22 +5060,22 @@ input.disabled.admin-check:checked + label, input.disabled.admin-check:checked +
5060 5060 border: 1px solid #fff;
5061 5061 }
5062 5062  
5063   -.input-blocks .required:before {
5064   - display: block;
5065   - content: "*";
5066   - color: #D40000;
5067   - position: absolute;
5068   - top: 32px;
5069   - left: -12px;
5070   - width: 15px;
5071   -}
  5063 +/*.input-blocks .required:before {*/
  5064 + /*display: block;*/
  5065 + /*content: "*";*/
  5066 + /*color: #D40000;*/
  5067 + /*position: absolute;*/
  5068 + /*top: 32px;*/
  5069 + /*left: -12px;*/
  5070 + /*width: 15px;*/
  5071 +/*}*/
5072 5072 .input-blocks .required label:before {
5073 5073 display: block;
5074 5074 content: "*";
5075 5075 color: #D40000;
5076 5076 position: absolute;
5077 5077 top: 0px;
5078   - right: -10px;
  5078 + right: -7px;
5079 5079 }
5080 5080 .input-blocks .required.required-no-star:before {
5081 5081 display: none;
... ... @@ -5749,7 +5749,7 @@ ul.menu-admin li.logout-li, ul.menu-admin li.logout-li a, ul.menu-admin li:last-
5749 5749 text-align: center;
5750 5750 margin-bottom: 50px;
5751 5751 }
5752   -.admin-save-btn button {
  5752 +.admin-save-btn button, .add-participant {
5753 5753 width: 160px;
5754 5754 height: 29px;
5755 5755 color: #fff;
... ... @@ -5762,12 +5762,25 @@ ul.menu-admin li.logout-li, ul.menu-admin li.logout-li a, ul.menu-admin li:last-
5762 5762 outline: none;
5763 5763 border-radius: 4px;
5764 5764 }
5765   -.admin-save-btn button:hover{
  5765 +.add-participant {
  5766 + display: block;
  5767 + text-align: center;
  5768 + background: #fff;
  5769 + color: #0072bc;
  5770 +
  5771 +}
  5772 +.admin-save-btn button:hover {
5766 5773 background: #fff;
5767 5774 color: #0072bc;
5768 5775 transition: 0.2s;
5769 5776 }
5770   -.admin-save-btn button:focus{background: #00568e;color: #fff;}
  5777 +.add-participant:hover {
  5778 + background: #0072bc;
  5779 + color: #fff;
  5780 + text-decoration: none;
  5781 + transition: 0.2s;
  5782 +}
  5783 +.admin-save-btn button:focus, .add-participant:active {background: #00568e;color: #fff}
5771 5784 /*select-new*/
5772 5785 .select2-container--krajee .select2-selection--single {
5773 5786 height: 29px;
... ... @@ -6152,7 +6165,7 @@ a {color: #0072bc}
6152 6165 width: 340px;
6153 6166 height: 260px;
6154 6167 }
6155   -.admin-blog-min-img .uploader-button {
  6168 +.admin-blog-min-img .uploader-button, .btn.add-participant {
6156 6169 width: auto;
6157 6170 padding: 0 10px;
6158 6171 margin-left: 0}
... ... @@ -6823,3 +6836,28 @@ li.active-menu-admin:hover a .ico_num {
6823 6836 }
6824 6837 .hint-link-check {margin-top: 23px}
6825 6838 .fix-color-datepicker .ui-datepicker-title {color: #fff}
  6839 +.form-control-static.fix-link {font-size: 13px}
  6840 +.form-control-static.fix-link a:hover {color: #0072bc; text-decoration: underline}
  6841 +.form-control.custom-input-2 {width: 300px}
  6842 +.autor_link_ .form-control-static {
  6843 + margin: 0;
  6844 + padding: 0;
  6845 + min-height: 0;
  6846 +}
  6847 +.remove_people {
  6848 + position: absolute;
  6849 + width: 13px;
  6850 + height: 13px;
  6851 + left: 414px;
  6852 + top: 30px;
  6853 +}
  6854 +.add_participant-wr {font-size: 18px; margin-top: 28px}
  6855 +.fancybox-overlay {
  6856 + z-index: 9991 !important;
  6857 +}
  6858 +.hidden_sentence, ._hidden_sentence {
  6859 + font-size: 18px;
  6860 + border-bottom: 1px solid #dcdcdc;
  6861 + margin-top: 27px;
  6862 + padding-bottom: 10px;
  6863 +}
6826 6864 \ No newline at end of file
... ...