Example #1
0
 public function checkEarnings($id)
 {
     $startDate = $start = Input::get('startDate');
     $endDate = $end = Input::get('endDate');
     $start = date('Y-m-d', strtotime($start));
     $end = date('Y-m-d', strtotime($end));
     // Get the owed sum for the given range.
     $salaryForRange = Employee::getSalaryRange($id, $start, $end);
     $rangeSum = 0;
     $rangeValetedVehicles = 0;
     foreach ($salaryForRange as $item) {
         $employeesCut = Vehicle::getEmployeesCut($item->vehicle_fk);
         $rangeSum = $rangeSum + $employeesCut * $item->quantity;
         // Calculate the number of processed vehicles.
         $rangeValetedVehicles += $item->quantity;
     }
     $employeeData = Employee::find($id);
     $processedVehicles = InvoiceElement::where('employee_fk', '=', $employeeData->id)->count();
     $totalSalary = Employee::getSalary($id);
     // Get the rest of the information.
     $totalSum = 0;
     foreach ($totalSalary as $item) {
         $employeesCut = Vehicle::getEmployeesCut($item->vehicle_fk);
         $totalSum = $totalSum + $employeesCut * $item->quantity;
     }
     return View::make('employee.profile')->with(['employeeData' => $employeeData, 'processedVehicles' => $processedVehicles, 'totalSum' => $totalSum, 'rangeSum' => $rangeSum, 'startDate' => $startDate, 'endDate' => $endDate, 'rangeValetedVehicles' => $rangeValetedVehicles]);
 }
Example #2
0
 public function destroy($id)
 {
     $targetInvoice = Invoice::find($id);
     if ($targetInvoice) {
         $targetInvoice->delete();
         InvoiceElement::where('invoice_fk', '=', $id)->delete();
         return $this->index();
     } else {
         return $this->index();
     }
 }
Example #3
0
 public static function getTotalSalariesSum($start, $end)
 {
     return InvoiceElement::getProcessedVehiclesSum($start, $end);
 }
Example #4
0
    Route::resource('invoice', 'InvoiceController');
    Route::get('invoice/{invoice}/pdf', ['as' => 'invoice.download', 'uses' => 'InvoiceController@download']);
    Route::resource('vehicle', 'VehicleController');
    Route::resource('balance', 'BalanceController');
    Route::post('balance/check', ['as' => 'balance.check', 'uses' => 'BalanceController@checkBalance']);
    Route::resource('expense', 'ExpenseController');
    Route::get('backup', ['as' => 'database.backup', function () {
        DbExportHandler::migrate()->ignore('users')->seed();
        return Redirect::to('home')->with('message', 'The database has been backed up.');
    }]);
    Route::get('restore', ['as' => 'database.restore', function () {
        // Empty all tables bar the users
        Vehicle::truncate();
        Expense::truncate();
        Invoice::truncate();
        InvoiceElement::truncate();
        Employee::truncate();
        // Seed the database from the latest seed file.
        Artisan::call('db:seed', ['--force' => true]);
        return Redirect::to('home')->with('message', 'The database has been emptied and has been restored from the latest backup.');
    }]);
});
Route::resource('/', 'SessionController@index');
Route::resource('sessions', 'SessionController');
Route::get('login', ['as' => 'login', 'uses' => 'SessionController@create']);
Route::get('logout', ['as' => 'logout', 'uses' => 'SessionController@destroy']);
// Remove this section once the admin account is set up.
Route::get('/newAdmin', function () {
    return View::make('home.admin');
});
Route::post('/createAdmin', ['as' => 'create.admin', function () {