Author: Shawn
Inheritance: extends AppHelper
Ejemplo n.º 1
0
 function action_order()
 {
     session_start();
     $model = $_SESSION['basket'];
     $login = $_SESSION["login"];
     if (!is_null($_SESSION["login"])) {
         $account = AccountService::GetByName($login, true);
         $order = OrderHelper::PopulateOrderFromBasketViewModel($model, $account->account_id);
         $order = OrderService::Create($order);
         $products = $model->products;
         for ($i = 0; $i < count($products); $i++) {
             for ($j = 0; $j < $model->counts[$i]; $j++) {
                 $orderlist = new OrderList();
                 $orderlist->order_id = $order->order_id;
                 $orderlist->product_id = $products[$i]->Id;
                 OrderListService::Create($orderlist);
             }
         }
         $_SESSION['basket'] = null;
         EmailService::SendNewOrderMessage($account, $order->order_id, $model->SumPrice());
         $data = $order->order_id;
         $this->view->generate('Order_view.php', 'template_view.php', $data);
     } else {
         header('Location: /Account/login');
     }
 }
Ejemplo n.º 2
0
 public function action_item()
 {
     PermissionHelper::Verification('Editor');
     $status_id = $_GET['id'];
     $model = OrderHelper::PopulateOrderDetailViewModelList(OrderService::GetByStatusId($status_id));
     $this->view->generate('/Order/item_view.php', 'template_view.php', $model);
 }
Ejemplo n.º 3
0
 public static function PopulateOrderViewModelList($orders)
 {
     for ($i = 0; $i < count($orders); $i++) {
         $model[$i] = OrderHelper::PopulateOrderViewModel($orders[$i]);
     }
     return $model;
 }
Ejemplo n.º 4
0
 function action_order()
 {
     session_start();
     $login = $_SESSION["login"];
     if (!is_null($login)) {
         $model = OrderHelper::PopulateOrderDetailViewModelList(OrderService::GetByAccountId(AccountService::GetByName($login, true)->account_id));
         $this->view->generate('/Account/order_view.php', 'template_view.php', $model);
     } else {
         header("Location: /Product/");
     }
 }
Ejemplo n.º 5
0
Archivo: index.php Proyecto: yupe/yupe
        <?php 
echo Yii::t('OrderModule.order', 'Orders');
?>
        <small><?php 
echo Yii::t('OrderModule.order', 'manage');
?>
</small>
    </h1>
</div>


<?php 
$this->widget('yupe\\widgets\\CustomGridView', ['id' => 'order-grid', 'type' => 'condensed', 'dataProvider' => $model->search(), 'filter' => $model, 'datePickers' => ['Order_date'], 'afterAjaxUpdate' => 'reinstallDatePicker', 'columns' => [['name' => 'id', 'htmlOptions' => ['width' => '90px'], 'type' => 'raw', 'value' => function ($data) {
    return CHtml::link($data->id, ["/order/orderBackend/update", "id" => $data->id]);
}], ['name' => 'date', 'type' => 'html', 'filter' => $this->widget('booster.widgets.TbDatePicker', ['model' => $model, 'attribute' => 'date', 'options' => ['format' => 'yyyy-mm-dd'], 'htmlOptions' => ['class' => 'form-control']], true), 'value' => function ($data) {
    return CHtml::link(Yii::app()->getDateFormatter()->formatDateTime($data->date, 'medium'), ["/order/orderBackend/update", "id" => $data->id]);
}], ['name' => 'name', 'type' => 'raw', 'value' => function ($data) {
    return isset($data->client) ? CHtml::link($data->client->getFullName(), ['/order/clientBackend/view', 'id' => $data->user_id]) : $data->name;
}, 'htmlOptions' => ['width' => '400px']], ['name' => 'total_price', 'value' => function ($data) {
    return Yii::app()->getNumberFormatter()->formatCurrency($data->total_price, Yii::app()->getModule('store')->currency);
}], ['class' => 'yupe\\widgets\\EditableStatusColumn', 'name' => 'status_id', 'url' => $this->createUrl('/order/orderBackend/inline'), 'source' => OrderHelper::statusList(), 'options' => OrderHelper::labelList()], ['name' => 'payment_method_id', 'value' => function ($data) {
    return $data->payment ? $data->payment->name : '---';
}, 'filter' => CHtml::listData(Payment::model()->findAll(), 'id', 'name')], ['class' => 'yupe\\widgets\\EditableStatusColumn', 'name' => 'paid', 'url' => $this->createUrl('/order/orderBackend/inline'), 'source' => $model->getPaidStatusList(), 'options' => [Order::PAID_STATUS_NOT_PAID => ['class' => 'label-danger'], Order::PAID_STATUS_PAID => ['class' => 'label-success']]], ['name' => 'delivery_id', 'header' => Yii::t('OrderModule.order', 'Delivery'), 'filter' => CHtml::listData(Delivery::model()->findAll(), 'id', 'name'), 'value' => function (Order $data) {
    return $data->delivery->name;
}], ['name' => 'manager_id', 'type' => 'raw', 'filter' => CHtml::listData(User::model()->findAll('access_level = :level', [':level' => User::ACCESS_LEVEL_ADMIN]), 'id', 'fullName'), 'value' => function ($data) {
    return isset($data->manager) ? \yupe\helpers\YText::shortName($data->manager->getFullName()) : null;
}], ['class' => 'yupe\\widgets\\CustomButtonColumn', 'buttons' => ['update' => ['visible' => function ($row, Order $order) {
    return $order->checkManager(Yii::app()->getUser());
}], 'delete' => ['visible' => function ($row, Order $order) {
    return $order->checkManager(Yii::app()->getUser());
}]]]]]);
Ejemplo n.º 6
0
 /**
  * @return array
  */
 public function rules()
 {
     return [['name', 'required'], ['name, color', 'filter', 'filter' => 'trim'], ['color', 'default', 'value' => null], ['color', 'in', 'range' => array_keys(OrderHelper::colorNames())], ['is_system', 'boolean'], ['id, name', 'safe', 'on' => 'search']];
 }
Ejemplo n.º 7
0
: <?php 
echo $ordersCount;
?>
</span>
            </h4>
        </div>

        <div id="<?php 
echo $this->getId();
?>
" class="panel-collapse collapse">
            <div class="panel-body">
                <div class="row">
                    <div class="col-sm-12">
                        <?php 
$this->widget('bootstrap.widgets.TbExtendedGridView', ['id' => 'orders-grid', 'type' => 'striped condensed', 'dataProvider' => $dataProvider, 'template' => '{items}', 'htmlOptions' => ['class' => false], 'columns' => [['name' => 'id', 'htmlOptions' => ['width' => '90px'], 'type' => 'raw', 'value' => function ($data) {
    return CHtml::link(Yii::t('OrderModule.order', 'Order #') . $data->id, ["/order/orderBackend/update", "id" => $data->id]);
}], ['name' => 'date', 'value' => function ($data) {
    return CHtml::link(Yii::app()->getDateFormatter()->formatDateTime($data->date, 'medium'), array("/order/orderBackend/update", "id" => $data->id));
}, 'type' => 'raw'], ['name' => 'name', 'htmlOptions' => ['width' => '400px']], ['name' => 'total_price', 'value' => function ($data) {
    return Yii::app()->getNumberFormatter()->formatCurrency($data->total_price, Yii::app()->getModule('store')->currency);
}], ['class' => 'yupe\\widgets\\EditableStatusColumn', 'name' => 'status_id', 'url' => $this->controller->createUrl('/order/orderBackend/inline'), 'source' => OrderHelper::statusList(), 'options' => OrderHelper::labelList()], ['class' => 'yupe\\widgets\\EditableStatusColumn', 'name' => 'paid', 'url' => $this->controller->createUrl('/order/orderBackend/inline'), 'source' => Order::model()->getPaidStatusList(), 'options' => [Order::PAID_STATUS_NOT_PAID => ['class' => 'label-danger'], Order::PAID_STATUS_PAID => ['class' => 'label-success']]]]]);
?>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
<?php 
$this->endWidget();
Ejemplo n.º 8
0
 /**
  * Validates the Order
  * 
  * <p>Validates the order information based on the paymentmethod and country used</p>
  * <p>For example Afterpay, it will check the zipcodes and it makes sure that the billing and shipping address are in the same country</p>
  * 
  * @param obj $paymentObj
  * @throws \Exception
  */
 public function validateOrder($paymentObj)
 {
     switch (strtoupper($paymentObj->getPaymentMethod())) {
         case 'AFTERPAY':
             if ($this->_data['shippingAddress']->country !== $this->_data['billingAddress']->country) {
                 throw new \Exception('Billing and Shipping country must be equal in order to use Afterpay.');
             }
             if (!OrderHelper::validateZipCode($this->_data['shippingAddress']->zipCode, $this->_data['shippingAddress']->country)) {
                 throw new \Exception('Zipcode format for shipping address is incorrect.');
             }
             if (!OrderHelper::validateZipCode($this->_data['billingAddress']->zipCode, $this->_data['billingAddress']->country)) {
                 throw new \Exception('Zipcode format for billing address is incorrect.');
             }
             if (!OrderHelper::validatePhonenumber($this->_data['consumer']->phone)) {
                 throw new \Exception('Phonenumber is incorrect.');
             }
             break;
     }
 }
Ejemplo n.º 9
0
Archivo: _form.php Proyecto: yupe/yupe
echo Yii::t('OrderModule.order', 'are required');
?>
</div>

<?php 
echo $form->errorSummary($model);
?>

<div class="row">
    <div class="col-sm-4">
        <?php 
echo $form->textFieldGroup($model, 'name');
?>
    </div>
    <div class="col-sm-1">
        <?php 
echo $form->dropDownListGroup($model, 'color', ['widgetOptions' => ['data' => OrderHelper::colorNames(), 'htmlOptions' => ['empty' => '', 'id' => 'colorselector', 'options' => OrderHelper::colorValues()]]]);
?>
    </div>
</div>

<?php 
$this->widget('bootstrap.widgets.TbButton', ['buttonType' => 'submit', 'context' => 'primary', 'label' => $model->getIsNewRecord() ? Yii::t('OrderModule.order', 'Add status and continue') : Yii::t('OrderModule.order', 'Save status and continue')]);
?>

<?php 
$this->widget('bootstrap.widgets.TbButton', ['buttonType' => 'submit', 'htmlOptions' => ['name' => 'submit-type', 'value' => 'index'], 'label' => $model->getIsNewRecord() ? Yii::t('OrderModule.order', 'Add status and close') : Yii::t('OrderModule.order', 'Save status and close')]);
?>

<?php 
$this->endWidget();
Ejemplo n.º 10
0
Archivo: view.php Proyecto: yupe/yupe
        <?php 
$this->widget('bootstrap.widgets.TbDetailView', ['data' => $model, 'attributes' => [['name' => 'full_name', 'value' => $model->getFullName()], 'nick_name', 'email', ['label' => Yii::t('OrderModule.order', 'Orders'), 'value' => CHtml::link($model->getOrderNumber(), ['/order/orderBackend/index', 'Order[user_id]' => $model->id]), 'type' => 'html'], 'birth_date', 'phone', ['label' => Yii::t('OrderModule.order', 'Money'), 'value' => '<span class="label label-success">' . Yii::app()->numberFormatter->formatCurrency($model->getOrderSum(), Yii::app()->getModule('store')->currency) . "</span>", 'type' => 'html'], 'location', 'site', 'about', ['name' => 'gender', 'value' => $model->getGender()], ['name' => 'status', 'value' => $model->getStatus()], ['name' => 'email_confirm', 'value' => $model->getEmailConfirmStatus()], ['name' => 'visit_time', 'value' => Yii::app()->getDateFormatter()->formatDateTime($model->visit_time)], ['name' => 'create_time', 'value' => Yii::app()->getDateFormatter()->formatDateTime($model->create_time)], ['name' => 'update_time', 'value' => Yii::app()->getDateFormatter()->formatDateTime($model->update_time)]]]);
?>
    </div>

    <div class="col-sm-8">
        <div class="row">
            <div class="col-sm-12">
                <?php 
$this->widget('bootstrap.widgets.TbExtendedGridView', ['id' => 'order-grid', 'type' => 'condensed', 'dataProvider' => $orders, 'template' => '{items}{pager}', 'columns' => [['name' => 'id', 'htmlOptions' => ['width' => '90px'], 'type' => 'raw', 'value' => function ($data) {
    return CHtml::link($data->id, ["/order/orderBackend/update", "id" => $data->id]);
}], ['name' => 'date', 'type' => 'html', 'filter' => $this->widget('booster.widgets.TbDatePicker', ['model' => $order, 'attribute' => 'date', 'options' => ['format' => 'yyyy-mm-dd'], 'htmlOptions' => ['class' => 'form-control']], true), 'value' => function ($data) {
    return CHtml::link(Yii::app()->getDateFormatter()->formatDateTime($data->date, 'short', false), ["/order/orderBackend/update", "id" => $data->id]);
}], ['name' => 'total_price', 'value' => function ($data) {
    return Yii::app()->getNumberFormatter()->formatCurrency($data->total_price, Yii::app()->getModule('store')->currency);
}], ['class' => 'yupe\\widgets\\EditableStatusColumn', 'name' => 'status_id', 'url' => $this->createUrl('/order/orderBackend/inline'), 'source' => OrderHelper::statusList(), 'options' => OrderHelper::labelList()], ['class' => 'yupe\\widgets\\EditableStatusColumn', 'name' => 'paid', 'url' => $this->createUrl('/order/orderBackend/inline'), 'source' => $order->getPaidStatusList(), 'options' => [Order::PAID_STATUS_NOT_PAID => ['class' => 'label-danger'], Order::PAID_STATUS_PAID => ['class' => 'label-success']]], ['name' => 'delivery_id', 'header' => Yii::t('OrderModule.order', 'Delivery'), 'filter' => CHtml::listData(Delivery::model()->findAll(), 'id', 'name'), 'value' => function ($data) {
    return $data->delivery->name;
}]]]);
?>
            </div>
        </div>
        <div class="row">
            <div class="col-sm-12">
                <?php 
if (Yii::app()->hasModule('comment')) {
    ?>
                    <?php 
    $this->widget('application.modules.comment.widgets.CommentsWidget', ['view' => 'application.modules.order.views.orderBackend.comments', 'redirectTo' => Yii::app()->createUrl('/order/clientBackend/view', ['id' => $model->id]), 'model' => $model]);
    ?>
                <?php 
}
Ejemplo n.º 11
0
Archivo: _form.php Proyecto: yupe/yupe
echo Yii::t('OrderModule.order', 'are required');
?>
</div>

<?php 
echo $form->errorSummary($model);
?>
<div class="row">
    <div class="col-sm-12">
        <div class="row">
            <div class="col-sm-3">
                <?php 
echo $form->labelEx($model, 'status_id');
?>
                <?php 
$this->widget('bootstrap.widgets.TbSelect2', ['model' => $model, 'attribute' => 'status_id', 'data' => OrderHelper::statusList(), 'options' => ['placeholder' => Yii::t('OrderModule.order', 'Status'), 'width' => '100%']]);
?>
            </div>
            <div class="col-sm-3">
                <?php 
echo $form->datePickerGroup($model, 'date', ['widgetOptions' => ['options' => ['format' => 'dd.mm.yyyy', 'weekStart' => 1, 'autoclose' => true], 'htmlOptions' => ['id' => 'orderDate']], 'prepend' => '<i class="fa fa-calendar"></i>']);
?>
            </div>
            <div class="col-sm-3">
                <?php 
echo $form->labelEx($model, 'user_id');
?>
                <?php 
$this->widget('bootstrap.widgets.TbSelect2', ['model' => $model, 'attribute' => 'user_id', 'asDropDownList' => false, 'options' => ['minimumInputLength' => 2, 'placeholder' => Yii::t('OrderModule.order', 'Select client'), 'width' => '100%', 'allowClear' => true, 'ajax' => ['url' => Yii::app()->getController()->createUrl('/order/orderBackend/ajaxClientSearch'), 'dataType' => 'json', 'data' => 'js:function(term, page) { return {q: term }; }', 'results' => 'js:function(data) { return {results: data}; }'], 'formatResult' => 'js:productFormatResult', 'formatSelection' => 'js:productFormatSelection', 'initSelection' => $model->client ? 'js:function(element,callback){callback({name:"' . $model->client->getFullName() . '"})}' : false], 'htmlOptions' => ['id' => 'client-select']]);
?>
            </div>