src/Model/Order.php
public function canCancel($member = null)
    {
        $extended = $this->extendedCan(__FUNCTION__, $member);
        if ($extended !== null) {
            return $extended;
        }

        switch ($this->Status) {
            case 'Unpaid' :
            return self::config()->cancel_before_payment;
            case 'Paid' :
            return self::config()->cancel_before_processing;
            case 'Processing' :
            return self::config()->cancel_before_sending;
            case 'Sent' :
            case 'Complete' :
            return self::config()->cancel_after_sending;
        }
        return false;
    }
public function canCancel($member = null)
    {
        $extended = $this->extendedCan(__FUNCTION__, $member);
        if ($extended !== null) {
            return $extended;
        }

        switch ($this->Status) {
            case 'Unpaid' :
            return self::config()->cancel_before_payment;
            case 'Paid' :
            return self::config()->cancel_before_processing;
            case 'Processing' :
            return self::config()->cancel_before_sending;
            case 'Sent' :
            case 'Complete' :
            return self::config()->cancel_after_sending;
        }
        return false;
    }
Returns TRUE if the order can be cancelled
PRECONDITION: Order is in the DB.

@return boolean