]> git.andy128k.dev Git - ipf.git/commitdiff
empty file detection in fieldsets
authorAndrey Kutejko <andy128k@gmail.com>
Sun, 29 Dec 2013 13:08:38 +0000 (15:08 +0200)
committerAndrey Kutejko <andy128k@gmail.com>
Sun, 29 Dec 2013 13:08:38 +0000 (15:08 +0200)
ipf/admin/modelinline.php

index 6693b869947b923a1b410bbf2f0c4d751d2d084c..4ac7dc3a167f5a2557e99b26b8821f392afbc76a 100644 (file)
@@ -66,7 +66,9 @@ abstract class IPF_Admin_ModelInline
             if (!$form->isValid()) {
                 $empty = true;
                 foreach ($form->data as $k => $v) {
-                    if ($k !== 'is_remove' && $v) {
+                    if (is_array($v) && ArrayTools::get($v, 'error') === 4) {
+                        // empty file
+                    } elseif ($k !== $form->prefix.'is_remove' && $v) {
                         $empty = false;
                         break;
                     }
@@ -140,7 +142,7 @@ abstract class IPF_Admin_ModelInline
                     'name' => 'is_remove',
                 ));
                 $del->is_del = true;
-                $form->fields = array_merge(array($del), $form->fields);
+                $form->fields = array_merge(array('is_remove' => $del), $form->fields);
 
                 $form->isAdd = false;
                 $this->formset[] = $form;
@@ -162,7 +164,7 @@ abstract class IPF_Admin_ModelInline
             ));
             $del->is_del = true;
             
-            $form->fields = array_merge(array($del), $form->fields);
+            $form->fields = array_merge(array('is_remove' => $del), $form->fields);
 
             $form->isAdd = true;
             $this->formset[] = $form;