[kune-commits] r1805 - in trunk/src: main/java/cc/kune/common/public main/java/cc/kune/core/client main/java/cc/kune/core/client/auth main/java/cc/kune/core/client/groups/newgroup main/java/cc/kune/core/client/resources main/java/cc/kune/core/client/sitebar main/java/cc/kune/core/client/sitebar/auth main/java/cc/kune/core/client/sitebar/spaces main/java/cc/kune/core/client/sn/actions/registry main/java/cc/kune/core/client/state main/java/cc/kune/core/client/state/impl main/java/cc/kune/core/public main/java/cc/kune/core/server/rpc main/java/cc/kune/core/shared/utils main/java/cc/kune/gspace/client main/java/cc/kune/gspace/client/actions main/java/cc/kune/gspace/client/options main/java/cc/kune/hspace/client main/webapp test/java/cc/kune/core/client/state/impl test/java/cc/kune/core/shared/utils test/java/cc/kune/selenium/spaces
Vicente J. Ruiz Jurado
vjrj_ at ourproject.org
Thu Mar 29 01:23:29 CEST 2012
Author: vjrj_
Date: 2012-03-29 01:23:29 +0200 (Thu, 29 Mar 2012)
New Revision: 1805
Added:
trunk/src/main/java/cc/kune/core/client/sitebar/SitebarNewGroupLink.java
trunk/src/main/java/cc/kune/hspace/client/HSpace.java
Removed:
trunk/src/main/java/cc/kune/core/client/auth/SignInNewForm.java
trunk/src/main/java/cc/kune/core/client/auth/SignInNewForm.ui.xml
trunk/src/main/java/cc/kune/core/client/sitebar/SitebarGroupsLink.java
Modified:
trunk/src/main/java/cc/kune/common/public/kune-common.css
trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
trunk/src/main/java/cc/kune/core/client/CoreParts.java
trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractPresenter.java
trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractView.java
trunk/src/main/java/cc/kune/core/client/auth/SignInForm.java
trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPanel.java
trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPresenter.java
trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupView.java
trunk/src/main/java/cc/kune/core/client/resources/CoreMessages.java
trunk/src/main/java/cc/kune/core/client/sitebar/MyGroupsMenu.java
trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java
trunk/src/main/java/cc/kune/core/client/sitebar/auth/VerifyEmailClientManager.java
trunk/src/main/java/cc/kune/core/client/sitebar/spaces/SpaceSelectorPresenter.java
trunk/src/main/java/cc/kune/core/client/sn/actions/registry/GroupSNConfActions.java
trunk/src/main/java/cc/kune/core/client/state/HistoryTokenAuthNotNeededCallback.java
trunk/src/main/java/cc/kune/core/client/state/HistoryTokenCallback.java
trunk/src/main/java/cc/kune/core/client/state/HistoryTokenMustBeAuthCallback.java
trunk/src/main/java/cc/kune/core/client/state/StateManager.java
trunk/src/main/java/cc/kune/core/client/state/impl/StateManagerDefault.java
trunk/src/main/java/cc/kune/core/public/ws.css
trunk/src/main/java/cc/kune/core/server/rpc/GroupRPC.java
trunk/src/main/java/cc/kune/core/shared/utils/SharedFileDownloadUtils.java
trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java
trunk/src/main/java/cc/kune/gspace/client/actions/ContentViewerOptionsMenu.java
trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPresenter.java
trunk/src/main/java/cc/kune/hspace/client/HSpacePanel.java
trunk/src/main/java/cc/kune/hspace/client/HSpacePresenter.java
trunk/src/main/webapp/ws.html
trunk/src/test/java/cc/kune/core/client/state/impl/StateManagerDefaultTest.java
trunk/src/test/java/cc/kune/core/shared/utils/SharedFileDownloadUtilsTest.java
trunk/src/test/java/cc/kune/selenium/spaces/SitePageObject.java
Log:
Several minor fixes
Modified: trunk/src/main/java/cc/kune/common/public/kune-common.css
===================================================================
--- trunk/src/main/java/cc/kune/common/public/kune-common.css 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/common/public/kune-common.css 2012-03-28 23:23:29 UTC (rev 1805)
@@ -503,6 +503,14 @@
/* margin-left: 5px; */
}
+img.k-iconlabel-left {
+ margin-top: -2px;
+}
+
+div.k-iconlabel {
+ margin-top: -2px;
+}
+
.k-menuimtem-title {
color: white;
font-size: 15px;
Modified: trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -78,7 +78,7 @@
import cc.kune.core.client.sitebar.SitebarActions;
import cc.kune.core.client.sitebar.SitebarActionsPanel;
import cc.kune.core.client.sitebar.SitebarActionsPresenter;
-import cc.kune.core.client.sitebar.SitebarGroupsLink;
+import cc.kune.core.client.sitebar.SitebarNewGroupLink;
import cc.kune.core.client.sitebar.SitebarSignInLink;
import cc.kune.core.client.sitebar.SitebarSignOutLink;
import cc.kune.core.client.sitebar.SitebarSignOutLink.BeforeSignOut;
@@ -252,7 +252,7 @@
s(MyGroupsMenu.class);
s(SiteUserOptionsPresenter.class);
s(SiteUserOptions.class, SiteUserOptionsPresenter.class);
- s(SitebarGroupsLink.class);
+ s(SitebarNewGroupLink.class);
s(SitebarSignInLink.class);
s(SitebarSignOutLink.class);
Modified: trunk/src/main/java/cc/kune/core/client/CoreParts.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/CoreParts.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/CoreParts.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -20,12 +20,14 @@
package cc.kune.core.client;
import cc.kune.common.client.shortcuts.GlobalShortcuts;
+import cc.kune.common.shared.i18n.I18nTranslationService;
import cc.kune.core.client.auth.AnonUsersManager;
import cc.kune.core.client.auth.Register;
import cc.kune.core.client.auth.SignIn;
import cc.kune.core.client.events.AppStartEvent;
import cc.kune.core.client.events.AppStartEvent.AppStartHandler;
import cc.kune.core.client.groups.newgroup.NewGroup;
+import cc.kune.core.client.resources.CoreMessages;
import cc.kune.core.client.sitebar.AboutKuneDialog;
import cc.kune.core.client.sitebar.SiteUserOptionsPresenter;
import cc.kune.core.client.sitebar.auth.AskForPasswordResetPanel;
@@ -68,7 +70,7 @@
final Provider<VerifyEmailClientManager> verifyManager,
final Provider<UserOptions> userOptionsDialog, final Provider<GroupOptions> groupOptionsDialog,
final Provider<PasswordResetPanel> passReset, final Provider<AskForPasswordResetPanel> askForPass,
- final GlobalShortcuts shortcuts) {
+ final GlobalShortcuts shortcuts, final I18nTranslationService i18n) {
session.onAppStart(true, new AppStartHandler() {
@Override
public void onAppStart(final AppStartEvent event) {
@@ -105,17 +107,18 @@
register.get().doRegister();
}
});
- tokenListener.put(SiteTokens.NEW_GROUP, new HistoryTokenMustBeAuthCallback() {
- @Override
- public void onHistoryToken(final String token) {
- Scheduler.get().scheduleFinally(new ScheduledCommand() {
+ tokenListener.put(SiteTokens.NEW_GROUP,
+ new HistoryTokenMustBeAuthCallback(i18n.t(CoreMessages.REGISTER_TO_CREATE_A_GROUP)) {
@Override
- public void execute() {
- newGroup.get().doNewGroup();
+ public void onHistoryToken(final String token) {
+ Scheduler.get().scheduleFinally(new ScheduledCommand() {
+ @Override
+ public void execute() {
+ newGroup.get().doNewGroup();
+ }
+ });
}
});
- }
- });
tokenListener.put(SiteTokens.SUBTITLES, new HistoryTokenAuthNotNeededCallback() {
@Override
public void onHistoryToken(final String token) {
@@ -128,15 +131,16 @@
SpaceSelectEvent.fire(eventBus, Space.homeSpace);
}
});
- tokenListener.put(SiteTokens.WAVE_INBOX, new HistoryTokenMustBeAuthCallback() {
+ tokenListener.put(SiteTokens.WAVE_INBOX,
+ new HistoryTokenMustBeAuthCallback(i18n.t(CoreMessages.SIGN_IN_TO_ACCESS_INBOX)) {
+ @Override
+ public void onHistoryToken(final String token) {
+ SpaceSelectEvent.fire(eventBus, Space.userSpace);
+ }
+ });
+ tokenListener.put(SiteTokens.PREFS, new HistoryTokenMustBeAuthCallback("") {
@Override
public void onHistoryToken(final String token) {
- SpaceSelectEvent.fire(eventBus, Space.userSpace);
- }
- });
- tokenListener.put(SiteTokens.PREFS, new HistoryTokenMustBeAuthCallback() {
- @Override
- public void onHistoryToken(final String token) {
Scheduler.get().scheduleFinally(new ScheduledCommand() {
@Override
public void execute() {
@@ -146,7 +150,7 @@
});
}
});
- tokenListener.put(SiteTokens.GROUP_PREFS, new HistoryTokenMustBeAuthCallback() {
+ tokenListener.put(SiteTokens.GROUP_PREFS, new HistoryTokenMustBeAuthCallback("") {
@Override
public void onHistoryToken(final String token) {
Scheduler.get().scheduleFinally(new ScheduledCommand() {
Modified: trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractPresenter.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractPresenter.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -23,6 +23,7 @@
import cc.kune.core.client.i18n.I18nUITranslationService;
import cc.kune.core.client.i18n.I18nUITranslationService.I18nLanguageChangeNeeded;
import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.SiteTokens;
import cc.kune.core.client.state.StateManager;
import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.core.shared.dto.I18nLanguageDTO;
@@ -65,12 +66,12 @@
public void hide() {
getView().hide();
+ getView().reset();
+ getView().hideMessages();
}
public void onCancel() {
- getView().reset();
- getView().hideMessages();
- getView().hide();
+ hide();
}
public void onClose() {
@@ -78,7 +79,9 @@
getView().hideMessages();
if (!session.isLogged()) {
if (gotoTokenOnCancel != null) {
- stateManager.gotoHistoryToken(gotoTokenOnCancel);
+ if (!gotoTokenOnCancel.equals(SiteTokens.NEW_GROUP)) {
+ stateManager.gotoHistoryToken(gotoTokenOnCancel);
+ }
gotoTokenOnCancel = null;
} else {
stateManager.redirectOrRestorePreviousToken(false);
Modified: trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractView.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractView.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractView.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -28,26 +28,26 @@
public interface SignInAbstractView extends View {
- HasCloseHandlers<PopupPanel> getClose();
+ HasCloseHandlers<PopupPanel> getClose();
- HasClickHandlers getFirstBtn();
+ HasClickHandlers getFirstBtn();
- HasClickHandlers getSecondBtn();
+ HasClickHandlers getSecondBtn();
- void hide();
+ void hide();
- void hideMessages();
+ void hideMessages();
- void mask(final String message);
+ void mask(final String message);
- void maskProcessing();
+ void maskProcessing();
- void reset();
+ void reset();
- void setErrorMessage(final String message, final NotifyLevel level);
+ void setErrorMessage(final String message, final NotifyLevel level);
- void show();
+ void show();
- void unMask();
+ void unMask();
}
Modified: trunk/src/main/java/cc/kune/core/client/auth/SignInForm.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/auth/SignInForm.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/auth/SignInForm.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -68,6 +68,10 @@
}
super.onRender(target, index);
}
+
+ @Override
+ protected void setAriaState(final String stateName, final String stateValue) {
+ }
};
loginNickOrEmailField.setFieldLabel(i18n.t("Username"));
loginNickOrEmailField.setName(USER_FIELD_ID);
@@ -90,6 +94,10 @@
}
super.onRender(target, index);
}
+
+ @Override
+ protected void setAriaState(final String stateName, final String stateValue) {
+ }
};
loginPassField.setFieldLabel(i18n.t("Password"));
loginPassField.setName(PASSWORD_FIELD_ID);
Deleted: trunk/src/main/java/cc/kune/core/client/auth/SignInNewForm.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/auth/SignInNewForm.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/auth/SignInNewForm.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -1,51 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package cc.kune.core.client.auth;
-
-import cc.kune.common.shared.i18n.I18nTranslationService;
-
-import com.extjs.gxt.ui.client.widget.form.FormPanel;
-import com.extjs.gxt.ui.client.widget.form.TextField;
-import com.google.gwt.core.client.GWT;
-import com.google.gwt.uibinder.client.UiBinder;
-import com.google.gwt.uibinder.client.UiField;
-import com.google.gwt.user.client.ui.Composite;
-import com.google.gwt.user.client.ui.Widget;
-
-public class SignInNewForm extends Composite {
-
- interface SignInNewFormUiBinder extends UiBinder<Widget, SignInNewForm> {
- }
- private static SignInNewFormUiBinder uiBinder = GWT.create(SignInNewFormUiBinder.class);
-
- @UiField
- FormPanel form;
- @UiField
- TextField<String> nick;
- @UiField
- TextField<String> password;
-
- public SignInNewForm(final I18nTranslationService i18n) {
- initWidget(uiBinder.createAndBindUi(this));
- nick.setFieldLabel(i18n.t("Your nickname"));
- password.setFieldLabel(i18n.t("Password"));
- }
-
-}
Deleted: trunk/src/main/java/cc/kune/core/client/auth/SignInNewForm.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/core/client/auth/SignInNewForm.ui.xml 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/auth/SignInNewForm.ui.xml 2012-03-28 23:23:29 UTC (rev 1805)
@@ -1,17 +0,0 @@
-<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
-<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
- xmlns:g="urn:import:com.google.gwt.user.client.ui" xmlns:gxt="urn:import:com.extjs.gxt.ui.client.widget"
- xmlns:form="urn:import:com.extjs.gxt.ui.client.widget.form">
- <ui:style>
-
- </ui:style>
-
- <form:FormPanel ui:field="form" heading="Simple Form" frame="true" width="370"
- padding="10" borders="false" labelWidth="75" headerVisible="false">
- <form:TextField ui:field="nick" allowBlank="false" validationDelay="1000"
- width="100" tabIndex="100" />
- <form:TextField ui:field="password" allowBlank="false" validationDelay="1000"
- width="150" tabIndex="101" password="true" />
- </form:FormPanel>
-
-</ui:UiBinder>
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPanel.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPanel.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -210,7 +210,7 @@
}
@Override
- public void focusOnShorName() {
+ public void focusOnShortName() {
shortNameField.focus();
}
Modified: trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPresenter.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPresenter.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -31,7 +31,9 @@
import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
import cc.kune.core.client.rpcservices.GroupServiceAsync;
import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.SiteTokens;
import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.state.TokenUtils;
import cc.kune.core.shared.dto.GroupDTO;
import cc.kune.core.shared.dto.GroupType;
import cc.kune.core.shared.dto.LicenseDTO;
@@ -95,11 +97,13 @@
if (session.isLogged()) {
NotifyUser.showProgress();
getView().show();
- getView().focusOnShorName();
+ getView().focusOnShortName();
NotifyUser.hideProgress();
} else {
+ // signIn.get().showSignInDialog();
signIn.get().setErrorMessage(i18n.t(CoreMessages.REGISTER_TO_CREATE_A_GROUP), NotifyLevel.info);
- signIn.get().showSignInDialog();
+ stateManager.gotoHistoryToken(TokenUtils.addRedirect(SiteTokens.SIGN_IN,
+ session.getCurrentStateToken().toString()));
}
}
});
@@ -205,7 +209,6 @@
public void execute() {
groupOptions.showTooltip();
new Timer() {
-
@Override
public void run() {
ShowHelpContainerEvent.fire(getEventBus(), state.getStateToken().getTool());
Modified: trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupView.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupView.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupView.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -30,7 +30,7 @@
void clearData();
- void focusOnShorName();
+ void focusOnShortName();
HasCloseHandlers<PopupPanel> getClose();
Modified: trunk/src/main/java/cc/kune/core/client/resources/CoreMessages.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/resources/CoreMessages.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/resources/CoreMessages.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -35,11 +35,12 @@
public final static String NAME_IN_ALREADY_IN_USE = "This name is already in use. Please try with a different name";
public final static String NAME_IN_USE = "This name in already in use. Please try with a different name";
public final static String NAME_RESTRICTED = "This user name can not be used. Please try with a different name";
+ public final static String NEW_GROUP_TITLE = "Create New Group";
public final static String PASSWD_MUST_BE_BETWEEN_6_AND_40 = "The password must be between 6 and 40 characters";
- public final static String REGISTER_A_NEW_GROUP_TITLE = "Register a new Group";
public final static String REGISTER_TITLE = "Register";
public final static String REGISTER_TO_CREATE_A_GROUP = "Please, sign in or register to create a group";
public final static String SIGN_IN_TITLE = "Sign in";
+ public final static String SIGN_IN_TO_ACCESS_INBOX = "Sign in or create an account to access to your inbox";
public final static String USER_DOESN_T_HAVE_A_HOMEPAGE = "This user does not have a homepage";
public final static String USER_OPTIONS_DIALOG_TITLE = "User options";
public final static String YOUR_HOMEPAGE = "Your " + "homepage";
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/MyGroupsMenu.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/MyGroupsMenu.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/MyGroupsMenu.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -32,7 +32,7 @@
import cc.kune.core.client.i18n.I18n;
import cc.kune.core.client.resources.CoreResources;
import cc.kune.core.client.services.ClientFileDownloadUtils;
-import cc.kune.core.client.sitebar.SitebarGroupsLink.SitebarNewGroupAction;
+import cc.kune.core.client.sitebar.SitebarNewGroupLink.SitebarNewGroupAction;
import cc.kune.core.client.sn.actions.GotoGroupAction;
import cc.kune.core.client.state.Session;
import cc.kune.core.shared.dto.GroupDTO;
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -71,7 +71,7 @@
private final CommonResources commonRes;
private final I18nTranslationService i18n;
private final Provider<MyGroupsMenu> myGroupsMenu;
- private final Provider<SitebarGroupsLink> newGroupLink;
+ private final Provider<SitebarNewGroupLink> newGroupLink;
private final CoreResources res;
private final Provider<SitebarSignInLink> signInLink;
private final Provider<SitebarSignOutLink> signOutLink;
@@ -79,7 +79,7 @@
@Inject
public SitebarActionsPresenter(final EventBus eventBus, final SitebarActionsView view,
final SitebarActionsProxy proxy, final I18nTranslationService i18n,
- final Provider<SitebarGroupsLink> newGroupLink, final Provider<SitebarSignOutLink> signOutLink,
+ final Provider<SitebarNewGroupLink> newGroupLink, final Provider<SitebarSignOutLink> signOutLink,
final Provider<SitebarSignInLink> signInLink, final CoreResources res,
final CommonResources commonRes, final Provider<MyGroupsMenu> myGroupsMenu) {
super(eventBus, view, proxy);
Deleted: trunk/src/main/java/cc/kune/core/client/sitebar/SitebarGroupsLink.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/SitebarGroupsLink.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/SitebarGroupsLink.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -1,93 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package cc.kune.core.client.sitebar;
-
-import cc.kune.common.client.actions.AbstractExtendedAction;
-import cc.kune.common.client.actions.ActionEvent;
-import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor;
-import cc.kune.common.shared.i18n.I18nTranslationService;
-import cc.kune.core.client.events.MyGroupsChangedEvent;
-import cc.kune.core.client.events.UserSignInOrSignOutEvent;
-import cc.kune.core.client.events.UserSignInOrSignOutEvent.UserSignInOrSignOutHandler;
-import cc.kune.core.client.resources.CoreResources;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.client.state.SiteTokens;
-import cc.kune.core.client.state.StateManager;
-
-import com.google.gwt.event.shared.EventBus;
-import com.google.inject.Inject;
-
-public class SitebarGroupsLink extends ButtonDescriptor {
- public static class SitebarNewGroupAction extends AbstractExtendedAction {
-
- private final StateManager stateManager;
-
- @Inject
- public SitebarNewGroupAction(final StateManager stateManager, final I18nTranslationService i18n) {
- super();
- this.stateManager = stateManager;
- withText(i18n.t("Create New Group"));
- withToolTip(i18n.t("Create a new group for your initiative or organization "
- + "(NGO, collective, academic group...)"));
- }
-
- @Override
- public void actionPerformed(final ActionEvent event) {
- stateManager.gotoHistoryToken(SiteTokens.NEW_GROUP);
- }
- }
-
- public static final String NEW_GROUP_BTN_ID = "k-site-newgroup-btn";
- private final Session session;
-
- @Inject
- public SitebarGroupsLink(final SitebarNewGroupAction newGroupAction,
- final SitebarActions sitebarActions, final I18nTranslationService i18n, final EventBus eventBus,
- final CoreResources coreResources, final Session session) {
- super(newGroupAction);
- this.session = session;
- withId(NEW_GROUP_BTN_ID).withStyles("k-no-backimage, k-btn-sitebar, k-fl, k-noborder, k-nobackcolor");
- withParent(sitebarActions.getRightToolbar());
- eventBus.addHandler(MyGroupsChangedEvent.getType(),
- new MyGroupsChangedEvent.MyGroupsChangedHandler() {
- @Override
- public void onMyGroupsChanged(final MyGroupsChangedEvent event) {
- recalculate(session.isNotLogged());
- }
- });
- session.onUserSignInOrSignOut(true, new UserSignInOrSignOutHandler() {
- @Override
- public void onUserSignInOrSignOut(final UserSignInOrSignOutEvent event) {
- final boolean notLogged = !event.isLogged();
- recalculate(notLogged);
- }
- });
-
- }
-
- private void recalculate(final boolean notLogged) {
- if (notLogged) {
- setVisible(true);
- } else {
- setVisible(!session.userIsJoiningGroups());
- }
- }
-
-}
Copied: trunk/src/main/java/cc/kune/core/client/sitebar/SitebarNewGroupLink.java (from rev 1797, trunk/src/main/java/cc/kune/core/client/sitebar/SitebarGroupsLink.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/SitebarNewGroupLink.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/SitebarNewGroupLink.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -0,0 +1,94 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.core.client.sitebar;
+
+import cc.kune.common.client.actions.AbstractExtendedAction;
+import cc.kune.common.client.actions.ActionEvent;
+import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor;
+import cc.kune.common.shared.i18n.I18nTranslationService;
+import cc.kune.core.client.events.MyGroupsChangedEvent;
+import cc.kune.core.client.events.UserSignInOrSignOutEvent;
+import cc.kune.core.client.events.UserSignInOrSignOutEvent.UserSignInOrSignOutHandler;
+import cc.kune.core.client.resources.CoreMessages;
+import cc.kune.core.client.resources.CoreResources;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.SiteTokens;
+import cc.kune.core.client.state.StateManager;
+
+import com.google.gwt.event.shared.EventBus;
+import com.google.inject.Inject;
+
+public class SitebarNewGroupLink extends ButtonDescriptor {
+ public static class SitebarNewGroupAction extends AbstractExtendedAction {
+
+ private final StateManager stateManager;
+
+ @Inject
+ public SitebarNewGroupAction(final StateManager stateManager, final I18nTranslationService i18n) {
+ super();
+ this.stateManager = stateManager;
+ withText(i18n.t(CoreMessages.NEW_GROUP_TITLE));
+ withToolTip(i18n.t("Create a new group for your initiative or organization "
+ + "(NGO, collective, academic group...)"));
+ }
+
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ stateManager.gotoHistoryToken(SiteTokens.NEW_GROUP);
+ }
+ }
+
+ public static final String NEW_GROUP_BTN_ID = "k-site-newgroup-btn";
+ private final Session session;
+
+ @Inject
+ public SitebarNewGroupLink(final SitebarNewGroupAction newGroupAction,
+ final SitebarActions sitebarActions, final I18nTranslationService i18n, final EventBus eventBus,
+ final CoreResources coreResources, final Session session) {
+ super(newGroupAction);
+ this.session = session;
+ withId(NEW_GROUP_BTN_ID).withStyles("k-no-backimage, k-btn-sitebar, k-fl, k-noborder, k-nobackcolor");
+ withParent(sitebarActions.getRightToolbar());
+ eventBus.addHandler(MyGroupsChangedEvent.getType(),
+ new MyGroupsChangedEvent.MyGroupsChangedHandler() {
+ @Override
+ public void onMyGroupsChanged(final MyGroupsChangedEvent event) {
+ recalculate(session.isNotLogged());
+ }
+ });
+ session.onUserSignInOrSignOut(true, new UserSignInOrSignOutHandler() {
+ @Override
+ public void onUserSignInOrSignOut(final UserSignInOrSignOutEvent event) {
+ final boolean notLogged = !event.isLogged();
+ recalculate(notLogged);
+ }
+ });
+
+ }
+
+ private void recalculate(final boolean notLogged) {
+ if (notLogged) {
+ setVisible(true);
+ } else {
+ setVisible(!session.userIsJoiningGroups());
+ }
+ }
+
+}
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/auth/VerifyEmailClientManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/auth/VerifyEmailClientManager.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/auth/VerifyEmailClientManager.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -42,33 +42,35 @@
VerifyEmailClientManager(final Session session, final SiteTokenListeners tokens,
final Provider<UserOptGeneral> optGeneral, final I18nTranslationService i18n,
final Provider<UserServiceAsync> userService) {
- tokens.put(SiteTokens.VERIFY_EMAIL, new HistoryTokenMustBeAuthCallback() {
- @Override
- public void onHistoryToken(final String token) {
- userService.get().verifyPasswordHash(session.getUserHash(), token, new AsyncCallback<Void>() {
+ tokens.put(SiteTokens.VERIFY_EMAIL,
+ new HistoryTokenMustBeAuthCallback(i18n.t("Sign in to verify your email")) {
@Override
- public void onFailure(final Throwable caught) {
- if (caught instanceof EmailHashExpiredException) {
- NotifyUser.error(i18n.t("Email confirmation code expired"), true);
- } else if (caught instanceof EmailHashInvalidException) {
- NotifyUser.error(i18n.t("Invalid confirmation code"), true);
- } else {
- NotifyUser.error(i18n.t("Other error trying to verify your password"), true);
- }
- }
+ public void onHistoryToken(final String token) {
+ userService.get().verifyPasswordHash(session.getUserHash(), token,
+ new AsyncCallback<Void>() {
+ @Override
+ public void onFailure(final Throwable caught) {
+ if (caught instanceof EmailHashExpiredException) {
+ NotifyUser.error(i18n.t("Email confirmation code expired"), true);
+ } else if (caught instanceof EmailHashInvalidException) {
+ NotifyUser.error(i18n.t("Invalid confirmation code"), true);
+ } else {
+ NotifyUser.error(i18n.t("Other error trying to verify your password"), true);
+ }
+ }
- @Override
- public void onSuccess(final Void result) {
- NotifyUser.info("Great. Your email is now verified");
- session.getCurrentUser().setEmailVerified(true);
- // This get NPE
- // if (optGeneral.get().isVisible()) {
- // optGeneral.get().update();
- // }
+ @Override
+ public void onSuccess(final Void result) {
+ NotifyUser.info("Great. Your email is now verified");
+ session.getCurrentUser().setEmailVerified(true);
+ // This get NPE
+ // if (optGeneral.get().isVisible()) {
+ // optGeneral.get().update();
+ // }
+ }
+ });
}
});
- }
- });
}
}
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/spaces/SpaceSelectorPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/spaces/SpaceSelectorPresenter.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/spaces/SpaceSelectorPresenter.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -31,6 +31,7 @@
import cc.kune.core.client.events.AppStartEvent;
import cc.kune.core.client.events.AppStartEvent.AppStartHandler;
import cc.kune.core.client.events.UserSignOutEvent;
+import cc.kune.core.client.resources.CoreMessages;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.SiteTokens;
import cc.kune.core.client.state.StateManager;
@@ -332,8 +333,7 @@
currentSpace = Space.userSpace;
getView().setWindowTitle(i18n.t("Inbox"));
} else {
- signIn.get().setErrorMessage(i18n.t("Sign in or create an account to access to your inbox"),
- NotifyLevel.info);
+ signIn.get().setErrorMessage(i18n.t(CoreMessages.SIGN_IN_TO_ACCESS_INBOX), NotifyLevel.info);
stateManager.gotoHistoryToken(TokenUtils.addRedirect(SiteTokens.SIGN_IN, inboxToken));
getView().setUserBtnDown(false);
}
Modified: trunk/src/main/java/cc/kune/core/client/sn/actions/registry/GroupSNConfActions.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/registry/GroupSNConfActions.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/registry/GroupSNConfActions.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -62,7 +62,7 @@
@SuppressWarnings("serial")
public class GroupSNConfActions extends AbstractSNActionsRegistry {
- public static final String OPTIONS_STYLES = "k-sn-options-menu, k-noborder, k-nobackcolor, k-no-backimage, k-btn-min";
+ public static final String OPTIONS_STYLES = "k-sn-options-menu, k-noborder, k-optionsborder, k-nobackcolor, k-no-backimage, k-btn-min";
@Inject
public GroupSNConfActions(final SessionConstants session, final StateManager stateManager,
Modified: trunk/src/main/java/cc/kune/core/client/state/HistoryTokenAuthNotNeededCallback.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/HistoryTokenAuthNotNeededCallback.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/state/HistoryTokenAuthNotNeededCallback.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -25,13 +25,19 @@
*/
public abstract class HistoryTokenAuthNotNeededCallback implements HistoryTokenCallback {
- /* (non-Javadoc)
+ /*
+ * (non-Javadoc)
+ *
* @see cc.kune.core.client.state.HistoryTokenCallback#authMandatory()
*/
@Override
public boolean authMandatory() {
return false;
+ }
+ @Override
+ public String getInfoMessage() {
+ return "";
}
}
Modified: trunk/src/main/java/cc/kune/core/client/state/HistoryTokenCallback.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/HistoryTokenCallback.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/state/HistoryTokenCallback.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -33,6 +33,14 @@
boolean authMandatory();
/**
+ * Info message used to show some message to the user (like
+ * "sign-in to create a new group");
+ *
+ * @return the string
+ */
+ String getInfoMessage();
+
+ /**
* On history token do some action (Example #inbox, #newgroup)
*
* @param token
Modified: trunk/src/main/java/cc/kune/core/client/state/HistoryTokenMustBeAuthCallback.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/HistoryTokenMustBeAuthCallback.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/state/HistoryTokenMustBeAuthCallback.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -25,6 +25,12 @@
*/
public abstract class HistoryTokenMustBeAuthCallback implements HistoryTokenCallback {
+ private final String infoMessage;
+
+ public HistoryTokenMustBeAuthCallback(final String signInMessage) {
+ this.infoMessage = signInMessage;
+ }
+
/*
* (non-Javadoc)
*
@@ -35,4 +41,9 @@
return true;
}
+ @Override
+ public String getInfoMessage() {
+ return infoMessage;
+ }
+
}
Modified: trunk/src/main/java/cc/kune/core/client/state/StateManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/StateManager.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/state/StateManager.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -97,7 +97,7 @@
void resumeTokenChange();
- void setHistoryStateToken(StateToken newToken);
+ void setHistoryStateToken(String token);
void setRetrievedState(StateAbstractDTO state);
Modified: trunk/src/main/java/cc/kune/core/client/state/impl/StateManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/impl/StateManagerDefault.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/state/impl/StateManagerDefault.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -28,8 +28,11 @@
import cc.kune.common.client.actions.BeforeActionCollection;
import cc.kune.common.client.actions.BeforeActionListener;
import cc.kune.common.client.log.Log;
+import cc.kune.common.client.notify.NotifyLevel;
import cc.kune.common.client.notify.ProgressHideEvent;
import cc.kune.common.shared.utils.Pair;
+import cc.kune.common.shared.utils.TextUtils;
+import cc.kune.core.client.auth.SignIn;
import cc.kune.core.client.events.AppStartEvent;
import cc.kune.core.client.events.AppStartEvent.AppStartHandler;
import cc.kune.core.client.events.GoHomeEvent;
@@ -64,6 +67,7 @@
import com.google.gwt.event.logical.shared.ValueChangeHandler;
import com.google.gwt.event.shared.EventBus;
import com.google.inject.Inject;
+import com.google.inject.Provider;
public class StateManagerDefault implements StateManager, ValueChangeHandler<String> {
public interface OnFinishGetContent {
@@ -74,25 +78,29 @@
private final EventBus eventBus;
private final HistoryWrapper history;
private StateToken previousGroupToken;
+ private String previousHash;
/**
* When a historyChanged is interrupted (for instance because you are editing
* something), the new history token is stored here
*/
private String resumedHistoryToken;
private final Session session;
+ private final Provider<SignIn> signIn;
private final SiteTokenListeners siteTokens;
private final TokenMatcher tokenMatcher;
@Inject
public StateManagerDefault(final ContentCache contentProvider, final Session session,
final HistoryWrapper history, final TokenMatcher tokenMatcher, final EventBus eventBus,
- final SiteTokenListeners siteTokens) {
+ final SiteTokenListeners siteTokens, final Provider<SignIn> signIn) {
this.tokenMatcher = tokenMatcher;
this.eventBus = eventBus;
this.contentCache = contentProvider;
this.session = session;
this.history = history;
+ this.signIn = signIn;
this.previousGroupToken = null;
+ this.previousHash = null;
this.resumedHistoryToken = null;
tokenMatcher.init(GwtWaverefEncoder.INSTANCE);
this.siteTokens = siteTokens;
@@ -177,6 +185,10 @@
Log.debug("login mandatory for " + currentToken);
// Ok, we have to redirect because this token (for instance
// #translate) needs the user authenticated
+ final String infoMessage = tokenListener.getInfoMessage();
+ if (TextUtils.notEmpty(infoMessage)) {
+ signIn.get().setErrorMessage(infoMessage, NotifyLevel.info);
+ }
redirectButSignInBefore(currentToken);
} else {
// The auth is not mandatory, go ahead with the token action
@@ -213,6 +225,7 @@
SpaceConfEvent.fire(eventBus, Space.groupSpace, currentToken);
SpaceConfEvent.fire(eventBus, Space.publicSpace, TokenUtils.preview(currentToken));
if (setBrowserHistory) {
+ previousHash = history.getToken();
history.newItem(currentToken, false);
SpaceSelectEvent.fire(eventBus, Space.groupSpace);
}
@@ -245,18 +258,19 @@
@Override
public void gotoHistoryToken(final String token) {
Log.debug("StateManager: history goto-string-token: " + token);
+ previousHash = history.getToken();
history.newItem(token);
}
@Override
public void gotoHistoryTokenButRedirectToCurrent(final String token) {
gotoHistoryToken(TokenUtils.addRedirect(token, history.getToken()));
-
}
@Override
public void gotoStateToken(final StateToken newToken) {
Log.debug("StateManager: history goto-token: " + newToken + ", previous: " + previousGroupToken);
+ previousHash = history.getToken();
history.newItem(newToken.getEncoded());
}
@@ -413,7 +427,7 @@
// signin(inbox) && cancel
restorePreviousToken(fireChange);
} else {
- history.newItem(previousToken); // FIXMEKK
+ history.newItem(previousHash);
}
} else {
// No redirect then restore previous token
@@ -469,11 +483,11 @@
@Override
public void restorePreviousToken(final boolean fireChange) {
- if (previousGroupToken != null) {
+ if (previousHash != null) {
if (fireChange) {
- gotoStateToken(previousGroupToken);
+ gotoHistoryToken(previousHash);
} else {
- setHistoryStateToken(previousGroupToken);
+ setHistoryStateToken(previousHash);
}
}
}
@@ -489,9 +503,10 @@
}
@Override
- public void setHistoryStateToken(final StateToken newToken) {
+ public void setHistoryStateToken(final String newToken) {
Log.debug("StateManager: history goto-token: " + newToken + ", previous: " + previousGroupToken);
- history.newItem(newToken.getEncoded(), false);
+ previousHash = history.getToken();
+ history.newItem(newToken, false);
}
@Override
@@ -506,6 +521,7 @@
if (history.getToken().equals(token)) {
setState(newState);
}
+ previousHash = history.getToken();
history.newItem(token);
}
Modified: trunk/src/main/java/cc/kune/core/public/ws.css
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.css 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/public/ws.css 2012-03-28 23:23:29 UTC (rev 1805)
@@ -375,6 +375,14 @@
height: 17px !important;
}
+div div.siteBar table.k-sitebar img.k-iconlabel-left {
+ margin: 0px !important;
+}
+
+div div.siteBar table.k-sitebar div.k-iconlabel-left {
+ margin: 0px !important;
+}
+
.k-sitebar-wave-status {
font: 13px 'Ubuntu', arial;
/* font-weight: bold; */
@@ -862,7 +870,6 @@
border: 2px solid #CCCCCC;
cursor: pointer;
margin: 0;
- padding: 3px 0;
text-decoration: none;
background-color: #F2F2F2;
color: #A05A2C;
@@ -875,9 +882,14 @@
width: auto !IMPORTANT;
width: 50px;
min-width: 40px;
- height: 28px;
+ height: 26px;
}
+button.k-button
+{
+ padding: 0 2px;
+}
+
.k-sn-mainpanel .x-btn button:hover,.k-sn-mainpanel button:hover,button.k-button:hover,button.gwt-Button:hover
{
border: 2px orange solid;
@@ -956,6 +968,13 @@
opacity: 0.60 !important;
}
+button.k-optionsborder img.k-iconlabel-left {
+ border: 2px solid #CCCCCC;
+ -webkit-border-radius: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+}
+
/* end buttons */
.k-sn-collabslabel {
@@ -1568,3 +1587,5 @@
top: 0 !important;
width: auto !important;
}
+
+
Modified: trunk/src/main/java/cc/kune/core/server/rpc/GroupRPC.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rpc/GroupRPC.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/server/rpc/GroupRPC.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -161,7 +161,7 @@
final GroupDTO groupDTO) throws DefaultException {
final Group group = groupManager.findByShortName(token.getGroup());
final Long id = group.getId();
- if (!id.equals(groupDTO.getId())) {
+ if (!id.equals(groupDTO.getId()) || group.isPersonal()) {
throw new AccessViolationException();
}
final Group updatedGroup = groupManager.update(id, groupDTO);
Modified: trunk/src/main/java/cc/kune/core/shared/utils/SharedFileDownloadUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/core/shared/utils/SharedFileDownloadUtils.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/shared/utils/SharedFileDownloadUtils.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -34,7 +34,12 @@
}
public SharedFileDownloadUtils(final String prefix) {
- this.prefix = prefix;
+ if (prefix.endsWith("/")) {
+ final int lastSlash = prefix.lastIndexOf("/");
+ this.prefix = prefix.substring(0, lastSlash == -1 ? prefix.length() : lastSlash);
+ } else {
+ this.prefix = prefix;
+ }
}
public String getGroupLogo(final GroupDTO group) {
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -103,7 +103,7 @@
writeToBuddie.get();
}
});
- tokenListener.put(SiteTokens.TRANSLATE, new HistoryTokenMustBeAuthCallback() {
+ tokenListener.put(SiteTokens.TRANSLATE, new HistoryTokenMustBeAuthCallback("") {
@Override
public void onHistoryToken(final String token) {
if (session.isLogged() && session.getInitData().isTranslatorEnabled()) {
Modified: trunk/src/main/java/cc/kune/gspace/client/actions/ContentViewerOptionsMenu.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/ContentViewerOptionsMenu.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/ContentViewerOptionsMenu.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -34,7 +34,7 @@
public ContentViewerOptionsMenu(final CoreResources res) {
super();
this.withIcon(res.arrowdownsitebar()).withStyles(
- "k-def-docbtn, k-fr, k-noborder, k-no-backimage, k-nobackcolor").withId(ID);
+ "k-def-docbtn, k-fr, k-noborder, k-optionsborder, k-no-backimage, k-nobackcolor").withId(ID);
}
Modified: trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPresenter.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPresenter.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -72,6 +72,15 @@
this.img = img;
}
+ private void checkState(final StateAbstractDTO state) {
+ if (!state.getGroup().isPersonal() && state.getGroupRights().isAdministrable()) {
+ prefsItem.setVisible(true);
+ } else {
+ getView().hide();
+ prefsItem.setVisible(false);
+ }
+ }
+
private void createActions() {
final AbstractExtendedAction groupPrefsAction = new AbstractExtendedAction() {
@Override
@@ -105,12 +114,7 @@
@Override
public void onStateChanged(final StateChangedEvent event) {
final StateAbstractDTO state = event.getState();
- if (!state.getGroup().isPersonal() && state.getGroupRights().isAdministrable()) {
- prefsItem.setVisible(true);
- } else {
- getView().hide();
- prefsItem.setVisible(false);
- }
+ checkState(state);
}
});
session.onUserSignOut(false, new UserSignOutHandler() {
@@ -126,6 +130,7 @@
public void show(final String token) {
stateManager.gotoHistoryToken(token);
super.show();
+ checkState(session.getCurrentState());
}
@Override
Added: trunk/src/main/java/cc/kune/hspace/client/HSpace.java
===================================================================
--- trunk/src/main/java/cc/kune/hspace/client/HSpace.java (rev 0)
+++ trunk/src/main/java/cc/kune/hspace/client/HSpace.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -0,0 +1,27 @@
+/*
+ *
+ * Copyright (C) 2007-2012 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+package cc.kune.hspace.client;
+
+import cc.kune.common.client.actions.ui.IsActionExtensible;
+
+public interface HSpace {
+ IsActionExtensible getToolbar();
+}
Modified: trunk/src/main/java/cc/kune/hspace/client/HSpacePanel.java
===================================================================
--- trunk/src/main/java/cc/kune/hspace/client/HSpacePanel.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/hspace/client/HSpacePanel.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -23,6 +23,8 @@
import org.waveprotocol.wave.client.common.util.DateUtils;
+import cc.kune.common.client.actions.ui.ActionSimplePanel;
+import cc.kune.common.client.actions.ui.IsActionExtensible;
import cc.kune.common.client.ui.DottedTabPanel;
import cc.kune.common.shared.i18n.I18nTranslationService;
import cc.kune.core.client.state.SiteTokens;
@@ -52,10 +54,12 @@
interface HSpacePanelUiBinder extends UiBinder<Widget, HSpacePanel> {
}
+
public static final String K_HOME_GLOBAL_STATS = "k-home-global-stats";
-
public static final String K_HOME_GROUP_STATS = "k-home-group-stats";
+ public static final String K_HOME_TOOLBAR = "k-home-toolbar";
+
private static HSpacePanelUiBinder uiBinder = GWT.create(HSpacePanelUiBinder.class);
private final SharedFileDownloadUtils downUtils;
@@ -73,6 +77,8 @@
@UiField
public InlineLabel globalStatsTotalUsersTitle;
private final RootPanel groupStatsParent;
+
+ private final ActionSimplePanel homeToolbar;
@UiField
public FlowPanel lastActivityInYourGroup;
@UiField
@@ -89,6 +95,7 @@
public FlowPanel lastPublishedContents;
@UiField
public Label lastPublishedContentsTitle;
+
@UiField
FlowPanel lastPublishedPanel;
@@ -98,14 +105,15 @@
@UiField
public Hyperlink unreadInYourInbox;
-
private final Widget widget;
@Inject
public HSpacePanel(final I18nTranslationService i18n, final GSpaceArmor armor,
- final Provider<GroupContentHomeLink> linkProv, final SharedFileDownloadUtils downUtils) {
+ final Provider<GroupContentHomeLink> linkProv, final SharedFileDownloadUtils downUtils,
+ final ActionSimplePanel homeToolbar) {
this.linkProv = linkProv;
this.downUtils = downUtils;
+ this.homeToolbar = homeToolbar;
widget = uiBinder.createAndBindUi(this);
globalStatsTitle.setText(i18n.t("Stats"));
globalStatsTotalGroupsTitle.setText(i18n.t("Hosted groups:"));
@@ -120,6 +128,10 @@
unreadInYourInbox.setTargetHistoryToken(SiteTokens.WAVE_INBOX);
globalStatsParent = RootPanel.get(K_HOME_GLOBAL_STATS);
groupStatsParent = RootPanel.get(K_HOME_GROUP_STATS);
+ final RootPanel homeToolbarParent = RootPanel.get(K_HOME_TOOLBAR);
+ if (homeToolbarParent != null) {
+ homeToolbarParent.add(homeToolbar);
+ }
if (globalStatsParent != null) {
globalStatsParent.add(globalStats);
}
@@ -150,6 +162,11 @@
}
@Override
+ public IsActionExtensible getToolbar() {
+ return homeToolbar;
+ }
+
+ @Override
public HasText getUnreadInYourInbox() {
return unreadInYourInbox;
}
Modified: trunk/src/main/java/cc/kune/hspace/client/HSpacePresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/hspace/client/HSpacePresenter.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/hspace/client/HSpacePresenter.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -21,12 +21,20 @@
import java.util.List;
+import cc.kune.common.client.actions.AbstractExtendedAction;
+import cc.kune.common.client.actions.ActionEvent;
+import cc.kune.common.client.actions.ui.IsActionExtensible;
+import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor;
import cc.kune.common.shared.i18n.I18nTranslationService;
import cc.kune.core.client.events.InboxUnreadUpdatedEvent;
import cc.kune.core.client.events.UserSignInOrSignOutEvent;
import cc.kune.core.client.events.UserSignInOrSignOutEvent.UserSignInOrSignOutHandler;
+import cc.kune.core.client.i18n.I18n;
+import cc.kune.core.client.resources.CoreMessages;
import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.SiteTokens;
+import cc.kune.core.client.state.StateManager;
import cc.kune.core.shared.dto.ContentSimpleDTO;
import cc.kune.core.shared.dto.GroupDTO;
import cc.kune.core.shared.dto.HomeStatsDTO;
@@ -41,17 +49,21 @@
import com.gwtplatform.mvp.client.proxy.Proxy;
import com.gwtplatform.mvp.client.proxy.RevealRootContentEvent;
-public class HSpacePresenter extends Presenter<HSpacePresenter.HSpaceView, HSpacePresenter.HSpaceProxy> {
+public class HSpacePresenter extends Presenter<HSpacePresenter.HSpaceView, HSpacePresenter.HSpaceProxy>
+ implements HSpace {
@ProxyCodeSplit
public interface HSpaceProxy extends Proxy<HSpacePresenter> {
}
+
public interface HSpaceView extends View {
HasText getGlobalStatsTotalGroupsCount();
HasText getGlobalStatsTotalUsersCount();
+ IsActionExtensible getToolbar();
+
HasText getUnreadInYourInbox();
void setInboxUnreadVisible(boolean visible);
@@ -67,11 +79,18 @@
void setUserGroupsActivityVisible(boolean visible);
}
+ private final Session session;
+ private final StateManager stateManager;
+ private final Provider<ClientStatsServiceAsync> statsService;
+
@Inject
public HSpacePresenter(final Session session, final EventBus eventBus, final HSpaceView view,
final HSpaceProxy proxy, final Provider<ClientStatsServiceAsync> statsService,
- final I18nTranslationService i18n) {
+ final StateManager stateManager, final I18nTranslationService i18n) {
super(eventBus, view, proxy);
+ this.session = session;
+ this.statsService = statsService;
+ this.stateManager = stateManager;
eventBus.addHandler(InboxUnreadUpdatedEvent.getType(),
new InboxUnreadUpdatedEvent.InboxUnreadUpdatedHandler() {
@Override
@@ -87,6 +106,33 @@
}
}
});
+ }
+
+ @Override
+ public IsActionExtensible getToolbar() {
+ return getView().getToolbar();
+ }
+
+ @Override
+ protected void onBind() {
+ super.onBind();
+
+ final ButtonDescriptor signInHomeBtn = new ButtonDescriptor(new AbstractExtendedAction() {
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ stateManager.gotoHistoryTokenButRedirectToCurrent(SiteTokens.SIGN_IN);
+ }
+ });
+ signInHomeBtn.withText(I18n.t(CoreMessages.SIGN_IN_TITLE)).withStyles("k-home-toolbar-btn, k-fl");
+ final ButtonDescriptor newGroupHomeBtn = new ButtonDescriptor(new AbstractExtendedAction() {
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ stateManager.gotoHistoryToken(SiteTokens.NEW_GROUP);
+ }
+ });
+ newGroupHomeBtn.withText(I18n.t(CoreMessages.NEW_GROUP_TITLE)).withStyles("k-home-toolbar-btn, k-fr");
+ getView().getToolbar().add(signInHomeBtn);
+ getView().getToolbar().add(newGroupHomeBtn);
final AsyncCallbackSimple<HomeStatsDTO> callback = new AsyncCallbackSimple<HomeStatsDTO>() {
@Override
public void onSuccess(final HomeStatsDTO result) {
@@ -99,7 +145,6 @@
final boolean logged = session.isLogged();
final boolean myGroupsHasActivity = logged && lastContentsOfMyGroups != null
&& lastContentsOfMyGroups.size() > 0;
- // NotifyUser.info("" + lastContentsOfMyGroups.size(), true);
if (myGroupsHasActivity) {
getView().setLastContentsOfMyGroup(lastContentsOfMyGroups);
}
@@ -111,6 +156,7 @@
@Override
public void onUserSignInOrSignOut(final UserSignInOrSignOutEvent event) {
final boolean logged = event.isLogged();
+ signInHomeBtn.setVisible(!logged);
if (logged) {
statsService.get().getHomeStats(session.getUserHash(), callback);
} else {
Modified: trunk/src/main/webapp/ws.html
===================================================================
--- trunk/src/main/webapp/ws.html 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/webapp/ws.html 2012-03-28 23:23:29 UTC (rev 1805)
@@ -131,12 +131,10 @@
min-width: 320px;
}
-#k-home-ini { /* clear: both; */
- font-size: 20px;
+#k-home-ini {
+ font-size: 17px;
color: #69312f;
text-align: justify;
- /* padding: 27px 0; */
- /* line-height: 1.3em; */
}
#k-home-ini a {
@@ -191,7 +189,7 @@
line-height: 45px;
}
-#k-home-body { /* display: table-row;*/
+#k-home-body {
clear: both;
display: block;
}
@@ -211,16 +209,40 @@
}
#k-home-summary-right {
- padding-top: 42px;
- vertical-align: bottom;
+ padding-top: 45px;
+ vertical-align: top;
}
-#k-home-right { /* white-space: nowrap; */
+#k-home-right {
vertical-align: top;
padding-top: 20px;
- /* float: right; */
}
+#k-home-toolbar {
+ width: 100%;
+ padding-top: 10px;
+}
+
+div#k-home-toolbar table {
+ width: 100%;
+}
+
+.k-home-toolbar-btn {
+ font-size: 18px !important;
+ min-height: 40px;
+ height: auto !important;
+ max-width: 150px;
+ min-height: 45px;
+}
+
+div#k-home-toolbar table tbody tr td button.gwt-Button div.k-iconlabel {
+ white-space: normal !important;
+}
+
+div#k-home-toolbar table tbody tr td button.gwt-Button {
+ padding: 0px !important;
+}
+
#k-home-group-stats {
color: #c87137;
}
@@ -234,7 +256,6 @@
font-size: 18px;
font-weight: bold;
padding-top: 10px;
- /* clear: both; */
}
.k-home-normal-text {
@@ -367,11 +388,15 @@
share, collaborate with others and create your web
spaces easily</strong>. <a href="#signin">Join!</a>
</div>
- <!-- div home-ini -->
- <!-- k-home-summary-right -->
+ <!-- div k-home-ini -->
+ <div id="k-home-toolbar">
+ <!-- This id is optional for kune (you can create a different .html but preserve this id if you want the home signin/newgroup home buttons) -->
+ </div>
+ <!-- div k-home-toolbar -->
</div>
- <!-- div home-header -->
+ <!-- k-home-summary-right -->
</div>
+ <!-- div home-intro -->
<div id="k-home-body">
<div id="k-home-left">
<div id="k-home-group-stats" style="display: none;">
@@ -382,7 +407,7 @@
<!-- div k-home-left -->
<div id="k-home-right">
<div id="k-home-global-stats" style="display: none;">
- <!-- This id is optinal for kune (you can create a different .html but preserve this id if you want this stats) -->
+ <!-- This id is optional for kune (you can create a different .html but preserve this id if you want this stats) -->
</div>
</div>
<!-- div k-home-right -->
Modified: trunk/src/test/java/cc/kune/core/client/state/impl/StateManagerDefaultTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/client/state/impl/StateManagerDefaultTest.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/test/java/cc/kune/core/client/state/impl/StateManagerDefaultTest.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -108,7 +108,7 @@
}).when(session).onAppStart(anyBoolean(), (AppStartHandler) Mockito.anyObject());
state = Mockito.mock(StateAbstractDTO.class);
stateManager = new StateManagerDefault(contentProvider, session, history, tokenMatcher, eventBus,
- siteTokens);
+ siteTokens, null);
stateChangeHandler = Mockito.mock(StateChangedHandler.class);
groupChangeHandler = Mockito.mock(GroupChangedHandler.class);
toolChangeHandler = Mockito.mock(ToolChangedHandler.class);
Modified: trunk/src/test/java/cc/kune/core/shared/utils/SharedFileDownloadUtilsTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/shared/utils/SharedFileDownloadUtilsTest.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/test/java/cc/kune/core/shared/utils/SharedFileDownloadUtilsTest.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -25,41 +25,60 @@
import org.junit.Before;
import org.junit.Test;
+import cc.kune.core.shared.FileConstants;
+
public class SharedFileDownloadUtilsTest {
private static final String GROUP = "groupname";
- private SharedFileDownloadUtils noPrefixUtils;
- private SharedFileDownloadUtils prefixUtils;
+ private SharedFileDownloadUtils[] prefixUtils;
+ private SharedFileDownloadUtils utilNoPrefix;
+ private SharedFileDownloadUtils utilPrefix;
+ private SharedFileDownloadUtils utilPrefixWithSlash;
@Before
public void before() {
- prefixUtils = new SharedFileDownloadUtils("http://example.org");
- noPrefixUtils = new SharedFileDownloadUtils("");
+ utilPrefix = new SharedFileDownloadUtils("http://example.org");
+ utilPrefixWithSlash = new SharedFileDownloadUtils("http://example.org/");
+ utilNoPrefix = new SharedFileDownloadUtils("");
+ prefixUtils = new SharedFileDownloadUtils[] { utilPrefix, utilPrefixWithSlash };
}
@Test
public void testGetLogoHtml() {
- assertTrue(prefixUtils.getLogoAvatarHtml(GROUP, false, false, 50, 5).contains(
- "'http://example.org/others/defgroup.gif"));
- assertTrue(noPrefixUtils.getLogoAvatarHtml(GROUP, false, true, 50, 5),
- prefixUtils.getLogoAvatarHtml(GROUP, false, true, 50, 5).contains("/others/unknown.jpg"));
+ for (final SharedFileDownloadUtils util : prefixUtils) {
+ assertTrue(util.getLogoAvatarHtml(GROUP, false, false, 50, 5).contains(
+ "'http://example.org/others/defgroup.gif"));
+ assertTrue(
+ util.getLogoAvatarHtml(GROUP, false, false, 50, 5),
+ util.getLogoAvatarHtml(GROUP, false, false, 50, 5).contains(
+ "http://example.org/others/defgroup.gif"));
+ assertTrue(
+ util.getLogoAvatarHtml(GROUP, false, true, 50, 5),
+ util.getLogoAvatarHtml(GROUP, false, true, 50, 5).contains(
+ "http://example.org/others/unknown.jpg"));
+ assertTrue(utilNoPrefix.getLogoAvatarHtml(GROUP, false, true, 50, 5),
+ util.getLogoAvatarHtml(GROUP, false, true, 50, 5).contains("/others/unknown.jpg"));
+ assertTrue(
+ util.getLogoAvatarHtml(GROUP, true, false, 50, 5),
+ util.getLogoAvatarHtml(GROUP, true, false, 50, 5).contains(
+ "'http://example.org/ws/servlets/EntityLogoDownloadManager?token=groupname"));
+ }
+
assertTrue(
- prefixUtils.getLogoAvatarHtml(GROUP, true, false, 50, 5),
- prefixUtils.getLogoAvatarHtml(GROUP, true, false, 50, 5).contains(
- "'http://example.org/ws/servlets/EntityLogoDownloadManager?token=groupname"));
- assertTrue(
- noPrefixUtils.getLogoAvatarHtml(GROUP, true, true, 50, 5),
- noPrefixUtils.getLogoAvatarHtml(GROUP, true, true, 50, 5).contains(
+ utilNoPrefix.getLogoAvatarHtml(GROUP, true, true, 50, 5),
+ utilNoPrefix.getLogoAvatarHtml(GROUP, true, true, 50, 5).contains(
"/ws/servlets/EntityLogoDownloadManager?token=groupname"));
- assertTrue(!noPrefixUtils.getLogoAvatarHtml(GROUP, true, true, 50, 5).contains("http"));
+ assertTrue(!utilNoPrefix.getLogoAvatarHtml(GROUP, true, true, 50, 5).contains("http"));
}
@Test
public void testUserAvatar() {
- assertEquals("http://example.org/ws/servlets/UserLogoDownloadManager?username=groupname",
- prefixUtils.getUserAvatar(GROUP));
- assertEquals("/ws/servlets/UserLogoDownloadManager?username=groupname",
- noPrefixUtils.getUserAvatar(GROUP));
+ assertEquals("http://example.org" + FileConstants.LOGODOWNLOADSERVLET + "?token=groupname",
+ utilPrefix.getUserAvatar(GROUP));
+ assertEquals("http://example.org" + FileConstants.LOGODOWNLOADSERVLET + "?token=groupname",
+ utilPrefixWithSlash.getUserAvatar(GROUP));
+ assertEquals(FileConstants.LOGODOWNLOADSERVLET + "?token=groupname",
+ utilNoPrefix.getUserAvatar(GROUP));
}
}
Modified: trunk/src/test/java/cc/kune/selenium/spaces/SitePageObject.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/spaces/SitePageObject.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/test/java/cc/kune/selenium/spaces/SitePageObject.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -23,7 +23,7 @@
import org.openqa.selenium.support.FindBy;
import cc.kune.core.client.notify.confirm.UserConfirmPanel;
-import cc.kune.core.client.sitebar.SitebarGroupsLink;
+import cc.kune.core.client.sitebar.SitebarNewGroupLink;
import cc.kune.core.client.sitebar.search.SitebarSearchPanel;
import cc.kune.core.client.sitebar.spaces.SpaceSelectorPresenter.SpaceSelectorView;
import cc.kune.selenium.PageObject;
@@ -39,7 +39,7 @@
public WebElement groupSpaceBtn;
@FindBy(id = SeleniumConstants.GWTDEV + SpaceSelectorView.HOME_SPACE_ID)
public WebElement homeSpaceBtn;
- @FindBy(id = SeleniumConstants.GWTDEV + SitebarGroupsLink.NEW_GROUP_BTN_ID)
+ @FindBy(id = SeleniumConstants.GWTDEV + SitebarNewGroupLink.NEW_GROUP_BTN_ID)
public WebElement newGroupBtn;
@FindBy(id = SeleniumConstants.GWTDEV + SpaceSelectorView.PUBLIC_SPACE_ID)
public WebElement publicSpaceBtn;
More information about the kune-commits
mailing list