예제 #1
0
 public function loadModel($id)
 {
     $model = BasketOrder::model()->findByPk($id);
     if ($model === null) {
         throw new CHttpException(404, 'The requested page does not exist.');
     }
     return $model;
 }
예제 #2
0
            <td>Номер заказа</td>
            <td>Ссылка но товар</td>
            <td>Количество</td>
            <td>Дата</td>
            <td>Адрес доставки</td>
            <td>Статус</td>
        </tr>

        <?php 
foreach ($model as $data) {
    $url = '';
    $quantity = 0;
    foreach (BasketOrder::model()->getProductInOrder($data->id) as $value) {
        $url .= '<a href="' . $value["url"] . '">' . $value["url"] . '</a></BR>';
        $quantity = $quantity + (int) $value['quantity'];
    }
    echo '
                    <tr>
                        <td>Заказ № ' . $data->id . '</td>
                        <td>' . $url . '</td>
                        <td>' . $quantity . '</td>
                        <td>' . date('d.m.Y', strtotime($data->created_at)) . '</td>
                        <td>' . $data->address . '</td>
                        <td>' . BasketOrder::model()->getDownliststatus($data->status) . '</td>
                    </tr>
                ';
}
?>
    </tbody>
</table>
예제 #3
0
 public function actionAjaxfastorder($id)
 {
     $ret = array();
     $ret['error'] = '';
     $id = intval($id);
     if (!$id) {
         $ret['error'] = 'Неверный ID товара';
         echo json_encode($ret);
         exit;
     }
     $model_catalog_element = CatalogElements::model()->find("id=" . $id);
     if (!$model_catalog_element) {
         $ret['error'] = 'Товар ' . $id . ' не существует';
         echo json_encode($ret);
         exit;
     }
     $_name = isset($_POST['name']) ? $_POST['name'] : '';
     $_phone = isset($_POST['phone']) ? $_POST['phone'] : '';
     $_email = isset($_POST['email']) ? $_POST['email'] : '';
     if (strlen($_name) < 3) {
         $ret['error'] = 'Имя не может бть короче 3 символов';
         echo json_encode($ret);
         exit;
     }
     if (strlen($_phone) < 6) {
         $ret['error'] = 'Телефон не может быть короче 6 символов';
         echo json_encode($ret);
         exit;
     }
     if (strlen($_email) < 6) {
         $ret['error'] = 'Email не может быть короче 6 символов';
         echo json_encode($ret);
         exit;
     }
     $comment = "На сайте " . $_SERVER['HTTP_HOST'] . " сделан заказ с помощью формы быстрого заказа" . "\r\n" . "Имя: " . $_name . "\r\n" . "Email: " . $_email . "\r\n" . "Телефон: " . $_phone . "\r\n" . "Товар: " . $model_catalog_element->name . "\r\n" . "Цена товара: " . $model_catalog_element->price . "\r\n" . "Страница товара: http://" . $_SERVER['HTTP_HOST'] . '/catalog/' . $model_catalog_element->id . "\r\n" . "Свяжитесь с клиентом для уточнения деталей заказа.";
     $message = $comment;
     $sms = SiteModuleSettings::model()->find('site_module_id = 4');
     if ($sms) {
         $email = $sms->email;
         mail($email, 'Cделан быстрый заказ на сайте ' . $_SERVER['HTTP_HOST'], $message);
         $ret['confirm'] = 'OK';
         if (Yii::app()->user->isGuest) {
             //Регистрируем пользователя, если он не был зарегистрирован
             if (!($model = User::model()->find('email LIKE "' . $_email . '"'))) {
                 $password = Yii::app()->helper->random(6, '0123456789');
                 $model = new User();
                 $model->email = $_email;
                 $model->password = $password;
                 $model->password_repeat = $model->password;
                 $model->role_id = 'user';
                 $model->username = $model->email;
                 $model->state = 1;
                 //Сразу активируем аккаунт
                 if ($model->save()) {
                     //отправляем заказчику письмо с новым паролем
                     $message = "На сайте " . $_SERVER['HTTP_HOST'] . " был создан Ваш профиль:" . "\r\n" . "Логин: " . $model->email . "\r\n" . "Пароль: " . $password . "\r\n";
                     mail($_email, 'Вы были зарегистрированы на сайте ' . $_SERVER['HTTP_HOST'], $message);
                 }
             }
         } else {
             $model = User::model()->findByPk(Yii::app()->user->id);
         }
         $message = "Данные о Вашем заказе:" . "\r\n" . "Имя: " . $_name . "\r\n" . "Email: " . $_email . "\r\n" . "Телефон: " . $_phone . "\r\n" . "Товар: " . $model_catalog_element->name . "\r\n" . "Цена товара: " . $model_catalog_element->price . "\r\n" . "Страница товара: http://" . $_SERVER['HTTP_HOST'] . '/catalog/' . $model_catalog_element->id . "\r\n" . "Мы свяжемся с Вами в ближайшее время!";
         mail($_email, 'Данные о Вашем заказе на  сайте ' . $_SERVER['HTTP_HOST'], $message);
         //Фиксируем заказ в БД
         $modelOrder = new BasketOrder();
         $modelOrder->user_id = $model->id;
         $modelOrder->phone = $_phone;
         $modelOrder->comments = $comment;
         $modelOrder->status_at = date('Y-m-d H:i:s');
         if ($modelOrder->save()) {
             $modelItem = new BasketItems();
             $modelItem->basket_order_id = $modelOrder->id;
             $modelItem->module = 'catalog';
             $modelItem->url = '/catalog/' . $model_catalog_element->id;
             $modelItem->quantity = 1;
             $modelItem->price = $model_catalog_element->price;
             $modelItem->save();
         }
         echo json_encode($ret);
         exit;
     } else {
         $ret['confirm'] = 'Error';
         echo json_encode($ret);
         exit;
     }
 }
예제 #4
0
                )
            ),
            'htmlOptions'=>array('style'=>'white-space: nowrap'),
        ),
    ),
));
*/
$this->widget('bootstrap.widgets.TbExtendedGridView', array('template' => "{items}\n{pager}", 'id' => 'product-grid', 'dataProvider' => $provider, 'filter' => $model, 'type' => 'bordered striped', 'bulkActions' => array('actionButtons' => $this->bulkRemoveButton(), 'checkBoxColumnConfig' => array('name' => 'id')), 'afterAjaxUpdate' => 'function (){
        $("#BasketOrder_created_at").daterangepicker({"language":"ru"}, function(){
            $(this.element).change();
            });
    }', 'columns' => array(array('header' => '#', 'name' => 'id', 'htmlOptions' => array('style' => 'min-width: 50px')), array('name' => 'user_id', 'type' => 'raw', 'filter' => User::getUsersArray(), 'value' => function ($data) {
    $model = User::model()->findByPk($data->user_id);
    $html = '';
    if ($model) {
        $html = '<a href="mailto:' . $model->email . '">' . $model->email . '</a>';
        if (!empty($model->first_name)) {
            $html .= '<BR><a href="/admin/user/list/update?id=' . $model->id . '">' . $model->last_name . ' ' . $model->first_name . ' ' . $model->middle_name . '</a>';
        }
    }
    return $html;
}), array('header' => 'Заказаные товары', 'type' => 'raw', 'value' => function ($data) {
    $html = '';
    foreach (BasketOrder::model()->getProductInOrder($data->id) as $val) {
        $productName = Yii::app()->db->createCommand()->select('name')->from('{{' . $val['module'] . '_elements}}')->where('id=' . (int) $val['item'])->queryRow();
        $html .= '<a href="/' . $val['url'] . '" target="_blank">' . $productName['name'] . '</a><BR>';
    }
    return $html;
}), array('name' => 'status', 'value' => 'BasketOrder::model()->getDownliststatus($data->status)', 'filter' => BasketOrder::model()->getStatus()), array('name' => "created_at", 'value' => 'date("d-m-Y",strtotime($data->created_at))', 'filter' => $this->widget('bootstrap.widgets.TbDateRangePicker', array('model' => $model, 'attribute' => 'created_at', 'options' => array('language' => 'ru'), 'callback' => 'js:function(){$(this.element).change();}'), true)), array('class' => 'bootstrap.widgets.TbButtonColumn', 'template' => '{update}&nbsp;&nbsp;{delete}', 'buttons' => array('update' => array('label' => 'Изменить', 'options' => array(), 'url' => function ($data) {
    return Yii::app()->controller->itemUrl('update', $data->id);
}), 'delete' => array('label' => 'Удалить', 'options' => array())), 'htmlOptions' => array('style' => 'white-space: nowrap')))));
예제 #5
0
 public function actionIndex()
 {
     $model = BasketOrder::model()->findAll('user_id = ' . $this->modelUser->id . ' ORDER BY created_at DESC');
     $renderPartial = "order";
     $this->render('index', array('modelUser' => $this->modelUser, 'model' => $model, 'renderPartial' => $renderPartial));
 }
예제 #6
0
</table>


<table class="content_table" border="0">
    <thead>
    <tr>
        <th style="text-align: left;width:10px; padding-left: 15px;">
            <b>Изменить данные о заказе</b>
        </th>
    </tr>
    </thead>
    <tbody>
    <tr>
        <td>
            <?php 
echo $form->DropDownListRow($model, 'status', BasketOrder::model()->getStatus(), array('class' => 'span3'));
?>
            <?php 
echo $form->textAreaRow($model, 'address', array('class' => 'span5', 'rows' => 6, 'cols' => 50));
?>
            <?php 
echo $form->textFieldRow($model, 'phone', array('class' => 'span5', 'maxlength' => 150));
?>
            <?php 
echo $form->textAreaRow($model, 'comments', array('class' => 'span5', 'rows' => 6, 'cols' => 50));
?>
        </td>
    </tr>
    </tbody>
</table>
예제 #7
0
        $total = $total + $value['quantity'];
    }
}
?>
<form action="?" method="post">
<table class="content_table edit_table" width="100%" border="0">
    <thead>
    <tr>
        <th style="text-align:left;" colspan="2"> Фильтр заказов </th>
    </tr>
    </thead>
    <tbody>
        <tr>
            <td>
                <?php 
foreach (BasketOrder::model()->getStatus() as $key => $val) {
    echo '<input type="checkbox" value="' . $key . '" name="Filter[status][' . $key . ']">' . $val . '<BR>';
}
?>
                <?php 
echo $this->widget('bootstrap.widgets.TbDateRangePicker', array('name' => 'Filter[period]', 'options' => array('language' => 'ru'), 'callback' => 'js:function(){$(this.element).change();}'), true);
?>
            </td>
        </tr>
    </tbody>
</table>
    <input type="submit" value="Фильтровать" name="statselect">
</form>

<p>Всего заказано <?php 
echo count($model);