<?php

class ControllerModulevalorminimo extends Controller {

    private $error = array();

    public function index() {
      $this->load->language('module/valor_minimo');
      $this->document->setTitle($this->language->get('heading_title_fut'));
      $this->load->model('setting/setting');
      $this->load->type('tipocomum');
      $this->load->helper('ftr_geral');

      $this->data['ftr_geral'] = new ftr_geral();
      $this->data['Type_Status'] = $this->load->typeForTwig('Type_Status');
      $this->data['Type_CadastroPessoa'] = $this->load->typeForTwig('Type_CadastroPessoa');


      if (($this->request->server['REQUEST_METHOD'] == 'POST') && ($this->validate())) {
  			$this->model_setting_setting->editSetting('valor_minimo', $this->request->post);
  			$this->session->data['success'] = $this->language->get('text_success');
  			$this->redirect($this->url->linkAnchor('extension/module', 'token=' . $this->session->data['token'], 'tab-info=' . $this->request->get['type'], 'SSL'));
      }

      $this->data['token'] = $this->session->data['token'];
      $this->data['cancel'] = $this->url->link('index', 'token=' . $this->session->data['token'], 'SSL');

      // declaração das variaveis, pegando o nome expresso na linguagem
      $this->data['button_save']      	 		   	 = $this->language->get('button_save');
      $this->data['button_cancel']  		 		   	 = $this->language->get('button_cancel');
      $this->data['heading_title']  		 		   	 = $this->language->get('heading_title');
      $this->data['text_valor']            	   	 	 = $this->language->get('text_valor');
  		$this->data['text_valor_status']     			 = $this->language->get('text_valor_status');
      $this->data['text_tipopessoa'] 	 = $this->language->get('text_tipopessoa');
  		$this->data['text_valor_minimo_Habilita']   	 = $this->language->get('text_valor_minimo_Habilita');
  		$this->data['text_valor_minimo_Desabilita'] 	 = $this->language->get('text_valor_minimo_Desabilita');

      if (isset($this->error['warning'])) {
          $this->data['error_warning'] = $this->error['warning'];
      } else {
          $this->data['error_warning'] = '';
      }

      if (isset($this->error['valor_minimo'])) {
          $this->data['error_valor_minimo'] = $this->error['valor_minimo'];
      } else {
          $this->data['error_valor_minimo'] = '';
      }

      if (isset($this->session->data['success'])) {
  	    $this->data['success'] = $this->session->data['success'];
          unset($this->session->data['success']);
      } else {
        $this->data['success'] = '';
      }

  		if (isset($this->request->post['valor_minimo'])) {
        $this->data['valor_minimo']= $this->request->post['valor_minimo'];
      }elseif($this->config->get('valor_minimo')) {
        $this->data['valor_minimo']= $this->config->get('valor_minimo');
  		}

  		if (isset($this->request->post['valor_minimo_status'])) {
        $this->data['valor_minimo_status']= $this->request->post['valor_minimo_status'];
      }elseif($this->config->get('valor_minimo_status')) {
        $this->data['valor_minimo_status']= $this->config->get('valor_minimo_status');
  		}else{
  			$this->data['valor_minimo_status']=$this->data['text_valor_minimo_Desabilita'] ;
  		}

      if (isset($this->request->post['valor_minimo_tipopessoa'])) {
          $this->data['valor_minimo_tipopessoa']= $this->request->post['valor_minimo_tipopessoa'];
      }else {
          $this->data['valor_minimo_tipopessoa']= $this->config->get('valor_minimo_tipopessoa');
      }


	    $this->data['breadcrumbs'] = array();
      $this->data['breadcrumbs'][] = array(
          'text' => $this->language->get('text_home'),
          'href' => $this->url->link('common/home', 'token=' . $this->session->data['token'], 'SSL'),
          'separator' => false
      );

      $this->data['breadcrumbs'][] = array(
          'text' => $this->language->get('text_module'),
          'href' => $this->url->linkAnchor('extension/module', 'token=' . $this->session->data['token'], 'tab-info=' . $this->request->get['type'], 'SSL'),
          'separator' => ' :: '
      );

      $this->data['breadcrumbs'][] = array(
          'text' => $this->language->get('heading_title'),
          'href' => $this->url->link('module/valor_minimo', 'token=' . $this->session->data['token'] . '&type=' . $this->request->get['type'], 'SSL'),
          'separator' => ' :: '
      );

      $this->data['action'] = $this->url->link('module/valor_minimo', 'token=' . $this->session->data['token'] . '&type=' . $this->request->get['type'], 'SSL');
      $this->data['cancel'] = $this->url->linkAnchor('extension/module', 'token=' . $this->session->data['token'], 'tab-info=' . $this->request->get['type'], 'SSL');

      $this->children = array(
          'common/header',
          'common/footer',
      );

      $this->response->setOutput($this->render('module/valor_minimo'));
  }

    private function validate() {
        if (!$this->user->hasPermission('modify', 'module/valor_minimo')) {
            $this->error['warning'] = $this->language->get('error_permission');
        }

        if(isset($this->request->post['valor_minimo_status']) && $this->request->post['valor_minimo_status']) {

            if (!isset($this->request->post['valor_minimo']) || trim($this->request->post['valor_minimo']) == '') {
                    $this->error['valor_minimo'] = 'O campo Valor mínimo não pode estar em branco!';
                } else {

                $valor = str_replace('.', '', $this->request->post['valor_minimo']);
                $valor = str_replace(',', '.', $valor);
                $valor = floatval($valor);

                if ($valor <= 0) {
                    $this->error['valor_minimo'] = 'O Valor mínimo deve ser maior que zero!';
                }
            }
        }

        if (!$this->error) {
            return true;
        } else {
            return false;
        }
    }
  }