fmsystem-commits
[Top][All Lists]
Advanced

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

[Fmsystem-commits] [10476]


From: Torstein
Subject: [Fmsystem-commits] [10476]
Date: Tue, 06 Nov 2012 10:21:58 +0000

Revision: 10476
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=10476
Author:   vator
Date:     2012-11-06 10:21:58 +0000 (Tue, 06 Nov 2012)
Log Message:
-----------


Modified Paths:
--------------
    trunk/logistic/inc/class.sorequirement_resource_allocation.inc.php
    trunk/logistic/inc/class.uirequirement.inc.php

Modified: trunk/logistic/inc/class.sorequirement_resource_allocation.inc.php
===================================================================
--- trunk/logistic/inc/class.sorequirement_resource_allocation.inc.php  
2012-11-06 09:49:59 UTC (rev 10475)
+++ trunk/logistic/inc/class.sorequirement_resource_allocation.inc.php  
2012-11-06 10:21:58 UTC (rev 10476)
@@ -197,6 +197,21 @@
                                return false;
                        }
                }
+               
+               public function delete_resources($requirement_id)
+               {
+                       $requirement_id = (int) $requirement_id;
+                       $status = $this->db->query("DELETE FROM 
lg_requirement_resource_allocation WHERE requirement_id = $requirement_id");
+                                       
+                       if( $status )
+                       {
+                               return true;
+                       }
+                       else
+                       {
+                               return false;
+                       }
+               }
 
                public static function get_instance()
                {

Modified: trunk/logistic/inc/class.uirequirement.inc.php
===================================================================
--- trunk/logistic/inc/class.uirequirement.inc.php      2012-11-06 09:49:59 UTC 
(rev 10475)
+++ trunk/logistic/inc/class.uirequirement.inc.php      2012-11-06 10:21:58 UTC 
(rev 10476)
@@ -350,7 +350,7 @@
                        $requirement_id = phpgw::get_var('id');
                        $activity_id = phpgw::get_var('activity_id');
 
-                       if ($requirement_id && is_numeric($requirement_id))
+                       if ( ($requirement == null) && ($requirement_id) && 
(is_numeric($requirement_id)) )
                        {
                                $requirement = 
$this->so->get_single($requirement_id);
 
@@ -425,6 +425,11 @@
                        {
                                $data['activity'] = $activity;
                        }
+                       else
+                       {
+                               $activity = $this->so_activity->get_single( 
$requirement->get_activity_id() );
+                               $data['activity'] = $activity;
+                       }
 
                        $GLOBALS['phpgw']->jqcal->add_listener('start_date', 
'datetime');
                        $GLOBALS['phpgw']->jqcal->add_listener('end_date', 
'datetime');
@@ -449,11 +454,32 @@
                        
                        if( $requirement->validate() )
                        {
+                               $db_requirement = $this->so->get_db();
+                               $db_requirement->transaction_begin();
                                $requirement_id = 
$this->so->store($requirement);
                                
+                               $db_requirement_values = 
$this->so_requirement_value->get_db();
+                               $db_requirement_values->transaction_begin();
+                               $status_delete_values = 
$this->so_requirement_value->delete_resources($requirement_id);
                                
+                               $db_resource_allocation = 
$this->so_resource_allocation->get_db();
+                               $db_resource_allocation->transaction_begin();
+                               $status_delete_resources = 
$this->so->delete_resource_allocations($requirement_id);
                                
-                               $GLOBALS['phpgw']->redirect_link('/index.php', 
array('menuaction' => 'logistic.uirequirement.view', 'id' => $requirement_id)); 
 
+                               if( ($requirement_id > 0) && 
($status_delete_values) && ($status_delete_resources) )
+                               {
+                                       $db_requirement->transaction_commit();
+                                       
$db_requirement_values->transaction_commit();
+                                       
$db_resource_allocation->transaction_commit();
+                               }
+                               else
+                               {
+                                       $db_requirement->transaction_abort();
+                                       
$db_requirement_values->transaction_abort();
+                                       
$db_resource_allocation->transaction_abort();
+                               }                       
+                               
+                               $GLOBALS['phpgw']->redirect_link('/index.php', 
array('menuaction' => 'logistic.uirequirement.view', 'id' => $requirement_id));
                        }
                        else
                        {




reply via email to

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