Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 0 additions & 16 deletions addons/osfstorage/tests/test_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -266,22 +266,6 @@ def test_delete_root_node(self):
assert BaseFileNode.objects.get(_id=folder._id).type == 'osf.trashedfolder'
assert BaseFileNode.objects.get(_id=file._id).type == 'osf.trashedfile'

def test_restore_deleted_file_without_deleted_field(self):
assert models.TrashedFileNode.objects.exists() is False

child = self.node_settings.get_root().append_file('Test')
child.delete()

trashed_file = models.TrashedFileNode.objects.first()
restored_file = trashed_file.restore()

assert restored_file.deleted is None
assert restored_file.deleted_on is None
# None because we do not set deleted_by when delete the child
assert restored_file.deleted_by is None

assert models.TrashedFileNode.objects.exists() is False

def test_delete_file(self):
child = self.node_settings.get_root().append_file('Test')
field_names = [f.name for f in child._meta.get_fields() if not f.is_relation and f.name not in ['id', 'content_type_pk']]
Expand Down
2 changes: 0 additions & 2 deletions admin/management/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,4 @@
name='remove_orcid_from_user_social'),
re_path(r'^migrate_funder_names_to_ror', views.MigrateFunderNamesToRor.as_view(),
name='migrate_funder_names_to_ror'),
re_path(r'^fix_restored_trashed_files', views.FixRestoredTrashedFiles.as_view(),
name='fix_restored_trashed_files'),
]
8 changes: 0 additions & 8 deletions admin/management/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -228,11 +228,3 @@ def post(self, request):
for _line in _out_io.getvalue().split('\n'):
messages.info(request, _line)
return redirect(reverse('management:commands'))


class FixRestoredTrashedFiles(ManagementCommandPermissionView):

def post(self, request):
call_command('fix_restored_trashed_files')
messages.success(request, 'Restored trashed files have been successfully fixed.')
return redirect(reverse('management:commands'))
13 changes: 0 additions & 13 deletions admin/templates/management/commands.html
Original file line number Diff line number Diff line change
Expand Up @@ -226,19 +226,6 @@ <h4><u>Update ROR funder names to be consistent and proper.</u></h4>
</nav>
</form>
</section>
<section>
<h4><u>Fix restored files</u></h4>
<p>
Use this management command to fix restored files that were previously trashed.
</p>
<form method="post"
action="{% url 'management:fix_restored_trashed_files'%}">
{% csrf_token %}
<nav>
<input class="btn btn-success" type="submit" value="Run" />
</nav>
</form>
</section>
</div>
</section>
{% endblock %}
41 changes: 0 additions & 41 deletions osf/management/commands/fix_restored_trashed_files.py

This file was deleted.

5 changes: 1 addition & 4 deletions osf/models/files.py
Original file line number Diff line number Diff line change
Expand Up @@ -671,9 +671,6 @@ def restore(self, recursive=True, parent=None, save=True, deleted_on=None, clien

type_cls = File if self.is_file else Folder

self.deleted = None
self.deleted_on = None

self.recast(self._resolve_class(type_cls)._typedmodels_type)

if save:
Expand Down Expand Up @@ -760,10 +757,10 @@ def restore(self, recursive=True, parent=None, save=True, deleted_on=None):
:param deleted_on:
:return:
"""
deleted_on = deleted_on or self.deleted_on
tf = super().restore(recursive=True, parent=None, save=True, deleted_on=None)

if not self.is_file and recursive:
deleted_on = deleted_on or self.deleted_on
for child in TrashedFileNode.objects.filter(parent=self.id, deleted_on=deleted_on):
child.restore(recursive=True, save=save, deleted_on=deleted_on)
return tf
Expand Down
Loading