Button add = new Button("Add Group", new ClickHandler() {\r
@Override\r
public void onClick(ClickEvent event) {\r
- PermissionsAddDialog dlg = new PermissionsAddDialog(app, app.getAccount().getGroups(), permList, false);\r
- dlg.center();\r
- permList.updatePermissionTable();\r
+ if (app.getAccount().getGroups().isEmpty()) {\r
+ new GroupCreateDialog(app, new Command() {\r
+ \r
+ @Override\r
+ public void execute() {\r
+ if (app.getAccount().getGroups().isEmpty())\r
+ return;\r
+ PermissionsAddDialog dlg = new PermissionsAddDialog(app, app.getAccount().getGroups(), permList, false);\r
+ dlg.center();\r
+ permList.updatePermissionTable();\r
+ }\r
+ }).center();\r
+ }\r
+ else {\r
+ PermissionsAddDialog dlg = new PermissionsAddDialog(app, app.getAccount().getGroups(), permList, false);\r
+ dlg.center();\r
+ permList.updatePermissionTable();\r
+ }\r
}\r
});\r
add.addStyleName("button");\r
*/\r
package gr.grnet.pithos.web.client;\r
\r
+import gr.grnet.pithos.web.client.commands.CreateGroupCommand;\r
import gr.grnet.pithos.web.client.foldertree.File;\r
import gr.grnet.pithos.web.client.foldertree.Folder;\r
import gr.grnet.pithos.web.client.foldertree.Resource;\r
Button add = new Button("Add Group", new ClickHandler() {\r
@Override\r
public void onClick(ClickEvent event) {\r
- PermissionsAddDialog dlg = new PermissionsAddDialog(app, app.getAccount().getGroups(), permList, false);\r
- dlg.center();\r
+ if (app.getAccount().getGroups().isEmpty()) {\r
+ new GroupCreateDialog(app, new Command() {\r
+ \r
+ @Override\r
+ public void execute() {\r
+ if (app.getAccount().getGroups().isEmpty())\r
+ return;\r
+ PermissionsAddDialog dlg = new PermissionsAddDialog(app, app.getAccount().getGroups(), permList, false);\r
+ dlg.center();\r
+ }\r
+ }).center();\r
+ }\r
+ else {\r
+ PermissionsAddDialog dlg = new PermissionsAddDialog(app, app.getAccount().getGroups(), permList, false);\r
+ dlg.center();\r
+ }\r
}\r
});\r
add.addStyleName("button");\r
import com.google.gwt.event.dom.client.ClickHandler;\r
import com.google.gwt.event.dom.client.KeyCodes;\r
import com.google.gwt.event.dom.client.KeyDownEvent;\r
+import com.google.gwt.user.client.Command;\r
import com.google.gwt.user.client.Event.NativePreviewEvent;\r
import com.google.gwt.user.client.ui.Anchor;\r
import com.google.gwt.user.client.ui.Button;\r
\r
protected Pithos app;\r
\r
+ private Command callback;\r
+ \r
/**\r
* The widget that holds the folderName of the folder.\r
*/\r
\r
final VerticalPanel inner;\r
\r
+ public GroupCreateDialog(final Pithos app) {\r
+ this(app, null);\r
+ }\r
+ \r
/**\r
* The widget's constructor.\r
*/\r
- public GroupCreateDialog(final Pithos app) {\r
+ public GroupCreateDialog(final Pithos app, Command callback) {\r
this.app = app;\r
+ this.callback = callback;\r
+ \r
Anchor close = new Anchor();\r
close.addStyleName("close");\r
close.addClickHandler(new ClickHandler() {\r
public void closeDialog() {\r
Pithos.preventIESelection();\r
hide();\r
+ if (callback != null)\r
+ callback.execute();\r
}\r
\r
/**\r
* Generate an RPC request to create a new folder.\r
*/\r
- private void createGroup() {\r
+ void createGroup() {\r
String name = groupName.getText().trim();\r
if (name.length() == 0)\r
return;\r