diff --git a/application/controllers/projects/EmployeehoursController.php b/application/controllers/projects/EmployeehoursController.php new file mode 100644 index 0000000..f95462f --- /dev/null +++ b/application/controllers/projects/EmployeehoursController.php @@ -0,0 +1,62 @@ +load->model( $models ); + $this->load->library( $libraries ); + } + + public function getEmployeehours( $month, $year ) + { + $employeehours = Employeehour::getEmployeehours( $month, $year ); + + $this->json( $employeehours ); + } + + public function getHourtypes() + { + $hourtypes = Hourtype::all(); + + $this->json( $hourtypes ); + } + + public function saveEmployeehour() + { + //TODO: validatie inbouwen + $data = $this->input->post(); + + $employeehourID = $data['id']; + unset( $data['id'] ); + + $data['hourdate'] = date2mysql( $data['hourdate'] ); + + $employeehourID = Employeehour::saveEmployeehour( $employeehourID, $data ); + + $this->json( ['employeehourID' => $employeehourID] ); + } + + public function removeEmployeehour( $employeehourID ) + { + //TODO:check op delete + Employeehour::whereId( $employeehourID )->delete(); + + $this->json( ['result' => TRUE] ); + } + +} \ No newline at end of file diff --git a/application/controllers/projects/ProjectsController.php b/application/controllers/projects/ProjectsController.php index 9b5ce5a..bd19ecf 100644 --- a/application/controllers/projects/ProjectsController.php +++ b/application/controllers/projects/ProjectsController.php @@ -119,8 +119,6 @@ class ProjectsController extends MY_Controller { $projectemployeeID = $projectemployee['id']; unset( $projectemployee['id'] ); - $projectemployee['startdate'] = date2mysql( $projectemployee['startdate'] ); - Projectemployee::saveProjectemployee( $projectemployeeID, $projectemployee ); $this->json( ['success' => TRUE] ); diff --git a/application/libraries/validation/inputValidations/ProjectcostValidation.php b/application/libraries/validation/inputValidations/ProjectcostValidation.php index f7ea3da..791c619 100644 --- a/application/libraries/validation/inputValidations/ProjectcostValidation.php +++ b/application/libraries/validation/inputValidations/ProjectcostValidation.php @@ -28,6 +28,10 @@ class ProjectcostValidation extends BaseValidation { 'costs' => [ 'validations' => 'number', 'fieldname' => 'kosten' + ], + 'payed' => [ + 'validations' => 'number', + 'fieldname' => 'betaald' ] ]; diff --git a/application/models/eloquent/Employeehour.php b/application/models/eloquent/Employeehour.php new file mode 100644 index 0000000..6ebcc25 --- /dev/null +++ b/application/models/eloquent/Employeehour.php @@ -0,0 +1,52 @@ +belongsTo( 'User', 'employee_id' ); + } + + public function hourtype() + { + return $this->belongsTo( 'Hourtype' ); + } + + public static function getEmployeehours( $month, $year ) + { + $employeehours = Employeehour::whereRaw( "MONTH(hourdate) ={$month} AND YEAR(hourdate) = {$year}" ) + ->with( [ + 'user' => function ( $q ) { + $q->selectRaw( "id, CONCAT(firstname, ' ', middlename, ' ', lastname) AS fullname" ); + }] ) + ->with( 'hourtype' ) + ->get(); + + return $employeehours; + } + + public static function saveEmployeehour( $employeehourID, $data ) + { + if ( $employeehourID == 0 ) + { + $employeehour = Employeehour::create( $data ); + + $employeehourID = $employeehour->id; + } + else + { + Employeehour::whereId( $employeehourID )->update( $data ); + } + + return $employeehourID; + } +} \ No newline at end of file diff --git a/application/models/eloquent/Hourtype.php b/application/models/eloquent/Hourtype.php new file mode 100644 index 0000000..7f45af2 --- /dev/null +++ b/application/models/eloquent/Hourtype.php @@ -0,0 +1,18 @@ +hasMany( 'Employeehour' ); + } +} \ No newline at end of file diff --git a/application/views/modals/external_modal.php b/application/views/modals/external_modal.php index 91f2727..2c994a7 100644 --- a/application/views/modals/external_modal.php +++ b/application/views/modals/external_modal.php @@ -150,6 +150,22 @@ +
+ +
+
+ + + + +
+
+
\ No newline at end of file diff --git a/application/views/modals/project_modal.php b/application/views/modals/project_modal.php index 6551879..3f444ea 100644 --- a/application/views/modals/project_modal.php +++ b/application/views/modals/project_modal.php @@ -1,7 +1,4 @@
-