Skip to content
This repository was archived by the owner on Jul 6, 2020. It is now read-only.

Commit 70ff47a

Browse files
author
Bernhard Posselt
committed
fix # 848
1 parent 5323fa1 commit 70ff47a

24 files changed

+348
-12
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
owncloud-news (6.0.3)
2+
* **Enhancement**: Allow to pin feeds, #848
3+
14
owncloud-news (6.0.2)
25
* **Bugfix**: Generate search index when importing articles0
36
* **Enhancement**: Be less precise when jumping to the next article using a keyboard shortcut to prevent tiny jumps which are sometimes caused by re-rendering hiccups, #847

appinfo/checksum.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

appinfo/database.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,12 @@
160160
<default>false</default>
161161
<notnull>true</notnull>
162162
</field>
163+
<field>
164+
<name>pinned</name>
165+
<type>boolean</type>
166+
<default>false</default>
167+
<notnull>true</notnull>
168+
</field>
163169
<field>
164170
<name>full_text_enabled</name>
165171
<type>boolean</type>

appinfo/info.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<author>Bernhard Posselt, Alessandro Cosentino, Jan-Christoph Borchardt</author>
88
<category>multimedia</category>
99
<licence>AGPL</licence>
10-
<version>6.0.2</version>
10+
<version>6.0.3</version>
1111
<namespace>News</namespace>
1212

1313
<!-- resources -->

appinfo/routes.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
['name' => 'feed#active', 'url' => '/feeds/active', 'verb' => 'GET'],
4444
['name' => 'feed#import', 'url' => '/feeds/import/articles', 'verb' => 'POST'],
4545
['name' => 'feed#ordering', 'url' => '/feeds/{feedId}/ordering', 'verb' => 'POST'],
46+
['name' => 'feed#pinned', 'url' => '/feeds/{feedId}/pinned', 'verb' => 'POST'],
4647
['name' => 'feed#enable_full_text', 'url' => '/feeds/{feedId}/fulltext', 'verb' => 'POST'],
4748

4849
// items

controller/feedcontroller.php

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -328,4 +328,21 @@ public function enableFullText($feedId, $fullTextEnabled=false) {
328328
return [];
329329
}
330330

331+
332+
/**
333+
* @NoAdminRequired
334+
*
335+
* @param int $feedId
336+
* @param bool $isPinned
337+
*/
338+
public function pinned($feedId, $isPinned=false) {
339+
try {
340+
$this->feedService->setPinned($feedId, $isPinned, $this->userId);
341+
} catch(ServiceNotFoundException $ex) {
342+
return $this->error($ex, Http::STATUS_NOT_FOUND);
343+
}
344+
345+
return [];
346+
}
347+
331348
}

css/navigation.css

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,3 +202,11 @@
202202

203203
#app-navigation .feed-normal-ordering {
204204
}
205+
206+
#app-navigation .icon-pinned {
207+
background-image: url('../img/pinned.svg');
208+
}
209+
210+
#app-navigation .icon-unpinned {
211+
background-image: url('../img/unpinned.svg');
212+
}

css/news.min.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

css/news.min.css.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

db/feed.php

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@
3737
* @method void setFaviconLink(string $value)
3838
* @method integer getAdded()
3939
* @method void setAdded(integer $value)
40+
* @method boolean getPinned()
41+
* @method void setPinned(boolean $value)
4042
* @method integer getFolderId()
4143
* @method void setFolderId(integer $value)
4244
* @method integer getFullTextEnabled()
@@ -72,13 +74,15 @@ class Feed extends Entity implements IAPI, \JsonSerializable {
7274
protected $location;
7375
protected $ordering;
7476
protected $fullTextEnabled;
77+
protected $pinned;
7578

7679
public function __construct(){
7780
$this->addType('parentId', 'integer');
7881
$this->addType('added', 'integer');
7982
$this->addType('folderId', 'integer');
8083
$this->addType('unreadCount', 'integer');
8184
$this->addType('preventUpdate', 'boolean');
85+
$this->addType('pinned', 'boolean');
8286
$this->addType('deletedAt', 'integer');
8387
$this->addType('articlesPerUpdate', 'integer');
8488
$this->addType('ordering', 'integer');
@@ -106,7 +110,8 @@ public function jsonSerialize() {
106110
'articlesPerUpdate',
107111
'location',
108112
'ordering',
109-
'fullTextEnabled'
113+
'fullTextEnabled',
114+
'pinned'
110115
]);
111116

112117
$url = parse_url($this->link)['host'];
@@ -132,7 +137,8 @@ public function toAPI() {
132137
'folderId',
133138
'unreadCount',
134139
'ordering',
135-
'link'
140+
'link',
141+
'pinned'
136142
]);
137143
}
138144

0 commit comments

Comments
 (0)