/*
* $Id: IBDeletePageWindow.java,v 1.20 2004/12/20 08:55:07 tryggvil Exp $
*
* Copyright (C) 2001 Idega hf. All Rights Reserved.
*
* This software is the proprietary information of Idega hf.
* Use is subject to license terms.
*
*/
package com.idega.builder.presentation;
import com.idega.builder.business.BuilderLogic;
import com.idega.builder.business.IBPageHelper;
import com.idega.builder.business.PageTreeNode;
import com.idega.core.builder.data.ICDomain;
import com.idega.idegaweb.IWConstants;
import com.idega.idegaweb.IWResourceBundle;
import com.idega.idegaweb.presentation.IWAdminWindow;
import com.idega.presentation.IWContext;
import com.idega.presentation.Table;
import com.idega.presentation.text.Text;
import com.idega.presentation.ui.CheckBox;
import com.idega.presentation.ui.Form;
import com.idega.presentation.ui.SubmitButton;
/**
* @author <a href="mailto:palli@idega.is">Pall Helgason</a>
* @version 1.0
*/
public class IBDeletePageWindow extends IWAdminWindow
{
private static final String PAGE_NAME_PARAMETER = "ib_page_name";
private static final String PAGE_TYPE = "ib_page_type";
private static final String IW_BUNDLE_IDENTIFIER = "com.idega.builder";
public IBDeletePageWindow()
{
setWidth(240);
setHeight(140);
setScrollbar(false);
}
public void main(IWContext iwc) throws Exception
{
boolean okToDelete = false;
boolean okToDeleteChildren = true;
IWResourceBundle iwrb = iwc.getIWMainApplication().getBundle(BuilderLogic.IW_BUNDLE_IDENTIFIER).getResourceBundle(iwc);
Form form = new Form();
setTitle(iwrb.getLocalizedString("delete_page", "Delete page"));
addTitle(iwrb.getLocalizedString("delete_page", "Delete page"), IWConstants.BUILDER_FONT_STYLE_TITLE);
add(form);
BuilderLogic instance = BuilderLogic.getInstance();
String pageId = instance.getCurrentIBPage(iwc);
boolean submit = iwc.isParameterSet("ok");
boolean quit = iwc.isParameterSet("cancel");
String deleteAll = iwc.getParameter("deletechildren");
ICDomain domain = getBuilderLogic().getCurrentDomain(iwc);
if (submit)
{
if ((deleteAll != null) && (deleteAll.equals("true"))) {
IBPageHelper.getInstance().deletePage(pageId, true, PageTreeNode.getTree(iwc), iwc.getUserId(),domain);
}
else {
IBPageHelper.getInstance().deletePage(pageId, false, PageTreeNode.getTree(iwc), iwc.getUserId(), domain);
}
BuilderLogic.getInstance().setCurrentIBPage(iwc,Integer.toString(domain.getStartPageID()));
/**@todo is this in the right place? -eiki**/
// setOnLoad("window.opener.parent.parent.frames['"+com.idega.builder.app.IBApplication.IB_LEFT_MENU_FRAME+"'].location.reload()");
setOnUnLoad("window.opener.parent.parent.location.reload()");
// setParentToReload();
close();
}
else if (quit)
{
close();
}
okToDelete = IBPageHelper.getInstance().checkDeletePage(pageId, domain);
if (okToDelete)
{
okToDeleteChildren = IBPageHelper.getInstance().checkDeleteChildrenOfPage(pageId);
SubmitButton ok = new SubmitButton(iwrb.getLocalizedImageButton("yes", "Yes"), "ok");
SubmitButton cancel = new SubmitButton(iwrb.getLocalizedImageButton("cancel", "Cancel"), "cancel");
CheckBox deleteChildren = new CheckBox("deletechildren", "true");
deleteChildren.setChecked(false);
Text deleteChildrenText = new Text(iwrb.getLocalizedString("childrentext", "Delete children of page"));
deleteChildrenText.setFontStyle(IWConstants.BUILDER_FONT_STYLE_SMALL);
Text sureText = new Text(iwrb.getLocalizedString("suredelete", "Are you sure you want to delete this page"));
sureText.setFontStyle(IWConstants.BUILDER_FONT_STYLE_LARGE);
Table table = new Table(1, 3);
table.setCellpadding(6);
table.setAlignment(1, 3, "right");
table.add(sureText, 1, 1);
table.add(cancel, 1, 3);
table.add(Text.getNonBrakingSpace(), 1, 3);
table.add(ok, 1, 3);
if (!okToDeleteChildren)
{
deleteChildren.setValue("false");
deleteChildren.setDisabled(true);
}
else
{
deleteChildren.setValue("true");
deleteChildren.setDisabled(false);
}
table.add(deleteChildren, 1, 2);
table.add(deleteChildrenText, 1, 2);
form.add(table);
}
else
{
SubmitButton cancel = new SubmitButton("cancel", iwrb.getLocalizedString("cancel", "Cancel"));
Text notAllowed = new Text(iwrb.getLocalizedString("deleting_not_allowed", "This page (template) is either used by other pages (templates) or is the start page (template) of the domain so you can't delete it."));
notAllowed.setFontStyle(IWConstants.BUILDER_FONT_STYLE_LARGE);
Table table = new Table(1, 2);
table.setCellpadding(6);
table.add(notAllowed, 1, 1);
table.add(cancel, 1, 2);
form.add(table);
}
}
public String getBundleIdentifier()
{
return IW_BUNDLE_IDENTIFIER;
}
protected BuilderLogic getBuilderLogic(){
return BuilderLogic.getInstance();
}
}