]> git.andy128k.dev Git - ipf.git/commitdiff
fix inlines
authorhunter <andy128k@gmail.com>
Fri, 10 Oct 2008 15:22:32 +0000 (18:22 +0300)
committerhunter <andy128k@gmail.com>
Fri, 10 Oct 2008 15:22:32 +0000 (18:22 +0300)
ipf/admin/model.php
ipf/admin/modelinline.php

index 72a2c654d277f786fbd3c84389d0866a12da2bdf..06ea090e2e8fe2eba03653ecc87d4a3c23ef3f28 100644 (file)
@@ -233,7 +233,7 @@ class IPF_Admin_Model{
             $this->setInlines($o, &$data);
 
             if ( ($form->isValid()) && ($this->isValidInlines()) ) {
-                //print_r($form->cleaned_data);
+                #print_r($form->cleaned_data);
                 $item = $form->save();
                 $this->saveInlines($item);
                 AdminLog::logAction($request, $item, AdminLog::CHANGE);
index f30101e9bce6c45a5269f47e5b21adcca5539a52..b865a294095850143ce4b32d823a77eecc63b387 100644 (file)
@@ -111,8 +111,6 @@ abstract class IPF_Admin_ModelInline{
     
     function save($parent_obj){
         
-        $fk_name = $this->getFkName();
         if ($this->parentModel->exists()){
             $objects = IPF_ORM_Query::create()
                 ->from(get_class($this->model))
@@ -137,6 +135,7 @@ abstract class IPF_Admin_ModelInline{
                                         unset($form->cleaned_data[$fname]);
                                 }
                             }
+
                             $obj->synchronizeWithArray($form->cleaned_data);
                             $obj->save();
                         }
@@ -146,11 +145,12 @@ abstract class IPF_Admin_ModelInline{
             }
         }
  
+        $fk_local = $this->getFkLocal();
         foreach($this->formset as $form){
             if ($form->isValid()){
                 if ($form->isAdd){
                     unset($form->cleaned_data[0]);
-                    $form->cleaned_data[$fk_name] = $parent_obj;
+                    $form->cleaned_data[$fk_local] = $parent_obj->id;
                     $form->save();
                 }
             }