public function save() { $requirement_id = phpgw::get_var('requirement_id'); if ($requirement_id && is_numeric($requirement_id)) { $requirement = $this->so_requirement->get_single($requirement_id); $activity_id = $requirement->get_activity_id(); } $user_id = $GLOBALS['phpgw_info']['user']['id']; $chosen_resources = phpgw::get_var('chosen_resources'); $inventory_ids = phpgw::get_var('inventory_ids'); $allocations = phpgw::get_var('allocations'); //FIXME: Bruk 'allocation_id' i staden. //_debug_array($inventory_ids_orig);die(); $filters = array('requirement_id' => $requirement->get_id()); $num_allocated = $this->so->get_count($search_for, $search_type, $filters); $num_required = $requirement->get_no_of_items(); $num_allowed_bookings = $num_required - $num_allocated; if ($inventory_ids) { foreach ($inventory_ids as $resource => $allocated_amount) { if ($allocated_amount) { $resource_arr = explode('_', $resource); $resource_id = $resource_arr[0]; $inventory_id = $resource_arr[1]; $resource_alloc = new logistic_requirement_resource_allocation(); $resource_alloc->set_requirement_id($requirement->get_id()); $resource_alloc->set_resource_id($resource_id); $resource_alloc->set_inventory_id($inventory_id); $resource_alloc->set_allocated_amount($allocated_amount); $resource_alloc->set_id($allocations[$resource]); $resource_alloc->set_location_id($requirement->get_location_id()); $resource_alloc->set_create_user($user_id); $resource_alloc->set_start_date($requirement->get_start_date()); $resource_alloc->set_end_date($requirement->get_start_date()); $resource_alloc_id = $this->so->store($resource_alloc); } } } else { if (count($chosen_resources) <= $num_allowed_bookings) { foreach ($chosen_resources as $resource_id) { $resource_alloc = new logistic_requirement_resource_allocation(); $resource_alloc->set_requirement_id($requirement->get_id()); $resource_alloc->set_resource_id($resource_id); $resource_alloc->set_location_id($requirement->get_location_id()); $resource_alloc->set_create_user($user_id); $resource_alloc->set_start_date($requirement->get_start_date()); $resource_alloc->set_end_date($requirement->get_start_date()); $resource_alloc_id = $this->so->store($resource_alloc); } } } $GLOBALS['phpgw']->redirect_link('/index.php', array('menuaction' => 'logistic.uiactivity.view_resource_allocation', 'activity_id' => $requirement->get_activity_id())); }