diff --git a/app/Http/Livewire/ShowUsuarios.php b/app/Http/Livewire/ShowUsuarios.php index 9b853cb..7ed2387 100755 --- a/app/Http/Livewire/ShowUsuarios.php +++ b/app/Http/Livewire/ShowUsuarios.php @@ -61,7 +61,9 @@ class ShowUsuarios extends Component public $usuario_nombre; public $precioTarifa; public $tarifasGestion; - public $estadoTarifa; + + public $estadoTarifa = true; + public $usuarioGestion_id; public $precioTarifasGestion; public $buscar_servicio; @@ -81,7 +83,8 @@ class ShowUsuarios extends Component public $modTarifas; public $modalSaldoDesc; - + public $editarTarifaRol = false; + public $informacionTarifaRol; protected $rules = [ 'nombre' => 'required', @@ -259,6 +262,54 @@ class ShowUsuarios extends Component $this->editar = true; } + + public function editarTarifa($tarifa) + { + $this->editarTarifaRol = true; + + $this->informacionTarifaRol = $tarifa; + + $this->roles_modTarifas = $tarifa['rol_id']; + $this->precio_modTarifas = $tarifa['precio']; + $this->utilidad = $tarifa['utilidad']; + $this->estadoTarifa = $tarifa['visible'] == 'activo' ? 1 : 0; + $this->servicio_modTarifas = $tarifa['promocion_id']; + } + + public function actualizarTarifaRol($id) + { + if (empty($this->roles_modTarifas)) { + $this->alert('warning', '¡Seleccione un rol!', [ + 'position' => 'top' + ]); + } + if (empty($this->precio_modTarifas)) { + $this->alert('warning', '¡Coloque un precio!', [ + 'position' => 'top' + ]); + } + if (empty($this->utilidad)) { + $this->alert('warning', '¡Coloque una utilidad!', [ + 'position' => 'top' + ]); + } + + TarifaPromo::find($id)->update([ + 'precio' => $this->precio_modTarifas, + 'utilidad' => $this->utilidad, + 'visible' => $this->estadoTarifa == 1 ? 'activo' : 'inactivo', + 'rol_id' => $this->roles_modTarifas, + 'promocion_id' => $this->servicio_modTarifas + ]); + + $this->alert('success', 'Tarifa actualizada con exito!', [ + 'position' => 'top' + ]); + + $this->editarTarifaRol = false; + } + + public function actualizar() { $this->validate( @@ -324,7 +375,7 @@ class ShowUsuarios extends Component $usuarioTarifa->utilidad = $this->utilidad; $usuarioTarifa->tarifa_id = $this->tarifasGestion; $usuarioTarifa->usuario_id = $this->usuarioGestion_id; - $usuarioTarifa->visible = $this->estadoTarifa ? 'false' : 'true'; + $usuarioTarifa->visible = $this->estadoTarifa ? 'activo' : 'inactivo'; $usuarioTarifa->save(); $this->alert('success', '¡Tarifas del usuario actualizadas correctamente!', [ @@ -516,38 +567,42 @@ class ShowUsuarios extends Component /* ------------- ACTUALIZAR ------------- */ public function updateTarifas() { + $consulta_existe = TarifaPromo::where('promocion_id', $this->servicio_modTarifas) + ->where('rol_id', $this->roles_modTarifas) + ->exists(); - $consulta_existe = TarifaPromo::where('promocion_id', $this->servicio_modTarifas)->where('rol_id', $this->roles_modTarifas)->get(); - //dd($consulta_existe); - - if (empty($this->servicio_modTarifas)) { - $this->alert('warning', 'Seleccione una promocion!', [ + if ($consulta_existe) { + $this->alert('warning', '¡Esta tarifa ya existe!', [ + 'position' => 'top' + ]); + } elseif (empty($this->servicio_modTarifas)) { + $this->alert('warning', '¡Seleccione una promocion!', [ + 'position' => 'top' + ]); + } elseif (empty($this->precio_modTarifas)) { + $this->alert('warning', '¡Coloque un precio!', [ + 'position' => 'top' + ]); + } elseif (empty($this->utilidad)) { + $this->alert('warning', '¡Coloque la utilidad!', [ 'position' => 'top' ]); } else { + $tarifa = new TarifaPromo; + $tarifa->utilidad = $this->utilidad; + $tarifa->promocion_id = $this->servicio_modTarifas; + $tarifa->rol_id = $this->roles_modTarifas; + $tarifa->precio = $this->precio_modTarifas; + $tarifa->visible = $this->estadoTarifa ? 'activo' : 'inactivo'; + $tarifa->save(); - if ($consulta_existe->count() > 0) { - - $this->alert('warning', 'Esta tarifa ya existe!', [ - 'position' => 'top' - ]); - } else { - $tarifa = new TarifaPromo; - $tarifa->precio = $this->precio_modTarifas; - $tarifa->utilidad = $this->utilidad; - $tarifa->promocion_id = $this->servicio_modTarifas; - $tarifa->rol_id = $this->roles_modTarifas; - $tarifa->save(); - - $this->alert('success', 'Tarifas actualizadas correctamente!', [ - 'position' => 'top' - ]); - } + $this->alert('success', '¡Tarifas actualizadas correctamente!', [ + 'position' => 'top' + ]); } } /* ------------- ELIMINAR ------------- */ - public function eliminarModTarifa($id) { TarifaPromo::where('id', $id)->delete(); diff --git a/app/Models/TarifaPromo.php b/app/Models/TarifaPromo.php index 85e373b..1958734 100755 --- a/app/Models/TarifaPromo.php +++ b/app/Models/TarifaPromo.php @@ -8,12 +8,13 @@ use Illuminate\Database\Eloquent\Model; class TarifaPromo extends Model { use HasFactory; + protected $fillable = [ + 'utilidad', 'promocion_id', 'rol_id', 'precio', 'visible', - ]; public function rol(){ diff --git a/app/Models/Usuario_tarifa.php b/app/Models/Usuario_tarifa.php index 48d80a5..59bdf3e 100755 --- a/app/Models/Usuario_tarifa.php +++ b/app/Models/Usuario_tarifa.php @@ -14,7 +14,6 @@ class Usuario_tarifa extends Model 'precio', 'utilidad', 'visible', - ]; public function usuario(){ diff --git a/database/migrations/2022_11_07_125641_create_usuario_tarifas_table.php b/database/migrations/2022_11_07_125641_create_usuario_tarifas_table.php index 27fe141..f52238e 100755 --- a/database/migrations/2022_11_07_125641_create_usuario_tarifas_table.php +++ b/database/migrations/2022_11_07_125641_create_usuario_tarifas_table.php @@ -6,43 +6,33 @@ use Illuminate\Support\Facades\Schema; return new class extends Migration { - /** - * Run the migrations. - * - * @return void - */ public function up() { Schema::create('usuario_tarifas', function (Blueprint $table) { $table->id(); - $table -> string('precio')->nullable(); - $table -> string('visible')->nullable(); - + $table->string('precio')->nullable(); + $table->string('visible')->nullable(); + $table->unsignedBigInteger('tarifa_id')->nullable(); - + $table->foreign('tarifa_id') - ->references('id') - ->on('tarifas') - ->onDelete('cascade') - ->onUpdate('cascade'); + ->references('id') + ->on('tarifas') + ->onDelete('cascade') + ->onUpdate('cascade'); $table->unsignedBigInteger('usuario_id')->nullable(); - + $table->foreign('usuario_id') - ->references('id') - ->on('users') - ->onDelete('cascade') - ->onUpdate('cascade'); + ->references('id') + ->on('users') + ->onDelete('cascade') + ->onUpdate('cascade'); $table->timestamps(); }); } - /** - * Reverse the migrations. - * - * @return void - */ public function down() { Schema::dropIfExists('usuario_tarifas'); diff --git a/resources/views/livewire/show-index-servicio.blade.php b/resources/views/livewire/show-index-servicio.blade.php index 2e41f82..c17e6f4 100755 --- a/resources/views/livewire/show-index-servicio.blade.php +++ b/resources/views/livewire/show-index-servicio.blade.php @@ -1,11 +1,11 @@
- {{$disponibles ?? ''}} Cuentas disponibles. + {{$disponibles ?? ''}} Cuentas disponibles.
- + @endif{{$servicio->descripcion}}
${{number_format( $valor ?? '')}}
@else - + @if ($servicio->tarifas_min_valor != $servicio->tarifas_max_valor){{number_format($servicio->tarifas_min_valor)}} - {{number_format($servicio->tarifas_max_valor)}}
@@ -69,7 +69,7 @@{{number_format($servicio->tarifas_min_valor)}}
@endif - + @endif{{number_format($plan->tarifas_min_valor)}}
@endif - +