KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jahia > deprecated > taglibs > url > IfNotPagePropertiesRightsTag


1 package org.jahia.deprecated.taglibs.url;
2
3 import java.io.IOException JavaDoc;
4
5 import javax.servlet.ServletRequest JavaDoc;
6 import javax.servlet.jsp.JspWriter JavaDoc;
7 import javax.servlet.jsp.tagext.BodyContent JavaDoc;
8 import javax.servlet.jsp.tagext.BodyTagSupport JavaDoc;
9
10 import org.jahia.data.JahiaData;
11 import org.jahia.services.usermanager.JahiaUser;
12 import org.jahia.utils.JahiaConsole;
13
14
15 /**
16  * Class IfNotPagePropertiesRightsTag : displays the body only when the user
17  * can access the properties window of the current page
18  *
19  * @author Jerome Tamiotti
20  */

21 public class IfNotPagePropertiesRightsTag extends BodyTagSupport JavaDoc {
22
23     public int doAfterBody() {
24
25         ServletRequest JavaDoc request = pageContext.getRequest();
26         BodyContent JavaDoc body = getBodyContent();
27         try {
28             JahiaData jData = (JahiaData) request.getAttribute("org.jahia.data.JahiaData");
29             // tests if the 'page properties' button must be displayed
30
JahiaUser user = jData.params().getUser();
31
32             if ( !jData.page().checkWriteAccess(user) ) {
33                 JspWriter JavaDoc out = body.getEnclosingWriter();
34                 out.print(body.getString());
35             }
36             return SKIP_BODY;
37
38         } catch (IOException JavaDoc ioe) {
39             JahiaConsole.println("IfPagePropertiesRightsTag: doAfterBody ", ioe.toString());
40         }
41         return SKIP_BODY;
42     }
43
44 }
45
Popular Tags