admin guest list, checkout, enhancer purchase
This commit is contained in:
29
views/admin-guest-add-card.php
Normal file
29
views/admin-guest-add-card.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<div class="row">
|
||||
<div class="col-md-12 order-md-1">
|
||||
<h3 class="mb-3">Add Credit Card</h3>
|
||||
<form method="POST">
|
||||
<div class="modal-body">
|
||||
<div class="form-group">
|
||||
<label for="inputName">Name</label>
|
||||
<input type="input" class="form-control" id="inputName" name="name" value="<?=$guest->name?>">
|
||||
<input type="hidden" class="form-control" id="inputGuestId" name="guestId" value="<?=$guest->id?>">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="inputEmail">Email</label>
|
||||
<input type="input" class="form-control" id="inputEmail" name="email" value="<?=$guest->email?>">
|
||||
</div>
|
||||
|
||||
<div id="card-element">
|
||||
<!-- A Stripe Element will be inserted here. -->
|
||||
</div>
|
||||
|
||||
<!-- Used to display form errors. -->
|
||||
<div id="card-errors" role="alert"></div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="submit" class="btn btn-primary">Save Credit Card</button>
|
||||
</div>
|
||||
</form>
|
||||
<br/>
|
||||
</div>
|
||||
</div>
|
||||
61
views/admin-guest-checkout.php
Normal file
61
views/admin-guest-checkout.php
Normal file
@@ -0,0 +1,61 @@
|
||||
<div class="row">
|
||||
<div class="col-md-12 order-md-1">
|
||||
<h3 class="mb-3">Checkout</h3>
|
||||
<div class="alert alert-primary" role="alert">
|
||||
Enhancer price and additional prices are added together and charged if credit card is on file.
|
||||
</div>
|
||||
<form method="POST">
|
||||
<div class="checkout-body" id="checkout-body">
|
||||
<div class="form-group">
|
||||
<label for="inputName">Name</label>
|
||||
<input type="input" class="form-control" id="inputName" name="name" value="<?=$guest->name?>" readonly>
|
||||
<input type="hidden" class="form-control" id="inputGuestId" name="guestId" value="<?=$guest->id?>">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="inputEmail">Email</label>
|
||||
<input type="input" class="form-control" id="inputEmail" name="email" value="<?=$guest->email?>" readonly>
|
||||
</div>
|
||||
<?php
|
||||
$chargeVerbiage = 'charge';
|
||||
if (empty($guest->stripe_id)) {
|
||||
$chargeVerbiage = 'collect';
|
||||
?>
|
||||
<div class="alert alert-warning" role="alert">
|
||||
There is no credit card on file. <strong>Please collect a check or cash.</strong>
|
||||
</div>
|
||||
<?php } ?>
|
||||
<div class="mb-3">
|
||||
<label for="total">Enhancers purchased during the event: <?=$guest->enhancer_qty?></label>
|
||||
<div class="input-group mb-2">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text">$</div>
|
||||
</div>
|
||||
<input name="enhancerCharge" type="text" class="form-control txtCal" id="inlineFormInputGroup" value="<?=$guest->enhancer_qty * $_SERVER['ENHANCER_TICKET_PRICE']?>">
|
||||
</div>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="total">Additional price for auctions</label>
|
||||
<div class="input-group mb-2">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text">$</div>
|
||||
</div>
|
||||
<input name="auctionCharge" type="text" class="form-control txtCal" id="inlineFormInputGroup">
|
||||
</div>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="total">Total price to <?=$chargeVerbiage?></label>
|
||||
<div class="input-group mb-2">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text">$</div>
|
||||
</div>
|
||||
<input name="totalCharge" type="text" class="form-control" id="totalCharge" value="<?=$guest->enhancer_qty * $_SERVER['ENHANCER_TICKET_PRICE']?>" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="submit" class="btn btn-primary">Checkout</button>
|
||||
</div>
|
||||
</form>
|
||||
<br/>
|
||||
</div>
|
||||
</div>
|
||||
95
views/admin-guest-list.php
Normal file
95
views/admin-guest-list.php
Normal file
@@ -0,0 +1,95 @@
|
||||
<div class="modal" id="enhancerModal" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<form method="POST">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Add Enhancers</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-group">
|
||||
<label for="inputEnhancers">How many enhancers packs are given (10 per pack)?</label>
|
||||
<input type="number" class="form-control" id="inputEnhancers" name="enhancerQty" value="0">
|
||||
<input type="hidden" class="form-control" id="inputGuestId" name="guestId" value="0">
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
||||
<button type="submit" class="btn btn-primary">Add Enhancers</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12 order-md-1">
|
||||
<?php
|
||||
if (isset($_GET['alert']) && $_GET['alert'] == 'success') { ?>
|
||||
<div class="alert alert-success" role="alert"><?=$_GET['msg']?>
|
||||
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<?php }?>
|
||||
<h3 class="mb-3">Guest List
|
||||
<a href="/admin/orders/" class="btn btn-primary">Order List</a>
|
||||
<a href="/admin/orders/export" class="btn btn-primary">Order Export</a>
|
||||
<a href="/admin/guests/export" class="btn btn-primary">Guest Export</a>
|
||||
</h3>
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Name</th>
|
||||
<th scope="col"></th>
|
||||
<th scope="col">Email</th>
|
||||
<th scope="col">Paddle #</th>
|
||||
<th scope="col">Enhancers</th>
|
||||
<th scope="col"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($guests as $guest) { ?>
|
||||
<tr>
|
||||
<td>
|
||||
<?= $guest->name; ?>
|
||||
</td>
|
||||
<td>
|
||||
<?php if ($guest->stripe_id) { ?>
|
||||
<span class="badge badge-success">Card on file</span>
|
||||
<?php } ?>
|
||||
<?php if ($guest->checkout_cents) { ?>
|
||||
<span class="badge badge-primary">Checked Out</span>
|
||||
<?php } ?>
|
||||
</td>
|
||||
<td><?= $guest->email; ?></td>
|
||||
<td><?= $guest->paddle; ?></td>
|
||||
<td>
|
||||
<?= $guest->enhancerQty;?>
|
||||
</td>
|
||||
<td>
|
||||
<div class="btn-group" role="group">
|
||||
<button id="btnGroupDrop1" type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
Actions
|
||||
</button>
|
||||
<div class="dropdown-menu" aria-labelledby="btnGroupDrop1">
|
||||
<button class="dropdown-item" data-toggle="modal" data-target="#enhancerModal" data-name="<?=$guest->name;?>" data-guestid="<?=$guest->id;?>">Add Enhancers</button>
|
||||
<?php if (!$guest->stripe_id) { ?>
|
||||
<a class="dropdown-item" href="/admin/guest/add-card/<?=$guest->id?>">Add Credit Card</a>
|
||||
<?php } else { ?>
|
||||
<a class="dropdown-item" href="/admin/guest/delete-card/<?=$guest->id?>">Delete Credit Card</a>
|
||||
<?php } ?>
|
||||
<a class="dropdown-item" href="/admin/guest/checkout/<?=$guest->id?>">Checkout</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</tbody>
|
||||
</table>
|
||||
<br/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,6 +1,10 @@
|
||||
<div class="row">
|
||||
<div class="col-md-12 order-md-1">
|
||||
<h3 class="mb-3">Orders <a href="/admin/orders/export" class="btn btn-primary">Order Export</a> <a href="/admin/guests/export" class="btn btn-primary">Guest Export</a></h3>
|
||||
<h3 class="mb-3">Orders
|
||||
<a href="/admin/orders/export" class="btn btn-primary">Order Export</a>
|
||||
<a href="/admin/guests/export" class="btn btn-primary">Guest Export</a>
|
||||
<a href="/admin/guest/list" class="btn btn-primary">Guest List</a>
|
||||
</h3>
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
|
||||
@@ -10,32 +10,32 @@
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<script type="application/javascript">
|
||||
$('#enhancerModal').on('shown.bs.modal', function (event) {
|
||||
var button = $(event.relatedTarget) // Button that triggered the modal
|
||||
var recipient = button.data('name')
|
||||
var guestid = button.data('guestid')
|
||||
var modal = $(this)
|
||||
modal.find('.modal-title').text('Add Enhancers for ' + recipient)
|
||||
modal.find('.modal-body #inputGuestId').val(guestid)
|
||||
modal.find('.modal-body #inputEnhancers').val('').focus()
|
||||
});
|
||||
|
||||
<script src="/js/main.js"></script>
|
||||
<script>
|
||||
// Example starter JavaScript for disabling form submissions if there are invalid fields
|
||||
(function () {
|
||||
'use strict';
|
||||
$("#checkout-body").on('input', '.txtCal', function () {
|
||||
var calculated_total_sum = 0;
|
||||
|
||||
window.addEventListener('load', function () {
|
||||
// Fetch all the forms we want to apply custom Bootstrap validation styles to
|
||||
var forms = document.getElementsByClassName('needs-validation');
|
||||
|
||||
// Loop over them and prevent submission
|
||||
var validation = Array.prototype.filter.call(forms, function (form) {
|
||||
form.addEventListener('submit', function (event) {
|
||||
if (form.checkValidity() === false) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
}
|
||||
form.classList.add('was-validated');
|
||||
}, false);
|
||||
$("#checkout-body .txtCal").each(function () {
|
||||
var get_textbox_value = $(this).val();
|
||||
if ($.isNumeric(get_textbox_value)) {
|
||||
calculated_total_sum += parseFloat(get_textbox_value);
|
||||
}
|
||||
});
|
||||
}, false);
|
||||
})();
|
||||
</script>
|
||||
<script type="application/javascript">
|
||||
<?php include 'stripe.php'; ?>
|
||||
</script>
|
||||
|
||||
$('#totalCharge').val(calculated_total_sum)
|
||||
});
|
||||
</script>
|
||||
<script type="application/javascript">
|
||||
<?php include 'stripe.php'; ?>
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user