separate forms and add validations
This commit is contained in:
parent
f93742287b
commit
8ef65ce002
7 changed files with 165 additions and 139 deletions
38
app/Livewire/ConsultaDireccio.php
Normal file
38
app/Livewire/ConsultaDireccio.php
Normal file
|
@ -0,0 +1,38 @@
|
|||
<?php
|
||||
|
||||
namespace App\Livewire;
|
||||
|
||||
use Livewire\Component;
|
||||
use App\Models\Habitatge;
|
||||
use Livewire\Attributes\Validate;
|
||||
|
||||
class ConsultaDireccio extends Component
|
||||
{
|
||||
public $direccio = null;
|
||||
protected $messages = [
|
||||
'direccio.required' => 'El camp és obligatori.',
|
||||
'direccio.min' => 'El camp ha de tenir al menys 3 caràcters.'
|
||||
];
|
||||
public $habitatges;
|
||||
public $init = 0;
|
||||
public function render()
|
||||
{
|
||||
return view('livewire.consulta-direccio');
|
||||
}
|
||||
|
||||
public function consultaCarrer()
|
||||
{
|
||||
$this->validate([
|
||||
'direccio' => 'required|min:3'
|
||||
]);
|
||||
$this->init = 1;
|
||||
$this->habitatges = Habitatge::where('direccio', 'like', '%'.$this->direccio.'%')->get();
|
||||
}
|
||||
|
||||
public function esborraDireccions()
|
||||
{
|
||||
$this->habitatges = null;
|
||||
$this->init = 0;
|
||||
}
|
||||
|
||||
}
|
37
app/Livewire/ConsultaSignatura.php
Normal file
37
app/Livewire/ConsultaSignatura.php
Normal file
|
@ -0,0 +1,37 @@
|
|||
<?php
|
||||
|
||||
namespace App\Livewire;
|
||||
|
||||
use Livewire\Component;
|
||||
use App\Models\Habitatge;
|
||||
use Livewire\Attributes\Validate;
|
||||
|
||||
class ConsultaSignatura extends Component
|
||||
{
|
||||
public $signatura = null;
|
||||
protected $messages = [
|
||||
'signatura.required' => 'El camp és obligatori.',
|
||||
'signatura.min' => 'El camp ha de tenir al menys 5 caràcters.',
|
||||
'signatura.regex' => 'El camp ha de contenir /'
|
||||
];
|
||||
public $habitatge;
|
||||
public $init = 0;
|
||||
public function render()
|
||||
{
|
||||
return view('livewire.consulta-signatura');
|
||||
}
|
||||
|
||||
public function consulta()
|
||||
{
|
||||
$this->validate([
|
||||
'signatura' => 'required|min:6|regex:/\//'
|
||||
]);
|
||||
$this->init = 1;
|
||||
$this->habitatge = Habitatge::where('signatura', preg_replace('/\s+/', '', $this->signatura))->first();
|
||||
}
|
||||
public function esborraDades()
|
||||
{
|
||||
$this->habitatge = null;
|
||||
$this->init = 0;
|
||||
}
|
||||
}
|
|
@ -1,46 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace App\Livewire;
|
||||
|
||||
use Livewire\Component;
|
||||
use App\Models\Habitatge;
|
||||
use Livewire\Attributes\Validate;
|
||||
|
||||
class Consultes extends Component
|
||||
{
|
||||
#[Validate('required', message: 'El camp es obligatori')]
|
||||
#[Validate('min:5', message: 'La signatura a de tenir al menys 5 caracters')]
|
||||
public $signatura = null;
|
||||
#[Validate('required', message: 'El camp es obligatori')]
|
||||
public $direccio = null;
|
||||
public $habitatge;
|
||||
public $habitatges;
|
||||
public $init = 0;
|
||||
public $initCarrer = 0;
|
||||
public function render()
|
||||
{
|
||||
return view('livewire.consultes');
|
||||
}
|
||||
|
||||
public function consulta()
|
||||
{
|
||||
$this->init = 1;
|
||||
$this->habitatge = Habitatge::where('signatura', $this->signatura)->first();
|
||||
}
|
||||
public function consultaCarrer()
|
||||
{
|
||||
$this->initCarrer = 1;
|
||||
$this->habitatges = Habitatge::where('direccio', 'like', '%'.$this->direccio.'%')->get();
|
||||
}
|
||||
public function esborraDades()
|
||||
{
|
||||
$this->habitatge = null;
|
||||
$this->init = 0;
|
||||
}
|
||||
public function esborraDireccions()
|
||||
{
|
||||
$this->habitatges = null;
|
||||
$this->initCarrer = 0;
|
||||
}
|
||||
|
||||
}
|
39
resources/views/livewire/consulta-direccio.blade.php
Normal file
39
resources/views/livewire/consulta-direccio.blade.php
Normal file
|
@ -0,0 +1,39 @@
|
|||
<div class="seccio">
|
||||
<h3 class="bold">Cerca per direcció:</h3>
|
||||
<div class="text-explicacio">
|
||||
Podeu fer la cerca per municipi, còdi postal o carrer (amb o sense número)<br>
|
||||
Exemples: <span class="semibold">Palma</span> / <span class="semibold">07008</span> /
|
||||
<span class="semibold">Safareig</span> / <span class="semibold">Safareig, 1</span></span>
|
||||
</div>
|
||||
<form wire:submit="consultaCarrer">
|
||||
<input type="text" placeholder="Mar i Estany, 36" wire:model="direccio">
|
||||
<button type="submit" class="submit medium">comprova</button>
|
||||
<div>@error('direccio') {{ $message }} @enderror</div>
|
||||
</form>
|
||||
@if ($habitatges && $init == 1)
|
||||
<button wire:click="esborraDireccions">esborra dades</button>
|
||||
@endif
|
||||
@if ($habitatges && $habitatges->isNotEmpty() && $init == 1)
|
||||
<h4>DADES DEL REGISTRE:</h4>
|
||||
@foreach ($habitatges as $hab)
|
||||
<div class="resultats">
|
||||
<span class="semibold">Signatura:</span> {{$hab->signatura}}<br>
|
||||
<span class="semibold">Municipi:</span> {{$hab->municipi}}<br>
|
||||
<span class="semibold">Localitat:</span> {{$hab->localitat}}<br>
|
||||
@if ($hab->tipus_de_vivenda_turistica)
|
||||
<span class="semibold">Tipus:</span> {{$hab->tipus_de_vivenda_turistica}}<br>
|
||||
@elseif($hab->tipus_de_vivenda_turistica_2)
|
||||
<span class="semibold">Tipus:</span> {{$hab->tipus_de_vivenda_turistica_2}}<br>
|
||||
@elseif($hab->tipus_de_vivenda_turistica_3)
|
||||
<span class="semibold">Tipus:</span> {{$hab->tipus_de_vivenda_turistica_3}}<br>
|
||||
@endif
|
||||
<span class="semibold">Direcció:</span> {{$hab->direccio}}<br>
|
||||
<span class="semibold">Explotador:</span> {{$hab->explotador}}
|
||||
</div>
|
||||
@endforeach
|
||||
@else
|
||||
@if ($init != 0 && $habitatges->isEmpty())
|
||||
<p class="semibold">No hem trobat el que estàs buscant</p>
|
||||
@endif
|
||||
@endif
|
||||
</div>
|
34
resources/views/livewire/consulta-signatura.blade.php
Normal file
34
resources/views/livewire/consulta-signatura.blade.php
Normal file
|
@ -0,0 +1,34 @@
|
|||
<div class="seccio">
|
||||
<h3 class="bold">Cerca per llicència:</h3>
|
||||
<div class="text-explicacio">La signatura ha de contenir el tipus d'habitatge (ETVPL, ETV o ETV60), més un número, separat per /<br>
|
||||
Per exemple: <span class="semibold">ETV/25</span></div>
|
||||
<form wire:submit="consulta">
|
||||
<input type="text" placeholder="ETV/25" wire:model="signatura">
|
||||
<button type="submit" class="submit medium">comprova</button>
|
||||
<div>@error('signatura') {{ $message }} @enderror</div>
|
||||
</form>
|
||||
@if ($habitatge && $init == 1)
|
||||
<button wire:click="esborraDades">esborra dades</button>
|
||||
@endif
|
||||
@if ($habitatge && $init == 1)
|
||||
<h4>DADES DEL REGISTRE:</h4>
|
||||
<div class="resultats">
|
||||
<span class="semibold">Signatura:</span> {{$habitatge->signatura}}<br>
|
||||
<span class="semibold">Municipi: </span>{{$habitatge->municipi}}<br>
|
||||
<span class="semibold">Localitat:</span> {{$habitatge->localitat}}<br>
|
||||
@if ($habitatge->tipus_de_vivenda_turistica)
|
||||
<span class="semibold">Tipus: </span>{{$habitatge->tipus_de_vivenda_turistica}}<br>
|
||||
@elseif($habitatge->tipus_de_vivenda_turistica_2)
|
||||
<span class="semibold">Tipus: </span>{{$habitatge->tipus_de_vivenda_turistica_2}}<br>
|
||||
@elseif($habitatge->tipus_de_vivenda_turistica_3)
|
||||
<span class="semibold">Tipus: </span>{{$habitatge->tipus_de_vivenda_turistica_3}}<br>
|
||||
@endif
|
||||
<span class="semibold">Direcció: </span>{{$habitatge->direccio}}<br>
|
||||
<span class="semibold">Explotador: </span>{{$habitatge->explotador}}
|
||||
</div>
|
||||
@else
|
||||
@if ($init != 0)
|
||||
<p class="semibold">No hem trobat el que estàs buscant</p>
|
||||
@endif
|
||||
@endif
|
||||
</div>
|
|
@ -1,91 +0,0 @@
|
|||
<div class="consulta">
|
||||
<div class="seccio">
|
||||
<h3 class="bold">Cerca per llicència:</h3>
|
||||
<div class="text-explicacio">La signatura ha de contenir el tipus d'habitatge (ETVPL, ETV o ETV60), més un número, separat per /<br>
|
||||
Per exemple: ETV/25</div>
|
||||
<form wire:submit="consulta">
|
||||
<input type="text" placeholder="ETV/25" wire:model="signatura">
|
||||
<button type="submit" class="submit medium">comprova</button>
|
||||
<div>@error('signatura') {{ $message }} @enderror</div>
|
||||
</form>
|
||||
@if ($habitatge && $init == 1)
|
||||
<button wire:click="esborraDades">esborra dades</button>
|
||||
@endif
|
||||
@if ($habitatge && $init == 1)
|
||||
<h4>DADES DEL REGISTRE:</h4>
|
||||
<div class="resultats">
|
||||
<span class="semibold">Signatura:</span> {{$habitatge->signatura}}<br>
|
||||
<span class="semibold">Municipi: </span>{{$habitatge->municipi}}<br>
|
||||
<span class="semibold">Localitat:</span> {{$habitatge->localitat}}<br>
|
||||
@if ($habitatge->tipus_de_vivenda_turistica)
|
||||
<span class="semibold">Tipus: </span>{{$habitatge->tipus_de_vivenda_turistica}}<br>
|
||||
@elseif($habitatge->tipus_de_vivenda_turistica_2)
|
||||
<span class="semibold">Tipus: </span>{{$habitatge->tipus_de_vivenda_turistica_2}}<br>
|
||||
@elseif($habitatge->tipus_de_vivenda_turistica_3)
|
||||
<span class="semibold">Tipus: </span>{{$habitatge->tipus_de_vivenda_turistica_3}}<br>
|
||||
@endif
|
||||
<span class="semibold">Direcció: </span>{{$habitatge->direccio}}<br>
|
||||
<span class="semibold">Explotador: </span>{{$habitatge->explotador}}
|
||||
</div>
|
||||
@else
|
||||
@if ($init != 0)
|
||||
<p class="semibold">No hem trobat el que estàs buscant</p>
|
||||
@endif
|
||||
@endif
|
||||
</div>
|
||||
<div class="seccio">
|
||||
<h3 class="bold">Cerca per direcció:</h3>
|
||||
<div class="text-explicacio">
|
||||
Podeu fer la cerca per municipi, còdi postal o carrer (amb o sense número)<br>
|
||||
Exemples: <span class="semibold">Palma / 07008 / Safareig / Safareig, 1</span>
|
||||
</div>
|
||||
<!-- <div class="text-explicacio-detall">
|
||||
* troba tots els registres al municipi de Palma<br>
|
||||
** troba tots els registres amb CP 07008<br>
|
||||
*** troba tots els registres al carrer Safareig<br>
|
||||
**** troba el registre concret al carrer Safareig 1<br>
|
||||
</div> -->
|
||||
<form wire:submit="consultaCarrer">
|
||||
<input type="text" placeholder="Mar i Estany, 36" wire:model="direccio">
|
||||
<button type="submit" class="submit medium">comprova</button>
|
||||
<div>@error('carrer') {{ $message }} @enderror</div>
|
||||
</form>
|
||||
@if ($habitatges && $initCarrer == 1)
|
||||
<button wire:click="esborraDireccions">esborra dades</button>
|
||||
@endif
|
||||
@if ($habitatges && $initCarrer == 1)
|
||||
<h4>DADES DEL REGISTRE:</h4>
|
||||
@foreach ($habitatges as $hab)
|
||||
<div class="resultats">
|
||||
<span class="semibold">Signatura:</span> {{$hab->signatura}}<br>
|
||||
<span class="semibold">Municipi:</span> {{$hab->municipi}}<br>
|
||||
<span class="semibold">Localitat:</span> {{$hab->localitat}}<br>
|
||||
@if ($hab->tipus_de_vivenda_turistica)
|
||||
<span class="semibold">Tipus:</span> {{$hab->tipus_de_vivenda_turistica}}<br>
|
||||
@elseif($hab->tipus_de_vivenda_turistica_2)
|
||||
<span class="semibold">Tipus:</span> {{$hab->tipus_de_vivenda_turistica_2}}<br>
|
||||
@elseif($hab->tipus_de_vivenda_turistica_3)
|
||||
<span class="semibold">Tipus:</span> {{$hab->tipus_de_vivenda_turistica_3}}<br>
|
||||
@endif
|
||||
<span class="semibold">Direcció:</span> {{$hab->direccio}}<br>
|
||||
<span class="semibold">Explotador:</span> {{$hab->explotador}}
|
||||
</div>
|
||||
@endforeach
|
||||
@else
|
||||
@if ($initCarrer != 0)
|
||||
<p class="semibold">No hem trobat el que estàs buscant</p>
|
||||
@endif
|
||||
@endif
|
||||
</div>
|
||||
<div class="seccio llegenda">
|
||||
<p>
|
||||
El Consell té habilitat el correu <a href="mailto:inspeccioturisme@conselldemallorca.net" class="semibold">inspeccioturisme@conselldemallorca.net</a>
|
||||
per fer-hi arribar possibles casos de frau; recomanam fer-ne ús, encara que sigui per molestar.
|
||||
</p>
|
||||
<p>
|
||||
Així mateix, volem recordar que el lloguer vacacional està totalment prohibit en vivendes plurifamiliars (blocs de
|
||||
pisos) a tot el municipi de Palma, tot i que és sabut que l’oferta il·legal està descontrolada.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
|
@ -15,8 +15,23 @@
|
|||
ciutadania la informació sobre les llicències d'allotjaments turístics
|
||||
actualment en vigor a l'illa de Mallorca.
|
||||
</div>
|
||||
|
||||
<livewire:consultes/>
|
||||
|
||||
<div class="consulta">
|
||||
<livewire:consulta-signatura/>
|
||||
<livewire:consulta-direccio/>
|
||||
<div class="seccio llegenda">
|
||||
<p>
|
||||
El Consell té habilitat el correu <a href="mailto:inspeccioturisme@conselldemallorca.net" class="semibold">inspeccioturisme@conselldemallorca.net</a>
|
||||
per fer-hi arribar possibles casos de frau; recomanam fer-ne ús, encara que sigui per molestar.
|
||||
</p>
|
||||
<p>
|
||||
Així mateix, volem recordar que el lloguer vacacional està totalment prohibit en vivendes plurifamiliars (blocs de
|
||||
pisos) a tot el municipi de Palma, tot i que és sabut que l’oferta il·legal està descontrolada.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<livewire:grafics/>
|
||||
|
||||
|
|
Loading…
Reference in a new issue