public function MarketPlaceReviewForm() { Requirements::javascript(Director::protocol() . "ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js"); Requirements::javascript(Director::protocol() . "ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/additional-methods.min.js"); Requirements::combine_files('marketplace_review_form.js', array("themes/openstack/javascript/jquery.validate.custom.methods.js", "marketplace/code/ui/frontend/js/star-rating.min.js", "marketplace/code/ui/frontend/js/marketplace.review.js")); $css_files = array("marketplace/code/ui/frontend/css/star-rating.min.css", "marketplace/code/ui/frontend/css/marketplace-review.css"); foreach ($css_files as $css_file) { Requirements::css($css_file); } $form = new MarketPlaceReviewForm($this, 'MarketPlaceReviewForm'); $data = Session::get("FormInfo.Form_MarketPlaceReviewForm.data"); $review = $this->review_repository->getReview($this->company_service_ID, Member::CurrentUserID()); if (is_array($data)) { //get data from cache $form->loadDataFrom($data); } elseif ($review) { // get submitted review $form->loadDataFrom($review); } // Optional spam protection if (class_exists('SpamProtectorManager')) { SpamProtectorManager::update_form($form); } return $form; }
/** * @return SS_HTTPResponse */ public function addReview() { try { $data = $this->getJsonRequest(); if (!$data) { return $this->serverError(); } $review = $this->review_repository->getReview($this->review_factory->buildProduct($data)->getIdentifier(), Member::CurrentUserID()); if ($review) { $this->review_manager->updateReview($data, $review); return $this->updated(); } else { return $this->created($this->review_manager->addReview($data)); } } catch (EntityAlreadyExistsException $ex1) { SS_Log::log($ex1, SS_Log::ERR); return $this->addingDuplicate($ex1->getMessage()); } catch (PolicyException $ex2) { SS_Log::log($ex2, SS_Log::ERR); return $this->validationError($ex2->getMessage()); } catch (EntityValidationException $ex3) { SS_Log::log($ex3, SS_Log::ERR); return $this->validationError($ex3->getMessages()); } }