From d66955d62deddb245d0916f2e9646e3ee41687d9 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 7 Jun 2017 17:21:53 +0200 Subject: [PATCH] Refactor business logic, Autowire dependencies --- app/Resources/assets/style/table.scss | 2 + app/Resources/translations/menu.en.yml | 6 +- app/Resources/translations/messages.en.yml | 4 +- app/Resources/views/base.html.twig | 25 ++ app/Resources/views/menu/knp_menu.html.twig | 2 +- app/Resources/views/model/detail.html.twig | 69 ++-- app/Resources/views/model/tabs/sets.html.twig | 42 ++ app/Resources/views/part/detail.html.twig | 105 ++--- app/Resources/views/set/detail.html.twig | 12 +- app/config/service/api.yml | 14 - app/config/service/form.yml | 21 - app/config/service/legacy_aliases.yml | 29 ++ app/config/service/loader.yml | 26 -- app/config/service/menu.yml | 5 - app/config/service/repository.yml | 91 ---- app/config/service/service.yml | 38 -- app/config/service/util.yml | 16 - app/config/services.yml | 98 ++++- .../{Brickset.php => BricksetClient.php} | 20 +- ...brickable_v3.php => RebrickableClient.php} | 4 +- src/AppBundle/Api/Manager/BricksetManager.php | 10 +- .../Api/Manager/RebrickableManager.php | 9 +- src/AppBundle/Command/LoadImagesCommand.php | 20 +- src/AppBundle/Command/LoadLdrawCommand.php | 32 +- .../Command/LoadRebrickableDataCommand.php | 23 +- src/AppBundle/Command/LoadRelationCommand.php | 24 +- src/AppBundle/Controller/AjaxController.php | 11 +- .../Controller/Brickset/SetController.php | 16 +- src/AppBundle/Controller/ColorController.php | 11 +- .../Controller/DefaultController.php | 21 +- src/AppBundle/Controller/MediaController.php | 5 +- src/AppBundle/Controller/ModelController.php | 59 ++- src/AppBundle/Controller/PartController.php | 37 +- src/AppBundle/Controller/SetController.php | 65 ++- .../Loader/MissingContextException.php | 2 +- src/AppBundle/Form/Search/ModelSearchType.php | 10 +- src/AppBundle/Form/Search/SetSearchType.php | 13 +- src/AppBundle/Imagine/BaseImageLoader.php | 2 + src/AppBundle/Imagine/PartImageLoader.php | 7 +- src/AppBundle/Imagine/SetImageLoader.php | 6 +- .../Repository/LDraw/ModelRepository.php | 4 +- .../Rebrickable/Inventory_PartRepository.php | 17 + .../Repository/Rebrickable/SetRepository.php | 4 +- .../Rebrickable/ThemeRepository.php | 2 - .../Repository/Search/ModelRepository.php | 7 +- .../Repository/Search/SetRepository.php | 14 +- src/AppBundle/Service/ColorService.php | 26 ++ src/AppBundle/Service/Loader/BaseLoader.php | 16 +- src/AppBundle/Service/Loader/ImageLoader.php | 10 +- src/AppBundle/Service/Loader/ModelLoader.php | 18 +- .../Service/Loader/RebrickableLoader.php | 14 +- .../Service/Loader/RelationLoader.php | 16 +- src/AppBundle/Service/ModelService.php | 53 ++- src/AppBundle/Service/SetService.php | 390 ++++++++++-------- .../Service/Stl/StlConverterService.php | 6 +- .../Service/Stl/StlRendererService.php | 7 +- src/AppBundle/Service/ZipService.php | 30 +- src/AppBundle/Twig/AppExtension.php | 2 +- 58 files changed, 966 insertions(+), 682 deletions(-) create mode 100644 app/Resources/views/model/tabs/sets.html.twig delete mode 100644 app/config/service/api.yml delete mode 100644 app/config/service/form.yml create mode 100644 app/config/service/legacy_aliases.yml delete mode 100644 app/config/service/loader.yml delete mode 100644 app/config/service/repository.yml delete mode 100644 app/config/service/service.yml delete mode 100644 app/config/service/util.yml rename src/AppBundle/Api/Client/Brickset/{Brickset.php => BricksetClient.php} (96%) rename src/AppBundle/Api/Client/Rebrickable/{Rebrickable_v3.php => RebrickableClient.php} (96%) create mode 100644 src/AppBundle/Service/ColorService.php diff --git a/app/Resources/assets/style/table.scss b/app/Resources/assets/style/table.scss index aaedc3a..7a23b3a 100644 --- a/app/Resources/assets/style/table.scss +++ b/app/Resources/assets/style/table.scss @@ -8,6 +8,8 @@ .link { padding-left: 30px; position: relative; + display: inline-block; + margin: 0.2em 1em; } .link:before { diff --git a/app/Resources/translations/menu.en.yml b/app/Resources/translations/menu.en.yml index f40f8d4..fb51664 100644 --- a/app/Resources/translations/menu.en.yml +++ b/app/Resources/translations/menu.en.yml @@ -2,12 +2,12 @@ page: home: Homepage model: index: Bricks - detail: %value% + detail: "%value%" set: index: Sets - detail: %value% + detail: "%value%" part: index: Parts - detail: %value% + detail: "%value%" search: "Search: \"%value%\"" colors: Colors \ No newline at end of file diff --git a/app/Resources/translations/messages.en.yml b/app/Resources/translations/messages.en.yml index 079682e..9b5579b 100644 --- a/app/Resources/translations/messages.en.yml +++ b/app/Resources/translations/messages.en.yml @@ -11,7 +11,7 @@ set: models: text: | This set inventory has been obtained from Rebrickable. - According to the Brickset, this set has %brickset% parts. The inventory from Rebrickable contains %rebrickable% parts. + According to the Brickset, this set has '%brickset%' parts. The inventory from Rebrickable contains %rebrickable% parts. rebrickable: credit: | This set inventory and model images has been obtained from Rebrickable. @@ -137,4 +137,4 @@ part: form: search.submit: Search -meta.description: Web catalogue of LEGO® parts for 3D printing \ No newline at end of file +meta.description: "Web catalogue of LEGO® parts for 3D printing" \ No newline at end of file diff --git a/app/Resources/views/base.html.twig b/app/Resources/views/base.html.twig index bd0230c..6bf5a30 100644 --- a/app/Resources/views/base.html.twig +++ b/app/Resources/views/base.html.twig @@ -106,4 +106,29 @@ {% include 'footer.html.twig' %} +{% endblock %} + +{% block javascripts %} + {{ parent() }} + + + + + {% endblock %} \ No newline at end of file diff --git a/app/Resources/views/menu/knp_menu.html.twig b/app/Resources/views/menu/knp_menu.html.twig index eed3e5f..54c042f 100644 --- a/app/Resources/views/menu/knp_menu.html.twig +++ b/app/Resources/views/menu/knp_menu.html.twig @@ -105,7 +105,7 @@ {% endif %} {% set label = item.label|trans( - item.getExtra('translation_params', {}), + item.getExtra('translatinon_params', {}), item.getExtra('translation_domain', 'menu') ) %} {% if options.allow_safe_labels and item.getExtra('safe_label', false) %} diff --git a/app/Resources/views/model/detail.html.twig b/app/Resources/views/model/detail.html.twig index 06464a8..04ff9e8 100644 --- a/app/Resources/views/model/detail.html.twig +++ b/app/Resources/views/model/detail.html.twig @@ -25,6 +25,7 @@
+
@@ -41,9 +42,6 @@ - - -
{{ 'model.id' | trans }}
{{ 'model.author' | trans }}{{ model.author.name }}
{{ 'model.set.count' | trans }}{{ sets|length }}
{{ 'model.license' | trans }} @@ -80,39 +78,57 @@
-
-
- {% for subpart in subparts %} - {{ blocks.model(subpart['model'], subpart['quantity']) }} - {% endfor %} +
+
+

Submodels

+
+ {% for subpart in submodels %} + {{ blocks.model(subpart['model'], subpart['quantity']) }} + {% else %} +
+ {% endfor %} +
+ +
+

Siblings

+
+ + {% for model in siblings %} + {{ blocks.model(model) }} + {% else %} +
+ {% endfor %} +
+
+ +
+

Parents

+
+ + {% for subpart in model.parents %} + {{ blocks.model(subpart.parent) }} + {% else %} +
+ {% endfor %} +
+
+
-
-
- {% for model in related %} - {{ blocks.model(model) }} - {% endfor %} -
+
+
- -
-
- {% for subpart in model.parents %} - {{ blocks.model(subpart.parent) }} - {% endfor %} -
-
-
+ {% endblock %} {% block javascripts %} @@ -120,6 +136,7 @@ +