dbfdg
can('manage job'))
{
$jobs = Job::where('created_by', '=', \Auth::user()->creatorId())->with('branches','createdBy')->get();
$data['total'] = Job::where('created_by', '=', \Auth::user()->creatorId())->count();
$data['active'] = Job::where('status', 'active')->where('created_by', '=', \Auth::user()->creatorId())->count();
$data['in_active'] = Job::where('status', 'in_active')->where('created_by', '=', \Auth::user()->creatorId())->count();
return view('job.index', compact('jobs', 'data'));
}
else
{
return redirect()->back()->with('error', __('Permission denied.'));
}
}
public function create()
{
$categories = JobCategory::where('created_by', \Auth::user()->creatorId())->get()->pluck('title', 'id');
$categories->prepend('--', '');
$branches = Branch::where('created_by', \Auth::user()->creatorId())->get()->pluck('name', 'id');
$branches->prepend('All', 0);
$status = Job::$status;
$customQuestion = CustomQuestion::where('created_by', \Auth::user()->creatorId())->get();
return view('job.create', compact('categories', 'status', 'branches', 'customQuestion'));
}
public function store(Request $request)
{
if(\Auth::user()->can('create job'))
{
$validator = \Validator::make(
$request->all(), [
'title' => 'required',
'branch' => 'required',
'category' => 'required',
'skill' => 'required',
'position' => 'required|integer',
'start_date' => 'required',
'end_date' => 'required',
'description' => 'required',
'requirement' => 'required',
]
);
if($validator->fails())
{
$messages = $validator->getMessageBag();
return redirect()->back()->with('error', $messages->first());
}
$job = new Job();
$job->title = $request->title;
$job->branch = $request->branch;
$job->category = $request->category;
$job->skill = $request->skill;
$job->position = $request->position;
$job->status = $request->status;
$job->start_date = $request->start_date;
$job->end_date = $request->end_date;
$job->description = $request->description;
$job->requirement = $request->requirement;
$job->code = uniqid();
$job->applicant = !empty($request->applicant) ? implode(',', $request->applicant) : '';
$job->visibility = !empty($request->visibility) ? implode(',', $request->visibility) : '';
$job->custom_question = !empty($request->custom_question) ? implode(',', $request->custom_question) : '';
$job->created_by = \Auth::user()->creatorId();
$job->save();
return redirect()->route('job.index')->with('success', __('Job successfully created.'));
}
else
{
return redirect()->route('job.index')->with('error', __('Permission denied.'));
}
}
public function show(Job $job)
{
$status = Job::$status;
$job->applicant = !empty($job->applicant) ? explode(',', $job->applicant) : '';
$job->visibility = !empty($job->visibility) ? explode(',', $job->visibility) : '';
$job->skill = !empty($job->skill) ? explode(',', $job->skill) : '';
return view('job.show', compact('status', 'job'));
}
public function edit(Job $job)
{
$categories = JobCategory::where('created_by', \Auth::user()->creatorId())->get()->pluck('title', 'id');
$categories->prepend('--', '');
$branches = Branch::where('created_by', \Auth::user()->creatorId())->get()->pluck('name', 'id');
$branches->prepend('All', 0);
$status = Job::$status;
$job->applicant = explode(',', $job->applicant);
$job->visibility = explode(',', $job->visibility);
$job->custom_question = explode(',', $job->custom_question);
$customQuestion = CustomQuestion::where('created_by', \Auth::user()->creatorId())->get();
return view('job.edit', compact('categories', 'status', 'branches', 'job', 'customQuestion'));
}
public function update(Request $request, Job $job)
{
if(\Auth::user()->can('edit job'))
{
$validator = \Validator::make(
$request->all(), [
'title' => 'required',
'branch' => 'required',
'category' => 'required',
'skill' => 'required',
'position' => 'required|integer',
'start_date' => 'required',
'end_date' => 'required',
'description' => 'required',
'requirement' => 'required',
]
);
if($validator->fails())
{
$messages = $validator->getMessageBag();
return redirect()->back()->with('error', $messages->first());
}
$job->title = $request->title;
$job->branch = $request->branch;
$job->category = $request->category;
$job->skill = $request->skill;
$job->position = $request->position;
$job->status = $request->status;
$job->start_date = $request->start_date;
$job->end_date = $request->end_date;
$job->description = $request->description;
$job->requirement = $request->requirement;
$job->applicant = !empty($request->applicant) ? implode(',', $request->applicant) : '';
$job->visibility = !empty($request->visibility) ? implode(',', $request->visibility) : '';
$job->custom_question = !empty($request->custom_question) ? implode(',', $request->custom_question) : '';
$job->save();
return redirect()->route('job.index')->with('success', __('Job successfully updated.'));
}
else
{
return redirect()->route('job.index')->with('error', __('Permission denied.'));
}
}
public function destroy(Job $job)
{
$application = JobApplication::where('job', $job->id)->get()->pluck('id');
JobApplicationNote::whereIn('application_id', $application)->delete();
JobApplication::where('job', $job->id)->delete();
$job->delete();
return redirect()->route('job.index')->with('success', __('Job successfully deleted.'));
}
public function career($id, $lang)
{
$jobs= Job::where('created_by', $id)->with(['branches','createdBy'])->get();
\Session::put('lang', $lang);
App::setLocale($lang);
$companySettings['title_text'] = \DB::table('settings')->where('created_by', $id)->where('name', 'title_text')->first();
$companySettings['footer_text'] = \DB::table('settings')->where('created_by', $id)->where('name', 'footer_text')->first();
$companySettings['company_favicon'] = \DB::table('settings')->where('created_by', $id)->where('name', 'company_favicon')->first();
$companySettings['company_logo'] = \DB::table('settings')->where('created_by', $id)->where('name', 'company_logo')->first();
$languages = Utility::languages();
$currantLang = \Session::get('lang');
if(empty($currantLang))
{
$user = User::find($id);
$currantLang = !empty($user) && !empty($user->lang) ? $user->lang : 'en';
}
return view('job.career', compact('companySettings', 'jobs', 'languages', 'currantLang','id'));
}
public function jobRequirement($code, $lang)
{
$job = Job::where('code', $code)->first();
if($job->status == 'in_active')
{
return redirect()->back()->with('error', __('Permission Denied.'));
}
\Session::put('lang', $lang);
\App::setLocale($lang);
$companySettings['title_text'] = \DB::table('settings')->where('created_by', $job->created_by)->where('name', 'title_text')->first();
$companySettings['footer_text'] = \DB::table('settings')->where('created_by', $job->created_by)->where('name', 'footer_text')->first();
$companySettings['company_favicon'] = \DB::table('settings')->where('created_by', $job->created_by)->where('name', 'company_favicon')->first();
$companySettings['company_logo'] = \DB::table('settings')->where('created_by', $job->created_by)->where('name', 'company_logo')->first();
$languages = Utility::languages();
$currantLang = \Session::get('lang');
if(empty($currantLang))
{
$currantLang = !empty($job->createdBy) ? $job->createdBy->lang : 'en';
}
return view('job.requirement', compact('companySettings', 'job', 'languages', 'currantLang'));
}
public function jobApply($code, $lang)
{
\Session::put('lang', $lang);
\App::setLocale($lang);
$job = Job::where('code', $code)->first();
$companySettings['title_text'] = \DB::table('settings')->where('created_by', $job->created_by)->where('name', 'title_text')->first();
$companySettings['footer_text'] = \DB::table('settings')->where('created_by', $job->created_by)->where('name', 'footer_text')->first();
$companySettings['company_favicon'] = \DB::table('settings')->where('created_by', $job->created_by)->where('name', 'company_favicon')->first();
$companySettings['company_logo'] = \DB::table('settings')->where('created_by', $job->created_by)->where('name', 'company_logo')->first();
$questions = CustomQuestion::where('created_by', $job->created_by)->get();
$languages = Utility::languages();
$currantLang = \Session::get('lang');
if(empty($currantLang))
{
$currantLang = !empty($job->createdBy) ? $job->createdBy->lang : 'en';
}
return view('job.apply', compact('companySettings', 'job', 'questions', 'languages', 'currantLang'));
}
public function jobApplyData(Request $request, $code)
{
$validator = \Validator::make(
$request->all(), [
'name' => 'required',
'email' => 'required',
'phone' => 'required',
// 'profile' => 'mimes:jpeg,png,jpg,gif,svg|max:20480',
// 'resume' => 'mimes:jpeg,png,jpg,gif,svg,pdf,doc,zip|max:20480',
]
);
if($validator->fails())
{
$messages = $validator->getMessageBag();
return redirect()->back()->with('error', $messages->first());
}
$job = Job::where('code', $code)->first();
if(!empty($request->profile))
{
//storage limit
$image_size = $request->file('profile')->getSize();
$result = Utility::updateStorageLimit(\Auth::user()->creatorId(), $image_size);
if($result==1)
{
$filenameWithExt = $request->file('profile')->getClientOriginalName();
$filename = pathinfo($filenameWithExt, PATHINFO_FILENAME);
$extension = $request->file('profile')->getClientOriginalExtension();
$fileNameToStore = $filename . '_' . time() . '.' . $extension;
$dir = 'uploads/job/profile';
$image_path = $dir . $filenameWithExt;
if (\File::exists($image_path)) {
\File::delete($image_path);
}
$url = '';
$path = Utility::upload_file($request,'profile',$fileNameToStore,$dir,[]);
}
else
{
$fileNameToStore ='';
}
}
if(!empty($request->resume))
{
//storage limit
$image_size = $request->file('resume')->getSize();
$result = Utility::updateStorageLimit(\Auth::user()->creatorId(), $image_size);
if($result==1)
{
$filenameWithExt1 = $request->file('resume')->getClientOriginalName();
$filename1 = pathinfo($filenameWithExt1, PATHINFO_FILENAME);
$extension1 = $request->file('resume')->getClientOriginalExtension();
$fileNameToStore1 = $filename1 . '_' . time() . '.' . $extension1;
$dir = 'uploads/job/resume';
$image_path = $dir . $filenameWithExt1;
if (\File::exists($image_path)) {
\File::delete($image_path);
}
$url = '';
$path = Utility::upload_file($request,'resume',$fileNameToStore1,$dir,[]);
}
else
{
$fileNameToStore1 ='';
}
}
$stage=JobStage::where('created_by',$job->created_by)->first();
$jobApplication = new JobApplication();
$jobApplication->job = $job->id;
$jobApplication->name = $request->name;
$jobApplication->email = $request->email;
$jobApplication->phone = $request->phone;
$jobApplication->profile = !empty($request->profile) ? $fileNameToStore : '';
$jobApplication->resume = !empty($request->resume) ? $fileNameToStore1 : '';
$jobApplication->cover_letter = $request->cover_letter;
$jobApplication->dob = $request->dob;
$jobApplication->gender = $request->gender;
$jobApplication->country = $request->country;
$jobApplication->state = $request->state;
$jobApplication->city = $request->city;
$jobApplication->custom_question = json_encode($request->question);
$jobApplication->created_by = $job->created_by;
$jobApplication->stage = $stage->id;
$jobApplication->save();
return redirect()->back()->with('success', __('Job application successfully send'). ((isset($result) && $result!=1) ? '
' . $result . '' : ''));
}
}