first commit

This commit is contained in:
2026-01-13 20:57:58 -06:00
commit afd9118d1e
239 changed files with 49001 additions and 0 deletions

View File

@@ -0,0 +1,62 @@
@extends('layouts.app')
@section('content')
<div class="container" style="display: block; width: 100%; height: calc(100% + 25px); background-image: url('../img/background_ic.jpg')">
<div class="row justify-content-center">
<div class="col-md-8" style="padding-top: 3em">
<div class="card">
<div class="card-header">{{ __('Iniciar sesión') }}</div>
<div class="card-body">
<form method="POST" action="{{ route('login') }}">
@csrf
<div class="form-group row">
<label for="email" class="col-md-4 col-form-label text-md-right">{{ __('Correo electrónico') }}</label>
<div class="col-md-6">
<input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email" autofocus>
@error('email')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="form-group row">
<label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Contraseña') }}</label>
<div class="col-md-6">
<input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="current-password">
@error('password')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="form-group row mb-0">
<div class="col-md-8 offset-md-4">
<button type="submit" class="btn btn-primary">
{{ __('Iniciar sesión') }}
</button>
@if (Route::has('password.request'))
<a class="btn btn-link" href="{{ route('password.request') }}">
{{ __('¿Olvidó su contraseña?') }}
</a>
@endif
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection

View File

@@ -0,0 +1,47 @@
@extends('layouts.app')
@section('content')
<div class="container" style="display: block; width: 100%; height: calc(100% + 25px); background-image: url('../img/background_ic.jpg')">
<div class="row justify-content-center">
<div class="col-md-8" style="padding-top: 3em">
<div class="card">
<div class="card-header">{{ __('Olvide mi contraseña') }}</div>
<div class="card-body">
@if (session('status'))
<div class="alert alert-success" role="alert">
{{ session('status') }}
</div>
@endif
<form method="POST" action="{{ route('password.email') }}">
@csrf
<div class="form-group row">
<label for="email" class="col-md-4 col-form-label text-md-right">{{ __('Correo electrónico') }}</label>
<div class="col-md-6">
<input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email" autofocus>
@error('email')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="form-group row mb-0">
<div class="col-md-6 offset-md-4">
<button type="submit" class="btn btn-primary">
{{ __('Enviar') }}
</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection

View File

@@ -0,0 +1,65 @@
@extends('layouts.app')
@section('content')
<div class="container" style="display: block; width: 100%; height: calc(100% + 25px); background-image: url('../img/background_ic.jpg')">
<div class="row justify-content-center">
<div class="col-md-8" style="padding-top: 3em">
<div class="card">
<div class="card-header">{{ __('Cambiar Contraseña') }}</div>
<div class="card-body">
<form method="POST" action="{{ route('password.update') }}">
@csrf
<input type="hidden" name="token" value="{{ $token }}">
<div class="form-group row">
<label for="email" class="col-md-4 col-form-label text-md-right">{{ __('Correo electrónico') }}</label>
<div class="col-md-6">
<input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ $email ?? old('email') }}" required autocomplete="email" autofocus>
@error('email')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="form-group row">
<label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Contraseña') }}</label>
<div class="col-md-6">
<input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="new-password">
@error('password')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="form-group row">
<label for="password-confirm" class="col-md-4 col-form-label text-md-right">{{ __('Confirmar contraseña') }}</label>
<div class="col-md-6">
<input id="password-confirm" type="password" class="form-control" name="password_confirmation" required autocomplete="new-password">
</div>
</div>
<div class="form-group row mb-0">
<div class="col-md-6 offset-md-4">
<button type="submit" class="btn btn-primary">
{{ __('Cambiar contraseña') }}
</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection

View File

@@ -0,0 +1,95 @@
@extends('layouts.app')
@section('content')
<div class="container" style="display: block; width: 100%; height: calc(100% + 25px); background-image: url('../img/background_ic.jpg')">
<div class="row justify-content-center">
<div class="col-md-8" style="padding-top: 3em">
<div class="card">
<div class="card-header">{{ __('Crear cuenta') }}</div>
<div class="card-body">
<form method="POST" action="{{ route('register') }}">
@csrf
<div class="form-group row">
<label for="name" class="col-md-4 col-form-label text-md-right">{{ __('Nombre') }}</label>
<div class="col-md-6">
<input id="name" type="text" class="form-control @error('name') is-invalid @enderror" name="name" value="{{ old('name') }}" required autocomplete="name" autofocus>
@error('name')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="form-group row">
<label for="email" class="col-md-4 col-form-label text-md-right">{{ __('Correo electrónico') }}</label>
<div class="col-md-6">
<input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email">
@error('email')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="form-group row">
<label for="phone" class="col-md-4 col-form-label text-md-right">{{ __('Teléfono') }}</label>
<div class="col-md-6">
<input id="phone" type="phone" class="form-control @error('phone') is-invalid @enderror" name="phone" value="{{ old('phone') }}" required autocomplete="phone">
@error('phone')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="form-group row">
<label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Contraseña') }}</label>
<div class="col-md-6">
<input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="new-password">
@error('password')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="form-group row">
<label for="password-confirm" class="col-md-4 col-form-label text-md-right">{{ __('Confirmar contraseña') }}</label>
<div class="col-md-6">
<input id="password-confirm" type="password" class="form-control" name="password_confirmation" required autocomplete="new-password">
</div>
</div>
<div class="form-group row">
<div class="col-md-6">
{!! GoogleReCaptchaV3::renderField('register_id','register_action') !!}
</div>
</div>
<div class="form-group row mb-0">
<div class="col-md-6 offset-md-4">
<button type="submit" class="btn btn-primary">
{{ __('Crear cuentar') }}
</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection

View File

@@ -0,0 +1,24 @@
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">{{ __('Verify Your Phone Number') }}</div>
<div class="card-body">
@if (session('resent'))
<div class="alert alert-success" role="alert">
{{ __('A fresh verification link has been sent to your email address.') }}
</div>
@endif
{{ __('Before proceeding, please check your email for a verification link.') }}
{{ __('If you did not receive the email') }}, <a href="{{ route('verification.resend') }}">{{ __('click here to request another') }}</a>.
</div>
</div>
</div>
</div>
</div>
@endsection

View File

@@ -0,0 +1,16 @@
@extends('layouts.app')
@section('content')
<div id="content">
@include('banks.index')
</div>
<div class="loading">
<i class="fa fa-refresh fa-spin fa-2x fa-tw"></i>
<br>
<span>Loading</span>
</div>
@endsection
@section('js')
<script src="{{ asset('js/ajaxcrud.js') }}"></script>
@endsection

View File

@@ -0,0 +1,47 @@
@extends('layouts.app')
@section('content')
<div class="container">
<div class="col-md-8 offset-md-2">
<h1>{{isset($bank)?'Editar':'Nuevo'}} Banco</h1>
<hr>
@if(isset($bank))
{!! Form::model($bank,['method'=>'put','id'=>'frm']) !!}
@else
{!! Form::open(['id'=>'frm']) !!}
@endif
<div class="form-group row required">
{!! Form::label("code","Código",["class"=>"col-form-label col-md-3 col-lg-2"]) !!}
<div class="col-md-8">
{!! Form::number("code",null,["class"=>"form-control".($errors->has('code')?" is-invalid":""),"autofocus",'placeholder'=>'Código del banco']) !!}
<span id="error-name" class="invalid-feedback"></span>
</div>
</div>
<div class="form-group row required">
{!! Form::label("name","Banco",["class"=>"col-form-label col-md-3 col-lg-2"]) !!}
<div class="col-md-8">
{!! Form::text("name",null,["class"=>"form-control".($errors->has('name')?" is-invalid":""),"autofocus",'placeholder'=>'Nombre del banco']) !!}
<span id="error-name" class="invalid-feedback"></span>
</div>
</div>
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<div class="form-group row">
<div class="col-md-3 col-lg-2"></div>
<div class="col-md-4">
<a href="{{url('banks')}}" class="btn btn-danger btn-xs">
Atrás</a>
{!! Form::button("Guardar",["type" => "submit","class"=>"btn btn-primary btn-xs"])!!}
</div>
</div>
{!! Form::close() !!}
</div>
</div>
@endsection

View File

@@ -0,0 +1,83 @@
@extends('layouts.app')
@section('content')
@if (Auth::user()->role_id >= 5)
<div class="container-fluid" style="height:100%">
@include('sidebar')
<div style="width:90%; float: left; margin:1em 0 0 1em">
@else
<div class="container" style="margin:0 1em">
@endif
<div class="row">
<div class="col-sm-7">
<h3>Bancos</h3>
</div>
<div class="col-sm-5">
<div class="pull-right">
{!! Form::open(['method'=>'GET','url'=>'banks','class'=>'navbar-form navbar-left','role'=>'search']) !!}
<div class="input-group">
<input class="form-control" id="search"
value="{{ request()->session()->get('search') }}"
placeholder="Buscar" name="search"
type="text" id="search"/>
<div class="input-group-btn">
<button type="submit" class="btn btn-primary">
<i class="fa fa-search" aria-hidden="true"></i>
</button>
</div>
</div>
{!! Form::close() !!}
</div>
</div>
</div>
<table class="table">
<thead>
<tr>
<th style="vertical-align: middle"><a href="{{url('banks?field=id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">ID</a></th>
{{request()->session()->get('field')=='id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('banks?field=code&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Código</a></th>
{{request()->session()->get('field')=='code'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('banks?field=name&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Banco</a></th>
{{request()->session()->get('field')=='name'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th width="160px" style="vertical-align: middle">
<a href="{{url('banks/create')}}"
class="btn btn-primary btn-xs"> <i class="fa fa-plus" aria-hidden="true"></i> Nuevo banco</a>
</th>
</tr>
</thead>
<tbody>
@php
$i=1;
@endphp
@foreach ($banks as $bank)
<tr>
<th>{{ $bank->id }}</th>
<th>{{ $bank->code }}</th>
<td>{{ $bank->name }}</td>
<td>
<a class="btn btn-secondary btn-xs" title="Edit"
href="{{url('banks/update/'.$bank->id)}}">
<i class="fa fa-pencil"></i>
</a>
<input type="hidden" name="_method" value="delete"/>
<a class="btn btn-danger btn-xs" title="Delete"
href="javascript:if(confirm('¿Estás seguro de que quieres eliminar este banco?')) javascript:if(confirm('Usualmente no se deben eliminar bancos, solo editarlos ¿Estás seguro?')) ajaxDelete('{{url('banks/delete/'.$bank->id)}}','{{csrf_token()}}')">
<i class="fa fa-trash"></i>
</a>
</td>
</tr>
@endforeach
</tbody>
</table>
<ul class="pagination">
{{ $banks->links() }}
</ul>
</div>
@endsection

View File

@@ -0,0 +1,16 @@
@extends('layouts.app')
@section('content')
<div id="content">
@include('cards.index')
</div>
<div class="loading">
<i class="fa fa-refresh fa-spin fa-2x fa-tw"></i>
<br>
<span>Loading</span>
</div>
@endsection
@section('js')
<script src="{{ asset('js/ajaxcrud.js') }}"></script>
@endsection

View File

@@ -0,0 +1,47 @@
@extends('layouts.app')
@section('content')
<div class="container">
<div class="col-md-8 offset-md-2">
<h1>{{isset($bank)?'Editar':'Nuevo'}} Banco</h1>
<hr>
@if(isset($bank))
{!! Form::model($bank,['method'=>'put','id'=>'frm']) !!}
@else
{!! Form::open(['id'=>'frm']) !!}
@endif
<div class="form-group row required">
{!! Form::label("code","Código",["class"=>"col-form-label col-md-3 col-lg-2"]) !!}
<div class="col-md-8">
{!! Form::number("code",null,["class"=>"form-control".($errors->has('code')?" is-invalid":""),"autofocus",'placeholder'=>'Código del banco']) !!}
<span id="error-name" class="invalid-feedback"></span>
</div>
</div>
<div class="form-group row required">
{!! Form::label("name","Banco",["class"=>"col-form-label col-md-3 col-lg-2"]) !!}
<div class="col-md-8">
{!! Form::text("name",null,["class"=>"form-control".($errors->has('name')?" is-invalid":""),"autofocus",'placeholder'=>'Nombre del banco']) !!}
<span id="error-name" class="invalid-feedback"></span>
</div>
</div>
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<div class="form-group row">
<div class="col-md-3 col-lg-2"></div>
<div class="col-md-4">
<a href="{{url('banks')}}" class="btn btn-danger btn-xs">
Atrás</a>
{!! Form::button("Guardar",["type" => "submit","class"=>"btn btn-primary btn-xs"])!!}
</div>
</div>
{!! Form::close() !!}
</div>
</div>
@endsection

View File

@@ -0,0 +1,78 @@
@extends('layouts.app')
@section('content')
@if (Auth::user()->role_id >= 5)
<div class="container-fluid" style="height:100%">
@include('sidebar')
<div style="width:90%; float: left; margin:1em 0 0 1em">
@else
<div class="container" style="margin:0 1em">
@endif
<div class="row">
<div class="col-sm-7">
<h3>Tarjetas</h3>
</div>
<div class="col-sm-5">
<div class="pull-right">
{!! Form::open(['method'=>'GET','url'=>'cards','class'=>'navbar-form navbar-left','role'=>'search']) !!}
<div class="input-group">
<input class="form-control" id="search"
value="{{ request()->session()->get('search') }}"
placeholder="Buscar" name="search"
type="text" id="search"/>
<div class="input-group-btn">
<button type="submit" class="btn btn-primary">
<i class="fa fa-search" aria-hidden="true"></i>
</button>
</div>
</div>
{!! Form::close() !!}
</div>
</div>
</div>
<table class="table">
<thead>
<tr>
<th style="vertical-align: middle"><a href="{{url('cards?field=id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">ID</a></th>
{{request()->session()->get('field')=='id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('cards?field=user_id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Usuario</a></th>
{{request()->session()->get('field')=='user_id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('cards?field=user_id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Openpay ID</a></th>
{{request()->session()->get('field')=='user_id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('cards?field=token&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Token</a></th>
{{request()->session()->get('field')=='token'?(request()->session()->get('sort')=='asc'?'':''):''}}
</tr>
</thead>
<tbody>
@php
$i=1;
@endphp
@foreach ($cards as $card)
<tr>
<th>{{ $card->id }}</th>
<th>{{ $card->user->name }}</th>
<td>{{ $card->user->openpay_id }}</td>
<td>{{ $card->token}}</td>
<td>
<input type="hidden" name="_method" value="delete"/>
<a class="btn btn-danger btn-xs" title="Delete"
href="javascript:if(confirm('¿Estás seguro de que quieres eliminar esta tarjeta?')) javascript:if(confirm('Usualmente no se deben eliminar tarjetas, ¿Estás seguro?')) ajaxDelete('{{url('cards/delete/'.$card->id)}}','{{csrf_token()}}')">
<i class="fa fa-trash"></i>
</a>
</td>
</tr>
@endforeach
</tbody>
</table>
<ul class="pagination">
{{ $cards->links() }}
</ul>
</div>
@endsection

View File

@@ -0,0 +1,16 @@
@extends('layouts.app')
@section('content')
<div id="content">
@include('categories.index')
</div>
<div class="loading">
<i class="fa fa-refresh fa-spin fa-2x fa-tw"></i>
<br>
<span>Loading</span>
</div>
@endsection
@section('js')
<script src="{{ asset('js/ajaxcrud.js') }}"></script>
@endsection

View File

@@ -0,0 +1,47 @@
@extends('layouts.app')
@section('content')
<div class="container">
<div class="col-md-8 offset-md-2">
<h1>{{isset($category)?'Editar':'Nueva'}} Categoría</h1>
<hr>
@if(isset($category))
{!! Form::model($category,['method'=>'put','id'=>'frm']) !!}
@else
{!! Form::open(['id'=>'frm']) !!}
@endif
<div class="form-group row required">
{!! Form::label("name","Categoría",["class"=>"col-form-label col-md-3 col-lg-2"]) !!}
<div class="col-md-8">
{!! Form::text("name",null,["class"=>"form-control".($errors->has('name')?" is-invalid":""),"autofocus",'placeholder'=>'Nombre de la categoría']) !!}
<span id="error-name" class="invalid-feedback"></span>
</div>
</div>
<div class="form-group row required">
{!! Form::label("en_name","Categoría (en ingles)",["class"=>"col-form-label col-md-3 col-lg-2"]) !!}
<div class="col-md-8">
{!! Form::text("en_name",null,["class"=>"form-control".($errors->has('en_name')?" is-invalid":""),"autofocus",'placeholder'=>'Nombre de la categoría (en ingles)']) !!}
<span id="error-name" class="invalid-feedback"></span>
</div>
</div>
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<div class="form-group row">
<div class="col-md-3 col-lg-2"></div>
<div class="col-md-4">
<a href="{{url('categories')}}" class="btn btn-danger btn-xs">
Atrás</a>
{!! Form::button("Guardar",["type" => "submit","class"=>"btn btn-primary btn-xs"])!!}
</div>
</div>
{!! Form::close() !!}
</div>
</div>
@endsection

View File

@@ -0,0 +1,83 @@
@extends('layouts.app')
@section('content')
@if (Auth::user()->role_id >= 5)
<div class="container-fluid" style="height:100%">
@include('sidebar')
<div style="width:90%; float: left; margin:1em 0 0 1em">
@else
<div class="container" style="margin:0 1em">
@endif
<div class="row">
<div class="col-sm-7">
<h3>Categorías</h3>
</div>
<div class="col-sm-5">
<div class="pull-right">
{!! Form::open(['method'=>'GET','url'=>'categories','class'=>'navbar-form navbar-left','role'=>'search']) !!}
<div class="input-group">
<input class="form-control" id="search"
value="{{ request()->session()->get('search') }}"
placeholder="Buscar" name="search"
type="text" id="search"/>
<div class="input-group-btn">
<button type="submit" class="btn btn-primary">
<i class="fa fa-search" aria-hidden="true"></i>
</button>
</div>
</div>
{!! Form::close() !!}
</div>
</div>
</div>
<table class="table">
<thead>
<tr>
<th style="vertical-align: middle"><a href="{{url('categories?field=id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">ID</a></th>
{{request()->session()->get('field')=='id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('categories?field=name&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Nombre</a></th>
{{request()->session()->get('field')=='name'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('categories?field=en_name&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Nombre en Ingles</a></th>
{{request()->session()->get('field')=='en_name'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th width="160px" style="vertical-align: middle">
<a href="{{url('categories/create')}}"
class="btn btn-primary btn-xs"> <i class="fa fa-plus" aria-hidden="true"></i> Nueva categoría</a>
</th>
</tr>
</thead>
<tbody>
@php
$i=1;
@endphp
@foreach ($categories as $category)
<tr>
<th>{{ $category->id }}</th>
<td>{{ $category->name }}</td>
<td>{{ $category->en_name }}</td>
<td>
<a class="btn btn-secondary btn-xs" title="Edit"
href="{{url('categories/update/'.$category->id)}}">
<i class="fa fa-pencil"></i>
</a>
<input type="hidden" name="_method" value="delete"/>
<a class="btn btn-danger btn-xs" title="Delete"
href="javascript:if(confirm('¿Estás seguro de que quieres eliminar esta categoría?')) javascript:if(confirm('Usualmente no se deben eliminar categorías, solo editarlas ¿Estás seguro?')) ajaxDelete('{{url('categories/delete/'.$category->id)}}','{{csrf_token()}}')">
<i class="fa fa-trash"></i>
</a>
</td>
</tr>
@endforeach
</tbody>
</table>
<ul class="pagination">
{{ $categories->links() }}
</ul>
</div>
@endsection

View File

@@ -0,0 +1,16 @@
@extends('layouts.app')
@section('content')
<div id="content">
@include('coupons.index')
</div>
<div class="loading">
<i class="fa fa-refresh fa-spin fa-2x fa-tw"></i>
<br>
<span>Loading</span>
</div>
@endsection
@section('js')
<script src="{{ asset('js/ajaxcrud.js') }}"></script>
@endsection

View File

@@ -0,0 +1,61 @@
@extends('layouts.app')
@section('content')
<div class="container">
<div class="col-md-8 offset-md-2">
<h1>{{isset($coupon)?'Editar':'Nuevo'}} Cupon</h1>
<hr>
@if(isset($coupon))
{!! Form::model($coupon,['method'=>'put','id'=>'frm']) !!}
@else
{!! Form::open(['id'=>'frm']) !!}
@endif
<div class="form-group row required">
{!! Form::label("name","Nombre",["class"=>"col-form-label col-md-3 col-lg-2"]) !!}
<div class="col-md-8">
{!! Form::text("name",null,["class"=>"form-control".($errors->has('coupon')?" is-invalid":""),"autofocus",'placeholder'=>'Nombre del cupon']) !!}
<span id="error-name" class="invalid-feedback"></span>
</div>
</div>
<div class="form-group row required">
{!! Form::label("percentage","Porcentaje",["class"=>"col-form-label col-md-3 col-lg-2"]) !!}
<div class="col-md-8">
{!! Form::text("percentage",null,["class"=>"form-control".($errors->has('percentage')?" is-invalid":""),"autofocus",'placeholder'=>'Porcentaje (opcional)']) !!}
<span id="error-name" class="invalid-feedback"></span>
</div>
</div>
<div class="form-group row required">
{!! Form::label("amount","Monto",["class"=>"col-form-label col-md-3 col-lg-2"]) !!}
<div class="col-md-8">
{!! Form::text("amount",null,["class"=>"form-control".($errors->has('amount')?" is-invalid":""),"autofocus",'placeholder'=>'Monto (opcional)']) !!}
<span id="error-name" class="invalid-feedback"></span>
</div>
</div>
<div class="form-group row required">
{!! Form::label("limit","No. de Cupones",["class"=>"col-form-label col-md-3 col-lg-2"]) !!}
<div class="col-md-8">
{!! Form::text("limit",null,["class"=>"form-control".($errors->has('limit')?" is-invalid":""),"autofocus",'placeholder'=>'No. máximo de cupones']) !!}
<span id="error-name" class="invalid-feedback"></span>
</div>
</div>
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<div class="form-group row">
<div class="col-md-3 col-lg-2"></div>
<div class="col-md-4">
<a href="{{url('coupons')}}" class="btn btn-danger btn-xs">
Atrás</a>
{!! Form::button("Guardar",["type" => "submit","class"=>"btn btn-primary btn-xs"])!!}
</div>
</div>
{!! Form::close() !!}
</div>
</div>
@endsection

View File

@@ -0,0 +1,91 @@
@extends('layouts.app')
@section('content')
@if (Auth::user()->role_id >= 5)
<div class="container-fluid" style="height:100%">
@include('sidebar')
<div style="width:90%; float: left; margin:1em 0 0 1em">
@else
<div class="container" style="margin:0 1em">
@endif
<div class="row">
<div class="col-sm-7">
<h3>Cupones</h3>
</div>
<div class="col-sm-5">
<div class="pull-right">
{!! Form::open(['method'=>'GET','url'=>'coupons','class'=>'navbar-form navbar-left','role'=>'search']) !!}
<div class="input-group">
<input class="form-control" id="search"
value="{{ request()->session()->get('search') }}"
placeholder="Buscar" name="search"
type="text" id="search"/>
<div class="input-group-btn">
<button type="submit" class="btn btn-primary">
<i class="fa fa-search" aria-hidden="true"></i>
</button>
</div>
</div>
{!! Form::close() !!}
</div>
</div>
</div>
<table class="table">
<thead>
<tr>
<th style="vertical-align: middle"><a href="{{url('coupons?field=id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">ID</a></th>
{{request()->session()->get('field')=='id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('coupons?field=name&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Nombre</a></th>
{{request()->session()->get('field')=='name'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('coupons?field=percentage&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Porcentaje</a></th>
{{request()->session()->get('field')=='percentage'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('coupons?field=amount&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Monto</a></th>
{{request()->session()->get('field')=='amount'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('coupons?field=limit&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Límite</a></th>
{{request()->session()->get('field')=='limit'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th width="160px" style="vertical-align: middle">
<a href="{{url('coupons/create')}}"
class="btn btn-primary btn-xs"> <i class="fa fa-plus" aria-hidden="true"></i> Nuevo Cupon</a>
</th>
</tr>
</thead>
<tbody>
@php
$i=1;
@endphp
@foreach ($coupons as $coupon)
<tr>
<th>{{ $coupon->id }}</th>
<td>{{ $coupon->name }}</td>
<td>{{ $coupon->percentage }}%</td>
<td>${{ $coupon->amount }}</td>
<td>{{ $coupon->limit }}</td>
<td>
<a class="btn btn-secondary btn-xs" title="Edit"
href="{{url('coupons/update/'.$coupon->id)}}">
<i class="fa fa-pencil"></i>
</a>
<input type="hidden" name="_method" value="delete"/>
<a class="btn btn-danger btn-xs" title="Delete"
href="javascript:if(confirm('¿Estás seguro de que quieres eliminar este cupon?')) javascript:if(confirm('Usualmente no se deben eliminar cupones, solo editarlos ¿Estás seguro?')) ajaxDelete('{{url('coupons/delete/'.$coupon->id)}}','{{csrf_token()}}')">
<i class="fa fa-trash"></i>
</a>
</td>
</tr>
@endforeach
</tbody>
</table>
<ul class="pagination">
{{ $coupons->links() }}
</ul>
</div>
@endsection

View File

@@ -0,0 +1,16 @@
@extends('layouts.app')
@section('content')
<div id="content">
@include('currentcontracts.index')
</div>
<div class="loading">
<i class="fa fa-refresh fa-spin fa-2x fa-tw"></i>
<br>
<span>Loading</span>
</div>
@endsection
@section('js')
<script src="{{ asset('js/ajaxcrud.js') }}"></script>
@endsection

View File

@@ -0,0 +1,123 @@
@extends('layouts.app')
@section('content')
@if (Auth::user()->role_id >= 5)
<div class="container-fluid" style="height:100%">
@include('sidebar')
<div style="width:90%; float: left; margin:1em 0 0 1em">
@else
<div class="container" style="margin:0 1em">
@endif
<div class="row">
<div class="col-sm-7">
<h3>Contratos actuales</h3>
</div>
<div class="col-sm-5">
<a class="btn btn-secondary btn-xs" title="Ver en Mapa"
href="{{url('currentcontracts/map')}}">
<i class="fa fa-map"></i> Ver en Mapa
</a>
<div class="pull-right">
{!! Form::open(['method'=>'GET','url'=>'currentcontracts','class'=>'navbar-form navbar-left','role'=>'search']) !!}
<div class="input-group">
<input class="form-control" id="search"
value="{{ request()->session()->get('search') }}"
placeholder="Buscar" name="search"
type="text" id="search"/>
<div class="input-group-btn">
<button type="submit" class="btn btn-primary">
<i class="fa fa-search" aria-hidden="true"></i>
</button>
</div>
</div>
{!! Form::close() !!}
</div>
</div>
</div>
<table class="table">
<thead>
<tr>
<th style="vertical-align: middle"><a href="{{url('currentcontracts?field=id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">ID</a></th>
{{request()->session()->get('field')=='id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('currentcontracts?field=user_id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Usuario</a></th>
{{request()->session()->get('field')=='user_id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('currentcontracts?field=supplier_id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Proveedor</a></th>
{{request()->session()->get('field')=='supplier_id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('currentcontracts?field=category_id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Categoría</a></th>
{{request()->session()->get('field')=='category_id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('currentcontracts?field=address&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Dirección</a></th>
{{request()->session()->get('field')=='address'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('currentcontracts?field=references&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Referencias</a></th>
{{request()->session()->get('field')=='references'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('currentcontracts?field=appointment&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Cita</a></th>
{{request()->session()->get('field')=='appointment'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('currentcontracts?field=amount&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Monto</a></th>
{{request()->session()->get('amount')=='RFC'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('currentcontracts?field=details&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Detalles</a></th>
{{request()->session()->get('field')=='details'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('finishedcontracts?field=transaction_id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Cupón</a></th>
{{request()->session()->get('field')=='coupon_name'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('currentcontracts?field=transaction_id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Transacción ID</a></th>
{{request()->session()->get('field')=='transaction_id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('currentcontracts?code&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Pin servicio</a></th>
{{request()->session()->get('field')=='code'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('currentcontracts?field=created_at&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Fecha de creación</a></th>
{{request()->session()->get('field')=='created_at'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('currentcontracts?field=updated_at&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Ultimo incio de sesión</a></th>
{{request()->session()->get('field')=='updated_at'?(request()->session()->get('sort')=='asc'?'':''):''}}
</tr>
</thead>
<tbody>
@php
$i=1;
@endphp
@foreach ($currentcontracts as $currentcontract)
<tr>
<th>{{ $currentcontract->id }}</th>
<td>{{ $currentcontract->user->name ?? null }}</td>
<td>{{ $currentcontract->suppliers->company_name ?? null }}</td>
<td>{{ $currentcontract->categories->name }}</td>
<td>{{ $currentcontract->address }}</td>
<td>{{ $currentcontract->references }}</td>
<td>{{ $currentcontract->appointment }}</td>
<td>${{ $currentcontract->amount }}</td>
<td>{{ $currentcontract->details }}</td>
<td>{{ (isset($currentcontract->coupon->name) ? $currentcontract->coupon->name : null) }}</td>
<td>{{ $currentcontract->transaction_id }}</td>
<td>{{ $currentcontract->code }}</td>
<td>{{ $currentcontract->created_at }}</td>
<td>{{ $currentcontract->updated_at }}</td>
<td>
<input type="hidden" name="_method" value="delete"/>
<a class="btn btn-danger btn-xs" title="Delete"
href="javascript:if(confirm('¿Estás seguro de que quieres eliminar esta contrato?')) javascript:if(confirm('Usualmente no se deben eliminar contratos, ¿Estás seguro?')) ajaxDelete('{{url('currentcontracts/delete/'.$currentcontract->id)}}','{{csrf_token()}}')">
<i class="fa fa-trash"></i>
</a>
</td>
</tr>
@endforeach
</tbody>
</table>
<ul class="pagination">
{{ $currentcontracts->links() }}
</ul>
</div>
@endsection

View File

@@ -0,0 +1,64 @@
@extends('layouts.app')
@section('content')
@if (Auth::user()->role_id >= 5)
<div class="container-fluid" style="height:100%">
@include('sidebar')
<div style="width:90%; float: left; margin:1em 0 0 1em">
@else
<div class="container" style="margin:0 1em">
@endif
<div class="row">
<div class="col-sm-7">
<h3>Contratos actuales</h3>
</div>
<div class="col-sm-5">
<div class="pull-right">
{!! Form::open(['method'=>'GET','url'=>'currentcontracts','class'=>'navbar-form navbar-left','role'=>'search']) !!}
<div class="input-group">
<input class="form-control" id="search"
value="{{ request()->session()->get('search') }}"
placeholder="Buscar" name="search"
type="text" id="search"/>
<div class="input-group-btn">
<button type="submit" class="btn btn-primary">
<i class="fa fa-search" aria-hidden="true"></i>
</button>
</div>
</div>
{!! Form::close() !!}
</div>
</div>
</div>
@php
$markers=array();
foreach ($currentcontracts as $currentcontract) {
$markers[] =
[
'title' => $currentcontract->id,
'lat' => $currentcontract->location->getLat(),
'lng' => $currentcontract->location->getLng(),
'popup' => '<h3>' . $currentcontract->id . '</h3><p>' . $currentcontract->address .
'<br>' . $currentcontract->suppliers->company_name ?? null . '<br>' . ucfirst($currentcontract->categories->name ?? null) .
'<br>' . $currentcontract->appointment . '<br>$' . $currentcontract->amount . '<br>' . ucfirst($currentcontract->status->name) .
'<br>' . $currentcontract->score . ' de 5</p>',
];
}
$markers_json = str_replace(":", " => " ,str_replace("}", "]", str_replace("{", "[", json_encode($markers))));
@endphp
@map([
'lat' => 20.659698,
'lng' => -103.349609,
'zoom' => 12,
$markers_json
])
<ul class="pagination">
{{ $currentcontracts->links() }}
</ul>
</div>
@endsection

View File

@@ -0,0 +1,16 @@
@extends('layouts.app')
@section('content')
<div id="content">
@include('finishedcontracts.index')
</div>
<div class="loading">
<i class="fa fa-refresh fa-spin fa-2x fa-tw"></i>
<br>
<span>Loading</span>
</div>
@endsection
@section('js')
<script src="{{ asset('js/ajaxcrud.js') }}"></script>
@endsection

View File

@@ -0,0 +1,131 @@
@extends('layouts.app')
@section('content')
@if (Auth::user()->role_id >= 5)
<div class="container-fluid" style="height:100%">
@include('sidebar')
<div style="width:90%; float: left; margin:1em 0 0 1em">
@else
<div class="container" style="margin:0 1em">
@endif
<div class="row">
<div class="col-sm-7">
<h3>Contratos Finalizados</h3>
</div>
<div class="col-sm-5">
<a class="btn btn-secondary btn-xs" title="Ver en Mapa"
href="{{url('finishedcontracts/map')}}">
<i class="fa fa-map"></i> Ver en Mapa
</a>
<div class="pull-right">
{!! Form::open(['method'=>'GET','url'=>'finishedcontracts','class'=>'navbar-form navbar-left','role'=>'search']) !!}
<div class="input-group">
<input class="form-control" id="search"
value="{{ request()->session()->get('search') }}"
placeholder="Buscar" name="search"
type="text" id="search"/>
<div class="input-group-btn">
<button type="submit" class="btn btn-primary">
<i class="fa fa-search" aria-hidden="true"></i>
</button>
</div>
</div>
{!! Form::close() !!}
</div>
</div>
</div>
<table class="table">
<thead>
<tr>
<th style="vertical-align: middle"><a href="{{url('finishedcontracts?field=id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">ID</a></th>
{{request()->session()->get('field')=='id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('finishedcontracts?field=user_id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Usuario</a></th>
{{request()->session()->get('field')=='user_id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('finishedcontracts?field=supplier_id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Proveedor</a></th>
{{request()->session()->get('field')=='supplier_id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('finishedcontracts?field=category_id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Categoría</a></th>
{{request()->session()->get('field')=='category_id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('finishedcontracts?field=address&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Dirección</a></th>
{{request()->session()->get('field')=='address'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('finishedcontracts?field=references&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Referencias</a></th>
{{request()->session()->get('field')=='references'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('finishedcontracts?field=appointment&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Cita</a></th>
{{request()->session()->get('field')=='appointment'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('finishedcontracts?field=amount&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Monto</a></th>
{{request()->session()->get('amount')=='RFC'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('finishedcontracts?field=details&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Detalles</a></th>
{{request()->session()->get('field')=='details'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('finishedcontracts?field=transaction_id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Status</a></th>
{{request()->session()->get('field')=='status_id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('finishedcontracts?field=score&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Calificación</a></th>
{{request()->session()->get('field')=='score'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('finishedcontracts?field=comments&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Comentarios</a></th>
{{request()->session()->get('field')=='comments'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('finishedcontracts?field=transaction_id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Cupón</a></th>
{{request()->session()->get('field')=='coupon_name'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('finishedcontracts?field=transaction_id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Transacción ID</a></th>
{{request()->session()->get('field')=='transaction_id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('finishedcontracts?field=created_at&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Fecha de creación</a></th>
{{request()->session()->get('field')=='created_at'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('finishedcontracts?field=updated_at&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Ultimo incio de sesión</a></th>
{{request()->session()->get('field')=='updated_at'?(request()->session()->get('sort')=='asc'?'':''):''}}
</tr>
</thead>
<tbody>
@php
$i=1;
@endphp
@foreach ($finishedcontracts as $finishedcontract)
<tr>
<th>{{ $finishedcontract->id }}</th>
<td>{{ $finishedcontract->user->name ?? null }}</td>
<td>{{ $finishedcontract->suppliers->company_name ?? null }}</td>
<td>{{ $finishedcontract->categories->name ?? null }}</td>
<td>{{ $finishedcontract->address }}</td>
<td>{{ $finishedcontract->references }}</td>
<td>{{ $finishedcontract->appointment }}</td>
<td>${{ $finishedcontract->amount }}</td>
<td>{{ $finishedcontract->details }}</td>
<td>{{ $finishedcontract->status->name }}</td>
<td>{{ $finishedcontract->score }}</td>
<td>{{ $finishedcontract->comments }}</td>
<td>{{ (isset($finishedcontract->coupon->name) ? $finishedcontract->coupon->name : null) }}</td>
<td>{{ $finishedcontract->transaction_id }}</td>
<td>{{ $finishedcontract->created_at }}</td>
<td>{{ $finishedcontract->updated_at }}</td>
<td>
<input type="hidden" name="_method" value="delete"/>
<a class="btn btn-danger btn-xs" title="Delete"
href="javascript:if(confirm('¿Estás seguro de que quieres eliminar esta contrato?')) javascript:if(confirm('Usualmente no se deben eliminar contratos, ¿Estás seguro?')) ajaxDelete('{{url('finishedcontracts/delete/'.$finishedcontract->id)}}','{{csrf_token()}}')">
<i class="fa fa-trash"></i>
</a>
</td>
</tr>
@endforeach
</tbody>
</table>
<ul class="pagination">
{{ $finishedcontracts->links() }}
</ul>
</div>
@endsection

View File

@@ -0,0 +1,64 @@
@extends('layouts.app')
@section('content')
@if (Auth::user()->role_id >= 5)
<div class="container-fluid" style="height:100%">
@include('sidebar')
<div style="width:90%; float: left; margin:1em 0 0 1em">
@else
<div class="container" style="margin:0 1em">
@endif
<div class="row">
<div class="col-sm-7">
<h3>Contratos Finalizados</h3>
</div>
<div class="col-sm-5">
<div class="pull-right">
{!! Form::open(['method'=>'GET','url'=>'finishedcontracts','class'=>'navbar-form navbar-left','role'=>'search']) !!}
<div class="input-group">
<input class="form-control" id="search"
value="{{ request()->session()->get('search') }}"
placeholder="Buscar" name="search"
type="text" id="search"/>
<div class="input-group-btn">
<button type="submit" class="btn btn-primary">
<i class="fa fa-search" aria-hidden="true"></i>
</button>
</div>
</div>
{!! Form::close() !!}
</div>
</div>
</div>
@php
$markers=array();
foreach ($finishedcontracts as $finishedcontract) {
$markers[] =
[
'title' => $finishedcontract->id,
'lat' => $finishedcontract->location->getLat(),
'lng' => $finishedcontract->location->getLng(),
'popup' => '<h3>' . $finishedcontract->id . '</h3><p>' . $finishedcontract->address .
'<br>' . $finishedcontract->suppliers->company_name ?? null . '<br>' . ucfirst($finishedcontract->categories->name ?? null) .
'<br>' . $finishedcontract->appointment . '<br>$' . $finishedcontract->amount . '<br>' . ucfirst($finishedcontract->status->name) .
'<br>' . $finishedcontract->score . ' de 5</p>',
];
}
$markers_json = str_replace(":", " => " ,str_replace("}", "]", str_replace("{", "[", json_encode($markers))));
@endphp
@map([
'lat' => 20.659698,
'lng' => -103.349609,
'zoom' => 12,
$markers_json
])
<ul class="pagination">
{{ $finishedcontracts->links() }}
</ul>
</div>
@endsection

View File

@@ -0,0 +1,69 @@
@extends('layouts.app')
@section('content')
@if (Auth::user()->role_id >= 5)
<div class="container-fluid" style="height:100%">
@include('sidebar')
<div style="width:90%; margin-top: 1em; float: left">
@else
<div class="container">
@endif
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">Inicio</div>
<div class="card-body">
@if (session('status'))
<div class="alert alert-success" role="alert">
{{ session('status') }}
</div>
@endif
<a href="supplier/edit/">Registro Proveedores</a>
</div>
</div>
@php
use App\Models\Suppliers;
$user = Auth::user();
$supplier = $supplier = Suppliers::where('user_id', $user->id)->first();
if(isset($supplier->cover_photo)) {
echo('
<div class="card" style="margin-top: 2%">
<div class="card-header">Descarga la App</div>
<div class="card-body">
¡Ya estás registrado como Héroe en JobHero, descarga la app!
<br>
<a style="width: auto" href="https://apps.apple.com/mx/app/ichamba/id1572700805">
');
echo('<img src="' . asset('img/Download_on_the_App_Store_Badge_ESMX_RGB_blk_100217.svg') . '" style="width: 14.65em; padding-top: 1.25em; float: left; display: inline-block"/></a>');
echo('
<a style="width: auto" href="https://play.google.com/store/apps/details?id=com.ichamba.app">
');
echo('<img src="' . asset('img/google-play-badge.png') . '" style="width: 18em; float: right; display: inline-block" /></a>');
echo('
</div>
</div>
<div class="card" style="margin-top: 2%">
<div class="card-header">Previsualización foto de portada</div>
<div class="card-body">
Así se vera la foto de portada en la aplicación, recuerda mantener un tamaño de imagen de 720x480px para una mejor visualización
</div>
<div style="margin: auto; display: block; height:480px; width:720px; background-image: url('
);
echo($supplier->cover_photo);
echo(
'); background-size: cover;">
</div>
</div>');
}
@endphp
</div>
</div>
</div>
</div>
@endsection

View File

@@ -0,0 +1,90 @@
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- CSRF Token -->
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>{{ config('app.name', 'iChamba') }}</title>
<!-- Scripts -->
<script src="{{ asset('js/app.js') }}"></script>
<!-- Fonts -->
<link rel="dns-prefetch" href="//fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet">
<!-- Styles -->
<link rel="shortcut icon" href="{{ asset('favicon.ico') }}">
<link href="{{ asset('css/app.css') }}" rel="stylesheet">
<link href="{{ asset('css/bootstrap-tagsinput.css') }}" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
@mapstyles
</head>
<body>
<div id="app" style="height: 100%">
<nav class="navbar navbar-expand-md navbar-dark bg-primary shadow-sm">
<div class="container" style="padding-top: 0px">
<!--
<a class="navbar-brand" href="{{ url('/home') }}">
<img id='logo' src="{{asset('/img/ichamba.svg')}}">
</a>
-->
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="{{ __('Toggle navigation') }}">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<!-- Left Side Of Navbar -->
<ul class="navbar-nav mr-auto">
</ul>
<!-- Right Side Of Navbar -->
<ul class="navbar-nav ml-auto">
<!-- Authentication Links -->
@guest
<li class="nav-item">
<a class="nav-link" href="{{ route('login') }}">{{ __('Iniciar sesión') }}</a>
</li>
@else
<li class="nav-item dropdown">
<a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre style="padding-left:55px;">
<img src="{{ isset(Auth::user()->profile_photo) ? asset('img/users/' . Auth::user()->id . '/' . Auth::user()->profile_photo):asset('img/users/default.png') }}" style="width:48px; height:auto; position:absolute; top:-5px; left:-1px; border-radius:50%"/>
{{ Auth::user()->name }} <span class="caret"></span>
</a>
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="{{ route('logout') }}"
onclick="event.preventDefault();
document.getElementById('logout-form').submit();">
{{ __('Cerrar sesión') }}
</a>
<form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
@csrf
</form>
</div>
</li>
@endguest
</ul>
</div>
</div>
</nav>
<main class="py-4">
@yield('content')
{!! GoogleReCaptchaV3::init() !!}
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<script src="https://twitter.github.io/typeahead.js/releases/latest/typeahead.bundle.js"></script>
<script src="{{ asset('js/bootstrap-tagsinput.min.js') }}"></script>
@yield('js')
</main>
</div>
@mapscripts
</body>
</html>

View File

@@ -0,0 +1,16 @@
@extends('layouts.app')
@section('content')
<div id="content">
@include('parameters.index')
</div>
<div class="loading">
<i class="fa fa-refresh fa-spin fa-2x fa-tw"></i>
<br>
<span>Loading</span>
</div>
@endsection
@section('js')
<script src="{{ asset('js/ajaxcrud.js') }}"></script>
@endsection

View File

@@ -0,0 +1,54 @@
@extends('layouts.app')
@section('content')
<div class="container">
<div class="col-md-8 offset-md-2">
<h1>{{isset($ichambaparameter)?'Editar':'Nuevo'}} Parametro</h1>
<hr>
@if(isset($ichambaparameter))
{!! Form::model($ichambaparameter,['method'=>'put','id'=>'frm']) !!}
@else
{!! Form::open(['id'=>'frm']) !!}
@endif
<div class="form-group row required">
{!! Form::label("parameter","Parametro",["class"=>"col-form-label col-md-3 col-lg-2"]) !!}
<div class="col-md-8">
{!! Form::text("parameter",null,["class"=>"form-control".($errors->has('parameter')?" is-invalid":""),"autofocus",'placeholder'=>'Nombre del parametro']) !!}
<span id="error-name" class="invalid-feedback"></span>
</div>
</div>
<div class="form-group row required">
{!! Form::label("num_value","Valor Númerico",["class"=>"col-form-label col-md-3 col-lg-2"]) !!}
<div class="col-md-8">
{!! Form::text("num_value",null,["class"=>"form-control".($errors->has('num_value')?" is-invalid":""),"autofocus",'placeholder'=>'Valor númerico (opcional)']) !!}
<span id="error-name" class="invalid-feedback"></span>
</div>
</div>
<div class="form-group row required">
{!! Form::label("string_value","Valor de texto",["class"=>"col-form-label col-md-3 col-lg-2"]) !!}
<div class="col-md-8">
{!! Form::text("string_value",null,["class"=>"form-control".($errors->has('string_value')?" is-invalid":""),"autofocus",'placeholder'=>'Valor de texto (opcional)']) !!}
<span id="error-name" class="invalid-feedback"></span>
</div>
</div>
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<div class="form-group row">
<div class="col-md-3 col-lg-2"></div>
<div class="col-md-4">
<a href="{{url('parameters')}}" class="btn btn-danger btn-xs">
Atrás</a>
{!! Form::button("Guardar",["type" => "submit","class"=>"btn btn-primary btn-xs"])!!}
</div>
</div>
{!! Form::close() !!}
</div>
</div>
@endsection

View File

@@ -0,0 +1,87 @@
@extends('layouts.app')
@section('content')
@if (Auth::user()->role_id >= 5)
<div class="container-fluid" style="height:100%">
@include('sidebar')
<div style="width:90%; float: left; margin:1em 0 0 1em">
@else
<div class="container" style="margin:0 1em">
@endif
<div class="row">
<div class="col-sm-7">
<h3>Parámetros</h3>
</div>
<div class="col-sm-5">
<div class="pull-right">
{!! Form::open(['method'=>'GET','url'=>'parameters','class'=>'navbar-form navbar-left','role'=>'search']) !!}
<div class="input-group">
<input class="form-control" id="search"
value="{{ request()->session()->get('search') }}"
placeholder="Buscar" name="search"
type="text" id="search"/>
<div class="input-group-btn">
<button type="submit" class="btn btn-primary">
<i class="fa fa-search" aria-hidden="true"></i>
</button>
</div>
</div>
{!! Form::close() !!}
</div>
</div>
</div>
<table class="table">
<thead>
<tr>
<th style="vertical-align: middle"><a href="{{url('parameters?field=id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">ID</a></th>
{{request()->session()->get('field')=='id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('parameters?field=parameter&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Parametro</a></th>
{{request()->session()->get('field')=='parameter'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('parameters?field=num_value&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Valor Númerico</a></th>
{{request()->session()->get('field')=='num_value'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('parameters?field=string_value&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Valor de Texto</a></th>
{{request()->session()->get('field')=='string_value'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th width="160px" style="vertical-align: middle">
<a href="{{url('parameters/create')}}"
class="btn btn-primary btn-xs"> <i class="fa fa-plus" aria-hidden="true"></i> Nuevo Parametro</a>
</th>
</tr>
</thead>
<tbody>
@php
$i=1;
@endphp
@foreach ($ichambaparameters as $ichambaparameter)
<tr>
<th>{{ $ichambaparameter->id }}</th>
<td>{{ $ichambaparameter->parameter }}</td>
<td>{{ $ichambaparameter->num_value }}</td>
<td>{{ $ichambaparameter->string_value }}</td>
<td>
<a class="btn btn-secondary btn-xs" title="Edit"
href="{{url('parameters/update/'.$ichambaparameter->id)}}">
<i class="fa fa-pencil"></i>
</a>
<input type="hidden" name="_method" value="delete"/>
<a class="btn btn-danger btn-xs" title="Delete"
href="javascript:if(confirm('¿Estás seguro de que quieres eliminar este parametro?')) javascript:if(confirm('Usualmente no se deben eliminar parametros, solo editarlos ¿Estás seguro?')) ajaxDelete('{{url('parameters/delete/'.$ichambaparameter->id)}}','{{csrf_token()}}')">
<i class="fa fa-trash"></i>
</a>
</td>
</tr>
@endforeach
</tbody>
</table>
<ul class="pagination">
{{ $ichambaparameters->links() }}
</ul>
</div>
@endsection

View File

@@ -0,0 +1,16 @@
@extends('layouts.app')
@section('content')
<div id="content">
@include('payments.index')
</div>
<div class="loading">
<i class="fa fa-refresh fa-spin fa-2x fa-tw"></i>
<br>
<span>Loading</span>
</div>
@endsection
@section('js')
<script src="{{ asset('js/ajaxcrud.js') }}"></script>
@endsection

View File

@@ -0,0 +1,103 @@
@extends('layouts.app')
@section('content')
@if (Auth::user()->role_id >= 5)
<div class="container-fluid" style="height:100%">
@include('sidebar')
<div style="width:90%; float: left; margin:1em 0 0 1em">
@else
<div class="container" style="margin:0 1em">
@endif
<div class="row">
<div class="col-sm-7">
<h3>Pagos</h3>
</div>
<div class="col-sm-5">
<div class="pull-right">
{!! Form::open(['method'=>'GET','url'=>'finishedcontracts','class'=>'navbar-form navbar-left','role'=>'search']) !!}
<div class="input-group">
<input class="form-control" id="search"
value="{{ request()->session()->get('search') }}"
placeholder="Buscar" name="search"
type="text" id="search"/>
<div class="input-group-btn">
<button type="submit" class="btn btn-primary">
<i class="fa fa-search" aria-hidden="true"></i>
</button>
</div>
</div>
{!! Form::close() !!}
</div>
</div>
</div>
<table class="table">
<thead>
<tr>
<th style="vertical-align: middle"><a href="{{url('payment?field=id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">ID</a></th>
{{request()->session()->get('field')=='id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('payment?field=user_id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Usuario</a></th>
{{request()->session()->get('field')=='user_id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('payment?field=membership&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Email</a></th>
{{request()->session()->get('field')=='membership'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('payment?field=RFC&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">RFC o CURP</a></th>
{{request()->session()->get('field')=='RFC'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('payment?field=clabe&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">CLABE</a></th>
{{request()->session()->get('field')=='clabe'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('payment?field=bank_id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Banco</a></th>
{{request()->session()->get('field')=='bank_id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('payment?field=bank_id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Código Banco</a></th>
{{request()->session()->get('field')=='bank_id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('payment?field=amount&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Monto</a></th>
{{request()->session()->get('field')=='amount'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('payment?field=revenue&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Utilidad</a></th>
{{request()->session()->get('field')=='revenue'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('payment?field=IVA&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Retención IVA</a></th>
{{request()->session()->get('field')=='IVA'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('payment?field=ISR&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Retención ISR</a></th>
{{request()->session()->get('field')=='ISR'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('payment?field=ichamba_fee&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Retención iChamba</a></th>
{{request()->session()->get('field')=='ichamba_fee'?(request()->session()->get('sort')=='asc'?'':''):''}}
</tr>
</thead>
<tbody>
@php
$i=1;
@endphp
@foreach ($payments as $payment)
<tr>
<th>{{ $payment->id }}</th>
<td>{{ $payment->suppliers->company_name }}</td>
<td >{{ $payment->suppliers->user->email }}</td>
<td >{{ (!$payment->suppliers->RFC) ? $payment->suppliers->CURP : $payment->suppliers->RFC }}</td>
<td >{{ $payment->suppliers->clabe }}</td>
<td >{{ (isset($payment->suppliers->banks->name) ? $payment->suppliers->banks->name : null) }}</td>
<td >{{ (isset($payment->suppliers->banks->code) ? $payment->suppliers->banks->code : null) }}</td>
<td >{{ $payment->amount }}</td>
<td >{{ $payment->revenue }}</td>
<td >{{ $payment->IVA }}</td>
<td >{{ $payment->ISR }}</td>
<td >{{ $payment->ichamba_fee }}</td>
</tr>
@endforeach
</tbody>
</table>
<ul class="pagination">
{{ $payments->links() }}
</ul>
</div>
@endsection

View File

@@ -0,0 +1,16 @@
@extends('layouts.app')
@section('content')
<div id="content">
@include('postulations.index')
</div>
<div class="loading">
<i class="fa fa-refresh fa-spin fa-2x fa-tw"></i>
<br>
<span>Loading</span>
</div>
@endsection
@section('js')
<script src="{{ asset('js/ajaxcrud.js') }}"></script>
@endsection

View File

@@ -0,0 +1,107 @@
@extends('layouts.app')
@section('content')
@if (Auth::user()->role_id >= 5)
<div class="container-fluid" style="height:100%">
@include('sidebar')
<div style="width:90%; float: left; margin:1em 0 0 1em">
@else
<div class="container" style="margin:0 1em">
@endif
<div class="row">
<div class="col-sm-7">
<h3>Postulaciones</h3>
</div>
<div class="col-sm-5">
<a class="btn btn-secondary btn-xs" title="Ver en Mapa"
href="{{url('postulations/map')}}">
<i class="fa fa-map"></i> Ver en Mapa
</a>
<div class="pull-right">
{!! Form::open(['method'=>'GET','url'=>'postulation','class'=>'navbar-form navbar-left','role'=>'search']) !!}
<div class="input-group">
<input class="form-control" id="search"
value="{{ request()->session()->get('search') }}"
placeholder="Buscar" name="search"
type="text" id="search"/>
<div class="input-group-btn">
<button type="submit" class="btn btn-primary">
<i class="fa fa-search" aria-hidden="true"></i>
</button>
</div>
</div>
{!! Form::close() !!}
</div>
</div>
</div>
<table class="table">
<thead>
<tr>
<th style="vertical-align: middle"><a href="{{url('postulations?field=id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">ID</a></th>
{{request()->session()->get('field')=='id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('postulations?field=user_id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Usuario</a></th>
{{request()->session()->get('field')=='user_id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('postulations?field=category_id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Categoría</a></th>
{{request()->session()->get('field')=='category_id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('postulations?field=address&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Dirección</a></th>
{{request()->session()->get('field')=='address'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('postulations?field=references&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Referencias</a></th>
{{request()->session()->get('field')=='references'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('postulations?field=appointment&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Cita</a></th>
{{request()->session()->get('field')=='appointment'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('postulations?field=amount&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Monto</a></th>
{{request()->session()->get('amount')=='RFC'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('postulations?field=details&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Detalles</a></th>
{{request()->session()->get('field')=='details'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('postulations?field=created_at&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Fecha de creación</a></th>
{{request()->session()->get('field')=='created_at'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('postulations?field=updated_at&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Ultimo incio de sesión</a></th>
{{request()->session()->get('field')=='updated_at'?(request()->session()->get('sort')=='asc'?'':''):''}}
</tr>
</thead>
<tbody>
@php
$i=1;
@endphp
@foreach ($postulations as $postulation)
<tr>
<th>{{ $postulation->id }}</th>
<td>{{ $postulation->user->name ?? null }}</td>
<td>{{ $postulation->categories->name ?? null }}</td>
<td>{{ $postulation->address }}</td>
<td>{{ $postulation->references }}</td>
<td>{{ $postulation->appointment }}</td>
<td>${{ $postulation->amount }}</td>
<td>{{ $postulation->details }}</td>
<td>{{ $postulation->created_at }}</td>
<td>{{ $postulation->updated_at }}</td>
<td>
<input type="hidden" name="_method" value="delete"/>
<a class="btn btn-danger btn-xs" title="Delete"
href="javascript:if(confirm('¿Estás seguro de que quieres eliminar esta postulación?')) javascript:if(confirm('Usualmente no se deben eliminar postulaciones, ¿Estás seguro?')) ajaxDelete('{{url('postulations/delete/'.$postulation->id)}}','{{csrf_token()}}')">
<i class="fa fa-trash"></i>
</a>
</td>
</tr>
@endforeach
</tbody>
</table>
<ul class="pagination">
{{ $postulations->links() }}
</ul>
</div>
@endsection

View File

@@ -0,0 +1,62 @@
@extends('layouts.app')
@section('content')
@if (Auth::user()->role_id >= 5)
<div class="container-fluid" style="height:100%">
@include('sidebar')
<div style="width:90%; float: left; margin:1em 0 0 1em">
@else
<div class="container" style="margin:0 1em">
@endif
<div class="row">
<div class="col-sm-7">
<h3>Postulaciones</h3>
</div>
<div class="col-sm-5">
<div class="pull-right">
{!! Form::open(['method'=>'GET','url'=>'postulation','class'=>'navbar-form navbar-left','role'=>'search']) !!}
<div class="input-group">
<input class="form-control" id="search"
value="{{ request()->session()->get('search') }}"
placeholder="Buscar" name="search"
type="text" id="search"/>
<div class="input-group-btn">
<button type="submit" class="btn btn-primary">
<i class="fa fa-search" aria-hidden="true"></i>
</button>
</div>
</div>
{!! Form::close() !!}
</div>
</div>
</div>
@php
$markers=array();
foreach ($postulations as $postulation) {
$markers[] =
[
'title' => $postulation->id,
'lat' => $postulation->location->getLat(),
'lng' => $postulation->location->getLng(),
'popup' => '<h3>' . $postulation->id . '</h3><p>' . $postulation->address .
'<br>' . ucfirst($postulation->categories->name ?? null) .
'<br>' . $postulation->appointment . '<br>' . $postulation->amount . '</p>',
];
}
$markers_json = str_replace(":", " => " ,str_replace("}", "]", str_replace("{", "[", json_encode($markers))));
@endphp
@map([
'lat' => 20.659698,
'lng' => -103.349609,
'zoom' => 12,
$markers_json
])
<ul class="pagination">
{{ $postulations->links() }}
</ul>
</div>
@endsection

View File

@@ -0,0 +1,16 @@
@extends('layouts.app')
@section('content')
<div id="content">
@include('reports.index')
</div>
<div class="loading">
<i class="fa fa-refresh fa-spin fa-2x fa-tw"></i>
<br>
<span>Loading</span>
</div>
@endsection
@section('js')
<script src="{{ asset('js/ajaxcrud.js') }}"></script>
@endsection

View File

@@ -0,0 +1,119 @@
@extends('layouts.app')
@section('content')
<script src="{{ asset('js/ajaxcrud.js') }}"></script>
@if (Auth::user()->role_id >= 5)
<div class="container-fluid" style="height:100%">
@include('sidebar')
<div style="width:90%; float: left; margin:1em 0 0 1em">
@else
<div class="container" style="margin:0 1em">
@endif
<div class="row">
<div class="col-sm-7">
<h3>Comentarios del reporte</h3>
</div>
</div>
<br>
<h5>Contrato:</h5>
<table class="table">
<thead>
<tr>
<th style="vertical-align: middle">ID</th>
<th style="vertical-align: middle">Usuario</th>
<th style="vertical-align: middle">Proveedor</th>
<th style="vertical-align: middle">Categoría</th>
<th style="vertical-align: middle">Dirección</th>
<th style="vertical-align: middle">Cita</th>
<th style="vertical-align: middle">Monto</th>
<th style="vertical-align: middle">Calificación</th>
<th style="vertical-align: middle">Comentarios</th>
<th style="vertical-align: middle">Transacción ID</th>
<th style="vertical-align: middle">Fecha de creación</th>
<th style="vertical-align: middle">Fecha de fuera de casa</th>
<th style="vertical-align: middle">Confirmación de descripción de la casa</th>
</tr>
</thead>
<tbody>
@php
$i=1;
@endphp
<tr>
<th>{{ $contract->id }}</th>
<td>{{ $contract->user->name ?? null }}</td>
<td>{{ $contract->suppliers->company_name ?? null }}</td>
<td>{{ $contract->categories->name ?? null }}</td>
<td>{{ $contract->address }}</td>
<td>{{ $contract->appointment }}</td>
<td>${{ $contract->amount }}</td>
<td>{{ $contract->score }}</td>
<td>{{ $contract->comments }}</td>
<td>{{ $contract->transaction_id }}</td>
<td>{{ $contract->created_at }}</td>
<td>{{ isset($nohome->confirmed_at) }}</td>
<td>{{ isset($nohome->house_description) }}</td>
</tr>
</tbody>
</table>
<br><br>
<h5>Comentarios:</h5>
<table class="table">
<thead>
<tr>
<th style="vertical-align: middle"><a href="{{url('comments?field=user_id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Usuario</a></th>
{{request()->session()->get('field')=='user_id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('comments?field=user_id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Teléfono</a></th>
{{request()->session()->get('field')=='user_id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('comments?field=comment&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Comentario</a></th>
{{request()->session()->get('field')=='comment'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('contracts?field=created_at&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Fecha de creación</a></th>
{{request()->session()->get('field')=='created_at'?(request()->session()->get('sort')=='asc'?'':''):''}}
</tr>
</thead>
<tbody>
@php
$i=1;
@endphp
@foreach ($comments as $comment)
<tr>
<td>{{ $comment->user->name }}</td>
<td>{{ $comment->user->phone }}</td>
<td>{{ $comment->comment }}</td>
<td>{{ $comment->created_at }}</td>
<td style="width: 3em">
<input type="hidden" name="_method" value="delete"/>
<a class="btn btn-danger btn-xs" title="Delete"
href="javascript:if(confirm('¿Estás seguro de que quieres eliminar este comentario?')) javascript:if(confirm('Usualmente no se deben eliminar comentarios, solo editarlos ¿Estás seguro?')) ajaxDeleteComments('{{url('reports/comments/delete/'.$comment->id.'/'.$contract->id)}}','{{csrf_token()}}')">
<i class="fa fa-trash"></i>
</a>
</td>
</tr>
@endforeach
</tbody>
</table>
<ul class="pagination">
{{ $comments->links() }}
</ul>
</div>
@endsection

View File

@@ -0,0 +1,86 @@
@extends('layouts.app')
@section('content')
@if (Auth::user()->role_id >= 5)
<div class="container-fluid" style="height:100%">
@include('sidebar')
<div style="width:90%; float: left; margin:1em 0 0 1em">
@else
<div class="container" style="margin:0 1em">
@endif
<div class="row">
<div class="col-sm-7">
<h3>Reportes</h3>
</div>
<div class="col-sm-5">
<div class="pull-right">
{!! Form::open(['method'=>'GET','url'=>'reports','class'=>'navbar-form navbar-left','role'=>'search']) !!}
<div class="input-group">
<input class="form-control" id="search"
value="{{ request()->session()->get('search') }}"
placeholder="Buscar" name="search"
type="text" id="search"/>
<div class="input-group-btn">
<button type="submit" class="btn btn-primary">
<i class="fa fa-search" aria-hidden="true"></i>
</button>
</div>
</div>
{!! Form::close() !!}
</div>
</div>
</div>
<table class="table">
<thead>
<tr>
<th style="vertical-align: middle"><a href="{{url('reports?field=id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">ID</a></th>
{{request()->session()->get('field')=='id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('reports?field=contract_id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">ID de Contrato</a></th>
{{request()->session()->get('field')=='contract_id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('reports?field=moderator_idt&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Moderador</a></th>
{{request()->session()->get('field')=='moderator_id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('reports?field=veredict&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Veredicto</a></th>
{{request()->session()->get('field')=='veredict'?(request()->session()->get('sort')=='asc'?'':''):''}}
</tr>
</thead>
<tbody>
@php
$i=1;
@endphp
@foreach ($reports as $report)
<tr>
<th>{{ $report->id }}</th>
<td>{{ $report->contract_id }}</td>
<td>{{ $report->user->name }}</td>
<td>{{ $report->veredict }}</td>
<td style="width: 10em">
<a class="btn btn-primary btn-xs" title="Comments"
href="{{url('reports/comments/'.$report->id.'/'.$report->contract_id)}}">
<i class="fa fa-comments"></i>
</a>
<a class="btn btn-secondary btn-xs" title="Veredict"
href="{{url('reports/veredict/'.$report->id)}}">
<i class="fa fa-gavel"></i>
</a>
<input type="hidden" name="_method" value="delete"/>
<a class="btn btn-danger btn-xs" title="Delete"
href="javascript:if(confirm('¿Estás seguro de que quieres eliminar este reporte?')) javascript:if(confirm('Usualmente no se deben eliminar reportes, solo editarlos ¿Estás seguro?')) ajaxDelete('{{url('reports/delete/'.$report->id)}}','{{csrf_token()}}')">
<i class="fa fa-trash"></i>
</a>
</td>
</tr>
@endforeach
</tbody>
</table>
<ul class="pagination">
{{ $reports->links() }}
</ul>
</div>
@endsection

View File

@@ -0,0 +1,40 @@
@extends('layouts.app')
@section('content')
<div class="container">
<div class="col-md-8 offset-md-2">
<h1>Veredicto del Reporte</h1>
<hr>
@if(isset($report))
{!! Form::model($report,['method'=>'put','id'=>'frm']) !!}
@else
{!! Form::open(['id'=>'frm']) !!}
@endif
<div class="form-group row required">
{!! Form::label("veredict","Veredicto",["class"=>"col-form-label col-md-3 col-lg-2"]) !!}
<div class="col-md-8">
{!! Form::text("veredict",null,["class"=>"form-control".($errors->has('report')?" is-invalid":""),"autofocus",'placeholder'=>'Veredicto final']) !!}
<span id="error-name" class="invalid-feedback"></span>
</div>
</div>
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<div class="form-group row">
<div class="col-md-3 col-lg-2"></div>
<div class="col-md-4">
<a href="{{url('reports')}}" class="btn btn-danger btn-xs">
Atrás</a>
{!! Form::button("Guardar",["type" => "submit","class"=>"btn btn-primary btn-xs"])!!}
</div>
</div>
{!! Form::close() !!}
</div>
</div>
@endsection

View File

@@ -0,0 +1,19 @@
<div style="width:10%; height: calc(100% + 25px); margin-left:-15px; float: left; background-color:#c6e0f5">
<!-- Sidebar-->
<div class="list-group list-group-flush">
<a class="list-group-item list-group-item-action list-group-item-secondary p-3" href="/home">Inicio</a>
<a class="list-group-item list-group-item-action list-group-item-primary p-3" href="/users">Usuarios</a>
<a class="list-group-item list-group-item-action list-group-item-primary p-3" href="/supplier">Proveedores</a>
<a class="list-group-item list-group-item-action list-group-item-primary p-3" href="/categories">Categorias</a>
<a class="list-group-item list-group-item-action list-group-item-primary p-3" href="/banks">Bancos</a>
<a class="list-group-item list-group-item-action list-group-item-primary p-3" href="/cards">Tarjetas</a>
<a class="list-group-item list-group-item-action list-group-item-primary p-3" href="/payments">Pagos</a>
<a class="list-group-item list-group-item-action list-group-item-primary p-3" href="/postulations">Postulaciones</a>
<a class="list-group-item list-group-item-action list-group-item-primary p-3" href="/currentcontracts">Contratos Actuales</a>
<a class="list-group-item list-group-item-action list-group-item-primary p-3" href="/finishedcontracts">Contratos Finalizados</a>
<a class="list-group-item list-group-item-action list-group-item-primary p-3" href="/reports">Reportes</a>
<a class="list-group-item list-group-item-action list-group-item-primary p-3" href="/coupons">Cupones</a>
<a class="list-group-item list-group-item-action list-group-item-primary p-3" href="/parameters">Parámetros</a>
<a class="list-group-item list-group-item-action list-group-item-primary p-3" href="/status">Status de contratos</a>
</div>
</div>

View File

@@ -0,0 +1,16 @@
@extends('layouts.app')
@section('content')
<div id="content">
@include('status.index')
</div>
<div class="loading">
<i class="fa fa-refresh fa-spin fa-2x fa-tw"></i>
<br>
<span>Loading</span>
</div>
@endsection
@section('js')
<script src="{{ asset('js/ajaxcrud.js') }}"></script>
@endsection

View File

@@ -0,0 +1,40 @@
@extends('layouts.app')
@section('content')
<div class="container">
<div class="col-md-8 offset-md-2">
<h1>{{isset($status)?'Editar':'Nuevo'}} Status</h1>
<hr>
@if(isset($status))
{!! Form::model($status,['method'=>'put','id'=>'frm']) !!}
@else
{!! Form::open(['id'=>'frm']) !!}
@endif
<div class="form-group row required">
{!! Form::label("name","Status",["class"=>"col-form-label col-md-3 col-lg-2"]) !!}
<div class="col-md-8">
{!! Form::text("name",null,["class"=>"form-control".($errors->has('name')?" is-invalid":""),"autofocus",'placeholder'=>'Nombre del Status']) !!}
<span id="error-name" class="invalid-feedback"></span>
</div>
</div>
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<div class="form-group row">
<div class="col-md-3 col-lg-2"></div>
<div class="col-md-4">
<a href="{{url('status')}}" class="btn btn-danger btn-xs">
Atrás</a>
{!! Form::button("Guardar",["type" => "submit","class"=>"btn btn-primary btn-xs"])!!}
</div>
</div>
{!! Form::close() !!}
</div>
</div>
@endsection

View File

@@ -0,0 +1,81 @@
@extends('layouts.app')
@section('content')
@if (Auth::user()->role_id >= 5)
<div class="container-fluid" style="height:100%">
@include('sidebar')
<div style="width:90%; float: left; margin:1em 0 0 1em">
@else
<div class="container" style="margin:0 1em">
@endif
<div class="row">
<div class="col-sm-7">
<h3>Status</h3>
</div>
<div class="col-sm-5">
<div class="pull-right">
<div class="input-group">
<input class="form-control" id="search"
value="{{ request()->session()->get('search') }}"
onkeydown="if (event.keyCode == 13) ajaxLoad('{{url('status')}}?search='+this.value)"
placeholder="Buscar" name="search"
type="text" id="search"/>
<div class="input-group-btn">
<a href="{{url('status')}}">
<button type="submit" class="btn btn-primary"
onclick="ajaxLoad('{{url('/status')}}?search='+$('#search').val())">
<i class="fa fa-search" aria-hidden="true"></i>
</button>
</a>
</div>
</div>
</div>
</div>
</div>
<table class="table">
<thead>
<tr>
<th style="vertical-align: middle"><a href="{{url('status?field=id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">ID</a></th>
{{request()->session()->get('field')=='id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('status?field=name&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Nombre</a></th>
{{request()->session()->get('field')=='name'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th width="160px" style="vertical-align: middle">
<a href="{{url('status/create')}}"
class="btn btn-primary btn-xs"> <i class="fa fa-plus" aria-hidden="true"></i> Nuevo Status</a>
</th>
</tr>
</thead>
<tbody>
@php
$i=1;
@endphp
@foreach ($status as $statu)
<tr>
<th>{{ $statu->id }}</th>
<td>{{ $statu->name }}</td>
<td>
<a class="btn btn-secondary btn-xs" title="Edit"
href="{{url('status/update/'.$statu->id)}}">
<i class="fa fa-pencil"></i>
</a>
<input type="hidden" name="_method" value="delete"/>
<a class="btn btn-danger btn-xs" title="Delete"
href="javascript:if(confirm('¿Estás seguro de que quieres eliminar este status?')) javascript:if(confirm('Usualmente no se deben eliminar status, solo editarlas ¿Estás seguro?')) ajaxDelete('{{url('status/delete/'.$statu->id)}}','{{csrf_token()}}')">
<i class="fa fa-trash"></i>
</a>
</td>
</tr>
@endforeach
</tbody>
</table>
<ul class="pagination">
{{ $status->links() }}
</ul>
</div>
@endsection

View File

@@ -0,0 +1,16 @@
@extends('layouts.app')
@section('content')
<div id="content">
@include('supplier.index')
</div>
<div class="loading">
<i class="fa fa-refresh fa-spin fa-2x fa-tw"></i>
<br>
<span>Loading</span>
</div>
@endsection
@section('js')
<script src="{{ asset('js/ajaxcrud.js') }}"></script>
@endsection

View File

@@ -0,0 +1,182 @@
@extends('layouts.app')
@section('content')
<div class="container">
<div class="col-md-8 offset-md-2">
<h1>{{isset($supplier)?'Editar':'Nuevo'}} Proveedor</h1>
<hr>
@if(isset($supplier))
{!! Form::model($supplier,['method'=>'put','id'=>'frm', 'files' => 'true']) !!}
@else
{!! Form::open(['id'=>'frm', 'files' => 'true']) !!}
@endif
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBmkTsg0-1VKllM_vHD6V1EhPnF0YUP-88&libraries=places"></script>
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script type="text/javascript">
google.maps.event.addDomListener(window, 'load', function () {
var searchBox = new google.maps.places.Autocomplete(document.getElementById('address'));
google.maps.event.addListener(searchBox, 'place_changed', function () {
var place = searchBox.getPlace();
var lat = place.geometry.location.lat();
console.log(lat);
var lng = place.geometry.location.lng();
console.log(lng);
$('#lat').val(lat);
$('#lng').val(lng);
});
});
</script>
<script type="text/javascript">
$( function() {
var categories = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace,
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: {
url: "/api/categories-name",
}
});
categories.initialize();
$('#categories').tagsinput({
typeaheadjs: {
name: 'categories',
source: categories.ttAdapter()
}
});
});
</script>
<div class="form-group row required">
{!! Form::label("company_name","Tu nombre o nombre de la empresa*",["class"=>"col-form-label col-md-3 col-lg-2"]) !!}
<div class="col-md-8">
{!! Form::text("company_name",null,["class"=>"form-control".($errors->has('company_name')?" is-invalid":""),"autofocus",'placeholder'=>'Nombre de la empresa o negocio']) !!}
<span id="error-name" class="invalid-feedback"></span>
</div>
</div>
<div class="form-group row required">
{!! Form::label("cover_photo","Foto de portada",["class"=>"col-form-label col-md-3 col-lg-2"]) !!}
<div class="col-md-8">
{!! Form::file("cover_photo", null) !!}
<span id="error-name" class="invalid-feedback"></span>
</div>
</div>
<div class="form-group row required">
{!! Form::label("categories","Categorías*",["class"=>"col-form-label col-md-3 col-lg-2"]) !!}
<div class="col-md-8">
{!! Form::text("categories",str_replace(array('[',']','"'),"",$categories_names),["id"=>"categories","class"=>"form-control".($errors->has('categories')?" is-invalid":""),"autofocus",'placeholder'=>'Categoría 1, Categoría 2,']) !!}
<span id="error-name" class="invalid-feedback"></span>
</div>
</div>
<div class="form-group row required">
{!! Form::label("tags","Palabras clave",["class"=>"col-form-label col-md-3 col-lg-2"]) !!}
<div class="col-md-8">
{!! Form::text("tags",null,["data-role"=>"tagsinput","class"=>"form-control".($errors->has('tags')?" is-invalid":""),"autofocus",'placeholder'=>'Palabra clave 1, Palabra clave 2, Palabra clave 3']) !!}
<span id="error-name" class="invalid-feedback"></span>
</div>
</div>
<div class="form-group row required">
{!! Form::label("RFC","RFC",["class"=>"col-form-label col-md-3 col-lg-2"]) !!}
<div class="col-md-8">
{!! Form::text("RFC",null,["class"=>"form-control".($errors->has('RFC')?" is-invalid":""),"autofocus",'placeholder'=>'RFC']) !!}
<span id="error-name" class="invalid-feedback"></span>
</div>
</div>
<div class="form-group row required">
{!! Form::label("CURP","CURP",["class"=>"col-form-label col-md-3 col-lg-2"]) !!}
<div class="col-md-8">
{!! Form::text("CURP",null,["class"=>"form-control".($errors->has('CURP')?" is-invalid":""),"autofocus",'placeholder'=>'CURP']) !!}
<span id="error-name" class="invalid-feedback"></span>
</div>
</div>
<div class="form-group row required">
{!! Form::label("clabe","CLABE",["class"=>"col-form-label col-md-3 col-lg-2"]) !!}
<div class="col-md-8">
{!! Form::text("clabe",null,["class"=>"form-control".($errors->has('clabe')?" is-invalid":""),"autofocus",'placeholder'=>'CLABE Interbancaria']) !!}
<span id="error-name" class="invalid-feedback"></span>
</div>
</div>
<div class="form-group row required">
{!! Form::label("bank","Banco",["class"=>"col-form-label col-md-3 col-lg-2"]) !!}
<div class="col-md-8">
{!! Form::select("bank", $banks, isset($supplier) ? $supplier->bank_id : null) !!}
<span id="error-name" class="invalid-feedback"></span>
</div>
</div>
<div class="form-group row required">
{!! Form::label("taxes_id","Regimen Fiscal",["class"=>"col-form-label col-md-3 col-lg-2"]) !!}
<div class="col-md-8">
{!! Form::select("taxes_id", array(
'1' => 'Persona Física',
'2' => 'Persona Moral',
), (isset($supplier) ? (($supplier->regimen!='Persona Moral') ? '1' : '2') : null)) !!}
<span id="error-name" class="invalid-feedback"></span>
<br> (Sino esta registrado ante el SAT, seleccione Persona Física)
</div>
</div>
<div class="form-group row required">
{!! Form::label("minimun_fee","Tarifa de revisión",["class"=>"col-form-label col-md-3 col-lg-2"]) !!}
<div class="col-md-8">
{!! Form::number("minimun_fee",'150',["class"=>"form-control".($errors->has('minimun_fee')?" is-invalid":""),"autofocus",'placeholder'=>'Mínimo $150']) !!}
<span id="error-name" class="invalid-feedback"></span>
</div>
</div>
<div class="form-group row required">
{!! Form::label("address","Dirección*",["class"=>"col-form-label col-md-3 col-lg-2"]) !!}
<div class="col-md-8">
{!! Form::text("address",null,["class"=>"form-control".($errors->has('address')?" is-invalid":""),"autofocus",'placeholder'=>'Ingresa tu dirección']) !!}
<span id="error-address" class="invalid-feedback"></span>
</div>
</div>
<div class="form-group row required">
{!! Form::label("references_options","¿Cómo supiste de nosotros?*",["class"=>"col-form-label col-md-3 col-lg-2"]) !!}
<div class="col-md-8">
{!! Form::select("references_options", array(
'1' => 'Radio',
'2' => 'TV',
'3' => 'Redes Sociales',
'4' => 'Amigos',
'6' => 'Cámara de Comercio',
'5' => 'Otro',
), isset($supplier->references)) !!}
<span id="error-name" class="invalid-feedback"></span>
</div>
</div>
<div class="form-group row required">
{!! Form::label("references","Si es otro, específica",["class"=>"col-form-label col-md-3 col-lg-2"]) !!}
<div class="col-md-8">
{!! Form::text("references",null,["class"=>"form-control".($errors->has('references')?" is-invalid":""),"autofocus",'placeholder'=>'Empresa o el nombre de un héroe registrado']) !!}
<span id="error-name" class="invalid-feedback"></span>
</div>
</div>
<div class="form-group row" style="margin-bottom: 0rem;">
{!! Form::hidden("lat",null,["id"=>"lat","class"=>"form-control".($errors->has('lat')?" is-invalid":""),"autofocus"]) !!}
</div>
<div class="form-group row" style="margin-bottom: 0rem;">
{!! Form::hidden("lng",null,["id"=>"lng","class"=>"form-control".($errors->has('lng')?" is-invalid":""),"autofocus"]) !!}
</div>
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<div class="form-group row">
<div class="col-md-3 col-lg-2"></div>
<div class="col-md-4">
<a href="{{url('supplier')}}" class="btn btn-danger btn-xs">
Atrás</a>
{!! Form::button("Guardar",["type" => "submit","class"=>"btn btn-primary btn-xs"])!!}
</div>
</div>
{!! Form::close() !!}
</div>
</div>
@endsection

View File

@@ -0,0 +1,154 @@
@extends('layouts.app')
@section('content')
@if (Auth::user()->role_id >= 5)
<div class="container-fluid" style="height:100%">
@include('sidebar')
<div style="width:90%; float: left; margin:1em 0 0 1em">
@else
<div class="container" style="margin:0 1em">
@endif
<div class="row">
<div class="col-sm-7">
<h3>Proveedores</h3>
</div>
<div class="col-sm-5">
<div class="pull-right">
{!! Form::open(['method'=>'GET','url'=>'supplier','class'=>'navbar-form navbar-left','role'=>'search']) !!}
<div class="input-group">
<input class="form-control" id="search"
value="{{ request()->session()->get('search') }}"
placeholder="Buscar" name="search"
type="text" id="search"/>
<div class="input-group-btn">
<button type="submit" class="btn btn-primary">
<i class="fa fa-search" aria-hidden="true"></i>
</button>
</div>
</div>
{!! Form::close() !!}
</div>
</div>
</div>
<table class="table">
<thead>
<tr>
<th style="vertical-align: middle"><a href="{{url('supplier?field=id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">ID</a></th>
{{request()->session()->get('field')=='id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('supplier?field=user_id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Usuario</a></th>
{{request()->session()->get('field')=='user_id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('supplier?field=membership&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Membresía</a></th>
{{request()->session()->get('field')=='membership'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('supplier?field=company_name&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Empresa</a></th>
{{request()->session()->get('field')=='company_name'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('supplier?field=cover_photo&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Foto de portada</a></th>
{{request()->session()->get('field')=='cover_photo'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="#">Categorías</a></th>
<th style="vertical-align: middle"><a href="#">Categorías (ingles)</a></th>
<th style="vertical-align: middle"><a href="{{url('supplier?field=tags&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Tags</a></th>
{{request()->session()->get('field')=='tags'?(request()->session()->get('sort')=='asc'?'':''):''}}
<!--
<th style="vertical-align: middle"><a href="{{url('supplier?field=RFC&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">RFC</a></th>
{{request()->session()->get('field')=='RFC'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('supplier?field=RFC&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">CURP</a></th>
{{request()->session()->get('field')=='CURP'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('supplier?field=clabe&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">CLABE</a></th>
{{request()->session()->get('field')=='clabe'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('supplier?field=bank_id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Banco</a></th>
{{request()->session()->get('field')=='bank_id'?(request()->session()->get('sort')=='asc'?'':''):''}}
-->
<th style="vertical-align: middle"><a href="{{url('supplier?field=minimun_fee&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Monto Mínimo</a></th>
{{request()->session()->get('field')=='minimun_fee'?(request()->session()->get('sort')=='asc'?'':''):''}}
<!--
<th style="vertical-align: middle"><a href="{{url('supplier?field=IVA&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Regimen</a></th>
{{request()->session()->get('field')=='regimen'?(request()->session()->get('sort')=='asc'?'':''):''}}
-->
<th style="vertical-align: middle"><a href="#">Calificación</a></th>
<th style="vertical-align: middle"><a href="{{url('supplier?field=address&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Dirección</a></th>
{{request()->session()->get('field')=='address'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('supplier?field=location&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Coordenadas</a></th>
{{request()->session()->get('field')=='location'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('supplier?field=references&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Referenciado por</a></th>
{{request()->session()->get('field')=='references'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('supplier?field=created_at&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Fecha de creación</a></th>
{{request()->session()->get('field')=='created_at'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('supplier?field=updated_at&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Ultima actualización</a></th>
{{request()->session()->get('field')=='updated_at'?(request()->session()->get('sort')=='asc'?'':''):''}}
</tr>
</thead>
<tbody>
@php
$i=1;
@endphp
@foreach ($suppliers as $supplier)
<tr>
<th>{{ $supplier->id }}</th>
<td>{{ $supplier->user->name }}</td>
<td >{{ ($supplier->membership != 0) ? "Miembro" : "No miembro" }}</td>
<td >{{ $supplier->company_name }}</td>
<td ><img src="{{ $supplier->cover_photo }}" style="width:60px; height:auto;"></td>
<td >{{ str_replace(",",", ", str_replace(array('[',']','"'),"",$supplier->categories->pluck('name'))) }}</td>
<td >{{ str_replace(",",", ", str_replace(array('[',']','"'),"",$supplier->categories->pluck('en_name'))) }}</td>
<td >{{ $supplier->tags }}</td>
<!--
<td >{{ $supplier->RFC }}</td>
<td >{{ $supplier->CURP }}</td>
<td >{{ $supplier->clabe }}</td>
<td >{{ (isset($supplier->banks->name)) ? $supplier->banks->name : null }}</td>
-->
<td >{{ $supplier->minimun_fee }}</td>
<!-- <td >{{ $supplier->regimen }}</td> -->
<td >{{ $supplier->total_score/$supplier->finished_jobs }}</td>
<td >{{ $supplier->address }}</td>
<td >{{ $supplier->location->getLat() }}, {{ $supplier->location->getLng() }}</td>
<!-- <td >{{ ($supplier->en != 0) ? "Si" : "No" }}</td> -->
<td>{{ $supplier->references }}</td>
<td>{{ $supplier->created_at }}</td>
<td>{{ $supplier->updated_at }}</td>
<td>
<a class="btn btn-secondary btn-xs" title="Edit"
href="{{url('supplier/update/'.$supplier->id)}}">
<i class="fa fa-pencil"></i>
</a>
<a class="btn btn-primary btn-xs" title="Certificate"
href="javascript:if(confirm('¿Estás seguro de que quieres agregar/quitar la certificación a este proveedor?')) ajaxRedirect('{{url('supplier/certificate/'.$supplier->id)}}','{{csrf_token()}}')">
<i class="fa fa-star"></i>
</a>
<input type="hidden" name="_method" value="delete"/>
<a class="btn btn-danger btn-xs" title="Delete"
href="javascript:if(confirm('¿Estás seguro de que quieres eliminar este usuario?')) javascript:if(confirm('Usualmente no se deben eliminar usuarios, solo bloquearlos ¿Estás seguro?')) ajaxDelete('{{url('supplier/delete/'.$supplier->id)}}','{{csrf_token()}}')">
<i class="fa fa-trash"></i>
</a>
</td>
</tr>
@endforeach
</tbody>
</table>
<ul class="pagination">
{{ $suppliers->links() }}
</ul>
</div>
@endsection

View File

@@ -0,0 +1,16 @@
@extends('layouts.app')
@section('content')
<div id="content">
@include('users.index')
</div>
<div class="loading">
<i class="fa fa-refresh fa-spin fa-2x fa-tw"></i>
<br>
<span>Loading</span>
</div>
@endsection
@section('js')
<script src="{{ asset('js/ajaxcrud.js') }}"></script>
@endsection

View File

@@ -0,0 +1,72 @@
@extends('layouts.app')
@section('content')
<div class="container">
<div class="col-md-8 offset-md-2">
<h1>{{isset($user)?'Editar':'New'}} Usuario</h1>
<hr>
@if(isset($user))
{!! Form::model($user,['method'=>'put','id'=>'frm']) !!}
@else
{!! Form::open(['id'=>'frm']) !!}
@endif
<div class="form-group row required">
{!! Form::label("name","Nombre",["class"=>"col-form-label col-md-3 col-lg-2"]) !!}
<div class="col-md-8">
{!! Form::text("name",null,["class"=>"form-control".($errors->has('name')?" is-invalid":""),"autofocus",'placeholder'=>'Nombre']) !!}
<span id="error-name" class="invalid-feedback"></span>
</div>
</div>
<div class="form-group row required">
{!! Form::label("role","Rol",["class"=>"col-form-label col-md-3 col-lg-2"]) !!}
<div class="col-md-8">
{!! Form::select("role", array(
'1' => 'Usuario',
'2' => 'Proveedor',
'3' => 'Analisis y publicidad',
'4' => 'Facturación',
'5' => 'Moderador',
'6' => 'Administrador',
'7' => 'SuperAdmin'
), $user->roles->id) !!}
<span id="error-name" class="invalid-feedback"></span>
</div>
</div>
<div class="form-group row required">
{!! Form::label("email","Correo electrónico",["class"=>"col-form-label col-md-3 col-lg-2"]) !!}
<div class="col-md-8">
{!! Form::text("email",null,["class"=>"form-control".($errors->has('email')?" is-invalid":""),'placeholder'=>'Correo electrónico']) !!}
<span id="error-email" class="invalid-feedback"></span>
</div>
</div>
<div class="form-group row required">
{!! Form::label("openpay_id","Openpay ID",["class"=>"col-form-label col-md-3 col-lg-2"]) !!}
<div class="col-md-8">
{!! Form::text("openpay_id",null,["class"=>"form-control".($errors->has('openpay_id')?" is-invalid":""),'placeholder'=>'Openpay ID']) !!}
<span id="error-openpay_id" class="invalid-feedback"></span>
</div>
</div>
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<div class="form-group row">
<div class="col-md-3 col-lg-2"></div>
<div class="col-md-4">
<a href="{{url('users')}}" class="btn btn-danger btn-xs">
Atrás</a>
{!! Form::button("Guardar",["type" => "submit","class"=>"btn btn-primary btn-xs"])!!}
</div>
</div>
{!! Form::close() !!}
</div>
</div>
@endsection

View File

@@ -0,0 +1,115 @@
@extends('layouts.app')
@section('content')
@if (Auth::user()->role_id >= 5)
<div class="container-fluid" style="height:100%">
@include('sidebar')
<div style="width:90%; float: left; margin:1em 0 0 1em">
@else
<div class="container" style="margin:0 1em">
@endif
<div class="row">
<div class="col-sm-7">
<h3>Usuarios</h3>
</div>
<div class="col-sm-5">
<div class="pull-right">
{!! Form::open(['method'=>'GET','url'=>'users','class'=>'navbar-form navbar-left','role'=>'search']) !!}
<div class="input-group">
<input class="form-control" id="search"
value="{{ request()->session()->get('search') }}"
placeholder="Buscar" name="search"
type="text" id="search"/>
<div class="input-group-btn">
<button type="submit" class="btn btn-primary">
<i class="fa fa-search" aria-hidden="true"></i>
</button>
</div>
</div>
{!! Form::close() !!}
</div>
</div>
</div>
<table class="table">
<thead>
<tr>
<th style="vertical-align: middle"><a href="{{url('users?field=id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">ID</a></th>
{{request()->session()->get('field')=='id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('users?field=name&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Nombre</a></th>
{{request()->session()->get('field')=='name'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('users?field=email&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Correo electrónico</a></th>
{{request()->session()->get('field')=='email'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('users?field=role_id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Rol de usuario</a></th>
{{request()->session()->get('field')=='role_id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('users?field=social_id&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">ID de red social</a></th>
{{request()->session()->get('field')=='social_id'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('users?field=phone&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Teléfono</a></th>
{{request()->session()->get('field')=='phone'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('users?field=reported&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Reportes</a></th>
{{request()->session()->get('field')=='reported'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('users?field=phone_verified_at&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Fecha de verificación de teléfono</a></th>
{{request()->session()->get('field')=='phone_verified_at'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('users?field=created_at&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Fecha de creación</a></th>
{{request()->session()->get('field')=='created_at'?(request()->session()->get('sort')=='asc'?'':''):''}}
<th style="vertical-align: middle"><a href="{{url('users?field=updated_at&sort='.(request()->session()->get('sort')=='asc'?'desc':'asc'))}}">Ultima modificación</a></th>
{{request()->session()->get('field')=='updated_at'?(request()->session()->get('sort')=='asc'?'':''):''}}
</tr>
</thead>
<tbody>
@php
$i=1;
@endphp
@foreach ($users as $user)
<tr>
<th>{{ $user->id }}</th>
<td>{{ $user->name }}</td>
<td >{{ $user->email }}</td>
<td >{{ $user->roles->name }}</td>
<td >{{ $user->social_id }}</td>
<td >{{ $user->phone }}</td>
<td >{{ ($user->reported != 0) ? "Reportado" : "No reportado" }}</td>
<td >{{ $user->phone_verified_at }}</td>
<td>{{ $user->created_at }}</td>
<td>{{ $user->updated_at }}</td>
<td>
<a class="btn btn-secondary btn-xs" title="Editar"
href="{{url('users/update/'.$user->id)}}">
<i class="fa fa-pencil"></i>
</a>
@php
if ($user->role_id >= 2) {
echo ('
<a class="btn btn-primary btn-xs" title="Crear Proveedor"
href="supplier/create/' . $user->id . '">
<i class="fa fa-briefcase"></i>
</a>');
}
@endphp
<input type="hidden" name="_method" value="delete"/>
<a class="btn btn-danger btn-xs" title="Eliminar"
href="javascript:if(confirm('¿Estás seguro de que quieres eliminar este usuario?')) javascript:if(confirm('Usualmente no se deben eliminar usuarios, solo bloquearlos ¿Estás seguro?')) ajaxDelete('{{url('users/delete/'.$user->id)}}','{{csrf_token()}}')">
<i class="fa fa-trash"></i>
</a>
</td>
</tr>
@endforeach
</tbody>
</table>
<ul class="pagination">
{{ $users->links() }}
</ul>
</div>
@endsection

View File

@@ -0,0 +1,19 @@
<table class="action" align="center" width="100%" cellpadding="0" cellspacing="0" role="presentation">
<tr>
<td align="center">
<table width="100%" border="0" cellpadding="0" cellspacing="0" role="presentation">
<tr>
<td align="center">
<table border="0" cellpadding="0" cellspacing="0" role="presentation">
<tr>
<td>
<a href="{{ $url }}" class="button button-{{ $color ?? 'primary' }}" target="_blank">{{ $slot }}</a>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>

View File

@@ -0,0 +1,11 @@
<tr>
<td>
<table class="footer" align="center" width="570" cellpadding="0" cellspacing="0" role="presentation">
<tr>
<td class="content-cell" align="center">
{{ Illuminate\Mail\Markdown::parse($slot) }}
</td>
</tr>
</table>
</td>
</tr>

View File

@@ -0,0 +1,7 @@
<tr>
<td class="header" style="background-color:#0080ff">
<a href="{{ $url }}">
<img alt="logo" style="max-width:15em" src="https://jobheroglobal.com/img/jobhero.svg">
</a>
</td>
</tr>

View File

@@ -0,0 +1,54 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<style>
@media only screen and (max-width: 600px) {
.inner-body {
width: 100% !important;
}
.footer {
width: 100% !important;
}
}
@media only screen and (max-width: 500px) {
.button {
width: 100% !important;
}
}
</style>
<table class="wrapper" width="100%" cellpadding="0" cellspacing="0" role="presentation">
<tr>
<td align="center">
<table class="content" width="100%" cellpadding="0" cellspacing="0" role="presentation">
{{ $header ?? '' }}
<!-- Email Body -->
<tr>
<td class="body" width="100%" cellpadding="0" cellspacing="0">
<table class="inner-body" align="center" width="570" cellpadding="0" cellspacing="0" role="presentation">
<!-- Body content -->
<tr>
<td class="content-cell">
{{ Illuminate\Mail\Markdown::parse($slot) }}
{{ $subcopy ?? '' }}
</td>
</tr>
</table>
</td>
</tr>
{{ $footer ?? '' }}
</table>
</td>
</tr>
</table>
</body>
</html>

View File

@@ -0,0 +1,27 @@
@component('mail::layout')
{{-- Header --}}
@slot('header')
@component('mail::header', ['url' => config('app.url')])
{{ config('app.name') }}
@endcomponent
@endslot
{{-- Body --}}
{{ $slot }}
{{-- Subcopy --}}
@isset($subcopy)
@slot('subcopy')
@component('mail::subcopy')
{{ $subcopy }}
@endcomponent
@endslot
@endisset
{{-- Footer --}}
@slot('footer')
@component('mail::footer')
© {{ date('Y') }} {{ config('app.name') }}. @lang('All rights reserved.')
@endcomponent
@endslot
@endcomponent

View File

@@ -0,0 +1,13 @@
<table class="panel" width="100%" cellpadding="0" cellspacing="0" role="presentation">
<tr>
<td class="panel-content">
<table width="100%" cellpadding="0" cellspacing="0" role="presentation">
<tr>
<td class="panel-item">
{{ Illuminate\Mail\Markdown::parse($slot) }}
</td>
</tr>
</table>
</td>
</tr>
</table>

View File

@@ -0,0 +1,7 @@
<table class="promotion" align="center" width="100%" cellpadding="0" cellspacing="0" role="presentation">
<tr>
<td align="center">
{{ Illuminate\Mail\Markdown::parse($slot) }}
</td>
</tr>
</table>

View File

@@ -0,0 +1,13 @@
<table width="100%" border="0" cellpadding="0" cellspacing="0" role="presentation">
<tr>
<td align="center">
<table border="0" cellpadding="0" cellspacing="0" role="presentation">
<tr>
<td>
<a href="{{ $url }}" class="button button-green" target="_blank">{{ $slot }}</a>
</td>
</tr>
</table>
</td>
</tr>
</table>

View File

@@ -0,0 +1,7 @@
<table class="subcopy" width="100%" cellpadding="0" cellspacing="0" role="presentation">
<tr>
<td>
{{ Illuminate\Mail\Markdown::parse($slot) }}
</td>
</tr>
</table>

View File

@@ -0,0 +1,3 @@
<div class="table">
{{ Illuminate\Mail\Markdown::parse($slot) }}
</div>

View File

@@ -0,0 +1,300 @@
/* Base */
body,
body *:not(html):not(style):not(br):not(tr):not(code) {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif,
'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
box-sizing: border-box;
}
body {
background-color: #f8fafc;
color: #74787e;
height: 100%;
hyphens: auto;
line-height: 1.4;
margin: 0;
-moz-hyphens: auto;
-ms-word-break: break-all;
width: 100% !important;
-webkit-hyphens: auto;
-webkit-text-size-adjust: none;
word-break: break-all;
word-break: break-word;
}
p,
ul,
ol,
blockquote {
line-height: 1.4;
text-align: left;
}
a {
color: #3869d4;
}
a img {
border: none;
}
/* Typography */
h1 {
color: #3d4852;
font-size: 19px;
font-weight: bold;
margin-top: 0;
text-align: left;
}
h2 {
color: #3d4852;
font-size: 16px;
font-weight: bold;
margin-top: 0;
text-align: left;
}
h3 {
color: #3d4852;
font-size: 14px;
font-weight: bold;
margin-top: 0;
text-align: left;
}
p {
color: #3d4852;
font-size: 16px;
line-height: 1.5em;
margin-top: 0;
text-align: left;
}
p.sub {
font-size: 12px;
}
img {
max-width: 100%;
}
/* Layout */
.wrapper {
background-color: #f8fafc;
margin: 0;
padding: 0;
width: 100%;
-premailer-cellpadding: 0;
-premailer-cellspacing: 0;
-premailer-width: 100%;
}
.content {
margin: 0;
padding: 0;
width: 100%;
-premailer-cellpadding: 0;
-premailer-cellspacing: 0;
-premailer-width: 100%;
}
/* Header */
.header {
padding: 25px 0;
text-align: center;
}
.header a {
color: #bbbfc3;
font-size: 19px;
font-weight: bold;
text-decoration: none;
text-shadow: 0 1px 0 white;
}
/* Body */
.body {
background-color: #ffffff;
border-bottom: 1px solid #edeff2;
border-top: 1px solid #edeff2;
margin: 0;
padding: 0;
width: 100%;
-premailer-cellpadding: 0;
-premailer-cellspacing: 0;
-premailer-width: 100%;
}
.inner-body {
background-color: #ffffff;
margin: 0 auto;
padding: 0;
width: 570px;
-premailer-cellpadding: 0;
-premailer-cellspacing: 0;
-premailer-width: 570px;
}
/* Subcopy */
.subcopy {
border-top: 1px solid #edeff2;
margin-top: 25px;
padding-top: 25px;
}
.subcopy p {
font-size: 12px;
}
/* Footer */
.footer {
margin: 0 auto;
padding: 0;
text-align: center;
width: 570px;
-premailer-cellpadding: 0;
-premailer-cellspacing: 0;
-premailer-width: 570px;
}
.footer p {
color: #aeaeae;
font-size: 12px;
text-align: center;
}
/* Tables */
.table table {
margin: 30px auto;
width: 100%;
-premailer-cellpadding: 0;
-premailer-cellspacing: 0;
-premailer-width: 100%;
}
.table th {
border-bottom: 1px solid #edeff2;
padding-bottom: 8px;
margin: 0;
}
.table td {
color: #74787e;
font-size: 15px;
line-height: 18px;
padding: 10px 0;
margin: 0;
}
.content-cell {
padding: 35px;
}
/* Buttons */
.action {
margin: 30px auto;
padding: 0;
text-align: center;
width: 100%;
-premailer-cellpadding: 0;
-premailer-cellspacing: 0;
-premailer-width: 100%;
}
.button {
border-radius: 3px;
box-shadow: 0 2px 3px rgba(0, 0, 0, 0.16);
color: #fff;
display: inline-block;
text-decoration: none;
-webkit-text-size-adjust: none;
}
.button-blue,
.button-primary {
background-color: #3490dc;
border-top: 10px solid #3490dc;
border-right: 18px solid #3490dc;
border-bottom: 10px solid #3490dc;
border-left: 18px solid #3490dc;
}
.button-secondary {
background-color: #ff7d00;
border-top: 10px solid #ff7d00;
border-right: 18px solid #ff7d00;
border-bottom: 10px solid #ff7d00;
border-left: 18px solid #ff7d00;
}
.button-green,
.button-success {
background-color: #38c172;
border-top: 10px solid #38c172;
border-right: 18px solid #38c172;
border-bottom: 10px solid #38c172;
border-left: 18px solid #38c172;
}
.button-red,
.button-error {
background-color: #e3342f;
border-top: 10px solid #e3342f;
border-right: 18px solid #e3342f;
border-bottom: 10px solid #e3342f;
border-left: 18px solid #e3342f;
}
/* Panels */
.panel {
margin: 0 0 21px;
}
.panel-content {
background-color: #f1f5f8;
padding: 16px;
}
.panel-item {
padding: 0;
}
.panel-item p:last-of-type {
margin-bottom: 0;
padding-bottom: 0;
}
/* Promotions */
.promotion {
background-color: #ffffff;
border: 2px dashed #9ba2ab;
margin: 0;
margin-bottom: 25px;
margin-top: 25px;
padding: 24px;
width: 100%;
-premailer-cellpadding: 0;
-premailer-cellspacing: 0;
-premailer-width: 100%;
}
.promotion h1 {
text-align: center;
}
.promotion p {
font-size: 15px;
text-align: center;
}

View File

@@ -0,0 +1 @@
{{ $slot }}: {{ $url }}

View File

@@ -0,0 +1 @@
{{ $slot }}

View File

@@ -0,0 +1 @@
[{{ $slot }}]({{ $url }})

View File

@@ -0,0 +1,9 @@
{!! strip_tags($header) !!}
{!! strip_tags($slot) !!}
@isset($subcopy)
{!! strip_tags($subcopy) !!}
@endisset
{!! strip_tags($footer) !!}

View File

@@ -0,0 +1,27 @@
@component('mail::layout')
{{-- Header --}}
@slot('header')
@component('mail::header', ['url' => config('app.url')])
{{ config('app.name') }}
@endcomponent
@endslot
{{-- Body --}}
{{ $slot }}
{{-- Subcopy --}}
@isset($subcopy)
@slot('subcopy')
@component('mail::subcopy')
{{ $subcopy }}
@endcomponent
@endslot
@endisset
{{-- Footer --}}
@slot('footer')
@component('mail::footer')
© {{ date('Y') }} {{ config('app.name') }}. @lang('All rights reserved.')
@endcomponent
@endslot
@endcomponent

View File

@@ -0,0 +1 @@
{{ $slot }}

View File

@@ -0,0 +1 @@
{{ $slot }}

View File

@@ -0,0 +1 @@
[{{ $slot }}]({{ $url }})

View File

@@ -0,0 +1 @@
{{ $slot }}

View File

@@ -0,0 +1 @@
{{ $slot }}

View File

@@ -0,0 +1,63 @@
@component('mail::message')
{{-- Greeting --}}
@if (! empty($greeting))
# {{ $greeting }}
@else
@if ($level === 'error')
# @lang('Whoops!')
@else
# @lang('¡Hola!')
@endif
@endif
{{-- Intro Lines --}}
@foreach ($introLines as $line)
{{ $line }}
@endforeach
{{-- Action Button --}}
@isset($actionText)
<?php
switch ($level) {
case 'success':
case 'error':
$color = $level;
break;
default:
$color = 'secondary';
}
?>
@component('mail::button', ['url' => $actionUrl, 'color' => $color])
{{ $actionText }}
@endcomponent
@endisset
{{-- Outro Lines --}}
@foreach ($outroLines as $line)
{{ $line }}
@endforeach
{{-- Salutation --}}
@if (! empty($salutation))
{{ $salutation }}
@else
@lang('Saludos'),<br>
{{ config('app.name') }}
@endif
{{-- Subcopy --}}
@isset($actionText)
@slot('subcopy')
@lang(
"Si tienes problemas al dar clic en el botón \":actionText\", copía y pega el siguiente enlace\n".
'en tu navegador web: [:actionURL](:actionURL)',
[
'actionText' => $actionText,
'actionURL' => $actionUrl,
]
)
@endslot
@endisset
@endcomponent

View File

@@ -0,0 +1,99 @@
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Laravel</title>
<!-- Fonts -->
<link href="https://fonts.googleapis.com/css?family=Nunito:200,600" rel="stylesheet">
<!-- Styles -->
<style>
html, body {
background-color: #fff;
color: #636b6f;
font-family: 'Nunito', sans-serif;
font-weight: 200;
height: 100vh;
margin: 0;
}
.full-height {
height: 100vh;
}
.flex-center {
align-items: center;
display: flex;
justify-content: center;
}
.position-ref {
position: relative;
}
.top-right {
position: absolute;
right: 10px;
top: 18px;
}
.content {
text-align: center;
}
.title {
font-size: 84px;
}
.links > a {
color: #636b6f;
padding: 0 25px;
font-size: 13px;
font-weight: 600;
letter-spacing: .1rem;
text-decoration: none;
text-transform: uppercase;
}
.m-b-md {
margin-bottom: 30px;
}
</style>
</head>
<body>
<div class="flex-center position-ref full-height">
@if (Route::has('login'))
<div class="top-right links">
@auth
<a href="{{ url('/home') }}">Home</a>
@else
<a href="{{ route('login') }}">Login</a>
@if (Route::has('register'))
<a href="{{ route('register') }}">Register</a>
@endif
@endauth
</div>
@endif
<div class="content">
<div class="title m-b-md">
Laravel
</div>
<div class="links">
<a href="https://laravel.com/docs">Docs</a>
<a href="https://laracasts.com">Laracasts</a>
<a href="https://laravel-news.com">News</a>
<a href="https://blog.laravel.com">Blog</a>
<a href="https://nova.laravel.com">Nova</a>
<a href="https://forge.laravel.com">Forge</a>
<a href="https://github.com/laravel/laravel">GitHub</a>
</div>
</div>
</div>
</body>
</html>