Release 6 (devel -> main) #26

Merged
ChaoticByte merged 6 commits from devel into main 2022-05-26 17:34:20 +00:00
6 changed files with 11 additions and 10 deletions
Showing only changes of commit ec7672816a - Show all commits

View file

@ -66,7 +66,7 @@ class CustomDrinkAdmin(admin.ModelAdmin):
model = Drink model = Drink
form = CustomDrinkForm form = CustomDrinkForm
list_display = ["product_name", "content_litres", "price", "available", "binary_availability", "deleted"] list_display = ["product_name", "content_litres", "price", "available", "do_not_count", "deleted"]
adminSite.register(Drink, CustomDrinkAdmin) adminSite.register(Drink, CustomDrinkAdmin)

View file

@ -26,7 +26,7 @@ class CustomDrinkForm(forms.ModelForm):
class Meta: class Meta:
model = Drink model = Drink
fields = ("product_name", "content_litres", "price", "binary_availability", "available", "deleted") fields = ("product_name", "content_litres", "price", "do_not_count", "available", "deleted")
class CustomRegisterTransactionForm(forms.ModelForm): class CustomRegisterTransactionForm(forms.ModelForm):

View file

@ -41,10 +41,11 @@ class Drink(models.Model):
available = models.PositiveIntegerField(default=0) available = models.PositiveIntegerField(default=0)
deleted = models.BooleanField(default=False) deleted = models.BooleanField(default=False)
# when the following field is true: # when the following field is true, the amount of drinks will
# not change and will not be displayed.
# available > 0 -> there is a indefinetly amount of drinks left # available > 0 -> there is a indefinetly amount of drinks left
# available < 1 -> there are no drinks left # available < 1 -> there are no drinks left
binary_availability = models.BooleanField(default=False) do_not_count = models.BooleanField(default=False)
def delete(self, *args, **kwargs): def delete(self, *args, **kwargs):
self.deleted = True self.deleted = True
@ -123,7 +124,7 @@ class Order(models.Model):
def save(self, *args, **kwargs): def save(self, *args, **kwargs):
drink = Drink.objects.get(pk=self.drink.pk) drink = Drink.objects.get(pk=self.drink.pk)
if self._state.adding and drink.available > 0: if self._state.adding and drink.available > 0:
if not drink.binary_availability: if not drink.do_not_count:
drink.available -= self.amount drink.available -= self.amount
drink.save() drink.save()
self.product_name = drink.product_name self.product_name = drink.product_name
@ -139,7 +140,7 @@ class Order(models.Model):
self.user.balance += self.price_sum self.user.balance += self.price_sum
self.user.save() self.user.save()
drink = Drink.objects.get(pk=self.drink.pk) drink = Drink.objects.get(pk=self.drink.pk)
if not drink.binary_availability: if not drink.do_not_count:
drink.available += self.amount drink.available += self.amount
drink.save() drink.save()
super().delete(*args, **kwargs) super().delete(*args, **kwargs)

View file

@ -20,7 +20,7 @@
<ul class="availableDrinksList"> <ul class="availableDrinksList">
{% for drink in available_drinks %} {% for drink in available_drinks %}
{% if drink.binary_availability %} {% if drink.do_not_count %}
<li> <li>
<a class="button" href="/order/{{ drink.id }}"> <a class="button" href="/order/{{ drink.id }}">
<span>{{ drink }}</span> <span>{{ drink }}</span>

View file

@ -35,7 +35,7 @@
<div class="column" id="pricePerDrink" data-drink-price="{% localize off %}{{ drink.price }}{% endlocalize %}">{{ drink.price }}</div> <div class="column" id="pricePerDrink" data-drink-price="{% localize off %}{{ drink.price }}{% endlocalize %}">{{ drink.price }}</div>
</div> </div>
{% if not drink.binary_availability %} {% if not drink.do_not_count %}
<div class="row"> <div class="row">
<div class="column">{% translate "Available" %}:</div> <div class="column">{% translate "Available" %}:</div>
<div class="column">{{ drink.available }}</div> <div class="column">{{ drink.available }}</div>
@ -47,7 +47,7 @@
<div class="column"> <div class="column">
<span class="customNumberInput"> <span class="customNumberInput">
<button type="button" class="customNumberInput-minus" id="numberOfDrinksBtnA">-</button> <button type="button" class="customNumberInput-minus" id="numberOfDrinksBtnA">-</button>
{% if drink.binary_availability %} {% if drink.do_not_count %}
<input type="number" class="customNumberInputField" name="numberOfDrinks" id="numberOfDrinks" <input type="number" class="customNumberInputField" name="numberOfDrinks" id="numberOfDrinks"
min="1" max="100" value="1"> min="1" max="100" value="1">
{% else %} {% else %}

View file

@ -126,7 +126,7 @@ def api_order_drink(request):
drink = Drink.objects.get(pk=drinkID) drink = Drink.objects.get(pk=drinkID)
if ((drink.binary_availability and drink.available > 0) or (drink.available >= amount)) and not drink.deleted: if ((drink.do_not_count and drink.available > 0) or (drink.available >= amount)) and not drink.deleted:
Order.objects.create(drink=drink, user=user, amount=amount) Order.objects.create(drink=drink, user=user, amount=amount)
return HttpResponse("success", status=200) return HttpResponse("success", status=200)
else: else: