projecten

This commit is contained in:
2018-01-18 08:45:09 +01:00
parent 00246f49f7
commit 970aa53971
25 changed files with 689 additions and 285 deletions
+3 -1
View File
@@ -26,12 +26,14 @@ class Offer extends BaseModel {
return $this->belongsTo( 'Customer' );
}
public static function getAllOffers( $archive = 'F' )
public static function getAllOffers( $projectID, $archive = 'F' )
{
$offers = Offer::orderBy( 'startdate' )
->with( 'customer' )
->with( 'project' );
if ( $projectID ) $offers = $offers->whereProjectId( $projectID );
if ( $archive == 'F' ) $offers = $offers->whereArchive( 'F' );
$offers = $offers->get();
+44 -8
View File
@@ -16,6 +16,11 @@ class Project extends BaseModel {
return $this->hasMany( 'Offer' );
}
public function projectemployees()
{
return $this->hasMany( 'Projectemployee' );
}
public function projectleader()
{
return $this->belongsTo( 'User', 'projectleader_id' );
@@ -28,7 +33,34 @@ class Project extends BaseModel {
public static function getAllProjects( $archive = 'F' )
{
$projects = Project::with( [
$projects = Project::getBaseProject();
if ( $archive == 'F' ) $projects = $projects->whereArchive( 'F' );
$projects = $projects->get();
return $projects;
}
public static function getProject( $projectID )
{
$project = Project::getBaseProject();
$project = $project->whereArchive( 'F' )
->whereId( $projectID )
->first();
return $project;
}
public static function removeProject( $projectID )
{
Project::whereId( $projectID )->delete();
}
public static function getBaseProject()
{
$project = Project::with( [
'projectleader' => function ( $q ) {
$q->selectRaw( "id, CONCAT(firstname, ' ', middlename, ' ', lastname) AS fullname" );
}] )
@@ -40,17 +72,21 @@ class Project extends BaseModel {
$q->selectRaw( '*' );
}] );
}] )
->with( [
'projectemployees.user' => function ( $q ) {
$q->selectRaw( "id, CONCAT(firstname, ' ', middlename, ' ', lastname) AS fullname" );
}] )
->with( 'customer' );
if ( $archive == 'F' ) $projects = $projects->whereArchive( 'F' );
$projects = $projects->get();
return $projects;
return $project;
}
public static function removeProject( $projectID )
public static function createProject()
{
Project::whereId($projectID)->delete();
$data = ['startdate'=> date('Y-m-d')];
$project = Project::create($data);
return $project->id;
}
}
@@ -0,0 +1,30 @@
<?php
/**
* Created by Pensare Software.
* User: Theo Weijmer
* Date: 17/01/2018
* Time: 10:25
*/
class Projectemployee extends BaseModel {
public function project()
{
return $this->belongsTo( 'Project' );
}
public function user()
{
return $this->belongsTo( 'User' );
}
public static function createProjectEmployee( $projectID )
{
$projectemployee = Projectemployee::create( [
'project_id' => $projectID
] );
return $projectemployee->id;
}
}