@@ -105,47 +105,46 @@ public function verifyNotification(StockItemInterface $stockItem)
105
105
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
106
106
* @SuppressWarnings(PHPMD.NPathComplexity)
107
107
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
108
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
108
109
*/
109
110
public function checkQuoteItemQty (StockItemInterface $ stockItem , $ qty , $ summaryQty , $ origQty = 0 )
110
111
{
111
112
$ result = $ this ->objectFactory ->create ();
112
113
$ result ->setHasError (false );
113
-
114
114
$ qty = $ this ->getNumber ($ qty );
115
-
116
- /**
117
- * Check quantity type
118
- */
119
- $ result ->setItemIsQtyDecimal ($ stockItem ->getIsQtyDecimal ());
120
- if (!$ stockItem ->getIsQtyDecimal ()) {
121
- $ result ->setHasQtyOptionUpdate (true );
122
- $ qty = (int ) $ qty ?: 1 ;
123
- /**
124
- * Adding stock data to quote item
125
- */
126
- $ result ->setItemQty ($ qty );
127
- $ result ->setOrigQty ((int )$ this ->getNumber ($ origQty ) ?: 1 );
128
- }
115
+ $ quoteMessage = __ ('Please correct the quantity for some products. ' );
129
116
130
117
if ($ stockItem ->getMinSaleQty () && $ qty < $ stockItem ->getMinSaleQty ()) {
131
118
$ result ->setHasError (true )
132
119
->setMessage (__ ('The fewest you may purchase is %1. ' , $ stockItem ->getMinSaleQty () * 1 ))
133
120
->setErrorCode ('qty_min ' )
134
- ->setQuoteMessage (__ ( ' Please correct the quantity for some products. ' ) )
121
+ ->setQuoteMessage ($ quoteMessage )
135
122
->setQuoteMessageIndex ('qty ' );
136
123
return $ result ;
137
124
}
138
125
139
126
if ($ stockItem ->getMaxSaleQty () && $ qty > $ stockItem ->getMaxSaleQty ()) {
140
127
$ result ->setHasError (true )
141
- ->setMessage (__ ('The most you may purchase is %1. ' , $ stockItem -> getMaxSaleQty () * 1 ))
128
+ ->setMessage (__ ('The requested qty exceeds the maximum qty allowed in shopping cart ' ))
142
129
->setErrorCode ('qty_max ' )
143
- ->setQuoteMessage (__ ( ' Please correct the quantity for some products. ' ) )
130
+ ->setQuoteMessage ($ quoteMessage )
144
131
->setQuoteMessageIndex ('qty ' );
145
132
return $ result ;
146
133
}
147
134
148
135
$ result ->addData ($ this ->checkQtyIncrements ($ stockItem , $ qty )->getData ());
136
+
137
+ $ result ->setItemIsQtyDecimal ($ stockItem ->getIsQtyDecimal ());
138
+ if (!$ stockItem ->getIsQtyDecimal () && (floor ($ qty ) !== $ qty )) {
139
+ $ result ->setHasError (true )
140
+ ->setMessage (__ ('You cannot use decimal quantity for this product. ' ))
141
+ ->setErrorCode ('qty_decimal ' )
142
+ ->setQuoteMessage ($ quoteMessage )
143
+ ->setQuoteMessageIndex ('qty ' );
144
+
145
+ return $ result ;
146
+ }
147
+
149
148
if ($ result ->getHasError ()) {
150
149
return $ result ;
151
150
}
0 commit comments