package org.molgenis.security.freemarker;
import freemarker.core.Environment;
import freemarker.template.TemplateDirectiveBody;
import freemarker.template.TemplateException;
import org.molgenis.security.core.MolgenisPermissionService;
import java.io.IOException;
/**
* Directive that prints the body of the tag if the current user has permission on entity
* <p>
* usage: <@hasPermission entityName='celiacsprue' permission="WRITE">write permission</@hasPermission>
*/
public class HasPermissionDirective extends PermissionDirective
{
public HasPermissionDirective(MolgenisPermissionService molgenisPermissionService)
{
super(molgenisPermissionService);
}
@Override
protected void execute(boolean hasPermission, Environment env, TemplateDirectiveBody body)
throws TemplateException, IOException
{
if (hasPermission)
{
body.render(env.getOut());
}
}
}