示例#1
0
 public function actionBookingform($isFancy = 0)
 {
     Yii::app()->getModule('apartments');
     $this->modelName = 'Apartment';
     $apartment = $this->loadModel();
     $this->modelName = 'Booking';
     $booking = new Booking();
     $booking->scenario = 'bookingform';
     if (isset($_POST['Booking']) && BlockIp::checkAllowIp(Yii::app()->controller->currentUserIpLong) && !$apartment->deleted) {
         $booking->attributes = $_POST['Booking'];
         $booking->apartment_id = $apartment->id;
         $booking->user_ip = Yii::app()->controller->currentUserIp;
         $booking->user_ip_ip2_long = Yii::app()->controller->currentUserIpLong;
         if ($booking->validate()) {
             $booking->time_inVal = $this->getI18nTimeIn($booking->time_in);
             $booking->time_outVal = $this->getI18nTimeOut($booking->time_out);
             if (issetModule('bookingtable')) {
                 Bookingtable::addRecord($booking);
             }
             $types = Apartment::getI18nTypesArray();
             $booking->type = $types[Apartment::TYPE_RENT];
             $ownerApartment = User::model()->findByPk($apartment->owner_id);
             $booking->ownerEmail = $ownerApartment->email;
             $notifier = new Notifier();
             $notifier->raiseEvent('onNewBooking', $booking, array('user' => $ownerApartment));
             Yii::app()->user->setFlash('success', tt('Operation successfully complete. Your order will be reviewed by owner.'));
             $this->redirect($apartment->getUrl());
         }
     }
     $user = null;
     if (!Yii::app()->user->isGuest) {
         $user = User::model()->findByPk(Yii::app()->user->getId());
     }
     if ($isFancy) {
         $this->excludeJs();
         $this->renderPartial('bookingform', array('apartment' => $apartment, 'model' => $booking, 'isFancy' => true, 'user' => $user), false, true);
     } else {
         $this->render('bookingform', array('apartment' => $apartment, 'model' => $booking, 'isFancy' => false, 'user' => $user));
     }
 }
示例#2
0
<?php

$this->pageTitle .= ' - ' . tt('Booking applications', 'usercpanel');
$this->breadcrumbs = array(tc('Control panel') => Yii::app()->createUrl('/usercpanel'), tt('Booking applications', 'usercpanel'));
if (issetModule('bookingcalendar')) {
    echo "<div class='flash-notice'>" . tt('booking_table_to_calendar', 'booking') . "</div>";
}
?>

<?php 
$this->widget('zii.widgets.grid.CGridView', array('id' => 'users-booking-grid', 'dataProvider' => $model->search(true), 'filter' => $model, 'columns' => array(array('name' => 'active', 'type' => 'raw', 'value' => 'Yii::app()->controller->returnBookingTableStatusHtml($data, "users-booking-grid", 1)', 'htmlOptions' => array('style' => 'width: 150px;'), 'sortable' => false, 'filter' => Bookingtable::getAllStatuses()), array('name' => 'apartment_id', 'type' => 'raw', 'value' => '(isset($data->apartment) && $data->apartment->id) ? CHtml::link($data->apartment->id, $data->apartment->getUrl()) : tc("No")', 'filter' => false, 'sortable' => false), array('name' => 'username', 'value' => '$data->username', 'filter' => true, 'sortable' => false), array('name' => 'email', 'value' => '$data->email', 'filter' => true, 'sortable' => false), array('name' => 'phone', 'value' => '$data->phone', 'filter' => true, 'sortable' => false), array('name' => 'comment', 'value' => 'truncateText($data->comment)', 'filter' => true, 'sortable' => false), array('name' => 'date_start', 'value' => '(isset($data->timein) && $data->time_in) ? $data->date_start . " (". $data->timein->getStrByLang("title").")" : "" ', 'filter' => true, 'sortable' => false, 'htmlOptions' => array('style' => 'width:150px;')), array('name' => 'date_end', 'value' => '(isset($data->timeout) && $data->time_out) ? $data->date_end . " (". $data->timeout->getStrByLang("title").")" : "" ', 'filter' => true, 'sortable' => false, 'htmlOptions' => array('style' => 'width:150px;')), array('header' => tt('Creation date', 'booking'), 'value' => '$data->date_created', 'type' => 'raw', 'filter' => false, 'sortable' => false))));
Yii::app()->clientScript->registerScriptFile(Yii::app()->request->baseUrl . '/js/jquery.jeditable.js', CClientScript::POS_END);
Yii::app()->clientScript->registerScript('editable_select_booking_table', "\n\t\tfunction ajaxSetBookingTableStatus(elem, id, id_elem, items){\n\t\t\t\$('#editable_select-'+id_elem).editable('" . Yii::app()->controller->createUrl("bookingtableactivate") . "', {\n\t\t\t\tdata   : items,\n\t\t\t\ttype   : 'select',\n\t\t\t\tcancel : '" . tc('Cancel') . "',\n\t\t\t\tsubmit : '" . tc('Ok') . "',\n\t\t\t\tstyle  : 'inherit',\n\t\t\t\tsubmitdata : function() {\n\t\t\t\t\treturn {id : id_elem};\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t", CClientScript::POS_HEAD);
示例#3
0
 public static function getMenu()
 {
     $user = HUser::getModel();
     if (param('useUserads')) {
         $menu[] = array('label' => tc('My listings'), 'url' => Yii::app()->createUrl('/usercpanel/main/index'), 'active' => Yii::app()->controller->menuIsActive('my_listings'));
         $menu[] = array('label' => tc('Add ad', 'apartments'), 'url' => Yii::app()->createUrl('/userads/main/create'), 'active' => Yii::app()->controller->menuIsActive('add_ad'));
     }
     if ($user->type == User::TYPE_AGENCY) {
         $countAwaitAgent = HUser::getCountAwaitingAgent($user->id);
         $bage = $countAwaitAgent ? ' (' . $countAwaitAgent . ')' : '';
         $menu[] = array('label' => tt('My agents', 'usercpanel') . $bage, 'url' => Yii::app()->createUrl('/usercpanel/main/agents'), 'active' => Yii::app()->controller->menuIsActive('my_agents'));
     }
     $menu[] = array('label' => tc('My data'), 'url' => Yii::app()->createUrl('/usercpanel/main/data'), 'active' => Yii::app()->controller->menuIsActive('my_data'));
     $menu[] = array('label' => tt('Change your password', 'usercpanel'), 'url' => Yii::app()->createUrl('/usercpanel/main/changepassword'), 'active' => Yii::app()->controller->menuIsActive('my_changepassword'));
     if (issetModule('payment')) {
         $menu[] = array('label' => tt('My payments', 'usercpanel'), 'url' => Yii::app()->createUrl('/usercpanel/main/payments'), 'active' => Yii::app()->controller->menuIsActive('my_payments'));
         $menu[] = array('label' => tc('My balance') . ' (' . $user->balance . ' ' . Currency::getDefaultCurrencyName() . ')', 'url' => Yii::app()->createUrl('/usercpanel/main/balance'), 'active' => Yii::app()->controller->menuIsActive('my_balance'));
     }
     if (issetModule('bookingtable')) {
         $menu[] = array('label' => tt('Booking applications', 'usercpanel') . ' (' . Bookingtable::getCountNew(true) . ')', 'url' => Yii::app()->createUrl('/bookingtable/main/index'), 'active' => Yii::app()->controller->menuIsActive('booking_applications'));
     }
     return $menu;
 }
示例#4
0
<?php

$this->pageTitle = Yii::app()->name . ' - ' . tt('Booking apartment', 'booking');
$this->menu = array(array());
$this->adminTitle = tt('Booking apartment', 'booking');
?>

<?php 
if (issetModule('bookingcalendar')) {
    echo "<div class='flash-notice'>" . tt('booking_table_to_calendar', 'booking') . "</div>";
}
?>

<?php 
$this->widget('CustomGridView', array('id' => 'admin-booking-grid', 'dataProvider' => $model->search(), 'filter' => $model, 'afterAjaxUpdate' => 'function(){$("a[rel=\'tooltip\']").tooltip(); $("div.tooltip-arrow").remove(); $("div.tooltip-inner").remove();}', 'columns' => array(array('name' => 'id', 'htmlOptions' => array('class' => 'id_column')), array('name' => 'active', 'type' => 'raw', 'value' => 'Yii::app()->controller->returnBookingTableStatusHtml($data, "users-booking-grid", 1)', 'htmlOptions' => array('style' => 'width: 150px;'), 'sortable' => false, 'filter' => Bookingtable::getAllStatuses()), array('name' => 'apartment_id', 'type' => 'raw', 'value' => '(isset($data->apartment) && $data->apartment->id) ? CHtml::link($data->apartment->id, $data->apartment->getUrl()) : tc("No")', 'filter' => false, 'sortable' => false), array('name' => 'username', 'value' => '$data->username', 'sortable' => false), array('name' => 'email', 'value' => '$data->email', 'sortable' => false), array('name' => 'phone', 'value' => '$data->phone', 'sortable' => false), array('name' => 'comment', 'value' => '$data->comment', 'sortable' => false), array('name' => 'date_start', 'value' => '(isset($data->timein) && $data->time_in) ? $data->date_start . " (". $data->timein->getStrByLang("title").")" : "" ', 'filter' => false, 'sortable' => false, 'htmlOptions' => array('style' => 'width:150px;')), array('name' => 'date_end', 'value' => '(isset($data->timeout) && $data->time_out) ? $data->date_end . " (". $data->timeout->getStrByLang("title").")" : "" ', 'filter' => false, 'sortable' => false, 'htmlOptions' => array('style' => 'width:150px;')), array('header' => tt('Creation date', 'booking'), 'value' => '$data->date_created', 'type' => 'raw', 'sortable' => false))));
Yii::app()->clientScript->registerScriptFile(Yii::app()->request->baseUrl . '/js/jquery.jeditable.js', CClientScript::POS_END);
Yii::app()->clientScript->registerScript('editable_select_booking_table_admin', "\n\t\tfunction ajaxSetBookingTableStatus(elem, id, id_elem, items){\n\t\t\t\$('#editable_select-'+id_elem).editable('" . Yii::app()->controller->createUrl("bookingtableactivate") . "', {\n\t\t\t\tdata   : items,\n\t\t\t\ttype   : 'select',\n\t\t\t\tcancel : '" . tc('Cancel') . "',\n\t\t\t\tsubmit : '" . tc('Ok') . "',\n\t\t\t\tstyle  : 'inherit',\n\t\t\t\tsubmitdata : function() {\n\t\t\t\t\treturn {id : id_elem};\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t", CClientScript::POS_HEAD);
示例#5
0
 public function actionBookingTableActivate()
 {
     $field = isset($_GET['field']) ? $_GET['field'] : 'active';
     if (Yii::app()->request->getParam('id') && Yii::app()->request->getParam('value') != null) {
         $this->scenario = 'update_status';
         $action = Yii::app()->request->getParam('value', null);
         $id = Yii::app()->request->getParam('id', null);
         $availableStatuses = Bookingtable::getAllStatuses();
         if (!array_key_exists($action, $availableStatuses)) {
             $action = 0;
         }
     }
     if (!(!$id && $action === null)) {
         $model = $this->loadModelUserBookingTable($id);
         if ($this->scenario) {
             $model->scenario = $this->scenario;
         }
         if ($model) {
             $model->{$field} = $action;
             $model->save(false);
             if (issetModule('bookingcalendar')) {
                 if ($field == 'active' && $action == Bookingtable::STATUS_CONFIRM) {
                     $modelBookingCalendar = new Bookingcalendar();
                     $modelBookingCalendar->date_start = $model->date_start;
                     $modelBookingCalendar->date_end = $model->date_end;
                     $modelBookingCalendar->status = Bookingcalendar::STATUS_BUSY;
                     $modelBookingCalendar->apartment_id = $model->apartment_id;
                     $modelBookingCalendar->save(false);
                 }
             }
         }
     }
     echo CHtml::link($availableStatuses[$action]);
 }
示例#6
0
    $countComplainPending = ApartmentsComplain::getCountPending();
    $bageComplain = $countComplainPending > 0 ? "&nbsp<span class=\"badge\">{$countComplainPending}</span>" : '';
}
$bageReviews = '';
if (issetModule('reviews')) {
    $countReviewsPending = Reviews::getCountModeration();
    $bageReviews = $countReviewsPending > 0 ? "&nbsp<span class=\"badge\">{$countReviewsPending}</span>" : '';
}
$bageVacancy = '';
if (issetModule('vacancy')) {
    $countVacancyPending = Vacancy::getCountModeration();
    $bageVacancy = $countVacancyPending > 0 ? "&nbsp<span class=\"badge\">{$countVacancyPending}</span>" : '';
}
$bageBooking = '';
if (issetModule('bookingtable')) {
    $countNewPending = Bookingtable::getCountNew();
    $bageBooking = $countNewPending > 0 ? "&nbsp<span class=\"badge\">{$countNewPending}</span>" : '';
}
$bageMessages = '';
if (issetModule('messages')) {
    $countMessagesUnread = Messages::getCountUnread(Yii::app()->user->id);
    $bageMessages = $countMessagesUnread > 0 ? "&nbsp<span class=\"badge\">{$countMessagesUnread}</span>" : '';
}
?>

<div class="bootnavbar-delimiter"></div>
<div class="container-fluid">
    <div class="row-fluid">
        <div class="span3">
            <div class="well sidebar-nav">
				<?php 
示例#7
0
    public static function getMenu()
    {
        $user = HUser::getModel();
        if (param('useUserads')) {
            $menu[] = array('label' => tc('My listings'), 'url' => Yii::app()->createUrl('/usercpanel/main/index'), 'active' => Yii::app()->controller->menuIsActive('my_listings'));
            $menu[] = array('label' => tc('Add ad', 'apartments'), 'url' => Yii::app()->createUrl('/userads/main/create'), 'active' => Yii::app()->controller->menuIsActive('add_ad'));
        }
        if ($user->type == User::TYPE_AGENCY) {
            $countAwaitAgent = HUser::getCountAwaitingAgent($user->id);
            $bage = $countAwaitAgent ? ' (' . $countAwaitAgent . ')' : '';
            $menu[] = array('label' => tt('My agents', 'usercpanel') . $bage, 'url' => Yii::app()->createUrl('/usercpanel/main/agents'), 'active' => Yii::app()->controller->menuIsActive('my_agents'));
        }
        if (issetModule('messages')) {
            $bageMessages = '';
            $countMessagesUnread = Messages::getCountUnread(Yii::app()->user->id);
            $bageMessages = $countMessagesUnread > 0 ? " ({$countMessagesUnread})" : '';
            $menu[] = array('label' => tt('My mailbox', 'messages') . $bageMessages, 'url' => Yii::app()->createUrl('/messages/main/index'), 'active' => Yii::app()->controller->menuIsActive('my_mailbox'));
            if ($countMessagesUnread > 0) {
                Yii::app()->clientScript->registerScript('init-cnt-unr-messages', '
					message("' . Yii::t('module_messages', 'You have {n} unread messages', $countMessagesUnread) . '", "message", 4000);
				', CClientScript::POS_READY);
            }
        }
        $menu[] = array('label' => tc('My data'), 'url' => Yii::app()->createUrl('/usercpanel/main/data'), 'active' => Yii::app()->controller->menuIsActive('my_data'));
        $menu[] = array('label' => tt('Change your password', 'usercpanel'), 'url' => Yii::app()->createUrl('/usercpanel/main/changepassword'), 'active' => Yii::app()->controller->menuIsActive('my_changepassword'));
        if (issetModule('payment')) {
            if (issetModule('tariffPlans')) {
                $menu[] = array('label' => tc('Tariff Plans'), 'url' => Yii::app()->createUrl('/tariffPlans/main/index'), 'active' => Yii::app()->controller->menuIsActive('tariff_plans'));
            }
            $menu[] = array('label' => tt('My payments', 'usercpanel'), 'url' => Yii::app()->createUrl('/usercpanel/main/payments'), 'active' => Yii::app()->controller->menuIsActive('my_payments'));
            $menu[] = array('label' => tc('My balance') . ' (' . $user->balance . ' ' . Currency::getDefaultCurrencyName() . ')', 'url' => Yii::app()->createUrl('/usercpanel/main/balance'), 'active' => Yii::app()->controller->menuIsActive('my_balance'));
        }
        if (issetModule('bookingtable')) {
            $menu[] = array('label' => tt('Booking applications', 'usercpanel') . ' (' . Bookingtable::getCountNew(true) . ')', 'url' => Yii::app()->createUrl('/bookingtable/main/index'), 'active' => Yii::app()->controller->menuIsActive('booking_applications'));
        }
        return $menu;
    }
示例#8
0
 public static function addRecord(Booking $booking)
 {
     $dateStart = Yii::app()->dateFormatter->format('yyyy-MM-dd', CDateTimeParser::parse($booking->date_start, Booking::getYiiDateFormat()));
     $dateEnd = Yii::app()->dateFormatter->format('yyyy-MM-dd', CDateTimeParser::parse($booking->date_end, Booking::getYiiDateFormat()));
     $model = new Bookingtable();
     $model->active = self::STATUS_NEW;
     $model->apartment_id = $booking->apartment_id;
     $model->username = $booking->username;
     $model->email = $booking->useremail;
     $model->phone = $booking->phone;
     $model->date_start = $dateStart;
     $model->date_end = $dateEnd;
     $model->time_in = $booking->time_in;
     $model->time_out = $booking->time_out;
     $model->comment = $booking->comment;
     $model->user_ip = $booking->user_ip;
     $model->user_ip_ip2_long = $booking->user_ip_ip2_long;
     $model->save(false);
 }