added the module configuration data and made use of it in the canInstall
method in the conferencing module
This commit is contained in:
@@ -19,9 +19,13 @@ package com.silverwrist.venice.conf.module;
|
||||
|
||||
import java.security.Principal;
|
||||
import java.util.*;
|
||||
import com.silverwrist.dynamo.Namespaces;
|
||||
import com.silverwrist.dynamo.except.*;
|
||||
import com.silverwrist.dynamo.iface.*;
|
||||
import com.silverwrist.dynamo.module.ModuleConfigurationData;
|
||||
import com.silverwrist.dynamo.security.SecurityReferenceMonitor;
|
||||
import com.silverwrist.dynamo.util.*;
|
||||
import com.silverwrist.venice.VeniceNamespaces;
|
||||
import com.silverwrist.venice.community.CommunityServiceInstall;
|
||||
import com.silverwrist.venice.util.*;
|
||||
import com.silverwrist.venice.conf.ConfNamespaces;
|
||||
@@ -120,8 +124,26 @@ public class ModuleMain implements ModuleFunctions, UseCount
|
||||
|
||||
public boolean canInstall(ServiceProvider services, Principal installer)
|
||||
{
|
||||
return true; // TEMP
|
||||
}
|
||||
try
|
||||
{ // get the module configuration data to get the SRM name, then use that to get the actual SRM, then get
|
||||
// the global ACL, then test permissions
|
||||
ModuleConfigurationData conf_data =
|
||||
(ModuleConfigurationData)(services.queryService(ModuleConfigurationData.class));
|
||||
String srm_name = conf_data.getValue(Namespaces.DYNAMO_OBJECT_NAMESPACE,"security");
|
||||
SecurityReferenceMonitor srm =
|
||||
(SecurityReferenceMonitor)(GetObjectUtils.getDynamoComponent(services,SecurityReferenceMonitor.class,
|
||||
srm_name));
|
||||
DynamoAcl gacl = srm.getGlobalAcl();
|
||||
return gacl.testPermission((DynamoUser)installer,VeniceNamespaces.SYSTEM_PERMS_NAMESPACE,"edit.menus");
|
||||
|
||||
} // end try
|
||||
catch (Exception e)
|
||||
{ // unable to test permission
|
||||
return false;
|
||||
|
||||
} // end catch
|
||||
|
||||
} // end canInstall
|
||||
|
||||
public void install(ModuleSite site, ServiceProvider services, Principal installer, DynamoLog log)
|
||||
throws ModuleException
|
||||
|
||||
Reference in New Issue
Block a user