don't display shared notes if user is owner

This commit is contained in:
Vinzenz
2016-06-03 22:41:37 +02:00
parent 60886f27e1
commit af5569a3b7
2 changed files with 16 additions and 4 deletions

View File

@@ -60,10 +60,15 @@ class NoteController extends Controller {
$shareEntries = $this->notesharemapper->findForUser($this->userId); $shareEntries = $this->notesharemapper->findForUser($this->userId);
$shares = array(); $shares = array();
foreach($shareEntries as $entry) { foreach($shareEntries as $entry) {
try {
//find is only to check if current user is owner
$this->notemapper->find($entry->getNoteId(), $this->userId);
//user is owner, nothing to do
} catch(\OCP\AppFramework\Db\DoesNotExistException $e) {
$share = $this->notemapper->findById($entry->getNoteId()); $share = $this->notemapper->findById($entry->getNoteId());
$share->setIsShared(true); $share->setIsShared(true);
$shares[] = $share; $shares[] = $share;
}
} }
$notes = array_merge($notes, $shares); $notes = array_merge($notes, $shares);
// Insert true color to response // Insert true color to response

View File

@@ -11,6 +11,13 @@ class NoteMapper extends Mapper {
parent::__construct($db, 'quicknotes_notes', '\OCA\QuickNotes\Db\Note'); parent::__construct($db, 'quicknotes_notes', '\OCA\QuickNotes\Db\Note');
} }
/**
* @param int $id
* @param string $userId
* @throws \OCP\AppFramework\Db\DoesNotExistException if not found
* @throws \OCP\AppFramework\Db\MultipleObjectsReturnedException if more than one result
* @return Note
*/
public function find($id, $userId) { public function find($id, $userId) {
$sql = 'SELECT * FROM *PREFIX*quicknotes_notes WHERE id = ? AND user_id = ?'; $sql = 'SELECT * FROM *PREFIX*quicknotes_notes WHERE id = ? AND user_id = ?';
return $this->findEntity($sql, [$id, $userId]); return $this->findEntity($sql, [$id, $userId]);