[kune-commits] r999 - in trunk/src: main/java/org/ourproject/kune/app/public/css main/java/org/ourproject/kune/platf/client/services main/java/org/ourproject/kune/platf/client/ui main/java/org/ourproject/kune/platf/client/ui/dialogs main/java/org/ourproject/kune/workspace/client/licensewizard main/java/org/ourproject/kune/workspace/client/licensewizard/pages main/java/org/ourproject/kune/workspace/client/newgroup main/java/org/ourproject/kune/workspace/client/options/license test/java/org/ourproject/kune/workspace/client/licensewizard

vjrj vjrj at ourproject.org
Thu Dec 18 19:31:42 CET 2008


Author: vjrj
Date: 2008-12-18 19:31:33 +0100 (Thu, 18 Dec 2008)
New Revision: 999

Added:
   trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardFlags.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardTrdForm.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardTrdFormView.java
Modified:
   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/services/KuneWorkspaceModule.java
   trunk/src/main/java/org/ourproject/kune/platf/client/ui/IconLabel.java
   trunk/src/main/java/org/ourproject/kune/platf/client/ui/WindowUtils.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/DefaultFormUtils.java
   trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/WizardDialog.java
   trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/WizardDialogView.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardPresenter.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardView.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/newgroup/NewGroupPanel.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/options/license/EntityOptionsDefLicenseView.java
   trunk/src/test/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardPresenterTest.java
Log:
Incomplete - task New License Wizard 


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-18 02:46:10 UTC (rev 998)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/all.css	2008-12-18 18:31:33 UTC (rev 999)
@@ -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;color:gray;}.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;}.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

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-18 02:46:10 UTC (rev 998)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css	2008-12-18 18:31:33 UTC (rev 999)
@@ -709,9 +709,14 @@
 
 .k-textunderline {
     text-decoration: underline;
-    color: gray;
 }
 
+.k-info-links {
+    text-decoration: underline;
+    color:gray;
+    cursor: pointer;
+}
+
 .x-tool-kmenu {
     background-position: 0 -75px;
 }

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-18 02:46:10 UTC (rev 998)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java	2008-12-18 18:31:33 UTC (rev 999)
@@ -56,6 +56,8 @@
 import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardFirstFormView;
 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;
+import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardTrdFormView;
 import org.ourproject.kune.workspace.client.nohomepage.NoHomePage;
 import org.ourproject.kune.workspace.client.nohomepage.NoHomePagePanel;
 import org.ourproject.kune.workspace.client.nohomepage.NoHomePagePresenter;
@@ -496,7 +498,7 @@
             public LicenseWizard create() {
                 final LicenseWizardPresenter presenter = new LicenseWizardPresenter(
                         $(LicenseWizardFirstFormView.class), $(LicenseWizardSndFormView.class),
-                        $$(GroupServiceAsync.class));
+                        $(LicenseWizardTrdFormView.class), $$(GroupServiceAsync.class));
                 final LicenseWizardPanel panel = new LicenseWizardPanel(presenter, $(WorkspaceSkeleton.class),
                         $(I18nTranslationService.class));
                 presenter.init(panel);
@@ -517,5 +519,12 @@
                 return new LicenseWizardSndForm($(I18nTranslationService.class));
             }
         });
+
+        register(Singleton.class, new Factory<LicenseWizardTrdFormView>(LicenseWizardTrdFormView.class) {
+            @Override
+            public LicenseWizardTrdFormView create() {
+                return new LicenseWizardTrdForm($(Images.class), $(I18nTranslationService.class));
+            }
+        });
     }
 }

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/IconLabel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/IconLabel.java	2008-12-18 02:46:10 UTC (rev 998)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/IconLabel.java	2008-12-18 18:31:33 UTC (rev 999)
@@ -163,6 +163,10 @@
         mouseWheelListeners.add(listener);
     }
 
+    public void setStyleNameToText(final String styleName) {
+        DOM.setElementProperty(textLabel.<com.google.gwt.user.client.Element> cast(), "className", styleName);
+    }
+
     public HorizontalAlignmentConstant getHorizontalAlignment() {
         return horzAlign;
     }

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/WindowUtils.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/WindowUtils.java	2008-12-18 02:46:10 UTC (rev 998)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/WindowUtils.java	2008-12-18 18:31:33 UTC (rev 999)
@@ -1,4 +1,3 @@
-
 /*
  * Copyright 2006 Robert Hanson <iamroberthanson AT gmail.com>
  *
@@ -15,6 +14,8 @@
  * limitations under the License.
  */package org.ourproject.kune.platf.client.ui;
 
+import com.google.gwt.user.client.Window;
+
 public class WindowUtils {
     public static Location getLocation() {
         Location result = new Location();
@@ -29,36 +30,40 @@
         return result;
     }
 
-    private static native String getQueryString() /*-{
-                                   return $wnd.location.search;
-                               }-*/;
+    public static void open(String url) {
+        Window.open(url, "_blank", "");
+    }
 
-    private static native String getProtocol() /*-{
-                                   return $wnd.location.protocol;
-                               }-*/;
+    private static native String getHash() /*-{
+                                      return $wnd.location.hash;
+                                  }-*/;
 
-    private static native String getPort() /*-{
-                                   return $wnd.location.port;
-                               }-*/;
+    private static native String getHost() /*-{
+                                      return $wnd.location.host;
+                                  }-*/;
 
-    private static native String getPath() /*-{
-                                   return $wnd.location.pathname;
-                               }-*/;
+    private static native String getHostName() /*-{
+                                      return $wnd.location.hostname;
+                                  }-*/;
 
     private static native String getHref() /*-{
-                                   return $wnd.location.href;
-                               }-*/;
+                                      return $wnd.location.href;
+                                  }-*/;
 
-    private static native String getHostName() /*-{
-                                   return $wnd.location.hostname;
-                               }-*/;
+    private static native String getPath() /*-{
+                                      return $wnd.location.pathname;
+                                  }-*/;
 
-    private static native String getHost() /*-{
-                                   return $wnd.location.host;
-                               }-*/;
+    private static native String getPort() /*-{
+                                      return $wnd.location.port;
+                                  }-*/;
 
-    private static native String getHash() /*-{
-                                   return $wnd.location.hash;
-                               }-*/;
+    private static native String getProtocol() /*-{
+                                      return $wnd.location.protocol;
+                                  }-*/;
 
+    private static native String getQueryString() /*-{
+                                      return $wnd.location.search;
+                                  }-*/;
+
 }
\ No newline at end of file

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-18 02:46:10 UTC (rev 998)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/DefaultForm.java	2008-12-18 18:31:33 UTC (rev 999)
@@ -105,10 +105,18 @@
         form.setAutoWidth(autoWidth);
     }
 
+    public void setFrame(boolean frame) {
+        form.setFrame(frame);
+    }
+
     public void setHeight(int height) {
         form.setHeight(height);
     }
 
+    public void setPaddings(int padding) {
+        form.setPaddings(padding);
+    }
+
     public void setWidth(int width) {
         form.setWidth(width);
     }

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/DefaultFormUtils.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/DefaultFormUtils.java	2008-12-18 02:46:10 UTC (rev 998)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/DefaultFormUtils.java	2008-12-18 18:31:33 UTC (rev 999)
@@ -16,10 +16,10 @@
         return "<br/><br/>";
     }
 
-    public static Radio createRadio(final FieldSet fieldSet, final String radioLabel, final String radioTip,
-            final String id) {
+    public static Radio createRadio(final FieldSet fieldSet, final String radioLabel, final String radioFieldName,
+            final String radioTip, final String id) {
         Radio radio = new Radio();
-        radio.setName("k-def-radio-field");
+        radio.setName(radioFieldName);
         radio.setAutoCreate(true);
         radio.setHideLabel(true);
         radio.setId(id);

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-18 02:46:10 UTC (rev 998)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/WizardDialog.java	2008-12-18 18:31:33 UTC (rev 999)
@@ -21,8 +21,9 @@
 
 import org.ourproject.kune.platf.client.View;
 import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.workspace.client.site.Site;
 
-import com.allen_sauer.gwt.log.client.Log;
+import com.google.gwt.user.client.ui.DeckPanel;
 import com.google.gwt.user.client.ui.Widget;
 import com.gwtext.client.core.EventObject;
 import com.gwtext.client.widgets.Button;
@@ -31,6 +32,7 @@
 import com.gwtext.client.widgets.Toolbar;
 import com.gwtext.client.widgets.event.ButtonListenerAdapter;
 import com.gwtext.client.widgets.event.WindowListenerAdapter;
+import com.gwtext.client.widgets.layout.FitLayout;
 
 public class WizardDialog implements WizardDialogView {
 
@@ -40,6 +42,8 @@
     private final Button finishButton;
     private final I18nTranslationService i18n;
     private final Button nextButton;
+    private final DeckPanel deck;
+    private final Panel mainPanel;
 
     public WizardDialog(String dialogId, final String caption, final boolean modal, final boolean minimizable,
             final int width, final int height, final int minWidth, final int minHeight, final String backId,
@@ -96,6 +100,10 @@
                 listener.onClose();
             }
         });
+        mainPanel = new Panel();
+        mainPanel.setLayout(new FitLayout());
+        deck = new DeckPanel();
+        mainPanel.add(deck);
     }
 
     public WizardDialog(String dialogId, final String caption, final boolean modal, final boolean minimizable,
@@ -106,15 +114,7 @@
     }
 
     public void add(View view) {
-        if (view instanceof Widget) {
-            dialog.add((Widget) view);
-        } else if (view instanceof Panel) {
-            dialog.add((Panel) view);
-        } else if (view instanceof DefaultForm) {
-            dialog.add(((DefaultForm) view).getFormPanel());
-        } else {
-            Log.error("Trying to add a unknown element in WizardDialog");
-        }
+        deck.add(toWidget(view));
         doLayoutIfNeeded();
     }
 
@@ -135,6 +135,15 @@
         dialog.hide();
     }
 
+    public boolean isCurrentPage(View view) {
+        int visibleWidgetIndex = deck.getVisibleWidget();
+        if (visibleWidgetIndex == -1) {
+            return false;
+        } else {
+            return deck.getWidget(visibleWidgetIndex).equals(toWidget(view));
+        }
+    }
+
     public void mask(final String message) {
         dialog.getEl().mask(message, "x-mask-loading");
     }
@@ -144,7 +153,10 @@
     }
 
     public void remove(View view) {
-        dialog.remove((Widget) view);
+        int count = getWidgetCount(view);
+        if (count != -1) {
+            deck.remove(count);
+        }
     }
 
     public void setBottomToolbar(Toolbar toolbar) {
@@ -225,6 +237,18 @@
         dialog.show();
     }
 
+    public void show(View view) {
+        int count = getWidgetCount(view);
+        if (count != -1) {
+            deck.showWidget(count);
+            dialog.add(mainPanel);
+            doLayoutIfNeeded();
+        } else {
+            Site.error("Widget not found in deck of WizardDialog");
+        }
+
+    }
+
     public void unMask() {
         dialog.getEl().unmask();
     }
@@ -232,6 +256,28 @@
     private void doLayoutIfNeeded() {
         if (dialog.isRendered()) {
             dialog.doLayout();
+            mainPanel.syncSize();
+            mainPanel.doLayout();
         }
     }
+
+    private int getWidgetCount(View view) {
+        if (view instanceof Widget) {
+            return deck.getWidgetIndex((Widget) view);
+        } else if (view instanceof DefaultForm) {
+            return deck.getWidgetIndex(((DefaultForm) view).getFormPanel());
+        }
+        return -1;
+    }
+
+    private Widget toWidget(View view) {
+        if (view instanceof Widget) {
+            return (Widget) view;
+        } else if (view instanceof DefaultForm) {
+            return ((DefaultForm) view).getFormPanel();
+        } else {
+            Site.error("Trying to add a unknown element in WizardDialog");
+            return null;
+        }
+    }
 }

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/WizardDialogView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/WizardDialogView.java	2008-12-18 02:46:10 UTC (rev 998)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/WizardDialogView.java	2008-12-18 18:31:33 UTC (rev 999)
@@ -12,6 +12,8 @@
 
     void hide();
 
+    boolean isCurrentPage(View view);
+
     void mask(final String message);
 
     void maskProcessing();
@@ -42,6 +44,8 @@
 
     void show();
 
+    void show(View view);
+
     void unMask();
 
 }

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardPanel.java	2008-12-18 02:46:10 UTC (rev 998)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardPanel.java	2008-12-18 18:31:33 UTC (rev 999)
@@ -16,8 +16,8 @@
 
     public LicenseWizardPanel(final LicenseWizardPresenter presenter, final WorkspaceSkeleton ws,
             I18nTranslationService i18n) {
-        super(LIC_WIZ_DIALOG, i18n.t("License wizard"), true, false, 400, 300, 400, 300, BACK_BTN_ID, NEXT_BTN_ID,
-                FINISH_BTN_ID, CANCEL_BTN_ID, CLOSE_BTN_ID, i18n, new WizardListener() {
+        super(LIC_WIZ_DIALOG, i18n.t("License wizard"), true, false, WIDTH, HEIGHT, WIDTH, HEIGHT, BACK_BTN_ID,
+                NEXT_BTN_ID, FINISH_BTN_ID, CANCEL_BTN_ID, CLOSE_BTN_ID, i18n, new WizardListener() {
                     public void onBack() {
                         presenter.onBack();
                     }
@@ -38,8 +38,7 @@
                         presenter.onNext();
                     }
                 });
-        super.setFinishText(i18n.t("Change"));
+        super.setFinishText(i18n.t("Select"));
         super.setIconCls("k-deflicense-icon");
-
     }
 }

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-18 02:46:10 UTC (rev 998)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardPresenter.java	2008-12-18 18:31:33 UTC (rev 999)
@@ -4,7 +4,9 @@
 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.LicenseWizardSndFormView;
+import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardTrdFormView;
 
+import com.allen_sauer.gwt.log.client.Log;
 import com.calclab.suco.client.ioc.Provider;
 import com.calclab.suco.client.listener.Listener0;
 
@@ -14,11 +16,13 @@
     private final LicenseWizardFirstFormView firstForm;
     private final LicenseWizardSndFormView sndForm;
     private final Provider<GroupServiceAsync> groupService;
+    private final LicenseWizardTrdFormView trdForm;
 
     public LicenseWizardPresenter(LicenseWizardFirstFormView firstForm, LicenseWizardSndFormView sndForm,
-            Provider<GroupServiceAsync> groupService) {
+            LicenseWizardTrdFormView trdForm, Provider<GroupServiceAsync> groupService) {
         this.firstForm = firstForm;
         this.sndForm = sndForm;
+        this.trdForm = trdForm;
         this.groupService = groupService;
     }
 
@@ -38,12 +42,24 @@
                 onAnotherLicenseSelecterd();
             }
         });
+        trdForm.onChange(new Listener0() {
+            public void onEvent() {
+                onCreativeCommonsChanged();
+            }
+        });
+        view.add(firstForm);
+        view.add(sndForm);
+        view.add(trdForm);
     }
 
     public void onBack() {
-        view.clear();
-        view.add(firstForm);
-        view.setEnabled(false, true, true, true);
+        if (view.isCurrentPage(sndForm)) {
+            showFst();
+        } else if (view.isCurrentPage(trdForm)) {
+            showSnd();
+        } else {
+            Log.error("Programatic error in LicenseWizardPresenter");
+        }
     }
 
     public void onCancel() {
@@ -60,9 +76,14 @@
     }
 
     public void onNext() {
-        view.clear();
-        view.add(sndForm);
-        view.setEnabled(true, false, true, true);
+        if (view.isCurrentPage(firstForm)) {
+            view.clear();
+            showSnd();
+        } else if (view.isCurrentPage(sndForm)) {
+            showTrd();
+        } else {
+            Log.error("Programatic error in LicenseWizardPresenter");
+        }
     }
 
     public void show() {
@@ -79,10 +100,35 @@
         view.setEnabled(false, false, true, true);
     }
 
+    private void onCreativeCommonsChanged() {
+        boolean isCopyleft = trdForm.isAllowComercial() && trdForm.isAllowModifShareAlike();
+        boolean isAppropiateForCulturalWorks = trdForm.isAllowComercial()
+                && (trdForm.isAllowModif() || trdForm.isAllowModifShareAlike());
+        trdForm.setFlags(isCopyleft, isAppropiateForCulturalWorks, !trdForm.isAllowComercial());
+    }
+
     private void reset() {
         view.clear();
         view.setEnabled(false, false, true, true);
-        view.add(firstForm);
+        view.show(firstForm);
         firstForm.reset();
+        sndForm.reset();
+        trdForm.reset();
     }
+
+    private void showFst() {
+        view.clear();
+        view.show(firstForm);
+        view.setEnabled(false, true, true, true);
+    }
+
+    private void showSnd() {
+        view.show(sndForm);
+        view.setEnabled(true, true, true, false);
+    }
+
+    private void showTrd() {
+        view.show(trdForm);
+        view.setEnabled(true, false, true, true);
+    }
 }

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardView.java	2008-12-18 02:46:10 UTC (rev 998)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardView.java	2008-12-18 18:31:33 UTC (rev 999)
@@ -3,4 +3,7 @@
 import org.ourproject.kune.platf.client.ui.dialogs.WizardDialogView;
 
 public interface LicenseWizardView extends WizardDialogView {
+
+    int WIDTH = 400;
+    int HEIGHT = 450;
 }

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-18 02:46:10 UTC (rev 998)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardFirstForm.java	2008-12-18 18:31:33 UTC (rev 999)
@@ -4,6 +4,7 @@
 import org.ourproject.kune.platf.client.ui.TextUtils;
 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;
@@ -17,6 +18,7 @@
     private static final String POINT = "»&nbsp;";
     public static final String RADIO_COPYLEFT_ID = "k-lwff-copyleft";
     public static final String RADIO_ANOTHER_ID = "k-lwff-another";
+    private static final String RADIO_FIELD_NAME = "k-lwff-radio";
     private final Event0 onCopyLeftLicenseSelected;
     private final Event0 onAnotherLicenseSelected;
     private final Radio copyleftRadio;
@@ -25,18 +27,21 @@
     public LicenseWizardFirstForm(I18nTranslationService i18n) {
         this.onCopyLeftLicenseSelected = new Event0("onCopyLeftLicenseSelected");
         this.onAnotherLicenseSelected = new Event0("onAnotherLicenseSelected");
+        super.setFrame(true);
+        super.setPaddings(10);
+        super.setHeight(LicenseWizardView.HEIGHT);
 
         Label intro = new Label();
         intro.setHtml(i18n.t("Select a license to share your group contents with other people:")
                 + DefaultFormUtils.brbr());
 
-        final FieldSet fieldSet = new FieldSet(i18n.t("Group type"));
+        final FieldSet fieldSet = new FieldSet("license recommended");
         fieldSet.setStyle("margin-left: 105px");
         fieldSet.setWidth(250);
-        copyleftRadio = DefaultFormUtils.createRadio(fieldSet, i18n.t("Use a copyleft license (recommended)."), null,
-                RADIO_COPYLEFT_ID);
+        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 use)."), null, RADIO_ANOTHER_ID);
+                i18n.t("Use another kind of license (advanced use)."), RADIO_FIELD_NAME, null, RADIO_ANOTHER_ID);
         copyleftRadio.addListener(new CheckboxListenerAdapter() {
             @Override
             public void onCheck(Checkbox field, boolean checked) {
@@ -67,8 +72,9 @@
                 + 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("FIXME", i18n.t("Do we need a license?"))
-                + DefaultFormUtils.br());
+        whyALicense.setHtml(POINT
+                + TextUtils.generateHtmlLink("http://mirrors.creativecommons.org/getcreative/",
+                        i18n.t("Do we need a license?")) + DefaultFormUtils.br());
         youCanChangeTheLicenseLater.setHtml(POINT
                 + i18n.t("You can change this license later or select a per content license.") + DefaultFormUtils.br());
 

Added: trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardFlags.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardFlags.java	2008-12-18 02:46:10 UTC (rev 998)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardFlags.java	2008-12-18 18:31:33 UTC (rev 999)
@@ -0,0 +1,69 @@
+package org.ourproject.kune.workspace.client.licensewizard.pages;
+
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.services.Images;
+import org.ourproject.kune.platf.client.ui.IconLabel;
+import org.ourproject.kune.platf.client.ui.WindowUtils;
+
+import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.user.client.ui.Widget;
+import com.gwtext.client.widgets.Panel;
+
+public class LicenseWizardFlags extends Panel {
+    private final IconLabel copyleft;
+    private final IconLabel nonCopyleft;
+    private final IconLabel culturalWorks;
+    private final IconLabel nonCulturalWorks;
+    private final IconLabel nonCommercialReasons;
+
+    public LicenseWizardFlags(Images images, I18nTranslationService i18n) {
+        copyleft = new IconLabel(images.copyleft(), i18n.t("This is a copyleft license."));
+        nonCopyleft = new IconLabel(images.noCopyleft(), i18n.t("This is not a copyleft license."));
+        culturalWorks = new IconLabel(images.info(), i18n.t("This is appropriate for free cultural works."));
+        nonCulturalWorks = new IconLabel(images.alert(), i18n.t("This is not appropriate for free cultural works."));
+        nonCommercialReasons = new IconLabel(images.alert(), i18n.t("Reasons not to use a non commercial license."));
+        addLink(copyleft, "http://en.wikipedia.org/wiki/Copyleft");
+        addLink(nonCopyleft, "http://en.wikipedia.org/wiki/Copyleft");
+        addLink(culturalWorks, "http://freedomdefined.org/");
+        addLink(nonCulturalWorks, "http://freedomdefined.org/");
+        addLink(nonCommercialReasons, "http://freedomdefined.org/Licenses/NC");
+        add(copyleft);
+        add(nonCopyleft);
+        add(culturalWorks);
+        add(nonCulturalWorks);
+        add(nonCommercialReasons);
+    }
+
+    public void setCopyleft(boolean isCopyleft) {
+        copyleft.setVisible(isCopyleft);
+        nonCopyleft.setVisible(!isCopyleft);
+    }
+
+    public void setCulturalWorks(boolean isAppropiateForCulturalWorks) {
+        culturalWorks.setVisible(isAppropiateForCulturalWorks);
+        nonCulturalWorks.setVisible(!isAppropiateForCulturalWorks);
+    }
+
+    public void setNonComercial(boolean isNonComercial) {
+        nonCommercialReasons.setVisible(isNonComercial);
+    }
+
+    public void setVisible(boolean isCopyleft, boolean isAppropiateForCulturalWorks, boolean isNonComercial) {
+        setCopyleft(isCopyleft);
+        setCulturalWorks(isAppropiateForCulturalWorks);
+        setNonComercial(isNonComercial);
+    }
+
+    private void addLink(IconLabel label, final String url) {
+        label.addClickListener(new ClickListener() {
+            public void onClick(Widget sender) {
+                openWindow(url);
+            }
+
+            private void openWindow(String url) {
+                WindowUtils.open(url);
+            }
+        });
+        label.setStyleNameToText("k-info-links");
+    }
+}

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-18 02:46:10 UTC (rev 998)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardSndForm.java	2008-12-18 18:31:33 UTC (rev 999)
@@ -3,6 +3,7 @@
 import org.ourproject.kune.platf.client.services.I18nTranslationService;
 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;
@@ -15,6 +16,7 @@
 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;
@@ -23,16 +25,23 @@
     public LicenseWizardSndForm(I18nTranslationService i18n) {
         this.onCommonLicensesSelected = new Event0("onCommonLicensesSelected");
         this.onOtherLicensesSelected = new Event0("onOtherLicensesSelected");
+        setFrame(true);
+        super.setPaddings(10);
+        super.setHeight(LicenseWizardView.HEIGHT);
 
         Label intro = new Label();
         intro.setHtml(i18n.t("Select the type of license:") + DefaultFormUtils.brbr());
 
-        final FieldSet fieldSet = new FieldSet(i18n.t("Group type"));
+        final FieldSet fieldSet = new FieldSet("license type");
         fieldSet.setStyle("margin-left: 105px");
         fieldSet.setWidth(250);
-        commonLicensesRadio = DefaultFormUtils.createRadio(fieldSet, i18n.t("Common licenses"), null,
-                COMMON_LICENSES_ID);
-        otherLicensesRadio = DefaultFormUtils.createRadio(fieldSet, i18n.t("Other kind of licenses"), null,
+        commonLicensesRadio = DefaultFormUtils.createRadio(fieldSet, i18n.t("Common licenses"), 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 other kind of licenses like the FSF licenses (recommended for free software works) and other kind of licenses"),
                 OTHER_LICENSES_ID);
         commonLicensesRadio.addListener(new CheckboxListenerAdapter() {
             @Override

Added: trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardTrdForm.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardTrdForm.java	2008-12-18 02:46:10 UTC (rev 998)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardTrdForm.java	2008-12-18 18:31:33 UTC (rev 999)
@@ -0,0 +1,149 @@
+package org.ourproject.kune.workspace.client.licensewizard.pages;
+
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.services.Images;
+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.widgets.PaddedPanel;
+import com.gwtext.client.widgets.form.Checkbox;
+import com.gwtext.client.widgets.form.Field;
+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 LicenseWizardTrdForm extends DefaultForm implements LicenseWizardTrdFormView {
+    public static final String RADIO_PERMIT_COMMERCIAL_ID = "k-lwtf-perm-comm";
+    public static final String RADIO_NOT_COMM_ID = "k-lwtf-not-perm-comm";
+    public static final String RADIO_COMMERCIAL_FIELD_NAME = "k-lwtf-comm-radio";
+    public static final String RADIO_PERMIT_MOD_ID = "k-lwtf-mod-perm";
+    public static final String RADIO_PERMIT_MOD_SA_ID = "k-lwtf-mod-perm-sa";
+    public static final String RADIO_NOT_PERMIT_MOD_ID = "k-lwtf-not-mod";
+    public static final String RADIO_MODIF_FIELD_NAME = "k-lwtf-mod-radio";
+    private Radio permitComercialRadio;
+    private Radio permitModRadio;
+    private Radio permitModSaRadio;
+    private final LicenseWizardFlags info;
+    private Radio notPermitModRadio;
+    private Radio notPermitComercialLicenseRadio;
+    private final Event0 onChange;
+
+    public LicenseWizardTrdForm(Images images, I18nTranslationService i18n) {
+        super.setFrame(true);
+        super.setHeight(LicenseWizardView.HEIGHT);
+        super.setPaddings(10);
+
+        this.onChange = new Event0("onChange");
+
+        Label intro = new Label();
+        intro.setHtml(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?")
+                + DefaultFormUtils.brbr());
+
+        Label commercialQuestion = new Label();
+        commercialQuestion.setHtml(i18n.t("Allow any uses of your work, including commercial?") + DefaultFormUtils.br());
+        Label modificationsQuestion = new Label();
+        modificationsQuestion.setHtml(i18n.t("Allow modifications of your work?") + DefaultFormUtils.br());
+
+        final FieldSet commercialfieldSet = new FieldSet(i18n.t("Allow any uses of your work, including commercial?"));
+        commercialfieldSet.setFrame(false);
+        commercialfieldSet.setCollapsible(false);
+        commercialfieldSet.setAutoHeight(true);
+        final FieldSet modificationsfieldSet = new FieldSet(i18n.t("Allow modifications of your work?"));
+        modificationsfieldSet.setFrame(false);
+        modificationsfieldSet.setCollapsible(false);
+        modificationsfieldSet.setAutoHeight(true);
+
+        createRadios(i18n, commercialfieldSet, modificationsfieldSet);
+        createRadioListeners();
+
+        info = new LicenseWizardFlags(images, i18n);
+
+        add(intro);
+        add(commercialfieldSet);
+        add(modificationsfieldSet);
+        add(new PaddedPanel(info, 0, 0, 0, 0));
+    }
+
+    public boolean isAllowComercial() {
+        return permitComercialRadio.getValue();
+    }
+
+    public boolean isAllowModif() {
+        return permitModRadio.getValue();
+    }
+
+    public boolean isAllowModifShareAlike() {
+        return permitModSaRadio.getValue();
+    }
+
+    public void onChange(final Listener0 slot) {
+        onChange.add(slot);
+    }
+
+    @Override
+    public void reset() {
+        super.reset();
+        permitComercialRadio.setChecked(true);
+        permitModSaRadio.setChecked(true);
+    }
+
+    public void setFlags(boolean isCopyleft, boolean isAppropiateForCulturalWorks, boolean isNonComercial) {
+        info.setVisible(isCopyleft, isAppropiateForCulturalWorks, isNonComercial);
+    }
+
+    private void createRadioListeners() {
+        Radio[] radios = { permitModRadio, permitModSaRadio, notPermitModRadio, permitComercialRadio,
+                notPermitComercialLicenseRadio };
+        for (Radio radio : radios) {
+            radio.addListener(new CheckboxListenerAdapter() {
+                @Override
+                public void onChange(Field field, Object newVal, Object oldVal) {
+                    onChange.fire();
+                }
+
+                @Override
+                public void onCheck(Checkbox field, boolean checked) {
+                    onChange.fire();
+                }
+            });
+        }
+    }
+
+    private void createRadios(I18nTranslationService i18n, final FieldSet commercialfieldSet,
+            final FieldSet modificationsfieldSet) {
+        permitComercialRadio = DefaultFormUtils.createRadio(
+                commercialfieldSet,
+                i18n.t("Yes"),
+                RADIO_COMMERCIAL_FIELD_NAME,
+                i18n.t("The licensor permits others to copy, distribute, display, and perform the work, including for commercial purposes"),
+                RADIO_PERMIT_COMMERCIAL_ID);
+        notPermitComercialLicenseRadio = DefaultFormUtils.createRadio(
+                commercialfieldSet,
+                i18n.t("No"),
+                RADIO_COMMERCIAL_FIELD_NAME,
+                i18n.t("The licensor permits others to copy, distribute, display, and perform the work for non-commercial purposes only"),
+                RADIO_NOT_COMM_ID);
+        permitModRadio = DefaultFormUtils.createRadio(
+                modificationsfieldSet,
+                i18n.t("Yes"),
+                RADIO_MODIF_FIELD_NAME,
+                i18n.t("The licensor permits others to copy, distribute, display and perform the work, as well as make derivative works based on it"),
+                RADIO_PERMIT_MOD_ID);
+        permitModSaRadio = DefaultFormUtils.createRadio(
+                modificationsfieldSet,
+                i18n.t("Yes, as long as other share alike"),
+                RADIO_MODIF_FIELD_NAME,
+                i18n.t("The licensor permits others to distribute derivative works only under the same license or one compatible with the one that governs the licensor's work"),
+                RADIO_PERMIT_MOD_SA_ID);
+        notPermitModRadio = DefaultFormUtils.createRadio(
+                modificationsfieldSet,
+                i18n.t("No"),
+                RADIO_MODIF_FIELD_NAME,
+                i18n.t("The licensor permits others to copy, distribute, display and perform only unaltered copies of the work — not derivative works based on it"),
+                RADIO_NOT_PERMIT_MOD_ID);
+    }
+}

Added: trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardTrdFormView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardTrdFormView.java	2008-12-18 02:46:10 UTC (rev 998)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardTrdFormView.java	2008-12-18 18:31:33 UTC (rev 999)
@@ -0,0 +1,19 @@
+package org.ourproject.kune.workspace.client.licensewizard.pages;
+
+import org.ourproject.kune.platf.client.View;
+
+import com.calclab.suco.client.listener.Listener0;
+
+public interface LicenseWizardTrdFormView extends View {
+    boolean isAllowComercial();
+
+    boolean isAllowModif();
+
+    boolean isAllowModifShareAlike();
+
+    void onChange(Listener0 slot);
+
+    void reset();
+
+    void setFlags(boolean isCopyleft, boolean isAppropiateForCulturalWorks, boolean isNonComercial);
+}

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-18 02:46:10 UTC (rev 998)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPanel.java	2008-12-18 18:31:33 UTC (rev 999)
@@ -283,7 +283,7 @@
 
         form.add(groupTypeFieldSet);
 
-        projectRadio = DefaultFormUtils.createRadio(groupTypeFieldSet, i18n.t("Project"),
+        projectRadio = DefaultFormUtils.createRadio(groupTypeFieldSet, i18n.t("Project"), TYPEOFGROUP_FIELD,
                 i18n.t("A project is a kind of group in which new members joining "
                         + "is moderated by the project administrators. "
                         + "An administrator is the person who creates the project "
@@ -291,12 +291,12 @@
         projectRadio.setTabIndex(5);
         projectRadio.setChecked(true);
 
-        orgRadio = DefaultFormUtils.createRadio(groupTypeFieldSet, i18n.t("Organization"),
+        orgRadio = DefaultFormUtils.createRadio(groupTypeFieldSet, i18n.t("Organization"), TYPEOFGROUP_FIELD,
                 i18n.t("An organization works as a project, " + "but organizations must be a legal entity."),
                 ORG_GROUP_TYPE_ID);
         orgRadio.setTabIndex(6);
 
-        communityRadio = DefaultFormUtils.createRadio(groupTypeFieldSet, i18n.t("Community"),
+        communityRadio = DefaultFormUtils.createRadio(groupTypeFieldSet, i18n.t("Community"), TYPEOFGROUP_FIELD,
                 i18n.t("Communities are social groups of persons "
                         + "with shared interests, which are open to new members "
                         + "(for instance the environmental community or the LGBT community). "

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-18 02:46:10 UTC (rev 998)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/license/EntityOptionsDefLicensePanel.java	2008-12-18 18:31:33 UTC (rev 999)
@@ -3,12 +3,16 @@
 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;
 
+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;
@@ -24,14 +28,21 @@
         super(i18n.t("License"));
         super.setAutoWidth(true);
         super.setAutoHeight(true);
+        super.getFormPanel().setButtonAlign(Position.LEFT);
         Label intro = new Label();
-        intro.setHtml(i18n.t("This is the default license of all the contents of this group (you can also select another different license per content).")
+        intro.setHtml(i18n.t("This is the default license of all the contents of this group (you can also select another different license per content):")
                 + DefaultFormUtils.brbr());
 
         licenseImage = new Image();
         Panel imagePanel = new Panel();
         imagePanel.setBorder(false);
         imagePanel.add(licenseImage);
+        licenseImage.addClickListener(new ClickListener() {
+            public void onClick(Widget arg0) {
+                presenter.onLicenseClick();
+            }
+        });
+        licenseImage.addStyleName("kune-pointer");
 
         Button change = new Button(i18n.t("Change"));
         change.addListener(new ButtonListenerAdapter() {
@@ -42,10 +53,14 @@
         });
 
         add(intro);
-        add(new PaddedPanel(imagePanel, 0, 110, 0, 5));
+        add(new PaddedPanel(imagePanel, 0, 0, 0, 5));
         addButton(change);
     }
 
+    public void openWindow(final String url) {
+        WindowUtils.open(url);
+    }
+
     public void setLicense(LicenseDTO defaultLicense) {
         licenseImage.setUrl(defaultLicense.getImageUrl());
         KuneUiUtils.setQuickTip(licenseImage, defaultLicense.getLongName());

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-18 02:46:10 UTC (rev 998)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/license/EntityOptionsDefLicensePresenter.java	2008-12-18 18:31:33 UTC (rev 999)
@@ -1,6 +1,7 @@
 package org.ourproject.kune.workspace.client.options.license;
 
 import org.ourproject.kune.platf.client.View;
+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.LicenseWizard;
@@ -42,7 +43,15 @@
         licenseWizard.get().show();
     }
 
+    public void onLicenseClick() {
+        view.openWindow(getCurrentDefLicense().getUrl());
+    }
+
+    private LicenseDTO getCurrentDefLicense() {
+        return session.getCurrentState().getGroup().getDefaultLicense();
+    }
+
     private void setState() {
-        view.setLicense(session.getCurrentState().getGroup().getDefaultLicense());
+        view.setLicense(getCurrentDefLicense());
     }
 }

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/license/EntityOptionsDefLicenseView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/license/EntityOptionsDefLicenseView.java	2008-12-18 02:46:10 UTC (rev 998)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/license/EntityOptionsDefLicenseView.java	2008-12-18 18:31:33 UTC (rev 999)
@@ -5,6 +5,8 @@
 
 public interface EntityOptionsDefLicenseView extends View {
 
+    void openWindow(String url);
+
     void setLicense(LicenseDTO defaultLicense);
 
 }

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-18 02:46:10 UTC (rev 998)
+++ trunk/src/test/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardPresenterTest.java	2008-12-18 18:31:33 UTC (rev 999)
@@ -6,6 +6,7 @@
 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.LicenseWizardSndFormView;
+import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardTrdFormView;
 
 import com.calclab.suco.client.ioc.Provider;
 
@@ -16,14 +17,16 @@
     private LicenseWizardFirstFormView firstForm;
     private LicenseWizardSndFormView sndForm;
     private Provider<GroupServiceAsync> groupService;
+    private LicenseWizardTrdFormView trdForm;
 
     @Before
     public void before() {
         view = Mockito.mock(LicenseWizardView.class);
         firstForm = Mockito.mock(LicenseWizardFirstFormView.class);
         sndForm = Mockito.mock(LicenseWizardSndFormView.class);
+        trdForm = Mockito.mock(LicenseWizardTrdFormView.class);
         groupService = MockProvider.mock(GroupServiceAsync.class);
-        licenseWizard = new LicenseWizardPresenter(firstForm, sndForm, groupService);
+        licenseWizard = new LicenseWizardPresenter(firstForm, sndForm, trdForm, groupService);
         licenseWizard.init(view);
     }
 
@@ -32,10 +35,10 @@
         licenseWizard.onAnotherLicenseSelecterd();
         Mockito.verify(view).setEnabled(false, true, true, false);
         licenseWizard.onNext();
-        Mockito.verify(view).add(sndForm);
+        Mockito.verify(view).show(sndForm);
         Mockito.verify(view).setEnabled(true, false, true, true);
         licenseWizard.onBack();
-        Mockito.verify(view).add(firstForm);
+        Mockito.verify(view).show(firstForm);
         Mockito.verify(view).setEnabled(false, true, true, true);
     }
 
@@ -51,7 +54,7 @@
         Mockito.verify(view).clear();
         Mockito.verify(view).center();
         Mockito.verify(view).setEnabled(false, false, true, true);
-        Mockito.verify(view).add(firstForm);
+        Mockito.verify(view).show(firstForm);
         Mockito.verify(firstForm).reset();
         Mockito.verify(view).show();
     }




More information about the kune-commits mailing list