Пример #1
0
 /**
  * @var User $user
  *
  * @param $id
  * @return string
  * @throws ErrorException
  */
 public function actionRepeat($id)
 {
     $user = Yii::$app->user->identity;
     $order = Order::findOne($id);
     $db = Yii::$app->db;
     if ($order->user_id === $user->getId()) {
         if ($user->money >= $order->sum) {
             $user->debitMoney($order->sum);
             $transaction = $db->beginTransaction();
             try {
                 $user->save();
                 $id = Api::setTaskByNetwork($order);
                 if ($id !== NULL) {
                     $order->status = Order::PROCESSED;
                     $order->foreign_id = $id;
                     $order->save(false);
                     $transaction->commit();
                     Yii::$app->session->setFlash('message', ['type' => 'success', 'message' => 'Задание отправлено на повторное выполнение']);
                 } else {
                     throw new ErrorException();
                 }
             } catch (ErrorException $e) {
                 $transaction->rollBack();
             }
         }
     } else {
         throw new ErrorException('Что-то не так');
     }
     return $this->redirect(Yii::$app->urlManager->createUrl('task/order/view-all'));
 }
Пример #2
0
 public function run()
 {
     $cache = \Yii::$app->cache;
     //todo плохой вариант, лучше на крон это
     if (!$cache->exists('synchronize')) {
         OrderSynchronize::synchronizeStatuses();
         $updateStatusesCacheTime = \Yii::$app->params['updateStatusesCacheTime'];
         $cache->set('synchronize', true, $updateStatusesCacheTime);
     }
     $userId = \Yii::$app->user->getId();
     $orders = Order::find()->where(['user_id' => $userId])->andWhere(['kind' => $this->kind])->orderBy('id DESC')->limit(4)->all();
     if (count($orders)) {
         return $this->render('lastTasks', ['orders' => $orders]);
     } else {
         echo '';
     }
 }
Пример #3
0
    ?>
                    <tr>
                        <td><a href="<?php 
    echo $order->url;
    ?>
"><?php 
    echo $order->url;
    ?>
</a></td>
                        <td><?php 
    echo $order->service->name;
    ?>
</td>
                        <td><span
                                class="label label-success"><?php 
    echo \frontend\modules\task\models\db\Order::getStatuses()[$order->status];
    ?>
</span>
                        </td>
                        <td>
                            <div class="sparkbar" data-color="#00a65a"
                                 data-height="20"><?php 
    echo $order->members_count;
    ?>
</div>
                        </td>
                    </tr>
                <?php 
}
?>
                </tbody>