Add default showcase selection per warehouse

- Add is_default field to Showcase model with unique constraint per warehouse
- Implement Showcase.save() to ensure only one default per warehouse
- Add SetDefaultShowcaseView for AJAX-based default selection
- Update ShowcaseForm to include is_default checkbox
- Add interactive checkbox UI in showcase list with AJAX functionality
- Update POS API to return showcase.is_default instead of warehouse.is_default
- Update terminal.js to auto-select showcase based on its is_default flag
- Add migration for is_default field

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-20 11:40:08 +03:00
parent 766ca3c87c
commit dd184265ee
9 changed files with 253 additions and 15 deletions

View File

@@ -85,7 +85,7 @@
</div>
<!-- Is Active -->
<div class="mb-4">
<div class="mb-3">
<div class="form-check">
{{ form.is_active }}
<label class="form-check-label" for="{{ form.is_active.id_for_label }}">
@@ -102,6 +102,24 @@
{% endif %}
</div>
<!-- Is Default -->
<div class="mb-4">
<div class="form-check">
{{ form.is_default }}
<label class="form-check-label" for="{{ form.is_default.id_for_label }}">
{{ form.is_default.label }}
</label>
{% if form.is_default.help_text %}
<div><small class="form-text text-muted">{{ form.is_default.help_text }}</small></div>
{% endif %}
</div>
{% if form.is_default.errors %}
<div class="invalid-feedback d-block">
{{ form.is_default.errors }}
</div>
{% endif %}
</div>
<!-- Buttons -->
<div class="d-flex gap-2">
<button type="submit" class="btn btn-primary">