fmsystem-commits
[Top][All Lists]
Advanced

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

[Fmsystem-commits] [10980] controller: fix sorting - wrong datatype in d


From: Sigurd Nes
Subject: [Fmsystem-commits] [10980] controller: fix sorting - wrong datatype in database
Date: Tue, 12 Mar 2013 14:17:11 +0000

Revision: 10980
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=10980
Author:   sigurdne
Date:     2013-03-12 14:17:10 +0000 (Tue, 12 Mar 2013)
Log Message:
-----------
controller: fix sorting - wrong datatype in database

Modified Paths:
--------------
    trunk/controller/inc/class.socontrol_group_list.inc.php
    trunk/controller/inc/class.uicontrol.inc.php
    trunk/controller/inc/class.uicontrol_group.inc.php
    trunk/controller/js/controller/custom_drag_drop.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/check_list/add_check_list.xsl
    trunk/controller/templates/base/check_list/edit_check_list.xsl

Modified: trunk/controller/inc/class.socontrol_group_list.inc.php
===================================================================
--- trunk/controller/inc/class.socontrol_group_list.inc.php     2013-03-12 
08:43:09 UTC (rev 10979)
+++ trunk/controller/inc/class.socontrol_group_list.inc.php     2013-03-12 
14:17:10 UTC (rev 10980)
@@ -210,7 +210,7 @@
                        $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";
+                       $sql .= "ORDER BY cgl.order_nr ASC";
                        
                        $this->db->query($sql);
 

Modified: trunk/controller/inc/class.uicontrol.inc.php
===================================================================
--- trunk/controller/inc/class.uicontrol.inc.php        2013-03-12 08:43:09 UTC 
(rev 10979)
+++ trunk/controller/inc/class.uicontrol.inc.php        2013-03-12 14:17:10 UTC 
(rev 10980)
@@ -367,15 +367,18 @@
                 * @param HTTP:: control id 
                 * @return data array 
                 */
-               public function view_control_groups(){
+               public function view_control_groups()
+               {
                        $control_id = phpgw::get_var('control_id');
                        $control = $this->so->get_single($control_id);  
                                                                        
                        // Fetches saved control groups from db
                        $saved_control_groups = 
$this->so_control_group_list->get_control_groups_by_control($control_id);
+
                        $saved_control_group_ids = array();
                        
-                       foreach($saved_control_groups as $control_group){
+                       foreach($saved_control_groups as $control_group)
+                       {
                                $saved_control_group_ids[] = 
$control_group->get_id();
                        }
                        
@@ -384,10 +387,12 @@
                        $control_groups_as_array = 
$this->so_control_group->get_control_groups_as_array($control->get_control_area_id());
                        
                        $control_groups = array();
-                       foreach($control_groups_as_array as $control_group){
+                       foreach($control_groups_as_array as $control_group)
+                       {
                                $control_group_id = $control_group['id'];
                                
-                               if( in_array($control_group_id, 
$saved_control_group_ids )){
+                               if( in_array($control_group_id, 
$saved_control_group_ids ))
+                               {
                                        $control_groups[] = array("checked" => 
1, "control_group" => $control_group);
                                }
                                else
@@ -400,10 +405,10 @@
                        
                        $data = array
                        (
-                               'tabs'                                          
=> $GLOBALS['phpgw']->common->create_tabs($tabs, 1),
-                               'view'                                          
=> "control_groups",
-                               'editable'                              => true,
-                               'control'                                       
=> $control,
+                               'tabs'                          => 
$GLOBALS['phpgw']->common->create_tabs($tabs, 1),
+                               'view'                          => 
"control_groups",
+                               'editable'                      => true,
+                               'control'                       => $control,
                                'control_area'          => $control_area,
                                'control_groups'        => $control_groups,
                        );

Modified: trunk/controller/inc/class.uicontrol_group.inc.php
===================================================================
--- trunk/controller/inc/class.uicontrol_group.inc.php  2013-03-12 08:43:09 UTC 
(rev 10979)
+++ trunk/controller/inc/class.uicontrol_group.inc.php  2013-03-12 14:17:10 UTC 
(rev 10980)
@@ -26,7 +26,7 @@
        * @package property
        * @subpackage controller
        * @version $Id$
-       */      
+       */
 
        /**
        * Import the jQuery class
@@ -78,7 +78,7 @@
                        if(phpgw::get_var('phpgw_return_as') == 'json') {
                                return $this->query();
                        }
-                       
+
                        // Sigurd: Start categories
                        $cats   = CreateObject('phpgwapi.categories', -1, 
'controller', '.control');
                        $cats->supress_info     = true;
@@ -92,7 +92,7 @@
                                (
                                        'id'    => $cat_list['cat_id'],
                                        'name'  => $cat_list['name'],
-                               );              
+                               );
                        }
                        // END categories
                        self::add_javascript('phpgwapi', 'yahoo', 
'datatable.js');
@@ -271,14 +271,14 @@
                                         
                                        
$this->so_control_item->store($curr_control_item);
                                }
-                               
+
                                // Sigurd: START as categories
                                $cats   = CreateObject('phpgwapi.categories', 
-1, 'controller', '.control');
                                $cats->supress_info     = true;
-                               
+
                                $control_areas = 
$cats->formatted_xslt_list(array('format'=>'filter','globals' => true,'use_acl' 
=> $this->_category_acl));
                                array_unshift($control_areas['cat_list'],array 
('cat_id'=>'','name'=> lang('select value')));
-                                                               
+
                                $control_area_array = array();
                                foreach($control_areas['cat_list'] as $cat_list)
                                {
@@ -286,7 +286,7 @@
                                        (
                                                'id'    => $cat_list['cat_id'],
                                                'name'  => $cat_list['name'],
-                                       );              
+                                       );
                                }
                                // END as categories
 
@@ -411,10 +411,10 @@
                                // Sigurd: START as categories
                                $cats   = CreateObject('phpgwapi.categories', 
-1, 'controller', '.control');
                                $cats->supress_info     = true;
-                               
+
                                $control_areas = 
$cats->formatted_xslt_list(array('format'=>'filter','globals' => true,'use_acl' 
=> $this->_category_acl));
                                array_unshift($control_areas['cat_list'],array 
('cat_id'=>'','name'=> lang('select value')));
-                                                               
+
                                $control_area_array = array();
                                foreach($control_areas['cat_list'] as $cat_list)
                                {
@@ -422,7 +422,7 @@
                                        (
                                                'id'    => $cat_list['cat_id'],
                                                'name'  => $cat_list['name'],
-                                       );              
+                                       );
                                }
                                // END as categories
 
@@ -532,76 +532,92 @@
                        }
                }
 
-               public function save_group_and_item_order(){
+               public function save_group_and_item_order()
+               {
                        $control_id = phpgw::get_var('control_id');
                        $item_order_str = phpgw::get_var('item_order');
                        $group_order_str = phpgw::get_var('group_order');
-                       
+
                        $status = 1;
-                       
+
                        $group_order_arr = explode(",", $group_order_str);
                        $item_order_arr = explode(",", $item_order_str);
-                       
+
                        $db_control_group_list = 
$this->so_control_group_list->get_db();
-                       
+
                        // Saves order for control groups
-                       foreach($group_order_arr as $group_id_order){
+                       foreach($group_order_arr as $group_id_order)
+                       {
                                $group_id_order_arr = explode(":", 
$group_id_order);
                                $group_id = $group_id_order_arr[0];
                                $group_order_nr = $group_id_order_arr[1];
-                               
+
                                // Gets control_group_list object from db if it 
exists
                                $control_group_list = 
$this->so_control_group_list->get_group_list_by_control_and_group($control_id, 
$group_id);
-                               
+
                                $db_control_group_list->transaction_begin();
-                               
-                               // Updates group order if control_group_list 
object exists      
-                               if( $control_group_list != null ){
+
+                               // Updates group order if control_group_list 
object exists
+                               if( $control_group_list != null )
+                               {
                                        $control_group_list->set_order_nr( 
$group_order_nr );
                                        $id = 
$this->so_control_group_list->update( $control_group_list );
-                                       
+
                                        if($id > 0)
+                                       {
                                                
$db_control_group_list->transaction_commit();
+                                       }
                                        else
+                                       {
                                                
$db_control_group_list->transaction_abort();
+                                               $status  = 0;
+                                       }
                                }
                                // If group is not in db, report error
-                               else{
+                               else
+                               {
                                        echo "Error: group not found";
                                        $status  = 0;
                                }
-                       }                       
-                       
+                       }
+
                        $db_control_item_list = 
$this->so_control_item_list->get_db();
-               
-                       // Saves order for control items        
-                       foreach($item_order_arr as $item_id_order){
+
+                       // Saves order for control items
+                       foreach($item_order_arr as $item_id_order)
+                       {
                                $item_id_order_arr = explode(":", 
$item_id_order);
                                $control_item_id = $item_id_order_arr[0];
                                $item_order_nr = $item_id_order_arr[1];
-                               
+
                                $control_item_list = 
$this->so_control_item_list->get_single_2($control_id, $control_item_id);
-                               
+
                                $db_control_item_list->transaction_begin();
-                               $status = 0;
-                               
-                               // Updates item order if control_item_list 
object exists        
-                               if( $control_item_list != null ){
+
+                               // Updates item order if control_item_list 
object exists
+                               if( $control_item_list != null )
+                               {
                                        $control_item_list->set_order_nr( 
$item_order_nr );
                                        $id = 
$this->so_control_item_list->update( $control_item_list );
-                                       
+
                                        if($id > 0)
+                                       {
                                                
$db_control_item_list->transaction_commit();
+                                       }
                                        else
+                                       {
                                                
$db_control_item_list->transaction_abort();
+                                               $status = 0;
+                                       }
                                }
                                // if item does not exists report error
-                               else{
+                               else
+                               {
                                        echo "Error: item not found";
-                                       $status  = 0;                           
        
+                                       $status  = 0;
                                }
                        }
-                       
+
                        return $status;
                }
 
@@ -752,20 +768,20 @@
                        }
                        else
                                $control_groups_array = 
$this->so->get_control_groups_by_control_area($control_area_id);
-                       
+
                        if(count($control_groups_array)>0)
                                return json_encode( $control_groups_array );
                        else
                                return null;
                }
-               
+
                public function get_control_area_by_control_group()
                {
                        $control_group_id = phpgw::get_var('control_group_id');
                        if($control_group_id)
                        {
                                $control_areas = 
$cats->formatted_xslt_list(array('format'=>'filter','globals' => true,'use_acl' 
=> $this->_category_acl));
-                                                               
+
                                $control_area_array = array();
                                foreach($control_areas['cat_list'] as $cat_list)
                                {
@@ -773,14 +789,14 @@
                                        (
                                                'id'    => $cat_list['cat_id'],
                                                'name'  => $cat_list['name'],
-                                       );              
+                                       );
                                }
                        }
                        else
                        {
                                $control_areas_array = 
$this->so->get_control_areas_by_control_group($control_group_id);
                        }
-                       
+
                        if(count($control_areas_array)>0)
                                return json_encode( $control_areas_array );
                        else

Modified: trunk/controller/js/controller/custom_drag_drop.js
===================================================================
--- trunk/controller/js/controller/custom_drag_drop.js  2013-03-12 08:43:09 UTC 
(rev 10979)
+++ trunk/controller/js/controller/custom_drag_drop.js  2013-03-12 14:17:10 UTC 
(rev 10980)
@@ -147,4 +147,4 @@
        
   // Updating order number in front of row
   $(element).text(updated_order_nr);
-}
\ No newline at end of file
+}

Modified: trunk/controller/setup/setup.inc.php
===================================================================
--- trunk/controller/setup/setup.inc.php        2013-03-12 08:43:09 UTC (rev 
10979)
+++ trunk/controller/setup/setup.inc.php        2013-03-12 14:17:10 UTC (rev 
10980)
@@ -1,6 +1,6 @@
 <?php
        $setup_info['controller']['name'] = 'controller';
-       $setup_info['controller']['version'] = '0.1.42';
+       $setup_info['controller']['version'] = '0.1.43';
        $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       2013-03-12 08:43:09 UTC 
(rev 10979)
+++ trunk/controller/setup/tables_current.inc.php       2013-03-12 14:17:10 UTC 
(rev 10980)
@@ -119,7 +119,7 @@
                                'id' => array('type' => 'auto', 'nullable' => 
false),
                                'control_id' => array('type' => 'int', 
'precision' => '4', 'nullable' => false),
                                'control_group_id' => array('type' => 'int', 
'precision' => '4', 'nullable' => false),
-                               'order_nr' => array('type' => 'varchar', 
'precision' => '3', 'nullable' => false)
+                               'order_nr' => 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        2013-03-12 08:43:09 UTC 
(rev 10979)
+++ trunk/controller/setup/tables_update.inc.php        2013-03-12 14:17:10 UTC 
(rev 10980)
@@ -839,3 +839,30 @@
                        return 
$GLOBALS['setup_info']['controller']['currentver'];
                }
        }
+
+       $test[] = '0.1.42';
+       function controller_upgrade0_1_42()
+       {
+               $GLOBALS['phpgw_setup']->oProc->m_odb->transaction_begin();
+               
+               
$GLOBALS['phpgw_setup']->oProc->AddColumn('controller_control_group_list','temp_order_nr',array(
+                       'type' => 'int', 
+                       'precision' => '4',
+                       'nullable' => true
+               ));
+
+               $sql = "UPDATE controller_control_group_list SET temp_order_nr 
= CAST(order_nr AS integer) ";
+               $GLOBALS['phpgw_setup']->oProc->query($sql,__LINE__,__FILE__);
+
+               
$GLOBALS['phpgw_setup']->oProc->DropColumn('controller_control_group_list', 
array(), 'order_nr');
+               
+               
$GLOBALS['phpgw_setup']->oProc->RenameColumn('controller_control_group_list','temp_order_nr','order_nr');
+
+               if($GLOBALS['phpgw_setup']->oProc->m_odb->transaction_commit())
+               {
+                       $GLOBALS['setup_info']['controller']['currentver'] = 
'0.1.43';
+                       return 
$GLOBALS['setup_info']['controller']['currentver'];
+               }
+       }
+
+

Modified: trunk/controller/templates/base/check_list/add_check_list.xsl
===================================================================
--- trunk/controller/templates/base/check_list/add_check_list.xsl       
2013-03-12 08:43:09 UTC (rev 10979)
+++ trunk/controller/templates/base/check_list/add_check_list.xsl       
2013-03-12 14:17:10 UTC (rev 10980)
@@ -100,7 +100,7 @@
                             </div>
                         </xsl:if>
                         <label>Fristdato</label>
-                        <input type="text" id="deadline_date" 
name="deadline_date" class="date">
+                        <input type="text" id="deadline_date" 
name="deadline_date" class="date" readonly="readonly" >
                             <xsl:attribute name="value">
                                 <xsl:value-of select="php:function('date', 
$date_format, number(check_list/deadline))"/>
                             </xsl:attribute>
@@ -109,7 +109,7 @@
                     <!-- PLANNED DATE -->
                     <div class="row">
                         <label>Planlagt dato</label>
-                        <input type="text" id="planned_date" 
name="planned_date" class="date">
+                        <input type="text" id="planned_date" 
name="planned_date" class="date" readonly="readonly">
                             <xsl:if test="check_list/planned_date != 0 and 
check_list/planned_date != ''">
                                 <xsl:attribute name="value">
                                     <xsl:value-of select="php:function('date', 
$date_format, number(check_list/planned_date))"/>
@@ -128,7 +128,7 @@
                             </div>
                         </xsl:if>
                         <label>Utført dato</label>
-                        <input type="text" id="completed_date" 
name="completed_date" class="date">
+                        <input type="text" id="completed_date" 
name="completed_date" class="date" readonly="readonly" >
                             <xsl:if test="check_list/completed_date != 0 and 
check_list/completed_date != ''">
                                 <xsl:attribute name="value">
                                     <xsl:value-of select="php:function('date', 
$date_format, number(check_list/completed_date))"/>

Modified: trunk/controller/templates/base/check_list/edit_check_list.xsl
===================================================================
--- trunk/controller/templates/base/check_list/edit_check_list.xsl      
2013-03-12 08:43:09 UTC (rev 10979)
+++ trunk/controller/templates/base/check_list/edit_check_list.xsl      
2013-03-12 14:17:10 UTC (rev 10980)
@@ -46,7 +46,7 @@
                        </div>
                        <div class="row">
                                <label>Skal utføres innen</label>
-                               <input class="date">
+                               <input class="date" readonly="readonly">
                              <xsl:attribute 
name="id">deadline_date</xsl:attribute>
                              <xsl:attribute 
name="name">deadline_date</xsl:attribute>
                              <xsl:attribute name="type">text</xsl:attribute>
@@ -57,7 +57,7 @@
                        </div>
                        <div class="row">
                                <label>Planlagt dato</label>
-                               <input class="date">
+                               <input class="date" readonly="readonly">
                              <xsl:attribute 
name="id">planned_date</xsl:attribute>
                              <xsl:attribute 
name="name">planned_date</xsl:attribute>
                              <xsl:attribute name="type">text</xsl:attribute>
@@ -68,7 +68,7 @@
                    </div>
                    <div class="row">
                                <label>Utført dato</label>
-                               <input class="date">
+                               <input class="date" readonly="readonly">
                              <xsl:attribute 
name="id">completed_date</xsl:attribute>
                              <xsl:attribute 
name="name">completed_date</xsl:attribute>
                              <xsl:attribute name="type">text</xsl:attribute>
@@ -104,4 +104,4 @@
                        </form>
                </div>
        </div>
-</xsl:template>
\ No newline at end of file
+</xsl:template>




reply via email to

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