Jump to content

Recommended Posts

Posted

Hi guy I have recently added the Leave of absence module now in this module in the pilot center it wont let you enter a start date so after a bit of tinkering i manged to

get it to let me choose a start date for my leave of absence as a drop down box now the thing is in the admin center it still shows today date as the start of my leave of absence

even tho in the pilot center i choose a different date now how do i get it to display the start date correctly in the admin center il post some screen shots too

post-5961-0-65618600-1376905370_thumb.jpg

post-5961-0-02366900-1376905380_thumb.jpg

Posted

here you sava

<?php

/**

* Leave of Absence (LoA) v.1.0 Module

*

* phpVMS Module for pilots to submit a LoA request that is stored in a database

* and an option for staff to view all the LoA requests through the admin panel

* This module is released under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License

* You are free to redistribute and alter this work as you wish but you must keep the original 'copyright' information on all the places it comes in the original work.

* You are not allowed to delete the copyright information and/or gain any profit by adopting or using this module.

*

* @author Sava Markovic - savamarkovic.com

* @copyright Copyright © 2013, Sava Markovic

* @link http://www.savamarkovic.com

* @license http://creativecommons.org/licenses/by-nc-sa/3.0/

*/

class LoA extends CodonModule {

public $title = "Leave of Absence Request";

public function index ()

{

if (!Auth::LoggedIn())

{

$this->set('message', 'You are not logged in.');

$this->render('core_error.tpl');

}

else

{

$this->render('loa/loa_index.tpl');

}

}

public function submit()

{

date_default_timezone_set('UTC');

$date_now = time();

$date_ref = strtotime($this->post->day.'-'.$this->post->month.'-'.$this->post->year);

$days = ($date_ref - $date_now)/(60*60*24);

if ($days > 61 || $days < 0)

{

$this->set('error_lenght', 'The requested leave duration exceeds our policy.');

$this->render('loa/loa_error.tpl');

$this->render('loa/loa_index.tpl');

}

else

{

if ($this->post->reason == '') //check if the LoA reason field is empty or not, if empty ->

{

$this->set('error_reason', 'You haven\'t specified a reason for your leaeve of absence.');

$this->render('loa/loa_error.tpl');

$this->render('loa/loa_index.tpl');

}

else

{

$data = array('pilotid' => Auth::$userinfo->pilotid,

'start' => $date_now,

'end' => $date_ref,

'reason' => $this->post->reason);

$pilotid_check = LoAData::CheckPilotID($data['pilotid']);

if ($pilotid_check > 0)

{

$this->set('error_id', 'There is already a LoA request with your Pilot ID.');

$this->render('loa/loa_error.tpl');

$this->render('loa/loa_index.tpl');

}

else

{

LoAData::AddLoA($data);

$this->sendmail($data);

$this->render('loa/loa_submitted.tpl');

}

}

}

}

protected function sendmail($data)

{

//send mail to admin

$email_admin = ADMIN_EMAIL;

$subject_admin = SITE_NAME . ' LoA Request Submitted';

$message_admin = "Dear admin, a user has sent a LoA Requst. Check the details below. To edit the LoA request, go to your admin panel. <br>

Here are the details of your request: <br>

Pilot ID: {$data['pilotid']} <br>

Start Date: ".date( DATE_FORMAT, $data['start'])."<br />

End Date: ".date(DATE_FORMAT,$data['end'])." <br />

Reason: {$data['reason']}<br>

Thank you for submitting the request.";

Util::SendEmail($email_admin, $subject_admin, $message_admin);

//send mail to pilot

$subject = SITE_NAME . ' Leave of Absence Confirmation';

$email = Auth::$userinfo->email;

$message = "Your leave of absence request has been submitted and processed by our system. <br>

Here are the details of your request: <br>

Pilot ID: {$data['pilotid']} <br>

Start Date: ".date( DATE_FORMAT, $data['start'])."<br />

End Date: ".date(DATE_FORMAT,$data['end'])." <br />

Reason: {$data['reason']}<br>

Thank you for submitting the request.";

Util::SendEmail($email, $subject, $message);

}

}

Posted

public function submit()
   {
 date_default_timezone_set('UTC');
  $date_now = time();
   #....

$date_now is being set as the current time. You should change it to reflect your newly entered dropdown options. Check what is done for the $date_ref variable

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...