<?php

class InteressadosSituacoes extends GxActiveRecord {

	public static function model($className = __CLASS__) {
		return parent::model($className);
	}

	public function beforeSave() {
		parent::beforeSave();

		if (strpos($this->IST_DATA, '/') !== false) {
			$this->IST_DATA = Util::formatDataHoraMysql($this->IST_DATA);
		}
		return true;
	}

	public function tableName() {
		return 'interessados_situacoes';
	}

	public function behaviors() {
		return array('datetimeI18NBehavior' => array('class' => 'ext.DateTimeI18NBehavior'));
	}

	public static function label($n = 1) {
		return Yii::t('app', 'Status Interessados', $n);
	}

	public static function representingColumn() {
		return 'IST_ID';
	}

	public function rules() {
		return array(
			array('IST_ID, IST_IDINTERESSADO, IST_IDUSUARIO, IST_SITUACAO, IST_DATA, IST_UPDATES', 'safe'),
		);
	}

	public function relations() {
		return array(
			'Usuario'     => array(self::BELONGS_TO, 'Funcionarios', 'IST_IDUSUARIO'),
			'Interessado' => array(self::BELONGS_TO, 'Interessados', 'IST_IDINTERESSADO'),
		);
	}

	public function pivotModels() {
		return array();
	}

	public function attributeLabels() {
		return array(
			'IST_ID'            => 'Código',
			'IST_IDINTERESSADO' => "Interessado",
			'Interessado'       => "Interessado",
			'IST_IDUSUARIO'     => "Usuário",
			'Usuario'           => "Usuário",
			'IST_SITUACAO'      => "Status",
			'IST_DATA'          => "Data",
			'IST_UPDATES'       => "Atualizações",
		);
	}

	public function getSituacao() {
		$interessado               = new Interessados();
		$interessado->INT_SITUACAO = $this->IST_SITUACAO;
		return $interessado->getSituacao();
	}

	public function updateSituacao($situacao) {
		$old                = $this->model()->findByPk($this->IST_ID);
		$this->IST_SITUACAO = $situacao;
		$atualizacoes       = '<span class="color-atd color-green">Status:</span> '.$this->Interessado->getSituacao($old->IST_SITUACAO).' <span class="color-atd color-blue">para</span> '.$this->Interessado->getSituacao($situacao);
		if (empty($this->IST_UPDATES)) {
			$this->IST_UPDATES = 'Atualizado em <span class="color-atd color-red">'.date('d/m/Y H:i:s').'</span> por <span class="color-atd color-red">'.User::getName().'</span>:<br />'.$atualizacoes;
		} else {
			$this->IST_UPDATES .= '<br /><br />Atualizado em <span class="color-atd color-red">'.date('d/m/Y H:i:s').'</span> por <span class="color-atd color-red">'.User::getName().'</span>:<br />'.$atualizacoes;
		}
		$this->save(false, array('IST_UPDATES', 'IST_SITUACAO'));
	}
}