From 497f7793e0216b0d9a2b723fd1db2436283bef4f Mon Sep 17 00:00:00 2001 From: Massimiliano Assante Date: Thu, 13 Feb 2014 15:35:43 +0000 Subject: [PATCH] fixed bug allowing users to post while generating file/url previews, fixed bug allowing users to mention theirselves git-svn-id: https://svn.research-infrastructures.eu/d4science/gcube/trunk/portlets/user/share-updates@91547 82a268e6-3cf1-43bd-a215-b396298e98cf --- pom.xml | 14 ++++++++- .../client/view/ShareUpdateForm.java | 31 ++++++++++++++++++- .../server/ShareUpdateServiceImpl.java | 7 +++-- 3 files changed, 47 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index 4253583..f831fc0 100644 --- a/pom.xml +++ b/pom.xml @@ -102,6 +102,18 @@ [1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT) compile + + org.gcube.contentmanagement + storage-manager-core + [2.0.0-SNAPSHOT, 3.0.0-SNAPSHOT) + compile + + + org.gcube.contentmanagement + storage-manager-wrapper + [2.0.0-SNAPSHOT, 3.0.0-SNAPSHOT) + compile + org.swinglabs pdf-renderer @@ -139,7 +151,7 @@ home-library provided - + org.gcube.common home-library-jcr provided diff --git a/src/main/java/org/gcube/portlets/user/shareupdates/client/view/ShareUpdateForm.java b/src/main/java/org/gcube/portlets/user/shareupdates/client/view/ShareUpdateForm.java index 59ae260..c6be09b 100644 --- a/src/main/java/org/gcube/portlets/user/shareupdates/client/view/ShareUpdateForm.java +++ b/src/main/java/org/gcube/portlets/user/shareupdates/client/view/ShareUpdateForm.java @@ -22,8 +22,10 @@ import org.jsonmaker.gwt.client.Jsonizer; import com.google.gwt.core.client.GWT; import com.google.gwt.dom.client.Document; import com.google.gwt.dom.client.Style.Display; +import com.google.gwt.dom.client.Style.VerticalAlign; import com.google.gwt.dom.client.Style.Visibility; import com.google.gwt.event.dom.client.ClickEvent; +import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.event.shared.HandlerManager; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiFactory; @@ -37,6 +39,8 @@ import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.FileUpload; import com.google.gwt.user.client.ui.HTML; import com.google.gwt.user.client.ui.HTMLPanel; +import com.google.gwt.user.client.ui.HasAlignment; +import com.google.gwt.user.client.ui.HorizontalPanel; import com.google.gwt.user.client.ui.Image; import com.google.gwt.user.client.ui.ListBox; import com.google.gwt.user.client.ui.Widget; @@ -341,16 +345,19 @@ public class ShareUpdateForm extends Composite { for( String item : parts ) { if (item.startsWith("http")) { preview.add(new LinkLoader()); + submitButton.setEnabled(false); //GWT.log("It's http link:" + linkToCheck); shareupdateService.checkLink(textToCheck, new AsyncCallback() { public void onFailure(Throwable caught) { preview.clear(); + submitButton.setEnabled(true); } public void onSuccess(LinkPreview result) { preview.clear(); if (result != null) - addPreview(result, false); + addPreview(result, false); + submitButton.setEnabled(true); } }); break; @@ -369,11 +376,31 @@ public class ShareUpdateForm extends Composite { */ protected void checkFile(final String fileName, final String absolutePathOnServer) { preview.add(new LinkLoader()); + submitButton.setEnabled(false); shareupdateService.checkUploadedFile(fileName, absolutePathOnServer, new AsyncCallback() { public void onFailure(Throwable caught) { + GWT.log("Failed"); uploadProgress.showRegisteringResult(false); preview.clear(); attachButton.getElement().getStyle().setVisibility(Visibility.VISIBLE); //beacuse otherwise it looses the other properties setting + submitButton.setEnabled(true); + final HorizontalPanel hp = new HorizontalPanel(); + final Button close = new Button("Try Again"); + final HTML reportIssue = new HTML("" + + "Report the issue"); + + close.addClickHandler(new ClickHandler() { + @Override + public void onClick(ClickEvent event) { + uploadProgress.setVisible(false); + preview.remove(hp); + } + }); + + hp.setVerticalAlignment(HasAlignment.ALIGN_MIDDLE); + hp.add(close); + hp.add(reportIssue); + preview.add(hp); } public void onSuccess(LinkPreview result) { @@ -384,6 +411,8 @@ public class ShareUpdateForm extends Composite { attachButton.getElement().getStyle().setVisibility(Visibility.HIDDEN); //beacuse otherwise it looses the other properties setting uploadedFilePathOnServer = absolutePathOnServer; uploadedFileNameOnServer = fileName; + submitButton.setEnabled(true); + } }); } diff --git a/src/main/java/org/gcube/portlets/user/shareupdates/server/ShareUpdateServiceImpl.java b/src/main/java/org/gcube/portlets/user/shareupdates/server/ShareUpdateServiceImpl.java index 9310579..10b7440 100644 --- a/src/main/java/org/gcube/portlets/user/shareupdates/server/ShareUpdateServiceImpl.java +++ b/src/main/java/org/gcube/portlets/user/shareupdates/server/ShareUpdateServiceImpl.java @@ -133,8 +133,8 @@ public class ShareUpdateServiceImpl extends RemoteServiceServlet implements Shar if (user == null) { _log.warn("USER IS NULL setting test.user and Running OUTSIDE PORTAL"); user = "test.user"; -// user = "massimiliano.assante"; -// SessionManager.getInstance().getASLSession(sessionID, user).setScope("/gcube/devsec/devVRE"); + user = "massimiliano.assante"; + SessionManager.getInstance().getASLSession(sessionID, user).setScope("/gcube/devsec/devVRE"); withinPortal = false; } else { @@ -811,13 +811,14 @@ public class ShareUpdateServiceImpl extends RemoteServiceServlet implements Shar @Override public ArrayList getPortalUsers() { ArrayList portalUsers = new ArrayList(); + String currUser = getASLSession().getUsername(); try { if (withinPortal) { UserManager um = new LiferayUserManager(); GroupManager gm = new LiferayGroupManager(); List users = um.listUsersByGroup(gm.getRootVO().getGroupId()); for (UserModel user : users) { - if (user.getScreenName().compareTo("test.user") != 0) { //skip test.user + if (user.getScreenName().compareTo("test.user") != 0 && user.getScreenName().compareTo(currUser) != 0) { //skip test.user & current user String thumbnailURL = ""; com.liferay.portal.model.UserModel lifeUser = UserLocalServiceUtil.getUserByScreenName(OrganizationsUtil.getCompany().getCompanyId(), user.getScreenName()); thumbnailURL = "/image/user_male_portrait?img_id="+lifeUser.getPortraitId();