Offrte gours
This commit is contained in:
@@ -51,6 +51,7 @@ class EmployeeHoursController extends MY_Controller {
|
||||
unset( $data['id'] );
|
||||
unset( $data['hourType'] );
|
||||
unset( $data['project_id'] );
|
||||
if( $hourType == 'OFFERS' ) $data['offer_id'] = $projectID;
|
||||
|
||||
$data['hourdate'] = date2mysql( $data['hourdate'] );
|
||||
|
||||
|
||||
@@ -34,6 +34,13 @@ class OffersController extends MY_Controller {
|
||||
$this->json( $offers );
|
||||
}
|
||||
|
||||
public function getOffersWithoutProject()
|
||||
{
|
||||
$offersWithoutProject = Offer::getOffersWithoutProject();
|
||||
|
||||
$this->json( $offersWithoutProject);
|
||||
}
|
||||
|
||||
public function saveOffer()
|
||||
{
|
||||
$offerValidation = new OfferValidation();
|
||||
|
||||
@@ -79,11 +79,25 @@ class ProjectsController extends MY_Controller {
|
||||
|
||||
Offer::whereId( $offerID )->update( ['project_id' => $project->id] );
|
||||
|
||||
Projectemployee::create( [
|
||||
'project_id' => $project->id,
|
||||
'user_id' => $offer->offerleader_id,
|
||||
'tarif' => User::find( $offer->offerleader_id )->hourlyrate
|
||||
] );
|
||||
Projectemployee::firstOrCreateProjectemployee( $offer->offerleader_id, $project->id );
|
||||
|
||||
$offerteHours = Employeehour::whereOfferId( $offerID )->get();
|
||||
foreach ( $offerteHours as $offerteHour )
|
||||
{
|
||||
$projectemployee =
|
||||
Projectemployee::firstOrCreateProjectemployee( $offerteHour->employee_id, $project->id );
|
||||
|
||||
$data = [
|
||||
'projectemployee_id' => $projectemployee->id,
|
||||
'hourtype_id' => 10,
|
||||
'hourdate' => $offerteHour->hourdate,
|
||||
'hours' => $offerteHour->hours
|
||||
];
|
||||
|
||||
Projecthour::create( $data );
|
||||
|
||||
Employeehour::whereId( $offerteHour->id )->delete();
|
||||
}
|
||||
|
||||
$this->json( ['success' => TRUE, 'projectnumber' => $projectnumber] );
|
||||
}
|
||||
|
||||
@@ -41,6 +41,16 @@ class Offer extends BaseModel {
|
||||
return $offers;
|
||||
}
|
||||
|
||||
public static function getOffersWithoutProject( )
|
||||
{
|
||||
$offersWithoutProject = Offer::orderBy('startdate')
|
||||
->whereNull('rejectdate')
|
||||
->whereNull('project_id')
|
||||
->get();
|
||||
|
||||
return $offersWithoutProject;
|
||||
}
|
||||
|
||||
public static function saveOffer( $offerID, $offer )
|
||||
{
|
||||
$offer = (array) $offer;
|
||||
|
||||
@@ -59,6 +59,25 @@ class Projectemployee extends BaseModel {
|
||||
return $details;
|
||||
}
|
||||
|
||||
public static function firstOrCreateProjectemployee( $userID, $projectID )
|
||||
{
|
||||
$projectemployee = self::whereUserId($userID)->whereProjectId($projectID);
|
||||
|
||||
if( $projectemployee->count() > 0 ) return $projectemployee->first();
|
||||
|
||||
$user = User::find( $userID );
|
||||
|
||||
$tarif = $user ? $user->hourlyrate : 0;
|
||||
|
||||
$projectemployee = Projectemployee::create( [
|
||||
'project_id' => $projectID,
|
||||
'user_id' => $userID,
|
||||
'tarif' => $tarif
|
||||
] );
|
||||
|
||||
return $projectemployee;
|
||||
}
|
||||
|
||||
public static function createProjectEmployee( $projectID )
|
||||
{
|
||||
$projectemployee = Projectemployee::create( [
|
||||
|
||||
@@ -76,12 +76,24 @@
|
||||
visible: ! inEdit()"></span>
|
||||
<select class="form-control form-control-sm"
|
||||
data-bind="options:projects,
|
||||
optionsText:'projectname',
|
||||
optionsValue:'projectID',
|
||||
value:projectID,
|
||||
optionsCaption:'selecteer...',
|
||||
visible:inEdit(),
|
||||
event:{change:$root.saveEmployeehours}"></select>
|
||||
optionsText:'projectname',
|
||||
optionsValue:'projectID',
|
||||
value:projectID,
|
||||
optionsCaption:'selecteer...',
|
||||
visible:inEdit(),
|
||||
event:{change:$root.saveEmployeehours}"></select>
|
||||
<!-- /ko -->
|
||||
<!-- ko if: hourType() == 'OFFERS' -->
|
||||
<span data-bind="text:dbo.helpers.findArrayElement('projectID', 'projectname', projectID(), projects()),
|
||||
visible: ! inEdit()"></span>
|
||||
<select class="form-control form-control-sm"
|
||||
data-bind="options:$root.offersWithoutProject,
|
||||
optionsText:'offername',
|
||||
optionsValue:'id',
|
||||
value:projectID,
|
||||
optionsCaption:'selecteer...',
|
||||
visible:inEdit(),
|
||||
event:{change:$root.saveEmployeehours}"></select>
|
||||
<!-- /ko -->
|
||||
</td>
|
||||
<td class="align-right" data-bind="css:{'red-line': id() == 0}">
|
||||
|
||||
Reference in New Issue
Block a user