def test_upload_to_with_project_and_xform_instance(self): model_instance = Project(created_by=self.user) metadata = MetaData(data_type="media") metadata.content_object = model_instance filename = "filename" self.assertEquals(upload_to(metadata, filename), "{}/{}/{}".format(self.user.username, 'formid-media', filename)) model_instance = XForm(user=self.user, created_by=self.user) metadata = MetaData(data_type="media") metadata.content_object = model_instance filename = "filename" self.assertEquals(upload_to(metadata, filename), "{}/{}/{}".format(self.user.username, 'formid-media', filename))
def restore_object(self, attrs, instance=None): data_type = attrs.get('data_type') data_file = attrs.get('data_file') xform = attrs.get('xform') data_value = data_file.name if data_file else attrs.get('data_value') data_file_type = data_file.content_type if data_file else None if instance: return super(MetaDataSerializer, self).restore_object(attrs, instance) return MetaData(data_type=data_type, xform=xform, data_value=data_value, data_file=data_file, data_file_type=data_file_type)
def test_upload_to_with_anonymous_user(self): instance = Instance(user=self.user, xform=self.xform) metadata = MetaData(data_type="media") metadata.content_object = instance filename = "filename" self.assertEquals(upload_to(metadata, filename), "{}/{}/{}".format(self.user.username, 'formid-media', filename)) # test instance with anonymous user instance_without_user = Instance(xform=self.xform) metadata.content_object = instance_without_user self.assertEquals(upload_to(metadata, filename), "{}/{}/{}".format(self.xform.user.username, 'formid-media', filename))