Skip to content

Commit

Permalink
fix: add title,description and attachment fields to weekly program up…
Browse files Browse the repository at this point in the history
…dates
  • Loading branch information
saladgg committed Oct 6, 2021
1 parent d87bf54 commit 9e9a6d7
Show file tree
Hide file tree
Showing 8 changed files with 91 additions and 16 deletions.
2 changes: 2 additions & 0 deletions fahari/ops/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,8 @@ class WeeklyProgramUpdateAdmin(BaseAdmin):

list_display = (
"facility",
"title",
"description",
"operation_area",
"assigned_persons",
"status",
Expand Down
5 changes: 4 additions & 1 deletion fahari/ops/filters.py
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,10 @@ class WeeklyProgramUpdateFilter(CommonFieldsFilterset):
class Meta:

model = WeeklyProgramUpdate
exclude = ("assigned_persons",)
exclude = (
"attachment",
"assigned_persons",
)


class WeeklyProgramUpdateCommentsFilter(CommonFieldsFilterset):
Expand Down
7 changes: 5 additions & 2 deletions fahari/ops/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -311,10 +311,13 @@ class Meta(BaseModelForm.Meta):
class WeeklyProgramUpdateForm(GetAllottedFacilitiesMixin, BaseModelForm):
field_order = (
"facility",
"title",
"description",
"operation_area",
"date_created",
"status",
"assigned_persons",
"attachment",
"status",
"date_created",
"active",
)

Expand Down
38 changes: 38 additions & 0 deletions fahari/ops/migrations/0029_auto_20211006_1042.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Generated by Django 3.2.7 on 2021-10-06 07:42

from django.db import migrations, models
import fahari.common.models.utils


class Migration(migrations.Migration):

dependencies = [
('ops', '0028_auto_20210922_1534'),
]

operations = [
migrations.AddField(
model_name='weeklyprogramupdate',
name='attachment',
field=models.FileField(blank=True, null=True, upload_to=fahari.common.models.utils.get_directory, verbose_name='Attach File or Photo'),
),
migrations.AddField(
model_name='weeklyprogramupdate',
name='description',
field=models.TextField(default='-', verbose_name='Task description'),
),
migrations.AddField(
model_name='weeklyprogramupdate',
name='title',
field=models.CharField(default='Program title', max_length=200, verbose_name='Task title'),
),
migrations.AlterField(
model_name='weeklyprogramupdate',
name='operation_area',
field=models.CharField(choices=[('admin', 'Administration'), ('finance', 'Finance'), ('awarding', 'Awarding'), ('subgranting', 'Subgranting'), ('sii', 'Strategic Information System'), ('program', 'Program')], default='program', help_text='Task Operation Area', max_length=20),
),
migrations.AlterUniqueTogether(
name='weeklyprogramupdate',
unique_together=set(),
),
]
23 changes: 23 additions & 0 deletions fahari/ops/migrations/0030_auto_20211006_1101.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Generated by Django 3.2.7 on 2021-10-06 08:01

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('ops', '0029_auto_20211006_1042'),
]

operations = [
migrations.AlterField(
model_name='weeklyprogramupdate',
name='operation_area',
field=models.CharField(choices=[('admin', 'Administration'), ('finance', 'Finance'), ('awarding', 'Awarding'), ('subgranting', 'Subgranting'), ('sii', 'Strategic Information System'), ('program', 'Program')], default='program', help_text='Task Area of Operation', max_length=20),
),
migrations.AlterField(
model_name='weeklyprogramupdate',
name='status',
field=models.CharField(choices=[('in_progress', 'In progress'), ('complete', 'Complete')], default='in_progress', help_text='Task status', max_length=20),
),
]
16 changes: 8 additions & 8 deletions fahari/ops/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -590,18 +590,23 @@ class TaskStatus(models.TextChoices):
COMPLETE = "complete", "Complete"

facility = models.ForeignKey(Facility, on_delete=models.PROTECT, null=True, blank=False)
title = models.CharField(max_length=200, verbose_name="Task title", default="Program title")
description = models.TextField(default="-", verbose_name="Task description")
attachment = models.FileField(
upload_to=get_directory, verbose_name="Attach File or Photo", null=True, blank=True
)

operation_area = models.CharField(
max_length=20,
choices=OperationGroup.choices,
default=OperationGroup.PROGRAM.value,
help_text="Operation area",
help_text="Task Area of Operation",
)
status = models.CharField(
max_length=20,
choices=TaskStatus.choices,
default=TaskStatus.IN_PROGRESS.value,
help_text="Status",
help_text="Task status",
)

assigned_persons = ArrayField(
Expand All @@ -613,7 +618,7 @@ class TaskStatus(models.TextChoices):
date_created = models.DateTimeField(default=timezone.now)

def __str__(self) -> str:
return f"Weekly update: {self.date_created}, assigned persons {self.assigned_persons}"
return f"Weekly update: {self.title}, assigned persons {self.assigned_persons}"

def get_absolute_url(self):
update_url = reverse_lazy("ops:weekly_program_updates_update", kwargs={"pk": self.pk})
Expand All @@ -625,11 +630,6 @@ class Meta:
"operation_area",
"status",
)
unique_together = (
"facility",
"operation_area",
"date_created",
)


class WeeklyProgramUpdateComment(AbstractBase):
Expand Down
10 changes: 5 additions & 5 deletions fahari/ops/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,20 +93,20 @@ class Meta(BaseSerializer.Meta):
fields = "__all__"


class WeeklyProgramUpdateCommentSerializer(BaseSerializer):
class WeeklyProgramUpdateSerializer(BaseSerializer):
facility_name = serializers.ReadOnlyField(source="facility.name")
date_created = serializers.DateTimeField(format="%d/%m/%Y", required=False)

class Meta(BaseSerializer.Meta):
model = WeeklyProgramUpdateComment
model = WeeklyProgramUpdate
fields = "__all__"


class WeeklyProgramUpdateSerializer(BaseSerializer):
facility_name = serializers.ReadOnlyField(source="facility.name")
class WeeklyProgramUpdateCommentSerializer(BaseSerializer):
date_created = serializers.DateTimeField(format="%d/%m/%Y", required=False)

class Meta(BaseSerializer.Meta):
model = WeeklyProgramUpdate
model = WeeklyProgramUpdateComment
fields = "__all__"


Expand Down
6 changes: 6 additions & 0 deletions fahari/ops/tests/test_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -1194,6 +1194,9 @@ def test_create(self):
data = {
"organisation": self.global_organisation.pk,
"facility": self.facility.pk,
"title": fake.text(max_nb_chars=50),
"description": fake.text(),
"attachment": fake.file_name(),
"operation_area": WeeklyProgramUpdate.OperationGroup.ADMIN.value,
"status": WeeklyProgramUpdate.TaskStatus.IN_PROGRESS.value,
"assigned_persons": json.dumps([fake.name(), fake.name()]),
Expand All @@ -1215,6 +1218,9 @@ def test_update(self):
data = {
"organisation": self.global_organisation.pk,
"facility": self.facility.pk,
"title": fake.text(max_nb_chars=50),
"description": fake.text(),
"attachment": fake.file_name(),
"operation_area": WeeklyProgramUpdate.OperationGroup.ADMIN.value,
"status": WeeklyProgramUpdate.TaskStatus.IN_PROGRESS.value,
"assigned_persons": json.dumps([fake.name(), fake.name()]),
Expand Down

0 comments on commit 9e9a6d7

Please sign in to comment.