Skip to content

Commit c07dc36

Browse files
authored
[MDS-6334] Fix condition category bad request (#3397)
* Change validation to not use static data * Change dump_only from True to False
1 parent b75dc55 commit c07dc36

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

services/core-api/app/api/mines/permits/permit_conditions/models/permit_conditions.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,7 @@ class PermitConditions(SoftDeleteMixin, AuditMixin, Base):
1616
class _ModelSchema(Base._ModelSchema):
1717
permit_condition_id = fields.Integer(dump_only=True)
1818
permit_condition_guid = fields.UUID(dump_only=True)
19-
condition_category_code = FieldTemplate(
20-
field=fields.String, one_of="PermitConditionCategory"
21-
)
19+
condition_category_code = fields.String(dump_only=False)
2220
condition_type_code = FieldTemplate(
2321
field=fields.String, one_of="PermitConditionType"
2422
)

services/core-api/app/api/mines/permits/permit_conditions/resources/permit_conditions_resource.py

+6
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
from app.api.utils.access_decorators import MINESPACE_PROPONENT, VIEW_ALL, requires_role_edit_permit, requires_any_of
1212
from app.api.utils.resources_mixins import UserMixin
1313
from app.api.mines.permits.permit.models.permit import Permit
14+
from app.api.mines.permits.permit_conditions.models.permit_condition_category import PermitConditionCategory
1415
from app.api.mines.mine.models.mine import Mine
1516
from app.api.utils.include.user_info import User
1617

@@ -32,6 +33,9 @@ def post(self, mine_guid, permit_guid, permit_amendment_guid):
3233
try:
3334
permit_condition = PermitConditions._schema().load(request.json['permit_condition'])
3435

36+
if not PermitConditionCategory.find_by_permit_condition_category_code(permit_condition.condition_category_code):
37+
raise BadRequest('condition_category_code is invalid')
38+
3539
if permit_condition.top_level_parent_permit_condition_id is not None:
3640
top_condition = PermitConditions.find_by_permit_condition_id(permit_condition.top_level_parent_permit_condition_id)
3741
top_condition.permit_condition_status_code = 'NST'
@@ -88,6 +92,8 @@ def put(self, mine_guid, permit_guid, permit_amendment_guid, permit_condition_gu
8892
old_display_order = old_condition.display_order
8993
old_category_code = old_condition.condition_category_code
9094
new_category_code = request_data.get("condition_category_code", None)
95+
if not PermitConditionCategory.find_by_permit_condition_category_code(new_category_code):
96+
raise BadRequest('condition_category_code is invalid')
9197
changed_category = old_category_code != new_category_code
9298
new_status_code = request_data.get("permit_condition_status_code",None)
9399
changed_status = old_condition.permit_condition_status_code != new_status_code

0 commit comments

Comments
 (0)