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
October 2011
- 1 participants
- 37 discussions
r1557 - in trunk/src: main/java/cc/kune/common/client/ui main/java/cc/kune/core/client/events main/java/cc/kune/domain/finders main/java/cc/kune/hspace/client main/java/cc/kune/wave/client/inboxcount main/webapp test/java/cc/kune/core/server/integration
by Vicente J. Ruiz Jurado 12 Oct '11
by Vicente J. Ruiz Jurado 12 Oct '11
12 Oct '11
Author: vjrj_
Date: 2011-10-12 13:44:25 +0200 (Wed, 12 Oct 2011)
New Revision: 1557
Added:
trunk/src/main/java/cc/kune/core/client/events/InboxUnreadUpdatedEvent.java
Modified:
trunk/src/main/java/cc/kune/common/client/ui/DottedTabPanel.java
trunk/src/main/java/cc/kune/domain/finders/ContentFinder.java
trunk/src/main/java/cc/kune/hspace/client/HSpacePanel.java
trunk/src/main/java/cc/kune/hspace/client/HSpacePanel.ui.xml
trunk/src/main/java/cc/kune/hspace/client/HSpacePresenter.java
trunk/src/main/java/cc/kune/wave/client/inboxcount/InboxCountPanel.java
trunk/src/main/java/cc/kune/wave/client/inboxcount/InboxCountPresenter.java
trunk/src/main/webapp/ws.html
trunk/src/test/java/cc/kune/core/server/integration/StatsServiceTest.java
Log:
CLOSED - # 132: Global public stats
http://kune.ourproject.org/issues/ticket/132
Modified: trunk/src/main/java/cc/kune/common/client/ui/DottedTabPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/DottedTabPanel.java 2011-10-11 12:07:21 UTC (rev 1556)
+++ trunk/src/main/java/cc/kune/common/client/ui/DottedTabPanel.java 2011-10-12 11:44:25 UTC (rev 1557)
@@ -31,7 +31,15 @@
return tabPanel.getWidgetIndex(view.asWidget());
}
+ public void insertTab(final IsWidget view, final int beforeIndex) {
+ tabPanel.insert(view.asWidget(), new DottedTab(), beforeIndex);
+ }
+
public void removeTab(final IsWidget view) {
tabPanel.remove(view.asWidget());
}
+
+ public void selectTab(final int index) {
+ tabPanel.selectTab(index);
+ }
}
Added: trunk/src/main/java/cc/kune/core/client/events/InboxUnreadUpdatedEvent.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/events/InboxUnreadUpdatedEvent.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/events/InboxUnreadUpdatedEvent.java 2011-10-12 11:44:25 UTC (rev 1557)
@@ -0,0 +1,91 @@
+package cc.kune.core.client.events;
+
+import com.google.gwt.event.shared.EventHandler;
+import com.google.gwt.event.shared.GwtEvent;
+import com.google.gwt.event.shared.HandlerRegistration;
+import com.google.gwt.event.shared.HasHandlers;
+
+public class InboxUnreadUpdatedEvent extends GwtEvent<InboxUnreadUpdatedEvent.InboxUnreadUpdatedHandler> {
+
+ public interface HasInboxUnreadUpdatedHandlers extends HasHandlers {
+ HandlerRegistration addInboxUnreadUpdatedHandler(InboxUnreadUpdatedHandler handler);
+ }
+
+ public interface InboxUnreadUpdatedHandler extends EventHandler {
+ public void onInboxUnreadUpdated(InboxUnreadUpdatedEvent event);
+ }
+
+ private static final Type<InboxUnreadUpdatedHandler> TYPE = new Type<InboxUnreadUpdatedHandler>();
+
+ public static void fire(final HasHandlers source, final int count, final boolean greater) {
+ source.fireEvent(new InboxUnreadUpdatedEvent(count, greater));
+ }
+
+ public static Type<InboxUnreadUpdatedHandler> getType() {
+ return TYPE;
+ }
+
+ int count;
+ boolean greater;
+
+ protected InboxUnreadUpdatedEvent() {
+ // Possibly for serialization.
+ }
+
+ public InboxUnreadUpdatedEvent(final int count, final boolean greater) {
+ this.count = count;
+ this.greater = greater;
+ }
+
+ @Override
+ protected void dispatch(final InboxUnreadUpdatedHandler handler) {
+ handler.onInboxUnreadUpdated(this);
+ }
+
+ @Override
+ public boolean equals(final Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (obj == null) {
+ return false;
+ }
+ if (getClass() != obj.getClass()) {
+ return false;
+ }
+ final InboxUnreadUpdatedEvent other = (InboxUnreadUpdatedEvent) obj;
+ if (count != other.count) {
+ return false;
+ }
+ if (greater != other.greater) {
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ public Type<InboxUnreadUpdatedHandler> getAssociatedType() {
+ return TYPE;
+ }
+
+ public int getCount() {
+ return count;
+ }
+
+ @Override
+ public int hashCode() {
+ int hashCode = 23;
+ hashCode = (hashCode * 37) + new Integer(count).hashCode();
+ hashCode = (hashCode * 37) + new Boolean(greater).hashCode();
+ return hashCode;
+ }
+
+ public boolean isGreater() {
+ return greater;
+ }
+
+ @Override
+ public String toString() {
+ return "InboxUnreadUpdatedEvent[" + count + "," + greater + "]";
+ }
+}
Modified: trunk/src/main/java/cc/kune/domain/finders/ContentFinder.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/finders/ContentFinder.java 2011-10-11 12:07:21 UTC (rev 1556)
+++ trunk/src/main/java/cc/kune/domain/finders/ContentFinder.java 2011-10-12 11:44:25 UTC (rev 1557)
@@ -64,11 +64,25 @@
public List<Content> lastModifiedContents(@MaxResults final int limit,
@Named("status") final ContentStatus status);
- @Finder(query = "FROM Content c WHERE " + "((c.container.owner.id IN (SELECT ed.id FROM "
- + "c.container.owner.socialNetwork.accessLists.editors.list AS ed WHERE ed.id = :groupid)) OR"
- + "(c.container.owner.id IN (SELECT ad.id FROM "
- + "c.container.owner.socialNetwork.accessLists.admins.list AS ad WHERE ad.id = :groupid)))"
+ @Finder(query = "FROM Content c WHERE " + "((:groupid IN (SELECT ed.id FROM "
+ + "c.container.owner.socialNetwork.accessLists.editors.list AS ed)) OR"
+ + "(:groupid IN (SELECT ad.id FROM "
+ + "c.container.owner.socialNetwork.accessLists.admins.list AS ad)))"
+ "ORDER BY c.modifiedOn DESC", returnAs = ArrayList.class)
public List<Content> lastModifiedContentsInUserGroup(@MaxResults final int limit,
@Named("groupid") Long groupId);
+
+ // @Finder(query = "FROM Content c WHERE " +
+ // "(c.container.owner.id IN (SELECT ad.id"
+ // + "FROM Group ad WHERE ad.id IN (SELECT ad.id "
+ // +
+ // "FROM ad.socialNetwork.accessLists.admins.list adm WHERE adm.id = :groupid)) OR "
+ // + "(c.container.owner.id IN (SELECT ed.id" +
+ // "FROM Group ed WHERE ed.id IN (SELECT ed.id "
+ // +
+ // "FROM ed.socialNetwork.accessLists.editors.list eds WHERE eds.id = :groupid))))"
+ // + "ORDER BY c.modifiedOn DESC", returnAs = ArrayList.class)
+ // public List<Content> lastModifiedContentsInUserGroup(@MaxResults final int
+ // limit,
+ // @Named("groupid") Long groupId);
}
Modified: trunk/src/main/java/cc/kune/hspace/client/HSpacePanel.java
===================================================================
--- trunk/src/main/java/cc/kune/hspace/client/HSpacePanel.java 2011-10-11 12:07:21 UTC (rev 1556)
+++ trunk/src/main/java/cc/kune/hspace/client/HSpacePanel.java 2011-10-12 11:44:25 UTC (rev 1557)
@@ -6,6 +6,7 @@
import cc.kune.common.client.ui.DottedTabPanel;
import cc.kune.core.client.services.FileDownloadUtils;
+import cc.kune.core.client.state.SiteTokens;
import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.core.shared.dto.ContentSimpleDTO;
import cc.kune.core.shared.dto.GroupDTO;
@@ -13,11 +14,13 @@
import cc.kune.gspace.client.GSpaceArmor;
import cc.kune.hspace.client.HSpacePresenter.HSpaceView;
+import com.calclab.emite.core.client.packet.TextUtils;
import com.google.gwt.core.client.GWT;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.HasText;
+import com.google.gwt.user.client.ui.Hyperlink;
import com.google.gwt.user.client.ui.InlineLabel;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.RootPanel;
@@ -39,6 +42,7 @@
private final FileDownloadUtils downUtils;
@UiField
FlowPanel globalStats;
+ private final RootPanel globalStatsParent;
@UiField
public Label globalStatsTitle;
@UiField
@@ -49,6 +53,7 @@
public InlineLabel globalStatsTotalUsersCount;
@UiField
public InlineLabel globalStatsTotalUsersTitle;
+ private final RootPanel groupStatsParent;
@UiField
public FlowPanel lastActivityInYourGroup;
@UiField
@@ -72,6 +77,9 @@
private final DottedTabPanel tabPanel;
+ @UiField
+ public Hyperlink unreadInYourInbox;
+
private final Widget widget;
@Inject
@@ -86,14 +94,13 @@
lastGroupsTitle.setText(i18n.t("Latest created groups"));
lastPublishedContentsTitle.setText(i18n.t("Latest publications"));
lastActivityInYourGroupTitle.setText(i18n.t("Latest activity in your groups"));
- tabPanel = new DottedTabPanel("465px", "200px");
+ tabPanel = new DottedTabPanel("440px", "200px");
tabPanel.addTab(lastGroupsPanel);
- // tabPanel.addTab(lastActivityPanel);
tabPanel.addTab(lastPublishedPanel);
globalStats.removeFromParent();
-
- final RootPanel globalStatsParent = RootPanel.get(K_HOME_GLOBAL_STATS);
- final RootPanel groupStatsParent = RootPanel.get(K_HOME_GROUP_STATS);
+ unreadInYourInbox.setTargetHistoryToken(SiteTokens.WAVEINBOX);
+ globalStatsParent = RootPanel.get(K_HOME_GLOBAL_STATS);
+ groupStatsParent = RootPanel.get(K_HOME_GROUP_STATS);
if (globalStatsParent != null) {
globalStatsParent.add(globalStats);
}
@@ -110,7 +117,7 @@
private String format(final Long modifiedOn, final String name) {
final String modOn = DateUtils.getInstance().formatPastDate(modifiedOn);
- return modOn + " ~ " + name;
+ return TextUtils.ellipsis(modOn + " ~ " + name, 50);
}
@Override
@@ -124,6 +131,16 @@
}
@Override
+ public HasText getUnreadInYourInbox() {
+ return unreadInYourInbox;
+ }
+
+ @Override
+ public void setInboxUnreadVisible(final boolean visible) {
+ unreadInYourInbox.setVisible(visible);
+ }
+
+ @Override
public void setLastContentsOfMyGroup(final List<ContentSimpleDTO> lastContentsOfMyGroupsList) {
lastActivityInYourGroup.clear();
for (final ContentSimpleDTO content : lastContentsOfMyGroupsList) {
@@ -152,26 +169,33 @@
for (final ContentSimpleDTO content : lastPublishedContentsList) {
final GroupContentHomeLink link = linkProv.get();
final StateToken token = content.getStateToken();
- link.setValues(downUtils.getLogoImageUrl(token.copy().clearDocument().clearFolder()),
- format(content.getModifiedOn(), content.getName()), token.toString());
+ link.setValues(
+ downUtils.getLogoImageUrl(token.copy().clearDocument().clearFolder()),
+ format(content.getModifiedOn(),
+ "(" + content.getStateToken().getGroup() + ") " + content.getName()), token.toString());
lastPublishedContents.add(link);
}
}
@Override
public void setStatsVisible(final boolean visible) {
- globalStats.setVisible(visible);
- tabPanel.setVisible(visible);
+ if (globalStatsParent != null) {
+ globalStatsParent.setVisible(visible);
+ }
+ if (groupStatsParent != null) {
+ groupStatsParent.setVisible(visible);
+ }
}
@Override
public void setUserGroupsActivityVisible(final boolean visible) {
final boolean isAttached = tabPanel.getWidgetIndex(lastActivityPanel) != -1;
if (visible && !isAttached) {
- tabPanel.addTab(lastActivityPanel);
+ tabPanel.insertTab(lastActivityPanel, 0);
} else if (!visible && isAttached) {
tabPanel.removeTab(lastActivityPanel);
}
+ tabPanel.selectTab(0);
}
}
Modified: trunk/src/main/java/cc/kune/hspace/client/HSpacePanel.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/hspace/client/HSpacePanel.ui.xml 2011-10-11 12:07:21 UTC (rev 1556)
+++ trunk/src/main/java/cc/kune/hspace/client/HSpacePanel.ui.xml 2011-10-12 11:44:25 UTC (rev 1557)
@@ -21,6 +21,10 @@
<g:InlineLabel ui:field="globalStatsTotalUsersCount"
addStyleNames="{style.padl} k-home-em-text"/>
</g:FlowPanel>
+ <g:FlowPanel>
+ <g:Hyperlink ui:field="unreadInYourInbox"
+ addStyleNames="k-home-group-inbox-link k-home-normal-text"/>
+ </g:FlowPanel>
</g:FlowPanel>
<g:FlowPanel ui:field="lastGroupsPanel">
<g:Label ui:field="lastGroupsTitle" styleName="k-home-title"/>
Modified: trunk/src/main/java/cc/kune/hspace/client/HSpacePresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/hspace/client/HSpacePresenter.java 2011-10-11 12:07:21 UTC (rev 1556)
+++ trunk/src/main/java/cc/kune/hspace/client/HSpacePresenter.java 2011-10-12 11:44:25 UTC (rev 1557)
@@ -21,6 +21,7 @@
import java.util.List;
+import cc.kune.core.client.events.InboxUnreadUpdatedEvent;
import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.UserSignInOrSignOutEvent;
@@ -28,6 +29,7 @@
import cc.kune.core.shared.dto.ContentSimpleDTO;
import cc.kune.core.shared.dto.GroupDTO;
import cc.kune.core.shared.dto.HomeStatsDTO;
+import cc.kune.core.shared.i18n.I18nTranslationService;
import com.google.gwt.event.shared.EventBus;
import com.google.gwt.user.client.ui.HasText;
@@ -50,6 +52,10 @@
HasText getGlobalStatsTotalUsersCount();
+ HasText getUnreadInYourInbox();
+
+ void setInboxUnreadVisible(boolean visible);
+
void setLastContentsOfMyGroup(List<ContentSimpleDTO> lastContentsOfMyGroupsList);
void setLastGroups(List<GroupDTO> lastGroups);
@@ -58,28 +64,47 @@
void setStatsVisible(boolean visible);
- void setUserGroupsActivityVisible(boolean logged);
+ void setUserGroupsActivityVisible(boolean visible);
}
@Inject
public HSpacePresenter(final Session session, final EventBus eventBus, final HSpaceView view,
- final HSpaceProxy proxy, final Provider<ClientStatsServiceAsync> statsService) {
+ final HSpaceProxy proxy, final Provider<ClientStatsServiceAsync> statsService,
+ final I18nTranslationService i18n) {
super(eventBus, view, proxy);
+ eventBus.addHandler(InboxUnreadUpdatedEvent.getType(),
+ new InboxUnreadUpdatedEvent.InboxUnreadUpdatedHandler() {
+ @Override
+ public void onInboxUnreadUpdated(final InboxUnreadUpdatedEvent event) {
+ final int total = event.getCount();
+ if (total > 0 && session.isLogged()) {
+ getView().getUnreadInYourInbox().setText(
+ total == 1 ? i18n.t("One recent conversation unread") : i18n.t(
+ "[%d] recent conversations unread", total));
+ getView().setInboxUnreadVisible(true);
+ } else {
+ getView().setInboxUnreadVisible(false);
+ }
+ }
+ });
final AsyncCallbackSimple<HomeStatsDTO> callback = new AsyncCallbackSimple<HomeStatsDTO>() {
@Override
public void onSuccess(final HomeStatsDTO result) {
getView().getGlobalStatsTotalGroupsCount().setText(result.getTotalGroups().toString());
getView().getGlobalStatsTotalUsersCount().setText(result.getTotalUsers().toString());
getView().setLastGroups(result.getLastGroups());
+ getView().setLastPublishedContents(result.getLastPublishedContents());
+ getView().setStatsVisible(true);
final List<ContentSimpleDTO> lastContentsOfMyGroups = result.getLastContentsOfMyGroups();
- final boolean myGroupsHasActivity = lastContentsOfMyGroups != null
+ final boolean logged = session.isLogged();
+ final boolean myGroupsHasActivity = logged && lastContentsOfMyGroups != null
&& lastContentsOfMyGroups.size() > 0;
+ // NotifyUser.info("" + lastContentsOfMyGroups.size(), true);
if (myGroupsHasActivity) {
getView().setLastContentsOfMyGroup(lastContentsOfMyGroups);
}
getView().setUserGroupsActivityVisible(myGroupsHasActivity);
- getView().setLastPublishedContents(result.getLastPublishedContents());
- getView().setStatsVisible(true);
+ getView().setInboxUnreadVisible(logged);
}
};
session.onUserSignInOrSignOut(true, new UserSignInOrSignOutHandler() {
Modified: trunk/src/main/java/cc/kune/wave/client/inboxcount/InboxCountPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/inboxcount/InboxCountPanel.java 2011-10-11 12:07:21 UTC (rev 1556)
+++ trunk/src/main/java/cc/kune/wave/client/inboxcount/InboxCountPanel.java 2011-10-12 11:44:25 UTC (rev 1557)
@@ -46,8 +46,8 @@
@Override
public void setTotal(final int total) {
count.setText(String.valueOf(total));
- tooltip.setText(total == 1 ? i18n.t("One conversation unread") : i18n.t("[%d] conversations unread",
- total));
+ tooltip.setText(total == 1 ? i18n.t("One recent conversation unread") : i18n.t(
+ "[%d] recent conversations unread", total));
}
@Override
Modified: trunk/src/main/java/cc/kune/wave/client/inboxcount/InboxCountPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/inboxcount/InboxCountPresenter.java 2011-10-11 12:07:21 UTC (rev 1556)
+++ trunk/src/main/java/cc/kune/wave/client/inboxcount/InboxCountPresenter.java 2011-10-12 11:44:25 UTC (rev 1557)
@@ -7,6 +7,7 @@
import org.waveprotocol.box.webclient.search.Search;
import org.waveprotocol.box.webclient.search.Search.Listener;
+import cc.kune.core.client.events.InboxUnreadUpdatedEvent;
import cc.kune.core.client.events.NewUserRegisteredEvent;
import cc.kune.core.client.events.SndClickEvent;
import cc.kune.core.client.state.Session;
@@ -132,9 +133,11 @@
view.setTotal(total);
final boolean show = session.isLogged() && total != Search.UNKNOWN_SIZE && total > 0;
view.showCount(show);
- if (show && total > currentTotal) {
+ final boolean greater = total > currentTotal;
+ if (show && greater) {
sendNoticeToUser();
}
+ InboxUnreadUpdatedEvent.fire(eventBus, total, greater);
currentTotal = total;
}
Modified: trunk/src/main/webapp/ws.html
===================================================================
--- trunk/src/main/webapp/ws.html 2011-10-11 12:07:21 UTC (rev 1556)
+++ trunk/src/main/webapp/ws.html 2011-10-12 11:44:25 UTC (rev 1557)
@@ -5,8 +5,8 @@
<title>Kune</title>
<script type="text/javascript" language="javascript"
- src="ws/ws.nocache.js"></script>
-<!--
+ src="ws/ws.nocache.js"></script>
+<!--
We will use this string for mention this site in messages like: "Thanks for joining this site"
Your can use another string and the message will looks like "Thanks for joining example.org"
-->
@@ -32,229 +32,236 @@
<meta name="hablar.height" content="400px" />
<link rel="shortcut icon" href="ws/favicon.ico" />
<link rel="stylesheet" type="text/css"
- href="http://yui.yahooapis.com/2.8.0r4/build/reset/reset-min.css">
+ href="http://yui.yahooapis.com/2.8.0r4/build/reset/reset-min.css">
<!-- FIXME: make something local -->
<script src="//ajax.googleapis.com/ajax/libs/webfont/1/webfont.js"></script>
<script>
- WebFont.load({
- google : {
- families : [ 'Ubuntu' ]
- }
- });
+ WebFont.load({
+ google : {
+ families : [ 'Ubuntu' ]
+ }
+ });
</script>
<link
- href='http://fonts.googleapis.com/css?family=Ubuntu:regular,italic,bold,bolditalic'
- rel='stylesheet' type='text/css'>
+ href='http://fonts.googleapis.com/css?family=Ubuntu:regular,italic,bold,bolditalic'
+ rel='stylesheet' type='text/css'>
<!-- <link href='http://fonts.googleapis.com/css?family=Inconsolata'
rel='stylesheet' type='text/css'> -->
<link type="text/css" rel="stylesheet" href="ws/gxt/css/gxt-all.css">
<link type="text/css" rel="stylesheet" href="ws/gxt/css/gxt-gray.css">
<link type="text/css" rel="stylesheet"
- href="ws/gxt-custom/css/gxt-op-common.css">
+ href="ws/gxt-custom/css/gxt-op-common.css">
<link type="text/css" rel="stylesheet" href="ws/kune-hablar.css">
<link type="text/css" rel="stylesheet" href="ws/kune-chat.css">
<link type="text/css" rel="stylesheet" href="ws/kune-common.css">
<link type="text/css" rel="stylesheet"
- href="ws/fontface/ubuntufontface.css">
+ href="ws/fontface/ubuntufontface.css">
<link type="text/css" rel="stylesheet" href="ws/kune-message.css">
<link type="text/css" rel="stylesheet"
- href="others/splash/style/permalink.css">
+ href="others/splash/style/permalink.css">
<link type="text/css" rel="stylesheet"
- href="others/splash/style/stuff.css">
+ href="others/splash/style/stuff.css">
<link type="text/css" rel="stylesheet"
- href="others/splash/style/main.css">
+ href="others/splash/style/main.css">
<link type="text/css" rel="stylesheet" href="ws/ws.css">
<script type="text/javascript" src="others/splash/js/gadget.js"></script>
<script type="text/javascript" src="others/splash/js/rpc.js"></script>
<script type="text/javascript" src="others/splash/js/common_client.js"></script>
<script type="text/javascript"
- src="others/splash/js/permalink_client.js"></script>
+ src="others/splash/js/permalink_client.js"></script>
<script type="text/javascript"
- src="http://wave.google.com/gadgets/js/core:rpc.js?c=1"></script>
+ src="http://wave.google.com/gadgets/js/core:rpc.js?c=1"></script>
<style type="text/css">
body {
- background-color: white;
- color: black;
- font-family: 'Ubuntu', Arial;
- font-size: small;
- overflow: hidden;
+ background-color: white;
+ color: black;
+ font-family: 'Ubuntu', Arial;
+ font-size: small;
+ overflow: hidden;
}
#kuneloading {
- position: absolute;
- left: 2%;
- top: 2%;
- z-index: 20001;
- height: auto;
- border: solid 2px #ccc;
- -moz-border-radius: 10px;
- -webkit-border-radius: 10px;
- border-radius: 10px;
- background-color: white;
+ position: absolute;
+ left: 2%;
+ top: 2%;
+ z-index: 20001;
+ height: auto;
+ border: solid 2px #ccc;
+ -moz-border-radius: 10px;
+ -webkit-border-radius: 10px;
+ border-radius: 10px;
+ background-color: white;
}
#kuneloading a {
- color: #225588;
+ color: #225588;
}
#kuneloading .kuneloading-indicator {
- color: #444;
- font: bold 13px tahoma, arial, helvetica;
- padding: 3px 3px 8px;
- margin: 0;
- height: auto;
+ color: #444;
+ font: bold 13px tahoma, arial, helvetica;
+ padding: 3px 3px 8px;
+ margin: 0;
+ height: auto;
}
#kuneloading-msg {
- font: normal 10px arial, tahoma, sans-serif;
+ font: normal 10px arial, tahoma, sans-serif;
}
#k-home-prewrap {
- margin-top: -22px;
+ margin-top: -22px;
}
#k-home-wrapper {
- margin-left: auto;
- margin-right: auto;
- position: relative;
- width: 665px;
- min-width: 320px;
+ margin-left: auto;
+ margin-right: auto;
+ position: relative;
+ width: 665px;
+ min-width: 320px;
}
#k-home-ini { /* clear: both; */
- font-size: 20px;
- color: #69312f;
- text-align: justify;
- /* padding: 27px 0; */
- /* line-height: 1.3em; */
+ font-size: 20px;
+ color: #69312f;
+ text-align: justify;
+ /* padding: 27px 0; */
+ /* line-height: 1.3em; */
}
#k-home-ini a {
- color: #803000;
- font-weight: bold;
+ color: #803000;
+ font-weight: bold;
}
#k-home-ini strong {
- font-weight: bold;
+ font-weight: bold;
}
#k-home-table {
- display: block;
+ display: block;
}
#k-home-header {
- display: table-row;
- float: right;
+ display: table-row;
+ float: right;
}
#k-home-intro {
- display: table-row;
+ display: table-row;
}
#k-home-footer {
- display: table-row;
- font-size: 14px;
- text-align: right;
- color: #8a5050;
+ display: table-row;
+ font-size: 14px;
+ text-align: right;
+ color: #8a5050;
}
#k-home-logo {
- margin: 50px 0 22px 0;
+ margin: 50px 0 22px 0;
}
#k-home-summary {
- font-size: 28px;
- color: #dd8a3d;
- font-weight: bold;
- white-space: nowrap;
+ font-size: 28px;
+ color: #dd8a3d;
+ font-weight: bold;
+ white-space: nowrap;
}
#k-home-summary li {
- padding-left: 41px;
- background-repeat: no-repeat;
- background-position: 0 .2em;
- line-height: 45px;
+ padding-left: 41px;
+ background-repeat: no-repeat;
+ background-position: 0 .2em;
+ line-height: 45px;
}
#k-home-body { /* display: table-row;*/
- clear: both;
- display: block;
+ clear: both;
+ display: block;
}
#k-home-left,#k-home-summary-left {
- display: table-cell;
+ display: table-cell;
}
#k-home-left {
- float: left;
+ float: left;
}
#k-home-right,#k-home-summary-right {
- display: table-cell;
- text-align: right;
- padding-left: 20px;
+ display: table-cell;
+ text-align: right;
+ padding-left: 20px;
}
#k-home-summary-right {
- padding-top: 42px;
- vertical-align: bottom;
+ padding-top: 42px;
+ vertical-align: bottom;
}
-#k-home-right {
- white-space: nowrap;
- vertical-align: top;
- padding-top: 20px;
- float: right;
+#k-home-right { /* white-space: nowrap; */
+ vertical-align: top;
+ padding-top: 20px;
+ /* float: right; */
}
#k-home-group-stats {
- color: #c87137;
+ color: #c87137;
}
#k-home-global-stats {
-
+
}
.k-home-title {
- color: #c87137;
- font-size: 18px;
- font-weight: bold;
- padding-top: 10px;
- /* clear: both; */
+ color: #c87137;
+ font-size: 18px;
+ font-weight: bold;
+ padding-top: 10px;
+ /* clear: both; */
}
.k-home-normal-text {
- color: #8a5050;
- font-size: 16px;
+ color: #8a5050;
+ font-size: 16px;
}
.k-home-em-text {
- color: #8a5050;
- font-size: 18px;
- font-weight: bold;
+ color: #8a5050;
+ font-size: 18px;
+ font-weight: bold;
}
.k-home-group-cnt-icon {
- float: left;
+ float: left;
}
+.k-home-group-inbox-link {
+
+}
+
+.k-home-group-inbox-link a {
+ color: green;
+}
+
.k-home-group-cnt-link {
- float: left;
+ float: left;
}
.k-home-group-cnt-link a {
- color: #8a5050;
- padding-left: 10px;
+ color: #8a5050;
+ padding-left: 10px;
}
.k-home-group-stats-item {
- clear: both;
- /* line-height: 1.2em; */
+ clear: both;
+ /* line-height: 1.2em; */
}
.banner {
- margin: 30px;
+ margin: 30px;
}
</style>
<!--[if IE 6]>
@@ -262,97 +269,97 @@
<![endif]-->
</head>
<body>
- <!-- Banner for wave errors -->
- <div class="banner" id="banner"></div>
- <!-- Autocomplete user/pass -->
- <form method="post" action="javascript:void(0)" style="display: none">
- <input type="text" id="address" name="address" value="" /> <input
- type="password" id="password" name="password" value="" /> <input
- type="submit" value="Login" id="login" /> <input type="submit"
- class="wiab le button" name="signIn" id="signIn" value="Sign in">
- </form>
- <!-- RECOMMENDED if your web app will not function without JavaScript enabled -->
- <noscript>
- <div
- style="width: 22em; position: absolute; left: 50%; margin-left: -11em; color: red; background-color: white; border: 1px solid red; padding: 4px; font-family: sans-serif">
- Your web browser must have JavaScript enabled in order for this
- application to display correctly.</div>
- </noscript>
- <iframe id="__gwt_historyFrame" style="width: 0; height: 0; border: 0"></iframe>
- <iframe src="" id="__download" style="width: 0; height: 0; border: 0"></iframe>
- <div id="kuneinitialcurtain"></div>
- <div id="kuneloading">
- <div class="kuneloading-indicator">
- <img src="ws/images/kune-anim-g.gif" width="35" height="35"
- alt="kune-loading"
- style="margin-right: 3px; float: left; vertical-align: top;" />kune <br />
- <span id="kuneloading-msg">Starting...</span>
- </div>
- </div>
- <div id="k-home-prewrap">
- <div id="k-home-wrapper">
- <!-- This id is required for kune (you can create a different .html but preserve this id) -->
- <div id="k-home-table">
- <div id="k-home-header"></div>
- <!-- div home-header -->
- <div id="k-home-intro">
- <div id="k-home-summary-left">
- <div id="k-home-logo">
- <img src="ws/logo-big-home.png" alt="" />
- </div>
- <div id="k-home-summary">
- <ul>
- <li
- style="background-image: url(ws/images/kune-intro-user.png);">Comunicate
- with others</li>
- <li
- style="background-image: url(ws/images/kune-intro-group.png);">Work
- in collaboration</li>
- <li
- style="background-image: url(ws/images/kune-intro-world.png);">And
- share with the world</li>
- </ul>
- </div>
- <!-- k-home-summary -->
- </div>
- <!-- k-home-summary-left -->
- <div id="k-home-summary-right">
- <div id="k-home-ini">
- Welcome! This site is a Kune node. Kune, which means "together"
- in esperanto, it's a network of interconnected sites like this
- one, where you can <strong>communicate, share,
- collaborate with others and create your web spaces easily</strong>. <a
- href="#signin">Join!</a>
- </div>
- <!-- div home-ini -->
- <!-- k-home-summary-right -->
- </div>
- <!-- div home-header -->
- </div>
- <div id="k-home-body">
- <div id="k-home-left">
- <div id="k-home-group-stats" style="display: none;">
- <!-- This id is optional for kune (you can create a different .html and preserve this id if you want this stats) -->
- </div>
- <!-- div home-group-stats -->
- </div>
- <!-- div k-home-left -->
- <div id="k-home-right">
- <div id="k-home-global-stats" style="display: none;">
- <!-- This id is optinal for kune (you can create a different .html but preserve this id if you want this stats) -->
- </div>
- </div>
- <!-- div k-home-right -->
- </div>
- <!-- div k-home-body -->
- <!-- <div id="k-home-footer" style="display: none;"> -->
- <!-- </div> -->
- <!-- div k-home-footer -->
- </div>
- <!-- div home-table -->
- </div>
- <!-- home-wrapper -->
- </div>
- <!-- home-prewrap -->
+ <!-- Banner for wave errors -->
+ <div class="banner" id="banner"></div>
+ <!-- Autocomplete user/pass -->
+ <form method="post" action="javascript:void(0)" style="display: none">
+ <input type="text" id="address" name="address" value="" /> <input
+ type="password" id="password" name="password" value="" /> <input
+ type="submit" value="Login" id="login" /> <input type="submit"
+ class="wiab le button" name="signIn" id="signIn" value="Sign in">
+ </form>
+ <!-- RECOMMENDED if your web app will not function without JavaScript enabled -->
+ <noscript>
+ <div
+ style="width: 22em; position: absolute; left: 50%; margin-left: -11em; color: red; background-color: white; border: 1px solid red; padding: 4px; font-family: sans-serif">
+ Your web browser must have JavaScript enabled in order for this
+ application to display correctly.</div>
+ </noscript>
+ <iframe id="__gwt_historyFrame" style="width: 0; height: 0; border: 0"></iframe>
+ <iframe src="" id="__download" style="width: 0; height: 0; border: 0"></iframe>
+ <div id="kuneinitialcurtain"></div>
+ <div id="kuneloading">
+ <div class="kuneloading-indicator">
+ <img src="ws/images/kune-anim-g.gif" width="35" height="35"
+ alt="kune-loading"
+ style="margin-right: 3px; float: left; vertical-align: top;" />kune <br />
+ <span id="kuneloading-msg">Starting...</span>
+ </div>
+ </div>
+ <div id="k-home-prewrap">
+ <div id="k-home-wrapper">
+ <!-- This id is required for kune (you can create a different .html but preserve this id) -->
+ <div id="k-home-table">
+ <div id="k-home-header"></div>
+ <!-- div home-header -->
+ <div id="k-home-intro">
+ <div id="k-home-summary-left">
+ <div id="k-home-logo">
+ <img src="ws/logo-big-home.png" alt="" />
+ </div>
+ <div id="k-home-summary">
+ <ul>
+ <li
+ style="background-image: url(ws/images/kune-intro-user.png);">Comunicate
+ with others</li>
+ <li
+ style="background-image: url(ws/images/kune-intro-group.png);">Work
+ in collaboration</li>
+ <li
+ style="background-image: url(ws/images/kune-intro-world.png);">And
+ share with the world</li>
+ </ul>
+ </div>
+ <!-- k-home-summary -->
+ </div>
+ <!-- k-home-summary-left -->
+ <div id="k-home-summary-right">
+ <div id="k-home-ini">
+ Welcome! This site is a Kune node. Kune, which means
+ "together" in esperanto, it's a network of interconnected
+ sites like this one, where you can <strong>communicate,
+ share, collaborate with others and create your web
+ spaces easily</strong>. <a href="#signin">Join!</a>
+ </div>
+ <!-- div home-ini -->
+ <!-- k-home-summary-right -->
+ </div>
+ <!-- div home-header -->
+ </div>
+ <div id="k-home-body">
+ <div id="k-home-left">
+ <div id="k-home-group-stats" style="display: none;">
+ <!-- This id is optional for kune (you can create a different .html and preserve this id if you want this stats) -->
+ </div>
+ <!-- div home-group-stats -->
+ </div>
+ <!-- div k-home-left -->
+ <div id="k-home-right">
+ <div id="k-home-global-stats" style="display: none;">
+ <!-- This id is optinal for kune (you can create a different .html but preserve this id if you want this stats) -->
+ </div>
+ </div>
+ <!-- div k-home-right -->
+ </div>
+ <!-- div k-home-body -->
+ <!-- <div id="k-home-footer" style="display: none;"> -->
+ <!-- </div> -->
+ <!-- div k-home-footer -->
+ </div>
+ <!-- div home-table -->
+ </div>
+ <!-- home-wrapper -->
+ </div>
+ <!-- home-prewrap -->
</body>
</html>
Modified: trunk/src/test/java/cc/kune/core/server/integration/StatsServiceTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/integration/StatsServiceTest.java 2011-10-11 12:07:21 UTC (rev 1556)
+++ trunk/src/test/java/cc/kune/core/server/integration/StatsServiceTest.java 2011-10-12 11:44:25 UTC (rev 1557)
@@ -21,11 +21,14 @@
import static org.junit.Assert.assertTrue;
+import java.util.List;
+
import org.junit.Before;
import org.junit.Test;
import cc.kune.core.server.stats.HomeStats;
import cc.kune.core.server.stats.StatsService;
+import cc.kune.domain.Content;
import cc.kune.domain.finders.GroupFinder;
import com.google.inject.Inject;
@@ -40,6 +43,10 @@
private void checkStats(final HomeStats homeStats) {
assertTrue(homeStats.getTotalGroups() > 0);
assertTrue(homeStats.getTotalUsers() > 0);
+ assertTrue(homeStats.getLastGroups().size() > 0);
+ assertTrue(homeStats.getLastPublishedContents().size() > 0);
+ final List<Content> lastContentsOfMyGroups = homeStats.getLastContentsOfMyGroups();
+ assertTrue(lastContentsOfMyGroups == null || lastContentsOfMyGroups.size() > 0);
}
@Transactional
@@ -50,9 +57,13 @@
@Test
public void testBasicStats() {
- HomeStats homeStats = statsService.getHomeStats();
+ final HomeStats homeStats = statsService.getHomeStats();
checkStats(homeStats);
- homeStats = statsService.getHomeStats(groupFinder.findByShortName(getDefSiteShortName()));
+ }
+
+ @Test
+ public void testLoggedStats() {
+ final HomeStats homeStats = statsService.getHomeStats(groupFinder.findByShortName(getSiteAdminShortName()));
checkStats(homeStats);
}
1
0
r1556 - in trunk/src/main: java/cc/kune/common/client/ui java/cc/kune/hspace/client webapp
by Vicente J. Ruiz Jurado 11 Oct '11
by Vicente J. Ruiz Jurado 11 Oct '11
11 Oct '11
Author: vjrj_
Date: 2011-10-11 14:07:21 +0200 (Tue, 11 Oct 2011)
New Revision: 1556
Modified:
trunk/src/main/java/cc/kune/common/client/ui/DottedTabPanel.java
trunk/src/main/java/cc/kune/hspace/client/HSpacePanel.java
trunk/src/main/webapp/ws.html
Log:
NEW - # 52: Add some stats functionality (for use) to server side
http://kune.ourproject.org/issues/ticket/52
(this last changes are no tested)
Modified: trunk/src/main/java/cc/kune/common/client/ui/DottedTabPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/DottedTabPanel.java 2011-10-10 02:25:33 UTC (rev 1555)
+++ trunk/src/main/java/cc/kune/common/client/ui/DottedTabPanel.java 2011-10-11 12:07:21 UTC (rev 1556)
@@ -26,4 +26,12 @@
public void addTab(final IsWidget view) {
tabPanel.add(view, new DottedTab());
}
+
+ public int getWidgetIndex(final IsWidget view) {
+ return tabPanel.getWidgetIndex(view.asWidget());
+ }
+
+ public void removeTab(final IsWidget view) {
+ tabPanel.remove(view.asWidget());
+ }
}
Modified: trunk/src/main/java/cc/kune/hspace/client/HSpacePanel.java
===================================================================
--- trunk/src/main/java/cc/kune/hspace/client/HSpacePanel.java 2011-10-10 02:25:33 UTC (rev 1555)
+++ trunk/src/main/java/cc/kune/hspace/client/HSpacePanel.java 2011-10-11 12:07:21 UTC (rev 1556)
@@ -30,13 +30,15 @@
interface HSpacePanelUiBinder extends UiBinder<Widget, HSpacePanel> {
}
+ public static final String K_HOME_GLOBAL_STATS = "k-home-global-stats";
+ public static final String K_HOME_GROUP_STATS = "k-home-group-stats";
+
private static HSpacePanelUiBinder uiBinder = GWT.create(HSpacePanelUiBinder.class);
private final FileDownloadUtils downUtils;
@UiField
FlowPanel globalStats;
- private final RootPanel globalStatsParent;
@UiField
public Label globalStatsTitle;
@UiField
@@ -47,7 +49,6 @@
public InlineLabel globalStatsTotalUsersCount;
@UiField
public InlineLabel globalStatsTotalUsersTitle;
- private final RootPanel groupStatsParent;
@UiField
public FlowPanel lastActivityInYourGroup;
@UiField
@@ -69,6 +70,8 @@
private final Provider<GroupContentHomeLink> linkProv;
+ private final DottedTabPanel tabPanel;
+
private final Widget widget;
@Inject
@@ -83,18 +86,20 @@
lastGroupsTitle.setText(i18n.t("Latest created groups"));
lastPublishedContentsTitle.setText(i18n.t("Latest publications"));
lastActivityInYourGroupTitle.setText(i18n.t("Latest activity in your groups"));
- final DottedTabPanel tabPanel = new DottedTabPanel("465px", "200px");
+ tabPanel = new DottedTabPanel("465px", "200px");
tabPanel.addTab(lastGroupsPanel);
// tabPanel.addTab(lastActivityPanel);
tabPanel.addTab(lastPublishedPanel);
globalStats.removeFromParent();
- // groupStats.removeFromParent();
- // FIXME: Make this optional (aitor's comment)
- globalStatsParent = RootPanel.get("k-home-global-stats");
- globalStatsParent.add(globalStats);
- groupStatsParent = RootPanel.get("k-home-group-stats");
- groupStatsParent.add(tabPanel);
+ final RootPanel globalStatsParent = RootPanel.get(K_HOME_GLOBAL_STATS);
+ final RootPanel groupStatsParent = RootPanel.get(K_HOME_GROUP_STATS);
+ if (globalStatsParent != null) {
+ globalStatsParent.add(globalStats);
+ }
+ if (groupStatsParent != null) {
+ groupStatsParent.add(tabPanel);
+ }
armor.getHomeSpace().add(RootPanel.get("k-home-wrapper"));
}
@@ -155,16 +160,18 @@
@Override
public void setStatsVisible(final boolean visible) {
- globalStatsParent.setVisible(visible);
- groupStatsParent.setVisible(visible);
+ globalStats.setVisible(visible);
+ tabPanel.setVisible(visible);
}
@Override
- public void setUserGroupsActivityVisible(final boolean logged) {
- if (logged) {
- lastActivityInYourGroup.setVisible(logged);
+ public void setUserGroupsActivityVisible(final boolean visible) {
+ final boolean isAttached = tabPanel.getWidgetIndex(lastActivityPanel) != -1;
+ if (visible && !isAttached) {
+ tabPanel.addTab(lastActivityPanel);
+ } else if (!visible && isAttached) {
+ tabPanel.removeTab(lastActivityPanel);
}
- lastActivityInYourGroupTitle.setVisible(logged);
}
}
Modified: trunk/src/main/webapp/ws.html
===================================================================
--- trunk/src/main/webapp/ws.html 2011-10-10 02:25:33 UTC (rev 1555)
+++ trunk/src/main/webapp/ws.html 2011-10-11 12:07:21 UTC (rev 1556)
@@ -5,12 +5,12 @@
<title>Kune</title>
<script type="text/javascript" language="javascript"
- src="ws/ws.nocache.js"></script>
+ src="ws/ws.nocache.js"></script>
<!--
We will use this string for mention this site in messages like: "Thanks for joining this site"
Your can use another string and the message will looks like "Thanks for joining example.org"
-->
-<meta name="kune.default.site.commonname" content="this site" />
+<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" />
@@ -32,229 +32,229 @@
<meta name="hablar.height" content="400px" />
<link rel="shortcut icon" href="ws/favicon.ico" />
<link rel="stylesheet" type="text/css"
- href="http://yui.yahooapis.com/2.8.0r4/build/reset/reset-min.css">
+ href="http://yui.yahooapis.com/2.8.0r4/build/reset/reset-min.css">
<!-- FIXME: make something local -->
<script src="//ajax.googleapis.com/ajax/libs/webfont/1/webfont.js"></script>
<script>
- WebFont.load({
- google : {
- families : [ 'Ubuntu' ]
- }
- });
+ WebFont.load({
+ google : {
+ families : [ 'Ubuntu' ]
+ }
+ });
</script>
<link
- href='http://fonts.googleapis.com/css?family=Ubuntu:regular,italic,bold,bolditalic'
- rel='stylesheet' type='text/css'>
+ href='http://fonts.googleapis.com/css?family=Ubuntu:regular,italic,bold,bolditalic'
+ rel='stylesheet' type='text/css'>
<!-- <link href='http://fonts.googleapis.com/css?family=Inconsolata'
rel='stylesheet' type='text/css'> -->
<link type="text/css" rel="stylesheet" href="ws/gxt/css/gxt-all.css">
<link type="text/css" rel="stylesheet" href="ws/gxt/css/gxt-gray.css">
<link type="text/css" rel="stylesheet"
- href="ws/gxt-custom/css/gxt-op-common.css">
+ href="ws/gxt-custom/css/gxt-op-common.css">
<link type="text/css" rel="stylesheet" href="ws/kune-hablar.css">
<link type="text/css" rel="stylesheet" href="ws/kune-chat.css">
<link type="text/css" rel="stylesheet" href="ws/kune-common.css">
<link type="text/css" rel="stylesheet"
- href="ws/fontface/ubuntufontface.css">
+ href="ws/fontface/ubuntufontface.css">
<link type="text/css" rel="stylesheet" href="ws/kune-message.css">
<link type="text/css" rel="stylesheet"
- href="others/splash/style/permalink.css">
+ href="others/splash/style/permalink.css">
<link type="text/css" rel="stylesheet"
- href="others/splash/style/stuff.css">
+ href="others/splash/style/stuff.css">
<link type="text/css" rel="stylesheet"
- href="others/splash/style/main.css">
+ href="others/splash/style/main.css">
<link type="text/css" rel="stylesheet" href="ws/ws.css">
<script type="text/javascript" src="others/splash/js/gadget.js"></script>
<script type="text/javascript" src="others/splash/js/rpc.js"></script>
<script type="text/javascript" src="others/splash/js/common_client.js"></script>
<script type="text/javascript"
- src="others/splash/js/permalink_client.js"></script>
+ src="others/splash/js/permalink_client.js"></script>
<script type="text/javascript"
- src="http://wave.google.com/gadgets/js/core:rpc.js?c=1"></script>
+ src="http://wave.google.com/gadgets/js/core:rpc.js?c=1"></script>
<style type="text/css">
body {
- background-color: white;
- color: black;
- font-family: 'Ubuntu', Arial;
- font-size: small;
- overflow: hidden;
+ background-color: white;
+ color: black;
+ font-family: 'Ubuntu', Arial;
+ font-size: small;
+ overflow: hidden;
}
#kuneloading {
- position: absolute;
- left: 2%;
- top: 2%;
- z-index: 20001;
- height: auto;
- border: solid 2px #ccc;
- -moz-border-radius: 10px;
- -webkit-border-radius: 10px;
- border-radius: 10px;
- background-color: white;
+ position: absolute;
+ left: 2%;
+ top: 2%;
+ z-index: 20001;
+ height: auto;
+ border: solid 2px #ccc;
+ -moz-border-radius: 10px;
+ -webkit-border-radius: 10px;
+ border-radius: 10px;
+ background-color: white;
}
#kuneloading a {
- color: #225588;
+ color: #225588;
}
#kuneloading .kuneloading-indicator {
- color: #444;
- font: bold 13px tahoma, arial, helvetica;
- padding: 3px 3px 8px;
- margin: 0;
- height: auto;
+ color: #444;
+ font: bold 13px tahoma, arial, helvetica;
+ padding: 3px 3px 8px;
+ margin: 0;
+ height: auto;
}
#kuneloading-msg {
- font: normal 10px arial, tahoma, sans-serif;
+ font: normal 10px arial, tahoma, sans-serif;
}
#k-home-prewrap {
- margin-top: -22px;
+ margin-top: -22px;
}
#k-home-wrapper {
- margin-left: auto;
- margin-right: auto;
- position: relative;
- width: 665px;
- min-width: 320px;
+ margin-left: auto;
+ margin-right: auto;
+ position: relative;
+ width: 665px;
+ min-width: 320px;
}
#k-home-ini { /* clear: both; */
- font-size: 20px;
- color: #69312f;
- text-align: justify;
- /* padding: 27px 0; */
- /* line-height: 1.3em; */
+ font-size: 20px;
+ color: #69312f;
+ text-align: justify;
+ /* padding: 27px 0; */
+ /* line-height: 1.3em; */
}
#k-home-ini a {
- color: #803000;
- font-weight: bold;
+ color: #803000;
+ font-weight: bold;
}
#k-home-ini strong {
- font-weight: bold;
+ font-weight: bold;
}
#k-home-table {
- display: block;
+ display: block;
}
#k-home-header {
- display: table-row;
- float: right;
+ display: table-row;
+ float: right;
}
#k-home-intro {
- display: table-row;
+ display: table-row;
}
#k-home-footer {
- display: table-row;
- font-size: 14px;
- text-align: right;
- color: #8a5050;
+ display: table-row;
+ font-size: 14px;
+ text-align: right;
+ color: #8a5050;
}
#k-home-logo {
- margin: 50px 0 22px 0;
+ margin: 50px 0 22px 0;
}
#k-home-summary {
- font-size: 28px;
- color: #dd8a3d;
- font-weight: bold;
- white-space: nowrap;
+ font-size: 28px;
+ color: #dd8a3d;
+ font-weight: bold;
+ white-space: nowrap;
}
#k-home-summary li {
- padding-left: 41px;
- background-repeat: no-repeat;
- background-position: 0 .2em;
- line-height: 45px;
+ padding-left: 41px;
+ background-repeat: no-repeat;
+ background-position: 0 .2em;
+ line-height: 45px;
}
#k-home-body { /* display: table-row;*/
- clear: both;
- display: block;
+ clear: both;
+ display: block;
}
#k-home-left,#k-home-summary-left {
- display: table-cell;
+ display: table-cell;
}
#k-home-left {
- float: left;
+ float: left;
}
#k-home-right,#k-home-summary-right {
- display: table-cell;
- text-align: right;
- padding-left: 20px;
+ display: table-cell;
+ text-align: right;
+ padding-left: 20px;
}
#k-home-summary-right {
- padding-top: 42px;
- vertical-align: bottom;
+ padding-top: 42px;
+ vertical-align: bottom;
}
#k-home-right {
- white-space: nowrap;
- vertical-align: top;
- padding-top: 20px;
- float: right;
+ white-space: nowrap;
+ vertical-align: top;
+ padding-top: 20px;
+ float: right;
}
#k-home-group-stats {
- color: #c87137;
+ color: #c87137;
}
#k-home-global-stats {
-
+
}
.k-home-title {
- color: #c87137;
- font-size: 18px;
- font-weight: bold;
- padding-top: 10px;
- /* clear: both; */
+ color: #c87137;
+ font-size: 18px;
+ font-weight: bold;
+ padding-top: 10px;
+ /* clear: both; */
}
.k-home-normal-text {
- color: #8a5050;
- font-size: 16px;
+ color: #8a5050;
+ font-size: 16px;
}
.k-home-em-text {
- color: #8a5050;
- font-size: 18px;
- font-weight: bold;
+ color: #8a5050;
+ font-size: 18px;
+ font-weight: bold;
}
.k-home-group-cnt-icon {
- float: left;
+ float: left;
}
.k-home-group-cnt-link {
- float: left;
+ float: left;
}
.k-home-group-cnt-link a {
- color: #8a5050;
- padding-left: 10px;
+ color: #8a5050;
+ padding-left: 10px;
}
.k-home-group-stats-item {
- clear: both;
- /* line-height: 1.2em; */
+ clear: both;
+ /* line-height: 1.2em; */
}
.banner {
- margin: 30px;
+ margin: 30px;
}
</style>
<!--[if IE 6]>
@@ -262,97 +262,97 @@
<![endif]-->
</head>
<body>
- <!-- Banner for wave errors -->
- <div class="banner" id="banner"></div>
- <!-- Autocomplete user/pass -->
- <form method="post" action="javascript:void(0)" style="display: none">
- <input type="text" id="address" name="address" value="" /> <input
- type="password" id="password" name="password" value="" /> <input
- type="submit" value="Login" id="login" /> <input type="submit"
- class="wiab le button" name="signIn" id="signIn" value="Sign in">
- </form>
- <!-- RECOMMENDED if your web app will not function without JavaScript enabled -->
- <noscript>
- <div
- style="width: 22em; position: absolute; left: 50%; margin-left: -11em; color: red; background-color: white; border: 1px solid red; padding: 4px; font-family: sans-serif">
- Your web browser must have JavaScript enabled in order for this
- application to display correctly.</div>
- </noscript>
- <iframe id="__gwt_historyFrame" style="width: 0; height: 0; border: 0"></iframe>
- <iframe src="" id="__download" style="width: 0; height: 0; border: 0"></iframe>
- <div id="kuneinitialcurtain"></div>
- <div id="kuneloading">
- <div class="kuneloading-indicator">
- <img src="ws/images/kune-anim-g.gif" width="35" height="35"
- alt="kune-loading"
- style="margin-right: 3px; float: left; vertical-align: top;" />kune <br />
- <span id="kuneloading-msg">Starting...</span>
- </div>
- </div>
- <div id="k-home-prewrap">
- <div id="k-home-wrapper">
- <!-- This id is required for kune (you can create a different .html but preserve this id) -->
- <div id="k-home-table">
- <div id="k-home-header"></div>
- <!-- div home-header -->
- <div id="k-home-intro">
- <div id="k-home-summary-left">
- <div id="k-home-logo">
- <img src="ws/logo-big-home.png" alt="" />
- </div>
- <div id="k-home-summary">
- <ul>
- <li
- style="background-image: url(ws/images/kune-intro-user.png);">Comunicate
- with others</li>
- <li
- style="background-image: url(ws/images/kune-intro-group.png);">Work
- in collaboration</li>
- <li
- style="background-image: url(ws/images/kune-intro-world.png);">And
- share with the world</li>
- </ul>
- </div>
- <!-- k-home-summary -->
- </div>
- <!-- k-home-summary-left -->
- <div id="k-home-summary-right">
- <div id="k-home-ini">
- Welcome! This site is a Kune node. Kune, which means
- "together" in esperanto, it's a network of interconnected
- sites like this one, where you can <strong>communicate,
- share, collaborate with others and create your web
- spaces easily</strong>. <a href="#signin">Join!</a>
- </div>
- <!-- div home-ini -->
- <!-- k-home-summary-right -->
- </div>
- <!-- div home-header -->
- </div>
- <div id="k-home-body">
- <div id="k-home-left">
- <div id="k-home-group-stats" style="display: none;">
- <!-- This id is required for kune (you can create a different .html but preserve this id) -->
- </div>
- <!-- div home-group-stats -->
- </div>
- <!-- div k-home-left -->
- <div id="k-home-right">
- <div id="k-home-global-stats" style="display: none;">
- <!-- This id is required for kune (you can create a different .html but preserve this id) -->
- </div>
- </div>
- <!-- div k-home-right -->
- </div>
- <!-- div k-home-body -->
- <!-- <div id="k-home-footer" style="display: none;"> -->
- <!-- </div> -->
- <!-- div k-home-footer -->
- </div>
- <!-- div home-table -->
- </div>
- <!-- home-wrapper -->
- </div>
- <!-- home-prewrap -->
+ <!-- Banner for wave errors -->
+ <div class="banner" id="banner"></div>
+ <!-- Autocomplete user/pass -->
+ <form method="post" action="javascript:void(0)" style="display: none">
+ <input type="text" id="address" name="address" value="" /> <input
+ type="password" id="password" name="password" value="" /> <input
+ type="submit" value="Login" id="login" /> <input type="submit"
+ class="wiab le button" name="signIn" id="signIn" value="Sign in">
+ </form>
+ <!-- RECOMMENDED if your web app will not function without JavaScript enabled -->
+ <noscript>
+ <div
+ style="width: 22em; position: absolute; left: 50%; margin-left: -11em; color: red; background-color: white; border: 1px solid red; padding: 4px; font-family: sans-serif">
+ Your web browser must have JavaScript enabled in order for this
+ application to display correctly.</div>
+ </noscript>
+ <iframe id="__gwt_historyFrame" style="width: 0; height: 0; border: 0"></iframe>
+ <iframe src="" id="__download" style="width: 0; height: 0; border: 0"></iframe>
+ <div id="kuneinitialcurtain"></div>
+ <div id="kuneloading">
+ <div class="kuneloading-indicator">
+ <img src="ws/images/kune-anim-g.gif" width="35" height="35"
+ alt="kune-loading"
+ style="margin-right: 3px; float: left; vertical-align: top;" />kune <br />
+ <span id="kuneloading-msg">Starting...</span>
+ </div>
+ </div>
+ <div id="k-home-prewrap">
+ <div id="k-home-wrapper">
+ <!-- This id is required for kune (you can create a different .html but preserve this id) -->
+ <div id="k-home-table">
+ <div id="k-home-header"></div>
+ <!-- div home-header -->
+ <div id="k-home-intro">
+ <div id="k-home-summary-left">
+ <div id="k-home-logo">
+ <img src="ws/logo-big-home.png" alt="" />
+ </div>
+ <div id="k-home-summary">
+ <ul>
+ <li
+ style="background-image: url(ws/images/kune-intro-user.png);">Comunicate
+ with others</li>
+ <li
+ style="background-image: url(ws/images/kune-intro-group.png);">Work
+ in collaboration</li>
+ <li
+ style="background-image: url(ws/images/kune-intro-world.png);">And
+ share with the world</li>
+ </ul>
+ </div>
+ <!-- k-home-summary -->
+ </div>
+ <!-- k-home-summary-left -->
+ <div id="k-home-summary-right">
+ <div id="k-home-ini">
+ Welcome! This site is a Kune node. Kune, which means "together"
+ in esperanto, it's a network of interconnected sites like this
+ one, where you can <strong>communicate, share,
+ collaborate with others and create your web spaces easily</strong>. <a
+ href="#signin">Join!</a>
+ </div>
+ <!-- div home-ini -->
+ <!-- k-home-summary-right -->
+ </div>
+ <!-- div home-header -->
+ </div>
+ <div id="k-home-body">
+ <div id="k-home-left">
+ <div id="k-home-group-stats" style="display: none;">
+ <!-- This id is optional for kune (you can create a different .html and preserve this id if you want this stats) -->
+ </div>
+ <!-- div home-group-stats -->
+ </div>
+ <!-- div k-home-left -->
+ <div id="k-home-right">
+ <div id="k-home-global-stats" style="display: none;">
+ <!-- This id is optinal for kune (you can create a different .html but preserve this id if you want this stats) -->
+ </div>
+ </div>
+ <!-- div k-home-right -->
+ </div>
+ <!-- div k-home-body -->
+ <!-- <div id="k-home-footer" style="display: none;"> -->
+ <!-- </div> -->
+ <!-- div k-home-footer -->
+ </div>
+ <!-- div home-table -->
+ </div>
+ <!-- home-wrapper -->
+ </div>
+ <!-- home-prewrap -->
</body>
</html>
1
0
r1555 - in trunk/src/main/java/cc/kune: chat/client/actions core/client/rpcservices core/server/manager core/server/manager/impl core/server/rpc wave/server
by Vicente J. Ruiz Jurado 10 Oct '11
by Vicente J. Ruiz Jurado 10 Oct '11
10 Oct '11
Author: vjrj_
Date: 2011-10-10 04:25:33 +0200 (Mon, 10 Oct 2011)
New Revision: 1555
Added:
trunk/src/main/java/cc/kune/chat/client/actions/StartAssemblyWithMembersAction.java
Modified:
trunk/src/main/java/cc/kune/chat/client/actions/OpenGroupPublicChatRoomAction.java
trunk/src/main/java/cc/kune/chat/client/actions/StartAssemblyWithMembers.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/server/manager/KuneWaveManager.java
trunk/src/main/java/cc/kune/core/server/manager/impl/KuneWaveManagerDefault.java
trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java
trunk/src/main/java/cc/kune/wave/server/KuneWaveService.java
trunk/src/main/java/cc/kune/wave/server/KuneWaveServiceDefault.java
Log:
CLOSED - # 130: When starting assemblies ask for minutes doc creation
http://kune.ourproject.org/issues/ticket/130
Modified: trunk/src/main/java/cc/kune/chat/client/actions/OpenGroupPublicChatRoomAction.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/actions/OpenGroupPublicChatRoomAction.java 2011-10-10 01:21:14 UTC (rev 1554)
+++ trunk/src/main/java/cc/kune/chat/client/actions/OpenGroupPublicChatRoomAction.java 2011-10-10 02:25:33 UTC (rev 1555)
@@ -43,15 +43,14 @@
import com.calclab.emite.im.client.chat.ChatStates;
import com.calclab.emite.xep.muc.client.Occupant;
import com.calclab.emite.xep.muc.client.Room;
-import com.calclab.emite.xep.muc.client.RoomManager;
import com.google.inject.Inject;
public class OpenGroupPublicChatRoomAction extends RolActionAutoUpdated {
private final ChatClient chatClient;
- private final I18nTranslationService i18n;
+ protected final I18nTranslationService i18n;
private boolean inviteMembers;
- private final Session session;
+ protected final Session session;
@SuppressWarnings("deprecation")
@Inject
@@ -63,7 +62,6 @@
this.session = session;
this.chatClient = chatClient;
this.i18n = i18n;
- final RoomManager roomManager = chatInstances.roomManager;
stateManager.onStateChanged(true, new StateChangedHandler() {
@Override
public void onStateChanged(final StateChangedEvent event) {
Modified: trunk/src/main/java/cc/kune/chat/client/actions/StartAssemblyWithMembers.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/actions/StartAssemblyWithMembers.java 2011-10-10 01:21:14 UTC (rev 1554)
+++ trunk/src/main/java/cc/kune/chat/client/actions/StartAssemblyWithMembers.java 2011-10-10 02:25:33 UTC (rev 1555)
@@ -28,7 +28,7 @@
public class StartAssemblyWithMembers extends MenuItemDescriptor {
@Inject
- public StartAssemblyWithMembers(final OpenGroupPublicChatRoomAction action,
+ public StartAssemblyWithMembers(final StartAssemblyWithMembersAction action,
final I18nTranslationService i18n) {
super(action);
action.setInviteMembers(true);
Added: trunk/src/main/java/cc/kune/chat/client/actions/StartAssemblyWithMembersAction.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/actions/StartAssemblyWithMembersAction.java (rev 0)
+++ trunk/src/main/java/cc/kune/chat/client/actions/StartAssemblyWithMembersAction.java 2011-10-10 02:25:33 UTC (rev 1555)
@@ -0,0 +1,65 @@
+package cc.kune.chat.client.actions;
+
+import java.util.Date;
+
+import cc.kune.chat.client.ChatClient;
+import cc.kune.chat.client.ChatInstances;
+import cc.kune.chat.client.resources.ChatResources;
+import cc.kune.common.client.actions.ActionEvent;
+import cc.kune.common.client.notify.NotifyUser;
+import cc.kune.common.client.utils.SimpleResponseCallback;
+import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
+import cc.kune.core.client.rpcservices.ContentServiceAsync;
+import cc.kune.core.client.state.AccessRightsClientManager;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.StateManager;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+
+import com.google.gwt.i18n.client.DateTimeFormat;
+import com.google.gwt.i18n.client.DateTimeFormat.PredefinedFormat;
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
+public class StartAssemblyWithMembersAction extends OpenGroupPublicChatRoomAction {
+
+ private final Provider<ContentServiceAsync> contentService;
+
+ @Inject
+ public StartAssemblyWithMembersAction(final Session session,
+ final AccessRightsClientManager accessRightsClientManager, final ChatClient chatClient,
+ final StateManager stateManager, final I18nTranslationService i18n, final ChatResources res,
+ final ChatInstances chatInstances, final Provider<ContentServiceAsync> contentService) {
+ super(session, accessRightsClientManager, chatClient, stateManager, i18n, res, chatInstances);
+ this.contentService = contentService;
+ }
+
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ NotifyUser.askConfirmation(i18n.t("Please confirm"),
+ i18n.t("Start a collaborative document for the meeting minutes?"), new SimpleResponseCallback() {
+ @Override
+ public void onCancel() {
+ }
+
+ @Override
+ public void onSuccess() {
+ contentService.get().writeTo(
+ session.getUserHash(),
+ session.getCurrentStateToken(),
+ false,
+ i18n.t("Meeting minutes of [%s] on [%s]", session.getCurrentGroupShortName(),
+ DateTimeFormat.getFormat(PredefinedFormat.DATE_LONG).format(new Date())),
+ i18n.t("You can collaboratively edit this document with the meeting minutes."),
+ new AsyncCallbackSimple<String>() {
+ @Override
+ public void onSuccess(final String url) {
+ stateManager.gotoHistoryToken(url);
+ NotifyUser.info("Now you can edit this message");
+ }
+ });
+ }
+ });
+ super.actionPerformed(event);
+ }
+
+}
Property changes on: trunk/src/main/java/cc/kune/chat/client/actions/StartAssemblyWithMembersAction.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/ContentService.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/ContentService.java 2011-10-10 01:21:14 UTC (rev 1554)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/ContentService.java 2011-10-10 02:25:33 UTC (rev 1555)
@@ -90,4 +90,7 @@
TagCloudResult setTags(String userHash, StateToken token, String tags) throws DefaultException;
String writeTo(String userHash, StateToken token, boolean onlyToAdmins) throws DefaultException;
+
+ String writeTo(String userHash, StateToken token, boolean onlyToAdmins, String title, String message)
+ 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 2011-10-10 01:21:14 UTC (rev 1554)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceAsync.java 2011-10-10 02:25:33 UTC (rev 1555)
@@ -99,4 +99,7 @@
void writeTo(String userHash, StateToken token, boolean onlyToAdmins, AsyncCallback<String> callback);
+ void writeTo(String userHash, StateToken token, boolean onlyToAdmins, String title, String message,
+ AsyncCallback<String> callback);
+
}
Modified: trunk/src/main/java/cc/kune/core/server/manager/KuneWaveManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/manager/KuneWaveManager.java 2011-10-10 01:21:14 UTC (rev 1554)
+++ trunk/src/main/java/cc/kune/core/server/manager/KuneWaveManager.java 2011-10-10 02:25:33 UTC (rev 1555)
@@ -8,4 +8,6 @@
String writeTo(User user, String groupName, boolean onlyToAdmins);
+ String writeTo(User user, String groupName, boolean onlyToAdmins, String title, String content);
+
}
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 2011-10-10 01:21:14 UTC (rev 1554)
+++ trunk/src/main/java/cc/kune/core/server/manager/impl/KuneWaveManagerDefault.java 2011-10-10 02:25:33 UTC (rev 1555)
@@ -58,6 +58,12 @@
@Override
public String writeTo(final User user, final String groupName, final boolean onlyToAdmins) {
+ return writeTo(user, groupName, onlyToAdmins, KuneWaveService.NO_TITLE, KuneWaveService.NO_MESSAGE);
+ }
+
+ @Override
+ 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());
@@ -79,6 +85,6 @@
toList.addAll(group.getSocialNetwork().getAccessLists().getEditors().getList());
}
}
- return KuneWaveUtils.getUrl(waveService.createWave("", participantUtils.listFrom(toList)));
+ return KuneWaveUtils.getUrl(waveService.createWave(title, message, participantUtils.listFrom(toList)));
}
}
Modified: trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java 2011-10-10 01:21:14 UTC (rev 1554)
+++ trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java 2011-10-10 02:25:33 UTC (rev 1555)
@@ -521,4 +521,13 @@
return waveManager.writeTo(user, token.getGroup(), onlyToAdmins);
}
+ @Override
+ @Authenticated
+ @Transactional
+ public String writeTo(final String userHash, final StateToken token, final boolean onlyToAdmins,
+ final String title, final String message) throws DefaultException {
+ final User user = getCurrentUser();
+ return waveManager.writeTo(user, token.getGroup(), onlyToAdmins, title, message);
+ }
+
}
Modified: trunk/src/main/java/cc/kune/wave/server/KuneWaveService.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/server/KuneWaveService.java 2011-10-10 01:21:14 UTC (rev 1554)
+++ trunk/src/main/java/cc/kune/wave/server/KuneWaveService.java 2011-10-10 02:25:33 UTC (rev 1555)
@@ -29,6 +29,8 @@
import com.google.wave.api.Wavelet;
public interface KuneWaveService {
+ public static final String NO_MESSAGE = "";
+ public static final String NO_TITLE = "";
public static final URL WITHOUT_GADGET = null;
void addGadget(WaveRef waveName, String author, String gadgetUrl);
Modified: trunk/src/main/java/cc/kune/wave/server/KuneWaveServiceDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/server/KuneWaveServiceDefault.java 2011-10-10 01:21:14 UTC (rev 1554)
+++ trunk/src/main/java/cc/kune/wave/server/KuneWaveServiceDefault.java 2011-10-10 02:25:33 UTC (rev 1555)
@@ -87,7 +87,6 @@
// See: DocumentModifyServiceTest
private static final String NO_ANNOTATION_KEY = null;
private static final List<BundledAnnotation> NO_BUNDLED_ANNOTATIONS = Collections.emptyList();
- private static final String NO_TITLE = "";
private static final List<String> NO_VALUES = Collections.<String> emptyList();
private static final String NO_WAVE_TO_COPY = null;
1
0
Author: vjrj_
Date: 2011-10-10 03:21:14 +0200 (Mon, 10 Oct 2011)
New Revision: 1554
Modified:
trunk/src/main/webapp/others/kune-client-actions.xml
Log:
Small bug in image extension
Modified: trunk/src/main/webapp/others/kune-client-actions.xml
===================================================================
--- trunk/src/main/webapp/others/kune-client-actions.xml 2011-10-10 00:40:45 UTC (rev 1553)
+++ trunk/src/main/webapp/others/kune-client-actions.xml 2011-10-10 01:21:14 UTC (rev 1554)
@@ -404,11 +404,10 @@
<description>Lets you insert, resize and annotate any image from
the web.
</description>
- <new-content-title>Edit this to insert, resize and annotate any
+ <new-content-title>New image</new-content-title>
+ <new-content-textintro>Edit this to insert, resize and annotate any
image from the web. The image can be annotated (double click on
- it) by any participant of this document.
- </new-content-title>
- <new-content-textintro></new-content-textintro>
+ it) by any participant of this document</new-content-textintro>
<enabled>true</enabled>
<typeIds>
<typeId origTypeId="docs.folder" destTypeId="docs.doc"/>
1
0
Author: vjrj_
Date: 2011-10-10 02:40:45 +0200 (Mon, 10 Oct 2011)
New Revision: 1553
Modified:
trunk/src/main/java/cc/kune/core/public/mante.html
Log:
Better mante index
Modified: trunk/src/main/java/cc/kune/core/public/mante.html
===================================================================
--- trunk/src/main/java/cc/kune/core/public/mante.html 2011-10-10 00:18:37 UTC (rev 1552)
+++ trunk/src/main/java/cc/kune/core/public/mante.html 2011-10-10 00:40:45 UTC (rev 1553)
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>System Down for Maintenance</title>
- <link rel="shortcut icon" href="favicon.ico" />
+ <link rel="shortcut icon" href="/favicon.ico" />
<link rel="stylesheet" type="text/css"
href="http://yui.yahooapis.com/2.8.0r4/build/reset/reset-min.css">
<!-- FIXME: make something local -->
@@ -137,7 +137,7 @@
<div id="k-mante-table">
<div id="k-mante-header">
<div id="k-mante-logo">
- <img src="logo-big-home.png" alt="" />
+ <img src="/logo-big-home.png" alt="" />
</div>
</div>
<!-- div home-header -->
1
0
r1552 - in trunk/src: main/java/cc/kune/msgs/client test/java/cc/kune/core/server/manager
by Vicente J. Ruiz Jurado 10 Oct '11
by Vicente J. Ruiz Jurado 10 Oct '11
10 Oct '11
Author: vjrj_
Date: 2011-10-10 02:18:37 +0200 (Mon, 10 Oct 2011)
New Revision: 1552
Modified:
trunk/src/main/java/cc/kune/msgs/client/UserMessage.ui.xml
trunk/src/test/java/cc/kune/core/server/manager/I18nManagerDefaultTest.java
Log:
Minor compilation and test fixes
Modified: trunk/src/main/java/cc/kune/msgs/client/UserMessage.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/msgs/client/UserMessage.ui.xml 2011-10-09 23:53:17 UTC (rev 1551)
+++ trunk/src/main/java/cc/kune/msgs/client/UserMessage.ui.xml 2011-10-10 00:18:37 UTC (rev 1552)
@@ -9,7 +9,7 @@
}
}
- @elif user.agent gecko1_8 {
+ @else {
.k-msg-width {
width: auto;
}
Modified: trunk/src/test/java/cc/kune/core/server/manager/I18nManagerDefaultTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/manager/I18nManagerDefaultTest.java 2011-10-09 23:53:17 UTC (rev 1551)
+++ trunk/src/test/java/cc/kune/core/server/manager/I18nManagerDefaultTest.java 2011-10-10 00:18:37 UTC (rev 1552)
@@ -75,20 +75,20 @@
@Test
public void getNonExistentTranslationInAnyLangReturnsKey() {
HashMap<String, String> map = translationManager.getLexicon("en");
- HashMap<String, String> map2 = translationManager.getLexicon("aa");
+ HashMap<String, String> map2 = translationManager.getLexicon("af");
final int initialSize = map.size();
final int initialSize2 = map2.size();
final String translation = translationManager.getTranslation("es", "Foo foo foo",
"note for translators");
- final String translation2 = translationManager.getTranslation("aa", "Foo foo foo",
+ final String translation2 = translationManager.getTranslation("af", "Foo foo foo",
"note for translators");
assertEquals(I18nTranslation.UNTRANSLATED_VALUE, translation);
assertEquals(I18nTranslation.UNTRANSLATED_VALUE, translation2);
map = translationManager.getLexicon("en");
- map2 = translationManager.getLexicon("aa");
+ map2 = translationManager.getLexicon("af");
final int newSize = map.size();
final int newSize2 = map2.size();
1
0
Author: vjrj_
Date: 2011-10-10 01:53:17 +0200 (Mon, 10 Oct 2011)
New Revision: 1551
Added:
trunk/src/main/java/cc/kune/core/client/errors/WrongCurrentPasswordException.java
trunk/src/main/java/cc/kune/core/client/resources/lock.png
trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptPass.java
trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptPassPanel.java
trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptPassPresenter.java
trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptPassView.java
Modified:
trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java
trunk/src/main/java/cc/kune/core/client/auth/RegisterForm.java
trunk/src/main/java/cc/kune/core/client/auth/UserFieldFactory.java
trunk/src/main/java/cc/kune/core/client/i18n/I18nUITranslationService.java
trunk/src/main/java/cc/kune/core/client/resources/CoreResources.java
trunk/src/main/java/cc/kune/core/client/rpcservices/UserService.java
trunk/src/main/java/cc/kune/core/client/sitebar/SitebarSignInLink.java
trunk/src/main/java/cc/kune/core/client/state/Session.java
trunk/src/main/java/cc/kune/core/client/state/SessionDefault.java
trunk/src/main/java/cc/kune/core/server/manager/impl/I18nTranslationManagerDefault.java
trunk/src/main/java/cc/kune/core/server/manager/impl/UserManagerDefault.java
trunk/src/main/java/cc/kune/core/server/rpc/UserRPC.java
trunk/src/main/java/cc/kune/core/shared/dto/InitDataDTO.java
trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java
trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java
trunk/src/main/java/cc/kune/gspace/client/options/EntityOptionsView.java
trunk/src/main/java/cc/kune/gspace/client/options/general/EntityOptGeneralPanel.java
trunk/src/main/java/cc/kune/gspace/client/options/general/EntityOptGeneralPresenter.java
trunk/src/main/java/cc/kune/gspace/client/options/general/GroupOptGeneralPanel.java
trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneralPanel.java
trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneralPresenter.java
trunk/src/main/resources/db/liquibase_changelog.xml
trunk/src/main/resources/kune.properties
trunk/src/main/webapp/ws.html
trunk/src/test/java/cc/kune/core/server/integration/site/UserServiceTest.java
Log:
CLOSED - # 138: Add change password functionality to the User Interface
http://kune.ourproject.org/issues/ticket/138
Modified: trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java 2011-10-09 11:31:10 UTC (rev 1550)
+++ trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java 2011-10-09 23:53:17 UTC (rev 1551)
@@ -104,7 +104,7 @@
public void run() {
setBlink(false);
}
- }.schedule(10000);
+ }.schedule(20000);
}
});
}
Modified: trunk/src/main/java/cc/kune/core/client/auth/RegisterForm.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/auth/RegisterForm.java 2011-10-09 11:31:10 UTC (rev 1550)
+++ trunk/src/main/java/cc/kune/core/client/auth/RegisterForm.java 2011-10-09 23:53:17 UTC (rev 1551)
@@ -19,8 +19,6 @@
\*/
package cc.kune.core.client.auth;
-import cc.kune.common.client.utils.TextUtils;
-import cc.kune.core.client.resources.CoreMessages;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.ui.DefaultForm;
import cc.kune.core.shared.i18n.I18nTranslationService;
@@ -60,32 +58,12 @@
longNameRegField.setTabIndex(2);
add(longNameRegField);
- passwdRegField = new TextField<String>();
+ passwdRegField = userFieldFactory.createUserPasswd(PASSWORD_FIELD, i18n.t("Password"));
passwdRegField.setTabIndex(3);
- passwdRegField.setFieldLabel(i18n.t("Password"));
- passwdRegField.setName(PASSWORD_FIELD);
- passwdRegField.setPassword(true);
- passwdRegField.setAllowBlank(false);
- passwdRegField.setMinLength(6);
- passwdRegField.setMaxLength(40);
- passwdRegField.getMessages().setMinLengthText(i18n.t(CoreMessages.PASSWD_MUST_BE_BETWEEN_6_AND_40));
- passwdRegField.getMessages().setMaxLengthText(i18n.t(CoreMessages.PASSWD_MUST_BE_BETWEEN_6_AND_40));
- passwdRegField.setWidth(DEF_MEDIUM_FIELD_WIDTH);
- passwdRegField.setValidationDelay(1000);
- passwdRegField.setId(PASSWORD_FIELD);
add(passwdRegField);
- // http://www.sencha.com/forum/showthread.php?49702-GXT-Form-Validation
- emailRegField = new TextField<String>();
+ emailRegField = userFieldFactory.createUserEmail(EMAIL_FIELD);
emailRegField.setTabIndex(5);
- emailRegField.setFieldLabel(i18n.t("Email"));
- emailRegField.setName(EMAIL_FIELD);
- emailRegField.setRegex(TextUtils.EMAIL_REGEXP);
- emailRegField.getMessages().setRegexText(i18n.t("This is not a valid email"));
- emailRegField.setWidth(DEF_MEDIUM_FIELD_WIDTH);
- emailRegField.setAllowBlank(false);
- emailRegField.setValidationDelay(1000);
- emailRegField.setId(EMAIL_FIELD);
add(emailRegField);
}
Modified: trunk/src/main/java/cc/kune/core/client/auth/UserFieldFactory.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/auth/UserFieldFactory.java 2011-10-09 11:31:10 UTC (rev 1550)
+++ trunk/src/main/java/cc/kune/core/client/auth/UserFieldFactory.java 2011-10-09 23:53:17 UTC (rev 1551)
@@ -1,5 +1,6 @@
package cc.kune.core.client.auth;
+import cc.kune.common.client.utils.TextUtils;
import cc.kune.core.client.resources.CoreMessages;
import cc.kune.core.client.ui.DefaultForm;
import cc.kune.core.shared.i18n.I18nTranslationService;
@@ -18,6 +19,20 @@
this.i18n = i18n;
}
+ public TextField<String> createUserEmail(final String fieldId) {
+ // http://www.sencha.com/forum/showthread.php?49702-GXT-Form-Validation
+ final TextField<String> emailRegField = new TextField<String>();
+ emailRegField.setFieldLabel(i18n.t("Email"));
+ emailRegField.setName(fieldId);
+ emailRegField.setRegex(TextUtils.EMAIL_REGEXP);
+ emailRegField.getMessages().setRegexText(i18n.t("This is not a valid email"));
+ emailRegField.setWidth(DefaultForm.DEF_MEDIUM_FIELD_WIDTH);
+ emailRegField.setAllowBlank(false);
+ emailRegField.setValidationDelay(1000);
+ emailRegField.setId(fieldId);
+ return emailRegField;
+ }
+
public TextField<String> createUserLongName(final String fieldId) {
final TextField<String> longNameRegField = new TextField<String>();
longNameRegField.setFieldLabel(i18n.t("Name"));
@@ -30,6 +45,22 @@
return longNameRegField;
}
+ public TextField<String> createUserPasswd(final String fieldId, final String fieldText) {
+ final TextField<String> passwdRegField = new TextField<String>();
+ passwdRegField.setFieldLabel(fieldText);
+ passwdRegField.setName(fieldId);
+ passwdRegField.setPassword(true);
+ passwdRegField.setAllowBlank(false);
+ passwdRegField.setMinLength(6);
+ passwdRegField.setMaxLength(40);
+ passwdRegField.getMessages().setMinLengthText(i18n.t(CoreMessages.PASSWD_MUST_BE_BETWEEN_6_AND_40));
+ passwdRegField.getMessages().setMaxLengthText(i18n.t(CoreMessages.PASSWD_MUST_BE_BETWEEN_6_AND_40));
+ passwdRegField.setWidth(DefaultForm.DEF_MEDIUM_FIELD_WIDTH);
+ passwdRegField.setValidationDelay(1000);
+ passwdRegField.setId(fieldId);
+ return passwdRegField;
+ }
+
public TextField<String> createUserShortName(final String fieldId) {
final String minMaxText = i18n.t(CoreMessages.FIELD_MUST_BE_BETWEEN_3_AND_15);
final TextField<String> field = new TextField<String>();
Added: trunk/src/main/java/cc/kune/core/client/errors/WrongCurrentPasswordException.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/errors/WrongCurrentPasswordException.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/errors/WrongCurrentPasswordException.java 2011-10-09 23:53:17 UTC (rev 1551)
@@ -0,0 +1,26 @@
+/*
+ *
+ * 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 WrongCurrentPasswordException extends DefaultException {
+
+ private static final long serialVersionUID = 1019305526843055648L;
+
+}
Property changes on: trunk/src/main/java/cc/kune/core/client/errors/WrongCurrentPasswordException.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/src/main/java/cc/kune/core/client/i18n/I18nUITranslationService.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/i18n/I18nUITranslationService.java 2011-10-09 11:31:10 UTC (rev 1550)
+++ trunk/src/main/java/cc/kune/core/client/i18n/I18nUITranslationService.java 2011-10-09 23:53:17 UTC (rev 1551)
@@ -32,6 +32,7 @@
import cc.kune.core.shared.dto.I18nLanguageDTO;
import cc.kune.core.shared.i18n.I18nTranslationService;
+import com.calclab.emite.browser.client.PageAssist;
import com.calclab.suco.client.events.Listener0;
import com.google.gwt.event.shared.EventBus;
import com.google.gwt.i18n.client.DateTimeFormat;
@@ -108,32 +109,32 @@
*/
private native void changeLocale(String newLocale)
/*-{
- // Uncomment the "debugger;" line to see how to set debug statements in JSNI code
- // When in web mode, if your browser has a JavaScript debugger attached, it will
- // launch at this point in the code (when the user changes locale through the menu system).
- // debugger;
+ // Uncomment the "debugger;" line to see how to set debug statements in JSNI code
+ // When in web mode, if your browser has a JavaScript debugger attached, it will
+ // launch at this point in the code (when the user changes locale through the menu system).
+ // debugger;
- // Get the current location
- var currLocation = $wnd.location.toString();
- // Get rid of any GWT History tokens that might be present
- var noHistoryCurrLocArray = currLocation.split("#");
- var noHistoryCurrLoc = noHistoryCurrLocArray[0];
- var currHistory = noHistoryCurrLocArray[1];
- // Get rid of any locale string
- var locArray = noHistoryCurrLoc.split("?");
- // Build the new href location and then send the browser there.
- // $wnd.location.href = locArray[0]+"?locale="+newLocale+"#"+currHistory;
- $wnd.location.href = locArray[0] + "?locale=" + newLocale
+ // Get the current location
+ var currLocation = $wnd.location.toString();
+ // Get rid of any GWT History tokens that might be present
+ var noHistoryCurrLocArray = currLocation.split("#");
+ var noHistoryCurrLoc = noHistoryCurrLocArray[0];
+ var currHistory = noHistoryCurrLocArray[1];
+ // Get rid of any locale string
+ var locArray = noHistoryCurrLoc.split("?");
+ // Build the new href location and then send the browser there.
+ // $wnd.location.href = locArray[0]+"?locale="+newLocale+"#"+currHistory;
+ $wnd.location.href = locArray[0] + "?locale=" + newLocale
- // extjs part:
- // commented because the error: "Ext is not defined"
- // we have to try other way
- // var head = document.getElementsByTagName("head")[0];
- // var script = document.createElement('script');
- // script.id = 'localScript';
- // script.type = 'text/javascript';
- // script.src = "js/ext/locale/ext-lang-"+newLocale+".js";
- // head.appendChild(script);
+ // extjs part:
+ // commented because the error: "Ext is not defined"
+ // we have to try other way
+ // var head = document.getElementsByTagName("head")[0];
+ // var script = document.createElement('script');
+ // script.id = 'localScript';
+ // script.type = 'text/javascript';
+ // script.src = "js/ext/locale/ext-lang-"+newLocale+".js";
+ // head.appendChild(script);
}-*/;
public String formatDateWithLocale(final Date date) {
@@ -170,7 +171,9 @@
public String getSiteCommonName() {
if (siteCommonName == null) {
- siteCommonName = t(session.getSiteCommonName());
+ // FIXME: remove this dependency with PageAssist (emite)
+ final String meta = PageAssist.getMeta("kune.default.site.commonname");
+ siteCommonName = (meta == null ? t("this site") : t(meta));
}
return siteCommonName;
}
Modified: trunk/src/main/java/cc/kune/core/client/resources/CoreResources.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/resources/CoreResources.java 2011-10-09 11:31:10 UTC (rev 1550)
+++ trunk/src/main/java/cc/kune/core/client/resources/CoreResources.java 2011-10-09 23:53:17 UTC (rev 1551)
@@ -433,6 +433,9 @@
@Source("loading-spiner.gif")
ImageResource loadingSpiner();
+ @Source("lock.png")
+ ImageResource lock();
+
@Source("arrow_out.png")
ImageResource maximize();
Added: trunk/src/main/java/cc/kune/core/client/resources/lock.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/cc/kune/core/client/resources/lock.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/UserService.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/UserService.java 2011-10-09 11:31:10 UTC (rev 1550)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/UserService.java 2011-10-09 23:53:17 UTC (rev 1551)
@@ -34,7 +34,7 @@
@RemoteServiceRelativePath("UserService")
public interface UserService extends RemoteService {
- void changePasswd(String userHash, String oldPassword, String newPassword);
+ void changePasswd(String userHash, String oldPassword, String newPassword) throws DefaultException;;
void createUser(UserDTO user, boolean wantPersonalHomepage) throws DefaultException;
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/SitebarSignInLink.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/SitebarSignInLink.java 2011-10-09 11:31:10 UTC (rev 1550)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/SitebarSignInLink.java 2011-10-09 23:53:17 UTC (rev 1551)
@@ -23,6 +23,7 @@
import cc.kune.common.client.actions.Action;
import cc.kune.common.client.actions.ActionEvent;
import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor;
+import cc.kune.core.client.i18n.I18nUITranslationService;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.SiteTokens;
import cc.kune.core.client.state.StateManager;
@@ -30,7 +31,6 @@
import cc.kune.core.client.state.UserSignInEvent.UserSignInHandler;
import cc.kune.core.client.state.UserSignOutEvent;
import cc.kune.core.client.state.UserSignOutEvent.UserSignOutHandler;
-import cc.kune.core.shared.i18n.I18nTranslationService;
import com.google.gwt.event.shared.EventBus;
import com.google.inject.Inject;
@@ -42,14 +42,15 @@
private final StateManager stateManager;
@Inject
- public SitebarSignInAction(final StateManager stateManager, final I18nTranslationService i18n,
+ public SitebarSignInAction(final StateManager stateManager, final I18nUITranslationService i18n,
final Session session) {
super();
- final String siteCommonName = i18n.t(session.getSiteCommonName());
this.stateManager = stateManager;
putValue(Action.NAME, i18n.t("Sign in to collaborate"));
- putValue(Action.TOOLTIP, i18n.t(
- "Please sign in or register to get full access to [%s] tools and contents", siteCommonName));
+ putValue(
+ Action.TOOLTIP,
+ i18n.t("Please sign in or register to get full access to [%s] tools and contents",
+ i18n.getSiteCommonName()));
}
@Override
Modified: trunk/src/main/java/cc/kune/core/client/state/Session.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/Session.java 2011-10-09 11:31:10 UTC (rev 1550)
+++ trunk/src/main/java/cc/kune/core/client/state/Session.java 2011-10-09 23:53:17 UTC (rev 1551)
@@ -117,8 +117,6 @@
boolean getShowDeletedContent();
- String getSiteCommonName();
-
String getSiteUrl();
Object[][] getTimezones();
Modified: trunk/src/main/java/cc/kune/core/client/state/SessionDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/SessionDefault.java 2011-10-09 11:31:10 UTC (rev 1550)
+++ trunk/src/main/java/cc/kune/core/client/state/SessionDefault.java 2011-10-09 23:53:17 UTC (rev 1551)
@@ -215,10 +215,6 @@
return currentUserInfo == null ? false : currentUserInfo.getShowDeletedContent();
}
- public String getSiteCommonName() {
- return getInitData().getSiteCommonName();
- }
-
@Override
public String getSiteUrl() {
final String baseURL = GWT.getModuleBaseURL();
Modified: trunk/src/main/java/cc/kune/core/server/manager/impl/I18nTranslationManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/manager/impl/I18nTranslationManagerDefault.java 2011-10-09 11:31:10 UTC (rev 1550)
+++ trunk/src/main/java/cc/kune/core/server/manager/impl/I18nTranslationManagerDefault.java 2011-10-09 23:53:17 UTC (rev 1551)
@@ -61,10 +61,11 @@
}
@Override
- public HashMap<String, String> getLexicon(final String language) {
- HashMap<String, String> map = langCache.get(language);
+ public HashMap<String, String> getLexicon(final String languageId) {
+ getLanguage(languageId);
+ HashMap<String, String> map = langCache.get(languageId);
if (map == null) {
- map = getLexiconFromDb(language);
+ map = getLexiconFromDb(languageId);
}
return map;
}
@@ -75,6 +76,7 @@
// 1) Generate English
// 2) Don't permit to translate English
HashMap<String, String> map = new HashMap<String, String>();
+
final List<I18nTranslation> set = finder.findByLanguage(language);
if (!language.equals(I18nTranslation.DEFAULT_LANG)) {
map = (HashMap<String, String>) getLexicon(I18nTranslation.DEFAULT_LANG).clone();
Modified: trunk/src/main/java/cc/kune/core/server/manager/impl/UserManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/manager/impl/UserManagerDefault.java 2011-10-09 11:31:10 UTC (rev 1550)
+++ trunk/src/main/java/cc/kune/core/server/manager/impl/UserManagerDefault.java 2011-10-09 23:53:17 UTC (rev 1551)
@@ -44,13 +44,13 @@
import org.waveprotocol.wave.model.waveref.WaveRef;
import cc.kune.common.client.utils.TextUtils;
-import cc.kune.core.client.errors.AccessViolationException;
import cc.kune.core.client.errors.DefaultException;
import cc.kune.core.client.errors.EmailAddressInUseException;
import cc.kune.core.client.errors.GroupLongNameInUseException;
import cc.kune.core.client.errors.GroupShortNameInUseException;
import cc.kune.core.client.errors.I18nNotFoundException;
import cc.kune.core.client.errors.UserRegistrationException;
+import cc.kune.core.client.errors.WrongCurrentPasswordException;
import cc.kune.core.server.mail.MailService;
import cc.kune.core.server.mail.MailServiceDefault.FormatedString;
import cc.kune.core.server.manager.GroupManager;
@@ -130,7 +130,7 @@
final AccountData account = waveAccountStore.getAccount(participantId);
if (TextUtils.notEmpty(oldPassword) && account != null
&& !account.asHuman().getPasswordDigest().verify(oldPassword.toCharArray())) {
- throw new AccessViolationException("You cannot change passwd");
+ throw new WrongCurrentPasswordException();
}
// Wave change passwd
RobotAgentUtil.changeUserPassword(newPassword, participantId, waveAccountStore);
Modified: trunk/src/main/java/cc/kune/core/server/rpc/UserRPC.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rpc/UserRPC.java 2011-10-09 11:31:10 UTC (rev 1550)
+++ trunk/src/main/java/cc/kune/core/server/rpc/UserRPC.java 2011-10-09 23:53:17 UTC (rev 1551)
@@ -90,7 +90,8 @@
@Override
@Authenticated
@Transactional
- public void changePasswd(final String userHash, final String oldPassword, final String newPassword) {
+ public void changePasswd(final String userHash, final String oldPassword, final String newPassword)
+ throws DefaultException {
final Long userId = userSessionManager.getUser().getId();
userManager.changePasswd(userId, oldPassword, newPassword);
}
Modified: trunk/src/main/java/cc/kune/core/shared/dto/InitDataDTO.java
===================================================================
--- trunk/src/main/java/cc/kune/core/shared/dto/InitDataDTO.java 2011-10-09 11:31:10 UTC (rev 1550)
+++ trunk/src/main/java/cc/kune/core/shared/dto/InitDataDTO.java 2011-10-09 23:53:17 UTC (rev 1551)
@@ -50,7 +50,6 @@
private String mp3EmbedObject;
private String oggEmbedObject;
private ReservedWordsRegistryDTO reservedWords;
- private String siteCommonName;
private String siteDomain;
private String siteLogoUrl;
private String siteShortName;
@@ -154,10 +153,6 @@
return this.reservedWords;
}
- public String getSiteCommonName() {
- return siteCommonName;
- }
-
@Deprecated
public String getSiteDomain() {
return siteDomain;
@@ -291,10 +286,6 @@
this.reservedWords = reservedWords;
}
- public void setSiteCommonName(final String siteCommonName) {
- this.siteCommonName = siteCommonName;
- }
-
@Deprecated
public void setSiteDomain(final String siteDomain) {
this.siteDomain = siteDomain;
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java 2011-10-09 11:31:10 UTC (rev 1550)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java 2011-10-09 23:53:17 UTC (rev 1551)
@@ -63,6 +63,10 @@
import cc.kune.gspace.client.options.general.UserOptGeneralPanel;
import cc.kune.gspace.client.options.general.UserOptGeneralPresenter;
import cc.kune.gspace.client.options.general.UserOptGeneralView;
+import cc.kune.gspace.client.options.general.UserOptPass;
+import cc.kune.gspace.client.options.general.UserOptPassPanel;
+import cc.kune.gspace.client.options.general.UserOptPassPresenter;
+import cc.kune.gspace.client.options.general.UserOptPassView;
import cc.kune.gspace.client.options.license.GroupOptDefLicense;
import cc.kune.gspace.client.options.license.GroupOptDefLicensePanel;
import cc.kune.gspace.client.options.license.GroupOptDefLicensePresenter;
@@ -170,6 +174,8 @@
s(UserOptGeneral.class, UserOptGeneralPresenter.class);
s(UserOptGeneralView.class, UserOptGeneralPanel.class);
+ s(UserOptPass.class, UserOptPassPresenter.class);
+ s(UserOptPassView.class, UserOptPassPanel.class);
s(UserOptDefLicense.class, UserOptDefLicensePresenter.class);
s(UserOptDefLicenseView.class, UserOptDefLicensePanel.class);
s(UserOptStyle.class, UserOptStylePresenter.class);
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java 2011-10-09 11:31:10 UTC (rev 1550)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java 2011-10-09 23:53:17 UTC (rev 1551)
@@ -34,6 +34,7 @@
import cc.kune.gspace.client.options.UserOptionsCollection;
import cc.kune.gspace.client.options.general.GroupOptGeneral;
import cc.kune.gspace.client.options.general.UserOptGeneral;
+import cc.kune.gspace.client.options.general.UserOptPass;
import cc.kune.gspace.client.options.license.GroupOptDefLicense;
import cc.kune.gspace.client.options.license.UserOptDefLicense;
import cc.kune.gspace.client.options.logo.GroupOptLogo;
@@ -65,9 +66,10 @@
final Provider<UserOptionsCollection> uocProv, final Provider<GroupOptGeneral> gg,
final Provider<GroupOptDefLicense> gdl, final Provider<GroupOptStyle> gps,
final Provider<GroupOptLogo> gl, final Provider<GroupOptTools> gtc,
- final Provider<UserOptGeneral> ug, final Provider<UserOptDefLicense> udl,
- final Provider<UserOptStyle> ups, final Provider<UserOptLogo> ul,
- final Provider<UserOptTools> utc, final Provider<SitebarSearchPresenter> siteSearch,
+ final Provider<UserOptGeneral> ug, final Provider<UserOptPass> up,
+ final Provider<UserOptDefLicense> udl, final Provider<UserOptStyle> ups,
+ final Provider<UserOptLogo> ul, final Provider<UserOptTools> utc,
+ final Provider<SitebarSearchPresenter> siteSearch,
final Provider<SiteOptionsI18nTranslatorAction> transAction,
final Provider<GiveUsFeedbackBtn> giveUsFeedback,
final Provider<I18nToTranslateGridPanel> toTrans,
@@ -94,6 +96,7 @@
goc.add(gps);
goc.add(gdl);
uoc.add(ug);
+ uoc.add(up);
uoc.add(utc);
uoc.add(ul);
uoc.add(ups);
Modified: trunk/src/main/java/cc/kune/gspace/client/options/EntityOptionsView.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/EntityOptionsView.java 2011-10-09 11:31:10 UTC (rev 1550)
+++ trunk/src/main/java/cc/kune/gspace/client/options/EntityOptionsView.java 2011-10-09 23:53:17 UTC (rev 1551)
@@ -24,6 +24,6 @@
public interface EntityOptionsView extends AbstractTabbedDialogView {
int HEIGHT = 270;
- int WIDTH = 400;
+ int WIDTH = 500;
}
Modified: trunk/src/main/java/cc/kune/gspace/client/options/general/EntityOptGeneralPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/general/EntityOptGeneralPanel.java 2011-10-09 11:31:10 UTC (rev 1550)
+++ trunk/src/main/java/cc/kune/gspace/client/options/general/EntityOptGeneralPanel.java 2011-10-09 23:53:17 UTC (rev 1551)
@@ -21,9 +21,7 @@
import cc.kune.common.client.ui.IconLabel;
import cc.kune.common.client.ui.MaskWidget;
-import cc.kune.core.client.resources.CoreResources;
import cc.kune.core.client.ui.DefaultForm;
-import cc.kune.core.shared.i18n.I18nTranslationService;
import cc.kune.gspace.client.options.EntityOptionsView;
import com.extjs.gxt.ui.client.event.BaseEvent;
@@ -32,6 +30,7 @@
import com.extjs.gxt.ui.client.event.Listener;
import com.extjs.gxt.ui.client.widget.form.Field;
import com.google.gwt.event.dom.client.ChangeHandler;
+import com.google.gwt.resources.client.ImageResource;
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Widget;
@@ -40,16 +39,16 @@
private final MaskWidget maskWidget;
private final IconLabel tabTitle;
- public EntityOptGeneralPanel(final I18nTranslationService i18n, final CoreResources res,
- final MaskWidget maskWidget) {
+ public EntityOptGeneralPanel(final MaskWidget maskWidget, final ImageResource img, final String title,
+ final String introMessage) {
this.maskWidget = maskWidget;
- tabTitle = new IconLabel(res.emblemSystem(), i18n.t("General"));
+ tabTitle = new IconLabel(img, title);
super.setWidth(EntityOptionsView.WIDTH);
super.setFrame(true);
super.getFormPanel().setLabelWidth(100);
super.addStyleName("k-overflow-y-auto");
final Label label = new Label();
- label.setText(i18n.t("Change this values:"));
+ label.setText(introMessage);
label.addStyleName("kune-Margin-10-tb");
super.add(label);
}
Modified: trunk/src/main/java/cc/kune/gspace/client/options/general/EntityOptGeneralPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/general/EntityOptGeneralPresenter.java 2011-10-09 11:31:10 UTC (rev 1550)
+++ trunk/src/main/java/cc/kune/gspace/client/options/general/EntityOptGeneralPresenter.java 2011-10-09 23:53:17 UTC (rev 1551)
@@ -32,7 +32,7 @@
public abstract class EntityOptGeneralPresenter {
- private final EntityOptions entityOptions;
+ protected final EntityOptions entityOptions;
private final EventBus eventBus;
protected final I18nTranslationService i18n;
protected final Session session;
Modified: trunk/src/main/java/cc/kune/gspace/client/options/general/GroupOptGeneralPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/general/GroupOptGeneralPanel.java 2011-10-09 11:31:10 UTC (rev 1550)
+++ trunk/src/main/java/cc/kune/gspace/client/options/general/GroupOptGeneralPanel.java 2011-10-09 23:53:17 UTC (rev 1551)
@@ -37,7 +37,7 @@
@Inject
public GroupOptGeneralPanel(final I18nTranslationService i18n, final CoreResources res,
final MaskWidget maskWidget, final GroupFieldFactory groupFieldFactory) {
- super(i18n, res, maskWidget);
+ super(maskWidget, res.emblemSystem(), i18n.t("General"), i18n.t("Change this values:"));
shortName = groupFieldFactory.createUserShortName(SHORT_NAME_FIELD);
longName = groupFieldFactory.createUserLongName(LONG_NAME_FIELD);
add(shortName);
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 2011-10-09 11:31:10 UTC (rev 1550)
+++ trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneralPanel.java 2011-10-09 23:53:17 UTC (rev 1551)
@@ -40,7 +40,7 @@
public UserOptGeneralPanel(final I18nTranslationService i18n, final CoreResources res,
final MaskWidget maskWidget, final LanguageSelectorPanel langSelector,
final UserFieldFactory userFieldFactory) {
- super(i18n, res, maskWidget);
+ super(maskWidget, res.emblemSystem(), i18n.t("General"), i18n.t("Change this values:"));
this.langSelector = langSelector;
longName = userFieldFactory.createUserLongName(LONG_NAME_FIELD);
add(longName);
Modified: trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneralPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneralPresenter.java 2011-10-09 11:31:10 UTC (rev 1550)
+++ trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneralPresenter.java 2011-10-09 23:53:17 UTC (rev 1551)
@@ -91,8 +91,10 @@
NotifyUser.hideProgress();
stateManager.setRetrievedStateAndGo(result);
sendChangeEntityEvent();
- }
- });
+ };
+ }
+
+ );
}
}
}
Added: trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptPass.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptPass.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptPass.java 2011-10-09 23:53:17 UTC (rev 1551)
@@ -0,0 +1,24 @@
+/*
+ *
+ * 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.options.general;
+
+public interface UserOptPass {
+
+}
Property changes on: trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptPass.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptPassPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptPassPanel.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptPassPanel.java 2011-10-09 23:53:17 UTC (rev 1551)
@@ -0,0 +1,76 @@
+/*
+ *
+ * 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.options.general;
+
+import cc.kune.common.client.ui.MaskWidget;
+import cc.kune.core.client.auth.UserFieldFactory;
+import cc.kune.core.client.resources.CoreResources;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+
+import com.extjs.gxt.ui.client.widget.form.TextField;
+import com.google.gwt.event.dom.client.HasClickHandlers;
+import com.google.gwt.user.client.ui.Button;
+import com.google.inject.Inject;
+
+public class UserOptPassPanel extends EntityOptGeneralPanel implements UserOptPassView {
+
+ public static final String CURRENT_PASSWD_FIELD = "k-uopp-currentPass";
+ public static final String NEW_PASSWD_FIELD = "k-uopp-newPass";
+ public static final String NEW_PASSWD_REPEATED_FIELD = "k-uopp-newPassRepeated";
+ private final Button changeBtn;
+ private final TextField<String> currentPasswd;
+ private final TextField<String> newPasswd;
+ private final TextField<String> newPasswdRepeated;
+
+ @Inject
+ public UserOptPassPanel(final I18nTranslationService i18n, final CoreResources res,
+ final MaskWidget maskWidget, final UserFieldFactory userFieldFactory) {
+ super(maskWidget, res.lock(), i18n.t("Security"), i18n.t("Change your password:"));
+ currentPasswd = userFieldFactory.createUserPasswd(CURRENT_PASSWD_FIELD, i18n.t("Current password"));
+ newPasswd = userFieldFactory.createUserPasswd(NEW_PASSWD_FIELD, i18n.t("New password"));
+ newPasswdRepeated = userFieldFactory.createUserPasswd(NEW_PASSWD_REPEATED_FIELD,
+ i18n.t("New password (repeat it)"));
+ changeBtn = new Button(i18n.t("Change it"));
+ add(currentPasswd);
+ add(newPasswd);
+ add(newPasswdRepeated);
+ add(changeBtn);
+ }
+
+ @Override
+ public HasClickHandlers getChangeBtn() {
+ return changeBtn;
+ }
+
+ @Override
+ public String getCurrentPasswd() {
+ return currentPasswd.getValue();
+ }
+
+ @Override
+ public String getNewPasswd() {
+ return newPasswd.getValue();
+ }
+
+ @Override
+ public String getNewPasswdRepeated() {
+ return newPasswdRepeated.getValue();
+ }
+}
Property changes on: trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptPassPanel.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptPassPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptPassPresenter.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptPassPresenter.java 2011-10-09 23:53:17 UTC (rev 1551)
@@ -0,0 +1,107 @@
+/*
+ *
+ * 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.options.general;
+
+import cc.kune.common.client.notify.NotifyUser;
+import cc.kune.core.client.errors.WrongCurrentPasswordException;
+import cc.kune.core.client.rpcservices.UserServiceAsync;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+import cc.kune.gspace.client.options.UserOptions;
+
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.event.shared.EventBus;
+import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
+public class UserOptPassPresenter implements UserOptPass {
+
+ private final UserOptions entityOptions;
+ private final I18nTranslationService i18n;
+ private final Session session;
+ private final Provider<UserServiceAsync> userService;
+ private UserOptPassView view;
+
+ @Inject
+ public UserOptPassPresenter(final Session session, final EventBus eventBus,
+ final I18nTranslationService i18n, final UserOptions entityOptions,
+ final Provider<UserServiceAsync> userService, final UserOptPassView view) {
+ this.session = session;
+ this.i18n = i18n;
+ this.entityOptions = entityOptions;
+ this.userService = userService;
+ init(view);
+ }
+
+ public void init(final UserOptPassView view) {
+ this.view = view;
+ entityOptions.addTab(view, view.getTabTitle());
+ view.getChangeBtn().addClickHandler(new ClickHandler() {
+
+ @Override
+ public void onClick(final ClickEvent event) {
+ updateInServer();
+ }
+ });
+ }
+
+ protected void updateInServer() {
+ if (view.isValid()) {
+ final String currentPasswd = view.getCurrentPasswd();
+ final String newPasswd = view.getNewPasswd();
+ final String newPasswdRepeated = view.getNewPasswdRepeated();
+ NotifyUser.showProgress();
+ if (!newPasswd.equals(newPasswdRepeated)) {
+ NotifyUser.error(i18n.t("Passwords don't match"));
+ } else {
+ if (newPasswd.equals(currentPasswd)) {
+ NotifyUser.error(i18n.t("Please provide a different new password"));
+ } else {
+ view.mask();
+ userService.get().changePasswd(session.getUserHash(), currentPasswd, newPasswd,
+ new AsyncCallback<Void>() {
+
+ @Override
+ public void onFailure(final Throwable caught) {
+ view.unmask();
+ if (caught instanceof WrongCurrentPasswordException) {
+ NotifyUser.error(i18n.t("The current password is incorrect"));
+ } else {
+ NotifyUser.error(i18n.t("Sorry, something was wrong and we cannot change your password"));
+ }
+ }
+
+ @Override
+ public void onSuccess(final Void result) {
+ NotifyUser.hideProgress();
+ view.unmask();
+ NotifyUser.info(i18n.t("Password changed successfully"));
+ view.reset();
+ }
+
+ });
+ }
+
+ }
+ }
+ }
+}
Property changes on: trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptPassPresenter.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptPassView.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptPassView.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptPassView.java 2011-10-09 23:53:17 UTC (rev 1551)
@@ -0,0 +1,35 @@
+/*
+ *
+ * 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.options.general;
+
+import com.google.gwt.event.dom.client.HasClickHandlers;
+
+public interface UserOptPassView extends EntityOptGeneralView {
+
+ HasClickHandlers getChangeBtn();
+
+ String getCurrentPasswd();
+
+ String getNewPasswd();
+
+ String getNewPasswdRepeated();
+
+ void reset();
+}
Property changes on: trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptPassView.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/src/main/resources/db/liquibase_changelog.xml
===================================================================
--- trunk/src/main/resources/db/liquibase_changelog.xml 2011-10-09 11:31:10 UTC (rev 1550)
+++ trunk/src/main/resources/db/liquibase_changelog.xml 2011-10-09 23:53:17 UTC (rev 1551)
@@ -28,13 +28,14 @@
<sqlFile path="src/main/resources/db/init-data-countries.sql"
encoding="utf8" stripComments="1" />
<rollback>DELETE FROM globalize_countries;</rollback>
- </changeSet>
+ </changeSet>
<changeSet id="3" author="vjrj">
<comment>Languages insert</comment>
<sqlFile path="src/main/resources/db/init-data-languages.sql"
encoding="utf8" stripComments="1" />
<rollback>DELETE FROM globalize_languages;</rollback>
</changeSet>
+<!--
<changeSet id="4" author="vjrj">
<comment>Languages insert</comment>
<sqlFile path="src/main/resources/db/init-data-translations.sql"
@@ -119,6 +120,7 @@
encoding="utf8" stripComments="1" />
<rollback>SELECT * FROM globalize_countries;</rollback>
</changeSet>
+ -->
<changeSet id="18" author="vjrj">
<comment>Initial External Media Descriptors</comment>
<sqlFile path="src/main/resources/db/update-0014-extmedia.sql"
@@ -137,12 +139,14 @@
encoding="utf8" stripComments="1" />
<rollback>SELECT * FROM globalize_countries;</rollback>
</changeSet>
+<!--
<changeSet id="21" author="vjrj">
<comment>I18n translations cleanup</comment>
<sqlFile path="src/main/resources/db/update-0017-i18nclean1.sql"
encoding="utf8" stripComments="1" />
<rollback>SELECT * FROM globalize_countries;</rollback>
</changeSet>
+ -->
<changeSet id="22" author="vjrj">
<comment>I18n translations cleanup</comment>
<sqlFile path="src/main/resources/db/update-0017-i18nclean2.sql"
Modified: trunk/src/main/resources/kune.properties
===================================================================
--- trunk/src/main/resources/kune.properties 2011-10-09 11:31:10 UTC (rev 1550)
+++ trunk/src/main/resources/kune.properties 2011-10-09 23:53:17 UTC (rev 1551)
@@ -12,9 +12,10 @@
kune.default.site.shortName = site
kune.site.domain = localhost
-# In the client UI we will use this string for mention this site in messages
+# In the server side we will use this string for mention this site in messages
# like: "Thanks for joining this site"
# Your can use another string and the message will looks like "Thanks for joining example.org"
+# ws.html has a similar value for UI client
kune.default.site.commonname = this site
# Email
Modified: trunk/src/main/webapp/ws.html
===================================================================
--- trunk/src/main/webapp/ws.html 2011-10-09 11:31:10 UTC (rev 1550)
+++ trunk/src/main/webapp/ws.html 2011-10-09 23:53:17 UTC (rev 1551)
@@ -3,8 +3,14 @@
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Kune</title>
+
<script type="text/javascript" language="javascript"
src="ws/ws.nocache.js"></script>
+<!--
+We will use this string for mention this site in messages like: "Thanks for joining this site"
+Your can use another string and the message will looks like "Thanks for joining example.org"
+ -->
+<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" />
Modified: trunk/src/test/java/cc/kune/core/server/integration/site/UserServiceTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/integration/site/UserServiceTest.java 2011-10-09 11:31:10 UTC (rev 1550)
+++ trunk/src/test/java/cc/kune/core/server/integration/site/UserServiceTest.java 2011-10-09 23:53:17 UTC (rev 1551)
@@ -37,6 +37,7 @@
import cc.kune.core.client.errors.GroupLongNameInUseException;
import cc.kune.core.client.errors.GroupShortNameInUseException;
import cc.kune.core.client.errors.SessionExpiredException;
+import cc.kune.core.client.errors.WrongCurrentPasswordException;
import cc.kune.core.client.rpcservices.ContentService;
import cc.kune.core.client.rpcservices.UserService;
import cc.kune.core.server.integration.IntegrationTest;
@@ -173,7 +174,7 @@
}
}
- @Test(expected = AccessViolationException.class)
+ @Test(expected = WrongCurrentPasswordException.class)
public void testSiteChangeIncorrectPasswdMustFail() throws Exception {
assertNull(session.getUser().getId());
doLogin(properties.getAdminShortName(), properties.getAdminPassword());
1
0
Author: vjrj_
Date: 2011-10-09 13:31:10 +0200 (Sun, 09 Oct 2011)
New Revision: 1550
Modified:
trunk/src/main/java/cc/kune/wave/server/KuneWaveServiceDefault.java
Log:
Some test fixing...
Modified: trunk/src/main/java/cc/kune/wave/server/KuneWaveServiceDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/server/KuneWaveServiceDefault.java 2011-10-09 11:20:08 UTC (rev 1549)
+++ trunk/src/main/java/cc/kune/wave/server/KuneWaveServiceDefault.java 2011-10-09 11:31:10 UTC (rev 1550)
@@ -237,7 +237,7 @@
final Blip rootBlip = newWavelet.getRootBlip();
rootBlip.append(new com.google.wave.api.Markup(message).getText());
- if (waveIdToCopy != NO_WAVE_TO_COPY || TextUtils.notEmpty(waveIdToCopy)) {
+ if (waveIdToCopy != NO_WAVE_TO_COPY && TextUtils.notEmpty(waveIdToCopy)) {
try {
WaveId copyWaveId;
copyWaveId = WaveId.ofChecked(domain, waveIdToCopy);
1
0
r1549 - in trunk/src: main/java/cc/kune/wave/server test/java/cc/kune/core/server/integration/site
by Vicente J. Ruiz Jurado 09 Oct '11
by Vicente J. Ruiz Jurado 09 Oct '11
09 Oct '11
Author: vjrj_
Date: 2011-10-09 13:20:08 +0200 (Sun, 09 Oct 2011)
New Revision: 1549
Modified:
trunk/src/main/java/cc/kune/wave/server/KuneWaveServiceDefault.java
trunk/src/test/java/cc/kune/core/server/integration/site/UserServiceTest.java
Log:
NEW - # 138: Add change password functionality to the User Interface
http://kune.ourproject.org/issues/ticket/138
Modified: trunk/src/main/java/cc/kune/wave/server/KuneWaveServiceDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/server/KuneWaveServiceDefault.java 2011-10-09 10:59:28 UTC (rev 1548)
+++ trunk/src/main/java/cc/kune/wave/server/KuneWaveServiceDefault.java 2011-10-09 11:20:08 UTC (rev 1549)
@@ -237,7 +237,7 @@
final Blip rootBlip = newWavelet.getRootBlip();
rootBlip.append(new com.google.wave.api.Markup(message).getText());
- if (waveIdToCopy != NO_WAVE_TO_COPY) {
+ if (waveIdToCopy != NO_WAVE_TO_COPY || TextUtils.notEmpty(waveIdToCopy)) {
try {
WaveId copyWaveId;
copyWaveId = WaveId.ofChecked(domain, waveIdToCopy);
Modified: trunk/src/test/java/cc/kune/core/server/integration/site/UserServiceTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/integration/site/UserServiceTest.java 2011-10-09 10:59:28 UTC (rev 1548)
+++ trunk/src/test/java/cc/kune/core/server/integration/site/UserServiceTest.java 2011-10-09 11:20:08 UTC (rev 1549)
@@ -144,6 +144,7 @@
public void init() {
new IntegrationTestHelper(this);
lang = new I18nLanguageDTO();
+ lang.setCode("en");
simpleLang = new I18nLanguageSimpleDTO(lang.getCode(), lang.getEnglishName());
country = new I18nCountryDTO();
timezone = new TimeZoneDTO();
@@ -255,8 +256,8 @@
timezone, null, true, SubscriptionMode.manual, "blue");
userService.createUser(user, false);
doLogin("test", "123456");
- final UserDTO userChanged = new UserDTO("test", longName, "123456", email, lang, country, timezone,
- null, true, SubscriptionMode.manual, "blue");
+ final UserDTO userChanged = new UserDTO(shortName, longName, "123456", email, lang, country,
+ timezone, null, true, SubscriptionMode.manual, "blue");
userChanged.setId(session.getUser().getId());
userService.updateUser(getHash(), userChanged, simpleLang);
}
1
0
r1548 - in trunk/src: main/java/cc/kune/domain main/java/cc/kune/gspace/client/i18n test/java/cc/kune/core/server/manager
by Vicente J. Ruiz Jurado 09 Oct '11
by Vicente J. Ruiz Jurado 09 Oct '11
09 Oct '11
Author: vjrj_
Date: 2011-10-09 12:59:28 +0200 (Sun, 09 Oct 2011)
New Revision: 1548
Added:
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorSaver.java
Removed:
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTraslatorSaver.java
Modified:
trunk/src/main/java/cc/kune/domain/I18nTranslation.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nCellList.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java
trunk/src/test/java/cc/kune/core/server/manager/I18nManagerDefaultTest.java
Log:
NEW - # 138: Add change password functionality to the User Interface
http://kune.ourproject.org/issues/ticket/138
Modified: trunk/src/main/java/cc/kune/domain/I18nTranslation.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/I18nTranslation.java 2011-10-08 23:47:25 UTC (rev 1547)
+++ trunk/src/main/java/cc/kune/domain/I18nTranslation.java 2011-10-09 10:59:28 UTC (rev 1548)
@@ -85,7 +85,7 @@
private String type;
public I18nTranslation() {
- this(null, null, null, null, null, null, null, null, null, null);
+ this(null, null, null, null, null, "", null, null, null, null);
}
public I18nTranslation(final I18nLanguage language, final String text, final I18nTranslation parent,
Modified: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nCellList.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nCellList.java 2011-10-08 23:47:25 UTC (rev 1547)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nCellList.java 2011-10-09 10:59:28 UTC (rev 1548)
@@ -126,7 +126,7 @@
@Inject
public I18nCellList(final I18nTranslationDataProvider data, final I18nUITranslationService i18n,
- final I18nTraslatorSaver saver) {
+ final I18nTranslatorSaver saver) {
this.data = data;
final TranslationCell cell = new TranslationCell();
Modified: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java 2011-10-08 23:47:25 UTC (rev 1547)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java 2011-10-09 10:59:28 UTC (rev 1548)
@@ -59,7 +59,7 @@
Label noteForTranslators;
@UiField
Label noteForTranslatorsTittle;
- private I18nTraslatorSaver saver;
+ private I18nTranslatorSaver saver;
@UiField
Label toLanguageTitle;
@UiField
@@ -122,7 +122,7 @@
}
public void init(final I18nTranslationDataProvider dataProvider, final I18nTranslationService i18n,
- final I18nTraslatorSaver saver) {
+ final I18nTranslatorSaver saver) {
this.dataProvider = dataProvider;
this.i18n = i18n;
this.saver = saver;
Copied: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorSaver.java (from rev 1546, trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTraslatorSaver.java)
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorSaver.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorSaver.java 2011-10-09 10:59:28 UTC (rev 1548)
@@ -0,0 +1,53 @@
+package cc.kune.gspace.client.i18n;
+
+import cc.kune.common.client.notify.NotifyUser;
+import cc.kune.core.client.errors.AccessViolationException;
+import cc.kune.core.client.i18n.I18nUITranslationService;
+import cc.kune.core.client.rpcservices.I18nServiceAsync;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.shared.dto.I18nTranslationDTO;
+
+import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+import com.google.inject.Singleton;
+
+@Singleton
+public class I18nTranslatorSaver {
+ private final I18nUITranslationService i18n;
+ private final Provider<I18nServiceAsync> i18nService;
+ private final Session session;
+
+ @Inject
+ public I18nTranslatorSaver(final Session session, final Provider<I18nServiceAsync> i18nService,
+ final I18nUITranslationService i18n) {
+ this.session = session;
+ this.i18nService = i18nService;
+ this.i18n = i18n;
+ }
+
+ public void save(final I18nTranslationDTO item) {
+ NotifyUser.showProgress(i18n.t("Saving"));
+ i18nService.get().setTranslation(session.getUserHash(), item.getId(), item.getText(),
+ new AsyncCallback<String>() {
+ @Override
+ public void onFailure(final Throwable caught) {
+ NotifyUser.hideProgress();
+ if (caught instanceof AccessViolationException) {
+ NotifyUser.error(
+ i18n.t("Only to authorized translators"),
+ i18n.t("To help with the translation of this software please contact before with this site administrators"));
+ } else {
+ NotifyUser.error(i18n.t("Server error saving the translation"));
+ }
+ }
+
+ @Override
+ public void onSuccess(final String result) {
+ NotifyUser.hideProgress();
+ i18n.setTranslationAfterSave(item.getTrKey(), result);
+ }
+ });
+ }
+
+}
Deleted: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTraslatorSaver.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTraslatorSaver.java 2011-10-08 23:47:25 UTC (rev 1547)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTraslatorSaver.java 2011-10-09 10:59:28 UTC (rev 1548)
@@ -1,53 +0,0 @@
-package cc.kune.gspace.client.i18n;
-
-import cc.kune.common.client.notify.NotifyUser;
-import cc.kune.core.client.errors.AccessViolationException;
-import cc.kune.core.client.i18n.I18nUITranslationService;
-import cc.kune.core.client.rpcservices.I18nServiceAsync;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.shared.dto.I18nTranslationDTO;
-
-import com.google.gwt.user.client.rpc.AsyncCallback;
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-import com.google.inject.Singleton;
-
-@Singleton
-public class I18nTraslatorSaver {
- private final I18nUITranslationService i18n;
- private final Provider<I18nServiceAsync> i18nService;
- private final Session session;
-
- @Inject
- public I18nTraslatorSaver(final Session session, final Provider<I18nServiceAsync> i18nService,
- final I18nUITranslationService i18n) {
- this.session = session;
- this.i18nService = i18nService;
- this.i18n = i18n;
- }
-
- public void save(final I18nTranslationDTO item) {
- NotifyUser.showProgress(i18n.t("Saving"));
- i18nService.get().setTranslation(session.getUserHash(), item.getId(), item.getText(),
- new AsyncCallback<String>() {
- @Override
- public void onFailure(final Throwable caught) {
- NotifyUser.hideProgress();
- if (caught instanceof AccessViolationException) {
- NotifyUser.error(
- i18n.t("Only to authorized translators"),
- i18n.t("To help with the translation of this software please contact before with this site administrators"));
- } else {
- NotifyUser.error(i18n.t("Server error saving the translation"));
- }
- }
-
- @Override
- public void onSuccess(final String result) {
- NotifyUser.hideProgress();
- i18n.setTranslationAfterSave(item.getTrKey(), result);
- }
- });
- }
-
-}
Modified: trunk/src/test/java/cc/kune/core/server/manager/I18nManagerDefaultTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/manager/I18nManagerDefaultTest.java 2011-10-08 23:47:25 UTC (rev 1547)
+++ trunk/src/test/java/cc/kune/core/server/manager/I18nManagerDefaultTest.java 2011-10-09 10:59:28 UTC (rev 1548)
@@ -62,6 +62,11 @@
}
@Test
+ public void emptyI18n() {
+ new I18nTranslation();
+ }
+
+ @Test
public void getLexiconList() {
assertTrue(translationManager.getTranslatedLexicon("en").size() > 0);
assertTrue(translationManager.getUntranslatedLexicon("en").size() == 0);
1
0