Ejemplo n.º 1
0
    /**
     * @service filter write
     * @param $fields
     */
    public function save(Gpf_Rpc_Params $params) {
        $form = new Gpf_Rpc_Form($params);

        $filter = new Gpf_Db_Filter();
        $filter->setPrimaryKeyValue($form->getFieldValue("Id"));
        //TODO: check if filterid belongs to authUser

        try {
            $filter->load();
        } catch (Gpf_DbEngine_NoRow $e) {
            $form->setErrorMessage($this->_("Filter does not exist"));
            return $form;
        }

        $form->fill($filter);

        try {
            $filter->save();
            $this->saveFilterPresets($form, $filter->getPrimaryKeyValue());
        } catch (Exception $e) {
            $form->setErrorMessage($e->getMessage());
            return $form;
        }

        $form->load($filter);
        $form->setInfoMessage($this->_("Filter saved"));
        return $form;
    }