r1005 - in trunk: doc src/main/java/org/ourproject/kune/app/public/css src/main/java/org/ourproject/kune/app/public/css/img src/main/java/org/ourproject/kune/platf/client/dto src/main/java/org/ourproject/kune/platf/client/rpc src/main/java/org/ourproject/kune/platf/client/services src/main/java/org/ourproject/kune/platf/client/state src/main/java/org/ourproject/kune/platf/client/ui/dialogs src/main/java/org/ourproject/kune/platf/server src/main/java/org/ourproject/kune/platf/server/manager sr
Author: vjrj Date: 2008-12-20 23:06:41 +0100 (Sat, 20 Dec 2008) New Revision: 1005 Added: trunk/src/main/java/org/ourproject/kune/app/public/css/img/kune-icon16.png trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseChangeAction.java trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardFrdForm.java trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardFrdFormView.java Removed: trunk/src/main/java/org/ourproject/kune/workspace/client/licensechoose/LicenseChoose.java trunk/src/main/java/org/ourproject/kune/workspace/client/licensechoose/LicenseChoosePanel.java trunk/src/main/java/org/ourproject/kune/workspace/client/licensechoose/LicenseChoosePresenter.java trunk/src/main/java/org/ourproject/kune/workspace/client/licensechoose/LicenseChooseView.java Modified: trunk/doc/kune-dic-08.odp trunk/doc/kune-dic-08.pdf 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/platf/client/dto/InitDataDTO.java trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupService.java trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupServiceAsync.java trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java trunk/src/main/java/org/ourproject/kune/platf/client/state/Session.java trunk/src/main/java/org/ourproject/kune/platf/client/state/SessionDefault.java trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/BasicDialogExtended.java trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/DefaultForm.java trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/WizardDialog.java trunk/src/main/java/org/ourproject/kune/platf/server/InitData.java trunk/src/main/java/org/ourproject/kune/platf/server/manager/GroupManager.java trunk/src/main/java/org/ourproject/kune/platf/server/manager/LicenseManager.java trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/FileUploadManager.java trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/ImageUtilsDefault.java trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/GroupManagerDefault.java trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/LicenseManagerDefault.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/workspace/client/licensewizard/LicenseWizard.java trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardPresenter.java trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardFirstForm.java trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardSndForm.java trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardSndFormView.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/newgroup/NewGroupView.java trunk/src/main/java/org/ourproject/kune/workspace/client/options/license/EntityOptionsDefLicensePanel.java trunk/src/main/java/org/ourproject/kune/workspace/client/options/license/EntityOptionsDefLicensePresenter.java trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInAbstractPanel.java trunk/src/main/resources/kune.properties trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/KuneSeleniumTestHelper.java trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/NewGroupSeleniumTest.java trunk/src/test/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardPresenterTest.java Log: Complete - task New License Wizard Modified: trunk/doc/kune-dic-08.odp =================================================================== (Binary files differ) Modified: trunk/doc/kune-dic-08.pdf =================================================================== (Binary files differ) 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-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/app/public/css/all.css 2008-12-20 22:06:41 UTC (rev 1005) @@ -41,4 +41,4 @@ padding: 1px 0px 1px 1px; text-decoration:none; } -*/.k-textlinethrough{text-decoration:line-through;color:red;}.k-textnormal{text-decoration:inherit;color:green;}.k-textunderline{text-decoration:underline;}.k-info-links{text-decoration:underline;color:gray;cursor:pointer;}.x-tool-kmenu{background-position:0 -75px;}.x-tool-kmenu-over{background-position:-15px -75px;}.k-border-openbox{border-bottom:1px #D0D0D0 solid;border-right:1px #D0D0D0 solid;border-left:1px #D0D0D0 solid;}/* SiteToastMessages */.k-stm-info-icon{background-image:url(img/info.gif)!important;}.k-stm-imp-icon{background-image:url(img/alert.gif)!important;}.k-stm-verimp-icon{background-image:url(img/important.gif)!important;}.k-stm-error-icon{background-image:url(img/error.gif)!important;}.k-error-tb{background:#FFB380 none repeat scroll 0 50%;color:#250;}.k-infod-head{font-size:108%;margin-bottom:10px;}.gwt-DisclosurePanel{}.gwt-DisclosurePanel-open{}.gwt-DisclosurePanel-closed{}.gwt-DisclosurePanel .header,.gwt-DisclosurePanel .header a,.gwt-DisclosurePanel .header td{text-decoration:none;/* Remove underline from header */color:#000;cursor:pointer;cursor:hand;}.gwt-DisclosurePanel .content{border-left:3px solid #e8eef7;padding:4px 0 4px 8px;margin-left:6px;}.k-basic-thumb{background:#FAFAFA none repeat scroll 0 50%;border:1px solid #EBEBEB;padding:3px;margin:3px;}.k-basic-thumb td{padding:2px 3px;border:none;}.k-text-gray{color:gray;}.k-elp-limg{margin-top:4px;margin-left:5px;cursor:pointer;overflow:hidden;}.k-tsp-tag{float:right;margin-right:5px;cursor:pointer;color:#00F;}.k-tsp-cloud{vertical-align:bottom;}.k-options-icon{background-image:url(img/emblem-system.gif)!important;}.k-deflicense-icon{background-image:url(img/copyleft.png)!important;}.k-info-icon{background-image:url(img/info.gif)!important;}.x-toolbar-body table{/* width: 100%; */}.k-preview-msg{background:#FCA;}.k-preview-msg-lab{background:#FCA;padding:0 5px;}.k-eil-edit{border:thin solid #000;} \ No newline at end of file +*/.k-textlinethrough{text-decoration:line-through;color:red;}.k-textnormal{text-decoration:inherit;color:green;}.k-textunderline{text-decoration:underline;}.k-info-links{text-decoration:underline;color:gray;cursor:pointer;}.x-tool-kmenu{background-position:0 -75px;}.x-tool-kmenu-over{background-position:-15px -75px;}.k-border-openbox{border-bottom:1px #D0D0D0 solid;border-right:1px #D0D0D0 solid;border-left:1px #D0D0D0 solid;}/* SiteToastMessages */.k-stm-info-icon{background-image:url(img/info.gif)!important;}.k-stm-imp-icon{background-image:url(img/alert.gif)!important;}.k-stm-verimp-icon{background-image:url(img/important.gif)!important;}.k-stm-error-icon{background-image:url(img/error.gif)!important;}.k-error-tb{background:#FFB380 none repeat scroll 0 50%;color:#250;}.k-infod-head{font-size:108%;margin-bottom:10px;}.gwt-DisclosurePanel{}.gwt-DisclosurePanel-open{}.gwt-DisclosurePanel-closed{}.gwt-DisclosurePanel .header,.gwt-DisclosurePanel .header a,.gwt-DisclosurePanel .header td{text-decoration:none;/* Remove underline from header */color:#000;cursor:pointer;cursor:hand;}.gwt-DisclosurePanel .content{border-left:3px solid #e8eef7;padding:4px 0 4px 8px;margin-left:6px;}.k-basic-thumb{background:#FAFAFA none repeat scroll 0 50%;border:1px solid #EBEBEB;padding:3px;margin:3px;}.k-basic-thumb td{padding:2px 3px;border:none;}.k-text-gray{color:gray;}.k-elp-limg{margin-top:4px;margin-left:5px;cursor:pointer;overflow:hidden;}.k-tsp-tag{float:right;margin-right:5px;cursor:pointer;color:#00F;}.k-tsp-cloud{vertical-align:bottom;}.k-options-icon{background-image:url(img/emblem-system.gif)!important;}.k-deflicense-icon{background-image:url(img/copyleft.png)!important;}.k-info-icon{background-image:url(img/info.gif)!important;}.k-newgroup-icon{background-image:url(img/kune-icon16.png)!important;}.x-toolbar-body table{/* width: 100%; */}.k-preview-msg{background:#FCA;}.k-preview-msg-lab{background:#FCA;padding:0 5px;}.k-eil-edit{border:thin solid #000;} \ No newline at end of file Added: trunk/src/main/java/org/ourproject/kune/app/public/css/img/kune-icon16.png =================================================================== (Binary files differ) Property changes on: trunk/src/main/java/org/ourproject/kune/app/public/css/img/kune-icon16.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream 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-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css 2008-12-20 22:06:41 UTC (rev 1005) @@ -829,6 +829,10 @@ background-image: url(img/info.gif) !important; } +.k-newgroup-icon { + background-image: url(img/kune-icon16.png) !important; +} + .x-toolbar-body table { /* width: 100%; */ } Modified: trunk/src/main/java/org/ourproject/kune/platf/client/dto/InitDataDTO.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/dto/InitDataDTO.java 2008-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/platf/client/dto/InitDataDTO.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -34,8 +34,11 @@ private String chatDomain; private String chatRoomHost; private String defaultWsTheme; + private LicenseDTO defaultLicense; private String[] wsThemes; + private String siteLogoUrl; + private String galleryPermittedExtensions; private String maxFileSizeInMb; private int imgResizewidth; @@ -61,6 +64,10 @@ return countries; } + public LicenseDTO getDefaultLicense() { + return defaultLicense; + } + public String getDefaultWsTheme() { return defaultWsTheme; } @@ -145,6 +152,10 @@ this.countries = countries; } + public void setDefaultLicense(LicenseDTO defaultLicense) { + this.defaultLicense = defaultLicense; + } + public void setDefaultWsTheme(final String defaultWsTheme) { this.defaultWsTheme = defaultWsTheme; } Modified: trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupService.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupService.java 2008-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupService.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -20,6 +20,7 @@ package org.ourproject.kune.platf.client.rpc; import org.ourproject.kune.platf.client.dto.GroupDTO; +import org.ourproject.kune.platf.client.dto.LicenseDTO; import org.ourproject.kune.platf.client.dto.SocialNetworkVisibilityDTO; import org.ourproject.kune.platf.client.dto.StateToken; import org.ourproject.kune.platf.client.errors.DefaultException; @@ -28,6 +29,8 @@ public interface GroupService extends RemoteService { + void changeDefLicense(final String userHash, final StateToken groupToken, final LicenseDTO license); + void changeGroupWsTheme(String userHash, StateToken groupToken, String theme) throws DefaultException; StateToken createNewGroup(String userHash, GroupDTO group, String publicDesc, String tags, String[] enabledTools) Modified: trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupServiceAsync.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupServiceAsync.java 2008-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupServiceAsync.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -20,6 +20,7 @@ package org.ourproject.kune.platf.client.rpc; import org.ourproject.kune.platf.client.dto.GroupDTO; +import org.ourproject.kune.platf.client.dto.LicenseDTO; import org.ourproject.kune.platf.client.dto.SocialNetworkVisibilityDTO; import org.ourproject.kune.platf.client.dto.StateToken; @@ -27,6 +28,9 @@ public interface GroupServiceAsync { + void changeDefLicense(final String userHash, final StateToken groupToken, final LicenseDTO license, + AsyncCallback<?> asyncCallback); + void changeGroupWsTheme(String userHash, StateToken groupToken, String theme, AsyncCallback<?> callback); void createNewGroup(String userHash, GroupDTO group, String publicDesc, String tags, String[] enabledTools, 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-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -100,9 +100,7 @@ import org.ourproject.kune.workspace.client.i18n.LanguageSelectorPanel; import org.ourproject.kune.workspace.client.i18n.LanguageSelectorPresenter; import org.ourproject.kune.workspace.client.i18n.LanguageSelectorView; -import org.ourproject.kune.workspace.client.licensechoose.LicenseChoose; -import org.ourproject.kune.workspace.client.licensechoose.LicenseChoosePanel; -import org.ourproject.kune.workspace.client.licensechoose.LicenseChoosePresenter; +import org.ourproject.kune.workspace.client.licensewizard.LicenseWizard; import org.ourproject.kune.workspace.client.newgroup.NewGroup; import org.ourproject.kune.workspace.client.newgroup.NewGroupPanel; import org.ourproject.kune.workspace.client.newgroup.NewGroupPresenter; @@ -328,22 +326,12 @@ } }); - register(Singleton.class, new Factory<LicenseChoose>(LicenseChoose.class) { - @Override - public LicenseChoose create() { - final LicenseChoosePresenter presenter = new LicenseChoosePresenter($(Session.class)); - final LicenseChoosePanel view = new LicenseChoosePanel(presenter, i18n, $(Images.class)); - presenter.init(view); - return presenter; - } - }); - register(Singleton.class, new Factory<NewGroup>(NewGroup.class) { @Override public NewGroup create() { final NewGroupPresenter presenter = new NewGroupPresenter(i18n, $(Session.class), $(StateManager.class), $$(GroupServiceAsync.class)); - final NewGroupPanel view = new NewGroupPanel(presenter, i18n, $$(LicenseChoose.class), $(Images.class)); + final NewGroupPanel view = new NewGroupPanel(presenter, i18n, $$(LicenseWizard.class), $(Images.class)); presenter.init(view); return presenter; } 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-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -49,11 +49,14 @@ 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.licensewizard.LicenseChangeAction; import org.ourproject.kune.workspace.client.licensewizard.LicenseWizard; import org.ourproject.kune.workspace.client.licensewizard.LicenseWizardPanel; import org.ourproject.kune.workspace.client.licensewizard.LicenseWizardPresenter; import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardFirstForm; import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardFirstFormView; +import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardFrdForm; +import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardFrdFormView; import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardSndForm; import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardSndFormView; import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardTrdForm; @@ -477,7 +480,8 @@ @Override public EntityOptionsDefLicense create() { final EntityOptionsDefLicensePresenter presenter = new EntityOptionsDefLicensePresenter( - $(EntityOptions.class), $(StateManager.class), $(Session.class), $$(LicenseWizard.class)); + $(EntityOptions.class), $(StateManager.class), $(Session.class), $$(LicenseWizard.class), + $$(LicenseChangeAction.class)); final EntityOptionsDefLicensePanel panel = new EntityOptionsDefLicensePanel(presenter, $(WorkspaceSkeleton.class), $(I18nTranslationService.class)); presenter.init(panel); @@ -485,6 +489,14 @@ } }); + register(Singleton.class, new Factory<LicenseChangeAction>(LicenseChangeAction.class) { + @Override + public LicenseChangeAction create() { + return new LicenseChangeAction($$(GroupServiceAsync.class), $(Session.class), + $(I18nTranslationService.class), $(StateManager.class)); + } + }); + register(Singleton.class, new Factory<RenameAction>(RenameAction.class) { @Override public RenameAction create() { @@ -498,7 +510,7 @@ public LicenseWizard create() { final LicenseWizardPresenter presenter = new LicenseWizardPresenter( $(LicenseWizardFirstFormView.class), $(LicenseWizardSndFormView.class), - $(LicenseWizardTrdFormView.class), $$(GroupServiceAsync.class)); + $(LicenseWizardTrdFormView.class), $(LicenseWizardFrdFormView.class), $(Session.class)); final LicenseWizardPanel panel = new LicenseWizardPanel(presenter, $(WorkspaceSkeleton.class), $(I18nTranslationService.class)); presenter.init(panel); @@ -526,5 +538,12 @@ return new LicenseWizardTrdForm($(Images.class), $(I18nTranslationService.class)); } }); + + register(Singleton.class, new Factory<LicenseWizardFrdFormView>(LicenseWizardFrdFormView.class) { + @Override + public LicenseWizardFrdFormView create() { + return new LicenseWizardFrdForm($(I18nTranslationService.class), $(Session.class)); + } + }); } } 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-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/platf/client/state/Session.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -64,6 +64,8 @@ */ int SESSION_DURATION = 1000 * 60 * 60 * 24 * 14; + public LicenseDTO getDefLicense(); + public int getImgCropsize(); public int getImgIconsize(); 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-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/platf/client/state/SessionDefault.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -111,6 +111,10 @@ return currentUserInfo; } + public LicenseDTO getDefLicense() { + return initData.getDefaultLicense(); + } + public String getGalleryPermittedExtensions() { return initData.getGalleryPermittedExtensions(); } Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/BasicDialogExtended.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/BasicDialogExtended.java 2008-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/BasicDialogExtended.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -82,4 +82,12 @@ public Button getFirstButton() { return firstButton; } + + public void mask(final String message) { + getEl().mask(message, "x-mask-loading"); + } + + public void unMask() { + getEl().unmask(); + } } Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/DefaultForm.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/DefaultForm.java 2008-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/DefaultForm.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -113,6 +113,10 @@ form.setHeight(height); } + public void setHideLabels(boolean hide) { + form.setHideLabels(hide); + } + public void setPaddings(int padding) { form.setPaddings(padding); } Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/WizardDialog.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/WizardDialog.java 2008-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/WizardDialog.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -118,11 +118,6 @@ doLayoutIfNeeded(); } - @Deprecated - public void add(final Widget widget) { - dialog.add(widget); - } - public void center() { dialog.center(); } Modified: trunk/src/main/java/org/ourproject/kune/platf/server/InitData.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/InitData.java 2008-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/platf/server/InitData.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -38,8 +38,12 @@ private String siteDomain; private String chatDomain; private String chatRoomHost; + private License defaultLicense; + private String defaultWsTheme; + private String[] wsThemes; + private String siteLogoUrl; private String galleryPermittedExtensions; private String maxFileSizeInMb; @@ -66,6 +70,10 @@ return countries; } + public License getDefaultLicense() { + return defaultLicense; + } + public String getDefaultWsTheme() { return defaultWsTheme; } @@ -146,6 +154,10 @@ this.countries = countries; } + public void setDefaultLicense(License defaultLicense) { + this.defaultLicense = defaultLicense; + } + public void setDefaultWsTheme(final String defaultWsTheme) { this.defaultWsTheme = defaultWsTheme; } Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/GroupManager.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/manager/GroupManager.java 2008-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/GroupManager.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -32,6 +32,8 @@ public interface GroupManager extends Manager<Group, Long> { + void changeDefLicense(User user, Group group, String licenseShortName); + void changeWsTheme(User user, Group group, String theme) throws AccessViolationException; Group createGroup(Group group, User user) throws GroupNameInUseException, UserMustBeLoggedException; Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/LicenseManager.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/manager/LicenseManager.java 2008-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/LicenseManager.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -25,16 +25,18 @@ public interface LicenseManager { + License findByShortName(String licenseDef); + List<License> getAll(); - License persist(final License license); + List<License> getCC(); - void setLicenseFinder(final License licenseFinder); + License getDefLicense(); - List<License> getCC(); - List<License> getNotCC(); - License findByShortName(String licenseDef); + License persist(final License license); + void setLicenseFinder(final License licenseFinder); + } \ No newline at end of file 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-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/FileUploadManager.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -166,7 +166,6 @@ if (isPdf) { ImageUtilsDefault.createThumbFromPdf(fileOrig, previewName); } - } catch (NumberFormatException e) { log.error("Image sizes in kune.properties are not integers"); e.printStackTrace(); Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/ImageUtilsDefault.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/ImageUtilsDefault.java 2008-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/ImageUtilsDefault.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -57,6 +57,14 @@ cropImage(scaled, fileDest, x, y, cropDimension, cropDimension); } + /** + * convert -density 300 -quality 100 -resize 720x file.pdf result.png + * + * @param pdfFile + * @param newPngFile + * @return + * @throws MagickException + */ static public boolean createThumbFromPdf(String pdfFile, String newPngFile) throws MagickException { MagickImage pdf = readImage(pdfFile); MagickImage pdf1 = pdf.breakFrames()[0]; Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/GroupManagerDefault.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/GroupManagerDefault.java 2008-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/GroupManagerDefault.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -46,6 +46,7 @@ import org.ourproject.kune.platf.server.domain.ToolConfiguration; import org.ourproject.kune.platf.server.domain.User; import org.ourproject.kune.platf.server.manager.GroupManager; +import org.ourproject.kune.platf.server.manager.LicenseManager; import org.ourproject.kune.platf.server.properties.DatabaseProperties; import org.ourproject.kune.platf.server.properties.KuneProperties; import org.ourproject.kune.platf.server.tool.ServerTool; @@ -65,21 +66,32 @@ private final KuneProperties kuneProperties; private final User userFinder; private final ServerToolRegistry serverToolRegistry; + private final LicenseManager licenseManager; @Inject public GroupManagerDefault(final Provider<EntityManager> provider, final Group finder, final User userFinder, final KuneProperties kuneProperties, final DatabaseProperties properties, - final ServerToolRegistry registry, final License licenseFinder, ServerToolRegistry serverToolRegistry) { + final ServerToolRegistry registry, final LicenseManager licenseManager, final License licenseFinder, + ServerToolRegistry serverToolRegistry) { super(provider, Group.class); this.finder = finder; this.userFinder = userFinder; this.kuneProperties = kuneProperties; this.properties = properties; this.registry = registry; + this.licenseManager = licenseManager; this.licenseFinder = licenseFinder; this.serverToolRegistry = serverToolRegistry; } + public void changeDefLicense(User user, Group group, String licName) { + final License license = licenseFinder.findByShortName(licName); + if (license == null) { + throw new RuntimeException("Unknown license"); + } + group.setDefaultLicense(license); + } + public void changeWsTheme(final User user, final Group group, final String theme) throws AccessViolationException { // TODO: check theme group.setWorkspaceTheme(theme); @@ -117,8 +129,7 @@ public Group createUserGroup(User user, boolean wantPersonalHomepage) throws GroupNameInUseException, EmailAddressInUseException { final String defaultSiteWorkspaceTheme = kuneProperties.get(KuneProperties.WS_THEMES_DEF); - final String licenseDefId = properties.getDefaultLicense(); - final License licenseDef = licenseFinder.findByShortName(licenseDefId); + final License licenseDef = licenseManager.getDefLicense(); final Group userGroup = new Group(user.getShortName(), user.getName(), licenseDef, GroupType.PERSONAL); User userSameEmail = null; try { Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/LicenseManagerDefault.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/LicenseManagerDefault.java 2008-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/LicenseManagerDefault.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -25,6 +25,7 @@ import org.ourproject.kune.platf.server.domain.License; import org.ourproject.kune.platf.server.manager.LicenseManager; +import org.ourproject.kune.platf.server.properties.DatabaseProperties; import com.google.inject.Inject; import com.google.inject.Provider; @@ -33,24 +34,36 @@ @Singleton public class LicenseManagerDefault extends DefaultManager<License, Long> implements LicenseManager { private License licenseFinder; + private final DatabaseProperties properties; @Inject - public LicenseManagerDefault(final Provider<EntityManager> provider) { + public LicenseManagerDefault(final Provider<EntityManager> provider, DatabaseProperties properties) { super(provider, License.class); + this.properties = properties; } + public License findByShortName(String shortName) { + return licenseFinder.findByShortName(shortName); + } + public List<License> getAll() { return licenseFinder.getAll(); } + public List<License> getCC() { + return licenseFinder.getCC(); + } + + public License getDefLicense() { + final String licenseDefId = properties.getDefaultLicense(); + return licenseFinder.findByShortName(licenseDefId); + } + public List<License> getNotCC() { return licenseFinder.getNotCC(); } - public List<License> getCC() { - return licenseFinder.getCC(); - } - + @Override public License persist(final License license) { return super.persist(license); } @@ -59,8 +72,4 @@ public void setLicenseFinder(final License licenseFinder) { this.licenseFinder = licenseFinder; } - - public License findByShortName(String shortName) { - return licenseFinder.findByShortName(shortName); - } } 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-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/platf/server/rpc/GroupRPC.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -20,6 +20,7 @@ package org.ourproject.kune.platf.server.rpc; import org.ourproject.kune.platf.client.dto.GroupDTO; +import org.ourproject.kune.platf.client.dto.LicenseDTO; import org.ourproject.kune.platf.client.dto.SocialNetworkVisibilityDTO; import org.ourproject.kune.platf.client.dto.StateToken; import org.ourproject.kune.platf.client.errors.DefaultException; @@ -63,6 +64,15 @@ @Authenticated @Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Administrator) @Transactional(type = TransactionType.READ_WRITE) + public void changeDefLicense(final String userHash, final StateToken groupToken, final LicenseDTO license) { + final User user = getUserLogged(); + final Group group = groupManager.findByShortName(groupToken.getGroup()); + groupManager.changeDefLicense(user, group, license.getShortName()); + } + + @Authenticated + @Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Administrator) + @Transactional(type = TransactionType.READ_WRITE) public void changeGroupWsTheme(final String userHash, final StateToken groupToken, final String theme) throws DefaultException { final User user = getUserLogged(); 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-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/platf/server/rpc/SiteRPC.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -90,6 +90,7 @@ data.setSiteDomain(kuneProperties.get(KuneProperties.SITE_DOMAIN)); data.setChatRoomHost(chatProperties.getRoomHost()); data.setWsThemes(this.kuneProperties.get(KuneProperties.WS_THEMES).split(",")); + data.setDefaultLicense(licenseManager.getDefLicense()); data.setDefaultWsTheme(this.kuneProperties.get(KuneProperties.WS_THEMES_DEF)); data.setSiteLogoUrl(kuneProperties.get(KuneProperties.SITE_LOGO_URL)); data.setGalleryPermittedExtensions(kuneProperties.get(KuneProperties.UPLOAD_GALLERY_PERMITTED_EXTS)); Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/licensechoose/LicenseChoose.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/licensechoose/LicenseChoose.java 2008-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensechoose/LicenseChoose.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -1,31 +0,0 @@ -/* - * - * Copyright (C) 2007-2008 The kune development team (see CREDITS for details) - * This file is part of kune. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ -package org.ourproject.kune.workspace.client.licensechoose; - -import org.ourproject.kune.platf.client.View; -import org.ourproject.kune.platf.client.dto.LicenseDTO; - -public interface LicenseChoose { - - View getView(); - - LicenseDTO getLicense(); - -} \ No newline at end of file Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/licensechoose/LicenseChoosePanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/licensechoose/LicenseChoosePanel.java 2008-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensechoose/LicenseChoosePanel.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -1,227 +0,0 @@ -/* - * - * Copyright (C) 2007-2008 The kune development team (see CREDITS for details) - * This file is part of kune. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ -package org.ourproject.kune.workspace.client.licensechoose; - -import java.util.List; - -import org.ourproject.kune.platf.client.dto.LicenseDTO; -import org.ourproject.kune.platf.client.services.I18nTranslationService; -import org.ourproject.kune.platf.client.services.Images; -import org.ourproject.kune.platf.client.ui.HorizontalLine; -import org.ourproject.kune.platf.client.ui.IconLabel; -import org.ourproject.kune.platf.client.ui.TitledPanel; - -import com.google.gwt.user.client.ui.ChangeListener; -import com.google.gwt.user.client.ui.ClickListener; -import com.google.gwt.user.client.ui.Composite; -import com.google.gwt.user.client.ui.DeckPanel; -import com.google.gwt.user.client.ui.Label; -import com.google.gwt.user.client.ui.ListBox; -import com.google.gwt.user.client.ui.RadioButton; -import com.google.gwt.user.client.ui.VerticalPanel; -import com.google.gwt.user.client.ui.Widget; - -public class LicenseChoosePanel extends Composite implements LicenseChooseView { - - protected static final String CC_LIC_FIELD = "cc-lic"; - protected static final String OTHER_LIC_FIELD = "other-lic"; - private static final String BIG_FIELD_WIDTH = "280"; - - private final RadioButton ccRB; - private final RadioButton allowModifRB; - private final RadioButton commercialRB; - private final RadioButton allowModifShareAlikeRB; - private final DeckPanel options; - private final Label ccIntro; - private final ListBox otherLicenses; - private final TitledPanel optionsBox; - private final IconLabel copyleft; - private final IconLabel nonCopyleft; - private final RadioButton noModifRB; - private final RadioButton nonCommercialRB; - private final I18nTranslationService i18n; - - public LicenseChoosePanel(final LicenseChoosePresenter presenter, final I18nTranslationService i18n, Images img) { - this.i18n = i18n; - - final VerticalPanel generalVP = new VerticalPanel(); - initWidget(generalVP); - - final VerticalPanel licenseTypesVP = new VerticalPanel(); - ccRB = new RadioButton("ccOrNot", i18n.t("Creative Commons")); - final RadioButton notCcRB = new RadioButton("ccOrNot", i18n.t("Other licenses")); - options = new DeckPanel(); - ccIntro = new Label( - i18n.t("With a Creative Commons license, you keep your copyright but allow people to copy and distribute your work provided they give you credit — and only on the conditions you specify here. What do you want to do?")); - - otherLicenses = new ListBox(); - final VerticalPanel ccOptionsVP = new VerticalPanel(); - final VerticalPanel nonCcOptionsVP = new VerticalPanel(); - - final Label comercialLabel = new Label(i18n.t("Do you want to allow commercial uses of your work?")); - commercialRB = new RadioButton("commercial", i18n.t("Yes")); - nonCommercialRB = new RadioButton("commercial", i18n.t("No")); - final Label allowModifLabel = new Label(i18n.t("Do you want to allow modifications of your work?")); - allowModifRB = new RadioButton("allowModif", i18n.t("Yes")); - allowModifShareAlikeRB = new RadioButton("allowModif", i18n.t("Yes, as long as others share alike")); - noModifRB = new RadioButton("allowModif", i18n.t("No")); - generalVP.add(licenseTypesVP); - licenseTypesVP.add(ccRB); - licenseTypesVP.add(notCcRB); - - copyleft = new IconLabel(img.copyleft(), i18n.t("This is a copyleft license"), false); - nonCopyleft = new IconLabel(img.noCopyleft(), i18n.t("This is not a copyleft license"), false); - nonCopyleft.setVisible(false); - - generalVP.add(options); - - // Options - - optionsBox = new TitledPanel(i18n.t("Options"), options); - optionsBox.setWidth(BIG_FIELD_WIDTH); - generalVP.add(optionsBox); - generalVP.add(nonCopyleft); - generalVP.add(copyleft); - - ccOptionsVP.add(ccIntro); - ccOptionsVP.add(comercialLabel); - ccOptionsVP.add(commercialRB); - ccOptionsVP.add(nonCommercialRB); - ccOptionsVP.add(new HorizontalLine()); - ccOptionsVP.add(allowModifLabel); - ccOptionsVP.add(allowModifRB); - ccOptionsVP.add(allowModifShareAlikeRB); - ccOptionsVP.add(noModifRB); - - nonCcOptionsVP.add(otherLicenses); - - options.add(ccOptionsVP); - options.add(nonCcOptionsVP); - options.showWidget(0); - - comercialLabel.addStyleName("kune-License-CC-Header"); - allowModifLabel.addStyleName("kune-License-CC-Header"); - nonCommercialRB.addStyleName("kune-Margin-Large-lr"); - commercialRB.addStyleName("kune-Margin-Large-lr"); - allowModifRB.addStyleName("kune-Margin-Large-lr"); - allowModifShareAlikeRB.addStyleName("kune-Margin-Large-lr"); - noModifRB.addStyleName("kune-Margin-Large-lr"); - optionsBox.addStyleName("kune-Margin-Medium-t"); - otherLicenses.addStyleName("kune-Margin-Large-trbl"); - generalVP.addStyleName("kune-Default-Form"); - copyleft.addStyleName("kune-Margin-Medium-t"); - nonCopyleft.addStyleName("kune-Margin-Medium-t"); - - ccRB.addClickListener(new ClickListener() { - public void onClick(final Widget arg0) { - showCCoptions(); - presenter.onChange(); - } - }); - - notCcRB.addClickListener(new ClickListener() { - public void onClick(final Widget arg0) { - showNotCCoptions(); - presenter.onChange(); - } - }); - - final List<LicenseDTO> nonCCLicenses = presenter.getNonCCLicenses(); - for (int i = 0; i < nonCCLicenses.size(); i++) { - final String licenseDescrip = nonCCLicenses.get(i).getLongName(); - otherLicenses.addItem(licenseDescrip); - } - if (nonCCLicenses.size() > 0) { - otherLicenses.setItemSelected(0, true); - otherLicenses.setVisibleItemCount(1); - } - - configureListeners(presenter); - } - - public int getSelectedNonCCLicenseIndex() { - return otherLicenses.getSelectedIndex(); - } - - public boolean isAllowModif() { - return allowModifRB.isChecked(); - } - - public boolean isAllowModifShareAlike() { - return allowModifShareAlikeRB.isChecked(); - } - - public boolean isCCselected() { - return ccRB.isChecked(); - } - - public boolean permitComercial() { - return commercialRB.isChecked(); - } - - public void reset() { - options.showWidget(0); - ccRB.setChecked(true); - commercialRB.setChecked(true); - allowModifShareAlikeRB.setChecked(true); - } - - public void showCCoptions() { - options.showWidget(0); - optionsBox.setTitle(i18n.t("Options")); - - } - - public void showIsCopyleft() { - nonCopyleft.setVisible(false); - copyleft.setVisible(true); - } - - public void showIsNotCopyleft() { - nonCopyleft.setVisible(true); - copyleft.setVisible(false); - } - - public void showNotCCoptions() { - options.showWidget(1); - optionsBox.setTitle(i18n.t("Please, select one of these licenses:")); - } - - private void configureListeners(final LicenseChoosePresenter presenter) { - final ChangeListener changeListener = new ChangeListener() { - public void onChange(final Widget arg0) { - presenter.onChange(); - } - }; - - final ClickListener clickListener = new ClickListener() { - public void onClick(final Widget arg0) { - presenter.onChange(); - } - }; - otherLicenses.addChangeListener(changeListener); - ccRB.addClickListener(clickListener); - allowModifRB.addClickListener(clickListener); - commercialRB.addClickListener(clickListener); - nonCommercialRB.addClickListener(clickListener); - allowModifShareAlikeRB.addClickListener(clickListener); - noModifRB.addClickListener(clickListener); - } -} Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/licensechoose/LicenseChoosePresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/licensechoose/LicenseChoosePresenter.java 2008-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensechoose/LicenseChoosePresenter.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -1,100 +0,0 @@ -/* - * - * Copyright (C) 2007-2008 The kune development team (see CREDITS for details) - * This file is part of kune. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ -package org.ourproject.kune.workspace.client.licensechoose; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import org.ourproject.kune.platf.client.View; -import org.ourproject.kune.platf.client.dto.LicenseDTO; -import org.ourproject.kune.platf.client.state.Session; - -import com.allen_sauer.gwt.log.client.Log; - -public class LicenseChoosePresenter implements LicenseChoose, View { - - private LicenseChooseView view; - - private final List<LicenseDTO> licenses; - - private final List<LicenseDTO> licensesNonCCList; - - public LicenseChoosePresenter(final Session session) { - licensesNonCCList = new ArrayList<LicenseDTO>(); - licenses = session.getLicenses(); - for (final Iterator<LicenseDTO> iterator = licenses.iterator(); iterator.hasNext();) { - final LicenseDTO license = iterator.next(); - if (!license.isCC()) { - licensesNonCCList.add(license); - } - } - } - - public LicenseDTO getLicense() { - String licenseShortName; - - if (view.isCCselected()) { - if (view.permitComercial()) { - licenseShortName = view.isAllowModif() ? "by" : view.isAllowModifShareAlike() ? "by-sa" : "by-nd"; - } else { - licenseShortName = view.isAllowModif() ? "by-nc" : view.isAllowModifShareAlike() ? "by-nc-sa" - : "by-nc-nd"; - } - } else { - licenseShortName = licensesNonCCList.get(view.getSelectedNonCCLicenseIndex()).getShortName(); - } - return getLicenseFromShortName(licenseShortName); - } - - public List<LicenseDTO> getNonCCLicenses() { - return licensesNonCCList; - } - - public View getView() { - return view; - } - - public void init(final LicenseChooseView view) { - this.view = view; - this.view.reset(); - } - - public void onChange() { - final LicenseDTO licenseDTO = getLicense(); - if (licenseDTO.isCopyleft()) { - view.showIsCopyleft(); - } else { - view.showIsNotCopyleft(); - } - } - - private LicenseDTO getLicenseFromShortName(final String shortName) { - for (int i = 0; i < licenses.size(); i++) { - final LicenseDTO licenseDTO = licenses.get(i); - if (licenseDTO.getShortName().equals(shortName)) { - return licenseDTO; - } - } - Log.error("Internal error: License not found"); - throw new IndexOutOfBoundsException("License not found"); - } - -} Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/licensechoose/LicenseChooseView.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/licensechoose/LicenseChooseView.java 2008-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensechoose/LicenseChooseView.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -1,45 +0,0 @@ -/* - * - * Copyright (C) 2007-2008 The kune development team (see CREDITS for details) - * This file is part of kune. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ -package org.ourproject.kune.workspace.client.licensechoose; - -import org.ourproject.kune.platf.client.View; - -public interface LicenseChooseView extends View { - - boolean isCCselected(); - - boolean isAllowModif(); - - boolean isAllowModifShareAlike(); - - int getSelectedNonCCLicenseIndex(); - - boolean permitComercial(); - - void reset(); - - void showNotCCoptions(); - - void showCCoptions(); - - void showIsCopyleft(); - - void showIsNotCopyleft(); -} Added: trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseChangeAction.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseChangeAction.java 2008-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseChangeAction.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -0,0 +1,43 @@ +package org.ourproject.kune.workspace.client.licensewizard; + +import org.ourproject.kune.platf.client.dto.LicenseDTO; +import org.ourproject.kune.platf.client.rpc.GroupServiceAsync; +import org.ourproject.kune.platf.client.services.I18nTranslationService; +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 com.calclab.suco.client.ioc.Provider; +import com.calclab.suco.client.listener.Listener0; +import com.google.gwt.user.client.rpc.AsyncCallback; + +public class LicenseChangeAction { + private final StateManager stateManager; + private final Provider<GroupServiceAsync> groupService; + private final Session session; + private final I18nTranslationService i18n; + + public LicenseChangeAction(Provider<GroupServiceAsync> groupService, Session session, I18nTranslationService i18n, + StateManager stateManager) { + this.groupService = groupService; + this.session = session; + this.i18n = i18n; + this.stateManager = stateManager; + } + + public void changeLicense(final LicenseDTO license, final Listener0 onSuccess) { + Site.showProgressProcessing(); + groupService.get().changeDefLicense(session.getUserHash(), session.getCurrentStateToken(), license, + new AsyncCallback<Object>() { + public void onFailure(Throwable caught) { + Site.hideProgress(); + Site.error(i18n.t("Error changing default group license")); + } + + public void onSuccess(Object result) { + stateManager.reload(); + onSuccess.onEvent(); + } + }); + } +} Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizard.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizard.java 2008-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizard.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -1,7 +1,11 @@ package org.ourproject.kune.workspace.client.licensewizard; +import org.ourproject.kune.platf.client.dto.LicenseDTO; + +import com.calclab.suco.client.listener.Listener; + public interface LicenseWizard { - void show(); + void start(Listener<LicenseDTO> listener); } Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardPresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardPresenter.java 2008-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardPresenter.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -1,43 +1,51 @@ package org.ourproject.kune.workspace.client.licensewizard; +import java.util.List; + import org.ourproject.kune.platf.client.View; -import org.ourproject.kune.platf.client.rpc.GroupServiceAsync; +import org.ourproject.kune.platf.client.dto.LicenseDTO; +import org.ourproject.kune.platf.client.state.Session; import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardFirstFormView; +import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardFrdFormView; import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardSndFormView; import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardTrdFormView; +import org.ourproject.kune.workspace.client.site.Site; import com.allen_sauer.gwt.log.client.Log; -import com.calclab.suco.client.ioc.Provider; +import com.calclab.suco.client.listener.Listener; import com.calclab.suco.client.listener.Listener0; public class LicenseWizardPresenter implements LicenseWizard { private LicenseWizardView view; - private final LicenseWizardFirstFormView firstForm; + private final LicenseWizardFirstFormView fstForm; private final LicenseWizardSndFormView sndForm; - private final Provider<GroupServiceAsync> groupService; private final LicenseWizardTrdFormView trdForm; + private final LicenseWizardFrdFormView frdForm; + private final Session session; + private Listener<LicenseDTO> selectLicenseListener; public LicenseWizardPresenter(LicenseWizardFirstFormView firstForm, LicenseWizardSndFormView sndForm, - LicenseWizardTrdFormView trdForm, Provider<GroupServiceAsync> groupService) { - this.firstForm = firstForm; + LicenseWizardTrdFormView trdForm, LicenseWizardFrdFormView frdForm, Session session) { + this.fstForm = firstForm; this.sndForm = sndForm; this.trdForm = trdForm; - this.groupService = groupService; + this.frdForm = frdForm; + this.session = session; } public View getView() { return view; } - public void init(LicenseWizardView view) { + public void init(final LicenseWizardView view) { this.view = view; - firstForm.onCopyLeftLicenseSelected(new Listener0() { + fstForm.onCopyLeftLicenseSelected(new Listener0() { public void onEvent() { onCopyLeftLicenseSelected(); } }); - firstForm.onAnotherLicenseSelected(new Listener0() { + fstForm.onAnotherLicenseSelected(new Listener0() { public void onEvent() { onAnotherLicenseSelecterd(); } @@ -47,16 +55,26 @@ onCreativeCommonsChanged(); } }); - view.add(firstForm); + frdForm.onChange(new Listener0() { + public void onEvent() { + if (frdForm.getSelectedLicense().length() > 0) { + view.setEnabled(true, false, true, true); + } + } + }); + view.add(fstForm); view.add(sndForm); view.add(trdForm); + view.add(frdForm); } public void onBack() { if (view.isCurrentPage(sndForm)) { showFst(); - } else if (view.isCurrentPage(trdForm)) { + } else if (in(trdForm)) { showSnd(); + } else if (in(frdForm)) { + showSnd(); } else { Log.error("Programatic error in LicenseWizardPresenter"); } @@ -67,8 +85,24 @@ } public void onChange() { - // What license? - // FIXME RPC call() + String licenseShortName; + if (in(fstForm)) { + licenseShortName = "by-sa"; + } else if (in(trdForm)) { + if (trdForm.isAllowComercial()) { + licenseShortName = trdForm.isAllowModif() ? "by" : trdForm.isAllowModifShareAlike() ? "by-sa" : "by-nd"; + } else { + licenseShortName = trdForm.isAllowModif() ? "by-nc" : trdForm.isAllowModifShareAlike() ? "by-nc-sa" + : "by-nc-nd"; + } + } else if (in(sndForm)) { + licenseShortName = "by-sa"; + Site.error("Programatic error in LicenseWizardPresenter"); + } else { + licenseShortName = frdForm.getSelectedLicense(); + } + view.hide(); + selectLicenseListener.onEvent(getLicenseFromShortName(licenseShortName)); } public void onClose() { @@ -76,17 +110,22 @@ } public void onNext() { - if (view.isCurrentPage(firstForm)) { + if (in(fstForm)) { view.clear(); showSnd(); - } else if (view.isCurrentPage(sndForm)) { - showTrd(); + } else if (in(sndForm)) { + if (sndForm.isCommonLicensesSelected()) { + showTrd(); + } else { + showFrd(); + } } else { Log.error("Programatic error in LicenseWizardPresenter"); } } - public void show() { + public void start(Listener<LicenseDTO> selectLicenseListener) { + this.selectLicenseListener = selectLicenseListener; reset(); view.show(); view.center(); @@ -100,6 +139,22 @@ view.setEnabled(false, false, true, true); } + private LicenseDTO getLicenseFromShortName(final String shortName) { + List<LicenseDTO> licenses = session.getLicenses(); + for (int i = 0; i < licenses.size(); i++) { + final LicenseDTO licenseDTO = licenses.get(i); + if (licenseDTO.getShortName().equals(shortName)) { + return licenseDTO; + } + } + Log.error("Internal error: License not found"); + throw new IndexOutOfBoundsException("License not found"); + } + + private boolean in(View page) { + return view.isCurrentPage(page); + } + private void onCreativeCommonsChanged() { boolean isCopyleft = trdForm.isAllowComercial() && trdForm.isAllowModifShareAlike(); boolean isAppropiateForCulturalWorks = trdForm.isAllowComercial() @@ -110,15 +165,21 @@ private void reset() { view.clear(); view.setEnabled(false, false, true, true); - view.show(firstForm); - firstForm.reset(); + view.show(fstForm); + fstForm.reset(); sndForm.reset(); trdForm.reset(); + frdForm.reset(); } + private void showFrd() { + view.show(frdForm); + view.setEnabled(true, false, true, false); + } + private void showFst() { view.clear(); - view.show(firstForm); + view.show(fstForm); view.setEnabled(false, true, true, true); } Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardFirstForm.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardFirstForm.java 2008-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardFirstForm.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -40,8 +40,8 @@ fieldSet.setWidth(250); copyleftRadio = DefaultFormUtils.createRadio(fieldSet, i18n.t("Use a copyleft license (recommended)"), RADIO_FIELD_NAME, null, RADIO_COPYLEFT_ID); - anotherLicenseRadio = DefaultFormUtils.createRadio(fieldSet, - i18n.t("Use another kind of license (advanced)"), RADIO_FIELD_NAME, null, RADIO_ANOTHER_ID); + anotherLicenseRadio = DefaultFormUtils.createRadio(fieldSet, i18n.t("Use another kind of license (advanced)"), + RADIO_FIELD_NAME, null, RADIO_ANOTHER_ID); copyleftRadio.addListener(new CheckboxListenerAdapter() { @Override public void onCheck(Checkbox field, boolean checked) { @@ -71,13 +71,12 @@ recommendCopyleft.setHtml(POINT + i18n.t("We recommend [%s] licenses, specially for practical works", TextUtils.generateHtmlLink( "http://en.wikipedia.org/wiki/Copyleft", i18n.t("copyleft"))) + DefaultFormUtils.br()); - // FIXME whyALicense.setHtml(POINT + TextUtils.generateHtmlLink("http://mirrors.creativecommons.org/getcreative/", i18n.t("Why do we need a license?")) + DefaultFormUtils.br()); - youCanChangeTheLicenseLater.setHtml(POINT - + i18n.t("You can change this license later") + DefaultFormUtils.br()); + youCanChangeTheLicenseLater.setHtml(POINT + i18n.t("You can change this license later") + DefaultFormUtils.br()); + infoFS.addStyleName("kune-Margin-20-t"); add(intro); add(copyleftRadio); add(anotherLicenseRadio); Added: trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardFrdForm.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardFrdForm.java 2008-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardFrdForm.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -0,0 +1,110 @@ +package org.ourproject.kune.workspace.client.licensewizard.pages; + +import java.util.ArrayList; +import java.util.List; + +import org.ourproject.kune.platf.client.dto.LicenseDTO; +import org.ourproject.kune.platf.client.services.I18nTranslationService; +import org.ourproject.kune.platf.client.state.Session; +import org.ourproject.kune.platf.client.ui.dialogs.DefaultForm; +import org.ourproject.kune.platf.client.ui.dialogs.DefaultFormUtils; +import org.ourproject.kune.workspace.client.licensewizard.LicenseWizardView; + +import com.calclab.suco.client.listener.Event0; +import com.calclab.suco.client.listener.Listener0; +import com.gwtext.client.core.Template; +import com.gwtext.client.data.Record; +import com.gwtext.client.data.SimpleStore; +import com.gwtext.client.data.Store; +import com.gwtext.client.widgets.form.ComboBox; +import com.gwtext.client.widgets.form.Label; +import com.gwtext.client.widgets.form.event.ComboBoxListenerAdapter; + +public class LicenseWizardFrdForm extends DefaultForm implements LicenseWizardFrdFormView { + public static final String COMMON_LICENSES_ID = "k-lwsf-common"; + public static final String OTHER_LICENSES_ID = "k-lwsf-other"; + public static final String RADIO_FIELD_NAME = "k-lwsf-radio"; + private final ComboBox cb; + private final Event0 onChange; + private final Session session; + + public LicenseWizardFrdForm(I18nTranslationService i18n, Session session) { + this.session = session; + this.onChange = new Event0("onChange"); + setFrame(true); + super.setPaddings(10); + super.setHeight(LicenseWizardView.HEIGHT); + + Label intro = new Label(); + intro.setHtml(i18n.t("Select other kind of licenses:") + DefaultFormUtils.brbr()); + + final Store store = new SimpleStore(new String[] { "shortname", "longname", "url" }, getNonCCLicenses()); + store.load(); + + final Template template = new Template("<div class=\"x-combo-list-item\">" + "<img src=\"{url}\"> " + + "{longname}<div class=\"x-clear\"></div></div>"); + + super.setHideLabels(true); + + cb = new ComboBox(); + cb.setMinChars(1); + // cb.setFieldLabel("Other licenses"); + cb.setLabelSeparator(""); + cb.setStore(store); + cb.setDisplayField("longname"); + cb.setValueField("shortname"); + cb.setMode(ComboBox.LOCAL); + cb.setTriggerAction(ComboBox.ALL); + cb.setEmptyText(i18n.t("Select license")); + cb.setTypeAhead(true); + cb.setSelectOnFocus(true); + cb.setEditable(false); + cb.setWidth(300); + cb.setResizable(true); + cb.setTpl(template); + cb.setTitle("Licenses"); + cb.addListener(new ComboBoxListenerAdapter() { + @Override + public void onSelect(ComboBox comboBox, Record record, int index) { + onChange.fire(); + } + }); + add(intro); + add(cb); + } + + public String getSelectedLicense() { + return cb.getValueAsString(); + } + + public void onChange(final Listener0 slot) { + onChange.add(slot); + } + + @Override + public void reset() { + super.reset(); + } + + public void setFlags(boolean isCopyleft, boolean isAppropiateForCulturalWorks, boolean isNonComercial) { + // TODO Auto-generated method stub + } + + private String[][] getNonCCLicenses() { + ArrayList<LicenseDTO> licensesNonCCList = new ArrayList<LicenseDTO>(); + List<LicenseDTO> licenses = session.getLicenses(); + for (LicenseDTO license : licenses) { + if (!license.isCC()) { + licensesNonCCList.add(license); + } + } + String[][] licensesArray = new String[licensesNonCCList.size()][3]; + for (int i = 0; i < licensesNonCCList.size(); i++) { + LicenseDTO license = licensesNonCCList.get(i); + licensesArray[i][0] = license.getShortName(); + licensesArray[i][1] = license.getLongName(); + licensesArray[i][2] = license.getImageUrl(); + } + return licensesArray; + } +} Added: trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardFrdFormView.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardFrdFormView.java 2008-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardFrdFormView.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -0,0 +1,16 @@ +package org.ourproject.kune.workspace.client.licensewizard.pages; + +import org.ourproject.kune.platf.client.View; + +import com.calclab.suco.client.listener.Listener0; + +public interface LicenseWizardFrdFormView extends View { + + String getSelectedLicense(); + + void onChange(Listener0 slot); + + void reset(); + + void setFlags(boolean isCopyleft, boolean isAppropiateForCulturalWorks, boolean isNonComercial); +} Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardSndForm.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardSndForm.java 2008-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardSndForm.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -5,26 +5,18 @@ import org.ourproject.kune.platf.client.ui.dialogs.DefaultFormUtils; import org.ourproject.kune.workspace.client.licensewizard.LicenseWizardView; -import com.calclab.suco.client.listener.Event0; -import com.calclab.suco.client.listener.Listener0; -import com.gwtext.client.widgets.form.Checkbox; import com.gwtext.client.widgets.form.FieldSet; import com.gwtext.client.widgets.form.Label; import com.gwtext.client.widgets.form.Radio; -import com.gwtext.client.widgets.form.event.CheckboxListenerAdapter; public class LicenseWizardSndForm extends DefaultForm implements LicenseWizardSndFormView { public static final String COMMON_LICENSES_ID = "k-lwsf-common"; public static final String OTHER_LICENSES_ID = "k-lwsf-other"; public static final String RADIO_FIELD_NAME = "k-lwsf-radio"; - private final Event0 onCommonLicensesSelected; - private final Event0 onOtherLicensesSelected; private final Radio commonLicensesRadio; private final Radio otherLicensesRadio; public LicenseWizardSndForm(I18nTranslationService i18n) { - this.onCommonLicensesSelected = new Event0("onCommonLicensesSelected"); - this.onOtherLicensesSelected = new Event0("onOtherLicensesSelected"); setFrame(true); super.setPaddings(10); super.setHeight(LicenseWizardView.HEIGHT); @@ -35,39 +27,21 @@ final FieldSet fieldSet = new FieldSet("license type"); fieldSet.setStyle("margin-left: 105px"); fieldSet.setWidth(250); - commonLicensesRadio = DefaultFormUtils.createRadio(fieldSet, i18n.t("Common licenses for cultural works"), RADIO_FIELD_NAME, - i18n.t("Select a Creative Commons license (recommended for cultural works)"), COMMON_LICENSES_ID); - otherLicensesRadio = DefaultFormUtils.createRadio( - fieldSet, - i18n.t("Other kind of licenses"), - RADIO_FIELD_NAME, + commonLicensesRadio = DefaultFormUtils.createRadio(fieldSet, i18n.t("Common licenses for cultural works"), + RADIO_FIELD_NAME, i18n.t("Select a Creative Commons license (recommended for cultural works)"), + COMMON_LICENSES_ID); + otherLicensesRadio = DefaultFormUtils.createRadio(fieldSet, i18n.t("Other kind of licenses"), RADIO_FIELD_NAME, i18n.t("Use the GNU licenses (recommended for free software works) and other kind of licenses"), OTHER_LICENSES_ID); - commonLicensesRadio.addListener(new CheckboxListenerAdapter() { - @Override - public void onCheck(Checkbox field, boolean checked) { - onCommonLicensesSelected.fire(); - } - }); - otherLicensesRadio.addListener(new CheckboxListenerAdapter() { - @Override - public void onCheck(Checkbox field, boolean checked) { - onOtherLicensesSelected.fire(); - } - }); add(intro); add(commonLicensesRadio); add(otherLicensesRadio); } - public void onCommonLicensesSelected(final Listener0 slot) { - onCommonLicensesSelected.add(slot); + public boolean isCommonLicensesSelected() { + return commonLicensesRadio.getValue(); } - public void onOtherLicensesSelected(final Listener0 slot) { - onOtherLicensesSelected.add(slot); - } - @Override public void reset() { super.reset(); Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardSndFormView.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardSndFormView.java 2008-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardSndFormView.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -2,12 +2,9 @@ import org.ourproject.kune.platf.client.View; -import com.calclab.suco.client.listener.Listener0; - public interface LicenseWizardSndFormView extends View { - void onCommonLicensesSelected(Listener0 slot); - void onOtherLicensesSelected(Listener0 slot); + boolean isCommonLicensesSelected(); void reset(); } 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-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPanel.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -21,36 +21,40 @@ import org.ourproject.kune.platf.client.dto.LicenseDTO; import org.ourproject.kune.platf.client.services.Images; -import org.ourproject.kune.platf.client.ui.TextUtils; +import org.ourproject.kune.platf.client.ui.KuneUiUtils; +import org.ourproject.kune.platf.client.ui.WindowUtils; +import org.ourproject.kune.platf.client.ui.dialogs.BasicDialogExtended; import org.ourproject.kune.platf.client.ui.dialogs.DefaultFormUtils; import org.ourproject.kune.platf.client.ui.dialogs.MessageToolbar; -import org.ourproject.kune.platf.client.ui.dialogs.WizardDialog; -import org.ourproject.kune.platf.client.ui.dialogs.WizardListener; import org.ourproject.kune.workspace.client.WorkspaceMessages; import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService; -import org.ourproject.kune.workspace.client.licensechoose.LicenseChoose; -import org.ourproject.kune.workspace.client.licensechoose.LicenseChoosePanel; +import org.ourproject.kune.workspace.client.licensewizard.LicenseWizard; -import com.allen_sauer.gwt.log.client.Log; import com.calclab.suco.client.ioc.Provider; -import com.google.gwt.user.client.ui.DeckPanel; -import com.google.gwt.user.client.ui.HTML; -import com.google.gwt.user.client.ui.HorizontalPanel; -import com.google.gwt.user.client.ui.Label; -import com.google.gwt.user.client.ui.VerticalPanel; +import com.calclab.suco.client.listener.Listener; +import com.calclab.suco.client.listener.Listener0; +import com.google.gwt.user.client.ui.ClickListener; +import com.google.gwt.user.client.ui.Image; import com.google.gwt.user.client.ui.Widget; +import com.gwtext.client.core.EventObject; import com.gwtext.client.core.Position; +import com.gwtext.client.widgets.Button; +import com.gwtext.client.widgets.PaddedPanel; import com.gwtext.client.widgets.Panel; import com.gwtext.client.widgets.ToolTip; +import com.gwtext.client.widgets.event.ButtonListenerAdapter; import com.gwtext.client.widgets.form.Field; import com.gwtext.client.widgets.form.FieldSet; import com.gwtext.client.widgets.form.FormPanel; +import com.gwtext.client.widgets.form.Label; import com.gwtext.client.widgets.form.Radio; import com.gwtext.client.widgets.form.TextArea; import com.gwtext.client.widgets.form.TextField; -import com.gwtext.client.widgets.layout.FitLayout; +import com.gwtext.client.widgets.layout.HorizontalLayout; -public class NewGroupPanel extends WizardDialog implements NewGroupView { +public class NewGroupPanel extends BasicDialogExtended implements NewGroupView { + private static final String MARGIN_LEFT_105PX = "margin-left: 105px"; + private static final int LABEL_WIDTH = 100; public static final String SHORTNAME_FIELD = "k-ngp-short_name"; public static final String LONGNAME_FIELD = "k-ngp-long_name"; public static final String PUBLICDESC_FIELD = "k-ngp-public_desc"; @@ -60,15 +64,12 @@ public static final String COMM_GROUP_TYPE_ID = "k-ngp-type_of_group_comm"; public static final String TAGS_FIELD = "k-ngp-tags"; public static final String NEWGROUP_WIZARD = "k-ngp-wiz"; + public static final String REGISTER_BUTTON = "k-ngp-finish-bt"; public static final String CANCEL_BUTTON = "k-ngp-cancel-bt"; - public static final String CLOSE_BUTTON = "k-ngp-close-bt"; - public static final String FINISH_BUTTON = "k-ngp-finish-bt"; - public static final String NEXT_BUTTON = "k-ngp-next-bt"; - public static final String BACK_BUTTON = "k-ngp-back-bt"; public static final String ERROR_MSG_BAR = "k-ngp-error-mb"; private static final int BIG_FIELD_WIDTH = 280; - private final FormPanel newGroupInitialDataForm; + private final FormPanel form; private Radio projectRadio; private Radio orgRadio; private Radio communityRadio; @@ -76,99 +77,43 @@ private TextField shortNameField; private TextField longNameField; private TextArea publicDescField; - private final DeckPanel deck; - private final LicenseChoose licenseChoosePanel; - private final I18nUITranslationService i18n; private TextField tags; private final MessageToolbar messageErrorBar; + private final Provider<LicenseWizard> licenseWizard; + private final I18nUITranslationService i18n; + private Image licenseImage; + private LicenseDTO license; public NewGroupPanel(final NewGroupPresenter presenter, final I18nUITranslationService i18n, - final Provider<LicenseChoose> licenseChooseProvider, Images img) { - super(NEWGROUP_WIZARD, i18n.t(WorkspaceMessages.REGISTER_A_NEW_GROUP_TITLE), true, false, 460, 430, - new WizardListener() { - public void onBack() { - presenter.onBack(); - } - - public void onCancel() { + final Provider<LicenseWizard> licenseWizard, Images img) { + super(NEWGROUP_WIZARD, WorkspaceMessages.REGISTER_A_NEW_GROUP_TITLE, true, true, 450, 430, "k-newgroup-icon", + i18n.t("Cancel"), CANCEL_BUTTON, i18n.t("Register"), REGISTER_BUTTON, new Listener0() { + public void onEvent() { presenter.onCancel(); } - - public void onClose() { - Log.info("close pressed"); - presenter.onClose(); + }, new Listener0() { + public void onEvent() { + presenter.onRegister(); } - - public void onFinish() { - presenter.onFinish(); - } - - public void onNext() { - presenter.onNext(); - } - }, i18n, BACK_BUTTON, NEXT_BUTTON, FINISH_BUTTON, CANCEL_BUTTON, CLOSE_BUTTON); + }, 0); this.i18n = i18n; + this.licenseWizard = licenseWizard; Field.setMsgTarget("side"); - final Panel centerPanel = new Panel(); - centerPanel.setPaddings(10); - centerPanel.setLayout(new FitLayout()); - deck = new DeckPanel(); - newGroupInitialDataForm = createNewGroupInitialDataForm(presenter); - licenseChoosePanel = licenseChooseProvider.get(); - final VerticalPanel newGroupInitialDataVP = new VerticalPanel(); - final HorizontalPanel newGroupInitialDataHP = new HorizontalPanel(); - final VerticalPanel chooseLicenseVP = new VerticalPanel(); - final HorizontalPanel chooseLicenseHP = new HorizontalPanel(); - newGroupInitialDataHP.add(img.step1().createImage()); - final Label step1Label = new Label( - i18n.t("Please fill this form and follow the next steps to register a new group:")); - newGroupInitialDataHP.add(step1Label); - 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.", TextUtils.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); - chooseLicenseVP.add(licenseTypeLabel); + form = createNewGroupInitialDataForm(presenter); - newGroupInitialDataHP.addStyleName("kune-Margin-Medium-b"); - step1Label.addStyleName("kune-Margin-Large-l"); - step2Label.addStyleName("kune-Margin-Large-l"); - step1Label.addStyleName("kune-Margin-Medium-b"); - step2Label.addStyleName("kune-Margin-Medium-b"); - messageErrorBar = new MessageToolbar(img, ERROR_MSG_BAR); super.setBottomToolbar(messageErrorBar.getToolbar()); - chooseLicenseVP.add((Widget) licenseChoosePanel.getView()); - deck.add(newGroupInitialDataVP); - deck.add(chooseLicenseVP); - centerPanel.add(deck); - super.add(centerPanel); - deck.showWidget(0); - initBottomButtons(); - // newGroupInitialDataVP.addStyleName("kune-Default-Form"); - deck.addStyleName("kune-Default-Form"); - licenseTypeLabel.addStyleName("kune-License-CC-Header"); - newGroupInitialDataVP.setHeight("10"); // Ext set this to 100% ... - chooseLicenseVP.setHeight("10"); // (same here) - super.setFinishText(i18n.t("Register")); + super.add(form); } public void clearData() { - deck.showWidget(0); - newGroupInitialDataForm.getForm().reset(); - ((LicenseChoosePanel) licenseChoosePanel.getView()).reset(); - showNewGroupInitialDataForm(); - initBottomButtons(); + form.getForm().reset(); shortNameField.focus(false); } public LicenseDTO getLicense() { - return licenseChoosePanel.getLicense(); + return license; } public String getLongName() { @@ -196,7 +141,7 @@ } public boolean isFormValid() { - return newGroupInitialDataForm.getForm().isValid(); + return form.getForm().isValid(); } public boolean isOrganization() { @@ -207,26 +152,34 @@ return projectRadio.getValue(); } - public void setMessage(final String message, final SiteErrorType type) { - messageErrorBar.setErrorMessage(message, type); + public void maskProcessing() { + mask(i18n.t("Processing")); } - public void showLicenseForm() { - deck.showWidget(1); + public void setLicense(LicenseDTO license) { + this.license = license; + licenseImage.setUrl(license.getImageUrl()); + KuneUiUtils.setQuickTip(licenseImage, license.getLongName()); } - public void showNewGroupInitialDataForm() { - deck.showWidget(0); + public void setMessage(final String message, final SiteErrorType type) { + messageErrorBar.setErrorMessage(message, type); } private FormPanel createNewGroupInitialDataForm(final NewGroupPresenter presenter) { final FormPanel form = new FormPanel(); + form.setFrame(true); + form.setPaddings(10); form.setBorder(false); form.setWidth(420); - form.setLabelWidth(100); + form.setLabelWidth(LABEL_WIDTH); form.setLabelAlign(Position.RIGHT); form.setButtonAlign(Position.RIGHT); + final Label intro = new Label(); + intro.setHtml(i18n.t("Please fill this form to register a new group:") + DefaultFormUtils.brbr()); + form.add(intro); + shortNameField = new TextField(); shortNameField.setTabIndex(1); shortNameField.setFieldLabel(i18n.t("Short name")); @@ -277,9 +230,49 @@ tags.setValidationDelay(1000); form.add(tags); + licenseImage = new Image("images/lic/bysa80x15.png"); + licenseImage.addClickListener(new ClickListener() { + public void onClick(Widget arg0) { + WindowUtils.open(license.getUrl()); + } + }); + licenseImage.addStyleName("kune-pointer"); + Panel licenseImagePanel = new Panel(); + // licenseImagePanel.setLayout(new FitLayout()); + // licenseImagePanel.setWidth(80); + licenseImagePanel.add(licenseImage); + + Button changeLicenseButton = new Button(i18n.t("Change")); + changeLicenseButton.addListener(new ButtonListenerAdapter() { + @Override + public void onClick(Button button, EventObject e) { + licenseWizard.get().start(new Listener<LicenseDTO>() { + public void onEvent(LicenseDTO license) { + setLicense(license); + } + }); + } + }); + changeLicenseButton.addClass("kune-Margin-Medium-trbl"); + + Label licenseLabel = new Label(); + licenseLabel.setHtml(i18n.t("Default license for this group:") + DefaultFormUtils.br()); + form.add(licenseLabel); + licenseLabel.setStyle(MARGIN_LEFT_105PX); + + Panel licPanel = new Panel(); + licPanel.setBorder(false); + licPanel.setLayout(new HorizontalLayout(5)); + licPanel.add(licenseImagePanel); + licPanel.add(changeLicenseButton); + form.add(new PaddedPanel(licPanel, 0, 105, 0, 0)); + final FieldSet groupTypeFieldSet = new FieldSet(i18n.t("Group type")); - groupTypeFieldSet.setStyle("margin-left: 105px"); + groupTypeFieldSet.setStyle(MARGIN_LEFT_105PX); groupTypeFieldSet.setWidth(BIG_FIELD_WIDTH); + groupTypeFieldSet.setFrame(false); + groupTypeFieldSet.setCollapsible(false); + groupTypeFieldSet.setAutoHeight(true); form.add(groupTypeFieldSet); @@ -303,14 +296,6 @@ + "They rarely are a legal entity."), COMM_GROUP_TYPE_ID); communityRadio.setTabIndex(7); - groupTypeFieldSet.setCollapsible(false); - return form; } - - private void initBottomButtons() { - super.setEnabledBackButton(false); - super.setEnabledFinishButton(false); - super.setEnabledNextButton(true); - } } 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-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPresenter.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -69,6 +69,7 @@ Site.showProgressProcessing(); view.show(); view.center(); + view.setLicense(session.getDefLicense()); Site.hideProgress(); } else { stateManager.restorePreviousToken(); @@ -86,13 +87,6 @@ this.view = view; } - public void onBack() { - view.setEnabledBackButton(false); - view.setEnabledFinishButton(false); - view.setEnabledNextButton(true); - view.showNewGroupInitialDataForm(); - } - public void onCancel() { view.hide(); reset(); @@ -106,50 +100,41 @@ reset(); } - public void onFinish() { - view.maskProcessing(); - final String shortName = view.getShortName(); - final String longName = view.getLongName(); - final String publicDesc = view.getPublicDesc(); - final LicenseDTO license = view.getLicense(); - final GroupDTO group = new GroupDTO(shortName, longName, getTypeOfGroup()); - group.setDefaultLicense(license); + public void onRegister() { + if (view.isFormValid()) { + view.maskProcessing(); + final String shortName = view.getShortName(); + final String longName = view.getLongName(); + final String publicDesc = view.getPublicDesc(); + final LicenseDTO license = view.getLicense(); + final GroupDTO group = new GroupDTO(shortName, longName, getTypeOfGroup()); + group.setDefaultLicense(license); - final AsyncCallback<StateToken> callback = new AsyncCallback<StateToken>() { - public void onFailure(final Throwable caught) { - try { - throw caught; - } catch (final GroupNameInUseException e) { - onBack(); - view.unMask(); - setMessage(i18n.t(WorkspaceMessages.NAME_IN_ALREADY_IN_USE), SiteErrorType.error); - } catch (final Throwable e) { - onBack(); // The messageP is in first page of wizard :-/ - view.unMask(); - setMessage(i18n.t("Error creating group"), SiteErrorType.error); - GWT.log("Other kind of exception in group registration", null); - throw new RuntimeException(); + final AsyncCallback<StateToken> callback = new AsyncCallback<StateToken>() { + public void onFailure(final Throwable caught) { + try { + throw caught; + } catch (final GroupNameInUseException e) { + view.unMask(); + setMessage(i18n.t(WorkspaceMessages.NAME_IN_ALREADY_IN_USE), SiteErrorType.error); + } catch (final Throwable e) { + view.unMask(); + setMessage(i18n.t("Error creating group"), SiteErrorType.error); + GWT.log("Other kind of exception in group registration", null); + throw new RuntimeException(); + } } - } - public void onSuccess(final StateToken token) { - mustGoToPrevious = false; - view.hide(); - stateManager.gotoToken(token); - reset(); - view.unMask(); - } - }; - groupServiceProvider.get().createNewGroup(session.getUserHash(), group, publicDesc, view.getTags(), null, - callback); - } - - public void onNext() { - if (view.isFormValid()) { - view.setEnabledBackButton(true); - view.setEnabledFinishButton(true); - view.setEnabledNextButton(false); - view.showLicenseForm(); + public void onSuccess(final StateToken token) { + mustGoToPrevious = false; + view.hide(); + stateManager.gotoToken(token); + reset(); + view.unMask(); + } + }; + groupServiceProvider.get().createNewGroup(session.getUserHash(), group, publicDesc, view.getTags(), null, + callback); } } Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupView.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupView.java 2008-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupView.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -52,20 +52,12 @@ void maskProcessing(); - void setEnabledBackButton(boolean enabled); + void setLicense(LicenseDTO license); - void setEnabledFinishButton(boolean enabled); - - void setEnabledNextButton(boolean enabled); - void setMessage(String message, SiteErrorType type); void show(); - void showLicenseForm(); - - void showNewGroupInitialDataForm(); - void unMask(); } Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/license/EntityOptionsDefLicensePanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/options/license/EntityOptionsDefLicensePanel.java 2008-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/license/EntityOptionsDefLicensePanel.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -3,7 +3,6 @@ import org.ourproject.kune.platf.client.dto.LicenseDTO; import org.ourproject.kune.platf.client.services.I18nTranslationService; import org.ourproject.kune.platf.client.ui.KuneUiUtils; -import org.ourproject.kune.platf.client.ui.WindowUtils; import org.ourproject.kune.platf.client.ui.dialogs.DefaultForm; import org.ourproject.kune.platf.client.ui.dialogs.DefaultFormUtils; import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton; @@ -58,7 +57,7 @@ } public void openWindow(final String url) { - WindowUtils.open(url); + } public void setLicense(LicenseDTO defaultLicense) { Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/license/EntityOptionsDefLicensePresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/options/license/EntityOptionsDefLicensePresenter.java 2008-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/license/EntityOptionsDefLicensePresenter.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -4,10 +4,13 @@ import org.ourproject.kune.platf.client.dto.LicenseDTO; import org.ourproject.kune.platf.client.state.Session; import org.ourproject.kune.platf.client.state.StateManager; +import org.ourproject.kune.workspace.client.licensewizard.LicenseChangeAction; import org.ourproject.kune.workspace.client.licensewizard.LicenseWizard; import org.ourproject.kune.workspace.client.options.EntityOptions; import com.calclab.suco.client.ioc.Provider; +import com.calclab.suco.client.listener.Listener; +import com.calclab.suco.client.listener.Listener0; import com.calclab.suco.client.listener.Listener2; public class EntityOptionsDefLicensePresenter implements EntityOptionsDefLicense { @@ -16,12 +19,14 @@ private final EntityOptions entityOptions; private final Session session; private final Provider<LicenseWizard> licenseWizard; + private final Provider<LicenseChangeAction> licenseChangeAction; public EntityOptionsDefLicensePresenter(EntityOptions entityOptions, StateManager stateManager, Session session, - Provider<LicenseWizard> licenseWizard) { + Provider<LicenseWizard> licenseWizard, Provider<LicenseChangeAction> licenseChangeAction) { this.entityOptions = entityOptions; this.session = session; this.licenseWizard = licenseWizard; + this.licenseChangeAction = licenseChangeAction; stateManager.onGroupChanged(new Listener2<String, String>() { public void onEvent(String group1, String group2) { setState(); @@ -40,7 +45,15 @@ } public void onChange() { - licenseWizard.get().show(); + licenseWizard.get().start(new Listener<LicenseDTO>() { + public void onEvent(final LicenseDTO license) { + licenseChangeAction.get().changeLicense(license, new Listener0() { + public void onEvent() { + setLicense(license); + } + }); + } + }); } public void onLicenseClick() { @@ -51,7 +64,11 @@ return session.getCurrentState().getGroup().getDefaultLicense(); } + private void setLicense(LicenseDTO license) { + view.setLicense(license); + } + private void setState() { - view.setLicense(getCurrentDefLicense()); + setLicense(getCurrentDefLicense()); } } Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInAbstractPanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInAbstractPanel.java 2008-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInAbstractPanel.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -53,10 +53,6 @@ messageErrorBar.hideErrorMessage(); } - public void mask(final String message) { - getEl().mask(message, "x-mask-loading"); - } - public void maskProcessing() { mask(i18n.t("Processing")); } @@ -72,8 +68,4 @@ public void setErrorMessage(final String message, final SiteErrorType type) { messageErrorBar.setErrorMessage(message, type); } - - public void unMask() { - getEl().unmask(); - } } Modified: trunk/src/main/resources/kune.properties =================================================================== --- trunk/src/main/resources/kune.properties 2008-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/main/resources/kune.properties 2008-12-20 22:06:41 UTC (rev 1005) @@ -4,7 +4,6 @@ kune.default.site.shortName = site kune.site.domain = localhost -# Site default password kune.default.license = by-sa # Superuser of a kune installation (is member of site group) Modified: trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/KuneSeleniumTestHelper.java =================================================================== --- trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/KuneSeleniumTestHelper.java 2008-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/KuneSeleniumTestHelper.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -100,8 +100,7 @@ GroupType organization = GroupType.ORGANIZATION; signInAndNewGroup(); fillNewGroup1stPage(shortname, longName, description, tags, organization); - click(NewGroupPanel.NEXT_BUTTON); - click(NewGroupPanel.FINISH_BUTTON); + click(NewGroupPanel.REGISTER_BUTTON); } protected void open(SiteToken token) { Modified: trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/NewGroupSeleniumTest.java =================================================================== --- trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/NewGroupSeleniumTest.java 2008-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/NewGroupSeleniumTest.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -37,8 +37,7 @@ signInAndNewGroup(); fillNewGroup1stPage("admin", "some long name" + genPrefix(), "some public description", "tag1 tag2 tag3", GroupType.ORGANIZATION); - click(NewGroupPanel.NEXT_BUTTON); - click(NewGroupPanel.FINISH_BUTTON); + click(NewGroupPanel.REGISTER_BUTTON); waitForTextInside(gid(NewGroupPanel.ERROR_MSG_BAR), WorkspaceMessages.NAME_IN_ALREADY_IN_USE); } Modified: trunk/src/test/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardPresenterTest.java =================================================================== --- trunk/src/test/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardPresenterTest.java 2008-12-20 21:22:52 UTC (rev 1004) +++ trunk/src/test/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardPresenterTest.java 2008-12-20 22:06:41 UTC (rev 1005) @@ -5,6 +5,7 @@ import org.mockito.Mockito; import org.ourproject.kune.platf.client.rpc.GroupServiceAsync; import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardFirstFormView; +import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardFrdFormView; import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardSndFormView; import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardTrdFormView; @@ -18,6 +19,7 @@ private LicenseWizardSndFormView sndForm; private Provider<GroupServiceAsync> groupService; private LicenseWizardTrdFormView trdForm; + private LicenseWizardFrdFormView frdForm; @Before public void before() { @@ -25,8 +27,9 @@ firstForm = Mockito.mock(LicenseWizardFirstFormView.class); sndForm = Mockito.mock(LicenseWizardSndFormView.class); trdForm = Mockito.mock(LicenseWizardTrdFormView.class); + frdForm = Mockito.mock(LicenseWizardFrdFormView.class); groupService = MockProvider.mock(GroupServiceAsync.class); - licenseWizard = new LicenseWizardPresenter(firstForm, sndForm, trdForm, groupService); + licenseWizard = new LicenseWizardPresenter(firstForm, sndForm, trdForm, frdForm, null); licenseWizard.init(view); } @@ -50,7 +53,7 @@ @Test public void onShowResetWidget() { - licenseWizard.show(); + licenseWizard.start(null); Mockito.verify(view).clear(); Mockito.verify(view).center(); Mockito.verify(view).setEnabled(false, false, true, true);
participants (1)
-
vjrj