forked from Hay1tsme/artemis
frontend: arcade management rework
This commit is contained in:
@ -2,18 +2,104 @@
|
||||
{% block content %}
|
||||
{% if arcade is defined %}
|
||||
<h1>{{ arcade.name }}</h1>
|
||||
<h2>PCBs assigned to this arcade <button class="btn btn-success" id="btn_add_cab" onclick="toggle_add_cab_form()">Add</button></h2>
|
||||
<h2>Assigned Machines</h2>
|
||||
{% if success is defined and success == 3 %}
|
||||
<div style="background-color: #00AA00; padding: 20px; margin-bottom: 10px; width: 15%;">
|
||||
Cab added successfully
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if success is defined and success == 1 %}
|
||||
<div style="background-color: #00AA00; padding: 20px; margin-bottom: 10px; width: 15%;">
|
||||
Info Updated
|
||||
</div>
|
||||
{% endif %}
|
||||
{% include "core/templates/widgets/err_banner.jinja" %}
|
||||
<ul style="font-size: 20px;">
|
||||
{% for c in arcade.cabs %}
|
||||
<li><a href="/cab/{{ c.id }}">{{ c.serial }}</a> ({{ c.game if c.game else "Any" }}) <button class="btn btn-secondary" onclick="prep_edit_form()">Edit</button> <button class="btn-danger btn">Delete</button></li>
|
||||
{% for c in cablst %}
|
||||
<li><a href="/cab/{{ c.id }}">{{ c.serial }}</a> ({{ c.game if c.game else "Any" }})</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
Info
|
||||
<form style="max-width: 50%;" action="/shop/{{ arcade.id }}/info.update" method="post" id="shop_info">
|
||||
<div class="row">
|
||||
<div class="col mb-3">
|
||||
<label for="name" class="form-label">Name</label>
|
||||
<input type="text" class="form-control" id="name" name="name" maxlength="255" value="{{ arcade.name if arcade.name is not none else "" }}">
|
||||
</div>
|
||||
<div class="col mb-3">
|
||||
<label for="nickname" class="form-label">Nickname</label>
|
||||
<input type="text" class="form-control" id="nickname" name="nickname" maxlength="255" value="{{ arcade.nickname if arcade.nickname is not none else "" }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col mb-3">
|
||||
<label for="country" class="form-label">Country</label>
|
||||
<select id="country" name="country" class="form-select bg-dark text-white">
|
||||
<option value="JPN" {{ 'selected' if arcade.country == 'JPN' else ''}}>Japan</option>
|
||||
<option value="USA" {{ 'selected' if arcade.country == 'USA' else ''}}>USA</option>
|
||||
<option value="HKG" {{ 'selected' if arcade.country == 'HKG' else ''}}>Hong Kong</option>
|
||||
<option value="SGP" {{ 'selected' if arcade.country == 'SGP' else ''}}>Singapore</option>
|
||||
<option value="KOR" {{ 'selected' if arcade.country == 'KOR' else ''}}>South Korea</option>
|
||||
<option value="TWN" {{ 'selected' if arcade.country == 'TWN' else ''}}>Taiwan</option>
|
||||
<option value="CHN" {{ 'selected' if arcade.country == 'CHN' else ''}}>China</option>
|
||||
<option value="AUS" {{ 'selected' if arcade.country == 'AUS' else ''}}>Australia</option>
|
||||
<option value="IDN" {{ 'selected' if arcade.country == 'IDN' else ''}}>Indonesia</option>
|
||||
<option value="MMR" {{ 'selected' if arcade.country == 'MMR' else ''}}>Myanmar</option>
|
||||
<option value="MYS" {{ 'selected' if arcade.country == 'MYS' else ''}}>Malaysia</option>
|
||||
<option value="NZL" {{ 'selected' if arcade.country == 'NZL' else ''}}>New Zealand</option>
|
||||
<option value="PHL" {{ 'selected' if arcade.country == 'PHL' else ''}}>Philippines</option>
|
||||
<option value="THA" {{ 'selected' if arcade.country == 'THA' else ''}}>Thailand</option>
|
||||
<option value="VNM" {{ 'selected' if arcade.country == 'VNM' else ''}}>Vietnam</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col mb-3">
|
||||
<label for="region1" class="form-label">Region 1</label>
|
||||
<input type="text" class="form-control" id="region1" name="region1" maxlength="255" value="{{ arcade.state if arcade.state is not none else "" }}">
|
||||
</div>
|
||||
<div class="col mb-3">
|
||||
<label for="region2" class="form-label">Region 2</label>
|
||||
<input type="text" class="form-control" id="region2" name="region2" maxlength="255" value="{{ arcade.city if arcade.city is not none else "" }}">
|
||||
</div>
|
||||
<div class="col mb-3">
|
||||
<label for="tz" class="form-label">Timezone</label>
|
||||
<input type="text" class="form-control" id="tz" name="tz" placeholder="+09:00" maxlength="255" value="{{ arcade.timezone if arcade.timezone is not none else "" }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col mb-3">
|
||||
<label for="ip" class="form-label">VPN IP</label>
|
||||
<input type="text" class="form-control" id="ip" name="ip" maxlength="39" value="{{ arcade.ip if arcade.ip is not none else "" }}">
|
||||
</div>
|
||||
</div>
|
||||
{% if can_edit %}
|
||||
<div class="row">
|
||||
<div class="col mb-3">
|
||||
<input type="submit" value="Update" class="btn btn-primary">
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</form>
|
||||
{% if is_owner or is_acmod %}
|
||||
<br>
|
||||
<h2>Arcade Managers <button type="button" class="btn btn-success">Add</button></h2>
|
||||
<ul style="font-size: 20px;">
|
||||
{% for u in managers %}
|
||||
<li>{{ u.name }}:
|
||||
<label for="is_view_{{ u.user }}" class="form-label">View Arcade</label>
|
||||
<input type="checkbox" class="form-control-check" id="is_view_{{ u.user }}" name="is_view" {{ 'checked' if u.is_view else ''}}> |
|
||||
<label for="is_bookkeep_{{ u.user }}" class="form-label">View Bookkeeping</label>
|
||||
<input type="checkbox" class="form-control-check" id="is_bookkeep_{{ u.user }}" name="is_bookkeep" {{ 'checked' if u.is_bookkeep else ''}}> |
|
||||
<label for="is_edit_{{ u.user }}" class="form-label">Edit Arcade</label>
|
||||
<input type="checkbox" class="form-control-check" id="is_edit_{{ u.user }}" name="is_edit" {{ 'checked' if u.is_edit else ''}}> |
|
||||
<label for="is_owner_{{ u.user }}" class="form-label">Owner</label>
|
||||
<input type="checkbox" class="form-control-check" id="is_owner_{{ u.user }}" name="is_owner" {{ 'checked' if u.is_owner else ''}}> |
|
||||
<button type="submit" class="btn btn-primary">Update</button>
|
||||
<button type="button" class="btn btn-danger">Delete</button>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<h3>Arcade Not Found</h3>
|
||||
{% endif %}
|
||||
{% endblock content %}
|
||||
{% endblock content %}
|
||||
|
@ -1,4 +1,113 @@
|
||||
{% extends "core/templates/index.jinja" %}
|
||||
{% block content %}
|
||||
<h1>Machine Management</h1>
|
||||
{% endblock content %}
|
||||
<script type="text/javascript">
|
||||
function swap_ota() {
|
||||
let is_cab = document.getElementById("is_cab").checked;
|
||||
let cbx_ota = document.getElementById("is_ota");
|
||||
|
||||
cbx_ota.disabled = !is_cab;
|
||||
|
||||
if (cbx_ota.disabled) {
|
||||
cbx_ota.checked = false;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<h1>Machine: {{machine.serial}}</h1>
|
||||
<h3>Arcade: <a href=/shop/{{ arcade.id }}>{{ arcade.name }}</a>{% if is_acmod %} <button class="btn btn-danger" data-bs-toggle="modal" data-bs-target="#reassign_modal">Reassign</button>{% endif %}</h3>
|
||||
{% include "core/templates/widgets/err_banner.jinja" %}
|
||||
{% if success is defined and success == 1 %}
|
||||
<div style="background-color: #00AA00; padding: 20px; margin-bottom: 10px; width: 15%;">
|
||||
Info Updated
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if success is defined and success == 2 %}
|
||||
<div style="background-color: #00AA00; padding: 20px; margin-bottom: 10px; width: 15%;">
|
||||
Machine successfully reassigned
|
||||
</div>
|
||||
{% endif %}
|
||||
Info
|
||||
<form style="max-width: 50%;" action="/cab/{{ machine.id }}/info.update" method="post" id="mech_info">
|
||||
<div class="row">
|
||||
<div class="col mb-3">
|
||||
<label for="game" class="form-label">Game</label>
|
||||
<input type="text" class="form-control" id="game" name="game" placeholder="SXXX" maxlength="4" value="{{ machine.game if machine.game is not none else "" }}">
|
||||
</div>
|
||||
<div class="col mb-3">
|
||||
<label for="country" class="form-label">Country Override</label>
|
||||
<select id="country" name="country" class="form-select bg-dark text-white">
|
||||
<option value="" {{ 'selected' if machine.country is none else ''}}>Same As Arcade</option>
|
||||
<option value="JPN" {{ 'selected' if machine.country == 'JPN' else ''}}>Japan</option>
|
||||
<option value="USA" {{ 'selected' if machine.country == 'USA' else ''}}>USA</option>
|
||||
<option value="HKG" {{ 'selected' if machine.country == 'HKG' else ''}}>Hong Kong</option>
|
||||
<option value="SGP" {{ 'selected' if machine.country == 'SGP' else ''}}>Singapore</option>
|
||||
<option value="KOR" {{ 'selected' if machine.country == 'KOR' else ''}}>South Korea</option>
|
||||
<option value="TWN" {{ 'selected' if machine.country == 'TWN' else ''}}>Taiwan</option>
|
||||
<option value="CHN" {{ 'selected' if machine.country == 'CHN' else ''}}>China</option>
|
||||
<option value="AUS" {{ 'selected' if machine.country == 'AUS' else ''}}>Australia</option>
|
||||
<option value="IDN" {{ 'selected' if machine.country == 'IDN' else ''}}>Indonesia</option>
|
||||
<option value="MMR" {{ 'selected' if machine.country == 'MMR' else ''}}>Myanmar</option>
|
||||
<option value="MYS" {{ 'selected' if machine.country == 'MYS' else ''}}>Malaysia</option>
|
||||
<option value="NZL" {{ 'selected' if machine.country == 'NZL' else ''}}>New Zealand</option>
|
||||
<option value="PHL" {{ 'selected' if machine.country == 'PHL' else ''}}>Philippines</option>
|
||||
<option value="THA" {{ 'selected' if machine.country == 'THA' else ''}}>Thailand</option>
|
||||
<option value="VNM" {{ 'selected' if machine.country == 'VNM' else ''}}>Vietnam</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col mb-3">
|
||||
<label for="tz" class="form-label">Timezone Override</label>
|
||||
<input type="text" class="form-control" id="tz" name="tz" placeholder="+09:00" maxlength="6" value="{{ machine.timezone if machine.timezone is not none else "" }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col mb-3">
|
||||
<input type="checkbox" class="form-control-check" id="is_cab" name="is_cab" {{ 'checked' if machine.is_cab else ''}} onchange="swap_ota()">
|
||||
<label for="is_cab" class="form-label">Real Cabinet</label>
|
||||
</div>
|
||||
<div class="col mb-3">
|
||||
<input type="checkbox" class="form-control-check" id="is_ota" name="is_ota" {{ 'checked' if machine.ota_enable else ''}}>
|
||||
<label for="is_ota" class="form-label">Allow OTA updates</label>
|
||||
</div>
|
||||
<div class="col mb-3">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col mb-3">
|
||||
<label for="memo" class="form-label">Memo</label>
|
||||
<input type="text" class="form-control" id="memo" name="memo" maxlength="255" value="{{ machine.memo if machine.memo is not none else "" }}">
|
||||
</div>
|
||||
</div>
|
||||
{% if can_edit %}
|
||||
<div class="row">
|
||||
<div class="col mb-3">
|
||||
<input type="submit" value="Update" class="btn btn-primary">
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</form>
|
||||
{% if is_acmod %}
|
||||
<form id="frm_reassign" method="post" action="/cab/{{ machine.id }}/reassign" style="outline: 0px;">
|
||||
<div class="modal" tabindex="-1" id="reassign_modal">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Reassign {{ machine.serial }}</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>This will reassign this cabinet from the current arcade "{{ arcade.name }}" to the arcade who's ID you enter below.</p>
|
||||
<label for="new_arcade" class="form-label">New Arcade</label>
|
||||
<input type="text" class="form-control" id="new_arcade" name="new_arcade" value="{{ arcade.id }}">
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
|
||||
<button type="submit" class="btn btn-primary">Save changes</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
{% endif %}
|
||||
<script type="text/javascript">
|
||||
swap_ota();
|
||||
</script>
|
||||
{% endblock content %}
|
||||
|
@ -137,6 +137,11 @@
|
||||
<input type="text" class="form-control" id="shopIp" name="shopIp">
|
||||
</div>
|
||||
<br />
|
||||
<div class="form-group">
|
||||
<label for="shopOwner">Owner User ID</label>
|
||||
<input type="text" class="form-control" id="shopOwner" name="shopOwner">
|
||||
</div>
|
||||
<br />
|
||||
<button type="submit" class="btn btn-primary">Add</button>
|
||||
</form>
|
||||
</div>
|
||||
|
@ -159,19 +159,10 @@ Update successful
|
||||
</form>
|
||||
|
||||
{% if arcades is defined and arcades|length > 0 %}
|
||||
<h2>Arcades</h2>
|
||||
<h2>Arcades you manage</h2>
|
||||
<ul>
|
||||
{% for a in arcades %}
|
||||
<li><h3>{{ a.name }}</h3>
|
||||
{% if a.machines|length > 0 %}
|
||||
<table>
|
||||
<tr><th>Serial</th><th>Game</th><th>Last Seen</th></tr>
|
||||
{% for m in a.machines %}
|
||||
<tr><td>{{ m.serial }}</td><td>{{ m.game }}</td><td>{{ m.last_seen }}</td></tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% endif %}
|
||||
</li>
|
||||
<li><h3><a href=/shop/{{a.id}}>{{ a.name }}</a></h3></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
@ -27,6 +27,10 @@ Access Denied
|
||||
Card already registered
|
||||
{% elif error == 13 %}
|
||||
AmusementIC Access Codes beginning with 5 must have IDm
|
||||
{% elif error == 14 %}
|
||||
Arcade does not exist
|
||||
{% elif error == 15 %}
|
||||
Some info failed to update
|
||||
{% else %}
|
||||
An unknown error occoured
|
||||
{% endif %}
|
||||
|
Reference in New Issue
Block a user