Diverse aanpassingen nav gesprek met Peter
This commit is contained in:
@@ -1,19 +1,19 @@
|
||||
<?php
|
||||
defined('BASEPATH') OR exit('No direct script access allowed');
|
||||
defined( 'BASEPATH' ) OR exit( 'No direct script access allowed' );
|
||||
|
||||
/**
|
||||
* Created by Pensare Software.
|
||||
* User: Theo Weijmer
|
||||
* Date: 25/12/2017
|
||||
* Time: 10:11
|
||||
*/
|
||||
|
||||
class usersController extends MY_Controller {
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
if( AUTHENTICATED == FALSE ) die('NO ACCES');
|
||||
if ( AUTHENTICATED == FALSE ) die( 'NO ACCES' );
|
||||
|
||||
$models = [];
|
||||
$libraries = [];
|
||||
@@ -34,6 +34,13 @@ class usersController extends MY_Controller {
|
||||
$this->json( $users );
|
||||
}
|
||||
|
||||
public function getUser( $userID )
|
||||
{
|
||||
$user = User::find( $userID );
|
||||
|
||||
$this->json( $user );
|
||||
}
|
||||
|
||||
public function getUniqueprojectEmployees()
|
||||
{
|
||||
$projectEmployees = User::getUniqueProjectUsers();
|
||||
|
||||
@@ -75,7 +75,11 @@ class ProjectsController extends MY_Controller {
|
||||
|
||||
Offer::whereId( $offerID )->update( ['project_id' => $project->id] );
|
||||
|
||||
Projectemployee::create( ['project_id' => $project->id, 'user_id' => $offer->offerleader_id] );
|
||||
Projectemployee::create( [
|
||||
'project_id' => $project->id,
|
||||
'user_id' => $offer->offerleader_id,
|
||||
'tarif' => User::find( $offer->offerleader_id )->hourlyrate
|
||||
] );
|
||||
|
||||
$this->json( ['success' => TRUE, 'projectnumber' => $projectnumber] );
|
||||
}
|
||||
|
||||
@@ -145,7 +145,7 @@ class validation {
|
||||
|
||||
public function checkDecimal()
|
||||
{
|
||||
$value = (bool) preg_match( '/^[\-+]?[0-9]+\.[0-9]+$/', $this->fieldValue );
|
||||
$value = is_numeric( $this->fieldValue );
|
||||
|
||||
if ( ! $value ) $this->errorMessages[] = 'alleen getallen toegestaan';
|
||||
}
|
||||
|
||||
@@ -32,6 +32,10 @@ class UserValidation extends BaseValidation {
|
||||
'fieldname' => 'username',
|
||||
'model' => 'User_model',
|
||||
'field' => 'username'
|
||||
],
|
||||
'hourlyrate' =>[
|
||||
'validations' => 'decimal',
|
||||
'fieldname' => 'uurtarief'
|
||||
]
|
||||
];
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<div class="panel panel-bordered panel-primary panel-line">
|
||||
<div class="panel-heading panel-heading-project">
|
||||
<h3 class="">
|
||||
facturen
|
||||
uitgaande facturen
|
||||
</h3>
|
||||
</div>
|
||||
<div class="panel-body panel-body-project">
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<div class="panel panel-bordered panel-primary panel-line">
|
||||
<div class="panel-heading panel-heading-project">
|
||||
<h3 class="">
|
||||
kosten
|
||||
inkomende facturen
|
||||
</h3>
|
||||
</div>
|
||||
<div class="panel-body panel-body-project">
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<div class="row" form-inline>
|
||||
<div class="row form-inline">
|
||||
<div class="col-md-3">
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 col-form-label">klant</label>
|
||||
@@ -73,6 +73,32 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="margin-top:10px;">
|
||||
<div class="col-md-5">
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 form-control-label">omschrijving</label>
|
||||
<div class="col-md-9">
|
||||
<input type="text"
|
||||
class="form-control form-control-sm"
|
||||
data-bind="textInput:projectname, event:{keyup:saveProjectname}"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="form-group row">
|
||||
<h4 class="form-control-label">eigenomzet:
|
||||
<i class="icon fa-euro"> </i><span data-bind="text:ownRevenue"></span>
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="form-group row">
|
||||
<h4 class="form-control-label">overige omzet:
|
||||
<i class="icon fa-euro"> </i><span data-bind="text:otherRevenue"></span>
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<h3>te besteden uren :<span data-bind="text:(totalBudget() - totalHours())"></span></h3>
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
optionsValue:'id',
|
||||
value:employeeID,
|
||||
optionsCaption:'naam',
|
||||
event:{change:$root.saveProjectemployee},
|
||||
event:{change:$root.changeProjectemployee},
|
||||
visible:inEdit"></select>
|
||||
</td>
|
||||
<td class="align-right">
|
||||
|
||||
@@ -52,9 +52,9 @@
|
||||
</div>
|
||||
<div class="tab-pane animation-slide-top" id="financial">
|
||||
<div class="row" data-bind="fadeVisible:customerID()">
|
||||
<div class="col-md-5">
|
||||
<?php $this->load->view( 'modals/partials/_projectoffers' ); ?>
|
||||
</div>
|
||||
<!-- <div class="col-md-5">-->
|
||||
<!-- --><?php //$this->load->view( 'modals/partials/_projectoffers' ); ?>
|
||||
<!-- </div>-->
|
||||
<div class="col-md-7">
|
||||
<?php $this->load->view( 'modals/partials/_projectcosts' ); ?>
|
||||
</div>
|
||||
|
||||
@@ -111,6 +111,23 @@
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-xl-3 form-control-label">
|
||||
uurtarief
|
||||
</label>
|
||||
<div class="col-xl-4">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-euro"></i>
|
||||
</span>
|
||||
<input type="text"
|
||||
placeholder="uurtarief"
|
||||
class="form-control align-right"
|
||||
data-bind="textInput:hourlyRate,
|
||||
event:{keyup:validateNumber.bind($data, 'hourlyRate')}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<div class="col-xl-3"> </div>
|
||||
<!-- ko foreach:roles -->
|
||||
|
||||
@@ -32,7 +32,11 @@ $( function () {
|
||||
archive : ko.observable( false ),
|
||||
startdate : ko.observable( null ),
|
||||
enddate : ko.observable( null ),
|
||||
projectname : ko.observable(),
|
||||
busy : false,
|
||||
ownRevenue : ko.observable(),
|
||||
otherRevenue : ko.observable(),
|
||||
projectname : ko.observable(),
|
||||
|
||||
init: function () {
|
||||
var vm = dbo.editProjectModal;
|
||||
@@ -251,6 +255,17 @@ $( function () {
|
||||
vm.init();
|
||||
},
|
||||
|
||||
saveProjectname: function () {
|
||||
var vm = dbo.editProjectModal;
|
||||
if ( timeout ) {
|
||||
clearTimeout( timeout );
|
||||
timeout = null;
|
||||
}
|
||||
timeout = setTimeout( function () {
|
||||
vm.saveProject();
|
||||
}, 700 );
|
||||
},
|
||||
|
||||
saveProject: function () {
|
||||
var vm = dbo.editProjectModal;
|
||||
|
||||
@@ -260,6 +275,7 @@ $( function () {
|
||||
id : vm.projectID,
|
||||
customer_id : vm.customerID(),
|
||||
projectleader_id: vm.projectleaderID(),
|
||||
projectname : vm.projectname(),
|
||||
startdate : vm.startdate(),
|
||||
enddate : vm.enddate()
|
||||
}
|
||||
@@ -269,9 +285,19 @@ $( function () {
|
||||
} );
|
||||
},
|
||||
|
||||
saveProjectemployee: function () {
|
||||
changeProjectemployee: function () {
|
||||
var vm = dbo.editProjectModal;
|
||||
var self = this;
|
||||
dbo.userDataService.getUser( this.employeeID(), function ( data ) {
|
||||
self.tarif( data.hourlyrate );
|
||||
|
||||
vm.saveProjectemployee( self );
|
||||
} );
|
||||
},
|
||||
|
||||
saveProjectemployee: function ( self = false ) {
|
||||
var vm = dbo.editProjectModal;
|
||||
if ( !self ) self = this;
|
||||
|
||||
$.each( vm.users(), function ( i, p ) {
|
||||
if ( self.employeeID == p.id ) self.fullname( p.fullname );
|
||||
@@ -517,6 +543,7 @@ $( function () {
|
||||
vm.startdate( dbo.helpers.mysql2date( data.startdate ) );
|
||||
vm.enddate( dbo.helpers.mysql2date( data.enddate ) );
|
||||
vm.projectnumber( data.projectnumber );
|
||||
vm.projectname( data.projectname );
|
||||
|
||||
vm.projectEmployees.removeAll();
|
||||
vm.projecthours.removeAll();
|
||||
@@ -537,8 +564,11 @@ $( function () {
|
||||
} );
|
||||
|
||||
vm.offers.removeAll();
|
||||
|
||||
$.each( data.offers, function ( i, p ) {
|
||||
if ( i == 0 ) {
|
||||
vm.ownRevenue( p.own_revenue );
|
||||
vm.otherRevenue( p.other_revenue );
|
||||
}
|
||||
vm.offers.push( new dbo.offersService.Offer( p ) );
|
||||
} );
|
||||
|
||||
@@ -560,8 +590,8 @@ $( function () {
|
||||
self.id = data.id;
|
||||
self.employeeID = ko.observable( data.user_id );
|
||||
self.fullname = ko.observable( data.user ? data.user.fullname : '#NB' );
|
||||
self.tarif = ko.observable( data.tarif ? data.tarif.toString().replace( '.', ',' ) : 0 );
|
||||
self.budget = ko.observable( data.budget ? data.budget.toString().replace( '.', ',' ) : 0 );
|
||||
self.tarif = ko.observable( data.tarif ? data.tarif : 0 );
|
||||
self.budget = ko.observable( data.budget ? data.budget : 0 );
|
||||
self.inEdit = ko.observable( sessionStorage.editEmployee == data.id );
|
||||
},
|
||||
|
||||
|
||||
@@ -16,7 +16,9 @@ $( function () {
|
||||
username : ko.observable(),
|
||||
email : ko.observable(),
|
||||
role : ko.observable(),
|
||||
callback : null,
|
||||
hourlyRate: ko.observable(),
|
||||
|
||||
callback: null,
|
||||
|
||||
init: function () {
|
||||
var vm = dbo.editUserModal;
|
||||
@@ -53,7 +55,8 @@ $( function () {
|
||||
lastname : vm.lastname(),
|
||||
username : vm.username(),
|
||||
email : vm.email(),
|
||||
role : vm.role()
|
||||
role : vm.role(),
|
||||
hourlyrate: vm.hourlyRate()
|
||||
}
|
||||
|
||||
dbo.userDataService.saveUser( submitDATA, function ( data ) {
|
||||
@@ -62,10 +65,10 @@ $( function () {
|
||||
title : 'gebruiker aangemaakt',
|
||||
message : 'gebuiker is succesvol opgeslagen',
|
||||
modalClass: 'modal-success'
|
||||
}, function(){
|
||||
}, function () {
|
||||
vm.hideUserModal();
|
||||
|
||||
if( typeof(vm.callback) == 'function') vm.callback();
|
||||
if ( typeof(vm.callback) == 'function' ) vm.callback();
|
||||
} );
|
||||
|
||||
return;
|
||||
@@ -97,6 +100,7 @@ $( function () {
|
||||
vm.username( user.username || '' );
|
||||
vm.email( user.email || '' );
|
||||
vm.role( user.role || null );
|
||||
vm.hourlyRate( user.hourlyrate || 0 );
|
||||
},
|
||||
|
||||
showUserModal: function () {
|
||||
@@ -105,6 +109,11 @@ $( function () {
|
||||
|
||||
hideUserModal: function () {
|
||||
$( "#user-modal" ).modal( 'hide' );
|
||||
},
|
||||
|
||||
validateNumber: function ( field ) {
|
||||
var vm = dbo.editUserModal;
|
||||
vm[field]( dbo.helpers.validateNumber( vm[field](), true ) );
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user