Exemple #1
0
 public static function getLocationHierarchy($locations, $parent_id = null)
 {
     $op = array();
     foreach ($locations as $location) {
         if ($location['parent_id'] == $parent_id) {
             $op[$location['id']] = array('name' => $location['name'], 'parent_id' => $location['parent_id']);
             // Using recursion
             $children = Location::getLocationHierarchy($locations, $location['id']);
             if ($children) {
                 $op[$location['id']]['children'] = $children;
             }
         }
     }
     return $op;
 }
 /**
  * Makes a form view to edit location information.
  *
  * @author [A. Gianotto] [<*****@*****.**>]
  * @see LocationsController::postCreate() method that validates and stores
  * @param int $locationId
  * @since [v1.0]
  * @return View
  */
 public function getEdit($locationId = null)
 {
     // Check if the location exists
     if (is_null($location = Location::find($locationId))) {
         return redirect()->to('admin/settings/locations')->with('error', trans('admin/locations/message.does_not_exist'));
     }
     // Show the page
     $locations = Location::orderBy('name', 'ASC')->get();
     $location_options_array = Location::getLocationHierarchy($locations);
     $location_options = Location::flattenLocationsArray($location_options_array);
     $location_options = array('' => 'Top Level') + $location_options;
     return View::make('locations/edit', compact('location'))->with('location_options', $location_options);
 }