Pőcze Bence
492aa9fcef
All checks were successful
rvr-nextgen/pipeline/pr-master This commit looks good
88 lines
6.2 KiB
PHP
88 lines
6.2 KiB
PHP
@css(node_modules/tom-select/dist/css/tom-select.min.css)
|
|
@js(node_modules/tom-select/dist/js/tom-select.base.min.js)
|
|
@js(js/communities/transaction.js)
|
|
|
|
@extends(templates/layout_normal)
|
|
|
|
@section(main)
|
|
<h2>
|
|
<a href="<?= Container::$routeCollection->getRoute('community')->generateLink(['communitySlug' => $community->getSlug()]) ?>"><?= $community->getName() ?></a> »
|
|
<?php if (isset($event)): ?>
|
|
<a href="<?= Container::$routeCollection->getRoute('community.events')->generateLink(['communitySlug' => $community->getSlug()]) ?>">Events</a> »
|
|
<a href="<?= Container::$routeCollection->getRoute('community.event')->generateLink(['communitySlug' => $community->getSlug(), 'eventSlug' => $event->getSlug()]) ?>"><?= $event->getTitle() ?></a> »
|
|
<?php endif; ?>
|
|
<a href="<?= Container::$routeCollection->getRoute('community.transactions')->generateLink(['communitySlug' => $community->getSlug(), 'event' => isset($event) ? $event->getSlug() : null]) ?>">Transactions</a> »
|
|
<?php if (isset($transaction)): ?>
|
|
Edit transaction
|
|
<?php else: ?>
|
|
New transaction
|
|
<?php endif; ?>
|
|
</h2>
|
|
<div class="box compactBox">
|
|
<?php
|
|
$formAction = isset($transaction) ?
|
|
Container::$routeCollection->getRoute('community.transactions.edit-action')->generateLink(['communitySlug' => $community->getSlug(), 'transactionId' => $transaction->getId()]) :
|
|
Container::$routeCollection->getRoute('community.transactions.new-action')->generateLink(['communitySlug' => $community->getSlug()]);
|
|
?>
|
|
<form id="transactionForm" action="<?= $formAction ?>" method="post" data-redirect-on-success="<?= Container::$routeCollection->getRoute('community.transactions')->generateLink(['communitySlug' => $community->getSlug(), 'event' => isset($event) ? $event->getSlug() : null]) ?>">
|
|
<p class="formLabel">Event</p>
|
|
<select name="event_id">
|
|
<option value="">[none]</option>
|
|
<?php if (isset($event)): ?>
|
|
<option value="<?= $event->getId() ?>" selected><?= $event->getTitle() ?></option>
|
|
<?php endif; ?>
|
|
</select>
|
|
<p class="formLabel marginTop">Payer</p>
|
|
<select class="big fullWidth" name="payer_user_id" required>
|
|
<option value="" hidden></option>
|
|
<?php foreach ($members as $member): ?>
|
|
<option value="<?= $member->getUser()->getId() ?>"
|
|
<?= isset($transaction) ?
|
|
($transaction->getPayerUserId() === $member->getUser()->getId() ? 'selected' : '') :
|
|
(Container::$request->user()->getUniqueId() == $member->getUser()->getId() ? 'selected' : '') ?>>
|
|
<?= $member->getUser()->getDisplayName() ?>
|
|
</option>
|
|
<?php endforeach; ?>
|
|
</select>
|
|
<p class="formLabel marginTop">Payee(s)</p>
|
|
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); grid-gap: 10px;">
|
|
<?php foreach ($members as $member): ?>
|
|
<div style="text-align: center;">
|
|
<input id="payee_<?= $member->getUserId() ?>" type="checkbox" name="payee_user_ids[]" value="<?= $member->getUserId() ?>" <?= !isset($transaction) || count($payeeUserIds) === 0 || in_array($member->getUserId(), $payeeUserIds) ? 'checked' : '' ?>><!--
|
|
--><label for="payee_<?= $member->getUserId() ?>"><?= $member->getUser()->getDisplayName() ?></label>
|
|
</div>
|
|
<?php endforeach; ?>
|
|
</div>
|
|
<p class="formLabel marginTop">Description</p>
|
|
<input type="text" class="text big fullWidth" name="description" value="<?= isset($transaction) ? $transaction->getDescription() : '' ?>" required>
|
|
<p class="formLabel marginTop">Sum</p>
|
|
<input type="number" class="text big fullWidth" name="sum" value="<?= isset($transaction) ? $transaction->getSum() : '' ?>" min="0" step="0.000000001" required>
|
|
<p class="formLabel marginTop">Currency</p>
|
|
<select class="big fullWidth" name="currency_id" required>
|
|
<option value="" hidden></option>
|
|
<?php foreach ($currencies as $currency): ?>
|
|
<option value="<?= $currency->getId() ?>" <?= isset($transaction) && $transaction->getCurrencyId() === $currency->getId() ? 'selected' : '' ?>><?= $currency->getCode() ?></option>
|
|
<?php endforeach; ?>
|
|
</select>
|
|
<p class="formLabel marginTop">Time</p>
|
|
<input type="datetime-local" class="text big fullWidth" name="time" value="<?= isset($transaction) ? $transaction->getTimeDate()->format('Y-m-d\TH:i') : (new DateTime())->format('Y-m-d\TH:i') ?>" required>
|
|
<p class="formError justify marginTop"></p>
|
|
<div class="right marginTop" style="font-size: 0;">
|
|
<button type="submit" name="submit_button"><?= isset($transaction) ? '<i class="fa-regular fa-floppy-disk"></i> Save' : '<i class="fa-regular fa-plus"></i> Create' ?></button>
|
|
<?php if (isset($transaction)): ?>
|
|
<button type="submit" form="deleteTransaction" name="submit_button" data-confirmation="Are you sure you want to delete this transaction?" class="red marginLeft"><i class="fa-regular fa-trash-can"></i> Delete</button>
|
|
<?php endif; ?>
|
|
</div>
|
|
</form>
|
|
<?php if (isset($transaction)): ?>
|
|
<form id="deleteTransaction" action="<?= Container::$routeCollection->getRoute('community.transactions.delete-action')->generateLink(['communitySlug' => $community->getSlug(), 'transactionId' => $transaction->getId()]) ?>" method="post" data-redirect-on-success="<?= Container::$routeCollection->getRoute('community.transactions')->generateLink(['communitySlug' => $community->getSlug()]) ?>"></form>
|
|
<?php endif; ?>
|
|
</div>
|
|
@endsection
|
|
|
|
@section(pageScript)
|
|
<script>
|
|
var searchEventUrl = '<?= Container::$routeCollection->getRoute('community.events.search')->generateLink(['communitySlug' => $community->getSlug(), 'q' => 'QUERY']) ?>';
|
|
</script>
|
|
@endsection
|