v0.8.0-rc

This commit is contained in:
2020-03-27 02:59:53 -03:00
parent 00f9a10cbf
commit 723040358b
51 changed files with 792 additions and 492 deletions

View File

@ -40,35 +40,29 @@ return [
])), ])),
'urls.metro.logo' => 'https://img.freepik.com/free-icon/santiago-metro-logo_318-66588.jpg?size=338&ext=jpg', 'urls.metro.logo' => 'https://img.freepik.com/free-icon/santiago-metro-logo_318-66588.jpg?size=338&ext=jpg',
'urls.notaria.turno' => 'http://www.notariasdeturno.cl', 'urls.notaria.turno' => 'http://www.notariasdeturno.cl',
'urls.play.store' => 'https://zeroq.cl/#/local/notaria-patricio-raby', 'urls.atencion' => 'https://zeroq.cl/#/local/notaria-patricio-raby/48',
'urls.play.store.logo' => 'https://zeroq.cl/img/logo-small.png', 'urls.atencion.logo' => 'https://zeroq.cl/img/logo-small.png',
'assets' => (object) [ 'styles' => [
(object) [ 'https://cdnjs.cloudflare.com/ajax/libs/fomantic-ui/2.8.4/semantic.min.css',
'script' => 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js' DI\string(implode('/', ['{urls.styles}', 'metro.css'])),
'https://fonts.googleapis.com/css?family=Roboto&subset=latin&display=swap'
], ],
(object) [ 'fonts' => [
'script' => 'https://cdnjs.cloudflare.com/ajax/libs/fomantic-ui/2.8.4/semantic.min.js', 'application/octet-stream' => [
'style' => 'https://cdnjs.cloudflare.com/ajax/libs/fomantic-ui/2.8.4/semantic.min.css',
'octet' => [
'https://cdnjs.cloudflare.com/ajax/libs/fomantic-ui/2.8.4/themes/default/assets/fonts/brand-icons.ttf', 'https://cdnjs.cloudflare.com/ajax/libs/fomantic-ui/2.8.4/themes/default/assets/fonts/brand-icons.ttf',
'https://cdnjs.cloudflare.com/ajax/libs/fomantic-ui/2.8.4/themes/default/assets/fonts/icons.ttf', 'https://cdnjs.cloudflare.com/ajax/libs/fomantic-ui/2.8.4/themes/default/assets/fonts/icons.ttf',
'https://cdnjs.cloudflare.com/ajax/libs/fomantic-ui/2.8.4/themes/default/assets/fonts/outline-icons.ttf', 'https://cdnjs.cloudflare.com/ajax/libs/fomantic-ui/2.8.4/themes/default/assets/fonts/outline-icons.ttf',
'https://cdnjs.cloudflare.com/ajax/libs/fomantic-ui/2.8.4/themes/default/assets/fonts/brand-icons.woff2', 'https://cdnjs.cloudflare.com/ajax/libs/fomantic-ui/2.8.4/themes/default/assets/fonts/brand-icons.woff2',
'https://cdnjs.cloudflare.com/ajax/libs/fomantic-ui/2.8.4/themes/default/assets/fonts/icons.woff2', 'https://cdnjs.cloudflare.com/ajax/libs/fomantic-ui/2.8.4/themes/default/assets/fonts/icons.woff2',
'https://cdnjs.cloudflare.com/ajax/libs/fomantic-ui/2.8.4/themes/default/assets/fonts/outline-icons.woff2' 'https://cdnjs.cloudflare.com/ajax/libs/fomantic-ui/2.8.4/themes/default/assets/fonts/outline-icons.woff2'
],
'application/x-font-ttf' => [
DI\string(implode('/', ['{urls.fonts}', 'metro.ttf']))
] ]
], ],
(object) [ 'scripts' => [
'script' => 'https://friconix.com/cdn/friconix.js' 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js',
], 'https://cdnjs.cloudflare.com/ajax/libs/fomantic-ui/2.8.4/semantic.min.js',
(object) [ 'https://friconix.com/cdn/friconix.js'
'style' => implode('/', ['assets', 'styles', 'metro.css']),
'fonts' => [
'https://fonts.googleapis.com/css?family=Roboto&subset=latin&display=swap'
],
'xfont' => [
implode('/', ['assets', 'fonts', 'metro.ttf'])
]
]
] ]
]; ];

View File

@ -17,10 +17,14 @@ return [
'fonts' => $container->get('urls.fonts') 'fonts' => $container->get('urls.fonts')
], ],
'notaria_turno' => $container->get('urls.notaria.turno'), 'notaria_turno' => $container->get('urls.notaria.turno'),
'play_store' => $container->get('urls.play.store'), 'atencion' => (object) [
'play_store_logo' => $container->get('urls.play.store.logo') 'url' => $container->get('urls.atencion'),
'logo' => $container->get('urls.atencion.logo')
]
], ],
'assets' => $container->get('assets') 'styles' => $container->get('styles'),
'fonts' => $container->get('fonts'),
'scripts' => $container->get('scripts')
] ]
); );
}, },

View File

@ -4,9 +4,20 @@ namespace ProVM\NotariaRaby\Common\Controller\Web\Admin;
use Psr\Http\Message\ServerRequestInterface as Request; use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Message\ResponseInterface as Response; use Psr\Http\Message\ResponseInterface as Response;
use Slim\Views\Blade as View; use Slim\Views\Blade as View;
use ProVM\Common\Service\Filemanager;
class Admin { class Admin {
public function __invoke(Request $request, Response $response, View $view): Response { public function __invoke(Request $request, Response $response, Filemanager $filemanager, View $view): Response {
return $view->render($response, 'admin.admin'); $filename = 'aviso.yml';
$aviso = $filemanager->folder('data')->load($filename);
if (!$aviso) {
$aviso = (object) [
'titulo' => '',
'contenido' => '',
'activo' => false
];
}
$transparencia = $filemanager->folder('data')->load('transparencia.yml')->activo;
return $view->render($response, 'admin.admin', compact('aviso', 'transparencia'));
} }
} }

View File

@ -3,43 +3,36 @@ namespace ProVM\NotariaRaby\Common\Controller\Web\Admin;
use Psr\Http\Message\ServerRequestInterface as Request; use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Message\ResponseInterface as Response; use Psr\Http\Message\ResponseInterface as Response;
use Slim\Views\Blade as View;
use ProVM\Common\Service\Filemanager; use ProVM\Common\Service\Filemanager;
class Notificacion { class Notificacion {
public function __invoke(Request $request, Response $response, View $view, Filemanager $filemanager): Response { public function do_edit(Request $request, Response $response, Filemanager $filemanager): Response {
$filename = 'notificacion.yml';
$notificacion = $filemanager->load($filename);
if (!$notificacion) {
$notificacion = (object) [
'title' => '',
'text' => '',
'active' => false
];
}
return $view->render($response, 'admin.notificacion.show', compact('notificacion'));
}
public function do_edit(Request $request, Response $response, View $view, Filemanager $filemanager): Response {
$post = $request->getParsedBody(); $post = $request->getParsedBody();
$filename = 'notificacion.yml'; $filename = 'aviso.yml';
$notificacion = $filemanager->load($filename); $notificacion = $filemanager->folder('data')->load($filename);
if (!$notificacion) { if (!$notificacion) {
$notificacion = (object) [ $notificacion = (object) [
'title' => '', 'titulo' => '',
'text' => '', 'contenido' => '',
'active' => false 'activo' => false
]; ];
} }
$notificacion->title = $post['title']; if (isset($post['titulo'])) {
$notificacion->text = $post['text']; $notificacion->titulo = trim($post['titulo']);
$notificacion->active = (isset($post['active']) and $post['active'] == 'on') ? true : false; $notificacion->contenido = trim($post['contenido']);
$filemanager->save($filename, $notificacion); }
if (isset($post['activo'])) {
$notificacion->activo = json_decode($post['activo']);
}
$filemanager->folder('data')->save($filename, $notificacion);
$output = [
'informacion' => $post,
'editado' => $notificacion
];
$response->getBody()->write(json_encode($output));
return $response return $response
->withHeader('Location', implode('/', [ ->withHeader('Content-Type', 'application/json')
$container->get('urls.base'), ->withStatus(201);
'admin',
'notificacion'
]))
->withStatus(302);
} }
} }

View File

@ -0,0 +1,34 @@
<?php
namespace ProVM\NotariaRaby\Common\Controller\Web\Admin;
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Message\ResponseInterface as Response;
use ProVM\Common\Service\Filemanager;
class Transparencia {
public function do_edit(Request $request, Response $response, Filemanager $filemanager): Response {
$post = $request->getParsedBody();
$filename = 'transparencia.yml';
$transparencia = $filemanager->folder('data')->load($filename);
if (!$transparencia) {
$transparencia = (object) [
'descripcion' => '',
'funciones' => '',
'activo' => false
];
}
if (isset($post['activo'])) {
$transparencia->activo = json_decode($post['activo']);
}
$filemanager->folder('data')->save($filename, $transparencia);
$output = [
'informacion' => $post,
'editado' => $transparencia
];
$response->getBody()->write(json_encode($output));
return $response
->withHeader('Content-Type', 'application/json')
->withStatus(201);
}
}

View File

@ -7,6 +7,26 @@ use Slim\Views\Blade as View;
class Contacto { class Contacto {
public function __invoke(Request $request, Response $response, View $view): Response { public function __invoke(Request $request, Response $response, View $view): Response {
return $view->render($response, 'contacto'); $google = (object) [
'api' => ''
];
$map = (object) [
'lat' => -33.415938,
'long' => -70.591688
];
$url = 'https://www.google.com/maps/embed/v1/place?q=notaria+patricio+raby&key=AIzaSyBFw0Qbyq9zTFTd-tUY6dZWTgaQzuU17R8';
$url = 'https://maps.google.com/maps?hl=es&amp;q=Notaria%20Patricio%20Raby+(Notaria%20Patricio%20Raby)&amp;ie=UTF8&amp;z=16&amp;iwloc=B&amp;output=embed';
return $view->render($response, 'contacto', compact('url'));
}
public function formulario(Request $request, Response $response): Response {
$post = $request->getParsedBody();
$output = [
'informacion' => $post
];
$response->getBody()->write(json_encode($output));
return $response
->withHeader('Content-Type', 'application/json')
->withStatus(201);
} }
} }

View File

@ -5,39 +5,24 @@ use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Message\ResponseInterface as Response; use Psr\Http\Message\ResponseInterface as Response;
use Psr\Container\ContainerInterface as Container; use Psr\Container\ContainerInterface as Container;
use Slim\Views\Blade as View; use Slim\Views\Blade as View;
use ProVM\Common\Service\Filemanager;
class Home { class Home {
public function __invoke(Request $request, Response $response, View $view, Container $container): Response { public function __invoke(Request $request, Response $response, View $view, Filemanager $manager, Container $container): Response {
$banner = (object) [ $banner = (object) [
'titulo' => "5° NOTARÍA DE SANTIAGO\nPATRICIO RABY BENAVENTE", 'titulo' => "5° NOTARÍA DE SANTIAGO\nPATRICIO RABY BENAVENTE",
'contenido' => "Gertrudis Echenique 30, of. 32, El Golf\n<span class=\"icon-metro\"></span> Metro Alcantara" 'contenido' => "Gertrudis Echenique 30, of. 32, El Golf\n<span class=\"icon-metro\"></span> Metro Alcantara"
]; ];
$suplente = (object) [
'datos' => (object) [
'fechas' => "DEL 1 DE ABRIL AL 15 DE MAYO",
'nombre' => "MARIA VIRGINIA\nWIELANDT COVARRUBIAS"
]
];
$links = (object) [ $links = $manager->folder('data')->load('documentos.yml');
'documentos' => [ array_walk($links->documentos, function(&$item) use ($container) {
new Documento($container, 'Autorizaciones'), $item = new Documento($container, $item->texto, $item->uri);
new Documento($container, 'Declaraciones'), });
new Documento($container, 'Certificados'), array_walk($links->consulta, function(&$item) {
new Documento($container, 'Poderes'), $item = new Link($item->texto, $item->uri);
new Documento($container, 'Contratos'), });
new Documento($container, 'Otros') $aviso = $manager->folder('data')->load('aviso.yml');
], return $view->render($response, 'home', compact('banner', 'aviso', 'links'));
'consulta' => [
new Link('Servicios de Impuestos Internos', 'http://www.sii.cl'),
new Link('Registro Civil', 'http://www.registrocivil.cl'),
new Link('Conservador de Bienes Raices', ''),
new Link('Diario Oficial', ''),
new Link('Tesorería General de la República', ''),
new Link('Fojas', '')
]
];
return $view->render($response, 'home', compact('banner', 'suplente', 'links'));
} }
} }
@ -46,16 +31,18 @@ class Documento {
protected $texto; protected $texto;
protected $uri; protected $uri;
public function __construct(Container $container, string $nombre) { public function __construct(Container $container, string $nombre, string $uri = '') {
$this->icono = implode('/', [$container->get('urls.images'), $nombre . '.png']); $this->icono = implode('/', [$container->get('urls.images'), $nombre . '.png']);
$this->texto = $nombre; $this->texto = $nombre;
$this->uri = $uri;
if ($uri == '') {
$this->uri = implode('/', [$container->get('urls.base'), 'documentos', strtolower($nombre)]); $this->uri = implode('/', [$container->get('urls.base'), 'documentos', strtolower($nombre)]);
} }
}
public function show(): string { public function show(): string {
return '<a href="' . $this->uri . '"><img src="' . $this->icono . '" /> ' . $this->texto . '</a>'; return '<a href="' . $this->uri . '"><img src="' . $this->icono . '" /> ' . $this->texto . '</a>';
} }
} }
class Link { class Link {
protected $uri; protected $uri;
protected $texto; protected $texto;

View File

@ -10,6 +10,8 @@ class Notaria {
public function __invoke(Request $request, Response $response, View $view, Filemanager $filemanager): Response { public function __invoke(Request $request, Response $response, View $view, Filemanager $filemanager): Response {
$filename = 'equipos.yml'; $filename = 'equipos.yml';
$equipos = $filemanager->folder('data')->load($filename); $equipos = $filemanager->folder('data')->load($filename);
return $view->render($response, 'notaria', compact('equipos')); $filename = 'transparencia.yml';
$transparencia = $filemanager->folder('data')->load($filename);
return $view->render($response, 'notaria', compact('equipos', 'transparencia'));
} }
} }

View File

@ -72,7 +72,7 @@ class Filemanager {
$data = (array) $data; $data = (array) $data;
} }
if (is_array($data)) { if (is_array($data)) {
$data = implode(PHP_EOL, $data); $data = Yaml::YAMLDump($data, false, false, true);
} }
$filename = $this->fullPath($filename); $filename = $this->fullPath($filename);
file_put_contents($filename, $data); file_put_contents($filename, $data);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

View File

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 373 KiB

View File

@ -0,0 +1,7 @@
#contacto {
padding-top: 1rem;
padding-bottom: 1rem;
}
#contacto #map {
margin-top: 3rem;
}

View File

@ -0,0 +1,128 @@
#banner {
background-repeat: no-repeat;
background-position: center;
background-size: 1900px auto;
background-blend-mode: multiply;
color: white;
}
#banner .segment {
padding-left: 0 !important;
}
#banner .content {
padding-top: 3rem;
padding-bottom: 3rem;
}
#banner .content .header {
font-size: 1.5rem;
}
#banner .content .description {
font-size: 1.3rem;
}
#suplente {
min-height: 20rem;
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
#suplente .grid {
margin: 0 !important;
}
#suplente .row {
padding: 0 !important;
}
#suplente .horario {
padding-left: 0 !important;
}
#suplente .horario .header {
font-size: 1.3rem;
}
#suplente .mensaje {
background-repeat: no-repeat;
background-position: center;
background-size: 100% auto;
height: 14rem;
display: table;
}
#suplente .mensaje .middle {
display: table-cell;
vertical-align: bottom;
}
#suplente .mensaje .button {
margin-bottom: 1rem;
}
#numero {
background-position: center;
background-attachment: fixed;
height: 15rem;
margin: 0 !important;
display: block;
}
#numero::before {
clear: both;
}
#numero .grid {
margin: 0 !important;
}
#numero .column {
display: table;
height: 13rem;
}
#numero a {
display: table-cell;
vertical-align: middle;
}
#numero a .button {
font-family: Roboto !important;
font-size: 1.3rem !important;
font-weight: 900 !important;
background-color: rgba(0, 30, 70, 0.8) !important;
}
#servicios {
background-color: rgba(0, 0, 0, .05);
padding-top: 3rem;
padding-bottom: 3rem;
min-height: 25rem;
font-family: Roboto;
}
#servicios .list img {
height: 1.2rem;
margin-right: 1rem;
}
#servicios .list a {
color: inherit;
}
#servicios .titulo {
font-weight: bold;
font-size: 16pt;
}
#servicios .seguimiento {
background-repeat: no-repeat;
background-position: center;
background-size: cover;
}
#indice .grid {
margin: 0 !important;
}
#indice .row {
padding: 0 !important;
}
#indice .img,
#indice .img img {
max-height: 20rem !important;
}
#indice .contenido {
padding-top: 9rem !important;
color: rgba(0, 0, 0, 0.9) !important;
}
#indice .contenido .titulo {
font-size: 20pt;
font-weight: bold;
}
#indice .contenido .list .item {
font-size: 14pt !important;
color: inherit;
}

View File

@ -1,129 +1,20 @@
html { html {
font-family: Roboto, Arial !important; font-family: Roboto, Arial !important;
} }
#page_menu { .inverted.dark-blue {
height: 60px; background-color: #003662 !important;
font-size: 12pt !important; }
.inverted.dark-blue.button {
border: 0;
box-shadow: none !important;
} }
#page_menu .brand { #page_menu .brand {
font-family: Helvetica, Arial !important; font-family: Helvetica, Arial !important;
font-weight: 900 !important; font-weight: 900 !important;
font-size: 25pt; font-size: 2rem;
} }
#page_menu .item:first-child {
.banner { padding-left: 0 !important;
background-repeat: no-repeat;
background-position: center;
background-size: 100% 330px;
height: 330px;
}
.banner .mensaje {
font-size: 18pt;
color: white;
width: 550px;
padding: 75px;
}
.banner .mensaje .titulo {
font-size: 20pt;
font-weight: bold;
}
.suplente {
height: 330px;
padding-top: 50px !important;
}
.suplente>div {
display: inline-block;
}
.suplente .mensaje {
background-repeat: no-repeat;
background-position: center;
height: 230px;
}
.suplente .mensaje .row {
margin-top: 50px;
height: 160px;
}
.suplente .mensaje .row .column,
.suplente .mensaje .row .column .segment {
width: 340px !important;
border: 0;
padding: 0 !important;
background-color: rgb(255, 255, 255, 0.5)
}
.numero {
background-position: center;
background-attachment: fixed;
height: 200px;
}
.numero .segment {
background-color: rgba(0, 0, 30, .9) !important;
margin-top: 50px !important;
padding: 0 !important;
padding-top: 10px !important;
border: 0 !important;
height: 70px;
width: 290px !important;
}
.numero a {
font-family: Roboto;
color: white;
font-size: 12pt;
font-weight: 900;
}
#servicios {
background-color: rgba(0, 0, 0, .05);
padding-top: 50px;
padding-bottom: 50px;
height: 440px;
font-family: Roboto;
}
#servicios .separator {
width: 60px;
}
#servicios .list {
width: 285px !important;
font-size: 14pt;
color: rgba(0, 0, 0, 0.9)
}
#servicios .list img {
width: 20px;
margin-right: 20px;
}
#servicios .list a {
color: inherit;
}
#servicios .titulo {
font-weight: bold;
font-size: 16pt;
}
#servicios .seguimiento {
background-repeat: no-repeat;
background-position: center;
background-size: 345px 340px;
width: 345px !important;
}
#indice .img,
#indice .img img {
width: 780px !important;
height: 310px !important;
}
#indice .contenido {
padding-top: 60px !important;
width: 300px !important;
color: rgba(0, 0, 0, 0.9) !important;
}
#indice .contenido .titulo {
font-size: 20pt;
font-weight: bold;
}
#indice .contenido .list .item {
font-size: 14pt !important;
color: inherit;
} }
footer { footer {
@ -131,18 +22,27 @@ footer {
height: 260px; height: 260px;
font-family: Roboto; font-family: Roboto;
} }
footer .grid {
margin: 0 !important;
}
footer .main { footer .main {
height: 230px !important; min-height: 16rem !important;
padding-top: 30px !important; padding-top: 30px !important;
} }
footer a { footer a {
color: inherit; color: inherit;
} }
footer>.menu { footer .grey {
font-size: 10pt !important;
color: rgba(0, 0, 0, 0.7) !important;
background-color: rgba(0, 0, 0, 0.1) !important; background-color: rgba(0, 0, 0, 0.1) !important;
height: 30px !important; color: rgba(0, 0, 0, 0.7) !important;
min-height: 3rem !important;
}
footer nav.menu {
font-size: 10pt !important;
border: 0 !important;
}
footer nav.menu .item:first-child {
padding-left: 0 !important;
} }

3
resources/data/aviso.yml Normal file
View File

@ -0,0 +1,3 @@
activo: false
titulo: ""
contenido: ""

View File

@ -1,7 +1,38 @@
documentos: documentos:
- titulo: Autorizaciones - texto: Autorizaciones
- titulo: Declaraciones uri: https://www.notarial.cl/autorizacion-viajes.php
- titulo: Certificados - texto: Vehículos
- titulo: Poderes uri: https://www.notarial.cl/vehiculos.php
- titulo: Contratos - texto: Poderes bancarios
- titulo: Otros uri: https://www.notarial.cl/notarial_ingreso_sbif2.php
- texto: Poder
uri: https://www.notarial.cl/poder.php
- texto: Renovación de Poderes
uri: https://www.notarial.cl/revocacion-de-poder.php
- texto: Declaraciones
uri: https://www.notarial.cl/declaracion.php
- texto: Contratos y Otros
uri: https://www.notarial.cl/contratos-otros.php
- texto: Laboral
uri: https://www.notarial.cl/laboral.php
- texto: Extranjeros
uri: https://www.notarial.cl/inv-extranjero.php
consulta:
- texto: Servicio de Impuestos Internos
uri: http://www.sii.cl
- texto: Registro Civil
uri: http://www.registrocivil.cl
- uri: http://www.conservador.cl
texto: Conservador
- uri: http://www.diarioficial.cl
texto: Diario Oficial
- uri: http://www.tesoreria.cl
texto: Tesorería
- uri: http://www.notariosyconservadores.cl
texto: Notarios y Conservadores
- uri: http://www.poderjudicial.cl
texto: Poder Judicial
- uri: http://www.bcn.cl
texto: Biblioteca del Congreso Nacional
- uri: http://www.fojas.cl
texto: Fojas

View File

@ -0,0 +1,44 @@
activo: false
descripcion: 'La función del notario Público se encuentra regida por las normas establecidas en el Título XI párrafo 7 artículo 399 al 445 del Código Orgánico de tribunales. Son funciones del Notario, entre otras, las contenidas en el artículo 401 del código señalado y que se expresan a continuación:'
funciones:
- >
Extender los instrumentos públicos con
arreglo a las instrucciones que, de
palabra o por escrito, les dieren las
partes otorgantes.
- Levantar inventarios solemnes.
- >
Efectuar protestos de letras de cambio y
demás documentos mercantiles.
- >
Notificar los traspasos de acciones,
constituciones y notificaciones de
prendas que se les solicitaren.
- >
Asistir a las juntas generales de
accionistas de sociedades anónimas,
para los efectos que la ley o reglamento
de ellas lo exigieren.
- >
En general dar fe de los hechos para que
fueren requeridos y que no estuvieren
encomendados a otros funcionarios.
- >
Guardar y conservar en riguroso orden
cronológico los documentos que ante
ellos se otorguen, en forma de precaver
todo extravío y hacer fácil y expedito
su examen.
- >
Otorgar certificados o testimonios de
los actos celebrados ante ellos o
protocolizados en sus registros.
- >
Facilitar a cualquiera persona que lo
solicite el examen de los instrumentos
públicos que ante ellos se otorguen y
documentos que se protocolicen.
- >
Autorizar las firmas que se estampen en
documentos privados, sea en su presencia
o cuya autenticidad les conste.

View File

@ -0,0 +1,13 @@
activo: true
descripcion: "La función del notario Público se encuentra regida por las normas establecidas en el Título XI párrafo 7 artículo 399 al 445 del Código Orgánico de tribunales. Son funciones del Notario, entre otras, las contenidas en el artículo 401 del código señalado y que se expresan a continuación:"
funciones:
- Extender los instrumentos públicos con arreglo a las instrucciones que, de palabra o por escrito, les dieren las partes otorgantes.
- Levantar inventarios solemnes.
- Efectuar protestos de letras de cambio y demás documentos mercantiles.
- "Notificar los traspasos de acciones, constituciones y notificaciones de prendas que se les solicitaren."
- Asistir a las juntas generales de accionistas de sociedades anónimas, para los efectos que la ley o reglamento de ellas lo exigieren.
- En general dar fe de los hechos para que fueren requeridos y que no estuvieren encomendados a otros funcionarios.
- Guardar y conservar en riguroso orden cronológico los documentos que ante ellos se otorguen, en forma de precaver todo extravío y hacer fácil y expedito su examen.
- Otorgar certificados o testimonios de los actos celebrados ante ellos o protocolizados en sus registros.
- Facilitar a cualquiera persona que lo solicite el examen de los instrumentos públicos que ante ellos se otorguen y documentos que se protocolicen.
- Autorizar las firmas que se estampen en documentos privados, sea en su presencia o cuya autenticidad les conste.

View File

@ -2,6 +2,5 @@
use ProVM\NotariaRaby\Common\Controller\Web\Admin\Notificacion; use ProVM\NotariaRaby\Common\Controller\Web\Admin\Notificacion;
$app->group('/notificacion', function($app) { $app->group('/notificacion', function($app) {
$app->get('[/]', Notificacion::class);
$app->post('[/]', [Notificacion::class, 'do_edit']); $app->post('[/]', [Notificacion::class, 'do_edit']);
}); });

View File

@ -0,0 +1,6 @@
<?php
use ProVM\NotariaRaby\Common\Controller\Web\Admin\Transparencia;
$app->group('/transparencia', function($app) {
$app->post('[/]', [Transparencia::class, 'do_edit']);
});

View File

@ -2,5 +2,6 @@
use ProVM\NotariaRaby\Common\Controller\Web\Contacto; use ProVM\NotariaRaby\Common\Controller\Web\Contacto;
$app->group('/contacto', function($app) { $app->group('/contacto', function($app) {
$app->post('[/]', [Contacto::class, 'formulario']);
$app->get('[/]', Contacto::class); $app->get('[/]', Contacto::class);
}); });

View File

@ -1,5 +1,17 @@
@extends('admin.layout.base') @extends('admin.layout.base')
@section('content') @section('content')
<div id="admin">
<div class="ui container">
<div class="ui stackable two columns grid">
<div class="column">
@include('admin.formulario')
</div>
<div class="column">
@include('admin.documentos')
</div>
</div>
</div>
</div>
<br />
@endsection @endsection

View File

@ -0,0 +1,12 @@
<div class="item">
<div class="ui grid">
<div class="eight wide column">
{{$descripcion}}
</div>
<div class="column">
<a href="{{$urls->base}}/{{$link}}">
@include('admin.uicon')
</a>
</div>
</div>
</div>

View File

@ -0,0 +1,33 @@
<h4>
Carga de documentos
</h4>
<div class="ui list">
@include('admin.documento', ['descripcion' => 'Escrituras Públicas', 'link' => '#'])
@include('admin.documento', ['descripcion' => 'Balances Anuales', 'link' => '#'])
@include('admin.documento', ['descripcion' => 'Interés y Patrimonio', 'link' => '#'])
@include('admin.documento', ['descripcion' => 'Infrormes Fiscalía', 'link' => '#'])
@include('admin.documento', ['descripcion' => 'Valores', 'link' => '#'])
</div>
<h4>
Transparencia
</h4>
<div class="ui toggle checkbox" id="transparencia">
<label>Activar</label>
<input type="checkbox" name="transparencia"
@if ($transparencia)
checked="checked"
@endif
/>
</div>
@push('scripts')
<script type="text/javascript">
$(document).ready(function() {
$('#transparencia').checkbox()
$('#transparencia').click(function() {
var status = $(this).checkbox('is checked')
$.post('{{$urls->base}}/admin/transparencia', {'activo': status}, function(data) {}, 'json')
})
})
</script>
@endpush

View File

@ -0,0 +1,49 @@
<form class="ui form" id="formulario" method="post" action="#">
<div class="field">
<h4>
Aviso
</h4>
</div>
<div class="field">
<input type="text" name="titulo" placeholder="Título" value="{{$aviso->titulo}}" />
</div>
<div class="field">
<textarea name="contenido" placeholder="Mensaje">{{$aviso->contenido}}</textarea>
</div>
<div class="field">
<button class="ui inverted dark-blue button">Editar</button>
</div>
<div class="field">
<div class="ui toggle checkbox" id="activar">
<label>Activar</label>
<input type="checkbox" name="active"
@if ($aviso->activo)
checked="checked"
@endif
/>
</div>
</div>
</form>
@push('scripts')
<script type="text/javascript">
$(document).ready(function() {
$('#formulario').submit(function(e) {
e.preventDefault()
var titulo = $(this).find("[name='titulo']").val()
var contenido = $(this).find("[name='contenido']").val()
$.post('{{$urls->base}}/admin/notificacion', {titulo: titulo, contenido: contenido}, function(data) {
console.debug(data)
}, 'json')
return false
})
$('#activar').checkbox()
$('#activar').click(function() {
var status = $(this).checkbox('is checked')
$.post('{{$urls->base}}/admin/notificacion', {'activo': status}, function(data) {}, 'json')
})
})
</script>
@endpush

View File

@ -5,8 +5,8 @@
@endsection @endsection
@section('page_content') @section('page_content')
<div class="ui container"> <div class="ui fluid container">
@include('admin.layout.menu') <br />
@yield('content') @yield('content')
</div> </div>
@endsection @endsection

View File

@ -1,36 +0,0 @@
@extends('admin.layout.base')
@section('content')
<form class="ui form" method="post" action="{{$urls->base}}/admin/notificacion">
<div class="inline field">
<label>T&iacute;tulo</label>
<input type="text" name="title" value="{{$notificacion->title}}" />
</div>
<div class="six wide field">
<label>Texto</label>
<textarea name="text">
{{$notificacion->text}}
</textarea>
</div>
<div class="inline field">
<div class="ui slider checkbox" id="activar">
<label>Activar</label>
<input type="checkbox" name="active"
@if ($notificacion->active)
checked="checked"
@endif
/>
</div>
</div>
<button class="ui button">Editar</button>
</form>
<br />
@endsection
@push('scripts')
<script type="text/javascript">
$(document).ready(function() {
$('#activar').checkbox()
})
</script>
@endpush

View File

@ -0,0 +1,4 @@
<i class="icons">
<i class="large square outline icon"></i>
<i class="small up chevron icon"></i>
</i>

View File

@ -0,0 +1,68 @@
@extends('layout.base')
@section('page_content')
<div class="ui container" id="contacto">
<div class="ui stackable two columns grid">
<div class="column">
<form class="ui form" id="formulario" method="post" action="{{$urls->base}}/contacto">
<div class="field">
<div class="ui grid">
<div class="three wide column">
<h3>
CONTACTO
</h3>
</div>
<div class="thirteen wide column">
Canal de consultas, reclamos y sugerencias
</div>
</div>
</div>
<div class="field">
<input type="text" name="nombre" placeholder="Nombre" />
</div>
<div class="field">
<input type="text" name="telefono" placeholder="Teléfono" />
</div>
<div class="field">
<input type="text" name="email" placeholder="Email" />
</div>
<div class="field">
<textarea name="mensaje" placeholder="Mensaje"></textarea>
</div>
<div class="field">
<button class="ui inverted dark-blue button">Enviar</button>
</div>
</form>
</div>
<div class="column">
<div class="ui embed" id="map" data-source="Google Maps" data-url="{{$url}}"></div>
</div>
</div>
</div>
@endsection
@push('styles')
<link rel="stylesheet" type="text/css" href="{{$urls->assets->styles}}/contacto.css" />
@endpush
@push('scripts')
<script type="text/javascript">
$(document).ready(function() {
$('#formulario').submit(function(e) {
e.preventDefault()
var nombre = $(this).find("[name='nombre']").val()
var telefono = $(this).find("[name='telefono']").val()
var email = $(this).find("[name='email']").val()
var mensaje = $(this).find("[name='mensaje']").val()
$.post('{{$urls->base}}/contacto', {nombre: nombre, telefono: telefono, email: email, mensaje: mensaje}, function(data) {
console.debug(data)
}, 'json')
return false
})
$('#map').embed()
})
</script>
@endpush

View File

@ -6,4 +6,9 @@
@include('home.numero') @include('home.numero')
@include('home.links') @include('home.links')
@include('home.indice') @include('home.indice')
@include('home.aviso')
@endsection @endsection
@push('styles')
<link rel="stylesheet" type="text/css" href="{{$urls->assets->styles}}/home.css" />
@endpush

View File

@ -0,0 +1,22 @@
<div class="ui inverted dark-blue mini modal" id="aviso">
<i class="close icon"></i>
<div class="inverted dark-blue header">
{{$aviso->titulo}}
</div>
<div class="inverted dark-blue content">
{!!nl2br($aviso->contenido)!!}
</div>
</div>
@push('scripts')
<script type="text/javascript">
$(document).ready(function() {
$('#aviso').modal({
centered: false
})
@if ($aviso->activo)
$('#aviso').modal('show')
@endif
})
</script>
@endpush

View File

@ -1,13 +1,15 @@
<div class="banner"> <div id="banner">
<div class="ui container"> <div class="ui container">
<div class="ui basic segment">
@include('home.banner.pastilla') @include('home.banner.pastilla')
</div> </div>
</div> </div>
</div>
@push('styles') @push('styles')
<style type="text/css"> <style type="text/css">
.banner { #banner {
background-image: linear-gradient(to right, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0)), url('{{$urls->assets->images}}/Banner.jpg'); background-image: linear-gradient(to right, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0)), url('{{$urls->assets->images}}/banner2.webp');
} }
</style> </style>
@endpush @endpush

View File

@ -1,8 +1,15 @@
<div class="mensaje"> <div class="ui stackable grid">
<p class="titulo"> <div class="mensaje eight wide large column">
<div class="content">
<div class="header">
<strong>
{!!nl2br($banner->titulo)!!} {!!nl2br($banner->titulo)!!}
</p> </strong>
<p> </div>
{!!nl2br($banner->contenido)!!} <br />
</p> <div class="description">
{!!nl2br($banner->contenido)!!}
</div>
</div>
</div>
</div> </div>

View File

@ -1,18 +1,11 @@
<div class="ui container"> <div class="ui container" id="indice">
<div id="indice" class="ui grid"> <div class="ui stackable grid">
<div class="two columns row"> <div class="row">
<div class="column img"> <div class="ten wide column img">
<img src="{{$urls->assets->images}}/Indice.jpg" /> <img src="{{$urls->assets->images}}/Indice.jpg" />
</div> </div>
<div class="column contenido"> <div class="five wide column contenido">
<div class="titulo">&Iacute;NDICE</div> <div class="titulo">ESCRITURAS P&Uacute;BLICAS</div>
<br />
<nav class="ui divided list">
<a class="item" href="">Repertorios</a>
<a class="item" href="">Escrituras protocolizadas</a>
<a class="item" href="">Anotaciones</a>
<a class="item" href="">Repositorio</a>
</nav>
</div> </div>
</div> </div>
</div> </div>

View File

@ -1,17 +1,16 @@
<div id="servicios"> <div id="servicios">
<div class="ui container"> <div class="ui container">
<div class="ui grid"> <div class="ui stackable grid">
<div class="row" id="consultas"> <div class="row" id="consultas">
<div class="column"></div>
<div class="four wide column"> <div class="four wide column">
@include('home.links.documentos', ['title' => 'DOCUMENTOS ONLINE', 'items' => $links->documentos]) @include('home.links.documentos', ['title' => 'DOCUMENTOS ONLINE', 'items' => $links->documentos])
</div> </div>
<div class="column separator"></div> <div class="column"></div>
<div class="four wide column"> <div class="four wide column">
@include('home.links.consultas', ['title' => 'LINKS DE CONSULTA', 'items' => $links->consulta]) @include('home.links.consultas', ['title' => 'LINKS DE CONSULTA', 'items' => $links->consulta])
</div> </div>
<div class="column separator"></div> <div class="column"></div>
<div class="center aligned three wide column seguimiento" style="background-image: url('{{$urls->assets->images}}/Seguimiento.jpg')"> <div class="center aligned five wide column seguimiento" style="background-image: url('{{$urls->assets->images}}/Seguimiento.jpg')">
</div> </div>
</div> </div>
</div> </div>

View File

@ -1,13 +1,17 @@
<div class="ui center aligned grid numero" style="background-image: url('{{$urls->assets->images}}/Saca Número.jpg')"> <div id="numero" style="background-image: url('{{$urls->assets->images}}/numero.jpg')">
<div class="ui container">
<div class="ui center aligned stackable grid">
<div class="row"> <div class="row">
<div class="three wide column"> <div class="five wide column">
<div class="ui center aligned segment"> <a href="{{$urls->atencion->url}}">
<a href="{{$urls->play_store}}"> <button class="ui inverted dark-blue button">
<img src="{{$urls->assets->images}}/Google play.png" style="height: 32px;" /> <img src="{{$urls->atencion->logo}}" style="height: 32px;" />
<br /> <br />
N&Uacute;MERO DE ATENCI&Oacute;N ONLINE N&Uacute;MERO DE ATENCI&Oacute;N ONLINE
</button>
</a> </a>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div>

View File

@ -1,7 +1,8 @@
<div class="ui container"> <div class="ui container" id="suplente">
<div class="ui attached grid suplente"> <div class="ui stackable grid">
<div class="attached row"> <div class="row">
@include('home.suplente.horario') @include('home.suplente.horario')
<div class="column"></div>
@include('home.suplente.datos') @include('home.suplente.datos')
</div> </div>
</div> </div>

View File

@ -1,17 +1,5 @@
<div class="eleven wide column mensaje" style="background-image: url('{{$urls->assets->images}}/Notario Suplente.jpg')"> <div class="ten wide column center aligned mensaje" style="background-image: url('{{$urls->assets->images}}/Notario Suplente.jpg')">
<div class="ui center aligned grid"> <div class="middle">
<div class="row"> <button class="ui inverted dark-blue compact button">NOTAR&Iacute;A DE TURNO</button>
<div class="column">
<div class="ui center aligned segment">
<h4 style="padding: 0; margin: 0; font-size: 20pt;">NOTARIO SUPLENTE</h4>
<p style="font-size: 12pt;">
{!!nl2br($suplente->datos->fechas)!!}
</p>
<p class="center aligned" style="font-size: 18pt;">
{!!nl2br($suplente->datos->nombre)!!}
</p>
</div>
</div>
</div>
</div> </div>
</div> </div>

View File

@ -1,18 +1,22 @@
<div class="five wide column" style="padding: 2em;"> <div class="five wide column horario">
<h4> <div class="content">
Horario lunes a viernes <div class="header">
<strong>
Horario lunes a jueves
<br /> <br />
9:30-13:30 | 15:30-18:00 9:30-13:30 | 15:30-18:00
</h4> <br />
<p> Viernes
<br />
9:30-13:30 | 15:30-17:00
</strong>
</div>
<br />
<div class="description">
La atención dentro del horario, puede verse La atención dentro del horario, puede verse
afectada circunstancialmente y sin previo afectada circunstancialmente y sin previo
aviso, por encontrarse el notario cumpliendo aviso, por encontrarse el notario cumpliendo
funciones fuera de la Notaría. funciones fuera de la Notaría.
</p> </div>
<a href="{{$urls->notaria_turno}}"> </div>
<button class="ui inverted dark-blue button">
NOTAR&Iacute;A DE TURNO
</button>
</a>
</div> </div>

View File

@ -2,7 +2,7 @@
<html lang="es"> <html lang="es">
@include('layout.head') @include('layout.head')
<body> <body>
<div id="page_container"> <div id="page_container" class="ui fluid container">
@include('layout.header') @include('layout.header')
@yield('page_content') @yield('page_content')
@include('layout.footer') @include('layout.footer')

View File

@ -1,6 +1,7 @@
<footer> <footer>
<div class="inverted dark-blue"> <div class="inverted dark-blue">
<div class="ui inverted container grid main"> <div class="ui inverted container main">
<div class="ui stackable grid">
<div class="three columns row"> <div class="three columns row">
<div class="column"> <div class="column">
@include('layout.footer.horario') @include('layout.footer.horario')
@ -14,6 +15,7 @@
</div> </div>
</div> </div>
</div> </div>
</div>
@include('layout.footer.menu') @include('layout.footer.menu')
</footer> </footer>
@include('layout.scripts') @include('layout.scripts')

View File

@ -1,4 +1,5 @@
<nav class="ui container attached text menu"> <div class="grey">
<nav class="ui container attached text stackable menu">
<a class="item" href="{{$urls->base}}"> <a class="item" href="{{$urls->base}}">
Notar&iacute;a Notar&iacute;a
</a> </a>
@ -17,3 +18,4 @@
</div> </div>
</div> </div>
</nav> </nav>
</div>

View File

@ -1,21 +1,5 @@
<header class="ui dark-blue inverted"> <header class="ui dark-blue inverted">
<nav class="ui attached text menu inverted container" id="page_menu"> <div class="ui container">
<a class="left aligned item brand" href="{{$urls->base}}"> @include('layout.menu')
NOTAR&Iacute;A RABY
</a>
<div class="right menu">
<a class="item" href="{{$urls->base}}/notaria">
NOTAR&Iacute;A
</a>
<a class="item" href="{{$urls->base}}#servicios">
SERVICIOS
</a>
<a class="item" href="{{$urls->base}}#consultas">
CONSULTAS
</a>
<a class="item" href="{{$urls->base}}/contacto">
CONTACTO
</a>
</div> </div>
</nav>
</header> </header>

View File

@ -0,0 +1,19 @@
<nav class="ui inverted attached massive text stackable menu" id="page_menu">
<a class="left aligned item brand" href="{{$urls->base}}">
NOTAR&Iacute;A RABY
</a>
<div class="right menu">
<a class="item" href="{{$urls->base}}/notaria">
NOTAR&Iacute;A
</a>
<a class="item" href="{{$urls->base}}#servicios">
SERVICIOS
</a>
<a class="item" href="{{$urls->base}}#consultas">
CONSULTAS
</a>
<a class="item" href="{{$urls->base}}/contacto">
CONTACTO
</a>
</div>
</nav>

View File

@ -1,8 +1,8 @@
@foreach ($assets as $asset) @if (isset($scripts))
@if (isset($asset->script)) @foreach ($scripts as $script)
<script type="text/javascript" src="{{$asset->script}}"></script> <script type="text/javascript" src="{{$script}}"></script>
@endif
@endforeach @endforeach
@endif
<script type="text/javascript" src="{{$urls->assets->scripts}}/main.js"></script> <script type="text/javascript" src="{{$urls->assets->scripts}}/main.js"></script>

View File

@ -1,30 +1,16 @@
<link rel="shortcut icon" type="image/png" href="{{$urls->assets->images}}/favicon.png" /> <link rel="shortcut icon" type="image/png" href="{{$urls->assets->images}}/favicon.png" />
<link rel="stylesheet" type="text/css" href="{{$urls->assets->styles}}/main.css" /> <link rel="stylesheet" type="text/css" href="{{$urls->assets->styles}}/main.css" />
@foreach ($assets as $asset) @if (isset($styles))
@if (isset($asset->style)) @foreach ($styles as $style)
<link rel="stylesheet" type="text/css" href="{{$asset->style}}" /> <link type="text/css" rel="stylesheet" href="{{$style}}" />
@endif
@if (isset($asset->fonts))
@foreach ($asset->fonts as $font)
<link rel="stylesheet" href="{{$font}}" />
@endforeach @endforeach
@endif @endif
@if (isset($asset->xfont)) @if (isset($fonts))
@foreach ($asset->xfont as $font) @foreach ($fonts as $type => $fs)
<link type="application/x-font-ttf" href="{{$font}}" /> @foreach ($fs as $font)
<link type="{{(!is_numeric($type)) ? $type : 'text/css'}}" href="{{$font}}" />
@endforeach
@endforeach @endforeach
@endif @endif
@if (isset($asset->octet))
@foreach ($asset->octet as $font)
<link type="application/octet-stream" href="{{$font}}" />
@endforeach
@endif
@endforeach
<style type="text/css">
.inverted.dark-blue {
background-color: #003662 !important;
}
</style>
@stack('styles') @stack('styles')

View File

@ -0,0 +1,3 @@
<?php
$_ENV = 'web';
include_once 'app.php';

View File

@ -1,5 +1,5 @@
<div class="ui container" id="equipos"> <div class="ui container" id="equipos">
<div class="ui grid"> <div class="ui stackable grid">
<div class="two column row"> <div class="two column row">
<div class="column"> <div class="column">
@foreach ($equipos as $i => $equipo) @foreach ($equipos as $i => $equipo)

View File

@ -1,72 +1,31 @@
@if ($transparencia->activo)
<div id="transparencia"> <div id="transparencia">
<div class="ui container"> <div class="ui container">
<div class="ui grid"> <div class="ui stackable grid">
<div class="three column row"> <div class="three column row">
<div class="ten wide column"> <div class="ten wide column">
<p> <p>
{{$transparencia->descripcion}}
La functi&oacute;n del notario P&uacute;blico se encuentra regida por las normas establecidas en el Título XI párrafo 7 La functi&oacute;n del notario P&uacute;blico se encuentra regida por las normas establecidas en el Título XI párrafo 7
artículo 399 al 445 del Código Orgánico de tribunales. artículo 399 al 445 del Código Orgánico de tribunales.
Son funciones del Notario, entre otras, las contenidas en el artículo 401 del código señalado y que se Son funciones del Notario, entre otras, las contenidas en el artículo 401 del código señalado y que se
expresan a continuación expresan a continuación
</p> </p>
<div class="ui grid"> <div class="ui stackable grid">
<div class="two column row"> <div class="two column row">
<div class="column"> <div class="column">
<div class="ui list"> <div class="ui list">
<div class="item"> @foreach ($transparencia->funciones as $i => $funcion)
1. Extender los instrumentos públicos con @if (($i) % 6 == 0 and $i > 0)
arreglo a las instrucciones que, de palabra o por
escrito, les dieren las partes otorgantes.
</div>
<div class="item">
2. Levantar inventarios solemnes.
</div>
<div class="item">
3. Efectuar protestos de letras de cambio y
demás documentos mercantiles.
</div>
<div class="item">
4. Notificar los traspasos de acciones,
constituciones y notificaciones de prendas que
se les solicitaren.
</div>
<div class="item">
5. Asistir a las juntas generales de
accionistas de sociedades anónimas, para los
efectos que la ley o reglamento de ellas lo
exigieren.
</div>
<div class="item">
6. En general dar fe de los hechos para que
fueren requeridos y que no estuvieren
encomendados a otros funcionarios.
</div>
</div> </div>
</div> </div>
<div class="column"> <div class="column">
<div class="ui list"> <div class="ui list">
@endif
<div class="item"> <div class="item">
7. Guardar y conservar en riguroso orden {{$i + 1}}. {{$funcion}}
cronológico los documentos que ante ellos se
otorguen, en forma de precaver todo extravío y
hacer fácil y expedito su examen.
</div>
<div class="item">
8. Otorgar certificados o testimonios de los
actos celebrados ante ellos o protocolizados en
sus registros.
</div>
<div class="item">
9. Facilitar a cualquiera persona que lo solicite
el examen de los instrumentos públicos que ante
ellos se otorguen y documentos que se
protocolicen.
</div>
<div class="item">
10. Autorizar las firmas que se estampen en
documentos privados, sea en su presencia o cuya
autenticidad les conste.
</div> </div>
@endforeach
</div> </div>
</div> </div>
</div> </div>
@ -85,3 +44,4 @@
</div> </div>
</div> </div>
</div> </div>
@endif