public function insertRandomRow() { /* generate the field values */ /* first generate the random values, then add them to query */ $workTypeId = rand(1, WorkType::getRowsNumber()); $districtId = rand(1, District::getRowsNumber()); $jobSubCategoryId = rand(1, JobSubCategory::getRowsNumber()); $salaryLow = rand(20, 200) * 1000; $salaryRange = rand(5, 30) * 1000; $daysOffset = -60 + rand(1, 90); $startDate = strtotime(sprintf("%+d", $daysOffset) . " day"); $endDate = strtotime(sprintf("%+d", $daysOffset + 30) . " day"); /* Processing this information */ $workType = WorkType::getWorkTypeName(WorkType::getWorkType($workTypeId)); $district = District::getDistrict($districtId); $districtName = District::getDistrictName($district); $regionName = Region::getRegionName(Region::getRegion(District::getRegionId($district))); $jobSubCategory = JobSubCategory::getJobSubCategory($jobSubCategoryId); $jobSubCategoryName = JobSubCategory::getJobSubCategoryName($jobSubCategory); $jobCategoryId = JobSubCategory::getJobCategoryId($jobSubCategory); $jobCategoryName = JobCategory::getJobCategoryName(JobCategory::getJobCategory($jobCategoryId)); $salaryHigh = $salaryLow + $salaryRange; $jobTitle = "Job in {$regionName}"; $jobDescription = "{$jobSubCategoryName} " . strtolower($workType) . " job in {$districtName}, {$regionName}, in the domain of {$jobCategoryName}, salary from \${$salaryLow} to \${$salaryHigh}.\n"; $jobDescription .= "Posted on " . date("D, jS \\of F, Y", $startDate) . ", valid until " . date("D, jS \\of F, Y", $endDate); /* Now build the query with the values generated above */ /* job_id */ $values = "NULL"; //AUTO_INCREMENT field /* job_title */ $values .= ", '{$jobTitle}'"; /* job_description */ $values .= ", '{$jobDescription}'"; /* work_type_id */ $values .= ", '{$workTypeId}'"; /* district_id */ $values .= ", '{$districtId}'"; /* subcategory_id */ $values .= ", '{$jobSubCategoryId}'"; /* salary_low */ $values .= ", '{$salaryLow}'"; /* SalaryHihg */ $values .= ", '{$salaryHigh}'"; /* start_ad_date */ /* format: '2013-05-14 00:00:00' */ $values .= ", '" . date("Y-m-d 00:00:00", $startDate) . "'"; /* end_ad_date */ $values .= ", '" . date("Y-m-d 00:00:00", $endDate) . "'"; /* Build the query */ $query = Job::insertRowQuery($values); return $query; }
protected static function queryConditionJobCategoryId($jobCategoryId) { /* Only jobSubCategory IDs available in the job table, so have to retrieve them from the jobSubCaterogy table */ $jobSubCategoryRows = JobSubCategory::getJobSubCategoryList($jobCategoryId); $jobSubCategoryList = ""; while (($jobSubCategoryRow = $jobSubCategoryRows->fetch_row()) != NULL) { $jobSubCategoryList .= JobSubCategory::getJobSubCategoryId($jobSubCategoryRow) . ", "; } $condition = ""; if (!empty($jobSubCategoryList)) { $jobSubCategoryList = substr($jobSubCategoryList, 0, -strlen(", ")); $condition = "`subcategory_id` IN ({$jobSubCategoryList})"; } return $condition; }
public static function getJobCategory($job) { /* job -> JobSubCategoryId => JobSubCategory row -> JobCategoryId => JobCategory row -> JobCateogryName */ /* -> is array access; => is query access */ return JobCategory::getJobCategoryName(JobCategory::getJobCategory(JobSubCategory::getJobCategoryId(JobSubCategory::getJobSubCategory(self::getJobSubCategoryId($job))))); }
protected function jsJobSubCategoryUpdate() { $output = ""; /* create the jobCategory <-> jobSubCategory connection */ $output .= "var jobSubCategoryNames = new Array();\n"; $output .= "var jobSubCategoryIds = new Array();\n"; $output .= "jobSubCategoryNames[" . static::anyJobCategoryCode . "] = [\"Select job category first\"];\n"; $output .= "jobSubCategoryIds[" . static::anyJobCategoryCode . "] = [\"" . static::anyJobSubCategoryCode . "\"];\n"; $jobCategoryList = JobCategory::getAllRows(); $jobCategoryCount = 0; while (($jobCategory = $jobCategoryList->fetch_row()) != NULL) { $jobCategoryId = JobCategory::getJobCategoryId($jobCategory); $jobSubCategoryList = JobSubCategory::getJobSubCategoryList($jobCategoryId); /* first the jobSubCategory names */ $output .= "jobSubCategoryNames[{$jobCategoryId}] = [\"Any job sub category\""; while (($jobSubCategory = $jobSubCategoryList->fetch_row()) != NULL) { $output .= ", \"" . JobSubCategory::getJobSubCategoryName($jobSubCategory) . "\""; } $output .= "];\n"; /* then the jobSubCategory Ids */ $output .= "jobSubCategoryIds[{$jobCategoryId}] = [\"" . static::anyJobSubCategoryCode . "\""; $jobSubCategoryList->data_seek(0); while (($jobSubCategory = $jobSubCategoryList->fetch_row()) != NULL) { $output .= ", \"" . JobSubCategory::getJobSubCategoryId($jobSubCategory) . "\""; } $output .= "];\n"; } /* print the jobSubCategoryUpdate() function */ /* the below code is JavaScript */ $output .= "\n"; $output .= "jobSubCategoryList = document." . static::formName . "." . static::jobSubCategoryIdFieldName . ";\n"; $output .= "function jobSubCategoryUpdate(selectedJobCategoryId){\n"; $output .= " jobSubCategoryList.options.length = 0;\n"; $output .= " for (i=0; i < jobSubCategoryNames[selectedJobCategoryId].length; i++) {\n"; $output .= " jobSubCategoryList.options[jobSubCategoryList.options.length] = new Option(jobSubCategoryNames[selectedJobCategoryId][i],jobSubCategoryIds[selectedJobCategoryId][i]);\n"; $output .= " }\n"; $output .= "}\n"; return $output; }
/** * Show the form for editing the specified job. * * @param int $id * @return Response */ public function getEdit($id) { $job = Job::findOrFail($id); $user = Sentry::getUser(); $jobCategories = JobCategory::lists("name", "id"); $jobSubCats = JobSubCategory::all(); $jobSubCategories = array(); foreach ($jobSubCats as $sub) { if (!isset($jobSubCategories[$sub->category_id])) { $jobSubCategories[$sub->category_id] = array(); } $jobSubCategories[$sub->category_id][$sub->id] = $sub->name; } $certifications = Certification::lists("display_value_employer", 'id'); $states = Address::ListStates(); $allAddresses = Address::Where("user_id", "=", $user->id)->orderBy('created_at', 'desc')->get(); $addresses = array('null' => 'select'); foreach ($allAddresses as $address) { /*if(!isset($addresses[$address->addressType->name])) $addresses[$address->addressType->name]=array(); $addresses[$address->addressType->name][$address->id]=""; if($address->company_or_label!=null&&trim($address->company_or_label)!="") $addresses[$address->addressType->name][$address->id]=$address->company_or_label.", "; $addresses[$address->addressType->name][$address->id].=$address->address1; if($address->address2!=null&&trim($address->address2)!="") $addresses[$address->addressType->name][$address->id].=", ".$address->address2; $addresses[$address->addressType->name][$address->id].=", ".$address->city; $addresses[$address->addressType->name][$address->id].=", ".$address->state; $addresses[$address->addressType->name][$address->id].=" ".$address->zipcode;*/ $addresses[$address->id] = ""; if ($address->company_or_label != null && trim($address->company_or_label) != "") { $addresses[$address->id] = $address->company_or_label . ", "; } $addresses[$address->id] .= $address->address1; if ($address->address2 != null && trim($address->address2) != "") { $addresses[$address->id] .= ", " . $address->address2; } $addresses[$address->id] .= ", " . $address->city; $addresses[$address->id] .= ", " . $address->state; $addresses[$address->id] .= " " . $address->zipcode; } $pastJobs = JobApplicant::where('jobs.user_id', '=', $user->id)->join('jobs', 'jobs.id', '=', 'job_applicants.job_id')->where('job_applicants.job_applicant_status_id', '=', JobApplicantStatus::$AWARDED)->select('job_applicants.*')->distinct()->get(); $pastJobs->load('User'); $favorites = array(); foreach ($pastJobs as $u) { if ($u->user != null) { $favorites[$u->user_id] = $u->user->first_name . " " . $u->user->last_name; } } $addresses[0] = 'New Address'; if ($job->private) { } return View::make('jobs.edit', compact('job', "jobCategories", 'favorites', 'jobSubCategories', 'states', 'certifications', 'homeAddressId', 'businessAddressId', 'addresses')); }