[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>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [10980] controller: fix sorting - wrong datatype in database,
Sigurd Nes <=