private static function _PrepareManyLocationObjects($dataPost, $isAddingTaskLocations = FALSE) { $locations = array(); if ($isAddingTaskLocations) { $data = (array) $dataPost["userData"]; $dataPost["active"] = array_key_exists("active", $data) ? $data["active"] : "0"; $location_names = \Applications\PMTool\Helpers\CommonHelper::StringToArray("\n", $data["names"]); } else { $location_names = \Applications\PMTool\Helpers\CommonHelper::StringToArray("\n", $dataPost["names"]); } foreach ($location_names as $name) { $location = new \Applications\PMTool\Models\Dao\Location(); $location->setProject_id($dataPost["project_id"]); //Check if the $name could be split on "tab" //If yes, we may assume the columns are name, //lat and long and prepare dao accordingly $loc_data = \Applications\PMTool\Helpers\CommonHelper::StringToArray("\t", $name); if (count($loc_data) > 1) { // lat, long $location->setLocation_lat($loc_data[1]); $location->setLocation_long($loc_data[2]); } //name $location->setLocation_name($loc_data[0]); $location->setLocation_active($dataPost["active"]); if (isset($dataPost["visible"])) { $location->setLocation_visible($dataPost["visible"]); } else { $location->setLocation_visible(""); } array_push($locations, $location); } return $locations; }
public function executeIfAllLocationsExist(\Library\HttpRequest $rq) { $result = $this->InitResponseWS(); // Init result //get current project $sessionProject = \Applications\PMTool\Helpers\ProjectHelper::GetCurrentSessionProject($this->app()->user()); //get locations of the current project $sessionLocations = $sessionProject[\Library\Enums\SessionKeys::ProjectLocations]; $postData = $this->dataPost(); $location_names = \Applications\PMTool\Helpers\CommonHelper::StringToArray("\n", $postData["location_names"]); //Loop on the names $redundantLocs = array(); foreach ($location_names as $the_locname) { $location = \Applications\PMTool\Helpers\CommonHelper::PrepareUserObject(array('location_name' => $the_locname), new \Applications\PMTool\Models\Dao\Location()); $match = \Applications\PMTool\Helpers\CommonHelper::FindObjectByStringValue($location->location_name(), "location_name", $sessionLocations); if ($match && !empty($match)) { array_push($redundantLocs, $the_locname); } } $result['record_count'] = empty($redundantLocs) ? 0 : count($redundantLocs); $result['duplicate_locations'] = $redundantLocs; $this->SendResponseWS($result, array("resx_file" => \Applications\PMTool\Resources\Enums\ResxFileNameKeys::Location, "resx_key" => $this->action(), "step" => $result['record_count'] > 0 ? "success" : "error")); }
private static function _PrepareManyTechnicianObjects($dataPost) { $technicians = array(); $technician_names = \Applications\PMTool\Helpers\CommonHelper::StringToArray("\n", $dataPost["names"]); foreach ($technician_names as $name) { $technician = new \Applications\PMTool\Models\Dao\Technician(); $technician->setPm_id($dataPost["pm_id"]); $technician->setTechnician_name($name); $technician->setTechnician_active($dataPost["active"]); array_push($technicians, $technician); } return $technicians; }
private static function _PrepareManyChecklistObjects($dataPost, $task_id) { $checklists = array(); if (preg_match("`^.*,*\$`", $dataPost["checklists"])) { $checklist_arr = \Applications\PMTool\Helpers\CommonHelper::StringToArray(",", $dataPost["checklists"]); } else { $checklist_arr = \Applications\PMTool\Helpers\CommonHelper::StringToArray("\n", $dataPost["checklists"]); } foreach ($checklist_arr as $name) { $checklist = new \Applications\PMTool\Models\Dao\Task_check_list(); $checklist->setTask_id($task_id); $checklist->setTask_check_list_complete('0'); $checklist->setTask_check_list_detail($name); array_push($checklists, $checklist); } return $checklists; }
private static function _PrepareManyCommonAnalyteObjects($dataPost, $isFieldType = TRUE) { $analytes = array(); if (preg_match("`^.*,*\$`", $dataPost["names"])) { $analyte_names = \Applications\PMTool\Helpers\CommonHelper::StringToArray(",", $dataPost["names"]); } else { $analyte_names = \Applications\PMTool\Helpers\CommonHelper::StringToArray("\n", $dataPost["names"]); } foreach ($analyte_names as $name) { $analyte = $isFieldType ? new \Applications\PMTool\Models\Dao\Common_field_analyte() : new \Applications\PMTool\Models\Dao\Common_lab_analyte(); if ($isFieldType) { $analyte->setCommon_field_analyte_name($name); } else { $analyte->setCommon_lab_analyte_name($name); $analyte->setCommon_lab_analyte_category_name($name); } array_push($analytes, $analyte); } return $analytes; }
private static function _PrepareManyServiceObjects($dataPost) { $services = array(); $service_names = \Applications\PMTool\Helpers\CommonHelper::StringToArray("\n", $dataPost["names"]); foreach ($service_names as $name) { $service = new \Applications\PMTool\Models\Dao\Service(); $service->setPm_id($dataPost["pm_id"]); $service->setService_name($name); $service->setService_active($dataPost["active"]); array_push($services, $service); } return $services; }