1 package org.jahia.deprecated.taglibs.button; 2 3 import javax.servlet.jsp.JspException ; 4 5 import org.jahia.data.JahiaData; 6 import org.jahia.data.fields.JahiaField; 7 import org.jahia.exceptions.JahiaException; 8 import org.jahia.services.usermanager.JahiaUser; 9 import org.jahia.utils.JahiaConsole; 10 11 12 18 public class UpdateFieldButtonTag extends AbstractButtonTag { 19 20 private JahiaField theField = null; 21 22 private String field = ""; 23 private String title = "Update"; 24 private String style = ""; 25 private int pageId = -1; 26 private int pageLevel = -1; 27 28 public void setField(String field) { 29 this.field = field; 30 } 31 32 public void setTitle(String title) { 33 this.title = title; 34 } 35 36 public void setStyle(String style) { 37 this.style = style; 38 } 39 40 public void setPageId(String pageId) { 41 try { 42 this.pageId = Integer.parseInt(pageId); 43 } catch (NumberFormatException nfe) { 44 JahiaConsole.println("UpdateFieldButtonTag: setPageId", "The given page id is not a number"); 45 } 46 } 47 48 public void setPageLevel(String pageLevel) { 49 try { 50 this.pageLevel = Integer.parseInt(pageLevel); 51 } catch (NumberFormatException nfe) { 52 JahiaConsole.println("UpdateFieldButtonTag: setPageLevel", "The given page level is not a number"); 53 } 54 } 55 56 public String getTitle() { 57 return this.title; 58 } 59 60 public String getStyle() { 61 return this.style; 62 } 63 64 public boolean testRights (JahiaData jData) { 65 66 try { 67 if (this.pageId == -1) { 69 if (this.pageLevel != -1) { 71 this.pageId = jData.gui().getLevelID(this.pageLevel); 72 } 73 } 74 if (this.pageId != -1) { 75 this.theField = jData.fields().getAbsoluteField(this.field, this.pageId); 76 } else { 77 this.theField = jData.fields().getField(this.field); 78 } 79 if (this.theField != null) { 80 JahiaUser user = jData.params().getUser(); 81 return this.theField.checkWriteAccess(user) && jData.gui().isEditMode(); 82 } 83 } catch (JahiaException je) { 84 JahiaConsole.println("UpdateFieldButtonTag: testRights ", je.toString()); 85 } 86 return false; 87 } 88 89 public String getLauncher(JahiaData jData) throws JahiaException { 90 return "javascript:" + jData.gui().html().drawUpdateFieldLauncher(this.theField); 92 } 93 94 public int doEndTag() throws JspException { 95 theField = null; 98 99 field = ""; 100 title = "Update"; 101 style = ""; 102 pageId = -1; 103 pageLevel = -1; 104 return EVAL_PAGE; 105 } 106 107 } 108 | Popular Tags |