Skip to content
Snippets Groups Projects
Commit 863dc33f authored by Jonathan Seguin's avatar Jonathan Seguin
Browse files

Change icon, tweak some text, place all deleted files in same success message. Dont show file ids

parent 47f0af5f
No related branches found
No related tags found
1 merge request!71Resolve "Delete multiple files (web interface)"
......@@ -241,7 +241,7 @@ class BatchRemoveDataFileAnnotationForm(forms.Form):
class BatchDeleteDataFileForm(forms.Form):
datafiles = forms.MultipleChoiceField(required=False, widget=forms.TextInput,
datafiles = forms.MultipleChoiceField(required=False, widget=forms.HiddenInput,
label=_('Delete selected files'))
......
......@@ -58,7 +58,7 @@
</div>
{# delete Bulk #}
{# Delete bulk #}
<div class="modal fade" id="delBulkModal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
......@@ -73,7 +73,7 @@
{% csrf_token %}
{{ batch_deletebulk_datafile_form|crispy }}
<div class="alert alert-warning" role="alert">
{% trans 'Warning: Deleting selected entries is an IRREVERSIBLE action.' %}
{% trans 'Warning: Deleting selected files is an IRREVERSIBLE action.' %}
</div>
</div>
<div class="modal-footer">
......@@ -194,11 +194,11 @@ $(function() {
rows:{
_: `Selected %d rows&nbsp;&nbsp;<a onclick="$('#all-datafile').DataTable().rows('.selected').deselect()" id="sel-deselect" href="#"><i class="fas fa-backspace"></i></a>
<br>
<a onclick="addAnnotClick()" id="sel-add-annot" href="#"><i class="far fa-plus-circle mr-1"></i>{% trans 'Add/Update annotations' %}</a>
<a onclick="addAnnotClick()" id="sel-add-annot" href="#"><i class="fa fa-plus-circle mr-1"></i>{% trans 'Add/Update annotations' %}</a>
&nbsp;
<a onclick="remAnnotClick()" id="sel-rem-annot" href="#"><i class="far fa-minus-circle mr-1"></i>{% trans 'Remove annotations' %}</a>
<a onclick="remAnnotClick()" id="sel-rem-annot" href="#"><i class="fa fa-minus-circle mr-1"></i>{% trans 'Remove annotations' %}</a>
<br>
<a onclick="deleteBulkClick()" id="sel-delete-bulk" href="#"><i class="far fa-minus-circle mr-1"></i>{% trans 'Delete selected files' %}</a>
<a onclick="deleteBulkClick()" id="sel-delete-bulk" href="#"><i class="fa fa-trash mr-1"></i>{% trans 'Delete selected files' %}</a>
<br>
<a onclick="createDatasetClick()" id="sel-create-dataset" href="#"><i class="fa fa-cloud-upload mr-1"></i>{% trans 'Create Dataset' %}</a>`,
0: "",
......
......@@ -473,25 +473,23 @@ class DataFileBatchDelete(LoginRequiredMixin, SuccessMessageMixin, View):
def post(self, request, *args, **kwargs):
post_datafiles = self.request.POST.get('datafiles').split(',')
files = DataFile.objects.filter(Q(iric_data_id__in=post_datafiles) | Q(pk__in=post_datafiles))
deleted_files = []
for f in files.all():
if not DataFile.objects.editable_by_profile(request.user.profile).filter(pk=f.pk).first():
messages.error(self.request, _('You do not have the necessary permissions to edit the annotation of "{}"'.format(f)))
return HttpResponseRedirect(self.success_url)
if not f.datasets.all():
messages.success(self.request, '{0}<br />{1}'.format(_('Successfully delete file'), f))
f.delete()
else:
messages.error(
self.request,
messages.error(self.request, _('You do not have the necessary permissions to delete the file "{}"'.format(f)))
elif f.datasets.exists():
messages.error(self.request,
'{0}<br />{1}<br />{2}'.format(
f,
_('File cannot be deleted because it is currently attached to these DataSets:'),
'<br />'.join([str(d) for d in f.datasets.all()])
)
)
else:
f.delete()
deleted_files.append(f'{f.name} ({f.iric_data_id})')
if deleted_files:
messages.success(self.request, '{0}<br />{1}'.format(_('Successfully deleted file(s) : '), '<br />'.join(deleted_files)))
return HttpResponseRedirect(self.success_url)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment