Completed
Push — master ( f81666...55a9f3 )
by Alexey
05:42
created

CloseCartBtn::groupAction()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 13
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 13
rs 9.4285
cc 3
eloc 9
nc 3
nop 3
1
<?php
2
/**
3
 * Item name
4
 *
5
 * Info
6
 *
7
 * @author Alexey Krupskiy <[email protected]>
8
 * @link http://inji.ru/
9
 * @copyright 2016 Alexey Krupskiy
10
 * @license https://github.com/injitools/cms-Inji/blob/master/LICENSE
11
 */
12
13
namespace Ecommerce;
14
15
class CloseCartBtn extends \Ui\DataManager\Action
16
{
17
    public static $name = 'Завершить';
18
    public static $groupAction = true;
19
    public static $rowAction = true;
20
21 View Code Duplication
    public static function rowButton($dataManager, $item, $params)
22
    {
23
        if (\App::$cur->Exchange1c) {
24
            return '';
25
        }
26
        ob_start();
27
        ?>
28
        <a onclick="inji.Server.request({
29
                        url: '/admin/ecommerce/closeCart/<?= $item->id; ?>',
30
                        success: function () {
31
                          inji.Ui.dataManagers.reloadAll();
32
                        }});
33
                      return false;
34
           " href ='#' class="btn btn-xs btn-primary">Завершить</a>
35
        <?php
36
        $btn = ob_get_contents();
37
        ob_end_clean();
38
        return $btn;
39
    }
40
41
    public static function groupAction($dataManager, $ids, $actionParams)
42
    {
43
        if (\App::$cur->Exchange1c) {
44
            throw new \Exception('Недоступно при подключенной 1с');
45
        }
46
        $carts = Cart::getList(['where' => [['id', $ids, 'IN'], ['cart_status_id', 5, '!=']]]);
47
        foreach ($carts as $cart) {
48
            $cart->cart_status_id = 5;
49
            $cart->save();
50
        }
51
        $count = count($carts);
52
        return 'Завершено <b>' . $count . '</b> ' . \Tools::getNumEnding($count, ['корзина', 'корзины', 'корзин']);
53
    }
54
55
}
56