enhancements on new sharing policy
git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/user/workspace-tree-widget@91444 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
7bc879acf9
commit
c013b8c4a2
|
@ -168,6 +168,7 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt
|
||||||
|
|
||||||
private boolean selectRootItem;
|
private boolean selectRootItem;
|
||||||
private FileUploader fileUploader;
|
private FileUploader fileUploader;
|
||||||
|
public static String myLogin;
|
||||||
|
|
||||||
public AppControllerExplorer() {
|
public AppControllerExplorer() {
|
||||||
Registry.register(ConstantsExplorer.RPC_WORKSPACE_SERVICE, rpcWorkspaceService);
|
Registry.register(ConstantsExplorer.RPC_WORKSPACE_SERVICE, rpcWorkspaceService);
|
||||||
|
@ -2046,6 +2047,8 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt
|
||||||
|
|
||||||
this.explorerPanel = new ExplorerPanel(true, true);
|
this.explorerPanel = new ExplorerPanel(true, true);
|
||||||
|
|
||||||
|
loadMyLogin();
|
||||||
|
|
||||||
// PollingWorkspace.pollReceivedMessages(-1, 20000); //the parameter -1 force (first) synchronization with HL
|
// PollingWorkspace.pollReceivedMessages(-1, 20000); //the parameter -1 force (first) synchronization with HL
|
||||||
|
|
||||||
// PollingWorkspace.pollBulkCreator(15000);
|
// PollingWorkspace.pollBulkCreator(15000);
|
||||||
|
@ -2066,16 +2069,34 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt
|
||||||
|
|
||||||
this.selectRootItem=selectRootItem;
|
this.selectRootItem=selectRootItem;
|
||||||
|
|
||||||
|
loadMyLogin();
|
||||||
|
|
||||||
// if(instancingMessages)
|
// if(instancingMessages)
|
||||||
// PollingWorkspace.pollReceivedMessages(-1, 20000); //the parameter -1 force (first) synchronization with HL
|
// PollingWorkspace.pollReceivedMessages(-1, 20000); //the parameter -1 force (first) synchronization with HL
|
||||||
|
|
||||||
|
|
||||||
// PollingWorkspace.pollBulkCreator(ConstantsExplorer.TIME_BULK_CREATOR_POLLING);
|
// PollingWorkspace.pollBulkCreator(ConstantsExplorer.TIME_BULK_CREATOR_POLLING);
|
||||||
|
|
||||||
return this.explorerPanel;
|
return this.explorerPanel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void loadMyLogin(){
|
||||||
|
|
||||||
|
rpcWorkspaceService.getMyLogin(new AsyncCallback<String>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailure(Throwable caught) {
|
||||||
|
GWT.log("Error on loading my login is empty");
|
||||||
|
myLogin = "";
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSuccess(String result) {
|
||||||
|
GWT.log("My login is: "+result);
|
||||||
|
myLogin = result;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private void loadItemFromWorkspace(final String itemIdentifier){
|
private void loadItemFromWorkspace(final String itemIdentifier){
|
||||||
|
|
||||||
|
|
|
@ -199,4 +199,6 @@ public interface GWTWorkspaceService extends RemoteService{
|
||||||
void setACLs(String folderId, List<String> listLogins, String aclType)
|
void setACLs(String folderId, List<String> listLogins, String aclType)
|
||||||
throws Exception;
|
throws Exception;
|
||||||
|
|
||||||
|
String getMyLogin();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -177,4 +177,6 @@ public interface GWTWorkspaceServiceAsync {
|
||||||
void setACLs(String folderId, List<String> listLogins, String aclType,
|
void setACLs(String folderId, List<String> listLogins, String aclType,
|
||||||
AsyncCallback<Void> callback);
|
AsyncCallback<Void> callback);
|
||||||
|
|
||||||
|
void getMyLogin(AsyncCallback<String> callback);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,6 +22,7 @@ import com.extjs.gxt.ui.client.widget.LayoutContainer;
|
||||||
import com.extjs.gxt.ui.client.widget.form.TextArea;
|
import com.extjs.gxt.ui.client.widget.form.TextArea;
|
||||||
import com.extjs.gxt.ui.client.widget.form.TextField;
|
import com.extjs.gxt.ui.client.widget.form.TextField;
|
||||||
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
|
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
|
||||||
|
import com.google.gwt.core.shared.GWT;
|
||||||
import com.google.gwt.event.dom.client.ClickEvent;
|
import com.google.gwt.event.dom.client.ClickEvent;
|
||||||
import com.google.gwt.event.dom.client.ClickHandler;
|
import com.google.gwt.event.dom.client.ClickHandler;
|
||||||
import com.google.gwt.event.shared.HandlerManager;
|
import com.google.gwt.event.shared.HandlerManager;
|
||||||
|
@ -171,8 +172,10 @@ public class DialogShareFolder extends Dialog {
|
||||||
public void onSuccess(List<InfoContactModel> result) {
|
public void onSuccess(List<InfoContactModel> result) {
|
||||||
|
|
||||||
for (InfoContactModel infoContactModel : result) {
|
for (InfoContactModel infoContactModel : result) {
|
||||||
listAlreadyShared.add(infoContactModel);
|
if(infoContactModel.getName()!=null){
|
||||||
suggestPanel.addRecipient(infoContactModel.getName(),false);
|
listAlreadyShared.add(infoContactModel);
|
||||||
|
suggestPanel.addRecipient(infoContactModel.getName(),false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
lc.unmask();
|
lc.unmask();
|
||||||
|
@ -190,13 +193,13 @@ public class DialogShareFolder extends Dialog {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFailure(Throwable caught) {
|
public void onFailure(Throwable caught) {
|
||||||
|
txtOwner.setValue("Error on retrieving Owner");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess(InfoContactModel result) {
|
public void onSuccess(InfoContactModel result) {
|
||||||
txtOwner.setValue(result.getName());
|
txtOwner.setValue(result.getName());
|
||||||
|
permissionControl(result.getName(), true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -205,10 +208,34 @@ public class DialogShareFolder extends Dialog {
|
||||||
add(txtOwner);
|
add(txtOwner);
|
||||||
add(lc);
|
add(lc);
|
||||||
addListners();
|
addListners();
|
||||||
|
enableFormDialog(false); //FORM IS DISABLED BY DEFAULT
|
||||||
|
|
||||||
this.show();
|
this.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void permissionControl(String owner, boolean showAlert){
|
||||||
|
GWT.log("Permission control compare between owner: "+owner +" and my login: "+AppControllerExplorer.myLogin);
|
||||||
|
|
||||||
|
if(AppControllerExplorer.myLogin.compareToIgnoreCase(owner)!=0){
|
||||||
|
enableFormDialog(false);
|
||||||
|
if(showAlert)
|
||||||
|
new MessageBoxAlert("Permission denied", "You have no permissions to change sharing. You are not owner of \""+txtName.getValue()+"\"", null);
|
||||||
|
}else{
|
||||||
|
enableFormDialog(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void enableFormDialog(boolean bool){
|
||||||
|
getButtonById(Dialog.OK).setEnabled(bool);
|
||||||
|
buttonMultiDrag.setEnabled(bool);
|
||||||
|
textAreaDescription.setEnabled(bool);
|
||||||
|
if(permission!=null)
|
||||||
|
permission.setEnabled(bool);
|
||||||
|
|
||||||
|
// setEnabled(bool);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public FileModel getParentFolder() {
|
public FileModel getParentFolder() {
|
||||||
return parentFolder;
|
return parentFolder;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2534,4 +2534,10 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
|
||||||
throw new Exception(error);
|
throw new Exception(error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getMyLogin(){
|
||||||
|
ASLSession asl = WsUtil.getAslSession(this.getThreadLocalRequest().getSession());
|
||||||
|
return asl.getUsername();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -103,10 +103,12 @@ public class WsUtil {
|
||||||
}else if(user.compareToIgnoreCase(TEST_USER)==0){
|
}else if(user.compareToIgnoreCase(TEST_USER)==0){
|
||||||
|
|
||||||
withoutPortal = true;
|
withoutPortal = true;
|
||||||
|
|
||||||
|
//COMMENT THIS IN PRODUCTION ENVIROMENT
|
||||||
// }else if(user.compareToIgnoreCase("francesco.mangiacrapa")==0){
|
// }else if(user.compareToIgnoreCase("francesco.mangiacrapa")==0){
|
||||||
//
|
//
|
||||||
// withoutPortal = true;
|
// withoutPortal = true;
|
||||||
|
// //END UNCOMMENT
|
||||||
}else{
|
}else{
|
||||||
|
|
||||||
withoutPortal = false;
|
withoutPortal = false;
|
||||||
|
|
Loading…
Reference in New Issue