mirror of
https://github.com/ToxicCrack/PrintABrick.git
synced 2025-05-17 21:00:09 -07:00
Move PartController
This commit is contained in:
parent
a404d625d7
commit
00d455210d
66
app/Resources/views/part/detail.html.twig
Normal file
66
app/Resources/views/part/detail.html.twig
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
{% extends 'base.html.twig' %}
|
||||||
|
|
||||||
|
{% import 'macros/blocks.html.twig' as blocks %}
|
||||||
|
|
||||||
|
{% block header %}{{ part.name }}{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<div class="ui vertical segment alternate stripe">
|
||||||
|
<div class="ui container stackable grid">
|
||||||
|
<div class="row">
|
||||||
|
<div class="column ten wide">
|
||||||
|
<div id="model-viewer" class="model-container">
|
||||||
|
{{ blocks.partImage(part.id,'part_large') }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="column six wide">
|
||||||
|
<div class="item-info ui">
|
||||||
|
<table class="ui very basic table">
|
||||||
|
<tr>
|
||||||
|
<td>{{ 'part.id' | trans }}</td><td><h2>{{ part.id}}</h2></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{ 'part.name' | trans }}</td><td>{{ part.name}}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{ 'part.category' | trans }}</td><td>{{ part.category ? part.category.name }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{ 'part.model' | trans }}</td>
|
||||||
|
<td>
|
||||||
|
{% if part.model %}
|
||||||
|
<a href="{{ url('model_detail', {'id': part.model.id})}}">{{ part.model.id }}</a>
|
||||||
|
{% endif %}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{% if apiPart %}
|
||||||
|
<tr>
|
||||||
|
<td>{{ 'part.alternates' | trans }}</td>
|
||||||
|
<td>
|
||||||
|
{% for alternate in apiPart.alternates %}
|
||||||
|
<a href="{{ url('reb_part_detail', {'id': alternate})}}">{{ alternate }}</a>
|
||||||
|
{% endfor %}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{ 'part.molds' | trans }}</td>
|
||||||
|
<td>
|
||||||
|
{% for mold in apiPart.molds %}
|
||||||
|
<a href="{{ url('reb_part_detail', {'id': mold})}}">{{ mold }}</a>
|
||||||
|
{% endfor %}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td><a class="rebrickable link" href="{{ apiPart.url }}">Rebrickable</a></td>
|
||||||
|
</tr>
|
||||||
|
{% endif %}
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<a class="ui disabled fluid primary button"><i class="download icon"></i> {{ 'model.empty'|trans }}</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
@ -1,81 +0,0 @@
|
|||||||
{% extends 'base.html.twig' %}
|
|
||||||
|
|
||||||
{% import 'macros/blocks.html.twig' as blocks %}
|
|
||||||
|
|
||||||
{% block header %}{{ part.name }}{% endblock %}
|
|
||||||
|
|
||||||
{% block content %}
|
|
||||||
<div class="ui grid">
|
|
||||||
<div class="column ten wide">
|
|
||||||
<div id="model-viewer" class="model-container">
|
|
||||||
{{ blocks.partImage(part.id,'part_large') }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="column six wide">
|
|
||||||
<div class="item-info ui">
|
|
||||||
<table class="ui very basic table">
|
|
||||||
<tr>
|
|
||||||
<td>{{ 'part.id' | trans }}</td><td><h2>{{ part.id}}</h2></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>{{ 'part.name' | trans }}</td><td>{{ part.name}}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>{{ 'part.category' | trans }}</td><td>{{ part.category ? part.category.name }}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>{{ 'part.model' | trans }}</td>
|
|
||||||
<td>
|
|
||||||
{% if part.model %}
|
|
||||||
<a href="{{ url('model_detail', {'id': part.model.id})}}">{{ part.model.id }}</a>
|
|
||||||
{% endif %}
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{% if apiPart %}
|
|
||||||
<tr>
|
|
||||||
<td>{{ 'part.alternates' | trans }}</td>
|
|
||||||
<td>
|
|
||||||
{% for alternate in apiPart.alternates %}
|
|
||||||
<a href="{{ url('reb_part_detail', {'id': alternate})}}">{{ alternate }}</a>
|
|
||||||
{% endfor %}
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>{{ 'part.molds' | trans }}</td>
|
|
||||||
<td>
|
|
||||||
{% for mold in apiPart.molds %}
|
|
||||||
<a href="{{ url('reb_part_detail', {'id': mold})}}">{{ mold }}</a>
|
|
||||||
{% endfor %}
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>{{ 'part.prints' | trans }}</td>
|
|
||||||
<td>
|
|
||||||
{% for mold in apiPart.prints %}
|
|
||||||
<a href="{{ url('reb_part_detail', {'id': mold})}}">{{ mold }}</a>
|
|
||||||
{% endfor %}
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<td><a class="rebrickable link" href="{{ apiPart.url }}">Rebrickable</a></td>
|
|
||||||
</tr>
|
|
||||||
{% endif %}
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{#<div class="segment ui vertical">#}
|
|
||||||
{#<h4 class="ui horizontal divider header">#}
|
|
||||||
{#<i class="puzzle icon"></i> Sets#}
|
|
||||||
{#</h4>#}
|
|
||||||
|
|
||||||
{#<div class="ui eight column grid">#}
|
|
||||||
{#{% for set in sets %}#}
|
|
||||||
{#{{ blocks.set(set) }}#}
|
|
||||||
{#{% endfor %}#}
|
|
||||||
{#</div>#}
|
|
||||||
{#</div>#}
|
|
||||||
|
|
||||||
{% endblock %}
|
|
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace AppBundle\Controller\Rebrickable;
|
namespace AppBundle\Controller;
|
||||||
|
|
||||||
use AppBundle\Api\Exception\EmptyResponseException;
|
use AppBundle\Api\Exception\EmptyResponseException;
|
||||||
use AppBundle\Entity\Rebrickable\Part;
|
use AppBundle\Entity\Rebrickable\Part;
|
||||||
@ -11,22 +11,23 @@ use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
|||||||
/**
|
/**
|
||||||
* Part controller.
|
* Part controller.
|
||||||
*
|
*
|
||||||
* @Route("rebrickable/parts")
|
* @Route("parts")
|
||||||
*/
|
*/
|
||||||
class PartController extends Controller
|
class PartController extends Controller
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Finds and displays a part entity.
|
* Finds and displays a part entity.
|
||||||
*
|
*
|
||||||
* @Route("/{id}", name="reb_part_detail")
|
* @Route("/{id}", name="part_detail")
|
||||||
*/
|
*/
|
||||||
public function detailAction(Part $part)
|
public function detailAction(Part $part)
|
||||||
{
|
{
|
||||||
$em = $this->getDoctrine()->getManager();
|
|
||||||
|
|
||||||
$apiPart = null;
|
$apiPart = null;
|
||||||
|
|
||||||
if ($part) {
|
if ($part) {
|
||||||
|
if($model = $part->getModel()) {
|
||||||
|
$this->redirectToRoute('model_detail',['id' => $model->getId()]);
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$apiPart = $this->get('api.manager.rebrickable')->getPart($part->getId());
|
$apiPart = $this->get('api.manager.rebrickable')->getPart($part->getId());
|
||||||
} catch (EmptyResponseException $e) {
|
} catch (EmptyResponseException $e) {
|
||||||
@ -35,12 +36,9 @@ class PartController extends Controller
|
|||||||
$this->addFlash('error', $e->getMessage());
|
$this->addFlash('error', $e->getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
$sets = $part != null ? $em->getRepository(Set::class)->findAllByPartNumber($part->getId()) : null;
|
return $this->render('part/detail.html.twig', [
|
||||||
|
|
||||||
return $this->render('rebrickable/part/detail.html.twig', [
|
|
||||||
'part' => $part,
|
'part' => $part,
|
||||||
'apiPart' => $apiPart,
|
'apiPart' => $apiPart,
|
||||||
'sets' => $sets,
|
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user