public function edit() { $GLOBALS['phpgw_info']['flags']['app_header'] .= '::' . lang('edit'); if (!self::isExecutiveOfficer()) { $this->render('permission_denied.php'); return; } if ($id = phpgw::get_var('id', 'int')) { $price_item = rental_price_item::get($id); } else { $title = phpgw::get_var('price_item_title'); $responsibility_id = phpgw::get_var('responsibility_id'); $price_item = new rental_price_item(); $price_item->set_title($title); $price_item->set_responsibility_id($responsibility_id); $price_item->set_price_type_id(1); // defaults to year } // Save the price item if it was posted if (isset($_POST['save'])) { $price_item->set_title(phpgw::get_var('title')); $price_item->set_agresso_id(phpgw::get_var('agresso_id')); $price_item->set_is_area(phpgw::get_var('is_area') == 'true' ? true : false); $price_item->set_is_inactive(phpgw::get_var('is_inactive') == 'on' ? true : false); $price_item->set_is_adjustable(phpgw::get_var('is_adjustable') == 'on' ? true : false); $price_item->set_standard(phpgw::get_var('standard') == 'on' ? true : false); $price_item->set_price(phpgw::get_var('price')); $price_item->set_price_type_id(phpgw::get_var('price_type_id', 'int')); if ($price_item->get_agresso_id() == null) { return $this->viewedit(true, $price_item, '', lang('missing_agresso_id')); } else { if (rental_soprice_item::get_instance()->store($price_item)) { return $this->viewedit(true, $price_item, lang('messages_saved_form')); } else { return $this->viewedit(true, $price_item, '', lang('messages_form_error')); } } } return $this->viewedit(true, $price_item); }
protected function populate(int $price_item_id, &$price_item) { if ($price_item == null) { $price_item = new rental_price_item($this->unmarshal($this->db->f('id'), 'int')); $price_item->set_title($this->unmarshal($this->db->f('title'), 'string')); $price_item->set_agresso_id($this->unmarshal($this->db->f('agresso_id'), 'string')); $price_item->set_is_area($this->unmarshal($this->db->f('is_area'), 'bool')); $price_item->set_is_inactive($this->unmarshal($this->db->f('is_inactive'), 'bool')); $price_item->set_is_adjustable($this->unmarshal($this->db->f('is_adjustable'), 'bool')); $price_item->set_standard($this->unmarshal($this->db->f('standard'), 'bool')); $price_item->set_price($this->unmarshal($this->db->f('price'), 'float')); $price_item->set_responsibility_id($this->unmarshal($this->db->f('responsibility_id', true), 'int')); $price_item->set_responsibility_title($this->unmarshal($this->db->f('resp_title', true), 'string')); $price_type_id = (int) $this->db->f('type'); $price_item->set_price_type_id($price_type_id); $price_item->set_price_type_title($price_type_id); } return $price_item; }