Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
agendamento
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Marcos Albano
agendamento
Commits
c8462000
Commit
c8462000
authored
Aug 18, 2020
by
Marcos Albano
💬
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Criando relacionamentos
parent
1289b5eb
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
340 additions
and
71 deletions
+340
-71
ManyToManyController.php
app/Http/Controllers/ManyToManyController.php
+23
-0
ManyToOneController.php
app/Http/Controllers/ManyToOneController.php
+15
-0
OneToManyController.php
app/Http/Controllers/OneToManyController.php
+73
-19
OneToOneController.php
app/Http/Controllers/OneToOneController.php
+16
-22
Lote.php
app/Models/Lote.php
+43
-22
Municipio.php
app/Models/Municipio.php
+2
-5
Pessoa.php
app/Models/Pessoa.php
+15
-0
PessoaLote.php
app/Models/PessoaLote.php
+15
-0
Processo.php
app/Models/Processo.php
+25
-0
SituacaoJuridica.php
app/Models/SituacaoJuridica.php
+17
-0
2020_08_17_180536_create_sigeprocessos_table.php
...grations/2020_08_17_180536_create_sigeprocessos_table.php
+46
-0
2020_08_17_180537_add_foreign_keys_to_sige.processos_table.php
...08_17_180537_add_foreign_keys_to_sige.processos_table.php
+45
-0
web.php
routes/web.php
+5
-3
No files found.
app/Http/Controllers/ManyToManyController.php
0 → 100644
View file @
c8462000
<?php
namespace
App\Http\Controllers
;
use
App\Models\Lote
;
use
App\Models\Processo
;
class
ManyToManyController
extends
Controller
{
public
function
manyToMany
()
{
//$processos = Processo::where('criado_por_id', 61)->get();
//dd($processos);
//$processo = $processos->lote()->where('id', 254986)->limit(1)->get();
//dd($processo);
// foreach($processos as $processo){
// //echo "<hr>{$processo->criado_por_id}";
// }
}
}
app/Http/Controllers/ManyToOneController.php
0 → 100644
View file @
c8462000
<?php
namespace
App\Http\Controllers
;
use
App\Models\PessoaLote
;
use
App\Models\SituacaoJuridica
;
use
Illuminate\Http\Request
;
class
ManyToOneController
extends
Controller
{
public
function
manyToOne
()
{
}
}
app/Http/Controllers/OneToManyController.php
View file @
c8462000
...
@@ -4,40 +4,94 @@ namespace App\Http\Controllers;
...
@@ -4,40 +4,94 @@ namespace App\Http\Controllers;
use
App\Models\Lote
;
use
App\Models\Lote
;
use
App\Models\Municipio
;
use
App\Models\Municipio
;
use
App\Models\Pessoa
;
use
App\Models\SituacaoJuridica
;
class
OneToManyController
extends
Controller
class
OneToManyController
extends
Controller
{
{
public
function
oneToMany
()
public
function
oneToMany
()
{
{
// RELACIONAMENTO MUNICIPIO/LOTE
/* RELACIONAMENTO MUNICIPIO/LOTE */
//$municipios = Municipio::where('id', 2304277)->get()->first();
// //$municipios = Municipio::where('id', 2304277)->get()->first();
//$municipios = Municipio::where('uf', "CE")->orderBy('nome', 'asc')->with('lotes')->get();
// //$municipio = Municipio::where('nome', "ERERÊ")->orderBy('nome', 'asc')->with('lotes')->get();
$municipios
=
Municipio
::
where
(
'nome'
,
"ERERÊ"
)
->
orderBy
(
'nome'
,
'asc'
)
->
with
(
'lotes'
)
->
get
();
// $municipios = Municipio::where('uf', "CE")->orderBy('nome', 'asc')->limit(10)->with('lotes')->get();
//dd($municipios);
// foreach ($municipios as $municipio) {
// echo "<hr>{$municipio->nome}";
// $lotes = $municipio->lotes()
// ->where('cpf', '<>', null)->limit(1)->get();
// foreach ($lotes as $lote) {
// echo "<hr>{$lote->numero}";
// }
// }
foreach
(
$municipios
as
$municipio
)
{
/* RELACIONAMENTO LOTE/PROCESSO */
// $lotes = Lote::where('id', 254986)->with('processos')->get();
// foreach ($lotes as $lote) {
// echo "Número do Lote: " . "{$lote->numero}<hr>";
// $processos = $lote->processos()
// ->where('criado_por_id', 61)->get();
// foreach ($processos as $processo) {
// //dd($processo);
// echo "Id do processo: " . "{$processo->id}<br>";
// }
// }
//echo "<hr>{$municipio->nome}";
/* RELACIONAMENTO LOTE/SITUACAO_JURIDICA */
// $lotes = $municipio->lotes()
// $lotes = Lote::where('id', 'LIKE', '%25%')->with('situacaoJuridica')->get();
// ->where('cpf', '<>', null)->get();
// foreach ($lotes as $lote) {
// echo "Número do Lote: " . "{$lote->numero}<hr>";
// $situacoesJuridicas = $lote->situacaoJuridica()
// ->where('id', 3)->get();
// dd($situacoesJuridicas);
// foreach ($situacoesJuridicas as $situacaoJuridica) {
// echo "Situação Jurídica: " . "{$situacaoJuridica->nome}<hr>";
// }
// }
$lotes
=
$municipio
->
lotes
;
/* RELACIONAMENTO LOTE/PESSOA_LOTE */
//dd($lotes);
// $lotes = Lote::where('municipio_id', 2304608)->with('pessoaLote')->get();
// foreach ($lotes as $lote) {
// echo "Número do Lote: " . "{$lote->numero}<hr>";
// $pessoasLotes = $lote->pessoaLote()
// ->where('lote_id', 254986)->get();
// foreach ($pessoasLotes as $pessoaLote) {
// echo "pessoa_id: " . "{$pessoaLote->pessoa_id}<hr>";
// }
// }
foreach
(
$lotes
as
$lote
)
{
/* RELACIONAMENTO PESSOA/PESSOA_LOTE */
//dd($lote);
$pessoas
=
Pessoa
::
where
(
'id'
,
46192
)
->
with
(
'pessoas'
)
->
limit
(
10
)
->
get
();
//echo "<hr>{$lote->numero}";
foreach
(
$pessoas
as
$pessoa
)
{
echo
"Pessoa: "
.
"
{
$pessoa
->
nome
}
<hr>"
;
echo
"id: "
.
"
{
$pessoa
->
id
}
<hr>"
;
$pessoasLotes
=
$pessoa
->
pessoas
()
->
where
(
'pessoa_id'
,
46192
)
->
get
();
//dd($pessoasLotes);
foreach
(
$pessoasLotes
as
$pessoaLote
)
{
echo
"lote_id: "
.
"
{
$pessoaLote
->
lote_id
}
<hr>"
;
}
}
}
}
}
}
public
function
manyToOne
()
public
function
manyToOne
()
{
{
$loteNumero
=
'0002'
;
/* RELACIONAMENTO LOTE/SITUACAO_JURIDICA */
$lote
=
Lote
::
where
(
'numero'
,
$loteNumero
)
->
get
()
->
firs
t
();
// $situacoesJuridicas = SituacaoJuridica::where('id', 3)->get()->with('situacaoJuridica')->ge
t();
$municipio
=
$lote
->
municipio
;
// foreach ($situacoesJuridicas as $situacaoJuridica) {
//dd($municipio);
// echo "Número do Lote: " . "{$situacaoJuridica->numero}<hr>";
//echo "<hr>{$municipio->nome}";
// $situacaoJuridica = $situacoesJuridicas->lote()
// ->where('situacao_juridica_id', 3)->get();
// dd($situacaoJuridica);
// foreach ($situacoesJuridicas as $situacaoJuridica) {
// echo "Situação Jurídica: " . "{$situacaoJuridica->nome}<hr>";
// //dd($situacaoJuridica);
// }
// }
}
}
}
}
app/Http/Controllers/OneToOneController.php
View file @
c8462000
...
@@ -10,28 +10,22 @@ class OneToOneController extends Controller
...
@@ -10,28 +10,22 @@ class OneToOneController extends Controller
{
{
public
function
oneToOne
()
public
function
oneToOne
()
{
{
$titulo
=
Titulo
::
where
(
'lote_id'
,
277720
)
->
get
()
->
first
();
/* RELACIONAMENTO LOTE/SITUACAO_JURIDICA */
$lotes
=
Lote
::
where
(
'id'
,
'LIKE'
,
'%25%'
)
->
with
(
'situacaoJuridica'
)
->
get
();
foreach
(
$lotes
as
$lote
)
{
echo
"Número do Lote: "
.
"
{
$lote
->
numero
}
<hr>"
;
$situacoesJuridicas
=
$lote
->
situacaoJuridica
()
->
where
(
'id'
,
1
)
->
get
();
foreach
(
$situacoesJuridicas
as
$situacaoJuridica
)
{
echo
"Situação Jurídica: "
.
"
{
$situacaoJuridica
->
nome
}
<hr>"
;
//dd($situacaoJuridica);
}
}
// $titulo = Titulo::where('lote_id', 277720)->get()->first();
$lote
=
$titulo
->
titulos
();
// $lote = $titulo->titulos();
dd
(
$lote
);
// dd($lote);
// echo "Número Título: " . "{$titulo->numero_titulo}<br>";
// $gleba = $titulo->gleba;
// echo "Municipio: " . "{$gleba->municipio_id}<br>";
// echo "Gleba: " . "{$gleba->nome}";
}
}
// public function oneToOneLoteTitulo()
// {
// $titulo = Titulo::find(10);
// echo "Número Título: " . "{$titulo->numero_titulo}<br>";
// $gleba = $titulo->gleba;
// echo "Municipio: " . "{$gleba->municipio_id}<br>";
// echo "Gleba: " . "{$gleba->nome}";
// }
}
}
app/Models/Lote.php
View file @
c8462000
...
@@ -3,30 +3,51 @@
...
@@ -3,30 +3,51 @@
namespace
App\Models
;
namespace
App\Models
;
use
Illuminate\Database\Eloquent\Model
;
use
Illuminate\Database\Eloquent\Model
;
use
Symfony\Component\Mime\Part\Multipart\RelatedPart
;
class
Lote
extends
Model
class
Lote
extends
Model
{
{
protected
$table
=
'sige.lotes'
;
protected
$table
=
'sige.lotes'
;
protected
$fillable
=
[
'id'
,
'area'
,
'ativo'
,
'criado_por_id'
,
'dhc'
,
'dhm'
,
'modificado_por_id'
,
protected
$fillable
=
[
'id'
,
'area'
,
'ativo'
,
'criado_por_id'
,
'dhc'
,
'dhm'
,
'modificado_por_id'
,
'municipio_id'
,
'nome'
,
'numero'
,
'perimetro'
,
'proprietario'
,
'situacao_juridica_id'
,
'municipio_id'
,
'nome'
,
'numero'
,
'perimetro'
,
'proprietario'
,
'situacao_juridica_id'
,
'titulo'
,
'sncr'
,
'cpf'
,
'protocolo'
,
'is_aprovado'
,
'data_termino_periodo_de_uso'
,
'titulo'
,
'sncr'
,
'cpf'
,
'protocolo'
,
'is_aprovado'
,
'data_termino_periodo_de_uso'
,
'status_estrutura'
,
'status_pessoa'
,
'status_uso'
,
'comunidade'
,
'localidade'
,
'projeto_especial'
,
'status_estrutura'
,
'status_pessoa'
,
'status_uso'
,
'comunidade'
,
'localidade'
,
'projeto_especial'
,
'cnpj'
,
'status_titulo'
,
'migrado_para_access'
,
'cod_imo_rur'
];
'cnpj'
,
'status_titulo'
,
'migrado_para_access'
,
'cod_imo_rur'
];
public
function
search
(
$filter
=
null
)
public
function
search
(
$filter
=
null
)
{
{
$results
=
$this
->
where
(
function
(
$query
)
use
(
$filter
)
{
$results
=
$this
->
where
(
function
(
$query
)
use
(
$filter
)
{
if
(
$filter
)
{
if
(
$filter
)
{
$query
->
where
(
'proprietario'
,
'LIKE'
,
"%
{
$filter
}
%"
);
$query
->
where
(
'proprietario'
,
'LIKE'
,
"%
{
$filter
}
%"
);
}
}
})
//->toSql();
})
//->toSql();
->
paginate
();
->
paginate
();
return
$results
;
return
$results
;
}
}
public
function
municipio
()
public
function
municipio
()
{
{
return
$this
->
belongsTo
(
Municipio
::
class
);
return
$this
->
belongsTo
(
Municipio
::
class
);
}
}
public
function
processos
()
{
//lote_id: na tabela Processos, id: na tabela Lotes
return
$this
->
hasMany
(
Processo
::
class
,
'lote_id'
,
'id'
);
}
public
function
situacaoJuridica
()
{
//lote_id: na tabela Processos, id: na tabela Lotes
//return $this->belongsTo(SituacaoJuridica::class, 'id', 'situacao_juridica_id');
return
$this
->
hasOne
(
SituacaoJuridica
::
class
,
'id'
,
'situacao_juridica_id'
);
}
public
function
pessoaLote
()
{
//lote_id: na tabela PessoaLote, id: na tabela Lotes
return
$this
->
hasMany
(
PessoaLote
::
class
,
'lote_id'
,
'id'
);
}
}
}
app/Models/Municipio.php
View file @
c8462000
...
@@ -20,11 +20,6 @@ class Municipio extends Model
...
@@ -20,11 +20,6 @@ class Municipio extends Model
return
$results
;
return
$results
;
}
}
// public function gleba()
// {
// return $this->hasOne(Glebas::class);
// }
public
function
lotes
()
public
function
lotes
()
{
{
return
$this
->
hasMany
(
Lote
::
class
);
return
$this
->
hasMany
(
Lote
::
class
);
...
@@ -32,4 +27,6 @@ class Municipio extends Model
...
@@ -32,4 +27,6 @@ class Municipio extends Model
// return $this->hasMany(Lote::class, 'municipio_id', 'id');
// return $this->hasMany(Lote::class, 'municipio_id', 'id');
}
}
}
}
app/Models/Pessoa.php
0 → 100644
View file @
c8462000
<?php
namespace
App\Models
;
use
Illuminate\Database\Eloquent\Model
;
class
Pessoa
extends
Model
{
protected
$table
=
'regularizacaofundiaria.pessoa'
;
public
function
pessoas
()
{
return
$this
->
hasMany
(
PessoaLote
::
class
,
'pessoa_id'
,
'id'
);
}
}
app/Models/PessoaLote.php
0 → 100644
View file @
c8462000
<?php
namespace
App\Models
;
use
Illuminate\Database\Eloquent\Model
;
class
PessoaLote
extends
Model
{
protected
$table
=
'regularizacaofundiaria.pessoa_lote'
;
public
function
pessoa
()
{
return
$this
->
belongsTo
(
PessoaLote
::
class
);
}
}
app/Models/Processo.php
0 → 100644
View file @
c8462000
<?php
namespace
App\Models
;
use
Illuminate\Database\Eloquent\Model
;
class
Processo
extends
Model
{
protected
$table
=
'sige.processos'
;
protected
$fillable
=
[
'id'
,
'ativo'
,
'criado_por_id'
,
'descricao'
,
'dhc'
,
'dhm'
,
'etapa_id'
,
'lote_id'
,
'modificado_por_id'
,
'pendencia_id'
,
'sem_pendencia'
,
'situacao'
,
'conferido'
,
'data_conferencia'
,
'conferido_por_id'
];
public
function
search
(
$filter
=
null
)
{
$results
=
$this
->
where
(
function
(
$query
)
use
(
$filter
)
{
if
(
$filter
)
{
$query
->
where
(
'descricao'
,
'LIKE'
,
"%
{
$filter
}
%"
);
}
})
//->toSql();
->
paginate
();
return
$results
;
}
}
app/Models/SituacaoJuridica.php
0 → 100644
View file @
c8462000
<?php
namespace
App\Models
;
use
Illuminate\Database\Eloquent\Model
;
class
SituacaoJuridica
extends
Model
{
protected
$table
=
'sige.situacoes_juridicas'
;
public
function
situacaoJuridica
()
{
return
$this
->
belongsTo
(
SituacaoJuridica
::
class
,
'id'
,
'situacao_juridica_id'
);
//CASO FOSSE VINCULAR COM SITUAÇÃO JURÍDICA (ESSE id SERIA O id DA TABELA sige.situacoes_juridicas) - AULA 9
// return $this->hasMany(Lote::class, 'municipio_id', 'id');
}
}
database/migrations/2020_08_17_180536_create_sigeprocessos_table.php
0 → 100644
View file @
c8462000
<?php
use
Illuminate\Database\Migrations\Migration
;
use
Illuminate\Database\Schema\Blueprint
;
class
CreateSigeprocessosTable
extends
Migration
{
/**
* Run the migrations.
*
* @return void
*/
public
function
up
()
{
Schema
::
create
(
'sige.processos'
,
function
(
Blueprint
$table
)
{
$table
->
bigInteger
(
'id'
)
->
primary
(
'processos_pkey'
);
$table
->
boolean
(
'ativo'
);
$table
->
bigInteger
(
'criado_por_id'
);
$table
->
text
(
'descricao'
)
->
nullable
();
$table
->
dateTime
(
'dhc'
);
$table
->
dateTime
(
'dhm'
);
$table
->
bigInteger
(
'etapa_id'
);
$table
->
bigInteger
(
'lote_id'
);
$table
->
bigInteger
(
'modificado_por_id'
);
$table
->
bigInteger
(
'pendencia_id'
)
->
nullable
();
$table
->
boolean
(
'sem_pendencia'
);
$table
->
text
(
'situacao'
)
->
nullable
();
$table
->
boolean
(
'conferido'
)
->
nullable
()
->
default
(
0
);
$table
->
dateTime
(
'data_conferencia'
)
->
nullable
();
$table
->
bigInteger
(
'conferido_por_id'
)
->
nullable
();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public
function
down
()
{
Schema
::
drop
(
'sige.processos'
);
}
}
database/migrations/2020_08_17_180537_add_foreign_keys_to_sige.processos_table.php
0 → 100644
View file @
c8462000
<?php
use
Illuminate\Database\Migrations\Migration
;
use
Illuminate\Database\Schema\Blueprint
;
class
AddForeignKeysToSige
.
processosTable
extends
Migration
{
/**
* Run the migrations.
*
* @return void
*/
public
function
up
()
{
Schema
::
table
(
'sige.processos'
,
function
(
Blueprint
$table
)
{
$table
->
foreign
(
'lote_id'
,
'fkc504ecd92c5903a0'
)
->
references
(
'id'
)
->
on
(
'sige.lotes'
)
->
onUpdate
(
'RESTRICT'
)
->
onDelete
(
'RESTRICT'
);
$table
->
foreign
(
'pendencia_id'
,
'fkc504ecd957a7d5b4'
)
->
references
(
'id'
)
->
on
(
'sige.pendencias'
)
->
onUpdate
(
'RESTRICT'
)
->
onDelete
(
'RESTRICT'
);
$table
->
foreign
(
'modificado_por_id'
,
'fkc504ecd962f306bd'
)
->
references
(
'id'
)
->
on
(
'sec_user'
)
->
onUpdate
(
'RESTRICT'
)
->
onDelete
(
'RESTRICT'
);
$table
->
foreign
(
'etapa_id'
,
'fkc504ecd96fed6d34'
)
->
references
(
'id'
)
->
on
(
'sige.etapas'
)
->
onUpdate
(
'RESTRICT'
)
->
onDelete
(
'RESTRICT'
);
$table
->
foreign
(
'criado_por_id'
,
'fkc504ecd975c5065e'
)
->
references
(
'id'
)
->
on
(
'sec_user'
)
->
onUpdate
(
'RESTRICT'
)
->
onDelete
(
'RESTRICT'
);
$table
->
foreign
(
'conferido_por_id'
,
'fkc504ecd9fa77078d'
)
->
references
(
'id'
)
->
on
(
'sec_user'
)
->
onUpdate
(
'RESTRICT'
)
->
onDelete
(
'RESTRICT'
);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public
function
down
()
{
Schema
::
table
(
'sige.processos'
,
function
(
Blueprint
$table
)
{
$table
->
dropForeign
(
'fkc504ecd92c5903a0'
);
$table
->
dropForeign
(
'fkc504ecd957a7d5b4'
);
$table
->
dropForeign
(
'fkc504ecd962f306bd'
);
$table
->
dropForeign
(
'fkc504ecd96fed6d34'
);
$table
->
dropForeign
(
'fkc504ecd975c5065e'
);
$table
->
dropForeign
(
'fkc504ecd9fa77078d'
);
});
}
}
routes/web.php
View file @
c8462000
...
@@ -3,8 +3,10 @@
...
@@ -3,8 +3,10 @@
use
Illuminate\Support\Facades\Auth
;
use
Illuminate\Support\Facades\Auth
;
use
Illuminate\Support\Facades\Route
;
use
Illuminate\Support\Facades\Route
;
Route
::
get
(
'many-to-one'
,
'OneToManyController@manyToOne'
);
Route
::
get
(
'many-to-many'
,
'ManyToManyController@manyToMany'
);
Route
::
get
(
'many-to-one'
,
'ManyToOneController@manyToOne'
);
Route
::
get
(
'one-to-many'
,
'OneToManyController@oneToMany'
);
Route
::
get
(
'one-to-many'
,
'OneToManyController@oneToMany'
);
//Route::get('one-to-many', 'oneToManyController@oneToManyLoteProcesso');
Route
::
get
(
'one-to-one'
,
'OneToOneController@oneToOne'
);
Route
::
get
(
'one-to-one'
,
'OneToOneController@oneToOne'
);
Route
::
any
(
'agendamentos/search'
,
'AgendamentoController@search'
)
->
name
(
'agendamentos.search'
)
->
middleware
(
'auth'
);
//->middleware('auth');
Route
::
any
(
'agendamentos/search'
,
'AgendamentoController@search'
)
->
name
(
'agendamentos.search'
)
->
middleware
(
'auth'
);
//->middleware('auth');
Route
::
any
(
'titulos/search'
,
'TituloController@search'
)
->
name
(
'titulos.search'
)
->
middleware
(
'auth'
);
//->middleware('auth');
Route
::
any
(
'titulos/search'
,
'TituloController@search'
)
->
name
(
'titulos.search'
)
->
middleware
(
'auth'
);
//->middleware('auth');
...
@@ -17,7 +19,9 @@ Route::any('municipios/search', 'MunicipioController@search')->name('municipios.
...
@@ -17,7 +19,9 @@ Route::any('municipios/search', 'MunicipioController@search')->name('municipios.
Route
::
resource
(
'glebas'
,
'GlebaController'
)
->
middleware
(
'auth'
);
Route
::
resource
(
'glebas'
,
'GlebaController'
)
->
middleware
(
'auth'
);
Route
::
any
(
'glebas/search'
,
'GlebaController@search'
)
->
name
(
'glebas.search'
)
->
middleware
(
'auth'
);
//->middleware('auth');
Route
::
any
(
'glebas/search'
,
'GlebaController@search'
)
->
name
(
'glebas.search'
)
->
middleware
(
'auth'
);
//->middleware('auth');
Auth
::
routes
();
Route
::
get
(
'/home'
,
'HomeController@index'
)
->
name
(
'home'
);
/* Route::put('titulos/{id}', 'TituloController@destroy')->name('titulos.destroy'); //Editar um registro - put
/* Route::put('titulos/{id}', 'TituloController@destroy')->name('titulos.destroy'); //Editar um registro - put
...
@@ -40,6 +44,4 @@ Route::get('/', function () {
...
@@ -40,6 +44,4 @@ Route::get('/', function () {
return
view
(
'welcome'
);
return
view
(
'welcome'
);
});
});
Auth
::
routes
();
Route
::
get
(
'/home'
,
'HomeController@index'
)
->
name
(
'home'
);
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment