r919 - in trunk: dev-utils script src/main/java/org/ourproject/kune/app/client src/main/java/org/ourproject/kune/app/public src/main/java/org/ourproject/kune/app/public/css src/main/java/org/ourproject/kune/app/server src/main/java/org/ourproject/kune/chat/client src/main/java/org/ourproject/kune/docs/client src/main/java/org/ourproject/kune/docs/client/cnt src/main/java/org/ourproject/kune/docs/client/cnt/reader src/main/java/org/ourproject/kune/docs/client/ctx/admin src/main/java/org/ourpro
Author: vjrj Date: 2008-10-22 11:15:18 +0200 (Wed, 22 Oct 2008) New Revision: 919 Added: trunk/src/main/java/org/ourproject/kune/workspace/client/nohomepage/ trunk/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePage.java trunk/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePagePanel.java trunk/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePagePresenter.java trunk/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePageView.java Modified: trunk/dev-utils/kune.formatter.eclipse.preferences.xml trunk/script/generateBasicUIElements.sh trunk/src/main/java/org/ourproject/kune/app/client/KuneEntryPoint.java trunk/src/main/java/org/ourproject/kune/app/public/Kune.html trunk/src/main/java/org/ourproject/kune/app/public/css/all.css trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css trunk/src/main/java/org/ourproject/kune/app/server/KuneContainerListener.java trunk/src/main/java/org/ourproject/kune/app/server/KuneRackModule.java trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientActions.java trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientTool.java trunk/src/main/java/org/ourproject/kune/chat/client/ChatEngineXmpp.java trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientTool.java trunk/src/main/java/org/ourproject/kune/docs/client/cnt/DocumentContentPresenter.java trunk/src/main/java/org/ourproject/kune/docs/client/cnt/reader/DocumentReaderPresenter.java trunk/src/main/java/org/ourproject/kune/docs/client/ctx/admin/AdminContextPresenter.java trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPanel.java trunk/src/main/java/org/ourproject/kune/platf/client/dto/SocialNetworkResultDTO.java trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserBuddiesDataDTO.java trunk/src/main/java/org/ourproject/kune/platf/client/rpc/SocialNetworkService.java trunk/src/main/java/org/ourproject/kune/platf/client/rpc/SocialNetworkServiceAsync.java trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneErrorHandler.java trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java trunk/src/main/java/org/ourproject/kune/platf/client/state/Session.java trunk/src/main/java/org/ourproject/kune/platf/client/state/SessionDefault.java trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManagerDefault.java trunk/src/main/java/org/ourproject/kune/platf/client/tool/ToolSelectorPresenter.java trunk/src/main/java/org/ourproject/kune/platf/client/ui/Location.java trunk/src/main/java/org/ourproject/kune/platf/client/ui/WindowUtils.java trunk/src/main/java/org/ourproject/kune/platf/client/ui/palette/ColorWebSafePalettePanel.java trunk/src/main/java/org/ourproject/kune/platf/client/ui/rate/RateItPresenter.java trunk/src/main/java/org/ourproject/kune/platf/client/utils/PrefetchUtilities.java trunk/src/main/java/org/ourproject/kune/platf/server/PlatformServerModule.java trunk/src/main/java/org/ourproject/kune/platf/server/auth/AuthorizatedMethodInterceptor.java trunk/src/main/java/org/ourproject/kune/platf/server/init/DatabaseInitializer.java trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/EntityLogoUploadManager.java trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/FileUploadManager.java trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/DefaultManager.java trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/UserManagerDefault.java trunk/src/main/java/org/ourproject/kune/platf/server/mapper/GroupListModeConverter.java trunk/src/main/java/org/ourproject/kune/platf/server/rpc/ContentRPC.java trunk/src/main/java/org/ourproject/kune/platf/server/rpc/GroupRPC.java trunk/src/main/java/org/ourproject/kune/platf/server/rpc/SiteRPC.java trunk/src/main/java/org/ourproject/kune/platf/server/rpc/SocialNetworkRPC.java trunk/src/main/java/org/ourproject/kune/platf/server/rpc/UserRPC.java trunk/src/main/java/org/ourproject/kune/workspace/client/ctxnav/ContextNavigatorPanel.java trunk/src/main/java/org/ourproject/kune/workspace/client/ctxnav/ContextNavigatorPresenter.java trunk/src/main/java/org/ourproject/kune/workspace/client/editor/WrappedRichTextAreaImplIE6.java trunk/src/main/java/org/ourproject/kune/workspace/client/editor/WrappedRichTextAreaImplMozilla.java trunk/src/main/java/org/ourproject/kune/workspace/client/editor/WrappedRichTextAreaImplOpera.java trunk/src/main/java/org/ourproject/kune/workspace/client/editor/WrappedRichTextAreaImplSafari.java trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPanel.java trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPresenter.java trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoView.java trunk/src/main/java/org/ourproject/kune/workspace/client/i18n/I18nUITranslationService.java trunk/src/main/java/org/ourproject/kune/workspace/client/licensefoot/EntityLicensePanel.java trunk/src/main/java/org/ourproject/kune/workspace/client/licensefoot/EntityLicensePresenter.java trunk/src/main/java/org/ourproject/kune/workspace/client/licensefoot/EntityLicenseView.java trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPanel.java trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPresenter.java trunk/src/main/java/org/ourproject/kune/workspace/client/signin/RegisterForm.java trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInPresenter.java trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntitySummary.java trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SimpleToolbar.java trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPresenter.java trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPresenter.java trunk/src/main/java/org/ourproject/kune/workspace/client/themes/WsThemePresenter.java trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntitySubTitlePresenter.java trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitlePanel.java trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitlePresenter.java trunk/src/test/java/org/ourproject/kune/platf/client/actions/ActionRegistryTest.java trunk/src/test/java/org/ourproject/kune/platf/client/state/StateManagerTest.java trunk/src/test/java/org/ourproject/kune/platf/client/tool/ToolSelectorPresenterTest.java trunk/src/test/java/org/ourproject/kune/platf/client/utils/UrlTest.java trunk/src/test/java/org/ourproject/kune/platf/integration/IntegrationTestHelper.java trunk/src/test/java/org/ourproject/kune/platf/integration/content/ContentCommentServiceTest.java trunk/src/test/java/org/ourproject/kune/platf/integration/content/ContentServiceAddTest.java trunk/src/test/java/org/ourproject/kune/platf/integration/content/ContentServiceVariousTest.java trunk/src/test/java/org/ourproject/kune/platf/integration/socialnet/SocialNetworkServiceTest.java trunk/src/test/java/org/ourproject/kune/platf/server/manager/ContentManagerTest.java trunk/src/test/java/org/ourproject/kune/platf/server/manager/GroupManagerTest.java trunk/src/test/java/org/ourproject/kune/platf/server/manager/UserManagerTest.java trunk/src/test/java/org/ourproject/kune/platf/server/manager/file/EntityLogoUploadManagerTest.java trunk/src/test/java/org/ourproject/kune/platf/server/manager/file/FileUtilsTest.java trunk/src/test/java/org/ourproject/kune/platf/server/mapper/MapperTest.java trunk/src/test/java/org/ourproject/kune/rack/filters/rest/TestRESTMethodFinder.java Log: Incomplete - task EntityLogo revisited Incomplete - task NPE finding a non existent content Modified: trunk/dev-utils/kune.formatter.eclipse.preferences.xml =================================================================== --- trunk/dev-utils/kune.formatter.eclipse.preferences.xml 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/dev-utils/kune.formatter.eclipse.preferences.xml 2008-10-22 09:15:18 UTC (rev 919) @@ -39,7 +39,7 @@ <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters" value="insert"/> <setting id="org.eclipse.jdt.core.formatter.continuation_indentation" value="2"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator" value="do not insert"/> -<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation" value="18"/> +<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation" value="16"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk" value="0"/> Modified: trunk/script/generateBasicUIElements.sh =================================================================== --- trunk/script/generateBasicUIElements.sh 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/script/generateBasicUIElements.sh 2008-10-22 09:15:18 UTC (rev 919) @@ -38,18 +38,16 @@ private ${NAME}View view; -public ${NAME}Presenter() { -} + public ${NAME}Presenter() { + } -public void init(${NAME}View view) { -this.view = view; -} + public void init(${NAME}View view) { + this.view = view; + } - public View getView() { return view; } - } EOF @@ -88,7 +86,7 @@ register(Singleton.class, new Factory<${NAME}>(${NAME}.class) { public ${NAME} create() { final ${NAME}Presenter presenter = new ${NAME}Presenter(); - final ${NAME}Panel panel = new ${NAME}Panel(presenter, $(WorkspaceSkeleton.class)); + final ${NAME}Panel panel = new ${NAME}Panel(presenter, \$(WorkspaceSkeleton.class)); presenter.init(panel); return presenter; } Modified: trunk/src/main/java/org/ourproject/kune/app/client/KuneEntryPoint.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/app/client/KuneEntryPoint.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/app/client/KuneEntryPoint.java 2008-10-22 09:15:18 UTC (rev 919) @@ -53,6 +53,6 @@ public void onModuleLoadCont() { Suco.install(new KuneCoreModule(), new KunePlatformModule(), new KuneWorkspaceModule(), new EmiteUIModule(), - new DocumentClientModule(), new ChatClientModule(), new KuneModule()); + new DocumentClientModule(), new ChatClientModule(), new KuneModule()); } } Modified: trunk/src/main/java/org/ourproject/kune/app/public/Kune.html =================================================================== --- trunk/src/main/java/org/ourproject/kune/app/public/Kune.html 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/app/public/Kune.html 2008-10-22 09:15:18 UTC (rev 919) @@ -33,9 +33,17 @@ white-space: nowrap; height: 16px; padding: 0 3px; - font-family: arial,sans; } +#kuneprogresstext { +font-family:arial,helvetica,clean,sans-serif; +font-size-adjust:none; +font-style:normal; +font-variant:normal; +font-weight:normal; +line-height:1.22; +} + </style> <!--[if lt IE 7.]> @@ -48,20 +56,16 @@ src="org.ourproject.kune.app.Kune.nocache.js"></script> <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="kuneprogresspanel" class=""> -<table cellspacing="0" summary="Starting" cellpadding="0" border="0" - style="height: 16px; margin-top: 5px; margin-left: 5px;"> + +<div class="" id="kuneprogresspanel" style=""> +<table cellspacing="0" cellpadding="0" border="0" style="height: 16px; margin-top: 5px; margin-left: 5px;" summary="Starting"> <tbody> <tr> - <td height="16" align="left" style="vertical-align: top;" - class="kune-Progress"><img alt="progress spin" - src="images/spin-kune-thund-green.gif" - style="height: 16px; width: 16px;" /></td> - <td align="left" style="vertical-align: top;" class="kune-Progress"> - <div class="gwt-Label" id="kuneprogresstext">Starting</div> + <td height="16" align="left" class="kune-Progress" style="vertical-align: top;"><img style="height: 16px; width: 16px;" src="images/spin-kune-thund-green.gif" alt="progress spin"/></td> + <td align="left" class="kune-Progress" style="vertical-align: top;"> + <div id="kuneprogresstext" class="gwt-Label">Loading</div> </td> - <td width="100%" height="16" align="left" - style="vertical-align: top;"></td> + <td height="16" width="100%" align="left" style="vertical-align: top;"/> </tr> </tbody> </table> Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/all.css =================================================================== --- trunk/src/main/java/org/ourproject/kune/app/public/css/all.css 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/app/public/css/all.css 2008-10-22 09:15:18 UTC (rev 919) @@ -35,4 +35,4 @@ } */.kune-NavigationBar .topBar .gwt-Image{margin:0 2px 0 5px;}.kune-NavigationBar .Items{margin:2px 0;}.kune-NavigationBar .Items .gwt-Image{margin:2px 0;vertical-align:middle;}.kune-NavigationBar .Items .gwt-Hyperlink a{color:green;/* FIXME: other color */}.kune-NavigationBar .topBar .topBar-margin{margin-left:5px;}.kune-NavigationBar .pathMenu{vertical-align:middle;}.kune-NavigationBar .pathMenu .gwt-MenuItem{background:transparent url(img/button-bg-hard.gif) repeat-x 0 0;border-left:1px solid #AAA;border-right:1px solid #AAA;color:#999;cursor:pointer;white-space:nowrap;padding:3px 6px;}.kune-NavigationBar .pathMenu .gwt-MenuItem-selected{background:transparent url(img/button-bg-soft.gif) repeat-x 0 0;color:#000;}.kune-NavigationBar .kune-IconHyperlink{vertical-align:middle;margin-left:5px;}.kune-NavigationBar .kune-IconHyperlink a{color:green;text-decoration:none;}.kune-NavigationBar .kune-IconHyperlink .gwt-Image{margin-right:3px;vertical-align:middle;}/* Social Network */.kune-StackedDropDownPanel{}.kune-StackedDropDownPanel .gwt-StackPanelItem{border-top:1px solid #CCC;border-bottom:1px solid #CCC;background-color:#EFA;cursor:pointer;padding:1px 3px 0 6px;overflow:hidden;}.kune-StackedDropDownPanel .gwt-StackPanelItem img{margin:0 0 0 3px;vertical-align:middle;}.kune-StackedDropDownPanel .kune-DropDownInner table{width:100%;}.kune-StackedDropDownPanel .gwt-StackPanelItem-selected{}.kune-StackedDropDownPanelLink{background-color:#E6E6E6;border-top:1px solid #CCC;border-bottom:1px solid #F2F2F2;/* white-space: nowrap; */cursor:pointer;}.kune-StackedDropDownPanel .kune-DropDownInner{padding:0;}/* StackedDropDownPanel Members */.kune-StackSubItemLabel{overflow:hidden;}.kune-StackSubItemLabel .gwt-MenuItem{white-space:nowrap;cursor:pointer;border-bottom:1px solid #F2F2F2;}.kune-StackSubItemLabel table{width:100%;}.kune-StackSubItemLabel .gwt-MenuItem img{vertical-align:middle;margin-top:1px;margin-bottom:1px;margin-left:5px;margin-right:3px;}.kune-StackSubItemLabel .gwt-MenuItem-selected{background-color:#FFE6D5;}.kune-StackSubItemActions{background-color:#F2F2F2;border:1px solid #999;vertical-align:middle;padding:5px 0;margin-left:-120px;margin-top:-2px;}.kune-StackSubItemActions .gwt-MenuItem{cursor:pointer;padding:1px 10px;white-space:nowrap;}.kune-StackSubItemActions .gwt-MenuItem img{vertical-align:middle;margin-right:3px;}.kune-StackSubItemActions .gwt-MenuItem-selected{background-color:#FFB958;}/* AccessList */.kune-AccessListSubLabel{font-style:italic;}.kune-AccessList{margin:5px;width:100%;}.kune-AccessList .gwt-DisclosurePanel{margin:5px;width:100%;}.kune-AccessList .gwt-DisclosurePanel-open{width:100%;}.kune-AccessList .gwt-DisclosurePanel-closed{width:100%;}.kune-AccessList .header{margin:0 0 3px;text-decoration:none;width:100%;background-color:#8DD35F;}.kune-AccessList .header table{margin:0 5px 0 0;width:100%;color:#FFF;}.kune-AccessList .header img{margin:0 3px 0 0;}.kune-AccessList .content{margin:0 0 0 7px;width:100%;}.kune-AccessList .content table{margin-bottom:5px;width:100%;}/* Rate */.kune-RatePanel-Label{white-space:nowrap;vertical-align:middle;}.kune-RatePanel-Stars{margin-left:5px;vertical-align:middle;}.kune-RatePanel-Stars-RateIt{cursor:pointer;}/* Licenses */.kune-License-CC-Header{color:#15428B;font-weight:700;font-size:85%;margin-top:5px;}.kune-License-CC-Header .gwt-Label{color:#15428B;font-weight:700;font-size:85%;margin-top:5px;}/* Theme */.kune-IconBottomPanel .gwt-MenuItem{cursor:pointer;background-color:#FFF;margin:2px 2px 2px 5px;}.kune-IconBottomPanel .gwt-MenuItem-selected{background-color:#F2F2F2;}.gwt-MenuBar-bottomMenu{margin-left:-60px;margin-top:-120px;}/* i18n */.kune-I18nTranslatorCell{white-space:normal;}.kune-i18nTranslator-recommend{margin:10px;}.kune-i18nTranslator-recommend h1{font-size:131%;font-weight:700;}.kune-i18nTranslator-recommend h2{font-size:116%;font-weight:700;}.kune-i18nTranslator-recommend h3{font-size:108%;font-weight:700;font-style:italic;}.kune-i18nTranslator-recommend em{font-weight:700;}.kune-i18nTranslator-recommend strong{font-weight:700;}/* Admin Context */.kune-AdminContextPanel{margin:6px;width:100%;}.kune-AdminContextPanel .gwt-StackPanelItem{background:transparent url(img/arrow-right-white.gif) no-repeat scroll 3px 2px;cursor:pointer;padding:3px 10px 1px 20px;overflow:hidden;width:100%;}.kune-AdminContextPanel .gwt-StackPanelItem img{margin:0 0 0 3px;vertical-align:middle;}.kune-AdminContextPanel .gwt-StackPanelItem-selected{background:transparent url(img/arrow-down-white.gif) no-repeat scroll 3px 2px;background-color:#DEE3DB;}.kune-AdminContextPanelLink{background-color:#E6E6E6;border-top:1px solid #CCC;border-bottom:1px solid #F2F2F2;/* white-space: nowrap; */cursor:pointer;}.kune-AdminContextPanel-inner{background-color:#FFF;}.kune-AdminContextPanel-inner-wrap{margin:5px;}.kune-EditableLabel{}.kune-EditableLabel .kune-EditableLabel-editable{}.kune-EditableLabel-high{background-color:#FFFBC1;cursor:pointer;}.kune-EditableLabel-high span{background-color:#FFFBC1;}.kune-EditableLabel a{margin-left:5px;}.kune-EditableLabel a:link{color:green;}.kune-EditableLabel a:hover{text-decoration:underline;}.kune-EditableLabel a:visited{color:olive;}.kune-EditableLabel img{margin-right:4px;vertical-align:middle;}.kune-EditableLabel-editable img{margin-right:4px;vertical-align:middle;}.kune-EditableLabel-editable span{margin:3px;}.kune-EditableLabel span{margin:3px;}.kune-BottomIconsTrayPanel{width:165px;height:21px;vertical-align:middle;background-color:#EFEFEF;}.kune-TagsPanel-tag{float:left;margin-right:5px;cursor:pointer;}.kune-Content-Main{margin:5px;}/* Yahoo ui base.css */.kune-Content-Main h1{font-size:138.5%;}.kune-Content-Main h2{font-size:123.099998%;}.kune-Content-Main h3{font-size:108%;}.kune-Content-Main h1{margin:1em 0;}.kune-Content-Main h2{margin:1em 0;}.kune-Content-Main h3{margin:1em 0;}.kune-Content-Main h1{font-weight:700;}.kune-Content-Main h2{font-weight:700;}.kune-Content-Main h3{font-weight:700;}.kune-Content-Main h4{font-weight:700;}.kune-Content-Main h5{font-weight:700;}.kune-Content-Main h6{font-weight:700;}.kune-Content-Main strong{font-weight:700;}.kune-Content-Main abbr{border-bottom:1px dotted #000;cursor:help;}.kune-Content-Main acronym{border-bottom:1px dotted #000;cursor:help;}.kune-Content-Main em{font-style:italic;}.kune-Content-Main blockquote{margin:1em;}.kune-Content-Main ul{margin:1em;}.kune-Content-Main ol{margin:1em;}.kune-Content-Main dl{margin:1em;}.kune-Content-Main ol{margin-left:2em;}.kune-Content-Main ul{margin-left:2em;}.kune-Content-Main dl{margin-left:2em;}.kune-Content-Main ol{list-style:decimal outside;}.kune-Content-Main li{list-style:decimal outside;}.kune-Content-Main li{list-style:disc outside;}.kune-Content-Main ul{list-style:disc outside;}.kune-Content-Main dl{margin-left:1em;}.kune-Content-Main dd{margin-left:1em;}.kune-Content-Main th{border:1px solid #000;padding:.5em;font-weight:700;text-align:center;}.kune-Content-Main td{border:1px solid #000;padding:.5em;}.kune-Content-Main caption{margin-bottom:.5em;text-align:center;}.kune-Content-Main p{margin-bottom:1em;}.kune-Content-Main fieldset{margin-bottom:1em;}.kune-Content-Main table{margin-bottom:1em;}.kune-Content-Main pre{margin-bottom:1em;}.kune-Content-Main input[type=text]{width:12.25em;width:11.9em;}.kune-Content-Main input[type=password]{width:12.25em;width:11.9em;}.kune-Content-Main textarea{width:12.25em;width:11.9em;}.search-icon{background-image:url(img/search.gif)!important;}.i18n-icon{background-image:url(img/language.gif)!important;}/* RTE Text editor */.kune-TexEditorPanel-TextArea{margin:3px;}.gwt-RichTextArea{/* border: 1px solid #000; background-color: #FFF; */border:1px solid #4D4D4D;background-color:#FFF;margin:5px 0 5px 10px;}.gwt-RichTextToolbar{/* background-color: #F2F2F2; - padding: 5px; */height:24px;vertical-align:middle;}.gwt-RichTextToolbar table{vertical-align:middle;}.gwt-RichTextToolbar .gwt-ToggleButton{float:left;margin-top:2px;}.gwt-RichTextToolbar .gwt-PushButton{float:left;margin-top:2px;}.gwt-RichTextToolbar .gwt-PushButton-up{margin-right:2px;border:1px solid #F2F2F2;}.gwt-RichTextToolbar .gwt-PushButton-up-hovering{margin-right:2px;border:1px solid #C3D9FF;border-color:#E8F1FF #9daecd #9daecd #e8f1ff;}.gwt-RichTextToolbar .gwt-PushButton-down{margin-right:2px;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .gwt-PushButton-down-hovering{margin-right:2px;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .gwt-ToggleButton-up{margin-right:2px;border:1px solid #F2F2F2;}.gwt-RichTextToolbar .gwt-ToggleButton-up-hovering{margin-right:2px;border:1px solid #C3D9FF;border-color:#E8F1FF #9daecd #9daecd #e8f1ff;}.gwt-RichTextToolbar .gwt-ToggleButton-down{margin-right:2px;background-color:#E8F1FF;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .gwt-ToggleButton-down-hovering{margin-right:2px;background-color:#E8F1FF;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .x-btn{float:left;}.gwt-RichTextToolbar .kune-Button-Large-lSpace{float:left;}.gwt-RichTextToolbar .kune-Button-Large-lrSpace{float:left;}.RichTextToolbar-menu{float:left;margin-top:2px;z-index:4;}.RichTextToolbar-menu table{border-collapse:collapse;border-spacing:0;margin:0;z-index:4;}.RichTextToolbar-menu .gwt-MenuItem{margin-right:2px;border:1px solid #F2F2F2;}.RichTextToolbar-menu .gwt-MenuItem-selected{margin-right:2px;background-color:#E8F1FF;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.RichTextToolbar-submenu{background-color:#FFFCD5;border:1px solid #D38D5F;cursor:default;z-index:4;}.RichTextToolbar-submenu .gwt-MenuItem{cursor:default;white-space:nowrap;border:1px solid #FFFCD5;padding:0 4px;}.RichTextToolbar-submenu .gwt-MenuItem-selected{background-color:#FFB958;border:1px solid #C83737;}.kune-WebSafePalette{background-color:#FFF;border:1px solid #AAA;margin:1px;}.kune-WebSafePalette td{width:12px;height:10px;}.k-site-traybar{background:#FFF none repeat scroll 0 50%;}.k-blank-toolbar{background:#FFF none repeat scroll 0 50%;}.k-sitebar .kune-IconHyperlink{white-space:nowrap;}.k-sitebar .kune-IconHyperlink a:link{cursor:pointer;text-decoration:underline;color:#B3B3B3;}.k-sitebar .kune-IconHyperlink a:hover{text-decoration:underline;}.k-sitebar .kune-IconHyperlink a:visited{color:#B3B3B3;}.k-sitebar-labellink{white-space:nowrap;color:#B3B3B3;cursor:pointer;text-decoration:underline;}.k-sitebar{margin-right:10px;height:16px;background:#FFF;}.k-sitebar .gwt-TextBox{border:1px solid #E4A374;margin:0 15px 0 3px;padding-left:3px;color:#B3B3B3;}.k-sitebar .gwt-Hyperlink a{white-space:nowrap;color:#B3B3B3;text-decoration:underline;cursor:pointer;}.k-sitebar .gwt-PushButton{cursor:pointer;}.k-sitebar-LabelLink{white-space:nowrap;color:#B3B3B3;cursor:pointer;text-decoration:underline;}.k-entity-summary{border-left-color:#FFF;border-left-width:5px;border-down-width:5px;}.k-entitytextlogo{border:2px solid #F2F2F2;height:60px;margin:0 0 4px -1px;overflow:hidden;width:468px;}.k-entitytextlogo .gwt-Label{font-size:167%;font-weight:700;margin:5px;height:27px;}.k-entitytextlogo-default .gwt-Label{color:#69312F;}.k-entitytextlogo-green .gwt-Label{color:#250;}.k-entitytextlogo-blue .gwt-Label{color:navy;}.k-entitytextlogo-grey .gwt-Label{color:#1A1A1A;}.k-entitytextlogo-purple .gwt-Label{color:#405;}.k-entitytextlogo-red .gwt-Label{color:maroon;}.k-entitytextlogo .gwt-Hyperlink a{color:#CCC;font-size:85%;margin:5px;text-decoration:underline;white-space:nowrap;background-color:#FFF;}.k-entity-default .x-layout-split,.k-entity-default .x-layout-collapsed{background:#DD8A3D none repeat scroll 0 50%;}.k-entity-green .x-layout-split,.k-entity-green .x-layout-collapsed{background:#5FD35F none repeat scroll 0 50%;}.k-entity-blue .x-layout-split,.k-entity-blue .x-layout-collapsed{background:#06F none repeat scroll 0 50%;}.k-entity-grey .x-layout-split,.k-entity-grey .x-layout-collapsed{background:#4D4D4D none repeat scroll 0 50%;}.k-entity-purple .x-layout-split,.k-entity-purple .x-layout-collapsed{background:#660080 none repeat scroll 0 50%;}.k-entity-red .x-layout-split,.k-entity-red .x-layout-collapsed{background:#D40000 none repeat scroll 0 50%;}.k-entityworkspace .x-layout-split,.k-entityworkspace .x-layout-collapsed{background:transparent none repeat scroll 0 50%;}.k-entityworkspace-default .x-layout-split,.k-entityworkspace-default .x-layout-collapsed{background:#DEAA87 none repeat scroll 0 50%;}.k-entityworkspace-green .x-layout-split,.k-entityworkspace-green .x-layout-collapsed{background:#DCE8AB none repeat scroll 0 50%;}.k-entityworkspace-blue .x-layout-split,.k-entityworkspace-blue .x-layout-collapsed{background:#D5D5FF none repeat scroll 0 50%;}.k-entityworkspace-grey .x-layout-split,.k-entityworkspace-grey .x-layout-collapsed{background:#999 none repeat scroll 0 50%;}.k-entityworkspace-purple .x-layout-split,.k-entityworkspace-purple .x-layout-collapsed{background:#A793AC none repeat scroll 0 50%;}.k-entityworkspace-red .x-layout-split,.k-entityworkspace-red .x-layout-collapsed{background:#F55 none repeat scroll 0 50%;}.k-entity-title{border-left-style:solid;border-left-width:2px;}.k-entity-title div{line-height:22px;white-space:nowrap;}.k-entity-subtitle{}.k-entity-subtitle div{line-height:22px;white-space:nowrap;}.k-entity-title-rd-default{background:#DD8A3D;}.k-entity-title-rd-green{background:#5FD35F;}.k-entity-title-rd-blue{background:#06F;}.k-entity-title-rd-grey{background:#4D4D4D;}.k-entity-title-rd-purple{background:#660080;}.k-entity-title-rd-red{background:#D40000;}.k-entity-title-default{background:#F1BB59 none repeat scroll 0 50%;border-left-color:#DD8A3D;}.k-entity-title-green{background:#AFA none repeat scroll 0 50%;border-left-color:#5FD35F;}.k-entity-title-blue{background:#AFDDE9 none repeat scroll 0 50%;border-left-color:#06F;}.k-entity-title-grey{background:#CCC none repeat scroll 0 50%;border-left-color:#4D4D4D;}.k-entity-title-purple{background:#DDAFE9 none repeat scroll 0 50%;border-left-color:#660080;}.k-entity-title-red{background:#FF8080 none repeat scroll 0 50%;border-left-color:#D40000;}.k-entity-title-default div{color:#69312F;}.k-entity-title-green div{color:#250;}.k-entity-title-blue div{color:navy;}.k-entity-title-grey div{color:#1A1A1A;}.k-entity-title-purple div{color:#405;}.k-entity-title-red div{color:maroon;}.k-entity-subtitle-default{background:#DD8A3D none repeat scroll 0 50%;}.k-entity-subtitle-green{background:#5FD35F none repeat scroll 0 50%;}.k-entity-subtitle-blue{background:#06F none repeat scroll 0 50%;}.k-entity-subtitle-grey{background:#4D4D4D none repeat scroll 0 50%;}.k-entity-subtitle-purple{background:#660080 none repeat scroll 0 50%;}.k-entity-subtitle-red{background:#D40000 none repeat scroll 0 50%;}.k-entity-subtitle-default div{color:#FFF;}.k-entity-subtitle-green div{color:#FFF;}.k-entity-subtitle-blue div{color:#FFF;}.k-entity-subtitle-grey div{color:#FFF;}.k-entity-subtitle-purple div{color:#FFF;}.k-entity-subtitle-red div{color:#FFF;}.k-entity-bottom-rd-default,.k-entity-bottom-default,.k-toolselectoritem-sel-default{background:#DD8A3D;}.k-entity-bottom-rd-green,.k-entity-bottom-green,.k-toolselectoritem-sel-green{background:#5FD35F;}.k-entity-bottom-rd-blue,.k-entity-bottom-blue,.k-toolselectoritem-sel-blue{background:#06F;}.k-entity-bottom-rd-grey,.k-entity-bottom-grey,.k-toolselectoritem-sel-grey{background:#4D4D4D;}.k-entity-bottom-rd-purple,.k-entity-bottom-purple,.k-toolselectoritem-sel-purple{background:#660080;}.k-entity-bottom-rd-red,.k-entity-bottom-red,.k-toolselectoritem-sel-red{background:#D40000;}.k-entitylicensepanel-licensetext{cursor:pointer;margin-left:5px;text-decoration:underline;}.k-entity-context-default div,.k-entity-context-default .x-tree .x-panel-body{background:#FFD09D none repeat scroll 0 50%;}.k-entity-context-green div,.k-entity-context-green .x-tree .x-panel-body{background:#CFA none repeat scroll 0 50%;}.k-entity-context-blue div,.k-entity-context-blue .x-tree .x-panel-body{background:#ACF none repeat scroll 0 50%;}.k-entity-context-grey div,.k-entity-context-grey .x-tree .x-panel-body{background:#B3B3B3 none repeat scroll 0 50%;}.k-entity-context-purple div,.k-entity-context-purple .x-tree .x-panel-body{background:#DDAFE9 none repeat scroll 0 50%;}.k-entity-context-red div,.k-entity-context-red .x-tree .x-panel-body{background:#FAA none repeat scroll 0 50%;}.k-entity-context-purple .x-tree .x-panel-body{background:#DDAFE9 none repeat scroll 0 50%;}.k-entity-bottom div{line-height:2em;color:#FFF;}.k-toolbar-top-line{border-top-color:#d0d0d0;border-top-style:solid;border-top-width:1px;}.k-toolbar-bottom-line{border-bottom-color:#d0d0d0;border-bottom-style:solid;border-bottom-width:1px;}.x-toolbar td,.x-toolbar span,.x-toolbar input,.x-toolbar div,.x-toolbar select,.x-toolbar label{white-space:nowrap;font:normal 100% arial, sans;line-height:19px;}.k-toolbar-sep{padding-top:4px;padding-left:5px;}/* Custom gwt-ext styles */.ytb-sep{background-image:url(../js/ext/resources/images/default/grid/grid-split.gif);background-position:center;background-repeat:no-repeat;display:block;font-size:1px;height:16px;width:4px;overflow:hidden;cursor:default;margin:0 2px;border:0;}.ytb-spacer{width:2px;}.x-grid-group-hd{border-bottom:2px solid grey;cursor:pointer;padding-top:3px;}/* Drop down */.k-dropdownouter{background-color:grey;}.k-dropdownouter-members{}.k-dropdownouter-members-default{background-color:#DF5244;}.k-dropdownouter-members-green{background-color:green;}.k-dropdownouter-members-blue{background-color:#5500D4;}.k-dropdownouter-members-grey{background-color:#4D4D4D;}.k-dropdownouter-members-purple{background-color:#672178;}.k-dropdownouter-members-red{background-color:#A02C2C;}.k-dropdownouter-part{}.k-dropdownouter-part-default{background-color:#CA5842;}.k-dropdownouter-part-green{background-color:#0A0;}.k-dropdownouter-part-blue{background-color:#60F;}.k-dropdownouter-part-grey{background-color:#666;}.k-dropdownouter-part-purple{background-color:#892CA0;}.k-dropdownouter-part-red{background-color:#C83737;}.k-dropdownouter-tags{}.k-dropdownouter-tags-default{background-color:#87501E;}.k-dropdownouter-tags-green{background-color:#00D400;}.k-dropdownouter-tags-blue{background-color:#95F;}.k-dropdownouter-tags-grey{background-color:gray;}.k-dropdownouter-tags-purple{background-color:#AB37C8;}.k-dropdownouter-tags-red{background-color:#D35F5F;}.k-dropdownouter-summary{}.k-dropdownouter-summary-default{background-color:#9F734B;}.k-dropdownouter-summary-green{background-color:#4CE14C;}.k-dropdownouter-summary-blue{background-color:#69A5FF;}.k-dropdownouter-summary-grey{background-color:#A6A6A6;}.k-dropdownouter-summary-purple{background-color:#C473D8;}.k-dropdownouter-summary-red{background-color:#E08F8F;}.k-dropdowninner{margin:0 3px 1px;background:green;background-color:#FFF;/* padding: 3px; */}.k-dropdownlabel{color:#FFF;cursor:pointer;}.k-dropdownlabel .gwt-Label{margin:0 5px 0 0;width:100%;}.k-dropdownlabel img{margin:0 3px 0 1px;}/* WsTheme */.k-wstheme-icon-default{background:#FF8C00;}.k-wstheme-icon-green{background:green;}.k-wstheme-icon-blue{background:blue;}.k-wstheme-icon-grey{background:grey;}.k-wstheme-icon-purple{background:purple;}.k-wstheme-icon-red{background:red;}/* Tool selector items */.k-toolselectoritem{width:auto;margin-bottom:5px;cursor:pointer;}.k-toolselectoritem-sel{}.k-toolselectoritem-notsel-default{background:#FFE9A5;}.k-toolselectoritem-notsel-green{background:#D6F4D6;}.k-toolselectoritem-notsel-blue{background:#D7D7F4;}.k-toolselectoritem-notsel-grey{background:#E6E6E6;}.k-toolselectoritem-notsel-purple{background:#EED7F4;}.k-toolselectoritem-notsel-red{background:#FFD5D5;}.k-toolselectoritem-sel a{color:#FFF;padding:0 9px;text-decoration:none;}.k-toolselectoritem-sel a:hover{text-decoration:none;}.k-toolselectoritem-notsel{}.k-toolselectoritem-notsel a{color:#00F;padding:0 9px;text-decoration:none;}.k-toolselectoritem-notsel a:hover{text-decoration:underline;}/* others */.k-textlinethrough{text-decoration:line-through;color:red;}.k-textnormal{text-decoration:inherit;color:green;}.k-textunderline{text-decoration:underline;color:gray;}.x-tool-kmenu{background-position:0 -75px;}.x-tool-kmenu-over{background-position:-15px -75px;} \ No newline at end of file + padding: 5px; */height:24px;vertical-align:middle;}.gwt-RichTextToolbar table{vertical-align:middle;}.gwt-RichTextToolbar .gwt-ToggleButton{float:left;margin-top:2px;}.gwt-RichTextToolbar .gwt-PushButton{float:left;margin-top:2px;}.gwt-RichTextToolbar .gwt-PushButton-up{margin-right:2px;border:1px solid #F2F2F2;}.gwt-RichTextToolbar .gwt-PushButton-up-hovering{margin-right:2px;border:1px solid #C3D9FF;border-color:#E8F1FF #9daecd #9daecd #e8f1ff;}.gwt-RichTextToolbar .gwt-PushButton-down{margin-right:2px;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .gwt-PushButton-down-hovering{margin-right:2px;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .gwt-ToggleButton-up{margin-right:2px;border:1px solid #F2F2F2;}.gwt-RichTextToolbar .gwt-ToggleButton-up-hovering{margin-right:2px;border:1px solid #C3D9FF;border-color:#E8F1FF #9daecd #9daecd #e8f1ff;}.gwt-RichTextToolbar .gwt-ToggleButton-down{margin-right:2px;background-color:#E8F1FF;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .gwt-ToggleButton-down-hovering{margin-right:2px;background-color:#E8F1FF;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .x-btn{float:left;}.gwt-RichTextToolbar .kune-Button-Large-lSpace{float:left;}.gwt-RichTextToolbar .kune-Button-Large-lrSpace{float:left;}.RichTextToolbar-menu{float:left;margin-top:2px;z-index:4;}.RichTextToolbar-menu table{border-collapse:collapse;border-spacing:0;margin:0;z-index:4;}.RichTextToolbar-menu .gwt-MenuItem{margin-right:2px;border:1px solid #F2F2F2;}.RichTextToolbar-menu .gwt-MenuItem-selected{margin-right:2px;background-color:#E8F1FF;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.RichTextToolbar-submenu{background-color:#FFFCD5;border:1px solid #D38D5F;cursor:default;z-index:4;}.RichTextToolbar-submenu .gwt-MenuItem{cursor:default;white-space:nowrap;border:1px solid #FFFCD5;padding:0 4px;}.RichTextToolbar-submenu .gwt-MenuItem-selected{background-color:#FFB958;border:1px solid #C83737;}.kune-WebSafePalette{background-color:#FFF;border:1px solid #AAA;margin:1px;}.kune-WebSafePalette td{width:12px;height:10px;}.k-site-traybar{background:#FFF none repeat scroll 0 50%;}.k-blank-toolbar{background:#FFF none repeat scroll 0 50%;}.k-sitebar .kune-IconHyperlink{white-space:nowrap;}.k-sitebar .kune-IconHyperlink a:link{cursor:pointer;text-decoration:underline;color:#B3B3B3;}.k-sitebar .kune-IconHyperlink a:hover{text-decoration:underline;}.k-sitebar .kune-IconHyperlink a:visited{color:#B3B3B3;}.k-sitebar-labellink{white-space:nowrap;color:#B3B3B3;cursor:pointer;text-decoration:underline;}.k-sitebar{margin-right:10px;height:16px;background:#FFF;}.k-sitebar .gwt-TextBox{border:1px solid #E4A374;margin:0 15px 0 3px;padding-left:3px;color:#B3B3B3;}.k-sitebar .gwt-Hyperlink a{white-space:nowrap;color:#B3B3B3;text-decoration:underline;cursor:pointer;}.k-sitebar .gwt-PushButton{cursor:pointer;}.k-sitebar-LabelLink{white-space:nowrap;color:#B3B3B3;cursor:pointer;text-decoration:underline;}.k-entity-summary{border-left-color:#FFF;border-left-width:5px;border-down-width:5px;}.k-entitytextlogo-border{border:2px solid #F2F2F2;}.k-entitytextlogo-no-border{border:none;}.k-entitytextlogo{height:60px;margin:0 0 4px;overflow:hidden;width:468px;}.k-entitytextlogo table{vertical-align:middle;}.k-elogo-l-l{font-size:272%;}.k-elogo-l-m{font-size:167%;}.k-elogo-l-s{font-size:108%;}.k-entitytextlogo .gwt-Label{font-weight:700;margin:5px;height:27px;}.k-entitytextlogo-default .gwt-Label{color:#69312F;}.k-entitytextlogo-green .gwt-Label{color:#250;}.k-entitytextlogo-blue .gwt-Label{color:navy;}.k-entitytextlogo-grey .gwt-Label{color:#1A1A1A;}.k-entitytextlogo-purple .gwt-Label{color:#405;}.k-entitytextlogo-red .gwt-Label{color:maroon;}.k-entitytextlogo .gwt-Hyperlink a{color:#CCC;font-size:85%;margin:5px;text-decoration:underline;white-space:nowrap;background-color:#FFF;}.k-elogop-expand{background-color:transparent;}.k-entity-default .x-layout-split,.k-entity-default .x-layout-collapsed{background:#DD8A3D none repeat scroll 0 50%;}.k-entity-green .x-layout-split,.k-entity-green .x-layout-collapsed{background:#5FD35F none repeat scroll 0 50%;}.k-entity-blue .x-layout-split,.k-entity-blue .x-layout-collapsed{background:#06F none repeat scroll 0 50%;}.k-entity-grey .x-layout-split,.k-entity-grey .x-layout-collapsed{background:#4D4D4D none repeat scroll 0 50%;}.k-entity-purple .x-layout-split,.k-entity-purple .x-layout-collapsed{background:#660080 none repeat scroll 0 50%;}.k-entity-red .x-layout-split,.k-entity-red .x-layout-collapsed{background:#D40000 none repeat scroll 0 50%;}.k-entityworkspace .x-layout-split,.k-entityworkspace .x-layout-collapsed{background:transparent none repeat scroll 0 50%;}.k-entityworkspace-default .x-layout-split,.k-entityworkspace-default .x-layout-collapsed{background:#DEAA87 none repeat scroll 0 50%;}.k-entityworkspace-green .x-layout-split,.k-entityworkspace-green .x-layout-collapsed{background:#DCE8AB none repeat scroll 0 50%;}.k-entityworkspace-blue .x-layout-split,.k-entityworkspace-blue .x-layout-collapsed{background:#D5D5FF none repeat scroll 0 50%;}.k-entityworkspace-grey .x-layout-split,.k-entityworkspace-grey .x-layout-collapsed{background:#999 none repeat scroll 0 50%;}.k-entityworkspace-purple .x-layout-split,.k-entityworkspace-purple .x-layout-collapsed{background:#A793AC none repeat scroll 0 50%;}.k-entityworkspace-red .x-layout-split,.k-entityworkspace-red .x-layout-collapsed{background:#F55 none repeat scroll 0 50%;}.k-entity-title{border-left-style:solid;border-left-width:2px;}.k-entity-title div{line-height:22px;white-space:nowrap;}.k-entity-subtitle{}.k-entity-subtitle div{line-height:22px;white-space:nowrap;}.k-entity-title-rd-default{background:#DD8A3D;}.k-entity-title-rd-green{background:#5FD35F;}.k-entity-title-rd-blue{background:#06F;}.k-entity-title-rd-grey{background:#4D4D4D;}.k-entity-title-rd-purple{background:#660080;}.k-entity-title-rd-red{background:#D40000;}.k-entity-title-default{background:#F1BB59 none repeat scroll 0 50%;border-left-color:#DD8A3D;}.k-entity-title-green{background:#AFA none repeat scroll 0 50%;border-left-color:#5FD35F;}.k-entity-title-blue{background:#AFDDE9 none repeat scroll 0 50%;border-left-color:#06F;}.k-entity-title-grey{background:#CCC none repeat scroll 0 50%;border-left-color:#4D4D4D;}.k-entity-title-purple{background:#DDAFE9 none repeat scroll 0 50%;border-left-color:#660080;}.k-entity-title-red{background:#FF8080 none repeat scroll 0 50%;border-left-color:#D40000;}.k-entity-title-default div{color:#69312F;}.k-entity-title-green div{color:#250;}.k-entity-title-blue div{color:navy;}.k-entity-title-grey div{color:#1A1A1A;}.k-entity-title-purple div{color:#405;}.k-entity-title-red div{color:maroon;}.k-entity-subtitle-default{background:#DD8A3D none repeat scroll 0 50%;}.k-entity-subtitle-green{background:#5FD35F none repeat scroll 0 50%;}.k-entity-subtitle-blue{background:#06F none repeat scroll 0 50%;}.k-entity-subtitle-grey{background:#4D4D4D none repeat scroll 0 50%;}.k-entity-subtitle-purple{background:#660080 none repeat scroll 0 50%;}.k-entity-subtitle-red{background:#D40000 none repeat scroll 0 50%;}.k-entity-subtitle-default div{color:#FFF;}.k-entity-subtitle-green div{color:#FFF;}.k-entity-subtitle-blue div{color:#FFF;}.k-entity-subtitle-grey div{color:#FFF;}.k-entity-subtitle-purple div{color:#FFF;}.k-entity-subtitle-red div{color:#FFF;}.k-entity-bottom-rd-default,.k-entity-bottom-default,.k-toolselectoritem-sel-default{background:#DD8A3D;}.k-entity-bottom-rd-green,.k-entity-bottom-green,.k-toolselectoritem-sel-green{background:#5FD35F;}.k-entity-bottom-rd-blue,.k-entity-bottom-blue,.k-toolselectoritem-sel-blue{background:#06F;}.k-entity-bottom-rd-grey,.k-entity-bottom-grey,.k-toolselectoritem-sel-grey{background:#4D4D4D;}.k-entity-bottom-rd-purple,.k-entity-bottom-purple,.k-toolselectoritem-sel-purple{background:#660080;}.k-entity-bottom-rd-red,.k-entity-bottom-red,.k-toolselectoritem-sel-red{background:#D40000;}.k-entitylicensepanel-licensetext{cursor:pointer;margin-left:5px;text-decoration:underline;}.k-entity-context-default div,.k-entity-context-default .x-tree .x-panel-body{background:#FFD09D none repeat scroll 0 50%;}.k-entity-context-green div,.k-entity-context-green .x-tree .x-panel-body{background:#CFA none repeat scroll 0 50%;}.k-entity-context-blue div,.k-entity-context-blue .x-tree .x-panel-body{background:#ACF none repeat scroll 0 50%;}.k-entity-context-grey div,.k-entity-context-grey .x-tree .x-panel-body{background:#B3B3B3 none repeat scroll 0 50%;}.k-entity-context-purple div,.k-entity-context-purple .x-tree .x-panel-body{background:#DDAFE9 none repeat scroll 0 50%;}.k-entity-context-red div,.k-entity-context-red .x-tree .x-panel-body{background:#FAA none repeat scroll 0 50%;}.k-entity-context-purple .x-tree .x-panel-body{background:#DDAFE9 none repeat scroll 0 50%;}.k-entity-bottom div{line-height:2em;color:#FFF;}.k-toolbar-top-line{border-top-color:#d0d0d0;border-top-style:solid;border-top-width:1px;}.k-toolbar-bottom-line{border-bottom-color:#d0d0d0;border-bottom-style:solid;border-bottom-width:1px;}.x-toolbar td,.x-toolbar span,.x-toolbar input,.x-toolbar div,.x-toolbar select,.x-toolbar label{white-space:nowrap;font:normal 100% arial, sans;line-height:19px;}.k-toolbar-sep{padding-top:4px;padding-left:5px;}/* Custom gwt-ext styles */.ytb-sep{background-image:url(../js/ext/resources/images/default/grid/grid-split.gif);background-position:center;background-repeat:no-repeat;display:block;font-size:1px;height:16px;width:4px;overflow:hidden;cursor:default;margin:0 2px;border:0;}.ytb-spacer{width:2px;}.x-grid-group-hd{border-bottom:2px solid grey;cursor:pointer;padding-top:3px;}/* Drop down */.k-dropdownouter{background-color:grey;}.k-dropdownouter-members{}.k-dropdownouter-members-default{background-color:#DF5244;}.k-dropdownouter-members-green{background-color:green;}.k-dropdownouter-members-blue{background-color:#5500D4;}.k-dropdownouter-members-grey{background-color:#4D4D4D;}.k-dropdownouter-members-purple{background-color:#672178;}.k-dropdownouter-members-red{background-color:#A02C2C;}.k-dropdownouter-part{}.k-dropdownouter-part-default{background-color:#CA5842;}.k-dropdownouter-part-green{background-color:#0A0;}.k-dropdownouter-part-blue{background-color:#60F;}.k-dropdownouter-part-grey{background-color:#666;}.k-dropdownouter-part-purple{background-color:#892CA0;}.k-dropdownouter-part-red{background-color:#C83737;}.k-dropdownouter-tags{}.k-dropdownouter-tags-default{background-color:#87501E;}.k-dropdownouter-tags-green{background-color:#00D400;}.k-dropdownouter-tags-blue{background-color:#95F;}.k-dropdownouter-tags-grey{background-color:gray;}.k-dropdownouter-tags-purple{background-color:#AB37C8;}.k-dropdownouter-tags-red{background-color:#D35F5F;}.k-dropdownouter-summary{}.k-dropdownouter-summary-default{background-color:#9F734B;}.k-dropdownouter-summary-green{background-color:#4CE14C;}.k-dropdownouter-summary-blue{background-color:#69A5FF;}.k-dropdownouter-summary-grey{background-color:#A6A6A6;}.k-dropdownouter-summary-purple{background-color:#C473D8;}.k-dropdownouter-summary-red{background-color:#E08F8F;}.k-dropdowninner{margin:0 3px 1px;background:green;background-color:#FFF;/* padding: 3px; */}.k-dropdownlabel{color:#FFF;cursor:pointer;}.k-dropdownlabel .gwt-Label{margin:0 5px 0 0;width:100%;}.k-dropdownlabel img{margin:0 3px 0 1px;}/* WsTheme */.k-wstheme-icon-default{background:#FF8C00;}.k-wstheme-icon-green{background:green;}.k-wstheme-icon-blue{background:blue;}.k-wstheme-icon-grey{background:grey;}.k-wstheme-icon-purple{background:purple;}.k-wstheme-icon-red{background:red;}/* Tool selector items */.k-toolselectoritem{width:auto;margin-bottom:5px;cursor:pointer;}.k-toolselectoritem-sel{}.k-toolselectoritem-notsel-default{background:#FFE9A5;}.k-toolselectoritem-notsel-green{background:#D6F4D6;}.k-toolselectoritem-notsel-blue{background:#D7D7F4;}.k-toolselectoritem-notsel-grey{background:#E6E6E6;}.k-toolselectoritem-notsel-purple{background:#EED7F4;}.k-toolselectoritem-notsel-red{background:#FFD5D5;}.k-toolselectoritem-sel a{color:#FFF;padding:0 9px;text-decoration:none;}.k-toolselectoritem-sel a:hover{text-decoration:none;}.k-toolselectoritem-notsel{}.k-toolselectoritem-notsel a{color:#00F;padding:0 9px;text-decoration:none;}.k-toolselectoritem-notsel a:hover{text-decoration:underline;}/* others */.k-textlinethrough{text-decoration:line-through;color:red;}.k-textnormal{text-decoration:inherit;color:green;}.k-textunderline{text-decoration:underline;color:gray;}.x-tool-kmenu{background-position:0 -75px;}.x-tool-kmenu-over{background-position:-15px -75px;} \ No newline at end of file Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css =================================================================== --- trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css 2008-10-22 09:15:18 UTC (rev 919) @@ -1,181 +1,215 @@ .k-site-traybar { - background: #FFF none repeat scroll 0% 50%; + background: #FFF none repeat scroll 0% 50%; } .k-blank-toolbar { - background: #FFF none repeat scroll 0% 50%; + background: #FFF none repeat scroll 0% 50%; } .k-sitebar .kune-IconHyperlink { - white-space: nowrap; + white-space: nowrap; } .k-sitebar .kune-IconHyperlink a:link { - cursor: pointer; - text-decoration: underline; - color: #B3B3B3; + cursor: pointer; + text-decoration: underline; + color: #B3B3B3; } .k-sitebar .kune-IconHyperlink a:hover { - text-decoration: underline; + text-decoration: underline; } .k-sitebar .kune-IconHyperlink a:visited { - color: #B3B3B3; + color: #B3B3B3; } .k-sitebar-labellink { - white-space: nowrap; - color: #B3B3B3; - cursor: pointer; - text-decoration: underline; + white-space: nowrap; + color: #B3B3B3; + cursor: pointer; + text-decoration: underline; } .k-sitebar { - margin-right: 10px; - height: 16px; - background: #FFF; + margin-right: 10px; + height: 16px; + background: #FFF; } .k-sitebar .gwt-TextBox { - border: 1px solid #E4A374; - margin: 0 15px 0 3px; - padding-left: 3px; - color: #B3B3B3; + border: 1px solid #E4A374; + margin: 0 15px 0 3px; + padding-left: 3px; + color: #B3B3B3; } .k-sitebar .gwt-Hyperlink a { - white-space: nowrap; - color: #B3B3B3; - text-decoration: underline; - cursor: pointer; + white-space: nowrap; + color: #B3B3B3; + text-decoration: underline; + cursor: pointer; } .k-sitebar .gwt-PushButton { - cursor: pointer; + cursor: pointer; } .k-sitebar-LabelLink { - white-space: nowrap; - color: #B3B3B3; - cursor: pointer; - text-decoration: underline; + white-space: nowrap; + color: #B3B3B3; + cursor: pointer; + text-decoration: underline; } .k-entity-summary { - border-left-color: #FFF; - border-left-width: 5px; - border-down-width: 5px; + border-left-color: #FFF; + border-left-width: 5px; + border-down-width: 5px; } +.k-entitytextlogo-border { + border: 2px solid #F2F2F2; +} + +.k-entitytextlogo-no-border { + border: none; +} + .k-entitytextlogo { - border: 2px solid #F2F2F2; - height: 60px; - margin: 0 0 4px -1px; - overflow: hidden; - width: 468px; + height: 60px; + margin: 0 0 4px 0; + overflow: hidden; + width: 468px; } +.k-entitytextlogo table { + vertical-align: middle; +} + +.k-elogo-l-l { + font-size: 272%; +} + +.k-elogo-l-m { + font-size: 167%; +} + +.k-elogo-l-s { + font-size: 108%; +} + .k-entitytextlogo .gwt-Label { - font-size: 167%; - font-weight: 700; - margin: 5px; - height: 27px; + font-weight: 700; + margin: 5px; + height: 27px; } .k-entitytextlogo-default .gwt-Label { - color: #69312F; + color: #69312F; } .k-entitytextlogo-green .gwt-Label { - color: #250; + color: #250; } .k-entitytextlogo-blue .gwt-Label { - color: #000080; + color: #000080; } .k-entitytextlogo-grey .gwt-Label { - color: #1A1A1A; + color: #1A1A1A; } .k-entitytextlogo-purple .gwt-Label { - color: #440055; + color: #440055; } .k-entitytextlogo-red .gwt-Label { - color: #800000; + color: #800000; } .k-entitytextlogo .gwt-Hyperlink a { - color: #CCC; - font-size: 85%; - margin: 5px; - text-decoration: underline; - white-space: nowrap; - background-color: #FFF; + color: #CCC; + font-size: 85%; + margin: 5px; + text-decoration: underline; + white-space: nowrap; + background-color: #FFF; } -.k-entity-default .x-layout-split, .k-entity-default .x-layout-collapsed { - background: #DD8A3D none repeat scroll 0% 50%; +.k-elogop-expand { + background-color: transparent; } -.k-entity-green .x-layout-split, .k-entity-green .x-layout-collapsed { - background: #5FD35F none repeat scroll 0% 50%; +.k-entity-default .x-layout-split,.k-entity-default .x-layout-collapsed + { + background: #DD8A3D none repeat scroll 0% 50%; } -.k-entity-blue .x-layout-split, .k-entity-blue .x-layout-collapsed { - background: #0066FF none repeat scroll 0% 50%; +.k-entity-green .x-layout-split,.k-entity-green .x-layout-collapsed { + background: #5FD35F none repeat scroll 0% 50%; } -.k-entity-grey .x-layout-split, .k-entity-grey .x-layout-collapsed { - background: #4D4D4D none repeat scroll 0% 50%; +.k-entity-blue .x-layout-split,.k-entity-blue .x-layout-collapsed { + background: #0066FF none repeat scroll 0% 50%; } -.k-entity-purple .x-layout-split, .k-entity-purple .x-layout-collapsed { - background: #660080 none repeat scroll 0% 50%; +.k-entity-grey .x-layout-split,.k-entity-grey .x-layout-collapsed { + background: #4D4D4D none repeat scroll 0% 50%; } -.k-entity-red .x-layout-split, .k-entity-red .x-layout-collapsed { - background: #D40000 none repeat scroll 0% 50%; +.k-entity-purple .x-layout-split,.k-entity-purple .x-layout-collapsed { + background: #660080 none repeat scroll 0% 50%; } -.k-entityworkspace .x-layout-split, .k-entityworkspace .x-layout-collapsed { - background: transparent none repeat scroll 0% 50%; +.k-entity-red .x-layout-split,.k-entity-red .x-layout-collapsed { + background: #D40000 none repeat scroll 0% 50%; } -.k-entityworkspace-default .x-layout-split, .k-entityworkspace-default .x-layout-collapsed { - background: #DEAA87 none repeat scroll 0% 50%; +.k-entityworkspace .x-layout-split,.k-entityworkspace .x-layout-collapsed + { + background: transparent none repeat scroll 0% 50%; } -.k-entityworkspace-green .x-layout-split, .k-entityworkspace-green .x-layout-collapsed { - background: #DCE8AB none repeat scroll 0% 50%; +.k-entityworkspace-default .x-layout-split,.k-entityworkspace-default .x-layout-collapsed + { + background: #DEAA87 none repeat scroll 0% 50%; } -.k-entityworkspace-blue .x-layout-split, .k-entityworkspace-blue .x-layout-collapsed { - background: #D5D5FF none repeat scroll 0% 50%; +.k-entityworkspace-green .x-layout-split,.k-entityworkspace-green .x-layout-collapsed + { + background: #DCE8AB none repeat scroll 0% 50%; } -.k-entityworkspace-grey .x-layout-split, .k-entityworkspace-grey .x-layout-collapsed { - background: #999999 none repeat scroll 0% 50%; +.k-entityworkspace-blue .x-layout-split,.k-entityworkspace-blue .x-layout-collapsed + { + background: #D5D5FF none repeat scroll 0% 50%; } -.k-entityworkspace-purple .x-layout-split, .k-entityworkspace-purple .x-layout-collapsed { - background: #A793AC none repeat scroll 0% 50%; +.k-entityworkspace-grey .x-layout-split,.k-entityworkspace-grey .x-layout-collapsed + { + background: #999999 none repeat scroll 0% 50%; } -.k-entityworkspace-red .x-layout-split, .k-entityworkspace-red .x-layout-collapsed { - background: #FF5555 none repeat scroll 0% 50%; +.k-entityworkspace-purple .x-layout-split,.k-entityworkspace-purple .x-layout-collapsed + { + background: #A793AC none repeat scroll 0% 50%; } +.k-entityworkspace-red .x-layout-split,.k-entityworkspace-red .x-layout-collapsed + { + background: #FF5555 none repeat scroll 0% 50%; +} + .k-entity-title { - border-left-style: solid; - border-left-width: 2px; + border-left-style: solid; + border-left-width: 2px; } .k-entity-title div { - line-height: 22px; - white-space: nowrap; + line-height: 22px; + white-space: nowrap; } .k-entity-subtitle { @@ -183,263 +217,263 @@ } .k-entity-subtitle div { - line-height: 22px; - white-space: nowrap; + line-height: 22px; + white-space: nowrap; } .k-entity-title-rd-default { - background: #DD8A3D; + background: #DD8A3D; } .k-entity-title-rd-green { - background: #5FD35F; + background: #5FD35F; } .k-entity-title-rd-blue { - background: #0066FF; + background: #0066FF; } .k-entity-title-rd-grey { - background: #4D4D4D; + background: #4D4D4D; } .k-entity-title-rd-purple { - background: #660080; + background: #660080; } .k-entity-title-rd-red { - background: #D40000; + background: #D40000; } .k-entity-title-default { - background: #F1BB59 none repeat scroll 0% 50%; - border-left-color: #DD8A3D; + background: #F1BB59 none repeat scroll 0% 50%; + border-left-color: #DD8A3D; } .k-entity-title-green { - background: #AFA none repeat scroll 0% 50%; - border-left-color: #5FD35F; + background: #AFA none repeat scroll 0% 50%; + border-left-color: #5FD35F; } .k-entity-title-blue { - background: #AFDDE9 none repeat scroll 0% 50%; - border-left-color: #0066FF; + background: #AFDDE9 none repeat scroll 0% 50%; + border-left-color: #0066FF; } .k-entity-title-grey { - background: #CCCCCC none repeat scroll 0% 50%; - border-left-color: #4D4D4D; + background: #CCCCCC none repeat scroll 0% 50%; + border-left-color: #4D4D4D; } .k-entity-title-purple { - background: #DDAFE9 none repeat scroll 0% 50%; - border-left-color: #660080; + background: #DDAFE9 none repeat scroll 0% 50%; + border-left-color: #660080; } .k-entity-title-red { - background: #FF8080 none repeat scroll 0% 50%; - border-left-color: #D40000; + background: #FF8080 none repeat scroll 0% 50%; + border-left-color: #D40000; } .k-entity-title-default div { - color: #69312F; + color: #69312F; } .k-entity-title-green div { - color: #250; + color: #250; } .k-entity-title-blue div { - color: #000080; + color: #000080; } .k-entity-title-grey div { - color: #1A1A1A; + color: #1A1A1A; } .k-entity-title-purple div { - color: #440055; + color: #440055; } .k-entity-title-red div { - color: #800000; + color: #800000; } .k-entity-subtitle-default { - background: #DD8A3D none repeat scroll 0% 50%; + background: #DD8A3D none repeat scroll 0% 50%; } .k-entity-subtitle-green { - background: #5FD35F none repeat scroll 0% 50%; + background: #5FD35F none repeat scroll 0% 50%; } .k-entity-subtitle-blue { - background: #0066FF none repeat scroll 0% 50%; + background: #0066FF none repeat scroll 0% 50%; } .k-entity-subtitle-grey { - background: #4D4D4D none repeat scroll 0% 50%; + background: #4D4D4D none repeat scroll 0% 50%; } .k-entity-subtitle-purple { - background: #660080 none repeat scroll 0% 50%; + background: #660080 none repeat scroll 0% 50%; } .k-entity-subtitle-red { - background: #D40000 none repeat scroll 0% 50%; + background: #D40000 none repeat scroll 0% 50%; } .k-entity-subtitle-default div { - color: #FFF; + color: #FFF; } .k-entity-subtitle-green div { - color: #FFF; + color: #FFF; } .k-entity-subtitle-blue div { - color: #FFF; + color: #FFF; } .k-entity-subtitle-grey div { - color: #FFF; + color: #FFF; } .k-entity-subtitle-purple div { - color: #FFF; + color: #FFF; } .k-entity-subtitle-red div { - color: #FFF; + color: #FFF; } .k-entity-bottom-rd-default,.k-entity-bottom-default,.k-toolselectoritem-sel-default - { - background: #DD8A3D; + { + background: #DD8A3D; } .k-entity-bottom-rd-green,.k-entity-bottom-green,.k-toolselectoritem-sel-green - { - background: #5FD35F; + { + background: #5FD35F; } .k-entity-bottom-rd-blue,.k-entity-bottom-blue,.k-toolselectoritem-sel-blue - { - background: #0066FF; + { + background: #0066FF; } .k-entity-bottom-rd-grey,.k-entity-bottom-grey,.k-toolselectoritem-sel-grey - { - background: #4D4D4D; + { + background: #4D4D4D; } .k-entity-bottom-rd-purple,.k-entity-bottom-purple,.k-toolselectoritem-sel-purple - { - background: #660080; + { + background: #660080; } .k-entity-bottom-rd-red,.k-entity-bottom-red,.k-toolselectoritem-sel-red - { - background: #D40000; + { + background: #D40000; } .k-entitylicensepanel-licensetext { - cursor: pointer; - margin-left: 5px; - text-decoration: underline; + cursor: pointer; + margin-left: 5px; + text-decoration: underline; } .k-entity-context-default div,.k-entity-context-default .x-tree .x-panel-body - { - background: #FFD09D none repeat scroll 0% 50%; + { + background: #FFD09D none repeat scroll 0% 50%; } .k-entity-context-green div,.k-entity-context-green .x-tree .x-panel-body - { - background: #CFA none repeat scroll 0% 50%; + { + background: #CFA none repeat scroll 0% 50%; } .k-entity-context-blue div,.k-entity-context-blue .x-tree .x-panel-body - { - background: #AACCFF none repeat scroll 0% 50%; + { + background: #AACCFF none repeat scroll 0% 50%; } .k-entity-context-grey div,.k-entity-context-grey .x-tree .x-panel-body - { - background: #B3B3B3 none repeat scroll 0% 50%; + { + background: #B3B3B3 none repeat scroll 0% 50%; } .k-entity-context-purple div,.k-entity-context-purple .x-tree .x-panel-body - { - background: #DDAFE9 none repeat scroll 0% 50%; + { + background: #DDAFE9 none repeat scroll 0% 50%; } .k-entity-context-red div,.k-entity-context-red .x-tree .x-panel-body { - background: #FFAAAA none repeat scroll 0% 50%; + background: #FFAAAA none repeat scroll 0% 50%; } .k-entity-context-purple .x-tree .x-panel-body { - background: #DDAFE9 none repeat scroll 0% 50%; + background: #DDAFE9 none repeat scroll 0% 50%; } .k-entity-bottom div { - line-height: 2em; - color: #FFF; + line-height: 2em; + color: #FFF; } .k-toolbar-top-line { - border-top-color: rgb(208, 208, 208); - border-top-style: solid; - border-top-width: 1px; + border-top-color: rgb(208, 208, 208); + border-top-style: solid; + border-top-width: 1px; } .k-toolbar-bottom-line { - border-bottom-color: rgb(208, 208, 208); - border-bottom-style: solid; - border-bottom-width: 1px; + border-bottom-color: rgb(208, 208, 208); + border-bottom-style: solid; + border-bottom-width: 1px; } .x-toolbar td,.x-toolbar span,.x-toolbar input,.x-toolbar div,.x-toolbar select,.x-toolbar label - { - white-space: nowrap; - font: normal 100% arial, sans; - line-height: 19px; + { + white-space: nowrap; + font: normal 100% arial, sans; + line-height: 19px; } .k-toolbar-sep { - padding-top: 4px; - padding-left: 5px; + padding-top: 4px; + padding-left: 5px; } /* Custom gwt-ext styles */ .ytb-sep { - background-image: - url(../js/ext/resources/images/default/grid/grid-split.gif); - background-position: center; - background-repeat: no-repeat; - display: block; - font-size: 1px; - height: 16px; - width: 4px; - overflow: hidden; - cursor: default; - margin: 0 2px 0; - border: 0; + background-image: + url(../js/ext/resources/images/default/grid/grid-split.gif); + background-position: center; + background-repeat: no-repeat; + display: block; + font-size: 1px; + height: 16px; + width: 4px; + overflow: hidden; + cursor: default; + margin: 0 2px 0; + border: 0; } .ytb-spacer { - width: 2px; + width: 2px; } .x-grid-group-hd { - border-bottom: 2px solid grey; - cursor: pointer; - padding-top: 3px; + border-bottom: 2px solid grey; + cursor: pointer; + padding-top: 3px; } /* Drop down */ .k-dropdownouter { - background-color: grey; + background-color: grey; } .k-dropdownouter-members { @@ -447,27 +481,27 @@ } .k-dropdownouter-members-default { - background-color: #DF5244; + background-color: #DF5244; } .k-dropdownouter-members-green { - background-color: #008000; + background-color: #008000; } .k-dropdownouter-members-blue { - background-color: #5500D4; + background-color: #5500D4; } .k-dropdownouter-members-grey { - background-color: #4D4D4D; + background-color: #4D4D4D; } .k-dropdownouter-members-purple { - background-color: #672178; + background-color: #672178; } .k-dropdownouter-members-red { - background-color: #A02C2C; + background-color: #A02C2C; } .k-dropdownouter-part { @@ -475,27 +509,27 @@ } .k-dropdownouter-part-default { - background-color: #CA5842; + background-color: #CA5842; } .k-dropdownouter-part-green { - background-color: #00AA00; + background-color: #00AA00; } .k-dropdownouter-part-blue { - background-color: #6600FF; + background-color: #6600FF; } .k-dropdownouter-part-grey { - background-color: #666666; + background-color: #666666; } .k-dropdownouter-part-purple { - background-color: #892CA0; + background-color: #892CA0; } .k-dropdownouter-part-red { - background-color: #C83737; + background-color: #C83737; } .k-dropdownouter-tags { @@ -503,27 +537,27 @@ } .k-dropdownouter-tags-default { - background-color: #87501E; + background-color: #87501E; } .k-dropdownouter-tags-green { - background-color: #00D400; + background-color: #00D400; } .k-dropdownouter-tags-blue { - background-color: #9955FF; + background-color: #9955FF; } .k-dropdownouter-tags-grey { - background-color: #808080; + background-color: #808080; } .k-dropdownouter-tags-purple { - background-color: #AB37C8; + background-color: #AB37C8; } .k-dropdownouter-tags-red { - background-color: #D35F5F; + background-color: #D35F5F; } .k-dropdownouter-summary { @@ -531,80 +565,80 @@ } .k-dropdownouter-summary-default { - background-color: #9F734B; + background-color: #9F734B; } .k-dropdownouter-summary-green { - background-color: #4CE14C; + background-color: #4CE14C; } .k-dropdownouter-summary-blue { - background-color: #69A5FF; + background-color: #69A5FF; } .k-dropdownouter-summary-grey { - background-color: #A6A6A6; + background-color: #A6A6A6; } .k-dropdownouter-summary-purple { - background-color: #C473D8; + background-color: #C473D8; } .k-dropdownouter-summary-red { - background-color: #E08F8F; + background-color: #E08F8F; } .k-dropdowninner { - margin: 0 3px 1px 3px; - background: green; - background-color: #FFF; - /* padding: 3px; */ + margin: 0 3px 1px 3px; + background: green; + background-color: #FFF; + /* padding: 3px; */ } .k-dropdownlabel { - color: #FFF; - cursor: pointer; + color: #FFF; + cursor: pointer; } .k-dropdownlabel .gwt-Label { - margin: 0 5px 0 0; - width: 100%; + margin: 0 5px 0 0; + width: 100%; } .k-dropdownlabel img { - margin: 0 3px 0 1px; + margin: 0 3px 0 1px; } /* WsTheme */ .k-wstheme-icon-default { - background: #FF8C00; + background: #FF8C00; } .k-wstheme-icon-green { - background: green; + background: green; } .k-wstheme-icon-blue { - background: blue; + background: blue; } .k-wstheme-icon-grey { - background: grey; + background: grey; } .k-wstheme-icon-purple { - background: purple; + background: purple; } .k-wstheme-icon-red { - background: red; + background: red; } /* Tool selector items */ .k-toolselectoritem { - width: auto; - margin-bottom: 5px; - cursor: pointer; + width: auto; + margin-bottom: 5px; + cursor: pointer; } .k-toolselectoritem-sel { @@ -612,37 +646,37 @@ } .k-toolselectoritem-notsel-default { - background: #FFE9A5; + background: #FFE9A5; } .k-toolselectoritem-notsel-green { - background: #D6F4D6; + background: #D6F4D6; } .k-toolselectoritem-notsel-blue { - background: #D7D7F4; + background: #D7D7F4; } .k-toolselectoritem-notsel-grey { - background: #E6E6E6; + background: #E6E6E6; } .k-toolselectoritem-notsel-purple { - background: #EED7F4; + background: #EED7F4; } .k-toolselectoritem-notsel-red { - background: #FFD5D5; + background: #FFD5D5; } .k-toolselectoritem-sel a { - color: #FFF; - padding: 0 9px; - text-decoration: none; + color: #FFF; + padding: 0 9px; + text-decoration: none; } .k-toolselectoritem-sel a:hover { - text-decoration: none; + text-decoration: none; } .k-toolselectoritem-notsel { @@ -650,31 +684,35 @@ } .k-toolselectoritem-notsel a { - color: #0000FF; - padding: 0 9px; - text-decoration: none; + color: #0000FF; + padding: 0 9px; + text-decoration: none; } .k-toolselectoritem-notsel a:hover { - text-decoration: underline; + text-decoration: underline; } /* others */ .k-textlinethrough { - text-decoration: line-through; - color: red; + text-decoration: line-through; + color: red; } .k-textnormal { - text-decoration: inherit; - color: green; + text-decoration: inherit; + color: green; } .k-textunderline { - text-decoration: underline; - color: gray; + text-decoration: underline; + color: gray; } -.x-tool-kmenu{background-position:0 -75px;} +.x-tool-kmenu { + background-position: 0 -75px; +} -.x-tool-kmenu-over{background-position:-15px -75px;} +.x-tool-kmenu-over { + background-position: -15px -75px; +} \ No newline at end of file Modified: trunk/src/main/java/org/ourproject/kune/app/server/KuneContainerListener.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/app/server/KuneContainerListener.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/app/server/KuneContainerListener.java 2008-10-22 09:15:18 UTC (rev 919) @@ -63,7 +63,7 @@ try { Properties properties = new Properties(); InputStream input = Thread.currentThread().getContextClassLoader().getResourceAsStream( - "log4j.dev.properties"); + "log4j.dev.properties"); properties.load(input); PropertyConfigurator.configure(properties); } catch (IOException e) { Modified: trunk/src/main/java/org/ourproject/kune/app/server/KuneRackModule.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/app/server/KuneRackModule.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/app/server/KuneRackModule.java 2008-10-22 09:15:18 UTC (rev 919) @@ -93,14 +93,14 @@ builder.at("^/kune$").install(new RedirectFilter("/kune/")); builder.at("^/kune/$").install(new ListenerFilter(KuneApplicationListener.class), - new ForwardFilter("/gwt/org.ourproject.kune.app.Kune/Kune.html")); + new ForwardFilter("/gwt/org.ourproject.kune.app.Kune/Kune.html")); builder.installGWTServices("^/kune/", SiteService.class, GroupService.class, ContentService.class, - UserService.class, SocialNetworkService.class, I18nService.class); + UserService.class, SocialNetworkService.class, I18nService.class); builder.installRESTServices("^/kune/json/", TestJSONService.class, GroupJSONService.class, - UserJSONService.class, I18nTranslationJSONService.class, ContentJSONService.class); + UserJSONService.class, I18nTranslationJSONService.class, ContentJSONService.class); builder.installServlet("^/kune/servlets/", FileUploadManager.class, FileDownloadManager.class, - EntityLogoUploadManager.class, EntityLogoDownloadManager.class); + EntityLogoUploadManager.class, EntityLogoDownloadManager.class); builder.at("^/kune/(.*)$").install(new ForwardFilter("^/kune/(.*)$", "/gwt/org.ourproject.kune.app.Kune/{0}")); } Modified: trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientActions.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientActions.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientActions.java 2008-10-22 09:15:18 UTC (rev 919) @@ -34,7 +34,7 @@ AccessRolDTO.Viewer, ActionToolbarPosition.topbar, new Listener<StateToken>() { public void onEvent(final StateToken token) { chatClientToolProvider.get().getChat().joinRoom(token.toString().replaceAll("\\.", "-"), - session.getCurrentUserInfo().getShortName()); + session.getCurrentUserInfo().getShortName()); chatClientToolProvider.get().getChat().show(); } }); Modified: trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientTool.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientTool.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientTool.java 2008-10-22 09:15:18 UTC (rev 919) @@ -68,22 +68,19 @@ initData.getChatRoomHost()); chat = new ChatEngineXmpp(emiteUIDialog, chatOptions, i18n, ws); groupMembersSummaryProvider.get().addUserOperation( - new MenuItem<GroupDTO>("images/new-chat.gif", - i18n.t("Start a chat with this member"), - new Listener<GroupDTO>() { - public void onEvent(final GroupDTO group) { - emiteUIDialog.show(); - if (emiteUIDialog.isLoggedIn()) { - emiteUIDialog.chat(XmppURI.jid(group.getShortName() - + "@" - + initData.getChatDomain())); - } else { - ws.showAlertMessage( - i18n.t("Error"), - i18n.t("To start a chat you need to be 'online'.")); - } - } - }), true); + new MenuItem<GroupDTO>("images/new-chat.gif", i18n.t("Start a chat with this member"), + new Listener<GroupDTO>() { + public void onEvent(final GroupDTO group) { + emiteUIDialog.show(); + if (emiteUIDialog.isLoggedIn()) { + emiteUIDialog.chat(XmppURI.jid(group.getShortName() + "@" + + initData.getChatDomain())); + } else { + ws.showAlertMessage(i18n.t("Error"), + i18n.t("To start a chat you need to be 'online'.")); + } + } + }), true); } private void checkChatDomain(final String chatDomain) { Modified: trunk/src/main/java/org/ourproject/kune/chat/client/ChatEngineXmpp.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/chat/client/ChatEngineXmpp.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/chat/client/ChatEngineXmpp.java 2008-10-22 09:15:18 UTC (rev 919) @@ -83,7 +83,7 @@ chatOptions.userOptions = userChatOptions; if (emiteDialog.isDialogNotStarted()) { emiteDialog.start(userChatOptions, chatOptions.httpBase, chatOptions.roomHost, initialWindowTitle, - avatarProvider, i18n.t("Chat")); + avatarProvider, i18n.t("Chat")); } else { emiteDialog.setEnableStatusUI(true); emiteDialog.refreshUserInfo(chatOptions.userOptions); Modified: trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java 2008-10-22 09:15:18 UTC (rev 919) @@ -92,39 +92,27 @@ } private void createActions() { - final ActionToolbarMenuAndItemDescriptor<StateToken> addFolder = createFolderAction( - TYPE_FOLDER, - "images/nav/folder_add.png", - i18n.t("New folder"), - i18n.t("Folder"), - i18n.t("New"), - i18n.t("New folder")); - final ActionToolbarMenuAndItemDescriptor<StateToken> addGallery = createFolderAction( - TYPE_GALLERY, - "images/nav/gallery_add.png", - i18n.t("New gallery"), - i18n.t("Folder"), - i18n.t("New"), - i18n.t("New gallery")); + final ActionToolbarMenuAndItemDescriptor<StateToken> addFolder = createFolderAction(TYPE_FOLDER, + "images/nav/folder_add.png", i18n.t("New folder"), i18n.t("Folder"), i18n.t("New"), + i18n.t("New folder")); + final ActionToolbarMenuAndItemDescriptor<StateToken> addGallery = createFolderAction(TYPE_GALLERY, + "images/nav/gallery_add.png", i18n.t("New gallery"), i18n.t("Folder"), i18n.t("New"), + i18n.t("New gallery")); final ActionToolbarMenuAndItemDescriptor<StateToken> addWiki = createFolderAction(TYPE_WIKI, - "images/nav/wiki_add.png", - i18n.t("New wiki"), - i18n.t("Folder"), - i18n.t("New"), i18n.t("wiki")); + "images/nav/wiki_add.png", i18n.t("New wiki"), i18n.t("Folder"), i18n.t("New"), i18n.t("wiki")); final ActionToolbarMenuAndItemDescriptor<StateToken> addDoc = new ActionToolbarMenuAndItemDescriptor<StateToken>( AccessRolDTO.Editor, ActionToolbarPosition.topbar, new Listener<StateToken>() { public void onEvent(final StateToken token) { Site.showProgressProcessing(); contentServiceProvider.get().addContent(session.getUserHash(), - session.getCurrentState().getStateToken(), - i18n.t("New document"), - new AsyncCallbackSimple<StateDTO>() { - public void onSuccess(final StateDTO state) { - contextNavigator.setEditOnNextStateChange(true); - stateManager.setRetrievedState(state); - } - }); + session.getCurrentState().getStateToken(), i18n.t("New document"), + new AsyncCallbackSimple<StateDTO>() { + public void onSuccess(final StateDTO state) { + contextNavigator.setEditOnNextStateChange(true); + stateManager.setRetrievedState(state); + } + }); } }); addDoc.setTextDescription(i18n.t("New document")); @@ -148,12 +136,12 @@ AccessRolDTO.Administrator, ActionToolbarPosition.topbar, new Listener<StateToken>() { public void onEvent(final StateToken token) { contentServiceProvider.get().delContent(session.getUserHash(), token, - new AsyncCallbackSimple<String>() { - public void onSuccess(final String result) { - final StateToken parent = token.clone().clearDocument(); - stateManager.gotoToken(parent); - } - }); + new AsyncCallbackSimple<String>() { + public void onSuccess(final String result) { + final StateToken parent = token.clone().clearDocument(); + stateManager.gotoToken(parent); + } + }); } }); delContent.setParentMenuTitle(i18n.t("File")); @@ -248,19 +236,14 @@ refreshCnt.setTextDescription(i18n.t("Refresh")); refreshCnt.setIconUrl("images/nav/refresh.png"); - final ActionToolbarButtonAndItemDescriptor<StateToken> uploadFile = createUploadAction( - i18n.t("Upload file"), - "images/nav/upload.png", - i18n.t("Upload some files (images, PDFs, ...)"), - null); + final ActionToolbarButtonAndItemDescriptor<StateToken> uploadFile = createUploadAction(i18n.t("Upload file"), + "images/nav/upload.png", i18n.t("Upload some files (images, PDFs, ...)"), null); session.onInitDataReceived(new Listener<InitDataDTO>() { public void onEvent(final InitDataDTO parameter) { final ActionToolbarButtonAndItemDescriptor<StateToken> uploadMedia = createUploadAction( - i18n.t("Upload media"), - "images/nav/upload.png", - i18n.t("Upload some media (images, videos)"), - session.getGalleryPermittedExtensions()); + i18n.t("Upload media"), "images/nav/upload.png", i18n.t("Upload some media (images, videos)"), + session.getGalleryPermittedExtensions()); contextActionRegistry.addAction(uploadMedia, TYPE_GALLERY); } }); @@ -290,17 +273,16 @@ AccessRolDTO.Administrator, ActionToolbarPosition.topbar, new Listener<StateToken>() { public void onEvent(final StateToken token) { groupServiceProvider.get().setGroupFullLogo(session.getUserHash(), token, - new AsyncCallbackSimple<GroupDTO>() { - public void onSuccess(GroupDTO newGroup) { - Site.info("Logo selected"); - if (session.getCurrentState().getGroup().getShortName().equals( - newGroup.getShortName())) { - session.getCurrentState().setGroup( - newGroup); - } - entityLogo.refreshGroupLogo(); - } - }); + new AsyncCallbackSimple<GroupDTO>() { + public void onSuccess(GroupDTO newGroup) { + Site.info("Logo selected"); + if (session.getCurrentState().getGroup().getShortName().equals( + newGroup.getShortName())) { + session.getCurrentState().setGroup(newGroup); + } + entityLogo.refreshGroupLogo(); + } + }); } }); setGroupLogo.setParentMenuTitle(i18n.t("File")); @@ -314,25 +296,15 @@ }); final ActionToolbarMenuDescriptor<StateToken> setPublishStatus = createSetStatusAction( - AccessRolDTO.Administrator, - i18n.t("Published online"), - ContentStatusDTO.publishedOnline); + AccessRolDTO.Administrator, i18n.t("Published online"), ContentStatusDTO.publishedOnline); final ActionToolbarMenuDescriptor<StateToken> setEditionInProgressStatus = createSetStatusAction( - AccessRolDTO.Administrator, - i18n.t("Editing in progress"), - ContentStatusDTO.editingInProgress); + AccessRolDTO.Administrator, i18n.t("Editing in progress"), ContentStatusDTO.editingInProgress); final ActionToolbarMenuDescriptor<StateToken> setRejectStatus = createSetStatusAction( - AccessRolDTO.Administrator, - i18n.t("Rejected"), - ContentStatusDTO.rejected); + AccessRolDTO.Administrator, i18n.t("Rejected"), ContentStatusDTO.rejected); final ActionToolbarMenuDescriptor<StateToken> setSubmittedForPublishStatus = createSetStatusAction( - AccessRolDTO.Administrator, - i18n.t("Submitted for publish"), - ContentStatusDTO.publishedOnline); + AccessRolDTO.Administrator, i18n.t("Submitted for publish"), ContentStatusDTO.publishedOnline); final ActionToolbarMenuDescriptor<StateToken> setInTheDustBinStatus = createSetStatusAction( - AccessRolDTO.Administrator, - i18n.t("In the dustbin"), - ContentStatusDTO.inTheDustbin); + AccessRolDTO.Administrator, i18n.t("In the dustbin"), ContentStatusDTO.inTheDustbin); final ActionToolbarButtonDescriptor<StateToken> translateContent = new ActionToolbarButtonDescriptor<StateToken>( AccessRolDTO.Editor, ActionToolbarPosition.topbar, new Listener<StateToken>() { @@ -356,31 +328,27 @@ public void onEvent(final String html) { Site.showProgressSaving(); contentServiceProvider.get().save(session.getUserHash(), stateToken, html, - new AsyncCallback<Integer>() { - public void onFailure( - final Throwable caught) { - Site.hideProgress(); - try { - throw caught; - } catch (final SessionExpiredException e) { - errorHandler.doSessionExpired(); - } catch (final Throwable e) { - Site.error(i18n.t("Error saving document. Retrying...")); - errorHandler.process(caught); - editor.onSaveFailed(); - } - } + new AsyncCallback<Integer>() { + public void onFailure(final Throwable caught) { + Site.hideProgress(); + try { + throw caught; + } catch (final SessionExpiredException e) { + errorHandler.doSessionExpired(); + } catch (final Throwable e) { + Site.error(i18n.t("Error saving document. Retrying...")); + errorHandler.process(caught); + editor.onSaveFailed(); + } + } - public void onSuccess( - final Integer newVersion) { - Site.hideProgress(); - session.getCurrentState().setVersion( - newVersion); - session.getCurrentState().setContent( - html); - editor.onSaved(); - } - }); + public void onSuccess(final Integer newVersion) { + Site.hideProgress(); + session.getCurrentState().setVersion(newVersion); + session.getCurrentState().setContent(html); + editor.onSaved(); + } + }); } }, new Listener0() { public void onEvent() { @@ -430,7 +398,7 @@ contextActionRegistry.addAction(downloadCtx, TYPE_UPLOADEDFILE); contentActionRegistry.addAction(editContent, TYPE_DOCUMENT, TYPE_POST, TYPE_WIKIPAGE); contentActionRegistry.addAction(translateContent, TYPE_DOCUMENT, TYPE_FOLDER, TYPE_GALLERY, TYPE_UPLOADEDFILE, - TYPE_WIKI, TYPE_WIKIPAGE); + TYPE_WIKI, TYPE_WIKIPAGE); } private ActionToolbarMenuAndItemDescriptor<StateToken> createFolderAction(final String contentTypeId, @@ -442,12 +410,12 @@ public void onEvent(final StateToken stateToken) { Site.showProgressProcessing(); contentServiceProvider.get().addFolder(session.getUserHash(), stateToken, defaultName, - contentTypeId, new AsyncCallbackSimple<StateDTO>() { - public void onSuccess(final StateDTO state) { - contextNavigator.setEditOnNextStateChange(true); - stateManager.setRetrievedState(state); - } - }); + contentTypeId, new AsyncCallbackSimple<StateDTO>() { + public void onSuccess(final StateDTO state) { + contextNavigator.setEditOnNextStateChange(true); + stateManager.setRetrievedState(state); + } + }); } }); addFolder.setTextDescription(textDescription); @@ -464,15 +432,13 @@ public void onEvent(final StateToken token) { Site.showProgressProcessing(); contentServiceProvider.get().setAsDefaultContent(session.getUserHash(), token, - new AsyncCallbackSimple<ContentSimpleDTO>() { - public void onSuccess( - final ContentSimpleDTO defContent) { - session.getCurrentState().getGroup().setDefaultContent( - defContent); - Site.hideProgress(); - Site.info(i18n.t("Document selected as the group homepage")); - } - }); + new AsyncCallbackSimple<ContentSimpleDTO>() { + public void onSuccess(final ContentSimpleDTO defContent) { + session.getCurrentState().getGroup().setDefaultContent(defContent); + Site.hideProgress(); + Site.info(i18n.t("Document selected as the group homepage")); + } + }); } }); setAsDefGroupContent.setTextDescription(i18n.t("Set this as the group default page")); @@ -498,7 +464,7 @@ }; if (status.equals(ContentStatusDTO.publishedOnline) || status.equals(ContentStatusDTO.rejected)) { contentServiceProvider.get().setStatusAsAdmin(session.getUserHash(), stateToken, status, - callback); + callback); } else { contentServiceProvider.get().setStatus(session.getUserHash(), stateToken, status, callback); } Modified: trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientTool.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientTool.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientTool.java 2008-10-22 09:15:18 UTC (rev 919) @@ -98,21 +98,21 @@ contentIconsRegistry.registerContentTypeIcon(TYPE_WIKI, "images/nav/wiki.png"); contentIconsRegistry.registerContentTypeIcon(TYPE_WIKIPAGE, "images/nav/wikipage.png"); contentIconsRegistry.registerContentTypeIcon(TYPE_UPLOADEDFILE, new BasicMimeTypeDTO("image"), - "images/nav/picture.png"); + "images/nav/picture.png"); contentIconsRegistry.registerContentTypeIcon(TYPE_UPLOADEDFILE, new BasicMimeTypeDTO("video"), - "images/nav/film.png"); + "images/nav/film.png"); contentIconsRegistry.registerContentTypeIcon(TYPE_UPLOADEDFILE, new BasicMimeTypeDTO("application", "pdf"), - "images/nav/page_pdf.png"); + "images/nav/page_pdf.png"); contentIconsRegistry.registerContentTypeIcon(TYPE_UPLOADEDFILE, new BasicMimeTypeDTO("application", "zip"), - "images/nav/page_zip.png"); + "images/nav/page_zip.png"); contentIconsRegistry.registerContentTypeIcon(TYPE_UPLOADEDFILE, new BasicMimeTypeDTO("application", "zip"), - "images/nav/page_zip.png"); + "images/nav/page_zip.png"); contentIconsRegistry.registerContentTypeIcon(TYPE_UPLOADEDFILE, new BasicMimeTypeDTO("text"), - "images/nav/page_text.png"); + "images/nav/page_text.png"); contentIconsRegistry.registerContentTypeIcon(TYPE_UPLOADEDFILE, new BasicMimeTypeDTO("application", "msword"), - "images/nav/page_word.png"); + "images/nav/page_word.png"); contentIconsRegistry.registerContentTypeIcon(TYPE_UPLOADEDFILE, new BasicMimeTypeDTO("application", "excel"), - "images/nav/page_excel.png"); + "images/nav/page_excel.png"); contentIconsRegistry.registerContentTypeIcon(TYPE_UPLOADEDFILE, new BasicMimeTypeDTO("application", "mspowerpoint"), "images/nav/page_pps.png"); contentIconsRegistry.registerContentTypeIcon(TYPE_UPLOADEDFILE, "images/nav/page.png"); Modified: trunk/src/main/java/org/ourproject/kune/docs/client/cnt/DocumentContentPresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/docs/client/cnt/DocumentContentPresenter.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/docs/client/cnt/DocumentContentPresenter.java 2008-10-22 09:15:18 UTC (rev 919) @@ -90,10 +90,10 @@ ActionItemCollection<StateToken> collection; if (content.hasDocument()) { collection = actionRegistry.getCurrentActions(content.getStateToken(), typeId, session.isLogged(), - content.getContentRights(), true); + content.getContentRights(), true); } else { collection = actionRegistry.getCurrentActions(content.getStateToken(), typeId, session.isLogged(), - content.getContainerRights(), true); + content.getContainerRights(), true); } toolbar.disableMenusAndClearButtons(); toolbar.setActions(collection); @@ -105,7 +105,7 @@ // textEditorProvider.get().setToolbarVisible(false); if (content.hasDocument()) { docReaderProvider.get().showDocument(content.getStateToken(), content.getContent(), content.getTypeId(), - content.getMimeType()); + content.getMimeType()); textEditorProvider.get().reset(); } else { final FolderViewer viewer = folderViewerProvider.get(); Modified: trunk/src/main/java/org/ourproject/kune/docs/client/cnt/reader/DocumentReaderPresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/docs/client/cnt/reader/DocumentReaderPresenter.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/docs/client/cnt/reader/DocumentReaderPresenter.java 2008-10-22 09:15:18 UTC (rev 919) @@ -48,8 +48,8 @@ if (mimeType != null) { FileDownloadUtils fileDownloadUtils = downloadProvider.get(); if (mimeType.getType().equals("image")) { - view.showImage(fileDownloadUtils.getImageUrl(token), - fileDownloadUtils.getImageResizedUrl(token, ImageSize.sized)); + view.showImage(fileDownloadUtils.getImageUrl(token), fileDownloadUtils.getImageResizedUrl(token, + ImageSize.sized)); } else if (mimeType.toString().equals("text/plain") || mimeType.toString().equals("application/pdf")) { view.setContent(text); } else { Modified: trunk/src/main/java/org/ourproject/kune/docs/client/ctx/admin/AdminContextPresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/docs/client/ctx/admin/AdminContextPresenter.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/docs/client/ctx/admin/AdminContextPresenter.java 2008-10-22 09:15:18 UTC (rev 919) @@ -66,36 +66,36 @@ Site.showProgressProcessing(); final StateDTO currentState = session.getCurrentState(); contentServiceProvider.get().addAuthor(session.getUserHash(), currentState.getStateToken(), authorShortName, - new AsyncCallbackSimple<Object>() { - public void onSuccess(final Object result) { - Site.hideProgress(); - stateManager.reload(); - } - }); + new AsyncCallbackSimple<Object>() { + public void onSuccess(final Object result) { + Site.hideProgress(); + stateManager.reload(); + } + }); } public void delAuthor(final String authorShortName) { Site.showProgressProcessing(); final StateDTO currentState = session.getCurrentState(); contentServiceProvider.get().removeAuthor(session.getUserHash(), currentState.getStateToken(), authorShortName, - new AsyncCallbackSimple<Object>() { - public void onSuccess(final Object result) { - Site.hideProgress(); - stateManager.reload(); - } - }); + new AsyncCallbackSimple<Object>() { + public void onSuccess(final Object result) { + Site.hideProgress(); + stateManager.reload(); + } + }); } public void doChangeLanguage(final String langCode) { Site.showProgressProcessing(); final StateDTO currentState = session.getCurrentState(); contentServiceProvider.get().setLanguage(session.getUserHash(), currentState.getStateToken(), langCode, - new AsyncCallbackSimple<I18nLanguageDTO>() { - public void onSuccess(final I18nLanguageDTO lang) { - Site.hideProgress(); - entitySubTitle.setContentLanguage(lang.getEnglishName()); - } - }); + new AsyncCallbackSimple<I18nLanguageDTO>() { + public void onSuccess(final I18nLanguageDTO lang) { + Site.hideProgress(); + entitySubTitle.setContentLanguage(lang.getEnglishName()); + } + }); } public View getView() { @@ -110,12 +110,12 @@ Site.showProgressProcessing(); final StateDTO currentState = session.getCurrentState(); contentServiceProvider.get().setPublishedOn(session.getUserHash(), currentState.getStateToken(), publishedOn, - new AsyncCallbackSimple<Object>() { - public void onSuccess(final Object result) { - Site.hideProgress(); - entityTitle.setContentDate(publishedOn); - } - }); + new AsyncCallbackSimple<Object>() { + public void onSuccess(final Object result) { + Site.hideProgress(); + entityTitle.setContentDate(publishedOn); + } + }); } @@ -160,12 +160,12 @@ Site.showProgressProcessing(); final StateDTO currentState = session.getCurrentState(); contentServiceProvider.get().setTags(session.getUserHash(), currentState.getStateToken(), tagsString, - new AsyncCallbackSimple<List<TagResultDTO>>() { - public void onSuccess(final List<TagResultDTO> result) { - tagsSummaryProvider.get().setGroupTags(result); - Site.hideProgress(); - } - }); + new AsyncCallbackSimple<List<TagResultDTO>>() { + public void onSuccess(final List<TagResultDTO> result) { + tagsSummaryProvider.get().setGroupTags(result); + Site.hideProgress(); + } + }); } } Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPanel.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPanel.java 2008-10-22 09:15:18 UTC (rev 919) @@ -238,7 +238,7 @@ private String genMenuKey(final ActionToolbarMenuDescriptor<T> action) { return genMenuKey(action.getActionPosition(), action.getParentMenuTitle(), action.getParentSubMenuTitle(), - action.getText()); + action.getText()); } private String genMenuKey(final ActionToolbarPosition pos, final String menuTitle, final String menuSubTitle, Modified: trunk/src/main/java/org/ourproject/kune/platf/client/dto/SocialNetworkResultDTO.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/dto/SocialNetworkResultDTO.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/platf/client/dto/SocialNetworkResultDTO.java 2008-10-22 09:15:18 UTC (rev 919) @@ -27,19 +27,34 @@ ParticipationDataDTO userParticipation; + UserBuddiesDataDTO userBuddies; + + AccessRightsDTO groupRights; + public SocialNetworkResultDTO() { - this(null, null); + this(null, null, null, null); } - public SocialNetworkResultDTO(final SocialNetworkDTO groupMembers, final ParticipationDataDTO userParticipation) { + public SocialNetworkResultDTO(final SocialNetworkDTO groupMembers, final ParticipationDataDTO userParticipation, + final UserBuddiesDataDTO userBuddies, AccessRightsDTO groupRights) { this.groupMembers = groupMembers; this.userParticipation = userParticipation; + this.userBuddies = userBuddies; + this.groupRights = groupRights; } public SocialNetworkDTO getGroupMembers() { return groupMembers; } + public AccessRightsDTO getGroupRights() { + return groupRights; + } + + public UserBuddiesDataDTO getUserBuddies() { + return userBuddies; + } + public ParticipationDataDTO getUserParticipation() { return userParticipation; } @@ -48,10 +63,19 @@ this.groupMembers = groupMembers; } + public void setGroupRights(AccessRightsDTO groupRights) { + this.groupRights = groupRights; + } + + public void setUserBuddies(UserBuddiesDataDTO userBuddies) { + this.userBuddies = userBuddies; + } + public void setUserParticipation(final ParticipationDataDTO userParticipation) { this.userParticipation = userParticipation; } + @Override public String toString() { return "SocialNetworkResultDTO[members: " + groupMembers + "; participation: " + userParticipation + "]"; } Modified: trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserBuddiesDataDTO.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserBuddiesDataDTO.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserBuddiesDataDTO.java 2008-10-22 09:15:18 UTC (rev 919) @@ -1,15 +1,20 @@ package org.ourproject.kune.platf.client.dto; +import java.util.ArrayList; import java.util.List; import com.google.gwt.user.client.rpc.IsSerializable; public class UserBuddiesDataDTO implements IsSerializable { + public static UserBuddiesDataDTO NO_BUDDIES = new UserBuddiesDataDTO(); + private List<UserSimpleDTO> buddies; int otherExternalBuddies; public UserBuddiesDataDTO() { + buddies = new ArrayList<UserSimpleDTO>(); + otherExternalBuddies = 0; } public List<UserSimpleDTO> getBuddies() { Modified: trunk/src/main/java/org/ourproject/kune/platf/client/rpc/SocialNetworkService.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/rpc/SocialNetworkService.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/platf/client/rpc/SocialNetworkService.java 2008-10-22 09:15:18 UTC (rev 919) @@ -19,8 +19,6 @@ */ package org.ourproject.kune.platf.client.rpc; -import org.ourproject.kune.platf.client.dto.ParticipationDataDTO; -import org.ourproject.kune.platf.client.dto.SocialNetworkDTO; import org.ourproject.kune.platf.client.dto.SocialNetworkRequestResult; import org.ourproject.kune.platf.client.dto.SocialNetworkResultDTO; import org.ourproject.kune.platf.client.dto.StateToken; @@ -48,10 +46,8 @@ SocialNetworkResultDTO denyJoinGroup(String hash, StateToken groupToken, String groupToDenyShortName) throws DefaultException; - SocialNetworkDTO getGroupMembers(String hash, StateToken groupToken) throws DefaultException; + SocialNetworkResultDTO getSocialNetwork(String hash, StateToken groupToken) throws DefaultException; - ParticipationDataDTO getParticipation(String hash, StateToken groupToken) throws DefaultException; - SocialNetworkRequestResult requestJoinGroup(String hash, StateToken groupToken) throws DefaultException; SocialNetworkResultDTO setAdminAsCollab(String hash, StateToken groupToken, String groupToSetCollabShortName) Modified: trunk/src/main/java/org/ourproject/kune/platf/client/rpc/SocialNetworkServiceAsync.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/rpc/SocialNetworkServiceAsync.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/platf/client/rpc/SocialNetworkServiceAsync.java 2008-10-22 09:15:18 UTC (rev 919) @@ -19,7 +19,6 @@ */ package org.ourproject.kune.platf.client.rpc; -import org.ourproject.kune.platf.client.dto.ParticipationDataDTO; import org.ourproject.kune.platf.client.dto.SocialNetworkResultDTO; import org.ourproject.kune.platf.client.dto.StateToken; @@ -45,10 +44,8 @@ void denyJoinGroup(String hash, StateToken groupToken, String groupToDenyShortName, AsyncCallback<SocialNetworkResultDTO> callback); - void getGroupMembers(String hash, StateToken groupToken, AsyncCallback<SocialNetworkResultDTO> callback); + void getSocialNetwork(String hash, StateToken groupToken, AsyncCallback<SocialNetworkResultDTO> callback); - void getParticipation(String hash, StateToken groupToken, AsyncCallback<ParticipationDataDTO> callback); - void requestJoinGroup(String hash, StateToken groupToken, AsyncCallback<?> callback); void setAdminAsCollab(String hash, StateToken groupToken, String groupToSetCollabShortName, Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneErrorHandler.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneErrorHandler.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneErrorHandler.java 2008-10-22 09:15:18 UTC (rev 919) @@ -32,7 +32,6 @@ import org.ourproject.kune.platf.client.state.Session; import org.ourproject.kune.platf.client.state.StateManager; import org.ourproject.kune.workspace.client.site.Site; -import org.ourproject.kune.workspace.client.skel.EntityWorkspace; import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton; import com.allen_sauer.gwt.log.client.Log; @@ -42,7 +41,6 @@ import com.calclab.suco.client.listener.Listener0; import com.google.gwt.core.client.GWT; import com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException; -import com.google.gwt.user.client.ui.Label; public class KuneErrorHandler { private final Session session; @@ -50,6 +48,7 @@ private final Provider<WorkspaceSkeleton> wsProvider; private final Event0 onSessionExpired; private final Provider<StateManager> stateManagerProvider; + private final Event0 onNotDefaultContent; public KuneErrorHandler(final Session session, final I18nTranslationService i18n, final Provider<WorkspaceSkeleton> wsProvider, final Provider<StateManager> stateManagerProvider) { @@ -58,18 +57,23 @@ this.wsProvider = wsProvider; this.stateManagerProvider = stateManagerProvider; this.onSessionExpired = Events.create("onSessionExpired"); + onNotDefaultContent = new Event0("onNotDefaultContent"); } public void doSessionExpired() { onSessionExpired.fire(); getWorkspaceSkeleton().showAlertMessage(i18n.t("Session expired"), - i18n.t("Your session has expired. Please login again.")); + i18n.t("Your session has expired. Please login again.")); } public WorkspaceSkeleton getWorkspaceSkeleton() { return wsProvider.get(); } + public void onNotDefaultContent(final Listener0 listener) { + onNotDefaultContent.add(listener); + } + public void onSessionExpired(final Listener0 listener) { onSessionExpired.add(listener); } @@ -85,15 +89,7 @@ logException(e); doSessionExpired(); } catch (final NoDefaultContentException e) { - EntityWorkspace ws = wsProvider.get().getEntityWorkspace(); - ws.setContent(new Label(i18n.t("This user don't have a homepage"))); - ws.setContext(new Label("")); - ws.getSubTitle().removeAll(); - ws.getTitleComponent().removeAll(); - ws.getContentTopBar().removeAll(); - ws.getContextTopBar().removeAll(); - ws.getContentBottomBar().removeAll(); - ws.getContextBottomBar().removeAll(); + onNotDefaultContent.fire(); } catch (final UserMustBeLoggedException e) { logException(e); if (session.isLogged()) { @@ -118,9 +114,9 @@ } catch (final LastAdminInGroupException e) { logException(e); getWorkspaceSkeleton().showAlertMessage( - i18n.t("Warning"), - i18n.t("Sorry, you are the last admin of this group." - + " Look for someone to substitute you appropriately as admin before unjoin this group.")); + i18n.t("Warning"), + i18n.t("Sorry, you are the last admin of this group." + + " Look for someone to substitute you appropriately as admin before unjoin this group.")); } catch (final AlreadyGroupMemberException e) { logException(e); Site.error(i18n.t("This group is already a group member")); Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java 2008-10-22 09:15:18 UTC (rev 919) @@ -303,7 +303,7 @@ @Override public ToolSelector create() { final ToolSelectorPresenter presenter = new ToolSelectorPresenter($(StateManager.class), - $(WsThemePresenter.class)); + $(WsThemePresenter.class), $(KuneErrorHandler.class)); return presenter; } }); @@ -393,8 +393,8 @@ contextNavigatorToolbar); final ContextNavigatorPresenter presenter = new ContextNavigatorPresenter($(StateManager.class), - $(Session.class), $$(ContentServiceAsync.class), i18n, $(EntityTitle.class), - $(ContentIconsRegistry.class), $(DragDropContentRegistry.class), toolbar, + $(Session.class), $(KuneErrorHandler.class), $$(ContentServiceAsync.class), i18n, + $(EntityTitle.class), $(ContentIconsRegistry.class), $(DragDropContentRegistry.class), toolbar, $(ContextActionRegistry.class), $$(FileDownloadUtils.class), true); final ContextNavigatorPanel panel = new ContextNavigatorPanel(presenter, i18n, $(WorkspaceSkeleton.class), $(ActionManager.class)); Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java 2008-10-22 09:15:18 UTC (rev 919) @@ -5,6 +5,7 @@ import org.ourproject.kune.platf.client.actions.ContentIconsRegistry; import org.ourproject.kune.platf.client.actions.UserActionRegistry; import org.ourproject.kune.platf.client.app.ApplicationComponentGroup; +import org.ourproject.kune.platf.client.app.HistoryWrapper; import org.ourproject.kune.platf.client.rpc.ContentServiceAsync; import org.ourproject.kune.platf.client.rpc.GroupServiceAsync; import org.ourproject.kune.platf.client.rpc.SocialNetworkServiceAsync; @@ -26,6 +27,9 @@ import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService; import org.ourproject.kune.workspace.client.licensefoot.EntityLicensePanel; import org.ourproject.kune.workspace.client.licensefoot.EntityLicensePresenter; +import org.ourproject.kune.workspace.client.nohomepage.NoHomePage; +import org.ourproject.kune.workspace.client.nohomepage.NoHomePagePanel; +import org.ourproject.kune.workspace.client.nohomepage.NoHomePagePresenter; import org.ourproject.kune.workspace.client.search.GroupLiveSearcher; import org.ourproject.kune.workspace.client.search.SiteSearcher; import org.ourproject.kune.workspace.client.site.Site; @@ -243,7 +247,7 @@ @Override public WsThemePresenter create() { final WsThemePresenter presenter = new WsThemePresenter($(Session.class), $$(GroupServiceAsync.class), - $(StateManager.class)); + $(StateManager.class), $(KuneErrorHandler.class)); final WsThemePanel panel = new WsThemePanel($(WorkspaceSkeleton.class), presenter, $(I18nUITranslationService.class)); presenter.init(panel); @@ -267,7 +271,7 @@ @Override public EntitySubTitle create() { final EntitySubTitlePresenter presenter = new EntitySubTitlePresenter( - $(I18nUITranslationService.class), $(StateManager.class), false); + $(I18nUITranslationService.class), $(StateManager.class), false, $(KuneErrorHandler.class)); final EntitySubTitlePanel panel = new EntitySubTitlePanel(presenter, $(WorkspaceSkeleton.class)); presenter.init(panel); return presenter; @@ -277,7 +281,8 @@ register(ApplicationComponentGroup.class, new Factory<EntityLicensePresenter>(EntityLicensePresenter.class) { @Override public EntityLicensePresenter create() { - final EntityLicensePresenter presenter = new EntityLicensePresenter($(StateManager.class)); + final EntityLicensePresenter presenter = new EntityLicensePresenter($(StateManager.class), + $(KuneErrorHandler.class)); final EntityLicensePanel panel = new EntityLicensePanel(presenter, $(I18nUITranslationService.class), $(WorkspaceSkeleton.class)); presenter.init(panel); @@ -371,5 +376,19 @@ return presenter; } }); + + register(ApplicationComponentGroup.class, new Factory<NoHomePage>(NoHomePage.class) { + @Override + public NoHomePage create() { + final NoHomePagePresenter presenter = new NoHomePagePresenter($(Session.class), $(StateManager.class), + $(KuneErrorHandler.class), $(EntityLogo.class), $$(GroupServiceAsync.class), + $$(EntityLogo.class), $$(SocialNetworkServiceAsync.class), $(HistoryWrapper.class)); + final NoHomePagePanel panel = new NoHomePagePanel(presenter, $(WorkspaceSkeleton.class), + $(I18nTranslationService.class)); + presenter.init(panel); + return presenter; + } + }); + } } Modified: trunk/src/main/java/org/ourproject/kune/platf/client/state/Session.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/state/Session.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/platf/client/state/Session.java 2008-10-22 09:15:18 UTC (rev 919) @@ -75,8 +75,6 @@ void onUserSignOut(Listener0 listener); - void setCurrent(final StateDTO currentState); - void setCurrentLanguage(final I18nLanguageDTO currentLanguage); void setCurrentState(final StateDTO currentState); Modified: trunk/src/main/java/org/ourproject/kune/platf/client/state/SessionDefault.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/state/SessionDefault.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/platf/client/state/SessionDefault.java 2008-10-22 09:15:18 UTC (rev 919) @@ -142,10 +142,6 @@ onUserSignOut.add(listener); } - public void setCurrent(final StateDTO currentState) { - this.currentState = currentState; - } - public void setCurrentLanguage(final I18nLanguageDTO currentLanguage) { this.currentLanguage = currentLanguage; } Modified: trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManagerDefault.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManagerDefault.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManagerDefault.java 2008-10-22 09:15:18 UTC (rev 919) @@ -29,6 +29,7 @@ import org.ourproject.kune.platf.client.dto.SocialNetworkResultDTO; import org.ourproject.kune.platf.client.dto.StateDTO; import org.ourproject.kune.platf.client.dto.StateToken; +import org.ourproject.kune.platf.client.dto.UserBuddiesDataDTO; import org.ourproject.kune.platf.client.dto.UserInfoDTO; import org.ourproject.kune.platf.client.rpc.AsyncCallbackSimple; import org.ourproject.kune.workspace.client.site.Site; @@ -162,8 +163,10 @@ // to avoid to reload() again the state final SocialNetworkDTO groupMembers = socialNet.getGroupMembers(); final ParticipationDataDTO userParticipation = socialNet.getUserParticipation(); + final UserBuddiesDataDTO userBuddies = socialNet.getUserBuddies(); state.setGroupMembers(groupMembers); state.setParticipation(userParticipation); + state.setUserBuddies(userBuddies); onSocialNetworkChanged.fire(state); } } @@ -190,7 +193,7 @@ } private void setState(final StateDTO newState) { - session.setCurrent(newState); + session.setCurrentState(newState); onStateChanged.fire(newState); Site.hideProgress(); checkGroupAndToolChange(oldState, newState); Modified: trunk/src/main/java/org/ourproject/kune/platf/client/tool/ToolSelectorPresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/tool/ToolSelectorPresenter.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/platf/client/tool/ToolSelectorPresenter.java 2008-10-22 09:15:18 UTC (rev 919) @@ -5,17 +5,20 @@ import org.ourproject.kune.platf.client.dto.GroupDTO; import org.ourproject.kune.platf.client.dto.StateDTO; +import org.ourproject.kune.platf.client.services.KuneErrorHandler; import org.ourproject.kune.platf.client.state.StateManager; import org.ourproject.kune.workspace.client.themes.WsThemePresenter; import com.calclab.suco.client.listener.Listener; +import com.calclab.suco.client.listener.Listener0; import com.calclab.suco.client.listener.Listener2; public class ToolSelectorPresenter implements ToolSelector { private final HashMap<String, ToolSelectorItem> tools; - public ToolSelectorPresenter(final StateManager stateManager, final WsThemePresenter wsThemePresenter) { + public ToolSelectorPresenter(final StateManager stateManager, final WsThemePresenter wsThemePresenter, + final KuneErrorHandler errorHandler) { tools = new HashMap<String, ToolSelectorItem>(); stateManager.onStateChanged(new Listener<StateDTO>() { public void onEvent(StateDTO state) { @@ -39,6 +42,12 @@ onToolChanged(oldTool, newTool); } }); + errorHandler.onNotDefaultContent(new Listener0() { + public void onEvent() { + setToolsVisible(false); + } + }); + } public void addTool(final ToolSelectorItem item) { @@ -66,4 +75,10 @@ tools.get(newTool).setSelected(true); } + private void setToolsVisible(boolean visible) { + for (String tool : tools.keySet()) { + tools.get(tool).setVisible(visible); + } + } + } Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/Location.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/ui/Location.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/Location.java 2008-10-22 09:15:18 UTC (rev 919) @@ -127,8 +127,8 @@ } private native String unescape(String val) /*-{ - return unescape(val); - }-*/; + return unescape(val); + }-*/; public String getParameter(final String name) { return paramMap.get(name); Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/WindowUtils.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/ui/WindowUtils.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/WindowUtils.java 2008-10-22 09:15:18 UTC (rev 919) @@ -49,35 +49,35 @@ } private static native String getQueryString() /*-{ - return $wnd.location.search; - }-*/; + return $wnd.location.search; + }-*/; private static native String getProtocol() /*-{ - return $wnd.location.protocol; - }-*/; + return $wnd.location.protocol; + }-*/; private static native String getPort() /*-{ - return $wnd.location.port; - }-*/; + return $wnd.location.port; + }-*/; private static native String getPath() /*-{ - return $wnd.location.pathname; - }-*/; + return $wnd.location.pathname; + }-*/; private static native String getHref() /*-{ - return $wnd.location.href; - }-*/; + return $wnd.location.href; + }-*/; private static native String getHostName() /*-{ - return $wnd.location.hostname; - }-*/; + return $wnd.location.hostname; + }-*/; private static native String getHost() /*-{ - return $wnd.location.host; - }-*/; + return $wnd.location.host; + }-*/; private static native String getHash() /*-{ - return $wnd.location.hash; - }-*/; + return $wnd.location.hash; + }-*/; } \ No newline at end of file Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/palette/ColorWebSafePalettePanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/ui/palette/ColorWebSafePalettePanel.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/palette/ColorWebSafePalettePanel.java 2008-10-22 09:15:18 UTC (rev 919) @@ -76,7 +76,7 @@ final String currentColor = "#" + COLORS[c] + COLORS[a] + COLORS[b]; paletteGrid.setText(row, col, " "); DOM.setStyleAttribute(paletteGrid.getCellFormatter().getElement(row, col), "backgroundColor", - currentColor); + currentColor); n++; } } Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/rate/RateItPresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/ui/rate/RateItPresenter.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/rate/RateItPresenter.java 2008-10-22 09:15:18 UTC (rev 919) @@ -86,13 +86,13 @@ Site.showProgressProcessing(); final StateDTO currentState = session.getCurrentState(); contentServiceProvider.get().rateContent(session.getUserHash(), currentState.getStateToken(), newValue, - new AsyncCallbackSimple<Object>() { - public void onSuccess(final Object result) { - Site.hideProgress(); - Site.info(i18n.t("Content rated")); - stateManager.reload(); - } - }); + new AsyncCallbackSimple<Object>() { + public void onSuccess(final Object result) { + Site.hideProgress(); + Site.info(i18n.t("Content rated")); + stateManager.reload(); + } + }); } protected void starOver(final int starMouseOver) { Modified: trunk/src/main/java/org/ourproject/kune/platf/client/utils/PrefetchUtilities.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/utils/PrefetchUtilities.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/platf/client/utils/PrefetchUtilities.java 2008-10-22 09:15:18 UTC (rev 919) @@ -83,9 +83,13 @@ public static void preFetchImpImages() { final String[] imgs = { "images/spin-kune-thund-green.gif", "css/img/button-bg-hard.gif", "css/img/button-bg-soft.gif", "css/img/arrow-down-white.gif", "css/img/arrow-right-white.gif", - "images/lic/bysa80x15.png" }; - for (int i = 0; i < imgs.length; i++) { - final String img = imgs[i]; + "images/lic/bysa80x15.png", "images/nav/blog.png", "images/nav/download.png", "images/nav/film.png", + "images/nav/folder.png", "images/nav/gallery.png", "images/nav/go.png", "images/nav/page_pdf.png", + "images/nav/page.png", "images/nav/page_pps.png", "images/nav/page_text.png", + "images/nav/page_word.png", "images/nav/page_zip.png", "images/nav/picture.png", "images/nav/post.png", + "images/nav/refresh.png", "images/nav/room_add.png", "images/nav/room.png", "images/nav/upload.png", + "images/nav/wikipage.png", "images/nav/wiki.png" }; + for (final String img : imgs) { Image.prefetch(img); } } Modified: trunk/src/main/java/org/ourproject/kune/platf/server/PlatformServerModule.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/PlatformServerModule.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/platf/server/PlatformServerModule.java 2008-10-22 09:15:18 UTC (rev 919) @@ -117,9 +117,9 @@ bind(EntityLogoDownloadManager.class); bindInterceptor(Matchers.any(), Matchers.annotatedWith(Authenticated.class), - outermostCall(new AuthenticatedMethodInterceptor())); + outermostCall(new AuthenticatedMethodInterceptor())); bindInterceptor(Matchers.any(), Matchers.annotatedWith(Authorizated.class), - outermostCall(new AuthorizatedMethodInterceptor())); + outermostCall(new AuthorizatedMethodInterceptor())); } private void bindManagers() { Modified: trunk/src/main/java/org/ourproject/kune/platf/server/auth/AuthorizatedMethodInterceptor.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/auth/AuthorizatedMethodInterceptor.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/platf/server/auth/AuthorizatedMethodInterceptor.java 2008-10-22 09:15:18 UTC (rev 919) @@ -77,7 +77,7 @@ case content: default: final Content content = accessService.accessToContent(ContentUtils.parseId(token.getDocument()), user, - accessRol); + accessRol); if (!content.getContainer().getOwner().equals(group)) { throw new AccessViolationException(); } @@ -89,7 +89,7 @@ } case container: final Container container = accessService.accessToContainer(ContentUtils.parseId(token.getFolder()), user, - accessRol); + accessRol); if (!container.getOwner().equals(group)) { throw new AccessViolationException(); } @@ -108,9 +108,8 @@ private boolean correctMember(final User user, final Group group, final AccessRol memberType) throws AccessViolationException { - final AccessRights accessRights = accessRightsServiceProvider.get().get( - user, - group.getSocialNetwork().getAccessLists()); + final AccessRights accessRights = accessRightsServiceProvider.get().get(user, + group.getSocialNetwork().getAccessLists()); switch (memberType) { case Administrator: Modified: trunk/src/main/java/org/ourproject/kune/platf/server/init/DatabaseInitializer.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/init/DatabaseInitializer.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/platf/server/init/DatabaseInitializer.java 2008-10-22 09:15:18 UTC (rev 919) @@ -124,32 +124,31 @@ final Content defaultContent = siteGroup.getDefaultContent(); contentManager.save(user, defaultContent, - "<img src=\"http://kune.ourproject.org/IMG/cache-200x37/siteon0-200x37.png\" " - + "align=\"right\">This a initial demo of " - + "<a href=\"http://kune.ourproject.org\">kune</a>." - + "<br><div style=\"text-align: right;\"><br></div>" - + "Kune is currently under initial development.<br>" - + "<br>To test it, <a href=\"#signin\">sign in registering an user</a>, " - + "but take into account that:<br><ul><li>kune is not optimized yet, " - + "then the initial load and other operations maybe are slow.</li>" - + "<li>Don\'t use passwords that you are using in other sites " - + "(kune isn\'t secure yet storing passwords).</li>" - + "<li>The site is divided in two main areas: the public " - + "space and the workspace:</li><ul>" - + "<li>The workspace is the most important part of kune, " - + "because is where users collaborate and communicates which each others. " - + "This part is the most dynamic and we are using modern " - + "(and sometimes experimental) web technologies to improve the end user " - + "experience. I heavily under development.<br></li>" - + "<li>The public space is currently lest developed. " - + "Our main goal is to offer customs and configurable styles " - + "for groups/users contents.</li></ul></ul><font size=\"4\"><br>" - + "We need your feedback<br><br></font>Please help us to improve this software " - + "reporting <a href=\"http://code.google.com/p/kune/issues\">bugs and/or " - + "suggestions</a>. Also you <a href=\"#translate\">help us to translate it</a> " - + "into other languages.<br><br>Thank you,<br>" - + "<br>--<br><span style=\"font-style: italic;\">" - + "The kune development team</span><br><br>"); + "<img src=\"http://kune.ourproject.org/IMG/cache-200x37/siteon0-200x37.png\" " + + "align=\"right\">This a initial demo of " + + "<a href=\"http://kune.ourproject.org\">kune</a>." + + "<br><div style=\"text-align: right;\"><br></div>" + + "Kune is currently under initial development.<br>" + + "<br>To test it, <a href=\"#signin\">sign in registering an user</a>, " + + "but take into account that:<br><ul><li>kune is not optimized yet, " + + "then the initial load and other operations maybe are slow.</li>" + + "<li>Don\'t use passwords that you are using in other sites " + + "(kune isn\'t secure yet storing passwords).</li>" + + "<li>The site is divided in two main areas: the public " + + "space and the workspace:</li><ul>" + + "<li>The workspace is the most important part of kune, " + + "because is where users collaborate and communicates which each others. " + + "This part is the most dynamic and we are using modern " + + "(and sometimes experimental) web technologies to improve the end user " + + "experience. I heavily under development.<br></li>" + + "<li>The public space is currently lest developed. " + + "Our main goal is to offer customs and configurable styles " + + "for groups/users contents.</li></ul></ul><font size=\"4\"><br>" + + "We need your feedback<br><br></font>Please help us to improve this software " + + "reporting <a href=\"http://code.google.com/p/kune/issues\">bugs and/or " + + "suggestions</a>. Also you <a href=\"#translate\">help us to translate it</a> " + + "into other languages.<br><br>Thank you,<br>" + + "<br>--<br><span style=\"font-style: italic;\">" + "The kune development team</span><br><br>"); contentManager.renameContent(user, defaultContent.getId(), "Welcome to kune demo"); contentManager.setStatus(defaultContent.getId(), ContentStatus.publishedOnline); } Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/EntityLogoUploadManager.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/EntityLogoUploadManager.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/EntityLogoUploadManager.java 2008-10-22 09:15:18 UTC (rev 919) @@ -37,7 +37,6 @@ JSONObject response = null; try { response = new JSONObject(); - response.put("success", success); JSONObject[] jsonError = new JSONObject[1]; jsonError[0] = new JSONObject(); if (!success) { @@ -45,6 +44,7 @@ jsonError[0].put("msg", message); } response.put("errors", jsonError); + response.put("success", success); } catch (final Exception e) { log.error("Error building response"); } @@ -72,8 +72,7 @@ File tmpDestFile = File.createTempFile("logoDest", ""); boolean result = ImageUtilsDefault.scaleImageToMax(tmpOrigFile.getAbsolutePath(), - tmpDestFile.getAbsolutePath(), - EntityLogoView.LOGO_ICON_DEFAULT_HEIGHT); + tmpDestFile.getAbsolutePath(), EntityLogoView.LOGO_ICON_DEFAULT_HEIGHT); if (result) { group.setLogo(FileUtils.getBytesFromFile(tmpDestFile)); group.setLogoMime(mimeType); Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/FileUploadManager.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/FileUploadManager.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/FileUploadManager.java 2008-10-22 09:15:18 UTC (rev 919) @@ -105,11 +105,10 @@ // Persist final User user = userSession.getUser(); final Container container = accessService.accessToContainer(ContentUtils.parseId(stateToken.getFolder()), - user, AccessRol.Editor); + user, AccessRol.Editor); final String preview = "Preview of this file (in development)"; final Content content = contentManager.createContent(FileUtils.getFileNameWithoutExtension(file.getName(), - extension), - preview, user, container); + extension), preview, user, container); content.setTypeId(DocumentServerTool.TYPE_UPLOADEDFILE); content.setMimeType(basicMimeType); content.setFilename(file.getName()); Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/DefaultManager.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/DefaultManager.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/DefaultManager.java 2008-10-22 09:15:18 UTC (rev 919) @@ -83,7 +83,7 @@ @SuppressWarnings("unchecked") public SearchResult<T> search(final Query query, final Integer firstResult, final Integer maxResults) { final FullTextQuery emQuery = Search.createFullTextEntityManager(getEntityManager()).createFullTextQuery(query, - entityClass); + entityClass); if (firstResult != null && maxResults != null) { emQuery.setFirstResult(firstResult); emQuery.setMaxResults(maxResults); Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/UserManagerDefault.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/UserManagerDefault.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/UserManagerDefault.java 2008-10-22 09:15:18 UTC (rev 919) @@ -113,9 +113,11 @@ int index = entry.getUser().indexOf(domain); if (index > 0) { // local user - User buddie = finder.getByShortName(entry.getUser().substring(0, index)); - if (buddie != null) { + try { + User buddie = finder.getByShortName(entry.getUser().substring(0, index)); buddiesData.getBuddies().add(buddie); + } catch (NoResultException e) { + // No existent buddie, skip } } else { // ext user (only count) Modified: trunk/src/main/java/org/ourproject/kune/platf/server/mapper/GroupListModeConverter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/mapper/GroupListModeConverter.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/platf/server/mapper/GroupListModeConverter.java 2008-10-22 09:15:18 UTC (rev 919) @@ -50,7 +50,7 @@ return enumToString.get(source); } else { final String msg = MessageFormat.format("couldn't map {0} ({1}) to {2} ({3})", source, sourceClass, - destination, destinationClass); + destination, destinationClass); throw new MappingException(msg); } Modified: trunk/src/main/java/org/ourproject/kune/platf/server/rpc/ContentRPC.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/rpc/ContentRPC.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/platf/server/rpc/ContentRPC.java 2008-10-22 09:15:18 UTC (rev 919) @@ -162,7 +162,7 @@ final User user = userSession.getUser(); final boolean userIsLoggedIn = userSession.isUserLoggedIn(); final Container container = accessService.accessToContainer(ContentUtils.parseId(parentToken.getFolder()), - user, AccessRol.Editor); + user, AccessRol.Editor); final Content addedContent = creationService.createContent(title, "", user, container); final Access access = accessService.getAccess(user, addedContent.getStateToken(), group, AccessRol.Editor); final State state = stateService.create(access); @@ -180,7 +180,7 @@ final User user = userSession.getUser(); final boolean userIsLoggedIn = userSession.isUserLoggedIn(); final State state = createFolder(parentToken.getGroup(), ContentUtils.parseId(parentToken.getFolder()), title, - contentTypeId); + contentTypeId); completeState(user, userIsLoggedIn, group, state); return mapState(state, user, group); } @@ -197,12 +197,12 @@ final boolean userIsLoggedIn = userSession.isUserLoggedIn(); final String userShortName = user.getShortName(); final ChatConnection connection = xmppManager.login(userShortName, userSession.getUser().getPassword(), - userHash); + userHash); xmppManager.createRoom(connection, roomName, userShortName + userHash); xmppManager.disconnect(connection); try { final State state = createFolder(groupShortName, ContentUtils.parseId(parentToken.getFolder()), roomName, - ChatServerTool.TYPE_ROOM); + ChatServerTool.TYPE_ROOM); completeState(user, userIsLoggedIn, group, state); return mapState(state, user, group); } catch (final ContentNotFoundException e) { @@ -443,7 +443,7 @@ accessService.accessToContainer(parentFolderId, user, AccessRol.Editor); final Container container = creationService.createFolder(group, parentFolderId, title, user.getLanguage(), - typeId); + typeId); final Access access = accessService.getAccess(user, container.getStateToken(), group, AccessRol.Editor); final State state = stateService.create(access); return state; Modified: trunk/src/main/java/org/ourproject/kune/platf/server/rpc/GroupRPC.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/rpc/GroupRPC.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/platf/server/rpc/GroupRPC.java 2008-10-22 09:15:18 UTC (rev 919) @@ -84,7 +84,7 @@ return newGroup.getDefaultContent().getStateToken(); } - @Authenticated + @Authenticated(mandatory = false) @Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Viewer) public GroupDTO getGroup(String userHash, StateToken groupToken) { final Group group = groupManager.findByShortName(groupToken.getGroup()); Modified: trunk/src/main/java/org/ourproject/kune/platf/server/rpc/SiteRPC.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/rpc/SiteRPC.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/platf/server/rpc/SiteRPC.java 2008-10-22 09:15:18 UTC (rev 919) @@ -85,7 +85,7 @@ data.setCountries(countryManager.getAll()); data.setTimezones(TimeZone.getAvailableIDs()); data.setUserInfo(userInfoService.buildInfo(userManager.find(userSession.getUser().getId()), - userSession.getHash())); + userSession.getHash())); data.setChatHttpBase(chatProperties.getHttpBase()); data.setChatDomain(chatProperties.getDomain()); data.setSiteDomain(kuneProperties.get(KuneProperties.SITE_DOMAIN)); Modified: trunk/src/main/java/org/ourproject/kune/platf/server/rpc/SocialNetworkRPC.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/rpc/SocialNetworkRPC.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/platf/server/rpc/SocialNetworkRPC.java 2008-10-22 09:15:18 UTC (rev 919) @@ -19,14 +19,19 @@ */ package org.ourproject.kune.platf.server.rpc; +import org.ourproject.kune.platf.client.dto.AccessRightsDTO; +import org.ourproject.kune.platf.client.dto.GroupType; import org.ourproject.kune.platf.client.dto.ParticipationDataDTO; import org.ourproject.kune.platf.client.dto.SocialNetworkDTO; import org.ourproject.kune.platf.client.dto.SocialNetworkRequestResult; import org.ourproject.kune.platf.client.dto.SocialNetworkResultDTO; import org.ourproject.kune.platf.client.dto.StateToken; +import org.ourproject.kune.platf.client.dto.UserBuddiesDataDTO; import org.ourproject.kune.platf.client.errors.DefaultException; import org.ourproject.kune.platf.client.rpc.SocialNetworkService; import org.ourproject.kune.platf.server.UserSession; +import org.ourproject.kune.platf.server.access.AccessRights; +import org.ourproject.kune.platf.server.access.AccessRightsService; import org.ourproject.kune.platf.server.access.AccessRol; import org.ourproject.kune.platf.server.auth.ActionLevel; import org.ourproject.kune.platf.server.auth.Authenticated; @@ -35,6 +40,7 @@ import org.ourproject.kune.platf.server.domain.User; import org.ourproject.kune.platf.server.manager.GroupManager; import org.ourproject.kune.platf.server.manager.SocialNetworkManager; +import org.ourproject.kune.platf.server.manager.UserManager; import org.ourproject.kune.platf.server.mapper.Mapper; import com.google.inject.Inject; @@ -50,14 +56,19 @@ private final GroupManager groupManager; private final SocialNetworkManager socialNetworkManager; private final Mapper mapper; + private final UserManager userManager; + private final AccessRightsService accessRightsService; @Inject - public SocialNetworkRPC(final Provider<UserSession> userSessionProvider, final GroupManager groupManager, - final SocialNetworkManager socialNetworkManager, final Mapper mapper) { + public SocialNetworkRPC(final Provider<UserSession> userSessionProvider, final UserManager userManager, + final GroupManager groupManager, final SocialNetworkManager socialNetworkManager, final Mapper mapper, + AccessRightsService accessRightsService) { this.userSessionProvider = userSessionProvider; + this.userManager = userManager; this.groupManager = groupManager; this.socialNetworkManager = socialNetworkManager; this.mapper = mapper; + this.accessRightsService = accessRightsService; } @Authenticated @@ -70,7 +81,7 @@ final Group group = groupManager.findByShortName(groupToken.getGroup()); final Group groupToAccept = groupManager.findByShortName(groupToAcceptShortName); socialNetworkManager.acceptJoinGroup(userLogged, groupToAccept, group); - return new SocialNetworkResultDTO(getGroupMembers(userLogged, group), getParticipation(userLogged, group)); + return generateResponse(userLogged, group); } @Authenticated @@ -83,7 +94,7 @@ final Group group = groupManager.findByShortName(groupToken.getGroup()); final Group groupToAdd = groupManager.findByShortName(groupToAddShortName); socialNetworkManager.addGroupToAdmins(userLogged, groupToAdd, group); - return new SocialNetworkResultDTO(getGroupMembers(userLogged, group), getParticipation(userLogged, group)); + return generateResponse(userLogged, group); } @Authenticated @@ -96,7 +107,7 @@ final Group group = groupManager.findByShortName(groupToken.getGroup()); final Group groupToAdd = groupManager.findByShortName(groupToAddShortName); socialNetworkManager.addGroupToCollabs(userLogged, groupToAdd, group); - return new SocialNetworkResultDTO(getGroupMembers(userLogged, group), getParticipation(userLogged, group)); + return generateResponse(userLogged, group); } @Authenticated @@ -109,7 +120,7 @@ final Group group = groupManager.findByShortName(groupToken.getGroup()); final Group groupToAdd = groupManager.findByShortName(groupToAddShortName); socialNetworkManager.addGroupToViewers(userLogged, groupToAdd, group); - return new SocialNetworkResultDTO(getGroupMembers(userLogged, group), getParticipation(userLogged, group)); + return generateResponse(userLogged, group); } @Authenticated @@ -122,7 +133,7 @@ final Group group = groupManager.findByShortName(groupToken.getGroup()); final Group groupToDelete = groupManager.findByShortName(groupToDeleleShortName); socialNetworkManager.deleteMember(userLogged, groupToDelete, group); - return new SocialNetworkResultDTO(getGroupMembers(userLogged, group), getParticipation(userLogged, group)); + return generateResponse(userLogged, group); } @Authenticated @@ -135,30 +146,19 @@ final Group group = groupManager.findByShortName(groupToken.getGroup()); final Group groupToDenyJoin = groupManager.findByShortName(groupToDenyShortName); socialNetworkManager.denyJoinGroup(userLogged, groupToDenyJoin, group); - return new SocialNetworkResultDTO(getGroupMembers(userLogged, group), getParticipation(userLogged, group)); + return generateResponse(userLogged, group); } @Authenticated(mandatory = false) // At least you can access as Viewer to the Group @Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Viewer) @Transactional(type = TransactionType.READ_ONLY) - public SocialNetworkDTO getGroupMembers(final String hash, final StateToken groupToken) throws DefaultException { - final UserSession userSession = getUserSession(); - final User user = userSession.getUser(); - final Group group = groupManager.findByShortName(groupToken.getGroup()); - return getGroupMembers(user, group); - } - - @Authenticated(mandatory = false) - // At least you can access as Viewer to the Group - @Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Viewer) - @Transactional(type = TransactionType.READ_ONLY) - public ParticipationDataDTO getParticipation(final String hash, final StateToken groupToken) + public SocialNetworkResultDTO getSocialNetwork(final String hash, final StateToken groupToken) throws DefaultException { final UserSession userSession = getUserSession(); final User user = userSession.getUser(); final Group group = groupManager.findByShortName(groupToken.getGroup()); - return getParticipation(user, group); + return generateResponse(user, group); } @Authenticated @@ -181,7 +181,7 @@ final Group group = groupManager.findByShortName(groupToken.getGroup()); final Group groupToSetCollab = groupManager.findByShortName(groupToSetCollabShortName); socialNetworkManager.setAdminAsCollab(userLogged, groupToSetCollab, group); - return new SocialNetworkResultDTO(getGroupMembers(userLogged, group), getParticipation(userLogged, group)); + return generateResponse(userLogged, group); } @Authenticated @@ -194,7 +194,7 @@ final Group group = groupManager.findByShortName(groupToken.getGroup()); final Group groupToSetAdmin = groupManager.findByShortName(groupToSetAdminShortName); socialNetworkManager.setCollabAsAdmin(userLogged, groupToSetAdmin, group); - return new SocialNetworkResultDTO(getGroupMembers(userLogged, group), getParticipation(userLogged, group)); + return generateResponse(userLogged, group); } @Authenticated @@ -204,9 +204,20 @@ final User userLogged = userSession.getUser(); final Group group = groupManager.findByShortName(groupToken.getGroup()); socialNetworkManager.unJoinGroup(userLogged.getUserGroup(), group); - return new SocialNetworkResultDTO(getGroupMembers(userLogged, group), getParticipation(userLogged, group)); + return generateResponse(userLogged, group); } + private SocialNetworkResultDTO generateResponse(final User userLogged, final Group group) { + AccessRights groupRights = accessRightsService.get(userLogged, group.getSocialNetwork().getAccessLists()); + if (group.getGroupType().equals(GroupType.PERSONAL)) { + return new SocialNetworkResultDTO(getGroupMembers(userLogged, group), getParticipation(userLogged, group), + getUserBuddies(group), mapper.map(groupRights, AccessRightsDTO.class)); + } else { + return new SocialNetworkResultDTO(getGroupMembers(userLogged, group), getParticipation(userLogged, group), + UserBuddiesDataDTO.NO_BUDDIES, mapper.map(groupRights, AccessRightsDTO.class)); + } + } + private SocialNetworkDTO getGroupMembers(final User user, final Group group) throws DefaultException { return mapper.map(socialNetworkManager.get(user, group), SocialNetworkDTO.class); } @@ -215,6 +226,10 @@ return mapper.map(socialNetworkManager.findParticipation(user, group), ParticipationDataDTO.class); } + private UserBuddiesDataDTO getUserBuddies(final Group group) { + return mapper.map(userManager.getUserBuddies(group.getShortName()), UserBuddiesDataDTO.class); + } + private UserSession getUserSession() { return userSessionProvider.get(); } Modified: trunk/src/main/java/org/ourproject/kune/platf/server/rpc/UserRPC.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/rpc/UserRPC.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/platf/server/rpc/UserRPC.java 2008-10-22 09:15:18 UTC (rev 919) @@ -69,8 +69,8 @@ @Transactional(type = TransactionType.READ_WRITE, rollbackOn = DefaultException.class) public UserInfoDTO createUser(final UserDTO userDTO, boolean wantPersonalHomepage) throws DefaultException { final User user = userManager.createUser(userDTO.getShortName(), userDTO.getName(), userDTO.getEmail(), - userDTO.getPassword(), userDTO.getLanguage().getCode(), - userDTO.getCountry().getCode(), userDTO.getTimezone().getId()); + userDTO.getPassword(), userDTO.getLanguage().getCode(), userDTO.getCountry().getCode(), + userDTO.getTimezone().getId()); groupManager.createUserGroup(user, wantPersonalHomepage); return loginUser(user); } Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/ctxnav/ContextNavigatorPanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/ctxnav/ContextNavigatorPanel.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/ctxnav/ContextNavigatorPanel.java 2008-10-22 09:15:18 UTC (rev 919) @@ -88,11 +88,11 @@ child.setTooltip(tooltip); } menuItemsContainer.createItemMenu(nodeId, item.getActionCollection(), - new Listener<ActionItem<StateToken>>() { - public void onEvent(ActionItem<StateToken> actionItem) { - doAction(actionItem); - } - }); + new Listener<ActionItem<StateToken>>() { + public void onEvent(ActionItem<StateToken> actionItem) { + doAction(actionItem); + } + }); final TreeNode parent = treePanel.getNodeById(item.getParentId()); if (parent != null) { child.addListener(new TreeNodeListenerAdapter() { Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/ctxnav/ContextNavigatorPresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/ctxnav/ContextNavigatorPresenter.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/ctxnav/ContextNavigatorPresenter.java 2008-10-22 09:15:18 UTC (rev 919) @@ -41,6 +41,7 @@ import org.ourproject.kune.platf.client.dto.UserInfoDTO; import org.ourproject.kune.platf.client.rpc.AsyncCallbackSimple; import org.ourproject.kune.platf.client.rpc.ContentServiceAsync; +import org.ourproject.kune.platf.client.services.KuneErrorHandler; import org.ourproject.kune.platf.client.state.Session; import org.ourproject.kune.platf.client.state.StateManager; import org.ourproject.kune.platf.client.ui.KuneUiUtils; @@ -71,15 +72,17 @@ private final ActionToolbar<StateToken> toolbar; private final Provider<FileDownloadUtils> downloadUtilsProvider; private final boolean useGenericImageIcon; + private final KuneErrorHandler errorHandler; public ContextNavigatorPresenter(final StateManager stateManager, final Session session, - final Provider<ContentServiceAsync> contentServiceProvider, final I18nUITranslationService i18n, - final EntityTitle entityTitle, final ContentIconsRegistry contentIconsRegistry, - final DragDropContentRegistry dragDropContentRegistry, final ActionToolbar<StateToken> toolbar, - final ActionRegistry<StateToken> actionRegistry, Provider<FileDownloadUtils> downloadUtilsProvider, - boolean useGenericImageIcon) { + final KuneErrorHandler errorHandler, final Provider<ContentServiceAsync> contentServiceProvider, + final I18nUITranslationService i18n, final EntityTitle entityTitle, + final ContentIconsRegistry contentIconsRegistry, final DragDropContentRegistry dragDropContentRegistry, + final ActionToolbar<StateToken> toolbar, final ActionRegistry<StateToken> actionRegistry, + Provider<FileDownloadUtils> downloadUtilsProvider, boolean useGenericImageIcon) { this.stateManager = stateManager; this.session = session; + this.errorHandler = errorHandler; this.contentServiceProvider = contentServiceProvider; this.i18n = i18n; this.entityTitle = entityTitle; @@ -121,6 +124,11 @@ clear(); } }); + errorHandler.onNotDefaultContent(new Listener0() { + public void onEvent() { + clear(); + } + }); } public boolean isSelected(final StateToken stateToken) { @@ -211,29 +219,17 @@ if (state.hasDocument()) { rights = state.getContentRights(); final ActionItemCollection<StateToken> contentActions = addItem(state.getTitle(), state.getTypeId(), - state.getMimeType(), state.getStatus(), - stateToken, container.getStateToken(), - rights, false); + state.getMimeType(), state.getStatus(), stateToken, container.getStateToken(), rights, false); final ActionItemCollection<StateToken> containerActions = actionRegistry.getCurrentActions( - container.getStateToken(), - container.getTypeId(), - session.isLogged(), - containerRights, - true); + container.getStateToken(), container.getTypeId(), session.isLogged(), containerRights, true); actionItems.addAll(containerActions); actionItems.addAll(contentActions); } else { rights = containerRights; - final ActionItemCollection<StateToken> containerActions = addItem( - container.getName(), - container.getTypeId(), - null, - ContentStatusDTO.publishedOnline, - container.getStateToken(), - container.getStateToken().clone().setFolder( - container.getParentFolderId()), - containerRights, false); + final ActionItemCollection<StateToken> containerActions = addItem(container.getName(), + container.getTypeId(), null, ContentStatusDTO.publishedOnline, container.getStateToken(), + container.getStateToken().clone().setFolder(container.getParentFolderId()), containerRights, false); actionItems.addAll(containerActions); } @@ -266,17 +262,15 @@ final StateToken parentStateToken, final AccessRightsDTO rights, final boolean isNodeSelected) { final ActionItemCollection<StateToken> toolbarActions = actionRegistry.getCurrentActions(stateToken, - contentTypeId, - session.isLogged(), - rights, true); + contentTypeId, session.isLogged(), rights, true); final String contentTypeIcon = getIcon(stateToken, contentTypeId, mimeType); final String tooltip = getTooltip(stateToken, mimeType); final ContextNavigatorItem item = new ContextNavigatorItem(genId(stateToken), genId(parentStateToken), - contentTypeIcon, title, tooltip, status, stateToken, - dragDropContentRegistry.isDraggable(contentTypeId, rights.isAdministrable()), - dragDropContentRegistry.isDroppable(contentTypeId, rights.isAdministrable()), - actionRegistry.getCurrentActions(stateToken, contentTypeId, session.isLogged(), rights, false)); + contentTypeIcon, title, tooltip, status, stateToken, dragDropContentRegistry.isDraggable(contentTypeId, + rights.isAdministrable()), dragDropContentRegistry.isDroppable(contentTypeId, + rights.isAdministrable()), actionRegistry.getCurrentActions(stateToken, contentTypeId, + session.isLogged(), rights, false)); view.addItem(item); return toolbarActions; } @@ -290,9 +284,8 @@ for (final ContainerSimpleDTO siblingFolder : container.getChilds()) { addItem(siblingFolder.getName(), siblingFolder.getTypeId(), null, ContentStatusDTO.publishedOnline, - siblingFolder.getStateToken(), - siblingFolder.getStateToken().clone().setFolder(siblingFolder.getParentFolderId()), - containerRights, false); + siblingFolder.getStateToken(), siblingFolder.getStateToken().clone().setFolder( + siblingFolder.getParentFolderId()), containerRights, false); } } @@ -328,7 +321,7 @@ private String getTooltip(StateToken token, BasicMimeTypeDTO mimeType) { if (mimeType != null && mimeType.getType().equals("image")) { return KuneUiUtils.genQuickTipWithImage(downloadUtilsProvider.get().getImageResizedUrl(token, - ImageSize.thumb)); + ImageSize.thumb)); } else { return null; } Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/WrappedRichTextAreaImplIE6.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/WrappedRichTextAreaImplIE6.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/WrappedRichTextAreaImplIE6.java 2008-10-22 09:15:18 UTC (rev 919) @@ -35,33 +35,33 @@ @Override public native void initElement() /*-{ - var _this = this; - _this.@com.google.gwt.user.client.ui.impl.RichTextAreaImplStandard::initializing = true; + var _this = this; + _this.@com.google.gwt.user.client.ui.impl.RichTextAreaImplStandard::initializing = true; - setTimeout(function() { - if (_this.@com.google.gwt.user.client.ui.impl.RichTextAreaImplStandard::initializing == false) { - return; - } + setTimeout(function() { + if (_this.@com.google.gwt.user.client.ui.impl.RichTextAreaImplStandard::initializing == false) { + return; + } - // Attempt to set the iframe document's body to 'contentEditable' mode. - // There's no way to know when the body will actually be available, so - // keep trying every so often until it is. - // Note: The body seems to be missing only rarely, so please don't remove - // this retry loop just because it's hard to reproduce. - var elem = [email protected]::elem; - var doc = elem.contentWindow.document; - if (!doc.body) { - // Retry in 50 ms. Faster would run the risk of pegging the CPU. Slower - // would increase the probability of a user-visible delay. - setTimeout(arguments.callee, 50); - return; - } - var ct = "<html><head><style>@import url('" + "css/richtext.css" + "');</style></head><body CONTENTEDITABLE='true'></body></html>" ; - doc.write( ct ); - doc.body.contentEditable = true; + // Attempt to set the iframe document's body to 'contentEditable' mode. + // There's no way to know when the body will actually be available, so + // keep trying every so often until it is. + // Note: The body seems to be missing only rarely, so please don't remove + // this retry loop just because it's hard to reproduce. + var elem = [email protected]::elem; + var doc = elem.contentWindow.document; + if (!doc.body) { + // Retry in 50 ms. Faster would run the risk of pegging the CPU. Slower + // would increase the probability of a user-visible delay. + setTimeout(arguments.callee, 50); + return; + } + var ct = "<html><head><style>@import url('" + "css/richtext.css" + "');</style></head><body CONTENTEDITABLE='true'></body></html>" ; + doc.write( ct ); + doc.body.contentEditable = true; - // Send notification that the iframe has reached design mode. - _this.@com.google.gwt.user.client.ui.impl.RichTextAreaImplStandard::onElementInitialized()(); - }, 1); - }-*/; + // Send notification that the iframe has reached design mode. + _this.@com.google.gwt.user.client.ui.impl.RichTextAreaImplStandard::onElementInitialized()(); + }, 1); + }-*/; } Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/WrappedRichTextAreaImplMozilla.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/WrappedRichTextAreaImplMozilla.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/WrappedRichTextAreaImplMozilla.java 2008-10-22 09:15:18 UTC (rev 919) @@ -35,48 +35,48 @@ @Override public native void initElement() /*-{ - // Mozilla doesn't allow designMode to be set reliably until the iframe is - // fully loaded. - var _this = this; - var iframe = [email protected]::elem; - _this.@com.google.gwt.user.client.ui.impl.RichTextAreaImplStandard::initializing = true; + // Mozilla doesn't allow designMode to be set reliably until the iframe is + // fully loaded. + var _this = this; + var iframe = [email protected]::elem; + _this.@com.google.gwt.user.client.ui.impl.RichTextAreaImplStandard::initializing = true; - iframe.onload = function() { - // Some Mozillae have the nasty habit of calling onload again when you set - // designMode, so let's avoid doing it more than once. - iframe.onload = null; + iframe.onload = function() { + // Some Mozillae have the nasty habit of calling onload again when you set + // designMode, so let's avoid doing it more than once. + iframe.onload = null; - // patch ccs inject: + // patch ccs inject: - var doc = [email protected]::elem.contentWindow.document; - head=doc.getElementsByTagName('head')[0]; - link=document.createElement('link'); - link.setAttribute('rel',"stylesheet"); - link.setAttribute('type',"text/css"); - link.setAttribute('href',"css/richtext.css" ); - head.appendChild(link); + var doc = [email protected]::elem.contentWindow.document; + head=doc.getElementsByTagName('head')[0]; + link=document.createElement('link'); + link.setAttribute('rel',"stylesheet"); + link.setAttribute('type',"text/css"); + link.setAttribute('href',"css/richtext.css" ); + head.appendChild(link); - var styles = document.createElement('style'); - styles.setAttribute('type', 'text/css'); - var newStyle = document.createTextNode('\n<!--\nbody{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:400;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400;}q:before,q:after{content:\'\';}abbr,acronym{border:0;font-variant:normal;}sup,sub{line-height:-1px;vertical-align:text-top;}sub{vertical-align:text-bottom;}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}body{font:13px/1.22 arial,helvetica,clean,sans-serif;font-size:small;font:x-small;}table{font-size:inherit;font:100%;}pre,code,kbd,samp,tt{font-family:monospace;font-size:108%;line-height:99%;}h1{font-size:138.5%;}h2{font-size:123.1%;}h3{font-size:108%;}h1,h2,h3{margin:1em 0;}h1,h2,h3,h4,h5,h6,strong{font-weight:700;}abbr,acronym{border-bottom:1px dotted #000;cursor:help;}em{font-style:italic;}blockquote,ul,ol,dl{margin:1em;}ol,ul,dl{margin-left:2em;}ol li{list-style:decimal outside;}ul li{list-style:disc outside;}dl dd{margin-left:1em;}th,td{border:1px solid #000;padding:.5em;}th{font-weight:700;text-align:center;}caption{margin-bottom:.5em;text-align:center;}p,fieldset,table,pre{margin-bottom:1em;}input[type=text],input[type=password],textarea{width:12.25em;width:11.9em;}body{font-family:arial, sans;margin:5px}\n-->\n'); - styles.appendChild(newStyle); - head.appendChild(styles); + var styles = document.createElement('style'); + styles.setAttribute('type', 'text/css'); + var newStyle = document.createTextNode('\n<!--\nbody{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:400;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400;}q:before,q:after{content:\'\';}abbr,acronym{border:0;font-variant:normal;}sup,sub{line-height:-1px;vertical-align:text-top;}sub{vertical-align:text-bottom;}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}body{font:13px/1.22 arial,helvetica,clean,sans-serif;font-size:small;font:x-small;}table{font-size:inherit;font:100%;}pre,code,kbd,samp,tt{font-family:monospace;font-size:108%;line-height:99%;}h1{font-size:138.5%;}h2{font-size:123.1%;}h3{font-size:108%;}h1,h2,h3{margin:1em 0;}h1,h2,h3,h4,h5,h6,strong{font-weight:700;}abbr,acronym{border-bottom:1px dotted #000;cursor:help;}em{font-style:italic;}blockquote,ul,ol,dl{margin:1em;}ol,ul,dl{margin-left:2em;}ol li{list-style:decimal outside;}ul li{list-style:disc outside;}dl dd{margin-left:1em;}th,td{border:1px solid #000;padding:.5em;}th{font-weight:700;text-align:center;}caption{margin-bottom:.5em;text-align:center;}p,fieldset,table,pre{margin-bottom:1em;}input[type=text],input[type=password],textarea{width:12.25em;width:11.9em;}body{font-family:arial, sans;margin:5px}\n-->\n'); + styles.appendChild(newStyle); + head.appendChild(styles); - // -- patch + // -- patch - // Send notification that the iframe has finished loading. - _this.@com.google.gwt.user.client.ui.impl.RichTextAreaImplStandard::onElementInitialized()(); + // Send notification that the iframe has finished loading. + _this.@com.google.gwt.user.client.ui.impl.RichTextAreaImplStandard::onElementInitialized()(); - // Don't set designMode until the RTA actually gets focused. This is - // necessary because editing won't work on Mozilla if the iframe is - // *hidden, but attached*. Waiting for focus gets around this issue. - // - // Note: This onfocus will not conflict with the addEventListener('focus', - // ...) // in RichTextAreaImplStandard. - iframe.contentWindow.onfocus = function() { - iframe.contentWindow.onfocus = null; - iframe.contentWindow.document.designMode = 'On'; - }; - }; - }-*/; + // Don't set designMode until the RTA actually gets focused. This is + // necessary because editing won't work on Mozilla if the iframe is + // *hidden, but attached*. Waiting for focus gets around this issue. + // + // Note: This onfocus will not conflict with the addEventListener('focus', + // ...) // in RichTextAreaImplStandard. + iframe.contentWindow.onfocus = function() { + iframe.contentWindow.onfocus = null; + iframe.contentWindow.document.designMode = 'On'; + }; + }; + }-*/; } Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/WrappedRichTextAreaImplOpera.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/WrappedRichTextAreaImplOpera.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/WrappedRichTextAreaImplOpera.java 2008-10-22 09:15:18 UTC (rev 919) @@ -6,24 +6,24 @@ @Override public native void initElement() /*-{ - // Most browsers don't like setting designMode until slightly _after_ - // the iframe becomes attached to the DOM. Any non-zero timeout will do - // just fine. - var _this = this; - _this.@com.google.gwt.user.client.ui.impl.RichTextAreaImplStandard::initializing = true; - setTimeout(function() { - // Turn on design mode. - [email protected]::elem.contentWindow.document.designMode = 'On'; - // patch css inject: - var elem = [email protected]::elem; - var doc = elem.contentWindow.document; - var ct = "<html><head><style>@import url('" + "css/richtext.css" + "');</style></head><body CONTENTEDITABLE='true'></body></html>" ; - doc.write( ct ); - // -- patch + // Most browsers don't like setting designMode until slightly _after_ + // the iframe becomes attached to the DOM. Any non-zero timeout will do + // just fine. + var _this = this; + _this.@com.google.gwt.user.client.ui.impl.RichTextAreaImplStandard::initializing = true; + setTimeout(function() { + // Turn on design mode. + [email protected]::elem.contentWindow.document.designMode = 'On'; + // patch css inject: + var elem = [email protected]::elem; + var doc = elem.contentWindow.document; + var ct = "<html><head><style>@import url('" + "css/richtext.css" + "');</style></head><body CONTENTEDITABLE='true'></body></html>" ; + doc.write( ct ); + // -- patch - // Send notification that the iframe has reached design mode. - _this.@com.google.gwt.user.client.ui.impl.RichTextAreaImplStandard::onElementInitialized()(); - }, 1); - }-*/; + // Send notification that the iframe has reached design mode. + _this.@com.google.gwt.user.client.ui.impl.RichTextAreaImplStandard::onElementInitialized()(); + }, 1); + }-*/; } Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/WrappedRichTextAreaImplSafari.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/WrappedRichTextAreaImplSafari.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/WrappedRichTextAreaImplSafari.java 2008-10-22 09:15:18 UTC (rev 919) @@ -6,25 +6,25 @@ @Override public native void initElement() /*-{ - // Most browsers don't like setting designMode until slightly _after_ - // the iframe becomes attached to the DOM. Any non-zero timeout will do - // just fine. - var _this = this; - _this.@com.google.gwt.user.client.ui.impl.RichTextAreaImplStandard::initializing = true; - setTimeout(function() { - // Turn on design mode. - [email protected]::elem.contentWindow.document.designMode = 'On'; - - // patch css inject: - var elem = [email protected]::elem; - var doc = elem.contentWindow.document; - var ct = "<html><head><style>@import url('" + "css/richtext.css" + "');</style></head><body CONTENTEDITABLE='true'></body></html>" ; - doc.write( ct ); - // -- patch + // Most browsers don't like setting designMode until slightly _after_ + // the iframe becomes attached to the DOM. Any non-zero timeout will do + // just fine. + var _this = this; + _this.@com.google.gwt.user.client.ui.impl.RichTextAreaImplStandard::initializing = true; + setTimeout(function() { + // Turn on design mode. + [email protected]::elem.contentWindow.document.designMode = 'On'; + + // patch css inject: + var elem = [email protected]::elem; + var doc = elem.contentWindow.document; + var ct = "<html><head><style>@import url('" + "css/richtext.css" + "');</style></head><body CONTENTEDITABLE='true'></body></html>" ; + doc.write( ct ); + // -- patch - // Send notification that the iframe has reached design mode. - _this.@com.google.gwt.user.client.ui.impl.RichTextAreaImplStandard::onElementInitialized()(); - }, 1); - }-*/; + // Send notification that the iframe has reached design mode. + _this.@com.google.gwt.user.client.ui.impl.RichTextAreaImplStandard::onElementInitialized()(); + }, 1); + }-*/; } Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPanel.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPanel.java 2008-10-22 09:15:18 UTC (rev 919) @@ -28,9 +28,7 @@ import org.ourproject.kune.workspace.client.themes.WsTheme; import com.calclab.suco.client.ioc.Provider; -import com.google.gwt.user.client.DOM; import com.google.gwt.user.client.ui.ClickListener; -import com.google.gwt.user.client.ui.HTML; import com.google.gwt.user.client.ui.HorizontalPanel; import com.google.gwt.user.client.ui.Hyperlink; import com.google.gwt.user.client.ui.Image; @@ -42,58 +40,78 @@ public class EntityLogoPanel extends SimplePanel implements EntityLogoView { class EntityTextLogo extends VerticalPanel { - private static final int GROUP_NAME_LIMIT_SIZE = 90; - private static final String LOGO_DEFAULT_FONT_SIZE = "167%"; - private static final String LOGO_SMALL_FONT_SIZE = "108%"; + private static final String _100 = "100%"; + private static final String LOGO_MEDIUM_FONT_STYLE = "k-elogo-l-m"; + private static final String LOGO_SMALL_FONT_STYLE = "k-elogo-l-s"; + private static final String LOGO_LARGE_FONT_STYLE = "k-elogo-l-l"; private final Label logoLabel; - private final Hyperlink defTextPutYourLogoHL; + private final Hyperlink putYourLogoHL; private final HorizontalPanel putYourLogoHP; private final Image logoImage; public EntityTextLogo(final Provider<EntityLogoSelector> entityLogoSelectorProvider) { // Initialize super(); - HorizontalPanel logoHP = new HorizontalPanel(); + HorizontalPanel generalHP = new HorizontalPanel(); + VerticalPanel logoTextVP = new VerticalPanel(); logoImage = new Image(); logoLabel = new Label(); - logoHP.add(logoImage); - logoHP.add(logoLabel); - final HTML expandCell = new HTML("<b></b>"); + final Label expandCell = new Label(""); putYourLogoHP = new HorizontalPanel(); - defTextPutYourLogoHL = new Hyperlink(); + putYourLogoHL = new Hyperlink(); // Layout - add(logoHP); - add(putYourLogoHP); + add(generalHP); + generalHP.add(logoImage); + generalHP.add(logoTextVP); + logoTextVP.add(logoLabel); + logoTextVP.add(putYourLogoHP); putYourLogoHP.add(expandCell); - putYourLogoHP.add(defTextPutYourLogoHL); + putYourLogoHP.add(putYourLogoHL); // Set properties - defTextPutYourLogoHL.setText(i18n.t("Put Your Logo Here")); - defTextPutYourLogoHL.addStyleName("kune-pointer"); - defTextPutYourLogoHL.addClickListener(new ClickListener() { + + setPutYourLogo(); + expandCell.setStyleName("k-elogop-expand"); + putYourLogoHL.addStyleName("kune-pointer"); + putYourLogoHL.addClickListener(new ClickListener() { public void onClick(final Widget sender) { entityLogoSelectorProvider.get().show(); } }); - expandCell.setWidth("100%"); - putYourLogoHP.setCellWidth(expandCell, "100%"); - // TODO: link to configure the logo + generalHP.setWidth(_100); + generalHP.setHeight(_100); + generalHP.setCellWidth(logoTextVP, _100); + generalHP.setCellHeight(logoTextVP, _100); + logoTextVP.setWidth(_100); + logoTextVP.setCellWidth(logoLabel, _100); + super.setVerticalAlignment(ALIGN_MIDDLE); + logoTextVP.setVerticalAlignment(ALIGN_MIDDLE); + generalHP.setVerticalAlignment(ALIGN_MIDDLE); + logoTextVP.setCellWidth(putYourLogoHP, _100); + logoTextVP.setHeight(_100); + expandCell.setWidth(_100); + putYourLogoHP.setCellWidth(expandCell, _100); setStylePrimaryName("k-entitytextlogo"); + addStyleName("k-entitytextlogo-no-border"); logoImage.setVisible(false); setLogoText(""); } + public void setChangeYourLogo() { + putYourLogoHL.setText(i18n.t("Change Your Logo")); + } + + public void setLargeFont() { + resetFontSize(); + logoLabel.addStyleName(LOGO_LARGE_FONT_STYLE); + } + public void setLogoImage(final String url) { logoImage.setUrl(url); } public void setLogoText(final String text) { - if (text.length() > GROUP_NAME_LIMIT_SIZE) { - DOM.setStyleAttribute(logoLabel.getElement(), "fontSize", LOGO_SMALL_FONT_SIZE); - } else { - DOM.setStyleAttribute(logoLabel.getElement(), "fontSize", LOGO_DEFAULT_FONT_SIZE); - } logoLabel.setText(text); } @@ -101,9 +119,29 @@ logoImage.setVisible(visible); } + public void setMediumFont() { + resetFontSize(); + logoLabel.addStyleName(LOGO_MEDIUM_FONT_STYLE); + } + + public void setPutYourLogo() { + putYourLogoHL.setText(i18n.t("Put Your Logo Here")); + } + public void setPutYourLogoVisible(final boolean visible) { putYourLogoHP.setVisible(visible); } + + public void setSmallFont() { + resetFontSize(); + logoLabel.addStyleName(LOGO_SMALL_FONT_STYLE); + } + + private void resetFontSize() { + logoLabel.removeStyleName(LOGO_LARGE_FONT_STYLE); + logoLabel.removeStyleName(LOGO_SMALL_FONT_STYLE); + logoLabel.removeStyleName(LOGO_MEDIUM_FONT_STYLE); + } } private final Provider<FileDownloadUtils> downloadProvider; @@ -124,6 +162,11 @@ Image.prefetch(downloadProvider.get().getLogoImageUrl(group.getStateToken())); } + public void setChangeYourLogoText() { + getEntityTextLogo().setChangeYourLogo(); + + } + public void setFullLogo(final StateToken stateToken, final boolean clipped) { clear(); final String imageUrl = downloadProvider.get().getImageUrl(stateToken); @@ -138,6 +181,10 @@ add(logo); } + public void setLargeFont() { + getEntityTextLogo().setLargeFont(); + } + public void setLogoImage(StateToken stateToken) { entityTextLogo.setLogoImage(downloadProvider.get().getLogoImageUrl(stateToken)); } @@ -152,10 +199,22 @@ entityTextLogo.setLogoText(groupName); } - public void setPutYourLogoVisible(final boolean visible) { + public void setMediumFont() { + getEntityTextLogo().setMediumFont(); + } + + public void setPutYourLogoText() { + getEntityTextLogo().setPutYourLogo(); + } + + public void setSetYourLogoVisible(final boolean visible) { getEntityTextLogo().setPutYourLogoVisible(visible); } + public void setSmallFont() { + getEntityTextLogo().setSmallFont(); + } + public void setTheme(final WsTheme oldTheme, final WsTheme newTheme) { if (oldTheme != null) { getEntityTextLogo().removeStyleDependentName(oldTheme.toString()); Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPresenter.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPresenter.java 2008-10-22 09:15:18 UTC (rev 919) @@ -3,6 +3,7 @@ import org.ourproject.kune.platf.client.dto.ContentSimpleDTO; import org.ourproject.kune.platf.client.dto.GroupDTO; import org.ourproject.kune.platf.client.dto.StateDTO; +import org.ourproject.kune.platf.client.dto.StateToken; import org.ourproject.kune.platf.client.rpc.AsyncCallbackSimple; import org.ourproject.kune.platf.client.rpc.GroupServiceAsync; import org.ourproject.kune.platf.client.state.Session; @@ -15,6 +16,9 @@ import com.calclab.suco.client.listener.Listener2; public class EntityLogoPresenter implements EntityLogo { + int GROUP_MEDIUM_NAME_LIMIT_SIZE = 90; + int GROUP_LARGE_NAME_LIMIT_SIZE = 20; + private EntityLogoView view; private final Session session; private final Provider<GroupServiceAsync> groupServiceProvider; @@ -32,7 +36,13 @@ stateManager.onStateChanged(new Listener<StateDTO>() { public void onEvent(final StateDTO state) { final boolean isAdmin = state.getGroupRights().isAdministrable(); - view.setPutYourLogoVisible(isAdmin); + if (state.getGroup().hasLogo()) { + view.setChangeYourLogoText(); + view.setSetYourLogoVisible(isAdmin); + } else { + view.setPutYourLogoText(); + view.setSetYourLogoVisible(isAdmin); + } } }); theme.onThemeChanged(new Listener2<WsTheme, WsTheme>() { @@ -51,33 +61,47 @@ } public void reloadGroupLogo() { - groupServiceProvider.get().getGroup(session.getUserHash(), session.getCurrentStateToken(), - new AsyncCallbackSimple<GroupDTO>() { - public void onSuccess(GroupDTO group) { - StateDTO currentState = session.getCurrentState(); - if (currentState.getGroup().getShortName().equals( - group.getShortName())) { - // only if we are in the - // same group - view.reloadImage(group); - currentState.setGroup(group); - setGroupLogo(group); - } - } - }); + reloadGroupLogo(session.getCurrentStateToken()); } + public void reloadGroupLogo(StateToken groupToken) { + groupServiceProvider.get().getGroup(session.getUserHash(), groupToken, new AsyncCallbackSimple<GroupDTO>() { + public void onSuccess(GroupDTO group) { + StateDTO currentState = session.getCurrentState(); + if (currentState.getGroup().getShortName().equals(group.getShortName())) { + // only if we are in the + // same group + view.reloadImage(group); + currentState.setGroup(group); + setGroupLogo(group); + } + } + }); + } + private void setGroupLogo(final GroupDTO group) { final ContentSimpleDTO groupFullLogo = group.getGroupFullLogo(); if (groupFullLogo != null) { view.setFullLogo(groupFullLogo.getStateToken(), true); } else if (group.hasLogo()) { view.setLogoImage(group.getStateToken()); - view.setLogoText(group.getLongName()); + setLogoText(group.getLongName()); view.setLogoImageVisible(true); } else { - view.setLogoText(group.getLongName()); + setLogoText(group.getLongName()); view.setLogoImageVisible(false); } } + + private void setLogoText(String name) { + int length = name.length(); + if (length <= GROUP_LARGE_NAME_LIMIT_SIZE) { + view.setLargeFont(); + } else if (length <= GROUP_MEDIUM_NAME_LIMIT_SIZE) { + view.setMediumFont(); + } else { + view.setSmallFont(); + } + view.setLogoText(name); + } } Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoView.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoView.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoView.java 2008-10-22 09:15:18 UTC (rev 919) @@ -16,15 +16,25 @@ void reloadImage(GroupDTO group); + void setChangeYourLogoText(); + void setFullLogo(StateToken stateToken, boolean clipped); + void setLargeFont(); + void setLogoImage(StateToken stateToken); void setLogoImageVisible(boolean visible); void setLogoText(final String groupName); - void setPutYourLogoVisible(final boolean visible); + void setMediumFont(); + void setPutYourLogoText(); + + void setSetYourLogoVisible(final boolean visible); + + void setSmallFont(); + void setTheme(final WsTheme oldTheme, WsTheme newTheme); } Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/i18n/I18nUITranslationService.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/i18n/I18nUITranslationService.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/i18n/I18nUITranslationService.java 2008-10-22 09:15:18 UTC (rev 919) @@ -144,13 +144,13 @@ // Not translated and not in db, make a petition for translation if (session.isLogged()) { i18nService.getTranslation(session.getUserHash(), currentLanguageCode, text, - new AsyncCallback<String>() { - public void onFailure(final Throwable caught) { - } + new AsyncCallback<String>() { + public void onFailure(final Throwable caught) { + } - public void onSuccess(final String result) { - } - }); + public void onSuccess(final String result) { + } + }); Log.debug("Registering in db '" + text + "' as pending translation"); lexicon.put(encodeText, UNTRANSLATED_VALUE); } Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/licensefoot/EntityLicensePanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/licensefoot/EntityLicensePanel.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensefoot/EntityLicensePanel.java 2008-10-22 09:15:18 UTC (rev 919) @@ -35,19 +35,24 @@ private final Image image; private final Label license; private final I18nTranslationService i18n; + private final SimpleToolbar licenseBar; + private final WorkspaceSkeleton ws; public EntityLicensePanel(final EntityLicensePresenter presenter, final I18nTranslationService i18n, final WorkspaceSkeleton ws) { this.i18n = i18n; + this.ws = ws; copyright = new Label(); image = new Image(); license = new Label(); - final SimpleToolbar bottomTitle = ws.getEntityWorkspace().getBottomTitle(); - bottomTitle.add(copyright); - bottomTitle.add(license); - bottomTitle.addSpacer(); - bottomTitle.addSpacer(); - bottomTitle.add(image); + + licenseBar = new SimpleToolbar(); + licenseBar.add(copyright); + licenseBar.add(license); + licenseBar.addSpacer(); + licenseBar.addSpacer(); + licenseBar.add(image); + final ClickListener clickListener = new ClickListener() { public void onClick(Widget arg0) { presenter.onLicenseClick(); @@ -64,6 +69,18 @@ license.setStyleName("k-entitylicensepanel-licensetext"); } + public void attach() { + if (!licenseBar.isAttached()) { + ws.getEntityWorkspace().getBottomTitle().add(licenseBar); + } + } + + public void detach() { + if (licenseBar.isAttached()) { + ws.getEntityWorkspace().getBottomTitle().remove(licenseBar); + } + } + public void openWindow(final String url) { Window.open(url, "_blank", ""); } Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/licensefoot/EntityLicensePresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/licensefoot/EntityLicensePresenter.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensefoot/EntityLicensePresenter.java 2008-10-22 09:15:18 UTC (rev 919) @@ -22,21 +22,28 @@ import org.ourproject.kune.platf.client.View; import org.ourproject.kune.platf.client.dto.LicenseDTO; import org.ourproject.kune.platf.client.dto.StateDTO; +import org.ourproject.kune.platf.client.services.KuneErrorHandler; import org.ourproject.kune.platf.client.state.StateManager; import com.calclab.suco.client.listener.Listener; +import com.calclab.suco.client.listener.Listener0; public class EntityLicensePresenter { private EntityLicenseView view; private LicenseDTO license; - public EntityLicensePresenter(final StateManager stateManager) { + public EntityLicensePresenter(final StateManager stateManager, KuneErrorHandler errorHandler) { stateManager.onStateChanged(new Listener<StateDTO>() { public void onEvent(final StateDTO state) { setLicense(state); } }); + errorHandler.onNotDefaultContent(new Listener0() { + public void onEvent() { + view.detach(); + } + }); } public View getView() { @@ -52,6 +59,7 @@ } private void setLicense(final StateDTO state) { + view.attach(); this.license = state.getLicense(); view.showLicense(state.getGroup().getLongName(), license); } Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/licensefoot/EntityLicenseView.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/licensefoot/EntityLicenseView.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensefoot/EntityLicenseView.java 2008-10-22 09:15:18 UTC (rev 919) @@ -24,8 +24,12 @@ public interface EntityLicenseView extends View { - void showLicense(String groupName, LicenseDTO licenseDTO); + void attach(); + void detach(); + void openWindow(String url); + void showLicense(String groupName, LicenseDTO licenseDTO); + } Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPanel.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPanel.java 2008-10-22 09:15:18 UTC (rev 919) @@ -114,10 +114,9 @@ newGroupInitialDataVP.add(newGroupInitialDataHP); newGroupInitialDataVP.add(newGroupInitialDataForm); chooseLicenseHP.add(img.step2().createImage()); - final HTML step2Label = new HTML( - i18n.t("Select a license to share your group contents with other people. " - + "We recomend [%s] licenses for practical works.", - KuneStringUtils.generateHtmlLink("http://en.wikipedia.org/wiki/Copyleft", "copyleft"))); + final HTML step2Label = new HTML(i18n.t("Select a license to share your group contents with other people. " + + "We recomend [%s] licenses for practical works.", KuneStringUtils.generateHtmlLink( + "http://en.wikipedia.org/wiki/Copyleft", "copyleft"))); chooseLicenseHP.add(step2Label); final Label licenseTypeLabel = new Label(i18n.t("Choose a license type:")); chooseLicenseVP.add(chooseLicenseHP); @@ -276,10 +275,10 @@ projectRadio = new Radio(); createRadio(groupTypeFieldSet, projectRadio, "Project", - "A project is a kind of group in which new members inclusion " - + "is moderated by the project administrators. " - + "An administrator is the person who creates the project " - + "and other people she/he choose in the future as administrator too."); + "A project is a kind of group in which new members inclusion " + + "is moderated by the project administrators. " + + "An administrator is the person who creates the project " + + "and other people she/he choose in the future as administrator too."); projectRadio.setChecked(true); orgRadio = new Radio(); @@ -294,8 +293,8 @@ orphanedProjectRadio = new Radio(); createRadio(groupTypeFieldSet, orphanedProjectRadio, "Orphaned Project", - "If you have an idea but you don't have " + "capacity/possibilities/resources to work on it, " - + "just register a orphaned project, and permit others to work and develop it."); + "If you have an idea but you don't have " + "capacity/possibilities/resources to work on it, " + + "just register a orphaned project, and permit others to work and develop it."); groupTypeFieldSet.setCollapsible(false); Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPresenter.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPresenter.java 2008-10-22 09:15:18 UTC (rev 919) @@ -136,7 +136,7 @@ } }; groupServiceProvider.get().createNewGroup(session.getUserHash(), group, publicDesc, view.getTags(), null, - callback); + callback); } public void onNext() { Added: trunk/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePage.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePage.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePage.java 2008-10-22 09:15:18 UTC (rev 919) @@ -0,0 +1,5 @@ +package org.ourproject.kune.workspace.client.nohomepage; + +public interface NoHomePage { + +} Added: trunk/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePagePanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePagePanel.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePagePanel.java 2008-10-22 09:15:18 UTC (rev 919) @@ -0,0 +1,32 @@ +package org.ourproject.kune.workspace.client.nohomepage; + +import org.ourproject.kune.platf.client.services.I18nTranslationService; +import org.ourproject.kune.workspace.client.skel.EntityWorkspace; +import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton; + +import com.google.gwt.user.client.ui.Label; + +public class NoHomePagePanel implements NoHomePageView { + + private final Label noHomepageCtnLabel; + private final Label noHomepageCtxLabel; + private final WorkspaceSkeleton ws; + + public NoHomePagePanel(final NoHomePagePresenter presenter, final WorkspaceSkeleton ws, I18nTranslationService i18n) { + this.ws = ws; + noHomepageCtnLabel = new Label(i18n.t("This user don't have a homepage")); + noHomepageCtnLabel.setStyleName("kune-Content-Main"); + noHomepageCtnLabel.addStyleName("kune-Margin-7-trbl"); + noHomepageCtxLabel = new Label(""); + } + + public void clearWs() { + EntityWorkspace ew = ws.getEntityWorkspace(); + ew.setContent(noHomepageCtnLabel); + ew.setContext(noHomepageCtxLabel); + ew.getContentTopBar().removeAll(); + ew.getContextTopBar().removeAll(); + ew.getContentBottomBar().removeAll(); + ew.getContextBottomBar().removeAll(); + } +} Added: trunk/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePagePresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePagePresenter.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePagePresenter.java 2008-10-22 09:15:18 UTC (rev 919) @@ -0,0 +1,62 @@ +package org.ourproject.kune.workspace.client.nohomepage; + +import org.ourproject.kune.platf.client.View; +import org.ourproject.kune.platf.client.app.HistoryWrapper; +import org.ourproject.kune.platf.client.dto.GroupDTO; +import org.ourproject.kune.platf.client.dto.SocialNetworkResultDTO; +import org.ourproject.kune.platf.client.dto.StateDTO; +import org.ourproject.kune.platf.client.dto.StateToken; +import org.ourproject.kune.platf.client.rpc.AsyncCallbackSimple; +import org.ourproject.kune.platf.client.rpc.GroupServiceAsync; +import org.ourproject.kune.platf.client.rpc.SocialNetworkServiceAsync; +import org.ourproject.kune.platf.client.services.KuneErrorHandler; +import org.ourproject.kune.platf.client.state.Session; +import org.ourproject.kune.platf.client.state.StateManager; +import org.ourproject.kune.workspace.client.entitylogo.EntityLogo; + +import com.calclab.suco.client.ioc.Provider; +import com.calclab.suco.client.listener.Listener0; + +public class NoHomePagePresenter implements NoHomePage { + + private NoHomePageView view; + + public NoHomePagePresenter(final Session session, final StateManager stateManager, KuneErrorHandler errorHandler, + EntityLogo entityLogo, final Provider<GroupServiceAsync> groupServiceProvider, + final Provider<EntityLogo> entityLogoProvider, final Provider<SocialNetworkServiceAsync> snServiceProvider, + final HistoryWrapper history) { + + errorHandler.onNotDefaultContent(new Listener0() { + public void onEvent() { + view.clearWs(); + StateToken groupToken = new StateToken(history.getToken()); + groupServiceProvider.get().getGroup(session.getUserHash(), groupToken, + new AsyncCallbackSimple<GroupDTO>() { + public void onSuccess(GroupDTO group) { + StateDTO currentState = new StateDTO(); + currentState.setStateToken(group.getStateToken()); + session.setCurrentState(currentState); + session.getCurrentState().setGroup(group); + entityLogoProvider.get().refreshGroupLogo(); + snServiceProvider.get().getSocialNetwork(session.getUserHash(), + session.getCurrentStateToken(), + new AsyncCallbackSimple<SocialNetworkResultDTO>() { + public void onSuccess(SocialNetworkResultDTO result) { + session.getCurrentState().setGroupRights(result.getGroupRights()); + stateManager.setSocialNetwork(result); + } + }); + } + }); + } + }); + } + + public View getView() { + return view; + } + + public void init(NoHomePageView view) { + this.view = view; + } +} Added: trunk/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePageView.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePageView.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePageView.java 2008-10-22 09:15:18 UTC (rev 919) @@ -0,0 +1,7 @@ +package org.ourproject.kune.workspace.client.nohomepage; + +import org.ourproject.kune.platf.client.View; + +public interface NoHomePageView extends View { + void clearWs(); +} Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/signin/RegisterForm.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/signin/RegisterForm.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/signin/RegisterForm.java 2008-10-22 09:15:18 UTC (rev 919) @@ -189,10 +189,10 @@ noPersonalHomePage = new Radio(); personalSpaceFieldSet.setCollapsible(false); createRadio(personalSpaceFieldSet, wantPersonalHomePage, - i18n.t("Yes, I want a homepage for publish my contents."), WANNAPERSONALHOMEPAGE_FIELD); + i18n.t("Yes, I want a homepage for publish my contents."), WANNAPERSONALHOMEPAGE_FIELD); wantPersonalHomePage.setChecked(true); createRadio(personalSpaceFieldSet, noPersonalHomePage, i18n.t("No, I don't want. Maybe in the future."), - NOPERSONALHOMEPAGE_FIELD); + NOPERSONALHOMEPAGE_FIELD); add(personalSpaceFieldSet); } Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInPresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInPresenter.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInPresenter.java 2008-10-22 09:15:18 UTC (rev 919) @@ -128,10 +128,10 @@ throw caught; } catch (final EmailAddressInUseException e) { view.setRegisterMessage(i18n.t("This email in in use by other person, try with another."), - SiteErrorType.error); + SiteErrorType.error); } catch (final GroupNameInUseException e) { view.setRegisterMessage(i18n.t("This name in already in use, try with a different name."), - SiteErrorType.error); + SiteErrorType.error); } catch (final Throwable e) { view.setRegisterMessage(i18n.t("Error during registration."), SiteErrorType.error); GWT.log("Other kind of exception in user registration" + e.getMessage() + ", " Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntitySummary.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntitySummary.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntitySummary.java 2008-10-22 09:15:18 UTC (rev 919) @@ -78,6 +78,16 @@ @Override public void onHide(Component component) { super.onHide(component); + openFirst(); + } + + @Override + public void onShow(Component component) { + super.onShow(component); + openFirst(); + } + + private void openFirst() { if (accordionLayout.getActiveItem() != null && accordionLayout.getActiveItem().isHidden()) { Panel firstComponent = null; for (Component compo : entitySummary.getComponents()) { @@ -87,7 +97,6 @@ } } } - } }); doLayoutIfNeeded(); Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SimpleToolbar.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SimpleToolbar.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SimpleToolbar.java 2008-10-22 09:15:18 UTC (rev 919) @@ -46,6 +46,10 @@ return emptyLabel; } + public void remove(final Widget widget) { + childPanel.remove(widget); + } + public void removeAll() { childPanel.clear(); } Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java 2008-10-22 09:15:18 UTC (rev 919) @@ -82,11 +82,11 @@ } }; menuItemsContainer.createItemMenu(user.getShortName(), actionCollection, - new Listener<ActionItem<UserSimpleDTO>>() { - public void onEvent(ActionItem<UserSimpleDTO> actionItem) { - doAction(actionItem); - } - }); + new Listener<ActionItem<UserSimpleDTO>>() { + public void onEvent(ActionItem<UserSimpleDTO> actionItem) { + doAction(actionItem); + } + }); flowPanel.add(new BuddieWidget(user.getShortName(), listener)); } Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java 2008-10-22 09:15:18 UTC (rev 919) @@ -43,6 +43,11 @@ setState(state); } }); + stateManager.onSocialNetworkChanged(new Listener<StateDTO>() { + public void onEvent(StateDTO state) { + setState(state); + } + }); registerActions(); } @@ -58,32 +63,34 @@ if (state.getGroup().getGroupType().equals(GroupType.PERSONAL)) { view.clear(); UserBuddiesDataDTO userBuddies = state.getUserBuddies(); - List<UserSimpleDTO> buddies = userBuddies.getBuddies(); - for (UserSimpleDTO user : buddies) { - view.addBuddie(user, actionRegistry.getCurrentActions(user, UserActionRegistry.GENERAL, - session.isLogged(), new AccessRightsDTO(true, - true, true), false)); - } - boolean hasLocalBuddies = buddies.size() > 0; - int numExtBuddies = userBuddies.getOtherExternalBuddies(); - if (numExtBuddies > 0) { - if (hasLocalBuddies) { - // i18n: plural - view.setOtherUsers(i18n.t( - numExtBuddies == 1 ? "and [%d] external user" : "and [%d] external users", - numExtBuddies)); + if (userBuddies != UserBuddiesDataDTO.NO_BUDDIES) { + List<UserSimpleDTO> buddies = userBuddies.getBuddies(); + for (UserSimpleDTO user : buddies) { + view.addBuddie(user, actionRegistry.getCurrentActions(user, UserActionRegistry.GENERAL, + session.isLogged(), new AccessRightsDTO(true, true, true), false)); + } + boolean hasLocalBuddies = buddies.size() > 0; + int numExtBuddies = userBuddies.getOtherExternalBuddies(); + if (numExtBuddies > 0) { + if (hasLocalBuddies) { + // i18n: plural + view.setOtherUsers(i18n.t(numExtBuddies == 1 ? "and [%d] external user" + : "and [%d] external users", numExtBuddies)); + } else { + view.setOtherUsers(i18n.t(numExtBuddies == 1 ? "[%d] external user" : "[%d] external users", + numExtBuddies)); + } } else { - view.setOtherUsers(i18n.t(numExtBuddies == 1 ? "[%d] external user" : "[%d] external users", - numExtBuddies)); + if (hasLocalBuddies) { + view.clearOtherUsers(); + } else { + view.setNoBuddies(); + } } + view.show(); } else { - if (hasLocalBuddies) { - view.clearOtherUsers(); - } else { - view.setNoBuddies(); - } + view.hide(); } - view.show(); } else { view.hide(); } @@ -117,5 +124,4 @@ go.setIconUrl("images/group-home.gif"); actionRegistry.addAction(go, UserActionRegistry.GENERAL); } - } Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java 2008-10-22 09:15:18 UTC (rev 919) @@ -112,17 +112,17 @@ public void confirmAddCollab(final String groupShortName, final String groupLongName) { final String groupName = groupLongName + " (" + groupShortName + ")"; MessageBox.confirm(i18n.t("Confirm addition of member"), i18n.t("Add [%s] as member?", groupName), - new MessageBox.ConfirmCallback() { - public void execute(final String btnID) { - if (btnID.equals("yes")) { - DeferredCommand.addCommand(new Command() { - public void execute() { - presenter.addCollab(groupShortName); - } - }); - } - } - }); + new MessageBox.ConfirmCallback() { + public void execute(final String btnID) { + if (btnID.equals("yes")) { + DeferredCommand.addCommand(new Command() { + public void execute() { + presenter.addCollab(groupShortName); + } + }); + } + } + }); } @Override Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java 2008-10-22 09:15:18 UTC (rev 919) @@ -89,14 +89,14 @@ public void addCollab(final String groupShortName) { Site.showProgressProcessing(); snServiceProvider.get().addCollabMember(session.getUserHash(), session.getCurrentState().getStateToken(), - groupShortName, new AsyncCallbackSimple<SocialNetworkResultDTO>() { - public void onSuccess(final SocialNetworkResultDTO result) { - Site.hideProgress(); - Site.info(i18n.t("Member added as collaborator")); - stateManager.setSocialNetwork(result); - } + groupShortName, new AsyncCallbackSimple<SocialNetworkResultDTO>() { + public void onSuccess(final SocialNetworkResultDTO result) { + Site.hideProgress(); + Site.info(i18n.t("Member added as collaborator")); + stateManager.setSocialNetwork(result); + } - }); + }); } public void init(final GroupMembersSummaryView view) { @@ -147,7 +147,7 @@ if (userIsAdmin) { for (final GroupDTO pendingCollab : pendingCollabsList) { view.addItem(createGridItem(pendigCategory, pendingCollab, rights, acceptJoinGroupMenuItem, - denyJoinGroupMenuItem)); + denyJoinGroupMenuItem)); } } } Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPresenter.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPresenter.java 2008-10-22 09:15:18 UTC (rev 919) @@ -51,7 +51,7 @@ final Provider<SocialNetworkServiceAsync> snServiceProvider, final WsThemePresenter wsThemePresenter) { super(i18n, stateManager, imageUtils, session, snServiceProvider); adminCategory = new GridGroup("admin in:", " ", i18n.tWithNT("Administrate these groups", - "talking about a person"), false); + "talking about a person"), false); collabCategory = new GridGroup(i18n.t("and as collaborator in:"), " ", i18n.t("Collaborate in these groups"), false); collabOnlyCategory = new GridGroup(i18n.t("collaborator in:"), " ", i18n.t("Collaborate in these groups"), Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java 2008-10-22 09:15:18 UTC (rev 919) @@ -109,25 +109,24 @@ public void onEvent(final String parameter) { Site.showProgressProcessing(); snServiceProvider.get().requestJoinGroup(session.getUserHash(), - session.getCurrentState().getStateToken(), - new AsyncCallbackSimple<Object>() { - public void onSuccess(final Object result) { - Site.hideProgress(); - final SocialNetworkRequestResult resultType = (SocialNetworkRequestResult) result; - switch (resultType) { - case accepted: - Site.info(i18n.t("You are now member of this group")); - stateManager.reload(); - break; - case denied: - Site.important(i18n.t("Sorry this is a closed group")); - break; - case moderated: - Site.info(i18n.t("Requested. Waiting for admins decision")); - break; - } - } - }); + session.getCurrentState().getStateToken(), new AsyncCallbackSimple<Object>() { + public void onSuccess(final Object result) { + Site.hideProgress(); + final SocialNetworkRequestResult resultType = (SocialNetworkRequestResult) result; + switch (resultType) { + case accepted: + Site.info(i18n.t("You are now member of this group")); + stateManager.reload(); + break; + case denied: + Site.important(i18n.t("Sorry this is a closed group")); + break; + case moderated: + Site.info(i18n.t("Requested. Waiting for admins decision")); + break; + } + } + }); } }); @@ -144,7 +143,7 @@ final String longName = group.getLongName(); boolean isPersonal = group.getGroupType().equals(GroupType.PERSONAL); final String toolTip = i18n.t(isPersonal ? "User nickname: [%s]" : "Group short name: [%s]", - group.getShortName()); + group.getShortName()); final String imageHtml = isPersonal ? imageUtils.getImageHtml(ImageDescriptor.personDef) : imageUtils.getImageHtml(ImageDescriptor.groupDefIcon); final GridItem<GroupDTO> gridItem = new GridItem<GroupDTO>(group, gridGroup, group.getShortName(), imageHtml, @@ -189,16 +188,14 @@ public void onEvent(final GroupDTO group) { Site.showProgressProcessing(); snServiceProvider.get().setAdminAsCollab(session.getUserHash(), - session.getCurrentState().getStateToken(), - group.getShortName(), - new AsyncCallbackSimple<SocialNetworkResultDTO>() { - public void onSuccess( - final SocialNetworkResultDTO result) { - Site.hideProgress(); - Site.info(i18n.t("Type of member changed")); - stateManager.setSocialNetwork(result); - } - }); + session.getCurrentState().getStateToken(), group.getShortName(), + new AsyncCallbackSimple<SocialNetworkResultDTO>() { + public void onSuccess(final SocialNetworkResultDTO result) { + Site.hideProgress(); + Site.info(i18n.t("Type of member changed")); + stateManager.setSocialNetwork(result); + } + }); } }); removeMemberMenuItem = new MenuItem<GroupDTO>("images/del.gif", i18n.t("Remove this member"), @@ -206,24 +203,22 @@ public void onEvent(final GroupDTO group) { Site.showProgressProcessing(); snServiceProvider.get().deleteMember(session.getUserHash(), - session.getCurrentState().getStateToken(), - group.getShortName(), - new AsyncCallbackSimple<SocialNetworkResultDTO>() { - public void onSuccess( - final SocialNetworkResultDTO result) { - Site.hideProgress(); - Site.info(i18n.t("Member removed")); - stateManager.reload(); - // in the - // future, - // only if - // I cannot - // be - // affected: - // snService.stateManager.reloadSocialNetwork((SocialNetworkResultDTO) - // result); - } - }); + session.getCurrentState().getStateToken(), group.getShortName(), + new AsyncCallbackSimple<SocialNetworkResultDTO>() { + public void onSuccess(final SocialNetworkResultDTO result) { + Site.hideProgress(); + Site.info(i18n.t("Member removed")); + stateManager.reload(); + // in the + // future, + // only if + // I cannot + // be + // affected: + // snService.stateManager.reloadSocialNetwork((SocialNetworkResultDTO) + // result); + } + }); } }); changeToAdminMenuItem = new MenuItem<GroupDTO>("images/arrow-up-green.gif", i18n.t("Change to admin"), @@ -231,16 +226,14 @@ public void onEvent(final GroupDTO group) { Site.showProgressProcessing(); snServiceProvider.get().setCollabAsAdmin(session.getUserHash(), - session.getCurrentState().getStateToken(), - group.getShortName(), - new AsyncCallbackSimple<SocialNetworkResultDTO>() { - public void onSuccess( - final SocialNetworkResultDTO result) { - Site.hideProgress(); - Site.info(i18n.t("Type of member changed")); - stateManager.setSocialNetwork(result); - } - }); + session.getCurrentState().getStateToken(), group.getShortName(), + new AsyncCallbackSimple<SocialNetworkResultDTO>() { + public void onSuccess(final SocialNetworkResultDTO result) { + Site.hideProgress(); + Site.info(i18n.t("Type of member changed")); + stateManager.setSocialNetwork(result); + } + }); } }); acceptJoinGroupMenuItem = new MenuItem<GroupDTO>("images/accept.gif", i18n.t("Accept this member"), @@ -248,16 +241,14 @@ public void onEvent(final GroupDTO group) { Site.showProgressProcessing(); snServiceProvider.get().acceptJoinGroup(session.getUserHash(), - session.getCurrentState().getStateToken(), - group.getShortName(), - new AsyncCallbackSimple<SocialNetworkResultDTO>() { - public void onSuccess( - final SocialNetworkResultDTO result) { - Site.hideProgress(); - Site.info(i18n.t("Member accepted")); - stateManager.setSocialNetwork(result); - } - }); + session.getCurrentState().getStateToken(), group.getShortName(), + new AsyncCallbackSimple<SocialNetworkResultDTO>() { + public void onSuccess(final SocialNetworkResultDTO result) { + Site.hideProgress(); + Site.info(i18n.t("Member accepted")); + stateManager.setSocialNetwork(result); + } + }); } }); denyJoinGroupMenuItem = new MenuItem<GroupDTO>("images/cancel.gif", i18n.t("Don't accept this member"), @@ -265,16 +256,14 @@ public void onEvent(final GroupDTO group) { Site.showProgressProcessing(); snServiceProvider.get().denyJoinGroup(session.getUserHash(), - session.getCurrentState().getStateToken(), - group.getShortName(), - new AsyncCallbackSimple<SocialNetworkResultDTO>() { - public void onSuccess( - final SocialNetworkResultDTO result) { - Site.hideProgress(); - Site.info(i18n.t("Member rejected")); - stateManager.setSocialNetwork(result); - } - }); + session.getCurrentState().getStateToken(), group.getShortName(), + new AsyncCallbackSimple<SocialNetworkResultDTO>() { + public void onSuccess(final SocialNetworkResultDTO result) { + Site.hideProgress(); + Site.info(i18n.t("Member rejected")); + stateManager.setSocialNetwork(result); + } + }); } }); } @@ -286,16 +275,16 @@ private void removeMemberAction(final GroupDTO groupDTO) { Site.showProgressProcessing(); snServiceProvider.get().unJoinGroup(session.getUserHash(), new StateToken(groupDTO.getShortName()), - new AsyncCallbackSimple<SocialNetworkResultDTO>() { - public void onSuccess(final SocialNetworkResultDTO result) { - Site.hideProgress(); - Site.info(i18n.t("Removed as member")); - stateManager.reload(); - // in the future with user - // info: - // services.stateManager.reloadSocialNetwork((SocialNetworkResultDTO) - // result); - } - }); + new AsyncCallbackSimple<SocialNetworkResultDTO>() { + public void onSuccess(final SocialNetworkResultDTO result) { + Site.hideProgress(); + Site.info(i18n.t("Removed as member")); + stateManager.reload(); + // in the future with user + // info: + // services.stateManager.reloadSocialNetwork((SocialNetworkResultDTO) + // result); + } + }); } } Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPresenter.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPresenter.java 2008-10-22 09:15:18 UTC (rev 919) @@ -60,8 +60,8 @@ public void doSearchTag(final String name) { searcherProvider.get().doSearchOfType( - "group:" + session.getCurrentState().getGroup().getShortName() + " tag:" - + name, SiteSearcherType.content); + "group:" + session.getCurrentState().getGroup().getShortName() + " tag:" + name, + SiteSearcherType.content); } public View getView() { Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/themes/WsThemePresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/themes/WsThemePresenter.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/themes/WsThemePresenter.java 2008-10-22 09:15:18 UTC (rev 919) @@ -4,6 +4,7 @@ import org.ourproject.kune.platf.client.dto.StateDTO; import org.ourproject.kune.platf.client.rpc.AsyncCallbackSimple; import org.ourproject.kune.platf.client.rpc.GroupServiceAsync; +import org.ourproject.kune.platf.client.services.KuneErrorHandler; import org.ourproject.kune.platf.client.state.Session; import org.ourproject.kune.platf.client.state.StateManager; import org.ourproject.kune.workspace.client.site.Site; @@ -12,6 +13,7 @@ import com.calclab.suco.client.ioc.Provider; import com.calclab.suco.client.listener.Event2; import com.calclab.suco.client.listener.Listener; +import com.calclab.suco.client.listener.Listener0; import com.calclab.suco.client.listener.Listener2; public class WsThemePresenter { @@ -21,16 +23,18 @@ private final Event2<WsTheme, WsTheme> onThemeChanged; private final Provider<GroupServiceAsync> groupServiceProvider; private final Session session; + private WsTheme defTheme; public WsThemePresenter(final Session session, final Provider<GroupServiceAsync> groupServiceProvider, - final StateManager stateManager) { + final StateManager stateManager, final KuneErrorHandler errorHandler) { this.session = session; this.groupServiceProvider = groupServiceProvider; this.onThemeChanged = Events.create(WsTheme.class, WsTheme.class, "onThemeChanged"); session.onInitDataReceived(new Listener<InitDataDTO>() { public void onEvent(final InitDataDTO initData) { view.setThemes(initData.getWsThemes()); - setTheme(new WsTheme(initData.getWsThemes()[0])); + setDefTheme(initData); + setTheme(defTheme); } }); stateManager.onStateChanged(new Listener<StateDTO>() { @@ -38,6 +42,11 @@ setState(state); } }); + errorHandler.onNotDefaultContent(new Listener0() { + public void onEvent() { + setTheme(defTheme); + } + }); } public void init(final WsThemeView view) { @@ -51,14 +60,18 @@ protected void onChangeGroupWsTheme(final WsTheme newTheme) { Site.showProgressProcessing(); groupServiceProvider.get().changeGroupWsTheme(session.getUserHash(), session.getCurrentState().getStateToken(), - newTheme.getName(), new AsyncCallbackSimple<Object>() { - public void onSuccess(final Object result) { - setTheme(newTheme); - Site.hideProgress(); - } - }); + newTheme.getName(), new AsyncCallbackSimple<Object>() { + public void onSuccess(final Object result) { + setTheme(newTheme); + Site.hideProgress(); + } + }); } + private void setDefTheme(final InitDataDTO initData) { + defTheme = new WsTheme(initData.getWsThemes()[0]); + } + private void setState(final StateDTO state) { setTheme(new WsTheme(state.getGroup().getWorkspaceTheme())); if (state.getGroupRights().isAdministrable()) { Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntitySubTitlePresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntitySubTitlePresenter.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntitySubTitlePresenter.java 2008-10-22 09:15:18 UTC (rev 919) @@ -23,9 +23,11 @@ import org.ourproject.kune.platf.client.View; import org.ourproject.kune.platf.client.dto.StateDTO; import org.ourproject.kune.platf.client.services.I18nTranslationService; +import org.ourproject.kune.platf.client.services.KuneErrorHandler; import org.ourproject.kune.platf.client.state.StateManager; import com.calclab.suco.client.listener.Listener; +import com.calclab.suco.client.listener.Listener0; public class EntitySubTitlePresenter implements EntitySubTitle { @@ -34,7 +36,7 @@ private final boolean showLanguage; public EntitySubTitlePresenter(final I18nTranslationService i18n, final StateManager stateManager, - boolean showLanguage) { + boolean showLanguage, KuneErrorHandler errorHandler) { this.i18n = i18n; this.showLanguage = showLanguage; stateManager.onStateChanged(new Listener<StateDTO>() { @@ -42,6 +44,12 @@ setState(state); } }); + errorHandler.onNotDefaultContent(new Listener0() { + public void onEvent() { + view.setContentSubTitleLeftVisible(false); + view.setContentSubTitleRightVisible(false); + } + }); } public View getView() { @@ -61,7 +69,7 @@ private void setState(final StateDTO state) { if (state.hasDocument()) { view.setContentSubTitleLeft(i18n.tWithNT("by: [%s]", "used in a list of authors", - state.getAuthors().get(0).getName())); + state.getAuthors().get(0).getName())); view.setContentSubTitleLeftVisible(true); } else { view.setContentSubTitleLeftVisible(false); Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitlePanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitlePanel.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitlePanel.java 2008-10-22 09:15:18 UTC (rev 919) @@ -54,6 +54,7 @@ dateLabel.addStyleName("kune-Margin-Large-r"); dateLabel.addStyleName("kune-ft12px"); dateLabel.ensureDebugId("k-entity-title-date"); + icon.setVisible(false); } public void restoreOldTitle() { Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitlePresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitlePresenter.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitlePresenter.java 2008-10-22 09:15:18 UTC (rev 919) @@ -36,6 +36,7 @@ import com.calclab.suco.client.ioc.Provider; import com.calclab.suco.client.listener.Listener; +import com.calclab.suco.client.listener.Listener0; import com.google.gwt.i18n.client.DateTimeFormat; import com.google.gwt.user.client.rpc.AsyncCallback; @@ -64,6 +65,14 @@ setState(state); } }); + errorHandler.onNotDefaultContent(new Listener0() { + public void onEvent() { + view.setDateVisible(false); + view.setContentIconVisible(false); + view.setContentTitleEditable(false); + view.setContentTitle(""); + } + }); } public View getView() { Modified: trunk/src/test/java/org/ourproject/kune/platf/client/actions/ActionRegistryTest.java =================================================================== --- trunk/src/test/java/org/ourproject/kune/platf/client/actions/ActionRegistryTest.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/test/java/org/ourproject/kune/platf/client/actions/ActionRegistryTest.java 2008-10-22 09:15:18 UTC (rev 919) @@ -94,8 +94,7 @@ private void checkActionLists(final int expectedActions, final AccessRightsDTO accessRightsDTO, final boolean toolbarActions) { - assertEquals(expectedActions, - registry.getCurrentActions(new StateToken(), DEF_CONTENT_TYPE_ID, session.isLogged(), - accessRightsDTO, toolbarActions).size()); + assertEquals(expectedActions, registry.getCurrentActions(new StateToken(), DEF_CONTENT_TYPE_ID, + session.isLogged(), accessRightsDTO, toolbarActions).size()); } } Modified: trunk/src/test/java/org/ourproject/kune/platf/client/state/StateManagerTest.java =================================================================== --- trunk/src/test/java/org/ourproject/kune/platf/client/state/StateManagerTest.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/test/java/org/ourproject/kune/platf/client/state/StateManagerTest.java 2008-10-22 09:15:18 UTC (rev 919) @@ -50,8 +50,7 @@ public void getDefGroup() { stateManager.onHistoryChanged("site.docs"); Mockito.verify(contentProvider, Mockito.times(1)).getContent(Mockito.anyString(), - (StateToken) Mockito.anyObject(), - (AsyncCallback<StateDTO>) Mockito.anyObject()); + (StateToken) Mockito.anyObject(), (AsyncCallback<StateDTO>) Mockito.anyObject()); } @Before @@ -72,8 +71,7 @@ Mockito.stub(history.getToken()).toReturn(""); stateManager.reload(); Mockito.verify(contentProvider, Mockito.times(1)).getContent(Mockito.anyString(), - (StateToken) Mockito.anyObject(), - (AsyncCallback<StateDTO>) Mockito.anyObject()); + (StateToken) Mockito.anyObject(), (AsyncCallback<StateDTO>) Mockito.anyObject()); } @SuppressWarnings("unchecked") @@ -85,7 +83,6 @@ stateManager.onHistoryChanged(token); Mockito.verify(listener, Mockito.times(1)).onEvent(Mockito.anyObject()); Mockito.verify(contentProvider, Mockito.times(1)).getContent(Mockito.anyString(), - (StateToken) Mockito.anyObject(), - (AsyncCallback<StateDTO>) Mockito.anyObject()); + (StateToken) Mockito.anyObject(), (AsyncCallback<StateDTO>) Mockito.anyObject()); } } Modified: trunk/src/test/java/org/ourproject/kune/platf/client/tool/ToolSelectorPresenterTest.java =================================================================== --- trunk/src/test/java/org/ourproject/kune/platf/client/tool/ToolSelectorPresenterTest.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/test/java/org/ourproject/kune/platf/client/tool/ToolSelectorPresenterTest.java 2008-10-22 09:15:18 UTC (rev 919) @@ -3,6 +3,7 @@ import org.junit.Before; import org.junit.Test; import org.mockito.Mockito; +import org.ourproject.kune.platf.client.services.KuneErrorHandler; import org.ourproject.kune.platf.client.state.StateManager; import org.ourproject.kune.workspace.client.themes.WsThemePresenter; @@ -49,7 +50,8 @@ public void begin() { final StateManager stateManager = Mockito.mock(StateManager.class); final WsThemePresenter themePresenter = Mockito.mock(WsThemePresenter.class); - toolSelector = new ToolSelectorPresenter(stateManager, themePresenter); + KuneErrorHandler errorHandler = Mockito.mock(KuneErrorHandler.class); + toolSelector = new ToolSelectorPresenter(stateManager, themePresenter, errorHandler); toolSelectorItem1 = Mockito.mock(ToolSelectorItem.class); toolSelectorItem2 = Mockito.mock(ToolSelectorItem.class); } Modified: trunk/src/test/java/org/ourproject/kune/platf/client/utils/UrlTest.java =================================================================== --- trunk/src/test/java/org/ourproject/kune/platf/client/utils/UrlTest.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/test/java/org/ourproject/kune/platf/client/utils/UrlTest.java 2008-10-22 09:15:18 UTC (rev 919) @@ -31,8 +31,8 @@ @Test public void testThreeParams() { assertEquals("test?param1=value1¶m2=value2¶m3=value3", - new Url("test", new UrlParam("param1", "value1"), new UrlParam("param2", "value2"), new UrlParam( - "param3", "value3")).toString()); + new Url("test", new UrlParam("param1", "value1"), new UrlParam("param2", "value2"), new UrlParam( + "param3", "value3")).toString()); } @Test Modified: trunk/src/test/java/org/ourproject/kune/platf/integration/IntegrationTestHelper.java =================================================================== --- trunk/src/test/java/org/ourproject/kune/platf/integration/IntegrationTestHelper.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/test/java/org/ourproject/kune/platf/integration/IntegrationTestHelper.java 2008-10-22 09:15:18 UTC (rev 919) @@ -19,21 +19,19 @@ public static Injector createInjector() { final Injector injector = Guice.createInjector(new PlatformServerModule(), new DocumentServerModule(), - new ChatServerModule(), new AbstractModule() { - @Override - protected void configure() { - bindScope(SessionScoped.class, Scopes.SINGLETON); - // test: use - // memory - // test_db: use - // mysql - bindConstant().annotatedWith(JpaUnit.class).to("test"); - bindConstant().annotatedWith(PropertiesFileName.class).to( - "kune.properties"); - bind(HttpServletRequest.class).to( - HttpServletRequestMocked.class); - } - }); + new ChatServerModule(), new AbstractModule() { + @Override + protected void configure() { + bindScope(SessionScoped.class, Scopes.SINGLETON); + // test: use + // memory + // test_db: use + // mysql + bindConstant().annotatedWith(JpaUnit.class).to("test"); + bindConstant().annotatedWith(PropertiesFileName.class).to("kune.properties"); + bind(HttpServletRequest.class).to(HttpServletRequestMocked.class); + } + }); return injector; } Modified: trunk/src/test/java/org/ourproject/kune/platf/integration/content/ContentCommentServiceTest.java =================================================================== --- trunk/src/test/java/org/ourproject/kune/platf/integration/content/ContentCommentServiceTest.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/test/java/org/ourproject/kune/platf/integration/content/ContentCommentServiceTest.java 2008-10-22 09:15:18 UTC (rev 919) @@ -20,7 +20,7 @@ doLogin(); final String commentText = "Some comment"; final CommentDTO commentDTO = contentService.addComment(session.getHash(), defaultContent.getStateToken(), - commentText); + commentText); assertEquals(commentDTO.getText(), commentText); assertEquals(commentDTO.getPositiveVotersCount(), 0); assertEquals(commentDTO.getNegativeVotersCount(), 0); Modified: trunk/src/test/java/org/ourproject/kune/platf/integration/content/ContentServiceAddTest.java =================================================================== --- trunk/src/test/java/org/ourproject/kune/platf/integration/content/ContentServiceAddTest.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/test/java/org/ourproject/kune/platf/integration/content/ContentServiceAddTest.java 2008-10-22 09:15:18 UTC (rev 919) @@ -46,7 +46,7 @@ final String title = "New Content Title"; final StateDTO added = contentService.addContent(session.getHash(), - defaultContent.getContainer().getStateToken(), title); + defaultContent.getContainer().getStateToken(), title); assertNotNull(added); final List<ContentSimpleDTO> contents = added.getContainer().getContents(); assertEquals(title, added.getTitle()); @@ -72,7 +72,7 @@ final ContainerDTO parent = defaultContent.getContainer(); final String title = "folder name"; final StateDTO newState = contentService.addFolder(session.getHash(), parent.getStateToken(), title, - DocumentClientTool.TYPE_FOLDER); + DocumentClientTool.TYPE_FOLDER); assertNotNull(newState); assertNotNull(newState.getGroupMembers()); assertNotNull(newState.getParticipation()); @@ -106,11 +106,11 @@ final ContainerDTO parent = defaultContent.getContainer(); final String title = "folder name"; final StateDTO newState = contentService.addFolder(session.getHash(), parent.getStateToken(), title, - DocumentClientTool.TYPE_FOLDER); + DocumentClientTool.TYPE_FOLDER); assertNotNull(newState); final StateDTO newState2 = contentService.addFolder(session.getHash(), parent.getStateToken(), title, - DocumentClientTool.TYPE_FOLDER); + DocumentClientTool.TYPE_FOLDER); assertNotNull(newState2); final ContainerDTO parentAgain = getDefaultContent().getContainer(); Modified: trunk/src/test/java/org/ourproject/kune/platf/integration/content/ContentServiceVariousTest.java =================================================================== --- trunk/src/test/java/org/ourproject/kune/platf/integration/content/ContentServiceVariousTest.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/test/java/org/ourproject/kune/platf/integration/content/ContentServiceVariousTest.java 2008-10-22 09:15:18 UTC (rev 919) @@ -7,6 +7,7 @@ import java.util.List; import org.junit.Before; +import org.junit.Ignore; import org.junit.Test; import org.ourproject.kune.docs.client.DocumentClientTool; import org.ourproject.kune.platf.client.dto.ContainerDTO; @@ -57,7 +58,8 @@ assertEquals("es", contentRetrieved.getLanguage().getCode()); } - @Test + @Ignore + // FIXME: when State refactor do this test (with noLogin and without) public void defAdminDontShowAsParticipation() throws Exception { doLogin(); final StateDTO content = contentService.getContent(getHash(), new StateToken(getSiteAdminShortName())); @@ -73,7 +75,7 @@ final String oldTitle = "some title"; String newTitle = "folder new name"; final StateDTO newState = contentService.addFolder(session.getHash(), defaultContent.getStateToken(), oldTitle, - DocumentClientTool.TYPE_FOLDER); + DocumentClientTool.TYPE_FOLDER); final ContainerDTO newFolder = newState.getContainer(); @@ -170,11 +172,11 @@ defaultContent = getDefaultContent(); final StateDTO added = contentService.addContent(session.getHash(), defaultContent.getStateToken(), - "New Content Title"); + "New Content Title"); assertNotNull(added); final ContentSimpleDTO newDefContent = contentService.setAsDefaultContent(session.getHash(), - added.getStateToken()); + added.getStateToken()); assertTrue(!defaultContent.getStateToken().equals(newDefContent.getStateToken())); assertTrue(added.getStateToken().equals(newDefContent.getStateToken())); @@ -189,7 +191,7 @@ final String oldTitle = "some title"; String newTitle = "folder new name"; final StateDTO newState = contentService.addFolder(session.getHash(), folder.getStateToken(), oldTitle, - DocumentClientTool.TYPE_FOLDER); + DocumentClientTool.TYPE_FOLDER); final ContainerDTO newFolder = newState.getContainer(); Modified: trunk/src/test/java/org/ourproject/kune/platf/integration/socialnet/SocialNetworkServiceTest.java =================================================================== --- trunk/src/test/java/org/ourproject/kune/platf/integration/socialnet/SocialNetworkServiceTest.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/test/java/org/ourproject/kune/platf/integration/socialnet/SocialNetworkServiceTest.java 2008-10-22 09:15:18 UTC (rev 919) @@ -4,8 +4,7 @@ import org.junit.Before; import org.junit.Test; -import org.ourproject.kune.platf.client.dto.ParticipationDataDTO; -import org.ourproject.kune.platf.client.dto.SocialNetworkDTO; +import org.ourproject.kune.platf.client.dto.SocialNetworkResultDTO; import org.ourproject.kune.platf.client.dto.StateToken; import org.ourproject.kune.platf.client.errors.AlreadyUserMemberException; import org.ourproject.kune.platf.client.errors.UserMustBeLoggedException; @@ -32,14 +31,14 @@ @Test public void testGetGroupMembersNotLogged() throws Exception { - final SocialNetworkDTO groupMembers = socialNetworkService.getGroupMembers(null, groupToken); - assertNotNull(groupMembers); + final SocialNetworkResultDTO sn = socialNetworkService.getSocialNetwork(null, groupToken); + assertNotNull(sn.getGroupMembers()); } @Test public void testGetParticipationNotLogged() throws Exception { - final ParticipationDataDTO participation = socialNetworkService.getParticipation(null, groupToken); - assertNotNull(participation); + final SocialNetworkResultDTO sn = socialNetworkService.getSocialNetwork(null, groupToken); + assertNotNull(sn.getUserParticipation()); } @Test(expected = UserMustBeLoggedException.class) Modified: trunk/src/test/java/org/ourproject/kune/platf/server/manager/ContentManagerTest.java =================================================================== --- trunk/src/test/java/org/ourproject/kune/platf/server/manager/ContentManagerTest.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/test/java/org/ourproject/kune/platf/server/manager/ContentManagerTest.java 2008-10-22 09:15:18 UTC (rev 919) @@ -69,7 +69,7 @@ "western", ","); countryManager.persist(gb); user = userManager.createUser("username", "the user name", "[email protected]", "userPassword", "en", "GB", - TimeZone.getDefault().getID()); + TimeZone.getDefault().getID()); defLicense = new License("by-sa", "Creative Commons Attribution-ShareAlike", "", "http://creativecommons.org/licenses/by-sa/3.0/", true, true, false, "", ""); licenseManager.persist(defLicense); Modified: trunk/src/test/java/org/ourproject/kune/platf/server/manager/GroupManagerTest.java =================================================================== --- trunk/src/test/java/org/ourproject/kune/platf/server/manager/GroupManagerTest.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/test/java/org/ourproject/kune/platf/server/manager/GroupManagerTest.java 2008-10-22 09:15:18 UTC (rev 919) @@ -120,10 +120,10 @@ public void createUserExistingEmail() throws I18nNotFoundException, GroupNameInUseException, EmailAddressInUseException { final User user1 = userManager.createUser("test", "test 1 name", "[email protected]", "some password", "en", - "GB", "GMT"); + "GB", "GMT"); groupManager.createUserGroup(user1); final User user2 = userManager.createUser("test2", "test 2 name", "[email protected]", "some password", "en", - "GB", "GMT"); + "GB", "GMT"); groupManager.createUserGroup(user2); } @@ -131,10 +131,10 @@ public void createUserExistingLongName() throws I18nNotFoundException, GroupNameInUseException, EmailAddressInUseException { final User user1 = userManager.createUser("test", "test 1 name", "[email protected]", "some password", "en", - "GB", "GMT"); + "GB", "GMT"); groupManager.createUserGroup(user1); final User user2 = userManager.createUser("test2", "test 1 name", "[email protected]", "some password", "en", - "GB", "GMT"); + "GB", "GMT"); groupManager.createUserGroup(user2); } @@ -142,17 +142,17 @@ public void createUserExistingShortName() throws I18nNotFoundException, GroupNameInUseException, EmailAddressInUseException { final User user1 = userManager.createUser("test", "test 1 name", "[email protected]", "some password", "en", - "GB", "GMT"); + "GB", "GMT"); groupManager.createUserGroup(user1); final User user2 = userManager.createUser("test", "test 2 name", "[email protected]", "some password", "en", - "GB", "GMT"); + "GB", "GMT"); groupManager.createUserGroup(user2); } @Test(expected = EmailAddressInUseException.class) public void createUserWithExistingEmail() throws Exception { final User user2 = userManager.createUser("username2", "the user name 2", "[email protected]", "userPassword", - "en", "GB", TimeZone.getDefault().getID()); + "en", "GB", TimeZone.getDefault().getID()); groupManager.createUserGroup(user2); rollbackTransaction(); } @@ -160,7 +160,7 @@ @Test(expected = GroupNameInUseException.class) public void createUserWithExistingLongName() throws Exception { final User user2 = userManager.createUser("username2", "the user name", "[email protected]", "userPassword", - "en", "GB", TimeZone.getDefault().getID()); + "en", "GB", TimeZone.getDefault().getID()); groupManager.createUserGroup(user2); rollbackTransaction(); } @@ -168,7 +168,7 @@ @Test(expected = GroupNameInUseException.class) public void createUserWithExistingShortName() throws Exception { final User user2 = userManager.createUser("username", "the user name 2", "[email protected]", "userPassword", - "en", "GB", TimeZone.getDefault().getID()); + "en", "GB", TimeZone.getDefault().getID()); groupManager.createUserGroup(user2); rollbackTransaction(); } @@ -200,7 +200,7 @@ "western", ","); countryManager.persist(gb); user = userManager.createUser("username", "the user name", "[email protected]", "userPassword", "en", "GB", - TimeZone.getDefault().getID()); + TimeZone.getDefault().getID()); defLicense = new License("by-sa", "Creative Commons Attribution-ShareAlike", "", "http://creativecommons.org/licenses/by-sa/3.0/", true, true, false, "", ""); licenseManager.persist(defLicense); Modified: trunk/src/test/java/org/ourproject/kune/platf/server/manager/UserManagerTest.java =================================================================== --- trunk/src/test/java/org/ourproject/kune/platf/server/manager/UserManagerTest.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/test/java/org/ourproject/kune/platf/server/manager/UserManagerTest.java 2008-10-22 09:15:18 UTC (rev 919) @@ -109,10 +109,10 @@ @Test(expected = EntityExistsException.class) public void testUserExist() throws I18nNotFoundException { final User user1 = userManager.createUser("test", "test 1 name", "[email protected]", "some password", "en", - "GB", "GMT"); + "GB", "GMT"); persist(user1); final User user2 = userManager.createUser("test", "test 1 name", "[email protected]", "some password", "en", - "GB", "GMT"); + "GB", "GMT"); persist(user2); } Modified: trunk/src/test/java/org/ourproject/kune/platf/server/manager/file/EntityLogoUploadManagerTest.java =================================================================== --- trunk/src/test/java/org/ourproject/kune/platf/server/manager/file/EntityLogoUploadManagerTest.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/test/java/org/ourproject/kune/platf/server/manager/file/EntityLogoUploadManagerTest.java 2008-10-22 09:15:18 UTC (rev 919) @@ -30,7 +30,7 @@ public void testCreateLogo() throws Exception { super.doLogin(); FileItem fileItem = Mockito.mock(FileItem.class); - Mockito.stub(fileItem.getContentType()).toReturn("image/jpeg"); + Mockito.stub(fileItem.getContentType()).toReturn("image/png"); Mockito.stub(fileItem.getName()).toReturn(TEST_FILE); manager.createUploadedFile(super.getHash(), super.getDefaultContent().getStateToken(), "file", fileItem); } Modified: trunk/src/test/java/org/ourproject/kune/platf/server/manager/file/FileUtilsTest.java =================================================================== --- trunk/src/test/java/org/ourproject/kune/platf/server/manager/file/FileUtilsTest.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/test/java/org/ourproject/kune/platf/server/manager/file/FileUtilsTest.java 2008-10-22 09:15:18 UTC (rev 919) @@ -88,7 +88,7 @@ @Test public void testIfSeq1WithExtreturn2WithExt() { assertEquals(SIMPLE_FILE_NAME + " 2" + EXT, FileUtils.getNextSequentialFileName(SIMPLE_FILE_NAME + " 1" + EXT, - true)); + true)); } @Test Modified: trunk/src/test/java/org/ourproject/kune/platf/server/mapper/MapperTest.java =================================================================== --- trunk/src/test/java/org/ourproject/kune/platf/server/mapper/MapperTest.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/test/java/org/ourproject/kune/platf/server/mapper/MapperTest.java 2008-10-22 09:15:18 UTC (rev 919) @@ -167,7 +167,7 @@ assertTrue(dto.getContents().get(0) instanceof ContentSimpleDTO); assertTrue(dto.getChilds().get(0) instanceof ContainerSimpleDTO); assertEquals(new StateToken(TESTGROUPSHORTNAME, TESTTOOL), - dto.getChilds().get(0).getStateToken().clone().clearFolder()); + dto.getChilds().get(0).getStateToken().clone().clearFolder()); assertEquals(expectedToken, dto.getContents().get(0).getStateToken().clone().clearDocument()); assertEquals(expectedToken, dto.getStateToken()); Modified: trunk/src/test/java/org/ourproject/kune/rack/filters/rest/TestRESTMethodFinder.java =================================================================== --- trunk/src/test/java/org/ourproject/kune/rack/filters/rest/TestRESTMethodFinder.java 2008-10-21 22:17:58 UTC (rev 918) +++ trunk/src/test/java/org/ourproject/kune/rack/filters/rest/TestRESTMethodFinder.java 2008-10-22 09:15:18 UTC (rev 919) @@ -29,7 +29,7 @@ @Test public void simpleTest() { RESTMethod method = finder.findMethod("simpleMethod", new TestParameters("name", "theName"), - MyTestService.class); + MyTestService.class); assertNotNull(method); assertTrue(method.invoke(service)); assertEquals("the name: theName", method.getResponse().toString()); @@ -38,8 +38,7 @@ @Test public void shouldTakeMoreParamsMethod() { RESTMethod method = finder.findMethod("simpleMethod", - new TestParameters("name", "theName", "value", "theValue"), - MyTestService.class); + new TestParameters("name", "theName", "value", "theValue"), MyTestService.class); assertNotNull(method); assertTrue(method.invoke(service)); assertEquals("more params: theName: theValue", method.getResponse().toString()); @@ -48,7 +47,7 @@ @Test public void conversionTest() { RESTMethod method = finder.findMethod("convertIntMethod", new TestParameters("length", "12", "stamp", "13"), - MyTestService.class); + MyTestService.class); assertNotNull(method); assertTrue(method.invoke(service)); assertEquals("the data: 12 13", method.getResponse().toString());
participants (1)
-
vjrj