Index: branches/5.2.x/core/units/reviews/reviews_event_handler.php =================================================================== diff -u -N -r14628 -r14769 --- branches/5.2.x/core/units/reviews/reviews_event_handler.php (.../reviews_event_handler.php) (revision 14628) +++ branches/5.2.x/core/units/reviews/reviews_event_handler.php (.../reviews_event_handler.php) (revision 14769) @@ -1,6 +1,6 @@ clearFilters(); $parent_info = $object->getLinkedInfo(); - + $parent =& $this->Application->recallObject($parent_info['ParentPrefix']); /* @var $parent kDBItem */ @@ -505,17 +505,36 @@ { parent::OnCreate($event); - if ($event->status != kEvent::erSUCCESS || $this->Application->isAdmin) { - return ; + if ( $event->status != kEvent::erSUCCESS || $this->Application->isAdmin ) { + return; } $object =& $event->getObject(); - $next_template = $object->GetDBField('Status') == STATUS_ACTIVE ? 'success_template' : 'success_pending_template'; - $event->redirect = $this->Application->GetVar($next_template); - $event->SetRedirectParam('opener', 's'); + /* @var $object kDBItem */ - $parent_prefix = $this->Application->getUnitOption($event->Prefix, 'ParentPrefix'); - $event->SetRedirectParam('pass', 'm,'.$parent_prefix); + if ( $this->Application->GetVar('ajax') == 'yes' ) { + $ajax_form_helper =& $this->Application->recallObject('AjaxFormHelper'); + /* @var $ajax_form_helper AjaxFormHelper */ + + $params = Array ('status' => 'OK'); + + if ( $event->status != kEvent::erSUCCESS ) { + $ajax_form_helper->prepareJSONErrors($event, $params); + } + + // let FormManager decide what template to show + $params['review_status'] = $object->GetDBField('Status'); + + $ajax_form_helper->sendResponse($event, $params); + } + else { + $event->SetRedirectParam('opener', 's'); + $next_template = $object->GetDBField('Status') == STATUS_ACTIVE ? 'success_template' : 'success_pending_template'; + $event->redirect = $this->Application->GetVar($next_template); + + $parent_prefix = $this->Application->getUnitOption($event->Prefix, 'ParentPrefix'); + $event->SetRedirectParam('pass', 'm,'.$parent_prefix); + } } /** @@ -567,16 +586,16 @@ } return $title_field; } - + /** * Set's new perpage for Category Item Reviews (used on Front-end) * * @param kEvent $event */ function OnSetPerPage(&$event) { - parent::OnSetPerPage($event); - + parent::OnSetPerPage($event); + $parent_prefix = $event->Application->getUnitOption($event->Prefix, 'ParentPrefix'); $event->SetRedirectParam('pass', 'm,' . $event->getPrefixSpecial() . ',' . $parent_prefix); }