Skip to content
Snippets Groups Projects
Commit d1bebc51 authored by gnaegi's avatar gnaegi
Browse files

Merge from openolat 8.3 to openolat default with dc32d39694c4e6e5e90da216e2d9bd3f8c1b93c1

parents 168f98cb 65ad2969
No related branches found
No related tags found
No related merge requests found
......@@ -77,6 +77,8 @@ public class FeedViewHelper {
private int page = 0;
private List<Item> cachedItems;
private FeedSecurityCallback callback;
//
private FeedManager feedManager = FeedManager.getInstance();
/**
* Use this constructor for localized content (like e.g. date formats)
......@@ -175,6 +177,10 @@ public class FeedViewHelper {
* @return The media url of the item
*/
public String getMediaUrl(Item item) {
// Reload item to prevent displaying of stale content
feed = feedManager.getFeed(feed);
item = feedManager.getItem(feed, item.getGuid());
String file = null;
Enclosure enclosure = item.getEnclosure();
if (enclosure != null) {
......@@ -225,6 +231,10 @@ public class FeedViewHelper {
* @return The formatted last modified date string of the item
*/
public String getLastModified(Item item) {
// Reload item to prevent displaying of stale content
feed = feedManager.getFeed(feed);
item = feedManager.getItem(feed, item.getGuid());
String lastModified = null;
Date date = item.getLastModified();
if (date != null) {
......@@ -238,6 +248,10 @@ public class FeedViewHelper {
* @return The formatted last modified date string of the item
*/
private String getPublishDate(Item item) {
// Reload item to prevent displaying of stale content
feed = feedManager.getFeed(feed);
item = feedManager.getItem(feed, item.getGuid());
String publishDate = null;
Date date = item.getPublishDate();
if (date != null) {
......@@ -251,6 +265,10 @@ public class FeedViewHelper {
* @return Information about publication date and author
*/
private String getPublishInfo(Item item) {
// Reload item to prevent displaying of stale content
feed = feedManager.getFeed(feed);
item = feedManager.getItem(feed, item.getGuid());
String info = null;
String date = getPublishDate(item);
String author = item.getAuthor();
......@@ -275,6 +293,10 @@ public class FeedViewHelper {
* @return Information about the item. Is it draft, scheduled or published?
*/
public String getInfo(Item item) {
// Reload item to prevent displaying of stale content
feed = feedManager.getFeed(feed);
item = feedManager.getItem(feed, item.getGuid());
String info = null;
if (item.isDraft()) {
info = translator.translate("feed.item.draft");
......@@ -287,6 +309,10 @@ public class FeedViewHelper {
}
public boolean isModified(Item item) {
// Reload item to prevent displaying of stale content
feed = feedManager.getFeed(feed);
item = feedManager.getItem(feed, item.getGuid());
return item.getModifierKey() > 0 && StringHelper.containsNonWhitespace(item.getModifier());
}
......@@ -295,6 +321,10 @@ public class FeedViewHelper {
* @return Information about the item. Is it draft, scheduled or published?
*/
public String getModifierInfo(Item item) {
// Reload item to prevent displaying of stale content
feed = feedManager.getFeed(feed);
item = feedManager.getItem(feed, item.getGuid());
if (isModified(item)) {
String date = getLastModified(item);
String modifier = item.getModifier();
......@@ -315,8 +345,11 @@ public class FeedViewHelper {
return lastModified;
}
//fxdiff FXOLAT-118: size for video podcast
public String getWidth(Item item) {
// Reload item to prevent displaying of stale content
feed = feedManager.getFeed(feed);
item = feedManager.getItem(feed, item.getGuid());
int width = item.getWidth();
if(width > 0 && width < 2000) {
return Integer.toString(width);
......@@ -324,8 +357,11 @@ public class FeedViewHelper {
return "400";
}
//fxdiff FXOLAT-118: size for video podcast
public String getHeight(Item item) {
// Reload item to prevent displaying of stale content
feed = feedManager.getFeed(feed);
item = feedManager.getItem(feed, item.getGuid());
int height = item.getHeight();
if(height > 0 && height < 2000) {
return Integer.toString(height);
......@@ -369,6 +405,10 @@ public class FeedViewHelper {
* the FeedMediaDispatcher
*/
public String getItemDescriptionForBrowser(Item item) {
// Reload item to prevent displaying of stale content
feed = feedManager.getFeed(feed);
item = feedManager.getItem(feed, item.getGuid());
String itemDescription = item.getDescription();
if (itemDescription != null) {
if (feed.isExternal()) {
......@@ -393,6 +433,10 @@ public class FeedViewHelper {
* the FeedMediaDispatcher
*/
public String getItemContentForBrowser(Item item) {
// Reload item to prevent displaying of stale content
feed = feedManager.getFeed(feed);
item = feedManager.getItem(feed, item.getGuid());
String itemContent = item.getContent();
if (itemContent != null) {
if (feed.isExternal()) {
......@@ -543,6 +587,7 @@ public class FeedViewHelper {
* @param callback
*/
public void resetItems(FeedSecurityCallback callback) {
feed = feedManager.getFeed(feed);
cachedItems = feed.getFilteredItems(callback, identity);
}
......
......@@ -428,6 +428,8 @@ public class ItemsController extends BasicController implements Activateable2 {
} else if (itemLinks != null && itemLinks.contains(source)) {
Item item = (Item) ((Link) source).getUserObject();
// Reload first, could be stale
item = feedManager.getItem(feed, item.getGuid());
displayItemController(ureq, item);
} else if (source == makeInternalButton) {
......@@ -564,7 +566,7 @@ public class ItemsController extends BasicController implements Activateable2 {
// remove delete and edit buttons of this item
deleteButtons.remove(source);
for (Link editButton : editButtons) {
if (editButton.getUserObject() == item) {
if (item.equals(editButton.getUserObject())) {
editButtons.remove(editButton);
break;
}
......@@ -807,7 +809,7 @@ public class ItemsController extends BasicController implements Activateable2 {
Link result = null;
if (buttons != null && item != null) {
for (Link button : buttons) {
if (button.getUserObject() == item) {
if (item.equals(button.getUserObject())) {
result = button;
break;
}
......
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