Commit ecd58c68 authored by Cristian Mauricio Diaz Canales's avatar Cristian Mauricio Diaz Canales 💬

Merge branch 'padNumerico' into 'master'

Pad numerico

See merge request !1
parents f5affe25 bf956fea
......@@ -3,6 +3,7 @@
namespace App\Http\Controllers;
use App\Jobs\SendSmsJob;
use App\Models\User;
use App\Models\Call;
use App\Models\Counter;
use App\Models\Service;
......@@ -15,6 +16,7 @@ use App\Repositories\TokenRepository;
use Carbon\Carbon;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
class CallController extends Controller
{
......@@ -30,7 +32,8 @@ class CallController extends Controller
public function showCallPage(Request $request)
{
return view('call.call', ['counters' => $this->counterRepository->getAllActiveCounters(), 'services' => $this->serviceRepository->getAllActiveServices(), 'date' => Carbon::now()->toDateString(), 'show_menu' => true, 'settings' => Setting::first()]);
return view('call.call', ['counters' => $this->counterRepository->getAllActiveCounters(), 'services' => $this->serviceRepository->getAllActiveServicesByUser(Auth::user()), 'date' => Carbon::now()->toDateString(), 'show_menu' => true, 'settings' => Setting::first()]);
}
public function getAllServicesAndCounters()
......
......@@ -9,6 +9,8 @@ use App\Repositories\UserRepository;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
use Spatie\Permission\Models\Role;
use App\Models\Service;
use App\Models\Uservices;
// use Spatie\Permission\Models\Role;
......@@ -46,7 +48,7 @@ class UserController extends Controller
*/
public function create()
{
return view('user.create', ['roles' => Role::get()]);
return view('user.create', ['roles' => Role::get(), 'activities' => Service::get()]);
}
/**
......@@ -61,8 +63,10 @@ class UserController extends Controller
'email' => 'required|email|unique:users',
'name' => 'required',
'password' => 'required|min:5',
'role' => 'exists:roles,id'
'role' => 'exists:roles,id',
'services' => 'exists: services,id'
]);
DB::beginTransaction();
try {
$users = $this->users->create($request->all());
......@@ -95,9 +99,18 @@ class UserController extends Controller
*/
public function edit(User $user)
{
//Obtener id de la actividad asociada al usuario
$actividadAsociada = Uservices::where('user_id', $user->id)->first();
if(is_null($actividadAsociada)){
$actividad = 0;
}else{
$actividad = $actividadAsociada->services_id;
}
return view('user.edit', [
'user' => $user,
'roles' => Role::get()
'roles' => Role::get(),
'activities' => Service::get(),
'actividadAsociada' => $actividad
]);
}
......@@ -113,13 +126,17 @@ class UserController extends Controller
$request->validate([
'email' => 'required|email|unique:users,email,' . $user->id,
'name' => 'required',
'role' => 'required|exists:roles,id'
'role' => 'required|exists:roles,id',
'activity' => 'required|exists:services,id',
]);
DB::beginTransaction();
try {
$users = $this->users->update($request->all(), $user);
} catch (\Exception $e) {
DB::rollback();
//print_r($e->getMessage());
//die();
$request->session()->flash('error', 'Something Went Wrong');
return redirect()->route('users.index');
}
......
......@@ -5,6 +5,7 @@ namespace App\Models;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Symfony\Component\Translation\TranslatorInterface;
class Queue extends Model
{
......@@ -20,8 +21,61 @@ class Queue extends Model
}
public function getFormatedDateAttribute($value){
$date = Carbon::parse($this->created_at)->format('j-F-Y');
return $date;
$dateString = Carbon::parse($this->created_at)->format('Y-m-d');
$format = 'Y-m-d'; // input format
$date = Carbon::createFromFormat($format, $dateString);
$spanishMonths = [
'Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio',
'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'
];
$year= explode('-',$dateString)[0];
$month = explode('-',$dateString)[1];
$day = explode('-',$dateString)[2];
switch($month):
case '01':
$mntStr = $spanishMonths[0];
break;
case '02':
$mntStr = $spanishMonths[1];
break;
case '03':
$mntStr = $spanishMonths[2];
break;
case '04':
$mntStr = $spanishMonths[3];
break;
case '05':
$mntStr = $spanishMonths[4];
break;
case '06':
$mntStr = $spanishMonths[5];
break;
case '07':
$mntStr = $spanishMonths[6];
break;
case '08':
$mntStr = $spanishMonths[7];
break;
case '09':
$mntStr = $spanishMonths[8];
break;
case '10':
$mntStr = $spanishMonths[9];
break;
case '11':
$mntStr = $spanishMonths[10];
break;
case '12':
$mntStr = $spanishMonths[11];
break;
endswitch;
return $year."-".$mntStr."-".$day;
}
public function call(){
return $this->hasOne(Call::class);
......@@ -30,4 +84,5 @@ class Queue extends Model
public function getTokenNumberAttribute(){
return $this->letter.'-'.$this->number;
}
}
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Uservices extends Model
{
use HasFactory;
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
*/
protected $fillable = [
'user_id',
'services_id'
];
protected $primaryKey = 'use_id';
public $incrementing = true;
}
......@@ -4,6 +4,7 @@ namespace App\Repositories;
use App\Models\Service;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\DB;
class ServiceRepository
{
......@@ -12,6 +13,17 @@ class ServiceRepository
return Service::get();
}
public function getAllActiveServicesByUser($user)
{
$services = DB::table('uservices')
->join('services', 'uservices.services_id', '=', 'services.id')
->select('services.*')
->where('uservices.user_id',$user->id)
->get();
return $services;
}
public function getAllActiveServices()
{
return Service::where('status', true)->get();
......
......@@ -3,6 +3,8 @@
namespace App\Repositories;
use App\Models\User;
use App\Models\Uservices;
use App\Repositories\UserviceRepository;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\Hash;
......@@ -19,6 +21,11 @@ class UserRepository
'password' => Hash::make($data['password']),
]);
$user->assignRole($data['role']);
$uservices = new UserviceRepository();
$uservices->create([
'user_id' => $user->id,
'services_id' => $data['activity']
]);
return $user;
}
......@@ -26,6 +33,7 @@ class UserRepository
{
$user->name= $data['name'];
$user->email= $data['email'];
if(isset($data['password']))
{
$user->password= Hash::make($data['password']);
......@@ -47,11 +55,21 @@ class UserRepository
$user->syncRoles($data['role']);
}
}
if(!$from_profile){
if($data['activity']){
$uservices = Uservices::where('user_id',$user->id)->first();
//Llamar a UservicesRepository
$uservicesrepository = new UserviceRepository();
$uservicesrepository->update($uservices,["user_id" => $user->id, "services_id" => $data["activity"]]);
}
}
return $user;
}
public function delete($data,$user)
{
$user->delete();
Uservices::where('user_id', $user->id)->delete();
if($user->image)
{
Storage::disk('public')->delete($user->image);
......
<?php
namespace App\Repositories;
use App\Models\Uservices;
class UserviceRepository
{
public function create($data)
{
$uservice = Uservices::create([
'user_id' => $data['user_id'],
'services_id' => $data['services_id']
]);
return $uservice;
}
public function update($uservice,$data)
{
if(!is_null($uservice)){
$uservice->user_id = $data["user_id"];
$uservice->services_id = $data["services_id"];
$uservice->save();
}else{
$uservice = Uservices::create([
'user_id' => $data['user_id'],
'services_id' => $data['services_id']]);
}
return $uservice;
}
}
......@@ -101,7 +101,9 @@ return [
'image' => 'Image',
'role' => 'Role',
'select role' => 'Select Role',
'edit user' => 'Edit User'
'edit user' => 'Edit User',
'select activities' => 'Select Activity',
'activity' => 'Activiy'
],
'user_roles_page' => [
'user roles' => 'User Roles',
......
......@@ -100,7 +100,9 @@ return [
'image' => 'Imagen',
'role' => 'Papel',
'select role' => 'Seleccionar rol',
'edit user' => 'editar usuario'
'edit user' => 'editar usuario',
'select activities' => 'Seleccionar Actividades',
'activity' => 'Actividad'
],
'user_roles_page' => [
'user roles' => 'Roles del usuario',
......
......@@ -75,11 +75,11 @@
</div>
<div class="input-field col-lg-4 s4" id="rut_tab">
<input id="rut" name="rut" type="text" value="" oninput="formatearRut(this);" data-error=".rut">
<input id="rut" name="rut" type="text" value="" maxlength="12" oninput="formatearRut(this);" maxlength=13 data-error=".rut" autofocus>
<label for="rut">{{__('messages.settings.rut')}}</label>
<div class="rut">
<span><b>Ingrese su rut para poder solicitar su número de atención</b></span>
<div class="input-field numeric-pad" style="padding-left: 150px;">
<div class="input-field numeric-pad" style="padding-left: 150px">
<button onclick="escribirValor(1,event)">1</button>
<button onclick="escribirValor(2,event)">2</button>
<button onclick="escribirValor(3,event)">3</button>
......@@ -91,7 +91,7 @@
<button onclick="escribirValor(9,event)">9</button>
<button onclick="escribirValor(-2,event)">K</button>
<button onclick="escribirValor(0,event)">0</button>
<button onclick="escribirValor(-1,event)">Del</button>
<button onclick="escribirValor(-1,event)">Borrar</button>
</div>
</div>
</div>
......@@ -139,7 +139,9 @@
function formatearRut(input){
let value = input.value.replace(/\./g, '').replace('-', '');
let maxLength = 12;
if (value.length > maxLength) value = value.slice(0, maxLength);
if (value.match(/^(\d{2})(\d{3}){2}(\w{1})$/)) {
value = value.replace(/^(\d{2})(\d{3})(\d{3})(\w{1})$/, '$1.$2.$3-$4');
}
......@@ -157,6 +159,8 @@
function formatearRutPorValor(val){
let value = val.replace(/\./g, '').replace('-', '');
let maxLength = 12;
if (value.length > maxLength) value = value.slice(0, maxLength);
if (value.match(/^(\d{2})(\d{3}){2}(\w{1})$/)) {
value = value.replace(/^(\d{2})(\d{3})(\d{3})(\w{1})$/, '$1.$2.$3-$4');
......@@ -177,7 +181,9 @@
event.preventDefault();
let inputValue = $("#rut").val();
if(number == -1){
inputValue = inputValue.slice(0,-1);
inputValue = $("#rut").val("");
$("#rut").focus();
return;
}else if(number == -2){
inputValue = inputValue+""+"K";
}else{
......@@ -198,8 +204,10 @@
else $('#phone_tab').hide()
if (value.ask_rut == 1) {
$('#rut_tab').show();
$('#rut_pad').show();
}else{
$('#rut_tab').hide();
$('#rut_pad').hide();
}
service = value;
......
......@@ -76,6 +76,15 @@
</select>
<label>{{__('messages.user_page.role')}}</label>
</div>
<div class="input-field col s6">
<select name="activity" id="activities_id">
<option value="" disabled selected>{{__('messages.user_page.select activities')}}</option>
@foreach ($activities as $activity)
<option value="{{$activity->id}}">{{$activity->name}} </option>
@endforeach
</select>
<label>{{__('messages.user_page.activity')}}</label>
</div>
</div>
</div>
<div class="input-field col s12">
......@@ -109,6 +118,9 @@
role: {
required: true,
},
activity:{
required: true,
},
email: {
required: true,
email: true,
......
......@@ -78,6 +78,15 @@
</select>
<label>{{__('messages.user_page.role')}}</label>
</div>
<div class="input-field col s6">
<select name="activity" id="activities_id">
<option value="" disabled selected>{{__('messages.user_page.select activities')}}</option>
@foreach ($activities as $activity)
<option value="{{$activity->id}}" {{ $activity->id == $actividadAsociada ? 'selected' : '' }}>{{$activity->name}} </option>
@endforeach
</select>
<label>{{__('messages.user_page.activity')}}</label>
</div>
</div>
<div class="input-field col s12">
<button class="btn waves-effect waves-light right submit" type="submit" name="action">{{__('messages.common.update')}}
......@@ -110,6 +119,9 @@
role: {
required: true,
},
activity: {
required: true,
},
email: {
required: true,
email: true
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment