package com.idega.builder.presentation;
import javax.servlet.http.Cookie;
import com.idega.builder.business.BuilderConstants;
import com.idega.builder.business.BuilderLogic;
import com.idega.idegaweb.IWConstants;
import com.idega.idegaweb.IWResourceBundle;
import com.idega.presentation.IWContext;
import com.idega.presentation.PresentationObject;
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;
/**
* Title: idegaclasses Description: Copyright: Copyright (c) 2001 Company: idega
*
* @author <a href="tryggvi@idega.is">Tryggvi Larusson</a>
* @version 1.0
*/
public class IBDeleteModuleWindow extends IBAdminWindow {
private static final String IC_OBJECT_INSTANCE_ID_PARAMETER = BuilderLogic.IC_OBJECT_INSTANCE_ID_PARAMETER;
private static final String ib_parent_parameter = BuilderLogic.IB_PARENT_PARAMETER;
private static final String ib_page_parameter = BuilderConstants.IB_PAGE_PARAMETER;
private static final String COOKIE_NAME = "not_again";
private static final String IB_DELETE_CONFIRM = "ib_del_confirm";
private static final String IB_DELETE_CLOSE = "ib_del_close";
private static final String IW_BUNDLE_IDENTIFIER = "com.idega.builder";
public IBDeleteModuleWindow() {
setWidth(240);
setHeight(140);
setScrollbar(false);
}
public void main(IWContext iwc) {
if (iwc.isParameterSet(IB_DELETE_CLOSE)) {
close();
}
setTitle("Confirm delete");
String ib_parent_id = iwc.getParameter(ib_parent_parameter);
String ib_page_id = iwc.getParameter(ib_page_parameter);
this.setParentToReload();
String instanceId = iwc.getParameter(IC_OBJECT_INSTANCE_ID_PARAMETER);
// this.addTitle(
//TODO add the name to the link, this will not work for pure UIComponents
// ICObjectBusiness.getInstance().getNewObjectInstance(Integer.parseInt(instanceId)).getBuilderName(iwc),
// IWConstants.BUILDER_FONT_STYLE_TITLE);
boolean doConfirm = !iwc.isParameterSet(IB_DELETE_CONFIRM);
if (iwc.isCookieSet(COOKIE_NAME)) {
doConfirm = false;
}
if (doConfirm) {
add(getConfirmBox(iwc));
}
else {
if (iwc.getParameter("not_again") != null) {
setCookie(iwc);
}
deleteObject(ib_page_id, ib_parent_id, instanceId);
this.close();
}
}
public void deleteObject(String pageKey, String parentID, String instanceId) {
BuilderLogic.getInstance().deleteModule(pageKey, parentID, instanceId);
}
private void setCookie(IWContext iwc) {
Cookie cookie = new Cookie(COOKIE_NAME, "true");
cookie.setMaxAge(42 * 24 * 60 * 60);
cookie.setPath("/");
iwc.addCookies(cookie);
}
public PresentationObject getConfirmBox(IWContext iwc) {
IWResourceBundle iwrb = iwc.getIWMainApplication().getBundle(BuilderLogic.IW_BUNDLE_IDENTIFIER).getResourceBundle(
iwc);
Table t = new Table(1, 3);
t.setCellpadding(6);
t.setAlignment(1, 3, "right");
Form f = new Form();
f.maintainParameter(IC_OBJECT_INSTANCE_ID_PARAMETER);
f.maintainParameter(ib_parent_parameter);
f.maintainParameter(ib_page_parameter);
f.add(t);
t.setWidth("100%");
Text confirmText = new Text("Are you sure you want to delete this module and all its contents?");
confirmText.setFontStyle(IWConstants.BUILDER_FONT_STYLE_LARGE);
t.add(confirmText, 1, 1);
Text notAgainText = new Text("Don't ask again for 42 days");
notAgainText.setFontStyle(IWConstants.BUILDER_FONT_STYLE_SMALL);
SubmitButton button = new SubmitButton(iwrb.getLocalizedImageButton("yes", "Yes"), IBDeleteModuleWindow.IB_DELETE_CONFIRM);
SubmitButton closebutton = new SubmitButton(iwrb.getLocalizedImageButton("cancel", "Cancel"),
IBDeleteModuleWindow.IB_DELETE_CLOSE);
CheckBox notAgain = new CheckBox("not_again", "true");
t.add(closebutton, 1, 3);
t.add(Text.getNonBrakingSpace(), 1, 3);
t.add(button, 1, 3);
t.add(notAgain, 1, 2);
t.add(notAgainText, 1, 2);
return f;
}
public String getBundleIdentifier() {
return IW_BUNDLE_IDENTIFIER;
}
}