Ejemplo n.º 1
0
function save_new_application()
{
    if (isset($_POST['num_leaves']) and intval(trim($_POST['num_leaves'])) > 0) {
        //Αν ο αριθμός ημερών δεν είναι κενός και το αριθμός είναι μεγαλύτερος του 0
        global $db, $user, $message_list;
        // Check if the number of days requested is available (remaining days)
        if (trim($_POST['leave_type']) == 2) {
            $afm = trim($_POST['user_tel']);
            if (intval(trim($_POST['num_leaves'])) > get_remaining_leaves_for_user(afm_to_id($afm))) {
                $message_list[] = array('type' => 'danger', 'message' => 'Σφάλμα! Το υπόλοιπο των ημερών αδείας του υπαλλήλου σας δεν επαρκεί.');
                return;
            }
        } else {
            if (intval(trim($_POST['num_leaves'])) > get_remaining_leaves()) {
                $message_list[] = array('type' => 'danger', 'message' => 'Σφάλμα! Το υπόλοιπο των ημερών αδείας σας δεν επαρκεί.');
                return;
            }
        }
        $query = $db->prepare('INSERT INTO leaves_submissions (leave_id, employee_afm, type_id, date_submitted, submitted_by, date_starts, date_ends, num_leaves, ip_submitted, remaining_leaves, filename) VALUES(NULL, :employee_afm, :type_id, :date_submitted, :submitted_by, :date_starts, :date_ends, :num_leaves, :ip_submitted, :remaining_leaves, :filename)');
        $afm = $user->afm;
        $submitted_by = '';
        if (trim($_POST['leave_type']) == 2) {
            // This is  request via telephone
            $afm = trim($_POST['user_tel']);
            $submitted_by = $user->afm;
        }
        $submission_date = date("Y-m-d H:i:s");
        $filename = date("Y-m-d_H_i_s") . '_' . get_rand_id(5) . '.pdf';
        $query->bindValue(':employee_afm', $afm, PDO::PARAM_STR);
        $query->bindValue(':type_id', trim($_POST['leave_type']), PDO::PARAM_INT);
        $query->bindValue(':date_submitted', $submission_date, PDO::PARAM_STR);
        $query->bindValue(':submitted_by', $submitted_by, PDO::PARAM_STR);
        $query->bindValue(':date_starts', trim($_POST['date_starts']), PDO::PARAM_STR);
        $query->bindValue(':date_ends', trim($_POST['date_ends']), PDO::PARAM_STR);
        $query->bindValue(':num_leaves', trim($_POST['num_leaves']), PDO::PARAM_INT);
        $query->bindValue(':ip_submitted', $_SERVER['REMOTE_ADDR'], PDO::PARAM_STR);
        $query->bindValue(':remaining_leaves', get_remaining_leaves(), PDO::PARAM_STR);
        $query->bindValue(':filename', $filename, PDO::PARAM_STR);
        $query->execute();
        $id = $db->lastInsertId();
        if ($id != 0) {
            // Prepare the pdf body
            $leave_user = get_user_details_by_afm($afm);
            $pdf_body = '<h4>Αίτηση Άδειας</h4>';
            $pdf_body .= '<p>Όνομα: ' . $leave_user->first_name . '</p>';
            $pdf_body .= '<p>Επίθετο: ' . $leave_user->last_name . '</p>';
            $pdf_body .= '<p>Ημερομηνία Έναρξης Άδειας: ' . printDate(trim($_POST['date_starts'])) . '</p>';
            $pdf_body .= '<p>Ημερομηνία Λήξης Άδειας: ' . printDate(trim($_POST['date_ends'])) . '</p>';
            $pdf_body .= '<p>Ημέρες Άδειας: ' . trim($_POST['num_leaves']) . '</p>';
            $pdf_body .= '<p>Ημέρομηνία Υποβολής: ' . printDate($submission_date) . '</p>';
            // Also print the pdf
            $full_path_filename = getcwd() . '/apps/leaves/files/' . $filename;
            print_pdf($full_path_filename, $pdf_body);
            if (DEBUG) {
                // This is in development mode..
                $address = LEAVES_DEBUG_USER_EMAIL;
                $receiver = LEAVES_DEBUG_USER_NAME;
            } else {
                // Send email to the employer
                $address = $leave_user->email;
                $receiver = $leave_user->first_name . ' ' . $leave_user->last_name;
            }
            $subject = 'Η Αίτηση Αδείας σας υποβλήθηκε επιτυχώς';
            $body = '<p>Η Αίτηση Αδείας σας υποβλήθηκε επιτυχώς</p>';
            $body .= '<p>Επισυνάπτεται αντίγραφο της αίτησή σας.</p>';
            $body .= '<p>Θα ενημερωθείτε με νεώτερο email μετά το πέρας της επεξεργασίας της αίτησής σας.</p>';
            email_send($address, $receiver, $subject, $body, $full_path_filename);
            if (trim($_POST['leave_type']) != 2) {
                // If it is by telephone no need to alert the supervisors
                // Maybe send this no matter what..?
                $supervisors = get_user_supervisors($leave_user);
                foreach ($supervisors as $supervisor) {
                    if (DEBUG) {
                        // This is in development mode..
                        $address = LEAVES_DEBUG_USER_EMAIL;
                        $receiver = LEAVES_DEBUG_USER_NAME;
                    } else {
                        // Send email to the supervisor
                        $address = $supervisor['email'];
                        $receiver = $supervisor['first_name'] . ' ' . $supervisor['last_name'];
                    }
                    if (DEBUG) {
                        $message_list[] = array('type' => 'message', 'message' => 'Ενημερώθηκε ηλεκτρονικά ο ' . $supervisor['first_name'] . ' ' . $supervisor['last_name']);
                    }
                    $subject = 'Νέα Αίτηση Αδείας απο τον ' . $leave_user->first_name . ' ' . $leave_user->last_name;
                    $body = '<p>O ' . $leave_user->first_name . ' ' . $leave_user->last_name . ' υπέβαλλε νέα αίτηση αδείας.</p>';
                    $body .= '<p>Συνδεθείτε για να επεξεργαστείτε την αίτηση.</p>';
                    $body .= '<p><a href="' . URL . '?p=leaves|applications">' . URL . '</a></p>';
                    email_send($address, $receiver, $subject, $body);
                }
            }
            $message_list[] = array('type' => 'success', 'message' => 'Η Αίτηση καταχωρήθηκε επιτυχώς..');
        } else {
            $message_list[] = array('type' => 'danger', 'message' => 'Σφάλμα! Η Αίτηση δεν καταχωρήθηκε επιτυχώς..');
        }
        //echo $query->getSQL(); //For debug
    }
}
Ejemplo n.º 2
0
		<h3 class="page-title">Οι Αιτήσεις μου</h3>
	</div>
</div>
 <?php 
if (isset($_GET['cancel'])) {
    save_cancel_application();
    print_messages();
}
?>
<!-- /.row -->
<div class="row">
	<div class="col-lg-12">
		<div class="panel panel-default">
			<div class="panel-heading">
				Πίνακας Καταχωρημένων Αιτήσεων | Υπόλοιπο Ημερών Άδειας: <strong><?php 
echo get_remaining_leaves();
?>
</strong>
			</div>
			<!-- /.panel-heading -->
			<div class="panel-body">
				<div class="dataTable_wrapper">
					<table class="table table-striped table-bordered table-hover" id="dataTables-example">
						<thead>
							<tr>
								<th>Ημ/νία Υποβολής</th>
								<th>Είδος Άδειας</th>
								<th>Αριθ. Ημερών</th>
								<th>Από</th>
								<th>Εώς</th>
								<th>Κατάσταση</th>   
Ejemplo n.º 3
0
<div class="row">
	<div class="col-lg-12">
		<h3 class="page-title">Υποβολή Νέας Αίτησης</h3>
	</div>
</div>


</script>
 <?php 
save_new_application();
print_messages();
$remainin_leaves = get_remaining_leaves();
?>
<div class="row"><div class="col-sm-12"><div id="errorer" class="alert alert-danger" style="display:none;">Συμπληρώστε τα απαραίτητα πεδία</div></div></div>
<div class="row">
	<div class="col-lg-12">
		<div class="">
		
		<form name="leaveform" id="leaveform" method="post" action="<?php 
echo URL;
?>
/?p=leaves|new">
			<div class="row">
				<div class="col-md-2">
					<div id="remaining" data-leaves="<?php 
echo $remainin_leaves;
//Εμφάνιση υπολοίπου ημερών άδειας
?>
" ></div>
					<div class="alert alert-info" style="margin-top: 10px;">Υπόλοιπο Ημερών Άδειας: <strong><?php 
echo $remainin_leaves;