4 Commits

Author SHA1 Message Date
tliu93 d24c41d05f Merge pull request 'ui change move image element' (#3) from ui/move_image_element into main
test / pytest (push) Successful in 40s
Reviewed-on: #3
2026-04-27 20:31:27 +02:00
tliu93 4955c87d78 ui change move image element
test / pytest (push) Successful in 41s
2026-04-27 20:31:12 +02:00
tliu93 bfa554b407 Merge pull request 'bug fixed' (#2) from bugfix/sub_item_delete into main
test / pytest (push) Successful in 40s
Reviewed-on: #2
2026-04-27 20:22:36 +02:00
tliu93 e5fee32098 bug fixed
test / pytest (push) Successful in 43s
2026-04-27 20:22:01 +02:00
5 changed files with 32 additions and 23 deletions
+1
View File
@@ -14,3 +14,4 @@ data/*.db
**/.Spotlight-V100
.Trashes
**/.Trashes
.codex
+15 -15
View File
@@ -44,21 +44,6 @@
名称
<input type="text" name="name" value="{{ item.name if item else '' }}" required autofocus>
</label>
<label class="form-field">
数量
<input type="number" name="quantity" min="0" value="{{ item.quantity if item and item.quantity is not none else '1' }}">
</label>
<label class="checkbox-row">
<input type="checkbox" name="is_container" {% if item and item.is_container %}checked{% endif %}>
这个物品本身是一个小容器
</label>
<div class="checkbox-help">
勾选后,这个 Item 将作为“第二层容器”,后续可以继续往里面添加最后一级的 SubItem。
</div>
<label class="form-field">
备注
<textarea name="note" rows="4">{{ item.note if item and item.note else '' }}</textarea>
</label>
<label class="form-field">
图片
<input type="file" name="image_file" accept="image/*">
@@ -77,6 +62,21 @@
</button>
</section>
{% endif %}
<label class="form-field">
数量
<input type="number" name="quantity" min="0" value="{{ item.quantity if item and item.quantity is not none else '1' }}">
</label>
<label class="checkbox-row">
<input type="checkbox" name="is_container" {% if item and item.is_container %}checked{% endif %}>
这个物品本身是一个小容器
</label>
<div class="checkbox-help">
勾选后,这个 Item 将作为“第二层容器”,后续可以继续往里面添加最后一级的 SubItem。
</div>
<label class="form-field">
备注
<textarea name="note" rows="4">{{ item.note if item and item.note else '' }}</textarea>
</label>
<div class="form-actions">
<button type="submit" name="submit_action" value="save" class="button button-primary">{{ submit_label }}</button>
{% if not item %}
+5
View File
@@ -70,6 +70,11 @@
<span>上级容器:{{ item.name }}</span>
</div>
{% if subitem.note %}<p class="row-note">备注:{{ subitem.note }}</p>{% endif %}
<div class="actions">
<form method="post" action="/subitems/{{ subitem.id }}/delete">
<button type="submit" class="button button-danger button-small">删除子物品</button>
</form>
</div>
</div>
</article>
{% endfor %}
+8 -8
View File
@@ -46,14 +46,6 @@
名称
<input type="text" name="name" value="{{ subitem.name if subitem else '' }}" required autofocus>
</label>
<label class="form-field">
数量
<input type="number" name="quantity" min="0" value="{{ subitem.quantity if subitem and subitem.quantity is not none else '1' }}">
</label>
<label class="form-field">
备注
<textarea name="note" rows="4">{{ subitem.note if subitem and subitem.note else '' }}</textarea>
</label>
<label class="form-field">
图片
<input type="file" name="image_file" accept="image/*">
@@ -72,6 +64,14 @@
</button>
</section>
{% endif %}
<label class="form-field">
数量
<input type="number" name="quantity" min="0" value="{{ subitem.quantity if subitem and subitem.quantity is not none else '1' }}">
</label>
<label class="form-field">
备注
<textarea name="note" rows="4">{{ subitem.note if subitem and subitem.note else '' }}</textarea>
</label>
<div class="form-actions">
<button type="submit" name="submit_action" value="save" class="button button-primary">{{ submit_label }}</button>
{% if not subitem %}
+3
View File
@@ -875,6 +875,7 @@ def test_new_item_page_shows_clear_context_and_default_quantity(client, db_sessi
assert "主卧箱" in response.text
assert 'name="quantity"' in response.text
assert 'value="1"' in response.text
assert response.text.index('name="name"') < response.text.index('name="image_file"') < response.text.index('name="quantity"')
assert "这个物品本身是一个小容器" in response.text
assert "保存并添加下一个" in response.text
@@ -893,6 +894,7 @@ def test_new_subitem_page_shows_clear_context_and_default_quantity(client, db_se
assert "文件袋" in response.text
assert 'name="quantity"' in response.text
assert 'value="1"' in response.text
assert response.text.index('name="name"') < response.text.index('name="image_file"') < response.text.index('name="quantity"')
assert "保存并添加下一个" in response.text
@@ -926,6 +928,7 @@ def test_item_detail_page_renders_clear_hierarchy(client, db_session):
assert "书房箱" in response.text
assert "SubItem" in response.text
assert f'data-href="/subitems/{subitem.id}/edit"' in response.text
assert f'action="/subitems/{subitem.id}/delete"' in response.text
assert "overview-grid" in response.text