Skip to content

Commit e8b1a5d

Browse files
Merge pull request #6974 from christianbeeznest/fixes-updates165
Admin: files_info — handle null originalName safely
2 parents f2a8325 + 9a152af commit e8b1a5d

File tree

2 files changed

+43
-39
lines changed

2 files changed

+43
-39
lines changed

src/CoreBundle/Entity/ResourceFile.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,7 @@ public function setMimeType(?string $mimeType): self
293293

294294
return $this;
295295
}
296-
public function getOriginalName(): string
296+
public function getOriginalName(): ?string
297297
{
298298
return $this->originalName;
299299
}

src/CoreBundle/Resources/views/Admin/files_info.html.twig

Lines changed: 42 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -24,36 +24,40 @@
2424
</thead>
2525
<tbody>
2626
{% for file in files %}
27+
{% set title = file.title|default('N/A'|trans) %}
28+
{% set originalName = file.originalName ?? file.title ?? null %}
29+
{% set courseTitle =
30+
(file.resourceNode and file.resourceNode.resourceLinks|length > 0)
31+
? (file.resourceNode.resourceLinks|first.course.title|default('N/A'|trans))
32+
: ('N/A'|trans)
33+
%}
34+
{% set username =
35+
(file.resourceNode and file.resourceNode.resourceLinks|length > 0)
36+
? (file.resourceNode.resourceLinks|first.user.username|default('N/A'|trans))
37+
: (file.resourceNode and file.resourceNode.creator
38+
? (file.resourceNode.creator.username|default('N/A'|trans))
39+
: ('N/A'|trans))
40+
%}
41+
{% set fileUrl = fileUrls[file.id]|default('') %}
42+
{% set filePath = filePaths[file.id]|default('') %}
43+
{% set resourceNodeId = file.resourceNode ? file.resourceNode.id : 'N/A' %}
44+
2745
<tr>
28-
<td>{{ file.title }}</td>
29-
<td>{{ file.originalName }}</td>
30-
<td>
31-
{% if file.resourceNode and file.resourceNode.resourceLinks|length > 0 %}
32-
{{ file.resourceNode.resourceLinks|first.course.title ?? 'N/A' }}
33-
{% else %}
34-
{{ 'N/A'|trans }}
35-
{% endif %}
36-
</td>
37-
<td>
38-
{% if file.resourceNode and file.resourceNode.resourceLinks|length > 0 %}
39-
{{ file.resourceNode.resourceLinks|first.user.username ?? 'N/A' }}
40-
{% elseif file.resourceNode and file.resourceNode.creator %}
41-
{{ file.resourceNode.creator.username ?? 'N/A' }}
42-
{% else %}
43-
{{ 'N/A'|trans }}
44-
{% endif %}
45-
</td>
46+
<td>{{ title }}</td>
47+
<td>{{ originalName|default('N/A'|trans) }}</td>
48+
<td>{{ courseTitle }}</td>
49+
<td>{{ username }}</td>
4650
<td>
4751
<a href="#" class="open-modal"
48-
data-title="{{ file.title }}"
49-
data-mime-type="{{ file.mimeType }}"
50-
data-original-name="{{ file.originalName }}"
51-
data-size="{{ file.size }}"
52-
data-course="{% if file.resourceNode and file.resourceNode.resourceLinks|length > 0 %}{{ file.resourceNode.resourceLinks|first.course.title ?? 'N/A' }}{% else %}{{ 'N/A'|trans }}{% endif %}"
53-
data-user="{% if file.resourceNode and file.resourceNode.resourceLinks|length > 0 %}{{ file.resourceNode.resourceLinks|first.user.username ?? 'N/A' }}{% elseif file.resourceNode and file.resourceNode.creator %}{{ file.resourceNode.creator.username ?? 'N/A' }}{% else %}{{ 'N/A'|trans }}{% endif %}"
54-
data-file-url="{{ fileUrls[file.id] }}"
55-
data-file-path="{{ filePaths[file.id] }}"
56-
data-resource-node-id="{{ file.resourceNode ? file.resourceNode.id : 'N/A' }}"
52+
data-title="{{ title }}"
53+
data-mime-type="{{ file.mimeType|default('') }}"
54+
data-original-name="{{ originalName|default('N/A'|trans) }}"
55+
data-size="{{ file.size|default(0) }}"
56+
data-course="{{ courseTitle }}"
57+
data-user="{{ username }}"
58+
data-file-url="{{ fileUrl }}"
59+
data-file-path="{{ filePath }}"
60+
data-resource-node-id="{{ resourceNodeId }}"
5761
data-resource-file-id="{{ file.id }}">
5862
{{ 'View'|trans }}
5963
</a>
@@ -121,16 +125,16 @@
121125
var resourceNodeId = button.getAttribute('data-resource-node-id');
122126
var resourceFileId = button.getAttribute('data-resource-file-id');
123127
124-
document.getElementById('file-title').textContent = title;
125-
document.getElementById('file-mime-type').textContent = mimeType;
126-
document.getElementById('file-original-name').textContent = originalName;
127-
document.getElementById('file-size').textContent = size + ' bytes';
128-
document.getElementById('file-course').textContent = course;
129-
document.getElementById('file-user').textContent = user;
130-
document.getElementById('file-path').textContent = filePath;
131-
document.getElementById('file-url').href = fileUrl;
132-
document.getElementById('resource-node-id').textContent = resourceNodeId;
133-
document.getElementById('resource-file-id').textContent = resourceFileId;
128+
document.getElementById('file-title').textContent = title || '';
129+
document.getElementById('file-mime-type').textContent = mimeType || '';
130+
document.getElementById('file-original-name').textContent = originalName || '';
131+
document.getElementById('file-size').textContent = (size || 0) + ' bytes';
132+
document.getElementById('file-course').textContent = course || '';
133+
document.getElementById('file-user').textContent = user || '';
134+
document.getElementById('file-path').textContent = filePath || '';
135+
document.getElementById('file-url').href = fileUrl || '#';
136+
document.getElementById('resource-node-id').textContent = resourceNodeId || '';
137+
document.getElementById('resource-file-id').textContent = resourceFileId || '';
134138
135139
modal.style.display = "block";
136140
};
@@ -156,7 +160,7 @@
156160
copyPathButton.classList.add('mdi-content-copy');
157161
}, 2000);
158162
}, function(err) {
159-
alert('Failed to copy: ', err);
163+
alert('Failed to copy: ' + err);
160164
});
161165
};
162166
});

0 commit comments

Comments
 (0)