Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/old/vendor/redchamps/module-total-adjustment/Setup/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/old/vendor/redchamps/module-total-adjustment/Setup/UpgradeData.php
<?php
/**
 * @author RedChamps Team
 * @copyright Copyright (c) RedChamps (https://redchamps.com/)
 * @package RedChamps_TotalAdjustment
 */
namespace RedChamps\TotalAdjustment\Setup;

use Magento\Framework\DB\DataConverter\SerializedToJson;
use Magento\Framework\DB\Ddl\Table;
use Magento\Framework\DB\FieldDataConverterFactory;
use Magento\Framework\DB\Query\Generator;
use Magento\Framework\DB\Select\QueryModifierFactory;
use Magento\Framework\Setup\UpgradeDataInterface;
use Magento\Framework\Setup\ModuleContextInterface;
use Magento\Framework\Setup\ModuleDataSetupInterface;
use Magento\Quote\Setup\QuoteSetupFactory;
use Magento\Sales\Setup\SalesSetupFactory;

/**
 * Upgrade the TotalAdjustment module DB schema
 */
class UpgradeData implements UpgradeDataInterface
{
    /**
     * @var FieldDataConverterFactory
     */
    private $fieldDataConverterFactory;

    /**
     * @var QueryModifierFactory
     */
    private $queryModifierFactory;

    /**
     * @var Generator
     */
    private $queryGenerator;

    /**
     * @var QuoteSetupFactory
     */
    protected $quoteSetupFactory;

    /**
     * @var SalesSetupFactory
     */
    protected $salesSetupFactory;

    /**
     * @param QuoteSetupFactory $quoteSetupFactory
     * @param SalesSetupFactory $salesSetupFactory
     */
    public function __construct(
        QuoteSetupFactory $quoteSetupFactory,
        SalesSetupFactory $salesSetupFactory,
        FieldDataConverterFactory $fieldDataConverterFactory,
        QueryModifierFactory $queryModifierFactory,
        Generator $queryGenerator
    ) {
        $this->quoteSetupFactory = $quoteSetupFactory;
        $this->salesSetupFactory = $salesSetupFactory;
        $this->fieldDataConverterFactory = $fieldDataConverterFactory;
        $this->queryModifierFactory = $queryModifierFactory;
        $this->queryGenerator = $queryGenerator;
    }

    /**
     * {@inheritdoc}
     */
    public function upgrade(ModuleDataSetupInterface $setup, ModuleContextInterface $context)
    {
        $setup->startSetup();

        if (version_compare($context->getVersion(), '1.0.9', '<')) {
            /** @var \Magento\Quote\Setup\QuoteSetup $quoteInstaller */
            $quoteInstaller = $this->quoteSetupFactory->create(
                ['resourceName' => 'quote_setup', 'setup' => $setup]
            );

            /** @var \Magento\Sales\Setup\SalesSetup $salesInstaller */
            $salesInstaller = $this->salesSetupFactory->create(
                ['resourceName' => 'sales_setup', 'setup' => $setup]
            );

            //Add attributes to quote
            $attrCodes = ['adjustments_tax', 'base_adjustments_tax', 'adjustments_tax_percentage'];
            $attrDef = [
                'type' => Table::TYPE_DECIMAL,
                'length'=> '12,4',
                'default' => 0
            ];

            foreach ($attrCodes as $attrCode) {
                $quoteInstaller->addAttribute(
                    'quote_address',
                    $attrCode,
                    $attrDef
                );

                $salesInstaller->addAttribute(
                    'order',
                    $attrCode,
                    $attrDef
                );
            }

            $salesInstaller->addAttribute(
                'order',
                'adjustments_tax_invoiced',
                $attrDef
            );

            $salesInstaller->addAttribute(
                'order',
                'base_adjustments_tax_invoiced',
                $attrDef
            );

            $salesInstaller->addAttribute(
                'order',
                'adjustments_tax_refunded',
                $attrDef
            );

            $salesInstaller->addAttribute(
                'order',
                'base_adjustments_tax_refunded',
                $attrDef
            );
        }

        if (version_compare($context->getVersion(), '1.1.0', '<')) {
            $this->convertSerializedDataToJson($setup);
        }

        $setup->endSetup();
    }

    /*
     * from serialized to JSON format
     *
     * @param ModuleDataSetupInterface $setup
     * @return void
     */
    private function convertSerializedDataToJson(ModuleDataSetupInterface $setup)
    {
        $fieldDataConverter = $this->fieldDataConverterFactory->create(
            SerializedToJson::class
        );
        $table = $setup->getTable('sales_order');
        $fieldDataConverter->convert(
            $setup->getConnection(),
            $table,
            'entity_id',
            'adjustments'
        );

        $fieldDataConverter->convert(
            $setup->getConnection(),
            $table,
            'entity_id',
            'adjustments_invoiced'
        );

        $fieldDataConverter->convert(
            $setup->getConnection(),
            $table,
            'entity_id',
            'adjustments_refunded'
        );
    }
}

Spamworldpro Mini