Advertisement
Guest User

Untitled

a guest
Jan 24th, 2018
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.53 KB | None | 0 0
  1. <?php
  2.  
  3. namespace Jarbas\Churches\FormWidgets;
  4.  
  5. use Backend\Classes\FormField;
  6. use Backend\Classes\FormWidgetBase;
  7. use Illuminate\Support\Facades\Input;
  8. use October\Rain\Network\Http;
  9. use October\Rain\Support\Facades\Flash;
  10.  
  11. class Address extends FormWidgetBase
  12. {
  13.     protected $defaultAlias = 'address';
  14.  
  15.     public function render()
  16.     {
  17.         return $this->makePartial('zipcode');
  18.     }
  19.  
  20.  
  21.     public function getSaveValue($value)
  22.     {
  23.         FormField::NO_SAVE_DATA;
  24.     }
  25.  
  26.     /**
  27.      * Busca o endereço com base no CEP digitado
  28.      *
  29.      */
  30.     public function onZipCode()
  31.     {
  32.         if (!Input::get('address_zip')) {
  33.             Flash::error('Preencha um CEP');
  34.  
  35.             return false;
  36.         }
  37.  
  38.         $result = Http::get('viacep.com.br/ws/' . Input::get('address_zip') . '/json');
  39.  
  40.         if ($result->code !== 200) {
  41.             Flash::error('Não foi possível carregar o endereço');
  42.         }
  43.  
  44.         $data = [];
  45.  
  46.         if ($result->body) {
  47.             $data = json_decode($result->body);
  48.  
  49.             if (isset($data->error)) {
  50.                 Flash::warning('Endereço não encontrado. Preencha manualmente');
  51.                 return;
  52.             }
  53.         }
  54.  
  55.         $this->vars['result'] = $data;
  56.     }
  57.  
  58.     /**
  59.      * {@inheritdoc}
  60.      */
  61.     public function loadAssets()
  62.     {
  63.         $this->addJs('js/jquery.mask.min.js');
  64.         $this->addJs('js/bootstrap.min.js');
  65.         $this->addJs('js/address.js');
  66.  
  67.         $this->addCss('css/address.css');
  68.     }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement