Diverse aanpassingen nav gesprek met Peter

This commit is contained in:
2018-02-14 11:03:42 +01:00
parent 0441ba7b81
commit 957bca2e9d
12 changed files with 117 additions and 20 deletions
@@ -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">
+3 -3
View File
@@ -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>
+17
View File
@@ -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">&nbsp;</div>
<!-- ko foreach:roles -->
+34 -4
View File
@@ -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 );
},
+13 -4
View File
@@ -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 ) );
}
};