package com.idega.block.quote.presentation;
import com.idega.block.quote.business.QuoteBusiness;
import com.idega.block.quote.business.QuoteHolder;
import com.idega.core.localisation.business.ICLocaleBusiness;
import com.idega.idegaweb.IWBundle;
import com.idega.idegaweb.IWResourceBundle;
import com.idega.idegaweb.presentation.IWAdminWindow;
import com.idega.presentation.IWContext;
import com.idega.presentation.ui.CloseButton;
import com.idega.presentation.ui.HiddenInput;
import com.idega.presentation.ui.SubmitButton;
import com.idega.presentation.ui.TextArea;
import com.idega.presentation.ui.TextInput;
public class QuoteEditor extends IWAdminWindow{
private int _quoteID = -1;
private boolean _update = false;
private boolean _save = false;
private int _objectID = -1;
private int _iLocaleID;
private QuoteHolder _quote;
private final static String IW_BUNDLE_IDENTIFIER="com.idega.block.quote";
private IWBundle _iwb;
private IWResourceBundle _iwrb;
public QuoteEditor(){
setWidth(420);
setHeight(270);
setUnMerged();
setMethod("get");
}
public void main(IWContext iwc) throws Exception {
this._iwb = getBundle(iwc);
this._iwrb = getResourceBundle(iwc);
addTitle(this._iwrb.getLocalizedString("quote_admin","Quote Admin"));
this._iLocaleID = ICLocaleBusiness.getLocaleId(iwc.getCurrentLocale());
try {
this._quoteID = Integer.parseInt(iwc.getParameter(QuoteBusiness.PARAMETER_QUOTE_ID));
this._quote = getQuoteBusiness().getQuoteHolder(this._quoteID);
}
catch (NumberFormatException e) {
this._quoteID = -1;
}
this._objectID = Integer.parseInt(iwc.getParameter(QuoteBusiness.PARAMETER_OBJECT_INSTANCE_ID));
String mode = iwc.getParameter(QuoteBusiness.PARAMETER_MODE);
if ( mode.equalsIgnoreCase(QuoteBusiness.PARAMETER_EDIT) ) {
if ( this._quoteID != -1 ) {
this._update = true;
}
processForm();
}
else if ( mode.equalsIgnoreCase(QuoteBusiness.PARAMETER_NEW) ) {
processForm();
}
else if ( mode.equalsIgnoreCase(QuoteBusiness.PARAMETER_DELETE) ) {
deleteQuote(iwc);
}
else if ( mode.equalsIgnoreCase(QuoteBusiness.PARAMETER_SAVE) ) {
saveQuote(iwc);
}
}
private void processForm() {
TextInput quoteOrigin = new TextInput(QuoteBusiness.PARAMETER_QUOTE_ORIGIN);
quoteOrigin.setLength(24);
TextInput quoteAuthor = new TextInput(QuoteBusiness.PARAMETER_QUOTE_AUTHOR);
quoteAuthor.setLength(24);
TextArea quoteText = new TextArea(QuoteBusiness.PARAMETER_QUOTE_TEXT,40,6);
if ( this._update && this._quote != null ) {
if ( this._quote.getOrigin() != null ) {
quoteOrigin.setContent(this._quote.getOrigin());
}
if ( this._quote.getText() != null ) {
quoteText.setContent(this._quote.getText());
}
if ( this._quote.getAuthor() != null ) {
quoteAuthor.setContent(this._quote.getAuthor());
}
}
addLeft(this._iwrb.getLocalizedString("origin","Origin")+":",quoteOrigin,true);
addLeft(this._iwrb.getLocalizedString("quote","Quote")+":",quoteText,true);
addLeft(this._iwrb.getLocalizedString("author","Author")+":",quoteAuthor,true);
addHiddenInput(new HiddenInput(QuoteBusiness.PARAMETER_QUOTE_ID,Integer.toString(this._quoteID)));
addHiddenInput(new HiddenInput(QuoteBusiness.PARAMETER_OBJECT_INSTANCE_ID,Integer.toString(this._objectID)));
addSubmitButton(new CloseButton());
addSubmitButton(new SubmitButton(this._iwrb.getLocalizedImageButton("save","SAVE"),QuoteBusiness.PARAMETER_MODE,QuoteBusiness.PARAMETER_SAVE));
}
private void saveQuote(IWContext iwc) {
String quoteOrigin = iwc.getParameter(QuoteBusiness.PARAMETER_QUOTE_ORIGIN);
String quoteText = iwc.getParameter(QuoteBusiness.PARAMETER_QUOTE_TEXT);
String quoteAuthor = iwc.getParameter(QuoteBusiness.PARAMETER_QUOTE_AUTHOR);
getQuoteBusiness().saveQuote(iwc,this._objectID,this._quoteID,this._iLocaleID,quoteOrigin,quoteText,quoteAuthor);
setParentToReload();
close();
}
private void deleteQuote(IWContext iwc) {
getQuoteBusiness().deleteQuote(iwc,this._objectID,this._quoteID,this._iLocaleID);
setParentToReload();
close();
}
public String getBundleIdentifier(){
return IW_BUNDLE_IDENTIFIER;
}
private QuoteBusiness getQuoteBusiness(){
return QuoteBusiness.getQuoteBusinessInstace();
}
}