Commit 1e3373110a9495a092f63cd552a62fdde26dc24e
1 parent
9a34817f
add parser trait - refactor depends controllers
Showing
15 changed files
with
710 additions
and
603 deletions
Show diff stats
.idea/test-1.artwebua.in.ua.iml
| @@ -6,5 +6,15 @@ | @@ -6,5 +6,15 @@ | ||
| 6 | </content> | 6 | </content> |
| 7 | <orderEntry type="inheritedJdk" /> | 7 | <orderEntry type="inheritedJdk" /> |
| 8 | <orderEntry type="sourceFolder" forTests="false" /> | 8 | <orderEntry type="sourceFolder" forTests="false" /> |
| 9 | + <orderEntry type="module-library"> | ||
| 10 | + <library name="PHARS"> | ||
| 11 | + <CLASSES> | ||
| 12 | + <root url="phar://$MODULE_DIR$/vendor/mihaildev/yii2-elfinder/volume/aws.phar" /> | ||
| 13 | + </CLASSES> | ||
| 14 | + <SOURCES> | ||
| 15 | + <root url="phar://$MODULE_DIR$/vendor/mihaildev/yii2-elfinder/volume/aws.phar" /> | ||
| 16 | + </SOURCES> | ||
| 17 | + </library> | ||
| 18 | + </orderEntry> | ||
| 9 | </component> | 19 | </component> |
| 10 | </module> | 20 | </module> |
| 11 | \ No newline at end of file | 21 | \ No newline at end of file |
.idea/workspace.xml
| @@ -2,7 +2,6 @@ | @@ -2,7 +2,6 @@ | ||
| 2 | <project version="4"> | 2 | <project version="4"> |
| 3 | <component name="ChangeListManager"> | 3 | <component name="ChangeListManager"> |
| 4 | <list default="true" id="f6bb8ef4-b6f5-4c59-9053-25989736ae66" name="Default" comment=""> | 4 | <list default="true" id="f6bb8ef4-b6f5-4c59-9053-25989736ae66" name="Default" comment=""> |
| 5 | - <change type="DELETED" beforePath="C:\xampp\htdocs\ital\backend\models\Importer.php" afterPath="" /> | ||
| 6 | <change type="DELETED" beforePath="C:\xampp\htdocs\ital\storage\parser_data\auto\5648.csv" afterPath="" /> | 5 | <change type="DELETED" beforePath="C:\xampp\htdocs\ital\storage\parser_data\auto\5648.csv" afterPath="" /> |
| 7 | <change type="DELETED" beforePath="C:\xampp\htdocs\ital\storage\parser_data\manual\Групы VW.xlsx" afterPath="" /> | 6 | <change type="DELETED" beforePath="C:\xampp\htdocs\ital\storage\parser_data\manual\Групы VW.xlsx" afterPath="" /> |
| 8 | <change type="DELETED" beforePath="C:\xampp\htdocs\ital\storage\parser_data\temp\5648.csv" afterPath="" /> | 7 | <change type="DELETED" beforePath="C:\xampp\htdocs\ital\storage\parser_data\temp\5648.csv" afterPath="" /> |
| @@ -21,22 +20,17 @@ | @@ -21,22 +20,17 @@ | ||
| 21 | <change type="DELETED" beforePath="C:\xampp\htdocs\ital\storage\parser_data\temp\xlsx\kud0hb7or3133ull44s061thg2\xl\worksheets\sheet1.xml" afterPath="" /> | 20 | <change type="DELETED" beforePath="C:\xampp\htdocs\ital\storage\parser_data\temp\xlsx\kud0hb7or3133ull44s061thg2\xl\worksheets\sheet1.xml" afterPath="" /> |
| 22 | <change type="DELETED" beforePath="C:\xampp\htdocs\ital\storage\parser_data\temp\xlsx\kud0hb7or3133ull44s061thg2\xl\worksheets\sheet2.xml" afterPath="" /> | 21 | <change type="DELETED" beforePath="C:\xampp\htdocs\ital\storage\parser_data\temp\xlsx\kud0hb7or3133ull44s061thg2\xl\worksheets\sheet2.xml" afterPath="" /> |
| 23 | <change type="DELETED" beforePath="C:\xampp\htdocs\ital\storage\parser_data\temp\xlsx\kud0hb7or3133ull44s061thg2\xl\worksheets\sheet3.xml" afterPath="" /> | 22 | <change type="DELETED" beforePath="C:\xampp\htdocs\ital\storage\parser_data\temp\xlsx\kud0hb7or3133ull44s061thg2\xl\worksheets\sheet3.xml" afterPath="" /> |
| 24 | - <change type="MOVED" beforePath="C:\xampp\htdocs\ital\.gitignore" afterPath="$PROJECT_DIR$/storage/.gitignore" /> | ||
| 25 | - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/tests/unit/BaseConverterTest.php" afterPath="$PROJECT_DIR$/tests/unit/BaseConverterTest.php" /> | ||
| 26 | - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/tests/unit/CrossesParsingTest.php" afterPath="$PROJECT_DIR$/tests/unit/CrossesParsingTest.php" /> | 23 | + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/backend/components/base/BaseController.php" afterPath="$PROJECT_DIR$/backend/components/base/BaseController.php" /> |
| 27 | <change type="MODIFICATION" beforePath="$PROJECT_DIR$/backend/controllers/CrossingUploadController.php" afterPath="$PROJECT_DIR$/backend/controllers/CrossingUploadController.php" /> | 24 | <change type="MODIFICATION" beforePath="$PROJECT_DIR$/backend/controllers/CrossingUploadController.php" afterPath="$PROJECT_DIR$/backend/controllers/CrossingUploadController.php" /> |
| 28 | - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/common/components/parsers/CustomConverter.php" afterPath="$PROJECT_DIR$/common/components/parsers/CustomConverter.php" /> | ||
| 29 | - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/common/components/parsers/CustomCsvParser.php" afterPath="$PROJECT_DIR$/common/components/parsers/CustomCsvParser.php" /> | ||
| 30 | - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/backend/models/Importers.php" afterPath="$PROJECT_DIR$/backend/models/Importers.php" /> | 25 | + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/common/models/MarginsGroups.php" afterPath="$PROJECT_DIR$/common/models/MarginsGroups.php" /> |
| 31 | <change type="MODIFICATION" beforePath="$PROJECT_DIR$/backend/controllers/ParserController.php" afterPath="$PROJECT_DIR$/backend/controllers/ParserController.php" /> | 26 | <change type="MODIFICATION" beforePath="$PROJECT_DIR$/backend/controllers/ParserController.php" afterPath="$PROJECT_DIR$/backend/controllers/ParserController.php" /> |
| 32 | <change type="MODIFICATION" beforePath="$PROJECT_DIR$/backend/controllers/RgGrupController.php" afterPath="$PROJECT_DIR$/backend/controllers/RgGrupController.php" /> | 27 | <change type="MODIFICATION" beforePath="$PROJECT_DIR$/backend/controllers/RgGrupController.php" afterPath="$PROJECT_DIR$/backend/controllers/RgGrupController.php" /> |
| 33 | - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/composer.json" afterPath="$PROJECT_DIR$/composer.json" /> | ||
| 34 | - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/composer.lock" afterPath="$PROJECT_DIR$/composer.lock" /> | ||
| 35 | - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/common/components/parsers/config.php" afterPath="$PROJECT_DIR$/common/components/parsers/config.php" /> | ||
| 36 | - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/common/config/main.php" afterPath="$PROJECT_DIR$/common/config/main.php" /> | ||
| 37 | - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/backend/views/crossing-upload/results.php" afterPath="$PROJECT_DIR$/backend/views/crossing-upload/results.php" /> | ||
| 38 | - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/backend/views/parser/results.php" afterPath="$PROJECT_DIR$/backend/views/parser/results.php" /> | 28 | + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/backend/views/parser/error.php" afterPath="$PROJECT_DIR$/backend/views/parser/error.php" /> |
| 29 | + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/backend/views/crossing-upload/index.php" afterPath="$PROJECT_DIR$/backend/views/crossing-upload/index.php" /> | ||
| 30 | + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/backend/views/rg-grup/index.php" afterPath="$PROJECT_DIR$/backend/views/rg-grup/index.php" /> | ||
| 39 | <change type="MODIFICATION" beforePath="$PROJECT_DIR$/backend/views/rg-grup/results.php" afterPath="$PROJECT_DIR$/backend/views/rg-grup/results.php" /> | 31 | <change type="MODIFICATION" beforePath="$PROJECT_DIR$/backend/views/rg-grup/results.php" afterPath="$PROJECT_DIR$/backend/views/rg-grup/results.php" /> |
| 32 | + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/test-1.artwebua.in.ua.iml" afterPath="$PROJECT_DIR$/.idea/test-1.artwebua.in.ua.iml" /> | ||
| 33 | + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" /> | ||
| 40 | </list> | 34 | </list> |
| 41 | <ignored path="test-1.artwebua.in.ua.iws" /> | 35 | <ignored path="test-1.artwebua.in.ua.iws" /> |
| 42 | <ignored path=".idea/workspace.xml" /> | 36 | <ignored path=".idea/workspace.xml" /> |
| @@ -177,24 +171,28 @@ | @@ -177,24 +171,28 @@ | ||
| 177 | </component> | 171 | </component> |
| 178 | <component name="FileEditorManager"> | 172 | <component name="FileEditorManager"> |
| 179 | <leaf> | 173 | <leaf> |
| 180 | - <file leaf-file-name="CrossesParsingTest.php" pinned="false" current-in-tab="false"> | ||
| 181 | - <entry file="file://$PROJECT_DIR$/tests/unit/CrossesParsingTest.php"> | 174 | + <file leaf-file-name="CrossingUploadController.php" pinned="false" current-in-tab="false"> |
| 175 | + <entry file="file://$PROJECT_DIR$/backend/controllers/CrossingUploadController.php"> | ||
| 182 | <provider selected="true" editor-type-id="text-editor"> | 176 | <provider selected="true" editor-type-id="text-editor"> |
| 183 | - <state vertical-scroll-proportion="-20.222221" vertical-offset="273" max-vertical-offset="1113"> | ||
| 184 | - <caret line="39" column="0" selection-start-line="39" selection-start-column="0" selection-end-line="39" selection-end-column="0" /> | 177 | + <state vertical-scroll-proportion="-37.333332" vertical-offset="1134" max-vertical-offset="4746"> |
| 178 | + <caret line="102" column="0" selection-start-line="102" selection-start-column="0" selection-end-line="102" selection-end-column="0" /> | ||
| 185 | <folding> | 179 | <folding> |
| 186 | - <element signature="e#28#68#0#PHP" expanded="true" /> | 180 | + <element signature="e#6#91#0#PHP" expanded="true" /> |
| 181 | + <element signature="e#125#168#0#PHP" expanded="true" /> | ||
| 187 | </folding> | 182 | </folding> |
| 188 | </state> | 183 | </state> |
| 189 | </provider> | 184 | </provider> |
| 190 | </entry> | 185 | </entry> |
| 191 | </file> | 186 | </file> |
| 192 | - <file leaf-file-name=".gitignore" pinned="false" current-in-tab="true"> | ||
| 193 | - <entry file="file://$PROJECT_DIR$/storage/.gitignore"> | 187 | + <file leaf-file-name="RgGrupController.php" pinned="false" current-in-tab="false"> |
| 188 | + <entry file="file://$PROJECT_DIR$/backend/controllers/RgGrupController.php"> | ||
| 194 | <provider selected="true" editor-type-id="text-editor"> | 189 | <provider selected="true" editor-type-id="text-editor"> |
| 195 | - <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="535"> | ||
| 196 | - <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> | ||
| 197 | - <folding /> | 190 | + <state vertical-scroll-proportion="-109.59259" vertical-offset="527" max-vertical-offset="4053"> |
| 191 | + <caret line="190" column="5" selection-start-line="190" selection-start-column="5" selection-end-line="190" selection-end-column="5" /> | ||
| 192 | + <folding> | ||
| 193 | + <element signature="e#125#168#0#PHP" expanded="true" /> | ||
| 194 | + <element signature="e#787#1322#0#PHP" expanded="false" /> | ||
| 195 | + </folding> | ||
| 198 | </state> | 196 | </state> |
| 199 | </provider> | 197 | </provider> |
| 200 | </entry> | 198 | </entry> |
| @@ -202,20 +200,84 @@ | @@ -202,20 +200,84 @@ | ||
| 202 | <file leaf-file-name="CustomArrayHelper.php" pinned="false" current-in-tab="false"> | 200 | <file leaf-file-name="CustomArrayHelper.php" pinned="false" current-in-tab="false"> |
| 203 | <entry file="file://$PROJECT_DIR$/common/components/CustomArrayHelper.php"> | 201 | <entry file="file://$PROJECT_DIR$/common/components/CustomArrayHelper.php"> |
| 204 | <provider selected="true" editor-type-id="text-editor"> | 202 | <provider selected="true" editor-type-id="text-editor"> |
| 205 | - <state vertical-scroll-proportion="-10.777778" vertical-offset="108" max-vertical-offset="1596"> | ||
| 206 | - <caret line="24" column="48" selection-start-line="24" selection-start-column="48" selection-end-line="24" selection-end-column="48" /> | 203 | + <state vertical-scroll-proportion="-9.62963" vertical-offset="286" max-vertical-offset="1596"> |
| 204 | + <caret line="31" column="36" selection-start-line="31" selection-start-column="36" selection-end-line="31" selection-end-column="36" /> | ||
| 207 | <folding /> | 205 | <folding /> |
| 208 | </state> | 206 | </state> |
| 209 | </provider> | 207 | </provider> |
| 210 | </entry> | 208 | </entry> |
| 211 | </file> | 209 | </file> |
| 212 | - <file leaf-file-name="CrossingUploadController.php" pinned="false" current-in-tab="false"> | ||
| 213 | - <entry file="file://$PROJECT_DIR$/backend/controllers/CrossingUploadController.php"> | 210 | + <file leaf-file-name="Margins.php" pinned="false" current-in-tab="false"> |
| 211 | + <entry file="file://$PROJECT_DIR$/common/models/Margins.php"> | ||
| 212 | + <provider selected="true" editor-type-id="text-editor"> | ||
| 213 | + <state vertical-scroll-proportion="-10.407408" vertical-offset="832" max-vertical-offset="1512"> | ||
| 214 | + <caret line="53" column="8" selection-start-line="53" selection-start-column="8" selection-end-line="53" selection-end-column="51" /> | ||
| 215 | + <folding /> | ||
| 216 | + </state> | ||
| 217 | + </provider> | ||
| 218 | + </entry> | ||
| 219 | + </file> | ||
| 220 | + <file leaf-file-name="ParserTrait.php" pinned="false" current-in-tab="false"> | ||
| 221 | + <entry file="file://$PROJECT_DIR$/backend/components/traits/ParserTrait.php"> | ||
| 214 | <provider selected="true" editor-type-id="text-editor"> | 222 | <provider selected="true" editor-type-id="text-editor"> |
| 215 | - <state vertical-scroll-proportion="-9.37037" vertical-offset="2519" max-vertical-offset="4935"> | ||
| 216 | - <caret line="137" column="78" selection-start-line="137" selection-start-column="11" selection-end-line="137" selection-end-column="78" /> | 223 | + <state vertical-scroll-proportion="-42.77778" vertical-offset="126" max-vertical-offset="1848"> |
| 224 | + <caret line="66" column="46" selection-start-line="66" selection-start-column="31" selection-end-line="66" selection-end-column="46" /> | ||
| 217 | <folding> | 225 | <folding> |
| 218 | - <element signature="e#125#168#0#PHP" expanded="true" /> | 226 | + <element signature="e#129#177#0#PHP" expanded="true" /> |
| 227 | + </folding> | ||
| 228 | + </state> | ||
| 229 | + </provider> | ||
| 230 | + </entry> | ||
| 231 | + </file> | ||
| 232 | + <file leaf-file-name="index.php" pinned="false" current-in-tab="false"> | ||
| 233 | + <entry file="file://$PROJECT_DIR$/backend/views/rg-grup/index.php"> | ||
| 234 | + <provider selected="true" editor-type-id="text-editor"> | ||
| 235 | + <state vertical-scroll-proportion="-18.666666" vertical-offset="0" max-vertical-offset="756"> | ||
| 236 | + <caret line="27" column="32" selection-start-line="27" selection-start-column="32" selection-end-line="27" selection-end-column="32" /> | ||
| 237 | + <folding /> | ||
| 238 | + </state> | ||
| 239 | + </provider> | ||
| 240 | + </entry> | ||
| 241 | + </file> | ||
| 242 | + <file leaf-file-name="results.php" pinned="false" current-in-tab="false"> | ||
| 243 | + <entry file="file://$PROJECT_DIR$/backend/views/rg-grup/results.php"> | ||
| 244 | + <provider selected="true" editor-type-id="text-editor"> | ||
| 245 | + <state vertical-scroll-proportion="-22.555555" vertical-offset="0" max-vertical-offset="777"> | ||
| 246 | + <caret line="29" column="23" selection-start-line="29" selection-start-column="23" selection-end-line="29" selection-end-column="23" /> | ||
| 247 | + <folding> | ||
| 248 | + <element signature="e#7#28#0#PHP" expanded="true" /> | ||
| 249 | + </folding> | ||
| 250 | + </state> | ||
| 251 | + </provider> | ||
| 252 | + </entry> | ||
| 253 | + </file> | ||
| 254 | + <file leaf-file-name="server-files.php" pinned="false" current-in-tab="false"> | ||
| 255 | + <entry file="file://$PROJECT_DIR$/backend/views/parser/server-files.php"> | ||
| 256 | + <provider selected="true" editor-type-id="text-editor"> | ||
| 257 | + <state vertical-scroll-proportion="-22.777779" vertical-offset="288" max-vertical-offset="1155"> | ||
| 258 | + <caret line="49" column="108" selection-start-line="49" selection-start-column="8" selection-end-line="49" selection-end-column="108" /> | ||
| 259 | + <folding /> | ||
| 260 | + </state> | ||
| 261 | + </provider> | ||
| 262 | + </entry> | ||
| 263 | + </file> | ||
| 264 | + <file leaf-file-name="MarginsGroups.php" pinned="false" current-in-tab="false"> | ||
| 265 | + <entry file="file://$PROJECT_DIR$/common/models/MarginsGroups.php"> | ||
| 266 | + <provider selected="true" editor-type-id="text-editor"> | ||
| 267 | + <state vertical-scroll-proportion="15.62963" vertical-offset="758" max-vertical-offset="2520"> | ||
| 268 | + <caret line="17" column="19" selection-start-line="17" selection-start-column="6" selection-end-line="17" selection-end-column="19" /> | ||
| 269 | + <folding /> | ||
| 270 | + </state> | ||
| 271 | + </provider> | ||
| 272 | + </entry> | ||
| 273 | + </file> | ||
| 274 | + <file leaf-file-name="ParserController.php" pinned="false" current-in-tab="true"> | ||
| 275 | + <entry file="file://$PROJECT_DIR$/backend/controllers/ParserController.php"> | ||
| 276 | + <provider selected="true" editor-type-id="text-editor"> | ||
| 277 | + <state vertical-scroll-proportion="0.021428572" vertical-offset="1494" max-vertical-offset="6468"> | ||
| 278 | + <caret line="72" column="54" selection-start-line="72" selection-start-column="54" selection-end-line="72" selection-end-column="54" /> | ||
| 279 | + <folding> | ||
| 280 | + <element signature="e#38#65#0#PHP" expanded="true" /> | ||
| 219 | </folding> | 281 | </folding> |
| 220 | </state> | 282 | </state> |
| 221 | </provider> | 283 | </provider> |
| @@ -230,16 +292,6 @@ | @@ -230,16 +292,6 @@ | ||
| 230 | <component name="IdeDocumentHistory"> | 292 | <component name="IdeDocumentHistory"> |
| 231 | <option name="CHANGED_PATHS"> | 293 | <option name="CHANGED_PATHS"> |
| 232 | <list> | 294 | <list> |
| 233 | - <option value="$PROJECT_DIR$/vendor/artweb/yii2-multiparser/lib/CsvParser.php" /> | ||
| 234 | - <option value="$PROJECT_DIR$/vendor/artweb/yii2-multiparser/lib/ParserHandler.php" /> | ||
| 235 | - <option value="db-console:/b6fc378e/7bd5422a-47c2-471e-873f-532e6b000acc/" /> | ||
| 236 | - <option value="$PROJECT_DIR$/backend/assets/CartAsset.php" /> | ||
| 237 | - <option value="$PROJECT_DIR$/backend/views/check-price/index.php" /> | ||
| 238 | - <option value="$PROJECT_DIR$/backend/views/cart/index.php" /> | ||
| 239 | - <option value="$PROJECT_DIR$/common/models/CartBillsSearch.php" /> | ||
| 240 | - <option value="$PROJECT_DIR$/backend/web/css/AdminLTE.css" /> | ||
| 241 | - <option value="$PROJECT_DIR$/common/models/Cart.php" /> | ||
| 242 | - <option value="$PROJECT_DIR$/backend/views/cart/view.php" /> | ||
| 243 | <option value="$PROJECT_DIR$/backend/controllers/CartController.php" /> | 295 | <option value="$PROJECT_DIR$/backend/controllers/CartController.php" /> |
| 244 | <option value="$PROJECT_DIR$/backend/web/js/cart.js" /> | 296 | <option value="$PROJECT_DIR$/backend/web/js/cart.js" /> |
| 245 | <option value="$PROJECT_DIR$/backend/controllers/CurrencyController.php" /> | 297 | <option value="$PROJECT_DIR$/backend/controllers/CurrencyController.php" /> |
| @@ -253,9 +305,7 @@ | @@ -253,9 +305,7 @@ | ||
| 253 | <option value="$PROJECT_DIR$/common/models/Currency.php" /> | 305 | <option value="$PROJECT_DIR$/common/models/Currency.php" /> |
| 254 | <option value="$PROJECT_DIR$/vendor/artweb/yii2-multiparser/lib/ParserValidator.php" /> | 306 | <option value="$PROJECT_DIR$/vendor/artweb/yii2-multiparser/lib/ParserValidator.php" /> |
| 255 | <option value="$PROJECT_DIR$/backend/views/currency/index.php" /> | 307 | <option value="$PROJECT_DIR$/backend/views/currency/index.php" /> |
| 256 | - <option value="$PROJECT_DIR$/backend/components/base/BaseController.php" /> | ||
| 257 | <option value="$PROJECT_DIR$/backend/views/templates/parser_massage.php" /> | 308 | <option value="$PROJECT_DIR$/backend/views/templates/parser_massage.php" /> |
| 258 | - <option value="$PROJECT_DIR$/backend/views/crossing-upload/index.php" /> | ||
| 259 | <option value="$PROJECT_DIR$/common/components/ModelArrayValidator.php" /> | 309 | <option value="$PROJECT_DIR$/common/components/ModelArrayValidator.php" /> |
| 260 | <option value="$PROJECT_DIR$/backend/models/Details.php" /> | 310 | <option value="$PROJECT_DIR$/backend/models/Details.php" /> |
| 261 | <option value="$PROJECT_DIR$/backend/models/DetailsCrosses.php" /> | 311 | <option value="$PROJECT_DIR$/backend/models/DetailsCrosses.php" /> |
| @@ -263,24 +313,36 @@ | @@ -263,24 +313,36 @@ | ||
| 263 | <option value="$PROJECT_DIR$/vendor/artweb/yii2-multiparser/lib/TableParser.php" /> | 313 | <option value="$PROJECT_DIR$/vendor/artweb/yii2-multiparser/lib/TableParser.php" /> |
| 264 | <option value="$PROJECT_DIR$/console/controllers/ParserController.php" /> | 314 | <option value="$PROJECT_DIR$/console/controllers/ParserController.php" /> |
| 265 | <option value="$PROJECT_DIR$/console/runtime/logs/parser.log" /> | 315 | <option value="$PROJECT_DIR$/console/runtime/logs/parser.log" /> |
| 266 | - <option value="$PROJECT_DIR$/backend/views/rg-grup/index.php" /> | ||
| 267 | <option value="$PROJECT_DIR$/common/components/PriceWriter.php" /> | 316 | <option value="$PROJECT_DIR$/common/components/PriceWriter.php" /> |
| 268 | - <option value="$PROJECT_DIR$/common/models/MarginsGroups.php" /> | ||
| 269 | <option value="$PROJECT_DIR$/backend/views/parser/index.php" /> | 317 | <option value="$PROJECT_DIR$/backend/views/parser/index.php" /> |
| 270 | <option value="$PROJECT_DIR$/backend/models/Importers.php" /> | 318 | <option value="$PROJECT_DIR$/backend/models/Importers.php" /> |
| 271 | <option value="$PROJECT_DIR$/common/components/parsers/Converter.php" /> | 319 | <option value="$PROJECT_DIR$/common/components/parsers/Converter.php" /> |
| 272 | <option value="$PROJECT_DIR$/common/components/parsers/config.php" /> | 320 | <option value="$PROJECT_DIR$/common/components/parsers/config.php" /> |
| 273 | - <option value="$PROJECT_DIR$/backend/controllers/CrossingUploadController.php" /> | ||
| 274 | - <option value="$PROJECT_DIR$/backend/controllers/ParserController.php" /> | ||
| 275 | - <option value="$PROJECT_DIR$/backend/controllers/RgGrupController.php" /> | ||
| 276 | - <option value="$PROJECT_DIR$/backend/views/crossing-upload/results.php" /> | ||
| 277 | <option value="$PROJECT_DIR$/backend/views/parser/results.php" /> | 321 | <option value="$PROJECT_DIR$/backend/views/parser/results.php" /> |
| 278 | - <option value="$PROJECT_DIR$/backend/views/rg-grup/results.php" /> | ||
| 279 | <option value="$PROJECT_DIR$/common/components/parsers/CustomConverter.php" /> | 322 | <option value="$PROJECT_DIR$/common/components/parsers/CustomConverter.php" /> |
| 280 | <option value="$PROJECT_DIR$/common/components/parsers/CustomCsvParser.php" /> | 323 | <option value="$PROJECT_DIR$/common/components/parsers/CustomCsvParser.php" /> |
| 281 | <option value="$PROJECT_DIR$/common/config/main.php" /> | 324 | <option value="$PROJECT_DIR$/common/config/main.php" /> |
| 282 | <option value="$PROJECT_DIR$/tests/unit/BaseConverterTest.php" /> | 325 | <option value="$PROJECT_DIR$/tests/unit/BaseConverterTest.php" /> |
| 283 | <option value="$PROJECT_DIR$/tests/unit/CrossesParsingTest.php" /> | 326 | <option value="$PROJECT_DIR$/tests/unit/CrossesParsingTest.php" /> |
| 327 | + <option value="$PROJECT_DIR$/backend/web/index.php" /> | ||
| 328 | + <option value="$PROJECT_DIR$/backend/views/crossing-upload/index.php" /> | ||
| 329 | + <option value="$PROJECT_DIR$/backend/views/crossing-upload/results.php" /> | ||
| 330 | + <option value="$PROJECT_DIR$/backend/config/main.php" /> | ||
| 331 | + <option value="$PROJECT_DIR$/backend/views/crossing-upload/error.php" /> | ||
| 332 | + <option value="$PROJECT_DIR$/common/components/exceptions/CrossParsingException.php" /> | ||
| 333 | + <option value="$PROJECT_DIR$/common/components/exceptions/RgParsingException.php" /> | ||
| 334 | + <option value="$PROJECT_DIR$/common/components/exceptions/PriceParsingException.php" /> | ||
| 335 | + <option value="$PROJECT_DIR$/backend/components/traits_/ParserTrait.php" /> | ||
| 336 | + <option value="$PROJECT_DIR$/backend/components/base/BaseController.php" /> | ||
| 337 | + <option value="$PROJECT_DIR$/backend/views/parser/error.php" /> | ||
| 338 | + <option value="$PROJECT_DIR$/backend/views/rg-grup/index.php" /> | ||
| 339 | + <option value="$PROJECT_DIR$/backend/views/rg-grup/results.php" /> | ||
| 340 | + <option value="$PROJECT_DIR$/common/models/MarginsGroups.php" /> | ||
| 341 | + <option value="$PROJECT_DIR$/backend/components/traits/ParserTrait.php" /> | ||
| 342 | + <option value="$PROJECT_DIR$/backend/controllers/CrossingUploadController.php" /> | ||
| 343 | + <option value="$PROJECT_DIR$/common/models/Margins.php" /> | ||
| 344 | + <option value="$PROJECT_DIR$/backend/controllers/RgGrupController.php" /> | ||
| 345 | + <option value="$PROJECT_DIR$/backend/controllers/ParserController.php" /> | ||
| 284 | </list> | 346 | </list> |
| 285 | </option> | 347 | </option> |
| 286 | </component> | 348 | </component> |
| @@ -333,6 +395,80 @@ | @@ -333,6 +395,80 @@ | ||
| 333 | <sortByType /> | 395 | <sortByType /> |
| 334 | </navigator> | 396 | </navigator> |
| 335 | <panes> | 397 | <panes> |
| 398 | + <pane id="ProjectPane"> | ||
| 399 | + <subPane> | ||
| 400 | + <PATH> | ||
| 401 | + <PATH_ELEMENT> | ||
| 402 | + <option name="myItemId" value="test-1.artwebua.in.ua" /> | ||
| 403 | + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> | ||
| 404 | + </PATH_ELEMENT> | ||
| 405 | + </PATH> | ||
| 406 | + <PATH> | ||
| 407 | + <PATH_ELEMENT> | ||
| 408 | + <option name="myItemId" value="test-1.artwebua.in.ua" /> | ||
| 409 | + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> | ||
| 410 | + </PATH_ELEMENT> | ||
| 411 | + <PATH_ELEMENT> | ||
| 412 | + <option name="myItemId" value="ital" /> | ||
| 413 | + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> | ||
| 414 | + </PATH_ELEMENT> | ||
| 415 | + </PATH> | ||
| 416 | + <PATH> | ||
| 417 | + <PATH_ELEMENT> | ||
| 418 | + <option name="myItemId" value="test-1.artwebua.in.ua" /> | ||
| 419 | + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> | ||
| 420 | + </PATH_ELEMENT> | ||
| 421 | + <PATH_ELEMENT> | ||
| 422 | + <option name="myItemId" value="ital" /> | ||
| 423 | + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> | ||
| 424 | + </PATH_ELEMENT> | ||
| 425 | + <PATH_ELEMENT> | ||
| 426 | + <option name="myItemId" value="backend" /> | ||
| 427 | + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> | ||
| 428 | + </PATH_ELEMENT> | ||
| 429 | + </PATH> | ||
| 430 | + <PATH> | ||
| 431 | + <PATH_ELEMENT> | ||
| 432 | + <option name="myItemId" value="test-1.artwebua.in.ua" /> | ||
| 433 | + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> | ||
| 434 | + </PATH_ELEMENT> | ||
| 435 | + <PATH_ELEMENT> | ||
| 436 | + <option name="myItemId" value="ital" /> | ||
| 437 | + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> | ||
| 438 | + </PATH_ELEMENT> | ||
| 439 | + <PATH_ELEMENT> | ||
| 440 | + <option name="myItemId" value="backend" /> | ||
| 441 | + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> | ||
| 442 | + </PATH_ELEMENT> | ||
| 443 | + <PATH_ELEMENT> | ||
| 444 | + <option name="myItemId" value="views" /> | ||
| 445 | + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> | ||
| 446 | + </PATH_ELEMENT> | ||
| 447 | + </PATH> | ||
| 448 | + <PATH> | ||
| 449 | + <PATH_ELEMENT> | ||
| 450 | + <option name="myItemId" value="test-1.artwebua.in.ua" /> | ||
| 451 | + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> | ||
| 452 | + </PATH_ELEMENT> | ||
| 453 | + <PATH_ELEMENT> | ||
| 454 | + <option name="myItemId" value="ital" /> | ||
| 455 | + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> | ||
| 456 | + </PATH_ELEMENT> | ||
| 457 | + <PATH_ELEMENT> | ||
| 458 | + <option name="myItemId" value="backend" /> | ||
| 459 | + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> | ||
| 460 | + </PATH_ELEMENT> | ||
| 461 | + <PATH_ELEMENT> | ||
| 462 | + <option name="myItemId" value="views" /> | ||
| 463 | + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> | ||
| 464 | + </PATH_ELEMENT> | ||
| 465 | + <PATH_ELEMENT> | ||
| 466 | + <option name="myItemId" value="crossing-upload" /> | ||
| 467 | + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> | ||
| 468 | + </PATH_ELEMENT> | ||
| 469 | + </PATH> | ||
| 470 | + </subPane> | ||
| 471 | + </pane> | ||
| 336 | <pane id="Scope"> | 472 | <pane id="Scope"> |
| 337 | <subPane subId="Default"> | 473 | <subPane subId="Default"> |
| 338 | <PATH> | 474 | <PATH> |
| @@ -464,126 +600,6 @@ | @@ -464,126 +600,6 @@ | ||
| 464 | </PATH> | 600 | </PATH> |
| 465 | </subPane> | 601 | </subPane> |
| 466 | </pane> | 602 | </pane> |
| 467 | - <pane id="ProjectPane"> | ||
| 468 | - <subPane> | ||
| 469 | - <PATH> | ||
| 470 | - <PATH_ELEMENT> | ||
| 471 | - <option name="myItemId" value="test-1.artwebua.in.ua" /> | ||
| 472 | - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> | ||
| 473 | - </PATH_ELEMENT> | ||
| 474 | - </PATH> | ||
| 475 | - <PATH> | ||
| 476 | - <PATH_ELEMENT> | ||
| 477 | - <option name="myItemId" value="test-1.artwebua.in.ua" /> | ||
| 478 | - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> | ||
| 479 | - </PATH_ELEMENT> | ||
| 480 | - <PATH_ELEMENT> | ||
| 481 | - <option name="myItemId" value="ital" /> | ||
| 482 | - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> | ||
| 483 | - </PATH_ELEMENT> | ||
| 484 | - </PATH> | ||
| 485 | - <PATH> | ||
| 486 | - <PATH_ELEMENT> | ||
| 487 | - <option name="myItemId" value="test-1.artwebua.in.ua" /> | ||
| 488 | - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> | ||
| 489 | - </PATH_ELEMENT> | ||
| 490 | - <PATH_ELEMENT> | ||
| 491 | - <option name="myItemId" value="ital" /> | ||
| 492 | - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> | ||
| 493 | - </PATH_ELEMENT> | ||
| 494 | - <PATH_ELEMENT> | ||
| 495 | - <option name="myItemId" value="storage" /> | ||
| 496 | - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> | ||
| 497 | - </PATH_ELEMENT> | ||
| 498 | - </PATH> | ||
| 499 | - <PATH> | ||
| 500 | - <PATH_ELEMENT> | ||
| 501 | - <option name="myItemId" value="test-1.artwebua.in.ua" /> | ||
| 502 | - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> | ||
| 503 | - </PATH_ELEMENT> | ||
| 504 | - <PATH_ELEMENT> | ||
| 505 | - <option name="myItemId" value="ital" /> | ||
| 506 | - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> | ||
| 507 | - </PATH_ELEMENT> | ||
| 508 | - <PATH_ELEMENT> | ||
| 509 | - <option name="myItemId" value="console" /> | ||
| 510 | - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> | ||
| 511 | - </PATH_ELEMENT> | ||
| 512 | - </PATH> | ||
| 513 | - <PATH> | ||
| 514 | - <PATH_ELEMENT> | ||
| 515 | - <option name="myItemId" value="test-1.artwebua.in.ua" /> | ||
| 516 | - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> | ||
| 517 | - </PATH_ELEMENT> | ||
| 518 | - <PATH_ELEMENT> | ||
| 519 | - <option name="myItemId" value="ital" /> | ||
| 520 | - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> | ||
| 521 | - </PATH_ELEMENT> | ||
| 522 | - <PATH_ELEMENT> | ||
| 523 | - <option name="myItemId" value="console" /> | ||
| 524 | - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> | ||
| 525 | - </PATH_ELEMENT> | ||
| 526 | - <PATH_ELEMENT> | ||
| 527 | - <option name="myItemId" value="runtime" /> | ||
| 528 | - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> | ||
| 529 | - </PATH_ELEMENT> | ||
| 530 | - </PATH> | ||
| 531 | - <PATH> | ||
| 532 | - <PATH_ELEMENT> | ||
| 533 | - <option name="myItemId" value="test-1.artwebua.in.ua" /> | ||
| 534 | - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> | ||
| 535 | - </PATH_ELEMENT> | ||
| 536 | - <PATH_ELEMENT> | ||
| 537 | - <option name="myItemId" value="ital" /> | ||
| 538 | - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> | ||
| 539 | - </PATH_ELEMENT> | ||
| 540 | - <PATH_ELEMENT> | ||
| 541 | - <option name="myItemId" value="console" /> | ||
| 542 | - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> | ||
| 543 | - </PATH_ELEMENT> | ||
| 544 | - <PATH_ELEMENT> | ||
| 545 | - <option name="myItemId" value="runtime" /> | ||
| 546 | - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> | ||
| 547 | - </PATH_ELEMENT> | ||
| 548 | - <PATH_ELEMENT> | ||
| 549 | - <option name="myItemId" value="logs" /> | ||
| 550 | - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> | ||
| 551 | - </PATH_ELEMENT> | ||
| 552 | - </PATH> | ||
| 553 | - <PATH> | ||
| 554 | - <PATH_ELEMENT> | ||
| 555 | - <option name="myItemId" value="test-1.artwebua.in.ua" /> | ||
| 556 | - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> | ||
| 557 | - </PATH_ELEMENT> | ||
| 558 | - <PATH_ELEMENT> | ||
| 559 | - <option name="myItemId" value="ital" /> | ||
| 560 | - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> | ||
| 561 | - </PATH_ELEMENT> | ||
| 562 | - <PATH_ELEMENT> | ||
| 563 | - <option name="myItemId" value="console" /> | ||
| 564 | - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> | ||
| 565 | - </PATH_ELEMENT> | ||
| 566 | - <PATH_ELEMENT> | ||
| 567 | - <option name="myItemId" value="controllers" /> | ||
| 568 | - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> | ||
| 569 | - </PATH_ELEMENT> | ||
| 570 | - </PATH> | ||
| 571 | - <PATH> | ||
| 572 | - <PATH_ELEMENT> | ||
| 573 | - <option name="myItemId" value="test-1.artwebua.in.ua" /> | ||
| 574 | - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> | ||
| 575 | - </PATH_ELEMENT> | ||
| 576 | - <PATH_ELEMENT> | ||
| 577 | - <option name="myItemId" value="ital" /> | ||
| 578 | - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> | ||
| 579 | - </PATH_ELEMENT> | ||
| 580 | - <PATH_ELEMENT> | ||
| 581 | - <option name="myItemId" value="backend" /> | ||
| 582 | - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> | ||
| 583 | - </PATH_ELEMENT> | ||
| 584 | - </PATH> | ||
| 585 | - </subPane> | ||
| 586 | - </pane> | ||
| 587 | </panes> | 603 | </panes> |
| 588 | </component> | 604 | </component> |
| 589 | <component name="PropertiesComponent"> | 605 | <component name="PropertiesComponent"> |
| @@ -621,11 +637,11 @@ | @@ -621,11 +637,11 @@ | ||
| 621 | </component> | 637 | </component> |
| 622 | <component name="RecentsManager"> | 638 | <component name="RecentsManager"> |
| 623 | <key name="CopyFile.RECENT_KEYS"> | 639 | <key name="CopyFile.RECENT_KEYS"> |
| 640 | + <recent name="C:\xampp\htdocs\ital\common\components\exceptions" /> | ||
| 641 | + <recent name="C:\xampp\htdocs\ital\backend\views\crossing-upload" /> | ||
| 624 | <recent name="C:\xampp\htdocs\ital" /> | 642 | <recent name="C:\xampp\htdocs\ital" /> |
| 625 | <recent name="C:\xampp\htdocs\ital\backend\web\js" /> | 643 | <recent name="C:\xampp\htdocs\ital\backend\web\js" /> |
| 626 | <recent name="C:\xampp\htdocs\ital\backend\assets" /> | 644 | <recent name="C:\xampp\htdocs\ital\backend\assets" /> |
| 627 | - <recent name="C:\xampp\htdocs\ital\backend\views\crossing-upload" /> | ||
| 628 | - <recent name="C:\xampp\htdocs\ital\backend\views\rg-grup" /> | ||
| 629 | </key> | 645 | </key> |
| 630 | <key name="MoveFile.RECENT_KEYS"> | 646 | <key name="MoveFile.RECENT_KEYS"> |
| 631 | <recent name="C:\xampp\htdocs\ital\storage" /> | 647 | <recent name="C:\xampp\htdocs\ital\storage" /> |
| @@ -646,22 +662,19 @@ | @@ -646,22 +662,19 @@ | ||
| 646 | <configuration default="true" type="PhpLocalRunConfigurationType" factoryName="PHP Console"> | 662 | <configuration default="true" type="PhpLocalRunConfigurationType" factoryName="PHP Console"> |
| 647 | <method /> | 663 | <method /> |
| 648 | </configuration> | 664 | </configuration> |
| 665 | + <configuration default="true" type="JavascriptDebugType" factoryName="JavaScript Debug"> | ||
| 666 | + <method /> | ||
| 667 | + </configuration> | ||
| 649 | <configuration default="true" type="com.intellij.database.run.ConsoleRunConfigurationType" factoryName="Query Language Console"> | 668 | <configuration default="true" type="com.intellij.database.run.ConsoleRunConfigurationType" factoryName="Query Language Console"> |
| 650 | <option name="VM_PARAMETERS" value="" /> | 669 | <option name="VM_PARAMETERS" value="" /> |
| 651 | <option name="USER_CFG_CLASS" /> | 670 | <option name="USER_CFG_CLASS" /> |
| 652 | <option name="CONTEXT_PROVIDER" /> | 671 | <option name="CONTEXT_PROVIDER" /> |
| 653 | <method /> | 672 | <method /> |
| 654 | </configuration> | 673 | </configuration> |
| 655 | - <configuration default="true" type="JavascriptDebugType" factoryName="JavaScript Debug"> | ||
| 656 | - <method /> | ||
| 657 | - </configuration> | ||
| 658 | <configuration default="true" type="PhpBehatConfigurationType" factoryName="Behat"> | 674 | <configuration default="true" type="PhpBehatConfigurationType" factoryName="Behat"> |
| 659 | <BehatRunner /> | 675 | <BehatRunner /> |
| 660 | <method /> | 676 | <method /> |
| 661 | </configuration> | 677 | </configuration> |
| 662 | - <configuration default="true" type="PhpUnitRemoteRunConfigurationType" factoryName="PHPUnit on Server" server_id="a3f1bddc-84d9-4a6b-8a9d-6de886ff3d82" server_name="italauto"> | ||
| 663 | - <method /> | ||
| 664 | - </configuration> | ||
| 665 | <configuration default="true" type="js.build_tools.gulp" factoryName="Gulp.js"> | 678 | <configuration default="true" type="js.build_tools.gulp" factoryName="Gulp.js"> |
| 666 | <node-options /> | 679 | <node-options /> |
| 667 | <gulpfile /> | 680 | <gulpfile /> |
| @@ -671,6 +684,9 @@ | @@ -671,6 +684,9 @@ | ||
| 671 | <envs /> | 684 | <envs /> |
| 672 | <method /> | 685 | <method /> |
| 673 | </configuration> | 686 | </configuration> |
| 687 | + <configuration default="true" type="PhpUnitRemoteRunConfigurationType" factoryName="PHPUnit on Server" server_id="a3f1bddc-84d9-4a6b-8a9d-6de886ff3d82" server_name="italauto"> | ||
| 688 | + <method /> | ||
| 689 | + </configuration> | ||
| 674 | <configuration default="false" name="ital_server" type="PhpWebAppRunConfigurationType" factoryName="PHP Web Application" browser="98ca6316-2f89-46d9-a9e5-fa9e2b0625b3" server_name="ital_server" start_url="http://test-1.artweb.com.ua/admin/"> | 690 | <configuration default="false" name="ital_server" type="PhpWebAppRunConfigurationType" factoryName="PHP Web Application" browser="98ca6316-2f89-46d9-a9e5-fa9e2b0625b3" server_name="ital_server" start_url="http://test-1.artweb.com.ua/admin/"> |
| 675 | <RunnerSettings RunnerId="PhpRunner" /> | 691 | <RunnerSettings RunnerId="PhpRunner" /> |
| 676 | <RunnerSettings RunnerId="PhpWebAppDebugRunner" /> | 692 | <RunnerSettings RunnerId="PhpWebAppDebugRunner" /> |
| @@ -745,9 +761,9 @@ | @@ -745,9 +761,9 @@ | ||
| 745 | <layout> | 761 | <layout> |
| 746 | <window_info id="File Transfer" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32960895" sideWeight="0.5" order="12" side_tool="false" content_ui="tabs" /> | 762 | <window_info id="File Transfer" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32960895" sideWeight="0.5" order="12" side_tool="false" content_ui="tabs" /> |
| 747 | <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32849163" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" /> | 763 | <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32849163" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" /> |
| 748 | - <window_info id="Terminal" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.34301677" sideWeight="0.5" order="14" side_tool="false" content_ui="tabs" /> | ||
| 749 | - <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.21936275" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> | 764 | + <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.34301677" sideWeight="0.5" order="14" side_tool="false" content_ui="tabs" /> |
| 750 | <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.29944134" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> | 765 | <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.29944134" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> |
| 766 | + <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.21936275" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> | ||
| 751 | <window_info id="Remote Host" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3290441" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> | 767 | <window_info id="Remote Host" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3290441" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> |
| 752 | <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.30726257" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> | 768 | <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.30726257" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> |
| 753 | <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3206704" sideWeight="0.5" order="10" side_tool="true" content_ui="tabs" /> | 769 | <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3206704" sideWeight="0.5" order="10" side_tool="true" content_ui="tabs" /> |
| @@ -756,7 +772,7 @@ | @@ -756,7 +772,7 @@ | ||
| 756 | <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3206704" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> | 772 | <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3206704" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> |
| 757 | <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25306374" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> | 773 | <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25306374" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> |
| 758 | <window_info id="Application Servers" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" /> | 774 | <window_info id="Application Servers" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" /> |
| 759 | - <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.30759802" sideWeight="0.49944505" order="0" side_tool="false" content_ui="combo" /> | 775 | + <window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.30392158" sideWeight="0.49944505" order="0" side_tool="false" content_ui="combo" /> |
| 760 | <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> | 776 | <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> |
| 761 | <window_info id="Database Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.2547486" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> | 777 | <window_info id="Database Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.2547486" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> |
| 762 | <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> | 778 | <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> |
| @@ -764,8 +780,8 @@ | @@ -764,8 +780,8 @@ | ||
| 764 | <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> | 780 | <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> |
| 765 | <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="13" side_tool="false" content_ui="tabs" /> | 781 | <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="13" side_tool="false" content_ui="tabs" /> |
| 766 | <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> | 782 | <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> |
| 767 | - <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" /> | ||
| 768 | <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> | 783 | <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> |
| 784 | + <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" /> | ||
| 769 | <window_info id="Command Line Tools Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32960895" sideWeight="0.5" order="15" side_tool="false" content_ui="tabs" /> | 785 | <window_info id="Command Line Tools Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32960895" sideWeight="0.5" order="15" side_tool="false" content_ui="tabs" /> |
| 770 | </layout> | 786 | </layout> |
| 771 | <layout-to-restore> | 787 | <layout-to-restore> |
| @@ -787,9 +803,9 @@ | @@ -787,9 +803,9 @@ | ||
| 787 | <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> | 803 | <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> |
| 788 | <window_info id="Application Servers" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="12" side_tool="false" content_ui="tabs" /> | 804 | <window_info id="Application Servers" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="12" side_tool="false" content_ui="tabs" /> |
| 789 | <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.25" sideWeight="0.49944505" order="0" side_tool="false" content_ui="combo" /> | 805 | <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.25" sideWeight="0.49944505" order="0" side_tool="false" content_ui="combo" /> |
| 790 | - <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> | ||
| 791 | - <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" /> | ||
| 792 | <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> | 806 | <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> |
| 807 | + <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" /> | ||
| 808 | + <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> | ||
| 793 | </layout-to-restore> | 809 | </layout-to-restore> |
| 794 | </component> | 810 | </component> |
| 795 | <component name="Vcs.Log.UiProperties"> | 811 | <component name="Vcs.Log.UiProperties"> |
| @@ -812,426 +828,428 @@ | @@ -812,426 +828,428 @@ | ||
| 812 | </component> | 828 | </component> |
| 813 | <component name="XDebuggerManager"> | 829 | <component name="XDebuggerManager"> |
| 814 | <breakpoint-manager> | 830 | <breakpoint-manager> |
| 831 | + <breakpoints> | ||
| 832 | + <line-breakpoint type="php"> | ||
| 833 | + <url>file://$PROJECT_DIR$/backend/controllers/RgGrupController.php</url> | ||
| 834 | + <line>148</line> | ||
| 835 | + <option name="timeStamp" value="231" /> | ||
| 836 | + </line-breakpoint> | ||
| 837 | + </breakpoints> | ||
| 815 | <breakpoints-dialog> | 838 | <breakpoints-dialog> |
| 816 | <breakpoints-dialog /> | 839 | <breakpoints-dialog /> |
| 817 | </breakpoints-dialog> | 840 | </breakpoints-dialog> |
| 818 | - <option name="time" value="224" /> | 841 | + <option name="time" value="239" /> |
| 819 | </breakpoint-manager> | 842 | </breakpoint-manager> |
| 820 | <watches-manager> | 843 | <watches-manager> |
| 821 | <configuration name="index.php"> | 844 | <configuration name="index.php"> |
| 822 | - <watch expression="$model->rules()" language="PHP" /> | ||
| 823 | - <watch expression="array_keys($arr_attributes)" language="PHP" /> | 845 | + <watch expression="$arr" language="PHP" /> |
| 846 | + </configuration> | ||
| 847 | + <configuration name="PhpWebAppRunConfigurationType"> | ||
| 848 | + <watch expression="$model->getErrors()" language="PHP" /> | ||
| 824 | </configuration> | 849 | </configuration> |
| 825 | </watches-manager> | 850 | </watches-manager> |
| 826 | </component> | 851 | </component> |
| 827 | <component name="editorHistoryManager"> | 852 | <component name="editorHistoryManager"> |
| 828 | - <entry file="file://$PROJECT_DIR$/vendor/yiisoft/yii2/assets/yii.validation.js"> | 853 | + <entry file="file://$PROJECT_DIR$/common/components/ModelArrayValidator.php"> |
| 829 | <provider selected="true" editor-type-id="text-editor"> | 854 | <provider selected="true" editor-type-id="text-editor"> |
| 830 | - <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="8085"> | ||
| 831 | - <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> | 855 | + <state vertical-scroll-proportion="-59.88889" vertical-offset="840" max-vertical-offset="3066"> |
| 856 | + <caret line="122" column="32" selection-start-line="122" selection-start-column="32" selection-end-line="122" selection-end-column="32" /> | ||
| 857 | + <folding /> | ||
| 832 | </state> | 858 | </state> |
| 833 | </provider> | 859 | </provider> |
| 834 | </entry> | 860 | </entry> |
| 835 | - <entry file="file://$PROJECT_DIR$/vendor/yiisoft/yii2/validators/FilterValidator.php"> | 861 | + <entry file="file://$PROJECT_DIR$/backend/models/DetailsCrosses.php"> |
| 836 | <provider selected="true" editor-type-id="text-editor"> | 862 | <provider selected="true" editor-type-id="text-editor"> |
| 837 | - <state vertical-scroll-proportion="-13.222222" vertical-offset="1071" max-vertical-offset="2037"> | ||
| 838 | - <caret line="72" column="9" selection-start-line="70" selection-start-column="7" selection-end-line="72" selection-end-column="9" /> | 863 | + <state vertical-scroll-proportion="0.0" vertical-offset="610" max-vertical-offset="2058"> |
| 864 | + <caret line="38" column="54" selection-start-line="38" selection-start-column="35" selection-end-line="38" selection-end-column="54" /> | ||
| 865 | + <folding /> | ||
| 839 | </state> | 866 | </state> |
| 840 | </provider> | 867 | </provider> |
| 841 | </entry> | 868 | </entry> |
| 842 | - <entry file="file://$PROJECT_DIR$/vendor/yiisoft/yii2/validators/NumberValidator.php"> | 869 | + <entry file="file://$PROJECT_DIR$/backend/models/Details.php"> |
| 843 | <provider selected="true" editor-type-id="text-editor"> | 870 | <provider selected="true" editor-type-id="text-editor"> |
| 844 | - <state vertical-scroll-proportion="-7.037037" vertical-offset="839" max-vertical-offset="3339"> | ||
| 845 | - <caret line="55" column="79" selection-start-line="55" selection-start-column="3" selection-end-line="55" selection-end-column="79" /> | 871 | + <state vertical-scroll-proportion="1.375" vertical-offset="0" max-vertical-offset="3339"> |
| 872 | + <caret line="57" column="115" selection-start-line="57" selection-start-column="93" selection-end-line="57" selection-end-column="115" /> | ||
| 873 | + <folding /> | ||
| 846 | </state> | 874 | </state> |
| 847 | </provider> | 875 | </provider> |
| 848 | </entry> | 876 | </entry> |
| 849 | - <entry file="file://$PROJECT_DIR$/common/components/CommaNumberValidator.php"> | 877 | + <entry file="file://$PROJECT_DIR$/vendor/yiisoft/yii2/messages/ru/yii.php"> |
| 850 | <provider selected="true" editor-type-id="text-editor"> | 878 | <provider selected="true" editor-type-id="text-editor"> |
| 851 | - <state vertical-scroll-proportion="-14.962963" vertical-offset="79" max-vertical-offset="1281"> | ||
| 852 | - <caret line="28" column="30" selection-start-line="28" selection-start-column="12" selection-end-line="28" selection-end-column="30" /> | 879 | + <state vertical-scroll-proportion="3.5185184" vertical-offset="1082" max-vertical-offset="3150"> |
| 880 | + <caret line="63" column="134" selection-start-line="63" selection-start-column="134" selection-end-line="63" selection-end-column="134" /> | ||
| 853 | </state> | 881 | </state> |
| 854 | </provider> | 882 | </provider> |
| 855 | </entry> | 883 | </entry> |
| 856 | - <entry file="file://$PROJECT_DIR$/common/models/Currency.php"> | 884 | + <entry file="file://$PROJECT_DIR$/vendor/yiisoft/yii2/validators/FileValidator.php"> |
| 857 | <provider selected="true" editor-type-id="text-editor"> | 885 | <provider selected="true" editor-type-id="text-editor"> |
| 858 | - <state vertical-scroll-proportion="-11.666667" vertical-offset="357" max-vertical-offset="1512"> | ||
| 859 | - <caret line="32" column="73" selection-start-line="32" selection-start-column="62" selection-end-line="32" selection-end-column="73" /> | 886 | + <state vertical-scroll-proportion="252.77777" vertical-offset="6825" max-vertical-offset="8862"> |
| 887 | + <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> | ||
| 860 | </state> | 888 | </state> |
| 861 | </provider> | 889 | </provider> |
| 862 | </entry> | 890 | </entry> |
| 863 | - <entry file="file://$PROJECT_DIR$/common/models/CartBillsSearch.php"> | 891 | + <entry file="file://$PROJECT_DIR$/backend/models/UploadFileParsingForm.php"> |
| 864 | <provider selected="true" editor-type-id="text-editor"> | 892 | <provider selected="true" editor-type-id="text-editor"> |
| 865 | - <state vertical-scroll-proportion="7.7777777" vertical-offset="1071" max-vertical-offset="1911"> | ||
| 866 | - <caret line="45" column="39" selection-start-line="45" selection-start-column="39" selection-end-line="45" selection-end-column="39" /> | 893 | + <state vertical-scroll-proportion="-14.0" vertical-offset="567" max-vertical-offset="2163"> |
| 894 | + <caret line="49" column="37" selection-start-line="49" selection-start-column="37" selection-end-line="49" selection-end-column="37" /> | ||
| 895 | + <folding /> | ||
| 867 | </state> | 896 | </state> |
| 868 | </provider> | 897 | </provider> |
| 869 | </entry> | 898 | </entry> |
| 870 | - <entry file="file://$PROJECT_DIR$/backend/components/base/BaseActiveRecord.php"> | 899 | + <entry file="file://$PROJECT_DIR$/vendor/yiisoft/yii2/log/Logger.php"> |
| 871 | <provider selected="true" editor-type-id="text-editor"> | 900 | <provider selected="true" editor-type-id="text-editor"> |
| 872 | - <state vertical-scroll-proportion="0.0" vertical-offset="378" max-vertical-offset="588"> | ||
| 873 | - <caret line="23" column="9" selection-start-line="21" selection-start-column="8" selection-end-line="23" selection-end-column="9" /> | ||
| 874 | - <folding /> | 901 | + <state vertical-scroll-proportion="0.33274338" vertical-offset="3361" max-vertical-offset="6636"> |
| 902 | + <caret line="174" column="0" selection-start-line="174" selection-start-column="0" selection-end-line="174" selection-end-column="0" /> | ||
| 875 | </state> | 903 | </state> |
| 876 | </provider> | 904 | </provider> |
| 877 | </entry> | 905 | </entry> |
| 878 | - <entry file="file://$PROJECT_DIR$/backend/views/currency/index.php"> | 906 | + <entry file="file://$PROJECT_DIR$/vendor/yiisoft/yii2/web/Session.php"> |
| 879 | <provider selected="true" editor-type-id="text-editor"> | 907 | <provider selected="true" editor-type-id="text-editor"> |
| 880 | - <state vertical-scroll-proportion="0.775" vertical-offset="0" max-vertical-offset="840"> | ||
| 881 | - <caret line="32" column="0" selection-start-line="32" selection-start-column="0" selection-end-line="32" selection-end-column="0" /> | 908 | + <state vertical-scroll-proportion="0.33274338" vertical-offset="3319" max-vertical-offset="18270"> |
| 909 | + <caret line="172" column="0" selection-start-line="172" selection-start-column="0" selection-end-line="172" selection-end-column="0" /> | ||
| 882 | </state> | 910 | </state> |
| 883 | </provider> | 911 | </provider> |
| 884 | </entry> | 912 | </entry> |
| 885 | - <entry file="file://$PROJECT_DIR$/backend/models/ImportersFiles.php"> | 913 | + <entry file="file://$PROJECT_DIR$/vendor/yiisoft/yii2/db/BaseActiveRecord.php"> |
| 886 | <provider selected="true" editor-type-id="text-editor"> | 914 | <provider selected="true" editor-type-id="text-editor"> |
| 887 | - <state vertical-scroll-proportion="-10.703704" vertical-offset="47" max-vertical-offset="1470"> | ||
| 888 | - <caret line="17" column="6" selection-start-line="17" selection-start-column="6" selection-end-line="17" selection-end-column="6" /> | ||
| 889 | - <folding /> | 915 | + <state vertical-scroll-proportion="-6.185185" vertical-offset="4831" max-vertical-offset="33033"> |
| 916 | + <caret line="250" column="0" selection-start-line="250" selection-start-column="0" selection-end-line="250" selection-end-column="0" /> | ||
| 890 | </state> | 917 | </state> |
| 891 | </provider> | 918 | </provider> |
| 892 | </entry> | 919 | </entry> |
| 893 | - <entry file="file://$PROJECT_DIR$/vendor/yiisoft/yii2/base/View.php"> | 920 | + <entry file="file://$PROJECT_DIR$/console/controllers/ParserController.php"> |
| 894 | <provider selected="true" editor-type-id="text-editor"> | 921 | <provider selected="true" editor-type-id="text-editor"> |
| 895 | - <state vertical-scroll-proportion="-6.5185184" vertical-offset="6502" max-vertical-offset="10395"> | ||
| 896 | - <caret line="326" column="0" selection-start-line="326" selection-start-column="0" selection-end-line="326" selection-end-column="0" /> | 922 | + <state vertical-scroll-proportion="-6.962963" vertical-offset="967" max-vertical-offset="5397"> |
| 923 | + <caret line="64" column="0" selection-start-line="64" selection-start-column="0" selection-end-line="64" selection-end-column="0" /> | ||
| 897 | </state> | 924 | </state> |
| 898 | </provider> | 925 | </provider> |
| 899 | </entry> | 926 | </entry> |
| 900 | - <entry file="file://$PROJECT_DIR$/backend/views/templates/parser_massage.php"> | 927 | + <entry file="file://$PROJECT_DIR$/backend/models/Importers.php"> |
| 901 | <provider selected="true" editor-type-id="text-editor"> | 928 | <provider selected="true" editor-type-id="text-editor"> |
| 902 | - <state vertical-scroll-proportion="-10.888889" vertical-offset="0" max-vertical-offset="420"> | ||
| 903 | - <caret line="14" column="0" selection-start-line="14" selection-start-column="0" selection-end-line="14" selection-end-column="0" /> | 929 | + <state vertical-scroll-proportion="-7.703704" vertical-offset="1766" max-vertical-offset="3213"> |
| 930 | + <caret line="96" column="0" selection-start-line="96" selection-start-column="0" selection-end-line="96" selection-end-column="0" /> | ||
| 931 | + <folding /> | ||
| 904 | </state> | 932 | </state> |
| 905 | </provider> | 933 | </provider> |
| 906 | </entry> | 934 | </entry> |
| 907 | - <entry file="file://$PROJECT_DIR$/backend/views/crossing-upload/index.php"> | 935 | + <entry file="file://$PROJECT_DIR$/console/runtime/logs/parser.log"> |
| 908 | <provider selected="true" editor-type-id="text-editor"> | 936 | <provider selected="true" editor-type-id="text-editor"> |
| 909 | - <state vertical-scroll-proportion="-13.962963" vertical-offset="169" max-vertical-offset="672"> | ||
| 910 | - <caret line="28" column="0" selection-start-line="28" selection-start-column="0" selection-end-line="28" selection-end-column="0" /> | 937 | + <state vertical-scroll-proportion="0.79928315" vertical-offset="5946" max-vertical-offset="6783"> |
| 938 | + <caret line="288" column="61" selection-start-line="288" selection-start-column="61" selection-end-line="288" selection-end-column="61" /> | ||
| 911 | </state> | 939 | </state> |
| 912 | </provider> | 940 | </provider> |
| 941 | + <provider editor-type-id="com.intellij.database.editor.CsvTableFileEditorProvider"> | ||
| 942 | + <state /> | ||
| 943 | + </provider> | ||
| 913 | </entry> | 944 | </entry> |
| 914 | - <entry file="file://$PROJECT_DIR$/backend/components/base/BaseController.php"> | 945 | + <entry file="file://$PROJECT_DIR$/common/components/parsers/Converter.php"> |
| 915 | <provider selected="true" editor-type-id="text-editor"> | 946 | <provider selected="true" editor-type-id="text-editor"> |
| 916 | - <state vertical-scroll-proportion="-108.85185" vertical-offset="1534" max-vertical-offset="5187"> | ||
| 917 | - <caret line="224" column="29" selection-start-line="224" selection-start-column="29" selection-end-line="224" selection-end-column="29" /> | ||
| 918 | - <folding /> | 947 | + <state vertical-scroll-proportion="-2.3333333" vertical-offset="0" max-vertical-offset="3780"> |
| 948 | + <caret line="8" column="36" selection-start-line="8" selection-start-column="36" selection-end-line="8" selection-end-column="36" /> | ||
| 919 | </state> | 949 | </state> |
| 920 | </provider> | 950 | </provider> |
| 921 | </entry> | 951 | </entry> |
| 922 | - <entry file="file://$PROJECT_DIR$/backend/web/css/AdminLTE.css"> | 952 | + <entry file="file://$PROJECT_DIR$/common/components/parsers/config.php"> |
| 923 | <provider selected="true" editor-type-id="text-editor"> | 953 | <provider selected="true" editor-type-id="text-editor"> |
| 924 | - <state vertical-scroll-proportion="0.3633218" vertical-offset="63" max-vertical-offset="89124"> | ||
| 925 | - <caret line="18" column="5" selection-start-line="18" selection-start-column="5" selection-end-line="18" selection-end-column="5" /> | 954 | + <state vertical-scroll-proportion="-7.7777777" vertical-offset="1239" max-vertical-offset="2079"> |
| 955 | + <caret line="69" column="45" selection-start-line="69" selection-start-column="45" selection-end-line="69" selection-end-column="45" /> | ||
| 926 | </state> | 956 | </state> |
| 927 | </provider> | 957 | </provider> |
| 928 | </entry> | 958 | </entry> |
| 929 | - <entry file="file://$PROJECT_DIR$/common/components/ModelArrayValidator.php"> | 959 | + <entry file="file://$PROJECT_DIR$/backend/views/parser/results.php"> |
| 930 | <provider selected="true" editor-type-id="text-editor"> | 960 | <provider selected="true" editor-type-id="text-editor"> |
| 931 | - <state vertical-scroll-proportion="-59.88889" vertical-offset="840" max-vertical-offset="3066"> | ||
| 932 | - <caret line="122" column="32" selection-start-line="122" selection-start-column="32" selection-end-line="122" selection-end-column="32" /> | ||
| 933 | - <folding /> | 961 | + <state vertical-scroll-proportion="-2.3333333" vertical-offset="0" max-vertical-offset="777"> |
| 962 | + <caret line="3" column="4" selection-start-line="3" selection-start-column="4" selection-end-line="3" selection-end-column="4" /> | ||
| 934 | </state> | 963 | </state> |
| 935 | </provider> | 964 | </provider> |
| 936 | </entry> | 965 | </entry> |
| 937 | - <entry file="file://$PROJECT_DIR$/backend/models/DetailsCrosses.php"> | 966 | + <entry file="file://$PROJECT_DIR$/common/components/parsers/CsvParser.php"> |
| 938 | <provider selected="true" editor-type-id="text-editor"> | 967 | <provider selected="true" editor-type-id="text-editor"> |
| 939 | - <state vertical-scroll-proportion="0.0" vertical-offset="610" max-vertical-offset="2058"> | ||
| 940 | - <caret line="38" column="54" selection-start-line="38" selection-start-column="35" selection-end-line="38" selection-end-column="54" /> | ||
| 941 | - <folding /> | 968 | + <state vertical-scroll-proportion="-4.6666665" vertical-offset="0" max-vertical-offset="1701"> |
| 969 | + <caret line="8" column="12" selection-start-line="8" selection-start-column="12" selection-end-line="8" selection-end-column="12" /> | ||
| 942 | </state> | 970 | </state> |
| 943 | </provider> | 971 | </provider> |
| 944 | </entry> | 972 | </entry> |
| 945 | - <entry file="file://$PROJECT_DIR$/backend/models/Details.php"> | 973 | + <entry file="file://$PROJECT_DIR$/common/components/parsers/CustomConverter.php"> |
| 946 | <provider selected="true" editor-type-id="text-editor"> | 974 | <provider selected="true" editor-type-id="text-editor"> |
| 947 | - <state vertical-scroll-proportion="1.375" vertical-offset="0" max-vertical-offset="3339"> | ||
| 948 | - <caret line="57" column="115" selection-start-line="57" selection-start-column="93" selection-end-line="57" selection-end-column="115" /> | ||
| 949 | - <folding /> | 975 | + <state vertical-scroll-proportion="-3.1111112" vertical-offset="0" max-vertical-offset="3066"> |
| 976 | + <caret line="4" column="4" selection-start-line="4" selection-start-column="4" selection-end-line="4" selection-end-column="4" /> | ||
| 950 | </state> | 977 | </state> |
| 951 | </provider> | 978 | </provider> |
| 952 | </entry> | 979 | </entry> |
| 953 | - <entry file="file://$PROJECT_DIR$/backend/views/rg-grup/index.php"> | 980 | + <entry file="file://$PROJECT_DIR$/common/components/parsers/CustomCsvParser.php"> |
| 954 | <provider selected="true" editor-type-id="text-editor"> | 981 | <provider selected="true" editor-type-id="text-editor"> |
| 955 | - <state vertical-scroll-proportion="0.0" vertical-offset="189" max-vertical-offset="714"> | ||
| 956 | - <caret line="12" column="124" selection-start-line="12" selection-start-column="124" selection-end-line="12" selection-end-column="124" /> | ||
| 957 | - <folding /> | 982 | + <state vertical-scroll-proportion="-3.8888888" vertical-offset="0" max-vertical-offset="420"> |
| 983 | + <caret line="10" column="32" selection-start-line="10" selection-start-column="32" selection-end-line="10" selection-end-column="32" /> | ||
| 958 | </state> | 984 | </state> |
| 959 | </provider> | 985 | </provider> |
| 960 | </entry> | 986 | </entry> |
| 961 | - <entry file="file://$PROJECT_DIR$/common/components/PriceWriter.php"> | 987 | + <entry file="file://$PROJECT_DIR$/common/components/parsers/XlsxParser.php"> |
| 962 | <provider selected="true" editor-type-id="text-editor"> | 988 | <provider selected="true" editor-type-id="text-editor"> |
| 963 | - <state vertical-scroll-proportion="0.0" vertical-offset="1008" max-vertical-offset="5628"> | ||
| 964 | - <caret line="53" column="24" selection-start-line="53" selection-start-column="24" selection-end-line="53" selection-end-column="24" /> | ||
| 965 | - <folding> | ||
| 966 | - <element signature="e#122#150#0#PHP" expanded="false" /> | ||
| 967 | - </folding> | 989 | + <state vertical-scroll-proportion="-7.3703704" vertical-offset="11" max-vertical-offset="6531"> |
| 990 | + <caret line="15" column="12" selection-start-line="15" selection-start-column="12" selection-end-line="15" selection-end-column="12" /> | ||
| 968 | </state> | 991 | </state> |
| 969 | </provider> | 992 | </provider> |
| 970 | </entry> | 993 | </entry> |
| 971 | - <entry file="file://$PROJECT_DIR$/common/models/MarginsGroups.php"> | 994 | + <entry file="file://$PROJECT_DIR$/common/config/main.php"> |
| 972 | <provider selected="true" editor-type-id="text-editor"> | 995 | <provider selected="true" editor-type-id="text-editor"> |
| 973 | - <state vertical-scroll-proportion="-10.703704" vertical-offset="593" max-vertical-offset="2520"> | ||
| 974 | - <caret line="43" column="18" selection-start-line="43" selection-start-column="18" selection-end-line="43" selection-end-column="18" /> | ||
| 975 | - <folding /> | 996 | + <state vertical-scroll-proportion="-10.296296" vertical-offset="163" max-vertical-offset="735"> |
| 997 | + <caret line="21" column="24" selection-start-line="21" selection-start-column="24" selection-end-line="21" selection-end-column="24" /> | ||
| 976 | </state> | 998 | </state> |
| 977 | </provider> | 999 | </provider> |
| 978 | </entry> | 1000 | </entry> |
| 979 | - <entry file="file://$PROJECT_DIR$/vendor/yiisoft/yii2/messages/ru/yii.php"> | 1001 | + <entry file="file://$PROJECT_DIR$/tests/unit/BaseConverterTest.php"> |
| 980 | <provider selected="true" editor-type-id="text-editor"> | 1002 | <provider selected="true" editor-type-id="text-editor"> |
| 981 | - <state vertical-scroll-proportion="3.5185184" vertical-offset="1082" max-vertical-offset="3150"> | ||
| 982 | - <caret line="63" column="134" selection-start-line="63" selection-start-column="134" selection-end-line="63" selection-end-column="134" /> | ||
| 983 | - <folding /> | 1003 | + <state vertical-scroll-proportion="-3.8888888" vertical-offset="0" max-vertical-offset="1533"> |
| 1004 | + <caret line="5" column="4" selection-start-line="5" selection-start-column="4" selection-end-line="5" selection-end-column="4" /> | ||
| 984 | </state> | 1005 | </state> |
| 985 | </provider> | 1006 | </provider> |
| 986 | </entry> | 1007 | </entry> |
| 987 | - <entry file="file://$PROJECT_DIR$/vendor/yiisoft/yii2/validators/FileValidator.php"> | 1008 | + <entry file="file://$PROJECT_DIR$/storage/.gitignore"> |
| 988 | <provider selected="true" editor-type-id="text-editor"> | 1009 | <provider selected="true" editor-type-id="text-editor"> |
| 989 | - <state vertical-scroll-proportion="252.77777" vertical-offset="6825" max-vertical-offset="8862"> | 1010 | + <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="867"> |
| 990 | <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> | 1011 | <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> |
| 1012 | + </state> | ||
| 1013 | + </provider> | ||
| 1014 | + </entry> | ||
| 1015 | + <entry file="file://$PROJECT_DIR$/backend/web/index.php"> | ||
| 1016 | + <provider selected="true" editor-type-id="text-editor"> | ||
| 1017 | + <state vertical-scroll-proportion="0.075" vertical-offset="0" max-vertical-offset="840"> | ||
| 1018 | + <caret line="3" column="0" selection-start-line="3" selection-start-column="0" selection-end-line="3" selection-end-column="0" /> | ||
| 991 | <folding /> | 1019 | <folding /> |
| 992 | </state> | 1020 | </state> |
| 993 | </provider> | 1021 | </provider> |
| 994 | </entry> | 1022 | </entry> |
| 995 | - <entry file="file://$PROJECT_DIR$/backend/models/UploadFileParsingForm.php"> | 1023 | + <entry file="file://$PROJECT_DIR$/vendor/yiisoft/yii2/base/UserException.php"> |
| 996 | <provider selected="true" editor-type-id="text-editor"> | 1024 | <provider selected="true" editor-type-id="text-editor"> |
| 997 | - <state vertical-scroll-proportion="-14.0" vertical-offset="567" max-vertical-offset="2163"> | ||
| 998 | - <caret line="49" column="37" selection-start-line="49" selection-start-column="37" selection-end-line="49" selection-end-column="37" /> | 1025 | + <state vertical-scroll-proportion="-9.333333" vertical-offset="0" max-vertical-offset="441"> |
| 1026 | + <caret line="16" column="19" selection-start-line="16" selection-start-column="6" selection-end-line="16" selection-end-column="19" /> | ||
| 999 | <folding /> | 1027 | <folding /> |
| 1000 | </state> | 1028 | </state> |
| 1001 | </provider> | 1029 | </provider> |
| 1002 | </entry> | 1030 | </entry> |
| 1003 | - <entry file="file://$PROJECT_DIR$/.htaccess"> | 1031 | + <entry file="file://$PROJECT_DIR$/tests/unit/CrossesParsingTest.php"> |
| 1004 | <provider selected="true" editor-type-id="text-editor"> | 1032 | <provider selected="true" editor-type-id="text-editor"> |
| 1005 | - <state vertical-scroll-proportion="0.0" vertical-offset="750" max-vertical-offset="1617"> | ||
| 1006 | - <caret line="70" column="18" selection-start-line="70" selection-start-column="14" selection-end-line="70" selection-end-column="18" /> | ||
| 1007 | - <folding> | ||
| 1008 | - <marker date="1448632293559" expanded="true" signature="-1:-1" placeholder="<IfModule mod_rewrite.c>" /> | ||
| 1009 | - <marker date="1448632293559" expanded="true" signature="-1:-1" placeholder="<IfModule mod_rewrite.c>" /> | ||
| 1010 | - <marker date="1448632293559" expanded="true" signature="-1:-1" placeholder="<IfModule mod_php5.c>" /> | ||
| 1011 | - </folding> | 1033 | + <state vertical-scroll-proportion="1.0778761" vertical-offset="210" max-vertical-offset="1113"> |
| 1034 | + <caret line="39" column="0" selection-start-line="39" selection-start-column="0" selection-end-line="39" selection-end-column="0" /> | ||
| 1012 | </state> | 1035 | </state> |
| 1013 | </provider> | 1036 | </provider> |
| 1014 | </entry> | 1037 | </entry> |
| 1015 | - <entry file="file://$PROJECT_DIR$/backend/views/parser/index.php"> | 1038 | + <entry file="file://$PROJECT_DIR$/vendor/yiisoft/yii2/web/ErrorHandler.php"> |
| 1016 | <provider selected="true" editor-type-id="text-editor"> | 1039 | <provider selected="true" editor-type-id="text-editor"> |
| 1017 | - <state vertical-scroll-proportion="-14.0" vertical-offset="0" max-vertical-offset="1239"> | ||
| 1018 | - <caret line="21" column="9" selection-start-line="21" selection-start-column="9" selection-end-line="21" selection-end-column="9" /> | 1040 | + <state vertical-scroll-proportion="0.33208954" vertical-offset="1355" max-vertical-offset="9093"> |
| 1041 | + <caret line="81" column="0" selection-start-line="81" selection-start-column="0" selection-end-line="81" selection-end-column="0" /> | ||
| 1019 | <folding /> | 1042 | <folding /> |
| 1020 | </state> | 1043 | </state> |
| 1021 | </provider> | 1044 | </provider> |
| 1022 | </entry> | 1045 | </entry> |
| 1023 | - <entry file="file://$PROJECT_DIR$/backend/views/parser/server-files.php"> | 1046 | + <entry file="file://$PROJECT_DIR$/backend/views/crossing-upload/index.php"> |
| 1024 | <provider selected="true" editor-type-id="text-editor"> | 1047 | <provider selected="true" editor-type-id="text-editor"> |
| 1025 | - <state vertical-scroll-proportion="-21.777779" vertical-offset="315" max-vertical-offset="1155"> | ||
| 1026 | - <caret line="49" column="67" selection-start-line="49" selection-start-column="67" selection-end-line="49" selection-end-column="67" /> | ||
| 1027 | - <folding /> | 1048 | + <state vertical-scroll-proportion="0.8548673" vertical-offset="0" max-vertical-offset="693"> |
| 1049 | + <caret line="25" column="10" selection-start-line="25" selection-start-column="10" selection-end-line="25" selection-end-column="10" /> | ||
| 1028 | </state> | 1050 | </state> |
| 1029 | </provider> | 1051 | </provider> |
| 1030 | </entry> | 1052 | </entry> |
| 1031 | - <entry file="file://$PROJECT_DIR$/vendor/yiisoft/yii2/log/Logger.php"> | 1053 | + <entry file="file://$PROJECT_DIR$/backend/views/crossing-upload/results.php"> |
| 1032 | <provider selected="true" editor-type-id="text-editor"> | 1054 | <provider selected="true" editor-type-id="text-editor"> |
| 1033 | - <state vertical-scroll-proportion="0.33274338" vertical-offset="3361" max-vertical-offset="6636"> | ||
| 1034 | - <caret line="174" column="0" selection-start-line="174" selection-start-column="0" selection-end-line="174" selection-end-column="0" /> | ||
| 1035 | - <folding /> | 1055 | + <state vertical-scroll-proportion="1.1522124" vertical-offset="0" max-vertical-offset="777"> |
| 1056 | + <caret line="31" column="6" selection-start-line="31" selection-start-column="6" selection-end-line="31" selection-end-column="6" /> | ||
| 1036 | </state> | 1057 | </state> |
| 1037 | </provider> | 1058 | </provider> |
| 1038 | </entry> | 1059 | </entry> |
| 1039 | - <entry file="file://$PROJECT_DIR$/vendor/yiisoft/yii2/web/Session.php"> | 1060 | + <entry file="file://$PROJECT_DIR$/common/components/exceptions/RgParsingException.php"> |
| 1040 | <provider selected="true" editor-type-id="text-editor"> | 1061 | <provider selected="true" editor-type-id="text-editor"> |
| 1041 | - <state vertical-scroll-proportion="0.33274338" vertical-offset="3319" max-vertical-offset="18270"> | ||
| 1042 | - <caret line="172" column="0" selection-start-line="172" selection-start-column="0" selection-end-line="172" selection-end-column="0" /> | 1062 | + <state vertical-scroll-proportion="0.2" vertical-offset="0" max-vertical-offset="840"> |
| 1063 | + <caret line="13" column="24" selection-start-line="13" selection-start-column="24" selection-end-line="13" selection-end-column="24" /> | ||
| 1043 | <folding /> | 1064 | <folding /> |
| 1044 | </state> | 1065 | </state> |
| 1045 | </provider> | 1066 | </provider> |
| 1046 | </entry> | 1067 | </entry> |
| 1047 | - <entry file="file://$PROJECT_DIR$/vendor/yiisoft/yii2/base/Controller.php"> | 1068 | + <entry file="file://$PROJECT_DIR$/common/components/exceptions/CrossParsingException.php"> |
| 1048 | <provider selected="true" editor-type-id="text-editor"> | 1069 | <provider selected="true" editor-type-id="text-editor"> |
| 1049 | - <state vertical-scroll-proportion="-7.296296" vertical-offset="2911" max-vertical-offset="10437"> | ||
| 1050 | - <caret line="152" column="0" selection-start-line="152" selection-start-column="0" selection-end-line="152" selection-end-column="0" /> | 1070 | + <state vertical-scroll-proportion="0.225" vertical-offset="0" max-vertical-offset="840"> |
| 1071 | + <caret line="14" column="0" selection-start-line="14" selection-start-column="0" selection-end-line="14" selection-end-column="0" /> | ||
| 1051 | <folding /> | 1072 | <folding /> |
| 1052 | </state> | 1073 | </state> |
| 1053 | </provider> | 1074 | </provider> |
| 1054 | </entry> | 1075 | </entry> |
| 1055 | - <entry file="file://$PROJECT_DIR$/vendor/yiisoft/yii2/base/ErrorHandler.php"> | 1076 | + <entry file="file://$PROJECT_DIR$/common/components/exceptions/PriceParsingException.php"> |
| 1056 | <provider selected="true" editor-type-id="text-editor"> | 1077 | <provider selected="true" editor-type-id="text-editor"> |
| 1057 | - <state vertical-scroll-proportion="-7.296296" vertical-offset="1525" max-vertical-offset="6867"> | ||
| 1058 | - <caret line="88" column="0" selection-start-line="88" selection-start-column="0" selection-end-line="88" selection-end-column="0" /> | 1078 | + <state vertical-scroll-proportion="0.25" vertical-offset="0" max-vertical-offset="840"> |
| 1079 | + <caret line="15" column="1" selection-start-line="15" selection-start-column="1" selection-end-line="15" selection-end-column="1" /> | ||
| 1059 | <folding /> | 1080 | <folding /> |
| 1060 | </state> | 1081 | </state> |
| 1061 | </provider> | 1082 | </provider> |
| 1062 | </entry> | 1083 | </entry> |
| 1063 | - <entry file="file://$PROJECT_DIR$/vendor/yiisoft/yii2/db/BaseActiveRecord.php"> | 1084 | + <entry file="file://$PROJECT_DIR$/.htaccess"> |
| 1064 | <provider selected="true" editor-type-id="text-editor"> | 1085 | <provider selected="true" editor-type-id="text-editor"> |
| 1065 | - <state vertical-scroll-proportion="-6.185185" vertical-offset="4831" max-vertical-offset="33033"> | ||
| 1066 | - <caret line="250" column="0" selection-start-line="250" selection-start-column="0" selection-end-line="250" selection-end-column="0" /> | 1086 | + <state vertical-scroll-proportion="0.8304498" vertical-offset="750" max-vertical-offset="1617"> |
| 1087 | + <caret line="70" column="31" selection-start-line="69" selection-start-column="3" selection-end-line="70" selection-end-column="31" /> | ||
| 1067 | <folding /> | 1088 | <folding /> |
| 1068 | </state> | 1089 | </state> |
| 1069 | </provider> | 1090 | </provider> |
| 1070 | </entry> | 1091 | </entry> |
| 1071 | - <entry file="file://$PROJECT_DIR$/console/controllers/ParserController.php"> | 1092 | + <entry file="file://$PROJECT_DIR$/backend/components/base/BaseController.php"> |
| 1072 | <provider selected="true" editor-type-id="text-editor"> | 1093 | <provider selected="true" editor-type-id="text-editor"> |
| 1073 | - <state vertical-scroll-proportion="-6.962963" vertical-offset="967" max-vertical-offset="5397"> | ||
| 1074 | - <caret line="64" column="0" selection-start-line="64" selection-start-column="0" selection-end-line="64" selection-end-column="0" /> | 1094 | + <state vertical-scroll-proportion="0.875" vertical-offset="3654" max-vertical-offset="4536"> |
| 1095 | + <caret line="218" column="0" selection-start-line="218" selection-start-column="0" selection-end-line="218" selection-end-column="0" /> | ||
| 1075 | <folding /> | 1096 | <folding /> |
| 1076 | </state> | 1097 | </state> |
| 1077 | </provider> | 1098 | </provider> |
| 1078 | </entry> | 1099 | </entry> |
| 1079 | - <entry file="file://$PROJECT_DIR$/backend/models/Importers.php"> | 1100 | + <entry file="file://$PROJECT_DIR$/common/components/PriceWriter.php"> |
| 1080 | <provider selected="true" editor-type-id="text-editor"> | 1101 | <provider selected="true" editor-type-id="text-editor"> |
| 1081 | - <state vertical-scroll-proportion="-7.703704" vertical-offset="1766" max-vertical-offset="3213"> | ||
| 1082 | - <caret line="96" column="0" selection-start-line="96" selection-start-column="0" selection-end-line="96" selection-end-column="0" /> | 1102 | + <state vertical-scroll-proportion="-4.6" vertical-offset="4746" max-vertical-offset="5586"> |
| 1103 | + <caret line="51" column="13" selection-start-line="51" selection-start-column="13" selection-end-line="51" selection-end-column="13" /> | ||
| 1083 | <folding /> | 1104 | <folding /> |
| 1084 | </state> | 1105 | </state> |
| 1085 | </provider> | 1106 | </provider> |
| 1086 | </entry> | 1107 | </entry> |
| 1087 | - <entry file="file://$PROJECT_DIR$/console/runtime/logs/parser.log"> | 1108 | + <entry file="file://$PROJECT_DIR$/backend/config/main.php"> |
| 1088 | <provider selected="true" editor-type-id="text-editor"> | 1109 | <provider selected="true" editor-type-id="text-editor"> |
| 1089 | - <state vertical-scroll-proportion="0.79928315" vertical-offset="5946" max-vertical-offset="6783"> | ||
| 1090 | - <caret line="288" column="61" selection-start-line="288" selection-start-column="61" selection-end-line="288" selection-end-column="61" /> | 1110 | + <state vertical-scroll-proportion="0.475" vertical-offset="210" max-vertical-offset="1050"> |
| 1111 | + <caret line="29" column="44" selection-start-line="29" selection-start-column="44" selection-end-line="29" selection-end-column="44" /> | ||
| 1091 | <folding /> | 1112 | <folding /> |
| 1092 | </state> | 1113 | </state> |
| 1093 | </provider> | 1114 | </provider> |
| 1094 | - <provider editor-type-id="com.intellij.database.editor.CsvTableFileEditorProvider"> | ||
| 1095 | - <state /> | ||
| 1096 | - </provider> | ||
| 1097 | </entry> | 1115 | </entry> |
| 1098 | - <entry file="file://$PROJECT_DIR$/common/components/parsers/Converter.php"> | 1116 | + <entry file="file://$PROJECT_DIR$/backend/components/base/BaseActiveRecord.php"> |
| 1099 | <provider selected="true" editor-type-id="text-editor"> | 1117 | <provider selected="true" editor-type-id="text-editor"> |
| 1100 | - <state vertical-scroll-proportion="-2.3333333" vertical-offset="0" max-vertical-offset="3780"> | ||
| 1101 | - <caret line="8" column="36" selection-start-line="8" selection-start-column="36" selection-end-line="8" selection-end-column="36" /> | 1118 | + <state vertical-scroll-proportion="0.25" vertical-offset="0" max-vertical-offset="840"> |
| 1119 | + <caret line="15" column="46" selection-start-line="15" selection-start-column="21" selection-end-line="15" selection-end-column="46" /> | ||
| 1102 | <folding /> | 1120 | <folding /> |
| 1103 | </state> | 1121 | </state> |
| 1104 | </provider> | 1122 | </provider> |
| 1105 | </entry> | 1123 | </entry> |
| 1106 | - <entry file="file://$PROJECT_DIR$/common/components/parsers/config.php"> | 1124 | + <entry file="file://$PROJECT_DIR$/vendor/yiisoft/yii2/base/ErrorHandler.php"> |
| 1107 | <provider selected="true" editor-type-id="text-editor"> | 1125 | <provider selected="true" editor-type-id="text-editor"> |
| 1108 | - <state vertical-scroll-proportion="-7.7777777" vertical-offset="1239" max-vertical-offset="2079"> | ||
| 1109 | - <caret line="69" column="45" selection-start-line="69" selection-start-column="45" selection-end-line="69" selection-end-column="45" /> | 1126 | + <state vertical-scroll-proportion="0.6845238" vertical-offset="2155" max-vertical-offset="6867"> |
| 1127 | + <caret line="136" column="20" selection-start-line="136" selection-start-column="20" selection-end-line="136" selection-end-column="20" /> | ||
| 1110 | <folding /> | 1128 | <folding /> |
| 1111 | </state> | 1129 | </state> |
| 1112 | </provider> | 1130 | </provider> |
| 1113 | </entry> | 1131 | </entry> |
| 1114 | - <entry file="file://$PROJECT_DIR$/backend/controllers/ParserController.php"> | 1132 | + <entry file="file://$PROJECT_DIR$/vendor/yiisoft/yii2/base/Controller.php"> |
| 1115 | <provider selected="true" editor-type-id="text-editor"> | 1133 | <provider selected="true" editor-type-id="text-editor"> |
| 1116 | - <state vertical-scroll-proportion="-7.037037" vertical-offset="167" max-vertical-offset="6762"> | ||
| 1117 | - <caret line="17" column="4" selection-start-line="17" selection-start-column="4" selection-end-line="17" selection-end-column="4" /> | 1134 | + <state vertical-scroll-proportion="-7.296296" vertical-offset="7489" max-vertical-offset="10437"> |
| 1135 | + <caret line="370" column="0" selection-start-line="370" selection-start-column="0" selection-end-line="370" selection-end-column="0" /> | ||
| 1118 | <folding /> | 1136 | <folding /> |
| 1119 | </state> | 1137 | </state> |
| 1120 | </provider> | 1138 | </provider> |
| 1121 | </entry> | 1139 | </entry> |
| 1122 | - <entry file="file://$PROJECT_DIR$/backend/controllers/RgGrupController.php"> | 1140 | + <entry file="file://$PROJECT_DIR$/backend/views/parser/error.php"> |
| 1123 | <provider selected="true" editor-type-id="text-editor"> | 1141 | <provider selected="true" editor-type-id="text-editor"> |
| 1124 | - <state vertical-scroll-proportion="-7.3703704" vertical-offset="137" max-vertical-offset="4704"> | ||
| 1125 | - <caret line="21" column="4" selection-start-line="21" selection-start-column="4" selection-end-line="21" selection-end-column="4" /> | 1142 | + <state vertical-scroll-proportion="-18.666666" vertical-offset="0" max-vertical-offset="819"> |
| 1143 | + <caret line="24" column="10" selection-start-line="24" selection-start-column="10" selection-end-line="24" selection-end-column="10" /> | ||
| 1126 | <folding /> | 1144 | <folding /> |
| 1127 | </state> | 1145 | </state> |
| 1128 | </provider> | 1146 | </provider> |
| 1129 | </entry> | 1147 | </entry> |
| 1130 | - <entry file="file://$PROJECT_DIR$/backend/views/crossing-upload/results.php"> | 1148 | + <entry file="file://$PROJECT_DIR$/common/components/parsers/ConverterInterface.php"> |
| 1131 | <provider selected="true" editor-type-id="text-editor"> | 1149 | <provider selected="true" editor-type-id="text-editor"> |
| 1132 | - <state vertical-scroll-proportion="-2.3333333" vertical-offset="0" max-vertical-offset="777"> | ||
| 1133 | - <caret line="3" column="4" selection-start-line="3" selection-start-column="4" selection-end-line="3" selection-end-column="4" /> | 1150 | + <state vertical-scroll-proportion="0.2937063" vertical-offset="0" max-vertical-offset="572"> |
| 1151 | + <caret line="13" column="51" selection-start-line="13" selection-start-column="51" selection-end-line="13" selection-end-column="51" /> | ||
| 1134 | <folding /> | 1152 | <folding /> |
| 1135 | </state> | 1153 | </state> |
| 1136 | </provider> | 1154 | </provider> |
| 1137 | </entry> | 1155 | </entry> |
| 1138 | - <entry file="file://$PROJECT_DIR$/backend/views/parser/results.php"> | 1156 | + <entry file="file://$PROJECT_DIR$/backend/views/parser/index.php"> |
| 1139 | <provider selected="true" editor-type-id="text-editor"> | 1157 | <provider selected="true" editor-type-id="text-editor"> |
| 1140 | - <state vertical-scroll-proportion="-2.3333333" vertical-offset="0" max-vertical-offset="777"> | ||
| 1141 | - <caret line="3" column="4" selection-start-line="3" selection-start-column="4" selection-end-line="3" selection-end-column="4" /> | 1158 | + <state vertical-scroll-proportion="-0.22222222" vertical-offset="372" max-vertical-offset="1239"> |
| 1159 | + <caret line="21" column="9" selection-start-line="21" selection-start-column="9" selection-end-line="21" selection-end-column="9" /> | ||
| 1142 | <folding /> | 1160 | <folding /> |
| 1143 | </state> | 1161 | </state> |
| 1144 | </provider> | 1162 | </provider> |
| 1145 | </entry> | 1163 | </entry> |
| 1146 | - <entry file="file://$PROJECT_DIR$/backend/views/rg-grup/results.php"> | 1164 | + <entry file="file://$PROJECT_DIR$/backend/views/parser/server-files.php"> |
| 1147 | <provider selected="true" editor-type-id="text-editor"> | 1165 | <provider selected="true" editor-type-id="text-editor"> |
| 1148 | - <state vertical-scroll-proportion="-2.3333333" vertical-offset="0" max-vertical-offset="777"> | ||
| 1149 | - <caret line="3" column="4" selection-start-line="3" selection-start-column="4" selection-end-line="3" selection-end-column="4" /> | 1166 | + <state vertical-scroll-proportion="-22.777779" vertical-offset="288" max-vertical-offset="1155"> |
| 1167 | + <caret line="49" column="108" selection-start-line="49" selection-start-column="8" selection-end-line="49" selection-end-column="108" /> | ||
| 1150 | <folding /> | 1168 | <folding /> |
| 1151 | </state> | 1169 | </state> |
| 1152 | </provider> | 1170 | </provider> |
| 1153 | </entry> | 1171 | </entry> |
| 1154 | - <entry file="file://$PROJECT_DIR$/common/components/parsers/CsvParser.php"> | 1172 | + <entry file="file://$PROJECT_DIR$/backend/views/rg-grup/index.php"> |
| 1155 | <provider selected="true" editor-type-id="text-editor"> | 1173 | <provider selected="true" editor-type-id="text-editor"> |
| 1156 | - <state vertical-scroll-proportion="-4.6666665" vertical-offset="0" max-vertical-offset="1701"> | ||
| 1157 | - <caret line="8" column="12" selection-start-line="8" selection-start-column="12" selection-end-line="8" selection-end-column="12" /> | 1174 | + <state vertical-scroll-proportion="-18.666666" vertical-offset="0" max-vertical-offset="756"> |
| 1175 | + <caret line="27" column="32" selection-start-line="27" selection-start-column="32" selection-end-line="27" selection-end-column="32" /> | ||
| 1158 | <folding /> | 1176 | <folding /> |
| 1159 | </state> | 1177 | </state> |
| 1160 | </provider> | 1178 | </provider> |
| 1161 | </entry> | 1179 | </entry> |
| 1162 | - <entry file="file://$PROJECT_DIR$/common/components/parsers/CustomConverter.php"> | 1180 | + <entry file="file://$PROJECT_DIR$/backend/views/rg-grup/results.php"> |
| 1163 | <provider selected="true" editor-type-id="text-editor"> | 1181 | <provider selected="true" editor-type-id="text-editor"> |
| 1164 | - <state vertical-scroll-proportion="-3.1111112" vertical-offset="0" max-vertical-offset="3066"> | ||
| 1165 | - <caret line="4" column="4" selection-start-line="4" selection-start-column="4" selection-end-line="4" selection-end-column="4" /> | ||
| 1166 | - <folding /> | 1182 | + <state vertical-scroll-proportion="-22.555555" vertical-offset="0" max-vertical-offset="777"> |
| 1183 | + <caret line="29" column="23" selection-start-line="29" selection-start-column="23" selection-end-line="29" selection-end-column="23" /> | ||
| 1184 | + <folding> | ||
| 1185 | + <element signature="e#7#28#0#PHP" expanded="true" /> | ||
| 1186 | + </folding> | ||
| 1167 | </state> | 1187 | </state> |
| 1168 | </provider> | 1188 | </provider> |
| 1169 | </entry> | 1189 | </entry> |
| 1170 | - <entry file="file://$PROJECT_DIR$/common/components/parsers/CustomCsvParser.php"> | 1190 | + <entry file="file://$PROJECT_DIR$/backend/components/traits/ParserTrait.php"> |
| 1171 | <provider selected="true" editor-type-id="text-editor"> | 1191 | <provider selected="true" editor-type-id="text-editor"> |
| 1172 | - <state vertical-scroll-proportion="-3.8888888" vertical-offset="0" max-vertical-offset="420"> | ||
| 1173 | - <caret line="10" column="32" selection-start-line="10" selection-start-column="32" selection-end-line="10" selection-end-column="32" /> | ||
| 1174 | - <folding /> | 1192 | + <state vertical-scroll-proportion="-42.77778" vertical-offset="126" max-vertical-offset="1848"> |
| 1193 | + <caret line="66" column="46" selection-start-line="66" selection-start-column="31" selection-end-line="66" selection-end-column="46" /> | ||
| 1194 | + <folding> | ||
| 1195 | + <element signature="e#129#177#0#PHP" expanded="true" /> | ||
| 1196 | + </folding> | ||
| 1175 | </state> | 1197 | </state> |
| 1176 | </provider> | 1198 | </provider> |
| 1177 | </entry> | 1199 | </entry> |
| 1178 | - <entry file="file://$PROJECT_DIR$/common/components/parsers/XlsxParser.php"> | 1200 | + <entry file="file://$PROJECT_DIR$/common/components/CustomArrayHelper.php"> |
| 1179 | <provider selected="true" editor-type-id="text-editor"> | 1201 | <provider selected="true" editor-type-id="text-editor"> |
| 1180 | - <state vertical-scroll-proportion="-7.3703704" vertical-offset="11" max-vertical-offset="6531"> | ||
| 1181 | - <caret line="15" column="12" selection-start-line="15" selection-start-column="12" selection-end-line="15" selection-end-column="12" /> | 1202 | + <state vertical-scroll-proportion="-9.62963" vertical-offset="286" max-vertical-offset="1596"> |
| 1203 | + <caret line="31" column="36" selection-start-line="31" selection-start-column="36" selection-end-line="31" selection-end-column="36" /> | ||
| 1182 | <folding /> | 1204 | <folding /> |
| 1183 | </state> | 1205 | </state> |
| 1184 | </provider> | 1206 | </provider> |
| 1185 | </entry> | 1207 | </entry> |
| 1186 | - <entry file="file://$PROJECT_DIR$/common/config/main.php"> | 1208 | + <entry file="file://$PROJECT_DIR$/common/models/MarginsGroups.php"> |
| 1187 | <provider selected="true" editor-type-id="text-editor"> | 1209 | <provider selected="true" editor-type-id="text-editor"> |
| 1188 | - <state vertical-scroll-proportion="-10.296296" vertical-offset="163" max-vertical-offset="735"> | ||
| 1189 | - <caret line="21" column="24" selection-start-line="21" selection-start-column="24" selection-end-line="21" selection-end-column="24" /> | 1210 | + <state vertical-scroll-proportion="15.62963" vertical-offset="758" max-vertical-offset="2520"> |
| 1211 | + <caret line="17" column="19" selection-start-line="17" selection-start-column="6" selection-end-line="17" selection-end-column="19" /> | ||
| 1190 | <folding /> | 1212 | <folding /> |
| 1191 | </state> | 1213 | </state> |
| 1192 | </provider> | 1214 | </provider> |
| 1193 | </entry> | 1215 | </entry> |
| 1194 | - <entry file="file://$PROJECT_DIR$/tests/unit/BaseConverterTest.php"> | 1216 | + <entry file="file://$PROJECT_DIR$/common/models/Margins.php"> |
| 1195 | <provider selected="true" editor-type-id="text-editor"> | 1217 | <provider selected="true" editor-type-id="text-editor"> |
| 1196 | - <state vertical-scroll-proportion="-3.8888888" vertical-offset="0" max-vertical-offset="1533"> | ||
| 1197 | - <caret line="5" column="4" selection-start-line="5" selection-start-column="4" selection-end-line="5" selection-end-column="4" /> | 1218 | + <state vertical-scroll-proportion="-10.407408" vertical-offset="832" max-vertical-offset="1512"> |
| 1219 | + <caret line="53" column="8" selection-start-line="53" selection-start-column="8" selection-end-line="53" selection-end-column="51" /> | ||
| 1198 | <folding /> | 1220 | <folding /> |
| 1199 | </state> | 1221 | </state> |
| 1200 | </provider> | 1222 | </provider> |
| 1201 | </entry> | 1223 | </entry> |
| 1202 | - <entry file="file://$PROJECT_DIR$/backend/controllers/CrossingUploadController.php"> | 1224 | + <entry file="file://$PROJECT_DIR$/backend/controllers/RgGrupController.php"> |
| 1203 | <provider selected="true" editor-type-id="text-editor"> | 1225 | <provider selected="true" editor-type-id="text-editor"> |
| 1204 | - <state vertical-scroll-proportion="-9.37037" vertical-offset="2519" max-vertical-offset="4935"> | ||
| 1205 | - <caret line="137" column="78" selection-start-line="137" selection-start-column="11" selection-end-line="137" selection-end-column="78" /> | 1226 | + <state vertical-scroll-proportion="-109.59259" vertical-offset="527" max-vertical-offset="4053"> |
| 1227 | + <caret line="190" column="5" selection-start-line="190" selection-start-column="5" selection-end-line="190" selection-end-column="5" /> | ||
| 1206 | <folding> | 1228 | <folding> |
| 1207 | <element signature="e#125#168#0#PHP" expanded="true" /> | 1229 | <element signature="e#125#168#0#PHP" expanded="true" /> |
| 1230 | + <element signature="e#787#1322#0#PHP" expanded="false" /> | ||
| 1208 | </folding> | 1231 | </folding> |
| 1209 | </state> | 1232 | </state> |
| 1210 | </provider> | 1233 | </provider> |
| 1211 | </entry> | 1234 | </entry> |
| 1212 | - <entry file="file://$PROJECT_DIR$/common/components/CustomArrayHelper.php"> | ||
| 1213 | - <provider selected="true" editor-type-id="text-editor"> | ||
| 1214 | - <state vertical-scroll-proportion="-10.777778" vertical-offset="108" max-vertical-offset="1596"> | ||
| 1215 | - <caret line="24" column="48" selection-start-line="24" selection-start-column="48" selection-end-line="24" selection-end-column="48" /> | ||
| 1216 | - <folding /> | ||
| 1217 | - </state> | ||
| 1218 | - </provider> | ||
| 1219 | - </entry> | ||
| 1220 | - <entry file="file://$PROJECT_DIR$/tests/unit/CrossesParsingTest.php"> | 1235 | + <entry file="file://$PROJECT_DIR$/backend/controllers/CrossingUploadController.php"> |
| 1221 | <provider selected="true" editor-type-id="text-editor"> | 1236 | <provider selected="true" editor-type-id="text-editor"> |
| 1222 | - <state vertical-scroll-proportion="-20.222221" vertical-offset="273" max-vertical-offset="1113"> | ||
| 1223 | - <caret line="39" column="0" selection-start-line="39" selection-start-column="0" selection-end-line="39" selection-end-column="0" /> | 1237 | + <state vertical-scroll-proportion="-37.333332" vertical-offset="1134" max-vertical-offset="4746"> |
| 1238 | + <caret line="102" column="0" selection-start-line="102" selection-start-column="0" selection-end-line="102" selection-end-column="0" /> | ||
| 1224 | <folding> | 1239 | <folding> |
| 1225 | - <element signature="e#28#68#0#PHP" expanded="true" /> | 1240 | + <element signature="e#6#91#0#PHP" expanded="true" /> |
| 1241 | + <element signature="e#125#168#0#PHP" expanded="true" /> | ||
| 1226 | </folding> | 1242 | </folding> |
| 1227 | </state> | 1243 | </state> |
| 1228 | </provider> | 1244 | </provider> |
| 1229 | </entry> | 1245 | </entry> |
| 1230 | - <entry file="file://$PROJECT_DIR$/storage/.gitignore"> | 1246 | + <entry file="file://$PROJECT_DIR$/backend/controllers/ParserController.php"> |
| 1231 | <provider selected="true" editor-type-id="text-editor"> | 1247 | <provider selected="true" editor-type-id="text-editor"> |
| 1232 | - <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="867"> | ||
| 1233 | - <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> | ||
| 1234 | - <folding /> | 1248 | + <state vertical-scroll-proportion="0.021428572" vertical-offset="1494" max-vertical-offset="6468"> |
| 1249 | + <caret line="72" column="54" selection-start-line="72" selection-start-column="54" selection-end-line="72" selection-end-column="54" /> | ||
| 1250 | + <folding> | ||
| 1251 | + <element signature="e#38#65#0#PHP" expanded="true" /> | ||
| 1252 | + </folding> | ||
| 1235 | </state> | 1253 | </state> |
| 1236 | </provider> | 1254 | </provider> |
| 1237 | </entry> | 1255 | </entry> |
backend/components/base/BaseController.php
| @@ -216,36 +216,5 @@ class BaseController extends Controller { | @@ -216,36 +216,5 @@ class BaseController extends Controller { | ||
| 216 | } | 216 | } |
| 217 | } | 217 | } |
| 218 | 218 | ||
| 219 | - /** | ||
| 220 | - * @param $mode - int: 0 - fetch from cache, - 1 - put in cache, <2 - delete from cache | ||
| 221 | - * @param $data - array | ||
| 222 | - * @param $configuration - array | ||
| 223 | - * @throws \ErrorException | ||
| 224 | - */ | ||
| 225 | - protected function parserCacheHandler( $mode, &$data = [], &$configuration = [] ){ | ||
| 226 | - switch ( $mode ) { | ||
| 227 | - case 0: | ||
| 228 | - if (Yii::$app->getCache()->get('parser_data') && Yii::$app->getCache()->get('parser_configuration')) { | ||
| 229 | - $data = json_decode(Yii::$app->getCache()->get('parser_data'), true); | ||
| 230 | - $configuration = unserialize(Yii::$app->getCache()->get('parser_configuration')); | ||
| 231 | - } else { | ||
| 232 | - throw new \ErrorException('Ошибка кеша'); | ||
| 233 | - } | ||
| 234 | - break; | ||
| 235 | - | ||
| 236 | - case 1: | ||
| 237 | - Yii::$app->getCache()->set('parser_data', json_encode($data), 1800); | ||
| 238 | - // сохраняем в кеш модель - в ней настройки для дальнейшей обработки данных | ||
| 239 | - Yii::$app->getCache()->set('parser_configuration', serialize($configuration), 1800); | ||
| 240 | - break; | ||
| 241 | - | ||
| 242 | - default: | ||
| 243 | - if( Yii::$app->getCache()->exists('parser_data') ) | ||
| 244 | - Yii::$app->getCache()->delete('parser_data'); | ||
| 245 | - | ||
| 246 | - if( Yii::$app->getCache()->exists('parser_configuration') ) | ||
| 247 | - Yii::$app->getCache()->delete('parser_configuration'); | ||
| 248 | - } | ||
| 249 | 219 | ||
| 250 | - } | ||
| 251 | } | 220 | } |
| 252 | \ No newline at end of file | 221 | \ No newline at end of file |
| 1 | +<?php | ||
| 2 | +/** | ||
| 3 | + * Created by PhpStorm. | ||
| 4 | + * User: Tsurkanov | ||
| 5 | + * Date: 01.12.2015 | ||
| 6 | + * Time: 9:42 | ||
| 7 | + */ | ||
| 8 | +namespace backend\components\traits; | ||
| 9 | + | ||
| 10 | +use common\components\parsers\DynamicFormHelper; | ||
| 11 | +use Yii; | ||
| 12 | +use yii\base\ErrorException; | ||
| 13 | +use yii\data\ArrayDataProvider; | ||
| 14 | + | ||
| 15 | +trait ParserTrait | ||
| 16 | +{ | ||
| 17 | + | ||
| 18 | + /** | ||
| 19 | + * @param $mode - int: 0 - fetch from cache, - 1 - put in cache, <2 - delete from cache | ||
| 20 | + * @param $data - array | ||
| 21 | + * @param $configuration - array | ||
| 22 | + * @throws \ErrorException | ||
| 23 | + */ | ||
| 24 | + public function parserCacheHandler($mode, &$data = [], &$configuration = []) | ||
| 25 | + { | ||
| 26 | + switch ($mode) { | ||
| 27 | + case 0: | ||
| 28 | + if (Yii::$app->getCache()->get('parser_data') && Yii::$app->getCache()->get('parser_configuration')) { | ||
| 29 | + $data = json_decode(Yii::$app->getCache()->get('parser_data'), true); | ||
| 30 | + $configuration = unserialize(Yii::$app->getCache()->get('parser_configuration')); | ||
| 31 | + } else { | ||
| 32 | + throw new \ErrorException('Ошибка кеша'); | ||
| 33 | + } | ||
| 34 | + break; | ||
| 35 | + | ||
| 36 | + case 1: | ||
| 37 | + Yii::$app->getCache()->set('parser_data', json_encode($data), 1800); | ||
| 38 | + // сохраняем в кеш модель - в ней настройки для дальнейшей обработки данных | ||
| 39 | + Yii::$app->getCache()->set('parser_configuration', serialize($configuration), 1800); | ||
| 40 | + break; | ||
| 41 | + | ||
| 42 | + default: | ||
| 43 | + if (Yii::$app->getCache()->exists('parser_data')) | ||
| 44 | + Yii::$app->getCache()->delete('parser_data'); | ||
| 45 | + | ||
| 46 | + if (Yii::$app->getCache()->exists('parser_configuration')) | ||
| 47 | + Yii::$app->getCache()->delete('parser_configuration'); | ||
| 48 | + } | ||
| 49 | + | ||
| 50 | + } | ||
| 51 | + | ||
| 52 | + public function renderResultView($data) | ||
| 53 | + { | ||
| 54 | + $provider = new ArrayDataProvider([ | ||
| 55 | + 'allModels' => $data, | ||
| 56 | + 'pagination' => [ | ||
| 57 | + 'pageSize' => 10, | ||
| 58 | + ], | ||
| 59 | + ]); | ||
| 60 | + | ||
| 61 | + // создадим модель на столько реквизитов сколько колонок в отпарсенном файле | ||
| 62 | + $last_index = end(array_flip($data[0])); | ||
| 63 | + $header_counts = $last_index + 1; | ||
| 64 | + $header_model = DynamicFormHelper::CreateDynamicModel($header_counts); | ||
| 65 | + | ||
| 66 | + // соберем массив данных из которых будет пользователь выбирать значения в конструкторе (выпадающий список) | ||
| 67 | + $basicColumns = $this->getBasicColumns(); | ||
| 68 | + | ||
| 69 | + return $this->render('results', | ||
| 70 | + ['model' => $data, | ||
| 71 | + 'header_model' => $header_model, | ||
| 72 | + // список колонок для выбора | ||
| 73 | + 'basic_column' => $basicColumns, | ||
| 74 | + 'dataProvider' => $provider]); | ||
| 75 | + | ||
| 76 | + } | ||
| 77 | + | ||
| 78 | + public function throwStringErrorException( $model , $exception, $errors_str = '' ) | ||
| 79 | + { | ||
| 80 | + foreach ( $model->getErrors() as $error ) | ||
| 81 | + { | ||
| 82 | + $errors_str .= ' ' . implode( array_values( $error ) ); | ||
| 83 | + } | ||
| 84 | + | ||
| 85 | + throw new $exception( $errors_str ); | ||
| 86 | + } | ||
| 87 | + | ||
| 88 | + } | ||
| 0 | \ No newline at end of file | 89 | \ No newline at end of file |
backend/controllers/CrossingUploadController.php
| @@ -10,6 +10,8 @@ namespace backend\controllers; | @@ -10,6 +10,8 @@ namespace backend\controllers; | ||
| 10 | 10 | ||
| 11 | use backend\components\base\BaseController; | 11 | use backend\components\base\BaseController; |
| 12 | use common\components\CustomArrayHelper; | 12 | use common\components\CustomArrayHelper; |
| 13 | +use common\components\exceptions\CrossParsingException; | ||
| 14 | +use yii\base\Exception; | ||
| 13 | use yii\data\ArrayDataProvider; | 15 | use yii\data\ArrayDataProvider; |
| 14 | use yii\filters\VerbFilter; | 16 | use yii\filters\VerbFilter; |
| 15 | use yii\filters\AccessControl; | 17 | use yii\filters\AccessControl; |
| @@ -19,12 +21,13 @@ use common\components\parsers\DynamicFormHelper; | @@ -19,12 +21,13 @@ use common\components\parsers\DynamicFormHelper; | ||
| 19 | use yii\web\UploadedFile; | 21 | use yii\web\UploadedFile; |
| 20 | use common\components\ModelArrayValidator; | 22 | use common\components\ModelArrayValidator; |
| 21 | use \Yii; | 23 | use \Yii; |
| 24 | +use backend\components\traits\ParserTrait; | ||
| 22 | 25 | ||
| 23 | class CrossingUploadController extends BaseController | 26 | class CrossingUploadController extends BaseController |
| 24 | { | 27 | { |
| 28 | + use ParserTrait; | ||
| 25 | public $layout = "/column"; | 29 | public $layout = "/column"; |
| 26 | 30 | ||
| 27 | - | ||
| 28 | /** | 31 | /** |
| 29 | * @inheritdoc | 32 | * @inheritdoc |
| 30 | */ | 33 | */ |
| @@ -35,7 +38,7 @@ class CrossingUploadController extends BaseController | @@ -35,7 +38,7 @@ class CrossingUploadController extends BaseController | ||
| 35 | 'class' => AccessControl::className(), | 38 | 'class' => AccessControl::className(), |
| 36 | 'rules' => [ | 39 | 'rules' => [ |
| 37 | [ | 40 | [ |
| 38 | - 'actions' => ['result', 'index', 'write'], | 41 | + 'actions' => ['result', 'index', 'write', 'error'], |
| 39 | 'allow' => true, | 42 | 'allow' => true, |
| 40 | 'roles' => ['@'], | 43 | 'roles' => ['@'], |
| 41 | ], | 44 | ], |
| @@ -50,18 +53,6 @@ class CrossingUploadController extends BaseController | @@ -50,18 +53,6 @@ class CrossingUploadController extends BaseController | ||
| 50 | ]; | 53 | ]; |
| 51 | } | 54 | } |
| 52 | 55 | ||
| 53 | - /** | ||
| 54 | - * @inheritdoc | ||
| 55 | - */ | ||
| 56 | - public function actions() | ||
| 57 | - { | ||
| 58 | - return [ | ||
| 59 | - 'error' => [ | ||
| 60 | - 'class' => 'yii\web\ErrorAction', | ||
| 61 | - ], | ||
| 62 | - ]; | ||
| 63 | - } | ||
| 64 | - | ||
| 65 | 56 | ||
| 66 | public function actionIndex() | 57 | public function actionIndex() |
| 67 | { | 58 | { |
| @@ -69,63 +60,56 @@ class CrossingUploadController extends BaseController | @@ -69,63 +60,56 @@ class CrossingUploadController extends BaseController | ||
| 69 | return $this->render('index', ['model' => $model]); | 60 | return $this->render('index', ['model' => $model]); |
| 70 | } | 61 | } |
| 71 | 62 | ||
| 63 | + | ||
| 72 | public function actionResult() | 64 | public function actionResult() |
| 73 | { | 65 | { |
| 74 | $model = new UploadFileCrossingForm(); | 66 | $model = new UploadFileCrossingForm(); |
| 75 | $data = []; | 67 | $data = []; |
| 76 | - if ($model->load(Yii::$app->request->post())) { | 68 | + if ( $model->load(Yii::$app->request->post()) ) { |
| 77 | $model->file = UploadedFile::getInstance($model, 'file'); | 69 | $model->file = UploadedFile::getInstance($model, 'file'); |
| 78 | - if ($model->validate()) { | 70 | + |
| 71 | + if ( $model->validate() ) { | ||
| 79 | $file_name = $model->file->name; | 72 | $file_name = $model->file->name; |
| 80 | $model->file_path = Yii::getAlias('@temp_upload') . '/' . $file_name; | 73 | $model->file_path = Yii::getAlias('@temp_upload') . '/' . $file_name; |
| 81 | $model->file->saveAs($model->file_path); | 74 | $model->file->saveAs($model->file_path); |
| 82 | //запускаем парсинг | 75 | //запускаем парсинг |
| 83 | $data = $model->readFile(); | 76 | $data = $model->readFile(); |
| 84 | // сохраняем в кеш отпарсенные даные | 77 | // сохраняем в кеш отпарсенные даные |
| 85 | - $this->parserCacheHandler( 1, $data, $model ); | ||
| 86 | - } else if (Yii::$app->getCache()->get('parser_data')) { | ||
| 87 | - $data = json_decode(Yii::$app->getCache()->get('parser_data'), true); | 78 | + $this->parserCacheHandler( 1, $data, $model ); |
| 79 | + } else { | ||
| 80 | + // не прошла валидация формы загрузки файлов | ||
| 81 | + $errors_str = "Ошибка загрузки файла. "; | ||
| 82 | + $this->throwStringErrorException( $model , new CrossParsingException( $errors_str ) ); | ||
| 88 | } | 83 | } |
| 89 | - $provider = new ArrayDataProvider([ | ||
| 90 | - 'allModels' => $data, | ||
| 91 | - 'pagination' => [ | ||
| 92 | - 'pageSize' => 10, | ||
| 93 | - ], | ||
| 94 | - ]); | ||
| 95 | - | ||
| 96 | - // создадим модель на столько реквизитов сколько колонок в отпарсенном файле | ||
| 97 | - $last_index = end(array_flip($data[0])); | ||
| 98 | - $header_counts = $last_index + 1; | ||
| 99 | - $header_model = DynamicFormHelper::CreateDynamicModel($header_counts); | ||
| 100 | - | ||
| 101 | - // соберем массив данных из которых будет пользователь выбирать значения в конструкторе (выпадающий список) | ||
| 102 | - $basicColumns = $this->getBasicColumns(); | ||
| 103 | - | ||
| 104 | - return $this->render('results', | ||
| 105 | - ['model' => $data, | ||
| 106 | - 'header_model' => $header_model, | ||
| 107 | - // список колонок для выбора | ||
| 108 | - 'basic_column' => $basicColumns, | ||
| 109 | - 'dataProvider' => $provider]); | 84 | + |
| 85 | + } else if ( Yii::$app->getCache()->get('parser_data') ) { | ||
| 86 | + | ||
| 87 | + $data = json_decode( Yii::$app->getCache()->get('parser_data'), true ); | ||
| 88 | + | ||
| 110 | } | 89 | } |
| 90 | + // сборка динамической модели и её рендеринг | ||
| 91 | + return $this->renderResultView( $data ); | ||
| 111 | } | 92 | } |
| 112 | 93 | ||
| 113 | public function actionWrite() | 94 | public function actionWrite() |
| 114 | { | 95 | { |
| 96 | + set_time_limit(600); | ||
| 115 | //получим колонки которые выбрал пользователь | 97 | //получим колонки которые выбрал пользователь |
| 116 | $arr_attributes = Yii::$app->request->post()['DynamicModel']; | 98 | $arr_attributes = Yii::$app->request->post()['DynamicModel']; |
| 117 | //соберем модель по полученным данным | 99 | //соберем модель по полученным данным |
| 118 | $model = DynamicFormHelper::CreateDynamicModel($arr_attributes); | 100 | $model = DynamicFormHelper::CreateDynamicModel($arr_attributes); |
| 119 | $crosses_model = new DetailsCrosses(); | 101 | $crosses_model = new DetailsCrosses(); |
| 102 | + $arr_keys = array_keys($this->getBasicColumns()); | ||
| 103 | + | ||
| 120 | //добавим правила валидации (колонки должны быть те что в модели) | 104 | //добавим правила валидации (колонки должны быть те что в модели) |
| 121 | foreach ($arr_attributes as $key => $value) { | 105 | foreach ($arr_attributes as $key => $value) { |
| 122 | - $model->addRule($key, 'in', [ 'range' => array_keys( $this->getBasicColumns() ) ]); | 106 | + $model->addRule($key, 'in', ['range' => $arr_keys]); |
| 123 | } | 107 | } |
| 124 | // установим режим проверки обязательных полей | 108 | // установим режим проверки обязательных полей |
| 125 | $crosses_model->setScenario('form_upload_validation'); | 109 | $crosses_model->setScenario('form_upload_validation'); |
| 126 | - $model_validator = new ModelArrayValidator( $crosses_model ); | 110 | + $model_validator = new ModelArrayValidator($crosses_model); |
| 127 | // провалидируем выбранные колонки | 111 | // провалидируем выбранные колонки |
| 128 | - if ( $model->validate() && $model_validator->validateRow( array_flip( $arr_attributes ) ) ) { | 112 | + if ( $model->validate() && $model_validator->validateRow( array_flip( $arr_attributes ) ) ) { |
| 129 | 113 | ||
| 130 | // валидация успешна у нас есть соответсвие колонок, преобразуем в массив данное соответсвие для дальнейшей работы | 114 | // валидация успешна у нас есть соответсвие колонок, преобразуем в массив данное соответсвие для дальнейшей работы |
| 131 | $arr = $model->toArray(); | 115 | $arr = $model->toArray(); |
| @@ -135,7 +119,7 @@ class CrossingUploadController extends BaseController | @@ -135,7 +119,7 @@ class CrossingUploadController extends BaseController | ||
| 135 | 119 | ||
| 136 | // соотнесем отпарсенные данные с соответствием полученным от пользователя | 120 | // соотнесем отпарсенные данные с соответствием полученным от пользователя |
| 137 | // для этого преобразуем массив отпарсенных данных - назначим ключи согласно соответствию | 121 | // для этого преобразуем массив отпарсенных данных - назначим ключи согласно соответствию |
| 138 | - $data = CustomArrayHelper::createAssocArray($data, $arr, 'attr_'); | 122 | + $data = CustomArrayHelper::createAssocArray( $data, $arr, 'attr_' ); |
| 139 | 123 | ||
| 140 | // запустим конвертер над над данными | 124 | // запустим конвертер над над данными |
| 141 | $data = $this->convertDataByConfiguration( $data, $configuration ); | 125 | $data = $this->convertDataByConfiguration( $data, $configuration ); |
| @@ -144,31 +128,33 @@ class CrossingUploadController extends BaseController | @@ -144,31 +128,33 @@ class CrossingUploadController extends BaseController | ||
| 144 | $crosses_model->setScenario('default'); | 128 | $crosses_model->setScenario('default'); |
| 145 | $data = $model_validator->validate( $data ); | 129 | $data = $model_validator->validate( $data ); |
| 146 | $msg = $model_validator->getMassage(); | 130 | $msg = $model_validator->getMassage(); |
| 147 | - $type_msg = $model_validator->hasError() ? 'warning' : 'success'; | 131 | + $type_msg = $model_validator->hasError() ? 'warning' : 'success'; |
| 148 | $model_validator->close(); | 132 | $model_validator->close(); |
| 149 | 133 | ||
| 150 | - $data = $this->reverseCrosses( $data ); | 134 | + $data = $this->reverseCrosses($data); |
| 135 | + | ||
| 136 | + try { | ||
| 137 | + if ($crosses_model->ManualInsertWithIgnore( $data )) { | ||
| 151 | 138 | ||
| 152 | - if ( $crosses_model->ManualInsertWithIgnore( $data ) ) { | 139 | + // очистим кеш |
| 140 | + $this->parserCacheHandler(2); | ||
| 153 | 141 | ||
| 154 | - // очистим кеш | ||
| 155 | - $this->parserCacheHandler( 2 ); | 142 | + if (file_exists($configuration['file_path'])) |
| 143 | + unlink($configuration['file_path']); | ||
| 156 | 144 | ||
| 157 | - if ( file_exists($configuration['file_path']) ) | ||
| 158 | - unlink( $configuration['file_path'] ); | 145 | + Yii::$app->session->setFlash($type_msg, $msg); |
| 146 | + return $this->render('index', ['model' => $configuration]); | ||
| 159 | 147 | ||
| 160 | - Yii::$app->session->setFlash( $type_msg, $msg ); | ||
| 161 | - return $this->render('index', ['model' => $configuration]); | 148 | + } |
| 149 | + } catch (Exception $e) { | ||
| 162 | 150 | ||
| 151 | + new CrossParsingException( $e->getMessage() ); | ||
| 163 | } | 152 | } |
| 164 | 153 | ||
| 165 | } else { | 154 | } else { |
| 166 | // не прошла валидация формы загрузки файлов | 155 | // не прошла валидация формы загрузки файлов |
| 167 | $errors_str = "Ошибка валидации формы загрузки файлов. "; | 156 | $errors_str = "Ошибка валидации формы загрузки файлов. "; |
| 168 | - foreach ($crosses_model->getErrors() as $error) { | ||
| 169 | - $errors_str .= implode(array_values($error)); | ||
| 170 | - } | ||
| 171 | - throw new \ErrorException($errors_str); | 157 | + $this->throwStringErrorException( $crosses_model , 'common\components\exceptions\CrossParsingException', $errors_str ); |
| 172 | } | 158 | } |
| 173 | } | 159 | } |
| 174 | 160 | ||
| @@ -183,7 +169,8 @@ class CrossingUploadController extends BaseController | @@ -183,7 +169,8 @@ class CrossingUploadController extends BaseController | ||
| 183 | 169 | ||
| 184 | } | 170 | } |
| 185 | 171 | ||
| 186 | - protected function convertDataByConfiguration( $data, $configuration ){ | 172 | + protected function convertDataByConfiguration($data, $configuration) |
| 173 | + { | ||
| 187 | 174 | ||
| 188 | // доп. опции для парсера - удаление префикса в артикулах | 175 | // доп. опции для парсера - удаление префикса в артикулах |
| 189 | $options['mode'] = 'crosses'; | 176 | $options['mode'] = 'crosses'; |
| @@ -195,38 +182,38 @@ class CrossingUploadController extends BaseController | @@ -195,38 +182,38 @@ class CrossingUploadController extends BaseController | ||
| 195 | $fields[] = 'CROSS_ARTICLE'; | 182 | $fields[] = 'CROSS_ARTICLE'; |
| 196 | } | 183 | } |
| 197 | if ($fields) { | 184 | if ($fields) { |
| 198 | - $options ['converter_conf']['configuration'] = ["article" => $fields, | 185 | + $options ['converter_conf']['configuration'] = ["article" => $fields, |
| 199 | "string" => ['ARTICLE', 'CROSS_ARTICLE'],]; | 186 | "string" => ['ARTICLE', 'CROSS_ARTICLE'],]; |
| 200 | } else { | 187 | } else { |
| 201 | - $options ['converter_conf']['configuration'] = ["string" => ['ARTICLE', 'CROSS_ARTICLE'],]; | 188 | + $options ['converter_conf']['configuration'] = ["string" => ['ARTICLE', 'CROSS_ARTICLE'],]; |
| 202 | } | 189 | } |
| 203 | 190 | ||
| 204 | // получим базовую конфигурацию и объеденим её с той что образовалась после выбора пользователем настроек | 191 | // получим базовую конфигурацию и объеденим её с той что образовалась после выбора пользователем настроек |
| 205 | - $basic_options = Yii::$app->multiparser->getConfiguration( 'csv', 'crosses' ); | ||
| 206 | - $options = array_merge_recursive( $options, $basic_options ); | 192 | + $basic_options = Yii::$app->multiparser->getConfiguration('csv', 'crosses'); |
| 193 | + $options = array_merge_recursive($options, $basic_options); | ||
| 207 | 194 | ||
| 208 | - foreach ( $data as &$row ) { | ||
| 209 | - $row = Yii::$app->converter->convertByConfiguration( $row, $options['converter_conf'] ); | 195 | + foreach ($data as &$row) { |
| 196 | + $row = Yii::$app->converter->convertByConfiguration($row, $options['converter_conf']); | ||
| 210 | } | 197 | } |
| 211 | 198 | ||
| 212 | return $data; | 199 | return $data; |
| 213 | 200 | ||
| 214 | } | 201 | } |
| 215 | 202 | ||
| 216 | - protected function reverseCrosses ( $data ) | 203 | + protected function reverseCrosses($data) |
| 217 | { | 204 | { |
| 218 | // для доп массива обратных строк | 205 | // для доп массива обратных строк |
| 219 | - $i = count( $data ) - 1; | 206 | + $i = count($data) - 1; |
| 220 | $reverse_data = []; | 207 | $reverse_data = []; |
| 221 | - foreach ( $data as &$row ) { | 208 | + foreach ($data as &$row) { |
| 222 | // нужно добавить обратную строку по кроссам | 209 | // нужно добавить обратную строку по кроссам |
| 223 | - $reverse_data[ $i ]['ARTICLE'] = $row['CROSS_ARTICLE']; | ||
| 224 | - $reverse_data[ $i ]['CROSS_ARTICLE'] = $row['ARTICLE']; | ||
| 225 | - $reverse_data[ $i ]['BRAND'] = $row['CROSS_BRAND']; | ||
| 226 | - $reverse_data[ $i ]['CROSS_BRAND'] = $row['BRAND']; | 210 | + $reverse_data[$i]['ARTICLE'] = $row['CROSS_ARTICLE']; |
| 211 | + $reverse_data[$i]['CROSS_ARTICLE'] = $row['ARTICLE']; | ||
| 212 | + $reverse_data[$i]['BRAND'] = $row['CROSS_BRAND']; | ||
| 213 | + $reverse_data[$i]['CROSS_BRAND'] = $row['BRAND']; | ||
| 227 | $i++; | 214 | $i++; |
| 228 | } | 215 | } |
| 229 | - $data = array_merge( $data, $reverse_data ); | 216 | + $data = array_merge($data, $reverse_data); |
| 230 | 217 | ||
| 231 | return $data; | 218 | return $data; |
| 232 | } | 219 | } |
backend/controllers/ParserController.php
| @@ -2,9 +2,9 @@ | @@ -2,9 +2,9 @@ | ||
| 2 | namespace backend\controllers; | 2 | namespace backend\controllers; |
| 3 | 3 | ||
| 4 | use backend\models\Details; | 4 | use backend\models\Details; |
| 5 | -use common\components\archives\ArchiveCreator; | ||
| 6 | -use common\components\mail\ImapMailReader; | ||
| 7 | -use common\components\mail\MailAttachmentsSaver; | 5 | +use common\components\exceptions\CrossParsingException; |
| 6 | +use common\components\exceptions\PriceParsingException; | ||
| 7 | +use common\components\exceptions\RgParsingException; | ||
| 8 | use common\components\ModelArrayValidator; | 8 | use common\components\ModelArrayValidator; |
| 9 | use common\components\parsers\MailParser; | 9 | use common\components\parsers\MailParser; |
| 10 | use Yii; | 10 | use Yii; |
| @@ -20,14 +20,15 @@ use backend\models\ImportersFiles; | @@ -20,14 +20,15 @@ use backend\models\ImportersFiles; | ||
| 20 | use backend\models\Importers; | 20 | use backend\models\Importers; |
| 21 | use yii\base\ErrorException; | 21 | use yii\base\ErrorException; |
| 22 | use common\components\PriceWriter; | 22 | use common\components\PriceWriter; |
| 23 | -use common\components\CustomVarDamp; | ||
| 24 | use common\components\CustomArrayHelper; | 23 | use common\components\CustomArrayHelper; |
| 24 | +use backend\components\traits\ParserTrait; | ||
| 25 | 25 | ||
| 26 | /** | 26 | /** |
| 27 | * Parser controller | 27 | * Parser controller |
| 28 | */ | 28 | */ |
| 29 | class ParserController extends BaseController | 29 | class ParserController extends BaseController |
| 30 | { | 30 | { |
| 31 | + use ParserTrait; | ||
| 31 | public $layout = "/column"; | 32 | public $layout = "/column"; |
| 32 | 33 | ||
| 33 | /** | 34 | /** |
| @@ -55,7 +56,6 @@ class ParserController extends BaseController | @@ -55,7 +56,6 @@ class ParserController extends BaseController | ||
| 55 | } | 56 | } |
| 56 | 57 | ||
| 57 | 58 | ||
| 58 | - | ||
| 59 | public function actionIndex($mode = 0) | 59 | public function actionIndex($mode = 0) |
| 60 | { | 60 | { |
| 61 | $model = new UploadFileParsingForm(); | 61 | $model = new UploadFileParsingForm(); |
| @@ -67,8 +67,19 @@ class ParserController extends BaseController | @@ -67,8 +67,19 @@ class ParserController extends BaseController | ||
| 67 | public function actionError() | 67 | public function actionError() |
| 68 | { | 68 | { |
| 69 | $exception = Yii::$app->errorHandler->exception; | 69 | $exception = Yii::$app->errorHandler->exception; |
| 70 | - if ($exception !== null) { | ||
| 71 | - return $this->render('error', ['message' => $exception->getMessage()]); | 70 | + $action_name = ''; |
| 71 | + | ||
| 72 | + if ( $exception instanceof CrossParsingException ) { | ||
| 73 | + $action_name = ['crossing-upload/result']; | ||
| 74 | + }elseif ( $exception instanceof PriceParsingException ) { | ||
| 75 | + $action_name = ['results']; | ||
| 76 | + }elseif ( $exception instanceof RgParsingException ) { | ||
| 77 | + $action_name = ['rg-grup/results']; | ||
| 78 | + } | ||
| 79 | + | ||
| 80 | + if ( $exception !== null ) { | ||
| 81 | + $msg = $exception->getMessage(); | ||
| 82 | + return $this->render( 'error', [ 'message' => $msg, 'action_name' => $action_name ] ); | ||
| 72 | } | 83 | } |
| 73 | } | 84 | } |
| 74 | 85 | ||
| @@ -89,44 +100,19 @@ class ParserController extends BaseController | @@ -89,44 +100,19 @@ class ParserController extends BaseController | ||
| 89 | $model->success = true; | 100 | $model->success = true; |
| 90 | return $this->render('index', ['model' => $model]); | 101 | return $this->render('index', ['model' => $model]); |
| 91 | } | 102 | } |
| 92 | - | ||
| 93 | // === ручная загрузка =========== | 103 | // === ручная загрузка =========== |
| 94 | //запускаем парсинг | 104 | //запускаем парсинг |
| 95 | $data = $this->parseDataFromFile( $files_model, $model ); | 105 | $data = $this->parseDataFromFile( $files_model, $model ); |
| 96 | 106 | ||
| 97 | } else { | 107 | } else { |
| 98 | // не прошла валидация форма загрузки файлов | 108 | // не прошла валидация форма загрузки файлов |
| 99 | - $errors_str = ''; | ||
| 100 | - foreach ($model->getErrors() as $error) { | ||
| 101 | - $errors_str .= implode( array_values($error) ); | ||
| 102 | - } | ||
| 103 | - throw new ErrorException( $errors_str ); | 109 | + $this->throwStringErrorException( $model , 'common\components\exceptions\PriceParsingException' ); |
| 104 | } | 110 | } |
| 105 | // листаем пагинатором, или повторно вызываем - считываем из кеша отпрасенные данные | 111 | // листаем пагинатором, или повторно вызываем - считываем из кеша отпрасенные данные |
| 106 | } else if ( Yii::$app->getCache()->get('parser_data') ) { | 112 | } else if ( Yii::$app->getCache()->get('parser_data') ) { |
| 107 | - | ||
| 108 | $data = json_decode(Yii::$app->getCache()->get('parser_data'), true); | 113 | $data = json_decode(Yii::$app->getCache()->get('parser_data'), true); |
| 109 | - | ||
| 110 | } | 114 | } |
| 111 | - | ||
| 112 | - $provider = new ArrayDataProvider([ | ||
| 113 | - 'allModels' => $data, | ||
| 114 | - 'pagination' => [ | ||
| 115 | - 'pageSize' => 10, | ||
| 116 | - ], | ||
| 117 | - ]); | ||
| 118 | - | ||
| 119 | - $last_index = end( array_flip( $data[0] ) ); | ||
| 120 | - $header_counts = $last_index + 1; | ||
| 121 | - //формируем заголовок для пользователя, где он сможет выбрать соответсвие полей (выпадающий список) | ||
| 122 | - $header_model = DynamicFormHelper::CreateDynamicModel( $header_counts ); | ||
| 123 | - | ||
| 124 | - return $this->render('results', | ||
| 125 | - ['model' => $data, | ||
| 126 | - 'header_model' => $header_model, | ||
| 127 | - // список колонок для выбора | ||
| 128 | - 'basic_column' => Yii::$app->multiparser->getConfiguration('csv', 'basic_column'), | ||
| 129 | - 'dataProvider' => $provider]); | 115 | + return $this->renderResultView( $data ); |
| 130 | } | 116 | } |
| 131 | 117 | ||
| 132 | public function actionWrite() | 118 | public function actionWrite() |
| @@ -170,19 +156,14 @@ class ParserController extends BaseController | @@ -170,19 +156,14 @@ class ParserController extends BaseController | ||
| 170 | unlink($configuration['file_path']); | 156 | unlink($configuration['file_path']); |
| 171 | $validated_type_msg = $writer->hasValidationError() ? 'warning' : 'success'; | 157 | $validated_type_msg = $writer->hasValidationError() ? 'warning' : 'success'; |
| 172 | Yii::$app->session->setFlash( $validated_type_msg, $writer->getValidatedMsg() ); | 158 | Yii::$app->session->setFlash( $validated_type_msg, $writer->getValidatedMsg() ); |
| 173 | - return $this->render('index', ['model' => $configuration]); | 159 | + return $this->render('index', ['model' => $configuration]); |
| 174 | 160 | ||
| 175 | }; | 161 | }; |
| 176 | 162 | ||
| 177 | } else { | 163 | } else { |
| 178 | // не прошла валидация формы загрузки файлов | 164 | // не прошла валидация формы загрузки файлов |
| 179 | $errors_str = "Ошибка валидации формы загрузки файлов. "; | 165 | $errors_str = "Ошибка валидации формы загрузки файлов. "; |
| 180 | - | ||
| 181 | - foreach ( $details_model->getErrors() as $error ) { | ||
| 182 | - $errors_str .= implode(array_values($error)); | ||
| 183 | - } | ||
| 184 | - | ||
| 185 | - throw new \ErrorException($errors_str); | 166 | + $this->throwStringErrorException( $details_model , 'common\components\exceptions\PriceParsingException', $errors_str ); |
| 186 | } | 167 | } |
| 187 | 168 | ||
| 188 | } | 169 | } |
| @@ -313,4 +294,9 @@ class ParserController extends BaseController | @@ -313,4 +294,9 @@ class ParserController extends BaseController | ||
| 313 | return $data; | 294 | return $data; |
| 314 | } | 295 | } |
| 315 | 296 | ||
| 297 | + protected function getBasicColumns() | ||
| 298 | + { | ||
| 299 | + return Yii::$app->multiparser->getConfiguration('csv', 'basic_column'); | ||
| 300 | + | ||
| 301 | + } | ||
| 316 | } | 302 | } |
backend/controllers/RgGrupController.php
| @@ -10,7 +10,7 @@ namespace backend\controllers; | @@ -10,7 +10,7 @@ namespace backend\controllers; | ||
| 10 | 10 | ||
| 11 | use backend\components\base\BaseController; | 11 | use backend\components\base\BaseController; |
| 12 | use backend\models\UploadFileRgForm; | 12 | use backend\models\UploadFileRgForm; |
| 13 | -use common\components\CustomVarDamp; | 13 | +use common\components\exceptions\RgParsingException; |
| 14 | use common\components\ModelArrayValidator; | 14 | use common\components\ModelArrayValidator; |
| 15 | use common\components\parsers\MailAttachmentsSaver; | 15 | use common\components\parsers\MailAttachmentsSaver; |
| 16 | use common\models\Margins; | 16 | use common\models\Margins; |
| @@ -21,9 +21,11 @@ use yii\web\UploadedFile; | @@ -21,9 +21,11 @@ use yii\web\UploadedFile; | ||
| 21 | use yii\data\ArrayDataProvider; | 21 | use yii\data\ArrayDataProvider; |
| 22 | use common\components\parsers\DynamicFormHelper; | 22 | use common\components\parsers\DynamicFormHelper; |
| 23 | use common\components\CustomArrayHelper; | 23 | use common\components\CustomArrayHelper; |
| 24 | +use backend\components\traits\ParserTrait; | ||
| 24 | 25 | ||
| 25 | class RgGrupController extends BaseController | 26 | class RgGrupController extends BaseController |
| 26 | { | 27 | { |
| 28 | + use ParserTrait; | ||
| 27 | public $layout = "/column"; | 29 | public $layout = "/column"; |
| 28 | 30 | ||
| 29 | /** | 31 | /** |
| @@ -66,25 +68,15 @@ class RgGrupController extends BaseController | @@ -66,25 +68,15 @@ class RgGrupController extends BaseController | ||
| 66 | $model->file = UploadedFile::getInstance($model, 'file'); | 68 | $model->file = UploadedFile::getInstance($model, 'file'); |
| 67 | // первый проход - валидируем, сохраняем файл, ложим в кеш отпарсенные данные и параметры модели (потом при записи в базу данных они пригодятся) | 69 | // первый проход - валидируем, сохраняем файл, ложим в кеш отпарсенные данные и параметры модели (потом при записи в базу данных они пригодятся) |
| 68 | if ($model->validate()) { | 70 | if ($model->validate()) { |
| 69 | - | ||
| 70 | $model->file_path = Yii::getAlias('@manual_upload') . '/' . $model->file->name; | 71 | $model->file_path = Yii::getAlias('@manual_upload') . '/' . $model->file->name; |
| 71 | $model->file->saveAs($model->file_path); | 72 | $model->file->saveAs($model->file_path); |
| 72 | - | ||
| 73 | //запускаем парсинг | 73 | //запускаем парсинг |
| 74 | $data = $model->readFile(); | 74 | $data = $model->readFile(); |
| 75 | // сохраняем в кеш отпарсенные даные | 75 | // сохраняем в кеш отпарсенные даные |
| 76 | - Yii::$app->getCache()->set('parser_data', json_encode($data), 1800); | ||
| 77 | - // сохраняем в кеш модель - в ней настройки для дальнейшей обработки данных | ||
| 78 | - Yii::$app->getCache()->set('parser_configuration', serialize($model), 1800); | ||
| 79 | - | ||
| 80 | - | 76 | + $this->parserCacheHandler(1, $data, $model); |
| 81 | } else { | 77 | } else { |
| 82 | // не прошла валидация форма загрузки файлов | 78 | // не прошла валидация форма загрузки файлов |
| 83 | - $errors_str = ''; | ||
| 84 | - foreach ($model->getErrors() as $error) { | ||
| 85 | - $errors_str .= implode(array_values($error)); | ||
| 86 | - } | ||
| 87 | - throw new \ErrorException($errors_str); | 79 | + $this->throwStringErrorException($model, 'common\components\exceptions\RgParsingException'); |
| 88 | } | 80 | } |
| 89 | // листаем пагинатором, или повторно вызываем - считываем из кеша отпрасенные данные | 81 | // листаем пагинатором, или повторно вызываем - считываем из кеша отпрасенные данные |
| 90 | } else if (Yii::$app->getCache()->get('parser_data')) { | 82 | } else if (Yii::$app->getCache()->get('parser_data')) { |
| @@ -92,26 +84,8 @@ class RgGrupController extends BaseController | @@ -92,26 +84,8 @@ class RgGrupController extends BaseController | ||
| 92 | $data = json_decode(Yii::$app->getCache()->get('parser_data'), true); | 84 | $data = json_decode(Yii::$app->getCache()->get('parser_data'), true); |
| 93 | 85 | ||
| 94 | } | 86 | } |
| 95 | - $provider = new ArrayDataProvider([ | ||
| 96 | - 'allModels' => $data, | ||
| 97 | - 'pagination' => [ | ||
| 98 | - 'pageSize' => 10, | ||
| 99 | - ], | ||
| 100 | - ]); | ||
| 101 | - // создадим модель на столько реквизитов сколько колонок в отпарсенном файле | ||
| 102 | - $last_index = end(array_flip($data[0])); | ||
| 103 | - $header_counts = $last_index + 1; | ||
| 104 | - $header_model = DynamicFormHelper::CreateDynamicModel($header_counts); | ||
| 105 | - | ||
| 106 | - // соберем массив данных из которых будет пользователь выбирать значения в конструкторе (выпадающий список) | ||
| 107 | - $header_array = Margins::getHeader(); | ||
| 108 | - | ||
| 109 | - return $this->render('results', | ||
| 110 | - ['model' => $data, | ||
| 111 | - 'header_model' => $header_model, | ||
| 112 | - // список колонок для выбора | ||
| 113 | - 'basic_column' => $header_array, | ||
| 114 | - 'dataProvider' => $provider]); | 87 | + // сборка динамической модели и её рендеринг |
| 88 | + return $this->renderResultView($data); | ||
| 115 | } | 89 | } |
| 116 | 90 | ||
| 117 | public function actionWrite() | 91 | public function actionWrite() |
| @@ -127,20 +101,15 @@ class RgGrupController extends BaseController | @@ -127,20 +101,15 @@ class RgGrupController extends BaseController | ||
| 127 | } | 101 | } |
| 128 | // установим режим проверки обязательных полей | 102 | // установим режим проверки обязательных полей |
| 129 | $margin_model->setScenario('form_upload_validation'); | 103 | $margin_model->setScenario('form_upload_validation'); |
| 130 | - $model_validator = new ModelArrayValidator( $margin_model ); | 104 | + $model_validator = new ModelArrayValidator($margin_model); |
| 131 | // провалидируем выбранные колонки | 105 | // провалидируем выбранные колонки |
| 132 | - if ( $model->validate() && $model_validator->validateRow( array_flip( $arr_attributes ) )) { | 106 | + if ($model->validate() && $model_validator->validateRow($this->getAttributesForValidate($arr_attributes))) { |
| 133 | 107 | ||
| 134 | // валидация успешна у нас есть соответсвие колонок, преобразуем в массив данное соответсвие для дальнейшей работы | 108 | // валидация успешна у нас есть соответсвие колонок, преобразуем в массив данное соответсвие для дальнейшей работы |
| 135 | $arr = $model->toArray(); | 109 | $arr = $model->toArray(); |
| 136 | 110 | ||
| 137 | // получим данные из кеша | 111 | // получим данные из кеша |
| 138 | - if (Yii::$app->getCache()->get('parser_data') && Yii::$app->getCache()->get('parser_configuration')) { | ||
| 139 | - $data = json_decode(Yii::$app->getCache()->get('parser_data'), true); | ||
| 140 | - $configuration = unserialize(Yii::$app->getCache()->get('parser_configuration')); | ||
| 141 | - } else { | ||
| 142 | - throw new \ErrorException('Ошибка кеша'); | ||
| 143 | - } | 112 | + $this->parserCacheHandler(0, $data, $configuration); |
| 144 | 113 | ||
| 145 | array_walk($arr, function (&$val) { | 114 | array_walk($arr, function (&$val) { |
| 146 | $val = '!' . $val; | 115 | $val = '!' . $val; |
| @@ -151,63 +120,85 @@ class RgGrupController extends BaseController | @@ -151,63 +120,85 @@ class RgGrupController extends BaseController | ||
| 151 | $data = CustomArrayHelper::createAssocArray($data, $arr, 'attr_'); | 120 | $data = CustomArrayHelper::createAssocArray($data, $arr, 'attr_'); |
| 152 | 121 | ||
| 153 | // в первой строке у нас заголовки - уберем | 122 | // в первой строке у нас заголовки - уберем |
| 154 | - unset( $data[0] ); | 123 | + unset($data[0]); |
| 155 | // подготовим данные для записи в таблицу w_margins_groups | 124 | // подготовим данные для записи в таблицу w_margins_groups |
| 156 | - $arr_values = []; | ||
| 157 | - $group = ''; | ||
| 158 | - $importer_id = $configuration['importer_id']; | ||
| 159 | - foreach ($data as $row_data) { | ||
| 160 | - | ||
| 161 | - if (isset($row_data['!group'])) { | ||
| 162 | - $group = $row_data['!group']; | ||
| 163 | - unset($row_data['!group']); | ||
| 164 | - } | ||
| 165 | - if (isset($row_data['!_null'])) { | ||
| 166 | - unset($row_data['!_null']); | ||
| 167 | - } | ||
| 168 | - | ||
| 169 | - foreach ($row_data as $key => $value) { | ||
| 170 | - if ($group) | ||
| 171 | - $row['group'] = trim($group); | 125 | + $data = $this->convertDataByConfiguration($data, $configuration); |
| 172 | 126 | ||
| 173 | - $row['importer_id'] = trim($importer_id); | ||
| 174 | - $row['margin_id'] = ltrim($key, '!'); | ||
| 175 | - $row['koef'] = \Yii::$app->converter->convertTo('float', $value, ['precision' => 6]); | ||
| 176 | - | ||
| 177 | - $arr_values[] = $row; | ||
| 178 | - } | ||
| 179 | - } | ||
| 180 | - unset($data); | ||
| 181 | // валидируем отпарсенные данные моделью в которую будем записывать | 127 | // валидируем отпарсенные данные моделью в которую будем записывать |
| 182 | $margin_model->setScenario('default'); | 128 | $margin_model->setScenario('default'); |
| 183 | - $arr_values = $model_validator->validate( $arr_values ); | 129 | + $data = $model_validator->validate($data); |
| 184 | $msg = $model_validator->getMassage(); | 130 | $msg = $model_validator->getMassage(); |
| 185 | - $type_msg = $model_validator->hasError() ? 'warning' : 'success'; | 131 | + $type_msg = $model_validator->hasError() ? 'warning' : 'success'; |
| 186 | $model_validator->close(); | 132 | $model_validator->close(); |
| 187 | // сохраним подготовленные данные | 133 | // сохраним подготовленные данные |
| 188 | - if ( !empty( $arr_values ) ) { | ||
| 189 | - MarginsGroups::ManualInsertWithUpdate( $arr_values, [ 'group','importer_id','margin_id' ] ); | ||
| 190 | - // все прошло успешно - очищаем кеш | ||
| 191 | - Yii::$app->getCache()->delete('parser_data'); | ||
| 192 | - Yii::$app->getCache()->delete('parser_configuration'); | ||
| 193 | - | ||
| 194 | - if (file_exists($configuration['file_path'])) | ||
| 195 | - unlink($configuration['file_path']); | ||
| 196 | - } | 134 | + if (!empty($data)) { |
| 135 | + if (MarginsGroups::ManualInsertWithUpdate($data, ['group', 'importer_id', 'margin_id'])) { | ||
| 136 | + // все прошло успешно - очищаем кеш | ||
| 137 | + $this->parserCacheHandler(2); | ||
| 197 | 138 | ||
| 139 | + if (file_exists($configuration['file_path'])) | ||
| 140 | + unlink($configuration['file_path']); | ||
| 141 | + } | ||
| 198 | 142 | ||
| 199 | - Yii::$app->session->setFlash( $type_msg, $msg ); | 143 | + } |
| 144 | + Yii::$app->session->setFlash($type_msg, $msg); | ||
| 200 | return $this->render('index', ['model' => $configuration]); | 145 | return $this->render('index', ['model' => $configuration]); |
| 201 | 146 | ||
| 202 | } else { | 147 | } else { |
| 203 | // не прошла валидация формы загрузки файлов | 148 | // не прошла валидация формы загрузки файлов |
| 204 | $errors_str = "Ошибка валидации формы загрузки файлов. "; | 149 | $errors_str = "Ошибка валидации формы загрузки файлов. "; |
| 205 | - foreach ($margin_model->getErrors() as $error) { | ||
| 206 | - $errors_str .= implode(array_values($error)); | 150 | + $this->throwStringErrorException($margin_model, 'common\components\exceptions\RgParsingException', $errors_str); |
| 151 | + } | ||
| 152 | + } | ||
| 153 | + | ||
| 154 | + protected function convertDataByConfiguration($data, $configuration) | ||
| 155 | + { | ||
| 156 | + $arr_values = []; | ||
| 157 | + $group = ''; | ||
| 158 | + $importer_id = $configuration['importer_id']; | ||
| 159 | + foreach ($data as $row_data) { | ||
| 160 | + | ||
| 161 | + if (isset($row_data['!group'])) { | ||
| 162 | + $group = $row_data['!group']; | ||
| 163 | + unset($row_data['!group']); | ||
| 164 | + } | ||
| 165 | + if (isset($row_data['!_null'])) { | ||
| 166 | + unset($row_data['!_null']); | ||
| 167 | + } | ||
| 168 | + | ||
| 169 | + foreach ($row_data as $key => $value) { | ||
| 170 | + if ($group) | ||
| 171 | + $row['group'] = trim($group); | ||
| 172 | + | ||
| 173 | + $row['importer_id'] = trim($importer_id); | ||
| 174 | + $row['margin_id'] = ltrim($key, '!'); | ||
| 175 | + $row['koef'] = \Yii::$app->converter->convertTo('float', $value, ['precision' => 6]); | ||
| 176 | + | ||
| 177 | + $arr_values[] = $row; | ||
| 207 | } | 178 | } |
| 208 | - throw new \ErrorException($errors_str); | ||
| 209 | } | 179 | } |
| 180 | + return $arr_values; | ||
| 181 | + } | ||
| 182 | + | ||
| 183 | + protected function getBasicColumns() | ||
| 184 | + { | ||
| 185 | + return Margins::getHeader(); | ||
| 186 | + } | ||
| 187 | + | ||
| 188 | + // подготавливает массив для валидирования моделью - MarginsGroups | ||
| 189 | + // для этого меняем выбранные значения именем поля - margin_id | ||
| 190 | + protected function getAttributesForValidate($arr) | ||
| 191 | + { | ||
| 192 | + $base_columns_arr = Margins::find()->select('id')->asArray()->all(); | ||
| 193 | + $base_columns_arr = array_column($base_columns_arr,'id'); | ||
| 194 | + | ||
| 195 | + array_walk( $arr, function (&$value, $key, $base_columns_arr) { | ||
| 196 | + if (in_array( $value, $base_columns_arr )){ | ||
| 197 | + $value = 'margin_id'; | ||
| 198 | + } | ||
| 199 | + }, $base_columns_arr ); | ||
| 210 | 200 | ||
| 201 | + return array_flip( $arr ); | ||
| 211 | } | 202 | } |
| 212 | 203 | ||
| 213 | // public function actionMail() | 204 | // public function actionMail() |
backend/views/crossing-upload/index.php
| @@ -14,9 +14,10 @@ use yii\helpers\ArrayHelper; | @@ -14,9 +14,10 @@ use yii\helpers\ArrayHelper; | ||
| 14 | <?= $form->field($model, 'delete_prefix1')->checkbox() ?> | 14 | <?= $form->field($model, 'delete_prefix1')->checkbox() ?> |
| 15 | <?= $form->field($model, 'delete_prefix2')->checkbox() ?> | 15 | <?= $form->field($model, 'delete_prefix2')->checkbox() ?> |
| 16 | <?= $form->field($model, 'file')->fileInput()->label(false) ?> | 16 | <?= $form->field($model, 'file')->fileInput()->label(false) ?> |
| 17 | + <?= Html::tag('p','допустимый формат - csv') ?> | ||
| 17 | 18 | ||
| 18 | <div class="form-group"> | 19 | <div class="form-group"> |
| 19 | - <?= Html::submitButton(Yii::t( 'app', 'Прочитать' ), ['class' => 'btn btn-primary']) ?> | 20 | + <?= Html::submitButton(Yii::t( 'app', 'Выполнить' ), ['class' => 'btn btn-primary']) ?> |
| 20 | </div> | 21 | </div> |
| 21 | 22 | ||
| 22 | <?php ActiveForm::end(); | 23 | <?php ActiveForm::end(); |
backend/views/parser/error.php
| @@ -7,14 +7,21 @@ | @@ -7,14 +7,21 @@ | ||
| 7 | 7 | ||
| 8 | use yii\helpers\Html; | 8 | use yii\helpers\Html; |
| 9 | 9 | ||
| 10 | -$this->title = $name; | 10 | +$this->title = 'Ошибка'; |
| 11 | ?> | 11 | ?> |
| 12 | <div class="site-error"> | 12 | <div class="site-error"> |
| 13 | 13 | ||
| 14 | <h1><?= Html::encode($this->title) ?></h1> | 14 | <h1><?= Html::encode($this->title) ?></h1> |
| 15 | 15 | ||
| 16 | <div class="alert alert-danger"> | 16 | <div class="alert alert-danger"> |
| 17 | - <?= nl2br(Html::encode($message)) ?> | 17 | + <?php |
| 18 | + echo nl2br(Html::encode($message)); | ||
| 19 | + if ( $action_name ) { | ||
| 20 | + echo "<br/>"; | ||
| 21 | + echo "<br/>"; | ||
| 22 | + echo Html::a('Вернуться', $action_name, ['class' => 'btn btn-info', 'name' => 'Return',]); | ||
| 23 | + } | ||
| 24 | + ?> | ||
| 18 | </div> | 25 | </div> |
| 19 | 26 | ||
| 20 | <p> | 27 | <p> |
backend/views/rg-grup/index.php
| @@ -4,7 +4,7 @@ use yii\helpers\Html; | @@ -4,7 +4,7 @@ use yii\helpers\Html; | ||
| 4 | use backend\models\Importers; | 4 | use backend\models\Importers; |
| 5 | use yii\helpers\ArrayHelper; | 5 | use yii\helpers\ArrayHelper; |
| 6 | 6 | ||
| 7 | -$button_label = 'Прочитать'; | 7 | +$button_label = 'Выполнить'; |
| 8 | 8 | ||
| 9 | 9 | ||
| 10 | ?> | 10 | ?> |
| @@ -21,6 +21,8 @@ $button_label = 'Прочитать'; | @@ -21,6 +21,8 @@ $button_label = 'Прочитать'; | ||
| 21 | <?= $form->field($model, 'file')->fileInput()->label(false) ?> | 21 | <?= $form->field($model, 'file')->fileInput()->label(false) ?> |
| 22 | <div class="form-group"> | 22 | <div class="form-group"> |
| 23 | <?= Html::submitButton(Yii::t( 'app', $button_label ), ['class' => 'btn btn-primary']) ?> | 23 | <?= Html::submitButton(Yii::t( 'app', $button_label ), ['class' => 'btn btn-primary']) ?> |
| 24 | + <?= Html::tag( 'p', 'допустимый формат xlsx') ?> | ||
| 25 | + | ||
| 24 | </div> | 26 | </div> |
| 25 | 27 | ||
| 26 | <?php ActiveForm::end(); | 28 | <?php ActiveForm::end(); |
backend/views/rg-grup/results.php
| @@ -27,6 +27,6 @@ $this->params['breadcrumbs'][] = $this->title; | @@ -27,6 +27,6 @@ $this->params['breadcrumbs'][] = $this->title; | ||
| 27 | </div> | 27 | </div> |
| 28 | 28 | ||
| 29 | <?php ActiveForm::end() ?> | 29 | <?php ActiveForm::end() ?> |
| 30 | - <?= Html::a('Вернуться', ['rg-grup/index'], ['class' => 'btn btn-primary', 'name' => 'Return',]) ?> | 30 | + <?= Html::a('Отмена', ['rg-grup/index'], ['class' => 'btn btn-primary', 'name' => 'Return',]) ?> |
| 31 | 31 | ||
| 32 | </div> | 32 | </div> |
| 33 | \ No newline at end of file | 33 | \ No newline at end of file |
common/components/exceptions/CrossParsingException.php
0 → 100644
| 1 | +<?php | ||
| 2 | +/** | ||
| 3 | + * Created by PhpStorm. | ||
| 4 | + * User: Tsurkanov | ||
| 5 | + * Date: 30.11.2015 | ||
| 6 | + * Time: 17:36 | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +namespace common\components\exceptions; | ||
| 10 | + | ||
| 11 | + | ||
| 12 | +use yii\base\UserException; | ||
| 13 | + | ||
| 14 | +class CrossParsingException extends UserException { | ||
| 15 | + | ||
| 16 | +} | ||
| 0 | \ No newline at end of file | 17 | \ No newline at end of file |
common/components/exceptions/PriceParsingException.php
0 → 100644
| 1 | +<?php | ||
| 2 | +/** | ||
| 3 | + * Created by PhpStorm. | ||
| 4 | + * User: Tsurkanov | ||
| 5 | + * Date: 30.11.2015 | ||
| 6 | + * Time: 17:36 | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +namespace common\components\exceptions; | ||
| 10 | + | ||
| 11 | + | ||
| 12 | +use yii\base\UserException; | ||
| 13 | + | ||
| 14 | +class PriceParsingException extends UserException { | ||
| 15 | + | ||
| 16 | +} | ||
| 0 | \ No newline at end of file | 17 | \ No newline at end of file |
common/components/exceptions/RgParsingException.php
0 → 100644
| 1 | +<?php | ||
| 2 | +/** | ||
| 3 | + * Created by PhpStorm. | ||
| 4 | + * User: Tsurkanov | ||
| 5 | + * Date: 30.11.2015 | ||
| 6 | + * Time: 17:36 | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +namespace common\components\exceptions; | ||
| 10 | + | ||
| 11 | + | ||
| 12 | +use yii\base\UserException; | ||
| 13 | + | ||
| 14 | +class RgParsingException extends UserException { | ||
| 15 | + | ||
| 16 | +} | ||
| 0 | \ No newline at end of file | 17 | \ No newline at end of file |
common/models/MarginsGroups.php
| @@ -31,8 +31,9 @@ class MarginsGroups extends \yii\db\ActiveRecord | @@ -31,8 +31,9 @@ class MarginsGroups extends \yii\db\ActiveRecord | ||
| 31 | public function rules() | 31 | public function rules() |
| 32 | { | 32 | { |
| 33 | return [ | 33 | return [ |
| 34 | - [['importer_id', 'margin_id', 'koef'], 'required', 'on' => 'default'], | ||
| 35 | - ['group', 'required', 'on' => ['default','form_upload_validation']], | 34 | + [['group','importer_id', 'margin_id', 'koef'], 'required', 'on' => 'default'], |
| 35 | + [['margin_id'], 'required', 'on' => 'form_upload_validation', 'message' => 'Должен быть указан хотя бы один тип цен.'], | ||
| 36 | + [['group'], 'required', 'on' => 'form_upload_validation', 'message' => 'Группа RG - обязательное поле.'], | ||
| 36 | [['importer_id', 'margin_id'], 'integer' , 'on' => 'default'], | 37 | [['importer_id', 'margin_id'], 'integer' , 'on' => 'default'], |
| 37 | [['koef'], 'number' , 'on' => 'default'], | 38 | [['koef'], 'number' , 'on' => 'default'], |
| 38 | [['timestamp'], 'safe' , 'on' => 'default'], | 39 | [['timestamp'], 'safe' , 'on' => 'default'], |
| @@ -83,7 +84,6 @@ class MarginsGroups extends \yii\db\ActiveRecord | @@ -83,7 +84,6 @@ class MarginsGroups extends \yii\db\ActiveRecord | ||
| 83 | //@todo - вынести все ручные инсерты в отдельный класс | 84 | //@todo - вынести все ручные инсерты в отдельный класс |
| 84 | public static function ManualInsertWithUpdate($data, $keys) | 85 | public static function ManualInsertWithUpdate($data, $keys) |
| 85 | { | 86 | { |
| 86 | - // \common\components\CustomVarDamp::dumpAndDie($data); | ||
| 87 | $table_name = self::tableName(); | 87 | $table_name = self::tableName(); |
| 88 | $keys_arr = array_keys($data[0]); | 88 | $keys_arr = array_keys($data[0]); |
| 89 | // найдем те поля которые не являются ключами. Их нужно будет при дубляже апдейтить | 89 | // найдем те поля которые не являются ключами. Их нужно будет при дубляже апдейтить |
| @@ -107,9 +107,9 @@ class MarginsGroups extends \yii\db\ActiveRecord | @@ -107,9 +107,9 @@ class MarginsGroups extends \yii\db\ActiveRecord | ||
| 107 | 107 | ||
| 108 | // добавим фрагмент с апдейтом при дубляже | 108 | // добавим фрагмент с апдейтом при дубляже |
| 109 | $query = "{$query_insert} {$query_update}"; | 109 | $query = "{$query_insert} {$query_update}"; |
| 110 | - // \common\components\CustomVarDamp::dumpAndDie($query); | ||
| 111 | Yii::$app->db->createCommand($query)->execute(); | 110 | Yii::$app->db->createCommand($query)->execute(); |
| 112 | 111 | ||
| 113 | } | 112 | } |
| 113 | + return true; | ||
| 114 | } | 114 | } |
| 115 | } | 115 | } |