<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;

class Trabalho extends Model
{

  use SoftDeletes;
  //   'rascunho','submetido', 'avaliado', 'corrigido','aprovado','reprovado', 'arquivado'
  protected $fillable = [
      'titulo',
      'data', 
      'aprovado',
      'status',
      'decisaoCONSU',      
      'pontuacaoPlanilha', 
      'linkGrupoPesquisa',
      'linkLattesEstudante',
      'comentario',
      'modalidade',
      'conflitosInteresse',

      'anexoDecisaoCONSU',
      'anexoAutorizacaoComiteEtica',
      'JustificativaAutorizacaoEtica',
      'anexoLattesCoordenador',
      'anexoGrupoPesquisa',
      'anexoPlanilhaPontuacao',
      'anexoProjeto',

      'grande_area_id',
      'area_id',
      'sub_area_id',
      'evento_id', 
      'proponente_id',
      'coordenador_id',
      'proponente_id',
      'pivot',
      'area_tematica_id',
  ];



  public function recurso(){
      return $this->hasMany('App\Recurso', 'trabalhoId');
  }

  public function arquivo(){
      return $this->hasMany('App\Arquivo', 'trabalhoId');
  }

  public function modalidade(){
      return $this->belongsTo('App\Modalidade', 'modalidadeId');
  }

  public function area(){
      return $this->belongsTo('App\Area');
  }
  public function grandeArea(){
      return $this->belongsTo('App\GrandeArea');
  }
  public function subArea(){
      return $this->belongsTo('App\SubArea');
  }

  public function areaTematica(){
     return $this->belongsTo('App\AreaTematica');
  }

  public function autor(){
      return $this->belongsTo('App\User', 'autorId');
  }

  public function coautor(){
      return $this->hasMany('App\Coautor', 'trabalhoId');
  }

  public function parecer(){
      return $this->hasMany('App\Parecer', 'trabalhoId');
  }

  public function atribuicao(){
      return $this->hasMany('App\Atribuicao', 'trabalhoId');
  }

  public function evento(){
      return $this->belongsTo('App\Evento');
  }
  public function planoTrabalho(){
      return $this->hasMany('App\PlanoTrabalho');
  }
  public function participantes(){
    // return $this->belongsToMany('App\Trabalho', 'trabalho_participante');
      return $this->hasMany('App\Participante', 'trabalho_id');
  }
  public function proponente(){
      return $this->belongsTo('App\Proponente');
  }
  public function coordenador(){
      return $this->belongsTo('App\CoordenadorComissao');
  }
  public function avaliadors(){
      return $this->belongsToMany('App\Avaliador')->withPivot('status', 'AnexoParecer', 'parecer', 'recomendacao', 'created_at','pontuacao','acesso');
  }

  public function substituicaos(){
      return $this->hasMany('App\Substituicao');
  }

  public function parecer_internos(){
    return $this->hasMany(ParecerInterno::class, 'trab_id', 'id');
  }

  public function notificacoes(){
      return $this->hasMany(Notificacao::class, 'trabalho_id', 'id');
  }

  public function desligamentos(){
      return $this->hasMany(Desligamento::class, 'trabalho_id', 'id')->orderBy('created_at', 'DESC');
  }

  public function solicitacoesCertificados()
  {
      return $this->hasMany(Certificado::class, 'trabalho_id');
  }

  public function ods(){
    return $this->belongsToMany('App\ObjetivoDeDesenvolvimentoSustentavel', 'objetivo_de_desenvolvimento_sustentavel_trabalhos', 'trabalho_id');
  }

  public function integrantes() {
    return $this->belongsToMany('App\User', 'trabalho_users', 'trabalho_id');
  }
}
