View Single Post
  #2  
Old 08-15-2015, 08:27 AM
 
Roman Prisiazniuk Roman Prisiazniuk is offline
 

Member
  
Join Date: Jun 2015
Posts: 27
 

Default form getDefaultParams is not working

I have this model form:
PHP Code:
<?php
namespace XLite\Module\Romas\ProductActivation\View\Model;

class 
OrderItemActivation extends \XLite\View\Model\AModel{

    protected 
$schemaDefault = array(
        
'credit' => array(
            
self::SCHEMA_CLASS    => 'XLite\View\FormField\Input\Text',
            
self::SCHEMA_LABEL    => 'Credit',
            
self::SCHEMA_REQUIRED => true,
        ),
    );

    public function 
getModelId()
    {
        return 
false;
    }

    protected function 
getDefaultModelObject()
    {
        return new \
XLite\Module\Romas\ProductActivation\Model\OrderItemActivation;
    }

    protected function 
getFormClass()
    {
        return 
'\XLite\Module\Romas\ProductActivation\View\Form\Model\OrderItemActivation';
    }
}

PHP Code:
<?php

namespace XLite\Module\Romas\ProductActivation\View\Form\Model;

class 
OrderItemActivation extends \XLite\View\Form\AForm
{
    protected function 
getDefaultTarget()
    {
        return 
'add_activation';
    }

    protected function 
getDefaultAction()
    {
        return 
'update';
    }

    protected function 
getDefaultParams()
    {
        return array(
            
'date' => time(),
        );
    }
}

This code adds form to page with credit field and with hidden date field,
but when I submit form it does not insert date field to sql query, it just uses null, and I get this error
An exception occurred while executing 'INSERT INTO xc_order_item_activations (order_item_id, date, credit, activation_code, ip_address) VALUES (?, ?, ?, ?, ?)' with params [null, null, "2", null, null]: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'date' cannot be null
__________________
xcart5
Reply With Quote