package org.onehippo.forge.konakart.hst.wizard.checkout.activity;
import com.konakart.bl.ConfigConstants;
import org.apache.commons.lang.StringUtils;
import org.onehippo.forge.konakart.hst.utils.KKActionsConstants;
import org.onehippo.forge.konakart.hst.wizard.ActivityException;
import org.onehippo.forge.konakart.hst.wizard.checkout.CheckoutProcessContext;
import org.onehippo.forge.konakart.hst.wizard.checkout.CheckoutSeedData;
import org.onehippo.forge.konakart.site.service.KKServiceHelper;
import org.onehippo.forge.konakart.site.service.impl.KKEventServiceImpl;
public class CheckoutMethodRegisterActivity extends BaseCheckoutActivity {
private static final String EMAIL = "email";
private static final String PASSWORD = "password";
@Override
public String computeNextState() {
boolean allowNoRegister = kkAppEng.getConfigAsBoolean(ConfigConstants.ALLOW_CHECKOUT_WITHOUT_REGISTRATION, false);
boolean hasSelectedRegisterMode = getDontHaveAccountValue() != null;
if (allowNoRegister && hasSelectedRegisterMode) {
return getNextLoggedState();
}
return super.computeNextState();
}
@Override
public void doBeforeRender() {
validateCurrentCart();
}
@Override
public void doAction() throws ActivityException {
super.doAction();
CheckoutProcessContext checkoutProcessContext = (CheckoutProcessContext) processorContext;
CheckoutSeedData seedData = checkoutProcessContext.getSeedData();
String action = seedData.getAction();
if (action.equals(KKActionsConstants.ACTIONS.REGISTER.name())) {
String dontHaveAccount = getDontHaveAccountValue();
if (StringUtils.isNotBlank(dontHaveAccount)) {
hstResponse.setRenderParameter(KKActionsConstants.DONT_HAVE_ACCOUNT, dontHaveAccount);
// Insert event
KKServiceHelper.getKKEventService().insertCustomerEvent(hstRequest, KKEventServiceImpl.ACTION_ENTER_CHECKOUT);
}
}
hstResponse.setRenderParameter(KKActionsConstants.ACTION, action);
}
}