enhanced preorder filter; fixed fixing wrong oaid origin
This commit is contained in:
@@ -42,17 +42,26 @@ class Preorder extends mfBaseModel {
|
||||
|
||||
if($this->oaid) {
|
||||
// If current OAID is from correct Origin then do nothing
|
||||
$current_oaid = OpenAccessIdModel::getFirstOaid($this->oaid);
|
||||
if(!$current_oaid) {
|
||||
return true; // this is a thetool oaid, so do nothing
|
||||
}
|
||||
if($campaign->oaid_origin == $current_oaid->origin) {
|
||||
// also check if wohneinheit has no oaid and set it
|
||||
if(!$wohneinheit->oaid) {
|
||||
$wohneinheit->oaid = $current_oaid->oaid;
|
||||
$wohneinheit->save();
|
||||
if($campaign->oaid_origin == "thetool") {
|
||||
$current_oaid = OpenAccessIdModel::getFirstOaid($this->oaid);
|
||||
if($current_oaid) {
|
||||
$this->log->warning("OAID of Preorder ".$this->id." should be thetool, but is OFAA");
|
||||
}
|
||||
} elseif($campaign->oaid_origin == "ofaa") {
|
||||
$current_oaid = OpenAccessIdModel::getFirstOaid($this->oaid);
|
||||
if(!$current_oaid) {
|
||||
$this->log->error("OAID of Preorder ".$this->id." not found in OpenAccessIds");
|
||||
// assume it's from a different origin
|
||||
} else {
|
||||
if($campaign->oaid_origin == $current_oaid->origin) {
|
||||
// also check if wohneinheit has no oaid and set it
|
||||
if(!$wohneinheit->oaid) {
|
||||
$wohneinheit->oaid = $current_oaid->oaid;
|
||||
$wohneinheit->save();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -17,14 +17,47 @@ class PreorderController extends mfBaseController {
|
||||
protected function indexAction() {
|
||||
$this->layout()->setTemplate("Preorder/Index");
|
||||
|
||||
$rfilter = $this->request->filter;
|
||||
iF(!is_array($rfilter)) {
|
||||
$rfilter = [];
|
||||
if($this->request->resetFilter) {
|
||||
unset($_SESSION[MFAPPNAME.'-Preorder-filter']);
|
||||
foreach($_SESSION as $key => $s) {
|
||||
if(preg_match('/^'.MFAPPNAME.'-Preorder-filter-campaign-\d+$', $key)) {
|
||||
unset($_SESSION[$key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$this->layout->set("filter", $rfilter);
|
||||
|
||||
$filter = $this->getPreparedFilter($rfilter);
|
||||
$filter = [];
|
||||
|
||||
if(is_array($this->request->filter)) {
|
||||
$filter = $this->request->filter;
|
||||
|
||||
if(isset($this->request->filter["preordercampaign_id"]) && $this->request->filter["preordercampaign_id"]) {
|
||||
$filter_po_id = $filter["preordercampaign_id"];
|
||||
if(count($this->request->filter) == 1 && isset($_SESSION[MFAPPNAME.'-Preorder-filter-campaign-'.$filter_po_id])) {
|
||||
$filter = $_SESSION[MFAPPNAME.'-Preorder-filter-campaign-'.$filter_po_id];
|
||||
} else {
|
||||
$_SESSION[MFAPPNAME.'-Preorder-filter-campaign-'.$filter["preordercampaign_id"]] = $filter;
|
||||
}
|
||||
} else {
|
||||
$_SESSION[MFAPPNAME.'-Preorder-filter'] = $filter;
|
||||
}
|
||||
} else {
|
||||
if(array_key_exists(MFAPPNAME.'-Preorder-filter', $_SESSION) && count($_SESSION[MFAPPNAME.'-Preorder-filter'])) {
|
||||
$filter = $_SESSION[MFAPPNAME.'-Preorder-filter'];
|
||||
if(isset($filter['preordercampaign_id'])) {
|
||||
$filter_po_id = $filter['preordercampaign_id'];
|
||||
if(isset($_SESSION[MFAPPNAME.'-Preorder-filter-campaign-'.$filter_po_id])) {
|
||||
//var_dump("blah");
|
||||
$filter = $_SESSION[MFAPPNAME.'-Preorder-filter-campaign-'.$filter_po_id];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//var_dump($_SESSION, $filter);exit;
|
||||
|
||||
$this->layout->set("filter", $filter);
|
||||
$filter = $this->getPreparedFilter($filter);
|
||||
|
||||
// pagination defaults
|
||||
$pagination = [];
|
||||
@@ -624,7 +657,7 @@ class PreorderController extends mfBaseController {
|
||||
}
|
||||
|
||||
|
||||
$qs = ['filter' => ['preordercampaign_id' => $preorder->preordercampaign_id, 'ucode' => $preorder->ucode]];
|
||||
$qs = ['filter' => ['preordercampaign_id' => $preorder->preordercampaign_id]];
|
||||
$qs = http_build_query($qs);
|
||||
|
||||
$this->layout()->setFlash("Vorbestellung erfolgreich gespeichert!", "success");
|
||||
|
||||
Reference in New Issue
Block a user