Beispiel #1
0
 public static function flattenLocationsArray($location_options_array = null)
 {
     $location_options = array();
     foreach ($location_options_array as $id => $value) {
         // get the top level key value
         $location_options[$id] = $value['name'];
         // If there is a key named children, it has child locations and we have to walk it
         if (array_key_exists('children', $value)) {
             foreach ($value['children'] as $child_id => $child_location_array) {
                 $child_location_options = Location::flattenLocationsArray($value['children']);
                 foreach ($child_location_options as $child_id => $child_name) {
                     $location_options[$child_id] = '--' . $child_name;
                 }
             }
         }
     }
     return $location_options;
 }
 /**
  * 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);
 }