* @param $requestInstance An instance of a class with an Requestable interface
* @param $responseInstance An instance of a class with an Responseable interface
* @return void
- * @todo We should add something like payment discovery here (where to withdraw, e.g. external API)
*/
public function execute (Requestable $requestInstance, Responseable $responseInstance) {
- // Unfinished method
+ // Get template instance
+ $templateInstance = $responseInstance->getTemplateInstance();
+
+ // Set amount and type as variables
+ $templateInstance->assignVariable('refill_done', $requestInstance->getRequestElement('type'));
+ $templateInstance->assignVariable('amount' , $requestInstance->getRequestElement('amount'));
+
+ // This method does currently redirect if all goes right
+ $responseInstance->redirectToConfiguredUrl('refill_page_done');
}
/**
// Verify refill request
$controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('refill_request_validator_filter'));
+ // Construct config entry for wether automatic payment from API or waiting for approval
+ $paymentTypeConfig = sprintf("refill_request_%s_payment_type", $requestInstance->getRequestElement('type'));
+
// Prepare a filter based on the requested type we shall refill
- $filterName = sprintf("refill_request_%s_book_filter", $requestInstance->getRequestElement('type'));
+ $filterName = sprintf("refill_request_%s_%s_book_filter",
+ $requestInstance->getRequestElement('type'),
+ $this->getConfigInstance()->readConfig($paymentTypeConfig)
+ );
// Now, try to load that filter
- $controllerInstance->addPostFilter(ObjectFactory::createObjectByConfiguredName($filterName));
+ $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName($filterName));
}
}