diff --git a/shiftflow/admin.py b/shiftflow/admin.py
index d78645a..0199fcb 100644
--- a/shiftflow/admin.py
+++ b/shiftflow/admin.py
@@ -53,8 +53,11 @@ class ItemAdmin(admin.ModelAdmin):
return obj.task.drawing_name if obj.task else "-"
get_drawing.short_description = 'Деталь'
-# Регистрация станков просто списком
-admin.site.register(Machine)
+@admin.register(Machine)
+class MachineAdmin(admin.ModelAdmin):
+ list_display = ('name', 'machine_type')
+ list_filter = ('machine_type',)
+ search_fields = ('name',)
@admin.register(EmployeeProfile)
class EmployeeProfileAdmin(admin.ModelAdmin):
diff --git a/shiftflow/migrations/0007_machine_machine_type.py b/shiftflow/migrations/0007_machine_machine_type.py
new file mode 100644
index 0000000..fda14c3
--- /dev/null
+++ b/shiftflow/migrations/0007_machine_machine_type.py
@@ -0,0 +1,18 @@
+# Generated by Django 6.0.3 on 2026-03-29 19:24
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('shiftflow', '0006_alter_item_options_alter_item_status'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='machine',
+ name='machine_type',
+ field=models.CharField(choices=[('linear', 'Линейный'), ('sheet', 'Листовой')], default='linear', max_length=10, verbose_name='Тип станка'),
+ ),
+ ]
diff --git a/shiftflow/models.py b/shiftflow/models.py
index 9971bb4..2eabeeb 100644
--- a/shiftflow/models.py
+++ b/shiftflow/models.py
@@ -20,9 +20,18 @@ class Machine(models.Model):
Список производственных участков (станков).
Используется для фильтрации сменных заданий для конкретных операторов.
"""
+
+ MACHINE_TYPE_CHOICES = [
+ ('linear', 'Линейный'),
+ ('sheet', 'Листовой'),
+ ]
+
name = models.CharField("Название станка", max_length=100)
+ machine_type = models.CharField("Тип станка", max_length=10, choices=MACHINE_TYPE_CHOICES, default='linear')
- def __str__(self): return self.name
+ def __str__(self):
+ return self.name
+
class Meta:
verbose_name = "Станок"; verbose_name_plural = "Станки"
diff --git a/shiftflow/templates/shiftflow/partials/_filter.html b/shiftflow/templates/shiftflow/partials/_filter.html
index 1473704..e31caf0 100644
--- a/shiftflow/templates/shiftflow/partials/_filter.html
+++ b/shiftflow/templates/shiftflow/partials/_filter.html
@@ -43,9 +43,9 @@
{% if user_role in 'admin,technologist,clerk' %}
-
+
-
{% endif %}
-