public function getIndex() { $title = 'public'; // get 8 most popular online rewards $rewards = Reward::orderBy('claimed', 'desc')->take(8)->get(); // get last 5 winners $winners = Winner::orderBy('created_at', 'desc')->take(5)->get(); // check if competition is running, has yet to start or has ended $time = Carbon::now()->toDateTimeString(); $runningPeriod = Period::where('running', 1)->get(); $firstPeriod = Period::orderBy('id', 'asc')->first(); if (count($runningPeriod) == 1) { $competition['running'] = true; $competition['message'] = 'Enter your codes here to get your well-deserved points'; } else { $competition['running'] = false; if ($time < $firstPeriod->start) { $competition['message'] = 'The competition has yet to start'; } else { $competition['message'] = 'The competition has ended'; } } // if logged in go to dashboard if (Auth::check()) { $user = Auth::user(); $username = $user->name; $userPoints = $user->points; $title = 'Dashboard'; $rewards = Reward::all(); return view('dashboard.home', compact('competition', 'title', 'username', 'rewards', 'userPoints')); } return view('public.home', compact('competition', 'title', 'rewards', 'winners')); }
/** * Display a listing of the resource. * * @return Response */ public function index() { //return view('Email.welcome'); // $companies = \App\Company::where('active', 1)->get(); $periods = \App\Period::where('active', 1)->get(); return view('Admin.Registry.Company.company', ['companies' => $companies, 'periods' => $periods]); }
/** * Display a listing of the resource. * * @return Response */ public function index() { /* $teachersWhitout = \App\User::leftJoin('registry_teachers', function($join) { $join->on('users.id', '=', 'registry_teachers.id_teacher'); }) ->whereNull('registry_teachers.id_teacher') ->Where('users.active',1) ->Where('users.type','<>','Student') ->select('users.id','users.first_name','users.last_name','users.type') ->get(); */ $periods = \App\Period::where('active', 1)->get(); /*$teachersWhit = \App\RegistryTeacher::Join('users','users.id','=','registry_teachers.id_teacher') ->select('registry_teachers.id as rm','users.id','users.first_name','users.last_name','users.type')->get();*/ //dd($teachersWhit); return view('Admin.Registry.Teacher.teacher', ['periods' => $periods]); }
/** * Display a listing of the resource. * * @return Response */ public function index() { // $periods = \App\Period::where('active', 1)->get(); return view('Admin.Registry.Student.student', ['periods' => $periods]); }
public function postCode(Request $request) { //validate input $this->validate($request, ['code' => 'required|size:10']); // search for code $code = WinningCode::withTrashed()->where('code', $request->code)->first(); $user = Auth::user(); $username = $user->name; $userPoints = $user->points; $rewards = Reward::orderBy('created_at', 'desc')->take(8)->get(); //check if code is a bonus code if ($code && $code->used == 0 && $code->deleted_at == null) { $title = 'Dashboard'; $usedCode = new UsedCode(); $winner = new Winner(); $codeValue = $code->value; //check if user used bonus code if ($code->bonus == 1) { if ($user->bonus == 0) { // add points to account + save that user used bonus code $userPoints = $userPoints + $codeValue; $user->points = $userPoints; $user->bonus = 1; $usedCode->code = $code->code; $usedCode->value = $code->value; $usedCode->user()->associate($user); // new winner $winner->name = $user->name; $winner->value = $code->value; $winner->period = Period::where('running', 1)->first()->id; $winner->user()->associate($user); $winner->save(); $user->save(); $usedCode->save(); $success = true; return view('dashboard.code.result', compact('title', 'username', 'userPoints', 'rewards', 'success', 'codeValue')); } else { $success = false; $codeError = 'You have already used your free code.'; return view('dashboard.code.result', compact('title', 'username', 'userPoints', 'rewards', 'codeError', 'success')); } } // add points to account + save that code is used $code->used = 1; $code->save(); $userPoints = $userPoints + $codeValue; $user->points = $userPoints; $usedCode->code = $code->code; $usedCode->value = $code->value; $usedCode->user()->associate($user); // new winner $winner->name = $user->name; $winner->value = $code->value; $winner->period = Period::where('running', 1)->first()->id; $winner->user()->associate($user); $winner->save(); $user->save(); $usedCode->save(); $success = true; return view('dashboard.code.result', compact('title', 'username', 'userPoints', 'rewards', 'success', 'codeValue')); } else { //check if code is used before if ($code && $code->used == 1 && $code->deleted_at == null) { $success = false; $codeError = 'This code is alreay used and can only be used once'; return view('dashboard.code.result', compact('title', 'username', 'userPoints', 'rewards', 'codeError', 'success')); //check if code is deleted } elseif ($code && $code->deleted_at != null) { $success = false; $codeError = 'This code is suspended'; return view('dashboard.code.result', compact('title', 'username', 'userPoints', 'rewards', 'codeError', 'success')); // code does not exist } else { $success = false; $codeError = 'This code does not exist, did you make a mistake?'; return view('dashboard.code.result', compact('title', 'username', 'userPoints', 'rewards', 'codeError', 'success')); } } }
/** * This method fetches the visitors search period and then tryes to match it * with all of the applicants available work periods. If it matches the * applicants application information will be put in a DTO and stored in * the array currently stored in the session array * @param Request $request */ private function fetchPeriod(Request $request) { $this->validate($request, ['dateFrom' => 'required|date_format:Y-m-d', 'dateTo' => 'required|date_format:Y-m-d|after:dateFrom']); Session::forget('listArray'); DB::transaction(function () { $fromDate = new \DateTime(Req::get('dateFrom')); $toDate = new \DateTime(Req::get('dateTo')); $allApplications = \App\Application_form::all(); foreach ($allApplications as $application) { $periods = \App\Period::where('application_id', $application->id)->get(); foreach ($periods as $period) { if ($this->periodCheck(new \DateTime($period->from_date), new \DateTime($period->to_date), $fromDate, $toDate) == 1) { $first_name = \App\User::where('id', $application->user_id)->value('first_name'); $last_name = \App\User::where('id', $application->user_id)->value('last_name'); $ssn = \App\User::where('id', $application->user_id)->value('ssn'); $email = \App\User::where('id', $application->user_id)->value('email'); $applicationDTO = new \App\ApplicationDTO($application->id, $first_name, $last_name, $ssn, $email, $application->date, $application->status); Session::push('listArray', $applicationDTO); } } } }); }
/** * This method will fetch all the competences and period of work for a * specific person. This person will be the person that has the application * id that is entered by the visitor. The information will then be saved * in their corresponding arrays in the session array * @param Request $request * @return view */ public function fetchData(Request $request) { $this->validate($request, ['appId' => 'required|max:2']); Session::forget('periodArray'); Session::forget('competenceArray'); Session::forget('listArray'); DB::transaction(function () { $currentId = Req::get('appId'); $competence_profile = \App\Competence_profile::where('application_id', $currentId)->get(); foreach ($competence_profile as $profile) { $competence = \App\Competence::where('id', $profile->competence_id)->value('name'); $competenceObj = new \App\CompetenceObj($competence, $profile->years_of_experience); Session::push('competenceArray', $competenceObj); } $periods = \App\Period::where('application_id', $currentId)->get(); foreach ($periods as $period) { $periodObj = new \App\PeriodObj($period->from_date, $period->to_date); Session::push('periodArray', $periodObj); } $applications = \App\Application_form::where('id', $currentId)->get(); foreach ($applications as $application) { $first_name = \App\User::where('id', $application->user_id)->value('first_name'); $last_name = \App\User::where('id', $application->user_id)->value('last_name'); $ssn = \App\User::where('id', $application->user_id)->value('ssn'); $email = \App\User::where('id', $application->user_id)->value('email'); $applicationDTO = new \App\ApplicationDTO($application->id, $first_name, $last_name, $ssn, $email, $application->date, $application->status); Session::push('listArray', $applicationDTO); } }); return view('status_application'); }