s3lph
f614fe1afc
fix: improve error handling on database consistency errors (e.g. non-unique ean codes) in the settings feat: handle ean codes in the already open tab via a websocket connection feat: populate ean code input field when a barcode is scanned while in the product settings
122 lines
5.2 KiB
HTML
122 lines
5.2 KiB
HTML
<section id="admin-restricted-newuser">
|
|
<h2>Create New User</h2>
|
|
|
|
<form id="admin-newuser-form" method="post" action="/admin?adminchange=newuser" accept-charset="UTF-8">
|
|
<label for="admin-newuser-username">Username: </label>
|
|
<input id="admin-newuser-username" type="text" name="username" /><br/>
|
|
|
|
<label for="admin-newuser-email">E-Mail (optional): </label>
|
|
<input id="admin-newuser-email" type="text" name="email" /><br/>
|
|
|
|
<label for="admin-newuser-password">Password: </label>
|
|
<input id="admin-newuser-password" type="password" name="password" /><br/>
|
|
|
|
<label for="admin-newuser-ismember">Member: </label>
|
|
<input id="admin-newuser-ismember" type="checkbox" name="ismember" /><br/>
|
|
|
|
<label for="admin-newuser-isadmin">Admin: </label>
|
|
<input id="admin-newuser-isadmin" type="checkbox" name="isadmin" /><br/>
|
|
|
|
<label for="admin-newuser-logout-after-purchase">Logout after purchase: </label>
|
|
<input id="admin-newuser-logout-after-purchase" type="checkbox" name="logout_after_purchase" /><br/>
|
|
|
|
<input type="submit" value="Create User" />
|
|
</form>
|
|
</section>
|
|
|
|
<section id="admin-restricted-moduser">
|
|
<h2>Modify User</h2>
|
|
|
|
<form id="admin-moduser-form" method="get" action="/moduser" accept-charset="UTF-8">
|
|
<label for="admin-moduser-userid">Username: </label>
|
|
<select id="admin-moduser-userid" name="userid">
|
|
{% for user in users %}
|
|
<option value="{{ user.id }}">{{ user.name }}</option>
|
|
{% endfor %}
|
|
</select><br/>
|
|
|
|
<input type="submit" value="Go" />
|
|
</form>
|
|
</section>
|
|
|
|
<section id="admin-restricted-newproduct">
|
|
<h2>Create New Product</h2>
|
|
|
|
<form id="admin-newproduct-form" method="post" action="/admin?adminchange=newproduct" enctype="multipart/form-data" accept-charset="UTF-8">
|
|
<label for="admin-newproduct-name">Name: </label>
|
|
<input id="admin-newproduct-name" type="text" name="name" /><br/>
|
|
|
|
<label for="admin-newproduct-ean">EAN code: </label>
|
|
<input id="admin-newproduct-ean" type="text" name="ean" /><br/>
|
|
|
|
<label for="admin-newproduct-price-member">Member price: </label>
|
|
CHF <input id="admin-newproduct-price-member" type="number" step="0.01" name="pricemember" value="0" /><br/>
|
|
|
|
<label for="admin-newproduct-price-non-member">Non-member price: </label>
|
|
CHF <input id="admin-newproduct-price-non-member" type="number" step="0.01" name="pricenonmember" value="0" /><br/>
|
|
|
|
<label for="admin-custom-price"><abbr title="When 'Custom Price' is enabled, users choose the price to pay, but at least the prices given above">Custom Price</abbr>: </label>
|
|
<input id="admin-custom-price" type="checkbox" name="custom_price" /><br/>
|
|
|
|
<label for="admin-newproduct-stockable">Stockable: </label>
|
|
<input id="admin-newproduct-stockable" type="checkbox" name="stockable" checked="checked" /><br/>
|
|
|
|
<label for="admin-newproduct-image">Image: </label>
|
|
<input id="admin-newproduct-image" name="image" type="file" accept="image/*" /><br/>
|
|
|
|
<input type="submit" value="Create Product" />
|
|
</form>
|
|
</section>
|
|
|
|
<section id="admin-restricted-restock">
|
|
<h2>Restock Product</h2>
|
|
|
|
<form id="admin-restock-form" method="post" action="/admin?adminchange=restock" accept-charset="UTF-8">
|
|
<label for="admin-restock-productid">Product: </label>
|
|
<select id="admin-restock-productid" name="productid">
|
|
{% for product in products %}
|
|
{% if product.stockable %}
|
|
<option value="{{ product.id }}">{{ product.name }} ({{ product.stock }})</option>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</select><br/>
|
|
|
|
<label for="admin-restock-amount">Amount: </label>
|
|
<input id="admin-restock-amount" type="number" min="0" name="amount" /><br/>
|
|
|
|
<input type="submit" value="Restock" />
|
|
</form>
|
|
</section>
|
|
|
|
<section id="admin-restricted-modproduct">
|
|
<h2>Modify Product</h2>
|
|
|
|
<form id="admin-modproduct-form" method="get" action="/modproduct" accept-charset="UTF-8">
|
|
<label for="admin-modproduct-productid">Product: </label>
|
|
<select id="admin-modproduct-productid" name="productid">
|
|
{% for product in products %}
|
|
<option value="{{ product.id }}">{{ product.name }}</option>
|
|
{% endfor %}
|
|
</select><br/>
|
|
|
|
<input type="submit" value="Go">
|
|
</form>
|
|
</section>
|
|
|
|
<section id="admin-restricted-default-images">
|
|
<h2>Set default images</h2>
|
|
|
|
<form id="admin-default-images-form" method="post" action="/admin?adminchange=defaultimg" enctype="multipart/form-data" accept-charset="UTF-8">
|
|
<label for="admin-default-images-user">
|
|
<img src="/static/upload/thumbnails/users/default.png" alt="Default user avatar" />
|
|
</label><br/>
|
|
<input id="admin-default-images-user" type="file" name="users" accept="image/*" /><br/>
|
|
|
|
<label for="admin-default-images-product">
|
|
<img src="/static/upload/thumbnails/products/default.png" alt="Default product avatar" />
|
|
</label><br/>
|
|
<input id="admin-default-images-product" type="file" name="products" accept="image/*" /><br/>
|
|
|
|
<input type="submit" value="Save changes">
|
|
</form>
|
|
</section>
|