Refactor food item nutrition field names for consistency

Standardized field names for nutritional values in FoodItem model and throughout the codebase, changing 'fats_100g' to 'fat_100', 'saturated_fats_100g' to 'saturated_fat_100', and similar updates for other fields. Updated all references in models, templates, routes, and seed data to match the new naming convention for improved clarity and consistency.
This commit is contained in:
2025-06-29 16:36:05 +02:00
parent 0ec930f86d
commit e00bfee948
7 changed files with 62 additions and 62 deletions

4
app.py
View File

@@ -123,9 +123,9 @@ def add_food_item():
energy=form.energy.data, energy=form.energy.data,
protein=form.protein.data, protein=form.protein.data,
carbs=form.carbs.data, carbs=form.carbs.data,
fats=form.fat.data, fat=form.fat.data,
barcode=form.barcode.data, barcode=form.barcode.data,
saturated_fats=form.saturated_fat.data, saturated_fat=form.saturated_fat.data,
sugar=form.sugar.data, sugar=form.sugar.data,
) )
) )

View File

@@ -13,8 +13,8 @@ Food Nutritional Info
<tr> <tr>
<th>Name</th> <th>Name</th>
<th>Energy (kcal)</th> <th>Energy (kcal)</th>
<th>Fats (g)</th> <th>fat (g)</th>
<th>Saturated Fats (g)</th> <th>Saturated fat (g)</th>
<th>Sugars (g)</th> <th>Sugars (g)</th>
<th>Carbs (g)</th> <th>Carbs (g)</th>
<th>Protein (g)</th> <th>Protein (g)</th>
@@ -25,12 +25,12 @@ Food Nutritional Info
{% for food in items %} {% for food in items %}
<tr> <tr>
<td class="bg-body-tertiary">{{ food.name }}</td> <td class="bg-body-tertiary">{{ food.name }}</td>
<td class="bg-body-tertiary">{{ food.energy_100g }}</td> <td class="bg-body-tertiary">{{ food.energy_100 }}</td>
<td class="bg-body-tertiary">{{ food.fats_100g }}</td> <td class="bg-body-tertiary">{{ food.fat_100 }}</td>
<td class="bg-body-tertiary">{{ food.saturated_fats_100g }}</td> <td class="bg-body-tertiary">{{ food.saturated_fat_100 }}</td>
<td class="bg-body-tertiary">{{ food.sugar_100g }}</td> <td class="bg-body-tertiary">{{ food.sugar_100 }}</td>
<td class="bg-body-tertiary">{{ food.carbs_100g }}</td> <td class="bg-body-tertiary">{{ food.carbs_100 }}</td>
<td class="bg-body-tertiary">{{ food.protein_100g }}</td> <td class="bg-body-tertiary">{{ food.protein_100 }}</td>
<td class="bg-body-tertiary"> <td class="bg-body-tertiary">
<form method="POST" action="{{ url_for('admin.delete_food', id=food.id) }}" <form method="POST" action="{{ url_for('admin.delete_food', id=food.id) }}"
onsubmit="return confirm('Are you sure you want to delete this item?');"> onsubmit="return confirm('Are you sure you want to delete this item?');">

View File

@@ -9,30 +9,30 @@
<div class="card-body"> <div class="card-body">
<dl class="row"> <dl class="row">
<dt class="col-sm-5">Energy per 100g</dt> <dt class="col-sm-5">Energy per 100g</dt>
<dd class="col-sm-7">{{ item.energy_100g }} kcal</dd> <dd class="col-sm-7">{{ item.energy_100 }} kcal</dd>
<dt class="col-sm-5">Protein per 100g</dt> <dt class="col-sm-5">Protein per 100g</dt>
<dd class="col-sm-7">{{ "%.1f"|format(item.protein_100g) }} g</dd> <dd class="col-sm-7">{{ "%.1f"|format(item.protein_100) }} g</dd>
<dt class="col-sm-5">Carbohydrates per 100g</dt> <dt class="col-sm-5">Carbohydrates per 100g</dt>
<dd class="col-sm-7">{{ "%.1f"|format(item.carbs_100g) }} g</dd> <dd class="col-sm-7">{{ "%.1f"|format(item.carbs_100) }} g</dd>
<dt class="col-sm-5">Sugar per 100g</dt> <dt class="col-sm-5">Sugar per 100g</dt>
<dd class="col-sm-7"> <dd class="col-sm-7">
{% if item.sugar_100g is not none %} {% if item.sugar_100 is not none %}
{{ "%.1f"|format(item.sugar_100g) }} g {{ "%.1f"|format(item.sugar_100) }} g
{% else %} {% else %}
<span class="text-muted">N/A</span> <span class="text-muted">N/A</span>
{% endif %} {% endif %}
</dd> </dd>
<dt class="col-sm-5">Fats per 100g</dt> <dt class="col-sm-5">fat per 100g</dt>
<dd class="col-sm-7">{{ "%.1f"|format(item.fats_100g) }} g</dd> <dd class="col-sm-7">{{ "%.1f"|format(item.fat_100) }} g</dd>
<dt class="col-sm-5">Saturated fats per 100g</dt> <dt class="col-sm-5">Saturated fat per 100g</dt>
<dd class="col-sm-7"> <dd class="col-sm-7">
{% if item.saturated_fats_100g is not none %} {% if item.saturated_fat_100 is not none %}
{{ "%.1f"|format(item.saturated_fats_100g) }} g {{ "%.1f"|format(item.saturated_fat_100) }} g
{% else %} {% else %}
<span class="text-muted">N/A</span> <span class="text-muted">N/A</span>
{% endif %} {% endif %}

View File

@@ -56,12 +56,12 @@ def edit_food_item(barcode: int):
return redirect(url_for("user.dashboard")) return redirect(url_for("user.dashboard"))
form.barcode.data = item.barcode form.barcode.data = item.barcode
form.name.data = item.name form.name.data = item.name
form.energy.data = item.energy_100g form.energy.data = item.energy_100
form.protein.data = item.protein_100g form.protein.data = item.protein_100
form.carbs.data = item.carbs_100g form.carbs.data = item.carbs_100
form.sugar.data = item.sugar_100g form.sugar.data = item.sugar_100
form.fat.data = item.fats_100g form.fat.data = item.fat_100
form.saturated_fat.data = item.saturated_fats_100g form.saturated_fat.data = item.saturated_fat_100
return render_template("edit_food_item.html", form=form) return render_template("edit_food_item.html", form=form)
else: else:
return redirect(url_for("user.dashboard")) return redirect(url_for("user.dashboard"))

View File

@@ -13,8 +13,8 @@ Food Nutritional Info
<tr> <tr>
<th>Name</th> <th>Name</th>
<th>Energy (kcal)</th> <th>Energy (kcal)</th>
<th>Fats (g)</th> <th>fat (g)</th>
<th>Saturated Fats (g)</th> <th>Saturated fat (g)</th>
<th>Sugars (g)</th> <th>Sugars (g)</th>
<th>Carbs (g)</th> <th>Carbs (g)</th>
<th>Protein (g)</th> <th>Protein (g)</th>
@@ -25,12 +25,12 @@ Food Nutritional Info
{% for food in items %} {% for food in items %}
<tr> <tr>
<td class="bg-body-tertiary">{{ food.name }}</td> <td class="bg-body-tertiary">{{ food.name }}</td>
<td class="bg-body-tertiary">{{ food.energy_100g }}</td> <td class="bg-body-tertiary">{{ food.energy_100 }}</td>
<td class="bg-body-tertiary">{{ food.fats_100g }}</td> <td class="bg-body-tertiary">{{ food.fat_100 }}</td>
<td class="bg-body-tertiary">{{ food.saturated_fats_100g }}</td> <td class="bg-body-tertiary">{{ food.saturated_fat_100 }}</td>
<td class="bg-body-tertiary">{{ food.sugar_100g }}</td> <td class="bg-body-tertiary">{{ food.sugar_100 }}</td>
<td class="bg-body-tertiary">{{ food.carbs_100g }}</td> <td class="bg-body-tertiary">{{ food.carbs_100 }}</td>
<td class="bg-body-tertiary">{{ food.protein_100g }}</td> <td class="bg-body-tertiary">{{ food.protein_100 }}</td>
<td class="bg-body-tertiary"> <td class="bg-body-tertiary">
<div class="d-flex gap-1"> <div class="d-flex gap-1">
<form method="GET" action="{{ url_for('user.edit_food_item', barcode=food.barcode) }}"> <form method="GET" action="{{ url_for('user.edit_food_item', barcode=food.barcode) }}">

View File

@@ -43,12 +43,12 @@ class FoodItem(db.Model):
owner_id = db.Column(db.Integer, db.ForeignKey("user.id"), nullable=False) owner_id = db.Column(db.Integer, db.ForeignKey("user.id"), nullable=False)
name = db.Column(db.String(150), nullable=False) name = db.Column(db.String(150), nullable=False)
energy_100g = db.Column(db.Integer, nullable=False) energy_100 = db.Column(db.Integer, nullable=False)
protein_100g = db.Column(db.Float, nullable=False) protein_100 = db.Column(db.Float, nullable=False)
carbs_100g = db.Column(db.Float, nullable=False) carbs_100 = db.Column(db.Float, nullable=False)
sugar_100g = db.Column(db.Float) sugar_100 = db.Column(db.Float)
fats_100g = db.Column(db.Float, nullable=False) fat_100 = db.Column(db.Float, nullable=False)
saturated_fats_100g = db.Column(db.Float) saturated_fat_100 = db.Column(db.Float)
__table_args__ = ( __table_args__ = (
db.UniqueConstraint("barcode", "owner_id", name="barcode_owner_key"), db.UniqueConstraint("barcode", "owner_id", name="barcode_owner_key"),
@@ -61,29 +61,29 @@ class FoodItem(db.Model):
energy: int, energy: int,
protein: float, protein: float,
carbs: float, carbs: float,
fats: float, fat: float,
barcode: int, barcode: int,
sugar: Optional[float] = None, sugar: Optional[float] = None,
saturated_fats: Optional[float] = None, saturated_fat: Optional[float] = None,
): ):
self.name = name self.name = name
self.owner_id = owner_id self.owner_id = owner_id
self.energy_100g = energy self.energy_100 = energy
self.protein_100g = protein self.protein_100 = protein
self.carbs_100g = carbs self.carbs_100 = carbs
self.sugar_100g = sugar self.sugar_100 = sugar
self.fats_100g = fats self.fat_100 = fat
self.saturated_fats_100g = saturated_fats self.saturated_fat_100 = saturated_fat
self.barcode = barcode self.barcode = barcode
def updateFromForm(self, form: FoodItemForm): def updateFromForm(self, form: FoodItemForm):
self.name = form.name.data self.name = form.name.data
self.energy_100g = form.energy.data self.energy_100 = form.energy.data
self.protein_100g = form.protein.data self.protein_100 = form.protein.data
self.carbs_100g = form.carbs.data self.carbs_100 = form.carbs.data
self.sugar_100g = form.sugar.data self.sugar_100 = form.sugar.data
self.fats_100g = form.fat.data self.fat_100 = form.fat.data
self.saturated_fats_100g = form.saturated_fat.data self.saturated_fat_100 = form.saturated_fat.data
def to_dict(self): def to_dict(self):
return { return {
@@ -91,10 +91,10 @@ class FoodItem(db.Model):
"barcode": self.barcode, "barcode": self.barcode,
"name": self.name, "name": self.name,
"owner_id": self.owner_id, "owner_id": self.owner_id,
"energy_100g": self.energy_100g, "energy_100": self.energy_100,
"protein_100g": self.protein_100g, "protein_100": self.protein_100,
"carbs_100g": self.carbs_100g, "carbs_100": self.carbs_100,
"sugar_100g": self.sugar_100g, "sugar_100": self.sugar_100,
"fats_100g": self.fats_100g, "fat_100": self.fat_100,
"saturated_fats_100g": self.saturated_fats_100g, "saturated_fat_100": self.saturated_fat_100,
} }

View File

@@ -12,10 +12,10 @@ with app.app_context():
name="AH Matcha cookie", name="AH Matcha cookie",
owner_id=1, owner_id=1,
energy=430, energy=430,
fats=19, fat=19,
carbs=59, carbs=59,
protein=5.5, protein=5.5,
saturated_fats=10, saturated_fat=10,
sugar=35, sugar=35,
barcode=2278012003502, barcode=2278012003502,
) )