Ejemplo n.º 1
0
    /**
     * @return Gpf_DbEngine_Row
     */
    protected function createEmptyRow(Gpf_Rpc_Params $params) {
        $row = new Gpf_Db_FormField();
        $row->set(Gpf_Db_Table_Accounts::ID, Gpf_Session::getAuthUser()->getAccountId());
        $row->set(Gpf_Db_Table_FormFields::FORMID, $params->get('formid'));
        $row->set(Gpf_Db_Table_FormFields::CODE, "code");
        $row->set(Gpf_Db_Table_FormFields::NAME, $this->_("New field"));
        $row->set(Gpf_Db_Table_FormFields::TYPE, Gpf_Db_FormField::TYPE_TEXT);
        $row->set(Gpf_Db_Table_FormFields::STATUS, Gpf_Db_FormField::STATUS_OPTIONAL);
        $row->set(Gpf_Db_Table_FormFields::SECTION, Gpf_Db_FormField::DEFAULT_SECTION);

        $i = 1;
        while ($i < 10) {
            try {
                $row->check();
                break;
            } catch (Gpf_DbEngine_Row_CheckException $e) {
                $row->set(Gpf_Db_Table_FormFields::CODE, "code_".$i);
                $i++;
            }
        }

        return $row;
    }