$this->redirect ma presmeruje v datagride bez https

KristianSubweb
Člen | 144
+
0
-

Ahojte riešim naledujúci problém. V datagride použivam hromadné akcie konkrétne na stiahnutie XML súboru. Mám handle funkciu ktorá má presmeruje na actionDownloadPohodaExport.

Kód vyzerá nasledovne

/**
	 * @throws AbortException
	 */
	public function handlePohodaExport(array $ids) {
		$this->redirect("downloadPohodaExport", implode(',', $ids));
	}

	/**
	 * @throws AbortException
	 */
	public function actionDownloadPohodaExport(string $ids)
	{
		$response = $this->invoiceService->generatePohodaExport(explode(',', $ids), $this->user->getCompanyId());

		if ($response !== false) {
			$httpResponse = new Response();
			$httpResponse->setHeader('Content-Type', 'application/force-download');
			$httpResponse->setHeader('Content-Type', 'application/octet-stream');
			$httpResponse->setHeader('Content-Type', 'application/download');
			$httpResponse->setHeader('Content-Disposition', 'attachment; filename="pohoda-export.xml"');
			$httpResponse->setHeader('Cache-Control', 'max-age=0');

			$xmlResponse = new XMLResponse($response->saveXML());
			$xmlResponse->changeResponse($httpResponse);

			$this->sendResponse($xmlResponse);

		} else {
			$this->flashMessage("V exporte sú označené 2 a viac účtovné jednotky", "danger");
			$this->redirect("default");
		}
	}

Tento handle sa volá ajaxovo lebo je súčasťou hromadných akcii. Na locale to prejde dobre stiahne to rovno XML no na produkcii to padne na tom že URL je nezabezpečená. Pritom v našej aplikácii sa handle použiva naozaj na veľa miestach jedine tuto to začalo robiť problém.

Za každú radu budem naozaj vďačný.