fmsystem-commits
[Top][All Lists]
Advanced

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

[Fmsystem-commits] [8008]


From: Torstein
Subject: [Fmsystem-commits] [8008]
Date: Fri, 04 Nov 2011 07:22:43 +0000

Revision: 8008
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=8008
Author:   vator
Date:     2011-11-04 07:22:42 +0000 (Fri, 04 Nov 2011)
Log Message:
-----------


Modified Paths:
--------------
    trunk/controller/inc/class.socheck_list.inc.php
    trunk/controller/inc/class.socontrol_item.inc.php
    trunk/controller/inc/class.uicheck_list.inc.php
    trunk/controller/inc/class.uicontrol.inc.php

Modified: trunk/controller/inc/class.socheck_list.inc.php
===================================================================
--- trunk/controller/inc/class.socheck_list.inc.php     2011-11-04 07:21:46 UTC 
(rev 8007)
+++ trunk/controller/inc/class.socheck_list.inc.php     2011-11-04 07:22:42 UTC 
(rev 8008)
@@ -1,7 +1,7 @@
 <?php
 phpgw::import_class('controller.socommon');
 
-include_class('controller', 'control', 'inc/model/');
+include_class('controller', 'check_list', 'inc/model/');
 
 class controller_socheck_list extends controller_socommon
 {
@@ -60,26 +60,90 @@
                return $results;
        }
        
-       function get_check_lists_for_control($control_id){
+       function get_check_list_for_control($control_id){
+               $sql = "SELECT cl.id as check_list_id, cl.*, ci.id as 
check_item_id, ci.* FROM controller_check_list cl, controller_check_item ci 
WHERE cl.control_id = $control_id AND cl.id = ci.check_list_id ORDER BY cl.id;";
+               $this->db->query($sql);
                
-               $sql = "SELECT ci.*, cil.order_nr FROM controller_control_item 
ci, controller_control_item_list cil WHERE cil.control_id = $control_id AND 
cil.control_item_id = ci.id ORDER BY cil.order_nr;";
-               $this->db->query($sql, 0, __LINE__, __FILE__);
-               $this->db->next_record();
+               $check_list_id = 0;
+               while ($this->db->next_record()) {
+                       
+                       print "ID: " . $this->db->f('id', true) . "<br>";
+                       
+                       $check_item = new 
controller_check_item($this->unmarshal($this->db->f('check_item_id', true), 
'int'));
+                       
$check_item->set_control_item_id($this->unmarshal($this->db->f('control_item_id',
 true), 'int'));
+                       
$check_item->set_status($this->unmarshal($this->db->f('status', true), 'bool'));
+                       
$check_item->set_comment($this->unmarshal($this->db->f('comment', true), 
'string'));
+                       
$check_item->set_check_list_id($this->unmarshal($this->db->f('check_list_id', 
true), 'int'));
+                       
+                       if( $this->db->f('id', true) != $check_list_id){
+                               $check_list = new 
controller_check_list($this->unmarshal($this->db->f('check_list_id', true), 
'int'));  
+                       }else{
+                               $check_list_array[] = $check_list;      
+                       }
+                       
+                       
$check_list->set_control_id($this->unmarshal($this->db->f('control_id', true), 
'int'));
+                       
$check_list->set_status($this->unmarshal($this->db->f('status', true), 'bool'));
+                       
$check_list->set_comment($this->unmarshal($this->db->f('comment', true), 
'string'));
+                       
$check_list->set_deadline($this->unmarshal($this->db->f('deadline', true), 
'int'));                     
+                       
+                       $check_list_id =  $this->unmarshal($this->db->f('id', 
true), 'int');
+                       $check_items_array = array();
+                       
                
-               $control_item_list = new 
controller_control_item_list($this->unmarshal($this->db->f('id', true), 'int'));
-               
$control_item_list->set_control_id($this->unmarshal($this->db->f('control_id', 
true), 'int'));
-               
$control_item_list->set_control_item_id($this->unmarshal($this->db->f('control_item_id',
 true), 'int'));
-               
$control_item_list->set_order_nr($this->unmarshal($this->db->f('order_nr', 
true), 'int'));
+                       $check_items_array[] = $check_item;
+                       
+                       $check_list->set_check_item_array($check_items_array);
+                       
+               }
                
-               return $control_item_list;
+               foreach($check_list_array as $check_list){
+                       echo "Skriver ut check_list!"."<br>";
+                       
+                       echo "check list id: " . $check_list->get_id()."<br>";
+                       echo "status: " . $check_list->get_status()."<br>";
+                       echo "comment: " . $check_list->get_comment()."<br>";
+                       echo "deadline: " . $check_list->get_deadline()."<br>";
+                       echo "Check_item_array: " . "<br>";
+                       
+                       foreach($check_list->get_check_item_array() as 
$check_item){
+                               echo "check item id:  " . 
$check_item->get_id()."<br>";
+                               echo "status:  " . 
$check_item->get_status()."<br>";    
+                               echo "control_item_id:  " . 
$check_item->get_control_item_id()."<br>";
+                               echo "comment:  " . 
$check_item->get_comment()."<br>";
+                               echo "check_list_id:  " . 
$check_item->get_check_list_id()."<br>";
+                       }       
+                       echo "<br>";
+               }
                
+               //$check_list->set_check_item_array($check_items_array);
+                               
+               //return $check_list;
        }
        
        function get_query(string $sort_field, boolean $ascending, string 
$search_for, string $search_type, array $filters, boolean $return_count){}
 
        function populate(int $object_id, &$object){}
        
-       function add(&$object){}
+       function add(&$check_list)
+       {
+               $cols = array(
+                               'control_id',
+                               'status',
+                               'comment',
+                               'deadline'
+               );
+               
+               $values = array(
+                       $this->marshal($check_list->get_control_id(), 'int'),
+                       $this->marshal($check_list->get_status(), 'bool'),
+                       $this->marshal($check_list->get_comment(), 'string'),
+                       $this->marshal($check_list->get_deadline(), 'int')
+               );
+               
+               $result = $this->db->query('INSERT INTO controller_check_list 
(' . join(',', $cols) . ') VALUES (' . join(',', $values) . ')', 
__LINE__,__FILE__);
+
+               return isset($result) ? 
$this->db->get_last_insert_id('controller_check_list', 'id') : 0;
+       }
        
        function update($object){}
        

Modified: trunk/controller/inc/class.socontrol_item.inc.php
===================================================================
--- trunk/controller/inc/class.socontrol_item.inc.php   2011-11-04 07:21:46 UTC 
(rev 8007)
+++ trunk/controller/inc/class.socontrol_item.inc.php   2011-11-04 07:22:42 UTC 
(rev 8008)
@@ -267,6 +267,7 @@
                        
                        $results[] = $control_item;
                }
+               
                return $results;
        }
        
@@ -297,8 +298,8 @@
                $results = array();
                
                $sql = "SELECT ci.* FROM controller_control_item ci, 
controller_control_item_list cl, controller_control c ";
-               $sql .= "WHERE c.id=$control_id AND c.id=cl.control_id AND 
cl.control_item_id=ci.id GROUP BY ";
-               $this->db->limit_query($sql, $start, __LINE__, __FILE__, 
$limit);
+               $sql .= "WHERE c.id=$control_id AND c.id=cl.control_id AND 
cl.control_item_id=ci.id";   
+               $this->db->query($sql);
                
                while ($this->db->next_record()) {
                        $control_item = new 
controller_control_item($this->unmarshal($this->db->f('id', true), 'int'));
@@ -311,7 +312,7 @@
                        
                        $results[] = $control_item;
                }
-               
+
                return $results;
        }
        

Modified: trunk/controller/inc/class.uicheck_list.inc.php
===================================================================
--- trunk/controller/inc/class.uicheck_list.inc.php     2011-11-04 07:21:46 UTC 
(rev 8007)
+++ trunk/controller/inc/class.uicheck_list.inc.php     2011-11-04 07:22:42 UTC 
(rev 8008)
@@ -2,17 +2,24 @@
        phpgw::import_class('controller.uicommon');
        phpgw::import_class('controller.socheck_list');
        
+       include_class('controller', 'check_list', 'inc/model/');
+       include_class('controller', 'check_item', 'inc/model/');
+       
        class controller_uicheck_list extends controller_uicommon
        {
                private $so;
-               private $socontrol_group;
-               private $socontrol_group_list;
-               private $socontrol_item;
+               private $so_control;
+               private $so_control_group;
+               private $so_control_group_list;
+               private $so_control_item;
+               private $so_check_list;
+               private $so_check_item;
                                
                public $public_functions = array
                (
                        'index' =>      true,
-                       'view_check_list_for_control'   =>      true
+                       'view_check_list_for_control'   =>      true,
+                       'save_check_list'       =>      true
                );
 
                public function __construct()
@@ -20,9 +27,12 @@
                        parent::__construct();
                        
                        $this->so = CreateObject('controller.socheck_list');
-                       $this->socontrol_group = 
CreateObject('controller.socontrol_group');
-                       $this->socontrol_group_list = 
CreateObject('controller.socontrol_group_list');
-                       $this->socontrol_item = 
CreateObject('controller.socontrol_item');
+                       $this->so_control = 
CreateObject('controller.socontrol');
+                       $this->so_control_group = 
CreateObject('controller.socontrol_group');
+                       $this->so_control_group_list = 
CreateObject('controller.socontrol_group_list');
+                       $this->so_control_item = 
CreateObject('controller.socontrol_item');
+                       $this->so_check_list = 
CreateObject('controller.socheck_list');
+                       $this->so_check_item = 
CreateObject('controller.socheck_item');
                        
                        $GLOBALS['phpgw_info']['flags']['menu_selection'] = 
"controller::check_list";
                }
@@ -42,30 +52,88 @@
                public function view_check_list_for_control()
                {
                        $control_id = phpgw::get_var('control_id');
-                       $control = $this->so->get_single($control_id);
+                       $control = $this->so_control->get_single($control_id);
+
+               
+                       $check_list = $this->so->get_check_list_for_control( 
$control_id );     
                        
-                       $control_groups_array = 
$this->socontrol_group_list->get_control_groups_by_control_id( $control_id );
+                       $data = array
+                       (
+                               'control_as_array'      => $control->toArray(),
+                               'check_list'            => $check_list
+                       );
+                       
+                       //self::render_template_xsl('view_check_list', $data);
+               }
+               
+               public function view_control_items_for_control()
+               {
+                       $control_id = phpgw::get_var('control_id');
+                       $control = $this->so_control->get_single($control_id);
+                                               
+                       $control_groups_array = 
$this->so_control_group_list->get_control_groups_by_control_id( $control_id );
 
                        $saved_groups_with_items_array = array();
                        
                        foreach ($control_groups_array as $control_group)
                        {       
                                $control_group_id = $control_group->get_id();
-                               $saved_control_items = 
$this->socontrol_item->get_control_items_by_control_id_and_group($control_id, 
$control_group_id);
+                               $saved_control_items = 
$this->so_control_item->get_control_items_by_control_id_and_group($control_id, 
$control_group_id);
                                
                                $saved_groups_with_items_array[] = 
array("control_group" => $control_group->toArray(), "control_items" => 
$saved_control_items);
                        }       
                
                        $data = array
                        (
-                               'control_id'                                    
=> $control_id,
+                               'control_as_array'                              
=> $control->toArray(),
                                'saved_groups_with_items_array' => 
$saved_groups_with_items_array
                        );
-                       
-                       //print_r($saved_groups_with_items_array);
-                                               
+                                                               
                        self::render_template_xsl('view_check_list', $data);
                }
                
+               public function save_check_list(){
+                       $control_id = phpgw::get_var('control_id');
+                       $control = $this->so_control->get_single($control_id);
+
+                       $start_date = $control->get_start_date();
+                       $end_date = $control->get_end_date();
+                       $repeat_type = $control->get_repeat_type();
+                       $repeat_interval = $control->get_repeat_interval();
+                       
+                       $status = true;
+                       $comment = "Kommentar for sjekkliste";
+                       $deadline = $start_date;
+                       
+                       // Saving check_list
+                       $new_check_list = new controller_check_list();
+                       $new_check_list->set_control_id( $control_id );
+                       $new_check_list->set_status( $status );
+                       $new_check_list->set_comment( $comment );
+                       $new_check_list->set_deadline( $deadline );
+                       
+                       $check_list_id = $this->so_check_list->store( 
$new_check_list );
+                       
+                       $control_items_list = 
$this->so_control_item->get_control_items_by_control_id($control_id);
+                       
+                       foreach($control_items_list as $control_item){
+                               
+                               $status = true;
+                               $comment = "Kommentar for sjekk item";
+                               
+                               // Saving check_items for a list
+                               $new_check_item = new controller_check_item();
+                               $new_check_item->set_check_list_id( 
$check_list_id );
+                               
+                               $new_check_item->set_control_item_id( 
$control_item->get_id() );
+                               $new_check_item->set_status( $status );
+                               $new_check_item->set_comment( $comment );
+
+                               $saved_check_item = 
$this->so_check_item->store( $new_check_item );
+                       }
+                       
+                       $this->redirect(array('menuaction' => 
'controller.uicheck_list.view_check_list_for_control', 
'control_id'=>$control_id));       
+               }
+               
                public function query(){}
        }

Modified: trunk/controller/inc/class.uicontrol.inc.php
===================================================================
--- trunk/controller/inc/class.uicontrol.inc.php        2011-11-04 07:21:46 UTC 
(rev 8007)
+++ trunk/controller/inc/class.uicontrol.inc.php        2011-11-04 07:22:42 UTC 
(rev 8008)
@@ -293,7 +293,6 @@
                                                array('label' => "4: " . 
lang('Check_list'))
                                        );
                        
-                       
                        $data = array
                        (
                                'tabs'                                          
=> $GLOBALS['phpgw']->common->create_tabs($tabs, 2),
@@ -386,19 +385,21 @@
                        $tabs = array(
                                                array(
                                                        'label' => "1: " . 
lang('Details'),
-                                                       'link'  => 
$GLOBALS['phpgw']->link('/index.php', array('menuaction' => 
'controller.uicontrol.view_control_details', 'view' => "view_control_details", 
-                                                                               
                                                                                
        'control_id' => $control_id))
+                                                       'link'  => 
$GLOBALS['phpgw']->link('/index.php', array('menuaction' => 
'controller.uicontrol.view_control_details', 
+                                                                               
                                                                                
   'view' => "view_control_details", 'control_id' => $control_id))
                                                ), 
                                                array(
                                                        'label' => "2: " . 
lang('Control_groups'),
-                                                       'link'  => 
$GLOBALS['phpgw']->link('/index.php', array('menuaction' => 
'controller.uicontrol.view_control_groups', 'view' => "view_control_groups", 
-                                                                               
                                                                               
'control_id' => $control_id, 'control_group_ids' => $control_group_ids,
+                                                       'link'  => 
$GLOBALS['phpgw']->link('/index.php', array('menuaction' => 
'controller.uicontrol.view_control_groups', 
+                                                                               
                                                                                
   'view' => "view_control_groups", 'control_id' => $control_id, 
+                                                                               
                                                                                
   'control_group_ids' => $control_group_ids, 
                                                                                
                                                                                
   'control_area_id' => $control->get_control_area_id()))
                                                ), 
                                                        array(
                                                        'label' => "3: " . 
lang('Control_items'),
-                                                       'link'  => 
$GLOBALS['phpgw']->link('/index.php', array('menuaction' => 
'controller.uicontrol.view_control_items', 'view' => "view_control_items", 
-                                                                               
                                                                               
'control_id' => $control_id, 'control_group_ids' => $control_group_ids))
+                                                       'link'  => 
$GLOBALS['phpgw']->link('/index.php', array('menuaction' => 
'controller.uicontrol.view_control_items', 
+                                                                               
                                                                                
   'view' => "view_control_items", 'control_id' => $control_id, 
+                                                                               
                                                                                
   'control_group_ids' => $control_group_ids))
                                                ), 
                                                        array(
                                                        'label' => "4: " . 
lang('Check_list')




reply via email to

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