Can view attachts in shared notes as long also share the files.

This commit is contained in:
Matias De lellis
2020-06-16 11:58:47 -03:00
parent 8f88f88dcb
commit f46b5ca651
5 changed files with 32 additions and 16 deletions

View File

@@ -189,7 +189,7 @@ View.prototype = {
this._editableColor(note.color);
this._editableShares(note.shared_with, note.shared_by);
this._editableTags(note.tags);
this._editableAttachts(note.attachts);
this._editableAttachts(note.attachts, !note.is_shared);
// Create medium div editor.
this._isEditable(!note.is_shared);
@@ -507,7 +507,7 @@ View.prototype = {
preview_url: OC.generateUrl('core') + '/preview.png?file=' + encodeURI(datapath) + '&x=512&y=512',
redirect_url: OC.generateUrl('/apps/files/?dir={dir}&scrollto={scrollto}', {dir: fileInfo.path, scrollto: fileInfo.name})
});
self._editableAttachts(attachts);
self._editableAttachts(attachts, true);
}).fail(() => {
console.log("ERRORRR");
});
@@ -798,7 +798,7 @@ View.prototype = {
$("#modal-note-div .note-tags").replaceWith(html);
}
},
_editableAttachts: function(attachts) {
_editableAttachts: function(attachts, can_delete) {
if (attachts === undefined) {
return $("#modal-note-div .note-attach").toArray().map(function (value) {
return {
@@ -808,7 +808,7 @@ View.prototype = {
};
});
} else {
var html = Handlebars.templates['attachts']({ attachts: attachts});
var html = Handlebars.templates['attachts']({ attachts: attachts, can_delete: can_delete});
$("#modal-note-div .note-attachts").replaceWith(html);
lozad('.attach-preview').observe();

View File

@@ -4,7 +4,9 @@
<a target="_blank" href="{{redirect_url}}">
<div class="attach-preview note-attach" attach-file-id="{{file_id}}" data-background-image="{{preview_url}}"/>
</a>
<div class="attach-remove icon-delete" title="{{t "quicknotes" "Delete attachment"}}"/>
{{#if ../can_delete}}
<div class="attach-remove icon-delete" title="{{t "quicknotes" "Delete attachment"}}"/>
{{/if}}
</div>
{{/each}}
</div>

View File

@@ -73,8 +73,7 @@ class AttachMapper extends QBMapper {
* @param string $userId
* @param int $noteId
* @throws \OCP\AppFramework\Db\DoesNotExistException if not found
* @throws \OCP\AppFramework\Db\MultipleObjectsReturnedException if more than one result
* @return Note[]
* @return Attach[]
*/
public function findFromNote($userId, $noteId) {
$qb = $this->db->getQueryBuilder();
@@ -86,4 +85,5 @@ class AttachMapper extends QBMapper {
);
return $this->findEntities($qb);
}
}

View File

@@ -57,13 +57,16 @@ class FileService {
* @param int $fileId file id to show
* @param int $sideSize side lenght to show
*/
public function getPreviewUrl(int $fileId, int $sideSize): string {
public function getPreviewUrl(int $fileId, int $sideSize): ?string {
$userFolder = $this->rootFolder->getUserFolder($this->userId);
$node = current($userFolder->getById($fileId));
$path = $userFolder->getRelativePath($node->getPath());
$file = current($userFolder->getById($fileId));
if (!($file instanceof File)) {
return null;
}
return $this->urlGenerator->linkToRouteAbsolute('core.Preview.getPreview', [
'file' => $path,
'file' => $userFolder->getRelativePath($file->getPath()),
'x' => $sideSize,
'y' => $sideSize
]);
@@ -78,7 +81,7 @@ class FileService {
$userFolder = $this->rootFolder->getUserFolder($this->userId);
$file = current($userFolder->getById($fileId));
if(!($file instanceof File)) {
if (!($file instanceof File)) {
return null;
}

View File

@@ -114,12 +114,23 @@ class NoteService {
// Insert attachts to response.
foreach ($notes as $note) {
$attachts = $this->attachMapper->findFromNote($userId, $note->getId());
$rAttachts = [];
$attachts = $this->attachMapper->findFromNote($note->getUserId(), $note->getId());
foreach ($attachts as $attach) {
$attach->setPreviewUrl($this->fileService->getPreviewUrl($attach->getFileId(), 512));
$attach->setRedirectUrl($this->fileService->getRedirectToFileUrl($attach->getFileId()));
$previewUrl = $this->fileService->getPreviewUrl($attach->getFileId(), 512);
if (is_null($previewUrl))
continue;
$redirectUrl = $this->fileService->getRedirectToFileUrl($attach->getFileId());
if (is_null($redirectUrl))
continue;
$attach->setPreviewUrl($previewUrl);
$attach->setRedirectUrl($redirectUrl);
$rAttachts[] = $attach;
}
$note->setAttachts($attachts);
$note->setAttachts($rAttachts);
}
return $notes;