diff --git a/app/Notificacao.php b/app/Notificacao.php old mode 100644 new mode 100755 index cd6a717ea35c772145bc1a294f9937a693633a94..5e3e34118d71f2925a84b69d9c8a52a569999419 --- a/app/Notificacao.php +++ b/app/Notificacao.php @@ -12,7 +12,7 @@ class Notificacao extends Model * @var array */ protected $fillable = [ - 'lido', 'tipo', 'destinatario_id', 'remetente_id', 'perfil_id', 'trabalho_id', + 'lido', 'tipo', 'destinatario_id', 'remetente_id', 'perfil_id', 'trabalho_id', 'solicitacao_certificado_id', ]; public function destinatario(){ @@ -26,4 +26,9 @@ class Notificacao extends Model public function trabalho(){ return $this->belongsTo(Trabalho::class,'trabalho_id','id'); } + + public function solicitacaoCertificado() + { + return $this->belongsTo('\App\SolicitacaoCertificado', 'solicitacao_certificado_id'); + } } diff --git a/app/SolicitacaoCertificado.php b/app/SolicitacaoCertificado.php new file mode 100755 index 0000000000000000000000000000000000000000..57e653af0d2893418ca49a1238818e4200d03db4 --- /dev/null +++ b/app/SolicitacaoCertificado.php @@ -0,0 +1,20 @@ +hasMany('App\SolicitacaoParticipante', 'solicitacao_certificado_id'); + } +} diff --git a/app/SolicitacaoParticipante.php b/app/SolicitacaoParticipante.php new file mode 100644 index 0000000000000000000000000000000000000000..8bf3a420dd1f75310a80b6cb7dd1022906e65aa3 --- /dev/null +++ b/app/SolicitacaoParticipante.php @@ -0,0 +1,24 @@ +belongsTo('App\SolicitacaoCertificado', 'solicitacao_certificado_id'); + } + + public function user() + { + return $this->belongsTo('App\User', 'user_id'); + } +} diff --git a/app/Trabalho.php b/app/Trabalho.php index 45752d0b9d2ba63445b727ae4d8977197b3968ad..6677f134c87bd266da50bef10e8d338b38eaa2d2 100755 --- a/app/Trabalho.php +++ b/app/Trabalho.php @@ -110,4 +110,9 @@ class Trabalho extends Model public function notificacoes(){ return $this->hasMany(Notificacao::class, 'trabalho_id', 'id'); } + + public function solicitacoesCertificados() + { + return $this->hasMany(Certificado::class, 'trabalho_id'); + } } diff --git a/database/migrations/2022_03_18_083809_create_certificados_table.php b/database/migrations/2022_03_18_083809_create_certificados_table.php new file mode 100755 index 0000000000000000000000000000000000000000..e16454eb0e07a62f24a1be52eb48b26cdda455df --- /dev/null +++ b/database/migrations/2022_03_18_083809_create_certificados_table.php @@ -0,0 +1,31 @@ +bigIncrements('id'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('solicitacoes_certificados'); + } +} diff --git a/database/migrations/2022_03_21_122553_create_solicitacao_participantes_table.php b/database/migrations/2022_03_21_122553_create_solicitacao_participantes_table.php new file mode 100644 index 0000000000000000000000000000000000000000..5d7b7594ecce29b4bd1af7abf346be2362554e54 --- /dev/null +++ b/database/migrations/2022_03_21_122553_create_solicitacao_participantes_table.php @@ -0,0 +1,37 @@ +bigIncrements('id'); + $table->unsignedBigInteger('user_id'); + $table->foreign('user_id')->references('id')->on('users'); + + $table->unsignedBigInteger('solicitacao_certificado_id'); + $table->foreign('solicitacao_certificado_id')->references('id')->on('solicitacoes_certificados'); + + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('solicitacoes_participantes'); + } +} diff --git a/database/migrations/2022_03_21_123012_add_solicitacao_certificado_to_notificacaos.php b/database/migrations/2022_03_21_123012_add_solicitacao_certificado_to_notificacaos.php new file mode 100644 index 0000000000000000000000000000000000000000..c8c8d1ecb6ded4faa0854d4d0f67e14174f9a1dc --- /dev/null +++ b/database/migrations/2022_03_21_123012_add_solicitacao_certificado_to_notificacaos.php @@ -0,0 +1,34 @@ +unsignedBigInteger('solicitacao_certificado_id')->nullable(); + $table->foreign('solicitacao_certificado_id')->references('id')->on('solicitacoes_certificados'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('notificacaos', function (Blueprint $table) { + $table->dropForeign(['solicitacao_certificado_id']); + $table->dropColumn('solicitacao_certificado_id'); + }); + } +}