[kune-commits] r895 - in trunk: img/icons
src/main/java/org/ourproject/kune/chat/client
src/main/java/org/ourproject/kune/platf/client/actions
src/main/java/org/ourproject/kune/platf/client/app
src/main/java/org/ourproject/kune/platf/client/dto
src/main/java/org/ourproject/kune/platf/client/rpc
src/main/java/org/ourproject/kune/platf/client/services
src/main/java/org/ourproject/kune/platf/client/state
src/main/java/org/ourproject/kune/platf/client/tool
src/main/java/org/ourproject/kune/platf/client/ui/upload
src/main/java/org/ourproject/kune/platf/public/images
src/main/java/org/ourproject/kune/platf/server/domain
src/main/java/org/ourproject/kune/platf/server/manager
src/main/java/org/ourproject/kune/platf/server/manager/impl
src/main/java/org/ourproject/kune/platf/server/rpc
src/main/java/org/ourproject/kune/workspace/client/entitylogo
src/main/java/org/ourproject/kune/workspace/client/skel
src/test/java/org/ourproject/kune/platf/client/actions
src/test/java/org/ourproject/kune/platf/client/state
src/test/java/org/ourproject/kune/platf/client/ui/dialogs/upload
vjrj
vjrj at ourproject.org
Mon Sep 29 10:55:06 CEST 2008
Author: vjrj
Date: 2008-09-29 10:55:01 +0200 (Mon, 29 Sep 2008)
New Revision: 895
Added:
trunk/img/icons/content_edit.png
trunk/src/main/java/org/ourproject/kune/platf/client/ui/upload/FileUploader.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/upload/FileUploaderDialog.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/upload/FileUploaderPresenter.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/upload/FileUploaderView.java
trunk/src/main/java/org/ourproject/kune/platf/public/images/content_edit.png
Modified:
trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientActions.java
trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionRegistry.java
trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationDefault.java
trunk/src/main/java/org/ourproject/kune/platf/client/dto/GroupDTO.java
trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupService.java
trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupServiceAsync.java
trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java
trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java
trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManager.java
trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManagerDefault.java
trunk/src/main/java/org/ourproject/kune/platf/client/tool/ToolSelectorPresenter.java
trunk/src/main/java/org/ourproject/kune/platf/server/domain/Group.java
trunk/src/main/java/org/ourproject/kune/platf/server/manager/GroupManager.java
trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/FileUploadManager.java
trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/GroupManagerDefault.java
trunk/src/main/java/org/ourproject/kune/platf/server/rpc/GroupRPC.java
trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogo.java
trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/skel/WorkspaceSkeleton.java
trunk/src/test/java/org/ourproject/kune/platf/client/actions/ActionRegistryTest.java
trunk/src/test/java/org/ourproject/kune/platf/client/state/StateManagerTest.java
trunk/src/test/java/org/ourproject/kune/platf/client/ui/dialogs/upload/FileUploaderPresenterTest.java
Log:
ya estamos con errores en el svn y si la abuela fuma
Added: trunk/img/icons/content_edit.png
===================================================================
(Binary files differ)
Property changes on: trunk/img/icons/content_edit.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientActions.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientActions.java 2008-09-29 08:54:12 UTC (rev 894)
+++ trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientActions.java 2008-09-29 08:55:01 UTC (rev 895)
@@ -16,7 +16,6 @@
public class ChatClientActions {
- private final I18nUITranslationService i18n;
private final Session session;
private final Provider<ChatClientTool> chatClientToolProvider;
private final ContentActionRegistry contentActionRegistry;
@@ -24,7 +23,6 @@
public ChatClientActions(final I18nUITranslationService i18n, final Session session,
final ContentActionRegistry contentActionRegistry, final ContextActionRegistry contextActionRegistry,
final Provider<ChatClientTool> chatClientToolProvider) {
- this.i18n = i18n;
this.session = session;
this.contentActionRegistry = contentActionRegistry;
this.chatClientToolProvider = chatClientToolProvider;
@@ -42,13 +40,13 @@
});
// chatAbout.setTextDescription(i18n.t("Chat about"));
chatAbout.setIconUrl("images/emite-room.png");
- chatAbout.setToolTip("Chat online about this");
+ chatAbout.setToolTip("Chat and comment this");
chatAbout.setLeftSeparator(ActionButtonSeparator.fill);
- contentActionRegistry.addAction(DocumentClientTool.TYPE_DOCUMENT, chatAbout);
- contentActionRegistry.addAction(DocumentClientTool.TYPE_GALLERY, chatAbout);
- contentActionRegistry.addAction(DocumentClientTool.TYPE_WIKIPAGE, chatAbout);
- contentActionRegistry.addAction(DocumentClientTool.TYPE_POST, chatAbout);
- contentActionRegistry.addAction(DocumentClientTool.TYPE_UPLOADEDFILE, chatAbout);
+ contentActionRegistry.addAction(chatAbout, DocumentClientTool.TYPE_DOCUMENT);
+ contentActionRegistry.addAction(chatAbout, DocumentClientTool.TYPE_GALLERY);
+ contentActionRegistry.addAction(chatAbout, DocumentClientTool.TYPE_WIKIPAGE);
+ contentActionRegistry.addAction(chatAbout, DocumentClientTool.TYPE_POST);
+ contentActionRegistry.addAction(chatAbout, DocumentClientTool.TYPE_UPLOADEDFILE);
}
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionRegistry.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionRegistry.java 2008-09-29 08:54:12 UTC (rev 894)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionRegistry.java 2008-09-29 08:55:01 UTC (rev 895)
@@ -12,9 +12,11 @@
actions = new HashMap<String, ActionCollection<T>>();
}
- public void addAction(final String contentTypeId, final ActionDescriptor<T> action) {
- final ActionCollection<T> actionColl = getActions(contentTypeId);
- actionColl.add(action);
+ public void addAction(final ActionDescriptor<T> action, final String... contentTypeIds) {
+ for (final String contentTypeId : contentTypeIds) {
+ final ActionCollection<T> actionColl = getActions(contentTypeId);
+ actionColl.add(action);
+ }
}
public boolean checkEnabling(final ActionDescriptor<T> action, final T T) {
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationDefault.java 2008-09-29 08:54:12 UTC (rev 894)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationDefault.java 2008-09-29 08:55:01 UTC (rev 895)
@@ -49,10 +49,10 @@
this.onApplicationStop = new Event0("onApplicationStop");
Window.addWindowCloseListener(new WindowCloseListener() {
public void onWindowClosed() {
- stop();
}
public String onWindowClosing() {
+ stop();
return null;
}
});
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/dto/GroupDTO.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/dto/GroupDTO.java 2008-09-29 08:54:12 UTC (rev 894)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/dto/GroupDTO.java 2008-09-29 08:55:01 UTC (rev 895)
@@ -30,6 +30,7 @@
private String publicDesc;
private GroupType type;
private ContentSimpleDTO defaultContent;
+ private ContentSimpleDTO groupLogo;
private LicenseDTO defaultLicense;
private String workspaceTheme;
private String tags;
@@ -102,6 +103,10 @@
return defaultLicense;
}
+ public ContentSimpleDTO getGroupLogo() {
+ return groupLogo;
+ }
+
public Long getId() {
return id;
}
@@ -150,6 +155,10 @@
this.defaultLicense = defaultLicense;
}
+ public void setGroupLogo(final ContentSimpleDTO groupLogo) {
+ this.groupLogo = groupLogo;
+ }
+
public void setId(final Long id) {
this.id = id;
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupService.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupService.java 2008-09-29 08:54:12 UTC (rev 894)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupService.java 2008-09-29 08:55:01 UTC (rev 895)
@@ -32,4 +32,6 @@
StateToken createNewGroup(String userHash, GroupDTO group) throws DefaultException;
+ GroupDTO setGroupLogo(String userHash, StateToken token);
+
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupServiceAsync.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupServiceAsync.java 2008-09-29 08:54:12 UTC (rev 894)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupServiceAsync.java 2008-09-29 08:55:01 UTC (rev 895)
@@ -31,4 +31,6 @@
void createNewGroup(String userHash, GroupDTO group, AsyncCallback<StateToken> callback);
+ void setGroupLogo(String userHash, StateToken token, AsyncCallback<GroupDTO> asyncCallback);
+
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java 2008-09-29 08:54:12 UTC (rev 894)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java 2008-09-29 08:55:01 UTC (rev 895)
@@ -32,9 +32,10 @@
import org.ourproject.kune.platf.client.state.StateManagerDefault;
import org.ourproject.kune.platf.client.tool.ToolSelector;
import org.ourproject.kune.platf.client.tool.ToolSelectorPresenter;
-import org.ourproject.kune.platf.client.ui.dialogs.upload.FileUploader;
-import org.ourproject.kune.platf.client.ui.dialogs.upload.FileUploaderDialog;
-import org.ourproject.kune.platf.client.ui.dialogs.upload.FileUploaderPresenter;
+import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils;
+import org.ourproject.kune.platf.client.ui.upload.FileUploader;
+import org.ourproject.kune.platf.client.ui.upload.FileUploaderDialog;
+import org.ourproject.kune.platf.client.ui.upload.FileUploaderPresenter;
import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
import org.ourproject.kune.workspace.client.ctxnav.ContextNavigatorPanel;
import org.ourproject.kune.workspace.client.ctxnav.ContextNavigatorPresenter;
@@ -356,6 +357,12 @@
}
});
+ register(Singleton.class, new Factory<FileDownloadUtils>(FileDownloadUtils.class) {
+ public FileDownloadUtils create() {
+ return new FileDownloadUtils($(Session.class));
+ }
+ });
+
// Register of tokens like "signin", "newgroup", "translate" etcetera
$(StateManager.class).addSiteToken(SiteToken.signin.toString(), new Listener<StateToken>() {
public void onEvent(final StateToken previousStateToken) {
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java 2008-09-29 08:54:12 UTC (rev 894)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java 2008-09-29 08:55:01 UTC (rev 895)
@@ -8,6 +8,7 @@
import org.ourproject.kune.platf.client.state.Session;
import org.ourproject.kune.platf.client.state.StateManager;
import org.ourproject.kune.platf.client.ui.QuickTipsHelper;
+import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils;
import org.ourproject.kune.platf.client.ui.rate.RateIt;
import org.ourproject.kune.platf.client.ui.rate.RateItPanel;
import org.ourproject.kune.platf.client.ui.rate.RateItPresenter;
@@ -209,9 +210,9 @@
register(ApplicationComponentGroup.class, new Factory<EntityLogo>(EntityLogo.class) {
public EntityLogo create() {
final EntityLogoPresenter presenter = new EntityLogoPresenter($(StateManager.class),
- $(WsThemePresenter.class));
+ $(WsThemePresenter.class), $(Session.class));
final EntityLogoPanel panel = new EntityLogoPanel($(I18nUITranslationService.class),
- $(WorkspaceSkeleton.class));
+ $(WorkspaceSkeleton.class), $$(FileDownloadUtils.class));
presenter.init(panel);
return presenter;
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManager.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManager.java 2008-09-29 08:54:12 UTC (rev 894)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManager.java 2008-09-29 08:55:01 UTC (rev 895)
@@ -20,6 +20,7 @@
package org.ourproject.kune.platf.client.state;
+import org.ourproject.kune.platf.client.dto.GroupDTO;
import org.ourproject.kune.platf.client.dto.SocialNetworkResultDTO;
import org.ourproject.kune.platf.client.dto.StateDTO;
import org.ourproject.kune.platf.client.dto.StateToken;
@@ -38,7 +39,7 @@
void gotoToken(String token);
- void onGroupChanged(Listener2<String, String> listener);
+ void onGroupChanged(Listener2<GroupDTO, GroupDTO> listener);
void onSocialNetworkChanged(Listener<StateDTO> listener);
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManagerDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManagerDefault.java 2008-09-29 08:54:12 UTC (rev 894)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManagerDefault.java 2008-09-29 08:55:01 UTC (rev 895)
@@ -23,6 +23,7 @@
import java.util.HashMap;
import org.ourproject.kune.platf.client.app.HistoryWrapper;
+import org.ourproject.kune.platf.client.dto.GroupDTO;
import org.ourproject.kune.platf.client.dto.ParticipationDataDTO;
import org.ourproject.kune.platf.client.dto.SocialNetworkDTO;
import org.ourproject.kune.platf.client.dto.SocialNetworkResultDTO;
@@ -48,7 +49,7 @@
private final Event<StateDTO> onStateChanged;
private final Event<StateDTO> onSocialNetworkChanged;
private final Event2<String, String> onToolChanged;
- private final Event2<String, String> onGroupChanged;
+ private final Event2<GroupDTO, GroupDTO> onGroupChanged;
public StateManagerDefault(final ContentProvider contentProvider, final Session session,
final HistoryWrapper history) {
@@ -57,7 +58,7 @@
this.history = history;
this.oldState = null;
this.onStateChanged = new Event<StateDTO>("onStateChanged");
- this.onGroupChanged = new Event2<String, String>("onGroupChanged");
+ this.onGroupChanged = new Event2<GroupDTO, GroupDTO>("onGroupChanged");
this.onToolChanged = new Event2<String, String>("onToolChanged");
this.onSocialNetworkChanged = new Event<StateDTO>("onSocialNetworkChanged");
session.onUserSignIn(new Listener<UserInfoDTO>() {
@@ -92,7 +93,7 @@
gotoToken(new StateToken(token));
}
- public void onGroupChanged(final Listener2<String, String> listener) {
+ public void onGroupChanged(final Listener2<GroupDTO, GroupDTO> listener) {
onGroupChanged.add(listener);
}
@@ -159,12 +160,12 @@
}
private void checkGroupAndToolChange(final StateDTO oldState, final StateDTO newState) {
- final String oldGroupName = oldState != null ? oldState.getGroup().getShortName() : null;
- final String newGroupName = newState.getGroup().getShortName();
+ final GroupDTO oldGroup = oldState != null ? oldState.getGroup() : null;
+ final GroupDTO newGroup = newState.getGroup();
final String oldToolName = oldState != null ? oldState.getToolName() : null;
final String newToolName = newState.getToolName();
- if (oldState == null || !oldGroupName.equals(newGroupName)) {
- onGroupChanged.fire(oldGroupName, newGroupName);
+ if (oldState == null || !oldGroup.equals(newGroup)) {
+ onGroupChanged.fire(oldGroup, newGroup);
}
if (oldState == null || !oldToolName.equals(newToolName)) {
onToolChanged.fire(oldToolName, newToolName);
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/tool/ToolSelectorPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/tool/ToolSelectorPresenter.java 2008-09-29 08:54:12 UTC (rev 894)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/tool/ToolSelectorPresenter.java 2008-09-29 08:55:01 UTC (rev 895)
@@ -2,6 +2,7 @@
import java.util.HashMap;
+import org.ourproject.kune.platf.client.dto.GroupDTO;
import org.ourproject.kune.platf.client.state.StateManager;
import org.ourproject.kune.workspace.client.themes.WsThemePresenter;
@@ -13,9 +14,9 @@
public ToolSelectorPresenter(final StateManager stateManager, final WsThemePresenter wsThemePresenter) {
tools = new HashMap<String, ToolSelectorItem>();
- stateManager.onGroupChanged(new Listener2<String, String>() {
- public void onEvent(final String oldGroupName, final String newGroupName) {
- onGroupChanged(newGroupName);
+ stateManager.onGroupChanged(new Listener2<GroupDTO, GroupDTO>() {
+ public void onEvent(final GroupDTO oldGroup, final GroupDTO newGroup) {
+ onGroupChanged(newGroup.getShortName());
}
});
stateManager.onToolChanged(new Listener2<String, String>() {
Added: trunk/src/main/java/org/ourproject/kune/platf/client/ui/upload/FileUploader.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/upload/FileUploader.java 2008-09-29 08:54:12 UTC (rev 894)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/upload/FileUploader.java 2008-09-29 08:55:01 UTC (rev 895)
@@ -0,0 +1,19 @@
+package org.ourproject.kune.platf.client.ui.upload;
+
+public interface FileUploader {
+
+ public static final String USERHASH = "userhash";
+ public static final String CURRENT_STATE_TOKEN = "currentStateToken";
+ public static final String FILENAME = "filename";
+
+ boolean hasUploadingFiles();
+
+ void hide();
+
+ void resetPermittedExtensions();
+
+ void setPermittedExtensions(String extensions);
+
+ void show();
+
+}
Added: trunk/src/main/java/org/ourproject/kune/platf/client/ui/upload/FileUploaderDialog.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/upload/FileUploaderDialog.java 2008-09-29 08:54:12 UTC (rev 894)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/upload/FileUploaderDialog.java 2008-09-29 08:55:01 UTC (rev 895)
@@ -0,0 +1,179 @@
+package org.ourproject.kune.platf.client.ui.upload;
+
+import org.ourproject.kune.platf.client.ui.KuneStringUtils;
+import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
+import org.ourproject.kune.workspace.client.site.Site;
+import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+
+import com.allen_sauer.gwt.log.client.Log;
+import com.google.gwt.core.client.JavaScriptObject;
+import com.google.gwt.user.client.Command;
+import com.google.gwt.user.client.DeferredCommand;
+import com.gwtext.client.core.EventObject;
+import com.gwtext.client.core.UrlParam;
+import com.gwtext.client.widgets.Button;
+import com.gwtext.client.widgets.ToolbarButton;
+import com.gwtext.client.widgets.Window;
+import com.gwtext.client.widgets.event.ButtonListenerAdapter;
+import com.gwtextux.client.widgets.upload.UploadDialog;
+import com.gwtextux.client.widgets.upload.UploadDialogListenerAdapter;
+
+public class FileUploaderDialog implements FileUploaderView {
+
+ protected static final String SITE_FILE_UPLOADER = "k-site-file-uploader";
+
+ private static final String URL = "/kune/servlets/FileUploadManager";
+
+ private UploadDialog dialog;
+ private ToolbarButton traybarButton;
+ private final I18nUITranslationService i18n;
+ private final WorkspaceSkeleton ws;
+ private final FileUploaderPresenter presenter;
+
+ public FileUploaderDialog(final FileUploaderPresenter presenter, final I18nUITranslationService i18n,
+ final WorkspaceSkeleton ws) {
+ this.presenter = presenter;
+ this.i18n = i18n;
+ this.ws = ws;
+ createDialog(false);
+ }
+
+ public void destroy() {
+ if (hasUploadingFiles()) {
+ dialog.stopUpload();
+ Site.important(i18n.t("Upload canceled after sign out"));
+ }
+ if (dialog != null) {
+ dialog.destroy();
+ dialog = null;
+ }
+ if (traybarButton != null) {
+ traybarButton.destroy();
+ traybarButton = null;
+ }
+ }
+
+ public boolean hasUploadingFiles() {
+ return dialog.hasUnuploadedFiles();
+ }
+
+ public void hide() {
+ dialog.hide();
+ }
+
+ public void resetPermittedExtensions() {
+ final String[] extensions = {};
+ setPermittedExtensions(extensions);
+ }
+
+ public void setPermittedExtensions(final String extensions) {
+ final Object[] objs = KuneStringUtils.splitTags(extensions).toArray();
+ final String[] exts = new String[objs.length];
+ for (int i = 0; i < objs.length; i++) {
+ exts[i] = (String) objs[i];
+ }
+ setPermittedExtensions(exts);
+ }
+
+ public void setUploadParams(final String userhash, final String currentStateToken) {
+ // Warning take into account param[size]
+ final UrlParam param[] = new UrlParam[2];
+ param[0] = new UrlParam(FileUploader.USERHASH, userhash);
+ param[1] = new UrlParam(FileUploader.CURRENT_STATE_TOKEN, currentStateToken);
+ dialog.setBaseParams(param);
+ }
+
+ public void show() {
+ if (traybarButton == null) {
+ traybarButton = new ToolbarButton();
+ traybarButton.setTooltip(i18n.t("Show/hide uploader window"));
+ traybarButton.setIcon("images/nav/upload.png");
+ traybarButton.addListener(new ButtonListenerAdapter() {
+ @Override
+ public void onClick(final Button button, final EventObject e) {
+ if (dialog.isVisible()) {
+ dialog.hide();
+ } else {
+ dialog.show();
+ }
+ }
+ });
+ ws.getSiteTraybar().addButton(traybarButton);
+ }
+ if (dialog == null) {
+ createDialog(true);
+ } else {
+ dialog.show();
+ }
+ }
+
+ private void createDialog(final boolean show) {
+ dialog = new UploadDialog(i18n.t("File uploader"), false, true);
+ dialog.setId(SITE_FILE_UPLOADER);
+ dialog.setAllowCloseOnUpload(true);
+ dialog.setResetOnHide(false);
+ dialog.setClosable(true);
+ dialog.setCloseAction(Window.HIDE);
+ dialog.setMinimizable(true);
+ dialog.setUploadAutostart(false);
+
+ dialog.addListener(new UploadDialogListenerAdapter() {
+ @Override
+ public boolean onBeforeAdd(final UploadDialog source, final String filename) {
+ boolean mustAdd = presenter.checkFolderChange();
+ if (!mustAdd) {
+ Site.important(i18n.t("Wait until current uploads finish to upload files in other location"));
+ }
+ return mustAdd;
+ }
+
+ @Override
+ public void onMinimize(final Window source) {
+ dialog.hide();
+ }
+
+ @Override
+ public void onUploadComplete(final UploadDialog source) {
+ if (!dialog.isVisible()) {
+ Site.info(i18n.t("Upload completed"));
+ traybarButton.destroy();
+ traybarButton = null;
+ }
+ presenter.onUploadComplete();
+ }
+
+ @Override
+ public void onUploadError(final UploadDialog source, final String filename, final JavaScriptObject data) {
+ showError();
+ }
+
+ @Override
+ public void onUploadFailed(final UploadDialog source, final String filename) {
+ showError();
+ }
+
+ private void showError() {
+ if (!dialog.isVisible()) {
+ Site.veryImportant(i18n.t("Error uploading"));
+ }
+ }
+
+ });
+ dialog.setUrl(URL);
+ if (show) {
+ dialog.show();
+ }
+ }
+
+ private void setPermittedExtensions(final String[] extensions) {
+ DeferredCommand.addCommand(new Command() {
+ public void execute() {
+ if (dialog == null) {
+ createDialog(false);
+ }
+ Log.info("PermittedExtensions: " + extensions.toString() + " length: " + extensions.length);
+ dialog.setPermittedExtensions(extensions);
+ }
+ });
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/platf/client/ui/upload/FileUploaderPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/upload/FileUploaderPresenter.java 2008-09-29 08:54:12 UTC (rev 894)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/upload/FileUploaderPresenter.java 2008-09-29 08:55:01 UTC (rev 895)
@@ -0,0 +1,75 @@
+package org.ourproject.kune.platf.client.ui.upload;
+
+import org.ourproject.kune.platf.client.dto.StateToken;
+import org.ourproject.kune.platf.client.state.Session;
+import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
+
+import com.calclab.suco.client.ioc.Provider;
+import com.calclab.suco.client.listener.Listener0;
+
+public class FileUploaderPresenter implements FileUploader {
+
+ private FileUploaderView view;
+ private final Session session;
+ private StateToken currentUploadStateToken;
+ private final Provider<ContextNavigator> navProvider;
+
+ public FileUploaderPresenter(final Session session, final Provider<ContextNavigator> navProvider) {
+ this.session = session;
+ this.navProvider = navProvider;
+ }
+
+ public boolean checkFolderChange() {
+ final StateToken currentFolderStateToken = session.getCurrentStateToken().clone().clearDocument();
+ if (sameContainer()) {
+ view.setUploadParams(session.getUserHash(), currentFolderStateToken.toString());
+ return true;
+ }
+ if (view.hasUploadingFiles()) {
+ return false;
+ } else {
+ currentUploadStateToken = currentFolderStateToken;
+ view.setUploadParams(session.getUserHash(), currentFolderStateToken.toString());
+ return true;
+ }
+ }
+
+ public boolean hasUploadingFiles() {
+ return view.hasUploadingFiles();
+ }
+
+ public void hide() {
+ view.hide();
+ }
+
+ public void init(final FileUploaderView view) {
+ this.view = view;
+ session.onUserSignOut(new Listener0() {
+ public void onEvent() {
+ view.destroy();
+ }
+ });
+ }
+
+ public void onUploadComplete() {
+ navProvider.get().refresh(currentUploadStateToken);
+ }
+
+ public void resetPermittedExtensions() {
+ view.resetPermittedExtensions();
+ }
+
+ public void setPermittedExtensions(final String extensions) {
+ view.setPermittedExtensions(extensions);
+ }
+
+ public void show() {
+ view.show();
+ }
+
+ private boolean sameContainer() {
+ final StateToken currentStateToken = session.getCurrentStateToken();
+ currentUploadStateToken = currentUploadStateToken == null ? currentStateToken : currentUploadStateToken;
+ return currentUploadStateToken.equals(currentStateToken);
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/platf/client/ui/upload/FileUploaderView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/upload/FileUploaderView.java 2008-09-29 08:54:12 UTC (rev 894)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/upload/FileUploaderView.java 2008-09-29 08:55:01 UTC (rev 895)
@@ -0,0 +1,19 @@
+package org.ourproject.kune.platf.client.ui.upload;
+
+public interface FileUploaderView {
+
+ void destroy();
+
+ boolean hasUploadingFiles();
+
+ void hide();
+
+ void resetPermittedExtensions();
+
+ void setPermittedExtensions(String extensions);
+
+ void setUploadParams(String userhash, String currentUploadStateToken);
+
+ void show();
+
+}
Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/content_edit.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/content_edit.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/domain/Group.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/domain/Group.java 2008-09-29 08:54:12 UTC (rev 894)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/domain/Group.java 2008-09-29 08:55:01 UTC (rev 895)
@@ -56,6 +56,14 @@
// Never expect or return null
public static Group NO_GROUP = null;
+ @Enumerated(EnumType.STRING)
+ @Column(nullable = false)
+ AdmissionType admissionType;
+
+ @Enumerated(EnumType.STRING)
+ @Column(nullable = false)
+ GroupType type;
+
@Id
@DocumentId
@GeneratedValue
@@ -76,17 +84,12 @@
@Length(max = 255, message = "Public desc max 255 chars of lenght")
private String publicDesc;
- @Enumerated(EnumType.STRING)
- @Column(nullable = false)
- AdmissionType admissionType;
-
- @Enumerated(EnumType.STRING)
- @Column(nullable = false)
- GroupType type;
-
@OneToOne
private Content defaultContent;
+ @OneToOne
+ private Content groupLogo;
+
@OneToOne(cascade = CascadeType.ALL)
private SocialNetwork socialNetwork;
@@ -99,175 +102,183 @@
private String workspaceTheme;
public Group() {
- this(null, null, null, null);
+ this(null, null, null, null);
}
public Group(final String shortName, final String longName) {
- this(shortName, longName, null, GroupType.PROJECT);
+ this(shortName, longName, null, GroupType.PROJECT);
}
public Group(final String shortName, final String longName, final License defaultLicense, final GroupType type) {
- this.shortName = shortName;
- this.longName = longName;
- this.toolsConfig = new HashMap<String, ToolConfiguration>();
- this.socialNetwork = new SocialNetwork();
- this.defaultLicense = defaultLicense;
- this.type = type;
- this.admissionType = AdmissionType.Moderated;
+ this.shortName = shortName;
+ this.longName = longName;
+ this.toolsConfig = new HashMap<String, ToolConfiguration>();
+ this.socialNetwork = new SocialNetwork();
+ this.defaultLicense = defaultLicense;
+ this.type = type;
+ this.admissionType = AdmissionType.Moderated;
}
- @Finder(query = "FROM Group")
- public List<Group> getAll() {
- return null;
+ @Override
+ public boolean equals(final Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (obj == null) {
+ return false;
+ }
+ if (getClass() != obj.getClass()) {
+ return false;
+ }
+ final Group other = (Group) obj;
+ if (shortName == null) {
+ if (other.shortName != null) {
+ return false;
+ }
+ } else if (!shortName.equals(other.shortName)) {
+ return false;
+ }
+ return true;
}
- @Finder(query = "FROM Group g WHERE g.shortName = :shortName")
- public Group findByShortName(@Named("shortName")
- final String shortName) {
- return null;
+ public boolean existToolConfig(final String toolName) {
+ return toolsConfig.get(toolName) != null;
}
@Finder(query = "FROM Group g WHERE g.id IN (SELECT g.id FROM g.socialNetwork.accessLists.admins.list adm WHERE adm.id = :groupid)")
public List<Group> findAdminInGroups(@Named("groupid")
final Long groupId) {
- return null;
+ return null;
}
+ @Finder(query = "FROM Group g WHERE g.shortName = :shortName")
+ public Group findByShortName(@Named("shortName")
+ final String shortName) {
+ return null;
+ }
+
@Finder(query = "FROM Group g WHERE g.id IN (SELECT g.id FROM g.socialNetwork.accessLists.editors.list AS ed WHERE ed.id = :groupid)")
public List<Group> findCollabInGroups(@Named("groupid")
final Long groupId) {
- return null;
+ return null;
}
- public String getShortName() {
- return shortName;
+ public AdmissionType getAdmissionType() {
+ return admissionType;
}
- public void setShortName(final String shortName) {
- this.shortName = shortName;
+ @Finder(query = "FROM Group")
+ public List<Group> getAll() {
+ return null;
}
- public AdmissionType getAdmissionType() {
- return admissionType;
+ public Content getDefaultContent() {
+ return defaultContent;
}
- public void setAdmissionType(final AdmissionType admissionType) {
- this.admissionType = admissionType;
+ public License getDefaultLicense() {
+ return defaultLicense;
}
- public Long getId() {
- return id;
+ public Content getGroupLogo() {
+ return groupLogo;
}
- public void setId(final Long id) {
- this.id = id;
+ public Long getId() {
+ return id;
}
public String getLongName() {
- return longName;
+ return longName;
}
- public void setLongName(final String longName) {
- this.longName = longName;
+ public String getPublicDesc() {
+ return publicDesc;
}
- public Content getDefaultContent() {
- return defaultContent;
+ public Container getRoot(final String toolName) {
+ return toolsConfig.get(toolName).getRoot();
}
- public void setDefaultContent(final Content defaultContent) {
- this.defaultContent = defaultContent;
+ public String getShortName() {
+ return shortName;
}
public SocialNetwork getSocialNetwork() {
- return socialNetwork;
+ return socialNetwork;
}
- public void setSocialNetwork(final SocialNetwork socialNetwork) {
- this.socialNetwork = socialNetwork;
+ public ToolConfiguration getToolConfiguration(final String name) {
+ return toolsConfig.get(name);
}
- public Container getRoot(final String toolName) {
- return toolsConfig.get(toolName).getRoot();
+ public Map<String, ToolConfiguration> getToolsConfig() {
+ return toolsConfig;
}
- public boolean existToolConfig(final String toolName) {
- return toolsConfig.get(toolName) != null;
+ public GroupType getType() {
+ return type;
}
- public Map<String, ToolConfiguration> getToolsConfig() {
- return toolsConfig;
+ public String getWorkspaceTheme() {
+ return workspaceTheme;
}
- public ToolConfiguration getToolConfiguration(final String name) {
- return toolsConfig.get(name);
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + (shortName == null ? 0 : shortName.hashCode());
+ return result;
}
- public ToolConfiguration setToolConfig(final String name, final ToolConfiguration config) {
- toolsConfig.put(name, config);
- return config;
+ public void setAdmissionType(final AdmissionType admissionType) {
+ this.admissionType = admissionType;
}
- public String getPublicDesc() {
- return publicDesc;
+ public void setDefaultContent(final Content defaultContent) {
+ this.defaultContent = defaultContent;
}
- public void setPublicDesc(final String publicDesc) {
- this.publicDesc = publicDesc;
+ public void setDefaultLicense(final License defaultLicense) {
+ this.defaultLicense = defaultLicense;
}
- public License getDefaultLicense() {
- return defaultLicense;
+ public void setGroupLogo(final Content groupLogo) {
+ this.groupLogo = groupLogo;
}
- public void setDefaultLicense(final License defaultLicense) {
- this.defaultLicense = defaultLicense;
+ public void setId(final Long id) {
+ this.id = id;
}
- public GroupType getType() {
- return type;
+ public void setLongName(final String longName) {
+ this.longName = longName;
}
- public void setType(final GroupType type) {
- this.type = type;
+ public void setPublicDesc(final String publicDesc) {
+ this.publicDesc = publicDesc;
}
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + (shortName == null ? 0 : shortName.hashCode());
- return result;
+ public void setShortName(final String shortName) {
+ this.shortName = shortName;
}
- @Override
- public boolean equals(final Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- final Group other = (Group) obj;
- if (shortName == null) {
- if (other.shortName != null) {
- return false;
- }
- } else if (!shortName.equals(other.shortName)) {
- return false;
- }
- return true;
+ public void setSocialNetwork(final SocialNetwork socialNetwork) {
+ this.socialNetwork = socialNetwork;
}
- public String getWorkspaceTheme() {
- return workspaceTheme;
+ public ToolConfiguration setToolConfig(final String name, final ToolConfiguration config) {
+ toolsConfig.put(name, config);
+ return config;
}
+ public void setType(final GroupType type) {
+ this.type = type;
+ }
+
public void setWorkspaceTheme(final String workspaceTheme) {
- this.workspaceTheme = workspaceTheme;
+ this.workspaceTheme = workspaceTheme;
}
}
\ No newline at end of file
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/GroupManager.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/GroupManager.java 2008-09-29 08:54:12 UTC (rev 894)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/GroupManager.java 2008-09-29 08:55:01 UTC (rev 895)
@@ -63,4 +63,6 @@
void setDefaultContent(String groupShortName, Content content);
+ void setGroupLogo(Group group, Content content);
+
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/FileUploadManager.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/FileUploadManager.java 2008-09-29 08:54:12 UTC (rev 894)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/FileUploadManager.java 2008-09-29 08:55:01 UTC (rev 895)
@@ -23,7 +23,7 @@
import org.ourproject.kune.docs.server.DocumentServerTool;
import org.ourproject.kune.platf.client.dto.StateToken;
import org.ourproject.kune.platf.client.services.I18nTranslationService;
-import org.ourproject.kune.platf.client.ui.dialogs.upload.FileUploader;
+import org.ourproject.kune.platf.client.ui.upload.FileUploader;
import org.ourproject.kune.platf.server.UserSession;
import org.ourproject.kune.platf.server.access.AccessRol;
import org.ourproject.kune.platf.server.access.AccessService;
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/GroupManagerDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/GroupManagerDefault.java 2008-09-29 08:54:12 UTC (rev 894)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/GroupManagerDefault.java 2008-09-29 08:55:01 UTC (rev 895)
@@ -32,6 +32,7 @@
import org.apache.lucene.search.Query;
import org.ourproject.kune.platf.client.dto.GroupType;
import org.ourproject.kune.platf.client.errors.AccessViolationException;
+import org.ourproject.kune.platf.client.errors.DefaultException;
import org.ourproject.kune.platf.client.errors.EmailAddressInUseException;
import org.ourproject.kune.platf.client.errors.GroupNameInUseException;
import org.ourproject.kune.platf.client.errors.UserMustBeLoggedException;
@@ -176,6 +177,14 @@
group.setDefaultContent(content);
}
+ public void setGroupLogo(final Group group, final Content content) {
+ if (content.getMimeType().getType().equals("image")) {
+ group.setGroupLogo(content);
+ } else {
+ new DefaultException("Trying to set not a image as group logo");
+ }
+ }
+
private void initGroup(final User user, final Group group) throws GroupNameInUseException {
try {
persist(group);
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/rpc/GroupRPC.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/rpc/GroupRPC.java 2008-09-29 08:54:12 UTC (rev 894)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/rpc/GroupRPC.java 2008-09-29 08:55:01 UTC (rev 895)
@@ -32,6 +32,8 @@
import org.ourproject.kune.platf.server.auth.Authenticated;
import org.ourproject.kune.platf.server.auth.Authorizated;
import org.ourproject.kune.platf.server.content.ContentManager;
+import org.ourproject.kune.platf.server.content.ContentUtils;
+import org.ourproject.kune.platf.server.domain.Content;
import org.ourproject.kune.platf.server.domain.Group;
import org.ourproject.kune.platf.server.domain.User;
import org.ourproject.kune.platf.server.manager.GroupManager;
@@ -62,7 +64,7 @@
@Authenticated
@Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Administrator)
- @Transactional(type = TransactionType.READ_WRITE, rollbackOn = DefaultException.class)
+ @Transactional(type = TransactionType.READ_WRITE)
public void changeGroupWsTheme(final String userHash, final StateToken groupToken, final String theme)
throws DefaultException {
final UserSession userSession = getUserSession();
@@ -85,6 +87,16 @@
return newGroup.getDefaultContent().getStateToken();
}
+ @Authenticated
+ @Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Administrator)
+ @Transactional(type = TransactionType.READ_WRITE)
+ public GroupDTO setGroupLogo(final String userHash, final StateToken token) {
+ final Group group = groupManager.findByShortName(token.getGroup());
+ final Content content = contentManager.find(ContentUtils.parseId(token.getDocument()));
+ groupManager.setGroupLogo(group, content);
+ return mapper.map(group, GroupDTO.class);
+ }
+
private UserSession getUserSession() {
return userSessionProvider.get();
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogo.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogo.java 2008-09-29 08:54:12 UTC (rev 894)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogo.java 2008-09-29 08:55:01 UTC (rev 895)
@@ -1,6 +1,7 @@
package org.ourproject.kune.workspace.client.entitylogo;
-
public interface EntityLogo {
+ void refreshGroupLogo();
+
}
\ No newline at end of file
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPanel.java 2008-09-29 08:54:12 UTC (rev 894)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPanel.java 2008-09-29 08:55:01 UTC (rev 895)
@@ -20,11 +20,16 @@
package org.ourproject.kune.workspace.client.entitylogo;
+import org.ourproject.kune.platf.client.dto.StateToken;
import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.ui.dialogs.InfoDialog;
+import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils;
import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
import org.ourproject.kune.workspace.client.themes.WsTheme;
+import com.calclab.suco.client.ioc.Provider;
import com.google.gwt.user.client.DOM;
+import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Hyperlink;
@@ -32,6 +37,7 @@
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.SimplePanel;
import com.google.gwt.user.client.ui.VerticalPanel;
+import com.google.gwt.user.client.ui.Widget;
public class EntityLogoPanel extends SimplePanel implements EntityLogoView {
class EntityTextLogo extends VerticalPanel {
@@ -58,8 +64,17 @@
putYourLogoHP.add(defTextPutYourLogoHL);
// Set properties
- // TODO: Put your logo here functionality
defTextPutYourLogoHL.setText(i18n.t("Put Your Logo Here"));
+ defTextPutYourLogoHL.addClickListener(new ClickListener() {
+ public void onClick(final Widget sender) {
+ final InfoDialog infoDialog = new InfoDialog(
+ "Configure your group logo",
+ "Howto configure your group logo",
+ "For configure your group's logo just add an image to your group contents and select it as your group's logo (see menu 'File'). Whe are working into a more direct way to do that.",
+ i18n.t("Ok"), false, false, 300, 200);
+ infoDialog.show();
+ }
+ });
expandCell.setWidth("100%");
putYourLogoHP.setCellWidth(expandCell, "100%");
// TODO: link to configure the logo
@@ -83,17 +98,33 @@
}
+ private static final int LOGO_ICON_DEFAULT_WIDTH = 468;
+ private static final int LOGO_ICON_DEFAULT_HEIGHT = 60;
+
private EntityTextLogo entityTextLogo;
private final I18nTranslationService i18n;
+ private final Provider<FileDownloadUtils> dowloadProvider;
- public EntityLogoPanel(final I18nTranslationService i18n, final WorkspaceSkeleton ws) {
+ public EntityLogoPanel(final I18nTranslationService i18n, final WorkspaceSkeleton ws,
+ final Provider<FileDownloadUtils> dowloadProvider) {
this.i18n = i18n;
+ this.dowloadProvider = dowloadProvider;
ws.addToEntityMainHeader(this);
}
- public void setLogo(final Image image) {
+ public void setLogo(final StateToken stateToken, final boolean clipped) {
clear();
- add(image);
+ final String imageUrl = dowloadProvider.get().getImageUrl(stateToken);
+ Image logo;
+ if (clipped) {
+ logo = new Image(imageUrl, 0, 0, LOGO_ICON_DEFAULT_WIDTH, LOGO_ICON_DEFAULT_HEIGHT);
+ } else {
+
+ logo = new Image(imageUrl);
+ logo.setWidth("" + LOGO_ICON_DEFAULT_WIDTH);
+ logo.setHeight("" + LOGO_ICON_DEFAULT_HEIGHT);
+ }
+ add(logo);
}
public void setLogo(final String groupName) {
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPresenter.java 2008-09-29 08:54:12 UTC (rev 894)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPresenter.java 2008-09-29 08:55:01 UTC (rev 895)
@@ -1,7 +1,9 @@
package org.ourproject.kune.workspace.client.entitylogo;
+import org.ourproject.kune.platf.client.dto.ContentSimpleDTO;
import org.ourproject.kune.platf.client.dto.GroupDTO;
import org.ourproject.kune.platf.client.dto.StateDTO;
+import org.ourproject.kune.platf.client.state.Session;
import org.ourproject.kune.platf.client.state.StateManager;
import org.ourproject.kune.workspace.client.themes.WsTheme;
import org.ourproject.kune.workspace.client.themes.WsThemePresenter;
@@ -11,14 +13,18 @@
public class EntityLogoPresenter implements EntityLogo {
private EntityLogoView view;
+ private final Session session;
- public EntityLogoPresenter(final StateManager stateManager, final WsThemePresenter theme) {
+ public EntityLogoPresenter(final StateManager stateManager, final WsThemePresenter theme, final Session session) {
+ this.session = session;
+ stateManager.onGroupChanged(new Listener2<GroupDTO, GroupDTO>() {
+ public void onEvent(final GroupDTO oldGroup, final GroupDTO newGroup) {
+ setGroupLogo(newGroup);
+ }
+ });
stateManager.onStateChanged(new Listener<StateDTO>() {
public void onEvent(final StateDTO state) {
- final GroupDTO group = state.getGroup();
final boolean isAdmin = state.getGroupRights().isAdministrable();
-
- view.setLogo(group.getLongName());
view.setPutYourLogoVisible(isAdmin);
}
});
@@ -31,7 +37,19 @@
public void init(final EntityLogoView view) {
this.view = view;
+ }
+ public void refreshGroupLogo() {
+ setGroupLogo(session.getCurrentState().getGroup());
}
+ private void setGroupLogo(final GroupDTO group) {
+ final ContentSimpleDTO groupLogo = group.getGroupLogo();
+ if (groupLogo != null) {
+ view.setLogo(groupLogo.getStateToken(), true);
+ } else {
+ view.setLogo(group.getLongName());
+ }
+ }
+
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoView.java 2008-09-29 08:54:12 UTC (rev 894)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoView.java 2008-09-29 08:55:01 UTC (rev 895)
@@ -1,17 +1,15 @@
package org.ourproject.kune.workspace.client.entitylogo;
+import org.ourproject.kune.platf.client.dto.StateToken;
import org.ourproject.kune.workspace.client.themes.WsTheme;
-import com.google.gwt.user.client.ui.Image;
-
public interface EntityLogoView {
- // FIXME: Don' use Image
- public abstract void setLogo(final Image image);
+ void setLogo(StateToken stateToken, boolean clipped);
- public abstract void setLogo(final String groupName);
+ void setLogo(final String groupName);
- public abstract void setPutYourLogoVisible(final boolean visible);
+ void setPutYourLogoVisible(final boolean visible);
- public abstract void setTheme(final WsTheme oldTheme, WsTheme newTheme);
+ void setTheme(final WsTheme oldTheme, WsTheme newTheme);
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/skel/WorkspaceSkeleton.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/skel/WorkspaceSkeleton.java 2008-09-29 08:54:12 UTC (rev 894)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/skel/WorkspaceSkeleton.java 2008-09-29 08:55:01 UTC (rev 895)
@@ -5,7 +5,6 @@
import com.calclab.suco.client.listener.Listener0;
import com.google.gwt.user.client.Command;
-import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.DeferredCommand;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.Widget;
@@ -83,16 +82,6 @@
extRootBody.mask(message, "x-mask-loading");
}
- public void openUrl(final String url) {
- // final Frame urlFrame = new Frame(url);
- // final Window window = new Window();
- // window.add(urlFrame);
- // window.show();
- // window.close();
- // Window.open(url, "", "_blank");
- DOM.setElementAttribute(RootPanel.get("__download").getElement(), "src", url);
- }
-
public void promptMessage(final String title, final String message, final Listener0 onEnter) {
MessageBox.prompt(title, message, new MessageBox.PromptCallback() {
public void execute(final String btnID, final String text) {
Modified: trunk/src/test/java/org/ourproject/kune/platf/client/actions/ActionRegistryTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/client/actions/ActionRegistryTest.java 2008-09-29 08:54:12 UTC (rev 894)
+++ trunk/src/test/java/org/ourproject/kune/platf/client/actions/ActionRegistryTest.java 2008-09-29 08:55:01 UTC (rev 895)
@@ -78,7 +78,7 @@
return false;
}
});
- registry.addAction(DEF_CONTENT_TYPE_ID, adminAction);
+ registry.addAction(adminAction, DEF_CONTENT_TYPE_ID);
assertTrue(!registry.checkEnabling(adminAction, new StateToken()));
}
@@ -89,14 +89,14 @@
return true;
}
});
- registry.addAction(DEF_CONTENT_TYPE_ID, adminAction);
+ registry.addAction(adminAction, DEF_CONTENT_TYPE_ID);
assertTrue(registry.checkEnabling(adminAction, new StateToken()));
}
private void addDefActions() {
- registry.addAction(DEF_CONTENT_TYPE_ID, adminAction);
- registry.addAction(DEF_CONTENT_TYPE_ID, editorAction);
- registry.addAction(DEF_CONTENT_TYPE_ID, viewerAction);
+ registry.addAction(adminAction, DEF_CONTENT_TYPE_ID);
+ registry.addAction(editorAction, DEF_CONTENT_TYPE_ID);
+ registry.addAction(viewerAction, DEF_CONTENT_TYPE_ID);
}
private void checkActionLists(final int expectedActions, final AccessRightsDTO accessRightsDTO,
Modified: trunk/src/test/java/org/ourproject/kune/platf/client/state/StateManagerTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/client/state/StateManagerTest.java 2008-09-29 08:54:12 UTC (rev 894)
+++ trunk/src/test/java/org/ourproject/kune/platf/client/state/StateManagerTest.java 2008-09-29 08:55:01 UTC (rev 895)
@@ -4,6 +4,7 @@
import org.junit.Test;
import org.mockito.Mockito;
import org.ourproject.kune.platf.client.app.HistoryWrapper;
+import org.ourproject.kune.platf.client.dto.GroupDTO;
import org.ourproject.kune.platf.client.dto.StateDTO;
import org.ourproject.kune.platf.client.dto.StateToken;
import org.ourproject.kune.workspace.client.site.SiteToken;
@@ -23,7 +24,7 @@
@SuppressWarnings("unchecked")
@Test
public void changeStateWithDifferentGroupsMustFireListener() {
- final Listener2<String, String> groupListener = Mockito.mock(Listener2.class);
+ final Listener2<GroupDTO, GroupDTO> groupListener = Mockito.mock(Listener2.class);
stateManager.onGroupChanged(groupListener);
stateManager.onHistoryChanged("group1.tool1");
stateManager.onHistoryChanged("group2.tool1");
Modified: trunk/src/test/java/org/ourproject/kune/platf/client/ui/dialogs/upload/FileUploaderPresenterTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/client/ui/dialogs/upload/FileUploaderPresenterTest.java 2008-09-29 08:54:12 UTC (rev 894)
+++ trunk/src/test/java/org/ourproject/kune/platf/client/ui/dialogs/upload/FileUploaderPresenterTest.java 2008-09-29 08:55:01 UTC (rev 895)
@@ -8,6 +8,8 @@
import org.mockito.Mockito;
import org.ourproject.kune.platf.client.dto.StateToken;
import org.ourproject.kune.platf.client.state.Session;
+import org.ourproject.kune.platf.client.ui.upload.FileUploaderPresenter;
+import org.ourproject.kune.platf.client.ui.upload.FileUploaderView;
public class FileUploaderPresenterTest {
More information about the kune-commits
mailing list