fmsystem-commits
[Top][All Lists]
Advanced

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

[Fmsystem-commits] [8561]


From: Torstein
Subject: [Fmsystem-commits] [8561]
Date: Thu, 12 Jan 2012 14:46:47 +0000

Revision: 8561
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=8561
Author:   vator
Date:     2012-01-12 14:46:47 +0000 (Thu, 12 Jan 2012)
Log Message:
-----------


Modified Paths:
--------------
    trunk/controller/inc/class.socase.inc.php
    trunk/controller/inc/class.socheck_item.inc.php
    trunk/controller/inc/class.socontrol_item.inc.php
    trunk/controller/inc/class.uicase.inc.php
    trunk/controller/inc/class.uicheck_list.inc.php
    trunk/controller/inc/component/class.calendar_builder.inc.php
    trunk/controller/inc/model/class.check_list.inc.php
    trunk/controller/js/controller/ajax.js
    trunk/controller/setup/setup.inc.php
    trunk/controller/setup/tables_current.inc.php
    trunk/controller/setup/tables_update.inc.php
    trunk/controller/templates/base/calendar/view_calendar_month.xsl
    trunk/controller/templates/base/case/create_case_message.xsl
    trunk/controller/templates/base/case/view_case_message.xsl
    trunk/controller/templates/base/check_list/edit_check_list.xsl
    trunk/controller/templates/base/check_list/view_closed_cases.xsl
    trunk/controller/templates/base/check_list/view_control_info.xsl
    trunk/controller/templates/base/check_list/view_errors_for_check_list.xsl
    trunk/controller/templates/base/check_list/view_measurements.xsl
    trunk/controller/templates/base/control_item/choose_control_items.xsl
    trunk/controller/templates/base/css/base.css

Modified: trunk/controller/inc/class.socase.inc.php
===================================================================
--- trunk/controller/inc/class.socase.inc.php   2012-01-12 11:52:18 UTC (rev 
8560)
+++ trunk/controller/inc/class.socase.inc.php   2012-01-12 14:46:47 UTC (rev 
8561)
@@ -64,6 +64,7 @@
                        if($this->db->next_record()) {
                                $case = new 
controller_check_item_case($this->unmarshal($this->db->f('id', true), 'int'));
                                
$case->set_check_item_id($this->unmarshal($this->db->f('check_item_id', true), 
'int'));
+                               
$case->set_status($this->unmarshal($this->db->f('status', true), 'int'));
                                
$case->set_location_id($this->unmarshal($this->db->f('location_id', true), 
'int'));
                                
$case->set_location_item_id($this->unmarshal($this->db->f('location_item_id', 
true), 'int'));
                                
$case->set_descr($this->unmarshal($this->db->f('descr', true), 'string'));
@@ -80,7 +81,34 @@
                        }
                }
                
+               public function get_cases_by_message($message_ticket_id, 
$return_type = "return_object")
+               {
+                       $sql = "SELECT * FROM controller_check_item_case "; 
+                       $sql .= "WHERE location_item_id = $message_ticket_id";
+
+                       $this->db->query($sql);
+
+                       while ($this->db->next_record()) {
+                               $case = new 
controller_check_item_case($this->unmarshal($this->db->f('id', true), 'int'));
+                               
$case->set_check_item_id($this->unmarshal($this->db->f('check_item_id', true), 
'int'));
+                               
$case->set_location_id($this->unmarshal($this->db->f('location_id', true), 
'int'));
+                               
$case->set_location_item_id($this->unmarshal($this->db->f('location_item_id', 
true), 'int'));
+                               
$case->set_descr($this->unmarshal($this->db->f('descr', true), 'string'));
+                               
$case->set_user_id($this->unmarshal($this->db->f('user_id', true), 'int'));     
+                               
$case->set_entry_date($this->unmarshal($this->db->f('entry_date', true), 
'int'));
+                               
$case->set_modified_date($this->unmarshal($this->db->f('modified_date', true), 
'int'));
+                               
$case->set_modified_by($this->unmarshal($this->db->f('modified_by', true), 
'int'));
+
+                               if($return_type == "return_object")
+                                       $cases_array[] = $case;
+                               else
+                                       $cases_array[] = $case->toArray();
+                       }
+
+                       return $cases_array;
+               }
                
+               
                function add(&$case)
                {
                        $cols = array(
@@ -97,7 +125,7 @@
 
                        $values = array(
                                $this->marshal($case->get_check_item_id(), 
'int'),
-                               $case->get_status(),
+                               $this->marshal($case->get_status(), 'int'),
                                $this->marshal($case->get_location_id(), 'int'),
                                $this->marshal($case->get_location_item_id(), 
'int'),
                                $this->marshal($case->get_descr(), 'string'),
@@ -118,6 +146,7 @@
 
                        $values = array(
                                'check_item_id = ' . 
$this->marshal($case->get_check_item_id(), 'int'),
+                               'status = ' . $case->get_status(),
                                'location_id = ' . 
$this->marshal($case->get_location_id(), 'int'),
                                'location_item_id = ' . 
$this->marshal($case->get_location_item_id(), 'int'),
                                'descr = ' . $this->marshal($case->get_descr(), 
'string'),

Modified: trunk/controller/inc/class.socheck_item.inc.php
===================================================================
--- trunk/controller/inc/class.socheck_item.inc.php     2012-01-12 11:52:18 UTC 
(rev 8560)
+++ trunk/controller/inc/class.socheck_item.inc.php     2012-01-12 14:46:47 UTC 
(rev 8561)
@@ -70,7 +70,6 @@
                                $this->marshal($check_item->get_status(), 
'int'),
                                $this->marshal($check_item->get_comment(), 
'string'),
                                
$this->marshal($check_item->get_check_list_id(), 'int'),
-                               
$this->marshal($check_item->get_message_ticket_id(), 'int'),
                                $this->marshal($check_item->get_measurement(), 
'int')
                        );
 
@@ -85,11 +84,10 @@
 
                        $values = array(
                                'control_item_id = ' . 
$this->marshal($check_item->get_control_item_id(), 'int'),
-                               'status = ' . $check_item->get_status(),
+                               'status = ' . 
$this->marshal($check_item->get_status(), 'int'),
                                'comment = ' . 
$this->marshal($check_item->get_comment(), 'string'),
                                'check_list_id = ' . 
$this->marshal($check_item->get_check_list_id(), 'int'),
-                               'message_ticket_id = ' . 
$this->marshal($check_item->get_message_ticket_id(), 'int'),
-                               'measurement = ' . 
$this->marshal($check_item->get_measurement(), 'int')
+                               'measurement = ' . 
$this->marshal($check_item->get_measurement(), 'string')
                        );
 
                        $result = $this->db->query('UPDATE 
controller_check_item SET ' . join(',', $values) . " WHERE id=$id", 
__LINE__,__FILE__);
@@ -137,6 +135,80 @@
                        }
                }
                
+               public function get_single_with_cases($check_item_id, 
$returnType = "return_object"){
+                       $sql  = "SELECT ci.id as ci_id, ci.status as ci_status, 
control_item_id, ci.comment, ci.measurement, check_list_id, ";
+                       $sql .= "cic.id as cic_id, cic.status as cic_status, 
cic.*, ";
+                       $sql .= "coi.id as coi_id, coi.* ";
+                       $sql .= "FROM controller_check_item ci "; 
+                       $sql .= "LEFT JOIN controller_control_item as coi ON 
ci.control_item_id = coi.id ";
+                       $sql .= "LEFT JOIN controller_check_item_case as cic ON 
ci.id = cic.check_item_id ";
+                       $sql .= "WHERE ci.id = $check_item_id ";
+                                                                               
        
+                       $this->db->query($sql);
+                       
+                       $counter = 0;
+                       $check_item = null;
+                       while ($this->db->next_record()) {
+                               
+                               if( $counter == 0 ){
+                                                                       
+                                       $check_item = new 
controller_check_item($this->unmarshal($this->db->f('ci_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('ci_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'));
+                                       
$check_item->set_measurement($this->unmarshal($this->db->f('measurement', 
true), 'int'));
+                                       
+                                       $control_item = new 
controller_control_item($this->unmarshal($this->db->f('coi_id', true), 'int'));
+                                       
$control_item->set_title($this->db->f('title', true), 'string');
+                                       
$control_item->set_required($this->db->f('required', true), 'string');
+                                       
$control_item->set_what_to_do($this->db->f('what_to_do', true), 'string');
+                                       
$control_item->set_how_to_do($this->db->f('how_to_do', true), 'string');
+                                       
$control_item->set_control_group_id($this->db->f('control_group_id', true), 
'string');
+                                       
$control_item->set_type($this->db->f('type', true), 'string');
+                               
+                                       if($returnType == "return_array")
+                                               
$check_item->set_control_item($control_item->toArray());
+                                       else
+                                               
$check_item->set_control_item($control_item);
+                                               
+                                       $cases_array = array();
+                               }
+                               
+                               if($this->db->f('cic_id', true) != ''){
+                                       $case = new 
controller_check_item_case($this->unmarshal($this->db->f('cic_id', true), 
'int'));
+                                       
$case->set_check_item_id($this->unmarshal($this->db->f('check_item_id', true), 
'int'));
+                                       
$case->set_status($this->unmarshal($this->db->f('cic_status', true), 'int'));
+                                       
$case->set_location_id($this->unmarshal($this->db->f('location_id', true), 
'int'));
+                                       
$case->set_location_item_id($this->unmarshal($this->db->f('location_item_id', 
true), 'int'));
+                                       
$case->set_descr($this->unmarshal($this->db->f('descr', true), 'string'));
+                                       
$case->set_user_id($this->unmarshal($this->db->f('user_id', true), 'int'));     
+                                       
$case->set_entry_date($this->unmarshal($this->db->f('entry_date', true), 
'int'));
+                                       
$case->set_modified_date($this->unmarshal($this->db->f('modified_date', true), 
'int'));
+                                       
$case->set_modified_by($this->unmarshal($this->db->f('modified_by', true), 
'int'));
+                               
+                               
+                                       if($returnType == "return_array")
+                                               $cases_array[] = 
$case->toArray();
+                                       else
+                                               $cases_array[] = $case;
+                               }
+                               
+                               $check_item_id =  $check_item->get_id();
+                               $counter++;
+                       }
+                       
+                       if($check_item != null){
+                               $check_item->set_cases_array($cases_array);
+                               
+                               if($returnType == "return_array")
+                                       return $check_item->toArray();
+                               else
+                                       return $check_item;
+                       }else{
+                               return null;
+                       }
+               }
                
                public function 
get_check_item_by_check_list_and_control_item($check_list_id, $control_item_id)
                {
@@ -213,7 +285,7 @@
                        return $check_items_array;
                }
                
-               public function get_check_items_and_cases($check_list_id, 
$status = "open", $messageStatus = null, $returnType = "return_object"){
+               public function get_check_items_with_cases($check_list_id, 
$status = "open", $messageStatus = null, $returnType = "return_object"){
                        $sql  = "SELECT ci.id as ci_id, ci.status, 
control_item_id, ci.comment, ci.measurement, check_list_id, cic.id as cic_id, 
cic.*, ";
                        $sql .= "coi.id as coi_id, coi.* ";
                        $sql .= "FROM controller_check_item ci "; 
@@ -303,8 +375,9 @@
                        }
                }
                
-               public function 
get_check_items_and_cases_by_message($message_ticket_id, $returnType = 
"object"){
-                       $sql  = "SELECT ci.id as ci_id, ci.status, 
control_item_id, ci.comment, ci.measurement, check_list_id, cic.id as cic_id, 
cic.*, ";
+               public function 
get_check_items_with_cases_by_message($message_ticket_id, $returnType = 
"return_object"){
+                       $sql  = "SELECT ci.id as ci_id, ci.status as ci_status, 
control_item_id, ci.comment, ci.measurement, "; 
+                       $sql .= "check_list_id, cic.id as cic_id, cic.status as 
cic_status, cic.*, ";
                        $sql .= "coi.id as coi_id, coi.* ";
                        $sql .= "FROM controller_check_item ci "; 
                        $sql .= "LEFT JOIN controller_control_item as coi ON 
ci.control_item_id = coi.id ";
@@ -322,7 +395,7 @@
                                        if($check_item_id != 0){
                                                
$check_item->set_cases_array($cases_array);
                                                
-                                               if($returnType == "array")
+                                               if($returnType == 
"return_array")
                                                        $check_items_array[] = 
$check_item->toArray();
                                                else
                                                        $check_items_array[] = 
$check_item;
@@ -330,7 +403,7 @@
                                
                                        $check_item = new 
controller_check_item($this->unmarshal($this->db->f('ci_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_status($this->unmarshal($this->db->f('ci_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'));
                                        
$check_item->set_measurement($this->unmarshal($this->db->f('measurement', 
true), 'int'));
@@ -343,13 +416,17 @@
                                        
$control_item->set_control_group_id($this->db->f('control_group_id', true), 
'string');
                                        
$control_item->set_type($this->db->f('type', true), 'string');
                                
-                                       
$check_item->set_control_item($control_item->toArray());
+                                       if($returnType == "return_array")
+                                               
$check_item->set_control_item($control_item->toArray());
+                                       else
+                                               
$check_item->set_control_item($control_item);
                                                                        
                                        $cases_array = array();
                                }
                                
                                if($this->db->f('cic_id', true) != ''){
                                        $case = new 
controller_check_item_case($this->unmarshal($this->db->f('cic_id', true), 
'int'));
+                                       
$case->set_status($this->unmarshal($this->db->f('cic_status', true), 'int'));
                                        
$case->set_check_item_id($this->unmarshal($this->db->f('check_item_id', true), 
'int'));
                                        
$case->set_location_id($this->unmarshal($this->db->f('location_id', true), 
'int'));
                                        
$case->set_location_item_id($this->unmarshal($this->db->f('location_item_id', 
true), 'int'));
@@ -360,7 +437,7 @@
                                        
$case->set_modified_by($this->unmarshal($this->db->f('modified_by', true), 
'int'));
                                
                                
-                                       if($returnType == "array")
+                                       if($returnType == "return_array")
                                                $cases_array[] = 
$case->toArray();
                                        else
                                                $cases_array[] = $case;
@@ -372,7 +449,7 @@
                        if($check_item != null){
                                $check_item->set_cases_array($cases_array);
                                
-                               if($returnType == "array")
+                               if($returnType == "return_array")
                                        $check_items_array[] = 
$check_item->toArray();
                                else
                                        $check_items_array[] = $check_item;
@@ -383,35 +460,26 @@
                        }
                }
                
-               public function get_check_items_by_message($message_ticket_id){
-                       $sql  = "SELECT ci.id as ci_id, ci.status, 
control_item_id, ci.comment, ci.measurement, check_list_id, "; 
-                       $sql .= "coi.id as coi_id, coi.title, coi.required, 
coi.what_to_do, coi.how_to_do, coi.control_group_id, coi.type "; 
+               public function get_check_items_by_message($message_ticket_id, 
$returnType = "return_array" ){
+                       $sql  = "SELECT ci.* "; 
                        $sql .= "FROM controller_check_item ci "; 
-                       $sql .= "LEFT JOIN controller_control_item as coi ON 
ci.control_item_id = coi.id ";
                        $sql .= "LEFT JOIN controller_check_item_case as cic ON 
ci.id = cic.check_item_id ";
                        $sql .= "WHERE cic.location_item_id = 
$message_ticket_id ";
                                                                
                        $this->db->query($sql);
                        
                        while ($this->db->next_record()) {
-                               $check_item = new 
controller_check_item($this->unmarshal($this->db->f('ci_id', true), 'int'));
+                               $check_item = new 
controller_check_item($this->unmarshal($this->db->f('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'));
                                
$check_item->set_measurement($this->unmarshal($this->db->f('measurement', 
true), 'int'));
                                
-                               $control_item = new 
controller_control_item($this->unmarshal($this->db->f('coi_id', true), 'int'));
-                               $control_item->set_title($this->db->f('title', 
true), 'string');
-                               
$control_item->set_required($this->db->f('required', true), 'string');
-                               
$control_item->set_what_to_do($this->db->f('what_to_do', true), 'string');
-                               
$control_item->set_how_to_do($this->db->f('how_to_do', true), 'string');
-                               
$control_item->set_control_group_id($this->db->f('control_group_id', true), 
'string');
-                               $control_item->set_type($this->db->f('type', 
true), 'string');
-                               
-                               
$check_item->set_control_item($control_item->toArray());
-                               
-                               $check_items_array[] = $check_item->toArray();
+                               if($returnType == "return_array")
+                                       $check_items_array[] = 
$check_item->toArray();
+                               else
+                                       $check_items_array[] = $check_item;
                        }
                        
                        return $check_items_array;

Modified: trunk/controller/inc/class.socontrol_item.inc.php
===================================================================
--- trunk/controller/inc/class.socontrol_item.inc.php   2012-01-12 11:52:18 UTC 
(rev 8560)
+++ trunk/controller/inc/class.socontrol_item.inc.php   2012-01-12 14:46:47 UTC 
(rev 8561)
@@ -134,7 +134,8 @@
                        
$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'));
-
+                       
$control_item->set_type($this->unmarshal($this->db->f('type', true), 'string'));
+                       
                        return $control_item;
                }
 

Modified: trunk/controller/inc/class.uicase.inc.php
===================================================================
--- trunk/controller/inc/class.uicase.inc.php   2012-01-12 11:52:18 UTC (rev 
8560)
+++ trunk/controller/inc/class.uicase.inc.php   2012-01-12 14:46:47 UTC (rev 
8561)
@@ -47,7 +47,8 @@
                                                                        
'register_case'                 => true,
                                                                        
'create_case_message'   => true,
                                                                        
'view_case_message'     => true,
-                                                                       
'register_case_message' => true
+                                                                       
'register_case_message' => true,
+                                                                       
'updateStatusForCases' => true
                                                                );
 
                function __construct()
@@ -100,7 +101,7 @@
                        $check_list_id = phpgw::get_var('check_list_id');
                        $check_list = 
$this->so_check_list->get_single($check_list_id);
                                                
-                       $check_items_and_cases = 
$this->so_check_item->get_check_items_and_cases($check_list_id, "open", 
"no_message_registered", "return_array");
+                       $check_items_and_cases = 
$this->so_check_item->get_check_items_with_cases($check_list_id, "open", 
"no_message_registered", "return_array");
 
                        $control_id = $check_list->get_control_id();
                        $control = $this->so_control->get_single( $control_id );
@@ -166,14 +167,27 @@
        
                        $location_array = 
execMethod('property.bolocation.read_single', array('location_code' => 
$location_code));
 
-                       $message_details = "Kontroll: " .  
$control->get_title() . "\n\n";
-                       //$message_details = "Kontrollområde: " .  
$control->get_title() . "\n\n";
+                       $message_details = "Kontroll: " .  
$control->get_title() . "\n";
                        
+                       $cats = CreateObject('phpgwapi.categories', -1, 
'controller', '.control');
+                       $cats->supress_info     = true;
+
+                       //liste alle
+                       $control_areas = 
$cats->formatted_xslt_list(array('format'=>'filter','selected' => 
$control_area_id,'globals' => true,'use_acl' => $_category_acl));
+
+                       $control_area_id = $control->get_control_area_id();
+                       $control_area = $cats->return_single($control_area_id);
+                       $control_area_name = $control_area[0]['name'];
+                       
+                       $message_details .= "Kontrollområde: " .  
$control_area_name . "\n\n";
+                       
                        // Generates message details from comment field in 
check item 
+                       $counter = 1;
                        foreach($case_ids as $case_id){
                                $case = $this->so->get_single($case_id);
-                               $message_details .= "Gjøremål: ";
+                               $message_details .= "Gjøremål $counter: ";
                                $message_details .=  $case->get_descr() . 
"<br>";
+                               $counter++;
                        }
                        
                        $location_id    = 
$GLOBALS['phpgw']->locations->get_id("controller", ".checklist");
@@ -196,8 +210,7 @@
                        $todays_date = mktime(0,0,0,date("m"), date("d"), 
date("Y"));
 
                        $user_id = $GLOBALS['phpgw_info']['user']['id'];
-                       $status = 0;
-                       
+                                               
                        // Registers message and updates check items with 
message ticket id
                        foreach($case_ids as $case_id){
                                $case = $this->so->get_single($case_id);
@@ -223,7 +236,7 @@
        
                        $location_array = 
execMethod('property.bolocation.read_single', array('location_code' => 
$location_code));
 
-                       $check_items_and_cases = 
$this->so_check_item->get_check_items_and_cases_by_message($message_ticket_id, 
"array");
+                       $check_items_and_cases = 
$this->so_check_item->get_check_items_with_cases_by_message($message_ticket_id, 
"return_array");
                                                
                        $botts = CreateObject('property.botts',true);
                        $message_ticket = 
$botts->read_single($message_ticket_id);
@@ -254,5 +267,54 @@
                        self::render_template_xsl('case/view_case_message', 
$data);
                }
                
+               public function updateStatusForCases($location_id, 
$location_item_id, $updateStatus = 0){
+                       
+                       $cases_array = $this->so->get_cases_by_message( 
$location_item_id );
+                       
+                       foreach($cases_array as $case){
+                               $case->set_status( $updateStatus );
+                               $this->so->update( $case );     
+                       }
+                       
+                       $check_items = 
$this->so_check_item->get_check_items_by_message($message_ticket_id, 
"return_object");
+                       
+                       if($updateStatus == 0){
+
+                               foreach($check_items as $check_item){
+                                       $check_item->set_status(0);
+                                       
$this->so_check_item->update($check_item);
+                               }
+                       }
+                       else if($updateStatus == 1){
+                               
+                               foreach($check_items as $check_item){
+                                       $check_item = 
$this->so_check_item->get_single_with_cases($check_item->get_id());
+                                       
+                                       if($check_item->get_status() == 0){
+                                               
+                                               $cases_array = 
$check_item->get_cases_array();  
+                                               
+                                               if(count($cases_array) == 0){ 
+                                                       
$check_item->set_status(1);
+                                                       
$this->so_check_item->update($check_item);
+                                               }
+                                               else{
+                                                       $all_cases_status = 1;
+                                                       
+                                                       foreach($cases_array as 
$case){
+                                                               
if($case->get_status() == 0)
+                                                                       
$all_cases_status = 0;          
+                                                       }
+                                                       
+                                                       if($all_cases_status == 
1){
+                                                               
$check_item->set_status(1);
+                                                               
$this->so_check_item->update($check_item);
+                                                       }
+                                               }
+                                       }
+                               }
+                       }
+               }
+               
                public function query(){}
        }

Modified: trunk/controller/inc/class.uicheck_list.inc.php
===================================================================
--- trunk/controller/inc/class.uicheck_list.inc.php     2012-01-12 11:52:18 UTC 
(rev 8560)
+++ trunk/controller/inc/class.uicheck_list.inc.php     2012-01-12 14:46:47 UTC 
(rev 8561)
@@ -386,7 +386,7 @@
                        
                        $check_list = 
$this->so_check_list->get_single($check_list_id);
                        
-                       $open_check_items_and_cases = 
$this->so_check_item->get_check_items_and_cases($check_list_id, 'open', null, 
'return_array');
+                       $open_check_items_and_cases = 
$this->so_check_item->get_check_items_with_cases($check_list_id, 'open', null, 
'return_array');
                        
                        $data = array
                        (
@@ -402,7 +402,7 @@
                        
                        $check_list = 
$this->so_check_list->get_single($check_list_id);
                        
-                       $closed_check_items_and_cases = 
$this->so_check_item->get_check_items_and_cases($check_list_id, 'closed', null, 
'return_array');
+                       $closed_check_items_and_cases = 
$this->so_check_item->get_check_items_with_cases($check_list_id, 'closed', 
null, 'return_array');
                                                        
                        $data = array
                        (
@@ -498,20 +498,25 @@
                        $check_item_id = phpgw::get_var('check_item_id');
                        $comment = phpgw::get_var('comment');
                        $status = phpgw::get_var('status');
-                                               
+                                                                       
                        $check_item = 
$this->so_check_item->get_single($check_item_id);
+                       $control_item_id = $check_item->get_control_item_id();
+                       
+                       $control_item = 
$this->so_control_item->get_single($check_item->get_control_item_id());
+                       
+                       if($control_item->get_type() == 'control_item_type_2')
+                       {
+                               $measurement = phpgw::get_var('measurement');
+                               $check_item->set_measurement( $measurement );   
+                       }
+                       
                        $check_item->set_status( $status );
                        $check_item->set_comment( $comment );
                        
                        $check_item_id = $this->so_check_item->store( 
$check_item );
 
-                       if($status == 0)
-                               $status_text = "not_fixed";
-                       else
-                               $status_text = "fixed";
-                       
                        if($check_item_id > 0)
-                               return json_encode( array( "saveStatus" => 
"saved", "fixedStatus" => $status_text ) );
+                               return json_encode( array( "saveStatus" => 
"saved" ) );
                        else
                                return json_encode( array( "status" => 
"not_saved" ) );
                }

Modified: trunk/controller/inc/component/class.calendar_builder.inc.php
===================================================================
--- trunk/controller/inc/component/class.calendar_builder.inc.php       
2012-01-12 11:52:18 UTC (rev 8560)
+++ trunk/controller/inc/component/class.calendar_builder.inc.php       
2012-01-12 14:46:47 UTC (rev 8561)
@@ -55,11 +55,15 @@
                
                                $todays_date = mktime(0,0,0,date("m"), 
date("d"), date("Y"));
                                
-                               if( $check_list->get_status() == 0 & 
$check_list->get_planned_date() > 0 )
+                               if( $check_list->get_status() == 0 & 
$check_list->get_planned_date() > 0 & $check_list->get_deadline() > 
$todays_date)
                                {
                                        $status = "control_planned";
                                        
$check_list_status_info->set_info_text("Planlagt utført: " . 
$check_list->get_planned_date());
                                }
+                               else if( $check_list->get_status() == 0 & 
$check_list->get_planned_date() > 0 & $check_list->get_deadline() < 
$todays_date)
+                               {
+                                       $status = 
"control_not_accomplished_with_info";
+                               }
                                else if( $check_list->get_status() == 0 & 
$check_list->get_deadline() > $todays_date )
                                {
                                        $status = "control_not_accomplished";

Modified: trunk/controller/inc/model/class.check_list.inc.php
===================================================================
--- trunk/controller/inc/model/class.check_list.inc.php 2012-01-12 11:52:18 UTC 
(rev 8560)
+++ trunk/controller/inc/model/class.check_list.inc.php 2012-01-12 14:46:47 UTC 
(rev 8561)
@@ -44,6 +44,9 @@
                protected $location_code;
                protected $component_id;
                
+               // Aggregate field. Field not in a table
+               protected $num_open_cases;
+               
                // Objects
                protected $check_item_array = array();
                protected $control;
@@ -128,7 +131,14 @@
                }
                
                public function get_component_id() { return 
$this->component_id; }
+
+               public function get_num_open_cases() { return 
$this->num_open_cases; }
                
+               public function set_num_open_cases($num_open_cases)
+               {
+                       $this->num_open_cases = $num_open_cases;
+               }
+               
                public function set_control($control)
                {
                        $this->control = $control;

Modified: trunk/controller/js/controller/ajax.js
===================================================================
--- trunk/controller/js/controller/ajax.js      2012-01-12 11:52:18 UTC (rev 
8560)
+++ trunk/controller/js/controller/ajax.js      2012-01-12 14:46:47 UTC (rev 
8561)
@@ -194,8 +194,6 @@
        $("#frm_save_check_item").live("submit", function(e){
                e.preventDefault();
                var thisForm = $(this);
-               var liWrp = $(this).parent();
-               var liWrpClone = $(liWrp).clone();
                var submitBnt = $(thisForm).find("input[type='submit']");
                var requestUrl = $(thisForm).attr("action"); 
 
@@ -206,25 +204,15 @@
                                  if(data){
                                  var obj = jQuery.parseJSON(data);
                                
-                                 if(obj.saveStatus == "saved" & 
obj.fixedStatus == "fixed"){
-                                         $(liWrp).fadeOut('3000', function() {
-                                                                               
  
-                                                 
$("#check_list_fixed_list").append(liWrpClone);
-                                                                               
  
-                                                 $(liWrp).addClass("hidden");
-                                         });
-                                         
-                                         }
-                                 else if(obj.saveStatus == "saved" & 
obj.fixedStatus == "not_fixed"){
-                                         
+                                 if(obj.saveStatus == "saved"){
                                          var submitBnt = 
$(thisForm).find("input[type='submit']");
-                                               $(submitBnt).val("Lagret");     
+                                         $(submitBnt).val("Lagret");   
                                                  
                                                // Changes text on save button 
back to original
                                                window.setTimeout(function() {
-                                                 $(submitBnt).val('Oppdater 
håndtert avvik');
+                                                 $(submitBnt).val('Oppdater 
måling');
                                                  
$(submitBnt).addClass("not_active");
-                                                        }, 1000);
+                                                        }, 1000);              
                          
                                          }
                                  }
                                }
@@ -255,7 +243,7 @@
                        });
        });
        
-       $("#frm_update_check_list").live("click", function(e){
+       $("#frm_update_check_list").live("submit", function(e){
                e.preventDefault();
 
                var thisForm = $(this);

Modified: trunk/controller/setup/setup.inc.php
===================================================================
--- trunk/controller/setup/setup.inc.php        2012-01-12 11:52:18 UTC (rev 
8560)
+++ trunk/controller/setup/setup.inc.php        2012-01-12 14:46:47 UTC (rev 
8561)
@@ -1,6 +1,6 @@
 <?php
        $setup_info['controller']['name'] = 'controller';
-       $setup_info['controller']['version'] = '0.1.19';
+       $setup_info['controller']['version'] = '0.1.20';
        $setup_info['controller']['app_order'] = 100;
        $setup_info['controller']['enable'] = 1;
        $setup_info['controller']['app_group']  = 'office';

Modified: trunk/controller/setup/tables_current.inc.php
===================================================================
--- trunk/controller/setup/tables_current.inc.php       2012-01-12 11:52:18 UTC 
(rev 8560)
+++ trunk/controller/setup/tables_current.inc.php       2012-01-12 14:46:47 UTC 
(rev 8561)
@@ -76,7 +76,8 @@
                                'planned_date' => array('type' => 'int', 
'precision' => 8, 'nullable' => True),
                                'completed_date' => array('type' => 'int', 
'precision' => 8, 'nullable' => True),
                                'component_id' => array('type' => 'int', 
'precision' => 4, 'nullable' => True),
-                               'location_code' => array('type' => 'int', 
'precision' => 4, 'nullable' => True)
+                               'location_code' => array('type' => 'int', 
'precision' => 4, 'nullable' => True),
+                               'num_open_cases' => array('type' => 'int', 
'precision' => 4, 'nullable' => True)
                        ),
                        'pk' => array('id'),
                        'fk' => array(),

Modified: trunk/controller/setup/tables_update.inc.php
===================================================================
--- trunk/controller/setup/tables_update.inc.php        2012-01-12 11:52:18 UTC 
(rev 8560)
+++ trunk/controller/setup/tables_update.inc.php        2012-01-12 14:46:47 UTC 
(rev 8561)
@@ -415,4 +415,17 @@
                
                $GLOBALS['setup_info']['controller']['currentver'] = '0.1.19';
                return $GLOBALS['setup_info']['controller']['currentver'];
+       }
+       
+       $test[] = '0.1.19';
+       function controller_upgrade0_1_19()
+       {
+               
$GLOBALS['phpgw_setup']->oProc->AddColumn('controller_check_list','num_open_cases',array(
+                       'type' => 'int',
+                       'precision' => 4,
+                       'nullable' => True
+               ));
+               
+               $GLOBALS['setup_info']['controller']['currentver'] = '0.1.20';
+               return $GLOBALS['setup_info']['controller']['currentver'];
        }
\ No newline at end of file

Modified: trunk/controller/templates/base/calendar/view_calendar_month.xsl
===================================================================
--- trunk/controller/templates/base/calendar/view_calendar_month.xsl    
2012-01-12 11:52:18 UTC (rev 8560)
+++ trunk/controller/templates/base/calendar/view_calendar_month.xsl    
2012-01-12 14:46:47 UTC (rev 8561)
@@ -186,12 +186,26 @@
                                                                                
        </a>
                                                                                
</div>
                                                                        
</xsl:when>
-                                                                       
<xsl:when test="status = 'control_canceled'">
+                                                                       
<xsl:when test="status = 'control_not_accomplished_with_info'">
+                                                                               
<div style="position:relative;">
+                                                                               
<div id="info_box" style="position:absolute;display:none;"></div>
+                                                                               
        <a>
+                                                                               
        <xsl:attribute name="href">
+                                                                               
                
<xsl:text>index.php?menuaction=controller.uicheck_list_for_location.edit_check_list_for_location</xsl:text>
+                                                                               
                <xsl:text>&amp;check_list_id=</xsl:text>
+                                                                               
                <xsl:value-of select="info/check_list_id"/>
+                                                                               
        </xsl:attribute>
+                                                                               
                <span style="display:none"><xsl:value-of 
select="info/id"/></span>
+                                                                               
                <img height="15" 
src="controller/images/status_icon_red_cross.png" />
+                                                                               
        </a>
+                                                                               
</div>
+                                                                       
</xsl:when>
+                                                                       
<xsl:when test="status = 'control_not_accomplished'">
                                                                                
<div>
                                                                                
        <img height="15" src="controller/images/status_icon_red_cross.png" />
                                                                                
</div>
                                                                        
</xsl:when>
-                                                                       
<xsl:when test="status = 'control_not_accomplished'">
+                                                                       
<xsl:when test="status = 'control_canceled'">
                                                                                
<div>
                                                                                
        <img height="15" src="controller/images/status_icon_red_cross.png" />
                                                                                
</div>

Modified: trunk/controller/templates/base/case/create_case_message.xsl
===================================================================
--- trunk/controller/templates/base/case/create_case_message.xsl        
2012-01-12 11:52:18 UTC (rev 8560)
+++ trunk/controller/templates/base/case/create_case_message.xsl        
2012-01-12 14:46:47 UTC (rev 8561)
@@ -5,7 +5,18 @@
 <div id="main_content">
        
                <h1>Registrer avviksmelding</h1>
-                       
+       
+               <div id="edit_check_list_menu" class="hor_menu">
+                       <a class="btn active">
+                       <xsl:attribute name="href">
+                                       
<xsl:text>index.php?menuaction=controller.uicheck_list_for_location.edit_check_list_for_location</xsl:text>
+                                       <xsl:text>&amp;check_list_id=</xsl:text>
+                                       <xsl:value-of select="check_list/id"/>
+                               </xsl:attribute>
+                     Tilbake til sjekkliste
+                   </a>
+               </div>
+       
                <h3 class="box_header">Meldingen gjelder</h3>
                <div id="case_details">
                        <h3 class="first">Tittel på kontroll: <xsl:value-of 
select="control/title"/></h3>
@@ -102,15 +113,6 @@
                                </xsl:otherwise>
                        </xsl:choose>
                </fieldset>
-               
-               <a class="btn">
-               <xsl:attribute name="href">
-                               
<xsl:text>index.php?menuaction=controller.uicheck_list_for_location.edit_check_list_for_location</xsl:text>
-                               <xsl:text>&amp;check_list_id=</xsl:text>
-                               <xsl:value-of select="check_list/id"/>
-                       </xsl:attribute>
-             Vis sjekkliste
-           </a>
                        
 </div>
 </xsl:template>

Modified: trunk/controller/templates/base/case/view_case_message.xsl
===================================================================
--- trunk/controller/templates/base/case/view_case_message.xsl  2012-01-12 
11:52:18 UTC (rev 8560)
+++ trunk/controller/templates/base/case/view_case_message.xsl  2012-01-12 
14:46:47 UTC (rev 8561)
@@ -6,7 +6,26 @@
        
                <h1>Avviksmelding registrert</h1>
                
+               <div id="edit_check_list_menu" class="hor_menu">
+                       <a class="btn active">
+                       <xsl:attribute name="href">
+                                       
<xsl:text>index.php?menuaction=controller.uicheck_list_for_location.edit_check_list_for_location</xsl:text>
+                                       <xsl:text>&amp;check_list_id=</xsl:text>
+                                       <xsl:value-of select="check_list/id"/>
+                               </xsl:attribute>
+                     Tilbake til sjekkliste
+                   </a>
+                       <a class="btn active">
+                               <xsl:attribute name="href">
+                                       
<xsl:text>index.php?menuaction=controller.uicase.create_case_message</xsl:text>
+                                       <xsl:text>&amp;check_list_id=</xsl:text>
+                                       <xsl:value-of select="check_list/id"/>
+                               </xsl:attribute>
+                     Registrer ny melding
+                   </a>
+               </div>
                
+               
                <h3 class="box_header" href="#">Meldingen gjaldt</h3>
                <div id="case_details">
                        <h3>Bygg: <xsl:value-of 
select="location_array/loc1_name"/></h3>
@@ -53,22 +72,5 @@
                                </xsl:for-each>
                        </ul>
                </div>
-               
-               <a class="btn">
-                       <xsl:attribute name="href">
-                               
<xsl:text>index.php?menuaction=controller.uicase.create_case_message</xsl:text>
-                               <xsl:text>&amp;check_list_id=</xsl:text>
-                               <xsl:value-of select="check_list/id"/>
-                       </xsl:attribute>
-             Registrer ny melding
-           </a>
-               <a class="btn">
-               <xsl:attribute name="href">
-                               
<xsl:text>index.php?menuaction=controller.uicheck_list_for_location.edit_check_list_for_location</xsl:text>
-                               <xsl:text>&amp;check_list_id=</xsl:text>
-                               <xsl:value-of select="check_list/id"/>
-                       </xsl:attribute>
-             Endre sjekkliste
-           </a>
 </div>
 </xsl:template>

Modified: trunk/controller/templates/base/check_list/edit_check_list.xsl
===================================================================
--- trunk/controller/templates/base/check_list/edit_check_list.xsl      
2012-01-12 11:52:18 UTC (rev 8560)
+++ trunk/controller/templates/base/check_list/edit_check_list.xsl      
2012-01-12 14:46:47 UTC (rev 8561)
@@ -42,7 +42,7 @@
                                        <xsl:text>&amp;check_list_id=</xsl:text>
                                        <xsl:value-of select="check_list/id"/>
                                </xsl:attribute>
-                               Vis avvik/saker for sjekkliste
+                               Vis saker
                        </a>                    
                        <a>
                                <xsl:attribute name="href">
@@ -59,7 +59,7 @@
                                        <xsl:text>&amp;check_list_id=</xsl:text>
                                        <xsl:value-of select="check_list/id"/>
                                </xsl:attribute>
-                               Registrer avvik/sak
+                               Registrere sak
                        </a>
                </div>
                

Modified: trunk/controller/templates/base/check_list/view_closed_cases.xsl
===================================================================
--- trunk/controller/templates/base/check_list/view_closed_cases.xsl    
2012-01-12 11:52:18 UTC (rev 8560)
+++ trunk/controller/templates/base/check_list/view_closed_cases.xsl    
2012-01-12 14:46:47 UTC (rev 8561)
@@ -3,7 +3,7 @@
 <xsl:template match="data">
 
 <div id="error_message_menu">
-       <a class="btn" id="register_errors">                                    
+       <a class="btn" id="register_case">                                      
                <xsl:attribute name="href">
                        
<xsl:text>index.php?menuaction=controller.uicheck_list.register_case</xsl:text>
                        <xsl:text>&amp;check_list_id=</xsl:text>

Modified: trunk/controller/templates/base/check_list/view_control_info.xsl
===================================================================
--- trunk/controller/templates/base/check_list/view_control_info.xsl    
2012-01-12 11:52:18 UTC (rev 8560)
+++ trunk/controller/templates/base/check_list/view_control_info.xsl    
2012-01-12 14:46:47 UTC (rev 8561)
@@ -83,7 +83,7 @@
                                        <xsl:text>&amp;check_list_id=</xsl:text>
                                        <xsl:value-of select="check_list/id"/>
                                </xsl:attribute>
-                               Vis avvik/saker for sjekkliste
+                               Vis saker
                        </a>                    
                        <a class="active">
                                <xsl:attribute name="href">

Modified: 
trunk/controller/templates/base/check_list/view_errors_for_check_list.xsl
===================================================================
--- trunk/controller/templates/base/check_list/view_errors_for_check_list.xsl   
2012-01-12 11:52:18 UTC (rev 8560)
+++ trunk/controller/templates/base/check_list/view_errors_for_check_list.xsl   
2012-01-12 14:46:47 UTC (rev 8561)
@@ -72,7 +72,7 @@
                                        <xsl:text>&amp;check_list_id=</xsl:text>
                                        <xsl:value-of select="check_list/id"/>
                                </xsl:attribute>
-                               Vis avvik/saker for sjekkliste
+                               Vis saker
                        </a>                    
                        <a>
                                <xsl:attribute name="href">

Modified: trunk/controller/templates/base/check_list/view_measurements.xsl
===================================================================
--- trunk/controller/templates/base/check_list/view_measurements.xsl    
2012-01-12 11:52:18 UTC (rev 8560)
+++ trunk/controller/templates/base/check_list/view_measurements.xsl    
2012-01-12 14:46:47 UTC (rev 8561)
@@ -3,7 +3,7 @@
 <xsl:template match="data">
 
 <div id="error_message_menu">
-       <a class="btn" id="register_errors">                                    
+       <a class="btn" id="register_case">                                      
                <xsl:attribute name="href">
                        
<xsl:text>index.php?menuaction=controller.uicheck_list.register_case</xsl:text>
                        <xsl:text>&amp;check_list_id=</xsl:text>
@@ -37,25 +37,40 @@
                                <ul id="check_list_not_fixed_list" 
class="check_items expand_list">
                                        <xsl:for-each 
select="measurement_check_items">
                                                        <li>
-                                                       <xsl:if test="status = 
0">
                                                                <h4><img 
src="controller/images/arrow_right.png" width="14"/><span><xsl:value-of 
select="control_item/title"/></span></h4>                                       
       
-                                                               <form 
class="frm_save_check_item" 
action="index.php?menuaction=controller.uicheck_list.save_check_item" 
method="post">
+                                                               <form 
id="frm_save_check_item" 
action="index.php?menuaction=controller.uicheck_list.save_check_item" 
method="post">
                                                                        
<xsl:variable name="check_item_id"><xsl:value-of select="id"/></xsl:variable>
                                                                        <input 
type="hidden" name="check_item_id" value="{$check_item_id}" />
                                                                        <input 
type="hidden" name="type" value="measurement" />
                                                                         
                                                                        <div 
class="check_item">
+                                                                          <div>
+                                                                               
<label>Status</label>
+                                                                               
<select name="status">
+                                                                               
        <xsl:choose>
+                                                                               
                <xsl:when test="status = 0">
+                                                                               
                        <option value="0" SELECTED="SELECTED">Ikke 
utført</option>
+                                                                               
                        <option value="1" >Utført</option>
+                                                                               
                </xsl:when>
+                                                                               
                <xsl:when test="status = 1">
+                                                                               
                        <option value="0">Ikke utført</option>
+                                                                               
                        <option value="1" SELECTED="SELECTED">Utført</option>
+                                                                               
                </xsl:when>
+                                                                               
        </xsl:choose>
+                                                                               
</select>
+                                                                         </div>
                                                                          <div>
                                                                               
<label>Målingsverdi</label>
                                                                               
<input>
                                                                                
      <xsl:attribute name="name">measurement</xsl:attribute>
                                                                                
      <xsl:attribute name="type">text</xsl:attribute>
                                                                                
      <xsl:attribute name="value">
-                                                                               
        <xsl:value-of select="measurement"/>
+                                                                               
        <xsl:if test="measurement > 0">
+                                                                               
                <xsl:value-of select="measurement"/>
+                                                                               
        </xsl:if>
                                                                                
      </xsl:attribute>
                                                                                
    </input>
                                                                       </div>
-                                                                      
                                                                       <div>
                                                                         <label 
class="comment">Kommentar</label>
                                                                         
<textarea name="comment">
@@ -64,12 +79,11 @@
                                                                       </div>
                                                                       <div 
class="form-buttons">
                                                                                
        <xsl:variable name="lang_save"><xsl:value-of 
select="php:function('lang', 'save_check_item')" /></xsl:variable>
-                                                                               
        <input type="submit" name="save_control" value="Oppdater registert 
måling" class="not_active" title="{$lang_save}" />
+                                                                               
        <input type="submit" name="save_control" value="Oppdater måling" 
class="not_active" title="{$lang_save}" />
                                                                                
</div>
                                                                        </div>
                                                                </form>
-                                                       </xsl:if>
-                                           </li>
+                                               </li>
                                        </xsl:for-each>
                                </ul>                   
                                </xsl:when>

Modified: trunk/controller/templates/base/control_item/choose_control_items.xsl
===================================================================
--- trunk/controller/templates/base/control_item/choose_control_items.xsl       
2012-01-12 11:52:18 UTC (rev 8560)
+++ trunk/controller/templates/base/control_item/choose_control_items.xsl       
2012-01-12 14:46:47 UTC (rev 8561)
@@ -22,7 +22,7 @@
                                        <li>
                                                <xsl:choose>
                                                        <xsl:when 
test="group_control_items/child::node()">
-                                                               <h4><img 
src="controller/images/arrow_left.png" width="14"/><span><xsl:value-of 
select="control_group/group_name"/></span></h4>
+                                                               <h4><img 
src="controller/images/arrow_right.png" width="14"/><span><xsl:value-of 
select="control_group/group_name"/></span></h4>
                                                                <xsl:variable 
name="control_group_id"><xsl:value-of select="control_group/id"/></xsl:variable>
                                                                <ul>            
                                                                        
<xsl:for-each select="group_control_items">

Modified: trunk/controller/templates/base/css/base.css
===================================================================
--- trunk/controller/templates/base/css/base.css        2012-01-12 11:52:18 UTC 
(rev 8560)
+++ trunk/controller/templates/base/css/base.css        2012-01-12 14:46:47 UTC 
(rev 8561)
@@ -1014,7 +1014,7 @@
 }
 
 .frm_save_check_item input[type='submit']{
-       width: 185px;
+       width: 165px;
 }
 ul.check_items {
     width: 625px;




reply via email to

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