finish
This commit is contained in:
parent
d7a61f6d0e
commit
bb42015d74
7 changed files with 59 additions and 27 deletions
|
@ -24,14 +24,13 @@ function createExtraSparkles() {
|
||||||
if (currentMode !== 'bonkers') return;
|
if (currentMode !== 'bonkers') return;
|
||||||
|
|
||||||
const extraEmojis = [
|
const extraEmojis = [
|
||||||
'💫', '⭐', '🎊', '🎈', '🎪', '🎭', '🎨', '👑', '💎', '🔥', '⚡', '💃', '🕺', '🎵', '🎶', '🎤',
|
'💃', '🕺',
|
||||||
'🍑', '💦', '😏', '😈', '👅', '💋', '🥵', '😳', '🤤', '😍', '🥴', '🤯', '💕', '💖', '💗', '💘',
|
'🍑', '💦', '😏', '😈', '👅', '💋', '🥵', '😳', '🤤', '😍', '🥴',
|
||||||
'💝', '💞', '💟', '💌', '💍', '💎', '💏', '💑', '💒', '💓', '💔', '💕', '🌶️', '🍆', '🥒', '🍌',
|
'💕', '💖', '💗', '💘', '💝', '💞', '💟', '💌', '💏', '💑',
|
||||||
'🍎', '🍓', '🍇', '🍊', '🍋', '🍌', '🍍', '🥭', '🍎', '🍏', '🍐', '💧', '💦', '💨', '👀', '😉',
|
'🍆', '🥒', '🍌', '💦', '👀', '😉', '😌', '😍', '🥰', '😘',
|
||||||
'😌', '😍', '🥰', '😘', '😚', '😋', '🥳', '😏', '😫', '😩', '🥺', '😢', '😡', '🤬', '🤯', '😳',
|
'😚', '😋', '😏', '😫', '😩', '🥺', '🥵', '🥴',
|
||||||
'🥵', '🥴', '🤒', '💖', '💗', '💙', '💚', '❤️', '🧡', '💛', '💜', '🖤', '💔', '❣️', '💕', '💞',
|
'💖', '💗', '💕', '💞', '💓', '💗', '💖', '💘', '💝',
|
||||||
'💓', '💗', '💖', '💘', '💝', '💟', '💌', '💋', '💍', '💎', '💏', '💑', '💒', '💓', '💔', '💕',
|
'💋', '💏', '💑'
|
||||||
'💖', '💗', '💘'
|
|
||||||
];
|
];
|
||||||
const sparkle = document.createElement('div');
|
const sparkle = document.createElement('div');
|
||||||
sparkle.className = 'emoji-footprint';
|
sparkle.className = 'emoji-footprint';
|
||||||
|
|
|
@ -57,6 +57,7 @@ final class DrinkTypeBulkController extends AbstractController
|
||||||
EntityManagerInterface $entityManager
|
EntityManagerInterface $entityManager
|
||||||
): Response {
|
): Response {
|
||||||
$drinkTypes = $drinkTypeRepository->findAll();
|
$drinkTypes = $drinkTypeRepository->findAll();
|
||||||
|
$fromOrder = $request->query->get('from_order') === 'true';
|
||||||
|
|
||||||
$form = $this->createForm(BulkEditDrinkTypeWantedStockForm::class, [
|
$form = $this->createForm(BulkEditDrinkTypeWantedStockForm::class, [
|
||||||
'drinkTypes' => $drinkTypes,
|
'drinkTypes' => $drinkTypes,
|
||||||
|
@ -75,12 +76,22 @@ final class DrinkTypeBulkController extends AbstractController
|
||||||
|
|
||||||
$this->addFlash('success', 'Wanted stock levels updated successfully!');
|
$this->addFlash('success', 'Wanted stock levels updated successfully!');
|
||||||
|
|
||||||
|
if ($fromOrder) {
|
||||||
|
return $this->redirectToRoute('app_order_new');
|
||||||
|
}
|
||||||
|
|
||||||
return $this->redirectToRoute('app_drink_type_bulk_edit_wanted_stock');
|
return $this->redirectToRoute('app_drink_type_bulk_edit_wanted_stock');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Handle skip button
|
||||||
|
if ($request->query->has('skip') && $fromOrder) {
|
||||||
|
return $this->redirectToRoute('app_order_new');
|
||||||
|
}
|
||||||
|
|
||||||
return $this->render('drink_type/bulk_edit_wanted_stock.html.twig', [
|
return $this->render('drink_type/bulk_edit_wanted_stock.html.twig', [
|
||||||
'form' => $form->createView(),
|
'form' => $form->createView(),
|
||||||
'drinkTypes' => $drinkTypes,
|
'drinkTypes' => $drinkTypes,
|
||||||
|
'from_order' => $fromOrder,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,7 @@ final class Index extends AbstractController
|
||||||
$lowStock = $filterLowStockDrinks($wanted);
|
$lowStock = $filterLowStockDrinks($wanted);
|
||||||
$orders = $orderService->getActiveOrders();
|
$orders = $orderService->getActiveOrders();
|
||||||
return $this->render('index.html.twig', [
|
return $this->render('index.html.twig', [
|
||||||
'drinkTypes' => $lowStock,
|
'drinkTypes' => $wanted,
|
||||||
'lowStock' => $lowStock,
|
'lowStock' => $lowStock,
|
||||||
'orders' => $orders,
|
'orders' => $orders,
|
||||||
]);
|
]);
|
||||||
|
|
|
@ -44,7 +44,6 @@ class Order
|
||||||
$this->createdAt = new DateTimeImmutable();
|
$this->createdAt = new DateTimeImmutable();
|
||||||
$this->updatedAt = new DateTimeImmutable();
|
$this->updatedAt = new DateTimeImmutable();
|
||||||
$this->orderItems = new ArrayCollection();
|
$this->orderItems = new ArrayCollection();
|
||||||
$this->status = OrderStatus::NEW;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getId(): null|int
|
public function getId(): null|int
|
||||||
|
|
|
@ -17,10 +17,14 @@ class OrderForm extends AbstractType
|
||||||
public function buildForm(FormBuilderInterface $builder, array $options): void
|
public function buildForm(FormBuilderInterface $builder, array $options): void
|
||||||
{
|
{
|
||||||
$builder
|
$builder
|
||||||
->add('status', EnumType::class, ['class' => OrderStatus::class])
|
->add('status', EnumType::class, [
|
||||||
|
'class' => OrderStatus::class,
|
||||||
|
])
|
||||||
->add('orderItems', CollectionType::class, [
|
->add('orderItems', CollectionType::class, [
|
||||||
'entry_type' => OrderItemType::class,
|
'entry_type' => OrderItemType::class,
|
||||||
'entry_options' => ['label' => false],
|
'entry_options' => [
|
||||||
|
'label' => false,
|
||||||
|
],
|
||||||
'allow_add' => true,
|
'allow_add' => true,
|
||||||
'allow_delete' => true,
|
'allow_delete' => true,
|
||||||
'by_reference' => false,
|
'by_reference' => false,
|
||||||
|
|
|
@ -1,10 +1,15 @@
|
||||||
{% extends 'base.html.twig' %}
|
{% extends 'base.html.twig' %}
|
||||||
|
|
||||||
{% block title %}Bulk Edit Drink Type Wanted Stock{% endblock %}
|
{% block title %}{% if from_order is defined and from_order %}Update Wanted Stock Before Order{% else %}Bulk Edit Drink Type Wanted Stock{% endif %}{% endblock %}
|
||||||
|
|
||||||
{% block body %}
|
{% block body %}
|
||||||
<div class="container mt-4">
|
<div class="container mt-4">
|
||||||
<h1>Bulk Edit Drink Type Wanted Stock</h1>
|
{% if from_order is defined and from_order %}
|
||||||
|
<h1>Update Wanted Stock Levels Before Creating Order</h1>
|
||||||
|
<p class="lead">You can update the wanted stock levels before creating a new order, or skip this step.</p>
|
||||||
|
{% else %}
|
||||||
|
<h1>Bulk Edit Drink Type Wanted Stock</h1>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{% for message in app.flashes('success') %}
|
{% for message in app.flashes('success') %}
|
||||||
<div class="alert alert-success alert-dismissible fade show" role="alert">
|
<div class="alert alert-success alert-dismissible fade show" role="alert">
|
||||||
|
@ -42,6 +47,9 @@
|
||||||
|
|
||||||
<div class="mt-3">
|
<div class="mt-3">
|
||||||
{{ form_widget(form.save) }}
|
{{ form_widget(form.save) }}
|
||||||
|
{% if from_order is defined and from_order %}
|
||||||
|
<a href="{{ path('app_drink_type_bulk_edit_wanted_stock', {'from_order': 'true', 'skip': 'true'}) }}" class="btn btn-secondary">Skip and Create Order</a>
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{ form_end(form) }}
|
{{ form_end(form) }}
|
||||||
|
|
|
@ -16,8 +16,19 @@
|
||||||
<li>{{ drinkType.name }} ({{ drinkType.currentStock }} / {{ drinkType.wantedStock }})</li>
|
<li>{{ drinkType.name }} ({{ drinkType.currentStock }} / {{ drinkType.wantedStock }})</li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
{% if orders != [] %}
|
{% if orders == [] %}
|
||||||
<a href="{{ path('app_order_new') }}" class="btn btn-primary">Create New Order</a>
|
<a href="{{ path('app_drink_type_bulk_edit_wanted_stock', {'from_order': 'true'}) }}" class="btn btn-primary">Create New Order</a>
|
||||||
|
{% else %}
|
||||||
|
<p>There are already orders planned:</p>
|
||||||
|
<ul>
|
||||||
|
{% for order in orders %}
|
||||||
|
<li>
|
||||||
|
<a href="{{ path("app_order_show", {'id': order.id}) }}">
|
||||||
|
{{ order.id }} - {{ order.status.value }}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue