fmsystem-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Fmsystem-commits] [7039] property: fix save location


From: Sigurd Nes
Subject: [Fmsystem-commits] [7039] property: fix save location
Date: Wed, 23 Feb 2011 12:28:32 +0000

Revision: 7039
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=7039
Author:   sigurdne
Date:     2011-02-23 12:28:32 +0000 (Wed, 23 Feb 2011)
Log Message:
-----------
property: fix save location

Modified Paths:
--------------
    trunk/property/inc/class.solocation.inc.php
    trunk/property/inc/class.uilocation.inc.php

Modified: trunk/property/inc/class.solocation.inc.php
===================================================================
--- trunk/property/inc/class.solocation.inc.php 2011-02-23 11:31:02 UTC (rev 
7038)
+++ trunk/property/inc/class.solocation.inc.php 2011-02-23 12:28:32 UTC (rev 
7039)
@@ -1184,6 +1184,7 @@
 
                function add($location,$values_attribute = array(),$type_id='')
                {
+                       $receipt = array();
                        foreach ($location as $input_name => $value)
                        {
                                if($value)
@@ -1240,12 +1241,13 @@
                                }
                        }
 
+                       $receipt['location_code'] = $location['location_code'];
                        return $receipt;
                }
 
-               function edit($location='',$values_attribute='',$type_id='')
+               function edit($location,$values_attribute=array(),$type_id='')
                {
-                       //_debug_array($values_attribute);
+                       $receipt = array();
                        while (is_array($location) && list($input_name,$value) 
= each($location))
                        {
                                if($value)
@@ -1320,6 +1322,7 @@
                        $this->db->query($sql,__LINE__,__FILE__);
                        $this->db->transaction_commit();
                        $receipt['message'][] = array('msg'=>lang('Location %1 
has been edited',$location['location_code']));
+                       $receipt['location_code'] = $location['location_code'];
                        return $receipt;
                }
 

Modified: trunk/property/inc/class.uilocation.inc.php
===================================================================
--- trunk/property/inc/class.uilocation.inc.php 2011-02-23 11:31:02 UTC (rev 
7038)
+++ trunk/property/inc/class.uilocation.inc.php 2011-02-23 12:28:32 UTC (rev 
7039)
@@ -1627,6 +1627,7 @@
                        $parent                         = 
phpgw::get_var('parent');
                        $values_attribute       = 
phpgw::get_var('values_attribute');
                        $location                       = 
explode('-',$location_code);
+                       $error_id                       = false;
 
                        if($sibling)
                        {
@@ -1712,24 +1713,23 @@
                                }
                        }
 
-
                        
$GLOBALS['phpgw']->xslttpl->add_file(array('location','attributes_form'));
 
                        if ($values)
                        {
                                for ($i=1; $i<($type_id+1); $i++)
                                {
-                                       if((!$values['loc' . $i]  && 
(!isset($location[($i-1)])  || !$location[($i-1)])  ) || !$values['loc' . $i])
+                                       if((!$values["loc{$i}"]  && 
(!isset($location[($i-1)])  || !$location[($i-1)])  ) || !$values["loc{$i}"])
                                        {
                                                
$receipt['error'][]=array('msg'=>lang('Please select a location %1 ID !',$i));
-                                               $error_id=true;
+                                               $error_id = true;
                                        }
 
-                                       $values['location_code'][]= 
$values['loc' . $i];
+                                       $values['location_code'][]= 
$values["loc{$i}"];
 
                                        if($i<$type_id)
                                        {
-                                               $location_parent[]= 
$values['loc' . ($i)];
+                                               $location_parent[]= 
$values["loc{$i}"];
                                        }
                                }
 
@@ -1772,12 +1772,10 @@
                                if($values['location_code'] && !$location_code)
                                {
                                        
if($this->bo->check_location($values['location_code'],$type_id))
-
-
                                        {
                                                
$receipt['error'][]=array('msg'=>lang('This location is already registered!') . 
'[ '.$values['location_code'].' ]');
                                                $error_location_id=true;
-                                               $error_id=true;
+                                               $error_id = true;
                                        }
                                }
 
@@ -1792,21 +1790,23 @@
                                                
$receipt['error'][]=array('msg'=>lang('Please select change type'));
                                        }
                                }
-                               elseif(!$location_code && !$error_id )
-                               {
-                                       $location_code=$values['location_code'];
-                               }
 
                                if(!isset($receipt['error']))
                                {
                                        $receipt = 
$this->bo->save($values,$values_attribute,$action,$type_id,isset($location_parent)?$location_parent:'');
+                                       $error_id = 
isset($receipt['location_code']) && $receipt['location_code'] ? false : true;
+                                       $location_code = 
$receipt['location_code'];
                                }
                                else
                                {
                                        if(isset($location_parent) && 
$location_parent)
                                        {
-                                               
$location_code_parent=implode("-", $location_parent);
+                                               
$location_code_parent=implode('-', $location_parent);
                                                $values = 
$this->bo->read_single($location_code_parent);
+
+                                               $values['attributes']   = 
$this->bo->find_attribute(".location.{$this->type_id}");
+                                               $values                         
        = $this->bo->prepare_attribute($values, ".location.{$this->type_id}");
+
                                                /* restore date from posting */
                                                
if(isset($insert_record['extra']) && is_array($insert_record['extra']))
                                                {
@@ -1819,7 +1819,7 @@
                                }
                        }
 
-                       if(!isset($error_id) && $location_code)
+                       if(!$error_id && $location_code)
                        {
                                $values = 
$this->bo->read_single($location_code,array('tenant_id'=>'lookup'));
 
@@ -1928,6 +1928,7 @@
 
                        $insert_record = 
$GLOBALS['phpgw']->session->appsession('insert_record','property');
 
+
                        if(!is_array($insert_record))
                        {
                                $insert_record = array();




reply via email to

[Prev in Thread] Current Thread [Next in Thread]