kune-commits
Threads by month
- ----- 2026 -----
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- 1587 discussions
r1728 - in trunk/src/main: java/cc/kune/core/client/i18n java/cc/kune/core/client/sitebar/spaces java/cc/kune/core/server java/cc/kune/core/server/properties java/cc/kune/core/server/rpc java/cc/kune/core/shared/dto resources
by Vicente J. Ruiz Jurado 29 Feb '12
by Vicente J. Ruiz Jurado 29 Feb '12
29 Feb '12
Author: vjrj_
Date: 2012-02-29 19:49:28 +0100 (Wed, 29 Feb 2012)
New Revision: 1728
Modified:
trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_es.properties
trunk/src/main/java/cc/kune/core/client/sitebar/spaces/SpaceSelectorPanel.java
trunk/src/main/java/cc/kune/core/client/sitebar/spaces/SpaceSelectorPresenter.java
trunk/src/main/java/cc/kune/core/server/InitData.java
trunk/src/main/java/cc/kune/core/server/properties/KuneProperties.java
trunk/src/main/java/cc/kune/core/server/rpc/SiteRPC.java
trunk/src/main/java/cc/kune/core/shared/dto/InitDataDTO.java
trunk/src/main/resources/kune.properties
Log:
Public space icon optional
Modified: trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_es.properties
===================================================================
--- trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_es.properties 2012-02-29 17:55:15 UTC (rev 1727)
+++ trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_es.properties 2012-02-29 18:49:28 UTC (rev 1728)
@@ -516,7 +516,7 @@
backgroupChanged = Fondo cambiado
checkYourEmailForTheConfirmationLink = Comprueba tu correo para el enlace de confirmación
openTheAppointment = Abre el evento
-eventsInParam = c
+eventsInParam = Eventos en [%s]
participateInTheEditionOfThisPage = Participa en la edición de esta página
signInOrCreateAnAccountToSusbscribeToThisList = Entra o regístrate para suscribirte a esta lista
joinUsInParamPublicRoom = ¡Unete a nosotros en la sala pública de [%s]!
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/spaces/SpaceSelectorPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/spaces/SpaceSelectorPanel.java 2012-02-29 17:55:15 UTC (rev 1727)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/spaces/SpaceSelectorPanel.java 2012-02-29 18:49:28 UTC (rev 1728)
@@ -150,6 +150,11 @@
}
@Override
+ public void setPublicVisible(final boolean visible) {
+ publicButton.setVisible(visible);
+ }
+
+ @Override
public void setUserBtnDown(final boolean down) {
userButton.setDown(down);
}
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-02-29 17:55:15 UTC (rev 1727)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/spaces/SpaceSelectorPresenter.java 2012-02-29 18:49:28 UTC (rev 1728)
@@ -25,6 +25,7 @@
import cc.kune.common.shared.i18n.I18nTranslationService;
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.UserSignOutEvent;
import cc.kune.core.client.events.WindowFocusEvent;
import cc.kune.core.client.state.Session;
@@ -84,6 +85,8 @@
void setPublicBtnDown(boolean down);
+ void setPublicVisible(boolean visible);
+
void setUserBtnDown(boolean down);
void setWindowTitle(String title);
@@ -173,6 +176,12 @@
}
}
});
+ session.onAppStart(true, new AppStartHandler() {
+ @Override
+ public void onAppStart(final AppStartEvent event) {
+ getView().setPublicVisible(event.getInitData().isPublicSpaceVisible());
+ }
+ });
}
@ProxyEvent
Modified: trunk/src/main/java/cc/kune/core/server/InitData.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/InitData.java 2012-02-29 17:55:15 UTC (rev 1727)
+++ trunk/src/main/java/cc/kune/core/server/InitData.java 2012-02-29 18:49:28 UTC (rev 1728)
@@ -57,6 +57,7 @@
private String maxFileSizeInMb;
private String mp3EmbedObject;
private String oggEmbedObject;
+ private boolean publicSpaceVisible;
private ReservedWordsRegistryDTO reservedWords;
private String siteCommonName;
private String siteLogoUrl;
@@ -206,6 +207,10 @@
return feedbackEnabled;
}
+ public boolean isPublicSpaceVisible() {
+ return publicSpaceVisible;
+ }
+
public boolean isTranslatorEnabled() {
return translatorEnabled;
}
@@ -306,6 +311,10 @@
this.oggEmbedObject = oggEmbedObject;
}
+ public void setPublicSpaceVisible(final boolean publicSpaceVisible) {
+ this.publicSpaceVisible = publicSpaceVisible;
+ }
+
public void setReservedWords(final ReservedWordsRegistryDTO reservedWords) {
this.reservedWords = reservedWords;
}
Modified: trunk/src/main/java/cc/kune/core/server/properties/KuneProperties.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/properties/KuneProperties.java 2012-02-29 17:55:15 UTC (rev 1727)
+++ trunk/src/main/java/cc/kune/core/server/properties/KuneProperties.java 2012-02-29 18:49:28 UTC (rev 1728)
@@ -39,6 +39,7 @@
String KUNE_TUTORIALS_LANGS = "kune.tutorial.langs";
String MP3_EMBEDED_OBJECT = "kune.media.mp3embededobject";
String OGG_EMBEDED_OBJECT = "kune.media.oggembededobject";
+ String PUBLIC_SPACE_VISIBLE = "kune.publispace.toolicon.visible";
String RESERVED_WORDS = "kune.server.names.reservedwords";
String SITE_ADMIN_EMAIL = "kune.admin.email";
String SITE_ADMIN_NAME = "kune.admin.name";
Modified: trunk/src/main/java/cc/kune/core/server/rpc/SiteRPC.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rpc/SiteRPC.java 2012-02-29 17:55:15 UTC (rev 1727)
+++ trunk/src/main/java/cc/kune/core/server/rpc/SiteRPC.java 2012-02-29 18:49:28 UTC (rev 1728)
@@ -153,6 +153,7 @@
data.setUseClientContentCache(kuneProperties.getBoolean(KuneProperties.USE_CLIENT_CONTENT_CACHE));
data.setDefTutorialLanguage(kuneProperties.get(KuneProperties.KUNE_TUTORIALS_DEFLANG));
data.setTutorialLanguages(kuneProperties.getList(KuneProperties.KUNE_TUTORIALS_LANGS));
+ data.setPublicSpaceVisible(kuneProperties.getBoolean(KuneProperties.PUBLIC_SPACE_VISIBLE));
return data;
}
Modified: trunk/src/main/java/cc/kune/core/shared/dto/InitDataDTO.java
===================================================================
--- trunk/src/main/java/cc/kune/core/shared/dto/InitDataDTO.java 2012-02-29 17:55:15 UTC (rev 1727)
+++ trunk/src/main/java/cc/kune/core/shared/dto/InitDataDTO.java 2012-02-29 18:49:28 UTC (rev 1728)
@@ -50,6 +50,7 @@
private String maxFileSizeInMb;
private String mp3EmbedObject;
private String oggEmbedObject;
+ private boolean publicSpaceVisible;
private ReservedWordsRegistryDTO reservedWords;
private String siteLogoUrl;
private String siteLogoUrlOnOver;
@@ -202,6 +203,10 @@
return feedbackEnabled;
}
+ public boolean isPublicSpaceVisible() {
+ return publicSpaceVisible;
+ }
+
public boolean isTranslatorEnabled() {
return translatorEnabled;
}
@@ -302,6 +307,10 @@
this.oggEmbedObject = oggEmbedObject;
}
+ public void setPublicSpaceVisible(final boolean publicSpaceVisible) {
+ this.publicSpaceVisible = publicSpaceVisible;
+ }
+
public void setReservedWords(final ReservedWordsRegistryDTO reservedWords) {
this.reservedWords = reservedWords;
}
Modified: trunk/src/main/resources/kune.properties
===================================================================
--- trunk/src/main/resources/kune.properties 2012-02-29 17:55:15 UTC (rev 1727)
+++ trunk/src/main/resources/kune.properties 2012-02-29 18:49:28 UTC (rev 1728)
@@ -8,7 +8,6 @@
kune.sitelogourl = ws/images/kune-logo-16px.png
kune.sitelogourl.onover = ws/images/kune-logo-onover-16px.png
-
# Every kune site have a group with this name:
# This group will be created in the first execution of kune.
# NOTE: if you change this value later, the group must exist because if not kune will try to initialize the database at start. Also, if you rename the name of this group from the preferences of the user interface, you will have to change the values here accordinly.
@@ -33,7 +32,6 @@
# You can put this file in /etc/kune
kune.site.email.template = src/main/resources/mail-notif-template.html
-
### Database
# Persistence name, choose between:
@@ -102,6 +100,8 @@
kune.client.useContentCache = false
+kune.publispace.toolicon.visible = false
+
# SVG Tutorials
# The languages in with the /tutorials/ are translated into
kune.tutorial.langs = en,es
1
0
Author: vjrj_
Date: 2012-02-29 18:55:15 +0100 (Wed, 29 Feb 2012)
New Revision: 1727
Added:
trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceHelper.java
trunk/src/main/java/cc/kune/core/client/rpcservices/SocialNetService.java
trunk/src/main/java/cc/kune/core/client/rpcservices/SocialNetServiceAsync.java
trunk/src/main/java/cc/kune/core/client/rpcservices/SocialNetServiceHelper.java
trunk/src/main/java/cc/kune/gspace/client/actions/AddAdminMembersToContentMenuItem.java
trunk/src/main/java/cc/kune/gspace/client/actions/AddAllMembersToContentMenuItem.java
trunk/src/main/java/cc/kune/gspace/client/actions/AddCollabMembersToContentMenuItem.java
trunk/src/main/java/cc/kune/gspace/client/actions/AddMembersToContentAction.java
trunk/src/main/java/cc/kune/gspace/client/actions/AddMembersToContentMenuItem.java
trunk/src/main/java/cc/kune/gspace/client/actions/ContentViewerOptionsShareSubMenu.java
trunk/src/test/java/cc/kune/core/client/rpcservices/
Removed:
trunk/src/main/java/cc/kune/core/client/rpcservices/SocialNetworkService.java
trunk/src/main/java/cc/kune/core/client/rpcservices/SocialNetworkServiceAsync.java
trunk/src/main/java/cc/kune/core/client/sn/actions/SocialNetClientUtils.java
Modified:
trunk/src/main/java/cc/kune/barters/client/actions/BartersClientActions.java
trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java
trunk/src/main/java/cc/kune/chat/client/actions/AddAsBuddieHeaderButton.java
trunk/src/main/java/cc/kune/chat/client/actions/AddAsBuddyAction.java
trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
trunk/src/main/java/cc/kune/core/client/sn/AdminsGroupSNDropController.java
trunk/src/main/java/cc/kune/core/client/sn/AllMembersGroupSNDropController.java
trunk/src/main/java/cc/kune/core/client/sn/CollabsGroupSNDropController.java
trunk/src/main/java/cc/kune/core/client/sn/GroupSNDropController.java
trunk/src/main/java/cc/kune/core/client/sn/actions/AcceptJoinGroupAction.java
trunk/src/main/java/cc/kune/core/client/sn/actions/AddEntityToThisGroupAction.java
trunk/src/main/java/cc/kune/core/client/sn/actions/ChangeToAdminAction.java
trunk/src/main/java/cc/kune/core/client/sn/actions/ChangeToCollabAction.java
trunk/src/main/java/cc/kune/core/client/sn/actions/DenyJoinGroupAction.java
trunk/src/main/java/cc/kune/core/client/sn/actions/JoinGroupAction.java
trunk/src/main/java/cc/kune/core/client/sn/actions/RemoveMemberAction.java
trunk/src/main/java/cc/kune/core/client/sn/actions/SNRolAction.java
trunk/src/main/java/cc/kune/core/client/sn/actions/UnJoinFromCurrentGroupAction.java
trunk/src/main/java/cc/kune/core/client/sn/actions/UnJoinFromThisGroupAction.java
trunk/src/main/java/cc/kune/core/server/KuneRackModule.java
trunk/src/main/java/cc/kune/core/server/PlatformServerModule.java
trunk/src/main/java/cc/kune/core/server/rpc/SocialNetworkRPC.java
trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java
trunk/src/main/java/cc/kune/events/client/actions/EventsClientActions.java
trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java
trunk/src/main/java/cc/kune/lists/client/actions/ListsClientActions.java
trunk/src/main/java/cc/kune/tasks/client/actions/TasksClientActions.java
trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java
trunk/src/test/java/cc/kune/core/server/integration/socialnet/SocialNetworkServiceTest.java
Log:
Menu items to share contents with members
Modified: trunk/src/main/java/cc/kune/barters/client/actions/BartersClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/barters/client/actions/BartersClientActions.java 2012-02-29 15:57:49 UTC (rev 1726)
+++ trunk/src/main/java/cc/kune/barters/client/actions/BartersClientActions.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -29,6 +29,9 @@
import cc.kune.core.client.state.StateManager;
import cc.kune.gspace.client.actions.AbstractFoldableToolActions;
import cc.kune.gspace.client.actions.ActionGroups;
+import cc.kune.gspace.client.actions.AddAdminMembersToContentMenuItem;
+import cc.kune.gspace.client.actions.AddAllMembersToContentMenuItem;
+import cc.kune.gspace.client.actions.AddCollabMembersToContentMenuItem;
import cc.kune.gspace.client.actions.ContentViewerOptionsMenu;
import cc.kune.gspace.client.actions.ParticipateInContentBtn;
import cc.kune.gspace.client.actions.RefreshContentMenuItem;
@@ -51,11 +54,17 @@
final Provider<OpenBartersMenuItem> openContentMenuItem,
final Provider<DelBartersMenuItem> delContentMenuItem,
final Provider<ContentViewerOptionsMenu> optionsMenuContent,
+ final Provider<AddAllMembersToContentMenuItem> addAllMenuItem,
+ final Provider<AddAdminMembersToContentMenuItem> addAdminMembersMenuItem,
+ final Provider<AddCollabMembersToContentMenuItem> addCollabMembersMenuItem,
final Provider<TutorialContainerBtn> tutorialBtn,
final Provider<ParticipateInContentBtn> participateBtn,
final Provider<DelFolderMenuItem> delFolderMenuItem, final Provider<RefreshContentMenuItem> refresh) {
super(session, stateManager, i18n, registry);
actionsRegistry.addAction(ActionGroups.TOOLBAR, optionsMenuContent, all);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, addAllMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, addAdminMembersMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, addCollabMembersMenuItem, contents);
actionsRegistry.addAction(ActionGroups.TOOLBAR, refresh, all);
actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, contents);
actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, containers);
@@ -67,6 +76,9 @@
actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, containersNoRoot);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, delContentMenuItem, contents);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, delFolderMenuItem, containersNoRoot);
+ actionsRegistry.addAction(ActionGroups.ITEM_MENU, addAllMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.ITEM_MENU, addAdminMembersMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.ITEM_MENU, addCollabMembersMenuItem, contents);
}
@Override
Modified: trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java 2012-02-29 15:57:49 UTC (rev 1726)
+++ trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -33,6 +33,9 @@
import cc.kune.core.client.state.StateManager;
import cc.kune.gspace.client.actions.AbstractFoldableToolActions;
import cc.kune.gspace.client.actions.ActionGroups;
+import cc.kune.gspace.client.actions.AddAdminMembersToContentMenuItem;
+import cc.kune.gspace.client.actions.AddAllMembersToContentMenuItem;
+import cc.kune.gspace.client.actions.AddCollabMembersToContentMenuItem;
import cc.kune.gspace.client.actions.ContentViewerOptionsMenu;
import cc.kune.gspace.client.actions.ParticipateInContentBtn;
import cc.kune.gspace.client.actions.RefreshContentMenuItem;
@@ -60,12 +63,18 @@
final Provider<DelPostMenuItem> delContentMenuItem,
final Provider<RefreshContentMenuItem> refresh, final Provider<TutorialContainerBtn> tutorialBtn,
final Provider<ContentViewerOptionsMenu> optionsMenuContent,
+ final Provider<AddAllMembersToContentMenuItem> addAllMenuItem,
+ final Provider<AddAdminMembersToContentMenuItem> addAdminMembersMenuItem,
+ final Provider<AddCollabMembersToContentMenuItem> addCollabMembersMenuItem,
final Provider<ParticipateInContentBtn> participateBtn, final BlogsNewMenu blogNewMenu,
final PostNewMenu postNewMenu, final NewMenusForTypeIdsRegistry newMenusRegistry,
final Provider<ChatAboutContentBtn> chatAbout, final Provider<DelBlogMenuItem> delFolderMenuItem,
final Provider<SetAsHomePageMenuItem> setAsHomePage) {
super(session, stateManager, i18n, registry);
actionsRegistry.addAction(ActionGroups.TOOLBAR, optionsMenuContent, all);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, addAllMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, addAdminMembersMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, addCollabMembersMenuItem, contents);
actionsRegistry.addAction(ActionGroups.TOOLBAR, newPostIconBtn, noRoot);
actionsRegistry.addAction(ActionGroups.TOOLBAR, blogNewMenu, containersNoRoot);
actionsRegistry.addAction(ActionGroups.TOOLBAR, postNewMenu, contents);
@@ -81,6 +90,9 @@
actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, containersNoRoot);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, delContentMenuItem, contents);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, delFolderMenuItem, containersNoRoot);
+ actionsRegistry.addAction(ActionGroups.ITEM_MENU, addAllMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.ITEM_MENU, addAdminMembersMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.ITEM_MENU, addCollabMembersMenuItem, contents);
newMenusRegistry.register(TYPE_BLOG, blogNewMenu.get());
newMenusRegistry.register(TYPE_POST,
(MenuDescriptor) postNewMenu.get().withText(i18n.t("Add Gadget")));
Modified: trunk/src/main/java/cc/kune/chat/client/actions/AddAsBuddieHeaderButton.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/actions/AddAsBuddieHeaderButton.java 2012-02-29 15:57:49 UTC (rev 1726)
+++ trunk/src/main/java/cc/kune/chat/client/actions/AddAsBuddieHeaderButton.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -34,7 +34,7 @@
import cc.kune.core.client.resources.CoreMessages;
import cc.kune.core.client.resources.CoreResources;
import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
-import cc.kune.core.client.rpcservices.SocialNetworkServiceAsync;
+import cc.kune.core.client.rpcservices.SocialNetServiceAsync;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.StateManager;
import cc.kune.core.client.ws.entheader.EntityHeader;
@@ -52,13 +52,13 @@
public static class AddAsBuddieHeaderAction extends AbstractExtendedAction {
private final ChatClient chatEngine;
private final Session session;
- private final Provider<SocialNetworkServiceAsync> snService;
+ private final Provider<SocialNetServiceAsync> snService;
@Inject
public AddAsBuddieHeaderAction(final ChatClient chatEngine, final Session session,
final ChatInstances chatInstances, final StateManager stateManager,
final I18nTranslationService i18n, final CoreResources img,
- final Provider<SocialNetworkServiceAsync> snService) {
+ final Provider<SocialNetServiceAsync> snService) {
super();
this.chatEngine = chatEngine;
this.session = session;
Modified: trunk/src/main/java/cc/kune/chat/client/actions/AddAsBuddyAction.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/actions/AddAsBuddyAction.java 2012-02-29 15:57:49 UTC (rev 1726)
+++ trunk/src/main/java/cc/kune/chat/client/actions/AddAsBuddyAction.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -28,7 +28,7 @@
import cc.kune.core.client.resources.CoreMessages;
import cc.kune.core.client.resources.CoreResources;
import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
-import cc.kune.core.client.rpcservices.SocialNetworkServiceAsync;
+import cc.kune.core.client.rpcservices.SocialNetServiceAsync;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.StateManager;
import cc.kune.core.shared.dto.GroupDTO;
@@ -40,12 +40,12 @@
public class AddAsBuddyAction extends AbstractExtendedAction {
private final ChatClient chatEngine;
private final Session session;
- private final Provider<SocialNetworkServiceAsync> snService;
+ private final Provider<SocialNetServiceAsync> snService;
@Inject
public AddAsBuddyAction(final ChatClient chatEngine, final ChatInstances chatInstances,
final StateManager stateManager, final I18nTranslationService i18n, final CoreResources img,
- final Provider<SocialNetworkServiceAsync> snService, final Session session) {
+ final Provider<SocialNetServiceAsync> snService, final Session session) {
super();
this.chatEngine = chatEngine;
this.snService = snService;
Modified: trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2012-02-29 15:57:49 UTC (rev 1726)
+++ trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -66,6 +66,8 @@
import cc.kune.core.client.notify.spiner.SpinerViewImpl;
import cc.kune.core.client.registry.ContentCapabilitiesRegistry;
import cc.kune.core.client.registry.NewMenusForTypeIdsRegistry;
+import cc.kune.core.client.rpcservices.ContentServiceHelper;
+import cc.kune.core.client.rpcservices.SocialNetServiceHelper;
import cc.kune.core.client.sitebar.ErrorsDialog;
import cc.kune.core.client.sitebar.SiteUserOptions;
import cc.kune.core.client.sitebar.SiteUserOptionsPresenter;
@@ -85,7 +87,6 @@
import cc.kune.core.client.sn.UserSNPresenter;
import cc.kune.core.client.sn.actions.AddBuddieSearchPanel;
import cc.kune.core.client.sn.actions.AddMemberSearchPanel;
-import cc.kune.core.client.sn.actions.SocialNetClientUtils;
import cc.kune.core.client.sn.actions.registry.GroupSNAdminsMenuItemsRegistry;
import cc.kune.core.client.sn.actions.registry.GroupSNCollabsMenuItemsRegistry;
import cc.kune.core.client.sn.actions.registry.GroupSNConfActions;
@@ -232,8 +233,10 @@
s(UserSNConfActions.class);
s(AddBuddieSearchPanel.class);
s(AddMemberSearchPanel.class);
- s(SocialNetClientUtils.class);
+ s(ContentServiceHelper.class);
+ s(SocialNetServiceHelper.class);
+
s(SiteUserOptionsPresenter.class);
s(SiteUserOptions.class, SiteUserOptionsPresenter.class);
s(SitebarNewGroupLink.class);
Added: trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceHelper.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceHelper.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceHelper.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -0,0 +1,36 @@
+package cc.kune.core.client.rpcservices;
+
+import cc.kune.common.client.notify.NotifyUser;
+import cc.kune.common.shared.i18n.I18nTranslationService;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.shared.domain.utils.StateToken;
+import cc.kune.core.shared.dto.SocialNetworkSubGroup;
+
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
+public class ContentServiceHelper {
+
+ private final Provider<ContentServiceAsync> contentService;
+ private final I18nTranslationService i18n;
+ private final Session session;
+
+ @Inject
+ public ContentServiceHelper(final Session session, final I18nTranslationService i18n,
+ final Provider<ContentServiceAsync> contentService) {
+ this.session = session;
+ this.i18n = i18n;
+ this.contentService = contentService;
+ }
+
+ public void addParticipants(final StateToken token, final SocialNetworkSubGroup subGroup) {
+ contentService.get().addParticipants(session.getUserHash(), token,
+ session.getCurrentGroupShortName(), subGroup, new AsyncCallbackSimple<Boolean>() {
+ @Override
+ public void onSuccess(final Boolean result) {
+ NotifyUser.info(result ? i18n.t("Shared with members")
+ : i18n.t("All these members are already partipating"));
+ }
+ });
+ }
+}
Copied: trunk/src/main/java/cc/kune/core/client/rpcservices/SocialNetService.java (from rev 1717, trunk/src/main/java/cc/kune/core/client/rpcservices/SocialNetworkService.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/SocialNetService.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/SocialNetService.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -0,0 +1,65 @@
+/*
+ *
+ * Copyright (C) 2007-2009 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.rpcservices;
+
+import cc.kune.core.client.errors.DefaultException;
+import cc.kune.core.shared.domain.utils.StateToken;
+import cc.kune.core.shared.dto.SocialNetworkDataDTO;
+import cc.kune.core.shared.dto.SocialNetworkRequestResult;
+
+import com.google.gwt.user.client.rpc.RemoteService;
+import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
+
+@RemoteServiceRelativePath("SocialNetService")
+public interface SocialNetService extends RemoteService {
+
+ SocialNetworkDataDTO acceptJoinGroup(String hash, StateToken groupToken, String groupToAcceptShortName)
+ throws DefaultException;
+
+ SocialNetworkDataDTO addAdminMember(String hash, StateToken groupToken, String groupToAddShortName)
+ throws DefaultException;
+
+ void addAsBuddie(String hash, String userName) throws DefaultException;
+
+ SocialNetworkDataDTO addCollabMember(String hash, StateToken groupToken, String groupToAddShortName)
+ throws DefaultException;
+
+ SocialNetworkDataDTO addViewerMember(String hash, StateToken groupToken, String groupToAddShortName)
+ throws DefaultException;
+
+ SocialNetworkDataDTO deleteMember(String hash, StateToken groupToken, String groupToDeleteShortName)
+ throws DefaultException;
+
+ SocialNetworkDataDTO denyJoinGroup(String hash, StateToken groupToken, String groupToDenyShortName)
+ throws DefaultException;
+
+ SocialNetworkDataDTO getSocialNetwork(String hash, StateToken groupToken) throws DefaultException;
+
+ SocialNetworkRequestResult requestJoinGroup(String hash, StateToken groupToken)
+ throws DefaultException;
+
+ SocialNetworkDataDTO setAdminAsCollab(String hash, StateToken groupToken,
+ String groupToSetCollabShortName) throws DefaultException;
+
+ SocialNetworkDataDTO setCollabAsAdmin(String hash, StateToken groupToken,
+ String groupToSetAdminShortName) throws DefaultException;
+
+ void unJoinGroup(String hash, StateToken groupToken) throws DefaultException;
+}
Copied: trunk/src/main/java/cc/kune/core/client/rpcservices/SocialNetServiceAsync.java (from rev 1717, trunk/src/main/java/cc/kune/core/client/rpcservices/SocialNetworkServiceAsync.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/SocialNetServiceAsync.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/SocialNetServiceAsync.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -0,0 +1,62 @@
+/*
+ *
+ * Copyright (C) 2007-2009 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.rpcservices;
+
+import cc.kune.core.shared.domain.utils.StateToken;
+import cc.kune.core.shared.dto.SocialNetworkDataDTO;
+import cc.kune.core.shared.dto.SocialNetworkRequestResult;
+
+import com.google.gwt.user.client.rpc.AsyncCallback;
+
+public interface SocialNetServiceAsync {
+
+ void acceptJoinGroup(String hash, StateToken groupToken, String groupToAcceptShortName,
+ AsyncCallback<SocialNetworkDataDTO> callback);
+
+ void addAdminMember(String hash, StateToken groupToken, String groupToAddShortName,
+ AsyncCallback<SocialNetworkDataDTO> callback);
+
+ void addAsBuddie(String hash, String userName, AsyncCallback<Void> callback);
+
+ void addCollabMember(String hash, StateToken groupToken, String groupToAddShortName,
+ AsyncCallback<SocialNetworkDataDTO> callback);
+
+ void addViewerMember(String hash, StateToken groupToken, String groupToAddShortName,
+ AsyncCallback<SocialNetworkDataDTO> callback);
+
+ void deleteMember(String hash, StateToken groupToken, String groupToDeleteShortName,
+ AsyncCallback<SocialNetworkDataDTO> callback);
+
+ void denyJoinGroup(String hash, StateToken groupToken, String groupToDenyShortName,
+ AsyncCallback<SocialNetworkDataDTO> callback);
+
+ void getSocialNetwork(String hash, StateToken groupToken, AsyncCallback<SocialNetworkDataDTO> callback);
+
+ void requestJoinGroup(String hash, StateToken groupToken,
+ AsyncCallback<SocialNetworkRequestResult> callback);
+
+ void setAdminAsCollab(String hash, StateToken groupToken, String groupToSetCollabShortName,
+ AsyncCallback<SocialNetworkDataDTO> callback);
+
+ void setCollabAsAdmin(String hash, StateToken groupToken, String groupToSetAdminShortName,
+ AsyncCallback<SocialNetworkDataDTO> callback);
+
+ void unJoinGroup(String hash, StateToken groupToken, AsyncCallback<Void> callback);
+}
Copied: trunk/src/main/java/cc/kune/core/client/rpcservices/SocialNetServiceHelper.java (from rev 1720, trunk/src/main/java/cc/kune/core/client/sn/actions/SocialNetClientUtils.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/SocialNetServiceHelper.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/SocialNetServiceHelper.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -0,0 +1,57 @@
+package cc.kune.core.client.rpcservices;
+
+import cc.kune.common.client.notify.NotifyUser;
+import cc.kune.common.shared.i18n.I18nTranslationService;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.StateManager;
+import cc.kune.core.shared.dto.SocialNetworkDataDTO;
+
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
+public class SocialNetServiceHelper {
+
+ private final I18nTranslationService i18n;
+ private final Session session;
+ private final Provider<SocialNetServiceAsync> snServiceProvider;
+ private final StateManager stateManager;
+
+ @Inject
+ public SocialNetServiceHelper(final StateManager stateManager, final Session session,
+ final I18nTranslationService i18n, final Provider<SocialNetServiceAsync> snServiceProvider) {
+ this.stateManager = stateManager;
+ this.session = session;
+ this.i18n = i18n;
+ this.snServiceProvider = snServiceProvider;
+ }
+
+ public void changeToAdmin(final String shortName) {
+ NotifyUser.showProgress();
+ snServiceProvider.get().setCollabAsAdmin(session.getUserHash(),
+ session.getCurrentState().getStateToken(), shortName,
+ new AsyncCallbackSimple<SocialNetworkDataDTO>() {
+ @Override
+ public void onSuccess(final SocialNetworkDataDTO result) {
+ SocialNetServiceHelper.this.onSuccess(result);
+ }
+ });
+ }
+
+ public void changeToCollab(final String shortName) {
+ NotifyUser.showProgress();
+ snServiceProvider.get().setAdminAsCollab(session.getUserHash(),
+ session.getCurrentState().getStateToken(), shortName,
+ new AsyncCallbackSimple<SocialNetworkDataDTO>() {
+ @Override
+ public void onSuccess(final SocialNetworkDataDTO result) {
+ SocialNetServiceHelper.this.onSuccess(result);
+ }
+ });
+ }
+
+ private void onSuccess(final SocialNetworkDataDTO result) {
+ NotifyUser.hideProgress();
+ NotifyUser.info(i18n.t("Member type changed"));
+ stateManager.setSocialNetwork(result);
+ }
+}
Deleted: trunk/src/main/java/cc/kune/core/client/rpcservices/SocialNetworkService.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/SocialNetworkService.java 2012-02-29 15:57:49 UTC (rev 1726)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/SocialNetworkService.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -1,65 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2009 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.rpcservices;
-
-import cc.kune.core.client.errors.DefaultException;
-import cc.kune.core.shared.domain.utils.StateToken;
-import cc.kune.core.shared.dto.SocialNetworkDataDTO;
-import cc.kune.core.shared.dto.SocialNetworkRequestResult;
-
-import com.google.gwt.user.client.rpc.RemoteService;
-import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
-
-@RemoteServiceRelativePath("SocialNetworkService")
-public interface SocialNetworkService extends RemoteService {
-
- SocialNetworkDataDTO acceptJoinGroup(String hash, StateToken groupToken, String groupToAcceptShortName)
- throws DefaultException;
-
- SocialNetworkDataDTO addAdminMember(String hash, StateToken groupToken, String groupToAddShortName)
- throws DefaultException;
-
- void addAsBuddie(String hash, String userName) throws DefaultException;
-
- SocialNetworkDataDTO addCollabMember(String hash, StateToken groupToken, String groupToAddShortName)
- throws DefaultException;
-
- SocialNetworkDataDTO addViewerMember(String hash, StateToken groupToken, String groupToAddShortName)
- throws DefaultException;
-
- SocialNetworkDataDTO deleteMember(String hash, StateToken groupToken, String groupToDeleteShortName)
- throws DefaultException;
-
- SocialNetworkDataDTO denyJoinGroup(String hash, StateToken groupToken, String groupToDenyShortName)
- throws DefaultException;
-
- SocialNetworkDataDTO getSocialNetwork(String hash, StateToken groupToken) throws DefaultException;
-
- SocialNetworkRequestResult requestJoinGroup(String hash, StateToken groupToken)
- throws DefaultException;
-
- SocialNetworkDataDTO setAdminAsCollab(String hash, StateToken groupToken,
- String groupToSetCollabShortName) throws DefaultException;
-
- SocialNetworkDataDTO setCollabAsAdmin(String hash, StateToken groupToken,
- String groupToSetAdminShortName) throws DefaultException;
-
- void unJoinGroup(String hash, StateToken groupToken) throws DefaultException;
-}
Deleted: trunk/src/main/java/cc/kune/core/client/rpcservices/SocialNetworkServiceAsync.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/SocialNetworkServiceAsync.java 2012-02-29 15:57:49 UTC (rev 1726)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/SocialNetworkServiceAsync.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -1,62 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2009 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.rpcservices;
-
-import cc.kune.core.shared.domain.utils.StateToken;
-import cc.kune.core.shared.dto.SocialNetworkDataDTO;
-import cc.kune.core.shared.dto.SocialNetworkRequestResult;
-
-import com.google.gwt.user.client.rpc.AsyncCallback;
-
-public interface SocialNetworkServiceAsync {
-
- void acceptJoinGroup(String hash, StateToken groupToken, String groupToAcceptShortName,
- AsyncCallback<SocialNetworkDataDTO> callback);
-
- void addAdminMember(String hash, StateToken groupToken, String groupToAddShortName,
- AsyncCallback<SocialNetworkDataDTO> callback);
-
- void addAsBuddie(String hash, String userName, AsyncCallback<Void> callback);
-
- void addCollabMember(String hash, StateToken groupToken, String groupToAddShortName,
- AsyncCallback<SocialNetworkDataDTO> callback);
-
- void addViewerMember(String hash, StateToken groupToken, String groupToAddShortName,
- AsyncCallback<SocialNetworkDataDTO> callback);
-
- void deleteMember(String hash, StateToken groupToken, String groupToDeleteShortName,
- AsyncCallback<SocialNetworkDataDTO> callback);
-
- void denyJoinGroup(String hash, StateToken groupToken, String groupToDenyShortName,
- AsyncCallback<SocialNetworkDataDTO> callback);
-
- void getSocialNetwork(String hash, StateToken groupToken, AsyncCallback<SocialNetworkDataDTO> callback);
-
- void requestJoinGroup(String hash, StateToken groupToken,
- AsyncCallback<SocialNetworkRequestResult> callback);
-
- void setAdminAsCollab(String hash, StateToken groupToken, String groupToSetCollabShortName,
- AsyncCallback<SocialNetworkDataDTO> callback);
-
- void setCollabAsAdmin(String hash, StateToken groupToken, String groupToSetAdminShortName,
- AsyncCallback<SocialNetworkDataDTO> callback);
-
- void unJoinGroup(String hash, StateToken groupToken, AsyncCallback<Void> callback);
-}
Modified: trunk/src/main/java/cc/kune/core/client/sn/AdminsGroupSNDropController.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/AdminsGroupSNDropController.java 2012-02-29 15:57:49 UTC (rev 1726)
+++ trunk/src/main/java/cc/kune/core/client/sn/AdminsGroupSNDropController.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -2,8 +2,8 @@
import cc.kune.common.shared.i18n.I18nTranslationService;
import cc.kune.core.client.dnd.KuneDragController;
-import cc.kune.core.client.rpcservices.ContentServiceAsync;
-import cc.kune.core.client.sn.actions.SocialNetClientUtils;
+import cc.kune.core.client.rpcservices.ContentServiceHelper;
+import cc.kune.core.client.rpcservices.SocialNetServiceHelper;
import cc.kune.core.client.state.Session;
import cc.kune.core.shared.dto.SocialNetworkSubGroup;
@@ -13,8 +13,8 @@
@Inject
public AdminsGroupSNDropController(final KuneDragController dragController,
- final ContentServiceAsync contentService, final Session session,
- final I18nTranslationService i18n, final SocialNetClientUtils sNClientUtils) {
+ final ContentServiceHelper contentService, final Session session,
+ final I18nTranslationService i18n, final SocialNetServiceHelper sNClientUtils) {
super(dragController, SocialNetworkSubGroup.admins, contentService, session, i18n, sNClientUtils);
}
Modified: trunk/src/main/java/cc/kune/core/client/sn/AllMembersGroupSNDropController.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/AllMembersGroupSNDropController.java 2012-02-29 15:57:49 UTC (rev 1726)
+++ trunk/src/main/java/cc/kune/core/client/sn/AllMembersGroupSNDropController.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -2,8 +2,8 @@
import cc.kune.common.shared.i18n.I18nTranslationService;
import cc.kune.core.client.dnd.KuneDragController;
-import cc.kune.core.client.rpcservices.ContentServiceAsync;
-import cc.kune.core.client.sn.actions.SocialNetClientUtils;
+import cc.kune.core.client.rpcservices.ContentServiceHelper;
+import cc.kune.core.client.rpcservices.SocialNetServiceHelper;
import cc.kune.core.client.state.Session;
import cc.kune.core.shared.dto.SocialNetworkSubGroup;
@@ -13,8 +13,8 @@
@Inject
public AllMembersGroupSNDropController(final KuneDragController dragController,
- final ContentServiceAsync contentService, final Session session,
- final I18nTranslationService i18n, final SocialNetClientUtils sNClientUtils) {
+ final ContentServiceHelper contentService, final Session session,
+ final I18nTranslationService i18n, final SocialNetServiceHelper sNClientUtils) {
super(dragController, SocialNetworkSubGroup.all, contentService, session, i18n, sNClientUtils);
}
Modified: trunk/src/main/java/cc/kune/core/client/sn/CollabsGroupSNDropController.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/CollabsGroupSNDropController.java 2012-02-29 15:57:49 UTC (rev 1726)
+++ trunk/src/main/java/cc/kune/core/client/sn/CollabsGroupSNDropController.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -2,8 +2,8 @@
import cc.kune.common.shared.i18n.I18nTranslationService;
import cc.kune.core.client.dnd.KuneDragController;
-import cc.kune.core.client.rpcservices.ContentServiceAsync;
-import cc.kune.core.client.sn.actions.SocialNetClientUtils;
+import cc.kune.core.client.rpcservices.ContentServiceHelper;
+import cc.kune.core.client.rpcservices.SocialNetServiceHelper;
import cc.kune.core.client.state.Session;
import cc.kune.core.shared.dto.SocialNetworkSubGroup;
@@ -13,8 +13,8 @@
@Inject
public CollabsGroupSNDropController(final KuneDragController dragController,
- final ContentServiceAsync contentService, final Session session,
- final I18nTranslationService i18n, final SocialNetClientUtils sNClientUtils) {
+ final ContentServiceHelper contentService, final Session session,
+ final I18nTranslationService i18n, final SocialNetServiceHelper sNClientUtils) {
super(dragController, SocialNetworkSubGroup.collabs, contentService, session, i18n, sNClientUtils);
}
Modified: trunk/src/main/java/cc/kune/core/client/sn/GroupSNDropController.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/GroupSNDropController.java 2012-02-29 15:57:49 UTC (rev 1726)
+++ trunk/src/main/java/cc/kune/core/client/sn/GroupSNDropController.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -1,12 +1,10 @@
package cc.kune.core.client.sn;
-import cc.kune.common.client.notify.NotifyUser;
import cc.kune.common.shared.i18n.I18nTranslationService;
import cc.kune.core.client.dnd.AbstractDropController;
import cc.kune.core.client.dnd.KuneDragController;
-import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
-import cc.kune.core.client.rpcservices.ContentServiceAsync;
-import cc.kune.core.client.sn.actions.SocialNetClientUtils;
+import cc.kune.core.client.rpcservices.ContentServiceHelper;
+import cc.kune.core.client.rpcservices.SocialNetServiceHelper;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.ui.BasicDragableThumb;
import cc.kune.core.shared.dto.SocialNetworkSubGroup;
@@ -18,20 +16,19 @@
public class GroupSNDropController extends AbstractDropController {
- private final ContentServiceAsync contentService;
- private final I18nTranslationService i18n;
+ private final ContentServiceHelper contentService;
private final Session session;
- private final SocialNetClientUtils sNClientUtils;
+ private final SocialNetServiceHelper sNClientUtils;
private final SocialNetworkSubGroup subGroup;
public GroupSNDropController(final KuneDragController dragController,
- final SocialNetworkSubGroup subGroup, final ContentServiceAsync contentService,
- final Session session, final I18nTranslationService i18n, final SocialNetClientUtils sNClientUtils) {
+ final SocialNetworkSubGroup subGroup, final ContentServiceHelper contentService,
+ final Session session, final I18nTranslationService i18n,
+ final SocialNetServiceHelper sNClientUtils) {
super(dragController);
this.subGroup = subGroup;
this.contentService = contentService;
this.session = session;
- this.i18n = i18n;
this.sNClientUtils = sNClientUtils;
registerType(FolderItemWidget.class);
registerType(BasicDragableThumb.class);
@@ -40,14 +37,7 @@
@Override
public void onDropAllowed(final Widget widget, final SimpleDropController dropController) {
if (widget instanceof FolderItemWidget) {
- contentService.addParticipants(session.getUserHash(), ((FolderItemWidget) widget).getToken(),
- session.getCurrentGroupShortName(), subGroup, new AsyncCallbackSimple<Boolean>() {
- @Override
- public void onSuccess(final Boolean result) {
- NotifyUser.info(result ? i18n.t("Shared with members")
- : i18n.t("All these members are already partipating"));
- }
- });
+ contentService.addParticipants(((FolderItemWidget) widget).getToken(), subGroup);
}
if (widget instanceof BasicDragableThumb) {
final String shortName = ((BasicDragableThumb) widget).getToken().getGroup();
Modified: trunk/src/main/java/cc/kune/core/client/sn/actions/AcceptJoinGroupAction.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/AcceptJoinGroupAction.java 2012-02-29 15:57:49 UTC (rev 1726)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/AcceptJoinGroupAction.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -26,7 +26,7 @@
import cc.kune.common.shared.i18n.I18nTranslationService;
import cc.kune.core.client.resources.CoreResources;
import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
-import cc.kune.core.client.rpcservices.SocialNetworkServiceAsync;
+import cc.kune.core.client.rpcservices.SocialNetServiceAsync;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.StateManager;
import cc.kune.core.shared.dto.GroupDTO;
@@ -38,14 +38,14 @@
public class AcceptJoinGroupAction extends AbstractExtendedAction {
private final I18nTranslationService i18n;
private final Session session;
- private final Provider<SocialNetworkServiceAsync> snServiceProvider;
+ private final Provider<SocialNetServiceAsync> snServiceProvider;
private final StateManager stateManager;
@Inject
public AcceptJoinGroupAction(final StateManager stateManager, final Session session,
final I18nTranslationService i18n, final CoreResources res,
- final Provider<SocialNetworkServiceAsync> snServiceProvider) {
+ final Provider<SocialNetServiceAsync> snServiceProvider) {
this.stateManager = stateManager;
this.session = session;
this.i18n = i18n;
Modified: trunk/src/main/java/cc/kune/core/client/sn/actions/AddEntityToThisGroupAction.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/AddEntityToThisGroupAction.java 2012-02-29 15:57:49 UTC (rev 1726)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/AddEntityToThisGroupAction.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -26,7 +26,7 @@
import cc.kune.common.shared.utils.SimpleResponseCallback;
import cc.kune.core.client.resources.CoreResources;
import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
-import cc.kune.core.client.rpcservices.SocialNetworkServiceAsync;
+import cc.kune.core.client.rpcservices.SocialNetServiceAsync;
import cc.kune.core.client.sitebar.search.OnEntitySelectedInSearch;
import cc.kune.core.client.state.AccessRightsClientManager;
import cc.kune.core.client.state.Session;
@@ -45,7 +45,7 @@
@Inject
public AddEntityToThisGroupAction(final StateManager stateManager, final Session session,
final I18nTranslationService i18n, final CoreResources res,
- final Provider<SocialNetworkServiceAsync> snServiceProvider,
+ final Provider<SocialNetServiceAsync> snServiceProvider,
final AddMemberSearchPanel searchPanel, final AccessRightsClientManager rightsClientManager) {
super(stateManager, session, i18n, res, snServiceProvider, rightsClientManager,
AccessRolDTO.Administrator, true, false, true);
Modified: trunk/src/main/java/cc/kune/core/client/sn/actions/ChangeToAdminAction.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/ChangeToAdminAction.java 2012-02-29 15:57:49 UTC (rev 1726)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/ChangeToAdminAction.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -24,16 +24,17 @@
import cc.kune.common.client.actions.ActionEvent;
import cc.kune.common.shared.i18n.I18nTranslationService;
import cc.kune.core.client.resources.CoreResources;
+import cc.kune.core.client.rpcservices.SocialNetServiceHelper;
import cc.kune.core.shared.dto.GroupDTO;
import com.google.inject.Inject;
public class ChangeToAdminAction extends AbstractExtendedAction {
- private final SocialNetClientUtils snClientUtils;
+ private final SocialNetServiceHelper snClientUtils;
@Inject
public ChangeToAdminAction(final I18nTranslationService i18n, final CoreResources res,
- final SocialNetClientUtils snClientUtils) {
+ final SocialNetServiceHelper snClientUtils) {
this.snClientUtils = snClientUtils;
putValue(NAME, i18n.t("Change to administrator"));
putValue(Action.SMALL_ICON, res.arrowUpGreen());
Modified: trunk/src/main/java/cc/kune/core/client/sn/actions/ChangeToCollabAction.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/ChangeToCollabAction.java 2012-02-29 15:57:49 UTC (rev 1726)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/ChangeToCollabAction.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -24,16 +24,17 @@
import cc.kune.common.client.actions.ActionEvent;
import cc.kune.common.shared.i18n.I18nTranslationService;
import cc.kune.core.client.resources.CoreResources;
+import cc.kune.core.client.rpcservices.SocialNetServiceHelper;
import cc.kune.core.shared.dto.GroupDTO;
import com.google.inject.Inject;
public class ChangeToCollabAction extends AbstractExtendedAction {
- private final SocialNetClientUtils sNClientUtils;
+ private final SocialNetServiceHelper sNClientUtils;
@Inject
public ChangeToCollabAction(final I18nTranslationService i18n, final CoreResources res,
- final SocialNetClientUtils sNClientUtils) {
+ final SocialNetServiceHelper sNClientUtils) {
this.sNClientUtils = sNClientUtils;
putValue(NAME, i18n.t("Change to collaborator"));
putValue(Action.SMALL_ICON, res.arrowDownGreen());
Modified: trunk/src/main/java/cc/kune/core/client/sn/actions/DenyJoinGroupAction.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/DenyJoinGroupAction.java 2012-02-29 15:57:49 UTC (rev 1726)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/DenyJoinGroupAction.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -26,7 +26,7 @@
import cc.kune.common.shared.i18n.I18nTranslationService;
import cc.kune.core.client.resources.CoreResources;
import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
-import cc.kune.core.client.rpcservices.SocialNetworkServiceAsync;
+import cc.kune.core.client.rpcservices.SocialNetServiceAsync;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.StateManager;
import cc.kune.core.shared.dto.GroupDTO;
@@ -38,13 +38,13 @@
public class DenyJoinGroupAction extends AbstractExtendedAction {
private final I18nTranslationService i18n;
private final Session session;
- private final Provider<SocialNetworkServiceAsync> snServiceProvider;
+ private final Provider<SocialNetServiceAsync> snServiceProvider;
private final StateManager stateManager;
@Inject
public DenyJoinGroupAction(final StateManager stateManager, final Session session,
final I18nTranslationService i18n, final CoreResources res,
- final Provider<SocialNetworkServiceAsync> snServiceProvider) {
+ final Provider<SocialNetServiceAsync> snServiceProvider) {
this.stateManager = stateManager;
this.session = session;
this.i18n = i18n;
Modified: trunk/src/main/java/cc/kune/core/client/sn/actions/JoinGroupAction.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/JoinGroupAction.java 2012-02-29 15:57:49 UTC (rev 1726)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/JoinGroupAction.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -28,7 +28,7 @@
import cc.kune.core.client.auth.SignIn;
import cc.kune.core.client.resources.CoreResources;
import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
-import cc.kune.core.client.rpcservices.SocialNetworkServiceAsync;
+import cc.kune.core.client.rpcservices.SocialNetServiceAsync;
import cc.kune.core.client.state.AccessRightsClientManager;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.SiteTokens;
@@ -47,7 +47,7 @@
@Inject
public JoinGroupAction(final StateManager stateManager, final Session session,
final I18nTranslationService i18n, final CoreResources res,
- final Provider<SocialNetworkServiceAsync> snServiceProvider, final Provider<SignIn> signIn,
+ final Provider<SocialNetServiceAsync> snServiceProvider, final Provider<SignIn> signIn,
final AccessRightsClientManager rightsClientManager) {
super(stateManager, session, i18n, res, snServiceProvider, rightsClientManager, AccessRolDTO.Viewer,
false, true, false);
Modified: trunk/src/main/java/cc/kune/core/client/sn/actions/RemoveMemberAction.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/RemoveMemberAction.java 2012-02-29 15:57:49 UTC (rev 1726)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/RemoveMemberAction.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -26,7 +26,7 @@
import cc.kune.common.shared.i18n.I18nTranslationService;
import cc.kune.core.client.resources.CoreResources;
import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
-import cc.kune.core.client.rpcservices.SocialNetworkServiceAsync;
+import cc.kune.core.client.rpcservices.SocialNetServiceAsync;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.StateManager;
import cc.kune.core.shared.dto.GroupDTO;
@@ -38,13 +38,13 @@
public class RemoveMemberAction extends AbstractExtendedAction {
private final I18nTranslationService i18n;
private final Session session;
- private final Provider<SocialNetworkServiceAsync> snServiceProvider;
+ private final Provider<SocialNetServiceAsync> snServiceProvider;
private final StateManager stateManager;
@Inject
public RemoveMemberAction(final StateManager stateManager, final Session session,
final I18nTranslationService i18n, final CoreResources res,
- final Provider<SocialNetworkServiceAsync> snServiceProvider) {
+ final Provider<SocialNetServiceAsync> snServiceProvider) {
this.stateManager = stateManager;
this.session = session;
this.i18n = i18n;
Modified: trunk/src/main/java/cc/kune/core/client/sn/actions/SNRolAction.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/SNRolAction.java 2012-02-29 15:57:49 UTC (rev 1726)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/SNRolAction.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -22,7 +22,7 @@
import cc.kune.common.shared.i18n.I18nTranslationService;
import cc.kune.core.client.actions.RolActionAutoUpdated;
import cc.kune.core.client.resources.CoreResources;
-import cc.kune.core.client.rpcservices.SocialNetworkServiceAsync;
+import cc.kune.core.client.rpcservices.SocialNetServiceAsync;
import cc.kune.core.client.state.AccessRightsClientManager;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.StateManager;
@@ -33,11 +33,11 @@
public abstract class SNRolAction extends RolActionAutoUpdated {
protected final I18nTranslationService i18n;
- protected final Provider<SocialNetworkServiceAsync> snServiceProvider;
+ protected final Provider<SocialNetServiceAsync> snServiceProvider;
@Inject
public SNRolAction(final StateManager stateManager, final Session session, final I18nTranslationService i18n,
- final CoreResources res, final Provider<SocialNetworkServiceAsync> snServiceProvider,
+ final CoreResources res, final Provider<SocialNetServiceAsync> snServiceProvider,
final AccessRightsClientManager rightsManager, final AccessRolDTO rolRequired, final boolean authNeed,
final boolean visibleForNonMemb, final boolean visibleForMembers) {
super(stateManager, session, rightsManager, rolRequired, authNeed, visibleForNonMemb, visibleForMembers);
Deleted: trunk/src/main/java/cc/kune/core/client/sn/actions/SocialNetClientUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/SocialNetClientUtils.java 2012-02-29 15:57:49 UTC (rev 1726)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/SocialNetClientUtils.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -1,59 +0,0 @@
-package cc.kune.core.client.sn.actions;
-
-import cc.kune.common.client.notify.NotifyUser;
-import cc.kune.common.shared.i18n.I18nTranslationService;
-import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
-import cc.kune.core.client.rpcservices.SocialNetworkServiceAsync;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.client.state.StateManager;
-import cc.kune.core.shared.dto.SocialNetworkDataDTO;
-
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-
-public class SocialNetClientUtils {
-
- private final I18nTranslationService i18n;
- private final Session session;
- private final Provider<SocialNetworkServiceAsync> snServiceProvider;
- private final StateManager stateManager;
-
- @Inject
- public SocialNetClientUtils(final StateManager stateManager, final Session session,
- final I18nTranslationService i18n, final Provider<SocialNetworkServiceAsync> snServiceProvider) {
- this.stateManager = stateManager;
- this.session = session;
- this.i18n = i18n;
- this.snServiceProvider = snServiceProvider;
- }
-
- public void changeToAdmin(final String shortName) {
- NotifyUser.showProgress();
- snServiceProvider.get().setCollabAsAdmin(session.getUserHash(),
- session.getCurrentState().getStateToken(), shortName,
- new AsyncCallbackSimple<SocialNetworkDataDTO>() {
- @Override
- public void onSuccess(final SocialNetworkDataDTO result) {
- SocialNetClientUtils.this.onSuccess(result);
- }
- });
- }
-
- public void changeToCollab(final String shortName) {
- NotifyUser.showProgress();
- snServiceProvider.get().setAdminAsCollab(session.getUserHash(),
- session.getCurrentState().getStateToken(), shortName,
- new AsyncCallbackSimple<SocialNetworkDataDTO>() {
- @Override
- public void onSuccess(final SocialNetworkDataDTO result) {
- SocialNetClientUtils.this.onSuccess(result);
- }
- });
- }
-
- private void onSuccess(final SocialNetworkDataDTO result) {
- NotifyUser.hideProgress();
- NotifyUser.info(i18n.t("Member type changed"));
- stateManager.setSocialNetwork(result);
- }
-}
Modified: trunk/src/main/java/cc/kune/core/client/sn/actions/UnJoinFromCurrentGroupAction.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/UnJoinFromCurrentGroupAction.java 2012-02-29 15:57:49 UTC (rev 1726)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/UnJoinFromCurrentGroupAction.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -26,7 +26,7 @@
import cc.kune.common.shared.i18n.I18nTranslationService;
import cc.kune.core.client.resources.CoreResources;
import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
-import cc.kune.core.client.rpcservices.SocialNetworkServiceAsync;
+import cc.kune.core.client.rpcservices.SocialNetServiceAsync;
import cc.kune.core.client.state.AccessRightsClientManager;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.StateManager;
@@ -40,7 +40,7 @@
@Inject
public UnJoinFromCurrentGroupAction(final StateManager stateManager, final Session session,
final I18nTranslationService i18n, final CoreResources res,
- final Provider<SocialNetworkServiceAsync> snServiceProvider,
+ final Provider<SocialNetServiceAsync> snServiceProvider,
final AccessRightsClientManager rightsClientManager) {
super(stateManager, session, i18n, res, snServiceProvider, rightsClientManager, AccessRolDTO.Editor,
true, false, true);
Modified: trunk/src/main/java/cc/kune/core/client/sn/actions/UnJoinFromThisGroupAction.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/UnJoinFromThisGroupAction.java 2012-02-29 15:57:49 UTC (rev 1726)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/UnJoinFromThisGroupAction.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -27,7 +27,7 @@
import cc.kune.core.client.actions.RolAction;
import cc.kune.core.client.resources.CoreResources;
import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
-import cc.kune.core.client.rpcservices.SocialNetworkServiceAsync;
+import cc.kune.core.client.rpcservices.SocialNetServiceAsync;
import cc.kune.core.client.state.AccessRightsClientManager;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.StateManager;
@@ -46,13 +46,13 @@
private final I18nTranslationService i18n;
private final Session session;
- private final Provider<SocialNetworkServiceAsync> snServiceProvider;
+ private final Provider<SocialNetServiceAsync> snServiceProvider;
private final StateManager stateManager;
@Inject
public UnJoinFromThisGroupAction(final StateManager stateManager, final Session session,
final I18nTranslationService i18n, final CoreResources res,
- final Provider<SocialNetworkServiceAsync> snServiceProvider,
+ final Provider<SocialNetServiceAsync> snServiceProvider,
final AccessRightsClientManager rightsClientManager) {
super(AccessRolDTO.Editor, true);
this.stateManager = stateManager;
Modified: trunk/src/main/java/cc/kune/core/server/KuneRackModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/KuneRackModule.java 2012-02-29 15:57:49 UTC (rev 1726)
+++ trunk/src/main/java/cc/kune/core/server/KuneRackModule.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -32,7 +32,7 @@
import cc.kune.core.client.rpcservices.GroupService;
import cc.kune.core.client.rpcservices.I18nService;
import cc.kune.core.client.rpcservices.SiteService;
-import cc.kune.core.client.rpcservices.SocialNetworkService;
+import cc.kune.core.client.rpcservices.SocialNetService;
import cc.kune.core.client.rpcservices.UserService;
import cc.kune.core.server.init.FinderRegistry;
import cc.kune.core.server.manager.file.EntityBackgroundDownloadManager;
@@ -180,7 +180,7 @@
new ForwardFilter(suffix + "/ws.html"));
builder.installGWTServices("^" + suffix + "/", SiteService.class, GroupService.class,
- ContentService.class, UserService.class, SocialNetworkService.class, I18nService.class,
+ ContentService.class, UserService.class, SocialNetService.class, I18nService.class,
ListsService.class, ClientStatsService.class);
builder.installRESTServices("^" + suffix + "/json/", TestJSONService.class, GroupJSONService.class,
UserJSONService.class, I18nTranslationJSONService.class, ContentJSONService.class);
Modified: trunk/src/main/java/cc/kune/core/server/PlatformServerModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/PlatformServerModule.java 2012-02-29 15:57:49 UTC (rev 1726)
+++ trunk/src/main/java/cc/kune/core/server/PlatformServerModule.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -27,7 +27,7 @@
import cc.kune.core.client.rpcservices.GroupService;
import cc.kune.core.client.rpcservices.I18nService;
import cc.kune.core.client.rpcservices.SiteService;
-import cc.kune.core.client.rpcservices.SocialNetworkService;
+import cc.kune.core.client.rpcservices.SocialNetService;
import cc.kune.core.client.rpcservices.UserService;
import cc.kune.core.server.access.AccessRightsService;
import cc.kune.core.server.access.AccessRightsServiceDefault;
@@ -156,7 +156,7 @@
bind(GroupService.class).to(GroupRPC.class);
bind(ContentService.class).to(ContentRPC.class);
bind(UserService.class).to(UserRPC.class);
- bind(SocialNetworkService.class).to(SocialNetworkRPC.class);
+ bind(SocialNetService.class).to(SocialNetworkRPC.class);
bind(I18nService.class).to(I18nRPC.class);
bind(ListsService.class).to(ListsRPC.class);
bind(ClientStatsService.class).to(StatsRPC.class);
Modified: trunk/src/main/java/cc/kune/core/server/rpc/SocialNetworkRPC.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rpc/SocialNetworkRPC.java 2012-02-29 15:57:49 UTC (rev 1726)
+++ trunk/src/main/java/cc/kune/core/server/rpc/SocialNetworkRPC.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -20,7 +20,7 @@
package cc.kune.core.server.rpc;
import cc.kune.core.client.errors.DefaultException;
-import cc.kune.core.client.rpcservices.SocialNetworkService;
+import cc.kune.core.client.rpcservices.SocialNetService;
import cc.kune.core.server.UserSessionManager;
import cc.kune.core.server.auth.ActionLevel;
import cc.kune.core.server.auth.Authenticated;
@@ -40,7 +40,7 @@
import com.google.inject.Inject;
import com.google.inject.persist.Transactional;
-public class SocialNetworkRPC implements SocialNetworkService, RPC {
+public class SocialNetworkRPC implements SocialNetService, RPC {
private final GroupManager groupManager;
private final Mapper mapper;
Modified: trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java 2012-02-29 15:57:49 UTC (rev 1726)
+++ trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -33,11 +33,14 @@
import cc.kune.core.client.state.StateManager;
import cc.kune.gspace.client.actions.AbstractFoldableToolActions;
import cc.kune.gspace.client.actions.ActionGroups;
+import cc.kune.gspace.client.actions.AddAdminMembersToContentMenuItem;
+import cc.kune.gspace.client.actions.AddAllMembersToContentMenuItem;
+import cc.kune.gspace.client.actions.AddCollabMembersToContentMenuItem;
import cc.kune.gspace.client.actions.ContentViewerOptionsMenu;
-import cc.kune.gspace.client.actions.TutorialContainerBtn;
import cc.kune.gspace.client.actions.ParticipateInContentBtn;
import cc.kune.gspace.client.actions.RefreshContentMenuItem;
import cc.kune.gspace.client.actions.SetAsHomePageMenuItem;
+import cc.kune.gspace.client.actions.TutorialContainerBtn;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -59,6 +62,9 @@
final Provider<OpenDocMenuItem> openContentMenuItem, final Provider<NewFolderBtn> newFolderBtn,
final Provider<DelDocMenuItem> delContentMenuItem,
final Provider<ContentViewerOptionsMenu> optionsMenuContent,
+ final Provider<AddAllMembersToContentMenuItem> addAllMenuItem,
+ final Provider<AddAdminMembersToContentMenuItem> addAdminMembersMenuItem,
+ final Provider<AddCollabMembersToContentMenuItem> addCollabMembersMenuItem,
final Provider<ParticipateInContentBtn> participateBtn,
final Provider<DelFolderMenuItem> delFolderMenuItem,
final Provider<TutorialContainerBtn> tutorialBtn, final Provider<ChatAboutContentBtn> chatAbout,
@@ -69,6 +75,9 @@
super(session, stateManager, i18n, registry);
actionsRegistry.addAction(ActionGroups.TOOLBAR, optionsMenuContent, all);
actionsRegistry.addAction(ActionGroups.TOOLBAR, refresh, all);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, addAllMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, addAdminMembersMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, addCollabMembersMenuItem, contents);
actionsRegistry.addAction(ActionGroups.TOOLBAR, newDocIconBtn, all);
actionsRegistry.addAction(ActionGroups.TOOLBAR, newFolderBtn, containers);
actionsRegistry.addAction(ActionGroups.TOOLBAR, foldersNewMenu, containers);
@@ -85,6 +94,9 @@
actionsRegistry.addAction(ActionGroups.ITEM_MENU, delContentMenuItem, contents);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, delFolderMenuItem, containersNoRoot);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, setAsHomePage, contents);
+ actionsRegistry.addAction(ActionGroups.ITEM_MENU, addAllMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.ITEM_MENU, addAdminMembersMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.ITEM_MENU, addCollabMembersMenuItem, contents);
newMenusRegistry.register(TYPE_FOLDER, foldersNewMenu.get());
newMenusRegistry.register(TYPE_ROOT, foldersNewMenu.get());
newMenusRegistry.register(TYPE_DOCUMENT,
Modified: trunk/src/main/java/cc/kune/events/client/actions/EventsClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/events/client/actions/EventsClientActions.java 2012-02-29 15:57:49 UTC (rev 1726)
+++ trunk/src/main/java/cc/kune/events/client/actions/EventsClientActions.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -28,6 +28,9 @@
import cc.kune.core.client.state.StateManager;
import cc.kune.gspace.client.actions.AbstractFoldableToolActions;
import cc.kune.gspace.client.actions.ActionGroups;
+import cc.kune.gspace.client.actions.AddAdminMembersToContentMenuItem;
+import cc.kune.gspace.client.actions.AddAllMembersToContentMenuItem;
+import cc.kune.gspace.client.actions.AddCollabMembersToContentMenuItem;
import cc.kune.gspace.client.actions.ContentViewerOptionsMenu;
import cc.kune.gspace.client.actions.ParticipateInContentBtn;
import cc.kune.gspace.client.actions.RefreshContentMenuItem;
@@ -48,6 +51,9 @@
final Provider<OpenMeetingMenuItem> openContentMenuItem,
final Provider<DelMeetingMenuItem> delContentMenuItem,
final Provider<ContentViewerOptionsMenu> optionsMenuContent,
+ final Provider<AddAllMembersToContentMenuItem> addAllMenuItem,
+ final Provider<AddAdminMembersToContentMenuItem> addAdminMembersMenuItem,
+ final Provider<AddCollabMembersToContentMenuItem> addCollabMembersMenuItem,
final Provider<ParticipateInContentBtn> participateBtn,
final Provider<Calendar1DayViewSelectBtn> cal1DayBtn,
final Provider<Calendar3DaysViewSelectBtn> cal3DaysBtn,
@@ -60,6 +66,9 @@
final Provider<CalendarGoTodayBtn> goToday, final Provider<RefreshContentMenuItem> refresh) {
super(session, stateManager, i18n, registry);
actionsRegistry.addAction(ActionGroups.TOOLBAR, optionsMenuContent, all);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, addAllMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, addAdminMembersMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, addCollabMembersMenuItem, contents);
actionsRegistry.addAction(ActionGroups.TOOLBAR, refresh, all);
actionsRegistry.addAction(ActionGroups.TOOLBAR, goToday, containers);
actionsRegistry.addAction(ActionGroups.TOOLBAR, calPrevBtn, containers);
@@ -70,7 +79,6 @@
actionsRegistry.addAction(ActionGroups.TOOLBAR, calNextBtn, containers);
actionsRegistry.addAction(ActionGroups.TOOLBAR, participateBtn, contents);
actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, contents);
-
// On over calendar menu
actionsRegistry.addAction(ActionGroups.TOOLBAR, onOverMenu, containers);
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java 2012-02-29 15:57:49 UTC (rev 1726)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -29,6 +29,7 @@
import cc.kune.core.client.sn.CollabsGroupSNDropController;
import cc.kune.core.client.sn.actions.WriteToBuddyHeaderButton;
import cc.kune.gspace.client.actions.ContentViewerOptionsMenu;
+import cc.kune.gspace.client.actions.ContentViewerOptionsShareSubMenu;
import cc.kune.gspace.client.actions.GiveUsFeedbackBtn;
import cc.kune.gspace.client.actions.RenameAction;
import cc.kune.gspace.client.armor.GSpaceArmor;
@@ -208,6 +209,7 @@
// Actions
s(ContentViewerOptionsMenu.class);
+ s(ContentViewerOptionsShareSubMenu.class);
s(RenameAction.class);
s(GiveUsFeedbackBtn.class);
s(WriteToBuddyHeaderButton.class);
Added: trunk/src/main/java/cc/kune/gspace/client/actions/AddAdminMembersToContentMenuItem.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/AddAdminMembersToContentMenuItem.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/AddAdminMembersToContentMenuItem.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -0,0 +1,37 @@
+/*
+ *
+ * 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.gspace.client.actions;
+
+import cc.kune.common.shared.i18n.I18nTranslationService;
+import cc.kune.core.client.resources.CoreResources;
+import cc.kune.core.shared.dto.SocialNetworkSubGroup;
+
+import com.google.inject.Inject;
+
+public class AddAdminMembersToContentMenuItem extends AddMembersToContentMenuItem {
+
+ @Inject
+ public AddAdminMembersToContentMenuItem(final I18nTranslationService i18n,
+ final AddMembersToContentAction action, final ContentViewerOptionsMenu optionsMenu,
+ final CoreResources res) {
+ super(i18n.t("Share with admins"), SocialNetworkSubGroup.admins, action, optionsMenu, res);
+ }
+
+}
Added: trunk/src/main/java/cc/kune/gspace/client/actions/AddAllMembersToContentMenuItem.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/AddAllMembersToContentMenuItem.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/AddAllMembersToContentMenuItem.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -0,0 +1,37 @@
+/*
+ *
+ * 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.gspace.client.actions;
+
+import cc.kune.common.shared.i18n.I18nTranslationService;
+import cc.kune.core.client.resources.CoreResources;
+import cc.kune.core.shared.dto.SocialNetworkSubGroup;
+
+import com.google.inject.Inject;
+
+public class AddAllMembersToContentMenuItem extends AddMembersToContentMenuItem {
+
+ @Inject
+ public AddAllMembersToContentMenuItem(final I18nTranslationService i18n,
+ final AddMembersToContentAction action, final ContentViewerOptionsMenu optionsMenu,
+ final CoreResources res) {
+ super(i18n.t("Share with all group members"), SocialNetworkSubGroup.all, action, optionsMenu, res);
+ }
+
+}
Added: trunk/src/main/java/cc/kune/gspace/client/actions/AddCollabMembersToContentMenuItem.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/AddCollabMembersToContentMenuItem.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/AddCollabMembersToContentMenuItem.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -0,0 +1,37 @@
+/*
+ *
+ * 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.gspace.client.actions;
+
+import cc.kune.common.shared.i18n.I18nTranslationService;
+import cc.kune.core.client.resources.CoreResources;
+import cc.kune.core.shared.dto.SocialNetworkSubGroup;
+
+import com.google.inject.Inject;
+
+public class AddCollabMembersToContentMenuItem extends AddMembersToContentMenuItem {
+
+ @Inject
+ public AddCollabMembersToContentMenuItem(final I18nTranslationService i18n,
+ final AddMembersToContentAction action, final ContentViewerOptionsMenu optionsMenu,
+ final CoreResources res) {
+ super(i18n.t("Share with collaborators"), SocialNetworkSubGroup.collabs, action, optionsMenu, res);
+ }
+
+}
Added: trunk/src/main/java/cc/kune/gspace/client/actions/AddMembersToContentAction.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/AddMembersToContentAction.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/AddMembersToContentAction.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -0,0 +1,57 @@
+/*
+ *
+ * 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.gspace.client.actions;
+
+import cc.kune.common.client.actions.ActionEvent;
+import cc.kune.core.client.actions.RolAction;
+import cc.kune.core.client.rpcservices.ContentServiceHelper;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.shared.domain.utils.StateToken;
+import cc.kune.core.shared.dto.AbstractContentSimpleDTO;
+import cc.kune.core.shared.dto.AccessRolDTO;
+import cc.kune.core.shared.dto.SocialNetworkSubGroup;
+
+import com.google.inject.Inject;
+
+public class AddMembersToContentAction extends RolAction {
+
+ private final ContentServiceHelper contentService;
+ private final Session session;
+ private SocialNetworkSubGroup subGroup;
+
+ @Inject
+ public AddMembersToContentAction(final Session session, final ContentServiceHelper contentService) {
+ super(AccessRolDTO.Editor, true);
+ this.session = session;
+ this.contentService = contentService;
+ }
+
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ final StateToken token = session.getCurrentStateToken().hasAll() ? session.getCurrentStateToken()
+ : ((AbstractContentSimpleDTO) event.getTarget()).getStateToken();
+ contentService.addParticipants(token, subGroup);
+ }
+
+ public void setSubGroup(final SocialNetworkSubGroup subGroup) {
+ this.subGroup = subGroup;
+ }
+
+}
\ No newline at end of file
Added: trunk/src/main/java/cc/kune/gspace/client/actions/AddMembersToContentMenuItem.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/AddMembersToContentMenuItem.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/AddMembersToContentMenuItem.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -0,0 +1,36 @@
+/*
+ *
+ * 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.gspace.client.actions;
+
+import cc.kune.common.client.actions.ui.descrip.MenuItemDescriptor;
+import cc.kune.core.client.resources.CoreResources;
+import cc.kune.core.shared.dto.SocialNetworkSubGroup;
+
+public class AddMembersToContentMenuItem extends MenuItemDescriptor {
+
+ public AddMembersToContentMenuItem(final String text, final SocialNetworkSubGroup subGroup,
+ final AddMembersToContentAction action, final ContentViewerOptionsMenu optionsMenu,
+ final CoreResources res) {
+ super(action);
+ action.setSubGroup(subGroup);
+ this.withText(text).withIcon(res.addGreen()).withParent(optionsMenu, false);
+ }
+
+}
Added: trunk/src/main/java/cc/kune/gspace/client/actions/ContentViewerOptionsShareSubMenu.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/ContentViewerOptionsShareSubMenu.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/ContentViewerOptionsShareSubMenu.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -0,0 +1,42 @@
+/*
+ *
+ * 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.gspace.client.actions;
+
+import cc.kune.common.client.actions.ui.descrip.SubMenuDescriptor;
+import cc.kune.common.shared.i18n.I18nTranslationService;
+import cc.kune.core.client.resources.CoreResources;
+
+import com.google.inject.Inject;
+
+/**
+ * The Class ContentViewerOptionsShareSubMenu (not used yet)
+ */
+public class ContentViewerOptionsShareSubMenu extends SubMenuDescriptor {
+
+ public static final String ID = "k-cnt-viewer-share-opt-submenu";
+
+ @Inject
+ public ContentViewerOptionsShareSubMenu(final I18nTranslationService i18n, final CoreResources res,
+ final ContentViewerOptionsMenu parent) {
+ super();
+ this.withText(i18n.t("Share")).withIcon(res.addGreen()).withId(ID).withParent(parent, false);
+ }
+
+}
Modified: trunk/src/main/java/cc/kune/lists/client/actions/ListsClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/lists/client/actions/ListsClientActions.java 2012-02-29 15:57:49 UTC (rev 1726)
+++ trunk/src/main/java/cc/kune/lists/client/actions/ListsClientActions.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -32,6 +32,9 @@
import cc.kune.core.client.state.StateManager;
import cc.kune.gspace.client.actions.AbstractFoldableToolActions;
import cc.kune.gspace.client.actions.ActionGroups;
+import cc.kune.gspace.client.actions.AddAdminMembersToContentMenuItem;
+import cc.kune.gspace.client.actions.AddAllMembersToContentMenuItem;
+import cc.kune.gspace.client.actions.AddCollabMembersToContentMenuItem;
import cc.kune.gspace.client.actions.ParticipateInContentBtn;
import cc.kune.gspace.client.actions.SetAsHomePageMenuItem;
import cc.kune.gspace.client.actions.TutorialContainerBtn;
@@ -58,7 +61,9 @@
final Provider<OptionsListMenu> optionsMenuContent,
final Provider<ShowSubscribersOfListBtn> subscribersCount,
final Provider<TutorialContainerBtn> tutorialBtn,
-
+ final Provider<AddAllMembersToContentMenuItem> addAllMenuItem,
+ final Provider<AddAdminMembersToContentMenuItem> addAdminMembersMenuItem,
+ final Provider<AddCollabMembersToContentMenuItem> addCollabMembersMenuItem,
final Provider<SetListOpenessMenuItem> listOpenessMenuItem,
final Provider<ParticipateInContentBtn> participateBtn, final ListsNewMenu listNewMenu,
final PostNewMenu postNewMenu, final NewMenusForTypeIdsRegistry newMenusRegistry,
@@ -66,6 +71,9 @@
final Provider<SetAsHomePageMenuItem> setAsHomePage) {
super(session, stateManager, i18n, registry);
actionsRegistry.addAction(ActionGroups.TOOLBAR, optionsMenuContent, all);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, addAllMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, addAdminMembersMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, addCollabMembersMenuItem, contents);
actionsRegistry.addAction(ActionGroups.TOOLBAR, newPostIconBtn, noRoot);
actionsRegistry.addAction(ActionGroups.TOOLBAR, newListBtn, TYPE_ROOT);
actionsRegistry.addAction(ActionGroups.TOOLBAR, listNewMenu, containersNoRoot);
@@ -85,6 +93,9 @@
actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, contents);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, containersNoRoot);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, delFolderMenuItem, containersNoRoot);
+ actionsRegistry.addAction(ActionGroups.ITEM_MENU, addAllMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.ITEM_MENU, addAdminMembersMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.ITEM_MENU, addCollabMembersMenuItem, contents);
newMenusRegistry.register(TYPE_LIST, listNewMenu.get());
newMenusRegistry.register(TYPE_ROOT, listNewMenu.get());
newMenusRegistry.register(TYPE_POST,
Modified: trunk/src/main/java/cc/kune/tasks/client/actions/TasksClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/tasks/client/actions/TasksClientActions.java 2012-02-29 15:57:49 UTC (rev 1726)
+++ trunk/src/main/java/cc/kune/tasks/client/actions/TasksClientActions.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -33,6 +33,9 @@
import cc.kune.core.shared.domain.ContentStatus;
import cc.kune.gspace.client.actions.AbstractFoldableToolActions;
import cc.kune.gspace.client.actions.ActionGroups;
+import cc.kune.gspace.client.actions.AddAdminMembersToContentMenuItem;
+import cc.kune.gspace.client.actions.AddAllMembersToContentMenuItem;
+import cc.kune.gspace.client.actions.AddCollabMembersToContentMenuItem;
import cc.kune.gspace.client.actions.ContentViewerOptionsMenu;
import cc.kune.gspace.client.actions.ParticipateInContentBtn;
import cc.kune.gspace.client.actions.RefreshContentMenuItem;
@@ -62,13 +65,18 @@
final Provider<ContentViewerOptionsMenu> optionsMenuContent,
final Provider<ParticipateInContentBtn> participateBtn,
final Provider<TutorialContainerBtn> tutorialBtn,
-
+ final Provider<AddAllMembersToContentMenuItem> addAllMenuItem,
+ final Provider<AddAdminMembersToContentMenuItem> addAdminMembersMenuItem,
+ final Provider<AddCollabMembersToContentMenuItem> addCollabMembersMenuItem,
final TasksFolderNewMenu taskFolderNewMenu, final TasksNewMenu taskNewMenu,
final NewMenusForTypeIdsRegistry newMenusRegistry, final Provider<ChatAboutContentBtn> chatAbout,
final Provider<DelFolderMenuItem> delFolderMenuItem,
final Provider<SetAsHomePageMenuItem> setAsHomePage) {
super(session, stateManager, i18n, registry);
actionsRegistry.addAction(ActionGroups.TOOLBAR, optionsMenuContent, all);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, addAllMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, addAdminMembersMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, addCollabMembersMenuItem, contents);
actionsRegistry.addAction(ActionGroups.TOOLBAR, refresh, all);
actionsRegistry.addAction(ActionGroups.TOOLBAR, newTaskIconBtn, all);
// actionsRegistry.addAction(ActionGroups.TOOLBAR, taskFolderNewMenu,
@@ -90,6 +98,9 @@
actionsRegistry.addAction(ActionGroups.ITEM_MENU, marksAsNotDoneMenuItem,
ContentStatus.inTheDustbin, TYPE_TASK);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, delFolderMenuItem, containersNoRoot);
+ actionsRegistry.addAction(ActionGroups.ITEM_MENU, addAllMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.ITEM_MENU, addAdminMembersMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.ITEM_MENU, addCollabMembersMenuItem, contents);
// Currently new menu in folders has no sense (because we have buttons for
// the same contents)
// newMenusRegistry.register(TYPE_FOLDER, taskFolderNewMenu.get());
Modified: trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java 2012-02-29 15:57:49 UTC (rev 1726)
+++ trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -33,6 +33,9 @@
import cc.kune.core.client.state.StateManager;
import cc.kune.gspace.client.actions.AbstractFoldableToolActions;
import cc.kune.gspace.client.actions.ActionGroups;
+import cc.kune.gspace.client.actions.AddAdminMembersToContentMenuItem;
+import cc.kune.gspace.client.actions.AddAllMembersToContentMenuItem;
+import cc.kune.gspace.client.actions.AddCollabMembersToContentMenuItem;
import cc.kune.gspace.client.actions.ContentViewerOptionsMenu;
import cc.kune.gspace.client.actions.ParticipateInContentBtn;
import cc.kune.gspace.client.actions.RefreshContentMenuItem;
@@ -60,6 +63,9 @@
final Provider<ContentViewerOptionsMenu> optionsMenuContent,
final Provider<ParticipateInContentBtn> participateBtn,
final Provider<TutorialContainerBtn> tutorialBtn,
+ final Provider<AddAllMembersToContentMenuItem> addAllMenuItem,
+ final Provider<AddAdminMembersToContentMenuItem> addAdminMembersMenuItem,
+ final Provider<AddCollabMembersToContentMenuItem> addCollabMembersMenuItem,
final Provider<DelFolderMenuItem> delFolderMenuItem, final Provider<NewFolderBtn> newFolderBtn,
final Provider<ChatAboutContentBtn> chatAbout, final Provider<RefreshContentMenuItem> refresh,
final Provider<SetAsHomePageMenuItem> setAsHomePage,
@@ -67,6 +73,9 @@
final WikiPageNewMenu wikipageNewMenu) {
super(session, stateManager, i18n, registry);
actionsRegistry.addAction(ActionGroups.TOOLBAR, optionsMenuContent, all);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, addAllMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, addAdminMembersMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, addCollabMembersMenuItem, contents);
actionsRegistry.addAction(ActionGroups.TOOLBAR, refresh, all);
actionsRegistry.addAction(ActionGroups.TOOLBAR, newWikiIconBtn, all);
actionsRegistry.addAction(ActionGroups.TOOLBAR, newFolderBtn, containers);
@@ -87,6 +96,9 @@
actionsRegistry.addAction(ActionGroups.ITEM_MENU, delContentMenuItem, contents);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, delFolderMenuItem, containersNoRoot);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, setAsHomePage, contents);
+ actionsRegistry.addAction(ActionGroups.ITEM_MENU, addAllMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.ITEM_MENU, addAdminMembersMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.ITEM_MENU, addCollabMembersMenuItem, contents);
// Currently new menu in folders has no sense (because we have buttons for
// the same contents)
// newMenusRegistry.register(TYPE_FOLDER, folderNewMenu.get());
Modified: trunk/src/test/java/cc/kune/core/server/integration/socialnet/SocialNetworkServiceTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/integration/socialnet/SocialNetworkServiceTest.java 2012-02-29 15:57:49 UTC (rev 1726)
+++ trunk/src/test/java/cc/kune/core/server/integration/socialnet/SocialNetworkServiceTest.java 2012-02-29 17:55:15 UTC (rev 1727)
@@ -26,7 +26,7 @@
import cc.kune.core.client.errors.AlreadyUserMemberException;
import cc.kune.core.client.errors.UserMustBeLoggedException;
-import cc.kune.core.client.rpcservices.SocialNetworkService;
+import cc.kune.core.client.rpcservices.SocialNetService;
import cc.kune.core.server.UserSession;
import cc.kune.core.server.integration.IntegrationTest;
import cc.kune.core.server.integration.IntegrationTestHelper;
@@ -39,7 +39,7 @@
@Inject
UserSession session;
@Inject
- SocialNetworkService socialNetworkService;
+ SocialNetService socialNetworkService;
private StateToken groupToken;
1
0
r1726 - in trunk/src/main/java/cc/kune: barters/client/actions blogs/client/actions chat/client/actions docs/client/actions gspace/client/actions lists/client/actions tasks/client/actions wiki/client/actions
by Vicente J. Ruiz Jurado 29 Feb '12
by Vicente J. Ruiz Jurado 29 Feb '12
29 Feb '12
Author: vjrj_
Date: 2012-02-29 16:57:49 +0100 (Wed, 29 Feb 2012)
New Revision: 1726
Added:
trunk/src/main/java/cc/kune/gspace/client/actions/TutorialContainerBtn.java
Removed:
trunk/src/main/java/cc/kune/gspace/client/actions/InfoContainerBtn.java
Modified:
trunk/src/main/java/cc/kune/barters/client/actions/BartersClientActions.java
trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java
trunk/src/main/java/cc/kune/chat/client/actions/ChatClientActions.java
trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java
trunk/src/main/java/cc/kune/lists/client/actions/ListsClientActions.java
trunk/src/main/java/cc/kune/tasks/client/actions/TasksClientActions.java
trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java
Log:
NEW - # 193: Add a tool intro tutorial instead of the sample contents
http://kune.ourproject.org/issues/ticket/193
Modified: trunk/src/main/java/cc/kune/barters/client/actions/BartersClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/barters/client/actions/BartersClientActions.java 2012-02-29 12:34:32 UTC (rev 1725)
+++ trunk/src/main/java/cc/kune/barters/client/actions/BartersClientActions.java 2012-02-29 15:57:49 UTC (rev 1726)
@@ -32,6 +32,7 @@
import cc.kune.gspace.client.actions.ContentViewerOptionsMenu;
import cc.kune.gspace.client.actions.ParticipateInContentBtn;
import cc.kune.gspace.client.actions.RefreshContentMenuItem;
+import cc.kune.gspace.client.actions.TutorialContainerBtn;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -50,6 +51,7 @@
final Provider<OpenBartersMenuItem> openContentMenuItem,
final Provider<DelBartersMenuItem> delContentMenuItem,
final Provider<ContentViewerOptionsMenu> optionsMenuContent,
+ final Provider<TutorialContainerBtn> tutorialBtn,
final Provider<ParticipateInContentBtn> participateBtn,
final Provider<DelFolderMenuItem> delFolderMenuItem, final Provider<RefreshContentMenuItem> refresh) {
super(session, stateManager, i18n, registry);
@@ -57,6 +59,7 @@
actionsRegistry.addAction(ActionGroups.TOOLBAR, refresh, all);
actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, contents);
actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, containers);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, tutorialBtn, containers);
actionsRegistry.addAction(ActionGroups.TOOLBAR, newBartersBtn, containers);
actionsRegistry.addAction(ActionGroups.TOOLBAR, participateBtn, contents);
actionsRegistry.addAction(ActionGroups.TOOLBAR, newFolderBtn, containers);
Modified: trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java 2012-02-29 12:34:32 UTC (rev 1725)
+++ trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java 2012-02-29 15:57:49 UTC (rev 1726)
@@ -37,6 +37,7 @@
import cc.kune.gspace.client.actions.ParticipateInContentBtn;
import cc.kune.gspace.client.actions.RefreshContentMenuItem;
import cc.kune.gspace.client.actions.SetAsHomePageMenuItem;
+import cc.kune.gspace.client.actions.TutorialContainerBtn;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -57,7 +58,7 @@
final Provider<NewPostIconBtn> newPostIconBtn, final Provider<NewBlogBtn> newBlogBtn,
final Provider<OpenBlogMenuItem> openContentMenuItem,
final Provider<DelPostMenuItem> delContentMenuItem,
- final Provider<RefreshContentMenuItem> refresh,
+ final Provider<RefreshContentMenuItem> refresh, final Provider<TutorialContainerBtn> tutorialBtn,
final Provider<ContentViewerOptionsMenu> optionsMenuContent,
final Provider<ParticipateInContentBtn> participateBtn, final BlogsNewMenu blogNewMenu,
final PostNewMenu postNewMenu, final NewMenusForTypeIdsRegistry newMenusRegistry,
@@ -73,6 +74,7 @@
actionsRegistry.addAction(ActionGroups.TOOLBAR, newBlogBtn, TYPE_ROOT);
actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, contents);
actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, containers);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, tutorialBtn, containers);
actionsRegistry.addAction(ActionGroups.TOOLBAR, participateBtn, contents);
actionsRegistry.addAction(ActionGroups.TOOLBAR, chatAbout, contents);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, contents);
Modified: trunk/src/main/java/cc/kune/chat/client/actions/ChatClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/actions/ChatClientActions.java 2012-02-29 12:34:32 UTC (rev 1725)
+++ trunk/src/main/java/cc/kune/chat/client/actions/ChatClientActions.java 2012-02-29 15:57:49 UTC (rev 1726)
@@ -30,6 +30,7 @@
import cc.kune.gspace.client.actions.ActionGroups;
import cc.kune.gspace.client.actions.ContentViewerOptionsMenu;
import cc.kune.gspace.client.actions.RefreshContentMenuItem;
+import cc.kune.gspace.client.actions.TutorialContainerBtn;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -47,13 +48,14 @@
final Provider<RefreshContentMenuItem> refresh, final Provider<NewRoomBtn> newRoomBtn,
final Provider<OpenRoomMenuItem> openRoomMenuItem, final Provider<GoParentChatBtn> folderGoUp,
final Provider<OpenRoomArchiveMenuItem> openRoomArchiveMenuItem,
- final Provider<OpenRoomBtn> openRoomBtn,
+ final Provider<OpenRoomBtn> openRoomBtn, final Provider<TutorialContainerBtn> tutorialBtn,
final Provider<ContentViewerOptionsMenu> optionsMenuContent) {
super(session, stateManager, i18n, registry);
actionsRegistry.addAction(ActionGroups.TOOLBAR, optionsMenuContent, all);
actionsRegistry.addAction(ActionGroups.TOOLBAR, refresh, all);
actionsRegistry.addAction(ActionGroups.TOOLBAR, newRoomBtn, TYPE_ROOT);
actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, containers);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, tutorialBtn, containers);
actionsRegistry.addAction(ActionGroups.TOOLBAR, openRoomBtn, containersNoRoot);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, openRoomMenuItem, containersNoRoot);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, openRoomArchiveMenuItem, containersNoRoot);
Modified: trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java 2012-02-29 12:34:32 UTC (rev 1725)
+++ trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java 2012-02-29 15:57:49 UTC (rev 1726)
@@ -34,6 +34,7 @@
import cc.kune.gspace.client.actions.AbstractFoldableToolActions;
import cc.kune.gspace.client.actions.ActionGroups;
import cc.kune.gspace.client.actions.ContentViewerOptionsMenu;
+import cc.kune.gspace.client.actions.TutorialContainerBtn;
import cc.kune.gspace.client.actions.ParticipateInContentBtn;
import cc.kune.gspace.client.actions.RefreshContentMenuItem;
import cc.kune.gspace.client.actions.SetAsHomePageMenuItem;
@@ -60,7 +61,8 @@
final Provider<ContentViewerOptionsMenu> optionsMenuContent,
final Provider<ParticipateInContentBtn> participateBtn,
final Provider<DelFolderMenuItem> delFolderMenuItem,
- final Provider<ChatAboutContentBtn> chatAbout, final Provider<RefreshContentMenuItem> refresh,
+ final Provider<TutorialContainerBtn> tutorialBtn, final Provider<ChatAboutContentBtn> chatAbout,
+ final Provider<RefreshContentMenuItem> refresh,
final Provider<SetAsHomePageMenuItem> setAsHomePage,
final NewMenusForTypeIdsRegistry newMenusRegistry, final DocsFolderNewMenu foldersNewMenu,
final DocsNewMenu docsNewMenu) {
@@ -74,6 +76,7 @@
actionsRegistry.addAction(ActionGroups.TOOLBAR, newDocMenuItem, containers);
actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, contents);
actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, containers);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, tutorialBtn, containers);
actionsRegistry.addAction(ActionGroups.TOOLBAR, participateBtn, contents);
actionsRegistry.addAction(ActionGroups.TOOLBAR, newFolderMenuItem, containers);
actionsRegistry.addAction(ActionGroups.TOOLBAR, chatAbout, contents);
Deleted: trunk/src/main/java/cc/kune/gspace/client/actions/InfoContainerBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/InfoContainerBtn.java 2012-02-29 12:34:32 UTC (rev 1725)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/InfoContainerBtn.java 2012-02-29 15:57:49 UTC (rev 1726)
@@ -1,64 +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.gspace.client.actions;
-
-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.actions.RolAction;
-import cc.kune.core.client.resources.CoreResources;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.shared.dto.AccessRolDTO;
-
-import com.google.gwt.event.shared.EventBus;
-import com.google.inject.Inject;
-
-public class InfoContainerBtn extends ButtonDescriptor {
-
- public static class GoParentContainerAction extends RolAction {
-
- private final EventBus bus;
- private final Session session;
-
- @Inject
- public GoParentContainerAction(final EventBus eventBus, final Session session) {
- super(AccessRolDTO.Editor, true);
- this.bus = eventBus;
- this.session = session;
- }
-
- @Override
- public void actionPerformed(final ActionEvent event) {
- ShowHelpContainerEvent.fire(bus, session.getCurrentStateToken().getTool());
- }
-
- }
-
- public static final String INFO_CONTAINER_ID = "k-container-info-id";
-
- public InfoContainerBtn(final I18nTranslationService i18n, final GoParentContainerAction action,
- final CoreResources res) {
- super(action);
- this.withToolTip(i18n.t("New to this tool? Here there is some help")).withIcon(res.infoLight()).withStyles(
- "k-btn-min, k-fr");
- this.withId(INFO_CONTAINER_ID);
- }
-
-}
Copied: trunk/src/main/java/cc/kune/gspace/client/actions/TutorialContainerBtn.java (from rev 1718, trunk/src/main/java/cc/kune/gspace/client/actions/InfoContainerBtn.java)
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/TutorialContainerBtn.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/TutorialContainerBtn.java 2012-02-29 15:57:49 UTC (rev 1726)
@@ -0,0 +1,68 @@
+/*
+ *
+ * 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.gspace.client.actions;
+
+import cc.kune.common.client.actions.ActionEvent;
+import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor;
+import cc.kune.common.client.resources.CommonResources;
+import cc.kune.common.shared.i18n.I18nTranslationService;
+import cc.kune.core.client.actions.RolAction;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.shared.dto.AccessRolDTO;
+
+import com.google.gwt.event.shared.EventBus;
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+
+@Singleton
+public class TutorialContainerBtn extends ButtonDescriptor {
+
+ @Singleton
+ public static class GoParentContainerAction extends RolAction {
+
+ private final EventBus bus;
+ private final Session session;
+
+ @Inject
+ public GoParentContainerAction(final EventBus eventBus, final Session session) {
+ super(AccessRolDTO.Editor, true);
+ this.bus = eventBus;
+ this.session = session;
+ }
+
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ ShowHelpContainerEvent.fire(bus, session.getCurrentStateToken().getTool());
+ }
+
+ }
+
+ public static final String INFO_CONTAINER_ID = "k-container-info-id";
+
+ @Inject
+ public TutorialContainerBtn(final I18nTranslationService i18n, final GoParentContainerAction action,
+ final CommonResources res) {
+ super(action);
+ this.withToolTip(i18n.t("New to this tool? Here there is some help")).withIcon(res.info()).withStyles(
+ "k-btn-min, k-fr");
+ this.withId(INFO_CONTAINER_ID);
+ }
+
+}
Modified: trunk/src/main/java/cc/kune/lists/client/actions/ListsClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/lists/client/actions/ListsClientActions.java 2012-02-29 12:34:32 UTC (rev 1725)
+++ trunk/src/main/java/cc/kune/lists/client/actions/ListsClientActions.java 2012-02-29 15:57:49 UTC (rev 1726)
@@ -34,6 +34,7 @@
import cc.kune.gspace.client.actions.ActionGroups;
import cc.kune.gspace.client.actions.ParticipateInContentBtn;
import cc.kune.gspace.client.actions.SetAsHomePageMenuItem;
+import cc.kune.gspace.client.actions.TutorialContainerBtn;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -56,6 +57,8 @@
final Provider<RefreshListMenuItem> refresh, final Provider<SubscribeToListBtn> subscribeBtn,
final Provider<OptionsListMenu> optionsMenuContent,
final Provider<ShowSubscribersOfListBtn> subscribersCount,
+ final Provider<TutorialContainerBtn> tutorialBtn,
+
final Provider<SetListOpenessMenuItem> listOpenessMenuItem,
final Provider<ParticipateInContentBtn> participateBtn, final ListsNewMenu listNewMenu,
final PostNewMenu postNewMenu, final NewMenusForTypeIdsRegistry newMenusRegistry,
@@ -75,6 +78,7 @@
// TYPE_ROOT);
actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, contents);
actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, containers);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, tutorialBtn, containers);
actionsRegistry.addAction(ActionGroups.TOOLBAR, participateBtn, contents);
actionsRegistry.addAction(ActionGroups.TOOLBAR, subscribersCount, containersNoRoot);
actionsRegistry.addAction(ActionGroups.TOOLBAR, chatAbout, contents);
Modified: trunk/src/main/java/cc/kune/tasks/client/actions/TasksClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/tasks/client/actions/TasksClientActions.java 2012-02-29 12:34:32 UTC (rev 1725)
+++ trunk/src/main/java/cc/kune/tasks/client/actions/TasksClientActions.java 2012-02-29 15:57:49 UTC (rev 1726)
@@ -37,6 +37,7 @@
import cc.kune.gspace.client.actions.ParticipateInContentBtn;
import cc.kune.gspace.client.actions.RefreshContentMenuItem;
import cc.kune.gspace.client.actions.SetAsHomePageMenuItem;
+import cc.kune.gspace.client.actions.TutorialContainerBtn;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -60,6 +61,8 @@
final Provider<RefreshContentMenuItem> refresh,
final Provider<ContentViewerOptionsMenu> optionsMenuContent,
final Provider<ParticipateInContentBtn> participateBtn,
+ final Provider<TutorialContainerBtn> tutorialBtn,
+
final TasksFolderNewMenu taskFolderNewMenu, final TasksNewMenu taskNewMenu,
final NewMenusForTypeIdsRegistry newMenusRegistry, final Provider<ChatAboutContentBtn> chatAbout,
final Provider<DelFolderMenuItem> delFolderMenuItem,
@@ -75,6 +78,7 @@
// actionsRegistry.addAction(ActionGroups.TOOLBAR, newTaskItem, containers);
actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, contents);
actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, containers);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, tutorialBtn, containers);
actionsRegistry.addAction(ActionGroups.TOOLBAR, participateBtn, contents);
actionsRegistry.addAction(ActionGroups.TOOLBAR, chatAbout, contents);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, contents);
Modified: trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java 2012-02-29 12:34:32 UTC (rev 1725)
+++ trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java 2012-02-29 15:57:49 UTC (rev 1726)
@@ -37,6 +37,7 @@
import cc.kune.gspace.client.actions.ParticipateInContentBtn;
import cc.kune.gspace.client.actions.RefreshContentMenuItem;
import cc.kune.gspace.client.actions.SetAsHomePageMenuItem;
+import cc.kune.gspace.client.actions.TutorialContainerBtn;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -58,6 +59,7 @@
final Provider<DelWikiMenuItem> delContentMenuItem,
final Provider<ContentViewerOptionsMenu> optionsMenuContent,
final Provider<ParticipateInContentBtn> participateBtn,
+ final Provider<TutorialContainerBtn> tutorialBtn,
final Provider<DelFolderMenuItem> delFolderMenuItem, final Provider<NewFolderBtn> newFolderBtn,
final Provider<ChatAboutContentBtn> chatAbout, final Provider<RefreshContentMenuItem> refresh,
final Provider<SetAsHomePageMenuItem> setAsHomePage,
@@ -77,6 +79,7 @@
// containers);
actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, contents);
actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, containers);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, tutorialBtn, containers);
actionsRegistry.addAction(ActionGroups.TOOLBAR, participateBtn, contents);
actionsRegistry.addAction(ActionGroups.TOOLBAR, chatAbout, contents);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, contents);
1
0
Author: vjrj_
Date: 2012-02-29 13:34:32 +0100 (Wed, 29 Feb 2012)
New Revision: 1725
Modified:
trunk/INSTALL
Log:
INSTALL updated
Modified: trunk/INSTALL
===================================================================
--- trunk/INSTALL 2012-02-29 11:09:39 UTC (rev 1724)
+++ trunk/INSTALL 2012-02-29 12:34:32 UTC (rev 1725)
@@ -184,23 +184,26 @@
TODO: configure/select db via properties
-=== Adapting Kune to your site ===
+=== Customization: Adapting Kune to your site ===
Copy and adapt as much as possible to your needs these files:
- src/main/resources/kune.properties
- src/main/resources/wave-server.properties
- src/main/resources/log4j.properties
-- src/main/webapp/ws.html
+- src/main/webapp/ws.html
+- src/main/webapp/ in general
-The best way to configure kune is to copy that files (for instance in /etc/kune/), to create a custom directory for ws.html and other of your custom html stuff (for instance /var/www/kune/), and add that directory to resources_base in wave-server.properties, for instance:
+The best way to configure kune is to copy that files (for instance in /etc/kune/), to create a custom directory for ws.html and other of your custom html stuff (for instance in /var/www/kune/), and configure that directory to resources_base in wave-server.properties, for instance:
-resource_bases = your-www-dir,target/kune-0.1.0-SNAPSHOT/,src/main/webapp/
+resource_bases = /var/www/kune/,target/kune-0.1.0-SNAPSHOT/
The ws.html file is the home that you get at start-up and have some configurations also. You can change the html inside to your needs but follow the commentaries and try not to remove important parts that make kune to start. Also to change the main logo, favicon, etc.
Note: Remember that if you are running kune using the source code (via mvn) and you change this src files in some point, you have to make 'mvn compile' so are copied to the target directoy. This is not applicable when you run kune via jar.
+Also you can make diferent tutorials (see src/main/webapp/tutorials)
+
==Appendix A: Configuration of Openfire xmpp server==
Install openfire in your system: http://www.igniterealtime.org/downloads/index.jsp
1
0
Author: vjrj_
Date: 2012-02-29 12:09:39 +0100 (Wed, 29 Feb 2012)
New Revision: 1724
Modified:
trunk/CHANGING_DOMAIN
Log:
Changing the domain to a kune server
Modified: trunk/CHANGING_DOMAIN
===================================================================
--- trunk/CHANGING_DOMAIN 2012-02-29 11:03:10 UTC (rev 1723)
+++ trunk/CHANGING_DOMAIN 2012-02-29 11:09:39 UTC (rev 1724)
@@ -33,6 +33,9 @@
Restart the openfire server
/etc/init.d/openfire restart
+===Update your SMTP configuration (and MX record) ===
+So emails like someone(a)domain.new are propertly sended.
+
===Certificates===
Update your ssl certificates (openfire, wave keystore, wave federation, etc), if you have configured before with domain.old
1
0
29 Feb '12
Author: vjrj_
Date: 2012-02-29 12:03:10 +0100 (Wed, 29 Feb 2012)
New Revision: 1723
Added:
trunk/CHANGING_DOMAIN
Removed:
trunk/docs/tutorials/
Modified:
trunk/INSTALL
trunk/src/main/resources/kune.properties
trunk/src/main/resources/wave-server.properties
trunk/src/main/webapp/ws.html
Log:
Changing de domain to a kune server
Added: trunk/CHANGING_DOMAIN
===================================================================
--- trunk/CHANGING_DOMAIN (rev 0)
+++ trunk/CHANGING_DOMAIN 2012-02-29 11:03:10 UTC (rev 1723)
@@ -0,0 +1,39 @@
+=CHANGING THE DOMAIN OF A KUNE SERVER=
+
+Suppose that we want to change from domain.old to domain.new in a kune server deployment.
+
+==Prerrequisites==
+
+* Make a backup of /var/lib/kune/, your db and any other location for wave info (_accounts, _deltas, etc)
+* Be sure that domain.new can be resolved correctly ($ dig domain.new), also the SRV records (see INSTALL)
+* stop kune
+
+==Do the job==
+
+===Update configurations and stores===
+* in _accounts, _deltas
+
+for i in `grep -ril domain.old /var/lib/kune/_accounts`; do perl -p -i -e 's/domain.old/domain.new/g' $i ; done
+for i in `grep -ril domain.old /var/lib/kune/_deltas`; do perl -p -i -e 's/domain.old/domain.new/g' $i ; done
+
+perl -p -i -e 's/domain.old/domain.new/g' src/main/resources/kune.properties # or in /etc/kune
+perl -p -i -e 's/domain.old/domain.new/g' src/main/resources/wave-server.properties # or in /etc/kune
+perl -p -i -e 's/domain.old/domain.new/g' src/main/webapp/ws.html
+or in production
+perl -p -i -e 's/domain.old/domain.new/g' /var/www/kune/ws.html
+
+rename 's/domain.old/domain.new/g' /var/lib/kune/_accounts
+
+Remove old persisted sessions:
+rm /var/lib/kune/_sessions/*
+
+===Update the openfire configuration===
+Update your new domain in:
+Server > Server Manager > Edit Server Properties
+Restart the openfire server
+ /etc/init.d/openfire restart
+
+===Certificates===
+Update your ssl certificates (openfire, wave keystore, wave federation, etc), if you have configured before with domain.old
+
+Restart kune and check if all it's ok.
Modified: trunk/INSTALL
===================================================================
--- trunk/INSTALL 2012-02-29 10:13:51 UTC (rev 1722)
+++ trunk/INSTALL 2012-02-29 11:03:10 UTC (rev 1723)
@@ -67,6 +67,12 @@
also if you want to select the database used (by default kune_dev) you have to configure it in kune.properties.
+===Configure your domain===
+
+Be sure that the domain you want to use with kune resolv correctly:
+ dig example.org
+For development we recommend to use some domain with zone like local.net (add to you /etc/hosts if it's not yet there). If you want to use another different domain from local.net, you have to update src/main/resources/kune.properties and src/main/resources/wave-server*
+
===Source code (if you are installing Kune for development)===
See the DEVGUIDE for instructions of how to download the Kune code.
Modified: trunk/src/main/resources/kune.properties
===================================================================
--- trunk/src/main/resources/kune.properties 2012-02-29 10:13:51 UTC (rev 1722)
+++ trunk/src/main/resources/kune.properties 2012-02-29 11:03:10 UTC (rev 1723)
@@ -3,7 +3,7 @@
### general site config
# Your site url. Please end with a slash
-kune.siteurl = http://localhost:8080/
+kune.siteurl = http://local.net:8080/
kune.sitelogourl = ws/images/kune-logo-16px.png
kune.sitelogourl.onover = ws/images/kune-logo-onover-16px.png
@@ -24,8 +24,8 @@
### Email
-kune.site.smtp.host = localhost
-kune.site.smtp.defaultfrom = noreply@localhost
+kune.site.smtp.host = local.net
+kune.site.smtp.defaultfrom = noreply(a)local.net
# If we should avoid the use of smtp (use only for avoid emails during development)
kune.site.smtp.skip = false
# This file will we the html used to send emails to users.
@@ -59,12 +59,12 @@
kune.admin.name = Site Administrator
kune.admin.shortName = admin
-kune.admin.email = admin(a)localhost.localdomain
+kune.admin.email = admin(a)local.net.localdomain
kune.admin.password = easyeasy
kune.chat.httpbase = /http-bind/
-kune.chat.domain = localhost
-kune.chat.roomHost = rooms.localhost
+kune.chat.domain = local.net
+kune.chat.roomHost = rooms.local.net
### Feedback system
kune.feedback.enabled = true
Modified: trunk/src/main/resources/wave-server.properties
===================================================================
--- trunk/src/main/resources/wave-server.properties 2012-02-29 10:13:51 UTC (rev 1722)
+++ trunk/src/main/resources/wave-server.properties 2012-02-29 11:03:10 UTC (rev 1723)
@@ -3,12 +3,12 @@
# Domain name of the wave server
# Default value: local.net (without .domain zone some things will be broken)
-wave_server_domain = localhost
+wave_server_domain = local.net
# A comma separated list of address on which to listen for connections.
# Each address is a comma separated host:port pair.
-# Default value: localhost:9898
-http_frontend_public_address = localhost:8888
+# Default value: local.net:9898
+http_frontend_public_address = local.net:8888
# Default value: values passed to http_frontend_public_address.
http_frontend_addresses = ${http_frontend_public_address}
Modified: trunk/src/main/webapp/ws.html
===================================================================
--- trunk/src/main/webapp/ws.html 2012-02-29 10:13:51 UTC (rev 1722)
+++ trunk/src/main/webapp/ws.html 2012-02-29 11:03:10 UTC (rev 1723)
@@ -14,10 +14,10 @@
-->
<meta name="kune.default.site.commonname" content="this site" />
<meta name="emite.httpBase" content="/http-bind/" />
-<meta name="emite.host" content="localhost" />
-<meta name="emite.searchHost" content="search.localhost" />
+<meta name="emite.host" content="local.net" />
+<meta name="emite.searchHost" content="search.local.net" />
<!--<meta name="emite.session" content="login" />-->
-<meta name="hablar.roomService" content="rooms.localhost" />
+<meta name="hablar.roomService" content="rooms.local.net" />
<meta name="hablar.login" content="false" />
<meta name="hablar.hasVCard" content="false" />
<meta name="hablar.search" content="false" />
1
0
r1722 - in trunk/src/main/java/cc/kune: core/client/auth core/client/i18n core/client/sn core/public core/server/content events/client/actions events/client/viewer gspace/client/armor/impl gspace/client/options/tools tasks/client
by Vicente J. Ruiz Jurado 29 Feb '12
by Vicente J. Ruiz Jurado 29 Feb '12
29 Feb '12
Author: vjrj_
Date: 2012-02-29 11:13:51 +0100 (Wed, 29 Feb 2012)
New Revision: 1722
Modified:
trunk/src/main/java/cc/kune/core/client/auth/RegisterPresenter.java
trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants.java
trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants.properties
trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_es.properties
trunk/src/main/java/cc/kune/core/client/sn/AbstractSNPanel.java
trunk/src/main/java/cc/kune/core/public/ws.css
trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java
trunk/src/main/java/cc/kune/events/client/actions/Calendar1DayViewSelectBtn.java
trunk/src/main/java/cc/kune/events/client/actions/Calendar3DaysViewSelectBtn.java
trunk/src/main/java/cc/kune/events/client/actions/Calendar7DaysViewSelectBtn.java
trunk/src/main/java/cc/kune/events/client/viewer/CalendarViewerPresenter.java
trunk/src/main/java/cc/kune/gspace/client/armor/impl/GSpaceArmorImpl.ui.xml
trunk/src/main/java/cc/kune/gspace/client/options/tools/EntityOptToolsPanel.java
trunk/src/main/java/cc/kune/tasks/client/TasksClientTool.java
Log:
CLOSED - # 198: Add Drag and Drop from users to contents and vice versa
http://kune.ourproject.org/issues/ticket/198
NEW - # 193: Add a tool intro tutorial instead of the sample contents
http://kune.ourproject.org/issues/ticket/193
Modified: trunk/src/main/java/cc/kune/core/client/auth/RegisterPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/auth/RegisterPresenter.java 2012-02-29 01:05:01 UTC (rev 1721)
+++ trunk/src/main/java/cc/kune/core/client/auth/RegisterPresenter.java 2012-02-29 10:13:51 UTC (rev 1722)
@@ -41,12 +41,14 @@
import cc.kune.core.shared.dto.SubscriptionMode;
import cc.kune.core.shared.dto.TimeZoneDTO;
import cc.kune.core.shared.dto.UserDTO;
+import cc.kune.gspace.client.actions.ShowHelpContainerEvent;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.logical.shared.CloseEvent;
import com.google.gwt.event.logical.shared.CloseHandler;
import com.google.gwt.event.shared.EventBus;
+import com.google.gwt.user.client.Timer;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.PopupPanel;
import com.google.inject.Inject;
@@ -200,6 +202,13 @@
} else {
showWelcolmeDialogNoHomepage();
}
+ new Timer() {
+ @Override
+ public void run() {
+ ShowHelpContainerEvent.fire(getEventBus(),
+ session.getCurrentStateToken().getTool());
+ }
+ }.schedule(2000);
}
});
}
Modified: trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants.java 2012-02-29 01:05:01 UTC (rev 1721)
+++ trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants.java 2012-02-29 10:13:51 UTC (rev 1722)
@@ -26,6 +26,10 @@
String actions();
+ String add();
+
+ String addAnAppointment();
+
String addANewBuddy();
String addAsABuddy();
@@ -42,6 +46,8 @@
String allowModificationsOfYourWork();
+ String almostImmediately();
+
String aLongTermTaskSample();
String aMidTermTaskSample();
@@ -66,6 +72,10 @@
String aShortTermTaskSample();
+ String atMostDaily();
+
+ String atMostHourly();
+
String autoAcceptRequestToJoin();
String available();
@@ -74,6 +84,8 @@
String away();
+ String backgroupChanged();
+
String backUsedInButton();
String barters();
@@ -134,6 +146,8 @@
String chatWithYourBuddy();
+ String checkYourEmailForTheConfirmationLink();
+
String choose();
String clear();
@@ -158,6 +172,8 @@
String community();
+ String confirm();
+
String confirmNewBuddy();
String confirmPlease();
@@ -212,6 +228,8 @@
String delete();
+ String descriptionOfTheAppointment();
+
String documents();
String donTHaveAnAccount();
@@ -224,8 +242,12 @@
String doYouWantToAddParamToYourContacts();
+ String doYouWantToCollaborativelyEditYourMeetingMinutesInANewDocument();
+
String doYouWantToJoinThisGroup();
+ String doYouWantToReloadThisPageToUseParamLanguage();
+
String doYouWantToWriteAMessageToTheAdministratorsOfThisGroup();
String doYouWantToWriteAMessageToTheMembersOfThisGroup();
@@ -240,8 +262,16 @@
String editAndWriteHereYourFeedback();
+ String editTheAppointment();
+
+ String editThisToInsertResizeAndAnnotatenAnynImageFromTheWebTheImageCanBeAnnotatedDoubleClicknOnnItByAnyPar();
+
String email();
+ String emailConfirmationCodeExpired();
+
+ String emailNotifications();
+
String enterLanguage();
String enterToThisGroupPublicChatRoom();
@@ -250,18 +280,28 @@
String enterToThisRoom();
+ String enterYourNewPasswordBelow();
+
String error();
String errorConfiguringTheTool();
+ String errorCreatingGroup();
+
+ String errorRenaming();
+
String errorSettingTheLogo();
String errorsInfo();
+ String esteBlogNoTieneNingnPostCreaUno();
+
String eurosurAThemeName();
String events();
+ String eventsInParam();
+
String feedbackOfParam();
String finishUsedInButton();
@@ -270,6 +310,8 @@
String giveUsFeedback();
+ String goToToday();
+
String goUpOpenTheContainerFolder();
String greenAThemeName();
@@ -302,16 +344,32 @@
String hisHerNetwork();
+ String home();
+
+ String homePageOfParam();
+
String hostedGroups();
+ String howOftenDoYouWantToReceiveEmailNotifications();
+
+ String iDonTNeedEmailNotifications();
+
+ String inbox();
+
String inDevelopment();
String infoAboutErrors();
+ String invalidAddressParam();
+
+ String invalidEmail();
+
String join();
String joinsIn();
+ String joinUsInParamPublicRoom();
+
String keywordsOrTermsAssociatedWithThisGroup();
String kuneDevelopmentSite();
@@ -340,6 +398,8 @@
String longTermTasks();
+ String lostYourPassword();
+
String makeThisListNotPublic();
String makeThisListPublic();
@@ -358,6 +418,8 @@
String memberAddedAsCollaborator();
+ String memberRejected();
+
String memberRemoved();
String membershipRequestedWaitingForAdminsDecision();
@@ -372,6 +434,8 @@
String moderateRequestToJoin();
+ String month();
+
String more();
String moving();
@@ -400,6 +464,8 @@
String newGadget();
+ String newImage();
+
String newImageAndLetsAnnotate();
String newImagePainter();
@@ -412,6 +478,8 @@
String newMeeting();
+ String newMeetPlaner();
+
String newMembersPolicy();
String newMindmap();
@@ -440,10 +508,18 @@
String newYoutubeVideo();
+ String next();
+
String nextUsedInButton();
String no();
+ String noHayListasCrearUna();
+
+ String noResults();
+
+ String noSeHaPublicadoNadaTodavaPublicaAlgo();
+
String notes();
String notPublishedYet();
@@ -468,6 +544,8 @@
String onlyMembers();
+ String onlyMembersCanUpdateEvents();
+
String onlyToAuthorizedTranslators();
String onlyYou();
@@ -480,12 +558,16 @@
String openArchive();
+ String openTheAppointment();
+
String openTheConversationsArchiveOfThisRoom();
String options();
String organization();
+ String otherErrorTryingToVerifyYourPassword();
+
String otherKindOfLicenses();
String others();
@@ -504,6 +586,10 @@
String paramUnderLicenseParam();
+ String participate();
+
+ String participateInTheEditionOfThisPage();
+
String password();
String passwordChangedSuccessfully();
@@ -516,6 +602,10 @@
String pleaseCopyPasteThisInfoToReportProblems();
+ String pleaseEnterYourEmailAddressYouWillReceiveALinkToCreateANewPasswordViaEmail();
+
+ String pleaseSignInAgain();
+
String pleaseSignInOrRegisterToCreateAGroup();
String pleaseSignInOrRegisterToGetFullAccessToParamToolsAndContents();
@@ -528,6 +618,8 @@
String preview();
+ String previous();
+
String processing();
String project();
@@ -562,6 +654,8 @@
String removedAsMember();
+ String removeThisAppointment();
+
String removeThisMember();
String renaming();
@@ -570,6 +664,10 @@
String requestToJoinInThisGroup();
+ String resendVerificationEmail();
+
+ String resetYourPassword();
+
String rightNowThePublicWebSpaceOfThisGroupItSUnderConstruction();
String saharaAThemeName();
@@ -620,10 +718,16 @@
String signIn();
+ String signInOrCreateAnAccountToAccessToThisRoom();
+
String signInOrCreateAnAccountToAccessToYourInbox();
+ String signInOrCreateAnAccountToGiveUsFeedback();
+
String signInOrCreateAnAccountToParticipateInThisGroup();
+ String signInOrCreateAnAccountToSusbscribeToThisList();
+
String signInOrRegisterToHelpWithTheTranslation();
String signInToCollaborate();
@@ -674,22 +778,34 @@
String thePasswordMustBeBetween6And40Characters();
+ String thereIsNothingPostedYet();
+
String thereIsNothingPostedYetPostSomething();
String thereIsnTAnyBarter();
+ String thereIsnTAnyBarterYouCanCreateSomeHere();
+
+ String thereIsnTAnyBlog();
+
String thereIsnTAnyBlogCreateOne();
+ String thereIsnTAnyList();
+
String thereIsnTAnyListCreateOne();
String thereIsnTAnyMeeting();
+ String thereIsnTAnyMeetingCreateOne();
+
String thereIsnTAnyTaskCreateOne();
String theSocialNetworkOfThisUserIsNotPublic();
String theUsernamePasswordIsIncorrect();
+ String thisBlogHasnTAnyPost();
+
String thisBlogHasnTAnyPostCreateOne();
String thisDemoOfKune();
@@ -698,6 +814,10 @@
String thisFolderIsEmpty();
+ String thisFolderIsEmptyCreateSomeWikipageOrFolder();
+
+ String thisFolderIsEmptyYouCanCreateSomeDocumentOrFolderHere();
+
String thisIsACopyleftLicense();
String thisIsAnOrphanedProjectIfYouAreInterestedInContributingPleaseRequestToJoin();
@@ -760,6 +880,8 @@
String to();
+ String today();
+
String toHelpWithTheTranslationOfThisSoftwarePleaseContactBeforeWithThisSiteAdministrators();
String toJoinAChatroomYouNeedToBeOnline();
@@ -796,6 +918,8 @@
String userOptions();
+ String userParamSaysParam();
+
String usersAndGroupsCollaboratingInThisGroup();
String userSpaceItShowsAListOfAllDocumentsAndContentsInWhichYouParticipate();
@@ -862,16 +986,22 @@
String youCanChangeThisLicenseLater();
+ String youCanCollaborativelyEditTheMeetingMinutesShownInThisDocument();
+
String youCanCollaborativelyEditThisDocumentWithTheMeetingMinutes();
String youCannotDisableThisToolBecauseItSWhereYourHomePageIsLocatedToDoThatYouHaveToSelectOtherContentAsThe();
String youCannotWriteToNonBuddies();
+ String youCanResizeTheAboveTextarea();
+
String youDidNotSignInSoYouCanJustSeeSomePublicContentsInParamButNotEditOrCollaborateWithOthersPleaseParamO();
String youDoNotHaveRightsToPerformThatAction();
+ String yourEmailIsNotVerifiedSoYouWillNotReceiveEmailNotifications();
+
String yourGroups();
String yourHomepage();
@@ -880,6 +1010,15 @@
String yourLanguage();
+ String yourPasswordHasBeenResetSignIn();
+
String yourPreferences();
+ String youWillNoReceiveAnEmailWithAnyNewMessagesInYourInboxAtParam();
+
+ String youWillReceiveAnEmailWithAnyNewMessagesInYourInboxAtParamAlmostImmediately();
+
+ String youWillReceiveAnEmailWithAnyNewMessagesInYourInboxAtParamAtMostDaily();
+
+ String youWillReceiveAnEmailWithAnyNewMessagesInYourInboxAtParamAtMostHourly();
}
Modified: trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants.properties
===================================================================
--- trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants.properties 2012-02-29 01:05:01 UTC (rev 1721)
+++ trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants.properties 2012-02-29 10:13:51 UTC (rev 1722)
@@ -465,10 +465,7 @@
inbox = Inbox
today = Today
goToToday = Go To Today
-1Day = 1 Day
-3Days = 3 Days
previous = Previous
-7Days = 7 Days
month = Month
next = Next
userParamSaysParam = User [%s] says «[%s]»
@@ -514,4 +511,9 @@
invalidEmail = Invalid email
onlyMembersCanUpdateEvents = Only members can update events
backgroupChanged = Backgroup changed
-checkYourEmailForTheConfirmationLink = Check your email for the confirmation link
\ No newline at end of file
+checkYourEmailForTheConfirmationLink = Check your email for the confirmation link
+openTheAppointment = Open the appointment
+eventsInParam = Events in [%s]
+participateInTheEditionOfThisPage = Participate in the edition of this page
+signInOrCreateAnAccountToSusbscribeToThisList = Sign in or create an account to susbscribe to this list
+joinUsInParamPublicRoom = Join us in [%s] public room!
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_es.properties
===================================================================
--- trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_es.properties 2012-02-29 01:05:01 UTC (rev 1721)
+++ trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_es.properties 2012-02-29 10:13:51 UTC (rev 1722)
@@ -472,6 +472,7 @@
month = Mes
next = Siguiente
userParamSaysParam = El usuario/a [%s] dice «[%s]»
+0 = 0
signInOrCreateAnAccountToAccessToThisRoom = Entra o crea una cuenta para acceder a esta sala
editTheAppointment = Edita la cita
addAnAppointment = Añade una cita
@@ -513,4 +514,9 @@
invalidEmail = Correo electrónico inválido
onlyMembersCanUpdateEvents = Sólo los miembros pueden actualizar eventos
backgroupChanged = Fondo cambiado
-checkYourEmailForTheConfirmationLink = Comprueba tu correo para el enlace de confirmación
\ No newline at end of file
+checkYourEmailForTheConfirmationLink = Comprueba tu correo para el enlace de confirmación
+openTheAppointment = Abre el evento
+eventsInParam = c
+participateInTheEditionOfThisPage = Participa en la edición de esta página
+signInOrCreateAnAccountToSusbscribeToThisList = Entra o regístrate para suscribirte a esta lista
+joinUsInParamPublicRoom = ¡Unete a nosotros en la sala pública de [%s]!
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/core/client/sn/AbstractSNPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/AbstractSNPanel.java 2012-02-29 01:05:01 UTC (rev 1721)
+++ trunk/src/main/java/cc/kune/core/client/sn/AbstractSNPanel.java 2012-02-29 10:13:51 UTC (rev 1722)
@@ -56,7 +56,7 @@
private final static int AVATARLABELMAXSIZE = 4;
private final static int AVATARSIZE = 22;
- private final static String CATEG_HEIGHT = "84px";
+ private final static String CATEG_HEIGHT = "86px";
private final static String CATEG_MIN_HEIGHT = "57px";
private static AbstractSNPanelUiBinder uiBinder = GWT.create(AbstractSNPanelUiBinder.class);
protected final ActionSimplePanel actions;
Modified: trunk/src/main/java/cc/kune/core/public/ws.css
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.css 2012-02-29 01:05:01 UTC (rev 1721)
+++ trunk/src/main/java/cc/kune/core/public/ws.css 2012-02-29 10:13:51 UTC (rev 1722)
@@ -366,7 +366,7 @@
.k-btn-sitebar,.k-btn-sitebar button,.k-sitebar button,.k-btn-sitebar div,.k-btn-sitebar button div,.k-sitebar button div
{
font: 13px 'Ubuntu', arial;
- color: #B3B3B3;
+ color: #999;
cursor: pointer;
white-space: nowrap;
background: none;
@@ -378,7 +378,7 @@
.k-sitebar-wave-status {
font: 13px 'Ubuntu', arial;
/* font-weight: bold; */
- color: #B3B3B3;
+ color: #999;
white-space: nowrap;
background: none;
border: 0px;
@@ -1262,7 +1262,7 @@
border: 1px solid #E4A374;
margin: 1px 6px 0 3px;
padding-left: 1px;
- color: #B3B3B3;
+ color: #999;
background: transparent;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
Modified: trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java 2012-02-29 01:05:01 UTC (rev 1721)
+++ trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java 2012-02-29 10:13:51 UTC (rev 1722)
@@ -163,7 +163,7 @@
public boolean addParticipants(final User user, final Long contentId, final Group group,
final SocialNetworkSubGroup whichOnes) {
final Set<String> members = new HashSet<String>();
- GroupServerUtils.getAllUserMembersAsString(members, group, SocialNetworkSubGroup.admins);
+ GroupServerUtils.getAllUserMembersAsString(members, group, whichOnes);
final Content content = finder.getContent(contentId);
return addParticipants(user, content, members.toArray(new String[members.size()]));
}
Modified: trunk/src/main/java/cc/kune/events/client/actions/Calendar1DayViewSelectBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/events/client/actions/Calendar1DayViewSelectBtn.java 2012-02-29 01:05:01 UTC (rev 1721)
+++ trunk/src/main/java/cc/kune/events/client/actions/Calendar1DayViewSelectBtn.java 2012-02-29 10:13:51 UTC (rev 1722)
@@ -10,7 +10,7 @@
@Inject
public Calendar1DayViewSelectBtn(final CalendarViewSelectAction action,
final I18nTranslationService i18n) {
- super(action, i18n.t("1 Day"), 1, CalendarViews.DAY);
+ super(action, i18n.t("[%d] Day", 1), 1, CalendarViews.DAY);
}
}
Modified: trunk/src/main/java/cc/kune/events/client/actions/Calendar3DaysViewSelectBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/events/client/actions/Calendar3DaysViewSelectBtn.java 2012-02-29 01:05:01 UTC (rev 1721)
+++ trunk/src/main/java/cc/kune/events/client/actions/Calendar3DaysViewSelectBtn.java 2012-02-29 10:13:51 UTC (rev 1722)
@@ -10,7 +10,7 @@
@Inject
public Calendar3DaysViewSelectBtn(final CalendarViewSelectAction action,
final I18nTranslationService i18n) {
- super(action, i18n.t("3 Days"), 3, CalendarViews.DAY);
+ super(action, i18n.t("[%d] Days", 3), 3, CalendarViews.DAY);
}
}
Modified: trunk/src/main/java/cc/kune/events/client/actions/Calendar7DaysViewSelectBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/events/client/actions/Calendar7DaysViewSelectBtn.java 2012-02-29 01:05:01 UTC (rev 1721)
+++ trunk/src/main/java/cc/kune/events/client/actions/Calendar7DaysViewSelectBtn.java 2012-02-29 10:13:51 UTC (rev 1722)
@@ -10,7 +10,7 @@
@Inject
public Calendar7DaysViewSelectBtn(final CalendarViewSelectAction action,
final I18nTranslationService i18n) {
- super(action, i18n.t("7 Days"), 7, CalendarViews.DAY);
+ super(action, i18n.t("[%d] Days", 7), 7, CalendarViews.DAY);
}
}
Modified: trunk/src/main/java/cc/kune/events/client/viewer/CalendarViewerPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/events/client/viewer/CalendarViewerPresenter.java 2012-02-29 01:05:01 UTC (rev 1721)
+++ trunk/src/main/java/cc/kune/events/client/viewer/CalendarViewerPresenter.java 2012-02-29 10:13:51 UTC (rev 1722)
@@ -15,7 +15,6 @@
import cc.kune.common.shared.utils.TextUtils;
import cc.kune.core.client.rpcservices.ContentServiceAsync;
import cc.kune.core.client.state.Session;
-import cc.kune.core.client.state.StateManager;
import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.core.shared.dto.HasContent;
import cc.kune.core.shared.dto.StateEventContainerDTO;
@@ -115,18 +114,16 @@
private Date onOverDate;
private final CalendarOnOverMenu onOverMenu;
private final Session session;
- private final StateManager stateManager;
@Inject
public CalendarViewerPresenter(final EventBus eventBus, final CalendarViewerView view,
final CalendarViewerProxy proxy, final FolderViewerUtils folderViewerUtils,
- final CalendarOnOverMenu onOverMenu, final Session session, final StateManager stateManager,
- final I18nTranslationService i18n, final Provider<ContentServiceAsync> contentService) {
+ final CalendarOnOverMenu onOverMenu, final Session session, final I18nTranslationService i18n,
+ final Provider<ContentServiceAsync> contentService) {
super(eventBus, view, proxy);
this.folderViewerUtils = folderViewerUtils;
this.onOverMenu = onOverMenu;
this.session = session;
- this.stateManager = stateManager;
this.i18n = i18n;
this.contentService = contentService;
addListeners();
Modified: trunk/src/main/java/cc/kune/gspace/client/armor/impl/GSpaceArmorImpl.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/armor/impl/GSpaceArmorImpl.ui.xml 2012-02-29 01:05:01 UTC (rev 1721)
+++ trunk/src/main/java/cc/kune/gspace/client/armor/impl/GSpaceArmorImpl.ui.xml 2012-02-29 10:13:51 UTC (rev 1722)
@@ -94,7 +94,7 @@
</g:DockLayoutPanel>
</g:center>
<!-- east to RTL (plus css changes in corners and menus) -->
- <g:west size="200.0">
+ <g:west size="202.0">
<g:DockLayoutPanel unit="PX"
styleName="{res.style.entityTools}" ui:field="splitEast">
<g:center>
Modified: trunk/src/main/java/cc/kune/gspace/client/options/tools/EntityOptToolsPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/tools/EntityOptToolsPanel.java 2012-02-29 01:05:01 UTC (rev 1721)
+++ trunk/src/main/java/cc/kune/gspace/client/options/tools/EntityOptToolsPanel.java 2012-02-29 10:13:51 UTC (rev 1722)
@@ -68,7 +68,7 @@
public void add(final ToolSimpleDTO tool, final boolean enabled, final boolean checked,
final ClickHandler handler) {
final CheckBox checkbox = new CheckBox();
- checkbox.setFieldLabel(tool.getRootName());
+ checkbox.setFieldLabel(i18n.t(tool.getRootName()));
// checkbox.setFireChangeEventOnSetValue(false);
checkbox.setValue(checked);
setEnabled(checkbox, enabled);
Modified: trunk/src/main/java/cc/kune/tasks/client/TasksClientTool.java
===================================================================
--- trunk/src/main/java/cc/kune/tasks/client/TasksClientTool.java 2012-02-29 01:05:01 UTC (rev 1721)
+++ trunk/src/main/java/cc/kune/tasks/client/TasksClientTool.java 2012-02-29 10:13:51 UTC (rev 1722)
@@ -75,10 +75,11 @@
registerContentTypeIcon(TYPE_TASK, navResources.task());
registerContentTypeIcon(TYPE_TASK, ContentStatus.inTheDustbin, navResources.taskdone());
final String noTaskLogged = i18n.t(NO_TASK + ", create one");
+ final String noTaskNotLogged = i18n.t(NO_TASK);
registerEmptyMessages(TYPE_ROOT, noTaskLogged);
registerEmptyMessages(TYPE_FOLDER, noTaskLogged);
- registerEmptyMessagesNotLogged(TYPE_ROOT, NO_TASK);
- registerEmptyMessagesNotLogged(TYPE_FOLDER, NO_TASK);
+ registerEmptyMessagesNotLogged(TYPE_ROOT, noTaskNotLogged);
+ registerEmptyMessagesNotLogged(TYPE_FOLDER, noTaskNotLogged);
registerShowDeleted(TYPE_FOLDER, TYPE_ROOT, TYPE_TASK);
}
1
0
Author: vjrj_
Date: 2012-02-29 02:05:01 +0100 (Wed, 29 Feb 2012)
New Revision: 1721
Removed:
trunk/src/test/java/cc/kune/core/shared/dto/
Log:
CLOSED - # 198: Add Drag and Drop from users to contents and vice versa
http://kune.ourproject.org/issues/ticket/198
1
0
Author: vjrj_
Date: 2012-02-29 02:04:27 +0100 (Wed, 29 Feb 2012)
New Revision: 1720
Added:
trunk/src/main/java/cc/kune/core/client/errors/InvalidSNOperationException.java
trunk/src/main/java/cc/kune/core/client/sn/AdminsGroupSNDropController.java
trunk/src/main/java/cc/kune/core/client/sn/AllMembersGroupSNDropController.java
trunk/src/main/java/cc/kune/core/client/sn/CollabsGroupSNDropController.java
trunk/src/main/java/cc/kune/core/client/sn/GroupSNDropController.java
trunk/src/main/java/cc/kune/core/client/sn/actions/SocialNetClientUtils.java
trunk/src/main/java/cc/kune/core/server/manager/impl/GroupServerUtils.java
trunk/src/main/java/cc/kune/core/shared/dto/EmailNotificationFrequency.java
trunk/src/main/java/cc/kune/core/shared/dto/SocialNetworkSubGroup.java
trunk/src/test/java/cc/kune/core/shared/dto/
Removed:
trunk/src/main/java/cc/kune/core/shared/domain/dto/EmailNotificationFrequency.java
Modified:
trunk/src/main/java/cc/kune/barters/client/BartersClientTool.java
trunk/src/main/java/cc/kune/blogs/client/BlogsClientTool.java
trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
trunk/src/main/java/cc/kune/core/client/dnd/AbstractDropController.java
trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java
trunk/src/main/java/cc/kune/core/client/rpcservices/ContentService.java
trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceAsync.java
trunk/src/main/java/cc/kune/core/client/sn/AbstractSNPanel.java
trunk/src/main/java/cc/kune/core/client/sn/AbstractSNPanel.ui.xml
trunk/src/main/java/cc/kune/core/client/sn/GroupSNPanel.java
trunk/src/main/java/cc/kune/core/client/sn/GroupSNPresenter.java
trunk/src/main/java/cc/kune/core/client/sn/UserSNPanel.java
trunk/src/main/java/cc/kune/core/client/sn/UserSNPresenter.java
trunk/src/main/java/cc/kune/core/client/sn/actions/ChangeToAdminAction.java
trunk/src/main/java/cc/kune/core/client/sn/actions/ChangeToCollabAction.java
trunk/src/main/java/cc/kune/core/public/ws.css
trunk/src/main/java/cc/kune/core/server/KuneRackModule.java
trunk/src/main/java/cc/kune/core/server/content/ContentManager.java
trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java
trunk/src/main/java/cc/kune/core/server/manager/impl/KuneWaveManagerDefault.java
trunk/src/main/java/cc/kune/core/server/manager/impl/SocialNetworkManagerDefault.java
trunk/src/main/java/cc/kune/core/server/notifier/NotificationSender.java
trunk/src/main/java/cc/kune/core/server/notifier/NotificationSenderDefault.java
trunk/src/main/java/cc/kune/core/server/notifier/NotificationService.java
trunk/src/main/java/cc/kune/core/server/notifier/PendingNotificationSender.java
trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java
trunk/src/main/java/cc/kune/core/shared/dto/UserDTO.java
trunk/src/main/java/cc/kune/core/shared/dto/UserSimpleDTO.java
trunk/src/main/java/cc/kune/domain/User.java
trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java
trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneralPanel.java
trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneralView.java
trunk/src/main/java/cc/kune/lists/client/ListsClientTool.java
trunk/src/main/java/cc/kune/tasks/client/TasksClientTool.java
trunk/src/main/java/cc/kune/wave/server/ParticipantUtils.java
trunk/src/main/java/cc/kune/wave/server/kspecific/KuneWaveServiceDefault.java
trunk/src/main/java/cc/kune/wiki/client/WikiClientTool.java
Log:
CLOSED - # 198: Add Drag and Drop from users to contents and vice versa
http://kune.ourproject.org/issues/ticket/198
Modified: trunk/src/main/java/cc/kune/barters/client/BartersClientTool.java
===================================================================
--- trunk/src/main/java/cc/kune/barters/client/BartersClientTool.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/barters/client/BartersClientTool.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -51,7 +51,7 @@
// registerAclEditableTypes(TYPE_DOCUMENT, TYPE_UPLOADEDFILE);
registerAuthorableTypes(TYPE_BARTER);
registerDragableTypes(TYPE_BARTER, TYPE_FOLDER);
- registerDropableTypes(TYPE_ROOT, TYPE_FOLDER);
+ registerDropableTypes(TYPE_ROOT, TYPE_FOLDER, TYPE_BARTER);
// registerPublishModerableTypes();
registerRateableTypes(TYPE_BARTER);
registerRenamableTypes(TYPE_FOLDER, TYPE_BARTER);
Modified: trunk/src/main/java/cc/kune/blogs/client/BlogsClientTool.java
===================================================================
--- trunk/src/main/java/cc/kune/blogs/client/BlogsClientTool.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/blogs/client/BlogsClientTool.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -52,7 +52,7 @@
// registerAclEditableTypes();
registerAuthorableTypes(TYPE_POST, TYPE_UPLOADEDFILE);
registerDragableTypes(TYPE_UPLOADEDFILE);
- registerDropableTypes(TYPE_ROOT);
+ registerDropableTypes(TYPE_ROOT, TYPE_POST);
registerPublishModerableTypes(TYPE_POST, TYPE_UPLOADEDFILE);
registerRateableTypes(TYPE_POST, TYPE_UPLOADEDFILE);
registerRenamableTypes(TYPE_BLOG, TYPE_POST, TYPE_UPLOADEDFILE);
Modified: trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -85,6 +85,7 @@
import cc.kune.core.client.sn.UserSNPresenter;
import cc.kune.core.client.sn.actions.AddBuddieSearchPanel;
import cc.kune.core.client.sn.actions.AddMemberSearchPanel;
+import cc.kune.core.client.sn.actions.SocialNetClientUtils;
import cc.kune.core.client.sn.actions.registry.GroupSNAdminsMenuItemsRegistry;
import cc.kune.core.client.sn.actions.registry.GroupSNCollabsMenuItemsRegistry;
import cc.kune.core.client.sn.actions.registry.GroupSNConfActions;
@@ -231,6 +232,7 @@
s(UserSNConfActions.class);
s(AddBuddieSearchPanel.class);
s(AddMemberSearchPanel.class);
+ s(SocialNetClientUtils.class);
s(SiteUserOptionsPresenter.class);
s(SiteUserOptions.class, SiteUserOptionsPresenter.class);
Modified: trunk/src/main/java/cc/kune/core/client/dnd/AbstractDropController.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/dnd/AbstractDropController.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/core/client/dnd/AbstractDropController.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -116,7 +116,7 @@
public void onPreviewDrop(final DragContext context) throws VetoDragException {
for (final Widget widget : context.selectedWidgets) {
if (acceptedTypes.contains(widget.getClass())) {
- onPreviewAllowed(this);
+ onPreviewAllowed(widget, this);
} else {
throw new VetoDragException();
}
@@ -187,10 +187,14 @@
/**
* On preview allowed.
*
+ * @param widget
+ *
* @param dropController
* the drop controller
+ * @throws VetoDragException
*/
- public void onPreviewAllowed(final SimpleDropController dropController) {
+ public void onPreviewAllowed(final Widget widget, final SimpleDropController dropController)
+ throws VetoDragException {
dropController.getDropTarget().removeStyleName("k-drop-allowed-hover");
}
Modified: trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -110,6 +110,10 @@
NotifyUser.showAlertMessage(i18n.t("Warning"),
i18n.t("Sorry, you are the last admin of this group."
+ " Look for someone to substitute you appropriately as admin before leaving this group."));
+
+ } else if (caught instanceof InvalidSNOperationException) {
+ logException(caught);
+ eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, i18n.t("Invalid operation")));
} else if (caught instanceof AlreadyGroupMemberException) {
logException(caught);
eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error,
Added: trunk/src/main/java/cc/kune/core/client/errors/InvalidSNOperationException.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/errors/InvalidSNOperationException.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/errors/InvalidSNOperationException.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -0,0 +1,33 @@
+/*
+ *
+ * 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.errors;
+
+public class InvalidSNOperationException extends DefaultException {
+
+ private static final long serialVersionUID = -3027252154297955075L;
+
+ public InvalidSNOperationException() {
+ super();
+ }
+
+ public InvalidSNOperationException(final String message) {
+ super(message);
+ }
+}
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/ContentService.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/ContentService.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/ContentService.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -29,6 +29,7 @@
import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.core.shared.dto.ContentSimpleDTO;
import cc.kune.core.shared.dto.I18nLanguageDTO;
+import cc.kune.core.shared.dto.SocialNetworkSubGroup;
import cc.kune.core.shared.dto.StateAbstractDTO;
import cc.kune.core.shared.dto.StateContainerDTO;
import cc.kune.core.shared.dto.StateContentDTO;
@@ -59,6 +60,9 @@
Boolean addParticipant(String userHash, StateToken token, String participant) throws DefaultException;
+ Boolean addParticipants(String userHash, StateToken token, String groupName,
+ SocialNetworkSubGroup subGroup) throws DefaultException;
+
StateContainerDTO addRoom(String user, StateToken parentToken, String name) throws DefaultException;
StateContentDTO delContent(String userHash, StateToken token) throws DefaultException;
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceAsync.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceAsync.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceAsync.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -28,6 +28,7 @@
import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.core.shared.dto.ContentSimpleDTO;
import cc.kune.core.shared.dto.I18nLanguageDTO;
+import cc.kune.core.shared.dto.SocialNetworkSubGroup;
import cc.kune.core.shared.dto.StateAbstractDTO;
import cc.kune.core.shared.dto.StateContainerDTO;
import cc.kune.core.shared.dto.StateContentDTO;
@@ -58,6 +59,9 @@
void addParticipant(String userHash, StateToken token, String participant,
AsyncCallback<Boolean> asyncCallback);
+ void addParticipants(String userHash, StateToken token, String groupName,
+ SocialNetworkSubGroup subGroup, AsyncCallback<Boolean> callback);
+
void addRoom(String user, StateToken parentToken, String name,
AsyncCallback<StateContainerDTO> callback);
Modified: trunk/src/main/java/cc/kune/core/client/sn/AbstractSNPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/AbstractSNPanel.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/core/client/sn/AbstractSNPanel.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -31,7 +31,6 @@
import cc.kune.common.shared.i18n.I18nTranslationService;
import cc.kune.core.client.avatar.SmallAvatarDecorator;
import cc.kune.core.client.dnd.KuneDragController;
-import cc.kune.core.client.dnd.NotImplementedDropManager;
import cc.kune.core.client.ui.BasicDragableThumb;
import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.gspace.client.armor.GSpaceArmor;
@@ -58,7 +57,7 @@
private final static int AVATARLABELMAXSIZE = 4;
private final static int AVATARSIZE = 22;
private final static String CATEG_HEIGHT = "84px";
- private final static String CATEG_MIN_HEIGHT = "55px";
+ private final static String CATEG_MIN_HEIGHT = "57px";
private static AbstractSNPanelUiBinder uiBinder = GWT.create(AbstractSNPanelUiBinder.class);
protected final ActionSimplePanel actions;
protected final GSpaceArmor armor;
@@ -80,6 +79,8 @@
@UiField
DockLayoutPanel firstCategoryPanel;
@UiField
+ ScrollPanel firstCategoryScroll;
+ @UiField
Label firstDeckLabel;
@UiField
FlowPanel mainPanel;
@@ -111,15 +112,12 @@
public AbstractSNPanel(final I18nTranslationService i18n, final GuiProvider guiProvider,
final GSpaceArmor armor, final Provider<SmallAvatarDecorator> avatarDecorator,
- final KuneDragController dragController, final NotImplementedDropManager notDrop) {
+ final KuneDragController dragController) {
this.armor = armor;
this.avatarDecoratorProv = avatarDecorator;
this.dragController = dragController;
widget = uiBinder.createAndBindUi(this);
actions = new ActionSimplePanel(guiProvider, i18n);
- notDrop.register(firstCategoryFlow);
- notDrop.register(sndCategoryFlow);
- notDrop.register(trdCategoryFlow);
}
@Override
@@ -135,7 +133,8 @@
}
public BasicDragableThumb createThumb(final String text, final String avatarUrl, final String tooltip,
- final String tooltipTitle, final GuiActionDescCollection menuitems, final StateToken token) {
+ final String tooltipTitle, final GuiActionDescCollection menuitems, final StateToken token,
+ final boolean dragable) {
final BasicDragableThumb thumb = new BasicDragableThumb(avatarUrl, AVATARSIZE, text,
AVATARLABELMAXSIZE, false, token);
@@ -161,7 +160,9 @@
thumb.addClickHandler(clickHand);
thumb.setTooltip(tooltipTitle, tooltip);
thumb.setLabelVisible(false);
- dragController.makeDraggable(thumb);
+ if (dragable) {
+ dragController.makeDraggable(thumb);
+ }
return thumb;
}
Modified: trunk/src/main/java/cc/kune/core/client/sn/AbstractSNPanel.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/AbstractSNPanel.ui.xml 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/core/client/sn/AbstractSNPanel.ui.xml 2012-02-29 01:04:27 UTC (rev 1720)
@@ -25,7 +25,7 @@
</g:FlowPanel>
</g:north>
<g:center>
- <g:ScrollPanel width="100%" addStyleNames="k-sn-adminsscroll">
+ <g:ScrollPanel width="100%" addStyleNames="k-sn-adminsscroll" ui:field="firstCategoryScroll">
<g:FlowPanel addStyleNames="k-sn-adminsflow"
ui:field="firstCategoryFlow" />
</g:ScrollPanel>
Added: trunk/src/main/java/cc/kune/core/client/sn/AdminsGroupSNDropController.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/AdminsGroupSNDropController.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sn/AdminsGroupSNDropController.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -0,0 +1,21 @@
+package cc.kune.core.client.sn;
+
+import cc.kune.common.shared.i18n.I18nTranslationService;
+import cc.kune.core.client.dnd.KuneDragController;
+import cc.kune.core.client.rpcservices.ContentServiceAsync;
+import cc.kune.core.client.sn.actions.SocialNetClientUtils;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.shared.dto.SocialNetworkSubGroup;
+
+import com.google.inject.Inject;
+
+public class AdminsGroupSNDropController extends GroupSNDropController {
+
+ @Inject
+ public AdminsGroupSNDropController(final KuneDragController dragController,
+ final ContentServiceAsync contentService, final Session session,
+ final I18nTranslationService i18n, final SocialNetClientUtils sNClientUtils) {
+ super(dragController, SocialNetworkSubGroup.admins, contentService, session, i18n, sNClientUtils);
+ }
+
+}
Added: trunk/src/main/java/cc/kune/core/client/sn/AllMembersGroupSNDropController.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/AllMembersGroupSNDropController.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sn/AllMembersGroupSNDropController.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -0,0 +1,21 @@
+package cc.kune.core.client.sn;
+
+import cc.kune.common.shared.i18n.I18nTranslationService;
+import cc.kune.core.client.dnd.KuneDragController;
+import cc.kune.core.client.rpcservices.ContentServiceAsync;
+import cc.kune.core.client.sn.actions.SocialNetClientUtils;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.shared.dto.SocialNetworkSubGroup;
+
+import com.google.inject.Inject;
+
+public class AllMembersGroupSNDropController extends GroupSNDropController {
+
+ @Inject
+ public AllMembersGroupSNDropController(final KuneDragController dragController,
+ final ContentServiceAsync contentService, final Session session,
+ final I18nTranslationService i18n, final SocialNetClientUtils sNClientUtils) {
+ super(dragController, SocialNetworkSubGroup.all, contentService, session, i18n, sNClientUtils);
+ }
+
+}
Added: trunk/src/main/java/cc/kune/core/client/sn/CollabsGroupSNDropController.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/CollabsGroupSNDropController.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sn/CollabsGroupSNDropController.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -0,0 +1,21 @@
+package cc.kune.core.client.sn;
+
+import cc.kune.common.shared.i18n.I18nTranslationService;
+import cc.kune.core.client.dnd.KuneDragController;
+import cc.kune.core.client.rpcservices.ContentServiceAsync;
+import cc.kune.core.client.sn.actions.SocialNetClientUtils;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.shared.dto.SocialNetworkSubGroup;
+
+import com.google.inject.Inject;
+
+public class CollabsGroupSNDropController extends GroupSNDropController {
+
+ @Inject
+ public CollabsGroupSNDropController(final KuneDragController dragController,
+ final ContentServiceAsync contentService, final Session session,
+ final I18nTranslationService i18n, final SocialNetClientUtils sNClientUtils) {
+ super(dragController, SocialNetworkSubGroup.collabs, contentService, session, i18n, sNClientUtils);
+ }
+
+}
Added: trunk/src/main/java/cc/kune/core/client/sn/GroupSNDropController.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/GroupSNDropController.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sn/GroupSNDropController.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -0,0 +1,78 @@
+package cc.kune.core.client.sn;
+
+import cc.kune.common.client.notify.NotifyUser;
+import cc.kune.common.shared.i18n.I18nTranslationService;
+import cc.kune.core.client.dnd.AbstractDropController;
+import cc.kune.core.client.dnd.KuneDragController;
+import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
+import cc.kune.core.client.rpcservices.ContentServiceAsync;
+import cc.kune.core.client.sn.actions.SocialNetClientUtils;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.ui.BasicDragableThumb;
+import cc.kune.core.shared.dto.SocialNetworkSubGroup;
+import cc.kune.gspace.client.viewers.items.FolderItemWidget;
+
+import com.allen_sauer.gwt.dnd.client.VetoDragException;
+import com.allen_sauer.gwt.dnd.client.drop.SimpleDropController;
+import com.google.gwt.user.client.ui.Widget;
+
+public class GroupSNDropController extends AbstractDropController {
+
+ private final ContentServiceAsync contentService;
+ private final I18nTranslationService i18n;
+ private final Session session;
+ private final SocialNetClientUtils sNClientUtils;
+ private final SocialNetworkSubGroup subGroup;
+
+ public GroupSNDropController(final KuneDragController dragController,
+ final SocialNetworkSubGroup subGroup, final ContentServiceAsync contentService,
+ final Session session, final I18nTranslationService i18n, final SocialNetClientUtils sNClientUtils) {
+ super(dragController);
+ this.subGroup = subGroup;
+ this.contentService = contentService;
+ this.session = session;
+ this.i18n = i18n;
+ this.sNClientUtils = sNClientUtils;
+ registerType(FolderItemWidget.class);
+ registerType(BasicDragableThumb.class);
+ }
+
+ @Override
+ public void onDropAllowed(final Widget widget, final SimpleDropController dropController) {
+ if (widget instanceof FolderItemWidget) {
+ contentService.addParticipants(session.getUserHash(), ((FolderItemWidget) widget).getToken(),
+ session.getCurrentGroupShortName(), subGroup, new AsyncCallbackSimple<Boolean>() {
+ @Override
+ public void onSuccess(final Boolean result) {
+ NotifyUser.info(result ? i18n.t("Shared with members")
+ : i18n.t("All these members are already partipating"));
+ }
+ });
+ }
+ if (widget instanceof BasicDragableThumb) {
+ final String shortName = ((BasicDragableThumb) widget).getToken().getGroup();
+ if (subGroup.equals(SocialNetworkSubGroup.admins)) {
+ sNClientUtils.changeToAdmin(shortName);
+ }
+ if (subGroup.equals(SocialNetworkSubGroup.collabs)) {
+ sNClientUtils.changeToCollab(shortName);
+ }
+ }
+ }
+
+ @Override
+ public void onPreviewAllowed(final Widget widget, final SimpleDropController dropController)
+ throws VetoDragException {
+ if (widget instanceof FolderItemWidget) {
+ if (!((FolderItemWidget) widget).getToken().isComplete()) {
+ throw new VetoDragException();
+ }
+ }
+ if (widget instanceof BasicDragableThumb) {
+ if (!session.getCurrentState().getGroupRights().isAdministrable()) {
+ throw new VetoDragException();
+ }
+ }
+ super.onPreviewAllowed(widget, dropController);
+ }
+}
Modified: trunk/src/main/java/cc/kune/core/client/sn/GroupSNPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/GroupSNPanel.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/core/client/sn/GroupSNPanel.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -26,7 +26,6 @@
import cc.kune.common.shared.i18n.I18nTranslationService;
import cc.kune.core.client.avatar.SmallAvatarDecorator;
import cc.kune.core.client.dnd.KuneDragController;
-import cc.kune.core.client.dnd.NotImplementedDropManager;
import cc.kune.core.client.sn.GroupSNPresenter.GroupSNView;
import cc.kune.core.client.ui.BasicDragableThumb;
import cc.kune.core.shared.dto.GroupDTO;
@@ -41,8 +40,10 @@
@Inject
public GroupSNPanel(final I18nTranslationService i18n, final GuiProvider guiProvider,
final GSpaceArmor armor, final Provider<SmallAvatarDecorator> avatarDecorator,
- final KuneDragController dragController, final NotImplementedDropManager notDrop) {
- super(i18n, guiProvider, armor, avatarDecorator, dragController, notDrop);
+ final KuneDragController dragController, final AdminsGroupSNDropController adminsDropController,
+ final CollabsGroupSNDropController collabsDropController,
+ final AllMembersGroupSNDropController allMembersDropController) {
+ super(i18n, guiProvider, armor, avatarDecorator, dragController);
setVisibleImpl(false);
mainTitle.setText(i18n.t("Group members"));
Tooltip.to(mainTitle, i18n.t("Users and groups collaborating in this group"));
@@ -60,31 +61,36 @@
bottomActionsToolbar.setStyleName("k-sn-bottomPanel-actions");
armor.getEntityToolsNorth().add(widget);
deck.showWidget(2);
+ adminsDropController.init(firstCategoryScroll);
+ adminsDropController.init(firstCategoryLabel);
+ collabsDropController.init(sndCategoryScroll);
+ collabsDropController.init(sndCategoryLabel);
+ allMembersDropController.init(mainTitle);
}
@Override
public void addAdmin(final GroupDTO group, final String avatarUrl, final String tooltip,
- final String tooltipTitle, final GuiActionDescCollection menu) {
+ final String tooltipTitle, final GuiActionDescCollection menu, final boolean dragable) {
final BasicDragableThumb thumb = createThumb(group.getCompoundName(), avatarUrl, tooltip,
- tooltipTitle, menu, group.getStateToken());
+ tooltipTitle, menu, group.getStateToken(), dragable);
firstCategoryFlow.add(group.isPersonal() ? (Widget) decorateAvatarWithXmppStatus(
group.getShortName(), thumb) : thumb);
}
@Override
public void addCollab(final GroupDTO group, final String avatarUrl, final String tooltip,
- final String tooltipTitle, final GuiActionDescCollection menu) {
+ final String tooltipTitle, final GuiActionDescCollection menu, final boolean dragable) {
final BasicDragableThumb thumb = createThumb(group.getCompoundName(), avatarUrl, tooltip,
- tooltipTitle, menu, group.getStateToken());
+ tooltipTitle, menu, group.getStateToken(), dragable);
sndCategoryFlow.add(group.isPersonal() ? (Widget) decorateAvatarWithXmppStatus(group.getShortName(),
thumb) : thumb);
}
@Override
public void addPending(final GroupDTO group, final String avatarUrl, final String tooltip,
- final String tooltipTitle, final GuiActionDescCollection menu) {
+ final String tooltipTitle, final GuiActionDescCollection menu, final boolean dragable) {
final BasicDragableThumb thumb = createThumb(group.getCompoundName(), avatarUrl, tooltip,
- tooltipTitle, menu, group.getStateToken());
+ tooltipTitle, menu, group.getStateToken(), dragable);
trdCategoryFlow.add(thumb);
}
Modified: trunk/src/main/java/cc/kune/core/client/sn/GroupSNPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/GroupSNPresenter.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/core/client/sn/GroupSNPresenter.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -60,13 +60,13 @@
public interface GroupSNView extends View {
void addAdmin(GroupDTO group, String avatarUrl, String tooltip, String tooltipTitle,
- GuiActionDescCollection menu);
+ GuiActionDescCollection menu, boolean dragable);
void addCollab(GroupDTO group, String avatarUrl, String tooltip, String tooltipTitle,
- GuiActionDescCollection menu);
+ GuiActionDescCollection menu, boolean dragable);
void addPending(GroupDTO group, String avatarUrl, String tooltip, String tooltipTitle,
- GuiActionDescCollection menu);
+ GuiActionDescCollection menu, boolean dragable);
void clear();
@@ -199,19 +199,20 @@
getView().showOrphan();
} else {
final boolean userIsAdmin = rights.isAdministrable();
+ final boolean userIsEditor = rights.isEditable();
final boolean userCanView = rights.isVisible();
getView().setAdminsVisible(true, areMany(numAdmins));
if (userCanView) {
for (final GroupDTO admin : adminsList) {
final String avatar = getAvatar(admin);
getView().addAdmin(admin, avatar, admin.getCompoundName(), "",
- createMenuItems(admin, adminsMenuItemsRegistry, admin.getCompoundName()));
+ createMenuItems(admin, adminsMenuItemsRegistry, admin.getCompoundName()), userIsEditor);
}
getView().setCollabsVisible(numCollabs > 0, areMany(numCollabs));
for (final GroupDTO collab : collabList) {
final String avatar = getAvatar(collab);
getView().addCollab(collab, avatar, collab.getCompoundName(), "",
- createMenuItems(collab, collabsMenuItemsRegistry, collab.getCompoundName()));
+ createMenuItems(collab, collabsMenuItemsRegistry, collab.getCompoundName()), userIsEditor);
}
if (userIsAdmin) {
getView().setPendingVisible(numPendings > 0, areMany(numPendings));
@@ -223,7 +224,7 @@
pendingCollab.getCompoundName(),
"",
createMenuItems(pendingCollab, pendingsMenuItemsRegistry,
- pendingCollab.getCompoundName()));
+ pendingCollab.getCompoundName()), userIsEditor);
}
} else {
getView().setPendingVisible(false, false);
Modified: trunk/src/main/java/cc/kune/core/client/sn/UserSNPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/UserSNPanel.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/core/client/sn/UserSNPanel.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -48,7 +48,7 @@
public UserSNPanel(final I18nTranslationService i18n, final GuiProvider guiProvider,
final GSpaceArmor armor, final Provider<SmallAvatarDecorator> avatarDecorator,
final KuneDragController dragController, final NotImplementedDropManager notDrop) {
- super(i18n, guiProvider, armor, avatarDecorator, dragController, notDrop);
+ super(i18n, guiProvider, armor, avatarDecorator, dragController);
this.i18n = i18n;
setVisibleImpl(false);
@@ -71,21 +71,24 @@
noBuddies.addStyleName("kune-Margin-Medium-l");
noPublic = new Label(i18n.t(CoreMessages.BUDDIES_NOT_PUBLIC));
noPublic.addStyleName("kune-Margin-Medium-l");
+ notDrop.register(firstCategoryScroll);
+ notDrop.register(sndCategoryScroll);
+ notDrop.register(trdCategoryScroll);
}
@Override
public void addBuddie(final UserSimpleDTO user, final String avatarUrl, final String tooltip,
- final String tooltipTitle, final GuiActionDescCollection menu) {
+ final String tooltipTitle, final GuiActionDescCollection menu, final boolean dragable) {
final BasicDragableThumb thumb = createThumb(user.getShortName(), avatarUrl, tooltip, tooltipTitle,
- menu, user.getStateToken());
+ menu, user.getStateToken(), dragable);
firstCategoryFlow.add((Widget) decorateAvatarWithXmppStatus(user.getShortName(), thumb));
}
@Override
public void addParticipation(final GroupDTO group, final String avatarUrl, final String tooltip,
- final String tooltipTitle, final GuiActionDescCollection menu) {
+ final String tooltipTitle, final GuiActionDescCollection menu, final boolean dragable) {
sndCategoryFlow.add(createThumb(group.getCompoundName(), avatarUrl, tooltip, tooltipTitle, menu,
- group.getStateToken()));
+ group.getStateToken(), dragable));
}
@Override
Modified: trunk/src/main/java/cc/kune/core/client/sn/UserSNPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/UserSNPresenter.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/core/client/sn/UserSNPresenter.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -60,10 +60,10 @@
public interface UserSNView extends View {
void addBuddie(UserSimpleDTO user, String avatarUrl, String tooltip, String tooltipTitle,
- GuiActionDescCollection menu);
+ GuiActionDescCollection menu, boolean dragable);
void addParticipation(GroupDTO group, String avatarUrl, String tooltip, String tooltipTitle,
- GuiActionDescCollection menu);
+ GuiActionDescCollection menu, boolean dragable);
void addTextToBuddieList(String text);
@@ -180,7 +180,8 @@
for (final UserSimpleDTO user : buddies) {
final String avatarUrl = downloadProvider.get().getUserAvatar(user);
getView().addBuddie(user, avatarUrl, user.getCompoundName(), "",
- createMenuItems(user, userMenuItemsRegistry, user.getCompoundName()));
+ createMenuItems(user, userMenuItemsRegistry, user.getCompoundName()),
+ state.getGroupRights().isAdministrable());
}
final boolean hasLocalBuddies = buddies.size() > 0;
final int numExtBuddies = userBuddiesData.getOtherExtBuddies();
@@ -212,11 +213,13 @@
final int numCollaborators = groupsIsCollab.size();
for (final GroupDTO group : groupsIsAdmin) {
getView().addParticipation(group, getAvatar(group), group.getCompoundName(), "",
- createMenuItems(group, userMenuItemsRegistry, group.getCompoundName()));
+ createMenuItems(group, userMenuItemsRegistry, group.getCompoundName()),
+ state.getGroupRights().isAdministrable());
}
for (final GroupDTO group : groupsIsCollab) {
getView().addParticipation(group, getAvatar(group), group.getCompoundName(), "",
- createMenuItems(group, userMenuItemsRegistry, group.getCompoundName()));
+ createMenuItems(group, userMenuItemsRegistry, group.getCompoundName()),
+ state.getGroupRights().isAdministrable());
}
final int totalGroups = numAdmins + numCollaborators;
// getView().setParticipationCount(totalGroups);
Modified: trunk/src/main/java/cc/kune/core/client/sn/actions/ChangeToAdminAction.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/ChangeToAdminAction.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/ChangeToAdminAction.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -22,50 +22,26 @@
import cc.kune.common.client.actions.AbstractExtendedAction;
import cc.kune.common.client.actions.Action;
import cc.kune.common.client.actions.ActionEvent;
-import cc.kune.common.client.notify.NotifyUser;
import cc.kune.common.shared.i18n.I18nTranslationService;
import cc.kune.core.client.resources.CoreResources;
-import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
-import cc.kune.core.client.rpcservices.SocialNetworkServiceAsync;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.client.state.StateManager;
import cc.kune.core.shared.dto.GroupDTO;
-import cc.kune.core.shared.dto.SocialNetworkDataDTO;
import com.google.inject.Inject;
-import com.google.inject.Provider;
public class ChangeToAdminAction extends AbstractExtendedAction {
- private final I18nTranslationService i18n;
- private final Session session;
- private final Provider<SocialNetworkServiceAsync> snServiceProvider;
- private final StateManager stateManager;
+ private final SocialNetClientUtils snClientUtils;
@Inject
- public ChangeToAdminAction(final StateManager stateManager, final Session session,
- final I18nTranslationService i18n, final CoreResources res,
- final Provider<SocialNetworkServiceAsync> snServiceProvider) {
- this.stateManager = stateManager;
- this.session = session;
- this.i18n = i18n;
- this.snServiceProvider = snServiceProvider;
+ public ChangeToAdminAction(final I18nTranslationService i18n, final CoreResources res,
+ final SocialNetClientUtils snClientUtils) {
+ this.snClientUtils = snClientUtils;
putValue(NAME, i18n.t("Change to administrator"));
putValue(Action.SMALL_ICON, res.arrowUpGreen());
}
@Override
public void actionPerformed(final ActionEvent event) {
- NotifyUser.showProgress();
- snServiceProvider.get().setCollabAsAdmin(session.getUserHash(),
- session.getCurrentState().getStateToken(), ((GroupDTO) event.getTarget()).getShortName(),
- new AsyncCallbackSimple<SocialNetworkDataDTO>() {
- @Override
- public void onSuccess(final SocialNetworkDataDTO result) {
- NotifyUser.hideProgress();
- NotifyUser.info(i18n.t("Member type changed"));
- stateManager.setSocialNetwork(result);
- }
- });
+ snClientUtils.changeToAdmin(((GroupDTO) event.getTarget()).getShortName());
}
}
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/core/client/sn/actions/ChangeToCollabAction.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/ChangeToCollabAction.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/ChangeToCollabAction.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -22,50 +22,26 @@
import cc.kune.common.client.actions.AbstractExtendedAction;
import cc.kune.common.client.actions.Action;
import cc.kune.common.client.actions.ActionEvent;
-import cc.kune.common.client.notify.NotifyUser;
import cc.kune.common.shared.i18n.I18nTranslationService;
import cc.kune.core.client.resources.CoreResources;
-import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
-import cc.kune.core.client.rpcservices.SocialNetworkServiceAsync;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.client.state.StateManager;
import cc.kune.core.shared.dto.GroupDTO;
-import cc.kune.core.shared.dto.SocialNetworkDataDTO;
import com.google.inject.Inject;
-import com.google.inject.Provider;
public class ChangeToCollabAction extends AbstractExtendedAction {
- private final I18nTranslationService i18n;
- private final Session session;
- private final Provider<SocialNetworkServiceAsync> snServiceProvider;
- private final StateManager stateManager;
+ private final SocialNetClientUtils sNClientUtils;
@Inject
- public ChangeToCollabAction(final StateManager stateManager, final Session session,
- final I18nTranslationService i18n, final CoreResources res,
- final Provider<SocialNetworkServiceAsync> snServiceProvider) {
- this.stateManager = stateManager;
- this.session = session;
- this.i18n = i18n;
- this.snServiceProvider = snServiceProvider;
+ public ChangeToCollabAction(final I18nTranslationService i18n, final CoreResources res,
+ final SocialNetClientUtils sNClientUtils) {
+ this.sNClientUtils = sNClientUtils;
putValue(NAME, i18n.t("Change to collaborator"));
putValue(Action.SMALL_ICON, res.arrowDownGreen());
}
@Override
public void actionPerformed(final ActionEvent event) {
- NotifyUser.showProgress();
- snServiceProvider.get().setAdminAsCollab(session.getUserHash(),
- session.getCurrentState().getStateToken(), ((GroupDTO) event.getTarget()).getShortName(),
- new AsyncCallbackSimple<SocialNetworkDataDTO>() {
- @Override
- public void onSuccess(final SocialNetworkDataDTO result) {
- NotifyUser.hideProgress();
- NotifyUser.info(i18n.t("Member type changed"));
- stateManager.setSocialNetwork(result);
- }
- });
+ sNClientUtils.changeToCollab(((GroupDTO) event.getTarget()).getShortName());
}
}
\ No newline at end of file
Added: trunk/src/main/java/cc/kune/core/client/sn/actions/SocialNetClientUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/SocialNetClientUtils.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/SocialNetClientUtils.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -0,0 +1,59 @@
+package cc.kune.core.client.sn.actions;
+
+import cc.kune.common.client.notify.NotifyUser;
+import cc.kune.common.shared.i18n.I18nTranslationService;
+import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
+import cc.kune.core.client.rpcservices.SocialNetworkServiceAsync;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.StateManager;
+import cc.kune.core.shared.dto.SocialNetworkDataDTO;
+
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
+public class SocialNetClientUtils {
+
+ private final I18nTranslationService i18n;
+ private final Session session;
+ private final Provider<SocialNetworkServiceAsync> snServiceProvider;
+ private final StateManager stateManager;
+
+ @Inject
+ public SocialNetClientUtils(final StateManager stateManager, final Session session,
+ final I18nTranslationService i18n, final Provider<SocialNetworkServiceAsync> snServiceProvider) {
+ this.stateManager = stateManager;
+ this.session = session;
+ this.i18n = i18n;
+ this.snServiceProvider = snServiceProvider;
+ }
+
+ public void changeToAdmin(final String shortName) {
+ NotifyUser.showProgress();
+ snServiceProvider.get().setCollabAsAdmin(session.getUserHash(),
+ session.getCurrentState().getStateToken(), shortName,
+ new AsyncCallbackSimple<SocialNetworkDataDTO>() {
+ @Override
+ public void onSuccess(final SocialNetworkDataDTO result) {
+ SocialNetClientUtils.this.onSuccess(result);
+ }
+ });
+ }
+
+ public void changeToCollab(final String shortName) {
+ NotifyUser.showProgress();
+ snServiceProvider.get().setAdminAsCollab(session.getUserHash(),
+ session.getCurrentState().getStateToken(), shortName,
+ new AsyncCallbackSimple<SocialNetworkDataDTO>() {
+ @Override
+ public void onSuccess(final SocialNetworkDataDTO result) {
+ SocialNetClientUtils.this.onSuccess(result);
+ }
+ });
+ }
+
+ private void onSuccess(final SocialNetworkDataDTO result) {
+ NotifyUser.hideProgress();
+ NotifyUser.info(i18n.t("Member type changed"));
+ stateManager.setSocialNetwork(result);
+ }
+}
Modified: trunk/src/main/java/cc/kune/core/public/ws.css
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.css 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/core/public/ws.css 2012-02-29 01:04:27 UTC (rev 1720)
@@ -820,7 +820,7 @@
}
.k-sn-maintitle {
- margin: 5px;
+ margin: 3px;
}
.k-sn-maintitle {
Modified: trunk/src/main/java/cc/kune/core/server/KuneRackModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/KuneRackModule.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/core/server/KuneRackModule.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -43,6 +43,7 @@
import cc.kune.core.server.manager.file.FileGwtUploadServlet;
import cc.kune.core.server.manager.file.FileUploadManager;
import cc.kune.core.server.manager.file.UserLogoDownloadManager;
+import cc.kune.core.server.manager.impl.GroupServerUtils;
import cc.kune.core.server.properties.KuneProperties;
import cc.kune.core.server.properties.KunePropertiesDefault;
import cc.kune.core.server.rack.RackBuilder;
@@ -127,6 +128,7 @@
// http://code.google.com/p/google-gin/issues/detail?id=60
requestStaticInjection(KuneWaveServerUtils.class);
requestStaticInjection(CalendarServerUtils.class);
+ requestStaticInjection(GroupServerUtils.class);
}
};
}
Modified: trunk/src/main/java/cc/kune/core/server/content/ContentManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/content/ContentManager.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/core/server/content/ContentManager.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -27,8 +27,10 @@
import cc.kune.core.server.manager.SearchResult;
import cc.kune.core.shared.domain.ContentStatus;
import cc.kune.core.shared.domain.RateResult;
+import cc.kune.core.shared.dto.SocialNetworkSubGroup;
import cc.kune.domain.Container;
import cc.kune.domain.Content;
+import cc.kune.domain.Group;
import cc.kune.domain.I18nLanguage;
import cc.kune.domain.User;
@@ -51,6 +53,8 @@
boolean addParticipant(User user, Long contentId, String participant);
+ boolean addParticipants(User user, Long contentId, Group group, SocialNetworkSubGroup whichOnes);
+
Content createGadget(User user, Container container, String gadgetname, String typeIdChild,
String title, String body, Map<String, String> gadgetProperties);
Modified: trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -23,8 +23,10 @@
import java.net.URL;
import java.util.Collections;
import java.util.Date;
+import java.util.HashSet;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import javax.persistence.EntityManager;
@@ -49,14 +51,17 @@
import cc.kune.core.server.manager.TagUserContentManager;
import cc.kune.core.server.manager.file.FileUtils;
import cc.kune.core.server.manager.impl.DefaultManager;
+import cc.kune.core.server.manager.impl.GroupServerUtils;
import cc.kune.core.server.manager.impl.ServerManagerException;
import cc.kune.core.server.tool.ServerTool;
import cc.kune.core.server.tool.ServerToolRegistry;
import cc.kune.core.server.utils.FilenameUtils;
import cc.kune.core.shared.domain.ContentStatus;
import cc.kune.core.shared.domain.RateResult;
+import cc.kune.core.shared.dto.SocialNetworkSubGroup;
import cc.kune.domain.Container;
import cc.kune.domain.Content;
+import cc.kune.domain.Group;
import cc.kune.domain.I18nLanguage;
import cc.kune.domain.Rate;
import cc.kune.domain.Revision;
@@ -132,13 +137,37 @@
@Override
public boolean addParticipant(final User user, final Long contentId, final String participant) {
final Content content = finder.getContent(contentId);
+ return addParticipants(user, content, participant);
+ }
+
+ /**
+ * Adds the participant to a wave
+ *
+ * @param user
+ * the user
+ * @param content
+ * the content
+ * @param participant
+ * the participant
+ * @return true, if successful added (not already participant)
+ */
+ private boolean addParticipants(final User user, final Content content, final String... participants) {
if (content.isWave()) {
return kuneWaveManager.addParticipants(KuneWaveServerUtils.getWaveRef(content),
- getContentAuthor(content), user.getShortName(), participant);
+ getContentAuthor(content), user.getShortName(), participants);
}
return false;
}
+ @Override
+ public boolean addParticipants(final User user, final Long contentId, final Group group,
+ final SocialNetworkSubGroup whichOnes) {
+ final Set<String> members = new HashSet<String>();
+ GroupServerUtils.getAllUserMembersAsString(members, group, SocialNetworkSubGroup.admins);
+ final Content content = finder.getContent(contentId);
+ return addParticipants(user, content, members.toArray(new String[members.size()]));
+ }
+
protected Content createContent(final String title, final String body, final User author,
final Container container, final String typeId) {
return createContent(title, body, author, container, typeId, KuneWaveService.WITHOUT_GADGET,
Added: trunk/src/main/java/cc/kune/core/server/manager/impl/GroupServerUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/manager/impl/GroupServerUtils.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/server/manager/impl/GroupServerUtils.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -0,0 +1,68 @@
+package cc.kune.core.server.manager.impl;
+
+import java.util.Collection;
+import java.util.LinkedHashSet;
+import java.util.Set;
+
+import javax.persistence.NoResultException;
+
+import cc.kune.core.shared.dto.SocialNetworkSubGroup;
+import cc.kune.domain.Group;
+import cc.kune.domain.User;
+import cc.kune.domain.finders.UserFinder;
+
+import com.google.inject.Inject;
+
+public class GroupServerUtils {
+ @Inject
+ private static UserFinder userFinder;
+
+ public static void getAllUserMembers(final Set<User> users, final Group ofGroup,
+ final SocialNetworkSubGroup subGroup) {
+ final Collection<Group> members = GroupServerUtils.getGroupMembers(ofGroup, subGroup);
+ for (final Group member : members) {
+ if (member.isPersonal()) {
+ final String shortName = member.getShortName();
+ try {
+ final User user = userFinder.findByShortName(shortName);
+ users.add(user);
+ } catch (final NoResultException e) {
+ }
+ } else {
+ // Is a group, so go recursively
+ getAllUserMembers(users, member, subGroup);
+ }
+ }
+ }
+
+ public static void getAllUserMembersAsString(final Set<String> users, final Group ofGroup,
+ final SocialNetworkSubGroup subGroup) {
+ final Collection<Group> members = GroupServerUtils.getGroupMembers(ofGroup, subGroup);
+ for (final Group member : members) {
+ if (member.isPersonal()) {
+ final String shortName = member.getShortName();
+ try {
+ users.add(shortName);
+ } catch (final NoResultException e) {
+ }
+ } else {
+ // Is a group, so go recursively
+ getAllUserMembersAsString(users, member, subGroup);
+ }
+ }
+ }
+
+ public static final Collection<Group> getGroupMembers(final Group ofGroup,
+ final SocialNetworkSubGroup subGroup) {
+ final Collection<Group> members = new LinkedHashSet<Group>();
+ if (subGroup.equals(SocialNetworkSubGroup.admins) || subGroup.equals(SocialNetworkSubGroup.all)) {
+ final Set<Group> admins = ofGroup.getSocialNetwork().getAccessLists().getAdmins().getList();
+ members.addAll(admins);
+ }
+ if (subGroup.equals(SocialNetworkSubGroup.collabs) || subGroup.equals(SocialNetworkSubGroup.all)) {
+ final Set<Group> collabs = ofGroup.getSocialNetwork().getAccessLists().getEditors().getList();
+ members.addAll(collabs);
+ }
+ return members;
+ }
+}
Modified: trunk/src/main/java/cc/kune/core/server/manager/impl/KuneWaveManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/manager/impl/KuneWaveManagerDefault.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/core/server/manager/impl/KuneWaveManagerDefault.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -20,7 +20,7 @@
package cc.kune.core.server.manager.impl;
import java.util.ArrayList;
-import java.util.HashSet;
+import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
@@ -32,10 +32,12 @@
import cc.kune.core.server.manager.UserManager;
import cc.kune.core.server.properties.KuneProperties;
import cc.kune.core.shared.domain.AccessRol;
+import cc.kune.core.shared.dto.SocialNetworkSubGroup;
import cc.kune.domain.Group;
import cc.kune.domain.User;
import cc.kune.domain.UserBuddiesData;
import cc.kune.domain.finders.GroupFinder;
+import cc.kune.domain.finders.UserFinder;
import cc.kune.wave.server.KuneWaveServerUtils;
import cc.kune.wave.server.ParticipantUtils;
import cc.kune.wave.server.kspecific.KuneWaveService;
@@ -49,17 +51,19 @@
private final GroupFinder groupFinder;
private final KuneProperties kuneProperties;
private final ParticipantUtils participantUtils;
+ private final UserFinder userFinder;
private final UserManager userManager;
private final KuneWaveService waveService;
@Inject
public KuneWaveManagerDefault(final KuneWaveService waveService,
final ParticipantUtils participantUtils, final KuneProperties kuneProperties,
- final GroupFinder groupFinder, final UserManager userManager) {
+ final GroupFinder groupFinder, final UserFinder userFinder, final UserManager userManager) {
this.waveService = waveService;
this.participantUtils = participantUtils;
this.kuneProperties = kuneProperties;
this.groupFinder = groupFinder;
+ this.userFinder = userFinder;
this.userManager = userManager;
}
@@ -71,8 +75,8 @@
for (final String part : participants) {
partIds.add(participantUtils.of(part));
}
- return KuneWaveServerUtils.getUrl(waveService.createWave(title, body, KuneWaveService.DO_NOTHING_CBACK,
- partIds.toArray(new ParticipantId[0])));
+ return KuneWaveServerUtils.getUrl(waveService.createWave(title, body,
+ KuneWaveService.DO_NOTHING_CBACK, partIds.toArray(new ParticipantId[0])));
}
@Override
@@ -84,12 +88,12 @@
public String writeTo(final User user, final String groupName, final boolean onlyToAdmins,
final String title, final String message) {
final Group group = groupFinder.findByShortName(groupName);
- final Set<Group> toList = new HashSet<Group>();
- toList.add(user.getUserGroup());
+ final Set<User> toList = new LinkedHashSet<User>();
+ toList.add(user);
if (group.isPersonal()) {
final UserBuddiesData userBuddies = userManager.getUserBuddies(groupName);
if (userBuddies.contains(user.getShortName())) {
- toList.add(group);
+ toList.add(userFinder.findByShortName(group.getShortName()));
} else {
throw new AccessViolationException("You cannot write to non buddies");
}
@@ -97,14 +101,10 @@
if (!AccessRightsUtils.correctMember(user, group, AccessRol.Editor)) {
throw new AccessViolationException("You cannot write because you are not a member");
}
- if (onlyToAdmins) {
- toList.addAll(group.getSocialNetwork().getAccessLists().getAdmins().getList());
- } else {
- toList.addAll(group.getSocialNetwork().getAccessLists().getAdmins().getList());
- toList.addAll(group.getSocialNetwork().getAccessLists().getEditors().getList());
- }
+ GroupServerUtils.getAllUserMembers(toList, group, onlyToAdmins ? SocialNetworkSubGroup.admins
+ : SocialNetworkSubGroup.all);
}
- return KuneWaveServerUtils.getUrl(waveService.createWave(title, message, KuneWaveService.DO_NOTHING_CBACK,
- participantUtils.listFrom(toList)));
+ return KuneWaveServerUtils.getUrl(waveService.createWave(title, message,
+ KuneWaveService.DO_NOTHING_CBACK, participantUtils.listFrom(toList)));
}
}
Modified: trunk/src/main/java/cc/kune/core/server/manager/impl/SocialNetworkManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/manager/impl/SocialNetworkManagerDefault.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/core/server/manager/impl/SocialNetworkManagerDefault.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -27,6 +27,7 @@
import cc.kune.core.client.errors.AlreadyGroupMemberException;
import cc.kune.core.client.errors.AlreadyUserMemberException;
import cc.kune.core.client.errors.DefaultException;
+import cc.kune.core.client.errors.InvalidSNOperationException;
import cc.kune.core.client.errors.LastAdminInGroupException;
import cc.kune.core.client.errors.UserMustBeLoggedException;
import cc.kune.core.server.access.AccessRightsService;
@@ -314,7 +315,7 @@
sn.removeAdmin(group);
sn.addCollaborator(group);
} else {
- throw new DefaultException("Person/Group is not an admin");
+ throw new InvalidSNOperationException("Person/Group is not an admin");
}
}
@@ -327,7 +328,7 @@
sn.removeCollaborator(group);
sn.addAdmin(group);
} else {
- throw new DefaultException("Person/Group is not a collaborator");
+ throw new InvalidSNOperationException("Person/Group is not a collaborator");
}
}
Modified: trunk/src/main/java/cc/kune/core/server/notifier/NotificationSender.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/notifier/NotificationSender.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/core/server/notifier/NotificationSender.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -1,6 +1,6 @@
package cc.kune.core.server.notifier;
-import cc.kune.core.shared.domain.dto.EmailNotificationFrequency;
+import cc.kune.core.shared.dto.EmailNotificationFrequency;
/**
* The Interface PendingNotificationSender. Used to send pending notifications
Modified: trunk/src/main/java/cc/kune/core/server/notifier/NotificationSenderDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/notifier/NotificationSenderDefault.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/core/server/notifier/NotificationSenderDefault.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -13,7 +13,7 @@
import cc.kune.core.server.mail.MailService;
import cc.kune.core.server.properties.KuneProperties;
import cc.kune.core.server.xmpp.XmppManager;
-import cc.kune.core.shared.domain.dto.EmailNotificationFrequency;
+import cc.kune.core.shared.dto.EmailNotificationFrequency;
import cc.kune.domain.User;
import cc.kune.wave.server.kspecific.KuneWaveService;
Modified: trunk/src/main/java/cc/kune/core/server/notifier/NotificationService.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/notifier/NotificationService.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/core/server/notifier/NotificationService.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -4,16 +4,14 @@
import java.util.HashSet;
import java.util.Set;
-import javax.persistence.NoResultException;
-
-import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import cc.kune.core.server.mail.FormatedString;
+import cc.kune.core.server.manager.impl.GroupServerUtils;
+import cc.kune.core.shared.dto.SocialNetworkSubGroup;
import cc.kune.domain.Group;
import cc.kune.domain.User;
-import cc.kune.domain.finders.UserFinder;
import com.google.inject.Inject;
import com.google.inject.Singleton;
@@ -24,59 +22,28 @@
public static final Log LOG = LogFactory.getLog(NotificationService.class);
private final NotificationHtmlHelper helper;
private final PendingNotificationSender sender;
- private final UserFinder userFinder;
@Inject
- NotificationService(final PendingNotificationSender sender, final NotificationHtmlHelper helper,
- final UserFinder userFinder) {
+ NotificationService(final PendingNotificationSender sender, final NotificationHtmlHelper helper) {
this.sender = sender;
this.helper = helper;
- this.userFinder = userFinder;
}
private FormatedString createPlainSubject(final String subject) {
return FormatedString.build(subject);
}
- @SuppressWarnings("unchecked")
- private void getAllUserMembers(final Set<User> users, final Group groupToNotify,
- final boolean onlyAdmins) {
- final Collection<Group> members;
- final Set<Group> admins = groupToNotify.getSocialNetwork().getAccessLists().getAdmins().getList();
- if (onlyAdmins) {
- members = admins;
- } else {
- final Set<Group> collabs = groupToNotify.getSocialNetwork().getAccessLists().getEditors().getList();
- members = CollectionUtils.union(admins, collabs);
- }
- for (final Group member : members) {
- if (member.isPersonal()) {
- final String shortName = member.getShortName();
- try {
- final User user = userFinder.findByShortName(shortName);
- users.add(user);
- } catch (final NoResultException e) {
- LOG.error(String.format("This personal group %s is not a local user", shortName));
- }
- } else {
- // Is a group, so go recursively
- getAllUserMembers(users, member, onlyAdmins);
- }
- }
-
- }
-
public void notifyGroup(final Group groupToNotify, final Group groupSender, final String subject,
final String message) {
final Set<User> members = new HashSet<User>();
- getAllUserMembers(members, groupToNotify, false);
+ GroupServerUtils.getAllUserMembers(members, groupToNotify, SocialNetworkSubGroup.all);
notifyToAll(groupSender, subject, message, members);
}
public void notifyGroupAdmins(final Group groupToNotify, final Group groupSender,
final String subject, final String message) {
final Set<User> adminMembers = new HashSet<User>();
- getAllUserMembers(adminMembers, groupToNotify, true);
+ GroupServerUtils.getAllUserMembers(adminMembers, groupToNotify, SocialNetworkSubGroup.admins);
notifyToAll(groupSender, subject, message, adminMembers);
}
Modified: trunk/src/main/java/cc/kune/core/server/notifier/PendingNotificationSender.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/notifier/PendingNotificationSender.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/core/server/notifier/PendingNotificationSender.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -4,7 +4,7 @@
import java.util.concurrent.ConcurrentLinkedQueue;
import cc.kune.core.server.mail.FormatedString;
-import cc.kune.core.shared.domain.dto.EmailNotificationFrequency;
+import cc.kune.core.shared.dto.EmailNotificationFrequency;
import cc.kune.domain.User;
import com.google.inject.Inject;
Modified: trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -60,6 +60,7 @@
import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.core.shared.dto.ContentSimpleDTO;
import cc.kune.core.shared.dto.I18nLanguageDTO;
+import cc.kune.core.shared.dto.SocialNetworkSubGroup;
import cc.kune.core.shared.dto.StateAbstractDTO;
import cc.kune.core.shared.dto.StateContainerDTO;
import cc.kune.core.shared.dto.StateContentDTO;
@@ -194,6 +195,18 @@
@Override
@Authenticated
+ @Authorizated(accessRolRequired = AccessRol.Editor, mustCheckMembership = true)
+ @Transactional
+ public Boolean addParticipants(final String userHash, final StateToken token, final String groupName,
+ final SocialNetworkSubGroup subGroup) throws DefaultException {
+ final Long contentId = ContentUtils.parseId(token.getDocument());
+ final Group group = groupManager.findByShortName(groupName);
+ final User user = getCurrentUser();
+ return contentManager.addParticipants(user, contentId, group, subGroup);
+ }
+
+ @Override
+ @Authenticated
@Authorizated(actionLevel = ActionLevel.container, accessRolRequired = AccessRol.Administrator)
@Transactional
public StateContainerDTO addRoom(final String userHash, final StateToken parentToken,
Deleted: trunk/src/main/java/cc/kune/core/shared/domain/dto/EmailNotificationFrequency.java
===================================================================
--- trunk/src/main/java/cc/kune/core/shared/domain/dto/EmailNotificationFrequency.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/core/shared/domain/dto/EmailNotificationFrequency.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -1,29 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2009 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.shared.domain.dto;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
-
-public enum EmailNotificationFrequency implements IsSerializable {
- daily, // at most daily, (not used yet)
- hourly, // at most hourly (not used yet)
- immediately, // almost immediately (currently used)
- no // I don't need email notifications (currently used)
-}
Copied: trunk/src/main/java/cc/kune/core/shared/dto/EmailNotificationFrequency.java (from rev 1717, trunk/src/main/java/cc/kune/core/shared/domain/dto/EmailNotificationFrequency.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/shared/dto/EmailNotificationFrequency.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/shared/dto/EmailNotificationFrequency.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -0,0 +1,29 @@
+/*
+ *
+ * Copyright (C) 2007-2009 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.shared.dto;
+
+import com.google.gwt.user.client.rpc.IsSerializable;
+
+public enum EmailNotificationFrequency implements IsSerializable {
+ daily, // at most daily, (not used yet)
+ hourly, // at most hourly (not used yet)
+ immediately, // almost immediately (currently used)
+ no // I don't need email notifications (currently used)
+}
Added: trunk/src/main/java/cc/kune/core/shared/dto/SocialNetworkSubGroup.java
===================================================================
--- trunk/src/main/java/cc/kune/core/shared/dto/SocialNetworkSubGroup.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/shared/dto/SocialNetworkSubGroup.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -0,0 +1,35 @@
+/*
+ *
+ * Copyright (C) 2007-2009 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.shared.dto;
+
+import com.google.gwt.user.client.rpc.IsSerializable;
+
+/**
+ * The Enum SocialNetworkSubGroup is a way to indicate a part of a group
+ * SNetwork.
+ */
+public enum SocialNetworkSubGroup implements IsSerializable {
+ /** The admins members only */
+ admins,
+ /** all members */
+ all,
+ /** The collabs members only */
+ collabs
+}
Modified: trunk/src/main/java/cc/kune/core/shared/dto/UserDTO.java
===================================================================
--- trunk/src/main/java/cc/kune/core/shared/dto/UserDTO.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/core/shared/dto/UserDTO.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -19,7 +19,6 @@
*/
package cc.kune.core.shared.dto;
-import cc.kune.core.shared.domain.dto.EmailNotificationFrequency;
import com.google.gwt.user.client.rpc.IsSerializable;
Modified: trunk/src/main/java/cc/kune/core/shared/dto/UserSimpleDTO.java
===================================================================
--- trunk/src/main/java/cc/kune/core/shared/dto/UserSimpleDTO.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/core/shared/dto/UserSimpleDTO.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -19,7 +19,6 @@
*/
package cc.kune.core.shared.dto;
-import cc.kune.core.shared.domain.dto.EmailNotificationFrequency;
import cc.kune.core.shared.domain.utils.StateToken;
import com.google.gwt.user.client.rpc.IsSerializable;
Modified: trunk/src/main/java/cc/kune/domain/User.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/User.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/domain/User.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -46,8 +46,8 @@
import org.hibernate.validator.Pattern;
import cc.kune.core.shared.domain.UserSNetVisibility;
-import cc.kune.core.shared.domain.dto.EmailNotificationFrequency;
import cc.kune.core.shared.domain.utils.StateToken;
+import cc.kune.core.shared.dto.EmailNotificationFrequency;
import cc.kune.domain.utils.HasId;
@Entity
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -24,6 +24,9 @@
import cc.kune.core.client.dnd.FolderContentDropController;
import cc.kune.core.client.sitebar.search.SitebarSearchPanel;
import cc.kune.core.client.sitebar.search.SitebarSearchPresenter;
+import cc.kune.core.client.sn.AdminsGroupSNDropController;
+import cc.kune.core.client.sn.AllMembersGroupSNDropController;
+import cc.kune.core.client.sn.CollabsGroupSNDropController;
import cc.kune.core.client.sn.actions.WriteToBuddyHeaderButton;
import cc.kune.gspace.client.actions.ContentViewerOptionsMenu;
import cc.kune.gspace.client.actions.GiveUsFeedbackBtn;
@@ -140,6 +143,9 @@
s(ContentDropController.class);
s(FolderContainerDropController.class);
s(FolderContentDropController.class);
+ s(AdminsGroupSNDropController.class);
+ s(CollabsGroupSNDropController.class);
+ s(AllMembersGroupSNDropController.class);
bindPresenter(EntityLicensePresenter.class, EntityLicensePresenter.EntityLicenseView.class,
EntityLicensePanel.class, EntityLicensePresenter.EntityLicenseProxy.class);
bindPresenter(TagsSummaryPresenter.class, TagsSummaryPresenter.TagsSummaryView.class,
Modified: trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneralPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneralPanel.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneralPanel.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -24,7 +24,7 @@
import cc.kune.core.client.i18n.I18nUITranslationService;
import cc.kune.core.client.resources.CoreResources;
import cc.kune.core.client.ui.DefaultFormUtils;
-import cc.kune.core.shared.domain.dto.EmailNotificationFrequency;
+import cc.kune.core.shared.dto.EmailNotificationFrequency;
import cc.kune.core.shared.dto.I18nLanguageSimpleDTO;
import cc.kune.gspace.client.i18n.LanguageSelectorPanel;
Modified: trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneralView.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneralView.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneralView.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -19,7 +19,7 @@
*/
package cc.kune.gspace.client.options.general;
-import cc.kune.core.shared.domain.dto.EmailNotificationFrequency;
+import cc.kune.core.shared.dto.EmailNotificationFrequency;
import cc.kune.core.shared.dto.I18nLanguageSimpleDTO;
import com.google.gwt.event.dom.client.HasClickHandlers;
Modified: trunk/src/main/java/cc/kune/lists/client/ListsClientTool.java
===================================================================
--- trunk/src/main/java/cc/kune/lists/client/ListsClientTool.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/lists/client/ListsClientTool.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -51,7 +51,7 @@
// registerAclEditableTypes();
registerAuthorableTypes(TYPE_POST);
registerDragableTypes();
- registerDropableTypes();
+ registerDropableTypes(TYPE_POST);
registerPublishModerableTypes();
registerRateableTypes(TYPE_POST);
registerRenamableTypes(TYPE_LIST, TYPE_POST);
Modified: trunk/src/main/java/cc/kune/tasks/client/TasksClientTool.java
===================================================================
--- trunk/src/main/java/cc/kune/tasks/client/TasksClientTool.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/tasks/client/TasksClientTool.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -53,7 +53,7 @@
// registerAclEditableTypes();
registerAuthorableTypes(TYPE_TASK);
registerDragableTypes(TYPE_TASK, TYPE_FOLDER);
- registerDropableTypes(TYPE_ROOT, TYPE_FOLDER);
+ registerDropableTypes(TYPE_ROOT, TYPE_FOLDER, TYPE_TASK);
registerPublishModerableTypes(TYPE_TASK);
registerRateableTypes(TYPE_TASK);
registerRenamableTypes(TYPE_FOLDER, TYPE_TASK);
Modified: trunk/src/main/java/cc/kune/wave/server/ParticipantUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/server/ParticipantUtils.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/wave/server/ParticipantUtils.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -28,7 +28,7 @@
import cc.kune.core.client.errors.DefaultException;
import cc.kune.core.server.properties.KuneBasicProperties;
-import cc.kune.domain.Group;
+import cc.kune.domain.User;
import com.google.inject.Inject;
import com.google.inject.Singleton;
@@ -68,9 +68,9 @@
return address.contains(getAtDomain());
}
- public ParticipantId[] listFrom(final Set<Group> list) {
+ public ParticipantId[] listFrom(final Set<User> list) {
final ParticipantId[] array = new ParticipantId[list.size()];
- final Iterator<Group> iterator = list.iterator();
+ final Iterator<User> iterator = list.iterator();
for (int i = 0; i < list.size(); i++) {
array[i] = of(iterator.next().getShortName());
}
Modified: trunk/src/main/java/cc/kune/wave/server/kspecific/KuneWaveServiceDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/server/kspecific/KuneWaveServiceDefault.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/wave/server/kspecific/KuneWaveServiceDefault.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -195,22 +195,22 @@
boolean added = false;
final Wavelet wavelet = fetchWave(waveName, author);
final Participants currentParticipants = wavelet.getParticipants();
- // Removing duplicates
+ final String whoAdd = wavelet.getParticipants().contains(participantUtils.of(userWhoAdds)) ? userWhoAdds
+ : author;
+ final OperationQueue opQueue = new OperationQueue();
for (final String participant : toSet(newLocalParticipants)) {
final String newPartWithDomain = participantUtils.of(participant).toString();
+ // Removing duplicates
if (!currentParticipants.contains(newPartWithDomain)) {
// FIXME This is very costly. Seems like only one participant per
// opQueue is added (try to
// fix this in WAVE)
- final OperationQueue opQueue = new OperationQueue();
LOG.debug("Adding as participant: " + newPartWithDomain);
opQueue.addParticipantToWavelet(wavelet, newPartWithDomain);
- final String whoAdd = wavelet.getParticipants().contains(participantUtils.of(userWhoAdds)) ? userWhoAdds
- : author;
- doOperation(whoAdd, opQueue, "add participant");
added = true;
}
}
+ doOperation(whoAdd, opQueue, "add participant");
return added;
}
@@ -340,17 +340,17 @@
final Participants currentParticipants = wavelet.getParticipants();
final Set<String> set = toSet(participantsToDel);
LOG.debug("Removing participants: " + set.toString());
+ final OperationQueue opQueue = new OperationQueue();
for (final String participant : set) {
// FIXME Seems like only one participant per opQueue is added (try to fix
// this in WAVE)
final String partWithDomain = participantUtils.of(participant).toString();
if (currentParticipants.contains(partWithDomain)) {
- final OperationQueue opQueue = new OperationQueue();
LOG.debug("Removing as participant: " + partWithDomain);
opQueue.removeParticipantFromWavelet(wavelet, partWithDomain);
- doOperation(whoDel, opQueue, "del participant");
}
}
+ doOperation(whoDel, opQueue, "del participant");
}
private void doOperation(final String author, final OperationQueue opQueue, final String logComment) {
Modified: trunk/src/main/java/cc/kune/wiki/client/WikiClientTool.java
===================================================================
--- trunk/src/main/java/cc/kune/wiki/client/WikiClientTool.java 2012-02-28 18:56:19 UTC (rev 1719)
+++ trunk/src/main/java/cc/kune/wiki/client/WikiClientTool.java 2012-02-29 01:04:27 UTC (rev 1720)
@@ -52,7 +52,7 @@
registerAuthorableTypes(TYPE_WIKIPAGE, TYPE_UPLOADEDFILE);
registerDragableTypes(TYPE_WIKIPAGE, TYPE_FOLDER, TYPE_UPLOADEDFILE);
- registerDropableTypes(TYPE_ROOT, TYPE_FOLDER);
+ registerDropableTypes(TYPE_ROOT, TYPE_FOLDER, TYPE_WIKIPAGE);
registerRateableTypes(TYPE_UPLOADEDFILE, TYPE_WIKIPAGE);
registerRenamableTypes(TYPE_FOLDER, TYPE_UPLOADEDFILE, TYPE_WIKIPAGE);
registerTageableTypes(TYPE_UPLOADEDFILE, TYPE_WIKIPAGE);
1
0
28 Feb '12
Author: vjrj_
Date: 2012-02-28 19:56:19 +0100 (Tue, 28 Feb 2012)
New Revision: 1719
Added:
trunk/src/main/java/cc/kune/core/client/dnd/AbstractDropController.java
trunk/src/main/java/cc/kune/core/client/dnd/FolderContainerDropController.java
trunk/src/main/java/cc/kune/core/client/dnd/FolderContentDropController.java
trunk/src/main/java/cc/kune/gspace/client/viewers/ContentDropController.java
Removed:
trunk/src/main/java/cc/kune/core/client/dnd/FolderViewerDropController.java
Modified:
trunk/src/main/java/cc/kune/barters/client/BartersClientTool.java
trunk/src/main/java/cc/kune/blogs/client/BlogsClientTool.java
trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/DropTarget.java
trunk/src/main/java/cc/kune/core/client/rpcservices/ContentService.java
trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceAsync.java
trunk/src/main/java/cc/kune/core/client/sn/AbstractSNPanel.java
trunk/src/main/java/cc/kune/core/client/sn/GroupSNPanel.java
trunk/src/main/java/cc/kune/core/client/sn/UserSNPanel.java
trunk/src/main/java/cc/kune/core/client/ui/BasicDragableThumb.java
trunk/src/main/java/cc/kune/core/server/content/ContentManager.java
trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java
trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java
trunk/src/main/java/cc/kune/docs/client/DocsClientTool.java
trunk/src/main/java/cc/kune/events/client/viewer/CalendarViewerPanel.java
trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java
trunk/src/main/java/cc/kune/gspace/client/actions/ParticipateInContentBtn.java
trunk/src/main/java/cc/kune/gspace/client/tool/selector/ToolSelectorPanel.java
trunk/src/main/java/cc/kune/gspace/client/viewers/AbstractFolderViewerPanel.java
trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.java
trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerAsFlowPanel.java
trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerAsTablePanel.java
trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerUtils.java
trunk/src/main/java/cc/kune/gspace/client/viewers/PathToolbarUtils.java
trunk/src/main/java/cc/kune/gspace/client/viewers/items/FolderItemDescriptor.java
trunk/src/main/java/cc/kune/tasks/client/TasksClientTool.java
trunk/src/main/java/cc/kune/wave/server/kspecific/KuneAgent.java
trunk/src/main/java/cc/kune/wave/server/kspecific/KuneWaveService.java
trunk/src/main/java/cc/kune/wave/server/kspecific/KuneWaveServiceDefault.java
trunk/src/main/java/cc/kune/wiki/client/WikiClientTool.java
Log:
NEW - # 198: Add Drag and Drop from users to contents and vice versa
http://kune.ourproject.org/issues/ticket/198
Modified: trunk/src/main/java/cc/kune/barters/client/BartersClientTool.java
===================================================================
--- trunk/src/main/java/cc/kune/barters/client/BartersClientTool.java 2012-02-28 02:09:40 UTC (rev 1718)
+++ trunk/src/main/java/cc/kune/barters/client/BartersClientTool.java 2012-02-28 18:56:19 UTC (rev 1719)
@@ -67,7 +67,7 @@
private void registerIcons() {
registerTutorial(TYPE_ROOT);
- registerTutorial(TYPE_FOLDER);
+ // registerTutorial(TYPE_FOLDER);
registerContentTypeIcon(TYPE_FOLDER, navResources.folder());
registerContentTypeIcon(TYPE_ROOT, icons.barters());
registerContentTypeIcon(TYPE_BARTER, navResources.barter());
Modified: trunk/src/main/java/cc/kune/blogs/client/BlogsClientTool.java
===================================================================
--- trunk/src/main/java/cc/kune/blogs/client/BlogsClientTool.java 2012-02-28 02:09:40 UTC (rev 1718)
+++ trunk/src/main/java/cc/kune/blogs/client/BlogsClientTool.java 2012-02-28 18:56:19 UTC (rev 1719)
@@ -68,7 +68,7 @@
private void registerIcons() {
registerTutorial(TYPE_ROOT);
- registerTutorial(TYPE_BLOG);
+ // registerTutorial(TYPE_BLOG);
registerContentTypeIcon(TYPE_ROOT, icons.blogs());
registerContentTypeIcon(TYPE_BLOG, navResources.blog());
registerContentTypeIcon(TYPE_POST, navResources.post());
Modified: trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/DropTarget.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/DropTarget.java 2012-02-28 02:09:40 UTC (rev 1718)
+++ trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/DropTarget.java 2012-02-28 18:56:19 UTC (rev 1719)
@@ -21,8 +21,17 @@
import com.google.gwt.user.client.ui.Widget;
+/**
+ * The Interface DropTarget is used to allow drop to this widget
+ */
public interface DropTarget {
+ /**
+ * Initialize the drop target widget
+ *
+ * @param dropTarget
+ * the drop target
+ */
void init(Widget dropTarget);
}
Added: trunk/src/main/java/cc/kune/core/client/dnd/AbstractDropController.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/dnd/AbstractDropController.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/dnd/AbstractDropController.java 2012-02-28 18:56:19 UTC (rev 1719)
@@ -0,0 +1,218 @@
+/*
+ *
+ * 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.dnd;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import cc.kune.common.client.actions.ui.descrip.DropTarget;
+
+import com.allen_sauer.gwt.dnd.client.DragContext;
+import com.allen_sauer.gwt.dnd.client.VetoDragException;
+import com.allen_sauer.gwt.dnd.client.drop.SimpleDropController;
+import com.google.gwt.event.logical.shared.AttachEvent;
+import com.google.gwt.event.logical.shared.AttachEvent.Handler;
+import com.google.gwt.user.client.ui.Widget;
+
+/**
+ * The Class AbstractDropController.
+ */
+public abstract class AbstractDropController implements DropTarget {
+
+ /** The accepted types (which one we allow to drop here). */
+ private final List<Class<?>> acceptedTypes;
+
+ private final KuneDragController dragController;
+
+ private SimpleDropController dropController;
+
+ /** The target. */
+ private Object target;
+
+ /**
+ * Instantiates a new abstract drop controller.
+ *
+ * @param dragController
+ * the drag controller
+ */
+ public AbstractDropController(final KuneDragController dragController) {
+ this.dragController = dragController;
+ acceptedTypes = new ArrayList<Class<?>>();
+ }
+
+ /**
+ * Gets the target.
+ *
+ * @return the target
+ */
+ public Object getTarget() {
+ return target;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * cc.kune.common.client.actions.ui.descrip.DropTarget#init(com.google.gwt
+ * .user.client.ui.Widget)
+ */
+ @Override
+ public void init(final Widget dropTarget) {
+ dropController = new SimpleDropController(dropTarget) {
+
+ @Override
+ public void onDrop(final DragContext context) {
+ boolean droppedSomething = false;
+ super.onDrop(context);
+ for (final Widget widget : context.selectedWidgets) {
+ if (acceptedTypes.contains(widget.getClass())) {
+ onDropAllowed(widget, this);
+ droppedSomething = true;
+ }
+ }
+ if (droppedSomething) {
+ onGroupDropFinished(this);
+ }
+ }
+
+ @Override
+ public void onEnter(final DragContext context) {
+ super.onEnter(context);
+ for (final Widget widget : context.selectedWidgets) {
+ if (acceptedTypes.contains(widget.getClass())) {
+ onEnterAllowed(this);
+ }
+ }
+ }
+
+ @Override
+ public void onLeave(final DragContext context) {
+ super.onLeave(context);
+ for (final Widget widget : context.selectedWidgets) {
+ if (acceptedTypes.contains(widget.getClass())) {
+ onLeaveAllowed(this);
+ }
+ }
+ }
+
+ @Override
+ public void onPreviewDrop(final DragContext context) throws VetoDragException {
+ for (final Widget widget : context.selectedWidgets) {
+ if (acceptedTypes.contains(widget.getClass())) {
+ onPreviewAllowed(this);
+ } else {
+ throw new VetoDragException();
+ }
+ }
+ super.onPreviewDrop(context);
+ }
+ };
+
+ dropTarget.addStyleName("k-drop-allowed");
+
+ if (dropTarget.isAttached()) {
+ dragController.registerDropController(dropController);
+ }
+
+ dropTarget.addAttachHandler(new Handler() {
+ @Override
+ public void onAttachOrDetach(final AttachEvent event) {
+ if (!event.isAttached()) {
+ dragController.unregisterDropController(dropController);
+ } else {
+ dragController.registerDropController(dropController);
+ }
+ }
+ });
+ }
+
+ /**
+ * On drop allowed.
+ *
+ * @param widget
+ * the widget
+ * @param dropController
+ * the drop controller
+ */
+ public abstract void onDropAllowed(Widget widget, final SimpleDropController dropController);
+
+ /**
+ * On enter allowed.
+ *
+ * @param dropController
+ * the drop controller
+ */
+ public void onEnterAllowed(final SimpleDropController dropController) {
+ dropController.getDropTarget().addStyleName("k-drop-allowed-hover");
+ }
+
+ /**
+ * On group drop finished, is fired when all the widgets are dropped (at the
+ * end)
+ *
+ * @param dropController
+ * the drop controller
+ */
+ public void onGroupDropFinished(final SimpleDropController dropController) {
+
+ }
+
+ /**
+ * On leave allowed.
+ *
+ * @param dropController
+ * the drop controller
+ */
+ public void onLeaveAllowed(final SimpleDropController dropController) {
+ dropController.getDropTarget().removeStyleName("k-drop-allowed-hover");
+ }
+
+ /**
+ * On preview allowed.
+ *
+ * @param dropController
+ * the drop controller
+ */
+ public void onPreviewAllowed(final SimpleDropController dropController) {
+ dropController.getDropTarget().removeStyleName("k-drop-allowed-hover");
+ }
+
+ /**
+ * Register type to accept this kind of widgets to be dropped here
+ *
+ * @param classType
+ * the class type
+ */
+ public void registerType(final Class<?> classType) {
+ acceptedTypes.add(classType);
+ }
+
+ /**
+ * Sets the target (for instance a StateToken id, to perform operations),
+ * because with the widget we don't have all the info
+ *
+ * @param target
+ * the new target
+ */
+ public void setTarget(final Object target) {
+ this.target = target;
+ }
+
+}
Copied: trunk/src/main/java/cc/kune/core/client/dnd/FolderContainerDropController.java (from rev 1717, trunk/src/main/java/cc/kune/core/client/dnd/FolderViewerDropController.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/dnd/FolderContainerDropController.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/dnd/FolderContainerDropController.java 2012-02-28 18:56:19 UTC (rev 1719)
@@ -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.dnd;
+
+import cc.kune.common.client.notify.NotifyUser;
+import cc.kune.common.shared.i18n.I18nTranslationService;
+import cc.kune.common.shared.utils.TextUtils;
+import cc.kune.core.client.errors.ErrorHandler;
+import cc.kune.core.client.rpcservices.ContentServiceAsync;
+import cc.kune.core.client.state.ContentCache;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.StateManager;
+import cc.kune.core.shared.domain.utils.StateToken;
+import cc.kune.core.shared.dto.StateContainerDTO;
+import cc.kune.gspace.client.viewers.items.FolderItemWidget;
+
+import com.allen_sauer.gwt.dnd.client.drop.SimpleDropController;
+import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.inject.Inject;
+
+public class FolderContainerDropController extends AbstractDropController {
+
+ private final ContentCache contentCache;
+ private final ContentServiceAsync contentService;
+ private final ErrorHandler erroHandler;
+ private final I18nTranslationService i18n;
+ private final Session session;
+ private final StateManager stateManager;
+
+ @Inject
+ public FolderContainerDropController(final KuneDragController dragController,
+ final ContentServiceAsync contentService, final Session session, final StateManager stateManager,
+ final ErrorHandler erroHandler, final I18nTranslationService i18n, final ContentCache contentCache) {
+ super(dragController);
+ registerType(FolderItemWidget.class);
+ this.contentService = contentService;
+ this.session = session;
+ this.stateManager = stateManager;
+ this.erroHandler = erroHandler;
+ this.i18n = i18n;
+ this.contentCache = contentCache;
+ }
+
+ @Override
+ public void onDropAllowed(final Widget widget, final SimpleDropController dropController) {
+ dropController.getDropTarget().removeStyleName("k-drop-allowed-hover");
+ if (widget instanceof FolderItemWidget) {
+ NotifyUser.showProgress(i18n.t("Moving"));
+ if (getTarget() != null) {
+ final StateToken destToken = (StateToken) getTarget();
+ widget.removeFromParent();
+ final StateToken tokenToMove = ((FolderItemWidget) widget).getToken();
+ contentService.moveContent(session.getUserHash(), tokenToMove, destToken,
+ new AsyncCallback<StateContainerDTO>() {
+ @Override
+ public void onFailure(final Throwable caught) {
+ erroHandler.process(caught);
+ stateManager.refreshCurrentState();
+ NotifyUser.hideProgress();
+ }
+
+ @Override
+ public void onSuccess(final StateContainerDTO result) {
+ NotifyUser.hideProgress();
+ contentCache.remove(tokenToMove);
+ contentCache.remove(destToken);
+ }
+ });
+ } else {
+ NotifyUser.info(i18n.t(TextUtils.IN_DEVELOPMENT));
+ NotifyUser.hideProgress();
+ }
+ }
+ }
+
+}
Added: trunk/src/main/java/cc/kune/core/client/dnd/FolderContentDropController.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/dnd/FolderContentDropController.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/dnd/FolderContentDropController.java 2012-02-28 18:56:19 UTC (rev 1719)
@@ -0,0 +1,70 @@
+/*
+ *
+ * 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.dnd;
+
+import cc.kune.common.client.notify.NotifyUser;
+import cc.kune.common.shared.i18n.I18nTranslationService;
+import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
+import cc.kune.core.client.rpcservices.ContentServiceAsync;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.ui.BasicDragableThumb;
+import cc.kune.core.shared.domain.utils.StateToken;
+
+import com.allen_sauer.gwt.dnd.client.drop.SimpleDropController;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.inject.Inject;
+
+public class FolderContentDropController extends AbstractDropController {
+
+ private final ContentServiceAsync contentService;
+ private final I18nTranslationService i18n;
+ private final Session session;
+
+ @Inject
+ public FolderContentDropController(final KuneDragController dragController,
+ final ContentServiceAsync contentService, final Session session, final I18nTranslationService i18n) {
+ super(dragController);
+ this.i18n = i18n;
+ registerType(BasicDragableThumb.class);
+ this.contentService = contentService;
+ this.session = session;
+ }
+
+ @Override
+ public void onDropAllowed(final Widget widget, final SimpleDropController dropController) {
+ dropController.getDropTarget().removeStyleName("k-drop-allowed-hover");
+ if (widget instanceof BasicDragableThumb) {
+ final BasicDragableThumb thumb = (BasicDragableThumb) widget;
+ final String userName = thumb.getToken().getGroup();
+ contentService.addParticipant(session.getUserHash(), (StateToken) getTarget(), userName,
+ new AsyncCallbackSimple<Boolean>() {
+ @Override
+ public void onSuccess(final Boolean result) {
+ if (result) {
+ NotifyUser.info(i18n.t("User '[%s]' added as participant", userName));
+ } else {
+ NotifyUser.info(i18n.t("This user is already partipanting"));
+ }
+ }
+ });
+ }
+ }
+
+}
Deleted: trunk/src/main/java/cc/kune/core/client/dnd/FolderViewerDropController.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/dnd/FolderViewerDropController.java 2012-02-28 02:09:40 UTC (rev 1718)
+++ trunk/src/main/java/cc/kune/core/client/dnd/FolderViewerDropController.java 2012-02-28 18:56:19 UTC (rev 1719)
@@ -1,161 +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.dnd;
-
-import cc.kune.common.client.actions.ui.descrip.DropTarget;
-import cc.kune.common.client.notify.NotifyUser;
-import cc.kune.common.shared.i18n.I18nTranslationService;
-import cc.kune.common.shared.utils.TextUtils;
-import cc.kune.core.client.errors.ErrorHandler;
-import cc.kune.core.client.rpcservices.ContentServiceAsync;
-import cc.kune.core.client.state.ContentCache;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.client.state.StateManager;
-import cc.kune.core.shared.domain.utils.StateToken;
-import cc.kune.core.shared.dto.StateContainerDTO;
-import cc.kune.gspace.client.viewers.items.FolderItemWidget;
-
-import com.allen_sauer.gwt.dnd.client.DragContext;
-import com.allen_sauer.gwt.dnd.client.VetoDragException;
-import com.allen_sauer.gwt.dnd.client.drop.SimpleDropController;
-import com.google.gwt.event.logical.shared.AttachEvent;
-import com.google.gwt.event.logical.shared.AttachEvent.Handler;
-import com.google.gwt.user.client.rpc.AsyncCallback;
-import com.google.gwt.user.client.ui.Widget;
-import com.google.inject.Inject;
-
-public class FolderViewerDropController implements DropTarget {
-
- private final ContentCache contentCache;
- private final ContentServiceAsync contentService;
- private final KuneDragController dragController;
- private SimpleDropController dropController;
- private final ErrorHandler erroHandler;
- private final I18nTranslationService i18n;
- private final Session session;
- private final StateManager stateManager;
- private Object target;
-
- @Inject
- public FolderViewerDropController(final KuneDragController dragController,
- final ContentServiceAsync contentService, final Session session, final StateManager stateManager,
- final ErrorHandler erroHandler, final I18nTranslationService i18n, final ContentCache contentCache) {
- this.dragController = dragController;
- this.contentService = contentService;
- this.session = session;
- this.stateManager = stateManager;
- this.erroHandler = erroHandler;
- this.i18n = i18n;
- this.contentCache = contentCache;
- }
-
- @Override
- public void init(final Widget dropTarget) {
- dropController = new SimpleDropController(dropTarget) {
-
- @Override
- public void onDrop(final DragContext context) {
- super.onDrop(context);
- for (final Widget widget : context.selectedWidgets) {
- if (widget instanceof FolderItemWidget) {
- getDropTarget().removeStyleName("k-drop-allowed-hover");
- NotifyUser.showProgress(i18n.t("Moving"));
- if (target != null) {
- final StateToken destToken = (StateToken) target;
- widget.removeFromParent();
- final StateToken tokenToMove = ((FolderItemWidget) widget).getToken();
- contentService.moveContent(session.getUserHash(), tokenToMove, destToken,
- new AsyncCallback<StateContainerDTO>() {
- @Override
- public void onFailure(final Throwable caught) {
- erroHandler.process(caught);
- stateManager.refreshCurrentState();
- NotifyUser.hideProgress();
- }
-
- @Override
- public void onSuccess(final StateContainerDTO result) {
- NotifyUser.hideProgress();
- contentCache.remove(tokenToMove);
- contentCache.remove(destToken);
- }
- });
- } else {
- NotifyUser.info(i18n.t(TextUtils.IN_DEVELOPMENT));
- NotifyUser.hideProgress();
- }
- }
- }
- }
-
- @Override
- public void onEnter(final DragContext context) {
- super.onEnter(context);
- for (final Widget widget : context.selectedWidgets) {
- if (widget instanceof FolderItemWidget) {
- getDropTarget().addStyleName("k-drop-allowed-hover");
- }
- }
- }
-
- @Override
- public void onLeave(final DragContext context) {
- super.onLeave(context);
- for (final Widget widget : context.selectedWidgets) {
- if (widget instanceof FolderItemWidget) {
- getDropTarget().removeStyleName("k-drop-allowed-hover");
- }
- }
- }
-
- @Override
- public void onPreviewDrop(final DragContext context) throws VetoDragException {
- for (final Widget widget : context.selectedWidgets) {
- if (widget instanceof FolderItemWidget) {
- getDropTarget().removeStyleName("k-drop-allowed-hover");
- } else {
- throw new VetoDragException();
- }
- }
- super.onPreviewDrop(context);
- }
- };
-
- dropTarget.addStyleName("k-drop-allowed");
- if (dropTarget.isAttached()) {
- dragController.registerDropController(dropController);
- }
- dropTarget.addAttachHandler(new Handler() {
- @Override
- public void onAttachOrDetach(final AttachEvent event) {
- if (!event.isAttached()) {
- dragController.unregisterDropController(dropController);
- } else {
- dragController.registerDropController(dropController);
- }
- }
- });
- }
-
- public void setTarget(final Object target) {
- this.target = target;
- }
-
-}
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/ContentService.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/ContentService.java 2012-02-28 02:09:40 UTC (rev 1718)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/ContentService.java 2012-02-28 18:56:19 UTC (rev 1719)
@@ -57,7 +57,7 @@
String gadgetName, String typeId, String tile, String body, Map<String, String> gadgetState)
throws DefaultException;;
- void addParticipant(String userHash, StateToken token, String participant) throws DefaultException;
+ Boolean addParticipant(String userHash, StateToken token, String participant) throws DefaultException;
StateContainerDTO addRoom(String user, StateToken parentToken, String name) throws DefaultException;
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceAsync.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceAsync.java 2012-02-28 02:09:40 UTC (rev 1718)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceAsync.java 2012-02-28 18:56:19 UTC (rev 1719)
@@ -22,7 +22,6 @@
import java.util.Date;
import java.util.Map;
-import cc.kune.core.client.errors.DefaultException;
import cc.kune.core.shared.domain.ContentStatus;
import cc.kune.core.shared.domain.RateResult;
import cc.kune.core.shared.domain.TagCloudResult;
@@ -56,8 +55,8 @@
String typeId, String title, String body, Map<String, String> gadgetState,
AsyncCallback<StateContentDTO> callback);
- void addParticipant(String userHash, StateToken token, String authorShortName,
- AsyncCallback<Void> asyncCallback) throws DefaultException;
+ void addParticipant(String userHash, StateToken token, String participant,
+ AsyncCallback<Boolean> asyncCallback);
void addRoom(String user, StateToken parentToken, String name,
AsyncCallback<StateContainerDTO> callback);
Modified: trunk/src/main/java/cc/kune/core/client/sn/AbstractSNPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/AbstractSNPanel.java 2012-02-28 02:09:40 UTC (rev 1718)
+++ trunk/src/main/java/cc/kune/core/client/sn/AbstractSNPanel.java 2012-02-28 18:56:19 UTC (rev 1719)
@@ -33,6 +33,7 @@
import cc.kune.core.client.dnd.KuneDragController;
import cc.kune.core.client.dnd.NotImplementedDropManager;
import cc.kune.core.client.ui.BasicDragableThumb;
+import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.gspace.client.armor.GSpaceArmor;
import com.google.gwt.core.client.GWT;
@@ -134,9 +135,9 @@
}
public BasicDragableThumb createThumb(final String text, final String avatarUrl, final String tooltip,
- final String tooltipTitle, final GuiActionDescCollection menuitems) {
+ final String tooltipTitle, final GuiActionDescCollection menuitems, final StateToken token) {
final BasicDragableThumb thumb = new BasicDragableThumb(avatarUrl, AVATARSIZE, text,
- AVATARLABELMAXSIZE, false);
+ AVATARLABELMAXSIZE, false, token);
final ClickHandler clickHand = new ClickHandler() {
MenuDescriptor menu;
Modified: trunk/src/main/java/cc/kune/core/client/sn/GroupSNPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/GroupSNPanel.java 2012-02-28 02:09:40 UTC (rev 1718)
+++ trunk/src/main/java/cc/kune/core/client/sn/GroupSNPanel.java 2012-02-28 18:56:19 UTC (rev 1719)
@@ -66,7 +66,7 @@
public void addAdmin(final GroupDTO group, final String avatarUrl, final String tooltip,
final String tooltipTitle, final GuiActionDescCollection menu) {
final BasicDragableThumb thumb = createThumb(group.getCompoundName(), avatarUrl, tooltip,
- tooltipTitle, menu);
+ tooltipTitle, menu, group.getStateToken());
firstCategoryFlow.add(group.isPersonal() ? (Widget) decorateAvatarWithXmppStatus(
group.getShortName(), thumb) : thumb);
}
@@ -75,7 +75,7 @@
public void addCollab(final GroupDTO group, final String avatarUrl, final String tooltip,
final String tooltipTitle, final GuiActionDescCollection menu) {
final BasicDragableThumb thumb = createThumb(group.getCompoundName(), avatarUrl, tooltip,
- tooltipTitle, menu);
+ tooltipTitle, menu, group.getStateToken());
sndCategoryFlow.add(group.isPersonal() ? (Widget) decorateAvatarWithXmppStatus(group.getShortName(),
thumb) : thumb);
}
@@ -84,7 +84,7 @@
public void addPending(final GroupDTO group, final String avatarUrl, final String tooltip,
final String tooltipTitle, final GuiActionDescCollection menu) {
final BasicDragableThumb thumb = createThumb(group.getCompoundName(), avatarUrl, tooltip,
- tooltipTitle, menu);
+ tooltipTitle, menu, group.getStateToken());
trdCategoryFlow.add(thumb);
}
Modified: trunk/src/main/java/cc/kune/core/client/sn/UserSNPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/UserSNPanel.java 2012-02-28 02:09:40 UTC (rev 1718)
+++ trunk/src/main/java/cc/kune/core/client/sn/UserSNPanel.java 2012-02-28 18:56:19 UTC (rev 1719)
@@ -77,14 +77,15 @@
public void addBuddie(final UserSimpleDTO user, final String avatarUrl, final String tooltip,
final String tooltipTitle, final GuiActionDescCollection menu) {
final BasicDragableThumb thumb = createThumb(user.getShortName(), avatarUrl, tooltip, tooltipTitle,
- menu);
+ menu, user.getStateToken());
firstCategoryFlow.add((Widget) decorateAvatarWithXmppStatus(user.getShortName(), thumb));
}
@Override
public void addParticipation(final GroupDTO group, final String avatarUrl, final String tooltip,
final String tooltipTitle, final GuiActionDescCollection menu) {
- sndCategoryFlow.add(createThumb(group.getCompoundName(), avatarUrl, tooltip, tooltipTitle, menu));
+ sndCategoryFlow.add(createThumb(group.getCompoundName(), avatarUrl, tooltip, tooltipTitle, menu,
+ group.getStateToken()));
}
@Override
Modified: trunk/src/main/java/cc/kune/core/client/ui/BasicDragableThumb.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/ui/BasicDragableThumb.java 2012-02-28 02:09:40 UTC (rev 1718)
+++ trunk/src/main/java/cc/kune/core/client/ui/BasicDragableThumb.java 2012-02-28 18:56:19 UTC (rev 1719)
@@ -1,15 +1,19 @@
package cc.kune.core.client.ui;
import cc.kune.common.client.ui.BasicThumb;
+import cc.kune.core.shared.domain.utils.StateToken;
import com.allen_sauer.gwt.dnd.client.HasDragHandle;
import com.google.gwt.user.client.ui.Widget;
public class BasicDragableThumb extends BasicThumb implements HasDragHandle {
+ private final StateToken token;
+
public BasicDragableThumb(final Object imageRef, final int imgSize, final String text,
- final int textMaxLenght, final boolean crop) {
+ final int textMaxLenght, final boolean crop, final StateToken token) {
super(imageRef, imgSize, text, textMaxLenght, crop);
+ this.token = token;
}
@Override
@@ -17,4 +21,8 @@
return getImage();
}
+ public StateToken getToken() {
+ return token;
+ }
+
}
Modified: trunk/src/main/java/cc/kune/core/server/content/ContentManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/content/ContentManager.java 2012-02-28 02:09:40 UTC (rev 1718)
+++ trunk/src/main/java/cc/kune/core/server/content/ContentManager.java 2012-02-28 18:56:19 UTC (rev 1719)
@@ -49,7 +49,7 @@
void addGadgetToContent(User user, Content content, String gadgetName);
- void addParticipant(User user, Long contentId, String participant);
+ boolean addParticipant(User user, Long contentId, String participant);
Content createGadget(User user, Container container, String gadgetname, String typeIdChild,
String title, String body, Map<String, String> gadgetProperties);
Modified: trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java 2012-02-28 02:09:40 UTC (rev 1718)
+++ trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java 2012-02-28 18:56:19 UTC (rev 1719)
@@ -130,12 +130,13 @@
}
@Override
- public void addParticipant(final User user, final Long contentId, final String participant) {
+ public boolean addParticipant(final User user, final Long contentId, final String participant) {
final Content content = finder.getContent(contentId);
if (content.isWave()) {
- kuneWaveManager.addParticipants(KuneWaveServerUtils.getWaveRef(content),
+ return kuneWaveManager.addParticipants(KuneWaveServerUtils.getWaveRef(content),
getContentAuthor(content), user.getShortName(), participant);
}
+ return false;
}
protected Content createContent(final String title, final String body, final User author,
Modified: trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java 2012-02-28 02:09:40 UTC (rev 1718)
+++ trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java 2012-02-28 18:56:19 UTC (rev 1719)
@@ -185,11 +185,11 @@
@Authenticated
@Authorizated(accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
@Transactional
- public void addParticipant(final String userHash, final StateToken token, final String participant)
+ public Boolean addParticipant(final String userHash, final StateToken token, final String participant)
throws DefaultException {
final Long contentId = ContentUtils.parseId(token.getDocument());
final User user = getCurrentUser();
- contentManager.addParticipant(user, contentId, participant);
+ return contentManager.addParticipant(user, contentId, participant);
}
@Override
Modified: trunk/src/main/java/cc/kune/docs/client/DocsClientTool.java
===================================================================
--- trunk/src/main/java/cc/kune/docs/client/DocsClientTool.java 2012-02-28 02:09:40 UTC (rev 1718)
+++ trunk/src/main/java/cc/kune/docs/client/DocsClientTool.java 2012-02-28 18:56:19 UTC (rev 1719)
@@ -53,7 +53,7 @@
// registerAclEditableTypes(TYPE_DOCUMENT, TYPE_UPLOADEDFILE);
registerAuthorableTypes(TYPE_DOCUMENT, TYPE_UPLOADEDFILE);
registerDragableTypes(TYPE_DOCUMENT, TYPE_FOLDER, TYPE_UPLOADEDFILE);
- registerDropableTypes(TYPE_ROOT, TYPE_FOLDER);
+ registerDropableTypes(TYPE_ROOT, TYPE_FOLDER, TYPE_DOCUMENT);
registerPublishModerableTypes(TYPE_DOCUMENT, TYPE_UPLOADEDFILE);
registerRateableTypes(TYPE_DOCUMENT, TYPE_UPLOADEDFILE);
registerRenamableTypes(TYPE_DOCUMENT, TYPE_FOLDER, TYPE_UPLOADEDFILE);
@@ -69,7 +69,7 @@
private void registerIcons() {
registerTutorial(TYPE_ROOT);
- registerTutorial(TYPE_FOLDER);
+ // registerTutorial(TYPE_FOLDER);
registerContentTypeIcon(TYPE_FOLDER, navResources.folder());
registerContentTypeIcon(TYPE_ROOT, icons.docs());
registerContentTypeIcon(TYPE_DOCUMENT, navResources.page());
Modified: trunk/src/main/java/cc/kune/events/client/viewer/CalendarViewerPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/events/client/viewer/CalendarViewerPanel.java 2012-02-28 02:09:40 UTC (rev 1718)
+++ trunk/src/main/java/cc/kune/events/client/viewer/CalendarViewerPanel.java 2012-02-28 18:56:19 UTC (rev 1719)
@@ -6,7 +6,8 @@
import cc.kune.common.client.actions.ui.GuiProvider;
import cc.kune.common.client.ui.UiUtils;
import cc.kune.common.shared.i18n.I18nTranslationService;
-import cc.kune.core.client.dnd.FolderViewerDropController;
+import cc.kune.core.client.dnd.FolderContainerDropController;
+import cc.kune.core.client.dnd.FolderContentDropController;
import cc.kune.core.client.dnd.KuneDragController;
import cc.kune.core.client.registry.ContentCapabilitiesRegistry;
import cc.kune.core.client.resources.CoreResources;
@@ -56,9 +57,11 @@
public CalendarViewerPanel(final GSpaceArmor gsArmor, final EventBus eventBus,
final I18nTranslationService i18n, final GuiProvider guiProvider, final CoreResources res,
final ContentCapabilitiesRegistry capabilitiesRegistry, final KuneDragController dragController,
- final Provider<FolderViewerDropController> dropControllerProv, final TutorialViewer tutorialViewer) {
- super(gsArmor, eventBus, i18n, capabilitiesRegistry, dragController, dropControllerProv,
- tutorialViewer);
+ final Provider<FolderContentDropController> contentDropControllerProv,
+ final Provider<FolderContainerDropController> containerDropControllerProv,
+ final TutorialViewer tutorialViewer) {
+ super(gsArmor, eventBus, i18n, capabilitiesRegistry, dragController, contentDropControllerProv,
+ containerDropControllerProv, tutorialViewer);
final CalendarSettings settings = new CalendarSettings();
settings.setIntervalsPerHour(4);
settings.setPixelsPerInterval(10);
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java 2012-02-28 02:09:40 UTC (rev 1718)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java 2012-02-28 18:56:19 UTC (rev 1719)
@@ -20,6 +20,8 @@
package cc.kune.gspace.client;
import cc.kune.core.client.ExtendedGinModule;
+import cc.kune.core.client.dnd.FolderContainerDropController;
+import cc.kune.core.client.dnd.FolderContentDropController;
import cc.kune.core.client.sitebar.search.SitebarSearchPanel;
import cc.kune.core.client.sitebar.search.SitebarSearchPresenter;
import cc.kune.core.client.sn.actions.WriteToBuddyHeaderButton;
@@ -112,6 +114,7 @@
import cc.kune.gspace.client.tool.selector.ToolSelectorPresenter;
import cc.kune.gspace.client.ui.footer.license.EntityLicensePanel;
import cc.kune.gspace.client.ui.footer.license.EntityLicensePresenter;
+import cc.kune.gspace.client.viewers.ContentDropController;
import cc.kune.gspace.client.viewers.ContentViewerPanel;
import cc.kune.gspace.client.viewers.ContentViewerPresenter;
import cc.kune.gspace.client.viewers.FolderViewerAsTablePanel;
@@ -134,6 +137,9 @@
protected void configure() {
s(PathToolbarUtils.class);
s(FolderViewerUtils.class);
+ s(ContentDropController.class);
+ s(FolderContainerDropController.class);
+ s(FolderContentDropController.class);
bindPresenter(EntityLicensePresenter.class, EntityLicensePresenter.EntityLicenseView.class,
EntityLicensePanel.class, EntityLicensePresenter.EntityLicenseProxy.class);
bindPresenter(TagsSummaryPresenter.class, TagsSummaryPresenter.TagsSummaryView.class,
Modified: trunk/src/main/java/cc/kune/gspace/client/actions/ParticipateInContentBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/ParticipateInContentBtn.java 2012-02-28 02:09:40 UTC (rev 1718)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/ParticipateInContentBtn.java 2012-02-28 18:56:19 UTC (rev 1719)
@@ -58,9 +58,9 @@
public void actionPerformed(final ActionEvent event) {
NotifyUser.showProgress();
contentService.get().addParticipant(session.getUserHash(), session.getCurrentStateToken(),
- session.getCurrentUser().getShortName(), new AsyncCallbackSimple<Void>() {
+ session.getCurrentUser().getShortName(), new AsyncCallbackSimple<Boolean>() {
@Override
- public void onSuccess(final Void arg) {
+ public void onSuccess(final Boolean arg) {
NotifyUser.hideProgress();
stateManager.refreshCurrentStateWithoutCache();
// issue #73
Modified: trunk/src/main/java/cc/kune/gspace/client/tool/selector/ToolSelectorPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/tool/selector/ToolSelectorPanel.java 2012-02-28 02:09:40 UTC (rev 1718)
+++ trunk/src/main/java/cc/kune/gspace/client/tool/selector/ToolSelectorPanel.java 2012-02-28 18:56:19 UTC (rev 1719)
@@ -19,7 +19,7 @@
*/
package cc.kune.gspace.client.tool.selector;
-import cc.kune.core.client.dnd.FolderViewerDropController;
+import cc.kune.core.client.dnd.FolderContainerDropController;
import cc.kune.gspace.client.armor.GSpaceArmor;
import cc.kune.gspace.client.tool.selector.ToolSelectorItemPresenter.ToolSelectorItemView;
import cc.kune.gspace.client.tool.selector.ToolSelectorPresenter.ToolSelectorView;
@@ -40,14 +40,14 @@
private static ToolSelectorPanelUiBinder uiBinder = GWT.create(ToolSelectorPanelUiBinder.class);
- private final Provider<FolderViewerDropController> dropControllerProv;
+ private final Provider<FolderContainerDropController> dropControllerProv;
@UiField
FlowPanel flow;
@Inject
public ToolSelectorPanel(final GSpaceArmor wsArmor,
- final Provider<FolderViewerDropController> dropControllerProv) {
+ final Provider<FolderContainerDropController> dropControllerProv) {
this.dropControllerProv = dropControllerProv;
wsArmor.getEntityToolsCenter().add(uiBinder.createAndBindUi(this));
}
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/AbstractFolderViewerPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/AbstractFolderViewerPanel.java 2012-02-28 02:09:40 UTC (rev 1718)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/AbstractFolderViewerPanel.java 2012-02-28 18:56:19 UTC (rev 1719)
@@ -25,7 +25,8 @@
import cc.kune.common.client.ui.UiUtils;
import cc.kune.common.shared.i18n.I18nTranslationService;
import cc.kune.common.shared.utils.Pair;
-import cc.kune.core.client.dnd.FolderViewerDropController;
+import cc.kune.core.client.dnd.FolderContainerDropController;
+import cc.kune.core.client.dnd.FolderContentDropController;
import cc.kune.core.client.dnd.KuneDragController;
import cc.kune.core.client.registry.ContentCapabilitiesRegistry;
import cc.kune.core.shared.dto.StateContainerDTO;
@@ -45,9 +46,10 @@
public abstract class AbstractFolderViewerPanel extends ViewImpl implements FolderViewerView {
protected final ContentCapabilitiesRegistry capabilitiesRegistry;
+ protected final Provider<FolderContainerDropController> containerDropControllerProv;
+ protected final Provider<FolderContentDropController> contentDropControllerProv;
private final ContentTitleWidget contentTitle;
protected final KuneDragController dragController;
- protected final Provider<FolderViewerDropController> dropControllerProv;
private final InlineLabel emptyLabel;
private final FlowPanel emptyPanel;
protected final GSpaceArmor gsArmor;
@@ -58,12 +60,15 @@
public AbstractFolderViewerPanel(final GSpaceArmor gsArmor, final EventBus eventBus,
final I18nTranslationService i18n, final ContentCapabilitiesRegistry capabilitiesRegistry,
final KuneDragController dragController,
- final Provider<FolderViewerDropController> dropControllerProv, final TutorialViewer tutorialViewer) {
+ final Provider<FolderContentDropController> contentDropControllerProv,
+ final Provider<FolderContainerDropController> containerDropControllerProv,
+ final TutorialViewer tutorialViewer) {
this.gsArmor = gsArmor;
this.i18n = i18n;
this.capabilitiesRegistry = capabilitiesRegistry;
this.dragController = dragController;
- this.dropControllerProv = dropControllerProv;
+ this.contentDropControllerProv = contentDropControllerProv;
+ this.containerDropControllerProv = containerDropControllerProv;
this.tutorialViewer = tutorialViewer;
emptyPanel = new FlowPanel();
emptyLabel = new InlineLabel(i18n.t("This is empty."));
Added: trunk/src/main/java/cc/kune/gspace/client/viewers/ContentDropController.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/ContentDropController.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/ContentDropController.java 2012-02-28 18:56:19 UTC (rev 1719)
@@ -0,0 +1,67 @@
+package cc.kune.gspace.client.viewers;
+
+import cc.kune.common.shared.i18n.I18nTranslationService;
+import cc.kune.core.client.dnd.AbstractDropController;
+import cc.kune.core.client.dnd.KuneDragController;
+import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
+import cc.kune.core.client.rpcservices.ContentServiceAsync;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.ui.BasicDragableThumb;
+import cc.kune.core.shared.domain.utils.StateToken;
+
+import com.allen_sauer.gwt.dnd.client.drop.SimpleDropController;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+
+/**
+ * The Class ContentDropController is used to allow the drop of users as
+ * participants to waves
+ */
+@Singleton
+public class ContentDropController extends AbstractDropController {
+
+ private final ContentServiceAsync contentService;
+ private final I18nTranslationService i18n;
+ private final Session session;
+
+ /**
+ * Instantiates a new content drop controller.
+ *
+ * @param dragController
+ * the drag controller
+ */
+ @Inject
+ public ContentDropController(final KuneDragController dragController,
+ final ContentServiceAsync contentService, final Session session, final I18nTranslationService i18n) {
+ super(dragController);
+ this.contentService = contentService;
+ this.session = session;
+ this.i18n = i18n;
+ registerType(BasicDragableThumb.class);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * cc.kune.core.client.dnd.AbstractDropController#onDropAllowed(com.google
+ * .gwt.user.client.ui.Widget,
+ * com.allen_sauer.gwt.dnd.client.drop.SimpleDropController)
+ */
+ @Override
+ public void onDropAllowed(final Widget widget, final SimpleDropController dropController) {
+ final BasicDragableThumb thumb = (BasicDragableThumb) widget;
+ contentService.addParticipant(session.getUserHash(), (StateToken) getTarget(),
+ thumb.getToken().getGroup(), new AsyncCallbackSimple<Boolean>() {
+ @Override
+ public void onSuccess(final Boolean result) {
+ }
+ });
+ }
+
+ @Override
+ public void onGroupDropFinished(final SimpleDropController dropController) {
+ }
+
+}
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.java 2012-02-28 02:09:40 UTC (rev 1718)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.java 2012-02-28 18:56:19 UTC (rev 1719)
@@ -77,6 +77,7 @@
private final ContentTitleWidget contentTitle;
@UiField
DeckPanel deck;
+ private final ContentDropController dropController;
private final GSpaceArmor gsArmor;
private final I18nTranslationService i18n;
private IdGenerator idGenerator;
@@ -84,6 +85,7 @@
@UiField
InlineHTML onlyViewPanel;
private ProfileManager profiles;
+
private final StateManager stateManager;
/** The wave panel, if a wave is open. */
@@ -92,21 +94,23 @@
private final WaveClientProvider waveClientProv;
private ImplPanel waveHolder;
-
@UiField
ImplPanel waveHolderParent;
private final WaveStore waveStore = new SimpleWaveStore();
+
private final Widget widget;
@Inject
public ContentViewerPanel(final GSpaceArmor wsArmor, final WaveClientProvider waveClient,
final ContentCapabilitiesRegistry capabilitiesRegistry, final I18nTranslationService i18n,
- final EventBus eventBus, final StateManager stateManager) {
+ final EventBus eventBus, final StateManager stateManager,
+ final ContentDropController dropController) {
this.gsArmor = wsArmor;
this.waveClientProv = waveClient;
this.capabilitiesRegistry = capabilitiesRegistry;
this.i18n = i18n;
this.stateManager = stateManager;
+ this.dropController = dropController;
widget = uiBinder.createAndBindUi(this);
contentTitle = new ContentTitleWidget(i18n, gsArmor, capabilitiesRegistry.getIconsRegistry());
eventBus.addHandler(WaveClientClearEvent.getType(),
@@ -167,6 +171,7 @@
final WaveClientView webClient = waveClientProv.get();
loading = webClient.getLoading();
waveHolder = webClient.getWaveHolder();
+ dropController.init(waveHolder);
channel = webClient.getChannel();
profiles = webClient.getProfiles();
idGenerator = ClientIdGenerator.create();
@@ -177,6 +182,9 @@
@Override
public void setContent(final StateContentDTO state) {
final boolean editable = state.getContentRights().isEditable();
+ if (editable) {
+ dropController.setTarget(state.getStateToken());
+ }
gsArmor.enableCenterScroll(true);
setTitle(state, editable);
onlyViewPanel.setHTML(SafeHtmlUtils.fromTrustedString(state.getContent()));
@@ -186,6 +194,7 @@
@Override
public void setEditableContent(final StateContentDTO state) {
gsArmor.enableCenterScroll(false);
+ dropController.setTarget(state.getStateToken());
setTitle(state, true);
setEditableWaveContent(state.getWaveRef(), false);
deck.showWidget(0);
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerAsFlowPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerAsFlowPanel.java 2012-02-28 02:09:40 UTC (rev 1718)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerAsFlowPanel.java 2012-02-28 18:56:19 UTC (rev 1719)
@@ -24,10 +24,12 @@
import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip;
import cc.kune.common.client.actions.ui.descrip.MenuDescriptor;
import cc.kune.common.shared.i18n.I18nTranslationService;
-import cc.kune.core.client.dnd.FolderViewerDropController;
+import cc.kune.core.client.dnd.FolderContainerDropController;
+import cc.kune.core.client.dnd.FolderContentDropController;
import cc.kune.core.client.dnd.KuneDragController;
import cc.kune.core.client.registry.ContentCapabilitiesRegistry;
import cc.kune.core.client.ui.BasicDragableThumb;
+import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.core.shared.dto.StateContainerDTO;
import cc.kune.gspace.client.armor.GSpaceArmor;
import cc.kune.gspace.client.viewers.items.FolderItemDescriptor;
@@ -58,9 +60,11 @@
public FolderViewerAsFlowPanel(final GSpaceArmor gsArmor, final EventBus eventBus,
final I18nTranslationService i18n, final ContentCapabilitiesRegistry capabilitiesRegistry,
final KuneDragController dragController,
- final Provider<FolderViewerDropController> dropControllerProv, final TutorialViewer tutorialViewer) {
- super(gsArmor, eventBus, i18n, capabilitiesRegistry, dragController, dropControllerProv,
- tutorialViewer);
+ final Provider<FolderContentDropController> contentDropControllerProv,
+ final Provider<FolderContainerDropController> containerDropControllerProv,
+ final TutorialViewer tutorialViewer) {
+ super(gsArmor, eventBus, i18n, capabilitiesRegistry, dragController, contentDropControllerProv,
+ containerDropControllerProv, tutorialViewer);
widget = uiBinder.createAndBindUi(this);
}
@@ -69,7 +73,7 @@
final DoubleClickHandler doubleClickHandler) {
// In this viewer we don't use the clickHandler from the presenter
flow.add(createThumb(item.getText(), item.getIcon(), item.getTooltip(), "",
- item.getActionCollection(), doubleClickHandler));
+ item.getActionCollection(), doubleClickHandler, item.getStateToken()));
}
@Override
@@ -80,9 +84,9 @@
public BasicDragableThumb createThumb(final String text, final Object icon, final String tooltip,
final String tooltipTitle, final GuiActionDescCollection menuitems,
- final DoubleClickHandler doubleClickHandler) {
+ final DoubleClickHandler doubleClickHandler, final StateToken token) {
final BasicDragableThumb thumb = new BasicDragableThumb(icon, ICONSIZE, text, ICONLABELMAXSIZE,
- false);
+ false, token);
final MenuDescriptor menu = new MenuDescriptor();
menu.setStandalone(true);
menu.putValue(AbstractGxtMenuGui.MENU_POSITION, AbstractGxtMenuGui.MenuPosition.bl);
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerAsTablePanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerAsTablePanel.java 2012-02-28 02:09:40 UTC (rev 1718)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerAsTablePanel.java 2012-02-28 18:56:19 UTC (rev 1719)
@@ -28,7 +28,8 @@
import cc.kune.common.client.actions.ui.descrip.MenuDescriptor;
import cc.kune.common.client.tooltip.Tooltip;
import cc.kune.common.shared.i18n.I18nTranslationService;
-import cc.kune.core.client.dnd.FolderViewerDropController;
+import cc.kune.core.client.dnd.FolderContainerDropController;
+import cc.kune.core.client.dnd.FolderContentDropController;
import cc.kune.core.client.dnd.KuneDragController;
import cc.kune.core.client.registry.ContentCapabilitiesRegistry;
import cc.kune.core.client.resources.CoreResources;
@@ -76,9 +77,11 @@
public FolderViewerAsTablePanel(final GSpaceArmor gsArmor, final I18nTranslationService i18n,
final EventBus eventBus, final GuiProvider guiProvider, final CoreResources res,
final ContentCapabilitiesRegistry capabilitiesRegistry, final KuneDragController dragController,
- final Provider<FolderViewerDropController> dropControllerProv, final TutorialViewer tutorialViewer) {
- super(gsArmor, eventBus, i18n, capabilitiesRegistry, dragController, dropControllerProv,
- tutorialViewer);
+ final Provider<FolderContentDropController> contentDropControllerProv,
+ final Provider<FolderContainerDropController> containerDropControllerProv,
+ final TutorialViewer tutorialViewer) {
+ super(gsArmor, eventBus, i18n, capabilitiesRegistry, dragController, contentDropControllerProv,
+ containerDropControllerProv, tutorialViewer);
this.guiProvider = guiProvider;
this.res = res;
widget = uiBinder.createAndBindUi(this);
@@ -155,16 +158,18 @@
flex.setWidget(rowCount + 1, 0, itemWidget);
if (item.isDraggable()) {
dragController.makeDraggable(itemWidget, itemWidget.getTitleWidget());
- // Tooltip.to(itemWidget,
- // i18n.t("Drag and drop to move this. Double click to open"));
- } else {
- // Tooltip.to(itemWidget, i18n.t("Double click to open"));
}
- if (item.isDroppable()) {
- final FolderViewerDropController dropController = dropControllerProv.get();
+
+ if (!item.isContainer() && item.isDroppable()) {
+ final FolderContentDropController dropController = contentDropControllerProv.get();
dropController.init(itemWidget);
dropController.setTarget(item.getStateToken());
}
+ if (item.isContainer() && item.isDroppable()) {
+ final FolderContainerDropController dropController = containerDropControllerProv.get();
+ dropController.init(itemWidget);
+ dropController.setTarget(item.getStateToken());
+ }
}
@Override
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerUtils.java 2012-02-28 02:09:40 UTC (rev 1718)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerUtils.java 2012-02-28 18:56:19 UTC (rev 1719)
@@ -72,7 +72,7 @@
private void addItem(final AbstractContentSimpleDTO content, final BasicMimeTypeDTO mimeType,
final ContentStatus status, final StateToken parentStateToken, final AccessRights rights,
- final long modifiedOn) {
+ final long modifiedOn, final boolean isContainer) {
final StateToken stateToken = content.getStateToken();
final String typeId = content.getTypeId();
final String name = content.getName();
@@ -89,7 +89,7 @@
genId(parentStateToken), icon, name, tooltip, status, stateToken, modifiedOn,
capabReg.isDragable(typeId) && rights.isAdministrable(), capabReg.isDropable(typeId)
&& rights.isAdministrable(), actionsRegistry.getCurrentActions(content, typeId, status,
- session.isLogged(), rights, ActionGroups.ITEM_MENU));
+ session.isLogged(), rights, ActionGroups.ITEM_MENU), isContainer);
getView().addItem(item, new ClickHandler() {
@Override
public void onClick(final ClickEvent event) {
@@ -124,13 +124,14 @@
for (final ContainerSimpleDTO childFolder : container.getChilds()) {
addItem(childFolder, null, ContentStatus.publishedOnline,
childFolder.getStateToken().copy().setFolder(childFolder.getParentFolderId()),
- containerRights, FolderViewerView.NO_DATE);
+ containerRights, FolderViewerView.NO_DATE, true);
}
// Other contents (docs, etc)
for (final ContentSimpleDTO content : container.getContents()) {
assert content != null;
addItem(content, content.getMimeType(), content.getStatus(),
- content.getStateToken().copy().clearDocument(), content.getRights(), content.getModifiedOn());
+ content.getStateToken().copy().clearDocument(), content.getRights(),
+ content.getModifiedOn(), false);
}
}
}
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/PathToolbarUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/PathToolbarUtils.java 2012-02-28 02:09:40 UTC (rev 1718)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/PathToolbarUtils.java 2012-02-28 18:56:19 UTC (rev 1719)
@@ -23,7 +23,7 @@
import cc.kune.common.client.actions.ui.descrip.GuiActionDescCollection;
import cc.kune.common.shared.i18n.I18nTranslationService;
import cc.kune.common.shared.utils.TextUtils;
-import cc.kune.core.client.dnd.FolderViewerDropController;
+import cc.kune.core.client.dnd.FolderContainerDropController;
import cc.kune.core.client.registry.ContentCapabilitiesRegistry;
import cc.kune.core.client.registry.IconsRegistry;
import cc.kune.core.client.state.StateManager;
@@ -37,14 +37,14 @@
public class PathToolbarUtils {
- private final Provider<FolderViewerDropController> dropController;
+ private final Provider<FolderContainerDropController> dropController;
private final EventBus eventBus;
private final I18nTranslationService i18n;
private final IconsRegistry iconsRegistry;
private final StateManager stateManager;
@Inject
- public PathToolbarUtils(final Provider<FolderViewerDropController> dropController,
+ public PathToolbarUtils(final Provider<FolderContainerDropController> dropController,
final StateManager stateManager, final ContentCapabilitiesRegistry capabilitiesRegistry,
final EventBus eventBus, final I18nTranslationService i18n) {
this.dropController = dropController;
@@ -78,7 +78,7 @@
final ButtonDescriptor btn = createPathButton(path[i], pathLength, i);
if (withDrop) {
if (i != pathLength - 1) {
- final FolderViewerDropController dropTarget = dropController.get();
+ final FolderContainerDropController dropTarget = dropController.get();
dropTarget.setTarget(path[i].getStateToken());
btn.setDropTarget(dropTarget);
}
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/items/FolderItemDescriptor.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/items/FolderItemDescriptor.java 2012-02-28 02:09:40 UTC (rev 1718)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/items/FolderItemDescriptor.java 2012-02-28 18:56:19 UTC (rev 1719)
@@ -30,6 +30,7 @@
private final ContentStatus contentStatus;
private final Object icon;
private final String id;
+ private final boolean isContainer;
private final long modififiedOn;
private final String parentId;
private final String text;
@@ -39,7 +40,7 @@
public FolderItemDescriptor(final String id, final String parentId, final Object icon,
final String text, final String tooltip, final ContentStatus contentStatus,
final StateToken token, final long modififiedOn, final boolean allowDrag, final boolean allowDrop,
- final GuiActionDescCollection actionCollection) {
+ final GuiActionDescCollection actionCollection, final boolean isContainer) {
this.id = id;
this.parentId = parentId;
this.icon = icon;
@@ -51,6 +52,7 @@
this.allowDrag = allowDrag;
this.allowDrop = allowDrop;
this.actionCollection = actionCollection;
+ this.isContainer = isContainer;
}
public GuiActionDescCollection getActionCollection() {
@@ -89,6 +91,10 @@
return tooltip;
}
+ public boolean isContainer() {
+ return isContainer;
+ }
+
public boolean isDraggable() {
return allowDrag;
}
Modified: trunk/src/main/java/cc/kune/tasks/client/TasksClientTool.java
===================================================================
--- trunk/src/main/java/cc/kune/tasks/client/TasksClientTool.java 2012-02-28 02:09:40 UTC (rev 1718)
+++ trunk/src/main/java/cc/kune/tasks/client/TasksClientTool.java 2012-02-28 18:56:19 UTC (rev 1719)
@@ -69,7 +69,7 @@
private void registerIcons() {
registerTutorial(TYPE_ROOT);
- registerTutorial(TYPE_FOLDER);
+ // registerTutorial(TYPE_FOLDER);
registerContentTypeIcon(TYPE_ROOT, icons.tasks());
registerContentTypeIcon(TYPE_FOLDER, navResources.taskfolder());
registerContentTypeIcon(TYPE_TASK, navResources.task());
Modified: trunk/src/main/java/cc/kune/wave/server/kspecific/KuneAgent.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/server/kspecific/KuneAgent.java 2012-02-28 02:09:40 UTC (rev 1718)
+++ trunk/src/main/java/cc/kune/wave/server/kspecific/KuneAgent.java 2012-02-28 18:56:19 UTC (rev 1719)
@@ -68,10 +68,10 @@
}
@Override
- public void addParticipants(final WaveRef waveName, final String author, final String userWhoAdd,
+ public boolean addParticipants(final WaveRef waveName, final String author, final String userWhoAdd,
final String... newParticipants) {
// TODO Auto-generated method stub
-
+ return false;
}
@Override
Modified: trunk/src/main/java/cc/kune/wave/server/kspecific/KuneWaveService.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/server/kspecific/KuneWaveService.java 2012-02-28 02:09:40 UTC (rev 1718)
+++ trunk/src/main/java/cc/kune/wave/server/kspecific/KuneWaveService.java 2012-02-28 18:56:19 UTC (rev 1719)
@@ -46,7 +46,7 @@
void addGadget(WaveRef waveName, String author, URL gadgetUrl);
- void addParticipants(WaveRef waveName, String author, String userWhoAdd, String... newParticipants);
+ boolean addParticipants(WaveRef waveName, String author, String userWhoAdd, String... newParticipants);
WaveRef createWave(String message, SimpleArgCallback<WaveRef> onCreate, ParticipantId... participants);
Modified: trunk/src/main/java/cc/kune/wave/server/kspecific/KuneWaveServiceDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/server/kspecific/KuneWaveServiceDefault.java 2012-02-28 02:09:40 UTC (rev 1718)
+++ trunk/src/main/java/cc/kune/wave/server/kspecific/KuneWaveServiceDefault.java 2012-02-28 18:56:19 UTC (rev 1719)
@@ -190,8 +190,9 @@
}
@Override
- public void addParticipants(final WaveRef waveName, final String author, final String userWhoAdds,
+ public boolean addParticipants(final WaveRef waveName, final String author, final String userWhoAdds,
final String... newLocalParticipants) {
+ boolean added = false;
final Wavelet wavelet = fetchWave(waveName, author);
final Participants currentParticipants = wavelet.getParticipants();
// Removing duplicates
@@ -207,8 +208,10 @@
final String whoAdd = wavelet.getParticipants().contains(participantUtils.of(userWhoAdds)) ? userWhoAdds
: author;
doOperation(whoAdd, opQueue, "add participant");
+ added = true;
}
}
+ return added;
}
@Override
Modified: trunk/src/main/java/cc/kune/wiki/client/WikiClientTool.java
===================================================================
--- trunk/src/main/java/cc/kune/wiki/client/WikiClientTool.java 2012-02-28 02:09:40 UTC (rev 1718)
+++ trunk/src/main/java/cc/kune/wiki/client/WikiClientTool.java 2012-02-28 18:56:19 UTC (rev 1719)
@@ -68,7 +68,7 @@
private void registerIcons() {
registerTutorial(TYPE_ROOT);
- registerTutorial(TYPE_FOLDER);
+ // registerTutorial(TYPE_FOLDER);
registerContentTypeIcon(TYPE_FOLDER, navResources.folder());
registerContentTypeIcon(TYPE_ROOT, icons.wikis());
registerContentTypeIcon(TYPE_WIKIPAGE, navResources.wikipage());
1
0