/*
* Dataverse Network - A web application to distribute, share and analyze quantitative data.
* Copyright (C) 2007
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program; if not, see http://www.gnu.org/licenses
* or write to the Free Software Foundation,Inc., 51 Franklin Street,
* Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* EditBannerFooterPage.java
*
* Created on October 10, 2006, 10:46 AM
*/
package edu.harvard.iq.dvn.core.web.admin;
import com.icesoft.faces.component.ext.HtmlInputHidden;
import com.icesoft.faces.component.ext.HtmlInputTextarea;
import edu.harvard.iq.dvn.core.vdc.VDC;
import edu.harvard.iq.dvn.core.vdc.VDCNetwork;
import edu.harvard.iq.dvn.core.vdc.VDCNetworkServiceLocal;
import edu.harvard.iq.dvn.core.vdc.VDCServiceLocal;
import edu.harvard.iq.dvn.core.web.common.VDCBaseBean;
import javax.ejb.EJB;
import javax.faces.bean.ViewScoped;
import javax.inject.Inject;
import javax.inject.Named;
/**
* <p>Page bean that corresponds to a similarly named JSP page. This
* class contains component definitions (and initialization code) for
* all components that you have defined on this page, as well as
* lifecycle methods and event handlers where you may add behavior
* to respond to incoming events.</p>
*/
@ViewScoped
@Named("EditBannerFooterPage")
public class EditBannerFooterPage extends VDCBaseBean implements java.io.Serializable {
@EJB VDCServiceLocal vdcService;
@EJB VDCNetworkServiceLocal vdcNetworkService;
public void init() {
super.init();
VDCNetwork vdcNetwork = getVDCRequestBean().getCurrentVdcNetwork();
if (this.getBanner() == null){
setBanner( (getVDCRequestBean().getCurrentVDCId() == null) ? vdcNetwork.getNetworkPageHeader(): getVDCRequestBean().getCurrentVDC().getHeader());
setFooter( (getVDCRequestBean().getCurrentVDCId() == null) ? vdcNetwork.getNetworkPageFooter(): getVDCRequestBean().getCurrentVDC().getFooter());
if (getVDCRequestBean().getCurrentVDCId() != null) {
setDisplayInFrame(getVDCRequestBean().getCurrentVDC().isDisplayInFrame());
setParentSite(getVDCRequestBean().getCurrentVDC().getParentSite());
}
}
combinedTextField.setValue(banner + footer);
}
/**
* <p>Construct a new Page bean instance.</p>
*/
public EditBannerFooterPage() {
}
private String banner;
public String getBanner(){
return banner;
}
public void setBanner(String banner) {
this.banner = banner;
}
private String footer;
public String getFooter() {
return footer;
}
public void setFooter(String footer) {
this.footer = footer;
}
// ACTION METHODS
public String save_action() {
String forwardPage=null;
String message = "";
if (getVDCRequestBean().getCurrentVDCId() == null) {
String retString = "/networkAdmin/NetworkOptionsPage?faces-redirect=true&tab=settings&tab2=customization";
// this is a save against the network
VDCNetwork vdcnetwork = getVDCRequestBean().getVdcNetwork();
vdcnetwork.setNetworkPageHeader(banner);
vdcnetwork.setNetworkPageFooter(footer);
vdcNetworkService.edit(vdcnetwork);
getVDCRequestBean().getVdcNetwork().setNetworkPageHeader(banner);
getVDCRequestBean().getVdcNetwork().setNetworkPageFooter(footer);
forwardPage=retString;
message = "Successfully updated network customization.";
} else {
VDC vdc = vdcService.find(new Long(getVDCRequestBean().getCurrentVDC().getId()));
vdc.setHeader(banner);
vdc.setFooter(footer);
vdc.setDisplayInFrame(displayInFrame);
vdc.setParentSite(parentSite);
vdcService.edit(vdc);
forwardPage="/admin/OptionsPage?faces-redirect=true" + getContextSuffix();
message = "Successfully updated dataverse customization.";
}
getVDCRenderBean().getFlash().put("successMessage",message);
return forwardPage;
}
public String cancel_action(){
if (getVDCRequestBean().getCurrentVDCId() == null) {
setBanner(getVDCRequestBean().getVdcNetwork().getNetworkPageHeader());
setFooter(getVDCRequestBean().getVdcNetwork().getNetworkPageFooter());
return "/networkAdmin/NetworkOptionsPage?faces-redirect=true";
} else {
setBanner(getVDCRequestBean().getCurrentVDC().getHeader());
setFooter(getVDCRequestBean().getCurrentVDC().getFooter());
setDisplayInFrame(getVDCRequestBean().getCurrentVDC().isDisplayInFrame());
setParentSite(getVDCRequestBean().getCurrentVDC().getParentSite());
return "/admin/OptionsPage?faces-redirect=true" + getContextSuffix();
}
}
protected HtmlInputTextarea bannerTextField = new HtmlInputTextarea();
/**
* Get the value of bannerTextField
*
* @return the value of bannerTextField
*/
public HtmlInputTextarea getBannerTextField() {
return bannerTextField;
}
/**
* Set the value of bannerTextField
*
* @param bannerTextField new value of bannerTextField
*/
public void setBannerTextField(HtmlInputTextarea bannerTextField) {
this.bannerTextField = bannerTextField;
}
protected HtmlInputTextarea footerTextField = new HtmlInputTextarea();
/**
* Get the value of footerTextarea
*
* @return the value of footerTextarea
*/
public HtmlInputTextarea getFooterTextField() {
return footerTextField;
}
/**
* Set the value of footerTextarea
*
* @param footerTextarea new value of footerTextarea
*/
public void setFooterTextField(HtmlInputTextarea footerTextField) {
this.footerTextField = footerTextField;
}
protected HtmlInputHidden combinedTextField = new HtmlInputHidden();
/**
* Get the value of inputHidden
*
* @return the value of inputHidden
*/
public HtmlInputHidden getCombinedTextField() {
return combinedTextField;
}
/**
* Set the value of inputHidden
*
* @param inputHidden new value of inputHidden
*/
public void setCombinedTextField(HtmlInputHidden combinedTextField) {
this.combinedTextField = combinedTextField;
}
// these are only valid for a vdc
private boolean displayInFrame;
private String parentSite;
public boolean isDisplayInFrame() {
return displayInFrame;
}
public void setDisplayInFrame(boolean displayInFrame) {
this.displayInFrame = displayInFrame;
}
public String getParentSite() {
return parentSite;
}
public void setParentSite(String parentSite) {
this.parentSite = parentSite;
}
}