Skip to content

Commit

Permalink
Add SMS Content Category and Tag Snippets
Browse files Browse the repository at this point in the history
  • Loading branch information
SharleneNdinda committed Sep 13, 2023
1 parent ba156e8 commit 6dafc59
Show file tree
Hide file tree
Showing 14 changed files with 348 additions and 67 deletions.
5 changes: 3 additions & 2 deletions mycarehub/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,16 +43,17 @@ def sms_category(program):
SMSContentItemCategory,
code="001032833390",
name="TYPE 1 DIABETES",
program=program,
sequence_key=1,
programs=[program],
)


@pytest.fixture
def sms_tag():
def sms_tag(program):
return baker.make(
SMSContentItemTag,
name="Lifestyle Education",
programs=[program],
)


Expand Down
20 changes: 19 additions & 1 deletion mycarehub/content/filters.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from mycarehub.common.filters.base_filters import CommonFieldsFilterset
from mycarehub.common.models import ContentSequence
from mycarehub.content.models import ContentItem
from mycarehub.content.models.sms import SMSContentItem, SMSContentItemCategory
from mycarehub.content.models.sms import SMSContentItem, SMSContentItemCategory, SMSContentItemTag

from .models import (
Author,
Expand Down Expand Up @@ -183,6 +183,24 @@ class Meta:
fields = ["name"]


class SMSContentItemCategoryFilterSet(WagtailFilterSet):
def filter_queryset(self, *args, **kwargs):
return self.queryset.filter(organisation=self.request.user.organisation)

class Meta:
model = SMSContentItemCategory
fields = ["name"]


class SMSContentItemTagFilterSet(WagtailFilterSet):
def filter_queryset(self, *args, **kwargs):
return self.queryset.filter(organisation=self.request.user.organisation)

class Meta:
model = SMSContentItemTag
fields = ["name"]


class AuthorFilterSet(WagtailFilterSet):
def filter_queryset(self, *args, **kwargs):
return self.queryset.filter(organisation=self.request.user.organisation)
Expand Down
131 changes: 87 additions & 44 deletions mycarehub/content/migrations/0010_auto_20230912_1035.py
Original file line number Diff line number Diff line change
@@ -1,84 +1,127 @@
# Generated by Django 3.2.20 on 2023-09-12 07:35

from django.db import migrations, models
import uuid

import django.db.models.deletion
import django.utils.timezone
from django.db import migrations, models

import mycarehub.common.models.base_models
import mycarehub.utils.general_utils
import uuid


class Migration(migrations.Migration):

dependencies = [
('common', '0007_alter_auditlog_organisation_and_more'),
('content', '0009_smscontentitem_smsitemcategory_smsitemtag'),
("common", "0007_alter_auditlog_organisation_and_more"),
("content", "0009_smscontentitem_smsitemcategory_smsitemtag"),
]

operations = [
migrations.RemoveField(
model_name='smsitemtag',
name='organisation',
model_name="smsitemtag",
name="organisation",
),
migrations.CreateModel(
name='SMSContentItemTag',
name="SMSContentItemTag",
fields=[
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
('active', models.BooleanField(default=True)),
('created', models.DateTimeField(default=django.utils.timezone.now)),
('created_by', models.UUIDField(blank=True, null=True)),
('updated', models.DateTimeField(default=django.utils.timezone.now)),
('updated_by', models.UUIDField(blank=True, null=True)),
('deleted_at', models.DateTimeField(blank=True, null=True)),
('name', models.CharField(max_length=64)),
('organisation', models.ForeignKey(default=mycarehub.utils.general_utils.default_organisation, on_delete=django.db.models.deletion.PROTECT, related_name='content_smscontentitemtag_related', to='common.organisation')),
(
"id",
models.UUIDField(
default=uuid.uuid4, editable=False, primary_key=True, serialize=False
),
),
("active", models.BooleanField(default=True)),
("created", models.DateTimeField(default=django.utils.timezone.now)),
("created_by", models.UUIDField(blank=True, null=True)),
("updated", models.DateTimeField(default=django.utils.timezone.now)),
("updated_by", models.UUIDField(blank=True, null=True)),
("deleted_at", models.DateTimeField(blank=True, null=True)),
("name", models.CharField(max_length=64)),
(
"organisation",
models.ForeignKey(
default=mycarehub.utils.general_utils.default_organisation,
on_delete=django.db.models.deletion.PROTECT,
related_name="content_smscontentitemtag_related",
to="common.organisation",
),
),
],
options={
'ordering': ('-updated', '-created'),
'abstract': False,
"ordering": ("-updated", "-created"),
"abstract": False,
},
managers=[
('objects', mycarehub.common.models.base_models.AbstractBaseManager()),
("objects", mycarehub.common.models.base_models.AbstractBaseManager()),
],
),
migrations.CreateModel(
name='SMSContentItemCategory',
name="SMSContentItemCategory",
fields=[
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
('active', models.BooleanField(default=True)),
('created', models.DateTimeField(default=django.utils.timezone.now)),
('created_by', models.UUIDField(blank=True, null=True)),
('updated', models.DateTimeField(default=django.utils.timezone.now)),
('updated_by', models.UUIDField(blank=True, null=True)),
('deleted_at', models.DateTimeField(blank=True, null=True)),
('code', models.CharField(max_length=32)),
('name', models.CharField(max_length=64)),
('sequence_key', models.IntegerField(unique=True)),
('organisation', models.ForeignKey(default=mycarehub.utils.general_utils.default_organisation, on_delete=django.db.models.deletion.PROTECT, related_name='content_smscontentitemcategory_related', to='common.organisation')),
('program', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='common.program')),
(
"id",
models.UUIDField(
default=uuid.uuid4, editable=False, primary_key=True, serialize=False
),
),
("active", models.BooleanField(default=True)),
("created", models.DateTimeField(default=django.utils.timezone.now)),
("created_by", models.UUIDField(blank=True, null=True)),
("updated", models.DateTimeField(default=django.utils.timezone.now)),
("updated_by", models.UUIDField(blank=True, null=True)),
("deleted_at", models.DateTimeField(blank=True, null=True)),
("code", models.CharField(max_length=32)),
("name", models.CharField(max_length=64)),
("sequence_key", models.IntegerField(unique=True)),
(
"organisation",
models.ForeignKey(
default=mycarehub.utils.general_utils.default_organisation,
on_delete=django.db.models.deletion.PROTECT,
related_name="content_smscontentitemcategory_related",
to="common.organisation",
),
),
(
"program",
models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.PROTECT,
to="common.program",
),
),
],
options={
'ordering': ('-updated', '-created'),
'abstract': False,
"ordering": ("-updated", "-created"),
"abstract": False,
},
managers=[
('objects', mycarehub.common.models.base_models.AbstractBaseManager()),
("objects", mycarehub.common.models.base_models.AbstractBaseManager()),
],
),
migrations.AlterField(
model_name='smscontentitem',
name='category',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='categories', to='content.smscontentitemcategory'),
model_name="smscontentitem",
name="category",
field=models.ForeignKey(
on_delete=django.db.models.deletion.PROTECT,
related_name="categories",
to="content.smscontentitemcategory",
),
),
migrations.AlterField(
model_name='smscontentitem',
name='tag',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='tags', to='content.smscontentitemtag'),
model_name="smscontentitem",
name="tag",
field=models.ForeignKey(
on_delete=django.db.models.deletion.PROTECT,
related_name="tags",
to="content.smscontentitemtag",
),
),
migrations.DeleteModel(
name='SMSItemCategory',
name="SMSItemCategory",
),
migrations.DeleteModel(
name='SMSItemTag',
name="SMSItemTag",
),
]
40 changes: 40 additions & 0 deletions mycarehub/content/migrations/0011_auto_20230912_1627.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Generated by Django 3.2.20 on 2023-09-12 13:27

import modelcluster.fields
from django.db import migrations


class Migration(migrations.Migration):
dependencies = [
("common", "0007_alter_auditlog_organisation_and_more"),
("content", "0010_auto_20230912_1035"),
]

operations = [
migrations.AlterModelOptions(
name="smscontentitemcategory",
options={"verbose_name_plural": "sms content item categories"},
),
migrations.AlterModelOptions(
name="smscontentitemtag",
options={"verbose_name_plural": "sms content item tags"},
),
migrations.AddField(
model_name="smscontentitemcategory",
name="programs",
field=modelcluster.fields.ParentalManyToManyField(to="common.Program"),
),
migrations.AddField(
model_name="smscontentitemtag",
name="programs",
field=modelcluster.fields.ParentalManyToManyField(to="common.Program"),
),
migrations.AlterUniqueTogether(
name="smscontentitemcategory",
unique_together={("sequence_key", "code")},
),
migrations.RemoveField(
model_name="smscontentitemcategory",
name="program",
),
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Generated by Django 3.2.20 on 2023-09-13 06:35

from django.db import migrations, models


class Migration(migrations.Migration):
dependencies = [
("content", "0011_auto_20230912_1627"),
]

operations = [
migrations.AlterField(
model_name="smscontentitemcategory",
name="sequence_key",
field=models.IntegerField(),
),
]
23 changes: 23 additions & 0 deletions mycarehub/content/migrations/0013_auto_20230913_1642.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Generated by Django 3.2.20 on 2023-09-13 13:42

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('content', '0012_alter_smscontentitemcategory_sequence_key'),
]

operations = [
migrations.AddField(
model_name='smscontentitemtag',
name='code',
field=models.IntegerField(default=1),
preserve_default=False,
),
migrations.AlterUniqueTogether(
name='smscontentitemtag',
unique_together={('name', 'code')},
),
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Generated by Django 3.2.20 on 2023-09-13 13:47

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('content', '0013_auto_20230913_1642'),
]

operations = [
migrations.AlterField(
model_name='smscontentitemcategory',
name='code',
field=models.CharField(max_length=32, unique=True),
),
]
2 changes: 1 addition & 1 deletion mycarehub/content/models/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
ContentItemTagIndexPage,
MediaSerializedField,
)
from .sms import SMSContentItem
from .sms import SMSContentItem, SMSContentItemCategory, SMSContentItemTag
from .snippets import Author, ContentItemCategory

__all__ = [
Expand Down
Loading

0 comments on commit 6dafc59

Please sign in to comment.