Your IP : 127.0.0.1


Current Path : /home/dev2.destoffenstraat.com/app/code/Geissweb/Euvat-old/Setup/
Upload File :
Current File : /home/dev2.destoffenstraat.com/app/code/Geissweb/Euvat-old/Setup/InstallSchema.php

<?php
/**
 * ||GEISSWEB| EU VAT Enhanced
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the GEISSWEB End User License Agreement
 * that is available through the world-wide-web at this URL: https://www.geissweb.de/legal-information/eula
 *
 * DISCLAIMER
 *
 * Do not edit this file if you wish to update the extension in the future. If you wish to customize the extension
 * for your needs please refer to our support for more information.
 *
 * @copyright   Copyright (c) 2015 GEISS Weblösungen (https://www.geissweb.de)
 * @license     https://www.geissweb.de/legal-information/eula GEISSWEB End User License Agreement
 */

namespace Geissweb\Euvat\Setup;

use Magento\Framework\Setup\InstallSchemaInterface;
use Magento\Framework\Setup\ModuleContextInterface;
use Magento\Framework\Setup\SchemaSetupInterface;

/**
 * Class InstallSchema
 */
class InstallSchema implements InstallSchemaInterface
{
    /**
     * {@inheritdoc}
     * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
     * @SuppressWarnings(PHPMD.UnusedFormalParameter)
     */
    public function install(SchemaSetupInterface $setup, ModuleContextInterface $context)
    {
        $checkoutConnection     = $setup->getConnection('checkout');
        $quoteAddressTable      = $checkoutConnection->getTableName($setup->getTable('quote_address'));

        $salesConnection        = $setup->getConnection('sales');
        $salesOrderAddressTable = $salesConnection->getTableName($setup->getTable('sales_order_address'));

        $setup->startSetup();

        /** ADDITIONAL ADDRESS COLUMNS START */
        $checkoutConnection->addColumn(
            $quoteAddressTable,
            'vat_trader_name',
            [
                'type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
                'length'    => 128,
                'nullable' => true,
                'default' => null,
                'comment' => 'VAT registered company name'
            ]
        );
        $salesConnection->addColumn(
            $salesOrderAddressTable,
            'vat_trader_name',
            [
                'type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
                'length'    => 128,
                'nullable' => true,
                'default' => null,
                'comment' => 'VAT registered company name'
            ]
        );
        $setup->getConnection()->addColumn(
            $setup->getTable('customer_address_entity'),
            'vat_trader_name',
            [
                'type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
                'length'    => 128,
                'nullable' => true,
                'default' => null,
                'comment' => 'VAT registered company name'
            ]
        );
        $checkoutConnection->addColumn(
            $quoteAddressTable,
            'vat_trader_address',
            [
                'type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
                'length'    => 255,
                'nullable' => true,
                'default' => null,
                'comment' => 'VAT registered address'
            ]
        );
        $salesConnection->addColumn(
            $salesOrderAddressTable,
            'vat_trader_address',
            [
                'type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
                'length'    => 255,
                'nullable' => true,
                'default' => null,
                'comment' => 'VAT registered address'
            ]
        );
        $setup->getConnection()->addColumn(
            $setup->getTable('customer_address_entity'),
            'vat_trader_address',
            [
                'type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
                'length'    => 255,
                'nullable' => true,
                'default' => null,
                'comment' => 'VAT registered address'
            ]
        );
        /** ADDITIONAL ADDRESS COLUMNS END */

        /** VALIDATION TABLE START */
        $vatValidationTable = $setup->getConnection()->newTable(
            $setup->getTable('vat_validation')
        )->addColumn(
            'validation_id',
            \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER,
            10,
            ['identity' => true, 'nullable' => false, 'primary' => true, 'unsigned' => true],
            'Entity ID'
        )->addColumn(
            'vat_id',
            \Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
            16,
            ['nullable' => false],
            'VAT number'
        )->addColumn(
            'vat_is_valid',
            \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT,
            null,
            ['default' => 0, 'nullable' => false],
            'Is VAT number valid'
        )->addColumn(
            'vat_request_success',
            \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT,
            null,
            ['default' => 0, 'nullable' => false],
            'Request successful'
        )->addColumn(
            'request_message',
            \Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
            128,
            ['nullable' => true],
            'Request message'
        )->addColumn(
            'vat_request_id',
            \Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
            128,
            ['nullable' => true],
            'Request identifier'
        )->addColumn(
            'vat_request_date',
            \Magento\Framework\DB\Ddl\Table::TYPE_DATETIME,
            null,
            ['nullable' => false],
            'Request date'
        )->addColumn(
            'vat_trader_name',
            \Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
            256,
            ['nullable' => true],
            'Registered trader name'
        )->addColumn(
            'vat_trader_address',
            \Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
            512,
            ['nullable' => true],
            'Registered trader address'
        )->addColumn(
            'handle',
            \Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
            256,
            ['nullable' => true],
            'Controller handle'
        );
        $setup->getConnection()->createTable($vatValidationTable);
        /** VALIDATION TABLE END */

        $setup->endSetup();
    }
}