Skip to content

Commit c7bd04c

Browse files
committed
feat(street): Add numberOfGroups for the street project
1 parent 02e6370 commit c7bd04c

File tree

5 files changed

+25
-3
lines changed

5 files changed

+25
-3
lines changed
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Generated by Django 5.2.5 on 2025-08-19 05:51
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
('project', '0016_rename_stats_type_projectasset_export_type'),
10+
]
11+
12+
operations = [
13+
migrations.AddField(
14+
model_name='projecttaskgroup',
15+
name='number_of_groups',
16+
field=models.IntegerField(default=1),
17+
preserve_default=False,
18+
),
19+
]

apps/project/models.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -497,6 +497,7 @@ class ProjectTaskGroup(FirebasePushResource):
497497
)
498498

499499
number_of_tasks = models.IntegerField()
500+
number_of_groups = models.IntegerField()
500501
required_count = models.IntegerField()
501502

502503
finished_count = models.IntegerField(default=0)

project_types/base/project.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@ def analyze_groups(self):
122122
project_task_groups_qs = ProjectTaskGroup.objects.filter(project_id=self.project.pk)
123123

124124
project_task_groups_qs.update(
125+
number_of_groups=models.Count("id", distinct=True),
125126
number_of_tasks=models.Subquery(
126127
ProjectTask.objects.filter(task_group_id=models.OuterRef("id"))
127128
.values("task_group_id")

project_types/street/project.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,11 +130,11 @@ def create_tasks(
130130

131131
bulk_mgr.add(
132132
ProjectTask(
133-
firebase_id=f"t{f_id}",
133+
firebase_id=f"{f_id}",
134134
task_group_id=group.pk,
135135
geometry=geometry_str,
136136
project_type_specifics=self.project_task_property_class(
137-
task_id=f"t{f_id}",
137+
task_id=f"{f_id}",
138138
group_id=f"g{group.pk}",
139139
geometry=geometry_str,
140140
).model_dump(),
@@ -235,6 +235,7 @@ def get_task_specifics_for_firebase(self, task: ProjectTask):
235235
def get_group_specifics_for_firebase(self, group: ProjectTaskGroup):
236236
return firebase_models.FbMappingGroupStreetCreateOnlyInput(
237237
groupId=group.firebase_id,
238+
numberOfGroups=group.number_of_groups,
238239
)
239240

240241
@typing.override

0 commit comments

Comments
 (0)