Compare commits
No commits in common. "encuestas-excel" and "master" have entirely different histories.
encuestas-
...
master
@ -74,9 +74,6 @@ $routes->group('admin', ['filter' => 'admin_filter'], static function ($routes)
|
||||
$routes->get('encuesta/(:segment)', 'Admin::encuesta/$1', ['as' => 'admin_encuesta']);
|
||||
$routes->match(['get', 'post'], 'encuesta/editar/(:segment)', 'Admin::editarEncuesta/$1', ['as' => 'admin_encuesta_editar']);
|
||||
$routes->get('encuesta/eliminar/(:segment)', 'Admin::eliminarEncuesta/$1', ['as' => 'admin_encuesta_eliminar']);
|
||||
$routes->get('respuestas/', 'Admin::respuestas', ['as' => 'admin_respuestas']);
|
||||
$routes->get('respuesta/(:segment)/(:segment)', 'Admin::respuesta/$1/$2', ['as' => 'admin_respuesta']);
|
||||
$routes->get('encuesta/(:segment)/respuestas', 'Admin::respuestasEncuesta/$1', ['as' => 'admin_respuestas_encuesta']);
|
||||
|
||||
// PREGUNTAS
|
||||
$routes->match(['get', 'post'], 'encuesta/(:segment)/pregunta/', 'Admin::nuevaPregunta/$1', ['as' => 'admin_pregunta_nueva']);
|
||||
|
@ -7,9 +7,7 @@ use App\Models\EncuestaModel;
|
||||
use App\Models\PreguntaModel;
|
||||
use App\Models\PrestadorModel;
|
||||
use App\Models\PrestadorSolicitudModel as ModelsPrestadorSolicitudModel;
|
||||
use App\Models\SurveyUserModel;
|
||||
use App\Models\UserModel;
|
||||
use PHPUnit\Framework\MockObject\Stub\ReturnReference;
|
||||
|
||||
class Admin extends BaseController
|
||||
{
|
||||
@ -300,84 +298,6 @@ class Admin extends BaseController
|
||||
));
|
||||
}
|
||||
|
||||
public function respuestas()
|
||||
{
|
||||
$respuestas = model(SurveyUserModel::class)->getEncuestasContestadas();
|
||||
|
||||
$data = [
|
||||
'respuestas' => $respuestas,
|
||||
];
|
||||
return view('Admin/respuestas', $data);
|
||||
}
|
||||
|
||||
public function respuestasEncuesta($surveyId)
|
||||
{
|
||||
if (!$respuestas = model(RespuestaModel::class)->getRespuestasAll($surveyId)) {
|
||||
return redirect()->route('admin_respuestas')->with('msg', array(
|
||||
'type' => 'danger',
|
||||
'body' => 'No se encontraron respuestas de para esta encuesta.',
|
||||
));
|
||||
}
|
||||
|
||||
// Agrupar respuestas por usuario
|
||||
$respuestas = array_reduce($respuestas, function (array $accumulator, array $element) {
|
||||
$accumulator[$element['user_id']][] = $element;
|
||||
return $accumulator;
|
||||
}, []);
|
||||
|
||||
// reset array keys
|
||||
$respuestas = array_values($respuestas);
|
||||
|
||||
// Agrupar respuestas de opción múltiple
|
||||
foreach ($respuestas as &$respuesta) {
|
||||
$respuesta = array_reduce($respuesta, function (array $accumulator, array $element) {
|
||||
$accumulator[$element['question_id']][] = $element;
|
||||
return $accumulator;
|
||||
}, []);
|
||||
$respuesta = array_values($respuesta);
|
||||
}
|
||||
unset($respuesta);
|
||||
|
||||
$data = [
|
||||
'tituloEncuesta' => model(EncuestaModel::class)->find($surveyId)['title'],
|
||||
'preguntas' => model(PreguntaModel::class)->getPreguntas($surveyId),
|
||||
'respuestas' => $respuestas,
|
||||
];
|
||||
// dd($respuestas);
|
||||
return view('Admin/respuestasGenerales', $data);
|
||||
}
|
||||
|
||||
public function respuesta($surveyId, $userId)
|
||||
{
|
||||
if (!$respuestas = model(RespuestaModel::class)->getRespuestas($surveyId, $userId)) {
|
||||
return redirect()->route('admin_respuestas')->with('msg', array(
|
||||
'type' => 'danger',
|
||||
'body' => 'No se encontraron respuestas de este usuario.',
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
// Agrupar respuestas de opción múltipe
|
||||
$respuestas = array_reduce($respuestas, function (array $accumulator, array $element) {
|
||||
$accumulator[$element['question_id']][] = $element;
|
||||
return $accumulator;
|
||||
}, []);
|
||||
|
||||
// Datos de prestador
|
||||
$prestadorId = model(UserModel::class)->find($userId)->idprestador;
|
||||
$prestador = model(PrestadorModel::class)->find($prestadorId);
|
||||
|
||||
|
||||
$data = [
|
||||
'tituloEncuesta' => model(EncuestaModel::class)->find($surveyId)['title'],
|
||||
'prestador' => $prestador,
|
||||
'respuestas' => $respuestas,
|
||||
];
|
||||
|
||||
|
||||
return view('Admin/respuestaIndividual', $data);
|
||||
}
|
||||
|
||||
// PREGUNTAS
|
||||
|
||||
public function nuevaPregunta($id)
|
||||
|
@ -4,7 +4,7 @@ namespace App\Models;
|
||||
|
||||
use CodeIgniter\Model;
|
||||
|
||||
class RespuestaModel extends Model
|
||||
class PreguntaModel extends Model
|
||||
{
|
||||
protected $table = 'answers';
|
||||
protected $primaryKey = 'id';
|
||||
@ -18,30 +18,4 @@ class RespuestaModel extends Model
|
||||
'answer' => 'required',
|
||||
'question_id' => 'required',
|
||||
];
|
||||
|
||||
public function getRespuestas($survey_id, $user_id)
|
||||
{
|
||||
$db = db_connect();
|
||||
$where = 'answers.survey_id = ' . $db->escape($survey_id) . ' AND answers.user_id = ' . $db->escape($user_id);
|
||||
return $this
|
||||
->select('answers.id, answers.survey_id, answers.user_id, answers.answer,answers.question_id, questions.question, questions.type')
|
||||
->join('questions', 'answers.question_id = questions.id')
|
||||
->where($where)
|
||||
->findAll();
|
||||
}
|
||||
|
||||
public function getRespuestasAll($survey_id)
|
||||
{
|
||||
$db = db_connect();
|
||||
$where = 'answers.survey_id = ' . $db->escape($survey_id);
|
||||
return $this
|
||||
->select('answers.id, answers.survey_id, answers.user_id, answers.answer,answers.question_id, answers.created_at')
|
||||
->select('questions.question, questions.type')
|
||||
->select('prestador.idprestador, prestador.nombre, prestador.apaterno, prestador.amaterno')
|
||||
->join('questions', 'answers.question_id = questions.id')
|
||||
->join('users', 'answers.user_id = users.id')
|
||||
->join('prestador', 'users.idprestador = prestador.idprestador')
|
||||
->where($where)
|
||||
->findAll();
|
||||
}
|
||||
}
|
||||
|
@ -24,14 +24,4 @@ class SurveyUserModel extends Model
|
||||
'user_id' => $userId,
|
||||
])->countAllResults();
|
||||
}
|
||||
|
||||
|
||||
public function getEncuestasContestadas()
|
||||
{
|
||||
return $this
|
||||
->join('survey_set', 'survey_user.survey_id = survey_set.id')
|
||||
->join('users', 'survey_user.user_id = users.id')
|
||||
->join('prestador', 'users.idprestador = prestador.idprestador')
|
||||
->findAll();
|
||||
}
|
||||
}
|
||||
|
@ -7,7 +7,6 @@
|
||||
<th>Título</th>
|
||||
<th colspan="3">Descripción</th>
|
||||
<th>Opciones</th>
|
||||
<th>Ver respuestas</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($encuestas as $encuesta) : ?>
|
||||
@ -24,13 +23,11 @@
|
||||
</a>
|
||||
<button type="button" class="btn btn-danger" data-toggle="modal" data-target="#eliminarModal" data-id="<?= $encuesta['id'] ?>" data-title="<?= $encuesta['title'] ?>" data-link="<?= route_to('admin_encuesta_eliminar', $encuesta['id']) ?>">
|
||||
<i class="nav-icon fas fa-trash"></i>
|
||||
|
||||
</button>
|
||||
|
||||
</div>
|
||||
</td>
|
||||
<td><a href="<?= route_to('admin_respuestas_encuesta', $encuesta['id']) ?>" class="btn btn-success ">
|
||||
<i class="nav-icon fas fa-print"></i>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
</tbody>
|
||||
|
@ -1,77 +0,0 @@
|
||||
<?= $this->extend('templates/baseAdmin') ?>
|
||||
|
||||
<?= $this->section('content') ?>
|
||||
|
||||
<script src="https://code.jquery.com/jquery-3.5.1.js"></script>
|
||||
<script src="https://cdn.datatables.net/1.12.1/js/jquery.dataTables.min.js"></script>
|
||||
<script src="https://cdn.datatables.net/1.12.1/js/dataTables.bootstrap5.min.js"></script>
|
||||
|
||||
<h1><?= $tituloEncuesta ?></h1>
|
||||
<p>Respuestas de: <span class="font-weight-bolder"><?= $prestador['nombre'] . ' ' . $prestador['apaterno'] . ' ' . $prestador['amaterno'] ?></span></p>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
|
||||
<table id="table-solicitudes" class="table table-bordered table-striped">
|
||||
<thead>
|
||||
<th>Pregunta</th>
|
||||
<th>Respuesta</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
<?php foreach ($respuestas as $respuesta) : ?>
|
||||
<tr>
|
||||
<td><?= $respuesta[0]['question'] ?></td>
|
||||
|
||||
<!-- Respuestas de opción múltiple -->
|
||||
<?php if ($respuesta[0]['type'] === '3') : ?>
|
||||
<td>
|
||||
<?php foreach ($respuesta as $opcion) : ?>
|
||||
<?= $opcion['answer'] ?>
|
||||
<br>
|
||||
<?php endforeach ?>
|
||||
</td>
|
||||
<?php else : ?>
|
||||
<td><?= $respuesta[0]['answer'] ?></td>
|
||||
<?php endif ?>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
let table = new DataTable('#table-solicitudes', {
|
||||
'searching': true,
|
||||
'ordering': true,
|
||||
'language': {
|
||||
"decimal": "",
|
||||
"emptyTable": "No hay información",
|
||||
"info": "Mostrando _START_ a _END_ de _TOTAL_ registros",
|
||||
"infoEmpty": "Mostrando 0 to 0 of 0 registros",
|
||||
"infoFiltered": "(Filtrado de _MAX_ total registros)",
|
||||
"infoPostFix": "",
|
||||
"thousands": ",",
|
||||
"lengthMenu": "Mostrar _MENU_ registros",
|
||||
"loadingRecords": "Cargando...",
|
||||
"processing": "Procesando...",
|
||||
"search": "Buscar:",
|
||||
"zeroRecords": "No se encontraron resultados",
|
||||
"paginate": {
|
||||
"first": "Primero",
|
||||
"last": "Ultimo",
|
||||
"next": "Siguiente",
|
||||
"previous": "Anterior"
|
||||
}
|
||||
},
|
||||
'order': [],
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<?= $this->endSection() ?>
|
@ -1,70 +0,0 @@
|
||||
<?= $this->extend('templates/baseAdmin') ?>
|
||||
|
||||
<?= $this->section('content') ?>
|
||||
|
||||
<script src="https://code.jquery.com/jquery-3.5.1.js"></script>
|
||||
<script src="https://cdn.datatables.net/1.12.1/js/jquery.dataTables.min.js"></script>
|
||||
<script src="https://cdn.datatables.net/1.12.1/js/dataTables.bootstrap5.min.js"></script>
|
||||
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
|
||||
<table id="table-solicitudes" class="table table-bordered table-striped">
|
||||
<thead>
|
||||
<th>Encuesta</th>
|
||||
<th>Prestador</th>
|
||||
<th>Fecha</th>
|
||||
<th>Respuestas</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
<?php foreach ($respuestas as $respuesta) : ?>
|
||||
<tr>
|
||||
<td><?= $respuesta['title'] ?></td>
|
||||
<td><?= $respuesta['nombre'] . ' ' . $respuesta['apaterno'] . ' ' . $respuesta['amaterno'] ?></td>
|
||||
<td><?= $respuesta['created_at'] ?></td>
|
||||
<td>
|
||||
<a href="<?= route_to('admin_respuesta', $respuesta['survey_id'], $respuesta['user_id']) ?>" class="btn btn-info">Ver respuestas</a>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
let table = new DataTable('#table-solicitudes', {
|
||||
'searching': true,
|
||||
'ordering': true,
|
||||
'language': {
|
||||
"decimal": "",
|
||||
"emptyTable": "No hay información",
|
||||
"info": "Mostrando _START_ a _END_ de _TOTAL_ registros",
|
||||
"infoEmpty": "Mostrando 0 to 0 of 0 registros",
|
||||
"infoFiltered": "(Filtrado de _MAX_ total registros)",
|
||||
"infoPostFix": "",
|
||||
"thousands": ",",
|
||||
"lengthMenu": "Mostrar _MENU_ registros",
|
||||
"loadingRecords": "Cargando...",
|
||||
"processing": "Procesando...",
|
||||
"search": "Buscar:",
|
||||
"zeroRecords": "No se encontraron resultados",
|
||||
"paginate": {
|
||||
"first": "Primero",
|
||||
"last": "Ultimo",
|
||||
"next": "Siguiente",
|
||||
"previous": "Anterior"
|
||||
}
|
||||
},
|
||||
'order': [],
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<?= $this->endSection() ?>
|
@ -1,103 +0,0 @@
|
||||
<?= $this->extend('templates/baseAdmin') ?>
|
||||
|
||||
|
||||
<?= $this->section('headLibraries') ?>
|
||||
|
||||
<link rel="stylesheet" href="https://cdn.datatables.net/1.12.1/css/jquery.dataTables.min.css">
|
||||
<link rel="stylesheet" href="https://cdn.datatables.net/1.12.1/css/jquery.dataTables.min.css">
|
||||
|
||||
<?= $this->endSection() ?>
|
||||
|
||||
<?= $this->section('content') ?>
|
||||
|
||||
<h1><?= $tituloEncuesta ?></h1>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
|
||||
<table id="table-respuestas" class="table table-bordered table-striped">
|
||||
<thead>
|
||||
<th>ID Prestador</th>
|
||||
<th>Nombre</th>
|
||||
<th>Fecha</th>
|
||||
<?php foreach ($preguntas as $pregunta) : ?>
|
||||
<th><?= $pregunta['question'] ?></th>
|
||||
<?php endforeach ?>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
<?php foreach ($respuestas as $user) : ?>
|
||||
<tr>
|
||||
<td><?= $user[0][0]['idprestador'] ?></td>
|
||||
<td><?= $user[0][0]['nombre'] . ' ' . $user[0][0]['apaterno'] . ' ' . $user[0][0]['amaterno'] ?></td>
|
||||
<td><?= $user[0][0]['created_at'] ?></td>
|
||||
<?php foreach ($user as $respuesta) : ?>
|
||||
<!-- Respuestas de opción múltiple -->
|
||||
<?php if ($respuesta[0]['type'] === '3') : ?>
|
||||
<td>
|
||||
<?php foreach ($respuesta as $opcion) : ?>
|
||||
<?= $opcion['answer'] ?>
|
||||
<br>
|
||||
<?php endforeach ?>
|
||||
</td>
|
||||
<?php else : ?>
|
||||
<td><?= $respuesta[0]['answer'] ?></td>
|
||||
<?php endif ?>
|
||||
<?php endforeach ?>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<?= $this->endSection() ?>
|
||||
|
||||
<?= $this->section('scripts') ?>
|
||||
|
||||
<script src="https://code.jquery.com/jquery-3.5.1.js"></script>
|
||||
<script src="https://cdn.datatables.net/1.12.1/js/jquery.dataTables.min.js"></script>
|
||||
<script src="https://cdn.datatables.net/buttons/2.2.3/js/dataTables.buttons.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/pdfmake.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/vfs_fonts.js"></script>
|
||||
<script src="https://cdn.datatables.net/buttons/2.2.3/js/buttons.html5.min.js"></script>
|
||||
<script src="https://cdn.datatables.net/buttons/2.2.3/js/buttons.print.min.js"></script>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('#table-respuestas').DataTable({
|
||||
dom: 'Bfrtip',
|
||||
buttons: [
|
||||
'excel', 'pdf',
|
||||
],
|
||||
language: {
|
||||
"decimal": "",
|
||||
"emptyTable": "No hay información",
|
||||
"info": "Mostrando _START_ a _END_ de _TOTAL_ registros",
|
||||
"infoEmpty": "Mostrando 0 to 0 of 0 registros",
|
||||
"infoFiltered": "(Filtrado de _MAX_ total registros)",
|
||||
"infoPostFix": "",
|
||||
"thousands": ",",
|
||||
"lengthMenu": "Mostrar _MENU_ registros",
|
||||
"loadingRecords": "Cargando...",
|
||||
"processing": "Procesando...",
|
||||
"search": "Buscar:",
|
||||
"zeroRecords": "No se encontraron resultados",
|
||||
"paginate": {
|
||||
"first": "Primero",
|
||||
"last": "Ultimo",
|
||||
"next": "Siguiente",
|
||||
"previous": "Anterior"
|
||||
}
|
||||
},
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<?= $this->endSection() ?>
|
@ -1,504 +0,0 @@
|
||||
<link rel="stylesheet" href="https://cdn.datatables.net/1.12.1/css/jquery.dataTables.min.css">
|
||||
<link rel="stylesheet" href="https://cdn.datatables.net/1.12.1/css/jquery.dataTables.min.css">
|
||||
|
||||
<script src="https://code.jquery.com/jquery-3.5.1.js"></script>
|
||||
<script src="https://cdn.datatables.net/1.12.1/js/jquery.dataTables.min.js"></script>
|
||||
<script src="https://cdn.datatables.net/buttons/2.2.3/js/dataTables.buttons.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/pdfmake.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/vfs_fonts.js"></script>
|
||||
<script src="https://cdn.datatables.net/buttons/2.2.3/js/buttons.html5.min.js"></script>
|
||||
<script src="https://cdn.datatables.net/buttons/2.2.3/js/buttons.print.min.js"></script>
|
||||
|
||||
|
||||
<table id="example" class="display nowrap" style="width:100%">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Position</th>
|
||||
<th>Office</th>
|
||||
<th>Age</th>
|
||||
<th>Start date</th>
|
||||
<th>Salary</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Tiger Nixon</td>
|
||||
<td>System Architect</td>
|
||||
<td>Edinburgh</td>
|
||||
<td>61</td>
|
||||
<td>2011-04-25</td>
|
||||
<td>$320,800</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Garrett Winters</td>
|
||||
<td>Accountant</td>
|
||||
<td>Tokyo</td>
|
||||
<td>63</td>
|
||||
<td>2011-07-25</td>
|
||||
<td>$170,750</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Ashton Cox</td>
|
||||
<td>Junior Technical Author</td>
|
||||
<td>San Francisco</td>
|
||||
<td>66</td>
|
||||
<td>2009-01-12</td>
|
||||
<td>$86,000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Cedric Kelly</td>
|
||||
<td>Senior Javascript Developer</td>
|
||||
<td>Edinburgh</td>
|
||||
<td>22</td>
|
||||
<td>2012-03-29</td>
|
||||
<td>$433,060</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Airi Satou</td>
|
||||
<td>Accountant</td>
|
||||
<td>Tokyo</td>
|
||||
<td>33</td>
|
||||
<td>2008-11-28</td>
|
||||
<td>$162,700</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Brielle Williamson</td>
|
||||
<td>Integration Specialist</td>
|
||||
<td>New York</td>
|
||||
<td>61</td>
|
||||
<td>2012-12-02</td>
|
||||
<td>$372,000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Herrod Chandler</td>
|
||||
<td>Sales Assistant</td>
|
||||
<td>San Francisco</td>
|
||||
<td>59</td>
|
||||
<td>2012-08-06</td>
|
||||
<td>$137,500</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Rhona Davidson</td>
|
||||
<td>Integration Specialist</td>
|
||||
<td>Tokyo</td>
|
||||
<td>55</td>
|
||||
<td>2010-10-14</td>
|
||||
<td>$327,900</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Colleen Hurst</td>
|
||||
<td>Javascript Developer</td>
|
||||
<td>San Francisco</td>
|
||||
<td>39</td>
|
||||
<td>2009-09-15</td>
|
||||
<td>$205,500</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Sonya Frost</td>
|
||||
<td>Software Engineer</td>
|
||||
<td>Edinburgh</td>
|
||||
<td>23</td>
|
||||
<td>2008-12-13</td>
|
||||
<td>$103,600</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Jena Gaines</td>
|
||||
<td>Office Manager</td>
|
||||
<td>London</td>
|
||||
<td>30</td>
|
||||
<td>2008-12-19</td>
|
||||
<td>$90,560</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Quinn Flynn</td>
|
||||
<td>Support Lead</td>
|
||||
<td>Edinburgh</td>
|
||||
<td>22</td>
|
||||
<td>2013-03-03</td>
|
||||
<td>$342,000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Charde Marshall</td>
|
||||
<td>Regional Director</td>
|
||||
<td>San Francisco</td>
|
||||
<td>36</td>
|
||||
<td>2008-10-16</td>
|
||||
<td>$470,600</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Haley Kennedy</td>
|
||||
<td>Senior Marketing Designer</td>
|
||||
<td>London</td>
|
||||
<td>43</td>
|
||||
<td>2012-12-18</td>
|
||||
<td>$313,500</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Tatyana Fitzpatrick</td>
|
||||
<td>Regional Director</td>
|
||||
<td>London</td>
|
||||
<td>19</td>
|
||||
<td>2010-03-17</td>
|
||||
<td>$385,750</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Michael Silva</td>
|
||||
<td>Marketing Designer</td>
|
||||
<td>London</td>
|
||||
<td>66</td>
|
||||
<td>2012-11-27</td>
|
||||
<td>$198,500</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Paul Byrd</td>
|
||||
<td>Chief Financial Officer (CFO)</td>
|
||||
<td>New York</td>
|
||||
<td>64</td>
|
||||
<td>2010-06-09</td>
|
||||
<td>$725,000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Gloria Little</td>
|
||||
<td>Systems Administrator</td>
|
||||
<td>New York</td>
|
||||
<td>59</td>
|
||||
<td>2009-04-10</td>
|
||||
<td>$237,500</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Bradley Greer</td>
|
||||
<td>Software Engineer</td>
|
||||
<td>London</td>
|
||||
<td>41</td>
|
||||
<td>2012-10-13</td>
|
||||
<td>$132,000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Dai Rios</td>
|
||||
<td>Personnel Lead</td>
|
||||
<td>Edinburgh</td>
|
||||
<td>35</td>
|
||||
<td>2012-09-26</td>
|
||||
<td>$217,500</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Jenette Caldwell</td>
|
||||
<td>Development Lead</td>
|
||||
<td>New York</td>
|
||||
<td>30</td>
|
||||
<td>2011-09-03</td>
|
||||
<td>$345,000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Yuri Berry</td>
|
||||
<td>Chief Marketing Officer (CMO)</td>
|
||||
<td>New York</td>
|
||||
<td>40</td>
|
||||
<td>2009-06-25</td>
|
||||
<td>$675,000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Caesar Vance</td>
|
||||
<td>Pre-Sales Support</td>
|
||||
<td>New York</td>
|
||||
<td>21</td>
|
||||
<td>2011-12-12</td>
|
||||
<td>$106,450</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Doris Wilder</td>
|
||||
<td>Sales Assistant</td>
|
||||
<td>Sydney</td>
|
||||
<td>23</td>
|
||||
<td>2010-09-20</td>
|
||||
<td>$85,600</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Angelica Ramos</td>
|
||||
<td>Chief Executive Officer (CEO)</td>
|
||||
<td>London</td>
|
||||
<td>47</td>
|
||||
<td>2009-10-09</td>
|
||||
<td>$1,200,000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Gavin Joyce</td>
|
||||
<td>Developer</td>
|
||||
<td>Edinburgh</td>
|
||||
<td>42</td>
|
||||
<td>2010-12-22</td>
|
||||
<td>$92,575</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Jennifer Chang</td>
|
||||
<td>Regional Director</td>
|
||||
<td>Singapore</td>
|
||||
<td>28</td>
|
||||
<td>2010-11-14</td>
|
||||
<td>$357,650</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Brenden Wagner</td>
|
||||
<td>Software Engineer</td>
|
||||
<td>San Francisco</td>
|
||||
<td>28</td>
|
||||
<td>2011-06-07</td>
|
||||
<td>$206,850</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Fiona Green</td>
|
||||
<td>Chief Operating Officer (COO)</td>
|
||||
<td>San Francisco</td>
|
||||
<td>48</td>
|
||||
<td>2010-03-11</td>
|
||||
<td>$850,000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Shou Itou</td>
|
||||
<td>Regional Marketing</td>
|
||||
<td>Tokyo</td>
|
||||
<td>20</td>
|
||||
<td>2011-08-14</td>
|
||||
<td>$163,000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Michelle House</td>
|
||||
<td>Integration Specialist</td>
|
||||
<td>Sydney</td>
|
||||
<td>37</td>
|
||||
<td>2011-06-02</td>
|
||||
<td>$95,400</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Suki Burks</td>
|
||||
<td>Developer</td>
|
||||
<td>London</td>
|
||||
<td>53</td>
|
||||
<td>2009-10-22</td>
|
||||
<td>$114,500</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Prescott Bartlett</td>
|
||||
<td>Technical Author</td>
|
||||
<td>London</td>
|
||||
<td>27</td>
|
||||
<td>2011-05-07</td>
|
||||
<td>$145,000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Gavin Cortez</td>
|
||||
<td>Team Leader</td>
|
||||
<td>San Francisco</td>
|
||||
<td>22</td>
|
||||
<td>2008-10-26</td>
|
||||
<td>$235,500</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Martena Mccray</td>
|
||||
<td>Post-Sales support</td>
|
||||
<td>Edinburgh</td>
|
||||
<td>46</td>
|
||||
<td>2011-03-09</td>
|
||||
<td>$324,050</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Unity Butler</td>
|
||||
<td>Marketing Designer</td>
|
||||
<td>San Francisco</td>
|
||||
<td>47</td>
|
||||
<td>2009-12-09</td>
|
||||
<td>$85,675</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Howard Hatfield</td>
|
||||
<td>Office Manager</td>
|
||||
<td>San Francisco</td>
|
||||
<td>51</td>
|
||||
<td>2008-12-16</td>
|
||||
<td>$164,500</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Hope Fuentes</td>
|
||||
<td>Secretary</td>
|
||||
<td>San Francisco</td>
|
||||
<td>41</td>
|
||||
<td>2010-02-12</td>
|
||||
<td>$109,850</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Vivian Harrell</td>
|
||||
<td>Financial Controller</td>
|
||||
<td>San Francisco</td>
|
||||
<td>62</td>
|
||||
<td>2009-02-14</td>
|
||||
<td>$452,500</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Timothy Mooney</td>
|
||||
<td>Office Manager</td>
|
||||
<td>London</td>
|
||||
<td>37</td>
|
||||
<td>2008-12-11</td>
|
||||
<td>$136,200</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Jackson Bradshaw</td>
|
||||
<td>Director</td>
|
||||
<td>New York</td>
|
||||
<td>65</td>
|
||||
<td>2008-09-26</td>
|
||||
<td>$645,750</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Olivia Liang</td>
|
||||
<td>Support Engineer</td>
|
||||
<td>Singapore</td>
|
||||
<td>64</td>
|
||||
<td>2011-02-03</td>
|
||||
<td>$234,500</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Bruno Nash</td>
|
||||
<td>Software Engineer</td>
|
||||
<td>London</td>
|
||||
<td>38</td>
|
||||
<td>2011-05-03</td>
|
||||
<td>$163,500</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Sakura Yamamoto</td>
|
||||
<td>Support Engineer</td>
|
||||
<td>Tokyo</td>
|
||||
<td>37</td>
|
||||
<td>2009-08-19</td>
|
||||
<td>$139,575</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Thor Walton</td>
|
||||
<td>Developer</td>
|
||||
<td>New York</td>
|
||||
<td>61</td>
|
||||
<td>2013-08-11</td>
|
||||
<td>$98,540</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Finn Camacho</td>
|
||||
<td>Support Engineer</td>
|
||||
<td>San Francisco</td>
|
||||
<td>47</td>
|
||||
<td>2009-07-07</td>
|
||||
<td>$87,500</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Serge Baldwin</td>
|
||||
<td>Data Coordinator</td>
|
||||
<td>Singapore</td>
|
||||
<td>64</td>
|
||||
<td>2012-04-09</td>
|
||||
<td>$138,575</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Zenaida Frank</td>
|
||||
<td>Software Engineer</td>
|
||||
<td>New York</td>
|
||||
<td>63</td>
|
||||
<td>2010-01-04</td>
|
||||
<td>$125,250</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Zorita Serrano</td>
|
||||
<td>Software Engineer</td>
|
||||
<td>San Francisco</td>
|
||||
<td>56</td>
|
||||
<td>2012-06-01</td>
|
||||
<td>$115,000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Jennifer Acosta</td>
|
||||
<td>Junior Javascript Developer</td>
|
||||
<td>Edinburgh</td>
|
||||
<td>43</td>
|
||||
<td>2013-02-01</td>
|
||||
<td>$75,650</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Cara Stevens</td>
|
||||
<td>Sales Assistant</td>
|
||||
<td>New York</td>
|
||||
<td>46</td>
|
||||
<td>2011-12-06</td>
|
||||
<td>$145,600</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Hermione Butler</td>
|
||||
<td>Regional Director</td>
|
||||
<td>London</td>
|
||||
<td>47</td>
|
||||
<td>2011-03-21</td>
|
||||
<td>$356,250</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Lael Greer</td>
|
||||
<td>Systems Administrator</td>
|
||||
<td>London</td>
|
||||
<td>21</td>
|
||||
<td>2009-02-27</td>
|
||||
<td>$103,500</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Jonas Alexander</td>
|
||||
<td>Developer</td>
|
||||
<td>San Francisco</td>
|
||||
<td>30</td>
|
||||
<td>2010-07-14</td>
|
||||
<td>$86,500</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Shad Decker</td>
|
||||
<td>Regional Director</td>
|
||||
<td>Edinburgh</td>
|
||||
<td>51</td>
|
||||
<td>2008-11-13</td>
|
||||
<td>$183,000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Michael Bruce</td>
|
||||
<td>Javascript Developer</td>
|
||||
<td>Singapore</td>
|
||||
<td>29</td>
|
||||
<td>2011-06-27</td>
|
||||
<td>$183,000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Donna Snider</td>
|
||||
<td>Customer Support</td>
|
||||
<td>New York</td>
|
||||
<td>27</td>
|
||||
<td>2011-01-25</td>
|
||||
<td>$112,000</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Position</th>
|
||||
<th>Office</th>
|
||||
<th>Age</th>
|
||||
<th>Start date</th>
|
||||
<th>Salary</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('#example').DataTable({
|
||||
dom: 'Bfrtip',
|
||||
buttons: [
|
||||
'copy', 'csv', 'excel', 'pdf', 'print'
|
||||
]
|
||||
});
|
||||
});
|
||||
</script>
|
@ -18,9 +18,6 @@ scratch. This page gets rid of all links and provides the needed markup only.
|
||||
<!-- Theme style -->
|
||||
<link rel="stylesheet" href="dist/css/adminlte.min.css">
|
||||
|
||||
<?= $this->renderSection('headLibraries') ?>
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<body class="hold-transition sidebar-mini">
|
||||
@ -88,12 +85,6 @@ scratch. This page gets rid of all links and provides the needed markup only.
|
||||
<p>Lista</p>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="<?= route_to('admin_respuestas') ?>" class="nav-link">
|
||||
<i class="far fa-circle nav-icon"></i>
|
||||
<p>Respuestas</p>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
@ -166,9 +157,6 @@ scratch. This page gets rid of all links and provides the needed markup only.
|
||||
<script src="plugins/bootstrap/js/bootstrap.bundle.min.js"></script>
|
||||
<!-- AdminLTE App -->
|
||||
<script src="dist/js/adminlte.min.js"></script>
|
||||
|
||||
<?= $this->renderSection('scripts') ?>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
Loading…
x
Reference in New Issue
Block a user