Ошибки версии 1.25.1

Пишите о найденных ошибках в эту тему

Модераторы: Xpycm, Koduc

Правила форума
ВНИМАНИЕ! Форум не является средством гарантированной поддержки клиентов и пользователей. Поэтому на быстрый ответ тут рассчитывать не нужно, как и на ответ вообще. Сотрудники отвечают по мере своих возможностей.

На форуме действует ограничение в 3 сообщения / сутки.
Если Вы хотите сказать "спасибо", то воспользуйтесь функцией "Повысить репутацию" - зелёная иконка "плюс" под ником ответившего.

Ошибки версии 1.25.1

Сообщение support » 08 июл 2018, 16:39

Ошибки версии 1.25.1
Последний раз редактировалось support 06 окт 2018, 09:11, всего редактировалось 1 раз.
support
Гражданин
Гражданин
 
Сообщения: 183
Зарегистрирован: 28 дек 2011, 13:14
Очки репутации: 0

Re: Ошибки версии 1.25.1

Сообщение choi3837 » 01 авг 2018, 03:58

Здравствуйте, при бронировании квартиры следующая проблема:
Необходимо исправить следующие ошибки:
Необходимо заполнить поле «Время заезда».
Необходимо заполнить поле «Время выезда».
таких полей в форме вообще нет.
Тема Basis, даже в вашем демо такая проблема!
choi3837
Незнакомец
 
Сообщения: 12
Зарегистрирован: 01 авг 2018, 03:55
Очки репутации: 0

Re: Ошибки версии 1.25.1

Сообщение Foton » 01 авг 2018, 13:19

Здравствуйте,
в файле themes\basis\views\modules\booking\views\_form.php
замените:
Код: Выделить всё

<div class="full-multicolumn-first col-md-6 col-sm-6 date_z">
        <?php echo $form->labelEx($model, 'date_start'); ?>

        <?php
        if 
(!$model->date_start) {
            if (issetModule('bookingcalendar') && isset($apartment) && $apartment) {
                if (isset($forceStartDay) && $forceStartDay) {
                    $time = $forceStartDay;
                } else {
                    $time = Bookingcalendar::getFirstFreeDay($apartment->id);
                }
            } else {
                $time = time();
            }

            if (Yii::app()->language != 'ru') {
                $model->date_start = date('m/d/Y', $time);
            } else {
                $model->date_start = date('d.m.Y', $time);
                //$model->date_start = Yii::app()->dateFormatter->formatDateTime($time, 'medium', null);
            }
        }
        if (!$isSimpleForm && $useBookingCalendar) {
            $this->widget('application.modules.bookingcalendar.extensions.FFJuiDatePicker', array(
                'model' => $model,
                'attribute' => 'date_start',
                'range' => 'eval_period',
                'language' => Yii::app()->controller->datePickerLang,
                'options' => array(
                    //'showAnim'=>'fold',
                    'dateFormat' => Booking::getJsDateFormat(),
                    'minDate' => 'new Date()',
                ),
                'htmlOptions' => array(
                    'readonly' => 'true',
                    'class' => 'form-control',
                //'id' => 'date_start_' . rand(1, 9999)
                ),
            ));
            echo '<i class="fa fa-calendar" aria-hidden="true"></i>';
        } else {
            $this->widget('application.extensions.FJuiDatePicker', array(
                'model' => $model,
                'attribute' => 'date_start',
                'range' => 'eval_period',
                'language' => Yii::app()->controller->datePickerLang,
                'options' => array(
                    'showAnim' => 'fold',
                    'dateFormat' => Booking::getJsDateFormat(),
                    'minDate' => 'new Date()',
                ),
                'htmlOptions' => array(
                    'readonly' => 'true',
                    'class' => 'form-control'
                ),
            ));
            echo '<i class="fa fa-calendar" aria-hidden="true"></i>';
        }

        ?>
        <?php //echo $form->error($model,'date_start'); ?>
    </div>
    <div class="full-multicolumn-first col-md-6 col-sm-6 date_v">
        <?php echo $form->labelEx($model, 'date_end'); ?>
        <?php
        
/* if(!$model->date_end){
          $model->date_end = Yii::app()->dateFormatter->formatDateTime(time()+60*60*24, 'medium', null);
          } */
        if (!$isSimpleForm && $useBookingCalendar) {
            $this->widget('application.modules.bookingcalendar.extensions.FFJuiDatePicker', array(
                'model' => $model,
                'attribute' => 'date_end',
                'range' => 'eval_period',
                'language' => Yii::app()->controller->datePickerLang,
                'options' => array(
                    //'showAnim'=>'fold',
                    'dateFormat' => Booking::getJsDateFormat(),
                    'minDate' => 'new Date()',
                ),
                'htmlOptions' => array(
                    'readonly' => 'true',
                    'class' => 'form-control',
                //'id' => 'date_end_' . rand(1, 9999)
                ),
            ));
            echo '<i class="fa fa-calendar" aria-hidden="true"></i>';
        } else {
            $this->widget('application.extensions.FJuiDatePicker', array(
                'model' => $model,
                'attribute' => 'date_end',
                'range' => 'eval_period',
                'language' => Yii::app()->controller->datePickerLang,
                'options' => array(
                    'showAnim' => 'fold',
                    'dateFormat' => Booking::getJsDateFormat(),
                    'minDate' => 'new Date()',
                ),
                'htmlOptions' => array(
                    'readonly' => 'true',
                    'class' => 'form-control'
                ),
            ));
            echo '<i class="fa fa-calendar" aria-hidden="true"></i>';
        }

        ?>
        <?php //echo $form->error($model,'date_end');  ?>
    </div>



на:
Код: Выделить всё

<div class="full-multicolumn-first col-md-6 col-sm-6 date_z">
        <?php echo $form->labelEx($model, 'date_start'); ?>

        <?php
        if 
(!$model->date_start) {
            if (issetModule('bookingcalendar') && isset($apartment) && $apartment) {
                if (isset($forceStartDay) && $forceStartDay) {
                    $time = $forceStartDay;
                } else {
                    $time = Bookingcalendar::getFirstFreeDay($apartment->id);
                }
            } else {
                $time = time();
            }

            if (Yii::app()->language != 'ru') {
                $model->date_start = date('m/d/Y', $time);
            } else {
                $model->date_start = date('d.m.Y', $time);
                //$model->date_start = Yii::app()->dateFormatter->formatDateTime($time, 'medium', null);
            }
        }
        if (!$isSimpleForm && $useBookingCalendar) {
            $this->widget('application.modules.bookingcalendar.extensions.FFJuiDatePicker', array(
                'model' => $model,
                'attribute' => 'date_start',
                'range' => 'eval_period',
                'language' => Yii::app()->controller->datePickerLang,
                'options' => array(
                    //'showAnim'=>'fold',
                    'dateFormat' => Booking::getJsDateFormat(),
                    'minDate' => 'new Date()',
                ),
                'htmlOptions' => array(
                    'readonly' => 'true',
                    'class' => 'form-control',
                //'id' => 'date_start_' . rand(1, 9999)
                ),
            ));
            echo '<i class="fa fa-calendar" aria-hidden="true"></i>';
        } else {
            $this->widget('application.extensions.FJuiDatePicker', array(
                'model' => $model,
                'attribute' => 'date_start',
                'range' => 'eval_period',
                'language' => Yii::app()->controller->datePickerLang,
                'options' => array(
                    'showAnim' => 'fold',
                    'dateFormat' => Booking::getJsDateFormat(),
                    'minDate' => 'new Date()',
                ),
                'htmlOptions' => array(
                    'readonly' => 'true',
                    'class' => 'form-control'
                ),
            ));
            echo '<i class="fa fa-calendar" aria-hidden="true"></i>';
        }

        ?>
        <?php //echo $form->error($model,'date_start'); ?>
    </div>
    <div class="full-multicolumn-second col-md-6 col-sm-6">
        <?php echo $form->labelEx($model, 'time_in'); ?>
        <?php echo $form->dropDownList($model, 'time_in', HBooking::getTimesIn(), array('class' => 'form-control')); ?>
        <?php //echo $form->error($model,'time_in');   ?>
    </div>
</div>
<div class="form-group row">
    <div class="full-multicolumn-first col-md-6 col-sm-6 date_v">
        <?php echo $form->labelEx($model, 'date_end'); ?>
        <?php
        
/* if(!$model->date_end){
          $model->date_end = Yii::app()->dateFormatter->formatDateTime(time()+60*60*24, 'medium', null);
          } */
        if (!$isSimpleForm && $useBookingCalendar) {
            $this->widget('application.modules.bookingcalendar.extensions.FFJuiDatePicker', array(
                'model' => $model,
                'attribute' => 'date_end',
                'range' => 'eval_period',
                'language' => Yii::app()->controller->datePickerLang,
                'options' => array(
                    //'showAnim'=>'fold',
                    'dateFormat' => Booking::getJsDateFormat(),
                    'minDate' => 'new Date()',
                ),
                'htmlOptions' => array(
                    'readonly' => 'true',
                    'class' => 'form-control',
                //'id' => 'date_end_' . rand(1, 9999)
                ),
            ));
            echo '<i class="fa fa-calendar" aria-hidden="true"></i>';
        } else {
            $this->widget('application.extensions.FJuiDatePicker', array(
                'model' => $model,
                'attribute' => 'date_end',
                'range' => 'eval_period',
                'language' => Yii::app()->controller->datePickerLang,
                'options' => array(
                    'showAnim' => 'fold',
                    'dateFormat' => Booking::getJsDateFormat(),
                    'minDate' => 'new Date()',
                ),
                'htmlOptions' => array(
                    'readonly' => 'true',
                    'class' => 'form-control'
                ),
            ));
            echo '<i class="fa fa-calendar" aria-hidden="true"></i>';
        }

        ?>
        <?php //echo $form->error($model,'date_end');  ?>
    </div>
    <div class="full-multicolumn-second col-md-6 col-sm-6">
        <?php echo $form->labelEx($model, 'time_out'); ?>
        <?php echo $form->dropDownList($model, 'time_out', HBooking::getTimesOut(), array('class' => 'form-control')); ?>
        <?php //echo $form->error($model,'time_out');  ?>
    </div>

Foton
Разработчик
Разработчик
 
Сообщения: 431
Зарегистрирован: 26 янв 2012, 14:58
Очки репутации: 8

Re: Ошибки версии 1.25.1

Сообщение choi3837 » 02 авг 2018, 05:07

1 ошибка:
При бронировании квартиры и подтверждении ее же в админ панеле на определенный срок, почему то не блокируются даты и присутствует возможность забронировать на то же время одну и ту же квартиру.
2 ошибка: в админ панеле при удалении брони не чистится "календарь бронирования", то есть удаленные брони на нем все еще присутствует, чистка кэша не помогает.
Тема Basis. Версия движка Open Real Estate PRO V1.25.1
choi3837
Незнакомец
 
Сообщения: 12
Зарегистрирован: 01 авг 2018, 03:55
Очки репутации: 0

Re: Ошибки версии 1.25.1

Сообщение Foton » 02 авг 2018, 15:35

Здравствуйте!
Спасибо за сообщение, проверим и напишем решение.
Foton
Разработчик
Разработчик
 
Сообщения: 431
Зарегистрирован: 26 янв 2012, 14:58
Очки репутации: 8

Re: Ошибки версии 1.25.1

Сообщение Xpycm » 04 авг 2018, 21:42

Спасибо, что не забываете сообщать нам об ошибках в продукте. Это очень важно для нас.

1) В файле themes\название_используемой_темы\views\modules\booking\views\_form.php
в вызове виджета:
Код: Выделить всё
$this->widget('application.modules.bookingcalendar.extensions.FFJuiDatePicker', array( 

до:
Код: Выделить всё
)); 


вставьте:
Код: Выделить всё
'showDayForId' => (isset($apartment) && $apartment) ? $apartment->id null


В этом файле два таких вызова.
В итоге должно выглядеть примерно так:

Код: Выделить всё
$this->widget('application.modules.bookingcalendar.extensions.FFJuiDatePicker', array(
    
'model' => $model,
    
'attribute' => 'date_start',
    
'range' => 'eval_period',
    
'language' => Yii::app()->controller->datePickerLang,
    
'options' => array(
        
//'showAnim'=>'fold',
        
'dateFormat' => Booking::getJsDateFormat(),
        
'minDate' => 'new Date()',
    ),
    
'htmlOptions' => array(
        
'readonly' => 'true',
        
'class' => 'form-control',
    
//'id' => 'date_start_' . rand(1, 9999)
    
),
    
'showDayForId' => (isset($apartment) && $apartment) ? $apartment->id null,
)); 


и

Код: Выделить всё
$this->widget('application.modules.bookingcalendar.extensions.FFJuiDatePicker', array(
    
'model' => $model,
    
'attribute' => 'date_end',
    
'range' => 'eval_period',
    
'language' => Yii::app()->controller->datePickerLang,
    
'options' => array(
        
//'showAnim'=>'fold',
        
'dateFormat' => Booking::getJsDateFormat(),
        
'minDate' => 'new Date()',
    ),
    
'htmlOptions' => array(
        
'readonly' => 'true',
        
'class' => 'form-control',
    
//'id' => 'date_end_' . rand(1, 9999)
    
),
    
'showDayForId' => (isset($apartment) && $apartment) ? $apartment->id null,
)); 


2) У нас никогда не было такой связи: при удалении заявки удаляется запись из календаря бронирования.
Это связано с тем, что функционал продукта разрабатывается с учётом того как нужно большинству пользователей.
Занятые даты устанавливаются или удаляются вручную при редактировании объявления владельцем или администратором во вкладке "Дополнительно".
Dropbox
Open Real Estate CMS: FAQ | FAQ 2 | FAQ 3
Изображение
Xpycm
Разработчик
Разработчик
 
Сообщения: 1592
Зарегистрирован: 30 дек 2011, 11:06
Откуда: Йошкар-Ола
Очки репутации: 50


Вернуться в Ошибки

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 31