From 4a3eb8836512b978d5d2d6890d5cc7925c18618c Mon Sep 17 00:00:00 2001 From: Olivier Leger Date: Thu, 17 Feb 2022 17:50:32 -0500 Subject: [PATCH 01/14] Update attachments list when an Instance object is saved --- ...021_add_replaced_at_field_to_attachment.py | 20 ++++++++ onadata/apps/logger/models/attachment.py | 1 + onadata/apps/logger/xform_instance_parser.py | 49 +++++++++++++++++-- onadata/apps/viewer/models/parsed_instance.py | 2 +- onadata/libs/utils/logger_tools.py | 47 ++++++++++++++++++ 5 files changed, 114 insertions(+), 5 deletions(-) create mode 100644 onadata/apps/logger/migrations/0021_add_replaced_at_field_to_attachment.py diff --git a/onadata/apps/logger/migrations/0021_add_replaced_at_field_to_attachment.py b/onadata/apps/logger/migrations/0021_add_replaced_at_field_to_attachment.py new file mode 100644 index 000000000..c97c3bdb2 --- /dev/null +++ b/onadata/apps/logger/migrations/0021_add_replaced_at_field_to_attachment.py @@ -0,0 +1,20 @@ +# Generated by Django 2.2.14 on 2022-02-17 22:15 + +from django.conf import settings +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('logger', '0020_submission_counter_timestamp_as_date'), + ] + + operations = [ + migrations.AddField( + model_name='attachment', + name='replaced_at', + field=models.DateTimeField(blank=True, null=True), + ), + ] diff --git a/onadata/apps/logger/models/attachment.py b/onadata/apps/logger/models/attachment.py index 4a50d3c4f..c17b16cc5 100644 --- a/onadata/apps/logger/models/attachment.py +++ b/onadata/apps/logger/models/attachment.py @@ -40,6 +40,7 @@ class Attachment(models.Model): media_file_size = models.PositiveIntegerField(blank=True, null=True) mimetype = models.CharField( max_length=100, null=False, blank=True, default='') + replaced_at = models.DateTimeField(blank=True, null=True) class Meta: app_label = 'logger' diff --git a/onadata/apps/logger/xform_instance_parser.py b/onadata/apps/logger/xform_instance_parser.py index 46abccf88..71fdae66e 100644 --- a/onadata/apps/logger/xform_instance_parser.py +++ b/onadata/apps/logger/xform_instance_parser.py @@ -2,13 +2,13 @@ import logging import re import sys +from xml.dom import minidom, Node import dateutil.parser import six from django.utils.encoding import smart_str from django.utils.translation import ugettext as _ from django.utils.six import text_type -from xml.dom import minidom, Node from onadata.libs.utils.common_tags import XFORM_ID_STRING @@ -119,14 +119,14 @@ def get_deprecated_uuid_from_xml(xml): return None -def clean_and_parse_xml(xml_string): +def clean_and_parse_xml(xml_string: str) -> minidom.Node: clean_xml_str = xml_string.strip() - clean_xml_str = re.sub(r">\s+<", "><", smart_str(clean_xml_str)) + clean_xml_str = re.sub(r'>\s+<', '><', smart_str(clean_xml_str)) xml_obj = minidom.parseString(clean_xml_str) return xml_obj -def _xml_node_to_dict(node, repeats=[]): +def _xml_node_to_dict(node: minidom.Node, repeats=[]) -> dict: assert isinstance(node, minidom.Node) if len(node.childNodes) == 0: # there's no data for this leaf node @@ -357,3 +357,44 @@ def xform_instance_to_flat_dict(xml_str, data_dictionary): def parse_xform_instance(xml_str, data_dictionary): parser = XFormInstanceParser(xml_str, data_dictionary) return parser.get_flat_dict_with_attributes() + + +def get_xform_media_question_xpaths( + xform: 'onadata.apps.logger.models.XForm', +) -> list: + logger = logging.getLogger('console_logger') + parser = XFormInstanceParser(xform.xml, xform.data_dictionary()) + all_attributes = _get_all_attributes(parser.get_root_node()) + media_field_xpaths = [] + + # This code expects that the attributes from Enketo Express are **always** + # sent in the same order. + # For example: + # + # `ref` attribute should always comes right after `mediatype` + for (key, value) in all_attributes: + if key.lower() == 'mediatype': + try: + next_attribute = next(all_attributes) + except StopIteration: + logger.error( + f'`ref` attribute seems to be missing in {xform.xml}', + exc_info=True, + ) + continue + + next_attribute_key, next_attribute_value = next_attribute + try: + assert next_attribute_key.lower() == 'ref' + except AssertionError: + logger = logging.getLogger('console_logger') + logger.error( + f'`ref` should come after `mediatype:{value}` in {xform.xml}', + exc_info=True, + ) + continue + + # We are returning XPaths, leading slash should be removed + media_field_xpaths.append(next_attribute_value[1:]) + + return media_field_xpaths diff --git a/onadata/apps/viewer/models/parsed_instance.py b/onadata/apps/viewer/models/parsed_instance.py index 345be03cc..b85a11b9f 100644 --- a/onadata/apps/viewer/models/parsed_instance.py +++ b/onadata/apps/viewer/models/parsed_instance.py @@ -402,7 +402,7 @@ def get_notes(self): def _get_attachments_from_instance(instance): attachments = [] - for a in instance.attachments.all(): + for a in instance.attachments.filter(replaced_at=None): attachment = dict() attachment['download_url'] = a.secure_url() for suffix in settings.THUMB_CONF.keys(): diff --git a/onadata/libs/utils/logger_tools.py b/onadata/libs/utils/logger_tools.py index 7b671ec6d..da7b95a27 100644 --- a/onadata/libs/utils/logger_tools.py +++ b/onadata/libs/utils/logger_tools.py @@ -4,6 +4,7 @@ import sys import traceback from datetime import date, datetime +from xml.etree import ElementTree as ET from xml.parsers.expat import ExpatError import pytz @@ -54,6 +55,7 @@ get_uuid_from_xml, get_deprecated_uuid_from_xml, get_submission_date_from_xml, + get_xform_media_question_xpaths, ) from onadata.apps.main.models import UserProfile from onadata.apps.viewer.models.data_dictionary import DataDictionary @@ -564,6 +566,8 @@ def save_attachments(instance, media_files): media_file=f, mimetype=f.content_type) any_new_attachment = True + _update_instance_attachments(instance) + return any_new_attachment @@ -698,6 +702,45 @@ def _has_edit_xform_permission( return False +def _update_instance_attachments(instance: Instance): + """ + Soft delete replaced attachments when editing a submission + """ + # Retrieve all media questions of Xform + media_question_xpaths = get_xform_media_question_xpaths(instance.xform) + + # If XForm does not have any media fields, do not go further + if not media_question_xpaths: + return + + # Parse instance XML to get the basename of each file of the updated + # submission + xml_parsed = ET.fromstring(instance.xml) + basenames = [] + + for media_question_xpath in media_question_xpaths: + root_name, xpath_without_root = media_question_xpath.split('/', 1) + assert root_name == xml_parsed.tag + # With repeat groups, several nodes can have the same XPath. We + # need to retrieve all of them + questions = xml_parsed.findall(xpath_without_root) + for question in questions: + try: + basename = question.text + except AttributeError: + raise XPathNotFoundException + + # Only keep non-empty fields + if basename: + basenames.append(basename) + + # Update Attachment objects to hide them if they are not used anymore. + # We do not want to delete them until the instance itself is deleted. + Attachment.objects.filter(instance=instance, replaced_at=None).exclude( + media_file_basename__in=basenames + ).update(replaced_at=timezone.now()) + + def _update_mongo_for_xform(xform, only_update_missing=True): instance_ids = set( @@ -811,3 +854,7 @@ class UnauthenticatedEditAttempt(Exception): then returns the appropriate 401 response. """ pass + + +class XPathNotFoundException(Exception): + pass From 6014a01df90d95d5458bc3f143b89bd41993e1a9 Mon Sep 17 00:00:00 2001 From: Olivier Leger Date: Fri, 18 Feb 2022 18:23:22 -0500 Subject: [PATCH 02/14] Block access to replaced attachments --- onadata/apps/viewer/views.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/onadata/apps/viewer/views.py b/onadata/apps/viewer/views.py index c17737be4..2e19da3ae 100644 --- a/onadata/apps/viewer/views.py +++ b/onadata/apps/viewer/views.py @@ -397,6 +397,10 @@ def attachment_url(request, size='medium'): media_file_logger.info('attachment not found') return HttpResponseNotFound(_('Attachment not found')) + # Attachment has a replaced date, it should not be shown anymore + if attachment.replaced_at: + return HttpResponseNotFound(_('Attachment not found')) + # Checks whether users are allowed to see the media file before giving them # the url xform = attachment.instance.xform From eb3bc034ce9b28cac77632852d534a9aca5053d2 Mon Sep 17 00:00:00 2001 From: Olivier Leger Date: Fri, 6 Oct 2023 07:19:40 -0400 Subject: [PATCH 03/14] Update counters --- .../update_attachment_storage_bytes.py | 3 +- ...30_add_replaced_at_field_to_attachment.py} | 6 +-- onadata/apps/logger/signals.py | 8 +++- onadata/apps/logger/xform_instance_parser.py | 6 +-- onadata/apps/viewer/models/parsed_instance.py | 2 +- onadata/libs/utils/logger_tools.py | 41 ++++++++++++------- 6 files changed, 42 insertions(+), 24 deletions(-) rename onadata/apps/logger/migrations/{0021_add_replaced_at_field_to_attachment.py => 0030_add_replaced_at_field_to_attachment.py} (65%) diff --git a/onadata/apps/logger/management/commands/update_attachment_storage_bytes.py b/onadata/apps/logger/management/commands/update_attachment_storage_bytes.py index 1718e88a3..4633e6906 100644 --- a/onadata/apps/logger/management/commands/update_attachment_storage_bytes.py +++ b/onadata/apps/logger/management/commands/update_attachment_storage_bytes.py @@ -125,7 +125,8 @@ def handle(self, *args, **kwargs): ) # aggregate total media file size for all media per xform form_attachments = Attachment.objects.filter( - instance__xform_id=xform['pk'] + instance__xform_id=xform['pk'], + replaced_at__isnull=True, ).aggregate(total=Sum('media_file_size')) if form_attachments['total']: diff --git a/onadata/apps/logger/migrations/0021_add_replaced_at_field_to_attachment.py b/onadata/apps/logger/migrations/0030_add_replaced_at_field_to_attachment.py similarity index 65% rename from onadata/apps/logger/migrations/0021_add_replaced_at_field_to_attachment.py rename to onadata/apps/logger/migrations/0030_add_replaced_at_field_to_attachment.py index c97c3bdb2..da8244fe0 100644 --- a/onadata/apps/logger/migrations/0021_add_replaced_at_field_to_attachment.py +++ b/onadata/apps/logger/migrations/0030_add_replaced_at_field_to_attachment.py @@ -1,14 +1,14 @@ -# Generated by Django 2.2.14 on 2022-02-17 22:15 +# Generated by Django 3.2.15 on 2023-10-05 18:47 from django.conf import settings from django.db import migrations, models +import django.db.models.deletion class Migration(migrations.Migration): dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('logger', '0020_submission_counter_timestamp_as_date'), + ('logger', '0029_populate_daily_xform_counters_for_year'), ] operations = [ diff --git a/onadata/apps/logger/signals.py b/onadata/apps/logger/signals.py index 263e6cf62..bfafbf53e 100644 --- a/onadata/apps/logger/signals.py +++ b/onadata/apps/logger/signals.py @@ -31,9 +31,11 @@ def pre_delete_attachment(instance, **kwargs): # change the name of the parameter attachment = instance file_size = attachment.media_file_size - + counting_only = kwargs.pop('counting_only', False) xform = attachment.instance.xform + print('ON SUPPRIME ', file_size, flush=True) + if file_size: with transaction.atomic(): """ @@ -49,7 +51,7 @@ def pre_delete_attachment(instance, **kwargs): attachment_storage_bytes=F('attachment_storage_bytes') - file_size ) - if not (media_file_name := str(attachment.media_file)): + if not counting_only or not (media_file_name := str(attachment.media_file)): return # Clean-up storage @@ -78,6 +80,8 @@ def post_save_attachment(instance, created, **kwargs): if not file_size: return + print('ON AJOUTE ', file_size, flush=True) + xform = attachment.instance.xform with transaction.atomic(): diff --git a/onadata/apps/logger/xform_instance_parser.py b/onadata/apps/logger/xform_instance_parser.py index f2212b5bb..c2340c437 100644 --- a/onadata/apps/logger/xform_instance_parser.py +++ b/onadata/apps/logger/xform_instance_parser.py @@ -119,15 +119,15 @@ def get_deprecated_uuid_from_xml(xml): return None -def clean_and_parse_xml(xml_string: str) -> minidom.Node: +def clean_and_parse_xml(xml_string: str) -> Node: clean_xml_str = xml_string.strip() clean_xml_str = re.sub(r'>\s+<', '><', smart_str(clean_xml_str)) xml_obj = minidom.parseString(clean_xml_str) return xml_obj -def _xml_node_to_dict(node: minidom.Node, repeats: list = []) -> dict: - assert isinstance(node, minidom.Node) +def _xml_node_to_dict(node: Node, repeats: list = []) -> dict: + assert isinstance(node, Node) if len(node.childNodes) == 0: # there's no data for this leaf node return None diff --git a/onadata/apps/viewer/models/parsed_instance.py b/onadata/apps/viewer/models/parsed_instance.py index 68591477b..3e3a62210 100644 --- a/onadata/apps/viewer/models/parsed_instance.py +++ b/onadata/apps/viewer/models/parsed_instance.py @@ -399,7 +399,7 @@ def get_notes(self): def _get_attachments_from_instance(instance): attachments = [] - for a in instance.attachments.filter(replaced_at=None): + for a in instance.attachments.filter(replaced_at__isnull=True): attachment = dict() attachment['download_url'] = a.secure_url() for suffix in settings.THUMB_CONF.keys(): diff --git a/onadata/libs/utils/logger_tools.py b/onadata/libs/utils/logger_tools.py index 5e2988907..f86ca5248 100644 --- a/onadata/libs/utils/logger_tools.py +++ b/onadata/libs/utils/logger_tools.py @@ -56,7 +56,11 @@ update_xform_submission_count, ) from onadata.apps.logger.models.xform import XLSFormError -from onadata.apps.logger.signals import post_save_attachment +from onadata.apps.logger.signals import ( + post_save_attachment, + pre_delete_attachment, +) + from onadata.apps.logger.xform_instance_parser import ( InstanceEmptyError, InstanceInvalidUserError, @@ -182,7 +186,7 @@ def create_instance( if existing_instance: existing_instance.check_active(force=False) # ensure we have saved the extra attachments - new_attachments = save_attachments(existing_instance, media_files) + new_attachments, _ = save_attachments(existing_instance, media_files) if not new_attachments: raise DuplicateInstance() else: @@ -566,10 +570,11 @@ def save_attachments( instance: Instance, media_files: list['django.core.files.uploadedfile.UploadedFile'], defer_counting: bool = False, -) -> list[Attachment]: +) -> tuple[list[Attachment], list[Attachment]]: """ - Returns `True` if any new attachment was saved, `False` if all attachments - were duplicates or none were provided. + Return a tuple of two lists. + - The former is new attachments + - The latter is the replaced/soft-deleted attachments `defer_counting=False` will set a Python-only attribute of the same name on any *new* `Attachment` instances created. This will prevent @@ -600,9 +605,9 @@ def save_attachments( new_attachment.save() new_attachments.append(new_attachment) - _update_instance_attachments(instance) + soft_deleted_attachments = _soft_delete_replaced_attachments(instance) - return new_attachments + return new_attachments, soft_deleted_attachments def save_submission( @@ -632,10 +637,11 @@ def save_submission( # attribute set to `True` *if* a new instance was created. We are # responsible for calling `update_xform_submission_count()` if the returned # `Instance` has `defer_counting = True`. - instance = _get_instance(request, xml, new_uuid, status, xform, - defer_counting=True) + instance = _get_instance( + request, xml, new_uuid, status, xform, defer_counting=True + ) - new_attachments = save_attachments( + new_attachments, soft_deleted_attachments = save_attachments( instance, media_files, defer_counting=True ) @@ -679,6 +685,9 @@ def save_submission( del new_attachment.defer_counting post_save_attachment(new_attachment, created=True) + for soft_deleted_attachment in soft_deleted_attachments: + pre_delete_attachment(soft_deleted_attachment, counting_only=True) + return instance @@ -745,7 +754,7 @@ def _has_edit_xform_permission( return False -def _update_instance_attachments(instance: Instance): +def _soft_delete_replaced_attachments(instance: Instance) -> list[Attachment]: """ Soft delete replaced attachments when editing a submission """ @@ -779,9 +788,13 @@ def _update_instance_attachments(instance: Instance): # Update Attachment objects to hide them if they are not used anymore. # We do not want to delete them until the instance itself is deleted. - Attachment.objects.filter(instance=instance, replaced_at=None).exclude( - media_file_basename__in=basenames - ).update(replaced_at=timezone.now()) + queryset = Attachment.objects.filter( + instance=instance, replaced_at=None + ).exclude(media_file_basename__in=basenames) + soft_deleted_attachments = list(queryset.all()) + queryset.update(replaced_at=timezone.now()) + + return soft_deleted_attachments def _update_mongo_for_xform(xform, only_update_missing=True): From 8caecb31532e2b7aae0093166ed3639bc61f806a Mon Sep 17 00:00:00 2001 From: Olivier Leger Date: Tue, 10 Oct 2023 10:28:15 -0400 Subject: [PATCH 04/14] Fix migrations conflict --- ...ttachment.py => 0031_add_replaced_at_field_to_attachment.py} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename onadata/apps/logger/migrations/{0030_add_replaced_at_field_to_attachment.py => 0031_add_replaced_at_field_to_attachment.py} (86%) diff --git a/onadata/apps/logger/migrations/0030_add_replaced_at_field_to_attachment.py b/onadata/apps/logger/migrations/0031_add_replaced_at_field_to_attachment.py similarity index 86% rename from onadata/apps/logger/migrations/0030_add_replaced_at_field_to_attachment.py rename to onadata/apps/logger/migrations/0031_add_replaced_at_field_to_attachment.py index da8244fe0..aa6a8093a 100644 --- a/onadata/apps/logger/migrations/0030_add_replaced_at_field_to_attachment.py +++ b/onadata/apps/logger/migrations/0031_add_replaced_at_field_to_attachment.py @@ -8,7 +8,7 @@ class Migration(migrations.Migration): dependencies = [ - ('logger', '0029_populate_daily_xform_counters_for_year'), + ('logger', '0030_backfill_lost_monthly_counters'), ] operations = [ From 47fbf945cdd25560f0289bcb463e1f74a805693f Mon Sep 17 00:00:00 2001 From: Olivier Leger Date: Tue, 10 Oct 2023 10:44:51 -0400 Subject: [PATCH 05/14] Remove useless print --- onadata/apps/logger/signals.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/onadata/apps/logger/signals.py b/onadata/apps/logger/signals.py index bfafbf53e..f4f6436aa 100644 --- a/onadata/apps/logger/signals.py +++ b/onadata/apps/logger/signals.py @@ -80,8 +80,6 @@ def post_save_attachment(instance, created, **kwargs): if not file_size: return - print('ON AJOUTE ', file_size, flush=True) - xform = attachment.instance.xform with transaction.atomic(): From 8c1027c5d07a65915ff941d066cc3b8d70052069 Mon Sep 17 00:00:00 2001 From: Olivier Leger Date: Wed, 11 Oct 2023 15:49:01 -0400 Subject: [PATCH 06/14] Update id_string for user_with_dot_name_fields fixture --- .../userone/userone_with_dot_name_fields.xls | Bin 8704 -> 8704 bytes .../userone/userone_with_dot_name_fields.xml | 17 ++++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/onadata/apps/main/tests/fixtures/userone/userone_with_dot_name_fields.xls b/onadata/apps/main/tests/fixtures/userone/userone_with_dot_name_fields.xls index feb40833c888f92db8a2621115184758538110a0..7afb20942c3f2d83cae3b6a7eb02e5b6ca38f663 100644 GIT binary patch delta 324 zcmZp0X>i$aiH(Dafq{XM;S1yBTWm+zQu9)a5_2{$VV}fgbBYZp!@$N+Tv}9?TG`6L z&#;>dB*M;+oROcIoLbzR4d8zT`nI#$VDfuPwd5O8H@oAZcF>Xe%H6SY(H(Q8pX51tZ!Yl|hk-^ZAfx!VtH*kvVWS*QVEzc3~$MAULpPP)6 U8(B;?ACR_SX3XFGQ;wY(0Aoc<)&Kwi delta 307 zcmZp0X>i$aiH(B+2pAc987ALiJHqDb=Njbbvv~>oBqp1!Y#=E%hT_tqvee2}27ZQR zTp$s4hUAR=%;ePKRt5nEb3Tv|2SagcNl9j2dT|c}3(z#i$wgeXj59ZX;F`e5#m>M` zTAW&xpO?CMK93ipH8(>o0}n_SLyRmxmGHv!1+srt5 z0*mM-i4bN%kc1f!JAf4YdA*Twa;mgEM?<}M`JBsV87DWgm~1{EZNbbKwfUzUJ2L<_ C!9tG! diff --git a/onadata/apps/main/tests/fixtures/userone/userone_with_dot_name_fields.xml b/onadata/apps/main/tests/fixtures/userone/userone_with_dot_name_fields.xml index 57b192afa..2c72706c8 100644 --- a/onadata/apps/main/tests/fixtures/userone/userone_with_dot_name_fields.xml +++ b/onadata/apps/main/tests/fixtures/userone/userone_with_dot_name_fields.xml @@ -1 +1,16 @@ -b891c5f8bf4f4e3bb1bd540a858c7c88Office4-1.2624975 36.7923384 0.0 25.0Cooluuid:a32f232c-77cb-4468-b55b-6495d5e5de7 + + + + b891c5f8bf4f4e3bb1bd540a858c7c88 + + Office + 4 + + -1.2624975 36.7923384 0.0 25.0 + + Cool + + + uuid:a32f232c-77cb-4468-b55b-6495d5e5de7 + + From df19a78c5860fb2ca7422c0daee4981a6c32c6df Mon Sep 17 00:00:00 2001 From: Olivier Leger Date: Wed, 11 Oct 2023 15:50:02 -0400 Subject: [PATCH 07/14] Only log AssertionError if instance root tag name does not match its form instance root tag name --- onadata/apps/logger/models/instance.py | 2 +- onadata/apps/logger/signals.py | 2 - onadata/apps/logger/xform_instance_parser.py | 9 +++-- onadata/apps/main/tests/test_csv_export.py | 39 +++++++++++++++----- onadata/libs/utils/logger_tools.py | 16 ++++++-- 5 files changed, 47 insertions(+), 21 deletions(-) diff --git a/onadata/apps/logger/models/instance.py b/onadata/apps/logger/models/instance.py index 19437d838..1ac617449 100644 --- a/onadata/apps/logger/models/instance.py +++ b/onadata/apps/logger/models/instance.py @@ -54,7 +54,7 @@ def get_id_string_from_xml_str(xml_str): xml_obj = clean_and_parse_xml(xml_str) root_node = xml_obj.documentElement - id_string = root_node.getAttribute("id") + id_string = root_node.getAttribute('id') if len(id_string) == 0: # may be hidden in submission/data/id_string diff --git a/onadata/apps/logger/signals.py b/onadata/apps/logger/signals.py index f4f6436aa..0be306671 100644 --- a/onadata/apps/logger/signals.py +++ b/onadata/apps/logger/signals.py @@ -34,8 +34,6 @@ def pre_delete_attachment(instance, **kwargs): counting_only = kwargs.pop('counting_only', False) xform = attachment.instance.xform - print('ON SUPPRIME ', file_size, flush=True) - if file_size: with transaction.atomic(): """ diff --git a/onadata/apps/logger/xform_instance_parser.py b/onadata/apps/logger/xform_instance_parser.py index c2340c437..b27314d69 100644 --- a/onadata/apps/logger/xform_instance_parser.py +++ b/onadata/apps/logger/xform_instance_parser.py @@ -331,9 +331,10 @@ def _set_attributes(self): try: assert key not in self._attributes except AssertionError: - logger = logging.getLogger("console_logger") - logger.debug("Skipping duplicate attribute: %s" - " with value %s" % (key, value)) + pass + #logger = logging.getLogger('console_logger') + #logger.debug("Skipping duplicate attribute: %s" + # " with value %s" % (key, value)) else: self._attributes[key] = value @@ -373,7 +374,7 @@ def get_xform_media_question_xpaths( # sent in the same order. # For example: # - # `ref` attribute should always comes right after `mediatype` + # `ref` attribute should always come right after `mediatype` for (key, value) in all_attributes: if key.lower() == 'mediatype': try: diff --git a/onadata/apps/main/tests/test_csv_export.py b/onadata/apps/main/tests/test_csv_export.py index 49a11e63b..5f0fb09d6 100644 --- a/onadata/apps/main/tests/test_csv_export.py +++ b/onadata/apps/main/tests/test_csv_export.py @@ -68,22 +68,41 @@ def test_csv_nested_repeat_output(self): self.assertEqual(actual_content, expected_content) def test_dotted_fields_csv_export_output(self): - path = os.path.join(os.path.dirname(__file__), 'fixtures', 'userone', - 'userone_with_dot_name_fields.xls') + path = os.path.join( + os.path.dirname(__file__), + 'fixtures', + 'userone', + 'userone_with_dot_name_fields.xls', + ) self._publish_xls_file_and_set_xform(path) - path = os.path.join(os.path.dirname(__file__), 'fixtures', 'userone', - 'userone_with_dot_name_fields.xml') + path = os.path.join( + os.path.dirname(__file__), + 'fixtures', + 'userone', + 'userone_with_dot_name_fields.xml', + ) self._make_submission( - path, forced_submission_time=self._submission_time) + path, forced_submission_time=self._submission_time + ) # test csv - export = generate_export(Export.CSV_EXPORT, 'csv', self.user.username, - 'userone') + export = generate_export( + Export.CSV_EXPORT, + 'csv', + self.user.username, + 'userone_with_dot_name_fields', + ) self.assertTrue(default_storage.exists(export.filepath)) path, ext = os.path.splitext(export.filename) self.assertEqual(ext, '.csv') - with open(os.path.join( - os.path.dirname(__file__), 'fixtures', 'userone', - 'userone_with_dot_name_fields.csv'), 'rb') as f1: + with open( + os.path.join( + os.path.dirname(__file__), + 'fixtures', + 'userone', + 'userone_with_dot_name_fields.csv', + ), + 'rb', + ) as f1: with default_storage.open(export.filepath) as f2: expected_content = f1.read() actual_content = f2.read() diff --git a/onadata/libs/utils/logger_tools.py b/onadata/libs/utils/logger_tools.py index f86ca5248..54787d2b9 100644 --- a/onadata/libs/utils/logger_tools.py +++ b/onadata/libs/utils/logger_tools.py @@ -1,6 +1,7 @@ # coding: utf-8 from __future__ import annotations +import logging import os import re import sys @@ -267,8 +268,9 @@ def get_xform_from_submission(xml, username, uuid=None): id_string = get_id_string_from_xml_str(xml) - return get_object_or_404(XForm, id_string__exact=id_string, - user__username=username) + return get_object_or_404( + XForm, id_string__exact=id_string, user__username=username + ) def inject_instanceid(xml_str, uuid): @@ -763,7 +765,7 @@ def _soft_delete_replaced_attachments(instance: Instance) -> list[Attachment]: # If XForm does not have any media fields, do not go further if not media_question_xpaths: - return + return [] # Parse instance XML to get the basename of each file of the updated # submission @@ -772,7 +774,13 @@ def _soft_delete_replaced_attachments(instance: Instance) -> list[Attachment]: for media_question_xpath in media_question_xpaths: root_name, xpath_without_root = media_question_xpath.split('/', 1) - assert root_name == xml_parsed.tag + try: + assert root_name == xml_parsed.tag + except AssertionError: + logging.warning( + 'Instance XML root tag name does not match with its form' + ) + # With repeat groups, several nodes can have the same XPath. We # need to retrieve all of them questions = xml_parsed.findall(xpath_without_root) From af2aefda953e529e4594bb326a75d64533d64fe9 Mon Sep 17 00:00:00 2001 From: Olivier Leger Date: Thu, 12 Oct 2023 09:53:21 -0400 Subject: [PATCH 08/14] Unit test for submission attachment edit --- .../tests/viewsets/test_abstract_viewset.py | 10 +- .../tests/viewsets/test_attachment_viewset.py | 146 +++++++++++++++++- .../apps/api/viewsets/attachment_viewset.py | 2 +- .../1335783522563.jpg | Bin 0 -> 714104 bytes .../transport_with_attachment/IMG_2235.JPG | Bin 0 -> 3197835 bytes .../transport_with_attachment.xml | 23 +++ .../transport_with_attachment_edit.xml | 24 +++ .../transportation_with_attachment.xls | Bin 0 -> 9216 bytes .../tests/mixins/make_submission_mixin.py | 15 +- 9 files changed, 212 insertions(+), 8 deletions(-) create mode 100755 onadata/apps/main/tests/fixtures/transportation/instances/transport_with_attachment/1335783522563.jpg create mode 100644 onadata/apps/main/tests/fixtures/transportation/instances/transport_with_attachment/IMG_2235.JPG create mode 100755 onadata/apps/main/tests/fixtures/transportation/instances/transport_with_attachment/transport_with_attachment.xml create mode 100755 onadata/apps/main/tests/fixtures/transportation/instances/transport_with_attachment/transport_with_attachment_edit.xml create mode 100644 onadata/apps/main/tests/fixtures/transportation/transportation_with_attachment.xls diff --git a/onadata/apps/api/tests/viewsets/test_abstract_viewset.py b/onadata/apps/api/tests/viewsets/test_abstract_viewset.py index 64628318f..eca65dc9b 100644 --- a/onadata/apps/api/tests/viewsets/test_abstract_viewset.py +++ b/onadata/apps/api/tests/viewsets/test_abstract_viewset.py @@ -60,11 +60,11 @@ def publish_xls_form( 'owner': self.user.username, 'public': False, 'public_data': False, - 'description': u'transportation_2011_07_25', + 'description': 'transportation_2011_07_25', 'downloadable': True, 'encrypted': False, - 'id_string': u'transportation_2011_07_25', - 'title': u'transportation_2011_07_25', + 'id_string': 'transportation_2011_07_25', + 'title': 'transportation_2011_07_25', } if not path: @@ -192,8 +192,9 @@ def _make_submission( forced_submission_time=None, auth=None, media_file=None, + use_service_account=False, ): - if auth is None: + if auth is None and not use_service_account: auth = DigestAuth( self.profile_data['username'], self.profile_data['password1'] ) @@ -205,6 +206,7 @@ def _make_submission( forced_submission_time, auth, media_file, + use_service_account, ) def _make_submissions(self, username=None): diff --git a/onadata/apps/api/tests/viewsets/test_attachment_viewset.py b/onadata/apps/api/tests/viewsets/test_attachment_viewset.py index bd31c0890..c12036eee 100644 --- a/onadata/apps/api/tests/viewsets/test_attachment_viewset.py +++ b/onadata/apps/api/tests/viewsets/test_attachment_viewset.py @@ -5,9 +5,11 @@ from django.conf import settings from kobo_service_account.utils import get_request_headers from rest_framework import status +from rest_framework.reverse import reverse -from onadata.apps.api.tests.viewsets.test_abstract_viewset import \ +from onadata.apps.api.tests.viewsets.test_abstract_viewset import ( TestAbstractViewSet +) from onadata.apps.api.viewsets.attachment_viewset import AttachmentViewSet from onadata.apps.main.models import UserProfile @@ -249,3 +251,145 @@ def test_attachment_storage_bytes_create_instance_signal(self): self.assertEqual(xform.attachment_storage_bytes, media_file_size) user_profile.refresh_from_db() self.assertEqual(user_profile.attachment_storage_bytes, media_file_size) + + def test_update_attachment_on_edit(self): + data = { + 'owner': self.user.username, + 'public': False, + 'public_data': False, + 'description': 'transportation_with_attachment', + 'downloadable': True, + 'encrypted': False, + 'id_string': 'transportation_with_attachment', + 'title': 'transportation_with_attachment', + } + + path = os.path.join( + settings.ONADATA_DIR, + 'apps', + 'main', + 'tests', + 'fixtures', + 'transportation', + 'transportation_with_attachment.xls', + ) + self.publish_xls_form(data=data, path=path) + + xml_path = os.path.join( + self.main_directory, + 'fixtures', + 'transportation', + 'instances', + 'transport_with_attachment', + 'transport_with_attachment.xml', + ) + media_file_path = os.path.join( + self.main_directory, + 'fixtures', + 'transportation', + 'instances', + 'transport_with_attachment', + '1335783522563.jpg' + ) + xform = self.xform + + user_profile = UserProfile.objects.get(user=xform.user) + # Submit the same XML again, but this time include the attachment + with open(media_file_path, 'rb') as media_file: + self._make_submission(xml_path, media_file=media_file) + submission_uuid = self.xform.instances.first().uuid + self.assertEqual(self.xform.instances.count(), 1) + self.assertEqual(self.xform.instances.first().uuid, submission_uuid) + media_file_size = os.path.getsize(media_file_path) + self.xform.refresh_from_db() + self.assertEqual(xform.attachment_storage_bytes, media_file_size) + user_profile.refresh_from_db() + self.assertEqual(user_profile.attachment_storage_bytes, media_file_size) + + xml_path = os.path.join( + self.main_directory, + 'fixtures', + 'transportation', + 'instances', + 'transport_with_attachment', + 'transport_with_attachment_edit.xml', + ) + media_file_path = os.path.join( + self.main_directory, + 'fixtures', + 'transportation', + 'instances', + 'transport_with_attachment', + 'IMG_2235.JPG' + ) + # Edit are only allowed with service account + with open(media_file_path, 'rb') as media_file: + self._make_submission( + xml_path, + media_file=media_file, + auth=False, + use_service_account=True, + ) + + # Validate counters are up-to-date and instances count is still one. + self.assertEqual(self.xform.instances.count(), 1) + new_media_file_size = os.path.getsize(media_file_path) + self.xform.refresh_from_db() + self.assertEqual(xform.attachment_storage_bytes, new_media_file_size) + user_profile.refresh_from_db() + self.assertEqual(user_profile.attachment_storage_bytes, new_media_file_size) + self.assertNotEqual(new_media_file_size, media_file_size) + + + instance = self.xform.instances.first() + attachment = instance.attachments.filter(replaced_at__isnull=True).first() + + # Validate previous attachment has been replaced + replaced_attachment_qs = instance.attachments.filter(replaced_at__isnull=False) + self.assertEqual(replaced_attachment_qs.count(), 1) + replaced_attachment = replaced_attachment_qs.first() + self.assertEqual(replaced_attachment.media_file_basename, '1335783522563.jpg') + + # Validate that /api/v1/media endpoint returns the correct list + expected = { + 'url': f'http://testserver/api/v1/media/{attachment.pk}', + 'field_xpath': None, + 'download_url': attachment.secure_url(), + 'small_download_url': attachment.secure_url('small'), + 'medium_download_url': attachment.secure_url('medium'), + 'large_download_url': attachment.secure_url('large'), + 'id': attachment.pk, + 'xform': self.xform.pk, + 'instance': instance.pk, + 'mimetype': attachment.mimetype, + 'filename': attachment.media_file.name + } + request = self.factory.get('/', **self.extra) + response = self.list_view(request, pk=attachment.pk) + self.assertEqual(response.status_code, 200) + self.assertTrue(response.data[0], expected) + self.assertTrue(len(response.data), 1) + + # Validate that /api/v1/data endpoint returns the correct attachment list + # Unfortunately, attachments list differ from /api/v1/media + expected = { + 'download_url': expected['download_url'], + 'download_small_url': expected['small_download_url'], + 'download_medium_url': expected['medium_download_url'], + 'download_large_url': expected['large_download_url'], + 'id': expected['id'], + 'xform': expected['xform'], + 'instance': expected['instance'], + 'mimetype': expected['mimetype'], + 'filename': expected['filename'] + } + + instance_response = self.client.get( + reverse( + 'data-detail', + kwargs={'pk': self.xform.pk, 'dataid': instance.pk}, + ), + format='json', + ) + self.assertEqual(instance_response.data['_attachments'][0], expected) + self.assertEqual(len(instance_response.data['_attachments']), 1) diff --git a/onadata/apps/api/viewsets/attachment_viewset.py b/onadata/apps/api/viewsets/attachment_viewset.py index e4ba69985..22ef90d9c 100644 --- a/onadata/apps/api/viewsets/attachment_viewset.py +++ b/onadata/apps/api/viewsets/attachment_viewset.py @@ -143,7 +143,7 @@ class AttachmentViewSet(viewsets.ReadOnlyModelViewSet): content_negotiation_class = MediaFileContentNegotiation filter_backends = (filters.AttachmentFilter,) lookup_field = 'pk' - queryset = Attachment.objects.all() + queryset = Attachment.objects.filter(replaced_at__isnull=True) permission_classes = (AttachmentObjectPermissions,) serializer_class = AttachmentSerializer renderer_classes = ( diff --git a/onadata/apps/main/tests/fixtures/transportation/instances/transport_with_attachment/1335783522563.jpg b/onadata/apps/main/tests/fixtures/transportation/instances/transport_with_attachment/1335783522563.jpg new file mode 100755 index 0000000000000000000000000000000000000000..e8d953e387afaf8ec1c24fbef637d0006d35a306 GIT binary patch literal 714104 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
  • @)~%bxcKpttK?D|PWh^)2xwbJHQI$Fh+snd{Z}@go6$PHrA74%>DoQI#Erh1I!9CKS~|1r!Ss~W%=;!nVoKYIxu<9 zO4hlq;6zoj>tk7S@7W}04!s9xE0q0(f={{T*{^e6a=EIabCUvdn!6+;_h6#YMZ zLLA2JJ=LB1oyWaA2$R$`Qo{7?9~_p}o4(O00a<-^KQ6U`2IXWRxVh|&Twil86kB3*3V-OaihPxV#Dw=akYGw~N=qOsg>3l2E!jBD zxI|dja6$Osfbf@V6EW$|q9p_N({a6Oj%qlV5T}PTY=G`my>r;S! zXUBx(qx?%qA`FpIf3Iq*#rc5aNFY*1bArI%T+(+!727QPhXk4f&9Sw`-V$!Eik`X2 zT<_e#A-kax4dLICpux`lh>Sr(pw3|d;T9wK8TbC8D(9e_Qf9B~r@&DW*?53((i@J1 zN>7A%D}HtB+h?t&-b*FUbEjBBx;`- zbo-sWsbb9JH5yA!mJ~OG+Rqiq8xGfIkG(-R{|;ak4V7pU$vl~j2&L3+ply+sAX