9 use Magento\Sales\Setup\SalesSetupFactory;
23 private $moduleDataSetup;
28 private $salesSetupFactory;
37 SalesSetupFactory $salesSetupFactory
39 $this->moduleDataSetup = $moduleDataSetup;
40 $this->salesSetupFactory = $salesSetupFactory;
48 public function apply()
51 $salesSetup = $this->salesSetupFactory->create([
'setup' => $this->moduleDataSetup]);
56 $salesSetup->installEntities();
62 'pending' =>
__(
'Pending'),
63 'pending_payment' =>
__(
'Pending Payment'),
64 'processing' =>
__(
'Processing'),
65 'holded' =>
__(
'On Hold'),
66 'complete' =>
__(
'Complete'),
67 'closed' =>
__(
'Closed'),
68 'canceled' =>
__(
'Canceled'),
69 'fraud' =>
__(
'Suspected Fraud'),
70 'payment_review' =>
__(
'Payment Review'),
75 $this->moduleDataSetup->getConnection()->insertArray(
76 $this->moduleDataSetup->getTable(
'sales_order_status'),
87 'statuses' => [
'pending' => [
'default' =>
'1']],
88 'visible_on_front' =>
true,
90 'pending_payment' => [
91 'label' =>
__(
'Pending Payment'),
92 'statuses' => [
'pending_payment' => [
'default' =>
'1']],
95 'label' =>
__(
'Processing'),
96 'statuses' => [
'processing' => [
'default' =>
'1'],
'fraud' => []],
97 'visible_on_front' =>
true,
100 'label' =>
__(
'Complete'),
101 'statuses' => [
'complete' => [
'default' =>
'1']],
102 'visible_on_front' =>
true,
105 'label' =>
__(
'Closed'),
106 'statuses' => [
'closed' => [
'default' =>
'1']],
107 'visible_on_front' =>
true,
110 'label' =>
__(
'Canceled'),
111 'statuses' => [
'canceled' => [
'default' =>
'1']],
112 'visible_on_front' =>
true,
115 'label' =>
__(
'On Hold'),
116 'statuses' => [
'holded' => [
'default' =>
'1']],
117 'visible_on_front' =>
true,
119 'payment_review' => [
120 'label' =>
__(
'Payment Review'),
121 'statuses' => [
'payment_review' => [
'default' =>
'1'],
'fraud' => []],
122 'visible_on_front' =>
true,
126 if (isset(
$info[
'statuses'])) {
131 'is_default' => is_array($statusInfo) && isset($statusInfo[
'default']) ? 1 : 0,
136 $this->moduleDataSetup->getConnection()->insertArray(
137 $this->moduleDataSetup->getTable(
'sales_order_status_state'),
138 [
'status',
'state',
'is_default'],
141 $entitiesToAlter = [
'order_address'];
149 foreach ($entitiesToAlter as $entityName) {
151 $salesSetup->addAttribute($entityName,
$attributeCode, $attributeParams);
155 $states = [
'new',
'processing',
'complete',
'closed',
'canceled',
'holded',
'payment_review'];
156 foreach ($states as $state) {
157 $this->moduleDataSetup->getConnection()->update(
158 $this->moduleDataSetup->getTable(
'sales_order_status_state'),
159 [
'visible_on_front' => 1],
160 [
'state = ?' => $state]
__construct(\Magento\Framework\Setup\ModuleDataSetupInterface $moduleDataSetup, SalesSetupFactory $salesSetupFactory)
foreach( $_productCollection as $_product)() ?>" class $info