fmsystem-commits
[Top][All Lists]
Advanced

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

[Fmsystem-commits] [8655]


From: Torstein
Subject: [Fmsystem-commits] [8655]
Date: Mon, 23 Jan 2012 15:06:55 +0000

Revision: 8655
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=8655
Author:   vator
Date:     2012-01-23 15:06:54 +0000 (Mon, 23 Jan 2012)
Log Message:
-----------


Modified Paths:
--------------
    trunk/controller/inc/class.socontrol_group_list.inc.php
    trunk/controller/inc/class.socontrol_item.inc.php
    trunk/controller/inc/class.socontrol_item_list.inc.php
    trunk/controller/inc/class.uicalendar.inc.php
    trunk/controller/inc/class.uicheck_list.inc.php
    trunk/controller/inc/class.uicontrol.inc.php
    trunk/controller/inc/class.uicontrol_group.inc.php
    trunk/controller/js/controller/ajax.js
    trunk/controller/templates/base/control/control.xsl
    trunk/controller/templates/base/control_item/choose_control_items.xsl
    trunk/controller/templates/base/control_item/sort_check_list.xsl

Modified: trunk/controller/inc/class.socontrol_group_list.inc.php
===================================================================
--- trunk/controller/inc/class.socontrol_group_list.inc.php     2012-01-23 
12:04:06 UTC (rev 8654)
+++ trunk/controller/inc/class.socontrol_group_list.inc.php     2012-01-23 
15:06:54 UTC (rev 8655)
@@ -168,7 +168,13 @@
 
                function get_control_groups_by_control($control_id, $returnType 
= "object")
                {
-                       $this->db->query("SELECT cg.*, cgl.order_nr FROM 
controller_control_group_list cgl, controller_control_group cg WHERE 
cgl.control_id=$control_id AND cgl.control_group_id=cg.id ORDER BY 
cgl.order_nr", __LINE__, __FILE__);
+                       $sql =  "SELECT cg.*, cgl.order_nr "; 
+                       $sql .= "FROM controller_control_group_list cgl, 
controller_control_group cg "; 
+                       $sql .= "WHERE cgl.control_id=$control_id ";
+                       $sql .= "AND cgl.control_group_id=cg.id ";
+                       $sql .= "ORDER BY cgl.order_nr";
+                       
+                       $this->db->query($sql);
 
                        $control_group_list = array();
 

Modified: trunk/controller/inc/class.socontrol_item.inc.php
===================================================================
--- trunk/controller/inc/class.socontrol_item.inc.php   2012-01-23 12:04:06 UTC 
(rev 8654)
+++ trunk/controller/inc/class.socontrol_item.inc.php   2012-01-23 15:06:54 UTC 
(rev 8655)
@@ -267,81 +267,8 @@
                        return "SELECT {$cols} FROM {$tables} {$joins} WHERE 
{$condition} {$order}";
                }
 
-               function get_control_items($control_group_id, $return_type = 
"return_object")
-               {
-                       $results = array();
+               
 
-                       $sql = "SELECT * FROM controller_control_item WHERE 
control_group_id={$control_group_id}";
-                       $this->db->query($sql);
-
-                       while ($this->db->next_record()) {
-                               $control_item = new 
controller_control_item($this->unmarshal($this->db->f('id', true), 'int'));
-                               
$control_item->set_title($this->unmarshal($this->db->f('title', true), 
'string'));
-                               
$control_item->set_required($this->unmarshal($this->db->f('required', true), 
'boolean'));
-                               
$control_item->set_what_to_do($this->unmarshal($this->db->f('what_to_do', 
true), 'string'));
-                               
$control_item->set_how_to_do($this->unmarshal($this->db->f('how_to_do', true), 
'string'));
-                               
$control_item->set_control_group_id($this->unmarshal($this->db->f('control_group_id',
 true), 'int'));
-
-                               if($return_type == "return_object")
-                                       $results[] = $control_item;
-                               else
-                                       $results[] = $control_item->toArray();
-                       }
-
-                       return $results;
-               }
-
-               function get_control_items_by_control($control_id, $returnType 
= "return_object")
-               {
-                       $results = array();
-
-                       $sql  = "SELECT ci.* ";
-                       $sql .= "FROM controller_control_item ci, 
controller_control_item_list cl ";
-                       $sql .= "WHERE cl.control_id=$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'));
-                               
$control_item->set_title($this->unmarshal($this->db->f('title', true), 
'string'));
-                               
$control_item->set_required($this->unmarshal($this->db->f('required', true), 
'boolean'));
-                               
$control_item->set_what_to_do($this->unmarshal($this->db->f('what_to_do', 
true), 'string'));
-                               
$control_item->set_how_to_do($this->unmarshal($this->db->f('how_to_do', true), 
'string'));
-                               
$control_item->set_control_group_id($this->unmarshal($this->db->f('control_group_id',
 true), 'int'));
-                               
$control_item->set_type($this->unmarshal($this->db->f('type', true), 'string'));
-
-                               if($returnType == "return_array")
-                                       $results[] = $control_item->toArray();
-                               else
-                                       $results[] = $control_item;
-                       }
-                       
-                       return $results;
-               }
-
-               function get_control_items_by_control_and_group($control_id, 
$control_group_id)
-               {
-                       $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 AND ci.control_group_id=$control_group_id";
-                       $this->db->limit_query($sql, $start, __LINE__, 
__FILE__, $limit);
-
-                       while ($this->db->next_record()) {
-                               $control_item = new 
controller_control_item($this->unmarshal($this->db->f('id', true), 'int'));
-                               
$control_item->set_title($this->unmarshal($this->db->f('title', true), 
'string'));
-                               
$control_item->set_required($this->unmarshal($this->db->f('required', true), 
'boolean'));
-                               
$control_item->set_what_to_do($this->unmarshal($this->db->f('what_to_do', 
true), 'string'));
-                               
$control_item->set_how_to_do($this->unmarshal($this->db->f('how_to_do', true), 
'string'));
-                               
$control_item->set_control_group_id($this->unmarshal($this->db->f('control_group_id',
 true), 'int'));
-                               
//$control_item->set_control_group_name($this->unmarshal($this->db->f('control_group_name',
 true), 'string'));
-
-                               $results[] = $control_item->toArray();
-                       }
-
-                       return $results;
-               }
-
                function populate(int $control_item_id, &$control_item)
                {
                        if($control_item == null) {

Modified: trunk/controller/inc/class.socontrol_item_list.inc.php
===================================================================
--- trunk/controller/inc/class.socontrol_item_list.inc.php      2012-01-23 
12:04:06 UTC (rev 8654)
+++ trunk/controller/inc/class.socontrol_item_list.inc.php      2012-01-23 
15:06:54 UTC (rev 8655)
@@ -132,7 +132,92 @@
 
                        return $control_item_list;
                }
+               
+               function get_control_items($control_group_id, $return_type = 
"return_object")
+               {
+                       $results = array();
 
+                       $sql  = "SELECT * ";
+                       $sql .= "FROM controller_control_item ";
+                       $sql .= "WHERE control_group_id={$control_group_id}";
+                       
+                       $this->db->query($sql);
+
+                       while ($this->db->next_record()) {
+                               $control_item = new 
controller_control_item($this->unmarshal($this->db->f('id', true), 'int'));
+                               
$control_item->set_title($this->unmarshal($this->db->f('title', true), 
'string'));
+                               
$control_item->set_required($this->unmarshal($this->db->f('required', true), 
'boolean'));
+                               
$control_item->set_what_to_do($this->unmarshal($this->db->f('what_to_do', 
true), 'string'));
+                               
$control_item->set_how_to_do($this->unmarshal($this->db->f('how_to_do', true), 
'string'));
+                               
$control_item->set_control_group_id($this->unmarshal($this->db->f('control_group_id',
 true), 'int'));
+
+                               if($return_type == "return_object")
+                                       $results[] = $control_item;
+                               else
+                                       $results[] = $control_item->toArray();
+                       }
+
+                       return $results;
+               }
+
+               function get_control_items_by_control($control_id, $returnType 
= "return_object")
+               {
+                       $results = array();
+
+                       $sql  = "SELECT ci.* ";
+                       $sql .= "FROM controller_control_item ci, 
controller_control_item_list cl ";
+                       $sql .= "WHERE cl.control_id=$control_id ";
+                       $sql .= "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'));
+                               
$control_item->set_title($this->unmarshal($this->db->f('title', true), 
'string'));
+                               
$control_item->set_required($this->unmarshal($this->db->f('required', true), 
'boolean'));
+                               
$control_item->set_what_to_do($this->unmarshal($this->db->f('what_to_do', 
true), 'string'));
+                               
$control_item->set_how_to_do($this->unmarshal($this->db->f('how_to_do', true), 
'string'));
+                               
$control_item->set_control_group_id($this->unmarshal($this->db->f('control_group_id',
 true), 'int'));
+                               
$control_item->set_type($this->unmarshal($this->db->f('type', true), 'string'));
+
+                               if($returnType == "return_array")
+                                       $results[] = $control_item->toArray();
+                               else
+                                       $results[] = $control_item;
+                       }
+                       
+                       return $results;
+               }
+
+               function get_control_items_by_control_and_group($control_id, 
$control_group_id)
+               {
+                       $results = array();
+
+                       $sql  = "SELECT ci.* ";
+                       $sql .= "FROM controller_control_item ci, 
controller_control_item_list cl, controller_control c ";
+                       $sql .= "WHERE c.id=$control_id ";
+                       $sql .= "AND c.id=cl.control_id "; 
+                       $sql .= "AND cl.control_item_id=ci.id ";
+                       $sql .= "AND ci.control_group_id=$control_group_id ";
+                       $sql .= "ORDER BY cl.order_nr";
+                       
+                       $this->db->limit_query($sql, $start, __LINE__, 
__FILE__, $limit);
+
+                       while ($this->db->next_record()) {
+                               $control_item = new 
controller_control_item($this->unmarshal($this->db->f('id', true), 'int'));
+                               
$control_item->set_title($this->unmarshal($this->db->f('title', true), 
'string'));
+                               
$control_item->set_required($this->unmarshal($this->db->f('required', true), 
'boolean'));
+                               
$control_item->set_what_to_do($this->unmarshal($this->db->f('what_to_do', 
true), 'string'));
+                               
$control_item->set_how_to_do($this->unmarshal($this->db->f('how_to_do', true), 
'string'));
+                               
$control_item->set_control_group_id($this->unmarshal($this->db->f('control_group_id',
 true), 'int'));
+                               
//$control_item->set_control_group_name($this->unmarshal($this->db->f('control_group_name',
 true), 'string'));
+
+                               $results[] = $control_item->toArray();
+                       }
+
+                       return $results;
+               }
+
                function delete($control_id, $control_item_id)
                {
                        $result = $this->db->query("DELETE FROM 
controller_control_item_list WHERE control_id = $control_id AND control_item_id 
= $control_item_id", __LINE__,__FILE__);

Modified: trunk/controller/inc/class.uicalendar.inc.php
===================================================================
--- trunk/controller/inc/class.uicalendar.inc.php       2012-01-23 12:04:06 UTC 
(rev 8654)
+++ trunk/controller/inc/class.uicalendar.inc.php       2012-01-23 15:06:54 UTC 
(rev 8655)
@@ -311,7 +311,7 @@
                        foreach ($control_groups_array as $control_group)
                        {       
                                $control_group_id = $control_group->get_id();
-                               $saved_control_items = 
$this->so_control_item->get_control_items_by_control_and_group($control_id, 
$control_group_id);
+                               $saved_control_items = 
$this->so_control_item_list->get_control_items_by_control_and_group($control_id,
 $control_group_id);
                                
                                $saved_groups_with_items_array[] = 
array("control_group" => $control_group->toArray(), "control_items" => 
$saved_control_items);
                        }       
@@ -369,7 +369,7 @@
                        
                        $check_list_id = $this->so_check_list->store( 
$new_check_list );
                        
-                       $control_items_list = 
$this->so_control_item->get_control_items_by_control($control_id);
+                       $control_items_list = 
$this->so_control_item_list->get_control_items_by_control($control_id);
                        
                        foreach($control_items_list as $control_item){
                                
@@ -415,7 +415,7 @@
                        
                        $check_list_id = $this->so_check_list->store( 
$new_check_list );
                        
-                       $control_items_list = 
$this->so_control_item->get_control_items_by_control($control_id);
+                       $control_items_list = 
$this->so_control_item_list->get_control_items_by_control($control_id);
                        
                        foreach($control_items_list as $control_item){
                                

Modified: trunk/controller/inc/class.uicheck_list.inc.php
===================================================================
--- trunk/controller/inc/class.uicheck_list.inc.php     2012-01-23 12:04:06 UTC 
(rev 8654)
+++ trunk/controller/inc/class.uicheck_list.inc.php     2012-01-23 15:06:54 UTC 
(rev 8655)
@@ -293,7 +293,7 @@
                        //Populating array with saved control items for each 
group
                        foreach ($control_groups as $control_group)
                        {       
-                               $saved_control_items = 
$this->so_control_item->get_control_items_by_control_and_group($control->get_id(),
 $control_group->get_id());
+                               $saved_control_items = 
$this->so_control_item_list->get_control_items_by_control_and_group($control->get_id(),
 $control_group->get_id());
                                
                                $control_item = 
$this->so_control_item->get_single($control_item_id);
                                
@@ -356,7 +356,7 @@
                        //Populating array with saved control items for each 
group
                        foreach ($control_groups as $control_group)
                        {       
-                               $saved_control_items = 
$this->so_control_item->get_control_items_by_control_and_group($control->get_id(),
 $control_group->get_id());
+                               $saved_control_items = 
$this->so_control_item_list->get_control_items_by_control_and_group($control->get_id(),
 $control_group->get_id());
                                
                                $control_item = 
$this->so_control_item->get_single($control_item_id);
                                
@@ -381,7 +381,7 @@
                        // Fetches all control items for check list
                        $control_items_for_check_list = array();
                        
-                       $control_items = 
$this->so_control_item->get_control_items_by_control($check_list->get_control_id());
+                       $control_items = 
$this->so_control_item_list->get_control_items_by_control($check_list->get_control_id());
                        $check_items = 
$this->so_check_item->get_check_items($check_list_id, null, null, 
"return_object");
                        
                        $remove_control_item_ids_array = array();
@@ -499,7 +499,7 @@
                        foreach ($control_groups_array as $control_group)
                        {
                                $control_group_id = $control_group->get_id();
-                               $saved_control_items = 
$this->so_control_item->get_control_items_by_control_and_group($control_id, 
$control_group_id);
+                               $saved_control_items = 
$this->so_control_item_list->get_control_items_by_control_and_group($control_id,
 $control_group_id);
 
                                $saved_groups_with_items_array[] = 
array("control_group" => $control_group->toArray(), "control_items" => 
$saved_control_items);
                        }
@@ -613,7 +613,7 @@
 
                        $check_list_id = $this->so_check_list->store( 
$new_check_list );
 
-                       $control_items_list = 
$this->so_control_item->get_control_items_by_control($control_id);
+                       $control_items_list = 
$this->so_control_item_list->get_control_items_by_control($control_id);
 
                        foreach($control_items_list as $control_item){
 
@@ -659,7 +659,7 @@
 
                        $check_list_id = $this->so_check_list->store( 
$new_check_list );
 
-                       $control_items_list = 
$this->so_control_item->get_control_items_by_control($control_id);
+                       $control_items_list = 
$this->so_control_item_list->get_control_items_by_control($control_id);
 
                        foreach($control_items_list as $control_item){
 

Modified: trunk/controller/inc/class.uicontrol.inc.php
===================================================================
--- trunk/controller/inc/class.uicontrol.inc.php        2012-01-23 12:04:06 UTC 
(rev 8654)
+++ trunk/controller/inc/class.uicontrol.inc.php        2012-01-23 15:06:54 UTC 
(rev 8655)
@@ -285,7 +285,9 @@
                                                        'label' => "3: " . 
lang('Choose_control_items'),
                                                        'link'  => 
$GLOBALS['phpgw']->link('/index.php', array('menuaction' => 
'controller.uicontrol.view_control_items', 
                                                                                
                                                                                
   'control_id' => $control->get_id()))
-                                               ),array('label' => "4: " . 
lang('Sort_check_list')
+                                               ),array('label' => "4: " . 
lang('Sort_check_list'),
+                                                       'link'  => 
$GLOBALS['phpgw']->link('/index.php', array('menuaction' => 
'controller.uicontrol.view_check_list', 
+                                                                               
                                                                                
   'control_id' => $control->get_id()))
                                                )
                                                
                                        );      
@@ -328,27 +330,39 @@
                }
                
                public function save_control_details(){
-                       $control_id = phpgw::get_var('control_id');             
+                       $control_id = phpgw::get_var('control_id');
                        
                        // Update control details
                        if(isset($control_id) && $control_id > 0 )
                        {
                                $control = $this->so->get_single($control_id);
                        }
-                       // Add details for control
+                       // Add control details 
                        else {
                                $control = new controller_control();
                        }
                        
+                       $control_area_id_in_db = 
$control->get_control_area_id();
+                       
                        $control->populate();
-                                                                       
-                       if( $control->get_title() == "" ){
-                               $this->redirect(array('menuaction' => 
'controller.uicontrol.view_control_details', 'control_id'=>$control_id, 
'control_area_id'=>$control->get_control_area_id()));     
+
+                       $control_area_id_from_req = 
$control->get_control_area_id();
+                       
+                       if($control_area_id_in_db != $control_area_id_from_req 
){
+                                                               
+                               // Deleting earlier saved control groups
+                               
$this->so_control_group_list->delete_control_groups($control_id);
+                               
+                               $saved_control_items = 
$this->so_control_item_list->get_control_items_by_control($control_id);
+                               
+                               foreach($saved_control_items as $control_item){
+                                       
$this->so_control_item_list->delete($control->get_id(), 
$control_item->get_id());
+                               }
                        }
                        else
                        {
                                $control_id = $this->so->store($control);
-                               $this->redirect(array('menuaction' => 
'controller.uicontrol.view_control_groups', 'control_id'=>$control_id, 
'control_area_id'=>$control->get_control_area_id()));
+                               $this->redirect(array('menuaction' => 
'controller.uicontrol.view_control_groups', 'control_id' => $control_id));
                        }
                }
                                                
@@ -386,7 +400,7 @@
                                                array(
                                                        'label' => "1: " . 
lang('Details'),
                                                        'link'  => 
$GLOBALS['phpgw']->link('/index.php', array('menuaction' => 
'controller.uicontrol.view_control_details', 
-                                                                               
                                                                                
   'view' => "view_control_details", 'id' => $control_id))
+                                                                               
                                                                                
   'id' => $control_id))
                                                ), 
                                                array(
                                                        'label' => "2: " . 
lang('Choose_control_groups')
@@ -419,6 +433,9 @@
                        // Deleting earlier saved control groups
                        
$this->so_control_group_list->delete_control_groups($control_id);
                        
+                       // Deleting earlier saved control items
+                       
$this->so_control_item_list->delete_control_items($control_id);
+                       
                        $group_order_nr = 1;
 
                        // Saving control groups 
@@ -434,8 +451,7 @@
                        }
 
                        // Redirect: view_control_items
-                       $this->redirect(array('menuaction' => 
'controller.uicontrol.view_control_items', 
-                                                                 
'control_id'=>$control_id, 'control_group_ids'=>$control_group_ids)); 
+                       $this->redirect(array('menuaction' => 
'controller.uicontrol.view_control_items', 'control_id'=>$control_id));   
                }
                
                // Gets a comma separated list of control groups, and displays 
control items for these groups
@@ -443,10 +459,8 @@
                        $control_id = phpgw::get_var('control_id', 'int');
                        $control = $this->so->get_single($control_id);
                        
-                       $control_group_ids = 
phpgw::get_var('control_group_ids');
-               
                        // Fetches saved control items from db
-                       $saved_control_items = 
$this->so_control_item->get_control_items_by_control($control_id);
+                       $saved_control_items = 
$this->so_control_item_list->get_control_items_by_control($control_id);
                        $saved_control_item_ids = array();
                        
                        foreach($saved_control_items as $control_item){
@@ -456,10 +470,12 @@
                        // Array with selected control groups and items
                        $groups_with_control_items = array();
                        
+                       $saved_control_groups = 
$this->so_control_group_list->get_control_groups_by_control($control_id);
+                               
                        // Fetches control items for control group and 
populates groups_with_control_items with groups and chosen control items
-                       foreach ($control_group_ids as $control_group_id)
+                       foreach ($saved_control_groups as $control_group)
                        {       
-                               $group_control_items_array = 
$this->so_control_item->get_control_items($control_group_id, "return_array");
+                               $group_control_items_array = 
$this->so_control_item_list->get_control_items($control_group->get_id(), 
"return_array");
                                
                                $control_items_for_group_array = array();
                                
@@ -475,29 +491,24 @@
                                        }
                                }
                                
-                               $control_group = 
$this->so_control_group->get_single($control_group_id);
-                               
                                $groups_with_control_items[] = 
array("control_group" => $control_group->toArray(), "group_control_items" => 
$control_items_for_group_array);
                        }                       
                        
-                       //print_r( $groups_with_control_items[0] );
-                       
                        $tabs = array(
                                                array(
                                                        'label' => "1: " . 
lang('Details'),
                                                        'link'  => 
$GLOBALS['phpgw']->link('/index.php', array('menuaction' => 
'controller.uicontrol.view_control_details', 'view' => "view_control_details", 
                                                                                
                                                                                
   'id' => $control_id))
                                                ), 
-                                                       array(
+                                               array(
                                                        'label' => "2: " . 
lang('Choose_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, 
-                                                                               
                                                                               
'control_area_id' => $control->get_control_area_id()))
+                                                       'link'  => 
$GLOBALS['phpgw']->link('/index.php', array('menuaction' => 
'controller.uicontrol.view_control_groups', 
+                                                                               
                                                                               
'control_id' => $control_id))
                                                ),
                                                array('label' => "3: " . 
lang('Choose_control_items')),
                                                array(
                                                        'label' => "4: " . 
lang('Sort_check_list')
-                                               ));
+                                       ));
                                        
                        $data = array
                        (
@@ -517,31 +528,13 @@
                // Saves chosen control items through receiving a comma 
separated list of control tags (1:2, control_group_id:control_item_id) 
                public function save_control_items(){
                        $control_id = phpgw::get_var('control_id');
-                       $control_group_ids = explode(",", 
phpgw::get_var('control_group_ids'));
                        
                        // Fetching selected control items. Tags are on the 
format 1:2 (group:item). 
                        $control_tag_ids = phpgw::get_var('control_tag_ids');
                        
-                       // Deleting earlier saved control groups
-                       
$this->so_control_group_list->delete_control_groups($control_id);
-                       
                        // Deleting earlier saved control items
                        
$this->so_control_item_list->delete_control_items($control_id);
-                                               
-                       $group_order_nr = 1;
-                       
-                       // Saving control groups 
-                       foreach ($control_group_ids as $control_group_id)
-                       {
-                               $control_group_list = new 
controller_control_group_list();
-                               
$control_group_list->set_control_id($control_id);
-                               
$control_group_list->set_control_group_id($control_group_id);
-                               
$control_group_list->set_order_nr($group_order_nr);
-                                                       
-                               
$this->so_control_group_list->add($control_group_list);
-                               $group_order_nr++;
-                       }
-
+       
                        // Saving control items if submit save control items is 
clicked 
                        foreach ($control_tag_ids as $control_item_tag)
                        {       
@@ -555,39 +548,22 @@
                                
$this->so_control_item_list->add($control_item_list);
                        }       
        
-                       $this->redirect(array('menuaction' => 
'controller.uicontrol.view_check_list', 'control_id'=>$control_id, 
'control_title'=>$control_title, 'control_group_ids'=>$control_group_ids, 
'control_tag_ids'=>$control_tag_ids ));      
+                       $this->redirect(array('menuaction' => 
'controller.uicontrol.view_check_list', 'control_id'=>$control_id ));     
                }
                
                public function view_check_list(){
                        $control_id = phpgw::get_var('control_id');
                        $control = $this->so->get_single($control_id);
                        
-                       $control_group_ids = 
phpgw::get_var('control_group_ids');
-                       
-                       // Fetching selected control tag items. Tags are on the 
format 1:2 (control_group_id:control_item_id) 
-                       $control_tag_ids = phpgw::get_var('control_tag_ids');
-                       
-                       $control_group_ids = array();
-                       
-                       // Putting control_group_ids in array control_group_ids
-                       foreach ($control_tag_ids as $control_tag)
-                       {       
-                               // Fetching group id from tag   
-                               $control_group_id = substr($control_tag, 0, 
strpos($control_tag, ":"));
-
-                               if(!in_array($control_group_id, 
$control_group_ids))
-                                       $control_group_ids[] = 
$control_group_id;  
-                       }
-                       
+                       $saved_control_groups = 
$this->so_control_group_list->get_control_groups_by_control($control_id);
+               
                        $saved_groups_with_items_array = array();
                        
                        //Populating array with saved control items for each 
group
-                       foreach ($control_group_ids as $control_group_id)
+                       foreach ($saved_control_groups as $control_group)
                        {       
-                               $saved_control_items = 
$this->so_control_item->get_control_items_by_control_and_group($control_id, 
$control_group_id);
+                               $saved_control_items = 
$this->so_control_item_list->get_control_items_by_control_and_group($control_id,
 $control_group->get_id());
                                
-                               $control_group = 
$this->so_control_group->get_single($control_group_id);
-                               
                                $control_item = 
$this->so_control_item->get_single($control_item_id);
                                
                                $saved_groups_with_items_array[] = 
array("control_group" => $control_group->toArray(), "control_items" => 
$saved_control_items);
@@ -597,18 +573,15 @@
                                                array(
                                                        'label' => "1: " . 
lang('Details'),
                                                        'link'  => 
$GLOBALS['phpgw']->link('/index.php', array('menuaction' => 
'controller.uicontrol.view_control_details', 
-                                                                               
                                                                                
   'view' => "view_control_details", 'id' => $control_id))
+                                                                               
                                                                                
   'id' => $control_id))
                                                ),array(
                                                        'label' => "2: " . 
lang('Choose_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, 
-                                                                               
                                                                                
   'control_area_id' => $control->get_control_area_id()))
+                                                                               
                                                                                
   'control_id' => $control_id))
                                                ),array(
                                                        'label' => "3: " . 
lang('Choose_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))
+                                                                               
                                                                                
   'control_id' => $control_id))
                                                ),array('label' => "4: " . 
lang('Sort_check_list')
                                                )
                                                
@@ -631,7 +604,8 @@
                        self::render_template_xsl(array('control/control_tabs', 
'control_item/sort_check_list'), $data);
                }
                
-               
+               /* Kommentert ut av Torstein 21.01.2012 - Tror ikke vi bruker 
denne... Kanskje den bør slettes...
+                * 
                public function generate_check_lists_for_control(){
                        $control_id = phpgw::get_var('control_id');
                        $control = $this->so->get_single($control_id);
@@ -654,7 +628,7 @@
                        
                        $check_list_id = $this->so_check_list->store( 
$new_check_list );
                        
-                       $control_items_list = 
$this->so_control_item->get_control_items_by_control($control_id);
+                       $control_items_list = 
$this->so_control_item_list->get_control_items_by_control($control_id);
                        
                        foreach($control_items_list as $control_item){
                                
@@ -675,8 +649,7 @@
                        $this->redirect(array('menuaction' => 
'controller.uicontrol.view_check_lists_for_control', 'control_id'=>$control_id 
));
                }
                
-               /* Kommentert ut av Torstein 21.01.2012 - Tror ikke vi bruker 
denne... Kanskje den bør slettes...
-                * 
+               
                public function view_check_lists_for_control()
                {
                        $control_id = phpgw::get_var('control_id');

Modified: trunk/controller/inc/class.uicontrol_group.inc.php
===================================================================
--- trunk/controller/inc/class.uicontrol_group.inc.php  2012-01-23 12:04:06 UTC 
(rev 8654)
+++ trunk/controller/inc/class.uicontrol_group.inc.php  2012-01-23 15:06:54 UTC 
(rev 8655)
@@ -337,7 +337,7 @@
                                        $control_items[] = 
$control_item->serialize();
                                }
 
-                               $selected_control_items_array = 
controller_socontrol_item::get_instance()->get_control_items($control_group->get_id());
+                               $selected_control_items_array = 
controller_socontrol_item_list::get_instance()->get_control_items($control_group->get_id());
 
                                $selected_control_items = array();
 
@@ -454,7 +454,7 @@
                                        $control_items[] = 
$control_item->serialize();
                                }
 
-                               $selected_control_items_array = 
controller_socontrol_item::get_instance()->get_control_items($control_group->get_id());
+                               $selected_control_items_array = 
controller_socontrol_item_list::get_instance()->get_control_items($control_group->get_id());
 
                                $selected_control_items = array();
 
@@ -503,9 +503,6 @@
 
                        $control_group_list = 
$this->so_control_group_list->get_single_2($control_id, $control_group_id);
 
-                       var_dump("Skriver ut control_group_list");
-                       var_dump($control_group_list);
-
                        if( $control_group_list == null ){
                                $control_group_list = new 
controller_control_group_list();
                                
$control_group_list->set_control_id($control_id);
@@ -630,7 +627,7 @@
                                $control_group_array = 
$control_group->toArray();
                                //var_dump($control_group_array);
 
-                               $control_items_array = 
$this->so_control_item->get_control_items($control_group_id);
+                               $control_items_array = 
$this->so_control_item_list->get_control_items($control_group_id);
 
                                $control_items = array();
 

Modified: trunk/controller/js/controller/ajax.js
===================================================================
--- trunk/controller/js/controller/ajax.js      2012-01-23 12:04:06 UTC (rev 
8654)
+++ trunk/controller/js/controller/ajax.js      2012-01-23 15:06:54 UTC (rev 
8655)
@@ -145,6 +145,23 @@
                        });     
        });
        
+       $("#frm_save_control_details").submit(function(e){
+                       
+               var thisForm = $(this);
+               
+               var hidden_control_area_id = 
$(thisForm).find("input[name='control_area_id_hidden']").val();
+               var control_area_id = $("#control_area_id").val();
+               
+               if(hidden_control_area_id != control_area_id)
+               {
+                       var answer = confirm("Du har endret kontrollområde til 
kontrollen. " +
+                                                                "Hvis du 
lagrer vil kontrollgrupper og kontrollpunkter til kontrollen bli slettet.")
+                       if (!answer){
+                               e.preventDefault();
+                       }
+               }
+       });
+       
        // file: view_check_lists_for_location.xsl
        // Fetches info about a check list on hover status image icon
        $('a.view_check_list').bind('contextmenu', function(){

Modified: trunk/controller/templates/base/control/control.xsl
===================================================================
--- trunk/controller/templates/base/control/control.xsl 2012-01-23 12:04:06 UTC 
(rev 8654)
+++ trunk/controller/templates/base/control/control.xsl 2012-01-23 15:06:54 UTC 
(rev 8655)
@@ -25,8 +25,9 @@
 
 <div class="yui-content">
        <div id="control_details">
-               <form 
action="index.php?menuaction=controller.uicontrol.save_control_details" 
method="post">
-                       <input type="hidden" name="control_id" 
value="{$control_id}" /> 
+               <form id="frm_save_control_details" 
action="index.php?menuaction=controller.uicontrol.save_control_details" 
method="post">
+                       <input type="hidden" name="control_id" 
value="{$control_id}" />
+                       <input type="hidden" name="control_area_id_hidden" 
value="{$control_area_id}" />        
        
                        <dl class="proplist-col">
                                <dt>
@@ -39,13 +40,13 @@
                                                <option value="">Velg 
kontrollområde</option>
                                                        <xsl:for-each 
select="control_areas_array2">
                                                                <xsl:choose>
-                                                                       
<xsl:when test="id != control/control_area_id">
-                                                                               
<option value="{id}">
+                                                                       
<xsl:when test="id = $control_area_id">
+                                                                               
<option value="{id}" selected="selected">
                                                                                
        <xsl:value-of disable-output-escaping="yes" select="name"/>
                                                                                
</option>
                                                                        
</xsl:when>
                                                                        
<xsl:otherwise>
-                                                                               
<option value="{id}" selected="selected">
+                                                                               
<option value="{id}">
                                                                                
        <xsl:value-of disable-output-escaping="yes" select="name"/>
                                                                                
</option>
                                                                        
</xsl:otherwise>
@@ -68,13 +69,13 @@
                                                        <option value="">Velg 
prosedyre</option>
                                                        <xsl:for-each 
select="procedures_array">
                                                                <xsl:choose>
-                                                                       
<xsl:when test="id != $control_procedure_id">
-                                                                               
<option value="{id}">
+                                                                       
<xsl:when test="id = $control_procedure_id">
+                                                                               
<option value="{id}" selected="selected">
                                                                                
        <xsl:value-of disable-output-escaping="yes" select="title"/>
                                                                                
</option>
                                                                        
</xsl:when>
                                                                        
<xsl:otherwise>
-                                                                               
<option value="{id}" selected="selected">
+                                                                               
<option value="{id}">
                                                                                
        <xsl:value-of disable-output-escaping="yes" select="title"/>
                                                                                
</option>
                                                                        
</xsl:otherwise>

Modified: trunk/controller/templates/base/control_item/choose_control_items.xsl
===================================================================
--- trunk/controller/templates/base/control_item/choose_control_items.xsl       
2012-01-23 12:04:06 UTC (rev 8654)
+++ trunk/controller/templates/base/control_item/choose_control_items.xsl       
2012-01-23 15:06:54 UTC (rev 8655)
@@ -7,7 +7,7 @@
           <h2>Velg dine kontrollpunkt</h2>
           
           <!-- ==== CHOOSE NONE/ALL ===== -->
-               <h4 class="expand_header"><div class="expand_all">Vis 
alle</div><div class="collapse_all">Skjul alle</div></h4>
+               <div class="expand_menu"><div class="expand_all">Vis 
alle</div><div class="collapse_all focus">Skjul alle</div></div>
                
                <form id="frm_control_items" 
action="index.php?menuaction=controller.uicontrol.save_control_items" 
method="post">       
                        <xsl:variable name="control_id"><xsl:value-of 
select="control/id"/></xsl:variable>

Modified: trunk/controller/templates/base/control_item/sort_check_list.xsl
===================================================================
--- trunk/controller/templates/base/control_item/sort_check_list.xsl    
2012-01-23 12:04:06 UTC (rev 8654)
+++ trunk/controller/templates/base/control_item/sort_check_list.xsl    
2012-01-23 15:06:54 UTC (rev 8655)
@@ -1,12 +1,12 @@
 <!-- $Id$ -->
 <xsl:template name="sort_check_list" xmlns:php="http://php.net/xsl";>
 
+<xsl:variable name="control_id"><xsl:value-of 
select="control/id"/></xsl:variable>
+
 <div class="yui-content tab_content">
                
          <!-- ===========================  SHOWS CONTROL ITEMS RECEIPT   
=============================== -->
-
-               <xsl:variable name="control_id"><xsl:value-of 
select="control_id"/></xsl:variable>
-               <input type="hidden" id="control_id" name="control_id" 
value="{control_id}" />
+               <input type="hidden" id="control_id" name="control_id" 
value="{$control_id}" />
                
                <ul class="groups">
                        <xsl:for-each select="saved_groups_with_items_array">




reply via email to

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