start reports
This commit is contained in:
@@ -34,6 +34,13 @@ class usersController extends MY_Controller {
|
||||
$this->json( $users );
|
||||
}
|
||||
|
||||
public function getUniqueprojectEmployees()
|
||||
{
|
||||
$projectEmployees = User::getUniqueProjectUsers();
|
||||
|
||||
$this->json( $projectEmployees );
|
||||
}
|
||||
|
||||
public function saveUser()
|
||||
{
|
||||
$userValidation = new UserValidation();
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
defined( 'BASEPATH' ) OR exit( 'No direct script access allowed' );
|
||||
|
||||
/**
|
||||
* Created by Pensare Software.
|
||||
* User: Theo Weijmer
|
||||
* Date: 08/02/2018
|
||||
* Time: 15:16
|
||||
*/
|
||||
class EmployeeHoursController extends MY_Controller {
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
if ( AUTHENTICATED == FALSE ) die( 'NO ACCES' );
|
||||
|
||||
$models = [];
|
||||
$libraries = [];
|
||||
|
||||
$this->load->model( $models );
|
||||
$this->load->library( $libraries );
|
||||
}
|
||||
public function index()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public function getMonthlyEmployeeHoursPerProject()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -11,6 +11,16 @@ class User extends BaseModel {
|
||||
|
||||
protected $table = "users";
|
||||
|
||||
public function projectemployees()
|
||||
{
|
||||
return $this->hasMany( 'Projectemployee' );
|
||||
}
|
||||
|
||||
public function projectemployee()
|
||||
{
|
||||
return $this->hasOne( 'Projectemployee' );
|
||||
}
|
||||
|
||||
public function role()
|
||||
{
|
||||
return $this->belongsTo( 'Role', 'level', 'rolelevel' );
|
||||
@@ -18,7 +28,7 @@ class User extends BaseModel {
|
||||
|
||||
public static function getAllUsers( $archive )
|
||||
{
|
||||
$users = User::selectRaw("*, CONCAT(firstname, ' ', middlename, ' ', lastname) AS fullname")
|
||||
$users = User::selectRaw( "*, CONCAT(firstname, ' ', middlename, ' ', lastname) AS fullname" )
|
||||
->orderBy( 'lastname' );
|
||||
|
||||
if ( $archive == 'F' ) $users = $users->whereArchive( 'F' );
|
||||
@@ -68,5 +78,23 @@ class User extends BaseModel {
|
||||
User::whereId( $userID )->delete();
|
||||
}
|
||||
|
||||
public static function getUniqueProjectUsers()
|
||||
{
|
||||
//TODO: date range
|
||||
$projectusers = User::selectRaw( "
|
||||
users.id,
|
||||
CONCAT(firstname, ' ', middlename, ' ', lastname) AS fullname,
|
||||
SUBSTR(MD5(users.id), 1, 6) AS slug" )
|
||||
->join( 'projectemployees AS PEM', 'PEM.user_id', '=', 'users.id' )
|
||||
->with( [
|
||||
'projectemployee.project' => function ( $q ) {
|
||||
$q->selectRaw( "id, YEAR(startdate) AS instroom, COALESCE(YEAR(enddate), '') AS uitstroom" );
|
||||
}] )
|
||||
->distinct()
|
||||
->get();
|
||||
|
||||
return $projectusers;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
<div class="MONTHLYEMPLOYEEHOURS">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="nav-tabs-horizontal">
|
||||
<ul class="nav nav-tabs nav-tabs-solid">
|
||||
<li class="nav-item" data-bind="click:setActivetab.bind($data, 'euro')">
|
||||
<a class="nav-link" data-bind="css:{'active':sluggy() == 'euro'}">totaal euro's</a>
|
||||
</li>
|
||||
<li class="nav-item" data-bind="click:setActivetab.bind($data, 'hours')">
|
||||
<a class="nav-link" data-bind="css:{'active':sluggy() == 'hours'}">totaal uren</a>
|
||||
</li>
|
||||
|
||||
<!-- ko foreach:uniqueEmployees -->
|
||||
<li class="nav-item" data-bind="click:$root.setActivetab.bind($data, slug)">
|
||||
<a class="nav-link" data-bind="text:fullname, css:{'active':$root.sluggy() == slug}"></a>
|
||||
</li>
|
||||
<!-- /ko -->
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane" data-bind="css:{'active':sluggy() == 'euro'}">
|
||||
<?php $this->load->view('reports/monthlyemployeehours/euro_view'); ?>
|
||||
</div>
|
||||
<div class="tab-pane" data-bind="css:{'active':sluggy() == 'hours'}">
|
||||
<?php $this->load->view('reports/monthlyemployeehours/hours_view'); ?>
|
||||
</div>
|
||||
|
||||
<!-- ko foreach:uniqueEmployees -->
|
||||
<div class="tab-pane" data-bind="css:{'active':$root.sluggy() == slug}">
|
||||
<?php $this->load->view('reports/monthlyemployeehours/employee_view'); ?>
|
||||
</div>
|
||||
<!-- /ko -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -68,6 +68,7 @@
|
||||
<script src="js/lib/modules/projects/offersModule.js?version=<?= $this->version ?>"></script>
|
||||
<script src="js/lib/modules/projects/projectsModule.js?version=<?= $this->version ?>"></script>
|
||||
<script src="js/lib/modules/projects/employeehoursModule.js?version=<?= $this->version ?>"></script>
|
||||
<script src="js/lib/modules/reports/monthlyEmployeeHoursModule.js?version=<?= $this->version ?>"></script>
|
||||
|
||||
<!-- ***********MODALS************* -->
|
||||
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
<ul data-bind="foreach: myData">
|
||||
<li data-bind="text:test">text</li>
|
||||
</ul>
|
||||
@@ -0,0 +1 @@
|
||||
<h1>EURO'S</h1>
|
||||
@@ -0,0 +1 @@
|
||||
<h1>hours</h1>
|
||||
Reference in New Issue
Block a user