Exemple #1
0
 /**
  * Creates a seller callback.
  *
  * @param int $seller_id Seller ID.
  *
  * @return void
  */
 public function post_index($seller_id = null)
 {
     $validator = \Validation_Seller_Callback::create();
     if (!$validator->run()) {
         throw new HttpBadRequestException($validator->errors());
     }
     $data = $validator->validated();
     $event = \Service_Event::find_one(array('name' => $data['event']));
     $callback = \Service_Seller_Callback::create(\Seller::active(), $event, $data['url']);
     if (!$callback) {
         throw new HttpServerErrorException();
     }
     $this->response($callback);
 }
Exemple #2
0
 /**
  * Updates a seller callback.
  *
  * @param Model_Seller_Callback $callback The seller callback to update.
  * @param array                 $data     The data to use to update the seller callback.
  *
  * @return Model_Seller_Callback
  */
 public static function update(Model_Seller_Callback $callback, array $data = array())
 {
     if ($event_name = Arr::get($data, 'event')) {
         $event = \Service_Event::find_one(array('name' => $event_name));
         if (!$event) {
             return false;
         }
         $callback->event = $event;
     }
     $callback->populate($data);
     try {
         $callback->save();
     } catch (FuelException $e) {
         Log::error($e);
         return false;
     }
     return $callback;
 }
Exemple #3
0
 /**
  * POST Create action.
  *
  * @return void
  */
 public function post_create()
 {
     $this->get_create();
     $validator = Validation_Seller_Callback::create();
     if (!$validator->run()) {
         Session::set_alert('error', __('form.error'));
         $this->view->errors = $validator->error();
         return;
     }
     $data = $validator->validated();
     $event = \Service_Event::find_one(array('name' => $data['event']));
     if (Service_Seller_Callback::create(Seller::active(), $event, $data['url'])) {
         Session::set_alert('success', 'The event callback has been added.');
     } else {
         Session::set_alert('error', 'There was an error adding the event callback.');
     }
     Response::redirect('settings/callbacks');
 }
Exemple #4
0
 /**
  * Creates a new validation instance for seller callback update.
  *
  * @return Validation
  */
 public static function update()
 {
     $validator = Validation::forge('callback');
     $input = Input::param();
     if (array_key_exists('event', $input)) {
         $validator->add('event', 'Event Name')->add_rule('trim')->add_rule('required')->add_rule(array('invalid_event_name' => function ($event_name) {
             $event = Service_Event::find_one(array('name' => $event_name));
             if (!$event) {
                 return false;
             }
             return true;
         }));
     }
     if (array_key_exists('url', $input)) {
         $validator->add('url', 'Callback URL')->add_rule('trim')->add_rule('valid_url')->add_rule('required');
     }
     return $validator;
 }